版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、關(guān)于全局變量和局部變量 在子程序中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。全局變量作用域是整個(gè)程序;局部變量作用域是定義該變量的子程序。當(dāng)全局變量與局部變量同名時(shí):在定義局部變量的子程序內(nèi),局部變量起作用;在其它地方全局變量起作用。 例:全局變量和局部變量。 program local_global;var i,k:integer;procedure sub1;var i,j:integer; begin i:=17; writeln('i in sub=',i); wri
2、teln('k in sub=',k); end;begin i:=2;k:=9; writeln('i in main=',i); writeln('k in sub=',k); sub1; writeln('i in main=',i); writeln('j in main=',j); end. 上述程序運(yùn)行時(shí)將出現(xiàn)Unknown Identfier;因?yàn)樽兞縥在主程序中沒定義。 當(dāng)刪除本語句時(shí)。運(yùn)行結(jié)果如下: i in main
3、2 k in main9 i in sub17 k in sub9 i in main2自定義函數(shù)Pascal允許用戶在程序中自己說明定義新的函數(shù)并在程序中調(diào)用這些函數(shù)。函數(shù)說明的一般形式Function <函數(shù)名>(<參數(shù)表>):<函數(shù)類型><說明部分>Begin<函數(shù)體>End;注:1、保留字function必不可省,函數(shù)名由合法的標(biāo)識(shí)符指出。參數(shù)表由形式參數(shù)名表,和說明形式參數(shù)的類型標(biāo)識(shí)符組成。函數(shù)類型即結(jié)果類型。 2、在說明部分可以包括函數(shù)所需要的常量說明、類型說明和變量說明,也可以包括其它函數(shù)或過程說明。也可以沒有說明。 3
4、、函數(shù)體描述了函數(shù)執(zhí)行的數(shù)據(jù)處理。其中至少包括一個(gè)給函數(shù)名賦值的語句 <函數(shù)名>:=表達(dá)式 4、函數(shù)調(diào)用格式:<函數(shù)名>(<實(shí)在參數(shù)表>)例5.1:利用自定義函數(shù)求x3+x6Program ex51; Var x,y:real; 函數(shù)SC的說明Function sc(t:real):real; Begin Sc:=t*t*t; End;主程序Begin Read(x); y:=sc(x)+sqr(sc(x);write(y)end.例5.2編程找出由鍵盤任意輸入五個(gè)整數(shù)中的最大整數(shù)。解:設(shè)輸入的五個(gè)整數(shù)為n1、n2、n3、n4、n5,為了便于處理,引入一個(gè)中
5、間變量t1,按如下步驟處理:令t1=n1;將t1與n2比較,將兩者中較大數(shù)放入t1;將t1與n3比較,將兩者中較大數(shù)放入t1; 將t1與n4比較將兩者中較大數(shù)放入t1; 將t1與n5比較將兩者中較大放入t1; 經(jīng)過以上5步處理后,t1即為5個(gè)數(shù)中最大者。從上面規(guī)劃的步驟看來,從步驟到步驟 需處理的目標(biāo)是相同的,因此我們可以設(shè)計(jì)一段子程序Max(x1,x2),以找出x1和x2中最大的值并返回。Pascal程序:Program Exam41_a;Var n1,n2,n3,n4,n5,t1 : integer;Function max(x1,x2 : integer)
6、 : integer;Begin If x1>x2 then Max := x1 Else Max := x2;End; Begin Readln(n1,n2,n3,n4,n5);T1 := n1;T1 := Max(t1,n2);T1 := Max(t1,n3);T1 := Max(t1,n4);T1 := Max(t1,n5);Writeln(Max number : ,t1);End. 例5.2求任意輸入的五個(gè)自然數(shù)的最
7、大公約數(shù)。解:自定義一個(gè)專門求兩自然數(shù)的最大公約數(shù)的函數(shù)GCD; 調(diào)用自定義函數(shù),第一次求前兩個(gè)數(shù)的最大公約數(shù);從第二次開始,用每次求得的最大公約數(shù)與下一個(gè)數(shù)再求兩個(gè)數(shù)最大公約數(shù),直到最后。本題共四次“求兩個(gè)數(shù)的最大公約數(shù)”, 設(shè)輸入的五個(gè)自然數(shù)分別是a1,a2,a3,a4,a5,采用如下步驟:求a1, a2兩個(gè)數(shù)的最大公約數(shù)存入a1;求a1, a3兩個(gè)數(shù)的最大公約數(shù)存入a1;求a1, a4兩個(gè)數(shù)的最大公約數(shù)存入a1;求a1, a5兩個(gè)數(shù)的最大公約數(shù)存入a1; 輸出 a1,此時(shí)的a1已是五個(gè)數(shù)的最大公約數(shù)。Pascal程序:Program Exam42;Var a1,a
8、2,a3,a4,a5: integder;function GCD(x1,x2: integer): integer; 自定義函數(shù) Var temp:integer;begin While x20 do begin temp:=x1 mod x2; x1:=x2;x2:=tempend; GCD:=x1end; Begin
9、 主程序 readln(a1,a2,a3,a4,a5); a1:GCD(a1,a2); 調(diào)用函數(shù)GCD &
10、#160; a1:GCD(a1,a3); a1:GCD(a1,a4); a1:GCD(a1,a5); Writeln(a1);End.練習(xí)1:求一個(gè)整數(shù)從右邊開始數(shù)第K個(gè)數(shù)字的值。program ex52; var n,k,x:integer; function dig(n,k:integer):integer; begin repeat dig:=n mod 10; n:=n div 10; k:=k-1; until k=0; end; begin read(n,k); x:=dig(n,k); write(x); end.練習(xí)2:判斷某個(gè)數(shù)字是否在某個(gè)
11、整數(shù)中出現(xiàn)。Program ex; Var n,d:integer;che:boolean;function check(n,d:integer):Boolean; var m:integer;begin repeat m:=n mod 10;n:=n div 10until (m=d) or (n=0);check:=m=dend;beginread(n,d);che:=check(n,d);write(che)end.例5.3 定義產(chǎn)生隨數(shù)的函數(shù),并借助它生成兩位整數(shù)乘法的算式,讓學(xué)生回答,計(jì)算機(jī)給出正確與否的判斷。當(dāng)學(xué)生回答-1是結(jié)束。program game; var x,y,z,an
12、swer:integer; seed:real; function rand(var seed:real):real; const a=93.0; m=8192.0; c=1.0; begin seed:=a*seed+c; seed:=round(seed/m-trunc(seed/m)*m); rand:=seed/m end; begin seed:=0.7823; repeat x:=trunc(rand(seed)*100); y:=trunc(rand(seed)*100); write(x:2,'*',y:2,'='); read(answer); if answer=x*y then writeln('right') else writeln('wrong'); until
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版房地產(chǎn)項(xiàng)目存單質(zhì)押擔(dān)保合同范本3篇
- 二輥壓延機(jī)安全操作規(guī)程
- 分割器工位圓盤移印機(jī)安全操作規(guī)程
- 2024年度在建商業(yè)街區(qū)地產(chǎn)轉(zhuǎn)讓合同范本3篇
- 2024瓦工施工隊(duì)勞務(wù)分包協(xié)議模板版B版
- 新興能源產(chǎn)業(yè)技術(shù)發(fā)展趨勢(shì)及投資策略研究報(bào)告
- 海洋石油勘探開采投資合同
- 二零二五年度商場(chǎng)綠化合同:商場(chǎng)園林綠化管理與植物養(yǎng)護(hù)服務(wù)協(xié)議2篇
- 2024年賬戶管理擔(dān)保契約3篇
- 二零二五年度健康產(chǎn)業(yè)合伙人產(chǎn)品研發(fā)與市場(chǎng)推廣協(xié)議3篇
- 2024年加油站的年度工作總結(jié)范文(2篇)
- 甲醇制氫生產(chǎn)裝置計(jì)算書
- T-JSREA 32-2024 電化學(xué)儲(chǔ)能電站消防驗(yàn)收規(guī)范
- 福建省晉江市松熹中學(xué)2024-2025學(xué)年七年級(jí)上學(xué)期第二次月考語文試題
- 2025年上半年江蘇省常州市文廣旅局下屬事業(yè)單位招聘4人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 2023-2024學(xué)年福建省泉州市石獅市三年級(jí)(上)期末數(shù)學(xué)試卷
- 新時(shí)代高校馬克思主義學(xué)院內(nèi)涵式發(fā)展的現(xiàn)狀和現(xiàn)實(shí)進(jìn)路
- (新版)廣電全媒體運(yùn)營(yíng)師資格認(rèn)證考試復(fù)習(xí)題庫(含答案)
- 【MOOC】隧道工程-中南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- ISO27001信息安全管理體系培訓(xùn)資料
- 紅色經(jīng)典影片與近現(xiàn)代中國(guó)發(fā)展學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評(píng)論
0/150
提交評(píng)論