n 0
Read x 1,x 2…x 10
For i from 1 to10
If x i <0 then
n n+1
End if
End for
Print n
(第3题) 第4课 算法语句(2)
【考点导读】
1.循环结构的算法用循环语句表示.
2理解“While 循环”和“For 循环”,前者是前测试的当当型循环,后者是在循环次数已知时使用的循环.
【基础练习】
1.下列伪代码中的循环次数为 9 . s←0
For I from 1 to 25 step 3 s←s+I End for Print s
2.要使以下For 循环执行20次,循环变量的初值应该是 14 . F or k F rom T o -5 S tep -1
3.下面这段伪代码的功能 计算其中小于0数的个数 .
4.下面是一个算法的伪代码.如果输出的y 的值是20,则输入的x 的值是 2或6 .
解析:若
,由,则;若,由,得.
【范例解析】
例1.设计算法,求的值.
解 伪代码:
s←1
For I from 2 to 100
Read x If x≤5 Then y←10x Else y←2.5x +5 End If Print y (第4
End for
Print s
点评本题是连乘求积的问题,自然想到用循环语句设计算法,算法的设计又带有灵活性和通用性,熟练地掌握这一类题的解法,对于解决与此相关的问题有很大帮助.
例2. 设计算法,求平方值小于2000的最大整数.
解:伪代码:
j←1
While j2<2000
j←j+1
End while
j←j-1
Print j
例 3.某城市现有人口总数为100万人,如果年自然增长率为 1.2%,试解答下面的问题:
(1)写出该城市人口数y(万人)与年份x(年)的函数关系式;
(2)用伪代码写出计算10年以后该城市人口总数的算法;
(3)用伪代码写出计算大约多少年以后该城市人口将达到120万人.
答案:(1)y=100×(1+0.012)x.
(2)10年后该城市人口总数为y=100×(1+0.012)10.
算法如下:
y←100
t←1.012
For I from 1 to 10
y←y×t
End for
Print y
End
(3)设x年后该城市人口将达到120万人,即100×(1+0.012)x=120.
算法如下:
S←100
I←1.012
T←0
While S<120
S←S×I
T←T+1
End while
Print T
End
【反馈演练】
1.如果执行下面的程序框图,那么输出的 2550 .
2.下面是求1+2+3+4+…+100的算法,试将伪代码中for 循环改为while 循环,重新写出算法的伪代码.
for 循环 while 循环
s ←0 For i from 1 to 100
while循环语句的程序流程图s←s+i
End for
Print s
评注:for 循环改为while 循环是循环语句的两种基本形式,这要求学生能熟练地对两种循环语句相互转化.在转化时,学生有两个地方容易出现错误:(1)少“i ←1”这一句,没有对i 的值进行初始化,在程序执行过程中就会出现错误.(事实上,i 的值正常情况下默认为从0开始);(2)少“i ←i+1”这一句,这就会出现死循环,因为i 的值没有变化.
3.下图是一个循环结构的算法,下列说法中:(1)①是循环变量的初始化,循环将要开始;(2)②为循环体;(3)③是判断是否继续循环的条件;(4)①可以省略不写.其中正确的的是 ① ② ③ .
4.在如下程序框图中,输入f 0(x )=cos x ,则输出的是 cos x .
s←0
i←1 while i≤100 s←s+i i←i+1 End while
print s 开始
是
否
输出
结束 开始 n ←1
a ←输出①
5. 当 x=2 时,下面程序运行结果是 15 .
While
End while
Print s
End
6.依据不同条件,给出下面的流程图的运行结果:(1)当箭头a指向①时,输出S= 6 ;(2)当箭头a指向②时,输出S= 20 .
;
7.已知数列中,,且,求
这个数列的第m项的值.现给出此算法流程
开始
①
②
a
输出S
N
结束Y
(第6
(第5
图的一部分,请将空格部分(两个)填上适当的内容① 2
② m+1
8.设计算法,求使成立的最大自然数n的值.
解:伪代码:
S←0
n←1
While S<1000
n←n+2
End While
n←n-4
Print n
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论