18
Kiểm tra bài củ Trình bày cấu trúc chung của thủ tục? Các thủ tục này, nếu có, thì được khai báo ở đâu? procedure <tên thủ tục> [(<danh sách tham số>)]; [< Phần khai báo >] begin [<Dãy các lệnh>] end; - Phần đầu thủ tục: Tên dành riêng procedure, tên thủ tục và danh sách tham số (có thể có hoặc không). - Phần khai báo: Dữ liệu vào ra của chương trình con (có thể có hoặc không). - Phần thân thủ tục: Dãy câu lệnh đặt giữa cặp từ khóa begin end. - Các thủ tục này, nếu có thì được khai báo và mô tả trong phần khai báo của chương trình chính, ngay sau

Các ví dụ về cách viết và sử dụng chương trình con

Embed Size (px)

Citation preview

Page 1: Các ví dụ về cách viết và sử dụng chương trình con

Kiểm tra bài củ

Trình bày cấu trúc chung của thủ tục? Các thủ tục này, nếu có, thì được khai báo ở đâu?

procedure <tên thủ tục> [(<danh sách tham số>)];[< Phần khai báo >]

begin [<Dãy các lệnh>]

end;

- Phần đầu thủ tục: Tên dành riêng procedure, tên thủ tục và danh sách tham số (có thể có hoặc không).- Phần khai báo: Dữ liệu vào ra của chương trình con (có thể có hoặc không).- Phần thân thủ tục: Dãy câu lệnh đặt giữa cặp từ khóa begin và end.- Các thủ tục này, nếu có thì được khai báo và mô tả trong phần khai báo của chương trình chính, ngay sau phần khai báo các biến.

Page 2: Các ví dụ về cách viết và sử dụng chương trình con

Nêu sự khác nhau giữa tham số giá trị và tham số biến? Hãy chỉ ra tham biến và tham trị trong ví dụ sau?

procedure CatDan(s1: str79; var s2: str79); begin

s2 := copy(s1,2, length(s1)-1) + s1[1];end;

Page 3: Các ví dụ về cách viết và sử dụng chương trình con

Tham trị•Các tham số thực sự tương ứng là các giá trị cụ thể thay thế các tham số hình thức trong lời gọi thủ tục được gọi là các tham trị.

•Không có từ khóa var đứng trước.

Tham biến•Các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra thay thế các tham số hình thức trong lời gọi thủ tục đươc gọi là các tham biến. •Có từ khóa var đứng trước.

Tham trị trong thủ tục: s1.Tham biến trong thủ tục: s2.

procedure CatDan(s1: str79; var s2: str79);

Page 4: Các ví dụ về cách viết và sử dụng chương trình con

Ví dụ về tham biến, tham trịprocedure

Hoan_doi(var x, y: integer);

var TG: integer;

begin

TG:=x;

x:=y;

y:=TG;

end;

begin

clrscr;

a:=5; b:= 15;

writeln(a: 6,b:6);

Hoan_doi(a, b);

writeln(a: 6,b:6);

readln;

end.

procedure

Hoan_doi(var x:integer; y: integer);

var TG: integer;

begin

TG:=x;

x:=y;

y:=TG;

end;

begin

clrscr;

a:=5; b:= 15;

writeln(a: 6,b:6);

Hoan_doi(a, b);

writeln(a: 6,b:6);

readln;

end.

5 1515 5

5 1515 15

Page 5: Các ví dụ về cách viết và sử dụng chương trình con

LOGO

Bài 18:

VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON

(Tiết 2)

VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON

(Tiết 2)

Ngày 28 tháng 02 năm 2011GVHD: Nguyễn Duy TấtSVTT: Lê Văn Bách

Sở Giáo Dục Và Đào Tạo Kiên Giang

Trường THPT Thạnh Đông, H.Tân Hiệp

Page 6: Các ví dụ về cách viết và sử dụng chương trình con

Nội Dung

Cấu trúc của hàm1

So sánh thủ tục và hàmSo sánh thủ tục và hàm2

Ví dụ về hàmVí dụ về hàm3

Sử dụng hàmSử dụng hàm4

Ví dụ về sử dụng hàmVí dụ về sử dụng hàm5

Page 7: Các ví dụ về cách viết và sử dụng chương trình con

a) Cấu trúc hàm

Function <tên hàm>[(<danh sách tham số>)]: <kiểu dữ liệu>;

[< Phần khai báo >]

Begin

[<Dãy các lệnh>]

<tên hàm> : = <biểu thức>;

End;

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

- Phần đầu của hàm: Tên dành riêng function, tên hàm, kiểu dữ liệu trả về của hàm- Phần khai báo: Xác định các hằng, kiểu, biến.- Dãy câu lệnh: được viết trong cặp tên dành riêng begin và end tạo thành thân của hàm, khác với thủ tục trong thân hàm cần có lệnh gán giá trị cho tên hàm.

Page 8: Các ví dụ về cách viết và sử dụng chương trình con

So sánh thủ tục và hàm

Đều là chương trình con, nói chung có cấu trúc giống một chương trình.

Đều có thể chứa các tham số (tham trị và tham biến), cùng tuân theo các qui định về khai báo và sử dụng các loại tham số này.

Giống nhau:

Page 9: Các ví dụ về cách viết và sử dụng chương trình con

Khác nhau:Function <tên hàm>[(<danh sách tham số>)]: <kiểu dữ liệu>;

[< Phần khai báo >]

Begin

[<Dãy các lệnh>]

<tên hàm> : = <biểu thức>;

End;

procedure <tên thủ tục> [(<danh sách tham số>)];

[< Phần khai báo >] begin

[<Dãy các lệnh>] end;

+ Phần đầu có thêm kiểu dữ liệu của giá trị mà hàm trả về.

Từ khóa

+ Trong thân hàm thường có câu lệnh gán giá trị cho tên hàm.

Page 10: Các ví dụ về cách viết và sử dụng chương trình con

Ví dụ về hàm

uses crt;

var TuSo, MauSo, a: integer;

function UCLN(x, y: integer): integer;

var sodu:integer;

begin

while y<>0 do

begin

sodu := x mod y;

x := y;

y := sodu;

end;

UCLN :=x;

end;

begin

clrscr;

write(‘Nhap tu so:);readln(TuSo);

write(‘Nhap mau so:’); readln(MauSo);

a := UCLN(TuSo, MauSo);

if a>1 then

begin

TuSo := TuSo div a;

MauSo := MauSo div a;

end;

writeln(TuSo,’/’, MauSo);

end.

Sử dụng hàm với từ khoá function

Trả về giá trị kiểu integer

Gán giá trị thông qua tên hàm

Page 11: Các ví dụ về cách viết và sử dụng chương trình con

Lưu ý:

Kết quả trả về qua tên hàm chỉ có thể thuộc các kiểu dữ liệu chuẩn (integer, real, boolean, char, string).

Vì kết quả trả về đã gán cho tên hàm nên thông thường các tham số dùng trong hàm là tham số giá trị.

Page 12: Các ví dụ về cách viết và sử dụng chương trình con

b) Sử dụng hàm

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:

<tên hàm>[(<các tham số thực sự>)];

Lệnh gọi hàm có thể tham gia vào biểu thức như một toán hạng.

Page 13: Các ví dụ về cách viết và sử dụng chương trình con

Ví dụ sử dụng hàm

var a, b, c: real;

function Min(a, b: real): real;

begin

if a<b then Min:=a

else Min:=b;

end;

begin

write(‘Nhap vao ba so: ’);

readln(a, b, c);

writeln(‘So nho nhat trong ba so la: ’,Min(Min(a, b), c) );

readln;

end.

Min(Min(a, b), c)

Min( a , c)

real

Page 14: Các ví dụ về cách viết và sử dụng chương trình con

Củng cố

1. Giá trị trả về của hàm chỉ có thể là các kiểu dữ liệu:

a) Integer, string, char, real.

b) Integer, boolean, char.

c) Integer, real, char, boolean, string.

d) Integer, real, char, boolean, byte.

Integer, real, char, boolean, string.

Page 15: Các ví dụ về cách viết và sử dụng chương trình con

Củng cố

2. Trong thân hàm cần có lệnh gán giá trị cho tên hàm <tên hàm> := <biểu thức>. Vì: a) Hàm trả về một giá trị thông qua tên hàm.

b) Hàm có cấu trúc giống thủ tục.

c) Giá trị của các biến thay đổi nên phải lưu vào tên hàm.

d) a, b, c đều đúng.

Hàm trả về một giá trị thông qua tên hàm.

Page 16: Các ví dụ về cách viết và sử dụng chương trình con

Củng cố

3. Các tham số trong hàm bắt buộc phải là các tham số giá trị.a) Đúng.

b) Sai.Sai.

Page 17: Các ví dụ về cách viết và sử dụng chương trình con

Dặn dò

Thực hành lại các chương trình trong sách giáo khoa.

Chú ý các khái niệm: • Thủ tục, hàm.• Tham số hình thức, tham số thực sự.• Biến toàn cục, biến cục bộ.• Tham trị, tham biến.

Page 18: Các ví dụ về cách viết và sử dụng chương trình con

LOGO