Tải bản đầy đủ (.pdf) (29 trang)

PHƯƠNG PHÁP LẬP TRÌNH_3 potx

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 (2.06 MB, 29 trang )

CHƯƠNG 3CHƯƠNG 3
Á Ấ Ú Ề ỂÁ Ấ Ú Ề Ể
C
Á
C C

U TR
Ú
C ĐI

U KHI

NC
Á
C C

U TR
Ú
C ĐI

U KHI

N
(Control structures)(Control structures)
(Control

structures)

(Control

structures)



1. Giớithiệu1. Giớithiệu
1.

Giới

thiệu1.

Giới

thiệu
Có 3 loạicấutrúcđiềukhiển, Các cấutrúcnày
điề
khiể
thứ
tự
thự
thi
á
lệ h

điề
u
khiể
n
thứ
tự
thự
c
thi

c
á
c
lệ
n
h
c

a
chương trình.

Cấu
trúc
tuần
tự
(sequence)
:
thực
hiện
các

Cấu
trúc
tuần
tự
(sequence)
:
thực
hiện
các

lệnh theo thứ tự từ trên xuống .

Cấu
trúc
lựa
chọn
(selection)
:
dựa
vào
kết

Cấu
trúc
lựa
chọn
(selection)
:
dựa
vào
kết
quả củabiểuthức điềukiệnmànhững lệnh
tương ứng sẽđượcthựchiện. Các cấutrúc

lựachọn
gồ
m:
− If
− switch.
1. Giớithiệu1. Giớithiệu

1.

Giới

thiệu1.

Giới

thiệu

Cấutrúclặp
(repetition or loop): lặplại1hay

nhiềulệnh cho đếnkhibi

uthức điềukiệncó
giá trị sai. Các cấutrúclặpgồm:
− fo
r
− while
− do while.
Tuy
nhiên,
thứ
tự
thực
hiện
các
lệnh
của

Tuy
nhiên,
thứ
tự
thực
hiện
các
lệnh
của
chương trình còn bị chi phốibởicáclệnh nhảy
như continue, break, goto.
2. Lệnh và khốilệnh2. Lệnh và khốilệnh
2.

Lệnh



khối

lệnh2.

Lệnh



khối

lệnh


Lệnh (statement):
mộtbiểuthứckếtthúc

bởi1dấuchấmph

y
g
ọilà1lệnh.
Ví dụ:
int a, b, c ;
a=10 ;
a++;
2. Lệnh và khốilệnh2. Lệnh và khốilệnh
2.

Lệnh



khối

lệnh2.

Lệnh



khối

lệnh


Khốilệnh (block):
một hay nhiềulệnh được
b
h
bởi

dấ
{
}
i

ột
khối
b
ao quan
h
bởi
c

p
dấ
u
{
}
g

i

m

ột
khối
lệnh. Về mặtcúpháp,khốilệnh tương đương
1
câu
lệnh
đơn
.
1
câu
lệnh
đơn
.
Ví dụ:
if
(
a<b
)

()
{
temp=a;
a=b;
b=temp;
}
Các cấutrúclựachọnCác cấutrúclựachọn
Các

cấu


trúc

lựa

chọnCác

cấu

trúc

lựa

chọn
XWXW
3. CấutrúcIF3. CấutrúcIF
3.

Cấu

trúc

IF3.

Cấu

trúc

IF
y Dạng 1:
Lưu đồ cú pháp

◦ Cú pháp:
if(expression)
if(expression)

statement;
Ýnghĩa
:

Ý

nghĩa
:

Expression được định trị. Nếu
kết quả là true thì statement được thực thi,
ngược lại, không làm gì cả.
3. CấutrúcIF3. CấutrúcIF
3.

Cấu

trúc

IF3.

Cấu

trúc

IF

Ví dụ:Viếtchương trình nhậpvàomộtsố nguyên a. In
ra
màn
hình
kết
quả
a

phải

số
dương
không
ra
màn
hình
kết
quả
a

phải

số
dương
không
.
#include <iostream.h>
#include <conio.h>
it i()
i

n
t
ma
i
n
()

{
int a;
cout << "Input a = "; cin>>a;
if(a>=0)
cout << a <<
"
is a positive

;
cout

<<

a

<<

is

a

positive
.

;

getch();
return 0;
}
}

3. CấutrúcIF3. CấutrúcIF
3.

Cấu

trúc

IF3.

Cấu

trúc

IF
y Dạng 2:
Lưu đồ cú pháp
◦ Cú pháp:
if (expression)
statement1;
else
statement2;

Ý

n
g
hĩa:
g
− Nếu Expression được định là true thì
statement1 được thực thi.
− Ngược lại, thì statement2 được thực thi.
3. CấutrúcIF3. CấutrúcIF
3.

Cấu

trúc

IF3.

Cấu

trúc

IF
Ví dụ:Viếtchương trình nhậpvàomộtsố nguyên a. In ra
màn
hình
kết
quả
kiểm
tra
a


số
âm
hay
dương
màn
hình
kết
quả
kiểm
tra
a

số
âm
hay
dương
.
#include <iostream.h>
#include <conio.h>
int main()
{
int
a
;
int
a
;
cout << "Input a = "; cin >> a;
if(a>=0)
cout

<<
a
<<
"
is
a
positive

;
cout
<<
a
<<
is
a
positive
.
;
else
cout<<a<<"isanegative.”;
getch(); return 0;
}
3. CấutrúcIF3. CấutrúcIF
3.

Cấu

trúc

IF3.


Cấu

trúc

IF
Lưu ý:
y Ta có thể sử dụng các câu lệnh if…else lồng
nhau. Khi dùng if…else lồng nhau thì else sẽ
kếthợpvớiif
g
ầnnhấtchưacóelse.
y Nếucâul

nh if “bên tron
g
”khôn
g
có else thì

g
g
phải đặttrongcặpdấu{}
4. Cấu trúc switch4. Cấu trúc switch
4.

Cấu

trúc


switch

4.

Cấu

trúc

switch

y Cấu trúc switch là một cấu trúc lựa chọn có
hiề há h đượ ử d khi ó hiề lự
n
hiề
u n

n
h
,
đượ
c s


d
ụn
g

khi
c
ó

n
hiề
u
lự
a
chọn.
y
Cú pháp
:
y


pháp
:

switch(expression)
{
{

case value_1: statement_1; [break;]

case value_n: statement_n; [break;]
[
default : statement
;]

[;]
}
4. Cấu trúc switch4. Cấu trúc switch
4.


Cấu

trúc

switch

4.

Cấu

trúc

switch

4. Cấu trúc switch4. Cấu trúc switch
4.

Cấu

trúc

switch

4.

Cấu

trúc


switch

y Giảithích:
− Expression sẽđược định trị.
− Nếugiátrị củaexpressionbằng value_1 thì
thựchiện statement_1 và thoát.
− Nếugiátrị củaexpressionkhácvalue_1thì

so sánh vớivalue_2,nếub

n
g
value_2 thì
thựchiện statement_2 và thoát…., so sánh
tới
value n
tới
value
_
n
.
− Nếutấtcả các phép so sánh đềusaithìthực
hiện
statement
của
default
hiện
statement
của
default

.
4. Cấu trúc switch4. Cấu trúc switch
4.

Cấu

trúc

switch

4.

Cấu

trúc

switch

y
Lưuý
:
−Expression trong switch() phảicókếtquả
là giá trị kiểusố nguyên (int, char, long).
−Các giá trị sau case phảilàhằng nguyên.

Không
bắt
buộc
phải


default
Không
bắt
buộc
phải

default
.
−Khi thựchiệnlệnh tương ứng củacase có
giá
trị
bằng
expression
chương
trình
thực
giá
trị
bằng
expression
,
chương
trình
thực
hiệnlệnh break để thoát khỏicấutrúc
s
witch.
s
4. Cấu trúc switch4. Cấu trúc switch
4.


Cấu

trúc

switch

4.

Cấu

trúc

switch

Ví dụ:Nhậpvàomộtsố nguyên, chia số nguyên này cho 2 lấyphần

Kiểm
tra
nếu
phần

bằng
0
thì
in
ra
thông
báo
“là

số
chẳn


.
Kiểm
tra
nếu
phần

bằng
0
thì
in
ra
thông
báo

số
chẳn
,
nếusố dư bằng 1 thì in thông báo “là số lẽ”.
#include <iostream.h>
#i l d i h
#i
nc
l
u
d
e <con

i
o.
h
>
void main () {
int n
,
remainder
;

,;
cout<<”Input an number: "; cin>>n; remainder = (n % 2);
switch(remainder)
{
{

case 0: cout << n << ” is an even."; break;
case 1: cout << n << ” is an odd."; break;
}
getch(); }
Các cấutrúclặpCác cấutrúclặp
Các

cấu

trúc

lặpCác

cấu


trúc

lặp
XWXW
5. Cấu trúc while5. Cấu trúc while
5.

Cấu

trúc

while5.

Cấu

trúc

while
y Cú pháp:
while(expression)
statement;
● Ý nghĩa:
● B1: Expression được định
trị
● B2: Nếu kết quả là true thì
statement thực thi và quay
statement

thực


thi



quay

lại B1

B3: Nếukếtquả là
false
thì

B3:

Nếu

kết

quả



false
thì

thoát khỏi vòng lặp while.
5. Cấu trúc while5. Cấu trúc while
5.


Cấu

trúc

while5.

Cấu

trúc

while
Ví dụ: Viết chương trình tính tổng các số nguyên từ 1 tới n.
#i l d i t h
#i
nc
l
u
d
e<
i
os
t
ream.
h
>
#include<conio.h>
void main
()

()

{
int i, n, sum;
cout<<

Input n=

;cin>>n;
cout<< Input

n=

;

cin

>>

n;

i = 1; sum = 0;
while(i<=n)
{
sum += i; i++;
}
}

getch();
}
6. Cấu trúc do … while6. Cấu trúc do … while
6.


Cấu

trúc

do



while

6.

Cấu

trúc

do



while

y Cú
p

p
:
pp
do {

statement;
}while(expression);

Ý
n
g
hĩa:
g
− Statement được thực hiện
− Ex
p
ression đư

c đ

nh tr

.
p ợ ị ị
− Nếu expression là true thì
quay lại bước 1
− Nếu expression là false thì
thoát khỏi vòng lặp.
6. Cấu trúc do … while6. Cấu trúc do … while
6.

Cấu

trúc


do



while

6.

Cấu

trúc

do



while

Ví dụ 1: Viết chuong trình in dãy số nguyên từ 1 đến 10.
#include <iostream.h>
#include <conio.h>
void main ()
{

{
int i;
clrscr();
cout<<"Display one to ten: ";
i=1;
do

{
cout << setw(3) << i;
i+=1;
} while(i<=10);
getch();
}
7. Cấutrúcfor7. Cấutrúcfor
7.

Cấu

trúc

for

7.

Cấu

trúc

for

y Cú
p

p
:
pp
for (Exp1; Exp2; Exp3)

statement
;
statement
;
y Ýnghĩa:

Exp
1
:

biểu
thức
khởi
tạo
Exp
1
:

biểu
thức
khởi
tạo
đượcthựchiện.
− Ex
p
2: là biểuthức điềuki

n
p


− Exp3: biểuthức điềukhiển
lặp
7. Cấutrúcfor7. Cấutrúcfor
7.

Cấu

trúc

for

7.

Cấu

trúc

for

Ví dụ: Viết chương trình tính tổng các số nguyên từ 1
đếnn
đến

n
.
#include <iostream.h>
#include <conio.h>
id i ()
vo
id

ma
i
n
()

{
int i, n, sum;
cout<<”Input a number:”; cin >> n;
sum = 0;
for (i=1 ; i<=n ; i++)
for

(i=1

;

i<=n

;

i++)

sum += i;
cout<<”Sum from 1 to “ << n << ” is: ” << sum;
th()
ge
t
c
h()
;

}
7. Cấutrúcfor7. Cấutrúcfor
7.

Cấu

trúc

for

7.

Cấu

trúc

for

y C/C++ cho phép Exp1 là một định nghia biến
Ví dụ: for(int i=1; i<=n; ++i)
y
Bất
kỳ
biểu
thức
nào
trong
3
biểu
thức

của
y
Bất
kỳ
biểu
thức
nào
trong
3
biểu
thức
của
vòng lặpforđềucóthể rỗng

dụ
:
for(
;
i
!=
0
;
)
statement
;

dụ
:
for(
;

i
!=
0
;
)
statement
;
y Xóa tấtcả các biểuthức trong vòng lặpforsẽ
cho
một
vòng
lặp

tận
cho
một
vòng
lặp

tận
.
Ví dụ:
for (;;) statement;
Các lệnh rẽ nhánh Các lệnh rẽ nhánh
v
à l

nh nhảy
v
à l


nh nhảy
XWXW
XWXW

×