第三节简单算法举例 第二章算法 例24求1-12+1/3-114++1991/100 用自然语言表示算法如下 S1: sign=1 S2: sumE S3: den=2 S4: sign=(-1)*sign S5: term=sign*(1/deno) S6: sum=sum+term S7: deno=deno+1 s8:若deno≤100返回S4;否则算法结束
第二章 算法 11 第三节 简单算法举例 例2.4 求1-1/2+1/3-1/4+……+1/99-1/100 用自然语言表示算法如下: 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;否则算法结束
第三节简单算法举例 第二章算法 例25对一个大于或等于3的正整数,判断它是 不是一个素数。 用自然语言表示算法如下 s1:输入n的值 s2:i=2 s3:n被除,得余数r s4:如果r0,表示n能被i整除,则打-n“不 是素数〃,算法结束;否则执行S5 s5:i+1-i s6:如1n-1返回S3;否则打印n“是素数”。 算法结束。 12
第二章 算法 12 第三节 简单算法举例 例2.5 对一个大于或等于3的正整数,判断它是 不是一个素数。 用自然语言表示算法如下: S1:输入n的值 S2:i=2 S3:n被i除,得余数r S4:如果r=0,表示n能被i整除,则打印n“不 是素数”,算法结束;否则执行S5 S5:i+1→i S6: 如果i≤n-1,返回S3;否则打印n“是素数”。 算法结束
第二章算法 第四节算法的特性 有穷性 算法要包含有限的步骤 确定性 每一步必须明确 有零个或多个输入 需要从外界获取必要的信息 有一个或多个输出 需要把求得得解进行输出 有效性 每一步都能有效地执行 13
第二章 算法 13 第四节 算法的特性 有穷性 – 算法要包含有限的步骤 确定性 – 每一步必须明确 有零个或多个输入 – 需要从外界获取必要的信息 有一个或多个输出 – 需要把求得得解进行输出 有效性 – 每一步都能有效地执行
第五节算法的表示方法 第二章算法 设计算法 31自然语言(前面就是用自然语言表示的) 32传统流程图 33改进的流程图 34NS图(盒图) 35PAD图(问题分析图) 36伪代码 实现算法 37计算机语言
第二章 算法 14 第五节 算法的表示方法 设计算法 3.1 自然语言(前面就是用自然语言表示的) 3.2 传统流程图 3.3 改进的流程图 3.4 N-S图(盒图) 3.5 PAD图(问题分析图) 3.6 伪代码 实现算法 3.7 计算机语言
32传统流程图 第二章算法 起止框 优点: 描绘直观, 输入输出框 容易掌握 判断框 缺点: 处理框 对流程线没 有严格控制 流程线 连接点 注释框 15
第二章 算法 15 3.2 传统流程图 优点: – 描绘直观, 容易掌握 缺点: – 对流程线没 有严格控制 起止框 输入输出框 判断框 处理框 流程线 连接点 注释框