2013届高考数学第一轮精讲精练复习教案10.doc 下载本文

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