PowerPoint Presentation Nhập môn về lập trình (C4) Slide * Chương 4 Lệnh if else Lệnh switch Presenter Nhập môn về lập trình (C4) Slide * Learning outcomes L O 3 1 – Liệt kê được các kiểu điều khiển[.]
Trang 1Chương 4
Lệnh if-else
Lệnh switch
Presenter:
Trang 2Nhập môn về lập trình (C4) Slide 2
Learning outcomes
L.O.3.1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô
tả chúng
L.O.3.2 – Mô tả được được nguyên tắc kết hợp các kiểu
điều khiển để mô tả các giải thuật
L.O.3.3 – Hiện thực được các kiểu điều khiển bằng ngôn
ngữ C
L.O.3.4 – Sử dụng các cấu trúc điều khiển để giải quyết bài
toán thực tế
Trang 4 Có ba cấu trúc điều khiển thứ tự thực thi chính
• Cấu trúc tuần tự (sequence structure)
• Cấu trúc lựa chọn (selection structure)
• Cấu trúc lặp (repetition structure)
Trang 5Cấu trúc tuần tự
Trừ khi được hướng dẫn khác đi, các lệnh C# sẽ thực hiện tuần tự từ trên xuống
Trang 6Nhập môn về lập trình (C4) Slide 6
Cấu trúc lựa chọn
Câu lệnh lựa chọn có 3 loại:
• Câu lệnh lựa chọn đơn
Chọn hoặc không chọn thực hiện hành động
• Câu lệnh lựa chọn kép
Chọn giữa hai hành động để thực hiện
• Câu lệnh đa lựa chọn
Chọn một trong nhiều hành động khác nhau
Trang 7Câu lệnh lựa chọn đơn
“Nếu điểm số từ 5 điểm trở lên, in ra thông báo Đã đậu”
Trang 9Câu lệnh lựa chọn đơn
Một điều kiện là biểu thức mang giá trị đúng hoặc sai
Câu lệnh if cho phép ứng dụng ra quyết định dựa trên giá trị của điều kiện
Nếu điều kiện trong câu lệnh if là đúng, thân câu lệnh if
sẽ thực hiện Nếu sai, thì không thực hiện
Trang 11Điều kiện lựa chọn
Toán tử so sánh:
Toán tử so sánh được sử dụng để so sánh hai toán hạng, xem chúng bằng nhau hay khác nhau, hay toán hạng thứ nhất lớn hơn toán hạng thứ hai, hoặc ngược lại
Phép toán so sánh sẽ trả về giá trị đúng (true) hoặc sai (false)
Trang 14Nhập môn về lập trình (C4) Slide 14
Toán tử so sánh
key = ‘m’
Trang 15Câu lệnh lựa chọn đơn
Trang 16Nhập môn về lập trình (C4) Slide 16
Câu lệnh lựa chọn đơn
Trang 17Câu lệnh lựa chọn kép
Xác định hành động thực hiện khi điều kiện đúng, và
thực hiện hành động khác khi điều kiện sai
nểu điểm lớn hơn hoặc bằng 5
Trang 18Nhập môn về lập trình (C4) Slide 18
Câu lệnh lựa chọn kép
Trang 19Ví dụ
Viết chương trình tính
thuế
• Nhập vào thu nhập
• Căn cứ vào giá trị thu nhập
để tính giá trị thuế tương ứng
taxable <=
CUTOFF?
taxes = HIGHRATE*(taxable – CUTOFF) + FIXEDAMT
taxes = LOWRATE*taxable
Output taxes
Yes
No
Trang 20Nhập môn về lập trình (C4) Slide 20
Ví dụ
void main()
{
float taxable, taxes;
printf("Please type in the taxable income: ");
Trang 21Ví dụ
Trang 22Nhập môn về lập trình (C4) Slide 22
Ví dụ
const float CUTOFF = 20000;
const float LOWRATE = 0.02;
const float HIGHRATE = 0.025;
const float FIXEDATM = 400;
void main()
{
float taxable, taxes;
printf("Please type in the taxable income: ");
scanf("%f", &taxable);
if(taxable <= CUTOFF)
taxes = LOWRATE * taxable;
else
taxes = HIGHRATE * (taxable - CUTOFF) + FIXEDATM;
printf("Taxes are $%.2f", taxes);
}
Trang 24Nhập môn về lập trình (C4) Slide 24
Toán tử điều kiện
C cung cấp toán tử điều kiện (?:) có thể thay thế cho câu lệnh if else
Là toán tử ba ngôi
Toàn bộ toán hạng và toán tử tạo nên biểu thức điều
kiện
Trang 25Biểu thức điều kiện
Biểu thức điều kiện sử dụng toán tử ? : để cung cấp giá trị
Trang 26Nhập môn về lập trình (C4) Slide 26
Biểu thức điều kiện
Toán hạng đầu là biểu thức boolean
• Biểu thức trả về giá trị true hoặc false
Toán hạng 2 là giá trị của biểu thức điều kiện nếu biểu
thức boolean là true
Toán hạng 3 là giá trị của biểu thức điều kiện nếu biểu
thức boolean là false
Trang 27Biểu thức điều kiện
taxes = (taxable <= CUTOFF) ? LOWRATE * taxable:
Trang 28Nhập môn về lập trình (C4) Slide 28
Khối lệnh
Previous statement
Is condition true ?
Statement 1 Statement 2
No
Yes
Trang 29Khối lệnh
Biểu thức if chỉ chấp nhận một câu lệnh trong thân
Để thực hiện nhiều lệnh, đặt các lệnh vào giữa cặp dấu ngoặc móc ({ }), gọi là khối (block)
Khối có thể được đặt ở bất cứ đâu để thay thế cho câu lệnh đơn
Trang 31Cấu trúc lựa chọn if-else
Cú pháp và vận hành
Cho phép dựa vào giá trị luận lý đúng/sai để quyết định thi hành 1 trong 2 nhánh lệnh và bỏ qua nhánh còn lại
Cú pháp:
• condition là biểu thức luận lý miêu tả điều kiện cần kiểm tra.
• statement1 ( statement2 ) là lệnh thực thi (nếu muốn dùng nhiều lệnh thì đặt trong dấu ghép { } ).
• Khi chạy, nếu condition có giá trị đúng thì làm statement1 , ngược lại làm statement2
• Dấu [ ] cho biết lệnh if có thể không có else và statement2.
Lệnh if có thể được viết trên cùng 1 dòng hay trên nhiều
if (condition) statement1 [else statement2]
Trang 32Nhập môn về lập trình (C4) Slide 32
Cấu trúc lựa chọn if-else
Lưu đồ vận hành
Lưu đồ giải thích hoạt động của lệnh if else
condition
statement1
Sai Đúng
Không có else
Trang 33Cấu trúc lựa chọn if-else
Trang 34statement 2 //thực hiện nếu expression 1 = false và
statement 3 //thực hiện nếu expression 1 = false và
expression 2 = false
Trang 38Nhập môn về lập trình (C4) Slide 38
Ví dụ
Trang 40else if ( grade >= 8 )
Console.WriteLine( "B" );
else if ( grade >= 7 )
Console.WriteLine( "C" );
else if ( grade >= 6 )
Console.WriteLine( "D" );
else
Console.WriteLine( “E" );
Trang 41if-else lồng nhau
Khi có nhiều điều kiện, có thể dùng if-else lồng nhau
<đ.kiện1> ?
M lệnh
Sai Đúng
Trang 42Nhập môn về lập trình (C4) Slide 42
if-else lồng nhau
Ví dụ
Tìm số lớn nhất trong 3 số nhập vào
Trang 43Ghép điều kiện bằng toán tử luận lý
Ta có thể dùng toán tử luận lý để ghép các điều kiện lại
và giảm bớt số lệnh if-else sử dụng trong ví dụ trên
Trang 44Nhập môn về lập trình (C4) Slide 44
Câu lệnh đa lựa chọn switch
Nhập một số (trong phạm vi từ 1 đến 5) sau đó in ra từ tiếng Anh tương ứng
1 (one), 2 (two), 3 (three), 4 (four), 5 (five)
Trang 45Câu lệnh đa lựa chọn switch
Trang 46Nhập môn về lập trình (C4) Slide 46
Câu lệnh đa lựa chọn switch
Trang 47Câu lệnh đa lựa chọn switch
Trang 48Nhập môn về lập trình (C4) Slide 48
Câu lệnh đa lựa chọn switch
Thực hiện các hành động khác nhau tùy vào giá trị của một biểu thức
• Biểu thức hằng nguyên hoặc hằng chuỗi
Nhắc lại câu lệnh if lồng nhau
Trang 49Câu lệnh đa lựa chọn switch
Trang 50Nhập môn về lập trình (C4) Slide 50
Câu lệnh đa lựa chọn switch
Ứng dụng tính toán biểu thức trong ngoặc sau từ khóa
switch, biểu thức switch
So sánh giá trị của biểu thức switch với các nhãn case
Nếu có trùng, ứng dụng thực thi các lệnh tại case đó
Khi gặp lệnh break, ứng dụng thực thi tiếp câu lệnh ngay dưới lệnh switch
Trang 51Câu lệnh đa lựa chọn switch
móc
bắt buộc
Trang 52Nhập môn về lập trình (C4) Slide 52
Câu lệnh đa lựa chọn switch
Trong các nhãn case, bắt buộc phải có break, hoặc
return
Nếu giá trị biểu thức switch và nhãn case không trùng nhau, lệnh trong nhãn default sẽ được thực thi
Nếu switch không có cả nhãn default, ứng dụng
chuyển sang lệnh tiếp sau lệnh switch
Trang 53Cấu trúc lựa chọn switch
Trang 54Nhập môn về lập trình (C4) Slide 54
Cấu trúc lựa chọn switch
Lưu đồ vận hành
Trang 55Cấu trúc lựa chọn switch
Ví dụ
Trang 56Nhập môn về lập trình (C4) Slide 56
Cấu trúc lựa chọn switch
Kết quả chạy ví dụ
Trang 57if-else đối với switch
if ( cond ) state1 else state2 ;
switch ( cond )
{ case 1 : state1 ; break;
case 2 : state2 ; break;
Trong C++, 2 lệnh if-else và switch là tương đương nhau, if-else có thể thay thế switch và ngược lại :
switch ( cond ) { case 0 : state2 ; break;
default : state1 ; }