End If Print y
点评 分段函数问题是考查If语句一个重要的载体,因此,我们要注意此类问题可以先根据语言叙说,让学生先列出函数关系式,再写出相应的伪代码.
例2.已知S=5+10+15+?+1500,请用流程图描述求S的算法并用伪代码表示. 解 流程图如下图所示:
开始S0,nn>1500SnNS+nn+5 从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现. S←5
For I from 10 to 1500 step 5
输出SS←S+I End For Print S
结束点评 在准确理解算法的基础上,学会循环语句的使用.循环语句包括for循环、While循环.解题时要根据需要灵活运用.
循环语句包括if?then,if?then?else,并且if?then?else可以嵌套,解题时要根据需要灵活运用.
例3. 青年歌手大奖赛有10名选手参加,并请了12名评委.为了减少极端分数的影响,通常去掉一个最高分和一个最低分后再求平均分.请用算法语句表示:输入12名评委所打的分数ai,用函数Max(a1,a2,…,a12)和Min (a1,a2,…,a12) 分别求出中ai(i=1,2,…,12)的最大值和最小值,最后输出该歌手的成绩. 解 S←0
For I from 1 to 12 Read ai S←S+ai End For
G←(S - Max(a1,a2,…,a12)- Min (a1,a2,…,a12))/10 Print G
【反馈演练】
5Y
1.下图中程序执行后输出的结果是_____7___________.
2.写出下面流程图所表述的算法的功能并用伪代码表示.
I?1
For n from 1 to 11 step 2 I?2I+1
If I>20 Then I?I-20 End if End for Print I (第2题)
开始输入两个不同的数a,bY输出b答案:解:输出两个不同的数中小的一个数.用伪代码表示为 Read a,b If a>b then Print b Else Print a End if
判断a>bN(第2题) 输出a结束第4课 算法语句B
【考点导读】
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 .(For k From To -5 Step -1)
3.下面这段伪代码的功能 计算其中小于0数的个数 .
n?0 Read x
Read x1,x2…x10 If x≤5 Then
For i from 1 to10 y←10x
If xi<0 then Else
n?n+1 y←2.5x+5
End if End If
End for Print y
Print n (第4题) (第3题)
4.下面是一个算法的伪代码.如果输出的y的值是20,则输入的x的值是 2或6 . 解析:若x?5,由10x?20,则x?2;若x?5,由2.5x?5?20,得x?6. 【范例解析】
例1.设计算法,求(1?)(1?)(1?)...(1?解 伪代码: s←1
For I from 2 to 100
1213141)的值. 1001S?S?(1?)
IEnd for Print s
点评 本题是连乘求积的问题,自然想到用循环语句设计算法,算法的设计又带有灵活性和通用性,熟练地掌握这一类题的解法,对于解决与此相关的问题有很大帮助.
例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.如果执行下面的程序框图,那么输出的S? 2550 .
k?k?1 k≤50?开始 开始 开始 输入f0(x) ①
i←0 ②
i←i+1 fi (x)←f’i-1 (x) N n>66 Y 结束 (第3题)
③
i=2008 Y 输出fi(x) 结束 (第4题)
k?1 S?0 n←1 a←15n 输出a 否 N 输出S 结束 n←n+1 是 S?S?2k 3.下图是一个循环结构的算法,下列说法中:(1)①是循环变量的初始化,循环将要开始;(2)②为循环体;(3)③是判断是否继续循环的条件;(4)①可以省略不写.其中正确的的是 ① ② ③ .
4.在如下程序框图中,输入f0(x)=cosx,则输出的是 cosx .
5. 当 x=2 时 ,下面程序运行结果是 15 . i?1 s?0
While i?4
s?s?x?1 i?i?1
End while Print s