- Phần đầu: gồm Procedure, tên thủ tục và các tham số hình thức?. - Phần khai báo: các hằng, kiểu, biến và cũng có thể các chương trình con.[r]
(1)BÀI CŨ
Trong ngôn ngữ lập trình Pascal, chương trình gồm loại ? Có tên gọi ? Hãy nêu cấu trúc chương trình con?
Câu 1
Trả lời:
Chương trình gồm có hai loại:
Hàm (Function) Thủ tục (Procedure)
Cấu trúc chương trình gồm:
<Phần đầu>
(2)BÀI CŨ
Hãy cho biết chương trình sau sử dụng chương trình thủ tục hay hàm? Đó đoạn
(3)Program Tim_Max;
Var a,b,c,d,e,ln1,ln2,ln3,ln4:integer;
Procedure sln(a,b:integer;var max:integer); Begin
If a>b then max:=a else max:=b; End;
BEGIN
Write('nhap a,b,c,d,e:'); Readln(a,b,c,d,e); sln(a,b,ln1);
sln(ln1,c,ln2); sln(ln2,d,ln3); sln(ln3,e,ln4);
Write('so lon nhat la:',ln4); Readln;
(4)(5)PROCEDURE <tên_thủ_tục>[<DS tham số hình thức>]; [<Phần khai báo>]
BEGIN
[<dãy lệnh >]
END;
1 Cách viết sử dụng thủ tục a Cấu trúc thủ tục:
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
- Phần đầu: gồm Procedure, tên thủ tục tham số hình thức. - Phần khai báo: hằng, kiểu, biến chương trình
(6)VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON b Sử dụng thủ tục:
Lệnh gọi:
<TÊN_THỦ_TỤC>[(Danh sách tham số thực sự)];
Từ chương trình trên, xác định vị trí thủ tục lời gọi thủ tục
trong chương trình?
-Thủ tục khai báo <phần khai báo> chương trình chính, sau khai báo biến (với từ khóa Var)
(7)VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON c Tham số hình thức:
* Ví dụ:
Tham số biến
Khai báo:
VAR
DS tham số hình thức:kiểu liệu • Trong lệnh gọi thủ tục: tham số thực tên biến chứa liệu
• Giá trị bị thay đổi sau thực xong thủ tục
Tham số giá trị • Khai báo:
<DS tham số hình thức>: <kiểu liệu>
• Giá trị khơng thay đổi thực xong thủ tục
(8)VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON d Các Ví dụ:
* * * * * * * * * * * *
VD1: Viết Ct vẽ hình chữ nhật có dạng: PROGRAM VIDU;
Procedure Vehinh; BEGIN
Writeln(‘* * * * *’); Writeln(‘* *’); Writeln(‘* * * * *’); END;
BEGIN {Chuong trinh chinh} For i:=1 to Vehinh; Readln;
(9)VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
Var a,b,c,d,e,ln1,ln2,ln3,ln4:integer;
Procedure sln(a,b:integer;var max:integer); Begin
If a>b then max:=a else max:=b; End;
BEGIN
Write('nhap a,b,c,d,e:'); Readln(a,b,c,d,e); sln(a,b,ln1);
sln(ln1,c,ln2); sln(ln2,d,ln3); sln(ln3,e,ln4);
Write('so lon nhat la:',ln4); Readln;
END
(10)Câu 1: Phát biểu sau sai:
A Danh sách tham số hình thức có khơng B Kết thúc thủ tục END;
C Thủ tục viết thân chương trình
D Tham số hình thức dùng khai báo, tham số thực dùng gọi thủ tục
Câu : Giả sử ta có dịng đầu thủ tục là
procedure P (Var A, B: Integer; C:integer); Thì tham số hình thức hiểu sau: A A, B, C tham biến
B A, B tham biến, C tham trị C A, B, C tham trị
(11)Câu 3: Phần khai báo đầu thủ tục sau đúng: A Type mang=array[1 10] of Byte;
Procedure nhap(var a: mang;);
B Type mang: array[1 10] of Byte;
Procedure nhap(var a: mang);
C Type mang=array[1 10] of Byte;
Procedure nhap(var a: mang);
D Procedure nhap(var a: array[1 10] of Byte);
Câu 4: Cho a: real; b: byte; dòng đầu thủ tục Procedure tong(n:byte; y: real);
Lời gọi sau đúng:
(12)Câu 5: Cho biến A,B: byte; C:real;
Trong đó: A tham trị, B C tham biến. Khai báo dòng đầu thủ tục sau đúng: A Procedure Thamso(Var A:byte; B:Byte; C:real); B Procedure Thamso(A:byte; Var B:Byte; C:real);
C Procedure Thamso(A:byte; Var B:Byte; Var C:real); D Procedure Thamso(A,B:Byte; Var C:real);
Câu 6: Cho biến x,z: byte; y:real; Dòng đầu thủ tục sau:
Procedure tang(a:byte; var b:byte;);
Lời gọi thủ tục sau sai?
A tang(5,x); C tang(1,y);
(13)Câu 7: Cho ch ơng trình sau:
Var x,y:byte;
Procedure Hdoi(a:byte;var b:byte); Var tg:byte;
Begin
Tg:=a; a:=b; b:=tg; End;
Begin
x:=1; y:=2; Hdoi(x,y);
Writeln(‘hoan doi la: ’,x,y); Readln;
End
A hoan doi la:12 B hoan doi la:11 C hoan doi la:22 D hoan doi la:21
Kết xuất hình là:
Li gi th tc no sau õy đúng:
A Hoandoi(x,y); B Hdoi(x);
(14)VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
1 Viết thủ tục tính chu vi diện tích hình chữ nhật Sau thực lời gọi thủ tục chương trình với kích thước khác hình chữ nhật
(15)