Viết cấu trúc của thủ tục và giải thích các phần có trong cấu trúc thủ thục Trả lời: Procedure []; [] begin [] end; Trong đó: -Phần đầu gồm procedure, tên thủ tục và danh sách tham số có[r]
Trang 1NHIỆT LIỆT CHÀO MỪNG QUÍ THẦY CÔ VỀ DỰ GIỜ
THĂM LỚP
Giáo viên: Nguyễn Thanh Mẫn Lớp thao giảng: 11B 6
Trang 2KIỂM TRA BÀI CŨ
Trong ngôn ngữ lập trình Pascal, chương trình con gồm mấy loại ? Có tên gọi là gì ? Hãy nêu cấu trúc của chương trình con?
Câu 1
Trả lời:
Chương trình con gồm có hai loại:
Hàm (Function) và Thủ tục (Procedure)
Cấu trúc của chương trình con gồm:
<Phần đầu>
[<Phần khai báo>]
<Phần thân>
Trang 3KIỂM TRA BÀI CŨ
Viết cấu trúc của thủ tục và giải thích các phần có trong cấu trúc thủ thục
Câu 2
Trả lời:
Procedure <tên thủ tục>[(<danh sách tham số>)];
[<phần khai báo>]
begin
[<dãy các lệnh>]
end;
Trong đó:
-Phần đầu gồm procedure, tên thủ tục và danh sách tham số (có thể
có hoặc không)
- Phần khai báo(có thể có hoặc không) gồm các khai báo: các hằng,
kiểu, biến và các CT con khác được sử dụng trong thủ tục
- Dãy các lệnh được viết giữa begin và end; tạo thành thân của thủ tục
Trang 52 Cách viết và sử dụng hàm
a/ Cấu trúc của hàm
Function <tên hàm>[(<danh sách tham số>)] : < kiểu dữ liệu >;
[<khai báo các biến>]
Begin
<dãy các lệnh>
end;
Trong đó:
về và chỉ có thể là các kiểu dữ liệu: integer, real, char, boolean, string.
Trang 6** Chú ý:
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
< tên hàm > := < biểu thức > ;
a Cấu trúc của hàm:
Trang 7- Lệnh gọi hàm:
< tên hàm >< danh sách tham số thực sự >;
b/ Sử dụng hàm
-Lệnh gọi hàm có thể tham gia vào biểu thức như một toán hạng
Ví dụ:
A:= 6*UCLN( Tuso, Mauso)+1;
Trang 8Phân biệt hàm và thủ tục
- Trong thân hàm phải có lệnh gán giá trị cho tên hàm.
* Giống nhau:
- Đều là chương trình con có cấu trúc giống chương trình chính.
- Đều có thể chứa các tham số, cùng tuân theo qui định khai báo.
** Khác nhau
- Tên hàm phải có kiểu dữ liệu.
Trang 9c bài toán ví dụ:
VD1:Viết chương trình cho biết số nhỏ nhất của 3 số nhập vào từ bàn phím Trong đó có sử dụng hàm tìm số nhỏ trong hai số?
Program Minbaso;
Uses crt;
Var a, b, c: real;
Function Min(a, b: real): real;
Begin
If ( a< b) then Min:=a Else Min:=b;
End;
BEGIN clrscr;
Write ('Nhap vao ba so: ');
Readln(a, b, c);
Writeln('So nho nhat trong ba so la: ',Min(Min(a,b), c));
readln END.
Biến toàn cục
Tham số hình thức
Thân chương trình
hàm
Câu lệnh trả ra Giá trị của hàm
Thực hiện hàm
Trang 10c Bài toán ví dụ:
VD2:Viết chương trình tính tổng n số tự nhiên đầu tiên Với n nhập vào từ bàn phím
program Tinhtong;
uses crt;
var n:integer;
function tong (n:integer):longint;
var i:byte; s:longint;
begin s:=0;
for i:=1 to n do s:=s+i;
tong:=s;
end;
begin clrscr;
writeln('Nhap vao so n cho truoc');
readln(n);
writeln('Tong cua n so nguyen dau la:',tong(n));
readln end.
Biến toàn cục
Tham số Biến cụ bộ
Câu lệnh trả ra giá trị cho hàm.
Thực hiện hàm
Trang 11c Bài toán ví dụ:
VD3:Viết chương trình tính giai thừa của một số n nhập vào từ bàn phím?
Biến toàn cục
Tham số Biến cục bộ
Câu lệnh trả ra giá trị cho hàm.
program Tinh_giaithua;
uses crt;
var n:integer;
function giaithua (n:integer):longint;
var i:byte;
s:longint;
begin s:=1;
for i:=1 to n do s:=s*i;
giaithua:=s;
end;
begin clrscr;
writeln('Nhap vao so n cho truoc');
readln(n);
writeln('Tong cua n so nguyen dau la:',giaithua(n));
readln end Thực hiện hàm
Trang 12CỦNG CỐ
FUNCTION <tên_hàm>[<DS các tham số hình thức>]:<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>[<DS
các tham số hình thức>];
[<Phần khai báo>]
BEGIN
[<dãy các lệnh >]
END;
- Sử dụng khi cần thực hiện một
số thao tác xử lí nhằm giải quyết
một công việc cụ thể.
- Sử dụng khi cần thực hiện một số thao tác xử lí nhằm đưa ra một giá trị kết quả cụ thể.
- Muốn lưu kết quả phải dùng
tham biến.
- Lời gọi thủ tục sử dụng như
một câu lệnh trong chương trình
chính
- Luôn dùng <tên hàm> (với vai trò
là biến) để lưu kết quả.
- Lời gọi hàm sử dụng trong biểu thức , trong lời gọi hàm/thủ tục khác
Trang 13Câu 1: Phần khai báo đầu của hàm nào sau đây là đúng?
A.Function UCLN (x,y: integer): char;
B Function UCLN (x,y: integer): integer.
C Function; UCLN (x,y: integer): integer;
D Function UCLN (x,y: integer): integer;
Câu 2: Cho a: real; b: byte; và dòng đầu hàm như sau:
Function tong(n:byte; y: real);
Lời gọi nào sau đây đúng:
A tong(a); B tong(b,a); C tong(a,b); D tong(b;a);
Câu hỏi trắc nghiệm:
Trang 14VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON