資源描述:
《03-PASCAL語言程序設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、PASCAL語言程序設(shè)計任課教師王養(yǎng)廷主要內(nèi)容過程和函數(shù)數(shù)組記錄指針1過程和函數(shù)函數(shù)與過程過程的定義與調(diào)用函數(shù)的定義與調(diào)用過程與函數(shù)的區(qū)別形參與實參數(shù)值參數(shù)與變量參數(shù)變量的作用域1.1函數(shù)與過程例程例程又稱為子程序,它式結(jié)構(gòu)化程序設(shè)計的產(chǎn)物例程由一系列語句組成,例程名是唯一的,通過例程名你可以多次調(diào)用它。Pascal例程Pascal中的例程有兩種形式:過程和函數(shù)。過程與函數(shù)區(qū)別過程相當(dāng)一個語句函數(shù)相當(dāng)一個值1.2過程的定義與調(diào)用過程定義位置:在變量聲明之后,主程序之前。格式:procedure過程名(形式參數(shù)表);常量定義;類型定
2、義;變量定義;過程或函數(shù)定義begin過程語句體;end;1.2過程的定義與調(diào)用(續(xù))過程調(diào)用位置:同級過程、函數(shù)或同級主程序中格式:過程名(實際參數(shù)表);要求:實參的個數(shù)和類型要與形參匹配1.2過程的定義與調(diào)用(續(xù))實例過程定義procedureNumString(n:integer,vars:array[1..10]ofchar);varv,j:integer;beginv:=abs(n);j:=2;repeats[j]:=chr(vmod10+ord(‘0’));v:=vdiv10;j:=j+1;untilv=0;ifn<0t
3、hens[1]:=‘-’elses[1]:=‘‘end;過程調(diào)用......NumString(-10,str);...1.3函數(shù)的定義與調(diào)用函數(shù)的定義位置:在變量聲明之后,主程序之前。格式:function函數(shù)名(形式參數(shù)表):類型;常量定義;類型定義;變量定義;過程或函數(shù)定義begin函數(shù)語句體;end;1.3函數(shù)的定義與調(diào)用(續(xù))函數(shù)調(diào)用位置:同級過程、函數(shù)或同級主程序中格式:函數(shù)名(實際參數(shù)表);要求:實參的個數(shù)和類型要與形參匹配1.3函數(shù)的定義與調(diào)用(續(xù))實例函數(shù)定義functionmax(a,b:integer):rea
4、l;varm:integer;beginm:=a;if(b>a)thenm:=b;max:=m;end;函數(shù)調(diào)用......x:=max(x,y);......1.4過程與函數(shù)的區(qū)別區(qū)別在程序中的語法成分不同函數(shù)有類型說明函數(shù)要求有返回值為什么定義兩種例程pascal嚴(yán)格區(qū)分語句和表達(dá)式,分別設(shè)計了兩種例程。1.5形參與實參形參過程或函數(shù)中,參數(shù)表中定義的參數(shù)實參過程或函數(shù)調(diào)用中,使用的參數(shù)形參與實參的對應(yīng)要求過程或函數(shù)參數(shù)在個數(shù)和類型上要對應(yīng)可以使用兼容類型1.6數(shù)值參數(shù)和變量參數(shù)數(shù)值的傳入把實參的值傳給形參實例x:=max(x,
5、y);假設(shè):x,y的值分別為10,20在執(zhí)行函數(shù)調(diào)用時,第一步是把兩個數(shù)值傳給形參a,b這樣在函數(shù)中參數(shù)a,b的值分別為10,201.6數(shù)值參數(shù)和變量參數(shù)(續(xù))數(shù)值返回函數(shù)或過程執(zhí)行完成后需要返回結(jié)果一般使用函數(shù)來返回數(shù)值對于一些特殊情況需要使用參數(shù)返回結(jié)果數(shù)值多個數(shù)值復(fù)雜數(shù)據(jù)類型數(shù)值過程返回值1.6數(shù)值參數(shù)和變量參數(shù)(續(xù))數(shù)值參數(shù)不需要返回結(jié)果數(shù)值的參數(shù)參數(shù)定義格式變量表:類型;舉例a,b:integer;1.6數(shù)值參數(shù)和變量參數(shù)(續(xù))變量參數(shù)需要返回結(jié)果數(shù)值的參數(shù)參數(shù)定義格式var變量表:類型;舉例vara,b:integer;
6、說明函數(shù)或過程執(zhí)行完成后,需要把變參的結(jié)果返回給相應(yīng)的實參在調(diào)用中實參必須是一個變量2數(shù)組枚舉類型子界類型數(shù)組數(shù)組應(yīng)用2.1枚舉類型類型定義定義一個星期中的各天的類型typeday=(sun,mon,tues,wed,thu,fri,sta);變量定義varpayday,today,firstday:day;2.1枚舉類型(續(xù))舉例programtodaytomorrow(input,output);typeday=(sun,mon,tues,wed,thu,fri,sat);vartoday,tomorrow:day;number
7、:integer;beginread(number);2.1枚舉類型(續(xù))casenumberof0:today:=sun;1:today:=mon;2:today:=tues;3:today:=wed,4:today:=thu;5:today:=fir;6:today:=sat;end;iftoday=satthentomorrow=sunelsetomorrow=succ(day)end.2.2子界類型類型定義子界類型定義了某種類型的取值范圍,這種類型必須是有序類型(如整型、字符型)。定義舉例:TypeTen=1..10;Ove
8、rHundred=100..1000;Uppercase='A'..'Z';2.2子界類型(續(xù))類型說明定義子界類型時,你不需要指定基類的名字,而只需提供該類型的兩個常數(shù)。所用基類必須是有序類型,定義結(jié)果將是另一種有序類型。賦給子界類