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

bai 18lop11

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 (371.22 KB, 20 trang )

Bài 18.

VÍ DỤ VỀ CÁCH VIẾT VÀ
SỬ DỤNG CHƯƠNG
TRÌNH CON
(tiết 2)


KIỂM TRA BÀI CỦ
1. Nêu cấu trúc của thủ tục?
2. Cho phần đầu thủ tục như sau:
Procedure Tong(x,y:integer; var s:integer);
Trong lời gọi thủ tục ở chương trình ta gọi:
Tong(a,b,T);
- Hãy xác định tham số hình thức, tham số thực sự?
- Xác định tham số giá trị, tham số biến?


NỘI DUNG



1. Cách viết và sử dụng thủ tục.
a. Cấu trúc thủ tục:
b. Ví dụ về thủ tục
2. Cách viết và sử dụng hàm.
a. Cấu trúc của hàm.
b. Ví dụ về hàm.


2. Cách viết và sử dụng hàm.


a.Cấu trúc của hàm:
Function <tên hàm>[(<ds tham số>)]: <kiểu dữ liệu> ;
[]
Begin
[<dãy các lệnh>]
<tên hàm>:= <biểu thức>;
End;
những
kiểu nào?
Kiểu
Kiểudữ
dữliệu
liệutrả
chỉvề
cócó
thểthể
là gồm
kiểu dữ
liệu chuẩn
(integer, real, boolean, char, string)


2. Cách viết và sử dụng hàm.
Cấu trúc hàm
Function <tên hàm>[(<ds tham số>)]:
<kiểu dữ liệu> ;
[]
Begin
[<dãy các lệnh>]
<tên hàm>:= <biểu thức>;

End;

Cấu trúc thủ tục
Procedure <tên thủ tục>[(<ds tham số>)];
[]
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?


2. Cách viết và sử dụng hàm.
a.Cấu trúc của hàm:
Giống nhau:
+ Đều là chương trình con, có cấu trúc
giống một chương trình.
+ Đều có thể có tham số (tham biến hoặc
tham trị), cùng tuân theo quy định về khai
báo và sử dụng của các tham số này.
Khác nhau:
+ Việc thực hiện hàm luôn trả về giá trị
thuộc kiểu xác định qua tên hàm.
+ Trong thân hàm thường có câu lệnh gán
giá trị cho tên hàm.


2. Cách viết và sử dụng hàm.
b. Ví dụ về hàm:

Ví dụ 1: Lập chương trình thực hiện việc rút gọn
một phân số, trong đó có sử dụng hàm tính ước
số chung lớn nhất (ƯCLN) của hai số nguyên.


Chương trình rút gọn phân số
Program Rutgon_phanso;
USES CRT;
Var tuso,mauso,a:integer;

tuso,mauso,a

Function UCLN(x,y:integer):integer;
Var sodu:integer;
sodu
Begin
While y<>0 Do
Tham Begin
trị: x,y:integer
sodu:=x mod y; x:=y; y:=sodu;
End; UCLN:=x;
End;

Begin
Write(‘Nhap tu so, mau so’);Readlln(tuso,mauso);
a:=UCNL(tuso,mauso)
a:=UCNL(tuso,mauso);
If a>1 Then
Begin
UCLN:=x

tuso:=tuso div a;
mauso:=mauso div a;
End;
Write(tuso:5, mauso:5);
End.

HÃY XÁC ĐỊNH
Trong chương trình có
mấy hàm?
Có một hàm

Hàm UCLN dùng để làm
gì?
Tìm ước số chung lớn nhất của x,y

Biến nào là biến toàn cục?
Biến nào là biến cục bộ?

Tham số hình thức là tham
biến hay tham trị?
Lời gọi hàm:
Câu lệnh gán giá trị cho
tên hàm?


CHƯƠNG TRÌNH RÚT GỌN


2. Cách viết và sử dụng hàm.
a. Cấu trúc của hàm:

b. Ví dụ về hàm:
Hàm
được hàm:
sử dụng như thế nào trong chương trình?
Sử dụng
+ Việc sử dụng hàm tương tự như sử dụng các hàm
chuẩn.
+ Lệnh gọi hàm có thể tham gia vào biểu thức như 1
toán hạng hoặc làm tham số cho chương trình con khác.
Ví dụ: a:=UCLN(tuso,mauso)+5;
write(UCLN(tuso,mauso);


Ví dụ 2: Viết chương trình tìm số nhỏ nhất trong 3 số.
(xây dựng hàm tính giá trị nhỏ nhất của 2 số)

Giả sử x = 3, y = 7
=> số nhỏ nhất là x = 3.



Làm thế nào để biết
được số nhỏ nhất?

So sánh giá trị của 2 số. Nếu x>y thì số
nhỏ nhất là y, ngược lại số nhỏ nhất là x.


Chương trình tìm số nhỏ nhất trong 3 số
Program Minbaso;

var a, b, c: real;
Function Min(x,y:real):real;
Begin
if x>y then Min:=y
else Min:=x;
End;
Begin
Write(‘ Nhap vao ba so’);
Readln(a,b,c);
Writeln(‘So nho nhat trong 3 so
la:’,Min(Min(a,b),c));
Readln
End.

Biến toàn cục: a,b,c
Tham số giá trị: x,y

Hàm sử dụng
làm tham số
hay tham gia
biểu thức?

Làm tham số


Chương trình tìm số nhỏ nhất trong 3 số


Ví du 3: Viết chương trình con tính tổng của 2
nguyên số nhập vào từ bán phím.

Nên sử dụng thủ tục
hàm?
Sử dụng hàm
Sửhay
dụng
thủ tục
Function Tong(x,y:integer):integer;
Begin
Tong:=x+y;
End;

=> Nên sử dụng hàm

Procedure Tong(x,y:integer; var t:integer);
Begin
t:=x+y;
End;


Ví dụ 4: Viết chương trình con kiểm tra số
nguyên a là số chẵn hay số lẻ.
Nên sử dụng thủ tục hay hàm?
Sử dụng thủ tục
Procedure KT(a:integer);
Begin
IF a mod 2 = 0 Then
Write(‘ La so chan’)
Else Write(‘La so le);

End;


Sử dụng hàm
Function KT(a:integer):boolean;
Begin
IF a mod 2 = 0 Then
KT:=true
Else KT:=false;

End;

=> Nên sử dụng thủ tục
Khi
hiện
mộthàm,
công khi
việcnào
nàothì
đósử
người
Khicần
nàothực
thì sử
dụng
dụng
ta dùng
tục, còn khi cần tính một giá trị nào đó
thủthủ
tục?
người ta dùng hàm.



Ví du 3: Chương trình tính tổng của 2 số nhập vào từ bàn
phím (sử dụng hàm tính tổng của hai số)

Program Tinh_tong;
Var a,b:integer;
Function Tong(x,y:integer):integer;
Begin
Tong :=x+y;
End;

Begin
Writeln(‘Nhap 2 so:’); readln(a,b);
Writeln(‘Tong cua 2 so’,Tong(a,b));
Readln
HAM
End.

THUTUC


Ví du 4: Chương trình kiểm tra 1 số nguyên nhập vào từ
bàn phím là số chẳn hay lẻ.

Program Kiem_tra;
Var a:integer;
Procedure KT(x:integer);
Begin
IF x mod 2 = 0 Then
Write(‘ La so chan’)

Else Write(‘La so le’);

End;

Begin
Writeln(‘Nhap vao 1 so:’); readln(a);
KT(a);
Readln
End.

THUTUC
HAM


Kiến thức cần nhớ
- Khái niệm chương trình con
- Phân loại chương trình con
+ Thủ tục
+ Hàm
- Cấu trúc chương trình con

[]

- Tham số hình thức
+ Tham số giá trị
+ Tham số biến
- Biến cục bộ
- Biến toàn cục



KÍNH CHÀO CÁC THẦY CÔ
VÀ CÁC EM!


Bài tập
Bài 1:Viết chương trình con kiểm tra 1 số
nguyên là số âm hay số dương?
Bài 2: Viết chương trình con tính tổng bình
phương của 2 số nguyên.



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

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