Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 17. Chương trình con và phân loại

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Vũ Đình Việt
Ngày gửi: 11h:19' 05-04-2022
Dung lượng: 1.4 MB
Số lượt tải: 225
Số lượt thích: 0 người
Bài 17
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (T1)
CHƯƠNG VI: CHƯƠNG TRÌNH CON
VÀ LẬP TRÌNH CÓ CẤU TRÚC
Tiết
Nhập giá trị cho các sô a,b,c,d,m,n,p,q từ bàn phím. Viết chương trình tính tổng
Tluythua = an +bm + cp + dq
1. Tìm hiểu bài toán
B2: Ý tưởng
Để tính giá trị lũy thừa xk ta dùng vòng lặp for – do như sau: LT= 1;
For (i=1;i<=k;i++) LT= LT *x;
BÀI 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Viết chương trình tính tổng: Tluythua = an + bm + cp +dq
Lt1=1.0;
For (i=1; i<=n;i++) Lt1=Lt1*a;
# include
Using namespace std;
Double Lt1, Lt2, Lt3, Lt4;
Double a,b,c,d;
int i,n,m,p,q;
int main ( )
{cout<<“Hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q: ”;
cin>>a>>b>>c>>d>>n>>m>>p>>q;
Lt2=1.0;
For (i:=1 i<=m;i++) Lt2=Lt2*b;
Lt3=1.0;
For (i=1 i<=p;i++) Lt3:=Lt3*c;
Lt4=1.0;
For (i=1 i<=q;i++) Lt4=Lt4*d;
TLuythua=Lt1+ Lt2+ Lt3+ Lt4;
cout<<“Tong Luy thua =“<< TLuythua;
return 0;
}
Em nhận xét gì về bốn đoạn chương trình này?
Nhận xét:
Trong chương trình có 4 đoạn lệnh tương tự nhau, việc lặp lại những đoạn lệnh tương tự nhau làm cho chương trình vừa dài vừa khó theo dõi.
Chạy CT
 Để xử lý vấn đề này các ngôn ngữ lập trình bậc cao cung cấp khả năng xây dựng các đoạn lệnh tổng quát “đại diện” cho nhiều đoạn lệnh tương tự nhau.
Ví dụ: Tính luỹ thừa
Luythua = xk
Trong đó Luythua và x là giá trị kiểu thực, k thuộc kiểu nguyên
Đây là đoạn lệnh tổng quát được đặt tên là Luythua(x,k)
Double Luythua(double x, int k)
{ int i; double Lt;
Lt=1.0;
For (i=1; i<=k;i++) Lt=Lt*x;
return Lt;
}
BÀI 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Chương trình con
Thực hiện (gọi) chương trình con
Chương trình chính
Viết chương trình tính tổng: Tluythua = an + bm + cp +dq
Với x = a và k = n thì:
an =
Với x = b và k = m thì
bm =
Với x = c và k = p thì
cp =
Với x = d và k = q thì
dq =
Luythua(a,n)
Luythua(b,m)
Luythua(c,p)
Luythua(d,q)
Tính xk
Lt1=1.0;
For (i=1; i<=n;i++) Lt1=Lt1*a;
# include
Using namespace std;
Double Lt1, Lt2, Lt3, Lt4;
Double a,b,c,d;
int i,n,m,p,q;
int main ( )
{cout<<“Hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q: ”;
cin>>a>>b>>c>>d>>n>>m>>p>>q;
Lt2=1.0;
For (i:=1 i<=m;i++) Lt2=Lt2*b;
Lt3=1.0;
For (i=1 i<=p;i++) Lt3:=Lt3*c;
Lt4=1.0;
For (i=1 i<=q;i++) Lt4=Lt4*d;
CHƯƠNG TRÌNH CON LÀ GÌ?
TLuythua=Lt1+ Lt2+ Lt3+ Lt4;

cout<<“Tong Luy thua =“<< TLuythua;
return 0;
}
2. Khái niệm
Chương trình con
3. Lợi ích của chương trình con
VD: CTC sqr(x)  Tính bình phương của x
Luythua(x,k) Tính lũy thừa xk
Là một dãy lệnh mô tả một số thao tác nhất định.
Được thực hiện từ nhiều vị trí trong chương trình.
Double Luythua(double x, int k)
{ int i; double Lt;
Lt=1.0;
For (i=1; i<=k;i++) Lt=Lt*x;
return Lt;
}
# include
Using namespace std;
Double LT(double x, int k)
{ int i; double Lt;
Lt=1.0;
For (i=1; i<=k;i++) Lt=Lt*x;
return Lt;
}
Double a,b,c,d,TLT;
int i,n,m,p,q;
int main ( )
{cout<<“Hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q: ”;
cin>>a>>b>>c>>d>>n>>m>>p>>q;
TLT= LT(a,n)+LT(b,m)+LT(c,p)+LT(d,q);
Cout<Return 0;
}



# include
Using namespace std;
Double Lt1, Lt2, Lt3, Lt4, TLT;
Double a,b,c,d;
int i,n,m,p,q;
int main ( )
{cout<<“Hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q: ”;
cin>>a>>b>>c>>d>>n>>m>>p>>q;
Lt1=1.0;
For (i=1; i<=n;i++) Lt1=Lt1*a;
Lt2=1.0;
For (i=1; i<=n;i++) Lt2=Lt2*a;
Lt3=1.0;
For (i=1; i<=n;i++) Lt3=Lt3*a;
Lt4=1.0;
For (i=1; i<=n;i++) Lt4=Lt4*a;
TLT=Lt1+Lt2+Lt3+Lt4;
Cout<Return 0;
}
4. Phân loại chương trình con
VD: Hàm sqrt(x)  với x=4 thì sqrt(4) = 2
Hàm Luythua(2,3) = 23 = 8
- Hàm (Function):
a. Phân loại
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ó.
BÀI 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Double Luythua(double x, int k)
{ int i; double Lt;
Lt=1.0;
For (i=1; i<=k;i++) Lt=Lt*x;
return Lt;
}
4. Phân loại chương trình con
- 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):
VD: cout<<“Chao cac ban”;  Chao cac ban
Chạy CT
a. Phân loại
Thủ tục vehinh(a)
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ó.
Void vehinh(int a)
{ int i;
For (i=1; i<=a;i++) cout<<“* ”;
return 0;
}
b. Cấu trúc chương trình con
Nhắc lại cấu trúc của một chương trình c++.
Chương trình con
# include
Using namespace std;
Void vehinh(int a)
{ int i;
For (i=1; i<=a;i++) cout<<“* ”;
return 0;
}
Int n,i;
Int main( )
{ cout<<“Nhap so hinh”; cin>>n;
For(i=1;i<=n;i++) {vehinh(i); cout<Return 0;
}

b. Cấu trúc chương trình con

< Phần Thân>
Void vehinh(int a)
{ int i;
For (i=1; i<=a;i++)
cout<<“* ”;
return 0;
}
Trong đó:
- Phần đầu: bắt buộc phải có, dùng để phân loại, khai báo tên chương trình con và các tham số.
- Phần thân: là bắt buộc nằm trong kí hiệu bắt đầu và kết thúc { }, chứa các dãy lệnh của CTC.
b. Cấu trúc chương trình con
Void vehinh(int a)
{ int j;
For (j=1; j<=a;j++) cout<<“* ”;
return 0;
}
Int n,i;
Int main( )
{ cout<<“Nhap so hinh”;
cin>>n;
For(i=1;i<=n;i++) {vehinh(i); cout<Return 0;
}
Tham số hình thức: là các biến, hằng nhận giá trị vào/ra của CTC.
VD: Biến a
Biến cục bộ: là biến được khai báo dùng riêng cho chương trình con.
VD: Biến j
Biến toàn cục: là biến khai báo dùng cho chương trình chính.
VD: Biến n, i
c. Thực hiện chương trình con
Void vehinh(int a)
{ int j;
For (j=1; j<=a;j++) cout<<“* ”;
Cout< return 0;
}
Int x,i;
Int main( )
{ cout<<“nhap x ”; cin>>x;
vehinh(7);
vehinh(x);
Return 0;
}
Để thực hiện CTC ta phải có lệnh gọi tới tên của CTC với các giá trị tương ứng của tham số hình thức
VD: Vehinh(7); vehinh(x);
Tham số thật sự: là các giá trị tương ứng của tham số hình thức khi thực hiện lời gọi CTC.
Cú pháp gọi CTC:
(tham số thực sự);
VD: Giá trị x và 7 là các tham số thực sự của tham số hình thức a
Các CTC thường được đặt sau lệnh using namespace std;.
Lời gọi CTC được thực hiện trong phần thân chương trình chính.
Lưu ý:
# include
Using namespace std;
Double LT(double x, int k)
{ int i; double Lt;
Lt=1.0;
For (i=1; i<=k;i++) Lt=Lt*x;
return Lt;
}
Double a,b,c,d,TLT;
int i,n,m,p,q;
int main ( )
{cout<<“Hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q: ”;
cin>>a>>b>>c>>d>>n>>m>>p>>q;
TLT= LT(a,n)+LT(b,m)+LT(c,p)+LT(d,q);
Cout<Return 0;
}
Hàm có tên LT
Tham số hình thức: x,k
Tham số thực sự: a,n,b,m,c,p,d,q
Biến cục bộ: i, Lt
Biến toàn cục: a,b,c,d,TLT, m,n,p,q
 Có 4 lời gọi CTC là
LT(a,m); LT(b,n); LT(c,p); LT(d,q);
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 từ nhiều vị trí trong chương trình.
Xây dựng CTC giúp cho người lập trình thuận lợi khi viết chương trình đối với các bài toán lớn.
- Khái niệm
- Lợi ích.
BTVN
Xem lại thuật toán tìm ước chung lớn nhất của 2 số đã học.
Bài học kết thúc
Xin cám ơn các thầy cô và các em
 
Gửi ý kiến