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

Bai 18 - Vi du cach viet CTC

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 (219.79 KB, 14 trang )

Câu h i ki m tra bài cũỏ ể
Câu h i ki m tra bài cũỏ ể
1. Trong ngôn ngữ lập trình, Thủ tục là gì?
2. Viết cấu trúc của chương trình con.
Trong đó, cho biết ý nghĩa của thành phần
thứ nhất là gì?
1. Thủ tục: Là chương trình con, thực hiện một số thao tác nào
đó, không trả lại giá trị qua tên của thủ tục.
<Phần đầu>
<Phần đầu>
[<phần khai báo>]
[<phần khai báo>]
<Phần thân>
<Phần thân>
2. Cấu trúc chương trình con:
<Phần đầu> : Phần đầu nhất thiết phải có, dùng để khai báo tên
chương trình con, nếu là hàm phải khai báo kiểu dữ liệu cho
giá trị trả về của hàm.
Hàm
Thủ tục
Procedure <tên_thủ_tục> [( <danh sách tham số> )];
[ <phần khai báo> ]
Begin
[ < các câu lệnh > ]
End;
Bài 18
Bài 18
:
:
Function <tên_hàm> [(<ds tham số >)]:<kiểu dữ liệu>;
[ <phần khai báo>]


Begin
[ < các câu lệnh > ]
End;
{
{
Ví Dụ Về Cách Viết Và
Ví Dụ Về Cách Viết Và
Sử Dụng Chương Trình Con
Sử Dụng Chương Trình Con
Xét ví dụ vẽ hình chữ nhật có dạng như sau:
* * * * * * *
* *
* * * * * * *
Để vẽ được hình chữ nhật
trên ta viết câu lệnh như thế
nào trong chương trình ?
Writeln('* * * * * * *');
Writeln('* *');
Writeln('* * * * * * *');
1.
1.
Cách viết và sử dụng thủ tục
Cách viết và sử dụng thủ tục
:
:
 Trong chương trình ta viết 3 câu lệnh như sau :
Program VD_thutuc1;
Procedure Ve_hcn; {Bat dau thu tuc}
Begin
End; {Ket thuc thủ tục}

writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
BEGIN
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
END.
(*= = = = = = = = = = = = = = = = = = = =*)
(*= = = = = = = = = = = = = = = = = = = =*)
Cấu trúc chương
trình chính:
[<Phần khai báo>]
<Phần thân>
Vị trí của thủ tục
nằm ở phần nào
của chương trình
chính?
{gọi thủ tục Ve_Hcn}
Ta có thể đưa 3 câu lệnh vẽ hình chữ nhật vào một thủ tục có tên VE_HCN, mỗi
khi cần vẽ một hình chữ nhật ta đưa vào câu lệnh gọi thủ tục đó.
{gọi thủ tục Ve_Hcn}
{gọi thủ tục Ve_Hcn}
{thân chương trình chính}
1.
1.
Cách viết và sử dụng thủ tục:
Cách viết và sử dụng thủ tục:

Program VD_thutuc1;
Procedure Ve_hcn;
Begin
End;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
BEGIN
END.
a. Cấu trúc của thủ tục:
Procedure <tên thủ tục>[(<danh sách tham số>)];
[<phần khai báo>]
Begin
End;
[<dãy các lệnh>]
Chú ý:
- Kết thúc thủ tục là từ khóa END và dấu
chấm phẩy (;)
- Các thủ tục, nếu có, phải được khai báo
và mô tả trong phần khai báo của
chương trình chính, ngay sau phần khai
báo biến.
- Khi cần thực hiện, ta phải viết lệnh gọi
thủ tục tương tự như các thủ tục chuẩn.
(*= = = = = = = = = = = = = =*)
(*= = = = = = = = = = = = = =*)
Ve_hcn;
writeln; writeln;
Ve_hcn;
writeln; writeln;

Ve_hcn;
Gọi thủ
tục
ve_hcn
- Khai báo dữ liệu cho tham số chỉ được
dùng tên kiểu. Tên kiểu là tên chuẩn hoặc
tên do người lập trình đặt.
b. Ví dụ về thủ tục:
* * * * * * … *
* * * * * * … *
*
*
Chrong
Chdai
Chrong - 2
Để vẽ nhiều hình
chữ nhật với kích
thước khác nhau, ta
phải viết thủ tục như
thế nào ?
Bài toán: Viết chương trình vẽ ra các hình chữ nhật với kích thước thay đổi.
 Cần có hai tham số cho dữ liệu
vào là chiều dài và chiều rộng.
Procedure Ve_hcn(chdai, chrong : integer);
Var i, j : integer;
Begin
For i:=1 to chdai do write (' * ');
Writeln;
For j:=1 to chrong - 2 do
Begin

Write(' * ' );
For i:=1 to chdai - 2 do write(' ');
Writeln( ' * ' );
End;
For i:=1 to chdai do write(' * ');
Writeln;
End;
1. Vẽ cạnh trên: chdai dấu *
2. Vẽ 2 cạnh bên: chrong -2
dòng.
+Mỗi dòng có 2 đầu là 2 dấu *,
ở giữa là chdai – 2 dấu cách.
3. Vẽ cạnh dưới: chdai dấu *
Program VD_thutuc2;
Uses CRT;
Var a, b, i : Interher;
Procedure Ve_hcn( chdai , chrong : integer );
Var i, j : integer;
Begin
For i:=1 to chdai do write (' * ');
Writeln;
For j:=1 to chrong - 2 do
Begin
Write(' * ' );
For i:=1 to chdai - 2 do write(' ');
Writeln( ' * ' );
End;
For i:=1 to chdai do write(' * ');
Writeln;
End;

BEGIN {Thân chương trình chính}
Ve_hcn(25,10);
Writeln; writeln;
Ve_hcn(5,10);
END.
Đây là thủ tục có tham số.
Các tham số phải được khai báo
sau tên thủ tục, nằm trong cặp
dấu ngoặc tròn ( và ).
Thủ tục Ve_hcn : thực hiện việc
vẽ hình chữ nhật có kích thước tùy
theo giá trị của các tham số chdai,
chrong.
Danh sách tham số trong phần
đầu thủ tục gọi là các tham số
hình thức.
Khi gọi thủ tục, ta cần viết tên thủ
tục và thay thế các tham số hình
thức bởi các tham số thực sự.
– Tham số hình thức chia làm hai loại:
+ Tham số giá trị (tham trị)
+ Tham số biến (tham biến)
Em hãy cho chạy
từng chương trình,
sau đó rút ra nhận
xét ?
 CT1 thực hiện được việc đổi giá
trị của 2 biến a, b cho nhau.
 CT2 chỉ đổi được giá trị của biến
b, còn biến a vẫn giữ nguyên giá trị

cũ.
CT1 CT2
– Tham số hình thức chia làm hai loại:
+ Tham số giá trị (tham trị)
+ Tham số biến (tham biến)
Em hãy cho biết tham
trị và tham biến là gì?
(Tham khảo SGK
trang 99)
 Trong lời gọi thủ tục, các tham số hình thức được thay bằng các tham số
thực sự tương ứng là các giá trị cụ thể đgl các tham số giá trị (tham trị).

Trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số
thực sự tương ứng là tên các biến chứa dữ liệu ra đgl các tham số biến (tham
biến).
+ Phân biệt giữa tham số giá trị và tham số biến:

Trong khai báo danh sách tham số: các tham số có từ khoá Var đứng
trước là tham số biến, các tham số không có từ khóa Var đứng trước là
tham số giá trị.

Khi gọi thủ tục, tham số thực sự tương ứng với tham số biến phải là
tên biến (không thể là hằng giá trị hay biểu thức).

Sau khi thực hiện thủ tục, thì giá trị các tham số biến có thể thay đổi,
còn giá trị của các tham số giá trị không bao giờ thay đổi.
Cho biết sự khác nhau
giữa tham trị và tham
biến ?
Em hãy cho biết tên

những tham số hình
thức ?
x, y: là tham số hình thức.
Em hãy cho biết
những tham số thực
sự ?
a ,b: là tham số thực sự.
Cho biết tên các
tham số biến, tham
số giá trị?
x : là tham số giá trị.
y: là tham số biến .
A. Phần đầu thủ tục là từ khóa Procedure, tiếp theo là tên thủ tục. Danh sách tham số có
thể có hoặc không.
E. Sau phần khai báo biến của thủ tục có thể mô tả và khai báo các chương trình con khác
được sử dụng trong thủ tục.
F. Khi cần thực hiện, ta phải viết lệnh gọi thủ tục và danh sách tham số thực sự tương ứng
với các tham số hình thức, nhưng không cần qaun tâm đến thứ tự và kiểu dữ liệu của từng
tham số.
Câu hỏi:
Câu 1: Các phát biểu nào sau đây là sai ?
B. Kết thúc thủ tục là từ khóa END và dấu chấm chấm(.)
C. Vị trí của thủ tục nằm trong phần khai báo của chương trình, sau phần khai báo biến.
D. Một thủ tục nhất thiết phải có danh sách tham số của nó.
Câu 2: Cho thủ tục xuly được mô tả như sau:
Procedure xuly(x, y:integer; Var z: integer);
Begin
x := x+1;
y := y+1;
z := x + y;

End;
Xuly(1, 2, 3);
Xuly(1, 2, c);
a:=0; c:=0;
Xuly(a, 1.5, c);
a:=0; b:=0;c:=0;
Xuly(a, b, c);
a:=0; b:=0;c:=0;
Xuly(a+1, b, c+1 );
Với a,b,c là các biến kiểu integer. Cho biết tính Đúng/Sai trong các
lời gọi thủ tục sau:
a)
b)
c)
d)
e)
S
Đ
Đ
S
S
DẶN DÒ
-
Xem lại bài cũ.
-
Chuẩn bị bài mới: xem trước Bài tập và thực hành 6.
(trang 103)
Củng cố bài
Cấu trúc và vị trí của chương trình con trong chương trình chính
Program <tên chương trình chính>;

Uses <khai báo thư viên sử dụng>;
Const <khai báo hằng>;
Type <định nghĩa kiểu dữ liệu>;
Var <khai báo biến>;
Procedure <tên thủ tục>[<danh sách các tham số>;
[<Phần khai báo cho thủ tục>];
Begin
End;
[<Dãy các lệnh của thủ tục>];
Begin
End.
[<Dãy các lệnh của chương trình chính>];

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×