版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7講函數和過程二例1、
var
x,y:integer;Procedurechange;
var
x:integer;beginx:=2;y:=2;
writeln(x,y);end;Beginx:=1;y:=1;
writeln(x,y);change;
writeln(x,y);End.答案:11
22
12一、全局變量和局部變量1、在子程序中定義的變量稱為局部變量。2、在程序的一開始定義的變量稱為全局變量。一般情況下:全局變量作用域是整個程序;局部變量作用域是定義該變量的子程序。特殊情況下:當全局變量與局部變量同名時:在定義局部變量的子程序內,局部變量起作用;全局變量不起作用。例2、var
a,b:integer;
proceduref(a,b:integer);
var
c:integer;begina:=5;b:=7;c:=a+b;end;begina:=2;b:=3;
f(a,b);
writeln(a,'',b);end.{23}二、值參和變量參數1、var
a,b:integer;
proceduref(a,b:integer);begina:=a+1;b:=b+3;
writeln(a,'',b);end;begina:=2;b:=3;
f(a,b);
writeln(a,'',b);end.2、var
a,b:integer;
proceduref(var
x,y:integer);beginx:=x+1;y:=y+3;
writeln(x,'',y);end;begina:=2;b:=3;
f(a,b);
writeln(a,'',b);end.3623636◆子程序中的參數是形式參數,簡稱形參.◆主程序中調用時的參數是實參.形參分為:值形參、變量形參1、值形參——傳值:調用時臨時開辟內存空間,調用結束,內存空間釋放,所以不改變實在參數的值。
2a3b2x3y2、變量形參(有var說明)——傳地址:調用時不再開辟內存單元空間,變量參數直接指向相應的實參地址,所以改變了變量形參相當于改變了實參的值。2a3bxy3、var
a,b:integer;proceduref(var
x:integer;y:integer);beginx:=x+1;y:=y+3;
writeln(x,'',y);end;begina:=2;b:=3;
f(a,b);
writeln(a,'',b);end.4、var
a,b:integer;procedurechange(a,b:integer);
var
t:integer;begint:=a;a:=b;b:=t;
writeln(a,'',b);end;begina:=5;b:=8;
change(a,b);
writeln(a,'',b);end.5、var
a,b:integer;procedurechange(var
a,b:integer);
var
t:integer;begint:=a;a:=b;b:=t;
writeln(a,'',b);end;begina:=5;b:=8;
change(a,b);
writeln(a,'',b);end.重點:如果通過調用子程序來改變主程序中變量的值。兩種方法:
1)、使用變量參數。
2)、或者使用無參過程。var
a,b:integer;procedurechange;
var
t:integer;begint:=a;a:=b;b:=t;end;begina:=5;b:=8;change;
writeln(a,'',b);end.var
a,b:integer;procedurechange(var
x,y:integer);
var
t:integer;begint:=x;x:=y;y:=t;end;begina:=5;b:=8;
change(a,b);
writeln(a,'',b);end.使用全避變量使用變量形參2、排序算法//1vara:array[1..10]ofinteger;
n,i,j:integer;
procedureswap(x,y:integer);
var
t:integer;begint:=x;x:=y;y:=t;end;begin
readln(n);fori:=1tondoread(a[i]);fori:=1ton-1doforj:=i+1tondoifa[i]>a[j]thenswap(a[i],a[j]);fori:=1tondowrite(a[i],'');end.//2變量參數vara:array[1..10]ofinteger;
n,i,j:integer;procedureswap(var
x,y:integer);
var
t:integer;begint:=x;x:=y;y:=t;end;begin
readln(n);fori:=1tondoread(a[i]);fori:=1ton-1doforj:=i+1tondoifa[i]>a[j]thenswap(a[i],a[j]);fori:=1tondowrite(a[i],'');end.//3全局變量vara:array[1..10]ofinteger;
n,i,j:integer;procedureswap;
var
t:integer;begint:=a[i];a[i]:=a[j];a[j]:=t;end;begin
readln(n);fori:=1tondoread(a[i]);fori:=1ton-1doforj:=i+1tondoifa[i]>a[j]thenswap;fori:=1tondowrite(a[i],'');end.//4變量參數type
datatype=array[1..10]ofinteger;var
a:datatype;
n,i,j:integer;proceduresort(var
a:datatype);
var
i,j,t:integer;beginfori:=1ton-1doforj:=i+1tondoifa[i]>a[j]thenbegin
t:=a[i];a[i]:=a[j];a[j]:=t;
end;end;begin
readln(n);fori:=1tondoread(a[i]);
sort(a);fori:=1tondowrite(a[i],'');end.//3全局變量vara:array[1..10]ofinteger;
n,i,j:integer;proceduresort;
var
t:integer;beginfori:=1ton-1doforj:=i+1tondoifa[i]>a[j]thenbegin
t:=a[i];a[i]:=a[j];a[j]:=t;
end;end;begin
readln(n);fori:=1tondoread(a[i]);sort;fori:=1tondowrite(a[i],'');end.練習1、Var
x,u:integer;Procedu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年汽車知識與維修技巧測試題庫
- 2026年建筑工程結構設計與施工考試題
- 2026年新版拓撲材料協(xié)議
- 2026年新版恒星演化協(xié)議
- 2024年滿城縣招教考試備考題庫及答案解析(必刷)
- 古法腹部課件
- 古代科舉那些事
- 2025 小學六年級科學上冊美育融入作品展示方案課件
- 2025年江蘇工程職業(yè)技術學院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 2025年山東水利職業(yè)學院單招職業(yè)適應性考試題庫帶答案解析
- 危重癥??谱o理小組工作總結
- 百千萬工程行動方案(3篇)
- 山洪災害監(jiān)理工作報告
- 數字推理試題及答案下載
- 學?!暗谝蛔h題”學習制度
- 運輸管理實務(第二版)李佑珍課件第6章 集裝箱多式聯(lián)運學習資料
- 水泵維修更換申請報告
- 機械設備運輸合同
- 《分布式光伏并網啟動方案》
- 酒店委托管理合同范本
- 5.第五章-透鏡曲率與厚度
評論
0/150
提交評論