Ch­¬ng I mét sè kh¸i niÖm vÒ lËp tr×nh vµ ng n ng÷ lËp tr×nh



tải về 111.4 Kb.
Chuyển đổi dữ liệu05.08.2016
Kích111.4 Kb.
#13859

Ch­¬ng I
Mét sè kh¸i niÖm vÒ lËp tr×nh
vµ ng«n ng÷ lËp tr×nh




  • Kh¸i niÖm c¬ së vÒ lËp tr×nh;

  • Kh¸i niÖm và c¸c thµnh phÇn cña ng«n ng÷ lËp tr×nh;

  • Vai trß vµ ph©n lo¹i ch­¬ng tr×nh dÞch.


§1. Kh¸i niÖm lËp tr×nh
vµ ng«n ng÷ lËp tr×nh


Nh­ ®· biÕt, mäi bµi to¸n cã thuËt to¸n ®Òu cã thÓ gi¶i ®­îc trªn m¸y tÝnh ®iÖn tö. Khi gi¶i bµi to¸n trªn m¸y tÝnh ®iÖn tö, sau c¸c b­íc x¸c ®Þnh bµi to¸n vµ x©y dùng hoÆc lùa chän thuËt to¸n kh¶ thi lµ b­íc lËp tr×nh.

LËp tr×nh lµ sö dông cÊu tróc d÷ liÖu vµ c¸c c©u lÖnh cña ng«n ng÷ lËp tr×nh cô thÓ ®Ó m« t¶ d÷ liÖu vµ diÔn ®¹t c¸c thao t¸c cña thuËt to¸n. Ch­¬ng tr×nh viÕt b»ng ng«n ng÷ lËp tr×nh bËc cao nãi chung kh«ng phô thuéc vµo m¸y, nghÜa lµ mét ch­¬ng tr×nh cã thÓ thùc hiÖn trªn nhiÒu m¸y. Ch­¬ng tr×nh viÕt b»ng ng«n ng÷ m¸y cã thÓ ®­îc n¹p trùc tiÕp vµo bé nhí vµ thùc hiÖn ngay cßn ch­¬ng tr×nh viÕt b»ng ng«n ng÷ lËp tr×nh bËc cao ph¶i ®­îc chuyÓn ®æi thµnh ch­¬ng tr×nh trªn ng«n ng÷ m¸y míi cã thÓ thùc hiÖn ®­îc.

Ch­¬ng tr×nh ®Æc biÖt cã chøc n¨ng chuyÓn ®æi ch­¬ng tr×nh ®­îc viÕt b»ng ng«n ng÷ lËp tr×nh bËc cao thµnh ch­¬ng tr×nh thùc hiÖn ®­îc trªn m¸y tÝnh cô thÓ ®­îc gäi lµ ch­¬ng tr×nh dÞch.

Ch­¬ng tr×nh dÞch nhËn ®Çu vµo lµ ch­¬ng tr×nh viÕt b»ng ng«n ng÷ lËp tr×nh bËc cao (ch­¬ng tr×nh nguån) thùc hiÖn chuyÓn ®æi sang ng«n ng÷ m¸y (ch­¬ng tr×nh ®Ých).



Ch­¬ng tr×nh nguån

Ch­¬ng tr×nh dÞch

Ch­¬ng tr×nh ®Ých

XÐt vÝ dô, b¹n chØ biÕt tiÕng ViÖt nh­ng cÇn giíi thiÖu vÒ tr­êng cña m×nh cho ®oµn kh¸ch ®Õn tõ n­íc MÜ, chØ biÕt tiÕng Anh. Cã hai c¸ch ®Ó b¹n thùc hiÖn ®iÒu nµy.

C¸ch thø nhÊt: B¹n nãi b»ng tiÕng ViÖt vµ ng­êi phiªn dÞch gióp b¹n dÞch sang tiÕng Anh. Sau mçi c©u hoÆc mét vµi c©u giíi thiÖu trän mét ý, ng­êi phiªn dÞch dÞch sang tiÕng Anh cho ®oµn kh¸ch. Sau ®ã, b¹n l¹i giíi thiÖu tiÕp vµ ng­êi phiªn dÞch l¹i dÞch tiÕp. ViÖc giíi thiÖu cña b¹n vµ viÖc dÞch cña ng­êi phiªn dÞch lu©n phiªn cho ®Õn khi b¹n kÕt thóc néi dung giíi thiÖu cña m×nh. C¸ch dÞch trùc tiÕp nh­ vËy ®­îc gäi lµ th«ng dÞch.

C¸ch thø hai: B¹n so¹n néi dung giíi thiÖu cña m×nh ra giÊy, ng­êi phiªn dÞch dÞch toµn bé néi dung ®ã sang tiÕng Anh råi ®äc hoÆc trao v¨n b¶n ®· dÞch cho ®oµn kh¸ch ®äc. Nh­ vËy, viÖc dÞch ®­îc thùc hiÖn sau khi néi dung giíi thiÖu ®· hoµn tÊt. Hai c«ng viÖc ®ã ®­îc thùc hiÖn trong hai kho¶ng thêi gian ®éc lËp, t¸ch biÖt nhau. C¸ch dÞch nh­ vËy ®­îc gäi lµ biªn dÞch.

Sau khi kÕt thóc, víi c¸ch thø nhÊt kh«ng cã mét v¨n b¶n nµo ®Ó l­u tr÷, cßn víi c¸ch thø hai cã hai b¶n giíi thiÖu b»ng tiÕng ViÖt vµ b»ng tiÕng Anh cã thÓ l­u tr÷ ®Ó dïng l¹i vÒ sau.

T­¬ng tù nh­ vËy, ch­¬ng tr×nh dÞch cã hai lo¹i lµ th«ng dÞchbiªn dÞch.

a) Th«ng dÞch


Th«ng dÞch (interpreter) ®­îc thùc hiÖn b»ng c¸ch lÆp l¹i d·y c¸c b­íc sau:

 KiÓm tra tÝnh ®óng ®¾n cña c©u lÖnh tiÕp theo trong ch­¬ng tr×nh nguån;

 ChuyÓn ®æi c©u lÖnh ®ã thµnh mét hay nhiÒu c©u lÖnh t­¬ng øng trong ng«n ng÷ m¸y;

 Thùc hiÖn c¸c c©u lÖnh võa chuyÓn ®æi ®­îc.

Nh­ vËy, qu¸ tr×nh dÞch vµ thùc hiÖn c¸c c©u lÖnh lµ lu©n phiªn. C¸c ch­¬ng tr×nh th«ng dÞch lÇn l­ît dÞch vµ thùc hiÖn tõng c©u lÖnh. Lo¹i ch­¬ng tr×nh dÞch nµy ®Æc biÖt thÝch hîp cho m«i tr­êng ®èi tho¹i gi÷a ng­êi vµ hÖ thèng. Tuy nhiªn, mét c©u lÖnh nµo ®ã ph¶i thùc hiÖn bao nhiªu lÇn th× nã ph¶i ®­îc dÞch bÊy nhiªu lÇn.

C¸c ng«n ng÷ khai th¸c hÖ qu¶n trÞ c¬ së d÷ liÖu, ng«n ng÷ ®èi tho¹i víi hÖ ®iÒu hµnh,... ®Òu sö dông tr×nh th«ng dÞch.


b) Biªn dÞch


Biªn dÞch (compiler) ®­îc thùc hiÖn qua hai b­íc:

 DuyÖt, kiÓm tra, ph¸t hiÖn lçi, kiÓm tra tÝnh ®óng ®¾n cña c¸c c©u lÖnh trong ch­¬ng tr×nh nguån;

 DÞch toµn bé ch­¬ng tr×nh nguån thµnh mét ch­¬ng tr×nh ®Ých cã thÓ thùc hiÖn trªn m¸y vµ cã thÓ l­u tr÷ ®Ó sö dông l¹i khi cÇn thiÕt.

Nh­ vËy, trong th«ng dÞch, kh«ng cã ch­¬ng tr×nh ®Ých ®Ó l­u tr÷, trong biªn dÞch c¶ ch­¬ng tr×nh nguån vµ ch­¬ng tr×nh ®Ých cã thÓ l­u tr÷ l¹i ®Ó sö dông vÒ sau.

Th«ng th­êng, cïng víi ch­¬ng tr×nh dÞch cßn cã mét sè dÞch vô liªn quan nh­ biªn so¹n, l­u tr÷, t×m kiÕm, cho biÕt c¸c kÕt qu¶ trung gian,... Toµn bé c¸c dÞch vô trªn t¹o thµnh mét m«i tr­êng lµm viÖc trªn mét ng«n ng÷ lËp tr×nh cô thÓ. VÝ dô, Turbo Pascal 7.0, Free Pascal 1.2, Visual Pascal 2.1,... trªn ng«n ng÷ Pascal, Turbo C++, Visual C++,... trªn ng«n ng÷ C++.

C¸c m«i tr­êng lËp tr×nh kh¸c nhau ë nh÷ng dÞch vô mµ nã cung cÊp, ®Æc biÖt lµ c¸c dÞch vô n©ng cÊp, t¨ng c­êng c¸c kh¶ n¨ng míi cho ng«n ng÷ lËp tr×nh.

Em cã biÕt

Ai lµ lËp tr×nh viªn ®Çu tiªn?


§ã lµ mét phô n÷, bµ Ada Augusta Byron Lovelace, con g¸i cña nhµ th¬ næi tiÕng thêi ®ã Lord Byron. Ada lµ mét trong nh÷ng nh©n vËt Ên t­îng nhÊt trong lÞch sö Tin häc. Bµ sinh ngµy 10/12/1815 vµ lµ ng­êi cïng thêi víi Charles Babbage, ng­êi ®Çu tiªn ®­a ra ®Ò ¸n thiÕt kÕ chiÕc m¸y tÝnh ®iÒu khiÓn theo ch­¬ng tr×nh cã tªn lµ Analytical Engine (m¸y gi¶i tÝch).

Tõ nhá, bµ ®· næi tiÕng lµ mét ng­êi th«ng minh, cã kh¶ n¨ng ®Æc biÖt vÒ to¸n häc.

Ngay tõ khi thiÕt kÕ m¸y gi¶i tÝch cßn ë trªn giÊy, Ada ®· ®Ò xuÊt víi Babbage mét kÕ ho¹ch chi tiÕt ®Ó m¸y gi¶i tÝch tÝnh c¸c sè Bernouilli. Ngµy nay ng­êi ta coi kÕ ho¹ch nµy lµ ch­¬ng tr×nh m¸y tÝnh ®Çu tiªn vµ bµ ®­îc gäi lµ lËp tr×nh viªn ®Çu tiªn.

C¸c ghi chÐp ®­îc c«ng bè cña Ada cho tíi nay vÉn ®Æc biÖt cã ý nghÜa ®èi víi c¸c lËp tr×nh viªn. Gi¸o s­ J. Von Neumann ®· viÕt r»ng c¸c quan s¸t cña Ada "chøng tá bµ ®· hiÓu ®­îc c¸c nguyªn t¾c lËp tr×nh m¸y tÝnh tr­íc thêi ®¹i cña m×nh hµng thÕ kØ".

Nh­ mét nhµ to¸n häc, Ada ®¸nh gi¸ cao kh¶ n¨ng tù ®éng ho¸ c¸c c«ng viÖc tÝnh to¸n nÆng nhäc. Nh­ng bµ quan t©m h¬n ®Õn c¸c nguyªn t¾c cña viÖc lËp tr×nh c¸c thiÕt bÞ ®ã. Ngay khi m¸y gi¶i tÝch cßn ch­a ®­îc x©y dùng, Ada ®· thÝ nghiÖm viÕt nh÷ng d·y lÖnh. Bµ nhËn ra gi¸ trÞ cña mét vµi thñ thuËt ®Æc biÖt trong nghÖ thuËt míi nµy vµ ®iÒu thó vÞ lµ nh÷ng thñ thuËt nµy hiÖn giê vÉn cßn lµ c¬ b¶n ®èi víi c¸c ng«n ng÷ lËp tr×nh hiÖn ®¹i, ®ã chÝnh lµ ch­¬ng tr×nh con, vßng lÆp vµ c¸c phÐp chuyÓn ®iÒu khiÓn.

Thay cho viÖc viÕt c¸c d·y lÖnh lÆp ®i lÆp l¹i nhiÒu lÇn, ta cã thÓ viÕt chóng d­íi d¹ng c¸c ch­¬ng tr×nh con ®Ó dïng nhiÒu lÇn. C¸c ch­¬ng tr×nh con ngµy nay lµ thµnh phÇn kh«ng thÓ thiÕu ®­îc cña mäi ng«n ng÷ lËp tr×nh.

M¸y gi¶i tÝch vµ c¸c m¸y tÝnh sè thùc hiÖn rÊt tèt c¸c tÝnh to¸n nhiÒu lÇn mét c¸ch nhanh chãng. Thêi k× ®ã, c¸c b×a ®ôc lç ®­îc sö dông ®Ó ®­a d÷ liÖu vµ c¸c lÖnh vµo m¸y. B»ng viÖc ph¸t minh ra c¸c lÖnh thùc hiÖn viÖc chuyÓn thiÕt bÞ ®äc b×a vÒ mét b×a x¸c ®Þnh tr­íc nã, sao cho d·y c¸c lÖnh cã thÓ ®­îc thùc hiÖn mét sè lÇn nhÊt ®Þnh, Ada ®· ph¸t minh ra vßng lÆp – mét trong nh÷ng cÊu tróc ®iÒu khiÓn quan träng trong c¸c ng«n ng÷ lËp tr×nh.

Kh¶ n¨ng l«gic cña Ada ®· ph¸t huy víi phÐp chuyÓn ®iÒu khiÓn cã ®iÒu kiÖn. Bµ nghÜ ra mét lo¹i lÖnh ®Ó thao t¸c víi thiÕt bÞ ®äc b×a, nh­ng thay cho viÖc quay l¹i vµ lÆp l¹i d·y b×a, lÖnh nµy cho phÐp thiÕt bÞ ®äc b×a chuyÓn tíi mét b×a kh¸c t¹i bÊt k× vÞ trÝ nµo trong d·y, nÕu mét ®iÒu kiÖn nµo ®ã ®­îc tho¶ m·n. ViÖc thªm ch÷ NÕU ®ã vµo danh s¸ch c¸c lÖnh sè häc thuÇn tuý tr­íc ®©y cã nghÜa lµ ch­¬ng tr×nh cã thÓ lµm nhiÒu h¬n lµ tÝnh to¸n ®¬n thuÇn. ë d¹ng th« s¬ nh­ng vÒ tiÒm n¨ng lµ rÊt cã ý nghÜa, m¸y gi¶i tÝch cã thÓ thùc hiÖn c¸c quyÕt ®Þnh.

Ada mÊt n¨m 1852, khi míi qua tuæi 36. NÕu nh­ bµ kh«ng qua ®êi sím nh­ vËy, ch¾c ch¾n khoa häc lËp tr×nh cña thÕ kØ XIX ®· cã thÓ tiÕn nhanh h¬n nhiÒu.

§Ó t­ëng nhí c«ng lao cña Ada, mét ng«n ng÷ lËp tr×nh do Bé Quèc phßng MÜ t¹o ra n¨m 1979 mang tªn bµ.


§2. C¸c thµnh phÇn cña ng«n ng÷ lËp tr×nh

1. C¸c thµnh phÇn c¬ b¶n


Mçi ng«n ng÷ lËp tr×nh th­êng cã ba thµnh phÇn c¬ b¶n lµ b¶ng ch÷ c¸i, có ph¸p ng÷ nghÜa.

a) B¶ng ch÷ c¸i lµ tËp c¸c kÝ tù ®­îc dïng ®Ó viÕt ch­¬ng tr×nh. Kh«ng ®­îc phÐp dïng bÊt k× kÝ tù nµo ngoµi c¸c kÝ tù quy ®Þnh trong b¶ng ch÷ c¸i.

Trong Pascal, b¶ng ch÷ c¸i bao gåm c¸c kÝ tù:



  • C¸c ch÷ c¸i th­êng vµ c¸c ch÷ c¸i in hoa cña b¶ng ch÷ c¸i tiÕng Anh:

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z



  • 10 ch÷ sè thËp ph©n ¶ RËp: 0 1 2 3 4 5 6 7 8 9

  • C¸c kÝ tù ®Æc biÖt:

+

-

*

/

=

<

>

[

]

.

, (dÊu phÈy)

;

#

^

$

@

&

(

)

{

}

:

' (dÊu nh¸y)

dÊu c¸ch (m· ASCII 32)

_ (dÊu g¹ch d­íi)

B¶ng ch÷ c¸i cña c¸c ng«n ng÷ lËp tr×nh nãi chung kh«ng kh¸c nhau nhiÒu. VÝ dô, b¶ng ch÷ c¸i cña ng«n ng÷ lËp tr×nh C++ chØ kh¸c Pascal lµ cã sö dông thªm c¸c kÝ tù nh­ dÊu nh¸y kÐp ("), dÊu sæ ng­îc (\), dÊu chÊm than (!).

b) Có ph¸p lµ bé quy t¾c ®Ó viÕt ch­¬ng tr×nh. Dùa vµo chóng, ng­êi lËp tr×nh vµ ch­¬ng tr×nh dÞch biÕt ®­îc tæ hîp nµo cña c¸c kÝ tù trong b¶ng ch÷ c¸i lµ hîp lÖ vµ tæ hîp nµo lµ kh«ng hîp lÖ. Nhê ®ã, cã thÓ m« t¶ chÝnh x¸c thuËt to¸n ®Ó m¸y thùc hiÖn.

c) Ng÷ nghÜa x¸c ®Þnh ý nghÜa thao t¸c cÇn ph¶i thùc hiÖn, øng víi tæ hîp kÝ tù dùa vµo ng÷ c¶nh cña nã.

VÝ dô

PhÇn lín c¸c ng«n ng÷ lËp tr×nh ®Òu sö dông dÊu céng (+) ®Ó chØ phÐp céng. XÐt c¸c biÓu thøc:

A + B (1)

I + J (2)

Gi¶ thiÕt A, B lµ c¸c ®¹i l­îng nhËn gi¸ trÞ thùc vµ I, J lµ c¸c ®¹i l­îng nhËn gi¸ trÞ nguyªn. Khi ®ã dÊu "+" trong biÓu thøc (1) ®­îc hiÓu lµ céng hai sè thùc, dÊu "+" trong biÓu thøc (2) ®­îc hiÓu lµ céng hai sè nguyªn. Nh­ vËy, ng÷ nghÜa dÊu "+" trong hai ng÷ c¶nh kh¸c nhau lµ kh¸c nhau.

Tãm l¹i, có ph¸p cho biÕt c¸ch viÕt mét ch­¬ng tr×nh hîp lÖ, cßn ng÷ nghÜa x¸c ®Þnh ý nghÜa cña c¸c tæ hîp kÝ tù trong ch­¬ng tr×nh.

C¸c lçi có ph¸p ®­îc ch­¬ng tr×nh dÞch ph¸t hiÖn vµ th«ng b¸o cho ng­êi lËp tr×nh biÕt. ChØ cã c¸c ch­¬ng tr×nh kh«ng cßn lçi có ph¸p míi cã thÓ ®­îc dÞch sang ng«n ng÷ m¸y.

C¸c lçi ng÷ nghÜa khã ph¸t hiÖn h¬n. PhÇn lín c¸c lçi ng÷ nghÜa chØ ®­îc ph¸t hiÖn khi thùc hiÖn ch­¬ng tr×nh trªn d÷ liÖu cô thÓ.


2. Mét sè kh¸i niÖm

a) Tªn


Mäi ®èi t­îng trong ch­¬ng tr×nh ®Òu ph¶i ®­îc ®Æt tªn theo quy t¾c cña ng«n ng÷ lËp tr×nh vµ tõng ch­¬ng tr×nh dÞch cô thÓ.

Trong Turbo Pascal tªn lµ mét d·y liªn tiÕp kh«ng qu¸ 127 kÝ tù bao gåm ch÷ sè, ch÷ c¸i hoÆc dÊu g¹ch d­íi vµ b¾t ®Çu b»ng ch÷ c¸i hoÆc dÊu g¹ch d­íi. Trong ch­¬ng tr×nh dÞch Free Pascal, tªn cã thÓ cã ®é dµi tíi 255 kÝ tù.

VÝ dô, trong ng«n ng÷ Pascal:


  • C¸c tªn ®óng: A

R21

P21_c


_45

  • C¸c tªn sai:

A BC (chøa kÝ tù tr¾ng)

6Pq (b¾t ®Çu b»ng ch÷ sè)

X#Y (chøa kÝ tù "#" kh«ng hîp lÖ)

Ng«n ng÷ Pascal kh«ng ph©n biÖt ch÷ hoa, ch÷ th­êng trong tªn. Mét sè ng«n ng÷ lËp tr×nh kh¸c (vÝ dô nh­ C++) ph©n biÖt ch÷ hoa, ch÷ th­êng. VÝ dô, ABAb lµ mét tªn trong Pascal, nh­ng l¹i lµ hai tªn kh¸c nhau trong C++.

NhiÒu ng«n ng÷ lËp tr×nh, trong ®ã cã Pascal, ph©n biÖt ba lo¹i tªn:


  • Tªn dµnh riªng;

  • Tªn chuÈn;

  • Tªn do ng­êi lËp tr×nh ®Æt.

Tªn dµnh riªng

Mét sè tªn ®­îc ng«n ng÷ lËp tr×nh quy ®Þnh dïng víi ý nghÜa x¸c ®Þnh, ng­êi lËp tr×nh kh«ng ®­îc sö dông víi ý nghÜa kh¸c. Nh÷ng tªn nµy ®­îc gäi lµ tªn dµnh riªng (cßn ®­îc gäi lµ tõ kho¸).



VÝ dô. Mét sè tªn dµnh riªng:

Trong Pascal: program, uses, const, type, var, begin, end.

Trong C++: main, include, if, while, void.

Tªn chuÈn

Mét sè tªn ®­îc ng«n ng÷ lËp tr×nh dïng víi ý nghÜa nµo ®ã. Nh÷ng tªn nµy ®­îc gäi lµ tªn chuÈn. Tuy nhiªn, ng­êi lËp tr×nh cã thÓ khai b¸o vµ dïng chóng víi ý nghÜa vµ môc ®Ých kh¸c.

ý nghÜa cña c¸c tªn chuÈn ®­îc quy ®Þnh trong c¸c th­ viÖn cña ng«n ng÷ lËp tr×nh.

VÝ dô. Mét sè tªn chuÈn

- Trong Pascal:

abs integer real

sqr longint extended

sqrt byte break

- Trong C++:

cin cout getchar

Tªn do ng­êi lËp tr×nh ®Æt

Tªn do ng­êi lËp tr×nh ®Æt ®­îc dïng víi ý nghÜa riªng, x¸c ®Þnh b»ng c¸ch khai b¸o tr­íc khi sö dông. C¸c tªn nµy kh«ng ®­îc trïng víi tªn dµnh riªng.



VÝ dô

Tªn do ng­êi lËp tr×nh ®Æt:

A1

DELTA


CT_Vidu

b) H»ng vµ biÕn


H»ng

H»ng lµ c¸c ®¹i l­îng cã gi¸ trÞ kh«ng thay ®æi trong qu¸ tr×nh thùc hiÖn ch­¬ng tr×nh.

Trong c¸c ng«n ng÷ lËp tr×nh th­êng cã c¸c h»ng sè häc, h»ng l«gic, h»ng x©u.



  • H»ng sè häc lµ c¸c sè nguyªn hay sè thùc (dÊu phÈy tÜnh hoÆc dÊu phÈy ®éng), cã dÊu hoÆc kh«ng dÊu.

  • H»ng l«gic lµ gi¸ trÞ ®óng hoÆc sai t­¬ng øng víi true hoÆc false.

  • H»ng x©u lµ chuçi kÝ tù trong b¶ng ch÷ c¸i. Khi viÕt, chuçi kÝ tù nµy ®­îc ®Æt trong cÆp dÊu nh¸y (Pascal dïng dÊu nh¸y ®¬n, cßn C++ dïng dÊu nh¸y kÐp).

VÝ dô

- H»ng sè häc: 2 0 -5 +18

1.5 -22.36 +3.14159 0.5

-2.236E01 1.0E-6

- H»ng l«gic:

+ Trong Pascal: TRUE FALSE

- H»ng x©u:

+ Trong Pascal: 'Informatic' 'TIN HOC'

+ Trong C++: "Informatic" "TIN HOC"

Chó ý: H»ng dÊu nh¸y ®¬n trong Pascal ®­îc viÕt lµ '''.

BiÕn

BiÕn lµ ®¹i l­îng ®­îc ®Æt tªn, dïng ®Ó l­u tr÷ gi¸ trÞ vµ gi¸ trÞ cã thÓ ®­îc thay ®æi trong qu¸ tr×nh thùc hiÖn ch­¬ng tr×nh.

Tuú theo c¸ch l­u tr÷ vµ xö lÝ, Pascal ph©n biÖt nhiÒu lo¹i biÕn. C¸c biÕn dïng trong ch­¬ng tr×nh ®Òu ph¶i khai b¸o. ViÖc khai b¸o biÕn sÏ ®­îc tr×nh bµy ë c¸c phÇn sau.


c) Chó thÝch


Cã thÓ ®Æt c¸c ®o¹n chó thÝch trong ch­¬ng tr×nh nguån. C¸c chó thÝch nµy gióp cho ng­êi ®äc ch­¬ng tr×nh nhËn biÕt ng÷ nghÜa cña ch­¬ng tr×nh ®ã dÔ h¬n. Chó thÝch kh«ng ¶nh h­ëng ®Õn néi dung ch­¬ng tr×nh nguån vµ ®­îc ch­¬ng tr×nh dÞch bá qua.

Trong Pascal c¸c ®o¹n chó thÝch ®Æt gi÷a cÆp dÊu { vµ } hoÆc (* vµ *). Mét trong nh÷ng c¸ch t¹o chó thÝch trong C++ lµ ®Æt chóng gi÷a cÆp dÊu /* vµ */.



TãM T¾T

  • CÇn cã ch­¬ng tr×nh dÞch ®Ó chuyÓn ch­¬ng tr×nh nguån thµnh ch­¬ng tr×nh ®Ých.

  • Cã hai lo¹i ch­¬ng tr×nh dÞch: th«ng dÞch vµ biªn dÞch.

  • C¸c thµnh phÇn cña ng«n ng÷ lËp tr×nh: b¶ng ch÷ c¸i, có ph¸p vµ ng÷ nghÜa.

  • Mäi ®èi t­îng trong ch­¬ng tr×nh ®Òu ph¶i ®­îc ®Æt tªn:

    • Tªn dµnh riªng: §­îc dïng víi ý nghÜa riªng, kh«ng ®­îc dïng víi ý nghÜa kh¸c.

    • Tªn chuÈn: Tªn dïng víi ý nghÜa nhÊt ®Þnh, khi cÇn dïng víi ý nghÜa kh¸c th× ph¶i khai b¸o.

    • Tªn do ng­êi lËp tr×nh ®Æt: cÇn khai b¸o tr­íc khi sö dông.

  • H»ng: §¹i l­îng cã gi¸ trÞ kh«ng thay ®æi trong qu¸ tr×nh thùc hiÖn ch­¬ng tr×nh.

  • BiÕn: §¹i l­îng ®­îc ®Æt tªn. Gi¸ trÞ cña biÕn cã thÓ thay ®æi trong qu¸ tr×nh thùc hiÖn ch­¬ng tr×nh.

C¢U HáI Vµ BµI TËP

  1. T¹i sao ng­êi ta ph¶i x©y dùng c¸c ng«n ng÷ lËp tr×nh bËc cao?

  2. Ch­¬ng tr×nh dÞch lµ g×? T¹i sao cÇn ph¶i cã ch­¬ng tr×nh dÞch?

  3. Biªn dÞch vµ th«ng dÞch kh¸c nhau nh­ thÕ nµo?

  4. H·y cho biÕt c¸c ®iÓm kh¸c nhau gi÷a tªn dµnh riªng vµ tªn chuÈn.

  5. H·y tù viÕt ra ba tªn ®óng theo quy t¾c cña Pascal vµ cã ®é dµi kh¸c nhau.

  6. H·y cho biÕt nh÷ng biÓu diÔn nµo d­íi ®©y kh«ng ph¶i lµ biÓu diÔn h»ng trong Pascal vµ chØ râ lçi trong tõng tr­êng hîp:

a) 150.0 b) -22 c) 6,23 d) '43'

e) A20 f) 1.06E-15 g) 4+6 h) 'C

i) 'TRUE'

Em cã biÕt


Ai lµ T¸c gi¶ cña ng«n ng÷ Pascal?


Gi¸o s­ Niclaus Wirth, t¸c gi¶ cña ng«n ng÷ Pascal sinh n¨m 1934 t¹i Thuþ SÜ. ¤ng tèt nghiÖp §¹i häc C«ng nghÖ Liªn bang Thuþ SÜ (ETH) t¹i thµnh phè quª h­¬ng Zuyrich vµo n¨m 1958. ¤ng nhËn b»ng Th¹c sÜ t¹i tr­êng §¹i häc Tæng hîp Laval ë Quebec, Canada n¨m 1960.

N¨m 1963, t¹i §¹i häc Tæng hîp California (MÜ) d­íi sù l·nh ®¹o cña gi¸o s­ Garry Hasky «ng thùc hiÖn ®Ò ¸n më réng ng«n ng÷ Algol-60 (ng«n ng÷ Euler) vµ b¶o vÖ luËn ¸n tiÕn sÜ.

Trong c¸c n¨m 1963-1967, «ng gi¶ng d¹y t¹i §¹i häc tæng hîp Stanford MÜ). Còng trong thêi gian nµy «ng ®­îc mêi vµo nhãm chuyªn gia quèc tÕ IFIP thiÕt kÕ Algol-68.

N¨m 1967, Wirth trë vÒ n­íc vµ gi¶ng d¹y t¹i Tæng hîp Zuyrich.

N¨m 1968, «ng chuyÓn sang ETH, t¹i ®©y «ng b¾t ®Çu tham gia thiÕt kÕ Pascal.

N¨m 1970, ch­¬ng tr×nh dÞch Pascal ®Çu tiªn ®­îc hoµn thµnh.

Trong thêi gian 1978-1981, Wirth l·nh ®¹o Dù ¸n thiÕt kÕ ng«n ng÷ Modula-2, m¸y tÝnh c¸ nh©n 16-bit Lilit dùa trªn nã vµ hÖ ®iÒu hµnh OS Medos. TÊt c¶ c¸c ch­¬ng tr×nh, kÓ c¶ ch­¬ng tr×nh hÖ thèng, ®­îc thùc hiÖn hoµn toµn trªn Modula-2.

N¨m 1984, do c«ng lao to lín trong viÖc ph¸t triÓn c¸c ng«n ng÷ lËp tr×nh vµ thiÕt kÕ m¸y tÝnh c¸ nh©n Lilit, «ng ®­îc gi¶i th­ëng Alan Turing - gi¶i th­ëng cao quý nhÊt trong giíi Tin häc, mµ vÒ ý nghÜa ®­îc coi lµ t­¬ng ®­¬ng víi gi¶i Nobel.

Trong thêi gian 1986-1989, Wirth l·nh ®¹o dù ¸n ph¸t triÓn ng«n ng÷ Oberon, hÖ ®iÒu hµnh h­íng ®èi t­îng Oberon vµ tr¹m lµm viÖc 32-bit Ceres. RÊt nhiÒu ý t­ëng cña Dù ¸n nµy ®­îc c¸c ®ång nghiÖp tõ phßng thÝ nghiÖm Sun Labs sö dông cho ng«n ng÷ vµ c«ng nghÖ Java.

Tõ n¨m 1990 «ng l·nh ®¹o ViÖn C¸c hÖ thèng m¸y tÝnh t¹i ETH.

N¨m 1999, «ng nghØ h­u vµ trë thµnh Gi¸o s­ danh dù cña ETH.

Bµi ®äc thªm 1


Pascal - Ng«n ng÷ cña häc ®­êng?


Pascal ... Hái cã ng­êi lËp tr×nh nµo kh«ng biÕt ng«n ng÷ nµy? Thµnh c«ng vang déi cña nã b¾t ®Çu vµo nh÷ng n¨m 1980, thêi gian cña cuéc c¸ch m¹ng trong c«ng nghiÖp m¸y tÝnh vµ giai ®o¹n në ré cña lËp tr×nh cã cÊu tróc. Cã thÓ nãi Pascal xøng ®¸ng lµ ®iÓm khëi ®Çu cho mét kØ nguyªn míi cña c¸c ng«n ng÷ lËp tr×nh.

Pascal - Sù ra ®êi vµ ®Æc ®iÓm

Vµo ®Çu n¨m 1971, b¶n m« t¶ ng«n ng÷ míi cña ViÖn C«ng nghÖ Liªn bang Thuþ SÜ ®­îc c«ng bè trong sè ®Çu tiªn cña t¹p chÝ Acta Informatica. Sù ra ®êi cña Pascal cã thÓ ®­îc tÝnh tõ thêi ®iÓm nµy.

T¸c gi¶ cña nã, Gi¸o s­ Niclaus Wirth trë nªn næi tiÕng v× sù xuÊt hiÖn cña Pascal. Nh÷ng dù ¸n sau nµy cña «ng chøng minh hïng hån cho thÕ giíi r»ng ch×a kho¸ tíi c¸c bÝ mËt cña m¸y tÝnh chÝnh lµ ë sù kÕt hîp hµi hoµ gi÷a To¸n häc, C«ng nghÖ vµ LËp tr×nh. Vµ nÕu tiÕp cËn vÊn ®Ò mét c¸ch hîp lÝ th× cã thÓ t¹o ra c¸c ng«n ng÷, hÖ ®iÒu hµnh vµ ngay c¶ c¸c m¸y tÝnh tuyÖt vêi v­ît c¸c chuÈn c«ng nghiÖp,... chØ b»ng søc lùc cña nh÷ng sinh viªn.

Ng­êi ta th­êng nãi ®Õn c¸c ®iÓm kh¸c biÖt cña Pascal so víi nh÷ng ng«n ng÷ kh¸c, nh­ ng«n ng÷ C. Nh­ng chÝnh Dennis Ritchie, t¸c gi¶ cña C ®· ph¸t biÓu (1993): "T«i kh¼ng ®Þnh r»ng Pascal rÊt gÇn víi C. Hai ng«n ng÷ nµy kh¸c biÖt vÒ chi tiÕt, nh­ng vÒ c¬ së chóng lµ gièng nhau... Khi nh×n vµo c¸c kiÓu d÷ liÖu, còng nh­ c¸c phÐp to¸n trªn chóng, ta cã thÓ ph¸t hiÖn ra nh÷ng sù gièng nhau rÊt lín. MÆc dï r»ng ý ®å cña Wirth khi t¹o ra Pascal rÊt kh¸c víi ý ®å cña chóng t«i khi t¹o ra C. Wirth t¹o ng«n ng÷ ®Ó gi¶ng d¹y vµ do vËy tÊt nhiªn cÇn ®¸p øng c¸c yªu cÇu s­ ph¹m".

Kh¸c víi C, Pascal kh«ng ®­îc t¹o ra ®Ó lµm ng«n ng÷ lËp tr×nh hÖ thèng. §Ó ®Ò cao tÝnh ®¬n gi¶n vµ hiÖu qu¶ dùa trªn møc ®é hiÓu vÒ khoa häc lËp tr×nh thêi bÊy giê, Wirth chñ t©m chÊp nhËn c¸c h¹n chÕ cña ng«n ng÷, tr­íc tiªn trong c¸c vÊn ®Ò liªn quan ®Õn thÕ giíi bªn ngoµi (vµo/ra vµ c¸c c«ng cô phô thuéc hÖ thèng). MÆc dï vËy, nÕu nghÜ r»ng Pascal lµ ng«n ng÷ chØ dµnh ®Ó gi¶ng d¹y, th× sÏ sai lÇm. H·y nghe chÝnh ý kiÕn cña Wirth vÒ vÊn ®Ò nµy (1984): "Cã ng­êi cho r»ng Pascal ®­îc thiÕt kÕ nh­ mét ng«n ng÷ ®Ó gi¶ng d¹y. MÆc dï ®iÒu nµy lµ ®óng, nh­ng viÖc sö dông nã ®Ó gi¶ng d¹y kh«ng ph¶i lµ môc ®Ých duy nhÊt. Thùc tÕ, t«i kh«ng tin vµo sù thµnh c«ng cña viÖc ¸p dông trong khi häc c¸c c«ng cô vµ ph­¬ng ph¸p mµ kh«ng thÓ sö dông ®Ó gi¶i quyÕt c¸c bµi to¸n thùc tÕ. Theo c¸c tiªu chuÈn ngµy nay th× Pascal cã nh÷ng yÕu ®iÓm râ rµng khi lËp tr×nh c¸c hÖ thèng lín, nh­ng 15 n¨m tr­íc, nã lµ tho¶ hiÖp hîp lÝ gi÷a c¸i mong muèn vµ hiÖu qu¶".

Pascal vµ lËp tr×nh cã cÊu tróc

Ng«n ng÷ Pascal ®­îc Wirth t¹o ra d­íi ¶nh h­ëng c¸c t­ t­ëng cña C. A. R. Hoare, ®¨ng trong c«ng tr×nh "Bµn vÒ cÊu tróc d÷ liÖu" (Notes on Data Structuring, Academic Press, 1972). §ãng gãp cña nhµ b¸c häc ng­êi Anh lín tíi møc cã thÓ gäi «ng lµ cha ®ì ®Çu cña Pascal.

Pascal ®­îc coi nh­ khëi ®Çu cña kØ nguyªn lËp tr×nh cÊu tróc. TÊt c¶ b¾t ®Çu tõ bµi b¸o cña chuyªn gia ng­êi Hµ Lan E. W Dijkstra "LËp tr×nh cÊu tróc" (Structured Programming, 1969). Trong bµi b¸o nµy «ng ®Ò xuÊt h¹n chÕ c¸c cÊu tróc ®iÒu khiÓn ch­¬ng tr×nh chØ ë ba d¹ng lµ tuÇn tù, rÏ nh¸nh vµ lÆp. Tõ ®ã, suy ra r»ng c©u lÖnh chuyÓn v« ®iÒu kiÖn (goto) trong c¸c ng«n ng÷ ALGOL vµ PL/1 (rÊt phæ biÕn thêi bÊy giê) lµ hoµn toµn kh«ng cÇn thiÕt. ThËt sù lµ Wirth còng kh«ng d¸m lo¹i c©u lÖnh nµy khái Pascal. Nh­ng ®iÒu chñ yÕu n»m ë chç kh¸c: LËp tr×nh cÊu tróc liªn quan ®Õn nguyªn t¾c "tõ trªn xuèng d­íi" (lµm mÞn tõng b­íc), yªu cÇu tÝnh cÊu tróc cña ®iÒu khiÓn vµ d÷ liÖu, dùa vµo sù ®¬n gi¶n vµ c¬ së to¸n häc mµ t¨ng ®é tin cËy cña phÇn mÒm. TÊt c¶ nh÷ng ®iÒu nµy ®Òu kh¶ thi nhê c¸c kh¶ n¨ng cña Pascal.

VÒ ý ®å khi x©y dùng Pascal, Wirth viÕt: "§iÓm míi cña Pascal lµ ®­a ra c¸c cÊu tróc vµ kiÓu d÷ liÖu phong phó, còng gièng nh­ ALGOL ®­a ra c¸c lo¹i cÊu tróc ®iÒu khiÓn. Trong ALGOL chØ cã ba kiÓu d÷ liÖu c¬ së: c¸c sè nguyªn vµ thùc, gi¸ trÞ ch©n lÝ, m¶ng; Pascal ®· ®­a thªm c¸c kiÓu d÷ liÖu c¬ së vµ cßn cho kh¶ n¨ng x¸c ®Þnh nh÷ng kiÓu c¬ së míi (kiÓu liÖt kª, kiÓu miÒn con), còng nh­ c¸c d¹ng cÊu tróc d÷ liÖu míi: b¶n ghi, tËp hîp, tÖp, mµ mét sè trong chóng ®· cã trong COBOL. Vµ tÊt nhiªn, quan träng nhÊt lµ tÝnh ®Ö quy trong viÖc m« t¶ c¸c cÊu tróc vµ hÖ qu¶ cña ®iÒu nµy lµ kh¶ n¨ng kÕt hîp vµ lång c¸c cÊu tróc".



Pascal cã tiÕp tôc tån t¹i?!

§Ó kÕt luËn, xin trÝch dÉn lêi cña Dennis Ritchie t¸c gi¶ ng«n ng÷ C: "Pascal lµ mét ng«n ng÷ thanh lÞch. Nã vÉn tiÕp tôc tån t¹i. Nã ®· khëi nguån cho kh«ng Ýt ng«n ng÷ ®µn em vµ cã ¶nh h­ëng s©u s¾c ®Õn viÖc thiÕt kÕ c¸c ng«n ng÷ lËp tr×nh nãi chung".

Em cã biÕt

Em biÕt g× vÒ c¸c ng«n ng÷ lËp tr×nh?


§· cã hµng ngµn ng«n ng÷ lËp tr×nh ®­îc thiÕt kÕ vµ mçi n¨m l¹i cã thªm nhiÒu ng«n ng÷ lËp tr×nh míi xuÊt hiÖn. C¸c ng«n ng÷ th­êng ®­îc nh¾c ®Õn lµ: Ada, Algol, APL, Assembly, BASIC, C, C++, C#, COBOL, Delphi, DHTML, Fortran, Java, JavaScript, Lisp, Logo, Pascal, Perl, PHP, PL/SQL, Prolog, Python, Ruby, Visual Basic, Visual Foxpro,… Sù ph¸t triÓn cña ng«n ng÷ lËp tr×nh g¾n liÒn víi sù ph¸t triÓn cña tin häc. Mçi lo¹i ng«n ng÷ phï hîp h¬n víi mét sè líp bµi to¸n nhÊt ®Þnh. Cïng víi tªn c¸c ng«n ng÷ lËp tr×nh, c¸c thuËt ng÷ th­êng ®­îc nh¾c tíi nh­ "lËp tr×nh cÊu tróc", "lËp tr×nh h­íng ®èi t­îng", "lËp tr×nh web",…

Nh÷ng ng«n ng÷ lËp tr×nh hiÖn nay th­êng cung cÊp c¸c th­ viÖn bao gåm nhiÒu hµm hç trî giao diÖn ng­êi dïng vµ c¸c thiÕt bÞ ®Çu cuèi. CËp nhËt d÷ liÖu theo thêi gian thùc lµ mét h­íng ph¸t triÓn nh»m ®¸p øng c¸c nhu cÇu ®ång bé ho¸ nhanh d÷ liÖu dïng chung cho nhiÒu n¬i hay lµ ®Ó tho¶ m·n nhu cÇu cÇn ®ång bé ho¸ d÷ liÖu cña c¸c dÞch vô (nh­ trong ng©n hµng, hµng kh«ng vµ qu©n sù). Ngoµi viÖc hç trî cho c¸c giao diÖn, ngµy nay hÇu hÕt c¸c hÖ ®iÒu hµnh (UNIX/Linux, Netware vµ Windows) ®Òu cã kh¶ n¨ng ®a luång (multithreading) hay ®a nhiÖm (multitasking) n©ng cao hiÖu qu¶ cña m¸y tÝnh. Do ®ã, c¸c ng«n ng÷ th­êng cã thªm c¸c hµm, thñ tôc hay c¸c biÕn cho phÐp ng­êi lËp tr×nh tËn dông ®iÒu nµy.



D­íi ®©y giíi thiÖu mét sè ng«n ng÷ lËp tr×nh th«ng dông: Algol, Basic, C, C++, Cobol, Fortran, Pascal, Java, Visual,…

  • Fortran (hay FORTRAN) lµ mét ng«n ng÷ lËp tr×nh ®­îc ph¸t triÓn tõ nh÷ng n¨m 1950 vµ vÉn ®­îc dïng nhiÒu trong tÝnh to¸n khoa häc cho ®Õn h¬n nöa thÕ kØ sau. Tªn gäi nµy xuÊt ph¸t tõ viÖc ghÐp c¸c tõ tiÕng Anh Formula Translator nghÜa lµ dÞch c«ng thøc. C¸c phiªn b¶n ®Çu cã tªn chÝnh thøc lµ FORTRAN. §iÓm yÕu cña FORTRAN lµ thiÕu hç trî trùc tiÕp cho c¸c kÕt cÊu cã cÊu tróc, kiÓu d÷ liÖu cßn nghÌo, kh«ng thuËn lîi cho xö lÝ x©u. Fortran ®­îc ph¸t triÓn ban ®Çu nh­ lµ mét ng«n ng÷ thñ tôc. Tuy nhiªn c¸c phiªn b¶n míi cña Fortran ®· cã c¸c tÝnh n¨ng hç trî lËp tr×nh h­íng ®èi t­îng.

  • COBOL ra ®êi n¨m 1959, ®­îc chÊp nhËn dïng cho c¸c øng dông xö lÝ d÷ liÖu th­¬ng m¹i, kinh doanh.

  • ALGOL do Uû ban c¸c nhµ tin häc Ch©u ¢u vµ Hoa K× (Committee of EU & USA computer scientists) t¹o ra n¨m 1958, lµ ng«n ng÷ tiªn phong ®­a ra tËp c¸c thñ tôc, ®Þnh kiÓu d÷ liÖu cùc k× phong phó,... vµ cã ¶nh h­ëng m¹nh tíi c¸c ng«n ng÷ ra ®êi sau.

  • BASIC lµ ng«n ng÷ ®­îc ph¸t triÓn n¨m 1963 bëi John Kemeny vµ Thomas Kurtz. BASIC lµ ng«n ng÷ cßn nhiÒu h¹n chÕ nh­ thùc hiÖn c©u lÖnh chñ yÕu lµ tuÇn tù tõ trªn xuèng, ®iÒu khiÓn ch­¬ng tr×nh chØ nhê lÖnh IF...THEN vµ GOSUB.

  • LISP do John McCarthy cña MIT (Häc viÖn KÜ thuËt Massachusetts - Massachusetts Institute of Technology) t¹o ra ng«n ng÷ LISt Processing (LISP) n¨m 1958, lµ ng«n ng÷ ®Æc biÖt thÝch hîp cho thao t¸c kÝ hiÖu vµ xö lÝ danh s¸ch th­êng gÆp trong c¸c bµi to¸n tæ hîp. §Æc biÖt thÝch hîp cho viÖc chøng minh ®Þnh lÝ, gÇn ®©y ®­îc dïng ®Ó ph¸t triÓn hÖ chuyªn gia vµ c¸c hÖ thèng dùa trªn tri thøc.

  • PASCAL do Gi¸o s­ Niclaus Wirth ph¸t triÓn dùa trªn Algol n¨m 1970. Pascal lµ tªn nhµ to¸n häc vµ triÕt häc Blaise Pascal. Pascal lµ ng«n ng÷ ®Æc biÖt thÝch hîp cho kiÓu lËp tr×nh cÊu tróc. Cho ®Õn nay, Pascal vÉn ®­îc dïng ®Ó gi¶ng d¹y vÒ lËp tr×nh trong nhiÒu tr­êng trung häc vµ ®¹i häc trªn thÕ giíi. §ã lµ ng«n ng÷ cho phÐp m« t¶ thuËt to¸n thuËn tiÖn nhÊt. Pascal còng phôc vô nhiÒu øng dông kÜ nghÖ khoa häc vµ lËp tr×nh hÖ thèng. PhÇn lín hÖ ®iÒu hµnh Macintosh ®­îc viÕt b»ng Pascal. HÖ s¾p ch÷ TeX ®­îc Donald Knuth viÕt b»ng ng«n ng÷ mang nhiÒu yÕu tè cña Pascal. Tr×nh biªn dÞch Free Pascal ®­îc viÕt b»ng Pascal lµ mét tr×nh biªn dÞch m¹nh mÏ cã kh¶ n¨ng biªn dÞch c¶ øng dông cò vµ míi (ph©n phèi miÔn phÝ d­íi giÊy phÐp GNU) hç trî nhiÒu hÖ ®iÒu hµnh.

  • C lµ ng«n ng÷ ®­îc x©y dùng bëi Dennis Ritchie n¨m 1972 dïng trong hÖ ®iÒu hµnh UNIX. Tõ ®ã C cßn ®­îc dïng trong nhiÒu hÖ ®iÒu hµnh kh¸c vµ trë thµnh mét trong nh÷ng ng«n ng÷ phæ dông nhÊt. C rÊt hiÖu qu¶ vµ ®­îc ­a chuéng nhÊt ®Ó viÕt c¸c phÇn mÒm hÖ thèng, mÆc dï nã còng ®­îc dïng cho viÖc viÕt c¸c øng dông. Ngoµi ra, C còng th­êng ®­îc dïng lµm ng«n ng÷ gi¶ng d¹y lËp tr×nh. Ngµy nay, C ®­îc ph¸t triÓn vµ mang nhiÒu tÝnh n¨ng míi lµm cho nã mÒm dÎo thªm. Cã nhiÒu c©u chuyÖn vÒ sù ra ®êi cña C vµ hÖ ®iÒu hµnh Unix, trong ®ã cã chuyÖn cho r»ng sù ph¸t triÓn cña C lµ kÕt qu¶ cña c¸c lËp tr×nh viªn muèn ch¬i trß Space Travel (du lÞch vò trô). §Ó ch¬i Space Travel thuËn lîi h¬n, Thompson vµ Ritchie ®· viÕt hÖ ®iÒu hµnh b»ng hîp ng÷ cho m¸y PDP-7 ®ang ®Ó kh«ng trong v¨n phßng. TiÕp tôc, muèn xuÊt hÖ ®iÒu hµnh nµy sang m¸y PDP-11 cña v¨n phßng, hä quyÕt ®Þnh dïng mét ng«n ng÷ bËc cao ®Ó hÖ ®iÒu hµnh cã thÓ xuÊt ®­îc dÔ dµng tõ m¸y tÝnh nµy sang m¸y kh¸c. VËy nªn hä ®· s¸ng t¹o ra mét ng«n ng÷ míi lµ C. Cho ®Õn n¨m 1973, C ®· trë nªn ®ñ m¹nh ®Ó dïng viÕt mét sè thµnh phÇn quan träng cña hÖ ®iÒu hµnh Unix (tr­íc ®©y viÕt b»ng Assembly trong c¸c m¸y tõ PDP-11 ®Õn PDP-20). §©y lµ lÇn ®Çu tiªn, nh©n cña mét hÖ ®iÒu hµnh ®­îc viÕt b»ng mét ng«n ng÷ kh¸c Assembly.

Dennis Ritchie



  • C++ lµ ng«n ng÷ lËp tr×nh hç trî lËp tr×nh cÊu tróc (thñ tôc, d÷ liÖu trõu tr­îng), lËp tr×nh h­íng ®èi t­îng. Tõ thËp niªn 1990, C++ ®· trë thµnh mét trong nh÷ng ng«n ng÷ phæ biÕn nhÊt. C++ gãp phÇn x©y dùng nh÷ng øng dông lín nhÊt hiÖn nay nh­ hÖ ®iÒu hµnh Windows, tr×nh duyÖt vµ m¸y t×m kiÕm Google,… Ng­êi ph¸t triÓn C++ lµ Bjarne Stroustrup cña Bell Labs n¨m 1983. ý t­ëng t¹o ra mét ng«n ng÷ míi b¾t nguån tõ khi «ng viÕt luËn ¸n tiÕn sÜ. Trong suèt thËp niªn 1980 "C víi c¸c líp" ®­îc coi lµ mét b¶n n©ng cao cña ng«n ng÷ C. Tªn C++ ®­îc ®Æt ra bëi Rick Mascitti (gi÷a n¨m 1983) vµ lÇn ®Çu tiªn ®­îc dïng trong th¸ng 12/1983. C¸i tªn C++ cho biÕt C++ lµ ng«n ng÷ ®­îc ph¸t triÓn trªn c¬ së ng«n ng÷ C.

  • Java ®­îc khëi ®Çu bëi James Gosling vµ c¸c ®ång nghiÖp ë Sun Microsystems n¨m 1991 lµ mét phÇn cña Dù ¸n Xanh. Ban ®Çu ng«n ng÷ nµy ®­îc gäi lµ Oak (cã nghÜa lµ c©y såi, do bªn ngoµi c¬ quan cña «ng Gosling cã trång nhiÒu lo¹i c©y nµy). Hä dù ®Þnh ph¸t triÓn ng«n ng÷ nµy thay cho C++. C«ng ti Sun Microsystems ®ang gi÷ b¶n quyÒn vµ ph¸t triÓn Java th­êng xuyªn. Java ®­îc ph¸t hµnh vµo n¨m 1994, råi nã trë nªn næi tiÕng khi Netscape tuyªn bè t¹i héi th¶o SunWorld n¨m 1995 lµ tr×nh duyÖt Navigator cña hä sÏ hç trî Java. Java cã thÓ t­¬ng thÝch víi nhiÒu hä m¸y nh­ PC, Macitosh, t­¬ng thÝch víi nhiÒu hÖ ®iÒu hµnh nh­ Windows, Linux. Ng­êi ta nãi Java lµ ng«n ng÷ lËp tr×nh mét lÇn (trªn mét m¸y) nh­ng cã thÓ ch¹y nhiÒu lÇn (trªn nhiÒu m¸y). Java ®­îc sö dông chñ yÕu ®Ó lËp tr×nh trªn m«i tr­êng m¹ng vµ Internet.




Каталог: 2014
2014 -> -
2014 -> Năng suất lao động trong nông nghiệp: Vấn đề và giải pháp Giới thiệu
2014 -> QUẢn lý nuôi trồng thủy sản dựa vào cộng đỒNG
2014 -> CÔng ty cổ phần autiva (autiva. Jsc)
2014 -> CÙng với mẹ maria chúng ta về BÊn thánh thể with mary, we come before the eucharist cấp II thiếU – camp leader level II search
2014 -> Part d. Writing 0 points)
2014 -> CỘng hòa xã HỘi chủ nghĩa việt nam độc lập – Tự do – Hạnh phúc
2014 -> Mẫu số 01. Đơn xin giao đất/cho thuê đất/cho phép chuyển mục đích sử dụng đất
2014 -> Biểu số: 22a/btp/cn-tn
2014 -> Ủy ban nhân dân cộng hòa xã HỘi chủ nghĩa việt nam thành phố HỒ chí minh độc lập Tự do Hạnh phúc

tải về 111.4 Kb.

Chia sẻ với bạn bè của bạn:




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương