CẤU TRÚC IF, IF - ELSE
Mục tiêu:
- Sử dung được cấu trúc IF, IF-ELSE trong lập trình
- Nhận biết và sửa được các lỗi cú pháp phổ biến khi dùng IF, IF-ELSE
Trong phần 4 chúng ta đã tìm hiểu và sử dụng toán tử điều kiện (TTĐK)
<biểu thức 1> ? <biểu thức 2> : <biểu thức 3>. Tuy nhiên TTĐK có nhược điểm khi <biểu thức 1> hay <biểu thức 2> có nhiều lệnh thì việc trình bày các lệnh sẽ gặp khó khăn.
Trong phần này chúng ta sẽ học cách sử dụng cấu trức IF, IF-ELSE.
Cấu trúc IF:
Cú pháp:
if (điều kiện)
<lệnh>;
- if: là từ khóa, viết thường
- điều kiện: phải để trong (), sử dụng các toán tử so sánh (==, !=, >, >=, <, <= ), toán tử logic (&&, ||)
- lệnh: là lệnh sẽ được thực hiện nếu "điều kiện" đúng. Nếu là lệnh phức (từ hai lệnh trở lên) thì các lệnh phải đặt trong cặp dấu {}.
Ví dụ 1: viết chương trình nhập vào một số nguyên, sau đó cho biết đây là số âm hay số dương hay số bằng 0
Ví dụ 2: Viết chương trình nhập hai số thực a, b. Nếu b khác 0 xuất lên màn hình kết quả a/b.
CẤU TRÚC IF-ELSE:
Cú pháp:
if(điều kiện)
<lệnh 1>;
else
<lệnh 2>;
- if, else là từ khóa phải viết thường
- điều kiện: phải để trong (), sử dụng các toán tử so sánh (==, !=, >, >=, <, <= ), toán tử logic (&&, ||)
- lệnh 1: là lệnh sẽ được thực hiện nếu "điều kiện" đúng (được thoả mãn) . - lệnh 2: là lệnh sẽ được thực hiện nếu điều kiện sai.
Lưu ý: nếu lệnh 1, lệnh 2 có từ 2 lệnh trở lên thì các lệnh phải đặt trong cặp dấu ngoặc {}.
Ví dụ 3: Viết lại ví dụ 1 theo cấu trúc IF-ELSE
Bài tập nhanh: Các bạn hãy nhận xét chương trình viết theo "ví dụ 1" và "ví dụ 3" cách nào tốt hơn.
Lỗi thường gặp khi sử dung IF, IF-ELSE
Lỗi
|
Thông
báo
|
Thiếu một dấu = khi so
sánh “bằng” trong điều kiện if ví dụ:
if (a=1) thay vì if (a==1)
|
Trường hợp này chương
trình vẫn chạy, nhưng dẫn đến kết quả sai à lỗi này gọi là lỗi logic và rất khó phát
hiện.
|
Lệnh của
if có từ 2 lệnh trở lên nhưng không đặt vào cặp dấu {
}
|
Trường hợp này cũng gây
ra lỗi logic như trên (chương trình cho kết quả sai)
|
Lệnh của
cấu trúc IF-ELSE có từ 2 lệnh trở lên nhưng không đặt vào cặp dấu {}
|
Trương hợp này sẽ gậy ra
lỗi cú
pháp (nếu lệnh của phần if
không đặt vào dấu {}) hoặc lỗi logic (nếu
lệnh của phần else
không đặt vào dấu {})
|
Bài tập:
Bài 1: Cho thuật toán tính diện tích hình chữ nhật với
độ dài hai cạnh là a,b (Table 1) và mã nguồn hiện thực thuật toán trong Table
2. Tuy nhiên thứ tự của các dòng trong bảng mã nguồn đã xáo trộn. Hãy sắp xếp lại
các dòng theo đúng trình tự của mã nguồn:
Bài 2: Bên dưới là thuật toán cho bài toán tính diện
tích hình tam giác với độ dài ba cạnh là a,b, c nếu a, b, c đúng là độ dài 3 cạnh
của một tam giác (Table 3) và mã nguồn hiện thực thuật toán (Table 4). Tuy
nhiên thứ tự của các dòng trong bảng mã nguồn đã xáo trộn. Hãy sắp xếp lại các
dòng theo đúng trình tự của mã nguồn:
Bài 3: Bên dưới là thuật toán cho bài toán giải và biện
luận phương trình bậc I (Table 5) . và mã nguồn hiện thực thuật toán (Table 6) Tuy nhiên thứ tự của các dòng trong bảng mã
nguồn đã xáo trộn. Hãy sắp xếp lại các dòng theo đúng trình tự của mã nguồn:
Bài 4: Bên dưới là thuật toán cho bài toán giải và biện luận phương trình bậc II (Table 7) và mã nguồn hiện thực thuật toán (Table 8) Tuy nhiên thứ tự của các dòng trong bảng mã nguồn đã xáo trộn. Hãy sắp xếp lại các dòng theo đúng trình tự của mã nguồn:
Bài 5: Cài đặt các chương trình trên bằng
Cfree
Bài 6: Viết mã nguồn cho các bài tập: 2, 3, 4, 8, 9, 10 trong bài tập phần 3
Không có nhận xét nào:
Đăng nhận xét