MỞ ĐẦU
CĂN BẢN
LỆNH RẺ NHÁNH
VÒNG LẶP
NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Lệnh CASE trong Pascal

Ở bài trước mình đã hướng dẫn sử dụng lệnh if dùng để rẻ nhánh chương trình trong Pascal. Vậy thì trong bài này ta sẽ tiếp tục học một lệnh khác cũng có công dụng rẻ nhánh tương tự, đó là lệnh CASE.

Lưu ý: Lệnh CASE ít khi được sử dụng để lập trình hơn trong thực tế, thay vào đó người ta sẽ sử dụng lệnh if để thay thế.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Lệnh CASE trong Pascal là gì?

Nếu lệnh if-then-else dùng để rẻ chương trình thành nhiều hướng khác nhau thì lệnh CASE cũng có chức năng tương tự. Nghĩa là bạn có thể sử dụng CASE để điều hướng code thành nhiều nhánh khác nhau.

Cú pháp của CASE như sau:

case (expression) of
   L1 : S1;
   L2: S2;
   ...
   ...
   Ln: Sn;
end;

Trong đó:

  • Case, ofend là 3 từ khóa bắt buộc phải có. Cuối lệnh end phải có cặp dấu chấm phẩy ;.
  • L1, L2, ..., Ln là những trường hợp có thể xảy ra của chương trình.

Hãy xem một ví dụ dưới đây để hiểu hơn về CASE.

program checkCase;
var
   level: char;
begin
   level := 'A';

   case (level) of
      'A' : writeln('Level A!' );
      'B', 'C': writeln('Level B' );
      'D' : writeln('Level D' );
      'F' : writeln('Level F' );
   end;     
   
   writeln('Level cua ban la:  ', grade );
end.

Chạy chương trình này bạn sẽ thu được kết quả như sau:

Kết quả
Level A!
Level cua ban la: A

2. Lệnh CASE ... ELSE trong Pascal

Trong lệnh if có dòng ELSE dùng để xử lý mặc định nếu những điều kiện ở phía trên không đúng. Trong CASE cũng vậy, bạn có thể bổ sung lệnh này để thực hiện những đoạn code sẽ xảy ra nếu những nhánh trên không thỏa yêu cầu. Cú pháp như sau:

case (expression) of
   L1 : S1;
   L2 : S2;
   ...
   ...
   Ln: Sn;
else
   Sm;
end;

Quay lại ví dụ trên, ta sẽ thực hiện lại có kèm lệnh ELSE như sau:

program checkCaseElse;
var
   level: char;
begin
   level := 'A';

   case (level) of
      'A' : writeln('Level A!' );
      'B', 'C': writeln('Level B' );
      'D' : writeln('Level D' );
      'F' : writeln('Level F' );
   else
       writeln('Ban nhap level sai roi');
   end;     
   
   writeln('Level cua ban la:  ', grade );
end.

Nếu bạn thay đổi giá trị ở dòng level := 'A' thành một giá trị khác ngoài (A, B, D, F) thì sẽ xuất hiện dòng 'Ban nhap level sai roi'.

3. Nested CASE trong Pascal

Nested CASE hay còn gọi là CASE lồng nhau. Thực ra đây cũng là một lệnh rẻ nhánh, vì vậy bạn có thể lồng nó vào nhau để tạo ra một chương trình có rất nhiều nhánh. Tuy nhiên lời khuyên là nếu chương trình cần phải sử dụng CASE lồng nhau thì bạn hãy chuyển sang sử dụng IF vì nó rõ ràng và tường minh hơn.

Hãy xem ví dụ dưới đây để biết cách sử dụng CASE lồng nhau.

program checknestedCase;
var
   a, b: integer;
begin
   a := 100;
   b := 200;
   
   case (a) of
      100: begin
         writeln('Gia tri a la 100' );
         case (b) of
            200: writeln('Gia tri b la 200' );
            end;
         end; 
      end;
end.

Case b chỉ xảy ra khi a có giá trị là 100. Bạn hãy thay đổi giá trị của từng biến để chạy và xem kết quả nhé.

Như vậy là mình đã giới thiệu xong cách sử dụng lệnh CASE trong Pascal. Đây là lệnh xếp thứ hai sau lệnh If, trong danh sách những lệnh rẻ nhánh của Pascal.

Cùng chuyên mục:

Tạo function trong Pascal

Tạo function trong Pascal

Trong bài này ta sẽ học đến một phần rất hấp dẫn, đó là cách…

Lệnh Goto trong Pascal

Lệnh Goto trong Pascal

Trong bài này mình sẽ giới thiệu đến các bạn lệnh goto trong Pascal, đây…

Lệnh Continue trong Pascal

Lệnh Continue trong Pascal

Trong bài này chúng ta sẽ tìm hiểu lệnh continue trong Pascal, đây là lệnh…

Lệnh Break trong Pascal

Lệnh Break trong Pascal

Trong bài này mình sẽ tìm hiểu lệnh dùng để dừng vòng lặp ngay lập…

Vòng lặp Repeat .. Until trong Pascal

Vòng lặp Repeat .. Until trong Pascal

Trong bài này mình sẽ giới thiệu vòng lặp repeat .. until trong Pascal, đây…

Vòng lặp while trong Pascal

Vòng lặp while trong Pascal

Trong bài này chúng ta sẽ tìm hiểu vòng lặp while trong Pascal, đây là…

Vòng lặp For .. Do trong Pascal

Vòng lặp For .. Do trong Pascal

Trong bài này chúng ta sẽ tìm hiểu về vòng lặp For .. Do trong…

Lệnh If .. Then trong Pascal

Lệnh If .. Then trong Pascal

Trong bài này chúng ta sẽ học lệnh rẻ nhánh if .. then trong Pascal,…

Khối lệnh begin .. end trong Pascal

Khối lệnh begin .. end trong Pascal

Bạn có thắc mắc BEGIN và END trong chương trình Pascal là gì không nào?…

Lệnh read và readln trong Pascal

Lệnh read và readln trong Pascal

Trong bài này chúng ta sẽ tìm hiểu hai lệnh dùng để đọc dữ liệu,…

Các lệnh OUTPUT trong Pascal

Các lệnh OUTPUT trong Pascal

Những bài trước chúng ta đã sử dụng một lệnh rất nhiều đó là lệnh…

Toán tử trong Pascal

Toán tử trong Pascal

Trong bài này chúng ta sẽ tìm hiểu về một số toán tử thường dùng…

Tạo kiểu dữ liệu (Type) trong Pascal

Tạo kiểu dữ liệu (Type) trong Pascal

Trong bài này chúng ta sẽ học cách sử dụng từ khóa Type trong Pascal,…

Hằng (const) trong Pascal

Hằng (const) trong Pascal

Hằng số (Const) thực chất cũng là một loại biến bình thường, nhưng có điểm…

Biến và kiểu dữ liệu trong Pascal

Biến và kiểu dữ liệu trong Pascal

Bảng từ khóa của ngôn ngữ Pascal

Bảng từ khóa của ngôn ngữ Pascal

Bảng từ khóa trong Pascal là danh sách những từ khóa mà bạn không được…

Cấu trúc chương trình Pascal

Cấu trúc chương trình Pascal

Viết chương trình Hello World với Pascal

Viết chương trình Hello World với Pascal

fadsfs

Hello World là một chương trình thế kỉ mà hầu như ngôn ngữ lập trình…

Top