高中信息技術(shù) 奧林匹克信息學(xué)競(jìng)賽班進(jìn)階篇 pascal-04 子程序課件.ppt
《高中信息技術(shù) 奧林匹克信息學(xué)競(jìng)賽班進(jìn)階篇 pascal-04 子程序課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《高中信息技術(shù) 奧林匹克信息學(xué)競(jìng)賽班進(jìn)階篇 pascal-04 子程序課件.ppt(13頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
PASCAL-子程序,過(guò)程(子程序),過(guò)程——單獨(dú)寫(xiě)成一個(gè)程序段,可以多次調(diào)用,可以 通過(guò)參數(shù)處理不同的數(shù)據(jù)。,procedure abc ( x:integer); begin ……… end ;,過(guò)程名,參數(shù)表,,子程序的內(nèi)容,過(guò)程(子程序),program ex701; var u,v:integer; procedure p1(x,y:integer); var i,j:integer; begin for i:=1 to x do begin j:=y+i; write(j); end; end;,Begin u:=6; v:=5; p1(u,v); writeln; u:=u+v; v:=u*v; p1(u,v); writeln(end); End.,,,,過(guò)程在程序中的位置及調(diào)用,過(guò)程(子程序),無(wú)參過(guò)程,Program draws; procedure line; const length=10; var i : integer; begin for i:=1 to length do write(‘-’); writeln; end; Begin line; writeln (‘ Hello ! ’); line; End.,輸出: ―――――――――― Hello! ――――――――――,,,過(guò)程(子程序),有參過(guò)程,Program draws; procedure line(length:integer); var i : integer; begin for i:=1 to length do write(‘-’); writeln; end; Begin line(10); writeln (‘ Hello ! ’); line(8); line(5); End.,輸出: ―――――――――― Hello! ―――――――― ―――――,,,,,,過(guò)程(子程序),參數(shù):值參、變參,procedure line ( x : integer );,值參,procedure line ( var y : integer );,變參,,過(guò)程(子程序),值參和變參的區(qū)別,Program zc; var n:integer; procedure A (x:integer); var i:integer; begin for i:=1 to x do write(‘-’); writeln; x:=x+10; end; Begin read(n); A(n); writeln(‘n=’,n); End.,輸入:5 ↙ 輸出: ――――― n=5,5,,5,x=15,5,,復(fù)制,,值參,15,過(guò)程(子程序),值參和變參的區(qū)別,Program zc; var n:integer; procedure B (var x:integer); var i:integer; begin for i:=1 to x do write(‘-’); writeln; x:=x+10; end; Begin read(n); B(n); writeln(‘n=’,n); End.,輸入:5 ↙ 輸出: ――――― n=15,5,,5,x=15,,變參,沒(méi)有開(kāi)新的空間!,5,15,過(guò)程(子程序),var a,b:integer; x,y:^integer; procedure fun(a,b:integer); var k:integer; begin k:=a; a:=b; b:=k; end; begin a:=3; b:=6; x:=@a; y:=@b; fun(x^,y^); writeln(No.1:, a ,,, b ); fun(a,b); writeln(No.2:, a ,,, b ); end.,例:2007年聯(lián)賽第4題,,@ : 指向內(nèi)存地址,^ : 該地址的內(nèi)容,輸出: No.1: 3 6 No.2: 3 6,忘了…,,值參,過(guò)程(子程序),全局變量和局部變量,在主程序說(shuō)明的為全局變量;,在子程序說(shuō)明的為局部變量;,當(dāng)全局變量和局部變量同名時(shí),子程序中的變量不影響全局變量。,,僅在該子程序中有效,過(guò)程(子程序),Program same; var x:integer; procedure let; var x:integer; begin x:=1; writeln(x); end; Begin x:=0; let; writeln(x); End.,全局變量和局部變量同名,運(yùn)行結(jié)果: 輸出: 1 0,局部變量,全局變量,計(jì)算機(jī)內(nèi)存:,函數(shù),函數(shù):和過(guò)程類(lèi)似,都是獨(dú)立的程序段,不同之處 在于它會(huì)返回一個(gè)值。,function abc ( x:integer) : boolean; begin ……… abc:=…; end ;,函數(shù)名,參數(shù)表,給函數(shù)賦值,函數(shù)類(lèi)型,函數(shù),program area; {求五邊形面積} var L1,L2,L3,L4,L5,L6,L7,s:real; function ts(a,b,c:real):real; {計(jì)算三角形面積ts} var p:real; begin p:=(a+b+c)/2; ts:=sqrt(p*(p-a)*(p-b)*(p-c)); {海倫公式} end; Begin read(L1,L2,L3,L4,L5,L6,L7); {輸入各邊長(zhǎng)} s:=ts(L1,L2,L6)+ts(L6,L3,L7)+ts(L7,L4,L5); {計(jì)算五邊形面積} writeln(‘a(chǎn)rea=’,s); {輸出面積} End.,,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 高中信息技術(shù) 奧林匹克信息學(xué)競(jìng)賽班進(jìn)階篇 pascal-04 子程序課件 高中 信息技術(shù) 奧林匹克 信息學(xué) 競(jìng)賽 進(jìn)階 pascal 04 子程序 課件
鏈接地址:http://m.jqnhouse.com/p-2945477.html