基本算法语句.docx
《基本算法语句.docx》由会员分享,可在线阅读,更多相关《基本算法语句.docx(15页珍藏版)》请在冰豆网上搜索。
基本算法语句
基本算法语句
教学目标:
通过伪代码学习基本的算法语句,更好地了解算法思想.
教学重点:
如何进行算法分析.
教学难点:
如何进行算法分析.
教学过程:
Ⅰ.课题导入
算法基本语句包括赋值语句、输入输出语句、条件语句、循环语句.
伪代码
问题:
已知某学生一次考试中语文、数学和英语学科的得分分别为85,90,95,试设计适当的算法求出这名学生三科的总分和平均分.
解:
sum←0
C←85
M←90
E←95
sum←C+M+E
A←sum/3
Printsum,A
end
Ⅱ.讲授新课
例1:
设计一个解二元一次方程组的通同算法.
设二元一次方程组为
(a1b2-a2b1≠0)
用消元法解得
用伪代码表示为用伪代码表示为
Reada1,b1,c1,a2,b2,c2
x←
y←
Printx,y
例2:
已知三角形的三边,试用流程图和伪代码表示求这个三角形的周长的算法.
解:
流程图伪代码
Reada,b,c
M←a+b+c
PrintM
例3:
已知一匀变速运动的物体的初速度、末速度和加速度分别为V1,V2,a,求物体运动的距离s.试编写求解这个问题的一个算法的流程图,并用伪代码表示这个算法.
解:
由题意可知,V2=V1+at,故运动时间t=
所以,物体运动的距离s=V1t+
at2=
.
据此,可设计算法如下:
将此算法程序用伪代码表示为:
ReadV1,V2,a
s←
Prints
End
例4:
写出下列用伪代码描述的算法执行后的结果.
(1)算法开始
a←2;
a←4;
a←a+a;
输出a的值;
算法结束
执行结果:
( )
答案:
8
(2)算法开始
n←10;
i←2;
sum←0;
while(i≤n)
sum←sum+i;
i←i+2;
输出sum的值;
算法结束
执行结果:
( )
答案:
30
点评:
本题主要考查学生对基本算法语句的灵活准确应用和自然语言与符号语言的转化,让学生理解用伪代码表示的算法.
Ⅲ.课堂练习
课本P171,2,3.
Ⅳ.课时小结
Read是输入语句的一种,输入数据还有其它方式;输入语句与赋值语句不同,赋值语句可以将一个代数表达式的赋于一个变量,而输入语句只能读入具体的数据.
Ⅴ.课后作业
课本P241,2.
基本算法语句
(二)
教学目标:
使学生能结合选择结构的流程图学习条件语句,能用条件语句编写程序.
教学重点:
如何在伪代码中运用条件语句.
教学难点:
如何在伪代码中运用条件语句.
教学过程:
Ⅰ.课题导入
某百货公司为了促销,采用购物打折的优惠办法:
每位顾客一次购物
(1)在1000元以上者,按九五折优惠.
(2)在2000元以上者,按九折优惠.
(3)在3000元以上者,按八五折优惠.
(4)在5000元以上者,按八折优惠.
编写程序求优惠价.
解析:
设购物款数为x元,优惠价为y元,则优惠付款公式为
y=
用条件语句表示为:
Readx
Ifx<1000then
y=x
Else
Ifx<2000then
y=0.95x
Else
Ifx<3000then
y=0.9x
Else
Ifx<5000then
y=0.85x
Else
y=0.8x
Endif
Printy
点评:
在准确理解算法的基础上,学会条件语句的使用.
Ⅱ.讲授新课
例1:
写出下面流程图所表述的算法的功能并用伪代码表示.
答案:
解:
输出两个不同的数中小的一个数.用伪代码表示为
Begin
Reada,b
Ifa>bthen
Printb
Else
Printa
Endif
End
例2:
某市电力公司为了鼓励居民用电,采用分段计费的方法计算电费:
每月用电不超过100度时,按每度0.57元计算;每月用电超过100度时,其中的100度仍按原标准收费,超过部分每度按0.50元计算.问:
如何设计一个计算应交电费的算法?
答案:
解:
设月用电x度时,应交电费y元,当x≤100和x>100时,写出y关于x的函数关系式为
y=
所以,计算应交电费的算法可以用伪代码表示为
Begin
Readx
Ifx≤100then
y←0.57x
Else
y←57+0.5(x-100)
Endif
Printy
End
例3:
试用条件语句描述计算应纳税所得额的算法过程,其算法如下:
S1 输入工资x(x≤5000);
S2 如果x≤800,那么y=0;
如果800<x≤1300,那么y=0.05(x-800);
如果1300<x≤2800,
那么y=25+0.1(x-1300),
否则y=175+0.15(x-2800);
S3 输出税收y,结束.
答案:
解:
这个算法用条件语句描述为
Begin
Readx
Ifx≤800then
y←0
Elseif800y←0.05(x-800)
Elseif1300y←25+0.1(x-1300)
Else
y←175+0.15(x-2800)
Endif
Printy
End
例4:
在水果产地批发水果,100kg为批发起点,每100kg40元;100kg至1000kg8折优惠;1000kg至5000kg,超过1000kg部分7折优惠;5000kg至10000kg,超过5000kg的部分6折优惠;超过10000kg,超过部分5折优惠.请写出销售金额y与销售量x之间的函数关系,并用伪代码表示计算销售金额的算法.
答案:
y=
这个算法用条件语句描述为
Begin
Readx
If100y←0.32x
Elseif1000y←0.28x+40
Elseif5000y←0.24x+240
Else
y←0.2x+640
Endif
Printy
End
Ⅲ.课堂练习
课本P201,2,3.
Ⅳ.课时小结
算法中的选择结构可以用条件语句实现.
if选择结构:
if/else选择结构:
Ⅴ.课后作业
课本P243,4.
基本算法语句(三)
教学目标:
使学生能结合选择结构的流程图学习条件语句,能用条件语句编写程序.
教学重点:
如何在伪代码中运用条件语句.
教学难点:
如何在伪代码中运用条件语句.
教学过程:
Ⅰ.课题导入
写出计算1+2+3+4+…+100之和的伪代码.
答案:
解:
此问题可以用循环语句表示为
S←1
ForIfrom2to100
S←S+I
EndFor
PrintS
Ⅱ.讲授新课
例1:
依次将十个数输入,要求将其中最大的数打印出来.试用流程图和伪代码表示问题的算法.
用伪代码设计算法如下:
Begin
Read X
max←X
ForIfrom2to10
Read X
IfX>maxthen
max←X
Endif
Endfor
Printmax
End
流程图:
例2:
已知S=5+10+15+…+1500,请用流程图描述求S的算法并用伪代码表示.
解析:
流程图如下图所示:
从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现.
Begin
S←5
ForIfrom10to1500step5
S←S+I
EndFor
PrintS
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;
whilen<10;
n←n+1;
c←a+b;
输出c;
编号①;
编号②;
endwhile
答案:
①a←b ②b←c
例4:
求1-
+
-
+…+
-
的值.
算法分析:
第一步是选择一个变量S表示和,并赋给初值0,再选一个变量H,并赋给初值0;
第二步开始进入for循环语句,首先设i为循环变量,并设初值、步长、终值;
第三步为循环表达式(循环体);
第四步用“endfor”控制一次循环,开始一次新的循环.
伪代码如下:
S←0
H←0
Forifrom1to10
H←(-1)i+1/i
S←S+H
Endfor
PrintS
例5:
小明第一天背一个单词,第二天背两个单词,以后每一天比前一天多背一个单词,问他前十天共背了多少个单词?
解:
第一步是选择一个变量S表示和,并赋给初值0,
第二步开始进入for循环语句,首先设i为循环变量,并设初值、步长、终值;
第三步为循环表达式(循环体);
第四步用“endfor”控制一次循环,开始一次新的循环.
伪代码如下:
S←0
Forifrom1to10
S←S+i
Endfor
PrintS
例6:
求平方值小于2000的最大整数.
解:
伪代码:
j←1
Whilej2<2000
j←j+1
Endwhile
j←j-1
Printj
例7:
用伪代码描述求解S=1×2×3×…×(n-1)×n的算法.
解:
此问题可以用循环语句表示为
Begin
Readn
S←1
ForIfrom1ton
S←S×I
Endfor
PrintS
End
例8:
输入一个正整数n,并计算S=11×22×33×…×nn的值.
解:
第一步是选择一个变量n,并要求输入初值;
第二步是选择一个变量S表示和,并赋给初值0;
第三步开始进入for循环语句,首先设i为循环变量,并设初值、步长、终值;
第四步为循环表达式(循环体);
第五步用“end”控制一次循环,开始一次新的循环.
伪代码如下:
Readn
S←0
Forifrom1ton
S←S×ii
Endfor
PrintS
End
例9:
某城市现有人口总数为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.
算法如下:
Begin
y←100
t←1.012
ForIfrom1to10
y←y×t
Endfor
Printy
End
(3)设x年后该城市人口将达到120万人,即100×(1+0.012)x=120.
算法如下:
Begin
S←100
I←1.012
T←0
WhileS<120
S←S×I
T←T+1
Endwhile
PrintT
End
Ⅲ.课堂练习
课本P231,2,3,4.
Ⅳ.课时小结
算法中的循环结构可以用循环语句实现.正确理解两种循环语句:
for循环、当型循环和直到型循环.
当型循环:
while(条件表达式)循环体语句;
直到型循环:
do循环体语句while(条件表达式);
for循环:
for(表达式1;表达式2;表达式3)循环体语句;
Ⅴ.课后作业
课本P245,6.