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

Hàm con doc

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
6
/
2
7
/
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
6
/
2
7
/
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
×