Jump to content

PASCAL/Điều kiện/Case ... Of

From Wikiversity

Cú pháp

[edit]

Có hai dạng cấu trúc:

  • Dạng 1:
CASE <tên biến> OF
     <(dãy) giá tr 1> : <câu lnh 1>;
     <(dãy) giá tr 2> : <câu lnh 2>;
     ...
     <(dãy) giá tr N> : <câu lnh N>;
END;
  • Dạng 2:
CASE <tên biến> OF
     <(dãy) giá tr 1> : <câu lnh 1>;
     <(dãy) giá tr 2> : <câu lnh 2>;
     ...
     <(dãy) giá tr N> : <câu lnh N>;
     ELSE <câu lnh>
END;

Lưu ý: phải có câu lệnh END; kết thúc (không có BEGIN).

Thí dụ

[edit]
CASE thang OF
     1,3,5,7,8,10,12 : ngay:=31;
     4,6,9,11        : ngay:=30;
     2               : if ((nam mod 100=0) and (nam mod 400=0)) or (nam mod 4=0) then ngay:=29 else ngay:=28;
END;
writeln('Tháng ',thang,' năm ',nam,' có ',ngay,' ngày.');
Code Điều kiện, kết quả, giải thích
CASE thang OF
     1,3,5,7,8,10,12 : ngay:=31;
     4,6,9,11        : ngay:=30;
     2               : if ((nam mod 100=0) and (nam mod 400=0)) or (nam mod 4=0) then ngay:=29 else ngay:=28;
END;
writeln('Tháng ',thang,' năm ',nam,' có ',ngay,' ngày.');
Điều kiện

Nếu biến thang có giá trị là 1; 3; 5; 7; 8; 10 hoặc 12 thì biến ngay sẽ được gán cho giá trị 31.

Nếu biến thang có giá trị là 4; 6; 9 hoặc 11 thì biến ngay sẽ được gán cho giá trị 30.

Nếu biến thang có giá trị là 2 thì tùy theo kết quả:

  • Nếu (nam mod 100=0) và (nam mod 400=0) hoặc (nam mod 4=0) thì biến ngay được gán giá trị 29
  • Trường hợp còn lại biến ngay được gán giá trị 28

Kết quả

Hiện ra màn hình tùy theo giá trị mà biến được gán.

Học Pascal/Mảng--> Thể loại:Pascal