Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Trần Thiện Em |
Ngày 10/05/2019 |
63
Chia sẻ tài liệu: Bài 18. Ví dụ về cách viết và sử dụng chương trình con thuộc Tin học 11
Nội dung tài liệu:
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.
2. Cấu trúc chương trình con:
: 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 [( )];
[ ]
Begin
[ < các câu lệnh > ]
End;
Bài 18:
Function [()]:; [ ]
Begin
[ < các câu lệnh > ]
End;
Ví Dụ Về Cách Viết Và
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. 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:
[]
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. 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[()];
[]
Begin
End;
[]
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;
Uses;
Const;
Type <định nghĩa kiểu dữ liệu>;
Var;
Procedure[;
[];
Begin
End;
[];
Begin
End.
[];
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.
2. Cấu trúc chương trình con:
Hàm
Thủ tục
Procedure
[
Begin
[ < các câu lệnh > ]
End;
Bài 18:
Function
Begin
[ < các câu lệnh > ]
End;
Ví Dụ Về Cách Viết Và
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. 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:
[
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. 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
[
Begin
End;
[
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
Uses
Const
Type <định nghĩa kiểu dữ liệu>;
Var
Procedure
[
Begin
End;
[
Begin
End.
[
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Thiện Em
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)