Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Nguyễn Quốc Thịnh |
Ngày 10/05/2019 |
74
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:
Gio vin th?c hi?n: Vu Kim Son
BÀI 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON
KÍNH CHÀO
QUÝ THẦY, CÔ & CÁC EM
ĐẾN VỚI TIẾT HỌC
Giáo án điện tử tin 11:
Câu 1: Cấu trúc của chương trình con và phân loại?
Câu 2: Viết các dòng lệnh Pascal vẽ lên màn hình, hình chữ nhật có dạng :
* * * * * * *
* *
* * * * * * *
Kiểm tra kiến thức cũ
VD1: Vẽ 3 hình chữ nhật có dạng như sau:
* * * * * * *
* *
* * * * * * *
1. Cách viết và sử dụng thủ tục
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Vẽ 1 hình chữ nhật ta phải viết 3 câu lệnh
1. Cách viết và sử dụng thủ tục
Program VD_thutuc1;
Procedure Ve_Hcn;
Begin
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
End;
Begin
Ve_hcn;
Writeln; writeln;
Ve_hcn;
Writeln; writeln;
Ve_hcn;
End.
Program VD_K_dung_thu_tuc;
Begin
{vẽ hình chữ nhật 1}
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
{vẽ hình chữ nhật 2}
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
{vẽ hình chữ nhật 3}
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
End.
Để tránh viết đi viết lại ta dùng chương trình con nào sau đây: hàm hay thủ tục?
Tìm hiểu chương trình con: Thủ tục
Procedure
Begin
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
End;
Begin
Ve_hcn;
Writeln; writeln;
Ve_hcn;
Writeln; writeln;
Ve_hcn;
End.
[]
{Bắt đầu thủ tục}
{Kết thúc thủ tục}
{Gọi thủ tục Ve_Hcn}
{Gọi thủ tục Ve_Hcn}
{Gọi thủ tục Ve_Hcn}
Ve_Hcn
a. C?u trc c?a th? t?c v cch dng
{}
Cấu trúc của thủ tục:
Procedure[()];
[]
Begin
{… dãy các lệnh (thân của thủ tục)..}
End;
Trong đó:
Phần đầu thủ tục: trước hết là tên dành riêng Procedure, tiếp theo sau là Tên thủ tục. Danh sách tham số có thể có hoặc không.
Phần khai báo: dùng để xác định các hằng, các kiểu, các biến và cũng có thể khai báo hàm và thủ tục khác sử dụng trong thủ tục.
Phần thân: đặt giữa cặp Begin …. End; tạo thành thân của thủ tục.
Vẽ nhiều hình chữ nhật có kích thươc khác nhau thì làm thế nào
b. Ví d? v? th? t?c
Viết chương trình con dùng để vẽ hình chữ nhật có kích thước khác nhau: Giả sử ta có hai tham số là dai, rong:
For i:=1 to dai do write (‘ * ’);
Writeln;
{ ve 2 canh ben }
For j:=1 to rong - 2 do
Begin
Write(‘ * ’ );
For i:=1 to dai - 2 do write(‘ ’);
Writeln( ‘ * ’ );
End;
{ ve canh duoi }
For i:=1 to dai do write(‘ * ’);
Writeln;
(9,5)
i:=
1
Write(‘*’);
2
3
4
5
6
7
8
9
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
j:=
1
Write(‘*’);
-
-
-
-
-
-
-
Write(‘-’);
2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
3
Writeln(‘*’);
Hoàn thiện chương trình
Program VD_thutuc2;
Var a,b,i: integer;
Procedure VE_HCN( dai, rong: integer);
Var i, j : integer;
Begin { ve canh tren cua hcn}
For i:=1 to dai do write (‘ * ’);
Writeln;
{ ve 2 canh ben }
For j:=1 to rong - 2 do
Begin
Write(‘ * ’ );
For i:=1 to dai - 2 do write(‘ ’);
Writeln( ‘ * ’ );
End;
{ ve canh duoi }
For i:=1 to dai do write(‘ * ’);
Writeln;
End; { chuong trinh chinh}
Begin
VE_HCN (25,10);
Writeln; writeln;
VE_HCN (5,10);
readln
End.
Biến cục bộ
Biến toàn cục
Tham số hình thức
Tham số thực sự
Xét chương trình con tiếp theo:
Program CT3
Var a,b :integer;
Procedure Hoan_Doi(var x, y: integer);
Var TG: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
{chuong trinh chinh}
Begin
A:=5; B:=10;
Writeln( A:6, B : 6);
Hoan_Doi(A,B);
Writeln(A: 6, B:6);
Readln;
End.
Tham biến
Viêt chương trình hoán đổi giá trị hai biến
Program CT4
Var a,b :integer;
Procedure Hoan_Doi( x, y: integer);
Var TG: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
{chuong trinh chinh}
Begin
A:=5; B:=10;
Writeln( A:6, B : 6);
Hoan_Doi(A,B);
Writeln(A: 6, B:6);
Readln;
End.
Tham trị
Ví dụ: Viết chương trình con tính bình phương của một số thực.
BinhPhuong (X: Real): Real;
Begin
BinhPhuong:=X*X ;
End;
Ta dùng hàm hay dung thủ tục?
Function
{Phần khai báo}
Phần thân chương trình
2. Cách viết và sử dụng hàm:
Cấu trúc của hàm:
FUNCTION( [ Danh sách tham số >] ) : ;
[< Phần khai báo> ]
BEGIN
(…Dãy các lệnh ( thân của hàm )…)
: =;
END;
2. Cách viết và sử dụng hàm:
Sử dụng hàm như thế nào:
Sử dụng hàm:
Program TinhBinhPhuong;
Var s: real;
Function BP( X: Real) : Real;
Begin
BP:=X*X ;
End;
Begin
S:= BP(9) + BP(10) + 100;
Writeln(‘Giá trị của biểu thức = ’, s);
readln
End.
Sự giống nhau giữa Thủ Tục và Hàm:
1.Cả thủ tục và hàm đều là chương trình con, có cấu tạo giống như một chương trình trừ dòng đầu tiên và kết thúc bằng END;
2. Cả thủ tục và hàm đều có thể chứa các tham số ( tham số giá trị và tham số biến), cùng tuân theo các qui định về khai báo và sử dụng các lọai tham số này
PROCEDURE
[(< Danh sách tham số>)];
[]
BEGIN
(…Dãy các lệnh ( thân của thủ tục )…)
END;
FUNCTION( [ Danh sách tham số >] ): ;
[< Phần khai báo> ]
BEGIN
(…Dãy các lệnh ( thân của hàm )…)
: =
END;
* Sự khác giữa Thủ tục và Hàm:
Procedure BinhPhuong(X: real;
var X2 : Real);
Begin
X2: = X*X ;
End;
Function BinhPhuong( X: Real): Real;
Begin
BinhPhuong:=X*X ;
End;
Đầu Hàm bắt đầu với từ khóa FUNCTION , sau tên hàm và phần khai báo danh sách tham số ( nếu có) phải chỉ ra giá trị kết quả của Hàm thuộc kiểu dữ liệu nào.
Kiểu của hàm là kiểu kết quả của Hàm và chỉ có thể là một trong các kiểu : Integer, Real, Char, Boolean, String.
Trong thân của hàm thường có câu lệnh gán giá trị cho tên hàm.: =
Sự khác giữa việc sử dụng Thủ tục và việc sử dụng Hàm:
VE_HCN(25,10);
S: = BP(9) +BP(10);
Lời gọi thủ tục:
Tên_thủ_tục(Các tham số truyền vào nếu có)
Lời gọi hàm: Tương tự như sử dụng các hàm chuẩn của Pascal như SIN(x), SQRT(x), …Viết tên của hàm cần gọi và truyền các tham số thực sự cho hàm.
Kiến thức cần nhớ:
Cấu trúc của thủ tục, hàm.
Tham số hình thức, tham số thực sự.
Tham số giá trị (tham trị), tham số biến (tham biến).
Biến toàn cục, biến cục bộ và phạm vi ảnh hưởng của chúng.
Cách sử dụng thủ tục, hàm trong chương trình chính.
Câu 1 Chọn câu đúng trong các câu sau?
A. Tham trị có thể thay đổi trong chương trình chính.
B. Tham trị không thể thay đổi giá trị trong chương trình chính.
C. Tham biến không thể thay đổi giá trong chương trình chính.
D. Cả A, B đều đúng.
Câu 2: Chọn câu những trả lời đúng. Cho thủ tục hoán đổi giá trị hai biến
Procedure Hoan_doi(x: integer, var y: integer)
A. x là tham trị
B. x là tham biến
C. y là tham biến
D. y là tham trị
BÀI 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON
KÍNH CHÀO
QUÝ THẦY, CÔ & CÁC EM
ĐẾN VỚI TIẾT HỌC
Giáo án điện tử tin 11:
Câu 1: Cấu trúc của chương trình con và phân loại?
Câu 2: Viết các dòng lệnh Pascal vẽ lên màn hình, hình chữ nhật có dạng :
* * * * * * *
* *
* * * * * * *
Kiểm tra kiến thức cũ
VD1: Vẽ 3 hình chữ nhật có dạng như sau:
* * * * * * *
* *
* * * * * * *
1. Cách viết và sử dụng thủ tục
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Vẽ 1 hình chữ nhật ta phải viết 3 câu lệnh
1. Cách viết và sử dụng thủ tục
Program VD_thutuc1;
Procedure Ve_Hcn;
Begin
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
End;
Begin
Ve_hcn;
Writeln; writeln;
Ve_hcn;
Writeln; writeln;
Ve_hcn;
End.
Program VD_K_dung_thu_tuc;
Begin
{vẽ hình chữ nhật 1}
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
{vẽ hình chữ nhật 2}
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
{vẽ hình chữ nhật 3}
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
End.
Để tránh viết đi viết lại ta dùng chương trình con nào sau đây: hàm hay thủ tục?
Tìm hiểu chương trình con: Thủ tục
Procedure
Begin
Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
End;
Begin
Ve_hcn;
Writeln; writeln;
Ve_hcn;
Writeln; writeln;
Ve_hcn;
End.
[
{Bắt đầu thủ tục}
{Kết thúc thủ tục}
{Gọi thủ tục Ve_Hcn}
{Gọi thủ tục Ve_Hcn}
{Gọi thủ tục Ve_Hcn}
Ve_Hcn
a. C?u trc c?a th? t?c v cch dng
{
Cấu trúc của thủ tục:
Procedure
[
Begin
{… dãy các lệnh (thân của thủ tục)..}
End;
Trong đó:
Phần đầu thủ tục: trước hết là tên dành riêng Procedure, tiếp theo sau là Tên thủ tục. Danh sách tham số có thể có hoặc không.
Phần khai báo: dùng để xác định các hằng, các kiểu, các biến và cũng có thể khai báo hàm và thủ tục khác sử dụng trong thủ tục.
Phần thân: đặt giữa cặp Begin …. End; tạo thành thân của thủ tục.
Vẽ nhiều hình chữ nhật có kích thươc khác nhau thì làm thế nào
b. Ví d? v? th? t?c
Viết chương trình con dùng để vẽ hình chữ nhật có kích thước khác nhau: Giả sử ta có hai tham số là dai, rong:
For i:=1 to dai do write (‘ * ’);
Writeln;
{ ve 2 canh ben }
For j:=1 to rong - 2 do
Begin
Write(‘ * ’ );
For i:=1 to dai - 2 do write(‘ ’);
Writeln( ‘ * ’ );
End;
{ ve canh duoi }
For i:=1 to dai do write(‘ * ’);
Writeln;
(9,5)
i:=
1
Write(‘*’);
2
3
4
5
6
7
8
9
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
j:=
1
Write(‘*’);
-
-
-
-
-
-
-
Write(‘-’);
2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
3
Writeln(‘*’);
Hoàn thiện chương trình
Program VD_thutuc2;
Var a,b,i: integer;
Procedure VE_HCN( dai, rong: integer);
Var i, j : integer;
Begin { ve canh tren cua hcn}
For i:=1 to dai do write (‘ * ’);
Writeln;
{ ve 2 canh ben }
For j:=1 to rong - 2 do
Begin
Write(‘ * ’ );
For i:=1 to dai - 2 do write(‘ ’);
Writeln( ‘ * ’ );
End;
{ ve canh duoi }
For i:=1 to dai do write(‘ * ’);
Writeln;
End; { chuong trinh chinh}
Begin
VE_HCN (25,10);
Writeln; writeln;
VE_HCN (5,10);
readln
End.
Biến cục bộ
Biến toàn cục
Tham số hình thức
Tham số thực sự
Xét chương trình con tiếp theo:
Program CT3
Var a,b :integer;
Procedure Hoan_Doi(var x, y: integer);
Var TG: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
{chuong trinh chinh}
Begin
A:=5; B:=10;
Writeln( A:6, B : 6);
Hoan_Doi(A,B);
Writeln(A: 6, B:6);
Readln;
End.
Tham biến
Viêt chương trình hoán đổi giá trị hai biến
Program CT4
Var a,b :integer;
Procedure Hoan_Doi( x, y: integer);
Var TG: integer;
Begin
TG : = x ;
x : = y ;
y : = TG ;
End;
{chuong trinh chinh}
Begin
A:=5; B:=10;
Writeln( A:6, B : 6);
Hoan_Doi(A,B);
Writeln(A: 6, B:6);
Readln;
End.
Tham trị
Ví dụ: Viết chương trình con tính bình phương của một số thực.
BinhPhuong (X: Real): Real;
Begin
BinhPhuong:=X*X ;
End;
Ta dùng hàm hay dung thủ tục?
Function
{Phần khai báo}
Phần thân chương trình
2. Cách viết và sử dụng hàm:
Cấu trúc của hàm:
FUNCTION
[< Phần khai báo> ]
BEGIN
(…Dãy các lệnh ( thân của hàm )…)
END;
2. Cách viết và sử dụng hàm:
Sử dụng hàm như thế nào:
Sử dụng hàm:
Program TinhBinhPhuong;
Var s: real;
Function BP( X: Real) : Real;
Begin
BP:=X*X ;
End;
Begin
S:= BP(9) + BP(10) + 100;
Writeln(‘Giá trị của biểu thức = ’, s);
readln
End.
Sự giống nhau giữa Thủ Tục và Hàm:
1.Cả thủ tục và hàm đều là chương trình con, có cấu tạo giống như một chương trình trừ dòng đầu tiên và kết thúc bằng END;
2. Cả thủ tục và hàm đều có thể chứa các tham số ( tham số giá trị và tham số biến), cùng tuân theo các qui định về khai báo và sử dụng các lọai tham số này
PROCEDURE
[(< Danh sách tham số>)];
[
BEGIN
(…Dãy các lệnh ( thân của thủ tục )…)
END;
FUNCTION
[< Phần khai báo> ]
BEGIN
(…Dãy các lệnh ( thân của hàm )…)
END;
* Sự khác giữa Thủ tục và Hàm:
Procedure BinhPhuong(X: real;
var X2 : Real);
Begin
X2: = X*X ;
End;
Function BinhPhuong( X: Real): Real;
Begin
BinhPhuong:=X*X ;
End;
Đầu Hàm bắt đầu với từ khóa FUNCTION , sau tên hàm và phần khai báo danh sách tham số ( nếu có) phải chỉ ra giá trị kết quả của Hàm thuộc kiểu dữ liệu nào.
Kiểu của hàm là kiểu kết quả của Hàm và chỉ có thể là một trong các kiểu : Integer, Real, Char, Boolean, String.
Trong thân của hàm thường có câu lệnh gán giá trị cho tên hàm.
Sự khác giữa việc sử dụng Thủ tục và việc sử dụng Hàm:
VE_HCN(25,10);
S: = BP(9) +BP(10);
Lời gọi thủ tục:
Tên_thủ_tục(Các tham số truyền vào nếu có)
Lời gọi hàm: Tương tự như sử dụng các hàm chuẩn của Pascal như SIN(x), SQRT(x), …Viết tên của hàm cần gọi và truyền các tham số thực sự cho hàm.
Kiến thức cần nhớ:
Cấu trúc của thủ tục, hàm.
Tham số hình thức, tham số thực sự.
Tham số giá trị (tham trị), tham số biến (tham biến).
Biến toàn cục, biến cục bộ và phạm vi ảnh hưởng của chúng.
Cách sử dụng thủ tục, hàm trong chương trình chính.
Câu 1 Chọn câu đúng trong các câu sau?
A. Tham trị có thể thay đổi trong chương trình chính.
B. Tham trị không thể thay đổi giá trị trong chương trình chính.
C. Tham biến không thể thay đổi giá trong chương trình chính.
D. Cả A, B đều đúng.
Câu 2: Chọn câu những trả lời đúng. Cho thủ tục hoán đổi giá trị hai biến
Procedure Hoan_doi(x: integer, var y: integer)
A. x là tham trị
B. x là tham biến
C. y là tham biến
D. y là tham trị
* 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ẻ: Nguyễn Quốc Thịnh
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)