4.1 IF 語句
類型一: if <布爾表達式> then <語句>;
else <語句2>;
當布爾表達式的值為真,則執(zhí)行then后面的語句,值為假時有兩種情況:要么什么也不做,要么執(zhí)行else后面的語句。注意else前面沒有分號 ,因為分號是兩個語句之間的分隔符,而else并非語句。如果在該處添了分號,則在編譯的時候就會認為if 語句到此結束,而把else當作另一句的開頭,輸出出錯信息。
例:根據(jù)學生的成績給予相應的等 級 ,對應關系如下:
?。梗啊保埃啊。?/p>
80——89 ?。?/p>
?。叮啊罚埂 。?nbsp;
60以下 ?。?wbr>
Program Score;
Var
S:real;
Ch:char;
Begin
End;
在Pascal語言if語句中被構造的語句只能是一條語句,當條件選擇某個分支的計算要用多個語句描述時,就必須把該分支用begin和 end括來,寫成復合語句。在用if語句連續(xù)嵌套時,如果你插入適量的復合語句,有利于程序的閱讀和理解。
例:當x>0時候,計算x*x,并且輸出x和x*x,
program lianxie3;
var x,x1:real;
begin
readln('x=',x);
if x>= 0
begin
x1:=x*x;
writeln('x*x=',x1);
writeln('x=',x);
end;
end.
當if 語句嵌套時,Pascal約定else總是和最近的一個if配對。
4.2 case語句
case語句是由一個表達式和眾多可選擇的操作序列組成。運行時,根據(jù)表達式的求值結果,在眾多的分支中選取一個分支執(zhí)行。其形式為:
case 表達式 of
常量1:語句1;
常量2:語句2;
……
常量n:語句n;
else 語句 n+1 {可選項}
end;
表達式只能是順序類型(除了實型以外的簡單類型),其值必須是唯一確定并且和 常量類型相同。case語句執(zhí)行和表達式值相匹配的case常數(shù)所指向的那條語句,如果沒有相匹配的值,則執(zhí)行else部分(如果有的話)或者什么也不做。在else前面的語句末尾有分號,這是和if語句不同的。
例:根據(jù)學生的成績給予相應的等 級 ,對應關系如下:
90——100?。?/p>
?。福啊福埂 。?/p>
60——79 ?。?nbsp;
?。叮耙韵隆 。?/p>
program chengji;
var s:real;ch:char;
begin
write(' Please
readln(s);
if(s>=0)and(s<=100)then
case s div 10 of
10,9:ch:=' A ';
8:ch:='B';
7,6:='C';
else ch:='D';
end;
writeln(s,'--',ch);
end.
練習:某幼兒園只收2至6歲的小孩,2~3歲入小班,4歲入中班,5~6歲入大班。編寫程序輸入姓名和年齡,判斷小孩入哪個班?并按"姓名年齡 班級"的格式輸出。