Bài 18. Ví dụ về cách viết và sử dụng chương trình con

Chia sẻ bởi Ngô Văn Nhậm | Ngày 10/05/2019 | 104

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:

Trường thpt cộng hiền
Các vị đại biểu, các thầy cô giáo
và các em học sinh
1. Chương trình con được chia ra làm mấy loại
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
[]

Bài 18
Giáo án điện tử tin học lớp 11


1. Cách viết và sử dụng thủ tục
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(‘* * * * * * *’);
Theo em để vẽ được hình chữ nhật trên ta viết câu lệnh thế nào trong chương trình


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:
Theo em để vẽ được 3 hình chữ nhật trên ta viết câu lệnh thế nào trong chương trình
Ta 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(‘* * * * * * *’);


1. Cách viết và sử dụng thủ tục
program VD_thutuc1;
procedure Ve_hcn; {Bat dau thu tuc}
begin
end; {Ket thuc chuong trinh con}
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
begin
Ve_Hcn; {Goi thu tuc Ve_Hcn}
writeln; writeln; {De cach hai dong}
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


1. Cách viết và sử dụng thủ tục
a. Cấu trúc của thủ tục
Procedure [];
[]
begin
end;
[]
* Phần đầu thủ tục gồm tên dành riêng Procedure, tiếp theo là tên thủ tục. Danh sách tham số có thể có hoặc không có.
*Phần khai báo dùng để xác định các hằng, kiểu, biến và cũng có thể xác định các chương trình con khác được sử dụng trong thủ tục.
* Dãy câu lệnh được 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.
program VD_thutuc1;
procedure Ve_hcn;
begin
end;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
begin
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
End.
{************************}
{************************}


1. Cách viết và sử dụng thủ tục
program VD_thutuc1;
procedure Ve_hcn;
begin
end;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
begin
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
End.
a. Cấu trúc của thủ tục
Procedure [];
[]
begin
end;
[]
{************************}
{************************}
Chú ý:
- Sau tên dành riêng 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
program VD_thutuc1;
procedure Ve_hcn;
begin
end;
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
begin
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
writeln; writeln;
Ve_Hcn;
end.
a. Cấu trúc của thủ tục
{************************}
{************************}
* * * * * * *
* *
* * * * * * *
* * * * * * *
* *
* * * * * * *
* * * * * * *
* *
* * * * * * *


1. Cách viết và sử dụng thủ tục
a. Cấu trúc của 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ì!
**********************************
* *
* *
* *
**********************************
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;


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(25,10);
Writeln;
Ve_HCN(5,10);
a:=5 ; b:=10;
Ve_HCN(a,b);
readln;
END.
+ Thủ tục Ve_Hcn ở đây đã diễn đạt một thuật toán vẽ một hình chữ nhật 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. Những tham số này được gọi là tham số hình thức.
+ 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à các giá trị cụ thể được gọi là tham số giá trị (gọi tắt là tham trị)


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
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.
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.


- ở trong VD_thambien1 việc khai báo hai tham số x và y trong phần khai báo Procedure được đặt sau chữ Var nói lên rằng hai tham số này được chuyền cho CTC 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 CTC, 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 được đặt sau chữ Var điều đó 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 CTC 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ó.


* 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ẻ: Ngô Văn Nhậm
Dung lượng: | Lượt tài: 12
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)