- 426.21 KB
- 2021-06-16 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第76课 基本算法语句(2)
1. 了解用伪代码表示的几种基本算法语句:赋值语句、输入语句、输出语句、条件语句、循环语句.
2. 能够用自然语言、流程图和伪代码表述语言,会用“While循环”“For循环”及“Do循环”语句实施循环.
1. 阅读:必修3第22~25页.
2. 解悟:①读懂三种循环语句并作比较;②当型循环的格式是什么?它有哪些特点?直到型循环的格式是什么?它有哪些特点?③什么情形下用“For循环”,它有哪些特点和优点?④第22页的引例你会写成算法吗?你能画出流程图吗?能不能用“While循环”描述?再试试改为“Do循环”和“For”语句描述.
3. 践习:在教材空白处,完成第24页练习第1、3题.
基础诊断
1. 根据如图所示的伪代码,可知输出的结果S= 17 ,I= 9 .
解析:第一次循环:S=2×1+3=5,I=3;第二次循环:S=2×3+3=9,I=5;第三次循环:S=2×5+3=13,I=7;第四次循环:S=2×7+3=17,I=9>8,退出循环,所以输出的结果S=17,I=9.
2. 如图所示的程序运行后输出的结果为 3 .
解析:因为x=5>0,所以x=-12+3=-9,所以输出-9-(-12)=3.
3. 如图所示的是一个算法的伪代码,执行此算法时输出的结果是 3 .
解析:第一次循环,因为S=0<15,所以S=0+6=6,n=5;第二次循环,因为S=6<15,所以S=6+5=11,n=4;第三次循环,因为S=11<15,所以11+4=15,n=3.因为S=15,不满足S<15,所以退出循环,输出n=3.
4. 如图是一个算法的流程图,则最后输出的S= 9 .
解析:S=0,n=1,满足条件n≤6,经过第一次循环S=1,n=3;n=3满足条件n≤6,经过第二次循环S=1+3=4,n=5;n=5满足条件n≤6,经过第三次循环S=4+5=9,n=7;n=7不满足n≤6,故退出循环,输出S=9.
范例导航
考向❶“While循环”借助循环变量控制循环次数,“For循环”借助循环变量初值、终值及步长控制循环次数
例1 根据如图所示的伪代码,可知输出的S的值为 13 W.
解析:i=1<5,第一次循环:i=1+2=3,S=2×3+3=9;i=3<5,第二次循环:i=3+2=5,S=2×5+3=13,退出循环,输出S=13.
如图是一个算法的伪代码,则输出的结果是 14 .
解析:第一次循环:a=2,S=2;第二次循环:a=4,S=6;第三次循环:a=8,S=14;结束循环,输出S=14.
考向❷ 流程图、伪代码之间的互译
例2 已知算法一、二,试根据要求分别完成下列两道题:
(1) 根据算法一的伪代码,指出相应算法的功能并画出相应的流程图;
(2) 画出算法二的流程图,指出相应算法的功能并求出S的值.
注:[x]表示不超过实数x的最大整数.
解析:(1) 算法的功能是求满足不等式1×2×3×…×n<10 000的最大正整数(或1×2×3×…×n≥10 000的最小正整数的前一个),相应的流程图如图1.
(2) 算法的功能是求整数a的所有不大于它的正因数的和S,S=1+2+3+4+6+8+12+24=60,相应的流程图如图2.
图1图2
执行如图所示的程序框图,若p=15,则输出的n的值是多少?并将下图改写成算法伪代码.
解析:S=0,n=1,满足条件S<15,执行第一次循环S=0+2=2,n=2;S=2满足条件S<15,执行第二次循环S=2+22=6,n=3;S=6满足条件S<15,执行第三次循环S=6+23=14,n=4;S=14满足条件S<15,执行第四次循环S=14+24=30,n=5,S=30不满足条件S<15,退出循环,输出n=5.
改写成伪代码如下:
自测反馈
1. 如图是一个算法流程图,则输出的a的值是 127 .
解析:第一次循环:a=2×1+1=3;第二次循环:a=2×3+1=7;第三次循环:a=2×7+1=15;第四次循环:a=2×15+1=31;第五次循环:a=2×31+1=63;第六次循环:a=63×2+1=127>64,退出循环,故输出a=127.
2. 如图是一个算法流程图,则输出的x的值是 59 .
解析:第一次循环x=2×1+1=3,y=2×3+1=7;第二次循环x=2×3+7=13,y=2×13+7=33;第三次循环x=2×13+33=59,y=2×59+33=151,此时y=151,不满足y<50的条件,退出循环,故输出x=59.
3. 运行如图所示的程序后,输出的结果为 42 .
解析:第一次循环i=1+3=4,S=2×4+0=8;第二次循环i=4+3=7,S=2×7+8=22;第三次循环i=7+3=10,S=2×10+22=42,此时i=10,不满足i<8,故退出循环,输出S=42.
1. “While循环”利用循环变量满足的条件控制循环次数,“For循环”要注意初值、终值及步长,若没交代步长,默认为1.
2. “While循环”和“For循环”语句,在实现循环上有什么不同?能否将例1中的“While”语句与“For”语句进行互译?
3. 你还有哪些体悟,请写下来: