Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
1,14 MB
Nội dung
Bµi 18 Ví dụ 1: Lập chơng trình vẽ các hình chữ nhật bằng dấu * có kích thớc khác nhau. Ví dụ 1: Lập chơng trình vẽ các hình chữ nhật bằng dấu * có kích thớc khác nhau. Theo bạn để viết chơng trình cho ví dụ trên ta nên dùng loại chơng trình con nào? Cách2: Dùng chơng trình con thủ tục Ve_HCN(dai,rong) để vẽ một hình chữ nhật. Trong chơng trình chính, dùng lời gọi thủ tục và truyền các tham số với giá trị khác nhau để vẽ các hình chữ nhật khác. Ví dụ: Ve_HCN(25,20); Ve_HCN(3,7) Cách 1: Sử dụng nhiều lần các câu lệnh: Writeln(* * * * * * *); Writeln(* *); Writeln(* * * * * * *); 1. Cách viết và sử dụng thủ tục: CÊu tróc cña thñ tôc: Procedure <tªn thñ tôc> [(<ds tham sè>)]; [< PhÇn khai b¸o >] Begin [<D·y c¸c lÖnh>] End; C¸c em h·y viÕt mét thñ tôc Ve_HCN b»ng dÊu * víi chiÒu dµi, réng bÊt k×! ********************************** * * * * * * ********************************** Dµi Réng VÏ c¹nh trªn cña HCN VÏ hai c¹nh bªn VÏ c¹nh díi 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;‘ ’ Program VD; Uses crt; var a,b: byte; 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; BEGIN CLRSCR; Ve_HCN(25,10); Writeln; a:=5 ; b:=10; Ve_HCN(a,b); readln; END. * Tham số và cách truyền tham số: Tham số tại nơi gọi:Tham số thực. Tham số tại nơi được gọi: Tham số hình thức. Kiểu tham số hình thức Khai báo Giá trị của tham số thực tương ứng sau khi thực thi chương trình con Tham số hình thức trị Không có VAR Giữ nguyên giá trị ban đầu như trước khi gọi chương trình con. Tham số hình thức biến Có VAR Lấy giá trị kết quả của chương trình con. Tham số hình thức trị -> tham số giá trị gọi tắt là tham trị. Tham số hình thức biến -> tham số biến gọi tắt là tham biến. Program VD; 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. 2. Cách viết và sử dụng hàm: Function <Tênhàm>[(<ds tham số>)] :kiểu của hàm; [< Phần khai báo >] Begin [<Dãy các lệnh>] tênhàm := giátrị; End; Lu ý khi s dng hm: Vic s dng hm tng t nh cỏc hm chun. Kt qu tr v qua tờn hm ch cú th thuc cỏc kiu d liu chun: integer, real, boolean, char, string. Vỡ kt qu tr v ó gỏn cho tờn hm nờn thụng thng cỏc tham s trong hm l cỏc tham s giỏ tr. Lnh gi hm cú th tham gia vo biu thc nh mt toỏn hng v thm chớ l tham s ca li gi hm, th tc khỏc. VD: Lập chơng trình tính tổng luỹ thừa S = a m +b n +c p +d q VD: Lập chơng trình tính tổng luỹ thừa S = a m +b n +c p +d q Viết chơng trình con dạng tổng quát Luythua = x k Trong đó : Luythua, x kiểu thực, k kiểu nguyên. Khi tính luỹ thừa của các số hạng trong tổng trên ta chỉ cần gọi tên ch ơng trình con Luythua và thay thế (x,k) bằng các giá trị tơng ứng. Ví dụ nh: Luythua(a,m). luythua(b,n), luythua(c,p),luythua(d,q). !"###$%!&'(')*##+#, -. Program tong_luy_thua; Uses crt; Var a,b,c,d,S : real; n,m,p,q :integer; Function luythua(x: real,k:integer): real; Var j: integer; Lt:Real; begin Lt:=1; For j:=1 to k do Lt:=Lt*x; Luythua:=Lt; end; BEGIN Write(‘ Nhap vao cac co so a,b,c,d ‘); readln(a,b,c,d); write(‘ Nhap vao cac so mu m,n,p,q: ’); readln(n,m,p,q); s:= luythua(a,m)+luythua(b,n)+luythua(c,p)+luythua(d,q); Writeln(‘ Tong luy thua =’, S:7:2); Readln; END. [...]... Biến khai báo ở CT chính có tác dụng ở mọi chương trình gọi là biến toàn cục Biến được khai báo ở trong CTC chỉ có tác dụng trong CTC gọi là biến cục bộ Biến được khai báo cho dữ liệu vào/ra ở CTC gọi là tham số hình thức Biến chứa trong lời gọi CTC ở chương trình chính là tham số thực sự VD: Lập chương trình tối giản phân số VD: Lập chương trình tối giản phân số Ví dụ: nhập 6/10 => ra 3/5 * INPUT... a/ƯCLN(a,b); d = b/ƯCLN(a,b); Viết chương trình con thực hiện tìm ƯCLN(a,b) và gọi nó khi tính c,d trong chương trình chính Program tgps; Uses crt; Nhap vao tu so va mau so: Phan so toi gian = 3/5 Var tu,mau,c,d : integer; Function UCLN( a,b :integer) : integer; Begin While a b do if a>b then a := a-b else b:=b-a; USCLN=2; a; USCLN=2; UCLN := end; BEGIN BEGIN Write( Nhap vao tu so so và mau Readln(tu,mau);... 6 10 Hãy nhớ! Biến: - Khai báo trong chương trình chính là biến toàn cục - Khai báo trong chương trình con là biến cục bộ Tham số - Biến khai báo cho dữ liệu vào ra trong chương trình con gọi là tham số hình thức - Biến chứa trong lời gọi CTC ở chương trình chính là các tham số thực sự . hình chữ nhật khác. Ví dụ: Ve_HCN(25,20); Ve_HCN(3,7) Cách 1: Sử dụng nhiều lần các câu lệnh: Writeln(* * * * * * *); Writeln(* *); Writeln(* * * * * * *); 1. Cách viết và sử dụng thủ tục: CÊu. ở trong CTC chỉ có tác dụng trong CTC gọi là biến cục bộ. Biến khai báo ở CT chính có tác dụng ở mọi chơng trình gọi là biến toàn cục. Biến đợc khai báo cho dữ liệu vào/ra ở CTC gọi là. b:6); readln; END. 2. Cách viết và sử dụng hàm: Function <Tênhàm>[(<ds tham số>)] :kiểu của hàm; [< Phần khai