PASCAL là một trong những ngôn ngữ lập trình cấp cao được giáo sư Niklaus Wirth ở trường Đại học Zurich ( Thuỵ sĩ ) thiết kế và công bố vào năm 1971 . ( Bản tóm tắt chỉ có 29 trang ! ) Sau được sửa đổi trong năm 1972 và ngày càng đựơc chuẩn hoá , đến nay trở thành ngôn ngữ phổ cập trong dạy lập trình cũng như được ứng dụng rộng rãi trên các máy vi tính .
Ngôn ngữ Pascal nhanh chóng có ảnh hưởng sâu rộng và chiếm được cảm tình của những người lập trình vì nhiều nguyên nhân ; trong đó có nguyên nhân đáng kể là tính cấu trúc chặt chẽ và khoa học . Tính cấu trúc của ngôn ngữ này thể hiện trên 3 mặt :
1) Tổ chức dữ liệu có tính cấu trúc .
2) Xây dựng được đầy đủ các cấu trúc điều khiển để thực hiện giải thuật 3) Tạo cho chương trình khả năng cấu trúc .
Vì vậy khi lập trình , cần cố gắng khai thác hết sức mạnh của ngôn ngữ này về phương diện cấu trúc , nhằm đạt tới các bài giải toán có hiệu suất cao.
II / Những khái niệm cần thiết :1 ) Các Kí tự : 1 ) Các Kí tự :
Các kí tự trong ngôn ngữ Pascal gồm :
+ 26 chữ cái la tinh hoa : A, B,... Z ( mã số từ 65 tới 90 trong bảng mã ASC I I ) + 26 chữ cái la tinh thường a,b... z ( mã số 97 --> 122 )
+ Kí tự gạch nối : _ ( mã số 95 ) + 10 kí tự chữ số : 0,1,2,...,9 (mã số 48 --> 57 )
+ Cộng ‘+’ , trừ ‘- ‘ , nhân ‘*’ , chia ‘ / ’, bằng nhau ‘ = ‘ , lớn hơn ‘ > ‘ , nhỏ hơn ’ < ‘ dấu mở ngoặc ‘(‘ hoặc dấu đóng ngoặc ‘)’
+ Các kí tự đặc biệt khác :
‘.’ , ‘;’ , ‘:’ , ‘[‘ , ‘ ]’ , ‘{‘ , ‘}’ , ‘? ‘ , ‘! ‘ ,‘ \ ‘ , ‘&’ , ‘%’ , ‘#’ , ‘$’
+ Kí tự dấu cách (còn gọi là dấu trống - có mã số 32 ) Tạo 1 khoảng cách bằng độ rộng chứa 1 kí tự , dấu cách dùng để phân cách 2 từ .
2) Các từ khoá : Là các từ riêng của Pascan đã được xác định ngữ nghĩa trước , người lập trình phải tuân
theo ngữ nghĩa này , không được dùng từ khoá vào các định nghĩa khác
Danh sách các từ khoá :
Program , Begin , End, Procedure , Function , Unit , Implementation , Interface ... Uses ,Const, Type , Var , Label , Array , String ,Record , Set of ... , File of ... If ... then ... Else ... , Case ... of ,
With , goto , Exit, Halt ,Forward ,And , or, xor ,not, in , div , mod , SHL ,SHR
3 ) Tên Là dãy các kí tự chữ cái hoặc chữ số và dấu gạch nối dùng để xác định các đại lượng khác nhau
trong chương trình . Qui định đặt tên :
+ Chiều dài tối đa 127 kí tự .
+ Không được đặt kí tự chữ số làm kí tự đầu của tên . + Không được đặt tên trùng với từ khoá .
Nên đặt tên có tính gợi nhớ để dễ theo dõi và hiệu chỉnh chương trình , không nên đặt tên quá dài và trùng với các tên chuẩn nêu dươí đây
4) Tên chuẩn :
Tên chuẩn là những tên được Pascal đặt trước và định nghĩa sẵn .
Danh sách các tên chuẩn
Boolean , Char , Integer , Real , Byte , Text ... False , True , MaxInt ,
Abs , Chr , Cos , Sin , Arctan , Eof , Eoln Exp , Ln , Odd , Ord ,
Round , Trunc , Sqr , Sqrt , Pred , Succ,
Dispose , New , Close,Get , Put , Read , Readln , Write , Writeln , Reset , ReWrite ...
B - CÁC KIỂU DỮ LIỆU ĐƠN GIẢN VÀ PHÉP TOÁN TƯƠNG ỨNG I / Kiểu số nguyên : I / Kiểu số nguyên : Từ khoá Phạm vi Số byte nhớ Integer -32768 .. 32767 2 Byte Byte 0 .. 255 1 Byte Word 0 .. 65535 2 Byte ShortInt -128 .. 127 1 Byte LongInt -2147483648.. 2147483647 4 Byte
Những qui định về kiểu số nguyên :
+ Không gán trị vượt quá phạm vi của kiểu . + Các chữ số phải viết liền nhau
+ Số âm : phải đặt dấu trừ ngay sát chữ số đầu tiên của số + Không được sử dụng dấu chấm thập phân .
+ Để viết số dưới dạng cơ số 16 ( dạng Hexa ) đặt dấu $ sát chữ số đầu . Các phép toán ( operater ) :
a) Phép toán số học :
Cộng : + Cho kết quả là số nguyên Trừ : - Cho kết quả là số nguyên Nhân : * Cho kết quả là số nguyên Chia : / Cho kết quả là số thực
Div : Cho thương nguyên của phép chia Mod : Dư nguyên của phép chia .
b) Phép toán quan hệ : = ( bằng )
> ( lớn hơn ) < ( nhỏ hơn )
<= ( Không lớn hơn ) <> ( Khác )
Kết quả của các phép toán quan hệ là Kiểu Boolean ( Có 2 giá trị : True, False)
II / Kiểu thực :
Kiểu Phạm vi Số chữ số có nghĩa Số Byte
Single 1.5E-45 .. 3.4E+38 7-8 4
Real 2.9E-39 .. 1.7E+38 11-12 6
Double 5.0E-324 .. 1.7E+308 15-16 8
Extended 3.4E-4932 ..
1.1E+4932
19-20 10
Comp -9.2E+18 .. 9.2E+18 19-20 8
+ Trong 4 kiểu trên , phạm vi được hiểu như là trị tuyệt đối của phạm vi . + Cách viết số ở cột phạm vi là cách viết chữ số kiểu động ,
1.5E-45 = 1.5 * 10 -45 ; 3.4E+38 = 3.4 * 10 38
+ Kiểu số thực với mode thường dùng là Real . Còn các kiểu còn lại phải dùng mode 8087 ( Đầu chương trình phải có hưóng biên dịch {$N+}. ) Các phép toán trên kiểu số thực : Cũng có các phép toán như kiểu nguyên ; nhưng không có phép DIV và MOD và kết quả của mọi phép toán trên Real là Real ; kết quả của mọi phép toán trên Extended là Extended