Cập nhật 26 tháng 12, 2024172.873 views

Kiểu Logic

  • Từ khóa: BOOLEAN
  • Miền giá trị: TRUE FALSE
  • Các phép toán: phép so sánh =, <, > và các phép toán logic AND OR XOR NOT
    • Trong Pascal, khi so sánh các giá trị boolean ta tuân theo qui tắc: FALSE < TRUE
    • Giả sử A và B là hai giá trị kiểu Boolean. Kết quả của các phép toán được thể hiện qua bảng dưới đây:
ABA AND BA OR BA XOR BNOT A
TrueTrueTrueTrueFalseFalse
TrueFalseFalseTrueTrueFalse
FalseTRUEFalseTrueTrueTrue
FalseFalseFalseFalseFalseTrue

Kiểu số nguyên

Tên kiểuPhạm vi
byte0→28−10 \rightarrow 2^8 - 1
shortint−27→27−1-2^7 \rightarrow 2^7 - 1
integer−215→215−1-2^{15} \rightarrow 2^{15} - 1
word 00→216−10 \rightarrow 2^{16} - 1
longint−231→231−1-2^{31} \rightarrow 2^{31} - 1
int64−263→263−1-2^{63} \rightarrow 2^{63} - 1
Qword0→264−10 \rightarrow 2^{64} - 1

Các phép toán trên kiểu số nguyên

  • Các phép toán số học:

    • + - * / (phép chia cho ra kết quả là số thực).
    • Phép chia lấy phần nguyên: DIV (Ví dụ : 34 DIV 5 = 6).
    • Phép chia lấy số dư: MOD (Ví dụ: 34 MOD 5 = 4).
  • Các phép toán xử lý bit:

    • Trên các kiểu ShortInt, Integer, Byte, Word có các phép toán: NOT AND OR XOR
    ABA AND BA OR BA XOR BNOT A
    111100
    100110
    010111
    000001
    • SHL (phép dịch trái): a SHL n ⇔\Leftrightarrow a x 2n2^n
    • SHR (phép dịch phải): a SHR n ⇔\Leftrightarrow a DIV 2n2^n

Kiểu số thực

Các kiểu số thực

Tên kiểuPhạm viDung lượng
Single1.51.5 x 10−45→3.410^{-45} \rightarrow 3.4 x 10+3810^{+38}4 byte
Real2.92.9 x 10−39→1.710^{-39} \rightarrow 1.7 x 10+3810^{+38}6 byte
Double5.05.0 x 10−324→1.710^{-324} \rightarrow 1.7 x 10+30810^{+308}8 byte
Extended3.43.4 x 10−4932→1.110^{-4932} \rightarrow 1.1 x 10+493210^{+4932}10 byte

Chú ý: Các kiểu số thực Single, Double và Extended yêu cầu phải sử dụng chung với bộ đồng xử lý số hoặc phải biên dịch chương trình với chỉ thị {$N+} để liên kết bộ giả lập số.

Các phép toán trên kiểu số thực:

Gồm các phép toán cơ bản như: + - * /. Chú ý: Trên kiểu số thực không tồn tại hai phép toán DIV và MOD

Các hàm số học sử dụng cho kiểu số nguyên và số thực

  • SQR(x) Trả về x2x^2
  • SQRT(x) Trả về x\sqrt{x} với (x≥0)(x \ge 0)
  • ABS(x) Trả về ∥x∥\|x\|
  • SIN(x) Trả về sin⁡(x)\sin(x) theo radian
  • COS(x) Trả về cos⁡(x)\cos(x) theo radian
  • ARCTAN(x) Trả về arctang(x)arctang(x) theo radian
  • LN(x) Trả về ln⁡(x)\ln(x)
  • EXP(x) Trả về exe^x
  • TRUNC(x) Trả về số nguyên gần với xx nhất nhưng bé hơn xx
  • INT(x) Trả về phần nguyên của xx
  • FRAC(x) Trả về phần thập phân của xx
  • ROUND(x) Làm tròn số nguyên xx
  • PRED(n) Trả về giá trị đứng trước nn
  • SUCC(n) Trả về giá trị đứng sau nn
  • ODD(n) Cho giá trị TRUE nếu nn là số lẻ
  • INC(n) Tăng nn thêm 1 đơn vị (n:=n+1)(n:=n+1)
  • DEC(n) Giảm nn đi 1 đơn vị (n:=n−1)(n:=n-1)

Kiểu ký tự

  • Từ khoá: CHAR
  • Kích thước: 1 byte
  • Để biểu diễn một ký tự, ta có thể sử dụng một trong số các cách sau đây:
    • Đặt ký tự trong cặp dấu nháy đơn. Ví dụ 'A', '0'
    • Dùng hàm CHR(n) (trong đó n là mã ASCII của ký tự cần biểu diễn). Ví dụ CHR(65) biễu diễn ký tự 'A'
    • Dùng ký hiệu #n (trong đó n là mã ASCII của ký tự cần biểu diễn). Ví dụ #65
    • Các phép toán: = > >= < <= <>

Các hàm trên kiểu ký tự

  • UPCASE(ch) Trả về ký tự in hoa tương ứng với ký tự ch. Ví dụ: UPCASE('a') = 'A'
  • ORD(ch) Trả về số thứ tự trong bảng mã ASCII của ký tự ch. Ví dụ: ORD('A')=65
  • CHR(n) Trả về ký tự tương ứng trong bảng mã ASCII có số thứ tự là n. Ví dụ: CHR(65)='A'
  • PRED(ch) cho ký tự đứng trước ký tự ch. Ví dụ: PRED('B')='A'
  • SUCC(ch) cho ký tự đứng sau ký tự ch. Ví dụ: SUCC('A')='B'

Khai báo hằng

  • Hằng là một đại lượng có giá trị không thay đổi trong suốt quá trình thực hiện chương trình.
  • Cú pháp: CONST <Tên hằng> = <Giá trị>; hoặc CONST <Tên hằng> := <Biểu thức hằng>;