Tải bản đầy đủ (.ppt) (41 trang)

chương 4 hàm con

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.44 MB, 41 trang )

0
5
/
2
3
/
1
4
1
1
2
Khai báo
Cài đặt hàm
Hàm main()
CHƯƠNG TRÌNH C
Khai báo thư viện hàm
Khai báo hàm
Khai báo hằng số …
Cài đặt tất cả những hàm con
đã được khai báo
Gọi thực hiện các hàm theo
yêu cầu của bài toán
3
int Tong(int a, int b)
{
int s=a+b;
return s;
}
void main()
{
int kq = Tong (12, 3);


cout<<“Tong cua 12 va 3: “<<kq;
}
Truy n đ i sề ố ố
Tham số
G i hàmọ
*
Ha m la môt đoan ch ng tri nh đôc lâp ̀ ̀ ̣̀ ̣ ươ ̣ ̣ th c ự
hiên tron ven môt công viêc nhâ t đinḥ́ ̣ ̣ ̣ ̣ ̣ sau đo ́
tra vê gia tri cho ch ng tri nh goi no , hay no i ̀ ́ ̀ ́ ́̉ ̣ ươ ̣
ca ch kha c ha m la s chia nho cua ch ng ́ ́ ̀ ̀ ự ̉ ̉ ươ
tri nh.̀
*
M c đi ch s d ng hàm: ́ụ ử ụ
Khi co môt công viêc giô ng nhau câ n th c hiên ́ ́ ̣̀ ̣ ự ̣ ở
nhiê u vi tri .̀ ̣́
Khi câ n chia môt ch ng tri nh l n ph c tap ̀ ̀ ́ ̣́ ươ ơ ư ̣
tha nh ca c đ n thê nho (ha m con) đê ch ng ̀ ́ ̀ơ ̉ ̉ ̉ ươ
tri nh đ c trong sa ng, dê hiêu trong viêc x ly , ̀ ́ ̃ ́ượ ̉ ̣ ử
quan ly viêc ti nh toa n va giai quyê t vâ n đê .́ ́ ́ ̀ ́ ́ ̀̉ ̣ ̉
0
5
/
2
3
/
1
4
4
4
5

M u t ng quát c a hàmẫ ổ ủ
<Kiêu d liêu> TênHàm([ds ca c tham sô ]);̃ ́ ́̉ ư ̣
Trong đó:
*
Ki u d li u tr v c a hàm (k t qu c a hàm/ ể ữ ệ ả ề ủ ế ả ủ
đ u ra), g m 2 lo iầ ồ ạ
*
void: Không tr v giá trả ề ị
*
float / int / long / char */ ki u c u trúc / … ể ấ :
Tr v giá tr k t qu có ki u d li u t ng ả ề ị ế ả ể ữ ệ ươ
ng v i bài toán (ch tr v đ c 1 giá tr theo ứ ớ ỉ ả ề ượ ị
ki u d li u)ể ữ ệ
6
*
TênHàm: Đ t tên theo qui c sao ặ ướ
cho ph n ánh đúng ch c năng th c ả ứ ự
hi n c a hàmệ ủ
*
Danh sách các tham s (n u có): đ u ố ế ầ
vào c a hàm (ủ       ộ ố ườ
     ợ ể ầ ầ ủ
     ế ế ả ầ ề
    ị ố ọ ế )
7
Cài đ tặ
   !́ ́ ́
"
#$  $ $́ ́ ́ ̣ ̣
% &'   ́ ́ ̀ ̣́ ̣ ơ ̣

 (́
)
G i hàmọ
TênHàm(danh sách tên các đ i s );ố ố
Nh ng ph ng th c loai na y th ng r i va o nh ng ̃ ̀ ̀ ̀ ̃ư ươ ứ ̣ ươ ơ ư
nho m ch c năng: Nhâp / xuâ t d liêu , thô ng ́ ́ ́ ̃ ́ư ̣ ư ̣
kê, să p xê p, liêt kế ́ ̣
8
Viê t ch ng tri nh nhâp sô nguyên d ng n va in ́ ̀ ́ ̀ươ ̣ ươ
ra ma n hi nh ca c c sô cua ǹ ̀ ́ ́ ́ươ ̉
Phân ti ch ba i toa n: ́ ̀ ́
*
Input: n (Đê xa c đinh tham sô )́ ́̉ ̣
Kiêu d liêu: sô nguyên d ng (̃ ́̉ ư ̣ ươ ).
*
Output: In ra ca c c sô cua n (Đê xa c đinh ́ ́ ́ ́ươ ̉ ̉ ̣
kiêu d liêu tr v c a hàm)̃̉ ư ̣ ả ề ủ
Xu t ra màn hình ấ  Không tra vê gia tri ̀ ́̉ ̣ 
Kiêu d liêu c a hàm la ̃ ̀̉ ư ̣ ủ void .
*
Xa c đinh tên hàm:́ ̣ Hàm na y du ng in ra ca c c ̀ ̀ ́ ́ươ
sô cua n nên co thê đăt la ́ ́ ̀̉ ̉ ̣ *+#+,-
*+#+,-!.
9
#include <iostream.h>
void LietKeUocSo(int n);
void LietKeUocSo(int n)
{
for (int i = 1; i <= n; i++)
if (n % i == 0)

cout<<i<<“\t”;
}
void main()
{
int n;
cout<<"Nhap so nguyen duong n: ";
cin>>n;
cout<<"Cac uoc so cua “<<n<<“: “;
LietKeUocSo(n);
}
Có d u ch m ph yấ ấ ẩ
Không d u ch m ph yấ ấ ẩ
10
K t qu ch ng trìnhế ả ươ
11
Cài đ tặ
/#   0   !̃ ́ ́ ́̉ ư ̣ ả ề
"
/#   0.̃̉ ư ̣ ả ề
#$  $ $́ ́ ́ ̣ ̣
% &'    (́ ́ ̀ ́ ̣́ ̣ ơ ̣
1 return.
)
G i hàmọ
<Ki u d li u tr v c a hàm> Tên bi n = TênHàm (danh sách tên ể ữ ệ ả ề ủ ế
các đ i s );ố ố
Nh ng ph ng th c này th ng r i vào các nhóm: ữ ươ ứ ườ ơ Tính t ng, ổ
tích, trung bình, đ m, ki m tra, tìm ki m ế ể ế
12
Viê t ch ng tri nh nhâp sô nguyên d ng n va ti nh tông ́ ̀ ́ ̀ ́ươ ̣ ươ ̉

*
Phân ti ch ba i toa n: ́ ̀ ́
Input: n (Đê xa c đinh tham sô )́ ́̉ ̣

Kiêu d liêu: sô nguyên d ng (̃ ́̉ ư ̣ ươ ).
Output: Tông S (Đê xa c đinh kiêu d liêu ph ng th c)́ ̃̉ ̉ ̣ ̉ ư ̣ ươ ứ

Tra vê gia tri cua S.̀ ́̉ ̣ ̉

S la tông ca c sô nguyên d ng nên S cu ng la sô nguyên ̀ ́ ́ ̃ ̀ ́̉ ươ
d ng ươ  Kiêu tra vê cua ha m la ̀ ̀ ̀̉ ̉ ̉  (hoăc ̣ ).
*
Xa c đinh TênHàḿ ̣ : Du ng ti nh tông S nên co thê đăt la ̀ ́ ́ ̀̉ ̉ ̣
-
-!.
0;321 >++++= nnS
n

13
#include <iostream.h>
int TongS(int n);
int TongS(int n)
{
int kq = 0;
for (int i = 1; i <= n; i++)
kq + = i;
return kq;
}
void main()
{

int n, S;
cout<<"Nhap vao so nguyen n: ";
cin>>n;
S = TongS(n);
cout<<"Tong tu 1 den n: " <<S;
}
*
Ph m vi kh iạ ố
*
Ph m vi hàmạ
*
Ph m vi ch ng trìnhạ ươ
*
Ph m vi t p tinạ ậ
14
*
M t kh i đ c gi i h n b i ngo c {}. ộ ố ượ ớ ạ ở ặ
*
Bi n khai báo trong kh i đó có ph m vi ế ố ạ
kh i, nghĩa là nó ch ho t đ ng trong ố ỉ ạ ộ
kh i đó mà thôi. Ph m vi này còn g i là ố ạ ọ
c c bụ ộ, và bi n đ c g i là ế ưọ ọ bi n c c ế ụ
bộ.
15
16
void main()
{
int i=20;
{
int i=10;

cout<<"Gia tri i ben trong khoi: "<<i<<endl;
}
cout<<"Gia tri i ben ngoai khoi: "<<i;
}
Kết quả
Gia tri i ben trong khoi: 10
Gia tri i ben ngoai khoi: 20
*
Ho t đ ng t đ u đ n cu i m t hàmạ ộ ừ ầ ế ố ộ , ch có tác ỉ
d ng trong hàmụ
17
void main()
{
int k;
float m;
double x;
//Các lệnh khác
//…
}
*
Đ c khai báo bên ngoài ượ
các hàm – còn đ c g i là ượ ọ
bi n toàn c c, có tác d ng ế ụ ụ
cho toàn b ch ng trìnhộ ươ
*
Bi n toàn c c m c dù ế ụ ặ
đ c nhìn th y m i hàm ượ ấ ở ọ
trong toàn ch ng trình, ươ
nh ng không nên khai báo ư
s d ng nhi u n u không ử ụ ề ế

c n thi t, vì nó s gây tr ầ ế ẽ ở
ng i cho quá trình dò tìm ạ
l i khi debug ch ng trìnhỗ ươ
18
int a, b;
void Nhap()
{
cout<<"Nhap a: ";
cin>>a;
cout<<"Nhap b: ";
cin>>b;
}
void main()
{
int c;
Nhap();
c=a+b;
cout<<"Tong = "<<c;
}
*
Bi n đ c khai báo toàn c c và có kèm t khóa staticế ượ ụ ừ
19
int x = 0;
static int y = 0;
static float z = 0.0;
void main()
{
int i;
//Các lệnh
.

.
}
20
*
Tham s làm k t qu đ u raố ế ả ầ
*
Tham s v a làm đ u vào và đ u raố ừ ầ ầ
*
Dùng d u ấ & phía tr c tên tham s ướ ố
khi cài đ t hàmặ
21
Xét ch ng trình hoán v 2 s nguyên a, b ươ ị ố
cho tr c ướ
Vi t ch ng trình v i 2 tr ng h pế ươ ớ ườ ợ
*
Tr ng h p không dùng tham chi uườ ợ ế
*
Tr ng h p dùng tham chi uườ ợ ế
22
void HoanVi(int a, int b)
{
int tam = a;
a = b;
b = tam;
cout<<"Trong HoanVi: a = “<<a<<“ ;b = “<<b;
}
void main()
{
int a = 5, b = 21;
cout<<"Truoc khi HoanVi: a = “<<a<<“ ; b = “<<b;

HoanVi(a, b);
cout<<"Sau khi goi HoanVi: a = “<<a<<“ ;b = “<<b;
}
23
K t quế ả
24
void HoanVi(int &a, int &b)
{
int tam = a;
a = b;
b = tam;
cout<<"Trong HoanVi: a = “<<a<<“ ;b = “<<b;
}
void main()
{
int a = 5, b = 21;
cout<<"Truoc khi HoanVi: a = “<<a<<“ ; b = “<<b;
HoanVi(a, b);
cout<<"Sau khi goi HoanVi: a = “<<a<<“ ;b = “<<b;
}
25
K t quế ả

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×