Câu lệnh if dạng 2 (if else)

Một phần của tài liệu Tài liệu học tập môn Tin cơ sở: Phần 1 - Phùng Thị Thu Hiền (Trang 89 - 91)

a. Cú pháp

if (<điều kiện>) { khối lệnh 1; } else { khối lệnh 2; }

Trong đó

- <điều kiện> thường là biểu thức logic.

- Phần else là không bắt buộc phải có. Câu lệnh if không có phần else được gọi là câu lệnh “if thiếu”.

- <khối lệnh 1>, <khối lệnh 2> là câu lệnh hợp lệ bất kỳ: câu lệnh đơn, hoặc câu lệnh ghép, hoặc câu lệnh điều khiển.

b. Ý nghĩa

Nếu < điều kiện > thỏa mãn thì thực hiện <khối lệnh 1> ở phần if, còn ngược lại thì thực hiện < khối lệnh 2> ở phần else.

Như vậy chỉ < khối lệnh1> hoặc < khối lệnh 2> được thực hiện mà thôi.

Lệnh if elsethực hiện như sau:

B1: Kiểm tra điều kiện.

B2: Nếu < điều kiện > đúng thì <khối lệnh 1> được thực hiện.

Còn ngược lại, nếu < điều kiện > sai thì < khối lệnh 2> được thực hiện (nếu có). B3: Chuyển quyền điều khiển sang câu lệnh kế tiếp sau lệnh if.

Ví dụ 4.4a: câu lệnh if dạng 2 if (x==10)

cout << "x bang 10"; else

cout << "x khac 10";

<Điều kiện> False

Khối lệnh 1

<Lệnh>

82 Ví dụ 4.4b: câu lệnh if lồng nhau if (x> 0) cout << "x la so duong"; else if (x< 0) cout << "x la so am"; else cout << "x bang 0"; c. Lưu đồ

Hình 11: Sơ đồ hoạt động của lệnh if dạng 2.

Chú ý:

Đặc điểm chung của các câu lệnh có cấu trúc là bản thân nó chứa các câu lệnh khác. Điều này cho phép các câu lệnh if có thể lồng nhau.

Nếu nhiều câu lệnh if (có else và không else) lồng nhau việc hiểu if và else nào đi với nhau cần phải chú ý. Qui tắc là else sẽ đi với if gần nó nhất mà chưa được ghép cặp với else khác.

Ví dụ 4.5: Viết chương trình nhập vào 2 số nguyên, in ra kết quả của các phép toán: cộng, trừ, nhân, chia của 2 số nguyên đó.

#include <iostream> #include <conio.h> #include <math.h> using namespace std; int main() { int a, b;

cout<<"Ban hay nhap 2 so nguyen: “; <Điều kiện> False

Khối lệnh 1

<Lệnh>

True

Khối lệnh 2

83 cin>>a>>b;

cout<<”Tong cua 2 so vua nhap la: ”<<a+b<<”\n”; cout<<”Hieu cua 2 so vua nhap la: ”<<a-b<<”\n”; cout<<”Tich cua 2 so vua nhap la: ”<<a*b<<”\n”; if (b!=0)

cout<<”Thuong cua 2 so vua nhap la: ”<<a/b; return 0;

}

Ví dụ 4.6: Giải phương trình bậc hai: ax2 + bx + c = 0 (a ≠ 0). #include <iostream> #include <conio.h> #include <math.h> using namespace std; int main() { float a, b, c; float delta; float x1, x2; // 2 nghiem

cout << “Nhap a, b, c:\n” ; cin >> a >> b >> c ; // qui ước nhập a ≠ 0 delta = b*b - 4*a*c ;

if (delta < 0) cout << “phuong trinh vo nghiem\n” ;

else if (delta==0) cout<<“phuong trinh co nghiem kep:" << -b/(2*a) << '\n'; else

{

x1 = (-b+sqrt(delta))/(2*a); x2 = (-b-sqrt(delta))/(2*a);

cout << “nghiem 1 = " << x1 << " và nghiem 2 = " << x2 ; }

}

Một phần của tài liệu Tài liệu học tập môn Tin cơ sở: Phần 1 - Phùng Thị Thu Hiền (Trang 89 - 91)

Tải bản đầy đủ (PDF)

(100 trang)