条件语句算法初步
复习巩固1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么?顺序结构输入语句输出语句赋值语句INPUT“提示内容”;变量PRINT“提示内容”;表达式变量=表达式
语句一般格式主要功能说明输入语句输出语句赋值语句INPUT“提示内容”;变量PRINT“提示内容”;表达式变量=表达式可对程序中的变量赋值可输出表达式的值,计算可对程序中的变量赋值,计算(1)提示内容和它后面的“;”可以省略(2)一个语句可以给多个变量赋值,中间用“,”分隔(3)无计算功能(1)表达式可以是变量,计算公式,或系统信息(2)一个语句可以输入多个表达式,中间用“,”分隔(3)有计算功能(1)“=”的右侧必须是表达式,左侧必须是变量(2)一个语句只能给一个变量赋(3)有计算功能
1、回忆程序框图中的两种条件结构。2、指出条件语句的格式及功能。3、指出两种条件语句的相同点与不同点。4、揭示程序中的条件语句与程序框图中的条件结构存在一一对应关系。问题
IF条件THEN语句体1ELSE语句体2ENDIFIF条件THEN语句体ENDIF满足条件?语句体是否满足条件?语句体1语句体2是否2、条件结构常用的程序语言和格式(单分支条件结构)(双分支条件结构)
例1:编写一程序,求实数X的绝对值。X(X≧0)算法分析:因为实数X的绝对值|X|=-X(X﹤0)算法步骤:S1:输入一个实数XS2:判断X的符号,若X≥0,则输出X;否则输出-X程序框图:开始输入XX≥0?输出X输出-X结束是否程序:INPUTXIFX>=0THENPRINTXELSEPRINT-XENDIFEND
练习:把下列语句的意义翻译成程序框图(2)INPUTxIFx>0THENy=1ELSEy=0ENDIFPRINTyEND(1)INPUTxIFxb;(2)b>a。这也就用到了我们经常提到的分类讨论的思想,找出两个数的最大值。第一步:输入a,b的数值第二步:判断a>b是否成立若是输出a的值,否则,输出b的值。开始输入a,b,a>b?输出b输出a结束YN
程序:INPUTa,bIFa>bTHENPRINTaELSEPRINTbENDIFEND开始输入a,b,a>b?输出b输出a结束YN
另解:开始输入a,b,b>a?输出a结束YNa=b程序:INPUTa,ba=bPRINTaENDIFENDIFb>aTHEN
练习1:编写一个程序,判断任意输入的整数的奇偶性开始输入整数aM=0?M=aMOD2输出a为偶数输出a为奇数结束YN程序:INPUT“a=“;aM=aMOD2IFM=0THENPRINT“a为偶数”ELSEPRINT“a为奇数”ENDIFEND
练习2己知函数,画出程序框图,并编写一个程序。开始输入XX≥0?YNy=X2-1y=2X2-5输出y结束INPUTxIFx>=0THENy=X^2-1ELSEy=2*x^2-5ENDIFPRINTYEND
练习开始输入a,b,ca+b>c,a+c>b,b+c>a是否同时成立?存在这样的三角形不存在这样的三角形结束否是(3)该程序框图所表示的算法是作用是什么?并根据程序框图写出相应的程序。程序:INPUTa,b,cIFa+b>canda+c>bandb+c>aTHENPRINT“存在这样的三角形”ELSEPRINT“不存在这样的三角形”ENDIFEND
例3编写程序,使得任意输入3个整数按大到小的顺序输出。算法分析:算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。第一步输入3个整数a、b、c第二步将a与b比较,并把小者赋给b,大的赋给a;第三步将a与c比较,并把小者赋给c,大的赋给a第四步将b与c比较,并把小者赋给c,大的赋给b第五步按顺序输出a,b,c交换两个变量的值
INPUT“a,b,c=”;a,b,cIFb>aTHENt=aa=bb=tENDIFIFc>aTHENt=aa=cc=tENDIFIFc>bTHENt=bb=cc=tENDIFPRINTa,b,cEND相应的QBASIC程序:开始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t输入a,b,c输入a,b,cb>a?c>a?c>b?结束是是否否是否对应的流程图:
(4).读程序,说明程序的运行过程:INPUT“Pleaseinputaninteger:”;xIF9