Freepascal培訓(xùn)(初級)_第1頁
Freepascal培訓(xùn)(初級)_第2頁
Freepascal培訓(xùn)(初級)_第3頁
Freepascal培訓(xùn)(初級)_第4頁
Freepascal培訓(xùn)(初級)_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Pascal 語言(小學(xué)版)小小程序員社團活動培訓(xùn)教案2015年下學(xué)期Pascal是什么Pascal是一種計算機高級語言,它是由瑞士的沃斯教授于1971年提出的。它的命名是為了紀念法國數(shù)學(xué)家Pascal。Pascal的兩個主要版本:Turbo Pascal和FreePascalFreePascal是優(yōu)秀的結(jié)構(gòu)化程序設(shè)計語言。學(xué)好Pascal,可以參加每年一次的長沙市程序員操作競賽,可以成為一個計算機軟件設(shè)計師。第一階段培訓(xùn)目標(biāo)u了解計算機基礎(chǔ)知識u認識Free Pascalu學(xué)習(xí)pascal語言基礎(chǔ)知識u掌握Pascal的三個簡單語句u學(xué)會設(shè)計順序結(jié)構(gòu)的程序一、計算機的基礎(chǔ)知識計算機的成長史計

2、算機的組成預(yù)防計算機中毒數(shù)制計算機語言第一臺計算機 1946年美國,名字埃尼阿克,由1800個電子管組成,重30噸。計算機的成長史 第一代:電子管 第二代:晶體管 第三代:集成電路 第四代:大規(guī)模集成電路計算機的成長史計算機硬件的組成主機顯示器鼠標(biāo) 鍵盤(輸出設(shè)備)(輸入設(shè)備)主機中央處理器(CPU)存儲器內(nèi)存儲器外存儲器ROM斷電還有RAM斷電沒有硬盤硬盤光盤光盤U盤盤計算機的存儲容量B是計算機存儲容量的最小單位,稱為字節(jié)。KB稱為千字節(jié)。 1KB1024BMB稱為兆字節(jié)。 1MB1024KBGB稱為千兆字節(jié)。 1GB1024MB一個漢字和中文標(biāo)點占兩個字節(jié)1GB= MB= KB= B102

3、41024*10241024*1024*1024計算存儲量一篇作文含標(biāo)點512個字符,占_個字節(jié)B,_千字節(jié)KB。一本100萬字的長篇小說,用估算法,可以估算成_個字節(jié)B,_個千字節(jié)KB,_個兆字節(jié)MB。一個8GB的U盤,大概可以存放_本這樣的長篇小說。102412000000200024000 軟件,指存放在計算機中的文件,只有通電后才能看到。操作系統(tǒng)軟件 Windows UNIX MAC Linux應(yīng)用程序軟件 辦公、游戲、聽歌、聊天、視頻計算機軟件的組成預(yù)防計算機中毒什么是計算機病毒? 人為惡意編制的程序。計算機病毒有什么特點? 傳染性、繁殖性、潛伏性、破壞性怎么預(yù)防?安裝殺毒軟件殺毒升

4、級殺毒軟件金山毒霸、360殺毒、瑞星殺毒安裝病毒防火墻。1.嚴禁使用帶病毒的U盤數(shù)制:計算機是怎樣處理信息的?計算機由大量電子元件組成的。電子元件只有兩種穩(wěn)定的狀態(tài)。我們可以用1和0表示兩種狀態(tài)。計算機能直接識別的數(shù)據(jù)只有1和0。其它的數(shù)據(jù)都要先轉(zhuǎn)化成1和0才能被計算機識別。用1和0寫成的數(shù)據(jù)稱為二進制代碼。計算機對信息的處理都是用二進制代碼進行的。二進制與十進制的區(qū)別基本數(shù)字(基數(shù))進位規(guī)則舉例十進制0,1,2,3,4,5,6,7,8,9逢十進一1+1=210+1=1111+1=12二進制0, 1逢二進一1+1=1010+1=1111+1=100十進制與二進制轉(zhuǎn)化十進制二進制00112103

5、11410051016110711181000十進制二進制9100110101011101112110013110114111015111116100001710001十進制化為二進制法則:除以2,直到商為0,余數(shù)倒著寫。舉例: 1427-023-121-120-11929-124-122-021-020-1所以(14)10=(1110)2(19)10=(10011)2二進制轉(zhuǎn)化為十進制法則:基數(shù)乘以2的n次方,相加求和。 基數(shù):二進制數(shù)中各數(shù)位的數(shù),0和1。 求2的n次方:求n個2相乘,如23=222, 規(guī)定:20=1, 21=2,舉例 ( 1 1 1 0 1 )2 = ( ) 101201

6、1=102102 012214412318 81241161616+8+4+0+12929可省略二進制轉(zhuǎn)化為十進制求2的n次方,是求n個2的乘積,不是2乘n的積從最右邊數(shù)起,n依次為0,1,2,3,4規(guī)定:20=1, 21=2 22=224 23=222=8 24=222216 25=22222 32 2n=2222N個2相乘常見錯誤:23=23=624=24=825=25=10二進制轉(zhuǎn)化為十進制法則:基數(shù)乘以2的冪,相加求和。練習(xí) ( 1 1 0 1 0 1 )2 = ( ) 101201102102 012214402308 0124116 1632+16+0+4+0+1535312513

7、2 32可省略可省略比較數(shù)的大?。?111111)2 (10000000)2數(shù)位多的數(shù)值大(110100010)2 (101010110)2數(shù)位相等時,從最高位(最左邊)開始比較(110111)2 (55)10化為相同的進制再比較=計算機語言按發(fā)展順序分類:機器語言匯編語言高級語言二、認識 FreePascal啟動FreePascal方法1:雙擊桌面 快捷圖標(biāo)方法2: 利用“開始 菜單”Pascal 的窗口界面單擊File菜單New命令可建立一個新的程序窗口。標(biāo)題欄菜單欄當(dāng)前程序文件名編輯區(qū)滾動條狀態(tài)欄退出FreePascal方法1:單擊文件 菜單Exit方法2: 同時按 Alt和X鍵方法3:

8、 單擊XX退出FreePascal怎樣編寫Pascal程序建立新程序New輸入源程序保存源程序Save編譯源程序Compile運行程序Run調(diào)試程序output保存程序F2體驗Pascal源程序內(nèi)容:Program zm;Var i:char;beginfor i:=a to z doWrite (i:4);Writeln;end.提示:大小寫無區(qū)別,單詞不能錯,標(biāo)點不能錯,空格不能錯。建立新程序New輸入源程序保存源程序Save編譯源程序Compile運行程序Run調(diào)試程序output保存程序F2三、pascal語言基礎(chǔ)知識Pascal基本符號Pascal保留字Pascal標(biāo)識符Pascal

9、數(shù)據(jù)類型常量變量Pascal標(biāo)準(zhǔn)函數(shù)Pascal運算符號Pascal的表達式ASCII碼Pascal程序的結(jié)構(gòu)Pascal的基本符號英文字母52個 abcdexyz, ABCDXYZ。數(shù)字10個 0123456789特殊符號21個 + - * / = = () := . , ; : .不允許出現(xiàn)漢字與希臘字母如:Pascal保留字規(guī)定了特殊含義不能隨意亂用的英文單詞稱為保留字。1、程序、函數(shù)、過程的起始符號 Program function procedure2、說明部分的專用符號 Var const array type3、語句專用符號 If then else case of for to

10、 do while repeat until4、運算符號 and or not mod div 5、分隔符號 begin endPascal標(biāo)識符 用來表示程序名、變量名、常量名、類型名、過程名或函數(shù)名的符號。1、標(biāo)準(zhǔn)標(biāo)識符(軟件預(yù)先定義好,不能隨意亂用)標(biāo)準(zhǔn)常量名: false true maxint標(biāo)準(zhǔn)類型名:integer real char boolean 標(biāo)準(zhǔn)函數(shù)名:abs chr ord odd pred succ round trunc sqr sqrt 標(biāo)準(zhǔn)過程名: read readln write writeln2、自定義標(biāo)識符我們自己給程序、變量、常量、類型、函數(shù)和過程取

11、的名字。要求:必須以字母或下劃線開頭,后面接字母、下劃線或數(shù)字。如:yuan_mianji , x , y, x01 , _x01 ,_123, xinming 正確 123,3x, _3.1x, zhou.chang, _x*#,a bb 錯誤 Pascal的數(shù)據(jù)類型整數(shù)型名稱類型標(biāo)志符 數(shù)據(jù)范圍運算符號字節(jié)型Byte0-255+ (加)-(減) *(乘)mod(求余數(shù)) div(求商) 例: 25 div 10=2 25 mod 10=5 2*10+5=25短整型Shortint-128127標(biāo)準(zhǔn)型integer-3276832767字型Word065535長整型longint-21474

12、836482147483647實數(shù)(帶小數(shù)點)類型名稱類型標(biāo)識符 數(shù)據(jù)范圍運算符號標(biāo)準(zhǔn)實型real-1x10-381x1038+(加)-(減)*(乘)/(除)實數(shù)與實數(shù)運算的結(jié)果仍然是實數(shù),如:3.5/0.7=5.0整數(shù)與實數(shù)運算的結(jié)果也是實數(shù),如:5*0.2+2=3.0實數(shù)的2種表示方法:日常表示法,如 0.0314, 314科學(xué)計數(shù)法,如 0.0314=3.14x10-2=3.14e-2 314=3.14x102=3.14e+2字符類型夾在兩個單引號之間的一個字符名稱類型標(biāo)識符數(shù)據(jù)范圍運算符號字符型char鍵盤上的所有數(shù)字、字母、符號、空格例如: a表示字符a A表示字符A +表示字符+

13、表示字符空格注意:0表示字符0,但0表示整數(shù)0,8表示字符8,但8表示整數(shù)8 字符串類型在兩個單引號之間存在多個字符時稱為字符串。例如abc表示字符串a(chǎn)bc, name表示字符串name名稱類型標(biāo)識符數(shù)據(jù)范圍運算符號字符串型string鍵盤上的所有數(shù)字、字母、符號、空格+例:na+me=name布爾類型布爾類型也稱為邏輯類型。名稱類型標(biāo)識符數(shù)據(jù)范圍運算符號布爾型booleanfale(真) true(假not (非)and(并且)or (或者)布爾類型運算的順序為: notandor常量在程序運行過程中保持不變的量叫做常量。標(biāo)準(zhǔn)常量:maxint(最大值32767)true(真)false(假

14、)允許自定義常量自定義常量的格式: const 常量標(biāo)識符 = 常量;例:const pi=3.14; xm=liping; gao=160; nan=true; 變量在程序執(zhí)行過程中可以改變的量,叫做變量。變量必須先說明其類型,才能在程序中使用。變量說明的格式: var 變量標(biāo)志符:類型例1: var tizhong:real; nianling:integer; chuqin:boolean; dengdi:char 例2:var a,b:integer; C,d:real; X,y:boolean;Pascal的標(biāo)準(zhǔn)函數(shù)函數(shù)是一種按照某種法則,利用原始數(shù)據(jù)運算出一個新結(jié)果的功能。函數(shù)應(yīng)用

15、的形式是: 函數(shù)名(原始數(shù)據(jù))例如:trunc(x)trunc是函數(shù)名,功能是刪去原始數(shù)據(jù)x的小數(shù)部分。所以trunc(3.98)=3其中3.98是原始數(shù)據(jù)的值,3稱為函數(shù)的值數(shù)學(xué)函數(shù)名稱標(biāo)志符定義舉例絕對值abs(x)求x的絕對值abs(8)=8abs(-8)=8平方sqr(x)求x的平方sqr(3)=9sqr(4)=16平方根sqrt(x)求x的平方根sqrt(81)=9sqrt(49)=7轉(zhuǎn)換函數(shù)名稱標(biāo)志符定義舉例截尾函數(shù)trunc(x)刪去x的小數(shù)部分trunc(59.9)=59trunc(59.1)=59舍入函數(shù)round(x)對x四舍五入round(59.5)=60round(59

16、.4)=59序號函數(shù)ord(x)求x的ASCII碼ord(A)=65ord(0)=48字符函數(shù)chr(x)求ASCII碼為x的字符chr(65)=Achr(97)=a順序函數(shù)名稱標(biāo)志符定義舉例前導(dǎo)函數(shù)pred(x)求x的前面相鄰數(shù)據(jù)pred(c)=bPred(100)=99后續(xù)函數(shù)succ(x)求x的后面相鄰數(shù)據(jù)succ(y)=zSucc(100)=101邏輯函數(shù)名稱標(biāo)志符定義舉例奇數(shù)函數(shù)odd(x)判斷x是否為奇數(shù)odd(23)=trueodd(12)=falsePascal的運算符算術(shù)運算符號關(guān)系運算符號邏輯運算符號加號減號乘號除號求商求余+-*/divmod等號不等號大于號小于號大于等于

17、號小于等于號=60 y是整數(shù),那么表示y是偶數(shù)的關(guān)系表達式是y mod 2=0邏輯表達式例:a是某個整數(shù),它既能被3整除,又能被5整除那么寫成邏輯表達式是:(a mod 3=0) and (a mod 5=0)yx yxASCII碼(美國標(biāo)準(zhǔn)信息交換碼) 怎樣記住每個數(shù)字、大寫字母、小寫字母在ASCII碼表中的序號?0 48,A 65, 小寫再加32Pascal源程序的結(jié)構(gòu)程序首部程序體 (1)說明部分 (2)執(zhí)行部分Program cfxmj;Var a,b,s:integer;Begina:=4;b:=6;s:=a*b;Writeln(s=,s);Writeln;End.程序保留字+程序名

18、; 說明常量(變量)名對應(yīng)的類型。是程序的執(zhí)行部分,以begin開始,end.結(jié)束。每一行語句執(zhí)行一個確定的功能。語句間以 “;” 格開。四、pascal的簡單語句賦值語句輸入語句(read、readln)輸出語句 (write、writeln)編程算法編程流程圖賦值語句為變量提供數(shù)據(jù)的語句,具有計算和賦值的功能。格式: 變量標(biāo)志符 := 表達式賦值語句的功能:先計算表達式的值,然后把表達式的值賦給變量。 “:=”稱為賦值符號。 例:a:=1; 它的含義是:把整數(shù)1賦值給變量a; a:=b; 它的含義是:把變量b的值賦給變量a; c:=5*2 ; 它的含義是:先計算5*2=10,再把10賦給變

19、量c; x:=-x; 它的含義是:先把x的值改變符號,再賦值給變量x; i:=i+1; 它的含義是:先i的原值加1,再賦值給變量i;分析程序,說明各語句的作用Pascal程序文件名為x01;定義常量 常量名為a,值為整數(shù)8;定義變量 b和c都是標(biāo)準(zhǔn)整數(shù)型變量; d是標(biāo)準(zhǔn)實數(shù)型變量;計算表達式a mod 3的值為2,賦值給變量b;計算表達式a*b的值為10,賦值給變量c;將變量a的值賦給d,因為d是實數(shù)類型,所在d的值為8.0Program x01;Const a=8;Var b,c:integer; d:real;Beginb:=a mod 3;c:=a*b;d:=a;end.使用 := 要注

20、意賦值符號“:=”不能與運算符號“=”相混淆。賦值號兩邊的類型必須相等。一個賦值語句只能給一個變量賦值。對一個變量可以進行多次賦值。Var Begina,b,c,d:integer; a:=2;x,y:real; b,c:=3; x:=3.14; y=x; d:=x; x:=a; End.你能找出錯誤嗎?計算變量的值Var a,b,c:integer;Begina:=1;b:=2;c:=3;c:=c*a;a:=4;b:=a;c:=c*a;End.c第二次被賦值,3*1=3a第二次被賦值為4b第二次被被賦值為a的值4c第三次被賦值,3*4=12輸入語句(read,readln)在程序運行過程中,

21、通過鍵盤輸入變量的值的語句。輸入語句的格式格式1:read(變量表);格式2:readln變量表;它們的區(qū)別: 格式1后面必須帶變量; 格式2后面可以帶變量,也可以不帶變量。格式1:read(變量表)變量表:可以是單個變量名,也可以是用逗號隔開的多個變量名。輸入多個數(shù)據(jù)時,之間用空格隔開。輸入結(jié)束時用回車鍵,var執(zhí)行語句鍵盤輸入執(zhí)行結(jié)果x:integerread(x)62x=62a,b,c:integer;read(a,b,c)3 5 8a=3,b=5,c=8a,b,c:char;read(a,b,c)jina=j,b=i,c=nx:integer;y:real; z:char;read(x

22、,y,z)2 4 aX=2,y=4.0,z=a格式1:read(變量表)鍵盤上輸入的數(shù)據(jù)必須與變量類型保持一致。輸入多個字符變量時,中間不能用空格隔開,因為空格也是字符。var執(zhí)行語句鍵盤輸入執(zhí)行結(jié)果x:integerread(x)3.14出錯a,b,c:integer;read(a,b,c)358a=358等待輸入a,b,c:char;read(a,b,c)N o wa=N,b= ,c=oa,b,c:char;read(a,b,c)Nowa=N,b= o ,c=wx:real;y:integer; z:char;read(x,y,z)4.3 2a出錯格式1:read(變量表)當(dāng)輸入的數(shù)據(jù)個數(shù)

23、少于變量個數(shù)時,系統(tǒng)仍處于等待狀態(tài)。當(dāng)輸入的數(shù)據(jù)個數(shù)多于變量個數(shù)時,多余的數(shù)據(jù)在當(dāng)前read語句中不起作用。var執(zhí)行語句鍵盤輸入執(zhí)行結(jié)果x:integerread(x)3 4 5 6x=3a,b,c:integer;read(a,b,c)358a=358等待輸入a,b,c:char;read(a,b,c)2345a=2,b=3,c=4格式2:readln變量表執(zhí)行readln語句后,本行多余的數(shù)據(jù)徹底忽略。read(a);read(b,c,d,e);read(f,g);1 2 34 5 67 8 9a=1b=2,c=3,d=4,e=5f=6,g=7readln(a);readln(b,c,d

24、,e);readln(f,g)1 2 34 5 67 8 9a=1b=4,c=5,d=6,e=7f=0,g=0read(a);readln(b,c,d,e);readln(f,g)1 2 34 5 67 8 9a=1b=2,c=3,d=4,e=5f=7,g=8格式2:readln執(zhí)行readln語句不帶變量表,表示讀入一個回車鍵。readln(x);readln;readln(y,z);1 2 3 4 5 6 x=1y=5,z=6Pascal的輸出語句輸出語句的作用:把程序處理的結(jié)果通過屏幕顯示出來。輸出語句的格式:格式1:write(輸出表)輸出表:用逗號隔開的輸出項,輸出項可以是一個,也可

25、以多個。輸出項:(常數(shù),常量,變量、表達式或字符串)Write(常數(shù))常數(shù)整數(shù)如 2,-3,0小數(shù)如3.14,-3.14字符如a, A, 2, *, +舉例Write(123);123Write(3.15);03.15E+0Write(A); AWrite(常量)Const pi=3.14; xm=liping舉例Write(pi);03.14E+0Write(xm);lipingWrite(變量)變量整數(shù)型Var x:integer;實數(shù)型Var y:real;字符型Var ch:char;舉例x:=12;Write(x);12y:=3.1415 ; Write(y);03.1415E+0C

26、h:=#;Write(ch)#Write(表達式)變量整數(shù)型Var x:integer;實數(shù)型Var y:real;字符型Var ch:char;舉例x:=12;Write(x+8);20y:=3.1415 ; Write(round(y); 3Ch:=#;Write(ord(ch)35Write(字符串)Var ch:string; Ch:= jinjingzhongxueWrite(ch);jinjingzhongxueWrite(jiningzhongxue);jinjingzhongxue用 引起的一串字符,稱為字符串。Write(輸出表)編程計算5x7Program x02;Cons

27、t a=5; b=7;Var c:integer;begin c:=a*b; write(a,*,b,=,a*b);end.程序首部說明部分執(zhí)行部分程序體5*7=35Write(輸出表)編程計算5x7Program x02;Const a=5; b=7;Var c:integer;begin c:=a*b; write(a*b=,a*b);end.程序首部說明部分執(zhí)行部分程序體a*b=35Write (輸出表)編程計算5x7Program x02;Const a=5; b=7;Var c:integer;begin c:=a*b; write(a,b,c);end.程序首部說明部分執(zhí)行部分程序

28、體5735設(shè)置輸出場寬場寬:數(shù)據(jù)在輸出時所占據(jù)的列數(shù)。每個字符都只占1個場寬。默認情況下,數(shù)據(jù)都是靠左輸出。例:const a=2008; ch=!;Begin Writeln(a); Writeln(happy); writeln(HAPPY); Writeln(ch);End.2008happyHAPPY!設(shè)置輸出場寬單場寬 格式: 輸出項:場寬例:const a=2008; ch=!;Begin Writeln(a:6); Writeln(happy:9); writeln(new:10); Write(year:13); Writeln(ch);End.0020080000happy0

29、000000new000000000year!設(shè)置輸出場寬雙場寬 格式: 輸出項:總場寬:小數(shù)位數(shù)例:const a=314.15; b=-0.0314;Begin Writeln(a); Writeln(b);End.03.1415E+2-3.14E-2例:const a=314.15; b=-0.0314;Begin Writeln(a:6:2); Writeln(b:7:4);End.314.15-0.0314設(shè)置輸出場寬雙場寬 格式: 輸出項:總場寬:小數(shù)位數(shù)例:const a=314.15; b=-0.0374;Begin Writeln(a:8:2); Writeln(b:8:2)

30、;End.00314.15000 -0.04例:const a=314.15; b=-0.0374;Begin Writeln(a:1:2); Writeln(b:1:2);End.314.15-0.04輸出值沒有達到總場寬時,左邊留空格。輸出值超過總場寬時,按輸出值的實際位數(shù)輸出。Pascal的輸出語句格式2:writeln(輸出表)特點:1、輸完最后一項后換行。 2、允許沒有輸出項,僅起到換行的作用。Const a=5; b=7;Var c:integer;begin writeln; writeln(a); writeln(b); writeln(a*b);end.5735Const a

31、=5; b=7;Var c:integer;begin write (a); write (b); write (a*b);end.5735Pascal程序的最后一個輸出語句通常使用writeln語句。寫出下面程序的運行結(jié)果Const p=3.14;Var r,s,c:real;Beginr:=10;c:=2*p*r;s:=p*sqr(r);write(c=);Writeln(c:6:2);Writeln(s=,s:6:1);End.Var a,b:integer; c:real; d:char;begin a:=ord(A)-1; b:=succ(sqrt(a); a:=trunc(b/5)

32、; c:=(a+b)*0.01; d:=chr(a*10) ;write(a=, a);writeln(b=:4, b);writeln(c=, c:2:1);writeln(d:4);end.編程需要好算法利用計算機解題的步驟分析問題設(shè)計算法編寫程序執(zhí)行程序把實際問題轉(zhuǎn)化為數(shù)學(xué)問題設(shè)計求解的方法和步驟用pascal語言實現(xiàn)算法在計算機上調(diào)試和運行程序好的算法確定性可行性輸入輸出求100以內(nèi)所有偶數(shù)的和算法1:算法2:算法3:共執(zhí)行49個步驟2+46+612+820+1030+122450+100第48次后求1+2+3+48+49+50求(1+2+3+49+50)x21+ 50(1+ 50)*

33、25(1+ 50)*25*2共執(zhí)行3個步驟求2+4+6+96+98+1002+ 100(2+ 100)*25共執(zhí)行2個步驟Program oushuhe;Var s:integer;BeginS:=(2+100)*25;Writeln(s=,s);End.求100以內(nèi)所有偶數(shù)的和Program oushuhe;Var s:integer;BeginS:=(2+100)*50 div 2;Writeln(s=,s);End.已知某等差數(shù)列的第一個數(shù)為a1,最后個數(shù)為an,相鄰兩個數(shù)的差值為b,求這個數(shù)列的和s。Program shulie;Var x,a1,an,b,s:integer;Begi

34、nReadln(a1,an,b);x:=(an-a1)div b +1;S:=(a1+an)*x div 2;Writeln(s);End.45 261 311169怎樣表述算法1、自然語言如:將“變量a賦值為100”,寫成“a 100” 輸出變量a的值,寫成“輸出a”2、流程圖3、N-S圖ABPABAA順序結(jié)構(gòu)選擇結(jié)構(gòu)當(dāng)型循環(huán)直到型循環(huán)是是是當(dāng)P1直到P2輸入兩個整數(shù),輸出其中較大的數(shù)分析問題: 定義兩個整數(shù)型變量a,b,用readln語句給變量賦值,比較變量a和b的值,如果a的值大就輸出a,否則(如果b的值大)就輸出b。N-S圖讀入(a,b) ab是 否輸出a輸出b順序結(jié)構(gòu)程序設(shè)計有2輛汽

35、車,A車裝50箱蘋果,B車裝100袋大米。想把兩車內(nèi)貨物交換,試編寫程序。分析問題 交換車內(nèi)貨物需要借助第3個空間。CABCABCABCCCAAABBB算法1:設(shè)A車為變量a,B車為變量b,空地為變量c,并將a,b,c定義為整數(shù)。 (1) 用賦值語句對a,b賦值(相同于裝貨): (2) 交換a,b的值: c:=b; b:=a; a:=c; (3) 輸出結(jié)果: writeln(a,b);程序1:var a,b,c:integer;Begin a:=50; b:=100; c:=b; b:=a; a:=c; Writeln(a=,a); Writeln(b=,b);End.CCCAAABBB算法2

36、:設(shè)A車為變量a,B車為變量b,空地為變量c,并將a,b,c定義為整數(shù)。 (1) 用輸入語句對a,b賦值(相當(dāng)于裝貨): (2) 交換a,b的值: c:=b; b:=a; a:=c; (3) 輸出結(jié)果: writeln(a,b);程序2:var a,b,c:integer;Begin readln(a,b); c:=b; b:=a; a:=c; Writeln(a=,a); Writeln(b=,b);End.算法:(1)用readln(a,b)語句輸入長和寬的值。(2)用賦值語句計算面積s;(3)用賦值語句計算周長c;(4)用writeln(s,c)語句輸出面積和周長。Var a,b,s,c

37、:integer;beginreadln(a,b);s:=a*b;c:=(a+b)*2;writeln(s=,s);writeln(c=,c);end.問題:已知長方形的長和寬,求該長方形的面積和周長。分析:設(shè)變量a,b,s,c分別表示長、寬、面積、周長,由于不知長和寬的具體數(shù),所以只能采用readln(a,b)語句輸入長和寬。根據(jù)數(shù)學(xué)公式s=a*b; c=(a+b)*2計算出面積和周長。問題:已知一個圓的半徑為3.5cm,求該圓的面積和周長。說明部分執(zhí)行部分問題:輸出右邊的圖形說明部分執(zhí)行部分#算法:(1)用readln(ch)語句輸入字符。(2)輸出ch的序號;(3)輸出ch的前導(dǎo)值;(4

38、)輸出ch的后導(dǎo)值。Var ch:char;beginreadln(ch);Writeln(ord(ch);Writeln(pred(ch);writeln(succ(ch);end.問題:輸入一個字符,輸出它的序號、前導(dǎo)值及后續(xù)值。分析:設(shè)ch為字符類型變量,用readln(ch)語句輸入字符。用函數(shù)ord(ch)求字符的序號,用函數(shù)pred(ch)求字符的前導(dǎo)值,用函數(shù)succ(ch)求字符的后續(xù)值。選擇結(jié)構(gòu)程序設(shè)計條件(if )語句兩種形式格式1:if 條件為真 then 語句 1;格式2: if 條件為真 then 語句 1 else 語句2 條件 真 語句1 條件 真 假 語句1 語

39、句2程序:輸入一個整數(shù),判斷它是奇數(shù)還是偶數(shù)。說明部分執(zhí)行部分Var n:integer;beginreadln(n);if n mod 2=0 then writeln(n,-shioushu) else writeln(n,-shijishu);end;復(fù)合語句復(fù)合語句格式:begin語句1;語句2; . .語句nend;程序:輸入兩個數(shù),將其中大數(shù)存入變量a,小數(shù)存入變量b。說明部分:執(zhí)行部分 begin end.Var a,b,c:integer;readln(a,b);If ab 假Zdz:=a;Zdz:=b;真 czdz 假Zdz:=c;輸出zdzVar a,b,c,zdz:int

40、eger;beginreadln(a,b,c);if ab then zdz:=a else zdz:=b;if czdz then zdz:=c;Writeln(zdz);End.條件(if)語句嵌套(1)then 后面接if 語句 格式: if 條件1為真 then if 條件2為真 then語句1(1) else 語句1(2) else 語句2 n為考生成績,輸出成績對應(yīng)的等級。90100為優(yōu)秀,6089為合格,0-59為不合格Var n:real;beginreadln(n);if n =60 then if n=90 then writeln(youxiu)else writeln(

41、hege)else writeln(buhege);end.(2)else 后面接if 語句 格式: if 條件1為真 then 語句1 else if 條件2為真 then語句2(1) else 語句2(2) 條件(if)語句嵌套n為考生成績,輸出成績對應(yīng)的等級。90100為優(yōu)秀,6089為合格,0-59為不合格Var n:real;Beginreadln(n);if n =90 then writeln(youxiu) else writeln(hege)end.Var n:integer;beginreadln(n);if n mod 2 =0 then if n mod 5=0 the

42、n n:=n div10 else n:=n mod 10 else n:=n +2;Writeln(n);end.寫出程序運行結(jié)果307245Var n:integer;beginreadln(n);if n =20 then writeln(n) else writeln(n-5)end. 12745寫出程序運行結(jié)果分情況(case)語句在同時出現(xiàn)多個條件時,根據(jù)具體情況從中選擇一個條件運行的語句。格式1: case 表達式 of 數(shù)值1:語句1; 數(shù)值2:語句2; . . 數(shù)值n:語句n; end;輸入某個月份,輸出該月的節(jié)日。Var n:integer;beginreadln(n);C

43、ase n of 1: writeln(元旦); 3:writeln(婦女節(jié)); 5:writeln(勞動節(jié)); 6:writeln(兒童節(jié)); 9:writeln(教師節(jié)); 10:writeln(國慶節(jié));2,4,7,8,11,12:writeln(沒有節(jié)日) end;end.輸入考試成績,輸出考試等級。Var n:real;beginreadln(n);Case trunc(n) of 0.59: writeln(不及格); 60.84:writeln(合格); 85.100:writeln(優(yōu)秀); end;end.格式2: Case 表達式 of 數(shù)值1:語句1; 數(shù)值2:語句2;

44、. . 數(shù)值n:語句n; else 語句n+1; end;分情況(case)語句輸入某個月份,輸出該月的節(jié)日。Var n:integer;beginreadln(n);Case n of 1: writeln(元旦); 3:writeln(婦女節(jié)); 5:writeln(勞動節(jié)); 6:writeln(兒童節(jié)); 9:writeln(教師節(jié)); 10:writeln(國慶節(jié)) else writeln(沒有節(jié)日); end;end.輸入考試成績,輸出考試等級。Var n:real;beginreadln(n);Case trunc(n) of 0.59: writeln(不及格); 60.84

45、:writeln(合格); 85.100:writeln(優(yōu)秀) else writeln(數(shù)據(jù)錯誤); end;end.輸入年月,輸出該月天數(shù)。Var n,y,t:integer;k:booleanbeginreadln(n,y);K:=(n mod 4=0)and (n mod 1000) or(n mod 400=0);Case y of1,3,5,7,8,10,12: t:=31; 4,6,9,11: t:=30; 2: if k=true then t:=29 else t:=28; end;Writeln(n,nian,y,yueyou,t,tian);end.寫出程序運行結(jié)果Va

46、r n,y:integer;beginreadln(n,y);Case n mod 3 of 0: if ny then n:=n-y; 1: if ny then y:=y-n; 2: if y mod 2=0 then y:=y+1 else y:=y+n;end;Writeln(n,y:10);end.7 2145 128 6循環(huán)結(jié)構(gòu)程序設(shè)計統(tǒng)計表中每位學(xué)生的總分學(xué)號數(shù)學(xué)語文英語總分10011002100310041005Var xh,sx,yw,yy,zf:integer;Beginreadln(xh,sx,yw,yy);zf:=xh+xh+yw+yy;Writeln(xh,zf);.

47、end.Var xh,sx,yw,yy,zf,i:integerBeginFor i:=1001 to 1005 doBeginreadln(xh,sx,yw,yy);zf:=sx+yw+yy;Writeln(i,zf);end;End.計數(shù)循環(huán)(for)語句格式1:遞增型(for)循環(huán) for 循環(huán)變量:= 初值 to 終值 do 循環(huán)語句舉例: var i,j,k:integer; c:char; begin for i:= 1 to 10 do write(#); for j:= 5 to 15 do write(*); for k:= 1 to 10 do write(k); for c:= a to g do write(c) End.#*12345678910abcdefg寫出程序運行結(jié)果Var i:integer; BeginFor i := 20 to 30 do if i mod 3=0 then write(i:4);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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論