Được tạo bởi Blogger.
RSS

Kiểu ký tự (Character) trong các phép toán


Định nghĩa:
     Ngoài việc xử lý các dữ liệu số, người ta còn có thể xử lý các dữ liệu dạng chữ viết như các vănbản. Tập hợp tất cả ký tự tạo nên các chữ viết của PASCAL tạo thành một kiểu dữ liệu được định nghĩa sẵn dưới tên chuẩn CHAR.

Kiểu ký tự (Character) trong các phép toán

     Trong máy tính, mỗi ký tự được mã hoá bằng 1 byte, do vậy có 28 = 256 ký tự. Mỗi một ký tự có một mã riêng biệt. Bộ mã hay được sử dụng là bộ mã ASCII, trong đó có 128 mã dùng cho các ký tự cơ bản, còn 128 mã khác dùng cho các ký tự mở rộng. Một giá trị thuộc kiểu này được biểu diễn bằng cách viết trong một cặp dấu nháy đơn như:
‘A/ T                                                 
     Việc sắp xếp trong kiểu Char dựa trên giá trị mã ASCII của các ký tự này. Các ký tự từ 0 đến 31 là các ký tự điều khiển, dùng để điều khiển các thiết bị ngoại vi, điều khiển các thủ tục trao đổi thông tin. Các ký tự điều khiển không hiện lên màn hình và không in ra được.
     Cần chú ý vị trí các ký tự thường dùng là các chữ số và chữ cái trong bảng mã ASCII không liên tục. Các chữ số 0..Q – CÓ mã là 4S-.57- các chữ cái hoa A..Z có mã là 65..90, các chữ cái thường a..z có mã là 97.. 122. Nằm xen giữa chúng là một số ký tự khác. Ký tự chữ cái thường có mã ASCII lớn hơn mã của ký tự hoa tương ứng là 32.
Ví dụ:
     Khi nhận được ký tự số 7 máy tạo ra tiếng chuông (BEL), số 13 (CR: Carriage Return), số 10 (LF: Line Feed) để điều khiển con trỏ chuyển dòng; số 27 (ESC. thoát khởi lệnh hay chương trình), ký tự số 127 (DEL) dùng điều khiển xoá….
Các phép toán:
     Các phép toán so sánh (quan hệ) thực hiện tương tự như kiểu số nguyên dựa trên mã ASCII của các ký tự.
     Có thể thực hiện các phép toán số học sau khi chuyển đổi kiểu Char sang kiểu Integer thông qua hàm ORD(ch) sẽ được giới thiệu tiếp ở phần sau.
Các hàm liên quan đến kiểu ký tự:
- Cho số thứ tự ( chính là giá trị mã) của ký tự trong kiểu: ORD(ch)1 ATI
- Cho ký tự có mã là một số nguyên n :      CHR(n)–hay dạngkhác        là  Un
- Cho ký tự đứng trước ký tự ch: PRE Dịch)
- Cho ký tự đứng sau ký tự ch:    SUCC(ch)
- Cho ký tự là chữ hoa tương ứng với ký tự ch:    UPCASE(ch)
- Cho ký tự là phím được bấm trên bàn phím: READKEY . Hàm này không có đối số thuộc unit CRT nên khi sử dụng nó phải khai báo sử dụng unit CRT trước.
Chú ý:
- Có sự tương quan:
CHR(ORD(ch)) = chvà ORD(CHR(n)) = n.
PRED(ch)=CHR(ORD(ch) = 1 ) và SUCC(ch)=CHR(ORD(ch)+l).
- Biểu thức so sánh vừa nếu ‘A’ < ‘a’ thực chất dựa trên biểu thức 65 < 97 hay
ORD(‘A’) <ORD(‘a’) .
- Cần phân biệt chữ số X dưới dạng ‘x’ (kiểu Char) với dạng X (kiểu integer).
Ví dụ
chữ số ’6′ có mã 54 hay ORD(’6’) = 54 và 6 = ORD(’6′) – ORD(‘O’) = 54 – 48.


Đọc thêm tại:

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS