Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Châu Quốc Phong |
Ngày 10/05/2019 |
58
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:
BỘ MÔN TIN HỌC 11
Người thực hiện: Châu Quốc Phong
Giáo viên trường THPT Trà Cú
Tập thể lớp 11A1 - Kính chào quý Thầy cô.
SỞ GIÁO DỤC VÀ ĐÀO TẠO TRÀ VINH
Trường THPT Trà Cú
CHÀO MỪNG QUÝ THẦY CÔ
ĐẾN DỰ TIẾT HỘI GIẢNG
CHƯƠNG TRÌNH CON VÀ
LẬP TRÌNH CÓ CẤU TRÚC
Chương 6: CHƯƠNG TRÌNH CON VÀ
LẬP TRÌNH CÓ CẤU TRÚC
Chương trình con là gì ?
Phân loại chương trình con ?
Điểm khác nhau cơ bản giữa hàm và thủ tục ?
Bài 17. VÍ DỤ VỀ CÁCH VIẾT VÀ
SỬ DỤNG CHƯƠNG TRÌNH CON
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
2. Cách viết và sử dụng hàm
Xét ví dụ vẽ hình chữ nhật có dạng sau:
* * * * * * *
* *
* * * * * * *
1. Cách viết và sử dụng thủ tục
Để vẽ hình chữ nhật trên, ta cần dùng những câu lệnh nào?
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
procedure Ve_Hcn;
begin
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
end;
1. Cách viết và sử dụng thủ tục
{bắt đầu thủ tục}
{kết thúc thủ tục}
procedure [()];
[]
begin
[]
end;
1. Cách viết và sử dụng thủ tục
a. Cấu trúc của thủ tục:
procedure
;
program VD_thutuc1;
procedure Ve_Hcn;
begin
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
end;
begin
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
readln
end.
1. Cách viết và sử dụng thủ tục
Thủ tục Ve_Hcn
(chương trình con Ve_Hcn)
Lệnh gọi chương trình con
program VD_thutuc1;
procedure Ve_Hcn;
begin
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
end;
Begin
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
readln
end.
Giả sử ta cần vẽ nhiều hình chữ nhật với kích thước khác nhau (25x10; 5x10; 4x2), thủ tục này có thực hiện được không ?
Để giải quyết bài toán trên, thủ tục Ve_Hcn được viết lại như thế nào ?
1. Cách viết và sử dụng thủ tục
Ví dụ 1: Chương trình vẽ các hình chữ nhật có kích thước khác nhau bằng cách dùng thủ tục Ve_Hcn với các tham số chdai, chrong. Giá trị của các tham số chdai, chrong là nguyên (integer).
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Khi đó phần đầu của thủ tục được viết như sau:
procedure Ve_hcn(chdai, chrong: integer);
Khi đó phần đầu của thủ tục Ve_Hcn được viết như thế nào?
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;
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Tham số hình thức
Vẽ cạnh trên của hình chữ nhật
Vẽ hai cạnh bên
Vẽ cạnh dưới
begin
clrscr;
Ve_Hcn(25,10);
writeln;writeln;
Ve_Hcn(5,10);
readln;
clrscr;
a:=4; b:=2;
for i:=1 to 4 do
begin
Ve_Hcn(a,b);
readln; clrscr;
a:=a*2; b:=b*2;
end;
readln;
end.
* 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ị (tham trị).
Câu lệnh gọi thủ tục có dạng:
[(các tham số thực sự)];
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Ví dụ 2: Chương trình hoán đổi giá trị của hai biến, bằng cách dùng thủ tục Hoan_doi.
TG
TG := x (1)
x := y (2)
y := TG (3)
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tụ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.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Tham số hình thức là các tham số biến
Lệnh gọi thủ tục Hoan_doi với các tham số được thay bằng các biến
Thay đổi giá trị của các biến
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.
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 được gọi là các tham số biến (tham biến).
Để phân biệt tham biến và tham trị, Pascal sử dụng từ khóa var để khai báo cho những tham số biến.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
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.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Khác nhau trong khai báo tham số hình thức
Khác nhau ở kết quả sau khi thực hiện thủ tục
Điểm khác nhau giữa tham trị và tham biến ?
* Tham số biến được dùng để ghi lại
dữ liệu kết quả của việc thực hiện
thủ tục.
* Tham số giá trị chỉ để đưa dữ liệu
vào cho thủ tục khi bắt đầu thực hiện
thủ tục.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
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.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
procedure Hoan_doi(var x: integer; y: integer);
Kết quả nhận được (trên màn hình) như thế nào khi thực hiện chương trình ?
* Chú ý:
- Khi khai báo các tham số hình thức, nếu có kiểu khác nhau thì các tham số sẽ cách nhau bằng dấu chấm phẩy, nếu có cùng kiểu thì cách nhau bằng dấu phẩy.
Ví dụ:
procedure CTC(x, y, z: integer; r: real);
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
* Chú ý:
- Khi khai báo dữ liệu cho các tham số hình thức 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.
Ví dụ:
Khai báo hợp lệ:
procedure Alpha(N: integer; var s: string);
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
-Khai báo không hợp lệ:
procedure Delta(M: array[1..10] of byte; var X: string[25]);
-Khai báo hợp lệ:
type mang = array[1..10] of byte; xau = string[25];
procedure Delta(M: mang; var X: xau);
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
1. Từ khóa để khai báo thủ tục là:
A. Program B. Procedure
C. Function D. Processor
2. Muốn khai báo x, y là tham số giá trị (x, y thuộc kiểu integer) trong thủ tục có tên là "ABC" thì khai báo nào sau đây là đúng?
A. Procedure ABC(x, y: integer);
B. Procedure ABC(var x, y: integer);
C. Procedure ABC(x: integer; var y: integer);
D. Procedure ABC(var x: integer; y: integer);
Củng cố
3. Muốn khai báo x là tham số giá trị, y và z là tham số biến (x, y, z thuộc kiểu integer) trong thủ tục có tên là "CTC" thì khai báo nào sau đây là đúng?
A. Procedure CTC(x, y, z: integer);
B. Procedure CTC(var x, y, z: integer);
C. Procedure CTC(var x:integer; y, z: integer);
D. Procedure CTC(x: integer; var y, z: integer);
Củng cố
4. Cho chương trình sau:
var a, b, c: integer;
procedure Hoan_doi(var a, b: integer);
var TG: integer;
begin
TG:= a;
a:= b;
b:= TG;
end;
begin
clrscr;
a:= 10; b:= 11; c:= 12;
Hoan_doi(b,c);
Hoan_doi(a,b);
Hoan_doi(b,c);
writeln(a, ` `, b ` `, c);
end.
Kết quả nhận được (trên màn hình) sau khi thực hiện chương trình là:
A. 10 11 12
B. 11 10 12
C. 12 11 10
D. 12 10 11
Củng cố
Tiết học đến đây là hết.
Xin chúc quý Thầy (Cô) cùng các em học sinh
Vui - Khoẻ và Thành công.
Xin cám ơn!
Người thực hiện: Châu Quốc Phong
Giáo viên trường THPT Trà Cú
Tập thể lớp 11A1 - Kính chào quý Thầy cô.
SỞ GIÁO DỤC VÀ ĐÀO TẠO TRÀ VINH
Trường THPT Trà Cú
CHÀO MỪNG QUÝ THẦY CÔ
ĐẾN DỰ TIẾT HỘI GIẢNG
CHƯƠNG TRÌNH CON VÀ
LẬP TRÌNH CÓ CẤU TRÚC
Chương 6: CHƯƠNG TRÌNH CON VÀ
LẬP TRÌNH CÓ CẤU TRÚC
Chương trình con là gì ?
Phân loại chương trình con ?
Điểm khác nhau cơ bản giữa hàm và thủ tục ?
Bài 17. VÍ DỤ VỀ CÁCH VIẾT VÀ
SỬ DỤNG CHƯƠNG TRÌNH CON
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
2. Cách viết và sử dụng hàm
Xét ví dụ vẽ hình chữ nhật có dạng sau:
* * * * * * *
* *
* * * * * * *
1. Cách viết và sử dụng thủ tục
Để vẽ hình chữ nhật trên, ta cần dùng những câu lệnh nào?
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
procedure Ve_Hcn;
begin
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
end;
1. Cách viết và sử dụng thủ tục
{bắt đầu thủ tục}
{kết thúc thủ tục}
procedure
[
begin
[
end;
1. Cách viết và sử dụng thủ tục
a. Cấu trúc của thủ tục:
procedure
;
program VD_thutuc1;
procedure Ve_Hcn;
begin
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
end;
begin
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
readln
end.
1. Cách viết và sử dụng thủ tục
Thủ tục Ve_Hcn
(chương trình con Ve_Hcn)
Lệnh gọi chương trình con
program VD_thutuc1;
procedure Ve_Hcn;
begin
writeln(`* * * * * * *`);
writeln(`* *`);
writeln(`* * * * * * *`);
end;
Begin
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
writeln;writeln;
Ve_Hcn;
readln
end.
Giả sử ta cần vẽ nhiều hình chữ nhật với kích thước khác nhau (25x10; 5x10; 4x2), thủ tục này có thực hiện được không ?
Để giải quyết bài toán trên, thủ tục Ve_Hcn được viết lại như thế nào ?
1. Cách viết và sử dụng thủ tục
Ví dụ 1: Chương trình vẽ các hình chữ nhật có kích thước khác nhau bằng cách dùng thủ tục Ve_Hcn với các tham số chdai, chrong. Giá trị của các tham số chdai, chrong là nguyên (integer).
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Khi đó phần đầu của thủ tục được viết như sau:
procedure Ve_hcn(chdai, chrong: integer);
Khi đó phần đầu của thủ tục Ve_Hcn được viết như thế nào?
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;
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Tham số hình thức
Vẽ cạnh trên của hình chữ nhật
Vẽ hai cạnh bên
Vẽ cạnh dưới
begin
clrscr;
Ve_Hcn(25,10);
writeln;writeln;
Ve_Hcn(5,10);
readln;
clrscr;
a:=4; b:=2;
for i:=1 to 4 do
begin
Ve_Hcn(a,b);
readln; clrscr;
a:=a*2; b:=b*2;
end;
readln;
end.
* 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ị (tham trị).
Câu lệnh gọi thủ tục có dạng:
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Ví dụ 2: Chương trình hoán đổi giá trị của hai biến, bằng cách dùng thủ tục Hoan_doi.
TG
TG := x (1)
x := y (2)
y := TG (3)
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tụ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.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Tham số hình thức là các tham số biến
Lệnh gọi thủ tục Hoan_doi với các tham số được thay bằng các biến
Thay đổi giá trị của các biến
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.
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 được gọi là các tham số biến (tham biến).
Để phân biệt tham biến và tham trị, Pascal sử dụng từ khóa var để khai báo cho những tham số biến.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
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.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
Khác nhau trong khai báo tham số hình thức
Khác nhau ở kết quả sau khi thực hiện thủ tục
Điểm khác nhau giữa tham trị và tham biến ?
* Tham số biến được dùng để ghi lại
dữ liệu kết quả của việc thực hiện
thủ tục.
* Tham số giá trị chỉ để đưa dữ liệu
vào cho thủ tục khi bắt đầu thực hiện
thủ tục.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
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.
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
procedure Hoan_doi(var x: integer; y: integer);
Kết quả nhận được (trên màn hình) như thế nào khi thực hiện chương trình ?
* Chú ý:
- Khi khai báo các tham số hình thức, nếu có kiểu khác nhau thì các tham số sẽ cách nhau bằng dấu chấm phẩy, nếu có cùng kiểu thì cách nhau bằng dấu phẩy.
Ví dụ:
procedure CTC(x, y, z: integer; r: real);
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
* Chú ý:
- Khi khai báo dữ liệu cho các tham số hình thức 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.
Ví dụ:
Khai báo hợp lệ:
procedure Alpha(N: integer; var s: string);
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
-Khai báo không hợp lệ:
procedure Delta(M: array[1..10] of byte; var X: string[25]);
-Khai báo hợp lệ:
type mang = array[1..10] of byte; xau = string[25];
procedure Delta(M: mang; var X: xau);
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục
1. Từ khóa để khai báo thủ tục là:
A. Program B. Procedure
C. Function D. Processor
2. Muốn khai báo x, y là tham số giá trị (x, y thuộc kiểu integer) trong thủ tục có tên là "ABC" thì khai báo nào sau đây là đúng?
A. Procedure ABC(x, y: integer);
B. Procedure ABC(var x, y: integer);
C. Procedure ABC(x: integer; var y: integer);
D. Procedure ABC(var x: integer; y: integer);
Củng cố
3. Muốn khai báo x là tham số giá trị, y và z là tham số biến (x, y, z thuộc kiểu integer) trong thủ tục có tên là "CTC" thì khai báo nào sau đây là đúng?
A. Procedure CTC(x, y, z: integer);
B. Procedure CTC(var x, y, z: integer);
C. Procedure CTC(var x:integer; y, z: integer);
D. Procedure CTC(x: integer; var y, z: integer);
Củng cố
4. Cho chương trình sau:
var a, b, c: integer;
procedure Hoan_doi(var a, b: integer);
var TG: integer;
begin
TG:= a;
a:= b;
b:= TG;
end;
begin
clrscr;
a:= 10; b:= 11; c:= 12;
Hoan_doi(b,c);
Hoan_doi(a,b);
Hoan_doi(b,c);
writeln(a, ` `, b ` `, c);
end.
Kết quả nhận được (trên màn hình) sau khi thực hiện chương trình là:
A. 10 11 12
B. 11 10 12
C. 12 11 10
D. 12 10 11
Củng cố
Tiết học đến đây là hết.
Xin chúc quý Thầy (Cô) cùng các em học sinh
Vui - Khoẻ và Thành công.
Xin cám ơ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ẻ: Châu Quốc Phong
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)