Pascal Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Go down
avatar
Admin
Admin
Posts : 2
Join date : 2024-06-14
https://tinhocpbc.forumvi.com

Tài liệu Pascal Empty Tài liệu Pascal

Fri Jun 14, 2024 8:54 am
Chương II: CÁC KIỂU VÔ HƯỚNG CHUẨN VÀ CÁC CÂU LỆNH ĐƠN

I. CÁC KIỂU VÔ HƯỚNG CHUẨN
1. Các Kiểu Vô Hướng Chuẩn (Standard scalar types)
Kiểu vô hướng (scalar type) là kiểu dữ liệu gồm một tập các giá trị của nó sắp xếp theo một thứ tự tuyến tính. Kiểu vô hướng chuẩn (Standard scalar type) là kiểu vô hướng do Pascal định nghĩa sẵn. Dưới đây là danh sách các kiểu vô hướng chuẩn cùng với miền giá trị và kích thước mà mỗi kiểu chiếm trong bộ nhớ.

Stt

Kiểu

Kích thước

Miền xác định

1.

Boolean

1 byte

FALSE..TRUE

2.

Char

1 byte

256 ký tự của bảng mã ASCII.

3.

Shortint

1 byte

-128..127

4.

Byte

1 byte

0..255

5.

Integer

2 byte

-32768..32767

6.

Word

2 byte

0..65535

7.

Longint

4 byte

-2147483648..2147483647

8.

Real

6 byte

2.9E-39..1.7E+38

9.

Single

4 byte

1.5E-45..3.4E+38

10.

Double

8 byte

5.0E-324..1.7E+308

11.

Extended

10 byte

3.4E-4932..1.1E+4932

12.

Comp

8 byte

-9.2E-18..9.2E+18

Trong đó 7 kiểu đầu gọi là kiểu đếm được (ordinal type), còn các kiểu sau là không đếm được.

2. Một Số Phép Toán Trên Các Kiểu
a. Các phép toán trên kiểu số
Các phép toán này rất gần gũi với chúng ta, do chúng ta sử dụng chúng hằng ngày trong đời sống.

Phép toán

Ý nghĩa

Kiểu đối số

Kiểu trả về

Ví dụ



Lấy đối số

Số nguyên, số thực

Giống đối số

Đối số của 2 là -2

+

Cộng

Số nguyên, số thực

Giống đối số

10 + 9  19

-

Trừ

Số nguyên, số thực

Giống đối số

10 - 9  1

*

Nhân

Số nguyên, số thực

Giống đối số

10*9  90

/

Chia

Số nguyên, số thực

Số thực

10 / 4  2.5

Div

Chia lấy phần nguyên

Số nguyên

Số nguyên

10 div 3  3

Mod

Chia lấy phần dư

Số nguyên

Số nguyên

10 mod 3  1

b. Một Số Hàm Số
Dưới đây là một số hàm được Pascal thiết kế sẵn. Người sử dụng có thể gọi và sử dụng chúng mà không cần phải khai báo unit qua câu khai báo USES.[1]

Hàm

Ý nghĩa

Kiểu đối số

Kiểu trả về

Ví dụ

ABS(x)

Trị tuyệt đối x

Số nguyên, số thực

Giống đối số

Abs(-2)  2

SQR(x)

Bình phương x

Số nguyên, số thực

Giống đối số

Sqr(2)  4

SQRT(x)

Căn bậc hai x

Số nguyên, số thực

Số thực

Sqrt(9)  3

EXP(x)

Hàm ex

Số nguyên, số thực

Số thực

Exp(3) 

LN(x)

Hàm

Số nguyên, số thực

Số thực

Ln(2) 

SIN(x)

Hàm lượng giác

Số nguyên, số thực

Số thực

Sin(PI)  0

COS(x)

Hàm lượng giác

Số nguyên, số thực

Số thực

Cos(PI)  1

ARCTAN(x)

Hàm lượng giác

Số nguyên, số thực

Số thực

Arctan(1) 

SUCC(x)

Succ(x)  x + 1

Số nguyên

Số nguyên



PRED(x)

Pred(x)  x 1

Số nguyên

Số nguyên



ROUND(x)

Làm tròn

Số thực

Số nguyên

Round(8.6)  9

TRUNC(x)

Làm tròn

Số thực

Số nguyên

Trunc(8.6)  8

ORD(x)

Lấy mã ASCII

Ký tự

Số nguyên

Ord(‘a’)  97

CHR(x)

ký tự  mã ASCII

Số nguyên

Ký tự

Chr(65)  ‘A’

ODD(x)

Kiểm chẳn lẽ

Số nguyên

Logic

Odd(5)  True

c. Các phép toán logic
Các phép toán logic, toán hạng của nó phải là một kiểu Boolean. Toán hạng cũng như các kết quả của phép toán chỉ nhận 1 trong 2 giá trị: hoặc là TRUE hoặc là FALSE (không có giá trị khác).

Các toán tử logic tác động lên kiểu Boolean, cho kết quả là kiểu Boolean AND (và), OR (hoặc), XOR, NOT (phủ định). Sau đây là bảng chân trị của các toán tử này.

Toán hạng X

Toán hạng Y

X OR Y

X AND Y
X XOR Y

NOT X

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

TRUE

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

TRUE

TRUE

TRUE

FALSE

FALSE

Mở rộng:

Các phép toán lôgic còn áp dụng được cho kiểu số nguyên, trên cơ sở biểu diễn nhị phân của số nguyên đó. Ví dụ xét hai số nguyên X và Y lần lượt bằng 10 và 22, thuộc kiểu byte. Biểu diễn nhị phân của X là 0000 1010 và của Y là 0001 0110. Khi đó phép toán được thực hiện theo thứ tự từng bit như sau:

X 0 0 0 0 1 0 1 0

Y 0 0 0 1 0 1 1 0

X AND Y 0 0 0 0 0 0 1 0

Vậy (10 AND 22) cho kết quả là 2

X 0 0 0 0 1 0 1 0

Y 0 0 0 1 0 1 1 0

X OR Y 0 0 0 1 1 1 1 0

Vậy (10 OR 22) cho kết quả là 30

X 0 0 0 0 1 0 1 0

Y 0 0 0 1 0 1 1 0

X XOR Y 0 0 0 1 1 1 0 0

Vậy (10 XOR 22) cho kết quả là 28

Còn có hai phép toán bit nữa là SHIFT LEFT và SHIFT RIGHT, lần lượt được kí hiệu là SHL và SHR. Phép toán SHL làm đẩy các bit lên một số vị trí về bên trái và thêm các giá trị 0 vào các bit tận cùng bên phải. Cú pháp:

SHL

Ví dụ:

X 0 0 0 0 1 0 1 0

X SHL 1 0 0 0 1 0 1 0 0 {Đẩy về bên trái 1 bit}

X SHL 2 0 0 1 0 1 0 0 0 {Đẩy về bên trái 2 bit}

Vậy (10 SHL 1) cho kết quả 20

(10 SHL 2) cho kết quả 40

Thực hiện tương tự đối với phép toán SHR



[1] Thật ra chúng thuộc về Unit SYSTEM.TPU
Back to top
Permissions in this forum:
You cannot reply to topics in this forum