(共24张PPT)
基本算法语句(1)
计算机完成任何一项任务都需要算法,但是,用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的.因此还需要将算法用计算机能够理解的程序设计语言programming language)翻译成计算机程序.
程序设计语言有很多种,如BASIC,Foxbase,C语言,C++,VB等.各种语言的语法存在比较大的区别,因此我们教材使用了一种介于自然语言和计算机语言之间的文字和符号,来表示算法.这种文字和符号,称为伪代码(pseudo code).
基本的算法语句有哪些?
赋值语句
输入语句
输出语句
条件语句
循环语句
用符号“←”表示,“x←y”表示将y的值赋给x,其中x是一个变量,y是一个与x同类型的变量或表达式.
1.赋值语句(assignment statement )
(1)定义:将表达式所代表的值赋给变量。
(2)格式:
变量←表达式或变量
注意:
(1)赋值语句“←”左边只能是变量名字而不是表达式,
如:2←x是错误的;右边表达式可以是一个数据、常量或算式;
(2)对于一个变量可以多次赋值。
练习:判断下列赋值语句是否正确?
⑴3←y
⑵x2+y←1
⑶x=y←0
⑷T←2T+1
×
√
×
×
例1.写出求x=23时多项式 7x3+3x2-5x+11的值的算法。
算法一:
S1 x←23
S2 p←7x3+3x2-5x+11
S3 输出p
算法二:
S1 x←23
S2 p←((7x+3)x-5)x+11
S3 输出p
问题:以上两种算法各需要做几次乘法?哪种算法运算速度更快?
算法二:
S1 x←23
S2 p←((7x+3)x-5)x+11
S3 输出p
算法2称为秦九韶算法,其算法特点
是:通过一次式的反复计算,逐步得出高
次多项式的值;对于一个n 次多项式,至
多做 n 次乘法和 n 次加法.
这种方法是我国南宋时期的数学家秦九韶在他的代表作《数书九章》中提出的,直到今天,这种算法仍是多项式求值比较先进的算法.
2.输入、输出语句
(2)格式:
①输入语句的格式: “Read a,b”表示输入的数依次赋给a和b。
(1)定义:分别用来实现算法的输入信息、输出结果的功能的语句。
注:输入语句要求输入的值只能是具体的常数,不能是函数,变量或者表达式.
如:80/4, 8+4 ,80-20 等。
2.输入、输出语句
②输出语句的格式:
“Print x”表示输出的结果是x
“Print x,y”表示输出的结果依次是x和y
注:输出语句可以输出常数,变量或者表达式的值.
S1 输入x
S2 p←7x3+3x2-5x+11
S3 输出p
练.下列算法用基本算法语句表示
Read x
p←7x3+3x2-5x+11
Print p
例2.编写一个程序,计算一个学生的数学、语文、英语三科的平均成绩。
开始
输入a,b,c
输出y
结束
Read a,b,c
Print y
例3.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣且有深远影响的题目: “今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何”
解:设有x 只鸡, y只兔,则
问:可否设计一个解二元一次方程组的通用算法?
设二元一次方程组为
用消元法解得:
因此只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可以输出 x ,y 的值.
输入a1,b1,c1,a2,b2,c2
输出 x , y
Read a1,b1,c1,a2,b2,c2
Print x , y
开始
结束
上述解二元一次方程组的算法的流程图与相
应的伪代码就可以表示为
即当输入a1 , b1 , c1 , a2 , b2 , c2 分别为1,1,35,2,4,94 时,输出的x ,
y的值分别为23 ,12,即“鸡兔同笼”
问题的答案是23只鸡和12只兔。
练习:
1.已知一个正三棱柱的底面边长为2,高为3,用输入、输出语句和赋值语句表示计算这个正三棱柱的体积的算法.
Read a,h
Print V
练习:3.已知三角形的三边长分别为a,b,c,借助三角形的面积公式
(其中p=1/2(a+b+c)用输入、输出语句和赋值语句表示计算三角形面积的一个算法。
Read a,b ,c
P←1/2(a+b+c)
Print S
3.写出下列程序的运行结果:
Read a,b,c
a←b
b←c
c←a
Print a,b,c
若输入10,20,30,则输出为____.
20,30,20
输出结果是a=_____ , b=_____ .
a←2
b←5
c←a+b
a←c+4
Print a,b
11
5
课堂小结:
1.三种基本算法语句的定义及格式;
2.三种基本算法语句的应用;
3.写语句与识语句。
作业布置:
1. 完成教案;
2.完成必修2活页;