Tải bản đầy đủ (.ppt) (23 trang)

vi dụ CTC tiet 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (739.62 KB, 23 trang )

Cách viết và sử dụng thủ tục
Nêu cấu trúc của thủ tục, khái niệm tham
biến, tham trị?
Cấu trúc: Function < tên hàm>(<danh sách các tham
số>):<kiểu dữ kiệu>;
[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)
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON(tiết 2/2)
**
* *
*
*
*
Tiết 42
CÁCH VIẾT VÀ SỬ DỤNG HÀM
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
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
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>(<danh sách
các tham số>):<kiểu dữ kiệu>;
[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>(<danh
sách các tham số>);
[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: <Tên hàm>:=<biểu thức>;
+ 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
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
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
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Á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
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
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
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
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
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
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
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
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:
5 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
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.
- 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ụ
-Ô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)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×