Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Cầm Trung Nghĩa |
Ngày 10/05/2019 |
69
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:
1. Chương trình con được chia ra làm:
A. 1 loại
B. 2 loại
C. 3 loại
D. 4 loại
2. Cấu trúc chung của chương trình con được chia làm mấy phần
A. 1 phần
B. 2 phần
C. 3 phần
D. 4 phần
Hàm (Function) và thủ tục (Procedure)
[]
3. Cấu trúc chung của chương trình chính được chia làm mấy phần
A. 1 phần
B. 2 phần
C. 3 phần
D. 4 phần
[]
Ti?t 41- Bài 18
GV: Cầm Trung Nghĩa
Xét ví dụ vẽ hình chữ nhật có dạng sau
Ta có thể vẽ hình chữ nhật trên với ba câu lệnh
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Để vẽ được hình bên ta viết và sử dụng lệnh nào trong pascal ?
1. Cách viết và sử dụng thủ tục
1. Cách viết và sử dụng thủ tục
Xét ví dụ vẽ 3 hình chữ nhật có dạng sau:
Dể vẽ được 3 hình chữ nhật trên, ta viết câu lệnh thế nào?
Có thể vẽ 3 hình chữ nhật trên với 9 câu lệnh
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
a. Cấu trúc của thủ tục
Procedure[];
[]
begin
end;
[]
*Phần đầu: tên dành riêng Procedure, tên thủ tục, danh sách tham số.
*Phần khai báo: hằng, kiểu, biến được sử dụng trong thủ tục.
* Dãy câu lệnh: viết giữa cặp tên dành riêng begin và end tạo thành thân của thủ tục.
procedure Ve_hcn;
begin
end;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
1. Cách viết và sử dụng thủ tục
[]
Cấu trúc chung của chương trình con
program VD_thutuc1;
begin
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
End.
program VD_thutuc1;
procedure Ve_hcn;
begin
end;
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 ở trong chương trình
{Bat dau chương trình con }
{Ket thuc chuong trinh con}
1. Cách viết và sử dụng thủ tục
Chú ý:
- Sau end kết thúc chương trình chính là dấu (.), còn sau end kết thúc thủ tục là 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.
1. Cách viết và sử dụng thủ tục
a. Cấu trúc của thủ tục
program VD_thutuc1;
procedure
begin
end;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
begin
Ve_Hcn;
writeln; writeln;
End.
Ve_Hcn;
Ve_Hcn;
* * * * * * *
* *
* * * * * * *
1. Cách viết và sử dụng thủ tục
b. VÝ dô vÒ thñ tôc
Để thủ tục Ve_Hcn có thể thực hiện được điều đó, cần có hai tham số cho dữ liệu vào là chiều dài và chiều rộng.
Khi đó phần đầu của thủ tục được viết như sau.
Procedure Ve_Hcn (chdai, chrong: integer);
* * * * * * … *
* * * * * * … *
*
*
Chrong
Chdai
Chrong - 2
Các em hãy viết một thủ tục Ve_HCN bằng dấu * với chiều dài, rộng bất kì!
1. Cách viết và sử dụng thủ tục
**********************************
* *
* *
* *
**********************************
Dài
Rộng
Vẽ cạnh trên của HCN
Vẽ hai cạnh bên
Vẽ cạnh dưới
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;
b. VÝ dô vÒ thñ tôc
Program VD;
Uses crt;
var a,b: byte;
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
CLRSCR;
Ve_HCN(34,5);
Writeln; a:=5 ; b:=10;
Ve_HCN(a,b);
readln;
END.
**********************************
* *
* *
* *
**********************************
Ve_HCN(34,5);
For i:=1 to chdai do write(‘ * ’);
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;
Ve_HCN(5,10);
Writeln; a:=5 ; b:=10;
* * * * *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* * * * *
Program vidu;
Uses crt;
var a,b: byte;
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
CLRSCR;
Ve_HCN(25,10);
Writeln; a:=5 ; b:=10;
Ve_HCN(a,b);
readln;
End.
Tham số giá trị (tham tr?)
Tham số hình thức
Tham số bi?n (tham bi?n)
+ Tham số hình thức: có kích thước chiều dài và chiều rộng tuỳ theo giá trị của các tham số chdai và chrong.
+ Tham số giá trị (tham trị): là tham số hình thức được thay bằng các tham số thực sự tương ứng các giá trị cụ thể.
Program VD_thambien1;
Uses crt;
var a,b: integer;
Procedure Hoan_doi (Var x,y:integer);
Var TG: integer;
Begin
TG:= x;
x:= y;
y:=TG;
end;
Begin
Clrscr;
a:= 5 ; b:= 10;
Writeln( a:6 , b:6);
Hoan_doi(a,b);
Writeln( a:6 , b:6);
readln;
End.
Program VD_thambien2;
Uses crt;
var a,b: integer;
Procedure Hoan_doi (x:integer; Var y:integer);
Var TG: integer;
Begin
TG:= x;
x:= y;
y:=TG;
end;
Begin
Clrscr;
a:= 5 ; b:= 10;
Writeln( a:6 , b:6);
Hoan_doi(a,b);
Writeln( a:6 , b:6);
readln;
End.
5 10
10 5
5 10
5 5
- Trong VD_thambien1 khai báo tham số x và y đặt sauVar nói lên rằng hai tham số này được chuyền cho chương trình chính dưới dạng tham số biến (tham biến) nghĩa là ta có quyền thay đổi giá trị của hai biến x và y ở trong chương trình con và khi ra khỏi chương trình chính, các biến x và y vẫn giữ nguyên giá trị đã bị thay đổi trong chương trình con.
-VD_thambien2 tham số x không đặt sau Var có nghĩa là tham số x được chuyển cho chương trình con dưới dạng tham số giá trị (tham trị). Khi này chương trình chính chỉ được phép dùng giá trị của tham trị mà không được quyền thay đổi giá trị của nó.
Hãy ghi nhớ!
? Biến:
? Tham số
- Khai báo trong chương trình chính là biến toàn cục.
- Khai báo trong chương trình con là biến cục bộ.
- Biến chứa trong lời gọi CTC ở chương trình chính là các tham số thực sự.
- Biến khai báo cho dữ liệu vào ra trong chương trình con gọi là tham số hình thức.
? C?u trỳc c?a th? t?c
Lời gọi thủ tục
Procedure [()];
[< Phần khai báo >]
Begin
[]
End;
A. 1 loại
B. 2 loại
C. 3 loại
D. 4 loại
2. Cấu trúc chung của chương trình con được chia làm mấy phần
A. 1 phần
B. 2 phần
C. 3 phần
D. 4 phần
Hàm (Function) và thủ tục (Procedure)
[
3. Cấu trúc chung của chương trình chính được chia làm mấy phần
A. 1 phần
B. 2 phần
C. 3 phần
D. 4 phần
[
Ti?t 41- Bài 18
GV: Cầm Trung Nghĩa
Xét ví dụ vẽ hình chữ nhật có dạng sau
Ta có thể vẽ hình chữ nhật trên với ba câu lệnh
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Để vẽ được hình bên ta viết và sử dụng lệnh nào trong pascal ?
1. Cách viết và sử dụng thủ tục
1. Cách viết và sử dụng thủ tục
Xét ví dụ vẽ 3 hình chữ nhật có dạng sau:
Dể vẽ được 3 hình chữ nhật trên, ta viết câu lệnh thế nào?
Có thể vẽ 3 hình chữ nhật trên với 9 câu lệnh
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
a. Cấu trúc của thủ tục
Procedure
[
begin
end;
[
*Phần đầu: tên dành riêng Procedure, tên thủ tục, danh sách tham số.
*Phần khai báo: hằng, kiểu, biến được sử dụng trong thủ tục.
* Dãy câu lệnh: viết giữa cặp tên dành riêng begin và end tạo thành thân của thủ tục.
procedure Ve_hcn;
begin
end;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
1. Cách viết và sử dụng thủ tục
[
Cấu trúc chung của chương trình con
program VD_thutuc1;
begin
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
End.
program VD_thutuc1;
procedure Ve_hcn;
begin
end;
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 ở trong chương trình
{Bat dau chương trình con }
{Ket thuc chuong trinh con}
1. Cách viết và sử dụng thủ tục
Chú ý:
- Sau end kết thúc chương trình chính là dấu (.), còn sau end kết thúc thủ tục là 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.
1. Cách viết và sử dụng thủ tục
a. Cấu trúc của thủ tục
program VD_thutuc1;
procedure
begin
end;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
begin
Ve_Hcn;
writeln; writeln;
End.
Ve_Hcn;
Ve_Hcn;
* * * * * * *
* *
* * * * * * *
1. Cách viết và sử dụng thủ tục
b. VÝ dô vÒ thñ tôc
Để thủ tục Ve_Hcn có thể thực hiện được điều đó, cần có hai tham số cho dữ liệu vào là chiều dài và chiều rộng.
Khi đó phần đầu của thủ tục được viết như sau.
Procedure Ve_Hcn (chdai, chrong: integer);
* * * * * * … *
* * * * * * … *
*
*
Chrong
Chdai
Chrong - 2
Các em hãy viết một thủ tục Ve_HCN bằng dấu * với chiều dài, rộng bất kì!
1. Cách viết và sử dụng thủ tục
**********************************
* *
* *
* *
**********************************
Dài
Rộng
Vẽ cạnh trên của HCN
Vẽ hai cạnh bên
Vẽ cạnh dưới
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;
b. VÝ dô vÒ thñ tôc
Program VD;
Uses crt;
var a,b: byte;
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
CLRSCR;
Ve_HCN(34,5);
Writeln; a:=5 ; b:=10;
Ve_HCN(a,b);
readln;
END.
**********************************
* *
* *
* *
**********************************
Ve_HCN(34,5);
For i:=1 to chdai do write(‘ * ’);
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;
Ve_HCN(5,10);
Writeln; a:=5 ; b:=10;
* * * * *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* * * * *
Program vidu;
Uses crt;
var a,b: byte;
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
CLRSCR;
Ve_HCN(25,10);
Writeln; a:=5 ; b:=10;
Ve_HCN(a,b);
readln;
End.
Tham số giá trị (tham tr?)
Tham số hình thức
Tham số bi?n (tham bi?n)
+ Tham số hình thức: có kích thước chiều dài và chiều rộng tuỳ theo giá trị của các tham số chdai và chrong.
+ Tham số giá trị (tham trị): là tham số hình thức được thay bằng các tham số thực sự tương ứng các giá trị cụ thể.
Program VD_thambien1;
Uses crt;
var a,b: integer;
Procedure Hoan_doi (Var x,y:integer);
Var TG: integer;
Begin
TG:= x;
x:= y;
y:=TG;
end;
Begin
Clrscr;
a:= 5 ; b:= 10;
Writeln( a:6 , b:6);
Hoan_doi(a,b);
Writeln( a:6 , b:6);
readln;
End.
Program VD_thambien2;
Uses crt;
var a,b: integer;
Procedure Hoan_doi (x:integer; Var y:integer);
Var TG: integer;
Begin
TG:= x;
x:= y;
y:=TG;
end;
Begin
Clrscr;
a:= 5 ; b:= 10;
Writeln( a:6 , b:6);
Hoan_doi(a,b);
Writeln( a:6 , b:6);
readln;
End.
5 10
10 5
5 10
5 5
- Trong VD_thambien1 khai báo tham số x và y đặt sauVar nói lên rằng hai tham số này được chuyền cho chương trình chính dưới dạng tham số biến (tham biến) nghĩa là ta có quyền thay đổi giá trị của hai biến x và y ở trong chương trình con và khi ra khỏi chương trình chính, các biến x và y vẫn giữ nguyên giá trị đã bị thay đổi trong chương trình con.
-VD_thambien2 tham số x không đặt sau Var có nghĩa là tham số x được chuyển cho chương trình con dưới dạng tham số giá trị (tham trị). Khi này chương trình chính chỉ được phép dùng giá trị của tham trị mà không được quyền thay đổi giá trị của nó.
Hãy ghi nhớ!
? Biến:
? Tham số
- Khai báo trong chương trình chính là biến toàn cục.
- Khai báo trong chương trình con là biến cục bộ.
- Biến chứa trong lời gọi CTC ở chương trình chính là các tham số thực sự.
- Biến khai báo cho dữ liệu vào ra trong chương trình con gọi là tham số hình thức.
? C?u trỳc c?a th? t?c
Lời gọi thủ tục
Procedure
[< Phần khai báo >]
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ẻ: Cầm Trung Nghĩa
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)