分支結(jié)構(gòu)程序設(shè)計(jì)課件_第1頁
分支結(jié)構(gòu)程序設(shè)計(jì)課件_第2頁
分支結(jié)構(gòu)程序設(shè)計(jì)課件_第3頁
分支結(jié)構(gòu)程序設(shè)計(jì)課件_第4頁
分支結(jié)構(gòu)程序設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

分支結(jié)構(gòu)程序設(shè)計(jì)信息學(xué)奧林匹克培訓(xùn)講座(三)分支結(jié)構(gòu)程序設(shè)計(jì)信息學(xué)奧林匹克培訓(xùn)講座(三)1復(fù)習(xí)+預(yù)習(xí)1、復(fù)習(xí)P1~P662、復(fù)習(xí)基本知識(shí):程序與指令、計(jì)算機(jī)發(fā)展史、語言發(fā)展史、進(jìn)制轉(zhuǎn)換等。3、熟讀資料“計(jì)算機(jī)基礎(chǔ)知識(shí)”。4、預(yù)習(xí)67~88復(fù)習(xí)+預(yù)習(xí)1、復(fù)習(xí)P1~P662PASCAL基礎(chǔ)知識(shí)——布爾量和布爾表達(dá)式邏輯值(布爾值)只有兩個(gè):True(真)和False(假)由關(guān)系運(yùn)算符將兩個(gè)式子聯(lián)系起來的式子,叫關(guān)系表達(dá)式,每個(gè)關(guān)系表達(dá)式的值都是一個(gè)布爾值。關(guān)系運(yùn)算符:>、<、>=、<=、<>

例:當(dāng)X=5時(shí),x>=false的值是True

‘a(chǎn)’>’b’的值是FalsePASCAL基礎(chǔ)知識(shí)——布爾量和布爾表達(dá)式邏輯值(布爾值)只3由布爾運(yùn)算符聯(lián)系起來的式子叫布爾表達(dá)式。

布爾運(yùn)算符:not(否)and(與)or(或)xor(異或)布爾運(yùn)算的結(jié)果:邏輯運(yùn)算式中運(yùn)算順序是:

()函數(shù)not*、/、div、mod、and+、-、or、xor>、<、>=、<=、<>ABNOTANOTBAANDBAORBAXORBfalsefalsetruetruefalsefalsefalsefalsetruetruefalsefalsetruetruetruefalsefalsetruefalsetruetruetruetruefalsefalsetruetruefalse練習(xí)由布爾運(yùn)算符聯(lián)系起來的式子叫布爾表達(dá)式。

布爾運(yùn)算符:not4課堂練習(xí):例1:求下列式子的邏輯值:(1)5+9<11(2)9*6>3*8(3)4*5div2=10例2:若a=True,b=False,x=7,y=12,m=3,n=35,求下列布爾表達(dá)式的值。aandnot(m>n)and(x<y-n)or(axorb)①false②-23③false④true⑤true⑥true⑦false⑧truefalsetruetrue練習(xí):求下列表達(dá)式的邏輯值:(1)3+68<=90

(2)(4<3)and(7>9)or(100/2=50)(3)Not(-5>-3)(4)當(dāng)a=5,b=6,c=10時(shí),計(jì)算下列各題:

①(a+b=c)and(c-b<a)or(a+c<b)

②not(a+b-c<0)and(c>b)falsetruetruetruetrue課堂練習(xí):例1:求下列式子的邏輯值:①false②-23③f5例4-1:某人買了若干袋(1袋為0.5千克)白糖,每袋3.2元,計(jì)算應(yīng)付多少錢?programex4_1;varx:integer;m:real;

beginwrite(‘x=‘);readln(x);m:=x*3.2;writeln(‘m=‘,m:0:2)End.例4-2:如果某人去批發(fā)白糖,買50袋(1袋為0.5千克)以下,每袋3.2元,50袋以上,每袋少收0.7元,批發(fā)若干袋,應(yīng)付多少錢?programex4_2;varx:integer;m:real;

beginwrite(‘x=‘);readln(x);

ifx>=50thenm:=x*2.5elsem:=x*3.2;writeln(‘m=‘,m:0:2)End.例4-1:某人買了若干袋(1袋為0.5千克)白糖,每袋3.26四、分支結(jié)構(gòu)程序(一)If語句

格式:if<布爾表達(dá)式>then語句1else語句2(二)Case語句

格式:case<條件式>of

常量1:語句1;

常量2:語句2;

else語句N

end四、分支結(jié)構(gòu)程序(一)If語句

格式:if<布爾表達(dá)式>7(一)if語句1、格式:if<布爾表達(dá)式>then語句1else語句2含義:布爾表達(dá)式的值是true時(shí),執(zhí)行then后面的語句,布爾表達(dá)式的值是false時(shí),執(zhí)行else后面的語句。2、if語句可以沒有else,即布爾表達(dá)式值是false執(zhí)行下一語句。3、語句1和語句2都可以是復(fù)合語句。練習(xí)練習(xí)練習(xí)(一)if語句1、格式:if<布爾表達(dá)式>then語句8復(fù)合語句多個(gè)語句由begin……end串在一起稱為一句復(fù)合語句。

例:begin

c:=a;

a:=b;

b:=cend上例就是一個(gè)把a(bǔ),b兩個(gè)變量值互換的復(fù)合語句。復(fù)合語句多個(gè)語句由begin……end串在一起稱為一句復(fù)合語9課堂練習(xí)二:例4-3:輸入一個(gè)數(shù),如果是正數(shù)就打印“yes”,否則就打印“no”。Programex4_3;Varx:integer;beginWrite(‘x=’);Readln(x);Ifx>=0

thenwriteln(‘yes’)

elseWriteln(‘no’)End.例4-4:輸入三角形的三個(gè)角的度數(shù),若它們的度數(shù)等于180度,則三角形成立,否則不成立。Programex4_4;VarA,B,C:integer;beginWrite(‘A,B,C=’);Readln(A,B,C);IfA+B+C=180

thenwriteln(‘yes’)

elseWriteln(‘no’)End.課堂練習(xí)二:例4-3:輸入一個(gè)數(shù),如果是正數(shù)就打印“yes”10練習(xí):根據(jù)下式,編程寫出輸入X的值后,輸出Y的值。0(x<0)

2x(x≥0)Y=Programlx4_1;Varx,y:integer;beginWrite(‘x=’);Readln(x);Ifx>=0theny:=2*xelsex:=0;End.Writeln(‘y=’,y)練習(xí):根據(jù)下式,編程寫出輸入X的值后,輸出Y的值。0(11例4-5:輸入一個(gè)數(shù),如果是正數(shù)則打印這個(gè)數(shù)。Programex4_5;Varx:integer;beginWrite(‘x=’);Readln(x);Ifx>=0thenwriteln(x)End.練習(xí):輸入三角形的三個(gè)角的度數(shù),若它們的度數(shù)等于180度,則輸出三角形的三個(gè)角。Programlx4_2;VarA,B,C:integer;beginWrite(‘A,B,C=’);Readln(A,B,C);IfA+B+C=180thenwriteln(‘A=‘,A,’B=‘,B,’C=‘,C)End.例4-5:輸入一個(gè)數(shù),如果是正數(shù)則打印這個(gè)數(shù)。Program12練習(xí):輸入A,B二個(gè)數(shù),編程把小數(shù)放在A中,把大數(shù)放在B中。Programlx4_3;VarA,B,C:integer;beginWrite(‘A,B=’);Readln(A,B);IfA>BthenbeginC:=A;A:=B;B:=Cend;End.分析:A,BWrite(‘A=’A,‘B=’,B);IfA>BthenA,B的值互換練習(xí):輸入A,B二個(gè)數(shù),編程把小數(shù)放在A中,把大數(shù)放在B中。13上機(jī)編程:1、輸入10個(gè)數(shù),統(tǒng)計(jì)有多少正數(shù)?多少負(fù)數(shù)?2、小光去買本,若買10本以下每本0.6元,超過10本,超過的部分可以每本減少0.1元,小光買若干個(gè)本子,預(yù)計(jì)要向媽媽要多少錢?5、媽媽給玲玲的零花錢夠5元,她中午可以買一個(gè)“可愛多”,如果夠2元,則只能買“薄荷夾心”,媽媽每次給玲玲的錢到不了10元,她可以買到什么?(考慮多種情況)上機(jī)編程:1、輸入10個(gè)數(shù),統(tǒng)計(jì)有多少正數(shù)?多少負(fù)數(shù)?14If語句的嵌套使用1、If語句中的語句1和語句2原則上說可以是任何語句,當(dāng)然也可以是條件語句,當(dāng)語句1或語句2是條件語句是稱為條件語句嵌套。2、嵌套情況可以分成兩種,一是語句1包含IF語句,二是語句2包含IF語句。3、當(dāng)出現(xiàn)IF語句嵌套時(shí),ELSE跟它最近的IF語句配套。If語句的嵌套使用1、If語句中的語句1和語句2原則上說可以15課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值。0(x<0)2x(0≤x<10)2x+1(10≤x<50)x/2+50(50≤x)Y=Programlx4_4;Varx,y:real;beginWrite(‘x=’);Readln(x);Ifx<0theny:=0elseEnd.Writeln(‘y=’,y:0:0)Ifx<10theny:=2*xelseIfx<50theny:=2*x+1elsey:=x/2+50課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值16課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值。0(x<0)2x(0≤x<10)2x+1(10≤x<50)x/2+50(50≤x)Y=Programlx4_5;Varx,y:real;beginWrite(‘x=’);Readln(x);Ifx<50thenelsey:=x/2+50

End.Writeln(‘y=’,y:0:0)Ifx<10thenelsey:=x*2+1

Ifx<0theny:=0elsey:=x*2

課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值172、雞兔同籠問題。已知雞和兔的總數(shù)量,雞腿和兔腿的總數(shù)量,求雞和兔各多少只?Programlx4_6;Vars,st,j,t:integer;beginWrite(‘s,st=’);Readln(s,st);j:=(4*s-st)/2;T:=s-j;

End.Ifj-trunc(j)<0.0001thenbegin

writeln(‘ji=‘,j);

writeln(‘tu=‘,t);Endelsewriteln(‘noanwser’);

2、雞兔同籠問題。已知雞和兔的總數(shù)量,雞腿和兔腿的總數(shù)量,求183、從鍵盤讀入三個(gè)數(shù),按由大到小的順序把它們打印出來。Programlx4_4;Vara,b,c,x:integer;BeginWrite(‘a(chǎn),b,c=‘);Readln(a,b,c);Ifa<bandb<cthenwriteln(c:5,b:5,a:5);

Ifa<candc<bthenwriteln(b:5,c:5,a:5);……End.3、從鍵盤讀入三個(gè)數(shù),按由大到小的順序把它們打印出來。Pro191、輸入三角形的三個(gè)角的邊a,b,c,判斷是否為三角形。2、輸入三角形的三個(gè)角的度數(shù)A,B,C,判斷三角形是否為直角三角形。3、設(shè)VAL是一個(gè)整型變量,希望其值介于1與31之間,用IF語句嵌套,使實(shí)現(xiàn),若VAL的值越界,即VAL<1或VAL>31,則輸出相應(yīng)的文字信息。1、輸入三角形的三個(gè)角的邊a,b,c,判斷是否為三角形。2、20(二)Case語句(分情況語句)1、格式:case<條件式>of

常量1:語句1;

常量2:語句2;

else語句N

end表示當(dāng)條件式的值與OF后面的常量之一相等時(shí),則執(zhí)行該情況常量后的語句部分,然后轉(zhuǎn)到CASE語句的END,如果表達(dá)式的值不與任何常量相等,則執(zhí)行ELSE后的語句。2、ELSE可以沒有。3、表達(dá)式可以是整型、字符型和布爾型,但不能是實(shí)型。即只能是有序型。4、常量1可以是一個(gè)或多個(gè)值,中間用逗號(hào)隔開,也可以是一個(gè)取值范圍,例:用0..4表示0至4。(二)Case語句(分情況語句)1、格式:case<條件式>21例4-6:試編程寫一個(gè)根據(jù)用戶鍵入的兩上操作數(shù)和一個(gè)運(yùn)算符,由計(jì)算機(jī)輸出運(yùn)算結(jié)果的程序。Programex4_6;Vara,b,s:real;

ch1:char;beginWrite(‘Pleaseinputa,b=’);Readln(a,b);Casech1of‘+’:s:=a+b;‘-’:s:=a-b;

‘*’:s:=a*b;

‘/’:s:=a/b;

end;

End.Write(‘Pleaseinput(+,-.*,/)’);Readln(ch1);Write(a,ch1,b,’=’,s);例4-6:試編程寫一個(gè)根據(jù)用戶鍵入的兩上操作數(shù)和一個(gè)運(yùn)算符,22(二)、case語句的執(zhí)行過程

先計(jì)算表達(dá)式(稱為情況表達(dá)式)的值,如果它的值等于某一個(gè)常量(稱為情況常量,也稱情況標(biāo)號(hào)),則執(zhí)行該情況常量后面的語句,在執(zhí)行完語句后,跳到case語句的末尾end處。(三)、說明①情況表達(dá)式必須是順序類型的;

②情況常量是情況表達(dá)式可能具有的值,因而應(yīng)與情況表達(dá)式具有相同的類型;

③情況常量出現(xiàn)的次序可以是任意的;

④同一情況常量不能在同一個(gè)case語句中出現(xiàn)兩次或兩次以上;

⑤每個(gè)分語句前可以有一個(gè)或若干個(gè)用逗號(hào)隔開的情況常量;

⑥如果情況表達(dá)式的值不落在情況常的范圍內(nèi),則認(rèn)為本case語句無效,執(zhí)行case語句的下一個(gè)語句。turbopascal中增加了一個(gè)"否則“的情況,即增加一個(gè)else子句,但也是可省的。

⑦每個(gè)常量后面只能是一個(gè)語句或一個(gè)復(fù)合語句。(二)、case語句的執(zhí)行過程

先計(jì)算表達(dá)式(稱為情況表23(三)分支結(jié)構(gòu)程序應(yīng)用1、從鍵盤上任意輸入一個(gè)正整數(shù)N,判斷它是奇數(shù)還是偶數(shù)。Programex4_7;Varn:integer;beginWrite(‘n=’);Readln(n);End.Ifnmod2<>0thenwriteln(n,‘isjishu.‘)

elsewriteln(n,’isoushu.’)(三)分支結(jié)構(gòu)程序應(yīng)用1、從鍵盤上任意輸入一個(gè)正整數(shù)N,判斷242、輸入一個(gè)年號(hào),判斷它是否為閏年。Programex4_8;Vary:integer;beginWrite(‘year=’);Readln(y);End.Ifymod400=0thenwriteln(‘yes’)elseif(ymod4=0)and(ymod100<>0)thenwriteln(‘Yes’)2、輸入一個(gè)年號(hào),判斷它是否為閏年。Programex4253、月收入T的所得稅稅率R如下:

編寫一程序,輸入某人的月收入,輸出所得稅稅率、應(yīng)繳所得稅款以及扣除所得稅后的實(shí)際收入。Programex4_9;Vart,r,m1,m2:real;beginWrite(‘Pleaseinputt=’);Readln(t);Casetdiv100of0..7:r:=0;8,9:r:=0.05;

10..14:r:=0.1;

15..29:r:=0.15;Elser:=0.2End;End.Write(‘shui=‘,m1,’shou=’,m2);TrT<80001000>t≥8005%1500>t≥100010%3000>t≥150015%t≥300020%M1:=r*t;

m2:=t-m1;3、月收入T的所得稅稅率R如下:

編寫一程序,輸入某人的月收26

1、某超市為了促銷,規(guī)定:購(gòu)物不足50元的按原價(jià)付款,超過50不足100的按九折付款,超過100元的,超過部分按八折付款。編一程序完成超市的自動(dòng)計(jì)費(fèi)的工作。

2、當(dāng)前小學(xué)生的成績(jī)單由以前的百分制改為優(yōu)秀、良好、合格、不合格四個(gè)等級(jí)的等級(jí)制。編一程序完成分?jǐn)?shù)的自動(dòng)轉(zhuǎn)換工作。轉(zhuǎn)換規(guī)則如下:60分以下的為不合格;60到69分為合格;70到89分為良好;90分以上的為優(yōu)秀。(提示:可以利用DIV運(yùn)算來使程序更簡(jiǎn)明)3,期未來臨了,班長(zhǎng)小Q決定將剩余班費(fèi)X元錢,用于購(gòu)買若干支鋼筆獎(jiǎng)勵(lì)給一些學(xué)習(xí)好、表現(xiàn)好的同學(xué)。已知商店里有三種鋼筆,它們的單價(jià)為6元、5元和4元。小Q想買盡量多的筆(鼓勵(lì)盡量多的同學(xué)),同時(shí)他又不想有剩余錢。請(qǐng)您編一程序,幫小Q制訂出一種買筆的方案。4.輸入兩個(gè)正整數(shù)a,b。b最大不超過三位數(shù),a不大于31。使a在左,b在右,拼接成一個(gè)新的數(shù)c。例如:a=2,b=16,則c=216;若a=18,b=476,則c=18476。

提示:求c的公式為:

c=a×K+b

1、某超市為了促銷,規(guī)定:購(gòu)物不足50元的按原價(jià)付款,超過275、輸入A,B,C三個(gè)數(shù),打印出最大者。6、從鍵盤讀入兩個(gè)數(shù),比較其大小,把大數(shù)置于X,小數(shù)置于Y。請(qǐng)?jiān)O(shè)計(jì)實(shí)現(xiàn)該功能的程序。7、某運(yùn)輸公司的運(yùn)費(fèi)標(biāo)準(zhǔn)如下:(1)當(dāng)運(yùn)輸距離s≥300公里時(shí):貨重w<2噸時(shí),按98%收費(fèi);2≤w<4噸時(shí),按96%收費(fèi);4≤w<6噸時(shí),按94%收費(fèi);w≥6時(shí),按92%收費(fèi)。(2)當(dāng)運(yùn)輸距離s<300公里時(shí):w<2噸時(shí),按100%收費(fèi);2≤w<4噸時(shí),按98%收費(fèi);4≤w<6噸時(shí),按96%收費(fèi);w≥6噸時(shí),按94%收費(fèi)。在寫程序前,設(shè)p為每公里運(yùn)費(fèi),cost為向用戶收取的費(fèi)用。5、輸入A,B,C三個(gè)數(shù),打印出最大者。288、函數(shù)的表達(dá)式如下:0(x<0)Y=x(0≤x<10)10(10≤x<20)-0.5X+20(20≤x<40)-2x+40(40≤x)編寫程序,當(dāng)輸入x后輸出y的值。分別用下列語句編寫。9、給出一個(gè)不多于三位的正整數(shù),求它是幾位數(shù),并分別打印出各位上的數(shù)字。10、編寫程序,輸入某人的生日日期,算出他的生日是星期幾。8、函數(shù)的表達(dá)式如下:29家庭作業(yè):1、兄弟三人歲數(shù)和是30,大哥的歲數(shù)減2,二歌的歲數(shù)加2,弟弟的歲數(shù)乘以2,結(jié)果三人的歲數(shù)相同,求三人的歲數(shù)各是多少?家庭作業(yè):1、兄弟三人歲數(shù)和是30,大哥的歲數(shù)減2,二歌的歲30分支結(jié)構(gòu)程序設(shè)計(jì)信息學(xué)奧林匹克培訓(xùn)講座(三)分支結(jié)構(gòu)程序設(shè)計(jì)信息學(xué)奧林匹克培訓(xùn)講座(三)31復(fù)習(xí)+預(yù)習(xí)1、復(fù)習(xí)P1~P662、復(fù)習(xí)基本知識(shí):程序與指令、計(jì)算機(jī)發(fā)展史、語言發(fā)展史、進(jìn)制轉(zhuǎn)換等。3、熟讀資料“計(jì)算機(jī)基礎(chǔ)知識(shí)”。4、預(yù)習(xí)67~88復(fù)習(xí)+預(yù)習(xí)1、復(fù)習(xí)P1~P6632PASCAL基礎(chǔ)知識(shí)——布爾量和布爾表達(dá)式邏輯值(布爾值)只有兩個(gè):True(真)和False(假)由關(guān)系運(yùn)算符將兩個(gè)式子聯(lián)系起來的式子,叫關(guān)系表達(dá)式,每個(gè)關(guān)系表達(dá)式的值都是一個(gè)布爾值。關(guān)系運(yùn)算符:>、<、>=、<=、<>

例:當(dāng)X=5時(shí),x>=false的值是True

‘a(chǎn)’>’b’的值是FalsePASCAL基礎(chǔ)知識(shí)——布爾量和布爾表達(dá)式邏輯值(布爾值)只33由布爾運(yùn)算符聯(lián)系起來的式子叫布爾表達(dá)式。

布爾運(yùn)算符:not(否)and(與)or(或)xor(異或)布爾運(yùn)算的結(jié)果:邏輯運(yùn)算式中運(yùn)算順序是:

()函數(shù)not*、/、div、mod、and+、-、or、xor>、<、>=、<=、<>ABNOTANOTBAANDBAORBAXORBfalsefalsetruetruefalsefalsefalsefalsetruetruefalsefalsetruetruetruefalsefalsetruefalsetruetruetruetruefalsefalsetruetruefalse練習(xí)由布爾運(yùn)算符聯(lián)系起來的式子叫布爾表達(dá)式。

布爾運(yùn)算符:not34課堂練習(xí):例1:求下列式子的邏輯值:(1)5+9<11(2)9*6>3*8(3)4*5div2=10例2:若a=True,b=False,x=7,y=12,m=3,n=35,求下列布爾表達(dá)式的值。aandnot(m>n)and(x<y-n)or(axorb)①false②-23③false④true⑤true⑥true⑦false⑧truefalsetruetrue練習(xí):求下列表達(dá)式的邏輯值:(1)3+68<=90

(2)(4<3)and(7>9)or(100/2=50)(3)Not(-5>-3)(4)當(dāng)a=5,b=6,c=10時(shí),計(jì)算下列各題:

①(a+b=c)and(c-b<a)or(a+c<b)

②not(a+b-c<0)and(c>b)falsetruetruetruetrue課堂練習(xí):例1:求下列式子的邏輯值:①false②-23③f35例4-1:某人買了若干袋(1袋為0.5千克)白糖,每袋3.2元,計(jì)算應(yīng)付多少錢?programex4_1;varx:integer;m:real;

beginwrite(‘x=‘);readln(x);m:=x*3.2;writeln(‘m=‘,m:0:2)End.例4-2:如果某人去批發(fā)白糖,買50袋(1袋為0.5千克)以下,每袋3.2元,50袋以上,每袋少收0.7元,批發(fā)若干袋,應(yīng)付多少錢?programex4_2;varx:integer;m:real;

beginwrite(‘x=‘);readln(x);

ifx>=50thenm:=x*2.5elsem:=x*3.2;writeln(‘m=‘,m:0:2)End.例4-1:某人買了若干袋(1袋為0.5千克)白糖,每袋3.236四、分支結(jié)構(gòu)程序(一)If語句

格式:if<布爾表達(dá)式>then語句1else語句2(二)Case語句

格式:case<條件式>of

常量1:語句1;

常量2:語句2;

else語句N

end四、分支結(jié)構(gòu)程序(一)If語句

格式:if<布爾表達(dá)式>37(一)if語句1、格式:if<布爾表達(dá)式>then語句1else語句2含義:布爾表達(dá)式的值是true時(shí),執(zhí)行then后面的語句,布爾表達(dá)式的值是false時(shí),執(zhí)行else后面的語句。2、if語句可以沒有else,即布爾表達(dá)式值是false執(zhí)行下一語句。3、語句1和語句2都可以是復(fù)合語句。練習(xí)練習(xí)練習(xí)(一)if語句1、格式:if<布爾表達(dá)式>then語句38復(fù)合語句多個(gè)語句由begin……end串在一起稱為一句復(fù)合語句。

例:begin

c:=a;

a:=b;

b:=cend上例就是一個(gè)把a(bǔ),b兩個(gè)變量值互換的復(fù)合語句。復(fù)合語句多個(gè)語句由begin……end串在一起稱為一句復(fù)合語39課堂練習(xí)二:例4-3:輸入一個(gè)數(shù),如果是正數(shù)就打印“yes”,否則就打印“no”。Programex4_3;Varx:integer;beginWrite(‘x=’);Readln(x);Ifx>=0

thenwriteln(‘yes’)

elseWriteln(‘no’)End.例4-4:輸入三角形的三個(gè)角的度數(shù),若它們的度數(shù)等于180度,則三角形成立,否則不成立。Programex4_4;VarA,B,C:integer;beginWrite(‘A,B,C=’);Readln(A,B,C);IfA+B+C=180

thenwriteln(‘yes’)

elseWriteln(‘no’)End.課堂練習(xí)二:例4-3:輸入一個(gè)數(shù),如果是正數(shù)就打印“yes”40練習(xí):根據(jù)下式,編程寫出輸入X的值后,輸出Y的值。0(x<0)

2x(x≥0)Y=Programlx4_1;Varx,y:integer;beginWrite(‘x=’);Readln(x);Ifx>=0theny:=2*xelsex:=0;End.Writeln(‘y=’,y)練習(xí):根據(jù)下式,編程寫出輸入X的值后,輸出Y的值。0(41例4-5:輸入一個(gè)數(shù),如果是正數(shù)則打印這個(gè)數(shù)。Programex4_5;Varx:integer;beginWrite(‘x=’);Readln(x);Ifx>=0thenwriteln(x)End.練習(xí):輸入三角形的三個(gè)角的度數(shù),若它們的度數(shù)等于180度,則輸出三角形的三個(gè)角。Programlx4_2;VarA,B,C:integer;beginWrite(‘A,B,C=’);Readln(A,B,C);IfA+B+C=180thenwriteln(‘A=‘,A,’B=‘,B,’C=‘,C)End.例4-5:輸入一個(gè)數(shù),如果是正數(shù)則打印這個(gè)數(shù)。Program42練習(xí):輸入A,B二個(gè)數(shù),編程把小數(shù)放在A中,把大數(shù)放在B中。Programlx4_3;VarA,B,C:integer;beginWrite(‘A,B=’);Readln(A,B);IfA>BthenbeginC:=A;A:=B;B:=Cend;End.分析:A,BWrite(‘A=’A,‘B=’,B);IfA>BthenA,B的值互換練習(xí):輸入A,B二個(gè)數(shù),編程把小數(shù)放在A中,把大數(shù)放在B中。43上機(jī)編程:1、輸入10個(gè)數(shù),統(tǒng)計(jì)有多少正數(shù)?多少負(fù)數(shù)?2、小光去買本,若買10本以下每本0.6元,超過10本,超過的部分可以每本減少0.1元,小光買若干個(gè)本子,預(yù)計(jì)要向媽媽要多少錢?5、媽媽給玲玲的零花錢夠5元,她中午可以買一個(gè)“可愛多”,如果夠2元,則只能買“薄荷夾心”,媽媽每次給玲玲的錢到不了10元,她可以買到什么?(考慮多種情況)上機(jī)編程:1、輸入10個(gè)數(shù),統(tǒng)計(jì)有多少正數(shù)?多少負(fù)數(shù)?44If語句的嵌套使用1、If語句中的語句1和語句2原則上說可以是任何語句,當(dāng)然也可以是條件語句,當(dāng)語句1或語句2是條件語句是稱為條件語句嵌套。2、嵌套情況可以分成兩種,一是語句1包含IF語句,二是語句2包含IF語句。3、當(dāng)出現(xiàn)IF語句嵌套時(shí),ELSE跟它最近的IF語句配套。If語句的嵌套使用1、If語句中的語句1和語句2原則上說可以45課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值。0(x<0)2x(0≤x<10)2x+1(10≤x<50)x/2+50(50≤x)Y=Programlx4_4;Varx,y:real;beginWrite(‘x=’);Readln(x);Ifx<0theny:=0elseEnd.Writeln(‘y=’,y:0:0)Ifx<10theny:=2*xelseIfx<50theny:=2*x+1elsey:=x/2+50課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值46課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值。0(x<0)2x(0≤x<10)2x+1(10≤x<50)x/2+50(50≤x)Y=Programlx4_5;Varx,y:real;beginWrite(‘x=’);Readln(x);Ifx<50thenelsey:=x/2+50

End.Writeln(‘y=’,y:0:0)Ifx<10thenelsey:=x*2+1

Ifx<0theny:=0elsey:=x*2

課堂練習(xí)五:1、函數(shù)Y如右:編寫程序,當(dāng)輸入X后,輸出Y的值472、雞兔同籠問題。已知雞和兔的總數(shù)量,雞腿和兔腿的總數(shù)量,求雞和兔各多少只?Programlx4_6;Vars,st,j,t:integer;beginWrite(‘s,st=’);Readln(s,st);j:=(4*s-st)/2;T:=s-j;

End.Ifj-trunc(j)<0.0001thenbegin

writeln(‘ji=‘,j);

writeln(‘tu=‘,t);Endelsewriteln(‘noanwser’);

2、雞兔同籠問題。已知雞和兔的總數(shù)量,雞腿和兔腿的總數(shù)量,求483、從鍵盤讀入三個(gè)數(shù),按由大到小的順序把它們打印出來。Programlx4_4;Vara,b,c,x:integer;BeginWrite(‘a(chǎn),b,c=‘);Readln(a,b,c);Ifa<bandb<cthenwriteln(c:5,b:5,a:5);

Ifa<candc<bthenwriteln(b:5,c:5,a:5);……End.3、從鍵盤讀入三個(gè)數(shù),按由大到小的順序把它們打印出來。Pro491、輸入三角形的三個(gè)角的邊a,b,c,判斷是否為三角形。2、輸入三角形的三個(gè)角的度數(shù)A,B,C,判斷三角形是否為直角三角形。3、設(shè)VAL是一個(gè)整型變量,希望其值介于1與31之間,用IF語句嵌套,使實(shí)現(xiàn),若VAL的值越界,即VAL<1或VAL>31,則輸出相應(yīng)的文字信息。1、輸入三角形的三個(gè)角的邊a,b,c,判斷是否為三角形。2、50(二)Case語句(分情況語句)1、格式:case<條件式>of

常量1:語句1;

常量2:語句2;

else語句N

end表示當(dāng)條件式的值與OF后面的常量之一相等時(shí),則執(zhí)行該情況常量后的語句部分,然后轉(zhuǎn)到CASE語句的END,如果表達(dá)式的值不與任何常量相等,則執(zhí)行ELSE后的語句。2、ELSE可以沒有。3、表達(dá)式可以是整型、字符型和布爾型,但不能是實(shí)型。即只能是有序型。4、常量1可以是一個(gè)或多個(gè)值,中間用逗號(hào)隔開,也可以是一個(gè)取值范圍,例:用0..4表示0至4。(二)Case語句(分情況語句)1、格式:case<條件式>51例4-6:試編程寫一個(gè)根據(jù)用戶鍵入的兩上操作數(shù)和一個(gè)運(yùn)算符,由計(jì)算機(jī)輸出運(yùn)算結(jié)果的程序。Programex4_6;Vara,b,s:real;

ch1:char;beginWrite(‘Pleaseinputa,b=’);Readln(a,b);Casech1of‘+’:s:=a+b;‘-’:s:=a-b;

‘*’:s:=a*b;

‘/’:s:=a/b;

end;

End.Write(‘Pleaseinput(+,-.*,/)’);Readln(ch1);Write(a,ch1,b,’=’,s);例4-6:試編程寫一個(gè)根據(jù)用戶鍵入的兩上操作數(shù)和一個(gè)運(yùn)算符,52(二)、case語句的執(zhí)行過程

先計(jì)算表達(dá)式(稱為情況表達(dá)式)的值,如果它的值等于某一個(gè)常量(稱為情況常量,也稱情況標(biāo)號(hào)),則執(zhí)行該情況常量后面的語句,在執(zhí)行完語句后,跳到case語句的末尾end處。(三)、說明①情況表達(dá)式必須是順序類型的;

②情況常量是情況表達(dá)式可能具有的值,因而應(yīng)與情況表達(dá)式具有相同的類型;

③情況常量出現(xiàn)的次序可以是任意的;

④同一情況常量不能在同一個(gè)case語句中出現(xiàn)兩次或兩次以上;

⑤每個(gè)分語句前可以有一個(gè)或若干個(gè)用逗號(hào)隔開的情況常量;

⑥如果情況表達(dá)式的值不落在情況常的范圍內(nèi),則認(rèn)為本case語句無效,執(zhí)行case語句的下一個(gè)語句。turbopascal中增加了一個(gè)"否則“的情況,即增加一個(gè)else子句,但也是可省的。

⑦每個(gè)常量后面只能是一個(gè)語句或一個(gè)復(fù)合語句。(二)、case語句的執(zhí)行過程

先計(jì)算表達(dá)式(稱為情況表53(三)分支結(jié)構(gòu)程序應(yīng)用1、從鍵盤上任意輸入一個(gè)正整數(shù)N,判斷它是奇數(shù)還是偶數(shù)。Programex4_7;Varn:integer;beginWrite(‘n=’);Readln(n);End.Ifnmod2<>0thenwriteln(n,‘isjishu.‘)

elsewriteln(n,’isoushu.’)(三)分支結(jié)構(gòu)程序應(yīng)用1、從鍵盤上任意輸入一個(gè)正整數(shù)N,判斷542、輸入一個(gè)年號(hào),判斷它是否為閏年。Programex4_8;Vary:integer;beginWrite(‘year=’);Readln(y);

溫馨提示

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

評(píng)論

0/150

提交評(píng)論