第2章算法程序的灵魂1.pptxVIP

  • 1
  • 0
  • 约3.09千字
  • 约 64页
  • 2017-06-02 发布于四川
  • 举报
第2章 算法---程序的灵魂; 一个程序主要包括以下两方面的信息: (1) 对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式 这就是数据结构(data structure) (2) 对操作的描述。即要求计算机进行操作的步骤 也就是算法(algorithm);数据是操作的对象 操作的目的是对数据进行加工处理,以得到期望的结果 瑞士著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 算法 + 数据结构 = 程序;一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示。 算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识。;算法是解决“做什么”和“怎么做”的问题 程序中的操作语句,是算法的体现 不了解算法就谈不上程序设计;2.1 什么是算法 2.2 简单的算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法;2.1 什么是算法;2.1 什么是算法;2.2简单的算法举例;2.2简单的算法举例;2.2简单的算法举例;2.2简单的算法举例;例2.2 有50个学生,要求将成绩在80分以上的学 生的学号和成绩输出。 算法: 用ni代表第i个学生学号,gi表示第i个学生成绩。 S1:1?i S2:如果gi≥80,则输出ni和gi;否则不输出。 S3:i+1?i S4:如果i≤50,返回到步骤S2,继续执行,否 则,算法结束。 ;例2.4 求 规律: ①第1项的分子分母都是1 ② 第2项的分母是2,以后每一项的分母子都是前一项的分母加1 ③ 笫2项前的运算符为“-”,后一项前面的运算符都与前一项前的运算符相反 ;例2.4 求 S1:sign=1 S2:sum=1 S3:deno=2 S4:sign=(-1)*sign S5:term=sign*(1/deno) S6:sum=sum+term S7:deno=deno+1 S8:若deno≤100返回S4;否则算法结束;例2.4 求 S1:sign=1 S2:sum=1 S3:deno=2 S4:sign=(-1)*sign S5:term=sign*(1/deno) S6:sum=sum+term S7:deno=deno+1 S8:若deno≤100返回S4;否则算法结束;例2.4 求 S1:sign=1 S2:sum=1 S3:deno=2 S4:sign=(-1)*sign S5:term=sign*(1/deno) S6:sum=sum+term S7:deno=deno+1 S8:若deno≤100返回S4;否则算法结束; 例2.5 给出一个大于或等于3的正整数,判断它是不是一个素数。 所谓素数(prime),是指除了1和该数本身之外,不能被其他任何整数整除的数 例如,13是素数,因为它不能被2,3,4,…,12整除。;思路: 判断一个数n(n≥3)是否素数:将n作为被除数,将2到(n-1)各个整数先后作为除数,如果都不能被整除,则n为素数。 算法: S1:输入n的值 S2:i=2 (i作为除数) S3:n被i除,得余数r S4:如果r=0,表示n能被i整除,则输出n“不是素数”,算法结束;否则执行S5 S5:i+1?i S6:如果i≤n-1,返回S3;否则输出n “是素数”,然后结束。;2.3算法的特性;2.3算法的特性;2.3算法的特性;2.4怎样表示一个算法;2.4.1 用自然语言表示算法;2.4.2用流程图表示算法;2.4.2用流程图表示算法;例2.6 将例2.1的算法用流程图表示。 求1×2×3×4×5 设: t: 被乘数 i: 乘数 如果需要将最后结果输出:;例2.6 将例2.1的算法用流程图表示。 求1×2×3×4×5 如果需要将最后结果输出:; 例2.7 例2.2的算法用流程图表示。有50个学生,要求将成绩在80分以上的学生的学号和成绩输出。;1?i;1?i;例2.9 将例2.4的算法用流程图表示。求;1?sum 2?deno 1?sign; 例2.10 例2.5判断素数的算法用流程图表示。对一个大于或等于3的正整数,判断它是不是一个素数。;N;通过以上几个例子可以看出流程图是表示算 法的较好的工具。 一个流程图包括以下几部分: (1) 表示相应操作的框 (2) 带箭头的流程线 (3) 框内外必要的文字说明 【注】:流程线不要忘记画箭头,否则难以判定各框的执行次序。 ;2.4.3 三种基本结构和改进的流程图;传统流程图的流程可以是:;2.4.3 三种基本结构和改进的流程图;2.4.3 三种基本结构和改进的流程

文档评论(0)

1亿VIP精品文档

相关文档