Bài 4. Cấu trúc rẽ nhánh (IF)

Cấu trúc rẽ nhánh (if..else..)

Cấu trúc này được dùng khi một lệnh hay một khối lệnh chỉ được thực hiện khi một điều kiện nào đó thoả mãn.


Cú pháp:

- Cấu trúc if đơn:  

       if (bieu thuc dieu kien)     
       {
            khối lệnh;...
       }

     
- Cấu trúc if / else:  
     

if (bieu thuc dieu kien)
   {
      Khối lệnh 1;...;
   }
else
   {
      Khối lệnh 2;...;
   }

- Cấu trúc if lồng nhau: trong trường hợp Khối lệnh chính là cấu trúc if khác.


Ví dụ

Ví dụ 1: Nhập vào 3 số nguyên. In ra màn hình số lớn nhất, nhỏ nhất.

namespace VD1{
 class Program{
   static void Main(string[] args){
       int a, b, c;
       Console.Write("Nhap so thu 1: "); a = int.Parse(Console.ReadLine());
       Console.Write("Nhap so thu 2: "); b = int.Parse(Console.ReadLine());
       Console.Write("Nhap so thu 3: "); c = int.Parse(Console.ReadLine());
       // tim max
       int max = a;
       if (max < b) max = b;
       if (max < c) max = c;
       Console.Write("\nSo lon nhat: " + max); 
       // tim min
       int min = a;
       if (min > b) min = b;
       if (min > c) min = c;
       Console.Write("\nSo nho nhat: " + min);
       Console.ReadLine();
   }
 }
}

Ví dụ 2: Giải phương trình bậc nhất 1 ẩn ax+b=0, với a, b nhập vào từ bàn phím.

namespace GiaiPTBac1{
  class Program{
    static void Main(string[] args){
     float a, b;
     Console.Write("Nhap a: "); a = int.Parse(Console.ReadLine());
     Console.Write("Nhap b: "); b = int.Parse(Console.ReadLine());
     // Giai va bien luan
     if (a==0)
       if (b==0)
          Console.Write("\nPhuong trinh vo so nghiem"); 
       else
          Console.Write("\nPhuong trinh vo nghiem"); 
     else{
          float x=-b/a;
          Console.Write("\nPhuong trinh co 1 nghiem x= " +x); 
     }
     Console.ReadLine();
    }
  }
}

Ví dụ 3: Giải và biện luận phương trình bậc 2 một ẩn ax^2 + bx +c = 0, với a, b, c nhập vào từ bàn phím.

namespace GiaiPTBac2{
  class Program{
    static void Main(string[] args){
     float a, b, c;
     Console.Write("Nhap a: "); a = int.Parse(Console.ReadLine());
     Console.Write("Nhap b: "); b = int.Parse(Console.ReadLine());
     Console.Write("Nhap c: "); c = int.Parse(Console.ReadLine());
     // Giai va bien luan 
     if (a == 0)
       if (b == 0)
          if (c == 0)
             Console.Write("\nPhuong trinh vo so nghiem");
          else
             Console.Write("\nPhuong trinh vo nghiem");
       else{
          float x = -c / b;
          Console.Write("\nPhuong trinh co 1 nghiem x= " + x);
       }
     else {
       float delta = b * b - 4 * a * c;
       if (delta < 0)
          Console.Write("\nPhuong trinh vo nghiem");
       if (delta == 0)
          Console.Write("\nPhuong trinh co nghiem kep, x1=x2= " + -b / (2 * a));
       if (delta > 0){
         float x1 = (-b - (float)Math.Sqrt(delta)) / (2 * a);
         float x2 = (-b + (float)Math.Sqrt(delta)) / (2 * a);
         Console.Write("\nPhuong trinh co 2 nghiem, x1= " + x1 + "; x2= " + x2);
       }
     }
     Console.ReadLine();
    }
  }