![關(guān)于全局變量和局部變量_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/22/1a145584-3c06-4f37-8a9d-13952d101f45/1a145584-3c06-4f37-8a9d-13952d101f451.gif)
![關(guān)于全局變量和局部變量_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/22/1a145584-3c06-4f37-8a9d-13952d101f45/1a145584-3c06-4f37-8a9d-13952d101f452.gif)
![關(guān)于全局變量和局部變量_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/22/1a145584-3c06-4f37-8a9d-13952d101f45/1a145584-3c06-4f37-8a9d-13952d101f453.gif)
![關(guān)于全局變量和局部變量_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/22/1a145584-3c06-4f37-8a9d-13952d101f45/1a145584-3c06-4f37-8a9d-13952d101f454.gif)
![關(guān)于全局變量和局部變量_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/22/1a145584-3c06-4f37-8a9d-13952d101f45/1a145584-3c06-4f37-8a9d-13952d101f455.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、關(guān)于全局變量和局部變量 在子程序中定義的變量稱為局部變量,在程序的一開(kāi)始定義的變量稱為全局變量。全局變量作用域是整個(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)樽兞縥在主程序中沒(méi)定義。 當(dāng)刪除本語(yǔ)句時(shí)。運(yùn)行結(jié)果如下: i in main
3、2 k in main9 i in sub17 k in sub9 i in main2自定義函數(shù)Pascal允許用戶在程序中自己說(shuō)明定義新的函數(shù)并在程序中調(diào)用這些函數(shù)。函數(shù)說(shuō)明的一般形式Function <函數(shù)名>(<參數(shù)表>):<函數(shù)類型><說(shuō)明部分>Begin<函數(shù)體>End;注:1、保留字function必不可省,函數(shù)名由合法的標(biāo)識(shí)符指出。參數(shù)表由形式參數(shù)名表,和說(shuō)明形式參數(shù)的類型標(biāo)識(shí)符組成。函數(shù)類型即結(jié)果類型。 2、在說(shuō)明部分可以包括函數(shù)所需要的常量說(shuō)明、類型說(shuō)明和變量說(shuō)明,也可以包括其它函數(shù)或過(guò)程說(shuō)明。也可以沒(méi)有說(shuō)明。 3
4、、函數(shù)體描述了函數(shù)執(zhí)行的數(shù)據(jù)處理。其中至少包括一個(gè)給函數(shù)名賦值的語(yǔ)句 <函數(shù)名>:=表達(dá)式 4、函數(shù)調(diào)用格式:<函數(shù)名>(<實(shí)在參數(shù)表>)例5.1:利用自定義函數(shù)求x3+x6Program ex51; Var x,y:real; 函數(shù)SC的說(shuō)明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)過(guò)以上5步處理后,t1即為5個(gè)數(shù)中最大者。從上面規(guī)劃的步驟看來(lái),從步驟到步驟 需處理的目標(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ù);從第二次開(kāi)始,用每次求得的最大公約數(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ù)從右邊開(kāi)始數(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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年無(wú)手印玻璃項(xiàng)目投資可行性研究分析報(bào)告
- 2025年非金屬加強(qiáng)芯行業(yè)深度研究分析報(bào)告
- 現(xiàn)代藥物分析技術(shù)在醫(yī)療領(lǐng)域的發(fā)展趨勢(shì)
- 珠寶風(fēng)格女包的創(chuàng)新設(shè)計(jì)與消費(fèi)者心理分析
- 電子設(shè)備租賃電商平臺(tái)的發(fā)展策略研究
- 包膠電線項(xiàng)目可行性研究報(bào)告
- 割草機(jī)項(xiàng)目可行性研究報(bào)告
- 三明高低壓配電柜項(xiàng)目可行性研究報(bào)告
- 調(diào)單位申請(qǐng)書
- 2025年合金消防玩具車項(xiàng)目可行性研究報(bào)告
- 技能大師工作室建設(shè)PPT幻燈片課件(PPT 66頁(yè))
- 統(tǒng)編版四年級(jí)道德與法治下冊(cè)第8課《這些東西哪里來(lái)》教學(xué)課件(含視頻)
- 廣東部分地區(qū)的暴雨強(qiáng)度公式
- 鋼琴基礎(chǔ)教程1教案
- 上??萍及妫瓢妫┏踔袛?shù)學(xué)八年級(jí)下冊(cè)全冊(cè)教案
- 裝修工程竣工驗(yàn)收?qǐng)?bào)告模板
- 泥水盾構(gòu)簡(jiǎn)介
- 簡(jiǎn)單娛樂(lè)yy頻道設(shè)計(jì)模板
- 防止機(jī)組非計(jì)劃停運(yùn)措施(鍋爐專業(yè))
- 最常用漢字個(gè)
- 變電站綜合自動(dòng)化系統(tǒng)課程自學(xué)指導(dǎo)
評(píng)論
0/150
提交評(píng)論