1、1.2.2 条件语句,程序框图,一、IF-THEN-ELSE型条件语句,IF 条件 THEN 语句体1(步骤A)ELSE 语句体2(步骤B)END IF,如果(IF)条件满足,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.,1.IF与END IF要配对使用.,2.END IF是结束条件语句,END则是结束整个程序.,程序,程序框图,如果(IF)条件满足,那么(THEN)执行语句体,否则执行END IF之后的语句.,程序,二、IF-THEN型条件语句,注意:ELSE分支可以省略,注意:,1.条件语句必须是以IF开始,以END IF结束,一个IF必须与一个END IF相对应;,2.如
2、果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分支可以省略,此时条件语句就由双支变为单只;,3.为了程序的可读性,一般IF、 ELSE与END IF顶格书写,其他的语句体前面则空两格。,程序框图,例5 设计一个程序,求实数 的绝对值.,算 法,第一步 输入一个实数 .,第二步 判断x与0的大小关系. 若x0,则输出x ; 否则,输出-x.,程序框图,是,否,方法2:,x=-x,例6.编写程序,输入一元二次方程 的系数,输出方程的实数根.,算 法,第一步:输入三个系数a(a0),b,c.,第二步:计算,第四步:判断 是否成立,否则,计算,并输出,第三步:判断 是否成立.
3、,若是,则执行第四步;,否则,输出“方程没有实数根”,结束算法.,若是,则计算,并输出,否,输入a(a0),b,c,开始, =b2-4ac,0?,是,=0?,输出x1,x2,输出“方程没有实数根”,结束,是,否,程 序,IF d=0 THEN,IF d=0 THEN,PRINT “xl,x2=”; x1,x2,END IF,ELSE,PRINT “No real root.”,END IF,END,INPUT “a(a0),b,c”;a,b,c,PRINT “x1,x2=”; x1,x2,ELSE,d=b2-4*a*c,否,满足条件1?,是,步骤D,否,IF d=0 THEN,IF d=0 T
4、HEN,PRINT “xl,x2=”; x1,x2,END IF,ELSE,PRINT “No real root.”,END IF,END,INPUT “a(a0),b,c”;a,b,c,PRINT “x1,x2=”; x1,x2,ELSE,d=b2-4*a*c,三、条件语句的嵌套,满足条件2?,步骤A,步骤B,步骤C,是,条件结构的框图,IF d=0 THEN,IF d=0 THEN,PRINT “xl,x2=”; x1,x2,END IF,ELSE,PRINT “No real root.”,END IF,END,INPUT “a(a0),b,c”;a,b,c,PRINT “x1,x2=
5、”; x1,x2,ELSE,d=b2-4*a*c,三、条件语句的嵌套,注意:,1.在编写条件语句的嵌套中的“条件时”,要注意“IF”与“END IF”的配对,有时可以利用文字的缩进来表示嵌套的层次,以帮助对程序的阅读和理解。,2.对于条件语句的嵌套,一定要分清内层条件语句和外层条件语句,内层的条件结构是外层的条件结构的一个分支,练习1.任意给定三个正实数,设计一个程序,判断以这3个正实数为三条边边长的三角形是否存在。,开始,存在这样的三角形,结束,不存在这样的三角形,是,否,程序框图:,练习1.任意给定三个正实数,设计一个程序,判断以这3个正实数为三条边边长的三角形是否存在。,程序:,INPUT “Please input an integer:”;xIF x9 AND x a THEN t = a a = b b = tEND IF,IF c a THEN t = a a = c c = tEND IF,IF c b THEN t = b b = c c = tEND IF,PRINT a,b,cEND,