程序框图习题课 参考答案
一、会读流程图 1.如图(1)为循环体中的__当型__循环,它换成另外一种__直到型__循环的框图. 2.写出如图(2)的算法功能__求乘积为 624 的相邻两个偶数__. 3. 指出程序框图的运算结果 : 当箭头指 向①处时,输出 sum=__5_;指向②处时, 输出 sum=__15__.
4.观察所给程序框图,写出它所表示的函数.
?1, ( x ? 100) ? y ? ?0.01x, (100 ? x ? 5000) ?50, (5000? x ? 10000 ) ?
5.如图所示是某一算法的程序框图,根据该框图指出这一算法的功能. 求和 S ?
1 1 1 1 ? ? ??? 2 4 6 20
二、会写流程图 (一) 、条件结构练习 1. 设计一个求任意数的绝对值的算法,并画出程序框图.
1
2. 画出一个求 3 个实数中最小数的程序框图.
3. 闰年是指年份能被 4 整除但不能被 100 整除,或 者能被 400 整除的年份.编写一个程序框图,判断输 入的年份是否为闰年.
(二)循环结构练习 关注易错点: ①关注变量的初始值,理解两种变量的意义:计数变量(循环 变量、步进变量)和累加(累乘)变量。 ②关注“S=S+i”和“i=i+1”先后顺序的影响(初始值的影响、 循环次数的影响、输出结果的影响) 。 ③判断条件是否具备“=” 。 ④当型与直到型分别是什么时候继续循环,什么时候结束循环。
1. 求满足 12 ? 2 2 ? ? ? n 2 ? 106 的最小正整数 n, 右侧程序框图是否有错 误 ? 怎样改为当型循环?
左图 1 应该输出 i ? 1 ,左图 2 应该初始化为 S ? 1 2. 已知 1 ? 2 ? ? ? i ? 300 ,画出求解 i 的最大值的过程的程序 框图如右图. 问题:输出处横线应该填__ i ? 2 _. 变 1:若改为 sum<300, 输出处横线应该填__ i ? 1 _. 变 2:若改变 i=i+1 与 sum=sum+i 的顺序, 输出处横线应该填__ i ? 1 _.(初始化要改为 sum ? 1 ) 变 3:在变 2 的条件下,要输出 i,判断框内应该填_ sum<300_.
3. 设计一个求 1+2+4+7+?+46 的算法,并画出相应的程序框图. 见左侧(变差数列的设计) 4. 课本 P20 页 B 组第 2 题.(略)
2