Session 10 - Lab

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

Bi 10

Vng lp

Mc tiu:
Kt thc bi hc ny, bn c th:
S dng cu trc vng lp
Vit mt vi chng trnh:

S dng vng lp for

S dng vng lp while

S dng vng lp do...while.


Cc bc trong bi hc ny c trnh by chi tit, r rng v cn thn. iu ny gip ta hiu r v
cng c lp trnh. Thc hin theo cc bc sau tht cn thn.
Phn I - Trong thi gian 1 gi 30 pht u:
10.1 S dng vng lp for:
Trong phn ny chng ta s vit mt chng trnh s dng vng lp for. Chng trnh hin th cc s
chn t 1 n 30.
Trong chng trnh, mt bin s nguyn, num, c khai bo. Vng lp for c s dng hin
th cc s chn n 30. i s u tin ca vng lp for, khi to bin num l 2. i s th hai ca
vng lp for, kim tra gi tr ca bin c nh hn hoc bng 30 khng. Nu iu kin ny tha, lnh
trong vng lp c thc hin. Lnh printf() c s dng hin th gi tr ca bin num.
Trong i s th ba, gi tr ca bin num c tng ln 2. Trong C, num +=2 ging nh num = num +
2. Lnh printf c thc thi khi i s th hai vn tha. Mt khi gi tr ca bin tr nn ln hn 30,
iu kin khng tha na v v vy vng lp khng c thc thi. Du ngoc nhn {} khng cn thit
khi ch c mt cu lnh hin din trong vng lp, nhng vic s dng cp du ngoc {} l mt thi
quen lp trnh tt.
1. To mt tp tin mi.
2. Nhp vo on m lnh sau y trong ca s Edit Window:
#include <stdio.h>
#include <conio.h>
void main()
{
int num;
clrscr();
printf(The even Numbers from 1 to 30 are \n );
for (num = 2; num <= 30; num +=2)
printf(%d\n, num);
}
3. Lu tp tin vi tn for.C.
4. Bin dch tp tin for.C.
5. Thc thi chng trinh for.C .
6. Tr v ca s Edit Window.
KT QU:

Vng lp

125

The even Numbers from 1 to 30 are


2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
10.2 S dng vng lp while:
Trong phn ny chng ta s vit mt chng trnh s dng vng lp while. Chng trnh hin th cc
s t 10 n 0 theo th t o ngc.
Trong chng trnh c mt bin s nguyn num. Bin c khi to.
Xt dng m lnh sau:
while (num >= 0)
{
printf(\n%d, num);
num--;
}
Lnh while kim tra, gi tr ca bin num c ln hn 0 hay khng. Nu iu kin tha lnh printf()
c thc thi v gi tr ca bin num gim 1. Trong C, num--lm vic ging nhu num = num 1. Vng
lp while vn tip tc khi gi tr ca bin ln hn 1 hoc bng 0.
1. To mt tp tin mi.
2. Nhp vo on m lnh sau y trong ca s Edit Window:
#include <stdio.h>
#include <conio.h>
void main()
{
int num;
clrscr();
num = 10;
printf(\n Countdown);
while (num >= 0)
{
printf(\n%d, num);
num--;
}
}
3. Lu tp tin vi tn while.C.

126

Lp trnh c bn C

4. Bin dch tp tin while.C.


5. Thc thi chng trinh while.C.
6. Tr v ca s Edit Window.
KT QU:
Countdown
10
9
8
7
6
5
4
3
2
1
0
10.3 S dng vng lp do...while:
Trong phn ny chng ta s vit mt chng trnh s dng vng lp do...while. Vng lp do...
while khc vi vng lp while l n thc thi lnh trc khi nh gi biu thc. Mt iu quan trng
cn phi nh l, khng ging nh vng lp while, phn thn ca vng lp do s c thc hin t
nht mt ln. Bi v vng lp while nh gi biu thc trc khi thc thi lnh, nu iu kin l sai
(0) ngay lc bt u, phn lnh s khng bao gi c thc thi.
Chng trnh s nhn vo cc s nguyn v hin th chng cho n khi s 0 c nhp vo. Sau n
s thot khi vng lp do...while v in ra cc s nguyn c nhp.
Chng trnh khai bo hai bin cnt v cnt1. Bn trong vng lp do while chng ta s nhp s bng
cch s dng m lnh sau:
printf(\nEnter a Number: );
scanf(%d,&cnt);
Lnh bn di s hin th s nhp.
printf(No. is %d, cnt);
cnt1++ s tng gi tr bin cnt1 ln 1. Gi s nu chng ta nhp vo s 0, trc ht n s in gi tr v
sau kim tra iu kin. Trong trng hp ny iu kin l sai. N s thot khi vng lp v in gi
tr ca bin cnt1. Bin cnt1 c gim mt n v trc khi in ra bi v s nguyn cui cng (0) khng
c m.
1. To mt tp tin mi.
2. Nhp vo on m lnh sau y trong ca s Edit Window:
#include <stdio.h>
#include <conio.h>
void main()
{
int cnt = 0, num;
clrscr();

Vng lp

127

do
{

printf(\n Enter a Number: );


scanf(%d, &num);
printf(No. is %d, num);
cnt++;
} while (num != 0);
printf(\n The total numbers entered were %d, --cnt);

3. Lu tp tin vi tn dowhile.C.
4. Bin dch tp tin dowhile.C.
5. Thc thi chng trinh dowhile.C.
6. Tr v ca s Edit Window.
KT QU:
Enter a number 11
No is 11
Enter a number 50
No is 50
Enter a number 0
No is 0
The total numbers entered were 2
10.4 S dng lnh break:
Lnh break gip thot ra khi vng lp for, while, do-while hay lnh switch ngay lp tc.
Chng trnh sau minh ha cc dng ca lnh break.
Quan st on m lnh sau:
for (cnt = 1; cnt <= 10; cnt++)
{
if (cnt == 5)
break;
printf(%d\n, cnt);
}
on m lnh trn s dng mt vng lp for in ra cc gi tr t 1 n 10. Gi tr ca bin cnt c
khi to l 1, v sau n s kim tra iu kin. Nu iu kin l ng, n s thc thi cc cu lnh bn
trong vng lp.
Trong trng hp ny, chng trnh ch in ra 1, 2, 3, 4. Khi gi tr ca bin cnt l 5, iu kin if tr nn
ng, v iu khin s thot khi vng lp.
1. To mt tp tin mi.
2. Nhp vo on m lnh sau y trong ca s Edit Window:
#include <stdio.h>
#include <conio.h>
void main()
{
int cnt;

128

Lp trnh c bn C

clrscr();
for (cnt = 1; cnt <= 10; cnt ++)
{
if (cnt == 5)
break;
printf(%d\t, cnt);
}

3. Lu tp tin vi tn breakex.C.
4. Bin dch tp tin breakex.C.
5. Thc thi chng trinh breakex.C.
6. Tr v ca s Edit Window.
KT QU:
1

10.4 S dng lnh continue:


Lnh continue khi c dng trong mt vng lp while, for, hoc do-while s b qua tt c cc cu
lnh pha sau v ln lp k tip c thc thi.
Chng trnh sau minh ha cch s dng ca lnh continue.
Xem on m lnh sau:
for ( cnt = 1; cnt <=10; cnt++)
{
if (cnt ==5)
continue;
printf(%d\t, cnt);
}
on m lnh s dng mt vng lp for in ra cc gi tr t 1 n 10. Gi tr ca bin cnt c khi
to l 1, sau iu kin s c kim tra. Nu iu kin l ng,cc lnh trong vng lp s c thc
thi.
Trong trng hp ny, chng trnh ch in ra cc s 1, 2, 3, 4, 6, 7, 8, 9 v 10. Khi gi tr ca bin cnt
l 5, iu kin if tr nn ng v iu khin tr v u vng lp for m khng in ra gi tr 5.
1. To mt tp tin mi.
2. Nhp vo on m lnh sau y trong ca s Edit Window:
#include <stdio.h>
#include <conio.h>
void main()
{
int cnt;
clrscr();
for (cnt = 1; cnt <= 10; cnt++)
{
if (cnt == 5)
continue;
printf(%d\t, cnt);

Vng lp

129

3. Lu tp tin vi tn continueex.C.
4. Bin dch tp tin continueex.C.
5. Thc thi chng trinh continueex.C.
6. Tr v ca s Edit Window.
KT QU:
1

130

10

Lp trnh c bn C

Phn II: Trong thi gian 30 pht k tip:


1. Tm giai tha ca mt s.
Gi : Xem cng thc tnh giai tha ca mt s :

n! = n * (n-1) * (n-2) * ... * 1

4! = 4 * 3 * 2 * 1

1! = 1

0! = 1
Gi :

Nhp vo mt s.

Khi u, thit t giai tha ca mt s l 1.

Trong khi s cn ln hn 1.

Tnh giai tha ca mt s bng giai tha nhn vi s .

Gim s xung mt n v.

In ra giai tha.

Vng lp

131

Bi tp t lm
1. Khai bo mt bin lu tui ca mt ngi. In ra tn ca ngi vi s ln in bng s tui.
2. Vit chng trnh sinh dy s theo dng sau:
1
12
123
1234
12345
123456
1234567
12345678
123456789
3. Vit chng trnh in ra bng cu chng ca mt s c nhp vo.

132

Lp trnh c bn C

You might also like