TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TAM TIN HOC 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
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 2TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Bai 3: Cac cau truc diéu khién co
ban trong C#
° Téng quan về cấu trúc điều khién
°® Cac cau trúc điều khiên
° Xử lý bẫy lỗi trong chương trình
° Mang (Array)
Trang 3TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Tổng quan về cấu trúc điều khién
tự nói tiếp nhau Trong quá trình chạy nó có thê rẽ
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ớ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 moi:
khối lệnh, đó là một nhóm các lệnh được ngăn cách 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é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à }
Trang 4TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
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
Trang 5TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Các cấu trúc điều khién
°-_ Câu trúc rẽ nhánh
° Toán tử điêu kiện 2
° Cau tric lwa chon switch
° Cau truc lap while, do, for, foreach
Trang 6TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
<Khdéi lệnh A>
}
—Y nghia
Néu <Diéu kién> Dung Thi
Thực hiện <Khối lệnh A>
° <Điều kiện>: là 1 biểu thức logic, trả về true (Đúng) hoặc
false (Sai)
Trang 7TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 8TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° Dang 1: if
—Vi du: Kiém tra diém trung binh dé xét két qua dau hay rot
° Nếu điểm trung bình >=5 thì kết quả là đạt
Trang 9TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° 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ọ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:
° Trường hợp 1: được lên lớp (điểm trung bình >= 5.0)
° Trường hợp 2: không được lên lớp (điểm trung bình <= 5.0)
—2 trường hợp của bài toán trên loại trừ nhau, đề giải quyết
bai toan nay chung ta dung cau truc if else
Trang 10TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 11TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° Dạng 2: If else
—Y nghia
Nếu <Diéu kién> Dung Thi
Thực hiện <Khói lệnh A>
Ngược lại, <Điêu kiện> Sai
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
Trang 12TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 13TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° Dạng 2: If 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
Trang 14TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° Dạng 2: If 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 lai
Ngược lại là Được lên lớp và không phải thi lại
Console.WriteLine ("két qua dat");
Console.WriteLine ("ban khéng phai thi lai");
} else
{
Console.WriteLine ("két qua khéng dat");
Console.WriteLine ("ban vui long thi lai");
Trang 15
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° Dạng 2: If else
— Vị dụ 3: Lập trình cho phep nhập vào từ bản phím thông tin
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:
Trang 16TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° Dạng 2: If 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 thu <= 250 => don gia là 600 đồ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
Trang 17TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc rẽ nhánh - IF
° Dạng 2: If 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
dang Console Application, dat tén project la TinhTienDien
° Bước 2: trong hàm Main có thể khai báo các lệnh như sau
— Khai báo các biễn cần sử dụng
const int gial = 500, gia2=600, gia3=800, gia4=1000;
const int dml = 100, dm2=250, dm3=300;
Double t hanh £ len;
Trang 18TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Console.WriteLine ("Tinh tién điện”);
Console.Write ("Ho tên khách hàng: ”)});
string ma_dk = ConvertE.To8tring(Console ReadLine (}} ; Console.IWrite("Chỉ sô đâu: "};
Double esd = Convert.ToDouble (Console.ReadLlne (}});
Console.IWrite("Chỉ số cuôỗi: "};
Double ese = Convert.ToDouble (Console.ReadLlne (}};
Trang 19TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 20TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° 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ả.
Trang 21TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 22TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 23TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Lưu ÿ
— Có thê phối hợp các dạng if với nhau
— Câu trúc IF có thể lông nhau
` (<Điều kiện 1>) CW pie kia AS "¬ i IF Dang 17
<Tập lệnh A>
else if (<Diéu kién B>)
<Tập lệnh B>
else
<Tập lệnh n>
Trang 24TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Lưu ÿ
— Có thê phối hợp các dạng If với nhau
— Câu trúc IF có thể lông nhau
if (<Điều kiện 1>)
Trang 25
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 26TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 27TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Bai tap ap dung IF
—Bai 1: Két qua hoc tap
° Nhập vào điểm hoc ky 1 (HK1), hoc ky 2 (HK2)
° Tính và xuất ra diém trung binh (TB) = (HK1 + HK2*2 ) /3
° Dựa vào ĐTB xuất ra Kết quả và Xếp loại học lực với:
— Kết quả:
- Được lên lớp: nêu ĐTB >=5
= O lai lop : nếu ĐTB <5
Trang 28TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Bai tap ap dung IF
— Bài 2: Tìm số ngày của tháng
° Nhập vào Tháng và Năm
° Tính và xuất ra số ngày có trong Tháng và Năm được nhập
Trang 29TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Huong dan
— Bài 1: Xếp loại học tập
° Có thê sử dụng IF dạng 2 (lồng nhau) hoặc dạng 3
— Bài 2: Tìm số ngày của tháng
° Dùng toán tử || để kết hợp nhiều điều kiện trong IF
Trang 30TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Huong dan
— Bài 2: Tìm số ngày của tháng
°® Năm nhuân là năm:
— Chia hết cho 400 (nam % 400 == 0) Hoặc
— Chia hết cho 4 và không chia hết cho 100
(nam % 4 == 0 && Nam % 100 != 0)
° Vi du
— Nam 2000: nam nhuan vi nam chia hét cho 400
— Năm 1900: không nhuần vì năm chia hết cho 4 và chia hết 100
Trang 31TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 32TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
= Tim nghiệm theo Delta
Delta <0: Phương trình vô nghiệm Delta =0: Phương trình có nghiệm kép x1=x2=-b / 2a
_ —b + v/Delta
Delta >0: Phương trình có 2 nghiệm: đị2 — 2q
Trang 33TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Các cấu trúc điều khién
°-_ Câu trúc rẽ nhánh
° Toán tử điêu kiện 2
° Cau tric lwa chon switch
° Cau truc lap while, do, for, foreach
Trang 34TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Toan tu diéu kien - ?
° Toán tử 2? hoạt động tương tự như dạng 2 của cú
Trang 35TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Toán tử điều kiện - 2
° Ví dụ: Xét kết quả học tập dựa vào điểm trung
binh
° 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());
string ket_ qua = (dtb >= 5) ? "Được lên lớp“ : "Ở lại lớp”;
Console.WriteLine(“Kết quả: {0}, ket_ qua);
Trang 36TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Các cấu trúc điều khién
°-_ Câu trúc rẽ nhánh
° Toán tử điêu kiện 2
° Cau tric lwa chon switch
° Cau truc lap while, do, for, foreach
Trang 37TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc lựa chon — switch
° Công dụng
— Với câu trúc IF, khi có nhiều trường hợp can xét, ta sẽ
dùng toán tử || để nỗi các điều kiện -> phức tạp khi có quá nhiều điều kiện
—Do do co thé st dung cau truc chon switch dé thay thé cho câu trúc IF trong trường hợp này
Trang 38TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
default: _// các lệnh thực thi khi <biểu thức> không bằng bất kỳ
<gia tri> nao cua case
<Tập lệnh n>
break;
}
Trang 39TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc lựa chon — switch
° Y nghia
— case: Liét kê các trường hợp cân xét
— Giá trị ¡: chứa các giá trị cần so sánh với <biÊu thức>
— Tập lệnh x: được thực hiện khi biểu thức chọn lựa =
một trong sô các giá tri cua <Tap gia tri i>
Trang 40TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 41TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc lựa chon — switch
° Chú ý:
— Nếu như các trường hợp cân xét có cùng một tập giá trị
thì lần lượt liệt kê các trường hợp, sau đó mới viết tập giá
trị
Trang 42TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Vi du: Tính số ngày trong tháng
int thang = int.Parse(Console.ReadLine());
Trang 43TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 44TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 45TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Vi du: So sanh voi cach viet dung IF
int thang = int.Parse(Console.ReadLine());
int nam = int.Parse(Console.ReadLine());
if (thang==1 || thang==3 || thang==5 || thang==7 || thang==8 || thang==10 ||
thang==12)
Console.WriteLine(“Thang {0} có 31 ngày”, thang);
else if (thang==4 || thang==6 || thang==9 || thang== 11)
Console.WriteLine(“Thang {0} có 30 ngày”, thang);
else if (thang==2)
Ẳ
if (nam % 400==0) || (nam % 4==0 && nam % 100 !=0))
Console.WriteLine(“Thang {0} có 31 ngày”, thang);
else
Trang 46TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 47TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Ví dụ: Tính số ngày trong tháng
Console.Write("Nhap vao gia tri 1 > 12 :");
int n = Convert TolInt32 (Console ReadLine ());
{ case 2:
Console.WriteLine ("Thang nay có 28 ngày hoặc 29 ngày nêu năm nhuận ");
break;
case case case case case case case
Trang 48TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Bai tap ap dung switch
Ap dung switch cho cac bai tap sau
—Bai 1: Viết lại bài Tìm số ngày của thang sl dung switch
Trang 49TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
° Huong dan
— Bài 1: Tìm số ngày của tháng
° Dựa vào bài tập tính số ngày trong tháng đã viết bằng câu trúc
IF đê viêt lại băng câu truc switch
— Bài 2: Đọc số bằng chữ
° Đọc số dạng đơn giản (chỉ có 1 chữ số từ 0 > 9)
(Sau đó có thê nâng cấp đọc nhiều chữ só)
° Kiểm tra số hợp lệ trước khi đọc
— Bài 3: Tìm thứ trong tuần
° Dùng phương thức Date Time.Parse dé tạo ra 1 ngày từ các thành phân ngày, tháng, năm
° Dùng thuộc tính DayOfWeek của biến kiểu DateTime dé tim
thứ trong tuân.
Trang 50TRUONG DAI HOC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Các cấu trúc điều khién
°-_ Câu trúc rẽ nhánh
° Toán tử điêu kiện 2
° Cau tric lwa chon switch
° Cau truc lap while, do, for, foreach
Trang 51TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
— Bản chất của câu lệnh lặp while là trước tiên sẽ kiêm tra
biêu thức điêu kiện lặp, nêu kêt quả kiêm tra là :
° True : sẽ thực hiện một câu lệnh hay khối lệnh thuộc câu lệnh
while
° False : sẽ chấm dứt câu lệnh while và chuyên đến câu lệnh
tuân tự kê tiêp.
Trang 52TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Trang 53TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Câu trúc lap — while
° Y nghia
— Điêu kiện lặp: là biéu thc logic, tra vé true/false
— Tập lệnh: chỉ có thê được thực hiện và lặp nêu và chỉ nêu
<Điêu kiện lặp> = true
— break: thoát khỏi vòng lặp
— continue: quay trở lên kiểm tra điêu kiện của vòng lặp khi
cân
Trang 54TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Cau truc lap — while
° Sơ đô hoạt động:
False
<
Thoát khỏi vòng lặp
Trang 55TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
tong += I; // <> tong =tong + I
/ITăng i > tac động đến điêu kiện lặp
| ++:
}
Console.WriteLine(“Tông các số nguyên từ 1=> 100: {01”, tong);
Trang 56TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
tong += 1; // © tong =tong + |;
/¡ Tăng ¡ lên 2 để có được những số lẻ
Trang 57
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TAM TIN HOC
Cau truc lap — while
° Vi dụ 3: Tim số nguyên lớn nhất trong khoảng từ
1 đến 100 chia hết cho n (0<n<=100)
Int i=100, max;
while (i >= 1) { if (i %n==0)
{
max = I:
break; //thoat khdi vong lap