Bài giảng Nhập môn tin học - Chương 2 - Ngô Quang Thạch
ĐỆ QUI
Trong một chương trình, một CTC có thể gọi một CTC khác vào làm việc. Nếu như CTC đó gọi lại chính nó thì gọi là sự đệ qui.
BÀI TẬP
Viết chương trình tính diện tích các hình:
- 1. Hinh chu nhat.
- 2. Hinh vuong.
- 3. Hinh tron.
- 4. Ket thuc.
Lựa chọn một mục của menu bằng cách ấn số tương ứng, ấn phím số 4 máy dừng chương trình (Mỗi mục ta viết thành mỗi CTC)
12 trang |
Chia sẻ: thucuc2301 | Lượt xem: 646 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Nhập môn tin học - Chương 2 - Ngô Quang Thạch, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
11/27/2020ngoquangthach@yahoo.comNGÔ QUANG THẠCHNHẬP MÔN TIN HỌCChương 2NỘI DUNGKhái niệmThủ tục và hàmChuyển tham số cho chương trình conFunction và cách lựa chọnBiến toàn cục và biến địa phươngTính đệ qui của CTCĐơn vị chương trình (Unit)11/27/2020Khái niệmChương trình con (CTC) là một đoạn chương trình thực hiện trọn vẹn hay chỉ một chức năng nào đó. Có 2 dạng CTC:Thủ tục (PROCEDURE): Dùng để thực hiện một hay nhiều nhiệm vụ nào đó.Hàm (FUNCTION): Thực hiện tính toán và Trả về một giá trị nào đó.Ngoài ra, trong Pascal còn cho phép các CTC lồng vào nhau. 11/27/2020CHƯƠNG TRÌNH CON11/27/2020CTCPROCEDUREPROCEDURE THUTUC[(Các tham số)];[Khai báo Const, Type, Var]BEGIN..............END;FUNCTIONFUNCTION HAM[(Các tham số)]:;[Khai báo Const, Type, Var]BEGIN..............HAM:=;END;BEGIN {Chương trình chính} ................... THUTUC[(...)]; ................... A:= HAM[(...)]; ...................END.Cấu trúc11/27/2020PROGRAM ProgName; VAR a,b: type1; x:type2 PROCEDURE Proc1(t,h:type1; Var k:type2); VAR x,y Begin . End; FUNCTION func1(r:type): type; Var x Begin . End; BEGIN . END. a,b,x là biến toàn cụcx,y là biến địa phươngVÍ DỤTa xây dựng hàm tính diện tích hình tròn truyền tham số vào là bán kính của hình tròn.Function DienTichHinhTron(Radius:Real):Real; Begin DienTichHinhTron := PI * Radius* Radius; End;Thủ tục INSO sau sẽ in các số từ 1 đến giá trị biến truyền vào. So là tham truyền vào thủ tụcProcedure INSO(So: Integer); Var i: Integer; Begin For i := 1 to So do Write( i:10 ); End; 11/27/2020Program TEST; Var n: Integer; {biến toàn cục}{-----------------------------------------} Procedure INSO(So: Integer); Var i: Integer; {biến địa phương} Begin For i := 1 to So do Write( i:10 ); End; {------------ Chương trình chính ------------} Begin Write(‘Nhập một số bất kỳ lớn hơn 0: ’); Readln(n); INSO( n ); Readln; End. 11/27/2020BIẾN TOÀN CỤC VÀ BIẾN ĐỊA PHƯƠNGBiến toàn cục: là các biến được khai báo trong chương trình chính. Các biến này có tác dụng ở mọi nơi trong toàn bộ chương trình.Biến địa phương: là các biến được khai báo trong các CTC. Các biến này chỉ có tác dụng trong phạm vi CTC đó mà thôi.Chú ý: Trong một CTC, nếu biến toàn cục trùng tên với biến địa phương thì biến địa phương được ưu tiên hơn.11/27/2020THAM TRỊ VÀ THAM BIẾNTham trị: là tham số truyền vào CTC không có từ khoá VAR đứng trước, sau khi ra khỏi CTC giá trị của nó không bị thay đổi.Tham biến: là tham số truyền vào CTC có từ khoá VAR đứng trước, vì sau khi ra khỏi CTC giá trị của nó bị thay đổiVí dụ: Viết chương trình con để tìm điểm đối xứng của điểm (x,y) qua gốc tọa độ.Ý tưởng: Vì bài toán này trả về tọa độ điểm đối xứng (xx,yy) gồm 2 giá trị nên ta dùng thủ tục.Procedure DoiXung(x,y:Integer; Var xx,yy:Integer);Begin xx:=-x; yy:=-y;End;x, y được gọi là tham trịxx, yy được gọi là tham biến11/27/2020ĐỆ QUITrong một chương trình, một CTC có thể gọi một CTC khác vào làm việc. Nếu như CTC đó gọi lại chính nó thì gọi là sự đệ qui.11/27/2020BÀI TẬPViết chương trình tính diện tích các hình:- 1. Hinh chu nhat. - 2. Hinh vuong.- 3. Hinh tron.- 4. Ket thuc.Lựa chọn một mục của menu bằng cách ấn số tương ứng, ấn phím số 4 máy dừng chương trình (Mỗi mục ta viết thành mỗi CTC)11/27/202011/27/2020Thank You !
Các file đính kèm theo tài liệu này:
- nmth_baigiang_c2_8394_2054393.pptx