Viết chương trình con trong pascal
– Chương trình có nhiều phân đoạn mỗi phân đoạn thực hiện một chức năng nào đó {khi đó ta sử dụng ctc để làm các phân đoạn trên}. – Nhắc lại cấu trúc của một chương trình: Như vậy phần khai báo CTC nằm ở phần cuối của phần khai báo – Khai báo: Chú ý: luôn có phép gán tên hàm cho giá trị để hàm trả về giá trị khi được gọi. Ví dụ: tính tổng của 2 số x và y – Lời gọi hàm:
Ví dụ: tong(4,5); b. Khai báo và lời gọi thủ tục– Khai báo: PROCEDURE Ví dụ: Procedure inso(n:integer); var i:inteher; Begin for i:=1 to n do write(i:5); end; – Lời gọi thủ tục
Ví dụ: inso(6); 3. Biến toàn cục và biến cục bộ– Biến toàn cục là biến được khai báo trong chương trình chính. Các biến này co thẻ được dùng ở mọi nơi trong chương trình và tồn tại trong suốt thời gian làm việc của chương trình. – Biến cục bộ (biến địa phương) là các biến được khai báo trong CTC. Các biến này chỉ được sử dụng trong phạm vi ctc mà nó được khai báo. Sau khi kết thức ctc các biến này sẽ không còn tồn tại. Ví dụ: PROGRAM vidu; Var a,b,c:integer; {3 biến toàn cục} PROCEDURE thutuc(n:integer);{n là biến cục bộ} var i:integer; {i là biến cục bộ} begin for i:=1 to 10 do writeln(i); end; BEGIN a:=5;b:=6;c:=8; thutuc( a); thutuc( b); thutuc( c); readln; END. – Trong trường họp biến cục bộ trùng tên với biến toàn cục thì máy không bị nhầm lẫn mà sẽ thực hiện trên biến cục bộ. Biến toàn cục không bị ảnh hưởng. 4. Cách truyền tham số trong chương trình con– CTC không cần có tham số (sau tên ctc) nếu không dùng đến chúng hoặc dùng trực tiếp biến toàn cục Procedure inso(a:integer; ch:char); begin {các lệnh của CTC} end; Khi gọi:
– Tham số hình thức (đối) là các tham số sau tên hàm và thủ tục trong khai báo. 5. Phân biệt cách sử dụng hàm và thủ tụcHàm khác thủ tục ở chỗ hàm trả về một giá trị cho lệnh gọi thông qua tên hàm còn thủ tục thì không. *Dùng hàm *Dùng thủ tục
Đối với Borland Pascal 7.0 ta có thể gọi hàm như gọi một thủ tục. Không nhất thiết phải lấy giá trị trả về. Để thực hiện được điều này trong menu 6. Tính đệ quy của chương trình conMột CTC trong Pascal có thể gọi về chính nó. Một lời gọi như thế gọi là một lời gọi đệ quy Ta xét ví dụ sau: function giai_thua(n:integer):longint; begin if n=0 then giai_thua:=1 else giai_thua:=n*giai_thua(n-1); end; – Lưu ý: |