版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專屬2024年商品銷售代表協(xié)議版
- 專業(yè)倉儲(chǔ)及配送服務(wù):2024協(xié)議范本版A版
- 科技驅(qū)動(dòng):公司未來發(fā)展
- 2025年度彩鋼房拆除與綠色建筑認(rèn)證服務(wù)合同范本4篇
- 2025年度影視基地場(chǎng)地借用及拍攝制作合同4篇
- 2025年度科研實(shí)驗(yàn)場(chǎng)地使用權(quán)出讓及研發(fā)支持服務(wù)合同4篇
- 二零二五年度抽沙船租賃及海洋環(huán)境監(jiān)測(cè)協(xié)議3篇
- 2025年度新型工業(yè)園區(qū)土地使用權(quán)交易合同范本4篇
- 2025年智能工廠設(shè)備租賃居間合同示范文本4篇
- 2025年度長(zhǎng)租公寓運(yùn)營(yíng)管理服務(wù)合同4篇
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 發(fā)生用藥錯(cuò)誤應(yīng)急預(yù)案
- 南潯至臨安公路(南潯至練市段)公路工程環(huán)境影響報(bào)告
- 綠色貸款培訓(xùn)課件
- 大學(xué)生預(yù)征對(duì)象登記表(樣表)
- 主管部門審核意見三篇
- 初中數(shù)學(xué)校本教材(完整版)
- 父母教育方式對(duì)幼兒社會(huì)性發(fā)展影響的研究
- 新課標(biāo)人教版數(shù)學(xué)三年級(jí)上冊(cè)第八單元《分?jǐn)?shù)的初步認(rèn)識(shí)》教材解讀
- (人教版2019)數(shù)學(xué)必修第一冊(cè) 第三章 函數(shù)的概念與性質(zhì) 復(fù)習(xí)課件
- 重慶市銅梁區(qū)2024屆數(shù)學(xué)八上期末檢測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論