Bài 17. Chương trình con và phân loại
Chia sẻ bởi Nguyễn Thanh Tâm |
Ngày 10/05/2019 |
65
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:
Trường THPT Lưu Đình Chất
Bài giảng
Bài 17
Chương trình con
và phân loại
Bài toán:
Viết chương trình tính tổng:
T=am+bn+cp với a,b,c là số thực,
m,n,p là các số nguyên dương.
Program tinhtong;
Var
T,T1,T2,T3 :Real;
a,b,c : real;
m,n,p : Integer;
Begin
Write(‘nhap du lieu a,b,c,m,n,p’);
Readln(a,b,c,m,n,p);
T1:=1.0;
For i:=1 To m Do
T1:=T1* a;
T2:=1.0;
For i:=1 To n Do
T2:=T2* b ;
T3:=1.0;
For i:=1 To p Do
T3:=T3* c ;
T:=T1+T2+T3;
Readln;
End.
am
bn
cp
Program tinhtong;
Var
T,a, b,c:Real;
m,n,p : Integer
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
Luythua( a, m)
Luythua( b, n)
Luythua( c, p ) ;
+
+
T:=
Nhap du lieu a,b,c,m,n,p
a =
2
; m =
2
b =
3
; n =
3
c =
4
; p =
4
Luythua( 2, 2)
4
Luythua( 3, 3)
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
27
Luythua( 4, 4 ) ;
64
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
T=287
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
END.
Chương trình trên viết theo kiểu chương trình con
1.Khái niệm chương trình con:
Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình.
Tránh được phải viết lặp đi lặp lại cùng một dãy lệnh:
Hỗ trợ việc thực hiện chương trình lớn:
Phục vụ cho quá trình trừu tượng hoá:
Lợi ích của việc sử dụng chương trình con:
Tránh được phải viết lặp đi lặp lại cùng một dãy lệnh:
Program tinhtong;
Var
T,T1,T2,T3 :Real;
a,b,c : real;
m,n,p : Integer;
Begin
Write(‘nhap du lieu a,b,c,m,n,p’);
Readln(a,b,c,m,n,p);
T1:=1.0;
For i:=1 To m Do
T1:=T1* a;
T2:=1.0;
For i:=1 To n Do
T2:=T2* b ;
T3:=1.0
For i:=1 To p Do
T3:=T3* c ;
T:=T1+T2+T3;
Readln;
End.
Nhóm lệnh lặp lại nhiều lần
D? vi?t chuong trỡnh gi?i cỏc bi toỏn l?n, ph?c t?p ngu?i l?p trỡnh cú th? chia thnh nhi?u bi toỏn nh?, m?i bi toỏn l m?t dóy l?nh mụ t? m?t s? thao tỏc nh?t d?nh (g?i l ctc). Sau dú ghộp n?i cỏc chuong trỡnh con thnh chuong trỡnh chớnh.
Nhóm trưởng
Việc A
Vi?c B
Hỗ trợ việc thực hiện các chương trình lớn:
Ví dụ:
Sqr(4)=16
Delete(St, vt, n);
Phục vụ cho quá trình trừu tượng hoá:
Các hàm và thủ tục trên đã dùng nhưng chúng ta không quan tâm trong các thủ tục và hàm này việc tính toán là như thế nào?
Program tinhtong;
Var
T,T1,T2,T3 :Real;
a,b,c : real;
m,n,p : Integer
Luythua XK
BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
Luythua( a, m)
Luythua( b, n)
Luythua( c, p ) ;
+
+
T:=
Nhap du lieu a,b,c,m,n,p
a =
2
; m =
2
b =
3
; n =
3
c =
4
; p =
4
Luythua( 2, 2)
4
Luythua( 3, 3)
27
Luythua( 4, 4 ) ;
256
T=287
END.
Phục vụ cho quá trình trừu tượng hoá:
2. PHÂN LOạI Và CấU TRúC CủA CHƯƠNG TRìNH CON
a. Phân loại
Hàm (Function): 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ó.
Thủ tục (Procedure): Là chương trình con thực hiện một số thao tác nào đó, và không trả về giá trị nào qua tên của nó.
VD: Hàm sqr(x): nhận giá trị thực x và trả về giá trị bình phương của x.
x= 3 ? sqr(x) = 9
VD: writeln, readln, delete.
2. PHÂN LOạI Và CấU TRúC CủA CHƯƠNG TRìNH CON
b. Cấu trúc của chương trình con
[]
< phần thân>
Trong đó:
Phần đầu: nhất thiết phải có, dùng để khai báo tên cho chương trình con.
Phần khai báo: có thể có hoặc không, dùng để khai báo biến, khai báo hằng
Phần thân: là dãy câu lệnh được viết giữa cặp begin và end;
Tham số hình thức: là các biến được khai báo cho dữ liệu vào/ra của chương trình con. Các tham số hình thức chưa có giá trị cụ thể.
Tham số hình thức: x,k
var j: integer;
Tich:=1.0;
for j:=1 to k do
Tich:=Tich*x;
? j là biến cục bộ
Biến cục bộ (biến địa phương): là biến được khai báo trong chương trình con và dùng riêng trong chương trình con đó.
Biến toàn cục (biến toàn phần): là biến được khai báo trong chương trình chính và dùng cho toàn bộ chương trình.
Biến toàn cục: Tong,a,b,c,i,m,n,p
c. Thực hiện chương trình con
Tham số thực sự
Khi thực hiện chương trình con các tham số hình thức được thay thế bằng các hằng, biến có giá trị cụ thể, xác định. Các hằng và biến này được gọi là tham số thực sự.
VD: Hàm sqr(4)
? 4 là tham số thực sự
Lệnh gọi chương trình con:
Tên chương trình con (các tham số thực sự)
VD: sqrt(25)
Hãy nhớ!
? Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình.
? Cấu trúc chương trình con:
Phân loại chương trình con:
+ Hàm
+ Thủ tục
[]
< phần thân>
Tham số hình thức, tham số thực sự, lời gọi thực hiện chương trình con.
Bài giảng
Bài 17
Chương trình con
và phân loại
Bài toán:
Viết chương trình tính tổng:
T=am+bn+cp với a,b,c là số thực,
m,n,p là các số nguyên dương.
Program tinhtong;
Var
T,T1,T2,T3 :Real;
a,b,c : real;
m,n,p : Integer;
Begin
Write(‘nhap du lieu a,b,c,m,n,p’);
Readln(a,b,c,m,n,p);
T1:=1.0;
For i:=1 To m Do
T1:=T1* a;
T2:=1.0;
For i:=1 To n Do
T2:=T2* b ;
T3:=1.0;
For i:=1 To p Do
T3:=T3* c ;
T:=T1+T2+T3;
Readln;
End.
am
bn
cp
Program tinhtong;
Var
T,a, b,c:Real;
m,n,p : Integer
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
Luythua( a, m)
Luythua( b, n)
Luythua( c, p ) ;
+
+
T:=
Nhap du lieu a,b,c,m,n,p
a =
2
; m =
2
b =
3
; n =
3
c =
4
; p =
4
Luythua( 2, 2)
4
Luythua( 3, 3)
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
27
Luythua( 4, 4 ) ;
64
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
T=287
Function Luythua(x:Real; k:Integer): Real;
Var i, :Integer;
Lt:Real;
Begin
Lt :=1.0;
For i:=1 To k Do
Lt:=Lt* x ;
Luythua:=Lt;
End;
END.
Chương trình trên viết theo kiểu chương trình con
1.Khái niệm chương trình con:
Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình.
Tránh được phải viết lặp đi lặp lại cùng một dãy lệnh:
Hỗ trợ việc thực hiện chương trình lớn:
Phục vụ cho quá trình trừu tượng hoá:
Lợi ích của việc sử dụng chương trình con:
Tránh được phải viết lặp đi lặp lại cùng một dãy lệnh:
Program tinhtong;
Var
T,T1,T2,T3 :Real;
a,b,c : real;
m,n,p : Integer;
Begin
Write(‘nhap du lieu a,b,c,m,n,p’);
Readln(a,b,c,m,n,p);
T1:=1.0;
For i:=1 To m Do
T1:=T1* a;
T2:=1.0;
For i:=1 To n Do
T2:=T2* b ;
T3:=1.0
For i:=1 To p Do
T3:=T3* c ;
T:=T1+T2+T3;
Readln;
End.
Nhóm lệnh lặp lại nhiều lần
D? vi?t chuong trỡnh gi?i cỏc bi toỏn l?n, ph?c t?p ngu?i l?p trỡnh cú th? chia thnh nhi?u bi toỏn nh?, m?i bi toỏn l m?t dóy l?nh mụ t? m?t s? thao tỏc nh?t d?nh (g?i l ctc). Sau dú ghộp n?i cỏc chuong trỡnh con thnh chuong trỡnh chớnh.
Nhóm trưởng
Việc A
Vi?c B
Hỗ trợ việc thực hiện các chương trình lớn:
Ví dụ:
Sqr(4)=16
Delete(St, vt, n);
Phục vụ cho quá trình trừu tượng hoá:
Các hàm và thủ tục trên đã dùng nhưng chúng ta không quan tâm trong các thủ tục và hàm này việc tính toán là như thế nào?
Program tinhtong;
Var
T,T1,T2,T3 :Real;
a,b,c : real;
m,n,p : Integer
Luythua XK
BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
Luythua( a, m)
Luythua( b, n)
Luythua( c, p ) ;
+
+
T:=
Nhap du lieu a,b,c,m,n,p
a =
2
; m =
2
b =
3
; n =
3
c =
4
; p =
4
Luythua( 2, 2)
4
Luythua( 3, 3)
27
Luythua( 4, 4 ) ;
256
T=287
END.
Phục vụ cho quá trình trừu tượng hoá:
2. PHÂN LOạI Và CấU TRúC CủA CHƯƠNG TRìNH CON
a. Phân loại
Hàm (Function): 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ó.
Thủ tục (Procedure): Là chương trình con thực hiện một số thao tác nào đó, và không trả về giá trị nào qua tên của nó.
VD: Hàm sqr(x): nhận giá trị thực x và trả về giá trị bình phương của x.
x= 3 ? sqr(x) = 9
VD: writeln, readln, delete.
2. PHÂN LOạI Và CấU TRúC CủA CHƯƠNG TRìNH CON
b. Cấu trúc của chương trình con
[
< phần thân>
Trong đó:
Phần đầu: nhất thiết phải có, dùng để khai báo tên cho chương trình con.
Phần khai báo: có thể có hoặc không, dùng để khai báo biến, khai báo hằng
Phần thân: là dãy câu lệnh được viết giữa cặp begin và end;
Tham số hình thức: là các biến được khai báo cho dữ liệu vào/ra của chương trình con. Các tham số hình thức chưa có giá trị cụ thể.
Tham số hình thức: x,k
var j: integer;
Tich:=1.0;
for j:=1 to k do
Tich:=Tich*x;
? j là biến cục bộ
Biến cục bộ (biến địa phương): là biến được khai báo trong chương trình con và dùng riêng trong chương trình con đó.
Biến toàn cục (biến toàn phần): là biến được khai báo trong chương trình chính và dùng cho toàn bộ chương trình.
Biến toàn cục: Tong,a,b,c,i,m,n,p
c. Thực hiện chương trình con
Tham số thực sự
Khi thực hiện chương trình con các tham số hình thức được thay thế bằng các hằng, biến có giá trị cụ thể, xác định. Các hằng và biến này được gọi là tham số thực sự.
VD: Hàm sqr(4)
? 4 là tham số thực sự
Lệnh gọi chương trình con:
Tên chương trình con (các tham số thực sự)
VD: sqrt(25)
Hãy nhớ!
? Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình.
? Cấu trúc chương trình con:
Phân loại chương trình con:
+ Hàm
+ Thủ tục
[
< phần thân>
Tham số hình thức, tham số thực sự, lời gọi thực hiện chương trình con.
* 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 Thanh Tâm
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)