《(高职)单元2 算法——程序设计的灵魂ppt课件.pptx》由会员分享,可在线阅读,更多相关《(高职)单元2 算法——程序设计的灵魂ppt课件.pptx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PPT单元2算法程序设计的灵魂主讲教师:赵彦算法程序设计的灵魂计算机世界1976年,瑞士计算机科学家,尼古拉斯沃斯(Niklaus Wirth),在其算法 数据结构=程序一书中,率先以专著书名的形式提出著名的公式:算法+数据结构=程序(1)数据结构:用于描述数据类型以及数据的组织形式。(2)算法:要求计算机对数据进行加工、处理和操作的步骤。图灵对算法的定义:对某一类问题,如果能找到一组确定的规则,按这组规则,当给出这类问题中的任一具体问题后,就可以完全机械地在有限步内求出结果,则说这类问题是可计算的。这种规则就是算法,这类可计算问题也可称之为存在算法的问题。算法的概念计算机算法可分为两大类别、
2、数值运算方法例如求解方程的根,求1到100的和等。2、非数值运算方法例如对一批职工按姓名排序、图书检索、人事管理和行车调度管理等。算法的概念算法的特性(1)输入。一个算法有零个或多个输入。算法的特性(2)输出。一个算法有一个或多个输出。一个算法可以没有输入但是必须要有输出。算法的特性(3)确定性。算法的每一个步骤,必须是确切定义的,不应当是含糊不清、模棱两可的。对于每种情况,有待执行的动作必须有严格和清晰的规定。算法的特性(4)有穷性。一个算法必须总是在执行有穷步骤之后结束。算法的特性(5)可行性。一般来说,还期望一个算法是可行的。即是说,它们原则上都是能够精确运行,而且人工计算有穷次即可完成
3、。简单算法举例实例2.1求1+2+3+98+99+100。1、聪明的学生直接给出:50502、求和公式计算递增数列求和,通过公式计算:3、脱式计算4、原始计算法步骤1:先求1加2的和,得到结果3。步骤2:将步骤1得到的结果再加上3,得到结果6;步骤3:将步骤2得到的结果再加上4,得到结果10;步骤99:将步骤98得到的结果4950加上100,得到结果5050。这就是最后的结果了。5、通用表示方法定义两个变量:sum作为累加器count作为计数器5、通用表示方法S1:sum=0S2:count=1S3:sum=sum+countS4:count=count+1S5:若count100,执行S3;
4、否则执行S6。S6:打印sum中存储的数据。自然语言自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。特点:通俗易懂、文字冗长、容易有歧义自然语言“中国队战败了美国队获得了冠军。”大家猜猜看是中国队夺冠了,还是美国队夺冠了呢?老师,这个有歧义,可能是美国队得了冠军,也可能是中国队哦!流程图流程图使用一些图框来表示各种操作。用图形表示算法,直观、形象,易于理解。美国国家标准化协会ANSI(American National Standard Institute)规定了流程图常用的符号。流程图三种基本结构的流程图1966年,Bohra和Jacopini提出了以下3种基本结构,分别是顺序结
5、构、选择结构和循环结构。三种基本结构的流程图顺序结构三种基本结构的流程图选择结构三种基本结构的流程图while型循环结构三种基本结构的流程图util型循环结构实例2.2将实例2.1用流程图表示。S1:sum=0S2:count=1S3:sum=sum+countS4:count=count+1S5:若count100,执行S3;否则执行S6。S6:打印sum中存储的数据。N-S盒图1973年,美国学者I.Nassi和B.Shneiderman提出了一种新的完全去掉流程线的流程图形式。三种基本结构的N-S盒图顺序结构三种基本结构的N-S盒图选择结构三种基本结构的N-S盒图while型循环结构三种
6、基本结构的N-S盒图util型循环结构实例2.3将实例2.1用N-S盒图表示。sum=0count=1count100sum=sum+countcount=count+1输出输出sum的值的值S1:sum=0S2:count=1S3:sum=sum+countS4:count=count+1S5:若count100,执行S3;否则执行S6。S6:打印sum中存储的数据。用传统的流程图和N-S盒图表示算法直观易懂,但画起来比较费事,在设计一个算法的时候,可能会反复修改,此时流程图比较麻烦。因此,人们选用“伪代码”(Pseudo Code)的方式,完成算法的设计工作。为什么要使用伪代码伪代码介于自
7、然语言和计算机语言之间,使用文字和符号来描述算法。什么是伪代码由于不使用图形符号,因此书写方便、格式紧凑、修改方便、易于理解,没有固定的、严格的语法规则,可以用英文,也可以中英文混搭,只要能表达出确切的意思,便于书写阅读即可。伪代码的优点实例2.4将实例2.1用N-S盒图表示。S1:sum=0S2:count=1S3:sum=sum+countS4:count=count+1S5:若count100,执行S3;否则执行S6。S6:打印sum中存储的数据。begin /算法开始 sum=0 count=1 while count100 sum=sum+count count=count+1 print sumend /算法结束实例2.5将实例2.1用计算机语言实现。接收任务算法步骤:S1:sum=0S2:count=1S3:sum=sum+countS4:count=count+1S5:若count100,执行S3;否则执行S6。S6:打印sum中存储的数据。接收任务分析任务分析得到:累加器sum计数器count接收任务分析任务寻找规律题目内容拓展练习2_1请参照本单元的例题,来为下面的任务设计算法吧。“泊松分酒”问题:有12、8、5升的杯子三个,灌满12升酒,能否分出6升酒来呢?
限制150内