1、53 基本算法语句531 赋值语句 532 输入、输出语句案例探究用伪代码写出计算任何一个学生的语、数、外三门课成绩的算法解:Begin(算法开始)Read a“chinese”b“maths”c“foreign language”Aver(a+b+c)/3Print averEnd伪代码是表示算法的一种方法,它是介于自然语言和计算机语言之间的文字和符号,是描述算法简单而实用的方法自学导引1伪代码是介于自然语言和计算机语言之间的文字和符号2在伪代码中,赋值语句用符号“”表示, “xy”表示将 y 的值赋给 x,其中 x 是一个变量,y 是一个与 x 同类型的变量或表达式3在某些算法中,变量的初
2、值要根据情况经常地变化,每次做题时,即使初始值数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可,这个过程在程序语言中用“输入语句” 来控制,其格式为“ Read a,b”表示输入的数据送给 a,B4任何求解问题的算法,都要把求解的结果“输出”,任何程序语言也必须有“输出语句”来控制,其格式为:“ Print x”,表示输出运算结果 x疑难剖析【例 1】 若三角形的边长分别为 a,b,c,借助于公式 S= (其)()(cpbap中 p= ) ,求该三角形的面积试用输入、输出语句表示计算面积的一个算法2cba分析:这里有三个变量 a,b,c 的值需要输入,变量 p 的值由 a,
3、b,c 确定,可用赋值语句,S 的计算也用赋值语句,最后输出的是 S 的值解:Read a,b,cp(a+b+c)/2xp-ayp-bzp-cSSQR(p*x*y*z)Print“三角形的三条边长分别为:”;a,b,cPrint“这个三角形的面积是:”;SEnd思维启示:在程序语言中,乘、除、乘方、求平方根、求绝对值,分别用下列符号表示:*、/、 、 SQR( ),ABS( ) ,如 32,32,3 2, ,|3|分别写成33*2,3/2,32,SQR(3),ABS(3),在程序中,分别写成=,【例 2】 试用伪代码设计一个程序,已知圆柱体的底面半径和高,求圆柱体的表面积思路分析:根据圆柱的表
4、面积等于两底的面积加上侧面积,我们就可以先求出底面积,再算出侧面积,然后把两个面积相加,圆柱体的表面积便有了解:程序:Read“R,H=”;R,HA2*3145*R*HB3145*R*RSA+2*BPrint“S=”;SEnd思维启示:“R,H=” 提示输入圆柱体的底面半径和侧面高,当我们把值赋给 R,H 后,R,H 中的值与 2 及 31415 相乘,乘积存入变量 A,R 中的值代入圆面积公式,求出圆的面积存入 B,A 中的值与两个底面的面积 2B 相加存入 S,则 S 中的值便是圆柱体的表面积【例 3】 根据下面伪代码编写的程序,画出流程图Read“输入边长 A,B 的值”;A,BRead
5、“输入夹角 C 的角度值” ;CCC*3141 6/180PA*A+B*B-2*A*B*cos(C)YSQR(P)Print“第三边=”;YEnd思路分析:从伪代码程序可以看出,此程序只用输入语句、赋值语句和输出语句组成,因此根据程序画流程图,只要按顺序从上到下把输入语句、赋值语句、输出语句换成输入框、处理框、输出框就可以了解:流程图如图所示:【例 4】 编写一个程序求出方程 x2-3x+2=0 的两根思路分析:用输入语句输入 a,b,c 的值,然后利用求根公式求根,最后输出方程的两根即可解:Read a,b,c”;1,-3 ,2x1(-b+SQR(b 2-4*a*c)/(2*a)x2(-b-
6、SQR(b 2-4*a*c)/(2*a)Print“x1=”;x1;“x2=”;x2End【例 5】 某粮库 3 月 4 日存粮 50 000 kg,3 月 5 日调进粮食 30 000 kg,3 月 6 日调出全部存粮的二分之一,编写一个算法描述输出每天的库存数,并用伪代码表示思路分析:粮库的库存是逐日变化的,可以设置一个变量来存放每天的库存数,我们只设一个变量 a,处理时,每次当天的库存统计好存入变量里,然后输出变量当前值,来说明当天的库存在这样的思路,则流程图如图所示解:由流程图看出,这是一个有多个输出的顺序结构,因此只需用输入、输出、赋值语句即可写出程序程序为:a50 000Print
7、“3 月 4 日库存数:”;a;“kg”aa+30 000Print“3 月 5 日库存数:”;a;“kg”aa/2Print“3 月 6 日库存数:”;a;“kg”End拓展迁移【拓展点】某市 2003 年 112 月的产值分别为53,38,42,54,62,46,67,73,64, 58, 47,65(亿元) ,该市要统计每季度的月平均产值及 2003 年的月平均产值,试分别用赋值语句和输入、输出语句表示计算上述各个平均值的算法解:Read“a 1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12”;5.3,3.8,4.2,5.4,6.2,4.6,6.7,7.3,6.4,5.8,4.7,6.5Print“第 1 季度 aver=”;(a 1+a2+a3)/3Print“第 2 季度 aver=”;(a 4+a5+a6)/3Print“第 3 季度 aver=”;(a 7+a8+a9)/3Print“第 4 季度 aver=”;(a 10+a11+a12)/3Print“全年 aver=”;(a 1+a2+a3+a12)/12End