Upload
hieu-ho-minh
View
74
Download
0
Embed Size (px)
Citation preview
I.Cách viết và sử dụng thủ tục:
a.Cấu trúc của thủ tục
Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ
SỬ DỤNG CHƯƠNG TRÌNH CON
2Phương pháp dạy học 3 - Hồ Minh Hiếu
Cấu trúc của thủ tục
procedure <tên thủ tục>[(<danh sách tham số>)];[<phần khai báo>]begin
<dãy các lệnh>end
Từ khóaBắt buộc phải có
Kết thúc thủ tục;
3Phương pháp dạy học 3 - Hồ Minh Hiếu
VÍ DỤ 1
• VIẾT THỦ TỤC VẼ HÌNH CHỮ NHẬT
* * * * * * * * * *
* *
* * * * * * * * * *
GIẢI:
Procedure Ve_Hcn;
Begin
writeln(‘* * * * * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * * * * *’);
End;
4Phương pháp dạy học 3 - Hồ Minh Hiếu
VÍ DỤ 2
• VIẾT THỦ TỤC NHẬP HAI SỐ NGUYÊN A, B
GIẢI:
Procedure Nhap(var a, b:interger);
Begin
write(‘nhap a va b’);
readln(a, b);
End;
6Phương pháp dạy học 3 - Hồ Minh Hiếu
VÍ DỤ 3
Hãy viết thủ tục vẽ HCN
bằng dấu * với kích thước
chiều dài, chiều rộng bất kì.
7Phương pháp dạy học 3 - Hồ Minh Hiếu
1. Cách viết và sử dụng thủ tục
* * * * * * * * * *
* *
* *
* *
* * * * * * * * * *
Chdai
Khoảng trắng ngang
Số
dòng
2 s
ao
Ch
ron
g
8Phương pháp dạy học 3 - Hồ Minh Hiếu
Chia bài toán thành 3 phần
Dòng 1
Dòng có 2‘*’
Dòng cuối
For i:=1 to chdai do write(‘ * ’);
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(‘ * ’);
9
Gợi ý
Phương pháp dạy học 3 - Hồ Minh Hiếu
1. Uses crt;2. var a, b: byte;3. Procedure Ve_HCN( chdai,chrong:integer);4. Var i, j: integer;5. Begin 6. For i:=1 to chdai do write(‘ * ’);7. Writeln;8. For j:=1 to chrong-2 do 9. begin10. write(‘ * ’);11. for i:=1 to chdai-2 do write(‘ ‘);12. writeln(‘ * ’);13. end;14. For i:=1 to chdai Do write(‘ * ’);15. writeln;16. end;17. BEGIN 18. CLRSCR; 19. Ve_HCN(25,10); 20. Writeln; a:=5 ; b:=10; 21. Ve_HCN(a,b);22. readln;23. END.
10
CT mẫu
Phương pháp dạy học 3 - Hồ Minh Hiếu
VÍ DỤ 4
Nhập vào hai số a và b, viết thủ tục hoán đổi giá trị của a và b vừa nhập;
Mở rộng: Nhập vào bốn số a, b, c, d, viết thủ tục hoán đổi giá trị của a và b, c và d vừa nhập;
Tham số hình thức: khai báo cho dữ liệu
Vào: truyền dữ liệu từ CTChínhCTC
Ra: truyền dữ liệu từ CTChính CTC
11Phương pháp dạy học 3 - Hồ Minh Hiếu
Tham số trong thủ tục
1. var a,b: integer;2. procedure Hoan_doi( x,y: integer);3. var tmp: integer;4. begin tmp:=x;5. x:=y;6. y:=tmp;7. end;8. Begin a:=5; b:=10; c:= 4; d:= 5;9. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);10. Hoan_doi (a, b); Hoan_doi (c, d);11. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);12. readln;13. end.
a = 5; b = 10c = 4; d = 5
(5, 10);
10, 5
(4, 5);
5, 4
12Phương pháp dạy học 3 - Hồ Minh Hiếu
1. var a,b: integer;2. procedure Hoan_doi(var x,y: integer);3. var tmp: integer;4. begin tmp:=x;5. x:=y;6. y:=tmp;7. end;8. Begin a:=5; b:=10; c:= 4; d:= 5;9. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);10. Hoan_doi (a, b); Hoan_doi (c, d);11. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);12. readln;13. end.
a = 5; b = 10c = 4; d = 5
(5, 10);
10, 5
(4, 5);
5, 4
13
Tham số trong thủ tục
Phương pháp dạy học 3 - Hồ Minh Hiếu
1. var a,b: integer;2. procedure Hoan_doi (var x,y: integer);3. var tmp: integer;4. begin tmp:=x;5. x:=y;6. y:=tmp;7. end;8. Begin a:=5; b:=10; c:= 4; d:= 5;9. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);10. Hoan_doi (a, b); Hoan_doi (c, d);11. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);12. readln;13. end.
1. var a,b: integer;
2. procedure Hoan_doi (x,y: integer);
3. var tmp: integer;
4. begin tmp:=x;
5. x:=y;
6. y:=tmp;
7. end;
8. Begin a:=5; b:=10; c:= 4; d:= 5;
9. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);
10. Hoan_doi (a, b); Hoan_doi (c, d);
11. writeln(‘a = ’, a,‘ b = ’ , b); writeln(‘c = ’, c,‘ d = ’ , d);
12. readln;
13. end.
Tham trị, tham biến là gì? 14
Tham số trong thủ tục
Phương pháp dạy học 3 - Hồ Minh Hiếu
• Trong lệnh gọi thủ tục, các tham số hình thứcđược thay bằng các tham số thực sự tươngứng là các giá trị cụ thể được gọi là các thamsố giá trị (tham trị).
• Trong lệnh gọi thủ tục, các tham số hình thứcđược thay bằng các tham số thực sự tươngứng là tên các biến chứa dữ liệu ra được gọilà các tham số biến (tham biến).
15
Tham số trong thủ tục
Phương pháp dạy học 3 - Hồ Minh Hiếu
• Lưu ý khi sử dụng lệnh gọi thủ tục:
Tham số vào Tham trị
Tham số ra Tham biến
Tham số ra bắt đầu bằng từ khóa var
16
Tham số trong thủ tục
Phương pháp dạy học 3 - Hồ Minh Hiếu
• Phân loại thủ tục
Thủ tục có thể phân thành hai loại:
Loại 1: có trả về giá trị qua tham số
Loại 2: không trả về giá trị qua tham số
Ví dụ:
procedure Ve_hcn (chdai,chrong: integer);
procedure Hoan_doi (var x,y: integer);
Thủ tục có thể phân thành mấy loại
Loại 1
Loại 2
17
Tham số trong thủ tục
Phương pháp dạy học 3 - Hồ Minh Hiếu
Cho thủ tục sau:
Procedure Thutuc(x, y, z: integer);
Các biến x,y,z được gọi là:
A. Biến toàn cục
B. Tham số thực sự
C. Tham số hình thức
D. Biến cục bộKết quả
18Phương pháp dạy học 3 - Hồ Minh Hiếu
Củng cố
Để khai báo thủ tục trong Pascal
bắt đầu bằng từ khoá:
A. Function
B. Procedure
C. Program
D. Var
Kết quả
19Phương pháp dạy học 3 - Hồ Minh Hiếu
Củng cố
Khẳng định nào sau đây là đúng:
A. CTC nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ.
B. CTC nhất thiết phải biến cục bộ
C. CTC nhất thiết phải có tham số có hình thức và biến cục bộ.
D. CTC có thể có hoặc không có tham số hình thức cũng như biến cục bộ. Kết quả
20Phương pháp dạy học 3 - Hồ Minh Hiếu
Củng cố
Cho thủ tục sau:
Procedure Thutuc( Var z: integer);
z được gọi là:
A. Biến cục bộ.
B. Biến toàn cục
C. Tham số biến.
D. Tham số giá trị
Kết quả
21Phương pháp dạy học 3 - Hồ Minh Hiếu
Củng cố
Củng cốSau câu lệnh END để kết thúc chương trình con sẽ là:
A. Dấu hai chấm (:)
B. Dấu chấm phẩy (;)
C. Dấu chấm (.)
D. Không có dấu nào cả
Kết quả
22Phương pháp dạy học 3 - Hồ Minh Hiếu