23
Bài 18 : DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON 1 Phương pháp dạy học 3 - Hồ Minh Hiếu

Bai 18 tiet 1

Embed Size (px)

Citation preview

Bài 18: VÍ DỤ VỀ CÁCH

VIẾT VÀ SỬ DỤNG

CHƯƠNG TRÌNH CON

1Phương pháp dạy học 3 - Hồ Minh Hiếu

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ẽ 3 hình chữ nhật

5Phươ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

23Phương pháp dạy học 3 - Hồ Minh Hiếu