
必修3.1.2基本算法语句(孟上课用1)
26页单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,1.2.1,输入、输出、赋值语句,1.2,算法语句,,,第,1,课时,~1.2.2,条件语句,1,,,输入语句,输出语句,赋值语句,条件语句,循环语句,常用的程序设计语言:,BASIC,C/C++, Delphi,,,VB,、,ASP,、,Java,等等算法的三种基本逻辑结构:顺序结构,条件结构和循环结构各种程序语言都包含了下列基本的算法语句:,,,语句,1,语句,2,,计算机运行程序语句的基本顺序:,复习引入,2,,算法:,第二步,计算 的值,.,,开始,,输入,x,,,输出,y,,结束,框图:,例,1,.,用描点法作函数 的图象时,需求出,,自变量和函数的一组对应值,编写程序,分别计算当,x=-5,,,-4,-3,-2,-1,0,1,2,3,4,5,时的函数值第一步,输入,x,的值,.,第三步,输出,y,的值,.,程序:,INPUT,“,x=,”,;x,,y=x,^,3+3 x,^,2-24 x+30,,PRINT y,,END,*,*,新课讲解,3,,例,1,.,用描点法作函数 的图象时,需要求出,,自变量和函数的一组对应值,编写程序,分别计算当,x=-5,,,-4,-3,-2,-1,0,1,2,3,4,5,时的函数值。
程序:,INPUT,“,x=,”,;x,,y=x^3+3 x^2-24 x+30,,PRINT y,,END,*,*,INPUT,,“,提示内容,”,;变量,,输入语句:,输出语句:,PRINT,,“,提示内容,”,;表达式,,赋值语句:,变量,=,表达式,,4,,取余数,MOD,取商,\,,,,<=,,>=,幂运算,^,除法运算,/,乘法运算,,功能,运算符,*,Inx,,|x|,功能,,LOG(x),,SQR(x),,ABS(x),注意事项,函数名,BASIC,语言中的常用运算符号,5,,例,2.,编写程序,计算一个学生数学、语文、英语三门课的平均成绩算法:,第一步:分别输入三科的成绩,a,b,c.,第二步:计算,average=(a+b+c)/3.,第三步:输出三科平均分,.,框图:,,开始,,输入,a,b,c,,输出,average,,结束,,average=(a+b+c)/3,程序:,INPUT,“,Maths=,”,;a,INPUT,“,Chinese=,”,;b,INPUT,“,English=,”,;c,average=(a+b+c)/3,PRINT,“,The average=,”,;average,END,INPUT,“,Maths, Chinese, English=,”,;a,b,c,程序,2,:,PRINT,“,The average=,”,;(a+b+c)/3,END,6,,,INPUT,语句,PRINT,语句,赋值语句,格式,INPUT,,“,提示内容”;变量,PRINT,“,提示内容”;表达式,变量,=,表达式,说明,1.“,提示内容”和它后面的,,“;”可以省略;,,2.,一个语句可以给多个变,,量赋值,,,中间用“,,”,隔开,;,,3.,无计算功能,不能输入,,表达式;,,4.,输入多个数据时用“,”,,分隔,且个数要与变量,,的个数相同。
1.“,提示内容”和它后面的,,“;”可以省略;,,2.,一个语句可以输出多个表,,达式,不同的表达式之间,,用“,,”,隔开;,,3.,表达式可以是变量,也可,,以是计算公式;,,4.,有计算功能,能直接输出,,计算公式的值1.“=”,左侧必须是变,,量,右侧可以是数,,字、变量或者是计,,算公式;,,2.,一个语句只能有一,,个“,=”,,并且只能给,,一 个变量赋值;,,3.,有计算功能,可以,,把表达式的值赋给,,一个变量7,,例,3.,分析下列程序,考虑输出的结果是什么?,程序,2,:,A=10,,A=A+15,,PRINT A,,END,程序,1: a=1,,x=a+1,,PRINT x,,END,程序,3,:,a=1,,b=3,,PRINT,“,a+b=,”,;a+b,,END,答:,2,答:,25,答:,a+b=4,8,,例,4.,分析下列程序,判断运行的结果a=2,,b=3,,c=a+b,,b=a+c-b,,PRINT,“,a=,b=,c=,”,;,a,b,c,,END,(1),(2),,INPUT A,,INPUT B,,PRINT A,B,,x=A,,A=B,,B=x,,PRINT A,B,,END,key:,,a=2,b=4,c=5,Key:,,交换,A,、,B,的值,其中,x,是一个,,中间变量,改为,A=B,B=A,会输出什么结果,思考,9,,例,5.,下面输入、输出语句正确的有:,,,(,3,),PRINT A=4,,,(,1,),INPUT a,b,c,(,2,),INPUT x=3,,,(,4,),PRINT 20,3*2,,,√,√,×,×,10,,1.,程序:,INPUT,“,华氏温度,F=,”,;F,,,C=(F-32) 5/9,,PRINT,“,相应的摄氏温度,C=,”,;C,,END,*,2.,程序:,INPUT,“,x=,”,;,x,,INPUT,“,y=,”,;,y,,,a=x+y,,b=x-y,,c=x y,,d=x/y,,PRINT,“,和,差,积,商分别为:,”,;,a,b,c,d,,END,*,课堂练习,11,,4.,程序:,INPUT,“,水果糖的质量,(,千克,),:”;,a,,INPUT,“,奶糖的质量(千克):”;,b,,INPUT,“,巧克力糖的质量(千克):”;,c,,,sum=10.4*a+15.6*b+25.2*c,,PRINT,“,应收取的金额为:”,;sum,,END,3.,程序:,INPUT“a,b,c=”;a,b,c,,p=(a+b+c)/2,,S=SQR(p (p-a) (p-b) (p-c)),,PRINT “S=”;S,,END,*,*,*,12,,例,6,设计一个求解一元二次方程,算法步骤,:,开 始,输入,a,,,b,,,c,Δ=b,2,-,4ac,x1,=p+q,,x2,=p-q,Δ≥0?,Δ,=,0,?,输出,x1,x2,输出,p,输出“方程无实数根”,结 束,是,否,是,否,的算法,并画出程序框图表示,.,,,新课讲授,13,,IF—THEN,语句,IF,,条件,THEN,,,语句体,,END IF,,,满足条件?,是,否,语句体,当计算机执行上述语句时,首先对,IF,后的条件进行判断,如果,(IF),条件符合,那么,(THEN,)执行语句体,否则执行,END IF,之后的语句。
新课讲授,14,,例,7,:,编写一个程序,从键盘上输入一个整数,若是正数就将其输出程序,:,INPUT “x=”,;,x,,IF x>0 THEN,,PRINT x,,END IF,,END,15,,IF-THEN-ELSE,语句,当计算机执行上述语句时,首先对,IF,后的条件进行判断,如果,(IF),条件符合,那么,(THEN,)执行语句体,1,,否则(,ELSE,)执行语句体,2,IF,,条件,THEN,,,语句体,1,,ELSE,,,语句体,2,,END IF,,,满足条件?,否,,是,语句体,1,语句体,2,新课讲授,16,,例,8,:,编写一个程序,求任意实数的绝对值程序如下:,程序框图:,开始,,输入,x,,y=-x,,y=x,,输出,y,,结束,,x>=0?,否,是,INPUT x,IF x>=0 THEN,,,y=x,ELSE,y=-x,END IF,END,PRINT y,17,,例,9,:,编写一个程序,求任意实数的绝对值INPUT x,IF x<0 THEN,,,x= -x,PRINT x,END IF,END,读上述程序,说明程序的运行所得的结论。
INPUT x,IF x>=0 THEN,,,y=x,ELSE,y=-x,END IF,END,PRINT y,练习:课本,P29 2,变式,18,,练习:,编写求一个数是偶数还是奇数的程序,从键盘上输入一个整数,输出该数的奇偶性程序:,INPUT “x=”,;,x,,IF,x MOD 2 =,0 THEN,,PRINT,,“Even”,,ELSE,,PRINT,,“Odd”,,END IF,,END,(,练习:课本,P29. 3,),练习,19,,例,10,:,将右图转化为程序语句,输出“方程无实数根”,输出,p,是,开 始,输入,a,,,b,,,c,Δ=b,2,-,4ac,x1,=p+q,,x2,=p-q,Δ≥0?,Δ,=,0,?,输出,x1,x2,结 束,是,否,否,,,INPUT “a,,,b,,,c=”,;,a,,,b,,,c,IF d>=0 THEN,PRINT “x1=x2=”; p,ELSE,PRINT “No real root”,END,P=-b/(2*a),ELSE,IF d=0 THEN,PRINT “x1=”,;,p+q,END IF,d=b^2-4*a*c,q=SQR(d)/(2*a),END IF,PRINT “x2=”,;,p-q,新课讲授,20,,例,11,:,设计一个程序,,,要求输入三个数,a,b,c,,输出其中最大的数。
开始,,输入,a,,,b,,,c,,,t=a,,b>t,?,,,t=b,,c>t,?,,,t=c,,输出,t,,结束,,否,是,是,否,INPUT “a,,,b,,,c=”,;,a,,,b,,,c,t=a,IF b>t THEN,,t=b,IF c,>t,THEN,,t=c,END IF,END IF,PRINT “max is”,;,t,END,程序如下:,新课讲授,21,,开始,,输入,a,b,c,,b>a?,,t=a,,,Y,N,,a=b,b=t,c>a?,,t=a,,,Y,N,,c>b?,,t=b,,,Y,N,,a=c,c=t,,,输出,a,b,c,结束,,b=c,c=t,,变式,:,编写程序,使得任意输入的,3,个整数按从大到小的顺序输出新课讲授(教,P,27,例,7,),22,,变式:,编写程序,使得任意输入的,3,个整数按从大到小的顺序输出程序如右:,INPUT “a,,,b,,,c=”,;,a,,,b,,,c,t=a,IF b>a THEN,,b=t,IF c,>a,THEN,,a=c,END IF,END IF,PRINT a,b,c,END,a=b,t=a,c=t,IF c,>b,THEN,,t=b,b=c,c=t,END IF,新课讲授,23,,闰年是指能被,4,整除但不能被,100,整除,或者能被,400,整除的年份。
编写程序,判断输入的年份是否为闰年,并,画出程序框图,(,思考,),课堂练习,INPUT “Please input a year:",;,y,,a=y MOD 4,,b=y MOD 100,,c=y MOD 400,,IF a0 THEN,,PRINT “Not Leap year. ",,ELSE,,IF b0 THEN,,PRINT “ Leap year. ",,ELSE,,IF c=0 THEN,,PRINT “ Leap year.”,,ELSE,,PRINT “Not Leap year.”,,END IF,,END IF,,END,(,练习:课本,P29. 4,),24,,程序,:,,INPUT “x=”,;,x,,IF x>20 THEN,,y=0.65﹡x-6,,ELSE,,y=0.35﹡x,,PRINT “y=”,;,y,,END IF,,END,探究交流,:火车托运行李的收费方法如下:,,y,是收费,,x,是行李重量,当,0,<,x≤20,(千克)时,按每千克,0.35,元收费当,x,>,20(,千克,),时,,20,千克的部分按,0.35,元的单价收费,超出,20,千克的部分,则按,0.65,元的单价收费。
请根据上述收费方法编写程序0