基本算法语句3

文档属性

名称 基本算法语句3
格式 rar
文件大小 100.7KB
资源类型 教案
版本资源 苏教版
科目 数学
更新时间 2012-02-12 20:33:57

图片预览

文档简介

(共25张PPT)
Read t
If t≤3 Then
S←0.22
Else If [t-3]=t-3 Then
S←0.22+0.1*(t-3)
Else
S←0.22+0.1*([t-3]+1)
End If
Print S
作业订正6
If A Then
B
Else
C
End If
1.块If语句
If A Then B
2.行If语句
3.条件语句的嵌套
If A Then
B
Else
If C Then
D
Else
E
End If
End If
复习回顾
基本算法语句(3)
A
Y
N
当型循环
“当”条件P成立,就重复执行A
P
A
Y
N
直到型循环
重复执行A,“直到”条件P成立为止
P
A
Y
N
P
A
Y
N
P
While p
A
End While
Do
A
Until p
End Do
例1.用循环语句写出求1+2+3+…+100的和的一个算法.
S←0
I←1
Do
S←S+I
I ←I+1
Until I>100
End Do
Print S
S←0
I←1
S←S+I
I←I+1
I>100
输出S
结束
Y
N
开 始
例1.用循环语句写出求1+2+3+…+100的和的一个算法.
S←0
I←1
While I 100
S←S+I
I ←I+1
End While
Print S
开 始
S←0
I←1
S←S+I
I←I+1
I≤100
输出S
结束
Y
N
例1.用循环语句写出求1+2+3+…+100的和的一个算法.
S←0
For I From 1 To 100 Step 1
S←S+I
End For
Print S
For I From“初值” To “终值” Step “步长”
A
End For
For循环语句
注意:在“For”和“End For”之间的步骤A称为循环体;
如果省略Step “步长” ,那么循环时I的值默认增加1;
步长可以为正,可以为负,也可以为小数.
例2.设计计算1×3×5×7×9×…×99的一个算法.
【分析】将上述表达式看成50个乘法,用公式表示为:T=T×I ,T初始值为1,I为1,将每次的乘积都赋予T,I从1到99,每次增加2。公式会被重复执行,这种执行过程可用循环结构表示。
例2.设计计算1×3×5×7×9×…×99的一个算法.
T←1
For I From 1 To 99 Step 2
T←T×I
End For
Print T
T←1
I←1
While I 99
T←T×I
I←I+2
End While
Print T
变:将上面的问题改为
1×3×5×7×…× >10000,
那么,如何寻找满足条件的最小整数呢
S←1
I←3
While S≤10000
    S←S×I
    I←I+2
End While
Print I
S←1
I←1
While S≤10000
   I←I+2
   S←S×I
End While
Print I
因此,循环体中语句的顺序需要注意,通常:While后讨论的变量,在循环体中含有该变量的式子放在后面较好。
变:将上面的问题改为
1×3×5×7×…× >10000,
那么,如何寻找满足条件的最小整数呢
上述算法语句能不能用“Do”语句或“For”语句来表述呢?
S←1
I←1
Do
  I←I+2
S←S×I
Until S>10000
End Do
Print I
思考
例3:抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先作出确定的判断是不可能的,但是假如硬币的质量均匀,那么当抛掷次数很多时,出现正面的频率应接近于50%,试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的频率。
分析 
抛掷硬币的过程实际上是一个不断重复地做同一件事情的过程,利用循环语句,我们容易在计算机上模拟这一过程.
在程序语言中,有一个随机函数“Rnd”,它能产生0与1之间的随机数.这样,我们可用大于0.5的随机数表示出现正面,不大于0.5的随机数表示出现反面.
解 本题算法的伪代码如下:
S←0
Read n  
For I From 1 To n
If Rnd>0.5 Then S←S+1
End For
Print “出现正面的频率为”s/n
练习1. 求值
(共8个3), 试用“For”语句描述这一问题的算法.
解 本题算法的伪代码如下:
S←1
For I From 1 To 8
S←
End For
Print S
练习2 我们曾研究过问题:求使得1+2+3+…+n>2004成立的最小正整数n,试用“While”语句描述这一问题的算法.
S←1
I←1
While S≤2004
 I←I+1
 S=S+I
End While
Print I
练习3 2000年我国人口数约为13亿,如果每年的人口自然增长率为15‰,那么多长年后我国人口数将达到或超过15亿?这个问题可通过循环方式计算完成,即每一次在原有的基础上增加15‰,直到达到或超过15亿,再记下循环次数,试用循环语句表示这一过程。
P← 13
I←15%0
n←0
While P<15
n←n+1
P←P(1+I)
End While
Print n
EX7.请将以下流程图补充完整,并根据流程图和以下的问题写出算法的伪代码.问题:计算函数值:y=x2, 其中x=-10, -9, … , 0 , 1 , … 10.
x 10
x←x+1
开始
x←-10
y←x2
输出x,y
结束
N
Y


For x From -10 To 10
y←x2
Print x,y
End For
阅读下列伪代码,说出其功能:
a←1
b←1
For i From 3 To 20 Step 1
c←a+b
a←b
b←c
End For
Print c
EX8. 1,1,2,3,5,8,13,…这一列数的规律是:第1、第2个数是1,从第3个数起,该数是其前面2个数之和,试用循环语句描述计算这列数中第20个数的算法.
小结与作业
1.订正,活页P36;
2.教案;(作业6,7,8暂时不做)
3.活页P35.