Tải bản đầy đủ (.ppt) (18 trang)

VD về cách viết và sử dụng CTC.T2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.33 MB, 18 trang )


Câu 1: Phát biểu nào sau đây sai:
A. Danh sách tham số hình thức có thể có hoặc không.
B. Kết thúc thủ tục là END;
C. Thủ tục được viết trong thân chương trình.
D. Tham số hình thức dùng khi khai báo, tham số thực sự dùng khi
gọi thủ tục.
Câu 2 : Giả sử ta có dòng đầu thủ tục là
procedure P (Var A, B: Integer; C:integer);
Thì các tham số hình thức được hiểu như sau:
A. A, B, C đều là các tham biến
B. A, B là tham biến, C là tham trị
C. A, B, C đều là tham trị
D. A, B là tham trị, C là tham biến

Câu 3: Phần khai báo đầu thủ tục nào sau đây là đú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; và dòng đầu thủ tục
Procedure tong(n:byte; y: real);
Lời gọi nào sau đây đúng:
A. tong(a); B. tong(b,a); C. tong(a,b); D. tong(b;a);

Câu 5: Cho các biến A,B: byte; C:real;
Trong đó: A là tham trị, B và C là tham biến.
Khai báo dòng đầu thủ tục nào sau đây đú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 các biến x,z: byte; y:real;
Dòng đầu thủ tục như sau:
Procedure tang(a:byte; var b:byte;);
Lời gọi thủ tục nào sau đây sai?
A. tang(5,x); C. tang(1,y);
B. tang(5+2,z); D. tang(sqr(2),z);

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:2,y);
Readln;
End.
A. hoan doi la: 1 2
B. hoan doi la: 1 1
C. hoan doi la: 2 2
D. hoan doi la: 2 1
KÕt qu¶ xuÊt hiÖn trªn mµn h×nh lµ:
Lêi gäi thñ tôc nµo sau ®©y lµ ®óng:
A. Hoandoi(x,y);

B. Hdoi(x);
C. Hdoi(x,5);
D. Hdoi(5,y);

BÀI CŨ
Hãy cho biết chương trình sau sử dụng
chương trình con là thủ tục hay hàm?
Đó là đoạn nào? Đâu là phần đầu,
phần khai báo, phần thân?




FUNCTION <tên_hàm>[<DS các tham số hình thức>]:<kiểu dữ liệu>;
[<Phần khai báo>]
BEGIN
[<dãy các lệnh >]
<tên_hàm>:=<biểu thức>;
END;
2. Cách viết và sử dụng hàm
a. Cấu trúc hàm:
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
- Phần đầu: gồm Function, tên hàm, các tham số hình thức
và kiểu dữ liệu (integer, real, char, boolean, string)
- 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.
- Phần thân: dãy các lệnh viết giữa Begin và end;

VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
b. Sử dụng hàm:
- Lời gọi hàm:

<TÊN_HÀM>[(Danh sách tham số thực sự)]
Từ chương trình trên, hãy xác định
vị trí của hàm và lời gọi hàm trong
chương trình chính?
-
Hàm được khai báo ở <phần khai báo> của chương trình chính,
sau khai báo biến (với từ khóa Var)
-
Lời gọi hàm được thực hiện trong <phần thân> của chương
trình chính
-
Lời gọi hàm có thể tham gia vào biểu thức như một toán hạng
hoặc là tham số của lời gọi hàm/thủ tục khác

VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
c. Tham số hình thức (tương tự thủ tục)
* Ví dụ:
Tham số biến

Khai báo:
VAR
DS tham số hình thức:kiểu dữ liệu

Trong lệnh gọi thủ tục: các tham
số thực sự là tên các biến chứa dữ
liệu ra.

Giá trị có thể bị thay đổi sau
khi thực hiện xong thủ tục.
Tham số giá trị


Khai báo:
<DS tham số hình thức>: <kiểu dữ
liệu>

Giá trị không thay đổi khi
thực hiện xong thủ tục.

Trong lệnh gọi thủ tục: các
tham số thực sự là các giá trị
cụ thể

VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
Var a,b,c:integer;
Function Tim_Max(x,y:integer):integer;
Begin
If x>y then Tim_Max:=x else Tim_Max:=y;
End;
BEGIN
Write('nhap a,b,c: '); Readln(a,b,c);
Write('so lon nhat la:', Tim_Max(Tim_Max(a,b),c));
Readln;
END.
VD1: Hãy xây dựng hàm tìm số lớn nhất của 2 số rồi viết chương
trình tìm số lớn nhất trong 3 số a, b, c và ghi kết quả ra màn hình
d. Các ví dụ

VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
d. Các ví dụ
VD2: Hãy xây dựng hàm tính tổng hai số rồi viết chương trình

tính tổng của ba số và ghi kết quả ra màn hình
Var x,y,z:integer;
Function Tong2so(a,b:real):real;
Begin
Tong2so:=a+b;
End;
BEGIN
Write('nhap x,y,z: '); Readln(x,y,z);
Write(‘Tong 3 so la: ', Tong2so(Tong2so(x,y),z));
Readln;
END.

CỦNG CỐ
FUNCTION <tên_hàm>[<DS các
tham số hình thức>]:<kiểu dữ liệu>;
[<Phần khai báo>]
BEGIN
[<dãy các lệnh >]
<tên_hàm>:=<biểu thức>;
END;
PROCEDURE <tên_thủ_tục>[<DS
các tham số hình thức>];
[<Phần khai báo>]
BEGIN
[<dãy các lệnh >]
END;
-
Sử dụng khi cần thực hiện một
số thao tác xử lí nhằm giải quyết
một công việc cụ thể.

-
Sử dụng khi cần thực hiện một số
thao tác xử lí nhằm đưa ra một giá
trị kết quả cụ thể.
-
Muốn lưu kết quả phải dùng
tham biến.
-
Lời gọi thủ tục sử dụng như
một câu lệnh trong chương trình
chính
-
Luôn dùng <tên hàm> (với vai trò
là biến) để lưu kết quả.
-
Lời gọi hàm sử dụng trong biểu
thức, trong lời gọi hàm/thủ tục khác.

Chuẩn bị bài thực hành 6

Tiết sau thực hành
- Tìm hiểu thủ tục CatDan(s1, s2) và thủ tục CanGiua(s)

Xác định tham số hình thức?  là tham biến hay tham trị?
Giải thích?
- Tìm hiểu chương trình có sử dụng hai thủ tục trên và xác
định: tham số thực sự, biến toàn cục, biến cục bộ?

BÀI TẬP VỀ NHÀ


VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON


×