TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
1
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 3: Các cấu trúc điều khiển cơ
bản trong C#
bản
trong
C#
• Tổng quan về cấu trúc điều khiển
• Các cấu trúc điều khiển
• Xử l
ý
bẫ
y
lỗi tron
g
chươn
g
trình
ý y g g
• Mảng (Array)
2
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng quan về cấu trúc điều khiển
• Một chương trình không chỉ bao gồm các lệnh tuần
tự nối tiếp nhau. Trong quá trình chạy nó có thể rẽ
nhánh hay lặplạimột đoạnmãnàođó Để làm điều
nhánh
hay
lặp
lại
một
đoạn
mã
nào
đó
.
Để
làm
điều
này chúng ta sử dụng các cấu trúc điều khiển.
•
Cùng vớiviệcgiớithiệu các cấutrúcđiềukhiển
Cùng
với
việc
giới
thiệu
các
cấu
trúc
điều
khiển
chúng ta cũng sẽ phải biết tới một khái niệm mới:
khối lệnh, đó là một nhóm các lệnh được ngăn cách
bởidấuchấmphẩy (;) nhưng đượcgộp trong một
bởi
dấu
chấm
phẩy
(;)
nhưng
được
gộp
trong
một
khối giới hạn bởi một cặp ngoặc nhọn: { và }.
•
Nếukhốilệnh chỉ có 1 lệnh thì không cầnsử dụng
3
Nếu
khối
lệnh
chỉ
có
1
lệnh
thì
không
cần
sử
dụng
cặp dấu ngoặc nhọn { và }
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng quan về cấu trúc điều khiển
• Trong C# có 3 loại cấu trúc cơ bản:
ấ ầ
− C
ấ
u trúc tu
ầ
n tự
− Cấu trúc quyết định chọn lựa rẽ nhánh
ấ
− C
ấ
u trúc lặp
4
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các cấu trúc điều khiển
• Cấu trúc rẽ nhánh
ề
• Toán tử đi
ề
u kiện ?
• Cấu trúc lựa chọn switch
• Cấu trúc lặp while, do, for, foreach
5
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
•
Dạng 1: if
•
Dạng
1:
if
−Cú pháp
if (
<Điề kiệ >
)
if
(
<Điề
u
kiệ
n
>
)
{
<
Khốilệnh A
>
Khối
lệnh
A
}
−Ý n
g
hĩa
g
Nếu <Điều kiện> Đúng Thì
Thực hiện <Khối lệnh A>
6
• <Điều kiện>: là 1 biểu thức logic, trả về true (Đúng) hoặc
false (Sai)
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
•
Dạng 1: if
•
Dạng
1:
if
−Sơ đồ hoạt động:
<Biểu
thức điều
kiện>
False
True
<Khốilệnh A>
True
<Khối
lệnh
A>
7
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
•
Dạng 1: if
•
Dạng
1:
if
−Ví dụ: Kiểm tra điểm trung bình để xét kết quả đậu hay rớt
•
Nếu điểm trung bình >=5 thì kếtquả là đạt
•
Nếu
điểm
trung
bình
>=5
thì
kết
quả
là
đạt
8
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
•
Dạng 2: if else
•
Dạng
2:
if
…
else
…
−Đặt vấn đề: Trường Y có nhu cầu xét kết quả học tập của
họcsinhdựavàođiểm trung bình để quyết định xem học
học
sinh
dựa
vào
điểm
trung
bình
để
quyết
định
xem
học
sinh đó có được lên lớp hay không. Có 2 trường hợp có
thể xảy ra:
•
T ờ h 1 đ lê lớ (điể tbìh50)
•
T
rư
ờ
ng
h
ợp
1
:
đ
ược
lê
n
lớ
p
(điể
m
t
rung
bì
n
h
>=
5
.
0)
• Trường hợp 2: không được lên lớp (điểm trung bình <= 5.0)
−
2trường hợpcủa bài toán trên loạitrừ nhau để giảiquyết
−
2
trường
hợp
của
bài
toán
trên
loại
trừ
nhau
,
để
giải
quyết
bài toán này chúng ta dùng cấu trúc if … else …
9
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
•
Dạng 2: if else
•
Dạng
2:
if
…
else
…
−Cú pháp
if ( Điề kiệ )
if
(
<
Điề
u
kiệ
n>
)
{
<Khốilệnh A>
<Khối
lệnh
A>
}
else // khi điều kiện của if là false
{
<Khối lệnh B>
10
}
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
• Dạng 2: if … else …
−Ý nghĩa
Nếu <Điều kiện> Đúng Thì
Thực hiện <Khối lệnh A>
N l i
Điề kiệ
Si
N
gược
l
ạ
i
, <
Điề
u
kiệ
n>
S
a
i
Thực hiện <Khối lệnh B>
• <Điều kiện>: là 1 biểu thức logic, trả về true hoặc false
• Cấu trúc if có thể lồng nhau
11
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
•
Dạng 2: if else
•
Dạng
2:
if
…
else
…
−Sơ đồ hoạt động:
<Biểu
thức điều
kiện>
False
True
<Khốilệnh A>
True
<Khốilệnh B>
<Khối
lệnh
A>
<Khối
lệnh
B>
12
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Ví dụ 1: Xét kết quả học tập dựa vào điểm trung bình
Nếu DTB <5 thì Kết quả là Ở lại lớp
Ngược lại là Được lên lớp
double dtb = double.Parse(Console.ReadLine());
if
(
dtb >= 5
)
()
Console.Write("Được lên lớp“);
else
13
Console.Write("Ở lại lớp“);
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Ví dụ 2: Xét kết quả học tập dựa vào điểm trung bình
Nếu DTB <5 thì Kết quả là Ở lại lớp và phải thi lại
Ngược lại là Được lên lớp và không phải thi lại
14
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Ví dụ 3: Lập trình cho phép nhập vào từ bàn phím thông tin
họ tên khách hàng mã số điệnkế chỉ số đầuchỉ số cuối
họ
tên
khách
hàng
,
mã
số
điện
kế
,
chỉ
số
đầu
,
chỉ
số
cuối
.
Sau đó xuất kết quả ra màn hình dạng sau:
• Họ tên khách hàng:
• Mã số điện kế:
• Chỉ số đầu:
ố ố
• Chỉ s
ố
cu
ố
i:
• Số tiền phải trả:
15
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Quy ước tính toán:
• Nếu 0 < số Kw tiêu thụ <= 100 => đơn giá là 500 đồng/1kw
• Nếu 100 < số Kw tiêu thụ <= 250 => đơn giá là 600 đồng/1kw
•
Nếu 250 < số Kw tiêu thụ <= 300 => đơn giá là 800 đồng/1kw
•
Nếu
250
<
số
Kw
tiêu
thụ
<=
300
=>
đơn
giá
là
800
đồng/1kw
• Nếu 300 < số Kw tiêu thụ => đơn giá là 1000 đồng/1kw
16
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Các bước thực hiện:
• Bước 1: khởi động Visual Studio 2005 và tạo mới một project
dạng Console Application, đặt tên project là TinhTienDien
• Bước 2: tron
g
hàm Main có th
ể
khai báo các l
ệ
nh như sau
g ệ
– Khai báo các biến cần sử dụng
17
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Các bước thực hiện:
• Bước 2: (tt)
–Xử lý nhập dữ liệu từ bàn phím
18
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Các bước thực hiện:
• Bước 2: (tt)
–Xử lý tính tiền điện phải trả
19
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
f
• Dạng 2: i
f
… else …
−Các bước thực hiện:
• Bước 2: (tt)
–Xử lý xuất kết quả ra màn hình
• Bước 3: chạy trình ứng dụng nhập vào các thông tin cần thiết
ể ế
và ki
ể
m tra k
ế
t quả.
20
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
• Dạng 3: if … else if …
−Cú pháp
if (<Điều kiện 1>)
<Tập lệnh 1>
else if (<Điều kiện 2>)
<Tập lệnh 2>
…
else
<T
ập
l
ệ
nh n>
21
ập ệ
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc rẽ nhánh - IF
• Dạng 3: if … else if …
−Ý n
g
hĩa
g
Nếu <Điều kiện 1> Đúng Thì
Thực hiện <Tập lệnh 1>
Ngược lại nếu <Điều kiện 2> Đúng Thì
Thực hiện <Tập lệnh 2>
…
Ngược lại tất cả điều kiện trên
Thựchiện
<Tậplệnh n>
22
Thực
hiện
<Tập
lệnh
n>
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Lưu ý
−Có thể
p
hối h
ợp
các d
ạ
n
g
if với nhau
p ợp ạ g
−Cấu trúc IF có thể lồng nhau
if (<Điều kiện 1>)
IF Dạng 1
{ if (<Điều kiện A>)
<Tập lệnh A>
else if (<Điềukiện B>)
else
if
(<Điều
kiện
B>)
<Tập lệnh B>
…
else
<Tập lệnh n>
}
23
}
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Lưu ý
−Có thể
p
hối h
ợp
các d
ạ
n
g
If với nhau
p ợp ạ g
−Cấu trúc IF có thể lồng nhau
if (<Điều kiện 1>)
{
if (<Điều kiện A>)
<Tậplệnh A>
<Tập
lệnh
A>
else if (<Điều kiện B>)
<Tập lệnh B>
IF Dạng 3
…
else
<Tậplệnh n>
24
<Tập
lệnh
n>
}
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Lưu ý
−
Ví dụ:Kiểmtrađiểmnhậphợplệ trướckhixếploại
Ví
dụ:
Kiểm
tra
điểm
nhập
hợp
lệ
trước
khi
xếp
loại
double dtb = double.Parse(Console.ReadLine());
string xl="";
if (dtb < 0 || dtb > 10)
Console.WriteLine("Điểm không hợp lệ !");
else
{
if (dtb < 5)
if
(dtb
<
5)
xl = "Yếu";
else if (dtb < 6.5)
l"T bìh"
25
x
l
=
"T
rung
bì
n
h"
;