Nhắc lại kiến thức
Câu 1: Đáp án nào mô tả đúng về chương trình con
Một dãy lệnh mô tả nhiều thao tác nhất định
Có thể gọi từ nhiều vị trí trong chương trình
Chỉ có thể gọi một lần trong chương trình
Chỉ có thể gọi từ một vị trí nhất định
Nhắc lại kiến thức
Câu 2: Lợi ích khi sử dụng chương trình con là:
Dễ kiểm tra tính đúng sai của thuật toán
Tránh lặp đi lặp lại 1 đoạn chương trình
A và B đều đúng
A và B đều sai
Bài 17
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
(TIẾT 2)
Một số ví dụ về hàm và thủ tục thường dùng
KẾT QUẢ
KẾT QUẢ
16
3
8
Xin chao!!
Tin hoc 11
abcd
CHƯƠNG TRÌNH CON
1. PHÂN LOẠI CHƯƠNG TRÌNH CON
HÀM
(Function)
THỦ TỤC
(Procedure)
Là chương trình con thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó
Là chương trình con thực hiện các thao tác nhất định nhưng không trả về một giá trị nào qua tên của nó
Ví dụ: sin(x), sqrt(x), length(x)
Ví dụ: write, copy, delete
Cấu trúc của một chương trình?


Cấu trúc của một chương trình con trong Pascal?

[]

Phần đầu
Phần khai báo
Phần thân
2. THAM SỐ HÌNH THỨC CỦA CHƯƠNG TRÌNH CON
Thế nào là tham số hình thức của chương trình con?
Là các biến cho các dữ liệu vào ra
2. THAM SỐ HÌNH THỨC CỦA CHƯƠNG TRÌNH CON
Thế nào là tham số hình thức của chương trình con?
Là các biến cho các dữ liệu vào ra
x, k: các tham số hình thức
2. THAM SỐ HÌNH THỨC CỦA CHƯƠNG TRÌNH CON
n: tham số hình thức
Biến cục bộ của chương trình con
Thế nào là biến cục bộ?
Là các biến được khai báo để dùng riêng trong chương trình con.
j, tich: là biến cục bộ
Biến cục bộ của chương trình con
i: là biến cục bộ
Biến toàn cục
Thế nào là biến toàn cục?
Mọi chương trình con đều sử dụng được biến của chương trình chính
Biến của chương trình chính được gọi là biến toàn cục
CẤU TRÚC CỦA THỦ TỤC
Phân tích thủ tục
CẤU TRÚC CỦA THỦ TỤC
Cấu trúc của thủ tục trong chương trình con?
Procedure [()];

[]

Begin
[]
End;
CẤU TRÚC CỦA HÀM
Cấu trúc của hàm trong chương trình con?
CẤU TRÚC CỦA HÀM
Cấu trúc của hàm trong chương trình con?
Function [()]: ;

[]

Begin
[]
:=
End;
3. THỰC HIỆN CHƯƠNG TRÌNH CON
Cấu trúc của lệnh gọi chương trình con trong Pascal?
(tham số thực sự)
Ví dụ: sqr(225)
Tên chương trình con
Tham số thực sự
Tham số thực sự của chương trình con
Tham số thực sự của chương trình con
x, k: các tham số hình thức
tham số thực sự
Là các hằng và biến chứa dữ liệu vào và ra tương ứng với các tham số hình thức đặt trong cặp ngoặc “(“ và “)”
Chương trình con được thực hiện khi nào?
Chương trình con được đặt ở vị trí nào?
Chương trình con chỉ thực hiện khi có lệnh gọi nó
Chương trình con được đặt sau phần khai báo của chương trình chính
CẤU TRÚC CỦA CHƯƠNG TRÌNH CON VÀ CẤU TRÚC CỦA CHƯƠNG TRÌNH CHÍNH
CẤU TRÚC
CHƯƠNG TRÌNH CON
CẤU TRÚC
CHƯƠNG TRÌNH CHÍNH

[]



Sử dụng biến cục bộ
Sử dụng biến toàn cục
1. Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa?
A. Program
B. Procedure
C. Function
D. Var
2. Trong các cách sử dụng thủ tục sau, cách nào là phù hợp nhất?
Khai báo lại thủ tục và gọi nó mỗi khi cần sử dụng;
B. Khai báo thủ tục duy nhất một lần và gọi nó một lần duy nhất;
C. Chỉ cần khai báo;
D. Khai báo thủ tục một lần và gọi nó trong thân chương trình mỗi khi muốn sử dụng;
3. Hãy chọn phương án ghép đúng. Cho thủ tục sau:
Procedure p ;
Var n : integer ;
Begin
…………
End ;
Phạm vi của biến n là:
Trong toàn bộ chương trình;
B. Trong nội bộ thủ tục p;
C. Trong toàn bộ tệp chương trình nguồn;
D. Tùy thuộc vào vị trí sử dụng thủ tục p;
4. Trong các chương trình chuẩn sau đây, chương trình chuẩn nào là thủ tục chuẩn?
Sin(x);
B. Length(S);
C. Sqrt(x);
D. Delete(S,5,1);
5. Đoạn chương trình có lỗi gì
Procedure End (key: char);
Begin
If key=‘q’ then writeln(‘Ket thuc’);
End;
Thiếu dấu “;” sau từ khóa Begin
B. Không thể dùng câu lệnh if trong thủ tục
C. Thiếu dấu “;” sau lênh writeln
D. End không thể dùng làm tên của thủ tục
6. Cho chương trình sau
Program Chuong_trinh;
Var a,b,S: byte;
Procedure TD(var x:byte; y:byte);
var i: byte;
Begin
i:=5;
writeln(x,’ ‘,y);
x:= x+i; y:= y+i;
S:= x+y;
writeln (x,’ ‘,y);
End;
Begin
write(‘nhap a va b:’); readln(a,b);
TD(a,b);
writeln(a,’ ‘,b,’ ‘,S);
readln;
End.
Chương trình bên có biến toàn cục là:
x và y
B. i
C. a và b
D. a, b và S
7. Cho chương trình sau
Program Chuong_trinh;
Var a,b,S: byte;
Procedure TD(var x:byte; y:byte);
var i: byte;
Begin
i:=5;
writeln(x,’ ‘,y);
x:= x+i; y:= y+i;
S:= x+y;
writeln (x,’ ‘,y);
End;
Begin
write(‘nhap a va b:’); readln(a,b);
TD(a,b);
writeln(a,’ ‘,b,’ ‘,S);
readln;
End.
Chương trình bên có biến cục bộ là:
x và y
B. i
C. a và b
D. a, b và S
8. Cho chương trình sau
Program Chuong_trinh;
Var a,b,S: byte;
Procedure TD(var x:byte; y:byte);
var i: byte;
Begin
i:=5;
writeln(x,’ ‘,y);
x:= x+i; y:= y+i;
S:= x+y;
writeln (x,’ ‘,y);
End;
Begin
write(‘nhap a va b:’); readln(a,b);
TD(a,b);
writeln(a,’ ‘,b,’ ‘,S);
readln;
End.
Chương trình bên có tham số hình thức là:
x và y
B. i
C. a và b
D. a, b và S
9. Cho chương trình sau
Program Chuong_trinh;
Var a,b,S: byte;
Procedure TD(var x:byte; y:byte);
var i: byte;
Begin
i:=5;
writeln(x,’ ‘,y);
x:= x+i; y:= y+i;
S:= x+y;
writeln (x,’ ‘,y);
End;
Begin
write(‘nhap a va b:’); readln(a,b);
TD(a,b);
writeln(a,’ ‘,b,’ ‘,S);
readln;
End.
Chương trình bên có tham số thực sự là:
x và y
B. i
C. a và b
D. a, b và S
nguon VI OLET