Tuyên bố quyết định

Ra quyết định là rất quan trọng đối với lập trình máy tính. Sẽ có nhiều tình huống khi bạn được cung cấp hai hoặc nhiều lựa chọn và bạn sẽ phải chọn một tùy chọn dựa trên các điều kiện đã cho. Ví dụ: chúng tôi muốn in một nhận xét về một học sinh dựa trên các điểm được bảo đảm của anh ta. Sau đây là tình huống -

Assume given marks are x for a student:

If given marks are more than 95, then
Student is brilliant

If given marks are less than 30, then
Student is poor

If given marks are less than 95 and more than 30, then
Student is average

Bây giờ, câu hỏi là làm thế nào để viết một mã lập trình để xử lý những tình huống như vậy. Hầu như tất cả các ngôn ngữ lập trình đều cung cấp các câu lệnh điều kiện hoạt động dựa trên sơ đồ sau:

Hãy viết một chương trình C với sự trợ giúp của if conditional statements để chuyển đổi tình huống đã cho ở trên thành mã lập trình -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   }
   if( x < 30) {
	
      printf( "Student is poor\n");
   }
   if( x < 95 && x > 30 ) {
	
      printf( "Student is average\n");
   }
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Student is average

Chương trình trên sử dụng if conditional statements. Đây, cái đầu tiênif statementkiểm tra điều kiện đã cho tức là biến x có lớn hơn 95 hay không và nếu nó thấy điều kiện là đúng, thì phần thân điều kiện được nhập để thực hiện các câu lệnh đã cho. Ở đây chúng ta chỉ có một câu lệnh printf () để in một nhận xét về học sinh.

Tương tự, thứ hai if statementlàm. Cuối cùng, thứ baif statement được thực thi, ở đây chúng ta có hai điều kiện sau:

  • Điều kiện đầu tiên là x > 95

  • Điều kiện thứ hai là x < 30

Máy tính đánh giá cả hai điều kiện đã cho và sau đó, kết quả tổng thể được kết hợp với sự trợ giúp của toán tử nhị phân &&. Nếu kết quả cuối cùng là true thì câu lệnh điều kiện sẽ được thực hiện, ngược lại sẽ không có câu lệnh nào được thực hiện.

Hướng dẫn này sẽ cung cấp cho bạn ý tưởng cơ bản về các dạng khác nhau của if statements và giới thiệu về switchcâu lệnh có sẵn trong ngôn ngữ lập trình C. Các ngôn ngữ lập trình khác nhau cung cấp các loại câu lệnh ra quyết định khác nhau, nhưng khái niệm cơ bản vẫn giống như được giải thích trong hướng dẫn này.

câu lệnh if ... else

An if câu lệnh có thể được theo sau bởi một tùy chọn elsecâu lệnh này thực thi khi biểu thức Boolean sai. Cú pháp của mộtif...else câu lệnh trong ngôn ngữ lập trình C là:

if(boolean_expression) {
   
   /* Statement(s) will execute if the boolean expression is true */
} else {
  
  /* Statement(s) will execute if the boolean expression is false */
}

Cú pháp trên có thể được biểu diễn dưới dạng một sơ đồ như hình dưới đây:

An if...elsetuyên bố hữu ích khi chúng ta phải đưa ra quyết định trong số hai lựa chọn. Ví dụ, nếu một học sinh đạt được nhiều điểm hơn 95, thì học sinh đó xuất sắc, nếu không thì không thể mã hóa tình huống như vậy, như sau:

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   } else {
      printf( "Student is not brilliant\n");
   }
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Student is not brilliant

câu lệnh if ... elseif ... else

An if câu lệnh có thể được theo sau bởi một tùy chọn else if...else , rất hữu ích để kiểm tra các điều kiện khác nhau.

Trong khi sử dụng if, else if, else , có một số điểm cần lưu ý -

  • An if có thể không có hoặc một else's và nó phải đến sau một else if.

  • An if có thể có từ 0 đến nhiều else…if's và họ phải đến trước else.

  • Một lần else…if thành công, không ai trong số còn lại else…if's hoặc là else's sẽ được kiểm nghiệm.

Cú pháp của một if...else if...else câu lệnh trong ngôn ngữ lập trình C là:

if(boolean_expression 1) {

   /* Executes when the boolean expression 1 is true */
}
else if( boolean_expression 2) {

   /* Executes when the boolean expression 2 is true */
}
else if( boolean_expression 3) {

   /* Executes when the boolean expression 3 is true */
} else {
   
   /* Executes when the none of the above condition is true */
}

Bây giờ với sự giúp đỡ của if...elseif...else tuyên bố, chương trình đầu tiên có thể được mã hóa như sau:

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
      printf( "Student is brilliant\n");
   } 
   else if( x < 30) {
      printf( "Student is poor\n");
   } 
   else if( x < 95 && x > 30 ) {
      printf( "Student is average\n");
   }
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Student is average

Tuyên bố chuyển đổi

A switch tuyên bố là một sự thay thế của if statementscho phép một biến được kiểm tra tính bình đẳng với danh sách các giá trị. Mỗi giá trị được gọi làcasevà biến đang được bật được kiểm tra cho từng trường hợp chuyển mạch. Nó có cú pháp sau:

switch(expression){
   case ONE :
      statement(s);
      break;
   case TWO:
      statement(s);
      break;
   ......
   
   default :
      statement(s);
}

Các expression được sử dụng trong một switchcâu lệnh phải cho một giá trị số nguyên, giá trị này sẽ được so sánh để bình đẳng với các trường hợp khác nhau đã cho. Bất cứ khi nào giá trị biểu thức khớp với giá trị trường hợp, phần thân của trường hợp đó sẽ được thực thi và cuối cùng, công tắc sẽ được kết thúc bằng cách sử dụngbreaktuyên bố. Nếu không có câu lệnh break nào được cung cấp, thì máy tính sẽ tiếp tục thực hiện các câu lệnh khác có sẵn bên dưới cho trường hợp phù hợp. Nếu không có trường hợp nào phù hợp, thì phần thân trường hợp mặc định sẽ được thực thi.

Cú pháp trên có thể được biểu diễn dưới dạng một sơ đồ như hình dưới đây:

Bây giờ, hãy xem xét một ví dụ khác mà chúng ta muốn viết từ tiếng Anh tương đương cho một số nhất định. Sau đó, nó có thể được mã hóa như sau:

#include <stdio.h>

int main() {
   int x = 2;
   
   switch( x ){
      case 1 :
         printf( "One\n");
         break;
      case 2 :
         printf( "Two\n");
         break;
      case 3 :
         printf( "Three\n");
         break;
      case 4 :
         printf( "Four\n");
         break;
      default :
         printf( "None of the above...\n");
   }
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Two

Quyết định trong Java

Sau đây là chương trình tương đương được viết bằng Java cũng hỗ trợ if, if...else, if...elseif...elseswitch các câu lệnh.

Bạn có thể thử thực hiện chương trình sau để xem kết quả đầu ra phải giống với kết quả được tạo bởi ví dụ C ở trên.

public class DemoJava {
   public static void main(String []args) {
      int x = 45;
   
      if( x > 95) {
         System.out.println( "Student is brilliant");
      } 
      else if( x < 30) {
         System.out.println( "Student is poor");
      } 
      else if( x < 95 && x > 30 ) {
         System.out.println( "Student is average");
      }
   }
}

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Student is average

Quyết định bằng Python

Sau đây là chương trình tương đương được viết bằng Python. Python cung cấpif, if...else, if...elif...elseswitchcác câu lệnh. Ở đây, bạn phải lưu ý rằng Python không sử dụng dấu ngoặc nhọn cho phần thân có điều kiện, thay vào đó, nó chỉ đơn giản xác định phần thân của khối bằng cách sử dụng thụt đầu dòng của các câu lệnh.

Bạn có thể thử thực hiện chương trình sau để xem kết quả:

x = 45

if x > 95:
   print "Student is brilliant"
elif x < 30:
   print "Student is poor"
elif x < 95 and x > 30:
   print "Student is average"

print "The end"

Khi chương trình trên được thực thi, nó tạo ra kết quả sau:

Student is average
The end