Slide 1 Bài 18 VÍ DỤ VỀ CÁCH VIẾT VÀ Bài 18 VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH SỬ DỤNG CHƯƠNG TRÌNH CONCON 1 Cách viết và sử dụng thủ tục 2 Cách viết và sử dụng hàm Bài 18 VÍ DỤ VỀ CÁCH VIẾT V[.]
Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục Cách viết sử dụng hàm Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục Xét ví dụ vẽ hình chữ nhật có dạng sau ******* * * ******* Ta vẽ hình chữ nhật với ba câu lệnh Writeln(‘* * * * * * *’); Writeln(‘* *’); Writeln(‘* * * * * * *’); Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục Program VD_thutuc1; {****************************************} procedure Ve_hcn; {Bat dau chuong trinh con} Begin writeln(‘* * * * * * *’); writeln(‘* *’); writeln(‘* * * * * * *’); end; {Ket thuc chuong trinh con} {****************************************} begin Ve_Hcn; {Goi thu tuc Ve_Hcn} writeln; writeln; {de cach hai dong} Ve_Hcn; writeln; writeln; Ve_Hcn; end Cấu trúc chương trình chính: [] ?: Vị trí thủ tục nằm phần chương trình chính? Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục Procedure [()]; [] Begin - Các thủ tục, có, phải khai báo mô tả phần khai báo chương trình chính, sau phần khai báo biến [] End; Chú ý: - Sau tên dành riêng end kết thúc chương trình dấu (.), sau end kết thúc thủ tục dấu chấm phẩy (;) - Khi cần thực hiện, ta phải viết lệnh gọi thủ tục tương tự thủ tục chuẩn Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Viết chương trình mơ tả đầy đủ thủ tục Ve_Hcn với tham số chdai, chrong sử dụng thủ tục để vẽ hình chữ nhật có kích thước khác ******…* * Chrong Chrong - * ******…* Chdai Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Program VD_thutuc2; uses crt; Var a, b, i: integer; procedure Ve_Hcn(chdai, chrong: integer); Var begini, j: integer; For i:= to chdai write(‘*’); writeln; For i:=1 to chrong – begin write(‘*’); For j:=1 to chrong –2 write(‘ ’); writeln(‘*’); end; end; begin clrscr; Ve_Hcn(25,10); writeln; writeln; Ve_Hcn(5,10); readln; clrscr; a:= 4; b:=2; For i:=1 to begin Ve_Hcn(a,b); readln; clrscr; a:= a*2; b:= b*2; end; readln; End Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Trong lời gọi thủ tục Ve_hcn; tham số chdai, chrong có tên gọi gì? Trong lệnh gọi thủ tục tham số hình thức thay tham số thực tương ứng giá trị cụ thể gọi tham số giá trị (tham trị) VD: Các tham số chdai, chrong thủ tụcVe_hcn gọi tham trị Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Trong lời gọi thủ tục Ve_hcn(a,b); biến a,b có tên gọi gì? Trong lệnh gọi thủ tục tham số hình thức thay tham số thực tương ứng biến chứa liệu gọi tham số biến (tham biến) Chú ý: Để phân biệt tham trị tham biến, Pascal sử dụng từ khóa var để khai báo tham số biến Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Program tham_bien1; var a, b : integer; Procedure Hoan_doi( var x,y: integer); varbegin Tg: integer; begin begin end; tg:= x; begin x:=y; y:= tg; end; end end Begin a:= 5; b:= 10; writeln(a:6, b:6); Hoan_doi(a,b); Writeln(a:6, b:6); Readln End Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Program thambien2; Begin Var a,b : integer; a:= 5; b:= 10; Procedure Hoan_doi(x:integer; var y: integer); writeln(a:6, b:6); var Tg: integer; Hoan_doi(a,b); begin Writeln(a:6, b:6); tg:= x; Readln x:=y; End y:= tg; End; end; Begin End Cách viết sử dụng hàm a/ Cấu trúc hàm Function [()]: ; [] Begin end; Trong đó: Kiểu liệu kiểu liệu giá trị mà hàm trả kiểu liệu: integer, real, char, boolean, string a Cấu trúc hàm: ** Chú ý: Khác với thủ tục, thân hàm cần có lệnh gán giá trị cho tên hàm :=; b/ Sử dụng hàm - Lệnh gọi hàm: (); -Lệnh gọi hàm tham gia vào biểu thức tốn hạng Ví dụ: A:= 6*UCLN( Tuso, Mauso)+1; Phân biệt hàm thủ tục * Giống nhau: - Đều chương trình có cấu trúc giống chương trình - Đều chứa tham số, tuân theo qui định khai báo ** Khác - Tên hàm phải có kiểu liệu - Trong thân hàm phải có lệnh gán giá trị cho tên hàm c tốn ví dụ: VD1:Viết chương trình cho biết số nhỏ số nhập vào từ bàn phím Trong có sử dụng hàm tìm số nhỏ hai số? Program Minbaso; Biến toàn cục Uses crt; Tham số hình thức Var a, b, c: real; Function Min(a, b: real): real; Thân chương trình Begin hàm If ( a< b) then Min:=a Else Min:=b; End; Câu lệnh trả BEGIN Giá trị hàm clrscr; Write ('Nhap vao ba so: '); Readln(a, b, c); Writeln('So nho nhat ba so la: ',Min(Min(a,b), c)); readln END Thực hàm c Bài tốn ví dụ: VD2:Viết chương trình tính tổng n số tự nhiên Với n nhập vào từ bàn phím program Tinhtong; Biến tồn cục uses crt; var n:integer; Tham số function tong (n:integer):longint; var i:byte; s:longint; begin Biến cục s:=0; for i:=1 to n s:=s+i; tong:=s; Câu lệnh trả giá end; trị cho hàm begin clrscr; writeln('Nhap vao so n cho truoc'); readln(n); writeln('Tong cua n so nguyen dau la:',tong(n)); readln end Thực hàm c Bài tốn ví dụ: VD3:Viết chương trình tính giai thừa số n nhập vào từ bàn phím? program Tinh_giaithua; Biến tồn cục uses crt; var n:integer; Tham số function giaithua (n:integer):longint; var i:byte; s:longint; Biến cục begin s:=1; for i:=1 to n s:=s*i; Câu lệnh trả giá giaithua:=s; trị cho hàm end; begin clrscr; writeln('Nhap vao so n cho truoc'); readln(n); writeln('Tong cua n so nguyen dau la:',giaithua(n)); readln Thực hàm end CỦNG CỐ PROCEDURE []; [] BEGIN [] END; FUNCTION []:; [] BEGIN [] :=; END; - Sử dụng cần thực số thao tác xử lí nhằm giải cơng việc cụ thể - Sử dụng cần thực số thao tác xử lí nhằm đưa giá trị kết cụ thể - Muốn lưu kết phải dùng tham biến - Luôn dùng (với vai trò biến) để lưu kết - Lời gọi thủ tục sử dụng câu lệnh chương trình - Lời gọi hàm sử dụng biểu thức, lời gọi hàm/thủ tục khác ...Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục Cách viết sử dụng hàm Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục Xét ví dụ. .. ta phải viết lệnh gọi thủ tục tương tự thủ tục chuẩn Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Viết chương trình mơ... trị tham biến, Pascal sử dụng từ khóa var để khai báo tham số biến Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON Cách viết sử dụng thủ tục a Cấu trúc thủ tục b Ví dụ thủ tục Program tham_bien1;