Gọi thủ tục khụng cú tham chiếu

Một phần của tài liệu Giao trinh Pascal (Trang 25 - 27)

- Biết cỏch viết thủ tục, hàm, biết cỏch truyền đối tượng thực sự vào tham chiếu khi gọi chương trỡnh con.

2.Gọi thủ tục khụng cú tham chiếu

Để gọi thủ tục khụng cú tham chiếu, ta chỉ cần viết tờn của nú. Nhưng phải chỳ ý lŕ tęn thủ tục khụng được viết trong thành phần của một biểu thức.

3. Vớ dụ

3.1. Bài toỏn

Người ta cần tớnh chu vi, diện tớch và đường chộo của ba hỡnh chữ nhật khi nạp vào cho mỏy hai kớch thước của mỗi hỡnh. Hỡnh thứ nhất tớnh thờm diện tớch hỡnh trũn lớn nhất cú thể nằm trọn trong nú. Hỡnh thứ hai tớnh thờm số tối đa hỡnh vuụng lỏt trong hỡnh chữ nhật này (độ dài cạnh hỡnh vuụng là a, cạnh hỡnh vuụng song song với cạnh hỡnh chữ nhật).

3.2. Xõy dựng chương trỡnh

Sơ đồ cấu trỳc của chương trỡnh mà ta sẽ viết là

3.3. Chương trỡnh: Program BaNhat ; Uses Crt ; Const a = 15.42 ; Var K1, K2 : Real ; Procedure Nhat ; Begin

Writeln(‘ Cho hai kich thuoc cua hinh chu nhat ‘) ; Repeat

Readln ( k1, k2 ) ;

If (K1 <= 0) OR (K2 <= 0) Then writeln(‘ Moi vao lai‘);

Until ( K1>0 ) And ( K2 > 0) ;

Writeln ( ‘ Chu vi la ‘ , 2*(K1 + K2) : 9 : 3 ) ; Writeln ( ‘ Dien tich la ‘ , K1 * K2 : 9 : 3 ) ; Writeln ( ‘ Duong cheo la‘ ,SQRT(K1*K1 + K2*K2):9:3) ;

End ; BEGIN

Clrscr ; Nhat ; If K1 > K2 Then K1 := K2 ; Writeln (‘ Dien tich hinh tron la‘ , Pi*K1*K1 / 4 : 9 : 3 ) ; Nhat ;

Writeln(‘So hinh vuong la‘ , Trunc(K1/a) * Trunc( K2 /a) : 6) ; Nhat ; Readln

END .

4. Ghi nhớ

4.1. Khai bỏo thủ tục khụng cú tham chiếu

a. Phần tiờu đề

Procedure TờnThủTục ;

Tờn thủ tục được đặt theo quy tắc đặt tờn . b. Khai bỏo địa phương

Tương tự như khai bỏo ở chương trỡnh chớnh. Cỏc hằng, kiểu, biến, chương trỡnh con khai bỏo ở một thủ tục nào thỡ chỉ hoạt động trong thủ tục đú.

c. Thõn thủ tục

Tương tự như thõn chương trỡnh chớnh, nhưng kết thỳc là từ khoỏ End với dấu chấm phẩy ( ;)

4.2. Gọi thủ tục khụng cú tham chiếu

Ở đõu cần đến thủ tục nào thỡ gọi tờn thủ tục đú. Thủ tục khai bỏo sau thỡ cú thể gọi thủ tục cựng cấp khai bỏo trước, ngoại trừ cỏc chương trỡnh con cục bộ của chỳng.

Bài tập

1. Viết một chương trỡnh trong đú cú bốn thủ tục như sau:

Thủ tục mang tờn VAO, trong đú mỏy nhận vào một số thực a dương. Thủ tục mang tờn HINHVUONG là một chương trỡnh tớnh chu vi, diện tớch và đường chộo của hỡnh vuụng cạnh a. Thủ tục mang tờn HINHTRON là một chương trỡnh tớnh chu vi và diện tớch của hỡnh trũn bỏn kớnh a. Thủ tục mang tờn TAMGIAC là một chương trỡnh tớnh chu vi, diện tớch, đường cao của tam giỏc đều cạnh a.

Phần thõn chương trỡnh gọi cả bốn thủ tục trờn.

2. Viết một chương trỡnh trong đú cú hai thủ tục như sau: (adsbygoogle = window.adsbygoogle || []).push({});

Thủ tục mang tờn GPTB1 là một chương trỡnh giải phương trỡnh bậc nhất ax + b = 0 với a, b là những số bất kỡ.

Thủ tục mang tờn NHATRON là một chương trỡnh tớnh diện tớch của phần bờn trong hỡnh trũn và bờn ngoài hỡnh chữ nhật cú hai cạnh a, b (hỡnh chữ nhật nội tiếp hỡnh trũn), tớnh chu vi đường trũn và chu vi hỡnh chữ nhật.

Phần thõn chương trỡnh cú lệnh nhận vào hai số thực a, b bất kỡ. Gọi thủ tục GPTB1. Nếu cả hai số a, b đều dương thỡ gọi thủ tục NHATRON.

3. Viết 3 thủ tục khụng cú tham biến để giải phương trỡnh bậc hai ax2 + bx + c = 0, Ứng với 3 trường hợp ( D > 0 , D < 0 , D = 0 ).

4. Viết chương trỡnh cho mỏy thực hiờn hai lần những việc như sau:

Lần thứ nhất. Nhận vào mảng A cú m dũng và n cột ( m=3, n=4), cỏc phần tử là những số nguyờn lớn hơn 5 và nhỏ hơn 500. Yờu cầu trờn màn hỡnh cỏc phần tử cựng dũng ở trờn một dũng, cựng cột ở trờn một cột, cú kiểm tra điều kiện phần tử lớn hơn 5 và nhỏ hơn 500. Sau khi nhận vào mảng A thỡ biến đổi mỗi phần tử của A được thay bằng tổng cỏc ước của nú. Sau đú in mảng A đó biến đổi lờn màn hỡnh, cũng yờu cầu cỏc phần tử cựng dũng ở trờn một dũng, cựng cột ở trờn một cột. Lần thứ hai. Việc nhận vào mảng A và in ra nú sau khi biến đổi cũng như lần thứ nhất. Sau khi nhận vào mảng A thỡ biến đổi mỗi phần tử của A được thay bằng tổng cỏc chữ số của nú.

Một phần của tài liệu Giao trinh Pascal (Trang 25 - 27)