Giống như If - Then - Else, Case - Of và Case - Of - Else cũng có 2 dạng.
Dạng thiếu
Cú pháp:
Case <Giá trị> Of
<Trường hợp 1> : <Công việc 1>;
<Trường hợp 2> : <Công việc 2>;
...
<Trường hợp n> : <Công việc n>;
End;
Dạng đầy đủ của Case - of - Else
Case <Giá trị> Of
<Trường hợp 1>: <Công việc 1>;
<Trường hợp 2>: <Công việc 2>;
...
<Trường hợp n>: <Công việc n>;
Else <Công việc n + 1>;
End;
Ví dụ:KIỂU SỐ NGUYÊN
WRITE('YEU CAU NHAP SO TU 1 TOI 5: '); READLN(N);
CASE N OF
1: Writeln(' 1 = ONE ');
2: Writeln(' 2 = TWO ');
3: Writeln(' 3 = THREE ');
4: Writeln(' 4 = FOUR ');
5: Writeln(' 5 = FIVE ')
ELSE
WRITELN(' BAN NHAP SAI ROI, NHAN ENTER DE THOAT');
END;
Ví dụ:KIỂU LIỆT KÊ
WRITE(‘Ban hay go 1 ky tu so, ky tu chu hoac 1 phep tinh:’);
READLN(CHON);
Case chon Of
'0' .. '9' : Writeln('Ban da nhap chữ số (0-9)');
'a' .. 'z' : Writeln('Ban da nhap chu viết thường tu (a-z)');
'A' .. 'Z' : Writeln(''Ban da nhap chu hoa tu (A-Z)');
'+' , '-' : Writeln(''Ban da nhap 1 phep tinh (+,-,*,/)');
Else
Writeln(‘ ban nhap sai roi, nhan enter de THOAT’);
end;
Ví dụ:KIỂU KÝ TỰ
Writeln(' CHUONG TRINH KIEM TRA BAN nhap phep tinh gi ?');
Write(' Ban nhap so thu 1 :'); Readln(SO1);
Write(' Ban nhap so thu 2 :'); Readln(SO2);
WRITE('YEU CAU BAN NHAP 1 PHEP TINH: '); READLN(P);
CASE P OF
'+': Writeln(SO1,' + ',SO2,' = ', SO1+SO2);
'-': Writeln(SO1,' - ',SO2,' = ', SO1-SO2:4);
'*': Writeln(SO1,' * ',SO2,' = ', SO1*SO2:4);
'/': Writeln(SO1,' / ',SO2,' = ', SO1/SO2:4:2)
ELSE
WRITELN(' BAN NHAP SAI ROI, NHAN ENTER DE THOAT');
END;
Trong đó <Giá trị> là một biến hoặc biểu thức là kiểu đếm được:
(Kiểu ký tự, kiểu số nguyên, kiểu liệt kê hoặc kiểu miền con).
Nếu giá trị của biểu thức hoặc biến đó rơi vào trường hợp nào thì công việc tương ứng sẽ được thực hiện rồi kết thúc lệnh Case - Of.
Nếu giá trị của biểu thức hoặc biến không rơi vào trường hợp nào thì sẽ kết thúc lệnh Case - Of mà không làm gì, còn trường hợp Case Of - Else thì nếu không rơi vào trường hợp nào sẽ thực hiện lệnh của Else
1: Kiểu ký tự: Nhập 1 ký tự, dùng lệnh Case of cho biết bạn nhập ký tự gì?
Program lenh_Case_of;
Var chon: char; {kiểu Char: chi nhap 1 ky tu}
Begin
WRITE(‘ Ban go 1 trong cac ky tu sau: a,b,d,f:’); READLN(CHON);
Chon := upcase(chon);{doi ra chu hoa}
Case chon Of
'A' : Writeln('ban chon chu A');
'B', 'C': Writeln(' ban chon chu B’);
'D' : Writeln(' ban chon chu D ');
'F' : Writeln(' ban chon chu F');
Else Writeln('ban nhap sai roi, nhan enter de Thoat’);
End;
end.
Ví dụ 2: về sử dụng kiểu miền con trong việc kiểm tra giá trị:
Nhập 1 ký tự số, chữ hoặc 1 phép tính, dùng lệnh Case of cho biết bạn nhập gì?
Program KIEMTRA_KYTU;
Var chon: char; {chi nhap 1 ky tu}
Begin
WRITE(‘Ban hay go 1 ky tu so, ky tu chu hoac 1 phep tinh:’);
READLN(CHON);
Case chon Of
'0' .. '9' : Writeln('Ban da nhap chữ số (0-9)');
'a' .. 'z' : Writeln('Ban da nhap chu viết thường tu (a-z)');
'A' .. 'Z' : Writeln(''Ban da nhap chu hoa tu (A-Z)');
'+' , '-' : Writeln(''Ban da nhap 1 phep tinh (+,-,*,/)');
Else
Writeln(‘ ban nhap sai roi, nhan enter de THOAT’);
end;
End.