240 likes | 378 Views
SÔÛ GIAÙO DUÏC VAØ ÑAØO TAÏO AN GIANG Tröôøng THPT HTH. CHAØO MÖØNG QUYÙ THAÀY COÂ ÑEÁN DÖÏ TIEÁT HOÄI GIAÛNG. BOÄ MOÂN TIN HOÏC 11 Ngöôøi thöïc hieän:N.T.NGAØ Giaùo vieân tröôøng THPT HTH. Taäp theå lôùp 11A1 - Kính chaøo quyù Thaày coâ. CHÖÔNG TRÌNH CON VAØ LAÄP TRÌNH COÙ CAÁU TRUÙC.
E N D
SÔÛ GIAÙO DUÏC VAØ ÑAØO TAÏO AN GIANG Tröôøng THPT HTH CHAØO MÖØNG QUYÙ THAÀY COÂ ÑEÁN DÖÏ TIEÁT HOÄI GIAÛNG BOÄ MOÂN TIN HOÏC 11 Ngöôøi thöïc hieän:N.T.NGAØ Giaùo vieân tröôøng THPT HTH Taäp theå lôùp 11A1 - Kính chaøo quyù Thaày coâ.
CHÖÔNG TRÌNH CON VAØ LAÄP TRÌNH COÙ CAÁU TRUÙC
Chöông 6: CHÖÔNG TRÌNH CON VAØ LAÄP TRÌNH COÙ CAÁU TRUÙC Chöông trình con laø gì ? Phaân loaïi chöông trình con ? Ñieåm khaùc nhau cô baûn giöõa haøm vaø thuû tuïc ?
Baøi 17. VÍ DUÏ VEÀ CAÙCH VIEÁT VAØ SÖÛ DUÏNG CHÖÔNG TRÌNH CON • 1. Caùch vieát vaø söû duïng thuû tuïc • a. Caáu truùc cuûa thuû tuïc • b. Ví duï veà thuû tuïc • 2. Caùch vieát vaø söû duïng haøm
1. Caùch vieát vaø söû duïng thuû tuïc • Xeùt ví duï veõ hình chöõ nhaät coù daïng sau: • * * * * * * * • * * • * * * * * * * writeln(‘* * * * * * *’); writeln(‘* *’); writeln(‘* * * * * * *’); Ñeå veõ hình chöõ nhaät treân, ta caàn duøng nhöõng caâu leänh naøo?
1. Caùch vieát vaø söû duïng thuû tuïc {baét ñaàu thuû tuïc} procedure Ve_Hcn; • begin writeln(‘* * * * * * *’); writeln(‘* *’); writeln(‘* * * * * * *’); • end; {keát thuùc thuû tuïc}
1. Caùch vieát vaø söû duïng thuû tuïc • a. Caáu truùc cuûa thuû tuïc: procedure<teân thuû tuïc> [(<danh saùch tham soá>)]; • [<phaàn khai baùo>] begin [<daõy caùc leänh>] end; procedure ;
1. Caùch vieát vaø söû duïng thuû tuïc program VD_thutuc1; procedure Ve_Hcn; begin writeln('* * * * * * *'); writeln('* *'); writeln('* * * * * * *'); end; begin Ve_Hcn; writeln;writeln; Ve_Hcn; writeln;writeln; Ve_Hcn; readln end. Thuû tuïc Ve_Hcn (chöông trình con Ve_Hcn) Leänh goïi chöông trình con
1. Caùch vieát vaø söû duïng thuû tuïc program VD_thutuc1; procedure Ve_Hcn; begin writeln('* * * * * * *'); writeln('* *'); writeln('* * * * * * *'); end; Begin Ve_Hcn; writeln;writeln; Ve_Hcn; writeln;writeln; Ve_Hcn; readln end. Giaû söû ta caàn veõ nhieàu hình chöõ nhaät vôùi kích thöôùc khaùc nhau (25x10; 5x10; 4x2), thuû tuïc naøy coù thöïc hieän ñöôïc khoâng ? Ñeå giaûi quyeát baøi toaùn treân, thuû tuïc Ve_Hcn ñöôïc vieát laïi nhö theá naøo ?
1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc • Ví duï 1: Chöông trình veõ caùc hình chöõ nhaät coù kích thöôùc khaùc nhau baèng caùch duøng thuû tuïc Ve_Hcn vôùi caùc tham soá chdai, chrong. Giaù trò cuûa caùc tham soá chdai, chrong laø nguyeân (integer). Khi ñoù phaàn ñaàu cuûa thuû tuïc Ve_Hcn ñöôïc vieát nhö theá naøo? Khi ñoù phaàn ñaàu cuûa thuû tuïc ñöôïc vieát nhö sau: procedure Ve_hcn(chdai, chrong: integer);
1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc • procedure Ve_Hcn(chdai, chrong: integer); • var i, j: integer; • begin • for i:=1 to chdai do write('*'); • writeln; • for j:=1 to chrong-2 do begin write('*'); for i:=1 to chdai-2 do write(' '); writeln('*'); end; • for i:=1 to chdai do write('*'); • writeln; • end; Tham soá hình thöùc Veõ caïnh treân cuûa hình chöõ nhaät Veõ hai caïnh beân Veõ caïnh döôùi
1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc begin clrscr; Ve_Hcn(25,10); writeln;writeln; Ve_Hcn(5,10); readln; clrscr; a:=4; b:=2; for i:=1 to 4 do begin Ve_Hcn(a,b); readln; clrscr; a:=a*2; b:=b*2; end; readln; end. • * Trong leänh goïi thuû tuïc, caùc tham soá hình thöùc ñöôïc thay baèng caùc tham soá thöïc söï töông öùng laø caùc giaù trò cuï theå ñöôïc goïi laø tham soá giaù trò (tham trò). • Caâu leänh goïi thuû tuïc coù daïng: • <teân thuû tuïc>[(caùc tham soá thöïc söï)];
1. Caùch vieát vaø söû duïng thuû tuïc • 1. Caùch vieát vaø söû duïng thuû tuïc y TG x TG TG x y x y • b. Ví duï veà thuû tuïc • b. Ví duï veà thuû tuïc • Ví duï 2: Chöông trình hoaùn ñoåi giaù trò cuûa hai bieán, baèng caùch duøng thuû tuïc Hoan_doi. TG y := TG (3) x := y(2) TG := x (1)
1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc Tham soá hình thöùc laø caùc tham soá bieán • program VD_thambien1; • uses crt; • var a, b: integer; • procedure Hoan_doi(var x,y: integer); • var TG: integer; • begin TG:= x; x:= y; y:= TG; end; • begin • clrscr; • a:=5; b:=10; • writeln(a:6, b:6); • Hoan_doi(a,b); • writeln(a:6, b:6); • readln; • end. Thay ñoåi giaù trò cuûa caùc bieán Leänh goïi thuû tuïc Hoan_doi vôùi caùc tham soá ñöôïc thay baèng caùc bieán
1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc program VD_thambien1; uses crt; var a, b: integer; procedure Hoan_doi(var x,y: integer); var TG: integer; begin TG:= x; x:= y; y:= TG; end; begin clrscr; a:=5; b:=10; writeln(a:6, b:6); Hoan_doi(a,b); writeln(a:6, b:6); readln; end. • Trong leänh goïi thuû tuïc, caùc tham soá hình thöùc ñöôïc thay baèng caùc tham soá thöïc söï töông öùng laø teân caùc bieán chöùa döõ lieäu ra ñöôïc goïi laø caùc tham soá bieán (tham bieán). • Ñeå phaân bieät tham bieán vaø tham trò, Pascal söû duïng töø khoùa var ñeå khai baùo cho nhöõng tham soá bieán.
1. Caùch vieát vaø söû duïng thuû tuïc • 1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc • b. Ví duï veà thuû tuïc Ñieåm khaùc nhau giöõa tham trò vaø tham bieán ? program VD_thambien2; uses crt; var a, b: integer; procedure Hoan_doi(x: integer; var y: integer); var TG: integer; begin TG:= x; x:= y; y:= TG; end; begin clrscr; a:=5; b:=10; writeln(a:6, b:6); Hoan_doi(a,b); writeln(a:6, b:6); readln; end. Khaùc nhau trong khai baùo tham soá hình thöùc • * Tham soá bieán ñöôïc duøng ñeå ghi laïi • döõ lieäu keát quaû cuûa vieäc thöïc hieän • thuû tuïc. • * Tham soá giaù trò chæ ñeå ñöa döõ lieäu • vaøo cho thuû tuïc khi baét ñaàu thöïc hieän • thuû tuïc. Khaùc nhau ôû keát quaû sau khi thöïc hieän thuû tuïc
1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc • program VD_thambien2; • uses crt; • var a, b: integer; • procedure Hoan_doi(x: integer; var y: integer); • var TG: integer; • begin TG:= x; x:= y; y:= TG; end; • begin • clrscr; • a:=5; b:=10; • writeln(a:6, b:6); • Hoan_doi(a,b); • writeln(a:6, b:6); • readln; • end. procedure Hoan_doi(var x: integer; y: integer); Keát quaû nhaän ñöôïc (treân maøn hình) nhö theá naøo khi thöïc hieän chöông trình ?
1. Caùch vieát vaø söû duïng thuû tuïc • 1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc • b. Ví duï veà thuû tuïc * Chuù yù: • - Khi khai baùo caùc tham soá hình thöùc, neáu coù kieåu khaùc nhau thì caùc tham soá seõ caùch nhau baèng daáu chaám phaåy, neáu coù cuøng kieåu thì caùch nhau baèng daáu phaåy. • Ví duï: • procedure CTC(x, y, z: integer; r: real);
1. Caùch vieát vaø söû duïng thuû tuïc • 1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc • b. Ví duï veà thuû tuïc * Chuù yù: • - Khi khai baùo döõ lieäu cho caùc tham soá hình thöùc chæ ñöôïc duøng teân kieåu. Teân kieåu laø teân chuaån hoaëc teân do ngöôøi laäp trình ñaët. • Ví duï: Khai baùo hôïp leä: procedure Alpha(N: integer; var s: string);
1. Caùch vieát vaø söû duïng thuû tuïc • b. Ví duï veà thuû tuïc -Khai baùo khoâng hôïp leä: procedure Delta(M: array[1..10] of byte; var X: string[25]); -Khai baùo hôïp leä: type mang = array[1..10] of byte; xau = string[25]; procedure Delta(M: mang; var X: xau);
Cuûng coá 1. Töø khoùa ñeå khai baùo thuû tuïc laø: A. Program B. Procedure C. Function D. Processor 2. Muoán khai baùo x, y laø tham soá giaù trò (x, y thuoäc kieåu integer) trong thuû tuïc coù teân laø “ABC” thì khai baùo naøo sau ñaây laø ñuùng? A. Procedure ABC(x, y: integer); B. Procedure ABC(var x, y: integer); C. Procedure ABC(x: integer; var y: integer); D. Procedure ABC(var x: integer; y: integer);
Cuûng coá 3. Muoán khai baùo x laø tham soá giaù trò, y vaø z laø tham soá bieán (x, y, z thuoäc kieåu integer) trong thuû tuïc coù teân laø “CTC” thì khai baùo naøo sau ñaây laø ñuùng? A. Procedure CTC(x, y, z: integer); B. Procedure CTC(var x, y, z: integer); C. Procedure CTC(var x:integer; y, z: integer); D. Procedure CTC(x: integer; var y, z: integer);
Cuûng coá 4. Cho chöông trình sau: var a, b, c: integer; procedure Hoan_doi(var a, b: integer); var TG: integer; begin TG:= a; a:= b; b:= TG; end; begin clrscr; a:= 10; b:= 11; c:= 12; Hoan_doi(b,c); Hoan_doi(a,b); Hoan_doi(b,c); writeln(a, ‘ ’, b ‘ ’, c); end. Keát quaû nhaän ñöôïc (treân maøn hình) sau khi thöïc hieän chöông trình laø: A. 10 11 12 B. 11 10 12 C. 12 11 10 D. 12 10 11
Tieát hoïc ñeán ñaây laø heát. • Xin chuùc quyù Thaày (Coâ) cuøng caùc em hoïc sinh • Vui - Khoeû vaø Thaønh coâng. • Xin caùm ôn!