Giới thiệu ngôn ngữ Pascal

Thứ năm - 23/07/2020 10:53
Pascal là một trong các ngôn ngữ lập trình cấp cao được giáo sư Niklaus Wirth ở trường Đại học kĩ thuật Zurich (Thụy Sĩ) thiết kế và công bố vào năm 1971. Ông đặt tên cho ngôn ngữ này là Pascal để tưởng nhớ đến Blaise Pascal, nhà Toán học, Triết học nổi tiếng của Pháp ở thế kỉ 17, người đã sáng chế ra một máy tính (cơ khí) đầu tiên của nhân loại.
Giới thiệu ngôn ngữ Pascal
1. Nguồn gốc
Pascal là một trong các ngôn ngữ lập trình cấp cao được giáo sư Niklaus Wirth ở trường Đại học kĩ thuật Zurich (Thụy Sĩ) thiết kế và công bố vào năm 1971. Ông đặt tên cho ngôn ngữ này là Pascal để tưởng nhớ đến Blaise Pascal, nhà Toán học, Triết học nổi tiếng của Pháp ở thế kỉ 17, người đã sáng chế ra một máy tính (cơ khí) đầu tiên của nhân loại.
Ban đầu N. Wirth thiết kế ngôn ngữ Pascal chuẩn nhằm phục vụ việc giảng dạy cho các sinh viên Đại học phương pháp lập trình, đặc biệt là “Phương pháp lập trình có cấu trúc”, nhưng Pascal đã thành công rực rỡ trong mọi ứng dụng lập trình và đã ảnh hưởng sâu sắc đến mọi ngôn ngữ ra đời sau nó trong tư duy lập trình cấu trúc.
Ngày nay Pascal được sử dụng để giải quyết gần như bất cứ nhiệm vụ nào trên các loại máy tính và được xem như là một trong những ngôn ngữ lập trình bậc cao ưu việt nhất trong lĩnh vực giảng dạy và lập trình chuyên nghiệp.

2. Tính chất cơ bản
a) Pascal là một ngôn ngữ có định kiểu rõ ràng, mọi biến và hằng của kiểu dữ liệu nào chỉ được gán các giá trị của đúng kiểu dữ liệu đó, không được tự do đem gán cho các giá trị của kiểu dữ liệu khác.
Việc định kiểu một cách chặt chẽ như vậy khiến cho người lập trình luôn luôn phải có các biểu thức tương thích với nhau về kiểu dữ liệu.
b) Pascal là một ngôn ngữ thể hiện tư duy lập trình có cấu trúc:
- Dữ liệu được cấu trúc hóa : từ dữ liệu đơn giản hoặc có cấu trúc đơn giản người lập trình có thể xây dựng các dữ liệu có cấu trúc phức tạp hơn.
- Mệnh lệnh được cấu trúc hóa : từ các lệnh chuẩn, người lập trình có thể nhóm chúng lại với nhau và đặt giữa hai từ khóa Begin và End khiến chúng trở thành một câu lệnh phức tạp hơn gọi là lệnh hợp thành hay lệnh ghép.
- Chương trình được cấu trúc hóa : một chương trình có thể chia thành các chương trình con tổ chức theo hình cây phân cấp. Mỗi chương trình con nhằm giải quyết một nhiệm vụ xác định cụ thể, điều này giúp cho người lập trình có thể yên tâm giải quyết từng phần một, từng khối một và thậm chí có thể cho nhiều người tham gia lập trình, mỗi người phụ trách một vài khối. Đặc biệt là khi có sửa chữa, cải tiến ở một khối sẽ ít ảnh hưởng đến khối khác và việc trao đổi chương trình giữa người với người cũng trở nên thuận lợi hơn nhờ tính trong sáng và tính logic của chương trình có cấu trúc.

3. Các phần tử cơ bản của ngôn ngữ Pascal
Ngôn ngữ PASCAL được xây dựng từ một bộ kí tự, các chữ viết đó được kết hợp lại thành các từ, các từ tạo thành các câu, tất cả đều phải tuân theo một cú pháp và ngữ pháp chặt chẽ.
a) Bộ kí tự :
- Bộ 26 chữ Latin
• Chữ lớn : A, B, C, ..., Z
• Chữ nhỏ : a, b, c, ..., z
- Kí tự gạch nối : -
- Bộ chữ số thập phân : 0, 1, 2, 3, .... 9
- Các kí hiệu toán học : +, *, /, <, >, 0, [ ]
b) Từ khóa :
Là các từ riêng của PASCAL, có ngữ nghĩa đã được xác định, không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa.
- Từ khóa chung :
PROGRAM, BEGIN, END, PROCEDURE, FUNCTION 
- Từ khóa để khai báo :
CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE OF, LABEL
- Từ khóa của lệnh lựa chọn :
IF... THEN... ELSE
CASE... OF
- Từ khóa của lệnh lặp :
FOR... TO….DO
FOR... DOWNTO... DO
WHILE... DO
REPEAT... UNTIL
- Từ khóa điều khiển :
WITH, GOTO, EXIT
- Từ khóa toán từ :
AND, OR, NOT, IN, DIV, MOD
c) Tên chuẩn :
- Là tên đã được định nghĩa sẵn trong PASCAL, nhưng người dùng có thể định nghĩa lại nếu muốn.
- Trong PASCAL ta có các tên chuẩn sau đây :
Boolean, Char, Integer, Word, Byte, Real, Text
False, True, Maxint
Abs, Aretan, Chr, Cos, Sin, Eof, Eoln
Exp, Ln, Odd, Ord.
Round, Trunc, Sqr, Sqrt, Pred, Succ,
Dispose, New, Get, Put, Read, Readln,
Write, Writeln
Reset, Rewrite.

d) Danh hiệu tự đặt:
Trong PASCAL để đặt tên cho các biến, hằng, kiểu, chương trình con ta dùng các danh hiệu. Danh hiệu của PASCAL được bắt đầu bằng một chữ cái, sau đó là các chữ cái, chữ số hay là dấu nối.
- Ví dụ 1 :
Sau đây là các danh hiệu
x
Biến đếm
S1
PT_bac_2
- Ví dụ 2 :
Sau đây không là các danh hiệu
1AB
n!
PT bac 2
100x
Pascal không phân biệt chữ thường và chữ hoa trong một danh hiệu.
- Ví dụ 3 :
x và X là một
A1-NEW và A1-new là một
Khi viết chương trình ta nên đặt các danh hiệu sao cho chúng nói lên được ý nghĩa của đối tượng mà chúng biểu thị. Điều này giúp ta viết chương trình được dễ dàng và người khác (kể cả chính chúng ta) đọc chương trình được thoải mái, dễ hiểu, dễ kiểm chứng chương trình.

  Ý kiến bạn đọc

THÀNH VIÊN

Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Kênh Bóng đá trực tiếp hôm nay miễn phí
Kênh
90Phut TV full HD ⇔ 32win
69VN ⇔ 78 WIN ⇔ F168 ⇔ 123b

Vmax ⇔ 78Win ⇔ hubet ⇔ 789club
789f ⇔ SHBET ⇔ nh88 ⇔ x88 ⇔ 789f
fo88vic88 ⇔ x88 ⇔ win678 ⇔ okvip
BL555 ⇔ Kkwin ⇔ KJC ⇔ Link MB66
mv66af88 ⇔ 8x bet ⇔ iWinClub
789BET ⇔ B52 club ⇔ BL555 ⇔ 58WIN
OKFUN ⇔ 789F ⇔ MB66 ⇔ 8xbet
https://789betcom0.com/ ⇔ https://hi88.baby/
UU88 ⇔ 86bet ⇔ win678 ⇔ SHBET
zo88 ⇔ ev99 ⇔ Vua88 ⇔ go88
Kubet11 ⇔ topbet ⇔ v8club ⇔ tv88 ⇔ 77win
MB66 ⇔ u888 ⇔ FO88 ⇔ Sanclub
188v ⇔ f168 ⇔ QQ88 ⇔ bk8 ⇔ bk8
789club ⇔ iwinclub ⇔ Subnhanh ⇔ Bluphim
vua88 ⇔ Nettruyenviet ⇔ 
vn23 ⇔ KUWIN ⇔ kubet ⇔ 888new
NOHU ⇔ hi88 ⇔ https://fun88.social/
88clbxoso66 ⇔ https://vnalo789c.com/
https://qq88.fun/ ⇔ f168 ⇔ 888New ⇔ QQ88
daga ⇔ SHBET ⇔ keo nha cai ⇔ bl-555.site
https://bshbet.com/ ⇔ https://uk88.rocks
BJ88 ⇔ 789f ⇔ mm88 ⇔ RR88 ⇔ 78WIN
https://nohu90.ad/ ⇔ https://hello8880.net/
tv88hi88 ⇔ f168 ⇔ uu88 ⇔ 33win
NOHU ⇔ hi88com ⇔ 32win ⇔ Kuwin
ek333 ⇔ xoso66 ⇔  ⇔ Xóc đĩa online
Fun88 ⇔ https://f168.com.co/ ⇔ 28Bet
NOHU ⇔ KINGFUN ⇔ https://789club24.com/
https://98winlive.com/ ⇔ https://789win.voyage/
https://bet88yk.com/ ⇔ https://alo789apk.app/
https://33win100.com/ ⇔ Cổng game rikvip
69vn ⇔ vn88 ⇔ https://king88com.uk.net/
https://j88usd.com/ ⇔ https://okwin.technology/
game bài đổi thưởng ⇔ https://hello880.net/
https://789club60.com/ ⇔ https://jun88.black/
23win ⇔ 789p ⇔ f168 ⇔ nohu90 ⇔ onbet
nhatvip ⇔ https://789club24.com/ ⇔ 789 bet
win68 ⇔ 8xbet ⇔ go99 ⇔ 78win ⇔ 32 win
XX88 ⇔ 89BET ⇔ QQ88 ⇔ topbet
Uu88 ⇔ V8club ⇔ 78win ⇔ lương sơn tv
https://33win101.com/ ⇔ oxbet ⇔ Min88
78win ⇔ https://shbet.gg/ ⇔ XX88
daga ⇔ SV388 ⇔ 77ball ⇔ Mbet
SHBET ⇔ Kkwin ⇔ Phimbathu ⇔ Hay 88
https://shbet.solar/ ⇔ https://58winbank.com/
https://32winmb.com/ ⇔ 77BET ⇔ 12BET
vmaxVMAX ⇔ ok9 football ⇔ K8CC
nhà cái uy tín ⇔ https://hi88.gives/
https://qq88.co.com/ ⇔ https://f168.law/
game bài đổi thưởng ⇔ alo88 ⇔ vwin ⇔ sut88
https://mm88login.com/ ⇔ 79king
ww88 ⇔ vankhanhtv ⇔ https://13win.vegas/
game bài đổi thưởng ⇔ https://hi88.uno/
https://58win1.info/ ⇔ j88 ⇔ j88 ⇔ 69vn
bl555.com ⇔ 78 win ⇔ 789f ⇔ go 88
MM88 ⇔ Nh88 ⇔ 73bet ⇔ S666
11uu ⇔ 123B ⇔ 78win ⇔ 888win
https://xx88.ink/ ⇔ mv88 ⇔ YO88 ⇔ QQ88
789win ⇔ Bet88 ⇔ Vmax ⇔ Sun Win
tỷ lệ kèo nhà cái hôm nay ⇔ BIN88
https://j88.ventures/ ⇔ https://qq88.studio/
https://oldhamcarnival.org.uk/ ⇔ Leo88
88CLB ⇔ SV388 ⇔ https://cakhiatv88.net/
 ⇔ i9 Bet ⇔ Tv88 ⇔ hi88 ⇔ F8BET
socolive trực tiếp74bet ⇔ VN168
Bong88 ⇔ socolive ⇔ Sao789 ⇔ ok365
 ⇔ trực tiếp bóng đá
https://king88clb.com ⇔ nohu90 ⇔ kingfun
sv66nhà cái thabet ⇔ bong88 ⇔ Nn88
https://32win.vc/ ⇔ 888new ⇔ PG88 ⇔ PG88
EE88 ⇔ B52Club ⇔ B52 Club ⇔ lô đề hôm nay
sky88 ⇔ Vin777 ⇔ SV388 ⇔ MV66 ⇔ 32win
https://vankhanhtvv.com/ ⇔ game bài đổi thưởng
game bài đổi thưởng ⇔ https://u888lm.com/
https://sv66.coupons/ ⇔ https://f168.tech/
https://8kbetbh.com/ ⇔ https://ta88club.kim/
https://jun88.now/ ⇔ https://rr88.com.se/
Game bài đổi thưởng ⇔ tỷ lệ bóng đá
https://58win.jpn.com/ ⇔ https://xin88.sa.com/
https://qq88.photo/ ⇔ https://79king1.best
lô đề online ⇔ https://78winvina.com/
for88 ⇔ https://shbetasia.com/ ⇔ Bet88
https://888b-link.cc/ ⇔ https://sunwinn.deal/
https://sunwinn.team/ ⇔ https://bong88vn.wiki/
https://mb66az.com/ ⇔ https://shbet.racing/
789f ⇔ 88i ⇔ https://new88blog.org/
Jun88 ⇔ Jun88 ⇔ jun88 ⇔ 67bet
MM88 ⇔ https://789betw.co/ ⇔ UU88
https://qq887p.com/ ⇔ https://w88link1.com/
xocdia88 ⇔ 77ball ⇔ vuabet88 ⇔ betvisa
https://789freal.com/ ⇔ https://2789f.com/
https://fun88link0.com/ ⇔ https://fun88link1.com/
https://188betlink0.com/ ⇔ https://188betlink1.com/
https://188betlink2.com/ ⇔ https://w88link0.com/
thabet ⇔ 32WIN ⇔ J88 ⇔ ax88 ⇔ 789F
QQ88 COM ⇔ https://xx88.sale/ ⇔ 78win
https://bet88.pictures/ ⇔ https://xo88.group/
https://86bet.tech/ ⇔ https://nohu90.consulting/
789BET ⇔ https://i9betz4.com/ ⇔ đá gà 88
w88link2.com ⇔ w88link3.com ⇔ luck8
https://8dayvip.mobi/ ⇔ https://8dayvip.com/
QQ88 Com ⇔ af88 ⇔ https://79kingsr.com/
https://pg99yk.com/ ⇔  hm88.com ⇔ J88
https://luongson161.tv/ ⇔ 78WIN ⇔ MB66
78win ⇔ U888 ⇔ nn88 ⇔ 99win ⇔ hi88
https://8kbettt.com/ ⇔ https://hi88.biz/
https://thabetcasino.us.com/ ⇔ 789Win ⇔ vn88
https://hello88net.com/ ⇔ https://pg88.jpn.com/
https://az8888.org/ ⇔ https://fly88.gifts/
lc88 ⇔ VN88 ⇔ 69vn ⇔ nh88 ⇔ vn88
https://go800s.com/ ⇔ 888newport.com
tỷ lệ kèo nhà cái 88 ⇔ PG66 ⇔ 68win
BL555 ⇔ 23win ⇔ SV388 ⇔ SHBET ⇔ vua88
Game bài đổi thưởng ⇔ https://saobet.shop/
https://99ok99ok.com/ ⇔ hb88 ⇔ HM88
https://bet88.ventures/ ⇔
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây