基本程序設(shè)計語句課件_第1頁
基本程序設(shè)計語句課件_第2頁
基本程序設(shè)計語句課件_第3頁
基本程序設(shè)計語句課件_第4頁
基本程序設(shè)計語句課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章基本程序設(shè)計語句本章要點:

理解順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)程序設(shè)計的思想

理解雙分支語句和多分支語句的含義

掌握利用雙分支語句和多分支語句設(shè)計分支程序的方法

理解循環(huán)的概念

掌握循環(huán)程序設(shè)計的方法以及常用的算法,如累加求和、窮舉法等 3.1循序漸進學(xué)理論3.1.1基本的順序結(jié)構(gòu)語句及其應(yīng)用

順序結(jié)構(gòu)是程序設(shè)計中最常用也是最簡單的程序結(jié)構(gòu)。所謂順序結(jié)構(gòu)就是其中的語句是按照先后順序依次執(zhí)行,程序執(zhí)行的流程不會發(fā)生跳轉(zhuǎn)。

3.1.2選擇結(jié)構(gòu)語句及其基本應(yīng)用1.分支結(jié)構(gòu)

IF語句常用來實現(xiàn)單分支或雙分支,它的語法格式有兩種,分別如下。

[格式1]:IF(條件)Then

語句1;[格式2]:IF(條件)Then

語句1Else//Else之前(語句1之后)沒有分號語句2;

2.多分支Case語句

[格式]:Case(表達式)of

值1:語句1;

值2:語句2;

值n:語句n;Else//這里的Else之前可以有分號

語句n+1;end;注意:(1)“表達式”的值必須是順序類型,即整型、字符型、布爾型、子界型和枚舉型。(2)“值1”到“值n”應(yīng)該是“表達式”可能出現(xiàn)的值,它們還應(yīng)該各不相同。(3)語句可以是簡單語句,也可以是復(fù)合語句。(4)Else語句可以省略,省略時如果“表達式”的值與“值1”~“值n”中的任何一個值均不相等,則不執(zhí)行任何分支,直接跳轉(zhuǎn)到end;后面的語句執(zhí)行。(5)Case語句可以用IF語句來實現(xiàn),但IF語句不一定能用Case語句實現(xiàn)。3.1.3循環(huán)結(jié)構(gòu)語句及其基本應(yīng)用

1.While語句

[格式]:While(循環(huán)條件)do//循環(huán)條件為關(guān)系或邏輯表達式,其值為True或False

循環(huán)體;//“循環(huán)體”可以是簡單語句或復(fù)合語句注意:(1)可以在循環(huán)體的任何位置放置Break語句,用來強制終止整個循環(huán)。(2)也可以在循環(huán)體的任何位置放置Continue語句,在該次循環(huán)執(zhí)行完之前就結(jié)束本次循環(huán),重新判斷循環(huán)條件,根據(jù)循環(huán)條件的值,決定是否繼續(xù)執(zhí)行循環(huán)。顯然,Continue語句和Break語句含義是不同的。(3)Break語句和Continue語句通常放置在循環(huán)體中的IF語句之后,即在滿足某個條件的時候,結(jié)束循環(huán)或結(jié)束本次循環(huán)。(4)注意循環(huán)條件,它決定了是否執(zhí)行循環(huán)以及執(zhí)行多少次循環(huán)。3.For語句

[格式]:For循環(huán)變量:=初值To(DownTo)

終值Do

循環(huán)體;注意:(1)“循環(huán)變量”只能是順序類型(一共5種類型,請查閱前面章節(jié))。(2)格式中的“初值”和“終值”就是循環(huán)變量的“初值”和“終值”。(3)對遞增循環(huán),每循環(huán)一次,循環(huán)變量的值自動增加1;對遞減循環(huán),每循環(huán)一次,循環(huán)變量自動減少1。(4)循環(huán)體可以是簡單語句也可以是復(fù)合語句,若為復(fù)合語句,需要用begin…end括起來。(5)在循環(huán)體中可以使用Continue和Break語句,它們也通常位于IF語句之后。

圖3-1大小寫轉(zhuǎn)換程序3.2典型實例一:順序結(jié)構(gòu)實現(xiàn)下述功能【例3-1】大小寫轉(zhuǎn)換程序。

實例二:分支結(jié)構(gòu)實現(xiàn)下列算法【例3-2】判斷是否構(gòu)成三角形。并計算其面積procedureTForm1.Button1Click(Sender:TObject);vara,b,c,s,area:Single;begina:=strtofloat(edit1.Text);b:=strtofloat(edit2.Text);c:=strtofloat(edit3.Text);s:=(a+b+c)/2;If(s>0)And(s-a>0)And(s-b>0)And(s-c>0)Thenbeginarea:=Sqrt(s*(s-a)*(s-b)*(s-c));Label1.Caption:='能構(gòu)成三角形的三邊,該三角形的面積為:'+floattoStr(area);endElseLabel1.Caption:='不能構(gòu)成三角形的三邊。';end;【例3-3】

用分支語句實現(xiàn)下屬功能,輸入年月,輸出天數(shù)和季節(jié);程序設(shè)計界面和程序運行界面如圖所示。典型實例三:分支結(jié)構(gòu)實現(xiàn)下列算法

【例3-4】

用循環(huán)語句實現(xiàn)下述功能,程序設(shè)計界面和程序運行界面仍然如圖典型實例四:循環(huán)結(jié)構(gòu)實現(xiàn)下列算法

procedureTForm1.Button1Click(Sender:TObject);varn,k,j:integer;s:int64;beginn:=strtoint(Edit1.Text);j:=0;s:=0;Fork:=1Tondobeginj:=j+k;s:=s+j;end;Panel2.Caption:=format('s=%d',[s]);Edit1.SetFocus;end;【例3-5】百錢百雞問題。公元前五世紀(jì),我國古代數(shù)學(xué)家張丘建在《算經(jīng)》一書中提出了“百雞問題”:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、母、雛各幾何?分析:這是一個有名的不定方程問題。設(shè)雞翁數(shù)為x,雞母數(shù)為y,雞雛數(shù)為z,則可列方程如下:

對于上述不定方程問題,要先確定一個變量的值,才能對它求解。由問題給出的條件,很容易得到三個變量的取值范圍。x:0~19中的整數(shù)(因為每只雞翁5錢,因此它不可能超過19只);y:0~33中的整數(shù)(因為每只雞母3錢,因此它不可能超過33只);z:0~100中的整數(shù)(因為共買百雞,因此它不可能超過100只)。

典型實例五:procedureTForm1.Button1Click(Sender:TObject);varx,y,z:integer;p:string;beginforx:=0to19do fory:=0to33do begin z:=100-x-y; if5*x+3*y+z/3=100then beginp:=format('得到一個解:雞翁%d只,雞母%d只,雞雛%d只',[x,y,z]);showmessage(p);//將得到的一個解用消息窗口的方式進行輸出 end;end;end;【練習(xí)題目1】在編輯框中任意輸入商品的數(shù)量和價格,計算出他們的總價格,并顯示出來。程序設(shè)計界面如圖所示,程序運行界面如圖所示。請編程實現(xiàn)上面的功能。3.3上機練習(xí)重應(yīng)用procedureTForm1.Button1Click(Sender:TObject);vara1,b1,c1:Single;a2,b2,c2:Integer;x:Single;begina1:=strtofloat(Edit1.Text);a2:=strtoint(Edit2.Text);b1:=strtofloat(Edit3.Text);b2:=strtoint(Edit4.Text);c1:=strtofloat(Edit5.Text);c2:=strtoint(Edit6.Text);x:=a1*a2+b1*b2+c1*c2;Label6.Caption:='總計金額:'+floattostr(x);end;【練習(xí)題目3】節(jié)日來臨,商家為促銷搞優(yōu)惠活動,具體優(yōu)惠辦法如下:(1)一次性購物金額少于100元的,不優(yōu)惠;(2)一次性購物金額大于等于100元但少于300元的,優(yōu)惠5%;(3)一次性購物金額大于等于300元但少于500元的,優(yōu)惠10%;(4)一次性購物金額大于等于500元但少于1000元的,優(yōu)惠15%;(5)一次性購物金額大于等于1000元的,優(yōu)惠20%。請編寫程序?qū)崿F(xiàn)上面的功能,當(dāng)輸入購物金額時,單擊【付款】按鈕,計算實際支付的金額。程序設(shè)計界面如圖3-12所示,程序運行界面如圖3-13所示。

圖3-12程序設(shè)計界面

圖3-13程序運行界面

代碼提示:procedureTForm1.Button1Click(Sender:TObject);varNumber,I:integer;//Number用于給字符'@'計數(shù)TempStr:String;beginTempStr:=edit1.Text;Number:=0;if(TempStr='')thenShowMessage('您輸入的電子郵件地址格式不合法!')elseforI:=1toLength(TempStr)dobeginif(TempStr[I]='@')thenINC(Number);end;if((Number=0)or(Number>1))then//如果不含有字符'@',或者其個數(shù)大于1,則不合法ShowMessage('您輸入的電子郵件地址格式不合法!')elsebeginif((TempStr[1]='@')or(TempStr[length(TempStr)]='@'))then//如果字符'@'的位置在字符串開頭或者末尾,則不合法ShowMessage('您輸入的電子郵件地址格式不合法!')elsebeginI:=pos('@',TempStr);//獲取字符'@'在字符串當(dāng)中的位置delete(TempStr,1,I);//獲取字符串中字符'@'后面的剩余子串if(Length(TempStr)<3)then//如果剩余子串的長度小于3,則不合法ShowMessage('您輸入的電子郵件地址格式不合法!')elsebeginif((pos('.',TempStr)=0)or(pos('.',TempStr)=length(TempStr))or(pos('.',TempStr)=1))then//如果剩余的子串當(dāng)中不含有字符'.',或者其位置在//子串的開頭或者末尾,則不合法ShowMessage('您輸入的電子郵件地址格

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論