Bài 17. Chương trình con và phân loại
Chia sẻ bởi Nguyễn Vĩnh Thắng |
Ngày 10/05/2019 |
73
Chia sẻ tài liệu: Bài 17. Chương trình con và phân loại thuộc Tin học 11
Nội dung tài liệu:
Bi 18
Phân loại CTC ( Thủ tục và hàm)
GV: Tôn Thị Quỳnh Nga
Để viết chương trình giải các bài toán lớn, phức tạp người lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán là một dãy lệnh mô tả một số thao tác nhất định (gọi là ctc). Sau đó ghép nối các chương trình con thành chương trình chính.
Nhóm trưởng
Việc A
Vi?c B
1. Chương trình con (ctc)
2. Phõn lo?i chuong trỡnh con
Chuong trỡnh con
Hm (Function)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v tr? v? m?t giỏ tr? qua tờn c?a nú.
Th? t?c (Procedure)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v khụng tr? v? giỏ tr? no qua tờn c?a nú.
Tính tổng luỹ thừa
S = an + bm + cp + dq
Vẽ và đưa ra màn hình 5 hình chữ nhật có kích thước khác nhau.
3. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
< Phần thân>
Function(): kiểu của hàm;
[< Phần khai báo >]
Begin
[]
tênhàm := giá trị trả về;
End;
Procedure ();
[< Phần khai báo >]
Begin
[]
End;
Hàm (Function)
Thủ tục (Procedure)
Lời gọi thực thi:
tên biến:= tênhàm();
Lời gọi thực thi:
tên thủ tục();
Danh sách tham số khai báo có dạng:
[Var] thamsố1, thamsố2,…, thamsốN: Kiểu DL 1;
[Var] thamsốA, tham sốB,…, thamsốZ: Kiểu DL 2;…
4. Ghi chú:
Tham số và cách truyền tham số:
Tham số tại nơi gọi: Tham số THỰC ( biến chính)
Tham số tại nơi được gọi: Tham số HÌNH THỨC ( biến CTC)
Tham số HÌNH THỨC TRỊ: THAM TRỊ
Tham số HÌNH THỨC BiẾN: THAM BiẾN
var
4. Ghi chú:
Ví dụ TS hình thức trị và TS hình thức biến:
Program main;
Var x, y: integer;
Procedure sub( a: integer ; var b: integer);
Begin
a:=a+5;
b:=b+5;
Writeln(a,’ ‘,b);
end;
Begin
x:=1; y:= 2; writeln(x,’ ‘,y);
Sub(x,y);
Writeln(x,’ ‘,y);
End.
TS hình thức
TS thực
Tham trị
Tham biến
Kết quả?
X= 1
Y= 7
X= 6
Y= 7
4. Ghi chú
Quy tắc cho TS hình thức và TS thực:
Quy tắc 2:
Số lượng TS hình thức và TS thực
phải tương ứng với nhau theo từng vị trí
Quy tắc 3:
Các TS hình thức và TS thực
phải tương ứng với nhau về kiểu DL
Quy tắc 4:
Với TS hình thức được khai báo như là THAM TRỊ
thì TS thực tương ứng có thể là hằng, biến, bt, trị trả về từ hàm.
Với TS hình thức được khai báo như là THAM BiẾN
thì TS thực tương ứng chỉ có thể là biến
Quy tắc 1:
Số lượng TS hình thức và TS thực
phải bằng nhau
Program main;
Var x, y: integer;
Procedure sub( a: integer, var b: integer);
Begin
a:=a+5;
b:=b+5;
Writeln(a,’ ‘,b);
end;
Begin
x:=1; y:= 2; writeln(x,’ ‘,y);
Sub(x,y);
Writeln(x,’ ‘,y);
End.
4. M?t s? vớ d?
Bài toán 1: Lập chương trình tối giản phân số
Vớ d?: nh?p 6/10 => ra 3/5
* INPUT : Nh?p phõn s? a/b;
* OUTPUT : Phõn s? c/d - Trong dú: c = a/UCLN (a,b);
d = b/UCLN(a,b);
? Vi?t chuong trỡnh con th?c hi?n tỡm UCLN(a,b) v g?i nú khi tớnh c,d trong chuong trỡnh chớnh.
Program tgps;
Uses crt;
Var tu,mau,c,d : integer;
Function UCLN( a,b :integer) : integer;
Begin
While a<> b do
if a>b then a := a-b else b:=b-a;
UCLN := a;
end;
BEGIN
Write(‘ Nhap vao tu so va mau so:’); readln(tu,mau);
C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau);
Writeln(‘ Phan so toi gian = ’, c, ‘ / ’, d);
Readln;
END.
Write(`Nhap vao tu so va mau so:`);
C := 6 div
d := 10 div
UCLN(6,10)
UCLN(6,10);
Writeln(‘ Phan so toi gian = ’, 3, ‘ / ’, 5);
Readln;
END.
BEGIN
Readln(tu,mau);
USCLN=2;
USCLN=2;
Nhap vao tu so va mau so:
6 10
Phan so toi gian= 3/5
Nhận xét
Các CTC thường được đặt sau phần khai báo của chương trình chính.
CTC chỉ được thực hiện khi có lời gọi nó.
Hãy nhớ!
Chương trình con là một dãy lệnh giải quyết một bài toán con cụ thể.
Cấu trúc chương trình gồm:
Phân loại chương trình con:
+ Hàm
+ Thủ tục
< Ph?n thõn>
GV: Tôn Thị Quỳnh Nga
Phân loại CTC ( Thủ tục và hàm)
GV: Tôn Thị Quỳnh Nga
Để viết chương trình giải các bài toán lớn, phức tạp người lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán là một dãy lệnh mô tả một số thao tác nhất định (gọi là ctc). Sau đó ghép nối các chương trình con thành chương trình chính.
Nhóm trưởng
Việc A
Vi?c B
1. Chương trình con (ctc)
2. Phõn lo?i chuong trỡnh con
Chuong trỡnh con
Hm (Function)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v tr? v? m?t giỏ tr? qua tờn c?a nú.
Th? t?c (Procedure)
L chuong trỡnh con th?c hi?n m?t s? thao tỏc no dú, v khụng tr? v? giỏ tr? no qua tờn c?a nú.
Tính tổng luỹ thừa
S = an + bm + cp + dq
Vẽ và đưa ra màn hình 5 hình chữ nhật có kích thước khác nhau.
3. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON
< Phần thân>
Function
[< Phần khai báo >]
Begin
[
tênhàm := giá trị trả về;
End;
Procedure
[< Phần khai báo >]
Begin
[
End;
Hàm (Function)
Thủ tục (Procedure)
Lời gọi thực thi:
tên biến:= tênhàm(
Lời gọi thực thi:
tên thủ tục(
Danh sách tham số khai báo có dạng:
[Var] thamsố1, thamsố2,…, thamsốN: Kiểu DL 1;
[Var] thamsốA, tham sốB,…, thamsốZ: Kiểu DL 2;…
4. Ghi chú:
Tham số và cách truyền tham số:
Tham số tại nơi gọi: Tham số THỰC ( biến chính)
Tham số tại nơi được gọi: Tham số HÌNH THỨC ( biến CTC)
Tham số HÌNH THỨC TRỊ: THAM TRỊ
Tham số HÌNH THỨC BiẾN: THAM BiẾN
var
4. Ghi chú:
Ví dụ TS hình thức trị và TS hình thức biến:
Program main;
Var x, y: integer;
Procedure sub( a: integer ; var b: integer);
Begin
a:=a+5;
b:=b+5;
Writeln(a,’ ‘,b);
end;
Begin
x:=1; y:= 2; writeln(x,’ ‘,y);
Sub(x,y);
Writeln(x,’ ‘,y);
End.
TS hình thức
TS thực
Tham trị
Tham biến
Kết quả?
X= 1
Y= 7
X= 6
Y= 7
4. Ghi chú
Quy tắc cho TS hình thức và TS thực:
Quy tắc 2:
Số lượng TS hình thức và TS thực
phải tương ứng với nhau theo từng vị trí
Quy tắc 3:
Các TS hình thức và TS thực
phải tương ứng với nhau về kiểu DL
Quy tắc 4:
Với TS hình thức được khai báo như là THAM TRỊ
thì TS thực tương ứng có thể là hằng, biến, bt, trị trả về từ hàm.
Với TS hình thức được khai báo như là THAM BiẾN
thì TS thực tương ứng chỉ có thể là biến
Quy tắc 1:
Số lượng TS hình thức và TS thực
phải bằng nhau
Program main;
Var x, y: integer;
Procedure sub( a: integer, var b: integer);
Begin
a:=a+5;
b:=b+5;
Writeln(a,’ ‘,b);
end;
Begin
x:=1; y:= 2; writeln(x,’ ‘,y);
Sub(x,y);
Writeln(x,’ ‘,y);
End.
4. M?t s? vớ d?
Bài toán 1: Lập chương trình tối giản phân số
Vớ d?: nh?p 6/10 => ra 3/5
* INPUT : Nh?p phõn s? a/b;
* OUTPUT : Phõn s? c/d - Trong dú: c = a/UCLN (a,b);
d = b/UCLN(a,b);
? Vi?t chuong trỡnh con th?c hi?n tỡm UCLN(a,b) v g?i nú khi tớnh c,d trong chuong trỡnh chớnh.
Program tgps;
Uses crt;
Var tu,mau,c,d : integer;
Function UCLN( a,b :integer) : integer;
Begin
While a<> b do
if a>b then a := a-b else b:=b-a;
UCLN := a;
end;
BEGIN
Write(‘ Nhap vao tu so va mau so:’); readln(tu,mau);
C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau);
Writeln(‘ Phan so toi gian = ’, c, ‘ / ’, d);
Readln;
END.
Write(`Nhap vao tu so va mau so:`);
C := 6 div
d := 10 div
UCLN(6,10)
UCLN(6,10);
Writeln(‘ Phan so toi gian = ’, 3, ‘ / ’, 5);
Readln;
END.
BEGIN
Readln(tu,mau);
USCLN=2;
USCLN=2;
Nhap vao tu so va mau so:
6 10
Phan so toi gian= 3/5
Nhận xét
Các CTC thường được đặt sau phần khai báo của chương trình chính.
CTC chỉ được thực hiện khi có lời gọi nó.
Hãy nhớ!
Chương trình con là một dãy lệnh giải quyết một bài toán con cụ thể.
Cấu trúc chương trình gồm:
Phân loại chương trình con:
+ Hàm
+ Thủ tục
< Ph?n thõn>
GV: Tôn Thị Quỳnh Nga
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Vĩnh Thắng
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)