CHƯƠNG 3
CẤU TRÚC ĐIỀU KHIỂN
1
Cấu trúc điều khiển
2
TUẦN TỰ
RẼ NHÁNH CÓ ĐIỀU KIỆN
LỰA CHỌN
LẶP
Cấu trúc tuần tự
!"#
$ % & '() ') *+ ,
+-'()./
3
4
!
""#""$
%#$
&'%(&) $
%)*+", $
&'%(&) $
%)*+", $
#-.$
-/$
-0$
#-% 1$112&34
&'%(#*5)"# $
&'%(*5+" $
&'%)*5)" $
&'%(#*%)"# $
6
5
!
""#""$
%#$
77(&)$
88$
77(&)$
88$
#-.$
-/$
-0$
#-% 1$112&34
77(#(77#77$
77()7777$
77()7777$
77(#)77#$
6
Cấu trúc rẽ nhánh
012345/6/$7+*!89*.:;<$!=
.>?-@:+?-@4A
05'6"B)#/!2)
if 49:;3<
{
73=<8$
}
>49:;3<3>?@trueAB<3=<C'#if
6
CDEFC"G)H/9*$()+&)4I+!(<
7
void main()
{
int n;
printf(“Nhap mot so nguyen: “);
scanf(“%d”, &n);
if (n<0)
{
n=-n;
}
printf(“Gia tri tuyet doi= %d“, n);
}
CDEFC"G)H/9*$()+&)4I+!(<
8
void main()
{
int n;
cout<<“Nhap mot so nguyen: “;
cin>>n;
if (n<0)
{
n=-n;
}
cout<<“Gia tri tuyet doi= “<<n;
}
J6;"B)#/!2)9*F
if 49:;3<
!
73=<D8$
6
else
!
73=<E8$
6
>49:;3<3>?@trueAB<3=<D"#FGHAB<
3=<9E
9
CKFLH/9*()+&9*?*?$(<?M)?4N*?$(<?O)"#P
N.)??O
10
/>NL/9FNA
>NQORA
/>NL/9?FNA
>NQOR?A
S
/>N??NA
T
S
/>N.)??NA
T
>Q?UUVA
9>A
S
?
/>NL/9FNA
>NQORA
/>NL/9?FNA
>NQOR?A
11
>Q?UUVA
S
/>N??OA
T
S
/>N.)??OA
T
T
CKFLH/9*()+&9*?*?$(<?M)?4N*?$(<?O)"#P
N.)??O
12
WWNL/9FN
XX
WWNL/9?FN
XX?
S
WWN??N
T
S
WWN.)??N
T
>Q?UUVA
9>A
S
?
WWNL/9FN
XX
WWNL/9?FN
XX?
13
>Q?UUVA
S
WWN??O
T
S
WWN.)??O
T
T
CDEFY;9*?H/"G)F'Z?UV
14
{
%"$
&'%(&) $
%)*+", $
&'%)&) $
%)*+", $
15
% I
!
% I
!
&'%(JKL+ $
6
!
&'%(JK+ $
6
6
!
&'%)#M-*%)"/1 $
6
}
{
%"$
77(&)$
88$
77)&)$
88$
16
% I
!
% I
!
77(JKL+$
6
!
77(JK+$
6
6
!
77)#M-)77/1$
6
}
Bài tập – cho biết kết quả
!
-N"-O$
$
-.//$
-.// $
%*E I
&'%)P'+ $
1177(P'+$
&'%)#*)". $
1177(#(77.$
6
17
!
-Q"-R$
$
-.//$
//$
//$
-// .// $
%*ES-I
&'%)+ $
1177(+$
&'%)+$
1177(+$
&'%)P')" $
1177(P'(77$
6
18
Bài tập viết chương trình
LH/9*(9*?'1([1
0(?9*7+)4I[1<?(&9*.:;
0(?9*7+*@\)4(
] C"G)H/9*$()+&),^(J1*
^([1_9ID*`
CKF-ENDTU=VWXYZ#[N
19
a LH/9*()+&),^(J1*@\)<
4^(
CDEF-END\W'DEN
b LH/9*)*+4)\c-')*+4)\!88#/+
.M)`d.:;*
e LH/9*)B/2)f+c-')B/2)f+!88#/+.M)`
d.:;*
g LH/9*$\>XVA0?\*+8/;*\H+.M)`d
.:;*
20
h D="[iJdjk)F
3:]CZD^III
:
_3>&ZDEIII
:
`3^I'YCA_3CaZDDIII
:
l7+H/(.!8(=/;;
VLH/9*()+&"G)c-'(!88H/*)4.M)`
L87+?)4!8$P*`>0f9M)!=A
LH/ 9* ( )+& "G) c- ' 8 /; * ( D /"G) +
.M)`>(D/"G)*(.1+\?H8.:;*)+&A
21
Cấu trúc lựa chọn
switch 49
{
caseD
bc<$
'3$
caseE
bc<$
'3$
ddd
case3
7bc<8$
'3$
edefault:bc<f
}
22
"B)#/)4I?-@?k)
"B)#/)4I?-@?k)
04"B)#/mP>8A
C[F
*4hng s nguyên hoặc k$ tư
nE$9*)4I<?-@9switchF
Y4I*+U
f
c)4I?-@.M)o1;4
f
default8p4.ofswitch
23
c"G)!7')f<case
*!883
M4$case?&"[8*.M)'6P!=.
>4
!"#'"47A
C9H+!-"G)4.oswitch.')
$"B)#/q)break.
24
Ví dụ:LH/9*()+&8)4I%!ad4!r<(!8
*
!
$
&'%(&D7-7-g ) $
%)*+", $
!
D&'%(L+ $ '3$
E&'%(L+ $ '3$
^&'%(L+ $ '3$
h&'%(L+ $ '3$
g&'%(L+ $ '3$
%&'%)TMi+ $
6
6
25