文档介绍:第三章选择结构程序设计
流程图的说明
IF语句
CASE语句
常见错误
流程图
起止框
判断框
处理框
输入输出框
连接点
流程线
例:从十个数中选出最大者.
打印出
A的值
1
结束
开始
输入一个数
→A
0→N
输入一个数
→B
A>=B
B→A
N<=9
N+1→N
1
Y
N
Y
N
IF语句
1、用来实现选择结构。有两种形式:
IF <布尔表达式> THEN <语句>
IF <布尔表达式> THEN <语句1> ELSE <语句2>
a
b
条件P
语句1
语句2
2、执行顺序:先计算并测试布尔表达式的值,若为TRUE,
则执行THEN后面的语句,否则执行ELSE后面的语句或直接执行下一条语句。
条件P
语句
a
b
N
Y
Y
N
If <布尔表达式> then <语句1> else <语句2>;
a:=20;b:=30;
If a>=b
then write(“投票通过”)
Else write(“投票不通过”);
对
错
语句1
语句2
条件
练习1:从键盘输入两个数,求最大数。
Readln(a,b)
If a>=b
Max:=a
Max:=b
Writeln(Max)
T
F
流程图
program L3_1;var a,b,max:real;begin write('enter a,b='); readln(a,b); if a>=b then max:=a else max:=b; writeln('max=',max:8:2)end.
开始
输入WEIGHT
WEIGHT<=50
PAY=50+
+(WEIGHT-50)*
PAY=WEIGHT*
输出PAY
开始
N
Y
p38
课堂练习:写出下面程序运行结果
program progaml(input,output);var a,b,c,d,e,f,g,x,y,z:integer;
beginread(d,e,f,g);a:=d+e+f+g-5;b:=d * (e - f div g + 8);c:=d * e div f* g;x:= ( a + b + 2) * 3-a;y:=( c * 100 - 13 ) div a div b;if ((x + y) mod 2 = 0 )
then
z:= (a + b + c + x +y ) div 2
elsez:= (a + b + c - x - y ) * 2;writeln( x + y - z )
end.
数据输入:2 5 7 4
3、注意:
(1)书写的四种方式:
IF ··· THEN IF ···
··· THEN ···
IF ··· THEN ··· IF ···
ELSE ··· THEN ···
ELSE ···
(2)IF ···THEN···ELSE··· 语句:ELSE前面的语句不能有分号,否则将ELSE以及它后面的语句看成一条新语句,这样就发生语法错误。
4、复合语句
(1)当THEN或ELSE后语句不止一个时,要用到复合语句。复合语句是一个以BEGIN开始,以END结束的语句。
(2)一般形式:
BEGIN
<语句1>;
<语句2>;
···
END;
一个复合语句从外部看来,相当于一个语句。
(3) 举例