谈谈你对算法与程序设计的理解和认识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.谈谈你对算法与程序设计的理解和认识,在学习过程中有
什么亲身体会
算法是为解决一个特定问题而采取的确定的·有限的步骤,在计算机科学中,算法指令的有限序列,是一个可终止的·有序的·无歧义的·可执行的指令的集合。
按照算法的定义,一个算法必须具备下列5个特征:
1.有穷性一个算法对于任何合法的操作对象必须在执行有穷个操作之后结
束,换句话说,算法的步骤不可以无穷无尽,设计算法时应该关
注算法结束的条件,但有穷性也应在合理的范围内。
2.确定性确定性也称无二义性。算法中,对每一个操作的描述都必须是精
确的,有确切的含义,而不是模棱两可的。算法的确切性要求在
一个算法的执行期间,执行过程中的每一个信息必须可以唯一。
完全地确定每个步骤的动作。在任何情况下,算法只有唯一的一
条执行路径。
3.可行性一个算法必须由可执行的步骤组成,也可用有效性来描述算法的
这一特性,即每一个步骤是有效的,就意味着它是做得到的。4.输入一个算法有0个或多个输入。一般情况下,输入的是算法的操作
对象,算法的操作对象可以在算法执行前临时给出,也可以在编
写算法时直接给出。
5.输出一个算法有1个或多个输出。这些输出是算法对输入的操作对象
执行操作后合乎逻辑的操作结果。一个算法必须有操作结果,没
有输出的算法是毫无意义的。
算法有不同的描述方法,如计算机高级语言描述·数学语言描述或约定的符号和图示描述,不同的描述方法各有其优缺点,选择时要按自己的要求挑合适的描述方法。
用计算机进行问题的求解,大致需要经过以下几个步骤:分析问题·建立模型·设计算法·编写程序·上机调试;其中算法的设计是问题求解过程中最具有挑战性的步骤。用计算机算法求解问题,我们还要考虑算法的有效性·正确性·和复杂性,这些都是我们应用算法需要知道的极其重要的问题。
程序:是一种事先编制好了具有特殊功能的指令条件的。这里的指令既可以是机器指令·汇编语言指令,也可以是高级语言的语言命令,甚至还可以是用自然语言描述的算法操作命令。有一种程序的定义用公式给出:程序=数据结构+ 算法。
程序设计语言包括:低级语言:机器语言——通常是一个能完整准确和规则地表达人们的意图,并用以指挥或控制计算机工作的符号系统与人类语言一样具有语言的三要素:语义·语法和语序;
汇编语言——与计算机硬件直接相关。
高级语言:是一种由表达各种定义的“词“和”公式“,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言。高级语言的特点:1.独立于计算机硬件结构;2.用户使用面向问题的形式来描述任务;;3.易学易懂易查错。
程序设计语言实现的步骤:(1)编写源程序;(2)对源程序进行编译生成目标代码;(3)连接目标代码生成可执行文件;(4)执行可执行文件完成任务。
解释性程序设计语言的实现包括编写源程序,解释执行源程序两个过程。
程序设计方法和技术
对程序结构本质的深入研究,促进了对程序质量的认识,开发程序的效率和质量取决于程序设计方法和技术,多年的研究发展了许多程序设计方法和技术。
结构化程序设计(SP):“自顶而下,逐步求精”的设计思想,“独立功能,单出入口”的模块仅用三种(顺序·分支·循环)基本控制结构的编码原则;
面向对象程序设计(OOP):以对象为中心进行分析和设计,再现了人类认识事物的思维方式和解决问题的工作方式,对象是数据及对这些数据施加的操作结合在一起,所构成的独立实体的总称;类是一组具有相同数据结构和相同对象的操作。
随着对计算机越来越深的了解,我认识到计算机所有功能的实现其实都是算法与程序的结合,正是算法与程序构成了计算机工作原理,把计算机推向今天它在人们生活中如此高的地位。他的每一步操作其实都是无数算法与程序的结合的结果。学习中我也深刻认识到它们的重要性,也对计算机工作原理有了更深更内在的了解。当然也有了了解学习计算机的兴趣,计算机之所以更新快,也是因为不同的算法与程序层出不穷,认识到这一点,我对未来的工作充满了期待与担心,但也让我更认清自己选择的这条路,做好今天。
参考文献:
[1]王宝恒肖晓强张春元文梅《计算机原理与设计》高等教育出版社2005.1;
[2]冯博琴顾刚《大学计算机基础》西安交通大学出版社2007.9;