Professional Documents
Culture Documents
C++
Cu trc lp (tip theo)
mc
Cu lnh for
Cu lnh do-while
So snh while, for v do-while
Vng lp lng nhau
G ri vng lp
Cc li lp trnh thng gp
Vng lp
Cu lnh for
Cu lnh for thch hp vi vng lp thc hin cc
cng vic ging nhau da trn bin m.
V d 1: In ra mn hnh 20 du *
dem = 0;
while (dem < 20)
{
cout<<*<<endl;
dem ++;
}
Vng lp
for
for (dem
(dem == 0;
0; dem
dem << 20;
20; dem++)
dem++)
cout<<*<<endl;
cout<<*<<endl;
Cu lnh for
Gii thch qu trnh thc hin:
for
for (dem
(dem == 0;
0; dem
dem << 20;
20; dem++)
dem++)
cout<<*<<endl;
cout<<*<<endl;
khi to dem = 0;
kim tra (dem < 20) thy ng, vy in ra du *
tng dem ++ vy dem = 1
quay li kim tra (dem < 20) thy ng, vy in ra du *
tng dem ++ vy dem = 2
...
tng dem ++ vy dem = 19
quay li kim tra (dem < 20) thy ng, vy in ra du *
tng dem ++ vy dem = 20
quay li kim tra (dem < 20) thy sai, vy ra khi vng lp
Vng lp
Cu lnh for
V d 2 : Tnh lng cho cc cng nhn
Vng lp
Bi tp
Tnh tng S = 13 + 23 + 33 + ... + 103
In ra mn hnh bng gi tr
i
1
2
3
4
5
6
7
Vng lp
i*i
1
4
9
16
25
36
49
sqrt(i)
1.0
1.4
1.7
2.0
2.2
2.4
2.6
Li gii
Tnh tng S = 13 + 23 + 33 + ... + 103
tong = 0;
for (i = 1; i <= 10; i++)
tong += i*i*i;
In bng
cout.setf(ios::fixed); // hien thi theo ki phap dau cham
cout.precision(1); // lay 1 so le sau dau cham
cout<<setw(3)<<i<<setw(5)<<i*i <<setw(7)<<sqrt(i)<<endl;
cout<<setw(3)<<i<<setw(6)<<i*i<<setw(9)<<sqrt(i)<<endl;
Vng lp
Cu lnh for
Bin iu khin trong lnh for c th tng gim vi
mt lng bt k.
V d: Tnh tng cc s l nm t 1 n N
sum = 0;
for (le = 1; le <= N; le += 2)
sum += le;
Vng lp
Bi tp
In ra mn hnh bng i nhit t C sang F
Celsius
20
15
10
-5
-10
-15
-20
Fahrenheit
68.00
59.00
50.00
41.00
32.00
23.00
14.00
5.00
-4.00
Cu lnh for
C php:
for (khi to; biu thc iu kin; cp nht bin iu khin)
<Cu lnh>;
Gii thch:
Thc hin cu lnh khi to;
Kim tra biu thc iu kin;
Nu iu kin ng th
10
Cu lnh do-while
Cu lnh do-while thch hp vi nhng vng lp cn
thc hin t nht mt ln lp
Lm thc n (menu)
Kim tra lnh nhiu ln
C php
do
{
<Cu lnh>;
} while (biu thc iu kin)
Gii thch
Lm <Cu lnh>.
Kim tra iu kin, nu ng th
Quay li lm <Cu lnh>
Kim tra iu kin
Kim tra iu kin, nu sai th
Ra khi vng lp.
Vng lp
11
Cu lnh do-while
Lm thc n:
void thuc_don()
{
cout<<1. Tinh dien tich hinh tron<<endl;
cout<<2. Tinh dien tich tam giac<<endl;
cout<<3. Thoat<<endl;
}
do
{
thuc_don();
cout<<Chon mot so: ;
cin>>so;
switch (so)...
} while (so != 3);
Vng lp
12
Cu lnh do-while
do
{
cout<<Nhap ban kinh: ;
cin>>ban_kinh;
ket_qua = chu_vi_ht(ban_kinh);
cout<<Chu vi la: <<ket_qua;
} while (ban_kinh != 0);
Vng lp
13
Break v Continue
do
{
cout<<Nhap mot so: ;
cin>>so;
if (so == 0)
break;
cout<<Hello<<endl;
} while (so != 0);
Vng lp
14
So snh cc cu lnh lp
while:
Thch hp vi vng lp cha bit trc s ln lp
Cu lnh trong while c th khng c thc hin
1 ln no nu iu kin kim tra l sai ngay t
u.
for:
Thch hp vi vng lp bit trc s ln lp
do-while:
Thch hp vi vng lp c t nht l mt ln lp
Vng lp
15
******************************
******************************
******************************
******************************
...
Li gii:
Vng lp
16
*
**
***
****
*****
******
*******
Li gii:
Vng lp
17
G ri vng lp
Ln theo gi tr cc bin trong sau tng bc lp
Lp bng vt v d:
tong = 0;
gt = 1;
for (i = 1; i <= 6; i++)
{
gt = gt*i;
tong = tong + gt;
}
cout<<Tong: <<tong;
Tong = 1! + 2! +... + 6!
Vng lp
18
gt
tong
24
33
120
153
720
873
G ri vng lp
In ra cc gi tr trung gian trong tng bc lp
tong = 0;
gt = 1;
for (i = 1; i <= 6; i++)
{
gt = gt*i;
cout<<gt = <<gt<<endl;
tong = tong + gt;
cout<<tong = <<tong<<endl;
}
cout<<Tong: <<tong;
Vng lp
19
Bi tp
Vng lp sau cho kt qu nh th no ?
tong = 0;
for (i = 1; i <= 7; i++)
{
if (i % 2) == 1
tong = tong + i*i;
else
tong = tong i*i;
}
cout<<Tong: <<tong;
Tong = 122 222 + 322 422 + 522 622 + 722
Vng lp
20
tong
-3
-10
15
-21
28
Bi tp
Vng lp sau cho kt qu nh th no ?
for (i = 1; i <= 7; i++)
{
cout<<setw(3)<<j;
cout<<endl;
}
Vng lp
i/j 1
6 7
21
Cc li lp trnh thng gp
Nhm gia if v while
Sai iu kin lp
So snh s bng nhau gia hai s thc
Thiu { } cu lnh gp
Bin cha khi to gi tr
Vng lp
22
Bi tp
Vit chng trnh tnh gi tr
A = 1/n + 2/(n-1) + 3/(n-2) + ... + n/1
Vit chng trnh nhp vo mt s nguyn dng,
sau cho bit s c bao nhiu ch s
Vit chng trnh kim tra mt s c l s nguyn t
Vit chng trnh in ra mn hnh cy thng
*
**
***
****
*****
******
*******
Vng lp
23