1、选择结构的程序设计(二)一、 IF 语句的嵌套:有时一个 IF 语句解决不了问题,如:二、+1 (X0)例一:计算符号函数的值。(已知 Y= 0 (X=0) )-1 (X0 THEN Y:=1;IF X=0 THEN Y:=0;IF X0 THEN Y:=1ELSE IF X=0 THEN Y:=0ELSE Y:=-1;WRITE(Y);END.方法 3:BEGINWRITE(INPUT X:);READLN(X);Y:=-1;IF X=0 THEN IF X0 THEN Y:=1ELSE Y:=0;WRITE(Y);END.例二、输入三角形的三边,判断它是否是直角三角形。分析:先输入三边(a
2、,b,c),再判断是否能构成三角形(a+bc 且 a+cb 且 b+ca),若能,则判断是否直角三角形,是则输出“YES”,不是则输出“NO”,不能构成三角形要输出“ERROR! ”。例三、输入 1 个年份,判断它是否是闰年。分析:判断闰年的算法是:如果此年份能被 400 整除,则它是闰年,否则,如果它能被 4 整除且不能被 100 整除,则也是闰年,否则不是闰年。思考:如果要判断输入的年份是否合法(如输入了一个负数),怎么办?IF 语句的第一种嵌套格式:套在 ELSE 语句后面;ELSE 与最近的 IF 语句配对;尽量采用缩进格式,增强程序的可读性;IF 语句的第二种嵌套格式:套在 THEN
3、语句后面; 少用为妙!VAR YEAR:INTEGER;LEAP:BOOLEAN;BEGINWRITE(INPUT YEAR:);READLN( YEAR);IF YEAR MOD 400 =0 THEN LEAP:=TRUEELSE IF (YEAR MOD 4=0)AND(YEAR MOD 100=90B 成绩 =80即:等级= C 成绩 =70D 成绩 =60E 成绩 Y X 定义为常量 69,Y 为买了一支 8 角的铅笔后余下的钱Y DIV 4 C 买尽可能多的 4 角一支的铅笔,保存在 C 中 Y MOD 4 D 买好 4 角、8 角铅笔后余下的钱,D 可能为 0、1、2、3 角输出 1、A,B,C 1 支 8 角的铅笔、A 为 6 角铅笔数量、B 为 5 角铅笔数量、C 为 4 角铅笔数量D=0 1 2 3C:=C - 1 C:=C - 1 C:=C - 2B:= 1 A:= 1 B:= 1 A:=1