计算1x2x3x4x5 方法一:数学思路 方法二:利用变量P存放中间结果 P=1 P=1/I2 I2E>P PⅹIxP/I=I+1 S1:P=1/I=2 PX35>P PXIE P/II+1 S2: P=PXI Px4→P PⅹI≥P/I=I+1 S3:I=I+1 Px52P PXI P/F+ S4:如果Ⅰ>5转S5 打印P的值当5时打印P的值 否则转S2 S5:打印P的值
36 目录 计算1x2x3x4x5 ▪ 方法一:数学思路 ▪ 方法二:利用变量P存放中间结果 S1:P=1/ I=2 S2:P=P x I S3:I=I+1 S4:如果I>5 转 S5 否则 转S2 S5:打印P的值 P=1 1x2 P Px3 P Px4 P Px5 P 打印P的值 P=1 / I=2 P x I P / I=I+1 P x I P / I=I+1 P x I P / I=I+1 P x I P / I=I+1 当 I>5 时打印P的值
1-1/2+1/3-+1/99-1/100=?勹 提示: 首先考虑实现1+2+3+4+.+100 其次考虑实现1/1+1/2+1/3+1/4++1/100 最后考虑实现1/1-1/2+1/3-1/4++1/100 思路: S1: sum=0,I=1,P=1 S2: SUM=SUM+ P*1/I S3: I=I+1,P=-Pi s4:如果I<=100则转S2否则转S5 S5:打印SUM的值 37
37 目录 1-1/2+1/3-...+1/99-1/100=? ▪ 提示: 首先考虑实现1+2+3+4+…+100 其次考虑实现1/1+1/2+1/3+1/4+...+1/100 最后考虑实现1/1-1/2+1/3-1/4+...+1/100 ▪ 思路: S1:sum=0,I=1 S2:SUM=SUM+ I S3: I=I+1 S4:如果I<=100则转 S2 否则转 S5 S5:打印SUM的值 1/ I ,P=1 P*1/I ,P=-P;
判断一个数是否素数 分析: 本题要点是先搞清楚什么是素数。 个正整数,若不能被除1和它本身以外的任何 思路:整数整除,则是素数 输入一个大于3的正整数N 定义一个变量I从2~N-1,I每取一个值做: 如果N能被工整除则中断循环,N不是素数;否则I 继续取下一个值; >若当取完所有值都不能整除N,则N是素数
38 目录 判断一个数是否素数 分析: 本题要点是先搞清楚什么是素数。 思路: ➢输入一个大于3的正整数N ➢定义一个变量 I 从 2~N-1 ,I 每取一个值做: ▪ 如果N能被I整除则中断循环,N不是素数;否则 I 继续取下一个值; ➢若当I取完所有值都不能整除N,则N是素数 一个正整数,若不能被除1和它本身以外的任何 整数整除,则是素数
算法的特性 有穷性 指一个算法经过有限步骤后停止(或在合理范围内) 确定性 算法的每一步都应当是确定的,无歧义的 有效性 算法的每一步计算机都能有效执行 有0个或多个输入 个算法可以没有输入,即执行时无需输入信息 有1个或多个输出 个算法必须有输出,运算过程或运算结果
39 目录 算法的特性 ▪ 有穷性 指一个算法经过有限步骤后停止(或在合理范围内) ▪ 确定性 算法的每一步都应当是确定的,无歧义的 ▪ 有效性 算法的每一步计算机都能有效执行 ▪ 有0个或多个输入 一个算法可以没有输入,即执行时无需输入信息 ▪ 有1个或多个输出 一个算法必须有输出,运算过程或运算结果
算法的描述 描述算法的方法有多种,常用有: 自然语言(描述不够严格,容易出现歧义性) 结构化流程图*(同一问题的流程图不唯一) N-S图*(结构清晰,但难于修改) PAD图(结构清晰,唯一性好) 伪代码*(灵活,但需要有一定的程序设计基础) 学习建议: 流程图或N-s图一定要熟练掌握,伪代码表示法在学习 完基本的流程控制语句后也经常使用
40 目录 算法的描述 描述算法的方法有多种,常用有: ▪ 自然语言 (描述不够严格,容易出现歧义性) ▪ 结构化流程图 * (同一问题的流程图不唯一) ▪ N-S图* (结构清晰,但难于修改) ▪ PAD图 (结构清晰,唯一性好) ▪ 伪代码* (灵活,但需要有一定的程序设计基础) 学习建议: ▪ 流程图或N-S图一定要熟练掌握,伪代码表示法在学习 完基本的流程控制语句后也经常使用