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
9 trang |
Chia sẻ: maiphuongdc | Lượt xem: 22781 | Lượt tải: 3
Bạn đang xem nội dung tài liệu Pascal - Kiểu ký tự (char), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
KIỂU KÝ TỰ (CHAR)
6.4.1. Ký tự và biến kiểu ký tự:
Ký
tự
Mã
ASCII
Ký
tự
Mã
ASCII
Ký
tự
Mã
ASCII
32 A 65 a 97
0 48 B 66 b 98
1 49 C 67 c 99
2 50 D 68 d 100
3 51 E 69 f 101
4 52 F 70 e 102
5 53 G 71 g 103
6 54 H 72 h 104
7 55 I 73 i 105
8 56 J 74 j 106
9 57 K 75 k 107
L 76 l 108
M 77 m 109
N 78 n 110
O 79 o 111
P 80 p 112
Q 81 q 113
R 82 r 114
S 83 s 115
T 84 t 116
U 85 u 117
V 86 v 118
W 87 w 119
X 88 x 120
Y 89 y 121
Z 90 z 122
Bảng 6.5
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 255. Số
thứ tự của mỗi ký tự còn gọi là mã ASCII của ký tự đó. Biểu 6.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 6.5, 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 gía 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’;
ch1:=‘$’;
Ký tự ‘A’ gọi là gía trị của biến ch, còn ‘$’ là gía 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. (1)
6.4.2. 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ằ?g 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ụ 6.4: Nhập vào một số nguyên k, 0 k 255, in ra ký tự có mã
là k. Chương trình kết thúc khi nhập vào số 0 :
PROGRAM VIDU64 ;
Uses CRT;
Var
k : Byte;
Begin
CLRSCR;
Writeln(‘ Nhập số 0 để kết thúc :’);
Repeat
Write(‘ Nhập mã của ký tự : ‘); Readln(k);
Writeln(‘ Ký tự có mã ‘, k, ‘ là ‘ , Chr(k) );
Until k=0;
End.
Chạy
Chép tập tin nguồn
Ví dụ 6.5: 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 VIDU65;
{ Ðổ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.
Chạy
Chép tập tin nguồn
Các file đính kèm theo tài liệu này:
- kieu_ky_tu_2152.pdf