第五課布爾表達(dá)式IF語句_第1頁
第五課布爾表達(dá)式IF語句_第2頁
第五課布爾表達(dá)式IF語句_第3頁
第五課布爾表達(dá)式IF語句_第4頁
第五課布爾表達(dá)式IF語句_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五課選擇結(jié)構(gòu)

布爾表達(dá)式、IF語句選擇結(jié)構(gòu)

選擇性語句包括if語句和case語句。選擇性語句實(shí)現(xiàn)程序的選擇結(jié)構(gòu)。

第一節(jié)布爾運(yùn)算

要判斷“a>b”是否成立,其結(jié)果并不是一個(gè)數(shù)值,而是“成立”或“不成立”。也可用“真”或“假”這樣的邏輯值來表示。在Pascal語言中,具有這種性質(zhì)的數(shù)據(jù)類型是布爾類型。一、布爾常量和布爾變量1.布爾常量的數(shù)據(jù)只有二個(gè):真和假,分別用標(biāo)準(zhǔn)常量TRUE(真)和FALSE(假)來表示。并約定將FALSE的序號定為0,TRUE為1。2.布爾變量必須預(yù)先定義后使用。例如:

var

a,b:boolean;begin

a:=TRUE;b:=FALSE;……

其中,a和b為布爾類型的變量。boolean是預(yù)定義標(biāo)識符,意為“布爾型”。第五課

布爾表達(dá)式、IF語句二、布爾表達(dá)式

關(guān)系式是由一個(gè)關(guān)系運(yùn)算符(也稱比較符)將兩個(gè)算術(shù)表達(dá)式或兩個(gè)字符表達(dá)式聯(lián)結(jié)起來的式子。關(guān)系運(yùn)算符有以下6個(gè):

=<>><>=<=這些關(guān)系運(yùn)算符分別為等于、不等于、大于、小于、大于等于和小于等于。關(guān)系式代表一個(gè)布爾值,關(guān)系式成立時(shí)的值為TRUE,否則值為FALSE。所以關(guān)系式是簡單的布爾表達(dá)式。

除了整型和實(shí)型可以在關(guān)系運(yùn)算符兩邊混合出現(xiàn)外,關(guān)系運(yùn)算符兩邊的表達(dá)式的值必須是相同的有序類型。例如,字符不能和數(shù)值比較。

兩個(gè)及多個(gè)關(guān)系運(yùn)算符不能連用。例如,a<b<c不是符合語法的關(guān)系式。

布爾表達(dá)式是由布爾型的常量、變量、函數(shù)、關(guān)系式、布爾運(yùn)算符及圓括號組成的表達(dá)式,它的值是布爾類型。

Pascal語言中有3個(gè)布爾運(yùn)算符:AND(邏輯與)、OR(邏輯或)和NOT(邏輯否)。布爾運(yùn)算也稱邏輯運(yùn)算。第五課

布爾表達(dá)式、IF語句由于布爾表達(dá)式中可能同時(shí)出現(xiàn)算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和布爾運(yùn)算符,為了確定表達(dá)式的求值規(guī)則,Pascal規(guī)定了這些運(yùn)算的優(yōu)先順序:①括號②函數(shù)③NOT④*、/、DIV、MOD、AND⑤+、-、OR⑥>、<、>=、<=、<>、=例如,當(dāng)a的值為TRUE時(shí),b為FALSE時(shí),以下是一些符合語法的布爾表達(dá)式及其值。

aANDb的值為FALSEaORb的值為TRUENOTaANDb的值為FALSENOTaORb的值為FALSENOT(aORb)的值為FALSENOTbORa的值為TRUENOT(bORa)的值為TRUE3>4的值為FALSE(3<=4)ANDa的值為TRUEa<>b的值為TRUEa<b的值為FALSE(a=b)OR(’a’<’b’)的值為TRUEabandornot00001010101001011110習(xí)題1.當(dāng)a=TURE、b=FALSE、c=FALSE時(shí),下列布爾表達(dá)式的值是什么?(1)NOTaANDbORc(2)NOT(aANDb)ORc(3)NOTaAND(bORc)(4)6DIV4=5MOD4

FTFT2。P41:分析例4-12第五課

布爾表達(dá)式、IF語句三、布爾型數(shù)據(jù)的輸入和輸出

將一個(gè)布爾表達(dá)式賦值給一個(gè)布爾變量時(shí),可以用賦值語句。不能用read或readln語句從外部設(shè)備向計(jì)算機(jī)輸入一個(gè)布爾變量的值。例如,定義a為布爾變量,read(a)是一條錯誤的語句,賦值語句a:=(3>=4)or(7<8)是符合語法的。

輸出一個(gè)布爾型數(shù)據(jù)可用write或writeln。例如當(dāng)a的值為TRUE時(shí),執(zhí)行語句writeln(’a=’,a),則輸出結(jié)果是:

a=TRUE

例如執(zhí)行語句writeln(3+4<5),則輸出結(jié)果是:

FALSE。第五課

布爾表達(dá)式、IF語句第二節(jié)if語句

if語句由一個(gè)布爾表達(dá)式和兩個(gè)供選擇的語句組成。運(yùn)行時(shí)根據(jù)布爾表達(dá)式求值的結(jié)果,選取其中之一的語句執(zhí)行。有兩種形式的if語句:

①if<布爾表達(dá)式>then<語句1>

if<布爾表達(dá)式>then<語句1>

else<語句2>當(dāng)布爾表達(dá)式的值為真,則執(zhí)行then后面的語句。值為假時(shí)有兩種情況:要么什么也不做,要么執(zhí)行else后面的語句。注意else前面沒有分號,因?yàn)榉痔柺莾蓚€(gè)語句間的分隔符號,而else并非語句。如果在該處畫蛇添足加了分號,則編譯時(shí)就會認(rèn)為if語句到此結(jié)束,而把else當(dāng)作另一語句的開頭,輸出語法錯誤的信息。第五課

布爾表達(dá)式、IF語句語句1FALSETRUE布爾表達(dá)式布爾表達(dá)式語句1語句2TRUEFALSE第五課

布爾表達(dá)式、IF語句例4-1輸出兩個(gè)整數(shù)中的較小數(shù)。

programexample4_1_1;varx,y:integer;beginreadln(x,y);ifx<ythenwriteln(x)elsewriteln(y)end.

本例也可以用兩條if語句來實(shí)現(xiàn),程序如下。

programexample4_1_2;varx,y:integer;beginreadln(x,y);ifx<ythenwriteln(x);ify<=xthenwriteln(y)end.第五課

布爾表達(dá)式、IF語句例4-2輸入一個(gè)年號(year),判斷它是不是閏年。

判斷某年是否閏年的條件是被4整除而不能被100整除,或者能被400整除。因此當(dāng)布爾表達(dá)式((yearMOD4=0)AND(yearMOD100<>0))OR(yearMOD400=0)的值等于TRUE時(shí),這一年就是閏年。

programexample4_2;varyear:integer;beginwrite('Enteryear:');readln(year);if((yearMOD4=0)AND(yearMOD100<>0))OR(yearMOD400=0)thenwriteln(year:6,'isaleapyear.')elsewriteln(year:6,'isnotaleapyear.');

readln;end.第五課

布爾表達(dá)式、IF語句

例4-3讀入一個(gè)小寫字母。如果這個(gè)字母在字母表的前半部,則輸出其后繼字母;否則輸出其前趨字母。

var

letter:char;beginreadln(letter);ifletter<=’m’

thenwriteln(Succ(letter))elsewriteln(Pred(letter));

readln;end.

第五課

布爾表達(dá)式、IF語句

1/(x-2)(x≠2)

例4-4求y=x(x=2)

programexample4_4;vary,x:real;beginwriteln('Inputx:');readln(x);ifx=2theny:=xelsey:=1/(x-2);writeln('y=',y);readln;end.同時(shí)參考P424-14P444-16第五課

布爾表達(dá)式、IF語句

vary,x,a:real;beginwriteln('Inputaandx:');readln(a,x);ifx<atheny:=a;ifx=atheny:=1;ifx>atheny:=x;writeln('y=',y)end.

程序運(yùn)行結(jié)果如下:

Inputaandx:14(從鍵盤輸入a=1,x=4)y=4.0000000000E+00

例4-5求y=1(x=a)x(x>a)

a(x<a)

第五課

布爾表達(dá)式、IF語句在Pascal條件語句格式中,語句1和語句2只能是一條語句。當(dāng)條件選擇某個(gè)分支的計(jì)算要用多個(gè)語句描述時(shí),就得把該分支用begin和end括起來,寫成復(fù)合語句。另外,實(shí)際書寫多重if語句連續(xù)嵌套時(shí),插入適量的復(fù)合語句,可以更清晰地表示if語句的內(nèi)部結(jié)構(gòu)。下面的if語句由于使用嵌套結(jié)構(gòu),增加了閱讀理解本語句的難度。

ife1thenife2thens1elses2

在此if語句中,else對應(yīng)著哪一個(gè)if?Pascal語法規(guī)定else總是與最近的一個(gè)if配對。根據(jù)Pascal語法,可以使用復(fù)合語句來表示以上嵌套結(jié)構(gòu),實(shí)現(xiàn)相同的功能,同時(shí),使得本語句表達(dá)的意思變得較易理解。

ife1thenbeginife2thens1elses2end第五課

布爾表達(dá)式、IF語句如果使用復(fù)合語句,例4-5也可以用以下方法求解。

programexample4_5_2;vary,x,a:real;beginwriteln('Inputaandx:');readln(a,x);ifx<atheny:=aelsebeginifx=atheny:=1elsey:=xend;writeln('y=',y)end.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論