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

Chia sẻ bởi Nông Minh Hảo | Ngày 10/05/2019 | 92

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:

chào mừng quý thầy cô và các em học sinh đến với tiết dạy
Cách viết và sử dụng thủ tục
KIẾN THỨC CŨ
Nêu cấu trúc của thủ tục, khái niệm tham biến, tham trị?
KIỂM TRA BÀI CŨ
Cấu trúc: Function < tên hàm>():;
[phần khai báo]
Begin
[Dãy các lệnh]
End;
tham số giá trị
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à tên các giá trị cụ thể được gọi là các tham số giá trị( tham trị).
tham số biến 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à 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).
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON(tiết 2/2)
*
*
*
*
*
*
*
Tiết 42
BÀI 18
CÁCH VIẾT VÀ SỬ DỤNG HÀM
Kiến thức cũ:
CÁCH VIẾT VÀ SỬ DỤNG HÀM
Hãy kể tên một số hàm chuẩn?
Trả lời: Hàm ABS(), SQRT(), ROUND()...
Cách sử dụng chúng?
Sử dung:
- Viết tên hàm cần gọi và các tham số.
- Lời gọi hàm được viết trong biểu thức
như một toán hạng, thậm chí là tham số của một hàm khác.
CÁCH VIẾT VÀ SỬ DỤNG HÀM
1. Giới thiệu cấu trúc chung và vị trí của hàm trong CT
Cấu trúc của hàm:
Function < tên hàm>():;
[phần khai báo]
Begin
[Dãy các lệnh]
End;
Cấu trúc của thủ tục:
Procedure < tên_thủ_tục>();
[phần khai báo]
Begin
[Dãy các lệnh]
End;
So sánh sự giống và khác nhau của hàm và thủ tục.
- Giống: Có cấu trúc tương tự, có các tham số (có thể không có).
- Khác:
+ Bắt đầu của hàm là từ Function.
+ Tên hàm phải quy định kiểu dữ liệu trả về.
+ Trong thân hàm phải có lệnh gán giá trị cho tên hàm: :=;
+ Hàm trả lại giá trị thông qua tên hàm.
Là kiểu dữ liệu của giá trị mà hàm trả lại
CÁCH VIẾT VÀ SỬ DỤNG HÀM
2. Bài toán ví dụ 1:Viết chương trình rút gọn phân số (có sử dụng hàm) với tử số và mẫu số được nhập từ bàn phím.
Ý tưởng giải quyết bài toán
-Chương trình sử dụng một hàm để tính UCLN của tử số và mẫu số.
- Sử dụng UCLN để rút gọn phân số.
Chương trình ví dụ
Chương trình ví dụ:
program rutgon_phanso;
uses crt;
var tuso,mauso,a:integer;
function UCLN(x,y:integer):intrger;
var sodu:integer;
begin
while y<>0 do
begin
sodu:=x mod y;
x:=y;
y:=sodu;
end;
begin
clrscr;
write(`nhap tu so, mau so:`); readln(tuso,mauso);
a:=UCLN(tuso,mauso);
if a>1 then
begin
tuso:=tuso div a;
maso:= maso div a;
end;
writeln(tuso:5,maso:5);
readln
end.
CÁCH VIẾT VÀ SỬ DỤNG HÀM
Trong chương trình có khai báo mấy hàm?
Một hàm UCLN(x,y:integer).
Hàm UCLN(x,y) dùng để làm gì?
tìm ước số chung lớn nhất của hai số X, Y.
Phải có lệnh gán giá trị cho hàm: UCLN:=x;
Chương trình ví dụ:
program rutgon_phanso;
uses crt;
var tuso,mauso,a:integer;
function UCLN(x,y:integer):intrger;
var sodu:integer;
begin
while y<>0 do
begin
sodu:=x mod y;
x:=y;
y:=sodu;
end;
begin
clrscr;
write(`nhap tu so, mau so:`); readln(tuso,mauso);
a:=UCLN(tuso,mauso);
if a>1 then
begin
tuso:=tuso div a;
maso:= maso div a;
end;
writeln(tuso:5,maso:5);
readln
end.
CÁCH VIẾT VÀ SỬ DỤNG HÀM
Lời gọi hàm ở đâu?
Lệnh A:=UCLN(tuso,mauso);
Có gì khác với thủ tục trong lời gọi hàm.
- Đối với thủ tục lời gọi chỉ là là một lời gọi thủ tục còn lời gọi hàm phải được đặt trong một lệnh hoặc trong một lời gọi chương trình con khác.
Trong lời gọi hàm tham số hình thức x,y được thay bởi 2 tham số thực sự tương ứng tuso,mauso.
Biến cục bộ-toàn cục
program rutgon_phanso;
uses crt;
var tuso,mauso,a:integer;
function UCLN(x,y:integer):intrger;
var sodu:integer;
begin
while y<>0 do
begin
sodu:=x mod y;
x:=y;
y:=sodu;
end;
begin
clrscr;
write(`nhap tu so, mau so:`); readln(tuso,mauso);
a:=UCLN(tuso,mauso);
if a>1 then
begin
tuso:=tuso div a;
maso:= maso div a;
end;
writeln(tuso:5,maso:5);
readln
end.
CÁCH VIẾT VÀ SỬ DỤNG HÀM
Có những biến nào được sử dụng trong chương trình?
Biến: tuso, mauso, a, sodu
Các biến đó được khai báo ở chỗ nào trong chương trình?
+ Biến: tuso, mauso, a được khai báo trong chương trình chính
+ Biến: sodu được khai báo trong chương trình con.
-Biến tuso, mauso, a có tác dụng trong toàn bộ chương trình.
-Biến Sodu chỉ có tác dụng trong thân chương trình con đó.
-Biến toàn cục là biến được khai báo ở trong chương trình chính.
-Biến cục bộ là biến được khai báo ở chương trình con
CÁCH VIẾT VÀ SỬ DỤNG HÀM
So sánh sự giống và khác nhau giữa biến toàn cục- cục bô
Biến cục bộ-toàn cục
program rutgon_phanso;
uses crt;
var tuso,mauso,a:integer;
function UCLN(x,y:integer):intrger;
var sodu:integer;
begin
while y<>0 do
begin
sodu:=x mod y;
x:=y;
y:=sodu;
end;
begin
clrscr;
write(`nhap tu so, mau so:`); readln(tuso,mauso);
a:=UCLN(tuso,mauso);
if a>1 then
begin
tuso:=tuso div a;
maso:= maso div a;
end;
writeln(tuso:5,maso:5);
readln
end.
- Biến cục bộ: Chỉ có tác dụng trong chương trình con, được khai báo trong phần khai báo của chương trình con.
-Biến toàn bộ: có phạm vi ảnh hưởng trong toàn bộ chương trình, được khai báo trong phần khai báo của chương trình chính.
CÁCH VIẾT VÀ SỬ DỤNG HÀM
BÀI TOÁN 2
BÀI TOÁN 2:
Viết chương trình sử dụng chương trình con tìm giá trị nhỏ nhất của 3 số nhập từ bàn phím
TƯỞNG BÀI TOÁN
CÁCH VIẾT VÀ SỬ DỤNG HÀM
BÀI TOÁN 2:
Viết chương trình sử dụng chương trình con tìm giá trị nhỏ nhất của 3 số nhập từ bàn phím
Hãy nêu ý tưởng bài toán?
Sử dụng hàm min để tìm giá trị nhỏ của 2 số
Sau sử dụng hàm min để tìm giá trị nhỏ của 3 số
CÁCH VIẾT VÀ SỬ DỤNG HÀM
BÀI TOÁN 2:
Viết chương trình sử dụng chương trình con tìm giá trị nhỏ nhất của 3 số nhập từ bàn phím
Vậy hàm min cần bao nhiêu tham số?
Sử dụng 2 tham số a,b
CHƯƠNG TRÌNH GiẢI BÀI TOÁN
CÁCH VIẾT VÀ SỬ DỤNG HÀM
Chương trình:
3.Tham số hình thức-tham số thực sự
CÁCH VIẾT VÀ SỬ DỤNG HÀM
program VD_thutuc2;
uses crt;
var a,b,i:integer;
procedure ve_HCN(chdai,chrong:integer);
var i,j:intrger;
Begin
for i:=1 to chdai do write(`*`);
writeln;
for i:=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; writeln;
ve_hcn(5,10);
readln;
a:=4; b:=2;
for i:=1 to 4 do
Begin
ve_hcn(a,b);
readln; readln;
a:=a*2; b:=b*2;
end;
Readln
End.

2 tham số
hình thức
2 tham số
Thực sự
các tham số hình thức được thay bằng các tham số thực sự.
3.Tham số hình thức-tham số thực sự
CÁCH VIẾT VÀ SỬ DỤNG HÀM
program VD_thutuc2;
uses crt;
var a,b,i:integer;
procedure ve_HCN(chdai,chrong:integer);
var i,j:intrger;
Begin
for i:=1 to chdai do write(`*`);
writeln;
for i:=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; writeln;
ve_hcn(5,10);
readln;
a:=4; b:=2;
for i:=1 to 4 do
Begin
ve_hcn(a,b);
readln; readln;
a:=a*2; b:=b*2;
end;
Readln
End.

2 tham số
hình thức
2 tham số
Thực sự
các tham số hình thức được thay bằng các tham số thực sự.
Tham số có hai chức năng: đưa dữ liệu vào cho chương trình con hoặc đưa dữ liệu chương trình con tìm được ra ngoài.
Các tham số trong ví dụ 2 thuộc loại nào?
Trả lời: Đưa dữ liệu vào cho chương trình con xử lý.
- Trong lời gọi thủ tục, các tham số hình thức được thay thế bởi các tham số thực sự tương ứng là các giá trị cụ thể được gọi là các tham trị
-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à tên các biến chứa dữ liệu ra được gọi là các tham số biến.
Khi khai báo tham số biến ta đặt tham số đó sau từ khóa var
Khi khai báo tham số giá trị không được đặt sau từ khóa var
Quan sát ví dụ tiếp
3.Tham số hình thức-tham số thực sự
CÁCH VIẾT VÀ SỬ DỤNG HÀM
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);
end.
x, y là tham số giá trị hay tham số biến?
Đứng sau từ khóa var
Cách nhận biết?
Là tham biến
Kết quả chương trình:
10
10 5
Tham số biến có thể thay đổi giá trị, tham số giá trị luôn xác định không thay đổi
Ví dụ
3.Tham số hình thức-tham số thực sự
CÁCH VIẾT VÀ SỬ DỤNG HÀM
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);
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);
end.
Kết quả
5 10
10 5
Kết quả
5 10
5 5
Khi nào ta dùng tham biến, khi nào dùng tham trị?
Khi cần các tham số đóng vai trò cung cấp tư liệu vào dùng tham trị
Khi cần tham số là kết quả thu lại được thì dùng tham biến.
KIẾN THỨC ĐÃ HỌC
- Cấu trúc của thủ tục
- Cách sử dụng tham số biến, tham số giá trị thông qua một số ví dụ
BÀI TẬP VỀ NHÀ
-Ôn lại kiến thức đã học về cách viết và sử dụng chương trình con.

- Đọc trước nội dung mục 2: Cách viết và sử dụng hàm, sách giáo khoa (101)
Chúc quý thầy cô và các em học sinh một ngày làm việc thành công
* 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ẻ: Nông Minh Hảo
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)