Kiểu ký tự (CHAR)

Một phần của tài liệu Ngôn ngữ lập trình Pascal ĐH Hoa Lư (Trang 36)

a. Ký tự và biến kiểu ký tự tự ASCII tự ASCII tự ASCII tự ASCII tự ASCII 32 A 65 a 97 N 78 n 110 0 48 B 66 b 98 O 79 o 111 1 49 C 67 c 99 P 80 p 112 2 50 D 68 d 100 Q 81 q 113 3 51 E 69 f 101 R 82 r 114 4 52 F 70 e 102 S 83 s 115 5 53 G 71 g 103 T 84 t 116 6 54 H 72 h 104 U 85 u 117 7 55 I 73 i 105 V 86 v 118 8 56 J 74 j 106 W 87 w 119 9 57 K 75 k 107 X 88 x 120 L 76 l 108 Y 89 y 121 M 77 m 109 Z 90 z 122

Các ký tự dùng trong máy tính điện tử được liệt kê đầy đủ trong bảng mã ASCII gồm 256 ký tự khác nhau và được đánh số thứ tự từ 0 đến 254. Số thứ tự của mỗi ký tự còn gọi là mã ASCII của ký tự đó. Biểu 3.5 liệt kê một phần của bảng mã ASCII gồm các chữ số và chữ cái kèm theo mã của chúng.

Trong bảng, ký tự có mã bằng 32 là ký tự trắng (space).

Tuy có 256 ký tự khác nhau song chỉ có 128 ký tự đầu tiên là hay dùng, còn lại là các ký tự mở rộng. Các ký tự có mã từ 0 đến 31 gọi là các ký tự điều khiển, không in ra được, được dùng để điều khiển các thiết bị ngoại vi, chẳng hạn ký tự có mã là 7 dùng để tạo một tiếng kêu bip, ký tự có mã là 13 dùng để chuyển con trỏ màn hình xuống đầu dòng dưới... Mỗi ký tự trong bảng mã ASCII gọi là một hằng ký tự, chiếm độ dài 1 byte, và khi viết trong Pascal phải được đặt trong cặp nháy đơn: ‘0’, ‘1’, ‘A’, ‘B’, ‘$’,...

Giữa các ký tự, có một thứ tự mặc nhiên theo nguyên tắc: ký tự có mã nhỏ hơn thì nhỏ hơn. Tức là:

Ký tự trắng < ‘0’< ‘1’< ...< ‘9’< ‘A’< ‘B’< ...’Z’< ‘a’< ‘b’< ...< ‘z’

Biến nhận giá trị là các hằng ký tự gọi là biến kiểu ký tự, chúng được khai báo nhờ từ khóa CHAR, chẳng hạn như khai báo hai biến ch và ch1 dưới đây:

Var ch, ch1: Char ; Khi đó có thể gán: ch:=‘A’;

Ký tự ‘A’ gọi là giá trị của biến ch, còn ‘$’ là giá trị của biến ch1.

Nhận xét:

Từ bảng mã của các chữ cái ta suy ra: Mã chữ thường = Mã chữ hoa tương ứng + 32.

b. Các hàm liên quan đến ký tự

• Hàm PRED(ch): cho ký tự đứng ngay trước ký tự ch trong bảng mã. Ví dụ: Pred(‘B’)=‘A’

• Hàm SUCC(ch): cho ký tự đứng ngay sau ký tự ch trong bảng mã. Ví dụ: Succ(‘A’)=‘B’.

• Hàm UpCase(ch): đổi ký tự ch thành chữ hoa. Ví dụ:

Upcase(‘a’ ) = ‘A’, Upcase(‘b’ ) = ‘B’, Upcase(‘A’ ) = ‘A’ .

• Hàm ORD(ch): cho mã của ký tự ch. Ví dụ: Ord (‘A’) = 65, Ord (‘a’) = 97 .

• Hàm CHR(k): đối số k nguyên, 0≤ k ≤ 255, cho ký tự có mã bằng k. Ví dụ: Chr (65)= ‘A’,

Chr (97)= ‘a’,

Chr(32) là ký tự trắng.

Có một số ký tự không có trên bàn phím, để viết chúng lên màn hình ta phải dùng lệnh Write và hàm CHR. Ví dụ:

Lệnh Writeln(Chr(201)) ; in ra ký tự: + Lệnh Writeln(Chr(187)) ; in ra ký tự: +

Ký tự có mã là 7 gọi là ký tự BEL (chuông), và lệnh:

Write(Chr(7) ); hay Write(#7) ; {có tác dụng phát ra một tiếng kêu bip}.

Chú ý:

• Turbo Pascal (TP) cho phép viết gọn Chr(k) thành #k nếu k là hằng số. Ví dụ, hai lệnh sau cùng in lên màn hình chữ A:

Write(#65); Write(Chr(65));

• Trong TP không có hàm đổi chữ hoa ra chữ thường, nhưng có thể làm việc này nhờ công thức (1) và hai hàm Ord và Chr: Chữ thường:= Chr (Ord(chữ hoa) + 32 ) Ví dụ: Nhập một ký tự, nếu là chữ hoa thì đổi ra chữ thường, nếu là chữ thường thì đổi ra chữ hoa.

PROGRAM VIDU3_4;

{ Ðổi chữ hoa ra thường và ngược lại}

Var ch, ch1: Char; Begin

Write(‘ Nhập một ký tự:’); Readln(ch);

If (ch>=‘A’) and (ch<=‘Z’) then ch1:=Chr(Ord (ch)+32) Else ch1:= Upcase(ch);

Writeln(ch, ‘ đã đổi ra: ‘ , ch1); Readln;

End.

Một phần của tài liệu Ngôn ngữ lập trình Pascal ĐH Hoa Lư (Trang 36)

Tải bản đầy đủ (DOC)

(141 trang)
w