版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、整理課件教師(PASCAL語言)培訓(xùn)講習(xí)江東區(qū)教研室 賈 為整理課件辦班的目的:1、提高與扎實(shí)信息學(xué)科教師的專業(yè)素養(yǎng)。今后會在各類信息學(xué)科教師考核中有所側(cè)重。2、形成一個(gè)學(xué)習(xí)與研究PASCAL語言的氛圍,建立一支培訓(xùn)團(tuán)隊(duì),促進(jìn)我區(qū)的青少年信息學(xué)競賽工作起步與發(fā)展。3、拋磚引玉?;突W(xué),建立學(xué)習(xí)共同體。4、本期培訓(xùn)班以講習(xí)PASCAL語言中基本語句為主,面向全體信息學(xué)科專業(yè)教師,進(jìn)行由簡單到復(fù)雜的編程思維訓(xùn)練,通過本期培訓(xùn)學(xué)會安裝、調(diào)試PASCAL程序,能夠讀懂程序,并掌握獨(dú)立編制簡單程序的能力。整理課件建議參考書:PASCAL語言(中學(xué)版/小學(xué)版)第2版張文雙,吳樹娟主編(北京理工大學(xué)出版)
2、數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)張文雙、王學(xué)紅主編(北京理工大學(xué)出版)奧賽經(jīng)典信息學(xué)奧林匹克教程(基礎(chǔ)篇、語言篇、提高篇) 湖南師范大學(xué)出版社出版 (寧波新江廈四樓書店有售。)整理課件v1989年5月首次舉辦國際信息學(xué)奧林匹克競賽,簡稱IOI,成為繼數(shù)學(xué)、物理、化學(xué)之后的又一門國際(中學(xué)生)奧林匹克競賽。v1991年起全國青少年計(jì)算機(jī)競賽更名為全國青少年信息學(xué)(計(jì)算機(jī))奧林匹克競賽,簡稱NOI。由中國科學(xué)技術(shù)協(xié)會主管,中國計(jì)算機(jī)學(xué)會主辦。 全國青少年信息學(xué)奧林匹克聯(lián)賽,簡稱為NOIP,參加聯(lián)賽是參加NOI的必要條件。整理課件整理課件v從江東信息網(wǎng)ftp:/,用戶名xinxi,密碼xinxi2007,下載Fr
3、ee Pascal 2.04(大小為42M)。v點(diǎn)擊install.exe自動安裝程序在指定的路徑目錄中。(15分鐘)v在路徑:目標(biāo)盤符ppbingo32v2找到fp.exe文件,右鍵創(chuàng)建快捷方式后,復(fù)制到桌面上。v單擊桌面快捷圖標(biāo)即可啟動Free Pascal 2.04。v點(diǎn)擊菜單欄:file下拉exit項(xiàng)即可退出pascal環(huán)境。v按 alt+enter,進(jìn)行全屏切換。整理課件Pascal 程序的輸入與調(diào)試?yán)齌0_1:用數(shù)字打印三角形。Program T0_1; var j,h:integer;Begin for j:=1 to 5 do begin write ( :16-j); for
4、 h:=1 to 2*j-1 do write(h); writeln; end;End. 用主菜單的Compile中的菜單項(xiàng)Compile,或Alt+F9組合鍵,即可對程序進(jìn)行編譯。若文件沒取名,則先建立文件名。 如果編譯有錯(cuò)誤,會顯示相關(guān)出錯(cuò)信息。注意free Pascal安裝時(shí),有時(shí)會碰到與殺毒軟件沖突的事情,編譯也會不成功,需先將殺毒軟件屏蔽。 運(yùn)行程序:選擇主菜單Run中的菜單項(xiàng)Run,或按ctrl+F9鍵。 查看結(jié)果。選擇主菜單Debug中的菜單項(xiàng)Output可以查看結(jié)果。 保存文件。用主菜單file中的save或按F2鍵保存文件。整理課件第1課 認(rèn)識PASCAL語言Pascal是
5、一種計(jì)算機(jī)通用的、編譯型的高級程序設(shè)計(jì)語言。它由瑞士Niklaus Wirth教授于六十年代末設(shè)計(jì)并創(chuàng)立。是一種按結(jié)構(gòu)化程序設(shè)計(jì)原則描述的高級語言。主要特點(diǎn)有:嚴(yán)格的結(jié)構(gòu)化形式;豐富完備的數(shù)據(jù)類型;運(yùn)行效率高;查錯(cuò)能力強(qiáng)。NOI(全國奧林匹克信息學(xué)競賽)把Pascal語言定為唯一提倡的程序設(shè)計(jì)語言 整理課件第1課 認(rèn)識PASCAL語言讓我們先來看一個(gè)PASCAL程序,通過這個(gè)程序了解PASCAL的規(guī)則。例例L1_1 L1_1 已知半徑,求圓周長和面積的程序。整理課件程序說明:程序說明:PROGRAM circle(input,output); (* 第第1行:程序首部行:程序首部 *)CONS
6、T(*第第2行:常量說明行:常量說明*)PI=3.14159; VAR(*第第4行:變量說明行:變量說明*)r,l,s:real; BEGIN(*第第6行:語句部分行:語句部分*)read(r); (*第第7行:輸入語句行:輸入語句*)l:=2*PI*r; (*第第8行:賦值語句行:賦值語句*,計(jì)算周長,計(jì)算周長)s:=PI*r*r; (*第第9行:賦值語句行:賦值語句*,計(jì)算面積,計(jì)算面積)write(r,l,s); (*第第10行:輸出語句行:輸出語句*) END. (*第第11行:語句部分以行:語句部分以END.結(jié)束結(jié)束*)整理課件完整的PASCAL程序框架Program 程序名(程序參
7、數(shù)表); Label 標(biāo)號說明; Const 常量說明; Type 類型說明; Var 變量說明; Function 函數(shù)說明; procedure 過程說明; begin 程序語句; end.整理課件1、PROGRAM寫在最左邊頂格;2、注釋的大括號、和CONST、VAR、BEGIN、END等語句上下對齊,且它們比PROGRAM向右移兩個(gè)字符;3、各個(gè)語句和程序語句也是上下對齊,它們比第2點(diǎn)中的各語句又向右移兩個(gè)字符;4、語句間多余空格與空行,編譯時(shí)會忽略。整理課件數(shù)制的轉(zhuǎn)換1、常用的進(jìn)位計(jì)數(shù)制有:十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制。名稱基數(shù)標(biāo)志符十進(jìn)制0,1,2,3,4,5,6,7,8,9,
8、D二進(jìn)制0,1B八進(jìn)制0,1,2,3,4,5,6,7Q十六進(jìn)制0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)H十進(jìn)制D二進(jìn)制B八進(jìn)制Q十六進(jìn)制H00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F16100002010整理課件3、十進(jìn)制與二進(jìn)制的相互轉(zhuǎn)換例1:將十進(jìn)制數(shù)20.6875轉(zhuǎn)換成二進(jìn)制數(shù)。(1)整數(shù)部分的轉(zhuǎn)換:“除以2倒序取余法”。2 20 0 2 10 0 2 5 1
9、2 2 0 2 1 1 0(2)小數(shù)部分的轉(zhuǎn)換:“乘2取整法”。 0.6875 0.3750 0.75 0.5 2 2 2 2 1.3750 0.75 1.5 1.0 1 0 1 1 正序取整倒序取余合在一起得:(20.6875)10=(10100.1011)2整理課件例2:將(11001.0101)2轉(zhuǎn)換成十進(jìn)制數(shù)。(11001.1101)2 = 124+123+022+021+120+12-1+12-2 +02-3+12-4 =16+8+1+0.5+0.25+0.0625 =(25.8125)10 十進(jìn)制數(shù)和二進(jìn)制數(shù)的轉(zhuǎn)換可以推廣 到十進(jìn)制與八進(jìn)制、十進(jìn)制與十六進(jìn)制數(shù)的轉(zhuǎn)換。如十進(jìn)制數(shù)轉(zhuǎn)換
10、在八進(jìn)制數(shù)的方法是:“除以8倒取余法”;十進(jìn)制小數(shù)轉(zhuǎn)換成八進(jìn)制小數(shù)的方法是:“乘8取整法”。課堂作業(yè):(1)(1101101.101)2 =( )10 (2) (45.625)10 =( )2整理課件第2課 PASCAL的數(shù)據(jù)類型、標(biāo)識符、表達(dá)式、語句 數(shù)據(jù)對于一門程序語言是非常重要的,數(shù)據(jù)的一個(gè)非常重要的特征就是它的類型。PASCAL規(guī)定:程序中出現(xiàn)的變量必須先說明才能使用。二個(gè)值,即整理課件整數(shù)類型v包括正整數(shù)(+號可略)、負(fù)整數(shù)和零。v1,204在會計(jì)統(tǒng)計(jì)中是允許的,但在pascal中是非法的。v整數(shù)類型的標(biāo)識符為integer,取值范圍為:-32768n 32767。v在free pa
11、scal中,允許整數(shù)采用十六進(jìn)制(前加$)或二進(jìn)制(前加%)表示。 如 x := %101,相當(dāng)于 x:=5 ,y:=$10, 相當(dāng)于y:=16 v整數(shù)的類型:名稱類型標(biāo)識符數(shù)據(jù)范圍短整型Shortint-128127長整型Longint-21474836482147483647字節(jié)型Byte0255字型Word065535整數(shù)類型Int64-92233720368547758089223372036854775807無符號整數(shù)Qword int64018446744073709551615注意:int64int64不是有序類型。直接給一個(gè)不是有序類型。直接給一個(gè) int64int64類型的變
12、量賦值一個(gè)超過類型的變量賦值一個(gè)超過longintlongint范圍范圍的整數(shù)是非法的,這是因?yàn)榈恼麛?shù)是非法的,這是因?yàn)閒ree pascalfree pascal在表達(dá)式的計(jì)算中默認(rèn)最大類型為在表達(dá)式的計(jì)算中默認(rèn)最大類型為longintlongint。整理課件整理課件標(biāo)識符v標(biāo)識符是以字母開頭的字母、數(shù)字組合,用來表示常量、變量、類型、文件、函數(shù)、過程或程序的名字。vx,y,max,min,sum,a15,a3b7都是合法的標(biāo)識符。而v5x,x-y,ex10.5都是非法的標(biāo)識符。v標(biāo)識符的長度一般不要超過8個(gè)字符。v標(biāo)識符的選取最好有一定意義,這樣便于記憶,也增加了程序的可讀性。整理課件表達(dá)
13、式和運(yùn)算符 v算術(shù)運(yùn)算符: + , - , * , /, div(整除), mod(取余)v關(guān)系運(yùn)算符:=, , , =, , v邏輯運(yùn)算符:AND,OR,NOTv表達(dá)式就是將數(shù)據(jù)和運(yùn)算符結(jié)合使用,組成一組有意義的運(yùn)算式。v在PASCAL語言中規(guī)定,表達(dá)式按下列運(yùn)算優(yōu)先規(guī)則計(jì)算:1、所有括起來的子表達(dá)式必須先計(jì)算,且子表達(dá)式必須從里到外計(jì)算;2、在同一子表達(dá)式中的運(yùn)算符按下列次序計(jì)算: 函數(shù);NOT;AND,*,/,DIV,MOD; OR,+,-; ,=,3、在同一個(gè)子表達(dá)式中,同一優(yōu)先級的運(yùn)算按從左到右的次序進(jìn)行。4、MOD運(yùn)算結(jié)果的符號總是和被除數(shù)相同,而與模無關(guān)。 -15 mod 6 =
14、 -3 -15 mod (-6) = -3 15 mod (-6) =3 整理課件PASCAL程序中的運(yùn)算優(yōu)先規(guī)則 整理課件常量與變量v常量定義格式: const = ;要求如下:1、要放在程序說明部分。2、必須遵循先定義后使用的原則。3、不允許重復(fù)定義,或一次定義多個(gè)常量。例如: const a =1; a,b = 10; c = 1 or 2; d := 3;v變量定義格式: var :類型標(biāo)識符;例如: var a,b :integer; x,y :real; ch :char; t: boolran;但下列說明是非法的:例如: var a,b =integer; ch :char; c
15、h :boolean; a,b后面不能用=,ch不能重復(fù)定義。變量一經(jīng)說明,系統(tǒng)就為其分配內(nèi)存。程序中使用該變量時(shí),就要在相應(yīng)的內(nèi)存單元讀寫數(shù)據(jù),稱為對變量的訪問。整理課件整理課件順序結(jié)構(gòu)程序設(shè)計(jì)1 1、賦值語句、賦值語句 賦值語句的格式: 變量標(biāo)識符 : = 表達(dá)式; 功能: 賦值語句是先執(zhí)行計(jì)算表達(dá)式的值,然后賦值給變量標(biāo)識符。 說明:(1)” := “ 稱為賦值號,不要與 ” = “ 混淆。賦值有方向性,左邊只能是變量,不能是表達(dá)式,如 x := 1是非法的。(2)賦值號兩邊的類型必須相同,但是整型表達(dá)式可以賦值給實(shí)型,反之不成立。(3)一個(gè)賦值語句只能給一個(gè)變量賦值,變量可以賦值多次,
16、但只保留最后一次的值。(4)被賦值的變量可以作為表達(dá)式因子參與運(yùn)算,如: i:=i+1;是合法的。(5)對變量的賦值是對變量的存入訪問。如d:=a;語句執(zhí)行后,d的變量內(nèi)容就已經(jīng)是a變量的內(nèi)容,但是a變量的值并沒有消失與改變。 在實(shí)際編程中,我們經(jīng)常使用a:=a+1;作為計(jì)數(shù)器,用s:=s+x;作為累加器,用t:=t*n;作為累乘器。整理課件2、輸入(read、readln)語句輸入語句格式:格式1: read ;格式2: readln ();功能:執(zhí)行該語句時(shí),程序進(jìn)入等待狀態(tài),等待用戶從鍵盤輸入數(shù)據(jù),輸入的數(shù)據(jù)將依次賦給變量表中的變量,而后程序繼續(xù)執(zhí)行其他語句。說明:(1)變量表中變量超過
17、一個(gè)時(shí),中間用逗號隔開。從鍵盤輸入數(shù)據(jù)時(shí),數(shù)據(jù)的個(gè)數(shù)不能少于變量個(gè)數(shù),否則電腦一直處于等待狀態(tài)。當(dāng)數(shù)據(jù)多于變量個(gè)數(shù)時(shí),對于readln語句將其忽略,對于read語句時(shí),會補(bǔ)下一句read語句讀入,如果沒有輸入語句,也將其忽略。(2)輸入數(shù)值型數(shù)據(jù)時(shí),必須用空格或回車鍵分隔,最后一定要用回車鍵。輸入字符型數(shù)據(jù)時(shí),不能有空格與回車鍵,必須連續(xù)輸入,因?yàn)榭崭衽c回車鍵也會當(dāng)作字符。(3)輸入的數(shù)據(jù)必須是常量,且必須與對應(yīng)的變量類型相一致。(4)readln();可以沒有變量名表,此時(shí)該語句等待從鍵盤輸入回車鍵。v Readln (x) ; 等價(jià)于執(zhí)行了二條語句:read(x); readln();整理
18、課件3、輸出(write 、writeln)語句輸出語句的格式:格式1 write ;格式2 writeln ();功能:按指定的格式將輸出項(xiàng)的內(nèi)容輸出到屏幕上。說明:(1)輸出項(xiàng)如果是多項(xiàng)時(shí),各項(xiàng)間用逗號分隔。(2)輸出項(xiàng)可以是常量、變量、函數(shù)、表達(dá)式。常量直接輸出,變量時(shí)輸出變量的存儲單元內(nèi)容,遇到函數(shù)與表達(dá)式時(shí),先計(jì)算、再輸出。(3)write 語句輸完最后一項(xiàng)時(shí),不換行,等待下一條 write語句繼續(xù)輸出。Writeln語句輸完最后一項(xiàng)時(shí)換行,該語句允許沒有輸出項(xiàng),起到換行作用。v writeln(x); 等價(jià)于執(zhí)行了write(x); writeln();整理課件例:X:=2; y:
19、=3; writeln(x=,x,y=,y); writeln(x+y=,x+y,x*y=,x*y)輸出結(jié)果為:x=2 y=3x+y=5 x*y=6整理課件自定義場寬(1)單場寬。單場寬。用來控制整型、字符型、布爾型數(shù)據(jù)的輸出格式,不能用于實(shí)數(shù)型。 格式:n 說明:n(正整數(shù)) 表示輸出時(shí)所占的列數(shù)。單場寬一律右對齊,前用空格。(2)雙場寬。雙場寬。用來控制實(shí)數(shù)的輸出格式。 格式: :n1:n2 說明: n1表示輸出總占列數(shù),包括符號位、整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分;n2表示小數(shù)部分的列數(shù)。 當(dāng)數(shù)據(jù)突破場寬時(shí),首先保證整數(shù)部分的有效性,小數(shù)部分按n2場寬進(jìn)行四舍五入顯示,但內(nèi)存中仍是原來的精確度
20、。 單場寬右對齊,雙場寬向小數(shù)點(diǎn)看齊,多余的小數(shù)位數(shù)補(bǔ)零。整理課件例T2_1:交換兩個(gè)變量的值。(1)利用中間變量)利用中間變量c,實(shí)現(xiàn)交換。,實(shí)現(xiàn)交換。Program T2_1_1;Var a,b,c :integer;Begin write(please input a,b=?); read(a,b); write(before:,a=,a,b=,b); c := a; a := b; b := c; writeln (after:,a=,a:8,b=,b:8);End.(2)不用中間變量,也可實(shí)現(xiàn)交換。)不用中間變量,也可實(shí)現(xiàn)交換。Program T2_1_2;Var a,b :inte
21、ger;Begin write(please input a,b=?); read(a,b); write(before:,a=,a,b=,b); a := a+b; b := a-b; a := a-b; writeln (after:,a=,a:8,b=,b:8);End.整理課件例例T2_2:雞兔同籠問題。已知雞和兔的總頭數(shù)雞兔同籠問題。已知雞和兔的總頭數(shù)是是H,總腿數(shù)為,總腿數(shù)為F,求雞和兔各多少只?,求雞和兔各多少只?分析:設(shè)雞為分析:設(shè)雞為C只,兔為只,兔為R只,則只,則 C+R=H 2*C+4*R=F解得:解得:C=(4*H-F)/2, R=H-C 。程序?yàn)椋撼绦驗(yàn)椋篜rogre
22、m T2_2; var h,f,c,r:real; begin readln(h,f); c:=(4*h-f)/2; r:=h-c; writeln(click:,c); writeln(rabbit:,r); end.整理課件例T2_3: 隨機(jī)產(chǎn)生一個(gè)三位自然數(shù),求其百位、十位、個(gè)位上的數(shù)字。分析:要產(chǎn)生隨機(jī)數(shù),必然用到隨機(jī)函數(shù)。Random是隨機(jī)函數(shù)能產(chǎn)生0,1之間的隨機(jī)實(shí)數(shù)。 隨機(jī)產(chǎn)生三位數(shù)的表達(dá)式為: trunc(random*900)+100假設(shè)三位數(shù)X,百位數(shù)分另別為A,B,C,則存在如下關(guān)系:A= X DIV 100B= (X-A*100) DIV 10C= X MOD 10程序
23、為:Program T2_3; VAR x,a,b,c:integer; begin randomize; 它的作用是每次運(yùn)行程序時(shí),random函數(shù)產(chǎn)生不同的隨機(jī)數(shù)。起到埋種子作用。 x:=trunc(random*900)+100; writeln(x=,x); a:=x div 100; b:=(x-a*100) div 10; c:=x mod 10; writeln(a:5,b:5,c:5); End. 整理課件例T2_4 已知三角形的兩邊及夾角,求第三邊及面積。數(shù)學(xué)建模:設(shè)三角形的兩邊及夾角分別為a,b,第三邊為c,面積為s。則 ,若以角度值輸入,在計(jì)算sin和cos時(shí)應(yīng)轉(zhuǎn)換為弧度
24、。角度轉(zhuǎn)弧度的公式為:弧度=角度180cos222abbacsin21abs 整理課件例T2_5: 輸入一個(gè)字符,求其序號、前導(dǎo)(即前一字符)、后繼(即后一字符)。整理課件例T2_6: 輸入x,y。若在圓環(huán)內(nèi),輸出true,若在圓環(huán)外;輸出false。圓環(huán)如圖所示。討論:如圖所示,若下式1x2+y24成立則在圓環(huán)內(nèi),否則在圓環(huán)外。設(shè)布爾變量bool,當(dāng)x,y在圓環(huán)內(nèi)時(shí),讓它取值為true,否則取值為false。整理課件作業(yè):vXT1_1 XT1_1 寫一程序讀入三角形的三個(gè)邊a,b,c,計(jì)算并打印三角形的面積S??衫孟铝泄接?jì)算。 其中:vXT1_2 輸入一個(gè)三位整數(shù),將它們反向輸出。例如輸
25、入127,輸出應(yīng)為721。)()(cpbpappS)(21cbap整理課件第3課 選擇結(jié)構(gòu)程序設(shè)計(jì) PASCAL中有兩個(gè)語句可實(shí)現(xiàn)選擇結(jié)構(gòu): IF語句(條件語句)和CASE語句(情況語句) 3.2.1 IF3.2.1 IF語句的兩種形式語句的兩種形式IF語句又稱如果語句(或稱條件語句)。它的一般形式是IF (條件) THEN (語句1) ELSE (語句2) 其中“條件”實(shí)際上是一個(gè)布爾表達(dá)式,它的值可以是真(true)或假(false)。在條件為真時(shí),執(zhí)行語句1,否則(條件為假)執(zhí)行語句2。 可以利用流程圖來描述選擇結(jié)構(gòu)。 在流程圖中用菱形框表示要執(zhí)行的判定,其余步驟用矩形框表示,箭頭表示執(zhí)
26、行的順序。整理課件例L3_1 火車托運(yùn)行李,要根據(jù)行李的重量按不同標(biāo)準(zhǔn)收費(fèi)。例如不超過50kg,按每公斤0.35元收費(fèi)。若超過50kg,則其中50kg按每公斤0.35元收費(fèi),其余超過部分按每公斤0.50元收費(fèi)?,F(xiàn)輸入托運(yùn)行李重量,要求計(jì)算并輸出托運(yùn)費(fèi)。數(shù)學(xué)建模:設(shè)托運(yùn)行李重量為weight,該問題要求根據(jù)weight是否超過50kg,按不同公式計(jì)算出托運(yùn)費(fèi)。設(shè)托運(yùn)費(fèi)為pay。weight和pay均為實(shí)型。下面給出算法。一級算法1、讀入weight的值。2、根據(jù)weight的大小選擇不同的公式計(jì)算pay。3、輸出pay。其中第2步需求精。根據(jù)題意,可以寫出計(jì)算pay的公式如下:weight50w
27、eight505 . 0)50(35. 05035. 0weightweightpay整理課件除了上面給出的IF語句形式外,PASCAL中還有另外一種IF語句形式。即IF (條件) THEN (語句)在條件為真時(shí),執(zhí)行THEN后的語句。在條件為假時(shí),不執(zhí)行THEN后的語句,在兩種情況下的后繼語句都是IF語句的下一個(gè)語句。整理課件例例L3_2L3_2 讀入三個(gè)數(shù),找出并打印其中的最大數(shù)。解:PROGRAM L3_2; VAR a,b,c:real; BEGIN write(a=?); read(a); write(b=?); read(b); write(c=?); read(c); IF ab
28、 THEN a:=b; IF ac THEN a:=c; writeln(ZuiDaShu:,a) END.整理課件3.2.2 3.2.2 復(fù)合語句復(fù)合語句v在IF語句中,跟在THEN或ELSE后的語句可能不止一個(gè),這時(shí)要用到復(fù)合語句的概念。v復(fù)合語句是一個(gè)以BEGIN開始,以END結(jié)束的語句。在BEGIN與END之間可以包括若干個(gè)語句,每個(gè)語句之間以分號分開。一般形式為:BEGINBEGIN (語句(語句1 1);); (語句(語句2 2);); (語句(語句n n)ENDENDv一個(gè)復(fù)合語句從外部看來,相當(dāng)于一個(gè)語句。整理課件3.2.3 IF語句的嵌套v在IF語句中,THEN或ELSE后的
29、語句本身也可能是IF語句。此時(shí)稱為IF語句的嵌套(或稱為復(fù)合IF語句)。例如語句 IF(條件1) THEN(語句1) ELSE IF(條件2) THEN(語句2) ELSE(語句3) 就是一個(gè)復(fù)合IF語句,在它的ELSE后又是一個(gè)IF語句。整理課件有時(shí)IF語句可能會有兩種不同的理解。 整理課件例L3_3: 有一個(gè)函數(shù)表達(dá)式為:編寫程序,輸入x,輸出y的值。010001xxxyProgram L3-3; var x:real; y:integer; begin write(please input x=); readln(x);If x0 then y:=1 else y:=0; Writeln
30、(y=,y);End.整理課件3.3 CASE語句 CASE語句是實(shí)現(xiàn)選擇結(jié)構(gòu)程序設(shè)計(jì)的另一種語句。它的使用有時(shí)比IF語句來得簡單、直觀。 CASE語句(或稱情況語句)的一般形式是 CASE (表達(dá)式) OF (值表1):(語句1); (值表2):(語句2); (值表n):(語句n); ELSE 語句n+1; END; 在CASE語句頭上的表達(dá)式必須是有序類型(整型、字符型、布爾型以及后面要介紹的枚舉型、子界型)。值表是一些由逗號分開的常數(shù)。表達(dá)式所有可能的值必須在值表中出現(xiàn),且每個(gè)值只能出現(xiàn)一次。 如果當(dāng)前表達(dá)式的值在某個(gè)值表i中出現(xiàn),則該程序只執(zhí)行對應(yīng)值表i的語句i,然后執(zhí)行整個(gè)CASE語
31、句后的下一語句。 else 可以省略,此時(shí)若無表達(dá)式的值與之相匹配的常數(shù)表時(shí)程序?qū)⑾蛳逻\(yùn)行并跳出case語句。 整理課件例L3_5 輸入年、月,輸出該月有幾天。v討論:每年的討論:每年的1、3、5、7、8、10、12月,每月月,每月有有31天;天;4、6、9、11月,每月有月,每月有30天;天;2月月閏年有閏年有29天,平年有天,平年有28天。天。v年號能被年號能被4整除,但不整除,但不能被能被100整除,或者年整除,或者年號能被號能被400整除的年均整除的年均是閏年。是閏年。v用用year、month、days分別表示年、月、每月分別表示年、月、每月天數(shù)。它們均為整數(shù)。天數(shù)。它們均為整數(shù)。v
32、閏年的條件可以寫成如閏年的條件可以寫成如下的布爾表達(dá)式:下的布爾表達(dá)式:v(year MOD 4 = 0) AND (year MOD 100 0) OR (year MOD 400 = 0)Program L3_5; var year,month,days:integer; begin read (year,month); case month of 1,3,5,7,8,10,12: days:=31; 4,6,9,11 : days:=30; 2 : if (year mod 4 =0) and (year mod 1000) or (year mod 400 =0) then days:
33、=29 else days:=28; end; writeln (year,year,month,month:,days:,days);End.整理課件例L3_6 編制程序,根據(jù)輸入的x值,計(jì)算y與z并輸出。)5 . 2( 1)5 . 2( 122xxxxy)0(52)0(0)0(32xxxxxz整理課件作業(yè):vXT3_1 對一批貨物征收稅金,價(jià)格在對一批貨物征收稅金,價(jià)格在1萬元以上的貨萬元以上的貨物征稅物征稅5%,在,在5000元以上,元以上,1萬元以下的貨物征稅萬元以下的貨物征稅3%,在在1000元以上,元以上,5000元以下的貨物征稅元以下的貨物征稅2%,1000元元以下的貨物免稅。編
34、寫一程序,讀入貨物價(jià)格,計(jì)算以下的貨物免稅。編寫一程序,讀入貨物價(jià)格,計(jì)算并輸出稅金。并輸出稅金。vXT3_2 輸入某學(xué)生成績,若成績在輸入某學(xué)生成績,若成績在85分以上,輸出分以上,輸出very good,若成績在,若成績在60分到分到85分之間,輸出分之間,輸出good,若成績低于若成績低于60分,輸出分,輸出no good。vXT3_3 輸入班號,輸入該班學(xué)生人數(shù)。應(yīng)用輸入班號,輸入該班學(xué)生人數(shù)。應(yīng)用CASE語語句編程序。句編程序。班級201202203204205班額4547424648整理課件第4課 循環(huán)結(jié)構(gòu)v循環(huán)結(jié)構(gòu)(或稱重復(fù)結(jié)構(gòu))是程序中的一個(gè)基本結(jié)構(gòu),在循環(huán)結(jié)構(gòu)(或稱重復(fù)結(jié)構(gòu))
35、是程序中的一個(gè)基本結(jié)構(gòu),在解許多問題中是很有用的。我們知道,在許多復(fù)雜的問題解許多問題中是很有用的。我們知道,在許多復(fù)雜的問題中,常常需要做大量類同的計(jì)算處理。盡管計(jì)算機(jī)的運(yùn)算中,常常需要做大量類同的計(jì)算處理。盡管計(jì)算機(jī)的運(yùn)算速度很快,然而要把這些大量類同的計(jì)算處理的每一步都速度很快,然而要把這些大量類同的計(jì)算處理的每一步都寫成語句,并輸入計(jì)算機(jī)中,其工作量是相當(dāng)大的。有時(shí)寫成語句,并輸入計(jì)算機(jī)中,其工作量是相當(dāng)大的。有時(shí)是難以完成的。是難以完成的。v循環(huán)結(jié)構(gòu)程序設(shè)計(jì)可以幫助我們有效地解決這一難題。利循環(huán)結(jié)構(gòu)程序設(shè)計(jì)可以幫助我們有效地解決這一難題。利用循環(huán)結(jié)構(gòu)程序設(shè)計(jì),使得我們有可能只編寫少量
36、的語句,用循環(huán)結(jié)構(gòu)程序設(shè)計(jì),使得我們有可能只編寫少量的語句,讓計(jì)算機(jī)重復(fù)執(zhí)行它許多次,從而完成大量類同的計(jì)算要讓計(jì)算機(jī)重復(fù)執(zhí)行它許多次,從而完成大量類同的計(jì)算要求。求。v在在PASCAL中,實(shí)現(xiàn)循環(huán)程序設(shè)計(jì)的主要語句有中,實(shí)現(xiàn)循環(huán)程序設(shè)計(jì)的主要語句有FOR語句、語句、WHILE語句和語句和REPEAT語句。語句。整理課件一、FOR語句格式1:(遞增型) FOR x:= TO DO 格式1: (遞減型) FOR x:= downTO DO FOR X:= 1 TO 10 DOFOR X:= A TO Z DO 控制變量控制變量 初值初值 控制變量控制變量終值終值 false true 執(zhí)行語句執(zhí)
37、行語句 控制變量控制變量 succ(控制變量)控制變量) 控制變量控制變量 初值初值 控制變量控制變量終值終值 false true 執(zhí)行語句執(zhí)行語句 控制變量控制變量 pred(控制變量)控制變量)整理課件T4_001 計(jì)算1+2+3+10PROGRAM T4_001; VAR s,n:integer; BEGIN s:=0; FOR n:=1 TO 10 DO s:=s+n; writeln(s=,s) END.s=0當(dāng)n=1 s=s+n=0+1=1;當(dāng)n=2 s=s+n=1+2=3當(dāng)n=3 s=s+n=3+3=6當(dāng)n=4 s=s+n=6+4=10當(dāng)n=5 s=s+n=10+5=15當(dāng)n=
38、6 s=s+n=15+6=21當(dāng)n=7 s=s+n=21+7=28當(dāng)n=8 s=s+n=28+8=36當(dāng)n=9 s=s+n=36+9=45當(dāng)n=10 s=s+n=45+10=55整理課件例T4_002 : 輸入10個(gè)任意整數(shù),求它們的和. PROGRAM T4_002; VAR s,n,a:integer; BEGIN s:=0; FOR n:=1 TO 10 DO BEGIN read(a); s:=s+a; END; writeln(s=,s) END.PROGRAM T4_003; VAR n,i,sum:integer; BEGIN read(n); sum:=1; FOR i:=1
39、TO n DO sum:=sum*i; writeln(n!=,sum); END.注意N8,否則會溢出。整理課件例T4_004:任何一個(gè) n3一定可以表示成n個(gè)連續(xù)的奇數(shù)和。輸入n(n100),輸出n3對應(yīng)的表達(dá)式。數(shù)學(xué)題解:設(shè)表達(dá)式中的最小奇數(shù)為x;當(dāng)N=1時(shí),最小奇數(shù)X=1,1個(gè)奇數(shù);當(dāng)N=2時(shí),最小奇數(shù)X=3,2 個(gè)奇數(shù);當(dāng)N=3時(shí),最小奇數(shù)X=7,3 個(gè)奇數(shù); N N3 1 1 2 23=8=3+5 3 33=27=7+9+11 4 43=64=13+15+17+19 當(dāng) N=K 時(shí),最小奇數(shù) X 前己有 1+2+3+(K-1) 個(gè)奇數(shù),則第K個(gè)奇數(shù) K*(K-1)X = *2+1=
40、K*(K-1)+1=N*(N-1)+1 2整理課件Program T4_004; var i,n,a:longint 循環(huán)變量,連續(xù)的奇數(shù)個(gè)數(shù),當(dāng)前項(xiàng),類型循環(huán)變量,連續(xù)的奇數(shù)個(gè)數(shù),當(dāng)前項(xiàng),類型 為長整型為長整型 begin readln(n); a: = n*(n-1) +1; for i:= 1 to n-1 do begin write(a,+); a:=a+2; end; writrln(a); readln; end 思考題:用數(shù)學(xué)方法證明上述定理。整理課件作業(yè):T4_005 輸入10個(gè)任意整數(shù),求它們的平均值。T4_006 按正序和反序分別輸出26個(gè)英文字母。T4_007 輸入20
41、個(gè)整數(shù),輸出其中最大數(shù)。T4_008 輸入20個(gè)整數(shù),統(tǒng)計(jì)其中正、負(fù)和零的個(gè)數(shù)。思考題:100.321s求值:整理課件作業(yè)答案:PROGRAM T4_005; VAR ave:real; i,n,sum:integer; BEGIN sum:=0; FOR i:=1 TO 10 DO BEGIN read(n); sum:=sum+n; END; ave:=sum/10; writeln(ave=,ave:6:2) END. PROGRAM T4_006; VAR i:integer; BEGIN writeln(); FOR i:=1 TO 26 DO write(chr(96+i); wr
42、iteln(); FOR i:=122 DOWNTO 97 DO write(chr(i) END.PROGRAM T4_006_1; VAR i:char; BEGIN writeln(); FOR i:=ATO Z DO write(i); writeln(); FOR i:=ZDOWNTO A DO write(i) END.整理課件作業(yè)答案:PROGRAM T4_007; VAR max,i,n:integer; BEGIN read(max); FOR i:=1 TO 19 DO BEGIN read(n); IF max0 THEN Zheng:=Zheng+1 ELSE IF n
43、=0 THEN Ling:=Ling+1 ELSE Fu:=Fu+1; END;FOR writeln(Zheng Shu You: ,Zheng,; Fu Shu You: ,Fu,; Ling You: ,Ling) END.整理課件二、while 語句 (當(dāng)型循環(huán)) 當(dāng)循環(huán)次數(shù)未知,例如它依賴于某個(gè)布爾表達(dá)式的值,而此值在循環(huán)執(zhí)行過程中會改變。這種循環(huán)不可能由FOR語句實(shí)現(xiàn),PASCAL為此提供了WHILE語句和REPEAT語句。 WHILE語句的一般形式: WHILE DO 整理課件例例T4_009:求求S=2+6+10+98的值。的值。分析:S為求和累加器,X為當(dāng)前項(xiàng),賦初值為2,每
44、次循環(huán)后增加4,取X98為布爾表達(dá)式。課堂作業(yè):計(jì)算 S=1+2+4+8+128+256的值。整理課件例T4_010:求兩個(gè)自然數(shù)的最小公倍數(shù)。分析:先從數(shù)學(xué)角度來分析一下,所謂最小公倍數(shù)就是指能被M和N同時(shí)整除的最小自然數(shù)。先設(shè)一個(gè)變量i,讓它從1開始按自然數(shù)增長,將i與M相乘的結(jié)果存到變量S中,這樣S就是M的公倍數(shù),由于i是從最小開始的,然后再用每一個(gè)S除以因子N,若能整除,則S為M和N兩個(gè)因子的最小公倍數(shù)。Program T4_010;var n,m,I,s:longint;begin write(請輸入兩個(gè)自然數(shù)); readln(m,n); i:=1; s:=m*I; while s
45、 mod n 0 do begin i:=i+1; s:=m*I; end; writrln(s=,s);end.整理課件三、repeat語句(直到型循環(huán))REPEAT語句也用于循環(huán)次數(shù)未知的循環(huán),它的用法與WHILE語句稍有不同。REPEAT語句的一般形式如下:REPEATUNTIL 例 T4_011 計(jì)算 (泰勒展開式) 直到最后一項(xiàng)的絕對值小于10-7時(shí)停止計(jì)算,x由鍵盤輸入。.!7!5!3)sin(753xxxxx整理課件 )2() 1() 1(1ixixttiixt 1; 0; 1sxti整理課件作業(yè):T4_012: 計(jì)算 當(dāng)最后一項(xiàng)的絕對值小于10-6時(shí)結(jié)束,打印輸出結(jié)果。T4_0
46、13: 求滿足條件 N! 100000 的最大值N。.1715131s整理課件三種循環(huán)語句的相同點(diǎn)與不同點(diǎn)FORFORWHILEWHILEREPEATREPEAT語句格式語句格式FOR FOR := TO TO DO DO WHILE WHILE DO DO REPEATREPEAT UNTIL UNTIL 循環(huán)變量循環(huán)變量賦值賦值布爾表達(dá)式布爾表達(dá)式無循環(huán)變量無循環(huán)變量循環(huán)次數(shù)循環(huán)次數(shù)確定,由初值和終值決確定,由初值和終值決定定不確定,由循環(huán)體前的布不確定,由循環(huán)體前的布爾表達(dá)式?jīng)Q定,當(dāng)值爾表達(dá)式?jīng)Q定,當(dāng)值為為“假假”時(shí),結(jié)束循時(shí),結(jié)束循環(huán)。環(huán)??赡芤淮窝h(huán)也沒有可能一次循環(huán)也沒有不確定,由
47、循環(huán)體后的不確定,由循環(huán)體后的布爾表達(dá)式?jīng)Q定,布爾表達(dá)式?jīng)Q定,當(dāng)值為當(dāng)值為“真真”時(shí)結(jié)時(shí)結(jié)束循環(huán)。束循環(huán)。至少有一次循環(huán)至少有一次循環(huán)循環(huán)體循環(huán)體多語句時(shí),需用多語句時(shí),需用BEGINBEGIN和和ENDEND多語句時(shí),需用多語句時(shí),需用BEGINBEGIN和和ENDEND多語句時(shí),不需用多語句時(shí),不需用BEGINBEGIN和和ENDEND整理課件用計(jì)算機(jī)解題的基本方法 整理課件第5課 多重循環(huán)v如果一個(gè)循環(huán)結(jié)構(gòu)的內(nèi)部(循環(huán)體)又包括一個(gè)循環(huán)結(jié)構(gòu),就稱為多重循環(huán)結(jié)構(gòu)。實(shí)現(xiàn)多重循環(huán)結(jié)構(gòu)仍可以用前面講的三種循環(huán)語句。因?yàn)槿我谎h(huán)語句的循環(huán)體部分都可以包含另一個(gè)循環(huán)語句,這種循環(huán)語句的嵌套為實(shí)現(xiàn)多重
48、循環(huán)提供了方便。v多重循環(huán)的嵌套次數(shù)可以是任意的??梢园凑涨短讓哟螖?shù),分別叫做二重循環(huán)、三重循環(huán)等。處于內(nèi)部的循環(huán)叫作內(nèi)循環(huán),處于外部的循環(huán)叫作外循環(huán)。v在設(shè)計(jì)多重循環(huán)時(shí),要特別注意內(nèi)、外循環(huán)之間的關(guān)系,以及各語句安放的位置,不要搞錯(cuò)。整理課件T5_001 求1100之間的素?cái)?shù)(質(zhì)數(shù)),每行輸出5個(gè)素?cái)?shù).i整理課件一級算法:一級算法:FOR i:=2 TO 100 DO BEGIN 1、用、用2到去除到去除i,看看能否除盡,看看能否除盡 2、IF 除不盡除不盡 THEN 輸出素?cái)?shù)輸出素?cái)?shù)i END算法需進(jìn)一步求精。用變量算法需進(jìn)一步求精。用變量yn來表示是否除來表示是否除盡。盡。一開始讓一開始
49、讓yn=1,當(dāng)有一個(gè)數(shù)能除盡時(shí),讓,當(dāng)有一個(gè)數(shù)能除盡時(shí),讓yn=0表示能除盡,這時(shí)表示能除盡,這時(shí)i不是素?cái)?shù);若循不是素?cái)?shù);若循環(huán)結(jié)束時(shí),環(huán)結(jié)束時(shí),yn仍等于仍等于1,表示都除不盡,表示都除不盡,這時(shí)這時(shí)i是素?cái)?shù)。是素?cái)?shù)。二級求精二級求精 1、用、用2到去除到去除i,看看能否除盡,看看能否除盡 1-1 yn:=1 1-2 WHILE nsqrt(i) DO BEGIN n:=n+1 IF i MOD n=0 THEN yn:=0 END為了每行輸出為了每行輸出5個(gè)數(shù),還需增加一個(gè)變量個(gè)數(shù),還需增加一個(gè)變量counter來計(jì)數(shù)。來計(jì)數(shù)。Program T5_001; var I,n,yn,cou
50、nter:integer; begin writeln();counter:=1; Write(2,); for i:=3 to 100 do begin n:=1;yn:=1; while nsqrt(i) do begin n:=n+1; if I mod n=0 then yn:=0; end; if yn=1 then begin counter:=counter+1; if counter mod 5 =0 then writeln(i) else write (I,); end;if end;forEnd.main整理課件T5_002 驗(yàn)證哥德巴赫猜想(任何充分大的偶數(shù)都可由兩個(gè)素
51、數(shù)之和表示)。將42*s(s1000)中的所有偶數(shù)分別用兩個(gè)素?cái)?shù)之和表示。 哥德巴赫猜想是:對任一充分哥德巴赫猜想是:對任一充分大的偶數(shù)大的偶數(shù)even,可以找到兩,可以找到兩個(gè)素?cái)?shù)個(gè)素?cái)?shù)p、q。使得。使得even=p+q即即1+1問題。問題。此問題還未得到最后的證明。此問題還未得到最后的證明。我們這里只是對有限范圍內(nèi)的我們這里只是對有限范圍內(nèi)的數(shù),用計(jì)算機(jī)加以驗(yàn)證,不數(shù),用計(jì)算機(jī)加以驗(yàn)證,不算嚴(yán)格證明。算嚴(yán)格證明。讀入偶數(shù)讀入偶數(shù)even,將它分成,將它分成p和和q,使使even=p+q。p從從2開始(每次加開始(每次加1),),q=even-p。如果。如果p、q均為均為素?cái)?shù),則輸出結(jié)果,否
52、則將素?cái)?shù),則輸出結(jié)果,否則將p加加1再試。再試。整理課件整理課件作業(yè):程序找錯(cuò)誤(一)整理課件作業(yè):程序找錯(cuò)誤(二)整理課件作業(yè):程序找錯(cuò)誤(三)PROGRAM T5_005; VAR ch:char; ZiMu,ShuZi,FuHao:integer; BEGIN ZiMu:=0; ShuZi:=0; FuHao:=0; WHILE ch? BEGIN read(ch);IF (chA) AND (cha) AND (ch=48 AND ord(ch)=57 THEN ShuZi:=ShuZi+1 ELSE FuHao:=FuHao+1; END; writeln(Zi Mu Ge Shu:
53、 ,ZiMu); writeln(Shu Zi Ge Shu: ,ShuZi); writeln(Qi Ta Fu Hao Ge Shu: ,FuHao) END.整理課件T5_003 “百錢買百雞”是我國古代的著名數(shù)學(xué)問題,內(nèi)容是3文錢可以買1只公雞,2文錢可以買1只母雞,1 文錢可以買3只小雞。用了100文錢買了100只雞,問有多少只公雞、母雞、小雞?1001003123zyxzyx整理課件第6課 PASCAL語言數(shù)據(jù)類型數(shù)據(jù)類型簡單類型標(biāo)準(zhǔn)類型用戶自定義類型整型實(shí)型字符型布爾型枚舉類型子界類型構(gòu)造類型集合類型數(shù)組類型字符串類型記錄類型指針類型文件類型整理課件6.1.1整型的運(yùn)算整理課件例
54、T6_000: 如果變量A 既能被7整除又能被11整除,寫成PASCAL表達(dá)式:(A mod 7=0) and (A mod 11=0)例例 T6_001: T6_001: 求水仙花數(shù)。求水仙花數(shù)。所謂水仙花數(shù),如所謂水仙花數(shù),如ABCABC,如果滿足如果滿足A A3 3+B+B3 3+C+C3 3=ABC=ABC,則,則ABCABC稱為水仙花數(shù)。稱為水仙花數(shù)。 例:例:153=1153=13 3+5+53 3+3+33 3,所,所以以153153就是水仙花數(shù)。就是水仙花數(shù)。分析:此題關(guān)鍵是分解出分析:此題關(guān)鍵是分解出A A、B B、C C a= I div 100 a= I div 100
55、b= I div 10 10 b= I div 10 10* *a a C= I mod 10 C= I mod 10Program T6_001; Var I,a,b,c:longint; begin for I := 100 to 999 do begin a:=I div 100 b:=I div 10- a*10 c:=I mod 10 if i= a*a*a+b*b*b+c*c*c then writeln (is,i) end; end.整理課件6.2: 實(shí)型 這幾種實(shí)數(shù)類型的使用方法與Real的使用方法類似,必須在程序開始打開編譯開關(guān)$N+,這些類別才能被系統(tǒng)識別。整理課件例T6
56、_2: 求 1/1+1/2+2/3+3/5+5/8+前n項(xiàng)(n50)的和。iibaProgram T6_2; $N+ var I,n :integer; a,b,c,e:extended; begin readln(n); a:=0; b:=1;e:=0; for i:=1 to n do begin c:=b;b=a+b;a:=c; e:=e+a/b; end;for writeln(e:20:2)end.main整理課件6.3:字符型(ASCII碼)(1)類型名:)類型名: Char(2)范圍:)范圍:ASCII碼(美國標(biāo)準(zhǔn)信息交換代碼(美國標(biāo)準(zhǔn)信息交換代碼)碼)(3)表示方法:)表示方法
57、:一個(gè)字符一個(gè)字符(4)字符是有序類型,每個(gè)字符都對應(yīng)一個(gè))字符是有序類型,每個(gè)字符都對應(yīng)一個(gè)序號,其中字符序號,其中字符A的序號是的序號是64,字符,字符a的序號是的序號是97。(5)字符類型占內(nèi)存一個(gè)字節(jié)。)字符類型占內(nèi)存一個(gè)字節(jié)。整理課件6.4:布爾型(1)類型名:)類型名:boolean(2)范圍:只有兩個(gè)值)范圍:只有兩個(gè)值false和和true(3)是有序數(shù)據(jù):)是有序數(shù)據(jù): false序號是序號是0, true的序的序號是號是1。即。即ord(false)=0, ord(true)=1. 約定:約定:false true。(4)布爾型占內(nèi)存一個(gè)字節(jié)。)布爾型占內(nèi)存一個(gè)字節(jié)。(5)
58、邏輯運(yùn)算符:)邏輯運(yùn)算符:and、or、not運(yùn)算結(jié)果為運(yùn)算結(jié)果為布爾型。布爾型。整理課件例T6_3: 填寫數(shù)字:求出 中的數(shù)字,并找印算式。8 0 91整理課件程序:整理課件6.5: 枚舉型(1)格式: type 枚舉類型標(biāo)識符=(標(biāo)識符1,標(biāo)識符2,標(biāo)識符n); (2) 特點(diǎn):v枚舉元素只能是標(biāo)識符,不能是數(shù)值常量或字符常量v同一枚舉元素不能出現(xiàn)在兩個(gè)及以上枚舉型定義中v枚舉類型有順序,序列號從0開始 ord(Monday)=0, succ(Friday)=Saturday, pred(Friday)=Thursdayv枚舉類型只能進(jìn)行賦值和關(guān)系運(yùn)算v枚舉變量不允許用read或readln
59、語句進(jìn)行賦值,也不能被write或writeln輸出。 整理課件例T6_4: 有紅、橙、黃、綠、藍(lán)5種顔色的小旗,每次取出3種不同顔色表示不同的信號,輸出所有信號的方案及方案總數(shù)。分析:枚舉值的分析:枚舉值的輸入,一般先輸入,一般先輸入序號,通輸入序號,通過過CASE語句語句將枚舉值相應(yīng)將枚舉值相應(yīng)地賦值給枚舉地賦值給枚舉變量;輸出時(shí),變量;輸出時(shí),通過通過CASE語語句判斷枚舉類句判斷枚舉類型變量的值,型變量的值,輸出相應(yīng)的字輸出相應(yīng)的字符串。符串。Program T6_4;Type color =(red,orange,yellow,green,blue);var m,m1,m2,m3:c
60、olor; s,p:integer; begin s:=0; for m1:=red to blue do for m2:=red to blue do if m1m2 then for m3:= red to blue do if (m3m1) and (m3m2) then begin s:=s+1 write (s,:); for P:=1 to 3 do begin case p of 1: m:=m1; 2: m:=m2; 3: m:=m3; end;case pcase m ofred: write(red:8);orange:write(orange:8);yellow:writ
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房屋租賃擔(dān)保合同模板4篇
- 2024蘋果加工副產(chǎn)品深加工技術(shù)研發(fā)合同3篇
- 2025年度彩色激光打印機(jī)租賃及升級服務(wù)合同模板3篇
- 雪人的創(chuàng)意課程設(shè)計(jì)
- 年度雕刻雕銑設(shè)備控制系統(tǒng)競爭策略分析報(bào)告
- 2025年獼猴桃種植技術(shù)培訓(xùn)土地租賃與農(nóng)民增收合同4篇
- 2025年度個(gè)人二手房交易合同模板環(huán)保裝修服務(wù)版3篇
- 2025年離婚風(fēng)險(xiǎn)防范:協(xié)議離婚與訴訟離婚適用條件合同3篇
- 二零二五年度苗木出口業(yè)務(wù)代理銷售合同4篇
- 二零二五版智能門窗控制系統(tǒng)集成與安裝服務(wù)合同4篇
- 常見老年慢性病防治與護(hù)理課件整理
- 履約情況證明(共6篇)
- 云南省迪慶藏族自治州各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 設(shè)備機(jī)房出入登記表
- 六年級語文-文言文閱讀訓(xùn)練題50篇-含答案
- 醫(yī)用冰箱溫度登記表
- 零售學(xué)(第二版)第01章零售導(dǎo)論
- 大學(xué)植物生理學(xué)經(jīng)典05植物光合作用
- 口袋妖怪白金光圖文攻略2周目
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標(biāo)準(zhǔn)
- 三年級下冊生字組詞(帶拼音)
評論
0/150
提交評論