Buổi 5 Chơng trình con và phân loại1.. Khi viết chơng trình giải các bài toán lớn, phức tạp, chơng rtình thờng rất dài, gồm hàng trăm, hàng nghìn lệnh.. Đọc các trơng trình dài rất khó n
Trang 1Buổi 5 Chơng trình con và phân loại
1 Khi viết chơng trình giải các bài toán lớn, phức tạp, chơng rtình thờng rất dài, gồm hàng trăm, hàng nghìn lệnh Đọc các trơng trình dài rất khó nhận biết đợc chơng trình thực hiện đợc các công việc gì Vì vậy, vấn đề đặt ra là phải cấu tạo chơng trình nh thế nào để cho chơng trình dễ đọc, dễ hiểu
Cách viết và sử dụng thủ tục
Xét ví dụ vẽ hình chữ nhật có dạng sau:
***********
***********
Hình chữ nhật này dễ dàng nhận đợc nhờ 3 lệnh:
Writeln(‘***********’);
Writeln(‘* *’);
Writeln(‘***********’);
Nh vậy, trong một chơng trình, mỗi lần cần in ra một hình chữ nhật trên cần phải in
ra 3 lênh đó
Trong chơng trình sâu đây ta đa 3 câu lênh trên vào một thủ tục cóa tên là:
Ve-HCN( Vẽ hình chữ nhật ) Mỗi lần gọi thủ tục này, một hình chữ nhật nh trên
đ-ợc in ra Có 3 lần gopị thủ tục vẽ hình chữ nhật
Program Chuongtrinh1;
Procedure Ve_HCN; { Bắt đầu thủ tục }
Begin
Writeln(‘***********’);
Writeln(‘* *’);
Writeln(‘***********’);
End; { Kết thúc thủ tục }
Begin
Ve_HCN; { Gọi thủ tục Ve_HCN }
Writeln;
Writeln;
Ve_HCN; { Gọi thủ tục Ve_HCN }
Writeln;
Writeln;
Ve_HCN; { Gọi thủ tục Ve_HCN }
End
Trang 21 Thñ thôc:
Thñ tôc cã cÊu tróc hoµn toµn gièng nh mét ch¬ng tr×nh, trõ dßng ®Çu tiªn vµ dßng cuèi:
Phần đầu thủ tục với từ khóa: Procedure tiếp theo là tên tủ tục nếu thủ tục
có chứa tham số thì sau phần tên là dãy lệnh khai báo các tham sè được viết trong dÊu ( )
PROCEDURE < Tªn thñ tôc >[ (< Danh s¸ch tham sè >)];
[< PhÇn khai b¸o >];
BEGIN
{ … D·y c¸c lÖnh ( Th©n thñ tôc )…}
END;
Gi¶i thÝch:
- PROCEDURE, BEGIN, END: lµ c¸c thõ khãa
- Thñ tôc bao giê còng b¾t ®Çu b»ng PROCEDURE kÕt thóc lµ END;
VÝ dô:
Procedure thutuc1;
Var n:integer;
Begin
End;
Procedure thutuc2( I , j: integer );
Begin
End;
Procedure thutuc3( var j: integer );
Begin
End;
VÝ dô ch¬ng tr×nh con nhËp vµo 1 d·y sè.
* Program vidu1;
Var a: array[1 10] of integer;
n:integer;
Procedure nhap;
Var i:integer;
Begin
Write(‘nhap vao so phan tu’); readln(n);
For i:=1 to n Do readln(a[i]);
End;
BEGIN
Trang 3END
2 Tham sè:
a Tham sè gi¸ trÞ ( Gäi t¾t lµ tham sè )
1
3 Biến địa phương và toàn cục
Xét chương trình sau
Program bien;
Var I,j: integer;
Function ham(n:integer):boolean;
Var ok:boolean; i:integer;
Begin
End;
Begin
Writeln(ham(j));
End
• Những biến khai báo ở chương trình chính được gọi là biến toàn cục
• Những biến khai báo ở trong chương trình chính gọi là biến địa phương -Biến toàn cục được phép sử dụng ở mọi chỗ trong chương trình kể cả trong các chương trình con
- Biến địa phương thì chỉ được sử dụng trong các chương trình khai báo biến đó
- Biến địa phương và biến toàn cục có thể trùng tên nhau