基本算法语句(三)
教学目标:
使学生能结合选择结构的流程图学习条件语句,能用条件语句编写程序. 教学重点:
如何在伪代码中运用条件语句. 教学难点:
如何在伪代码中运用条件语句. 教学过程: Ⅰ. 课题导入
写出计算1+2+3+4+„+100之和的伪代码. 答案:解:此问题可以用循环语句表示为
S ←1
For I from 2 to 100 S ←S +I
End For Print S Ⅱ. 讲授新课
例1:依次将十个数输入,要求将其中最大的数打印出来. 试用流程图和伪代码表示问题的算法.
用伪代码设计算法如下: Begin Read X max ←X
For I from 2 to 10 Read X If X >max then max ←X End if End for Print max End 流程图:
例2:已知S =5+10+15+„+1500,请用流程图描述求S 的算法并用伪代码表示. 解析:流程图如下图所示:
从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现. Begin
S ←5
For I from 10 to 1500 step 5 S ←S +I
End For Print S End
点评:在准确理解算法的基础上,学会循环语句的使用. 循环语句包括for 循环、While 循环和Until 循环. 解题时要根据需要灵活运用.
循环语句包括if „then ,if „then „else ,并且if „then „else 可以嵌套,解题时要根据需要灵活运用.
例3:伪代码算法填空.
有一列数:1,1,2,3,5,8,13,21,„. 这列数有个特点,前两个数都是1,从第3个数开始,每个数都是前两个数的和,例如:3是1和2的和;13是5和8的和等等,这样的一列数一般称为斐波那契数.
下列伪代码所描述的算法功能是输出前10个斐波那契数,请把这个算法填写完整.
a ←1; b ←1;
输出a ,b ; n ←2;
while n
编号①; 编号②; end while
答案:①a ←b ②b ←c 例4:求1-
11111
+-+„+-的值. 234910
算法分析:第一步是选择一个变量S 表示和,并赋给初值0,再选一个变量H ,并赋给初值0;
第二步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第三步为循环表达式(循环体);
第四步用“end for”控制一次循环,开始一次新的循环. 伪代码如下:
S ←0
H ←0
For i from 1 to 10 H ←(-1)i +1/i S ←S +H
End for Print S
例5:小明第一天背一个单词,第二天背两个单词,以后每一天比前一天多背一个单词,问他前十天共背了多少个单词?
解:第一步是选择一个变量S 表示和,并赋给初值0,
第二步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第三步为循环表达式(循环体);
第四步用“end for”控制一次循环,开始一次新的循环. 伪代码如下:
S ←0
For i from 1 to 10 S ←S +i
End for Print S
例6:求平方值小于2000的最大整数. 解:伪代码:
j ←1
While j
2
j ←j +1
End while
j ←j -1 Print j
例7:用伪代码描述求解S =1×2×3ׄ×(n -1)×n 的算法. 解:此问题可以用循环语句表示为 Begin Read n
S ←1
For I from 1 to n S ←S ×I
End for Print S End
例8:输入一个正整数n ,并计算S =1×2×3ׄ×n 的值. 解:第一步是选择一个变量n ,并要求输入初值; 第二步是选择一个变量S 表示和,并赋给初值0;
第三步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第四步为循环表达式(循环体);
第五步用“end ”控制一次循环,开始一次新的循环. 伪代码如下: Read n
1
2
3
n
S ←0
For i from 1 to n
S ←S ×i i
End for Print S End
例9:某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下面的问题: (1)写出该城市人口数y (万人)与年份x (年)的函数关系式; (2)用伪代码写出计算10年以后该城市人口总数的算法; (3)用伪代码写出计算大约多少年以后该城市人口将达到120万人. 答案:(1)y =100×(1+0.012).
(2)10年后该城市人口总数为y =100×(1+0.012). 算法如下: Begin
10
x
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)=120. 算法如下: Begin
x
S ←100 I ←1.012 T ←0
While S
End while Print T End Ⅲ. 课堂练习
课本P 23 1,2,3,4. Ⅳ. 课时小结
算法中的循环结构可以用循环语句实现. 正确理解两种循环语句:for 循环、当型循环和直到型循环.
当型循环:while (条件表达式)循环体语句;
直到型循环:do 循环体语句while (条件表达式);
for 循环:for (表达式1;表达式2;表达式3)循环体语句;
Ⅴ. 课后作业
课本P 24 5,6.
基本算法语句(三)
教学目标:
使学生能结合选择结构的流程图学习条件语句,能用条件语句编写程序. 教学重点:
如何在伪代码中运用条件语句. 教学难点:
如何在伪代码中运用条件语句. 教学过程: Ⅰ. 课题导入
写出计算1+2+3+4+„+100之和的伪代码. 答案:解:此问题可以用循环语句表示为
S ←1
For I from 2 to 100 S ←S +I
End For Print S Ⅱ. 讲授新课
例1:依次将十个数输入,要求将其中最大的数打印出来. 试用流程图和伪代码表示问题的算法.
用伪代码设计算法如下: Begin Read X max ←X
For I from 2 to 10 Read X If X >max then max ←X End if End for Print max End 流程图:
例2:已知S =5+10+15+„+1500,请用流程图描述求S 的算法并用伪代码表示. 解析:流程图如下图所示:
从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现. Begin
S ←5
For I from 10 to 1500 step 5 S ←S +I
End For Print S End
点评:在准确理解算法的基础上,学会循环语句的使用. 循环语句包括for 循环、While 循环和Until 循环. 解题时要根据需要灵活运用.
循环语句包括if „then ,if „then „else ,并且if „then „else 可以嵌套,解题时要根据需要灵活运用.
例3:伪代码算法填空.
有一列数:1,1,2,3,5,8,13,21,„. 这列数有个特点,前两个数都是1,从第3个数开始,每个数都是前两个数的和,例如:3是1和2的和;13是5和8的和等等,这样的一列数一般称为斐波那契数.
下列伪代码所描述的算法功能是输出前10个斐波那契数,请把这个算法填写完整.
a ←1; b ←1;
输出a ,b ; n ←2;
while n
编号①; 编号②; end while
答案:①a ←b ②b ←c 例4:求1-
11111
+-+„+-的值. 234910
算法分析:第一步是选择一个变量S 表示和,并赋给初值0,再选一个变量H ,并赋给初值0;
第二步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第三步为循环表达式(循环体);
第四步用“end for”控制一次循环,开始一次新的循环. 伪代码如下:
S ←0
H ←0
For i from 1 to 10 H ←(-1)i +1/i S ←S +H
End for Print S
例5:小明第一天背一个单词,第二天背两个单词,以后每一天比前一天多背一个单词,问他前十天共背了多少个单词?
解:第一步是选择一个变量S 表示和,并赋给初值0,
第二步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第三步为循环表达式(循环体);
第四步用“end for”控制一次循环,开始一次新的循环. 伪代码如下:
S ←0
For i from 1 to 10 S ←S +i
End for Print S
例6:求平方值小于2000的最大整数. 解:伪代码:
j ←1
While j
2
j ←j +1
End while
j ←j -1 Print j
例7:用伪代码描述求解S =1×2×3ׄ×(n -1)×n 的算法. 解:此问题可以用循环语句表示为 Begin Read n
S ←1
For I from 1 to n S ←S ×I
End for Print S End
例8:输入一个正整数n ,并计算S =1×2×3ׄ×n 的值. 解:第一步是选择一个变量n ,并要求输入初值; 第二步是选择一个变量S 表示和,并赋给初值0;
第三步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第四步为循环表达式(循环体);
第五步用“end ”控制一次循环,开始一次新的循环. 伪代码如下: Read n
1
2
3
n
S ←0
For i from 1 to n
S ←S ×i i
End for Print S End
例9:某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下面的问题: (1)写出该城市人口数y (万人)与年份x (年)的函数关系式; (2)用伪代码写出计算10年以后该城市人口总数的算法; (3)用伪代码写出计算大约多少年以后该城市人口将达到120万人. 答案:(1)y =100×(1+0.012).
(2)10年后该城市人口总数为y =100×(1+0.012). 算法如下: Begin
10
x
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)=120. 算法如下: Begin
x
S ←100 I ←1.012 T ←0
While S
End while Print T End Ⅲ. 课堂练习
课本P 23 1,2,3,4. Ⅳ. 课时小结
算法中的循环结构可以用循环语句实现. 正确理解两种循环语句:for 循环、当型循环和直到型循环.
当型循环:while (条件表达式)循环体语句;
直到型循环:do 循环体语句while (条件表达式);
for 循环:for (表达式1;表达式2;表达式3)循环体语句;
Ⅴ. 课后作业
课本P 24 5,6.