BDCM_TIN 1
Chia sẻ bởi Nguyễn Đăng Tình |
Ngày 14/10/2018 |
54
Chia sẻ tài liệu: BDCM_TIN 1 thuộc Tin học 8
Nội dung tài liệu:
Bµi 1. M¸y tÝnh vµ ch¬ng tr×nh m¸y tÝnh
C©u hái vµ bµi tËp
Khi so¹n th¶o v¨n b¶n trªn m¸y tÝnh vµ yªu cÇu ch¬ng tr×nh t×m kiÕm mét côm tõ trong v¨n b¶n vµ thay thÕ b»ng mét côm tõ kh¸c, thùc chÊt ta ®· yªu cÇu m¸y tÝnh thùc hiÖn nh÷ng lÖnh g×? Cã thÓ thay ®æi thø tù nh÷ng lÖnh ®ã mµ vÉn kh«ng thay ®æi kÕt qu¶ ®îc kh«ng?
Trong vÝ dô vÒ r«-bèt, nÕu thay ®æi thø tù cña hai lÖnh trong ch¬ng tr×nh, r«-bèt cã thùc hiÖn ®îc c«ng viÖc nhÆt r¸c kh«ng? H·y x¸c ®Þnh vÞ trÝ míi cña r«-bèt sau khi thùc hiÖn xong lÖnh “H·y quÐt nhµ” vµ ®a ra c¸c lÖnh ®Ó r«-bèt trë l¹i vÞ trÝ ban ®Çu cña m×nh.
H·y cho biÕt lÝ do cÇn ph¶i viÕt ch¬ng tr×nh ®Ó ®iÒu khiÓn m¸y tÝnh.
T¹i sao ngêi ta ph¶i t¹o ra c¸c ng«n ng÷ lËp tr×nh trong khi cã thÓ ®iÒu khiÓn m¸y tÝnh b»ng ng«n ng÷ m¸y?
Ch¬ng tr×nh dÞch lµm g×?
H·y cho biÕt c¸c bíc cÇn thùc hiÖn ®Ó t¹o ra c¸c ch¬ng tr×nh m¸y tÝnh.
Híng dÉn tr¶ lêi
Khi so¹n th¶o v¨n b¶n trªn m¸y tÝnh vµ yªu cÇu ch¬ng tr×nh t×m kiÕm mét côm tõ trong v¨n b¶n vµ thay thÕ b»ng mét côm tõ kh¸c, thùc chÊt ta ®· yªu cÇu m¸y tÝnh thùc hiÖn rÊt nhiÒu lÖnh. Cã thÓ m« t¶ c¸c lÖnh víi c¸c møc ®é chi tiÕt kh¸c nhau. Díi ®©y chØ m« t¶ nh÷ng lÖnh c¬ b¶n nhÊt theo trËt tù thùc hiÖn viÖc thay thÕ mét côm tõ t×m ®îc:
Sao chÐp côm tõ cÇn t×m vµo bé nhí (ta gäi ®©y lµ côm tõ 1).
Sao chÐp côm tõ sÏ thay thÕ côm tõ t×m ®îc vµo bé nhí (côm tõ 2).
T×m côm tõ 1 trong v¨n b¶n.
Xãa côm tõ 1 t×m ®îc trong v¨n b¶n.
Sao chÐp côm tõ 2 vµo vÞ trÝ con trá trong v¨n b¶n.
Díi ®©y m« t¶ mét c¸ch chi tiÕt h¬n:
Sao chÐp d·y kÝ tù cÇn t×m vµo bé nhí (d·y 1).
Sao chÐp d·y kÝ tù sÏ thay thÕ d·y kÝ tù t×m ®îc vµo bé nhí (d·y 2).
§Æt con trá tríc kÝ tù ®Çu tiªn trong v¨n b¶n.
Sao chÐp d·y kÝ tù (tÝnh tõ vÞ trÝ con trá sang ph¶i) cã ®é dµi b»ng d·y kÝ tù cÇn t×m vµo bé nhí (d·y 3).
So s¸nh d·y 1 vµ d·y 3. NÕu d·y 3 kh«ng trïng víi d·y 1, chuyÓn ®Õn lÖnh 8.
Xãa d·y 3 trong v¨n b¶n.
Sao chÐp d·y 2 vµo vÞ trÝ con trá so¹n th¶o trong v¨n b¶n.
Di chuyÓn con trá sang ph¶i mét kÝ tù vµ quay l¹i lÖnh 4.
Qua c¸c lÖnh liÖt kª theo thø tù nãi trªn, dÔ thÊy r»ng cã thÓ thay ®æi thø tù thùc hiÖn cña mét vµi lÖnh (1 vµ 2), nhng nãi chung viÖc thay ®æi thø tù c¸c lÖnh sÏ kh«ng cho kÕt qu¶ mong muèn.
NÕu thay ®æi thø tù cña hai lÖnh trong ch¬ng tr×nh ®iÒu khiÓn r«-bèt, r«-bèt sÏ kh«ng thùc hiÖn ®îc c«ng viÖc nhÆt r¸c v× r«-bèt sÏ kh«ng ®i ®óng híng vµ cã thÓ kh«ng ®i tíi vÞ trÝ cã r¸c, hoÆc thùc hiÖn viÖc nhÆt r¸c t¹i vÞ trÝ kh«ng cã r¸c,.... VÝ dô, nÕu thay ®æi thø tù cña lÖnh 1 “TiÕn 2 bíc” vµ lÖnh 2 “Quay tr¸i, tiÕn 1 bíc”, t¸c dông cña c¶ hai lÖnh nµy sÏ lµ “Quay tr¸i vµ tiÕn 3 bíc”. Khi ®ã r«-bèt sÏ nhÆt r¸c t¹i vÞ trÝ kh«ng cã r¸c. Nãi chung, c¸c lÖnh ®iÒu khiÓn r«-bèt hay ch¬ng tr×nh cÇn ®îc ®a ra theo mét thø tù x¸c ®Þnh sao cho ta ®¹t kÕt qu¶ mong muèn. Trong mét sè Ýt trêng hîp, ta cã thÓ ®a ra c¸c lÖnh kh¸c nhau, nhng vÉn ®¹t kÕt qu¶. Ch¼ng h¹n, trong vÝ dô vÒ r«-bèt, thay cho hai c©u lÖnh ®Çu tiªn, ta cã thÓ ®iÒu khiÓn r«-bèt ®Õn ®óng vÞ trÝ cã r¸c b»ng c¸c lÖnh sau: “Quay tr¸i, tiÕn 1 bíc” vµ “Quay ph¶i, tiÕn 2 bíc” hoÆc “Quay ph¶i, tiÕn 2 bíc”, “Quay tr¸i, tiÕn 2 bíc” vµ “Quay tr¸i, tiÕn 4 bíc”. Trong mét sè Ýt c¸c trêng hîp kh¸c, viÖc thay ®æi thø tù cña mét vµi c©u lÖnh vÉn cho kÕt qu¶ ®óng nh yªu cÇu.
Tuy nhiªn, nh lµ mét nguyªn t¾c chung, viÖc thay ®æi thø tù c¸c c©u lÖnh sÏ kh«ng cho kÕt qu¶ ®óng. Cã thÓ liªn hÖ víi thø tù c¸c bíc cña thuËt to¸n trong Bµi 5.
VÞ trÝ míi cña r«-bèt sau khi thùc hiÖn xong lÖnh “H·y quÐt nhµ” lµ vÞ trÝ cã thïng r¸c (ë gãc ®èi diÖn). Ta cã nhiÒu c¸ch kh¸c nhau ®Ó ®a ra hai lÖnh ®Ó r«-bèt trë l¹i vÞ trÝ ban ®Çu cña m×nh, mét trong c¸c c¸ch ®ã lµ hai lÖnh “Quay tr¸i, tiÕn 5 bíc” vµ “Quay tr¸i, tiÕn 3 bíc”.
LÝ do: §iÒu khiÓn m¸y tÝnh tù ®éng thùc hiÖn c¸c c«ng viÖc ®a d¹ng vµ phøc t¹p mµ mét lÖnh ®¬n gi¶n kh«ng ®ñ ®Ó chØ dÉn.
Tuy ng«n ng÷ m¸y còng lµ mét lo¹i ng«n ng÷ lËp tr×nh, nhng ë ®©y chóng ta hiÓu ng«n ng÷ lËp tr×nh lµ ng«n ng÷ lËp tr×nh bËc cao. Trong ng«n ng÷ m¸y mäi chØ thÞ ®Òu ®îc biÓu diÔn b»ng c¸c con sè nhÞ ph©n 0 vµ 1. Ng«n ng÷ m¸y khã ®äc vµ khã sö dông, tuy vËy ng«n ng÷ m¸y lµ ng«n ng÷ duy nhÊt mµ bé vi xö lÝ cã thÓ nhËn biÕt vµ thùc hiÖn mét c¸ch trùc tiÕp. Ngoµi ra yÕu ®iÓm chÝnh cña c¸c ch¬ng tr×nh viÕt b»ng ng«n ng÷ m¸y lµ phô thuéc vµo phÇn cøng m¸y tÝnh.
C¸c ng«n ng÷ lËp tr×nh bËc cao ®îc ph¸t triÓn ®Ó kh¾c phôc c¸c yÕu ®iÓm tr©n cña ng«n ng÷ m¸y. Ng«n ng÷ lËp tr×nh sö dông c¸c côm tõ tù nhiªn nªn dÔ nhí, dÔ häc vµ kh«ng phô thuéc vµo phÇn cøng m¸y tÝnh.
Ch¬ng tr×nh dÞch lµ ch¬ng tr×nh cã chøc n¨ng chuyÓn ®æi ch¬ng tr×nh ®îc viÕt b»ng ng«n ng÷ lËp tr×nh thµnh ch¬ng tr×nh thùc hiÖn ®îc trªn m¸y tÝnh. Nh vËy, ch¬ng tr×nh dÞch chuyÓn ®æi tÖp gåm c¸c dßng lÖnh ®îc so¹n th¶o thµnh tÖp cã thÓ ch¹y trªn m¸y tÝnh.
Hai bíc c¬ b¶n ®Ó t¹o ra c¸c ch¬ng tr×nh m¸y tÝnh lµ (1) viÕt ch¬ng tr×nh theo ng«n ng÷ lËp tr×nh vµ (2) dÞch ch¬ng tr×nh thµnh ng«n ng÷ m¸y ®Ó m¸y tÝnh hiÓu ®îc vµ kÕt qu¶ lµ tÖp tin cã thÓ thùc hiÖn ®îc trªn m¸y tÝnh. Lu ý r»ng, ®©y chØ lµ hai bíc c¬ b¶n trong lËp tr×nh vµ chØ lµ mét phÇn cña c«ng viÖc gi¶i quyÕt bµi to¸n b»ng m¸y tÝnh.
Bµi 2. Lµm quen víi Ng«n ng÷ lËp tr×nh
C©u hái vµ bµi tËp
H·y cho biÕt c¸c thµnh phÇn c¬ b¶n cña mét ng«n ng÷ lËp tr×nh .
Ta cã thÓ viÕt c¸c ch¬ng tr×nh b»ng c¸c c©u lÖnh cã c¸c ch÷ c¸i cña tiÕng ViÖt, ch¼ng h¹n “rÏ tr¸i”, ®îc kh«ng? T¹i sao?
Tªn trong ch¬ng tr×nh lµ g×? Cho biÕt sù kh¸c biÖt tõ khãa vµ tªn, c¸ch ®Æt tªn trong ch¬ng tr×nh.
Trong sè c¸c tªn sau ®©y do ngêi viÕt ch¬ng tr×nh ®Æt trong mét ch¬ng tr×nh Pascal, tªn nµo lµ hîp lÖ vµ tªn nµo kh«ng hîp lÖ: a, Tamgiac, 8a, Tam giac, beginprogram, end, b1, abc?
H·y cho biÕt c¸c phÇn chÝnh trong cÊu tróc cña mäi ch¬ng tr×nh vµ vai trß cña chóng. Trong c¸c phÇn ®ã, phÇn nµo lµ quan träng nhÊt?
H·y cho biÕt ch¬ng tr×nh Pascal sau ®©y cã hîp lÖ kh«ng, t¹i sao?
a) Ch¬ng tr×nh 1.
begin
end.
b) Ch¬ng tr×nh 2.
begin
program CT_thu;
writeln(`Chao cac ban`);
end.
Híng dÉn tr¶ lêi
C¸c thµnh phÇn c¬ b¶n ng«n ng÷ lËp tr×nh gåm b¶ng ch÷ c¸i vµ c¸c quy t¾c ®Ó viÕt c¸c c©u lÖnh (có ph¸p) cã ý nghÜa x¸c ®Þnh, c¸ch bè trÝ c¸c c©u lÖnh,... sao cho cã thÓ t¹o thµnh mét ch¬ng tr×nh hoµn chØnh vµ ch¹y ®îc trªn m¸y tÝnh. Lu ý r»ng c¸c quy t¾c nh¾c ®Õn ë ®©y bao gåm c¸c thuËt ng÷ chuyªn m«n lµ có ph¸p vµ ng÷ nghÜa. Xem SGK, Môc 2, Bµi 2.
Kh«ng. C¸c côm tõ sö dông trong ch¬ng tr×nh (tõ khãa, tªn) ph¶i ®îc viÕt b»ng c¸c ch÷ c¸i trong b¶ng ch÷ c¸i cña ng«n ng÷ lËp tr×nh. C¸c ng«n ng÷ lËp tr×nh phæ biÕn hiÖn nay ®Òu cã b¶ng ch÷ c¸i lµ b¶ng ch÷ c¸i tiÕng Anh vµ c¸c kÝ hiÖu kh¸c, trong ®ã kh«ng cã c¸c ch÷ c¸i cã dÊu cña tiÕng ViÖt.
Lu ý r»ng c©u hái trong bµi lµ “viÕt ch¬ng tr×nh b»ng c¸c c©u lÖnh...”. §iÒu nµy kh«ng cã nghÜa lµ trong ch¬ng tr×nh kh«ng thÓ cã c¸c ch÷ c¸i cã dÊu cña tiÕng ViÖt (hay cña mét ng«n ng÷ kh¸c) nh lµ d÷ liÖu d¹ng v¨n b¶n cÇn xö lÝ. C¸c ch÷ cã dÊu ®ã sÏ ®îc ng«n ng÷ lËp tr×nh xö lý m· kÝ tù t¬ng øng trong c¸c b¶ng m· ASCII më réng. VÝ dô ch¬ng tr×nh Pascal sau ®©y hoµn toµn hîp lÖ:
begin
program CT_thu;
writeln(` Chµo c¸c b¹n`);
end.
Tªn trong ch¬ng tr×nh lµ d·y c¸c ch÷ c¸i hîp lÖ ®îc lÊy tõ b¶ng ch÷ c¸i cña ng«n ng÷ lËp tr×nh. Tõ kho¸ cña mét ng«n ng÷ lËp tr×nh (hay cßn ®îc gäi lµ tõ dµnh riªng) lµ tªn chØ ®îc dïng cho c¸c môc ®Ých sö dông do ng«n ng÷ lËp tr×nh quy ®Þnh, kh«ng ®îc dïng cho bÊt k× môc ®Ých nµo kh¸c.
Ngêi lËp tr×nh cã thÓ ®Æt tªn mét c¸ch tïy ý nhng ph¶i tu©n thñ c¸c quy t¾c cña ng«n ng÷ lËp tr×nh còng nh cña ch¬ng tr×nh dÞch, trong ®ã (1) Hai ®¹i lîng kh¸c nhau ph¶i cã tªn kh¸c nhau; (2) Tªn kh«ng ®îc trïng víi c¸c tõ kho¸.
C¸c tªn hîp lÖ: a, Tamgiac, beginprogram, b1, abc, tªn kh«ng hîp lÖ: 8a (b¾t ®Çu b»ng sè), Tam giac (cã dÊu c¸ch), end (trïng víi tõ khãa).
Xem SGK, Môc 4, Bµi 2.
a) Ch¬ng tr×nh 1 lµ ch¬ng tr×nh Pascal ®Çy ®ñ vµ hoµn toµn hîp lÖ, mÆc dï ch¬ng tr×nh nµy ch¼ng thùc hiÖn ®iÒu g× c¶. PhÇn nhÊt thiÕt ph¶i cã trong ch¬ng tr×nh lµ phÇn th©n ch¬ng tr×nh ®îc ®¶m b¶o b»ng hai tõ begin vµ end. (cã dÊu chÊm).
b) Ch¬ng tr×nh 2 lµ ch¬ng tr×nh Pascal kh«ng hîp lÖ v× c©u lÖnh khai b¸o tªn ch¬ng tr×nh program CT_thu; n»m ë phÇn th©n ch¬ng tr×nh.
Bµi 3. Ch¬ng tr×nh m¸y tÝnh Vµ D÷ LIÖU
C©u hái vµ bµi tËp
H·y nªu Ýt nhÊt mét lÝ do cho thÊy sù cÇn thiÕt ph¶i ph©n chia d÷ liÖu thµnh c¸c kiÓu!
H·y nªu Ýt nhÊt hai kiÓu d÷ liÖu vµ mét phÐp to¸n cã thÓ thùc hiÖn ®îc trªn mét kiÓu d÷ liÖu, nhng phÐp to¸n ®ã kh«ng cã nghÜa trªn kiÓu d÷ liÖu kia.
Cho d·y ch÷ sè 2010. D·y ch÷ sè ®ã cã thÓ thuéc kiÓu d÷ liÖu nµo?
Cho hai x©u kÝ tù “Líp” vµ “8A”. H·y thö ®Þnh nghÜa mét “phÐp to¸n” cã thÓ thùc hiÖn ®îc trªn hai x©u kÝ tù ®ã.
H·y ph©n biÖt ý nghÜa cña c¸c c©u lÖnh Pascal sau ®©y:
Writeln(`5+20=`,`20+5`); vµ Writeln(`5+20=`,20+5);
Hai lÖnh sau cã t¬ng ®¬ng víi nhau kh«ng? T¹i sao?
Writeln(`100`); vµ Writeln(100);
ViÕt c¸c biÓu thøc to¸n díi ®©y víi c¸c kÝ hiÖu trong Pascal:
ChuyÓn c¸c biÓu thøc ®îc viÕt trong Pascal sau ®©y thµnh c¸c biÓu thøc to¸n:
(a+b)*(a+b)-x/y
b/(a*a+c)
a*a/(2*b+c)*(2*b+c)
1+1/2+1/2*3+1/3*4+1/4*5
H·y x¸c ®Þnh kÕt qu¶ cña c¸c phÐp so s¸nh sau ®©y:
15 ( 8 ≥ 3
(20 ( 15)2 ≠ 25
112 = 121
x > 10 ( 3x
ViÕt c¸c phÐp so s¸nh trong Bµi tËp 8 víi c¸c kÝ hiÖu trong Pascal.
Nªu mét sè vÝ dô vÒ t¬ng t¸c gi÷a ngêi vµ m¸y tÝnh khi ch¬ng tr×nh ho¹t ®éng.
Híng dÉn tr¶ lêi
V× d÷ liÖu vµ c¸c thao t¸c xö lÝ d÷ liÖu rÊt ®a d¹ng, lÝ do dÔ nhËn thÊy nhÊt lµ viÖc ph©n chia d÷ liÖu thµnh c¸c kiÓu gióp x¸c ®Þnh c¸c phÐp xö lÝ (phÐp to¸n) cã thÓ thùc hiÖn trªn mçi kiÓu d÷ liÖu. Ngoµi ra viÖc ph©n chia kiÓu d÷ liÖu cßn cho biÕt c¸c gi¸ trÞ cã thÓ (ph¹m vi) cña d÷ liÖu, gióp cho viÖc qu¶n lý tµi nguyªn cña m¸y tÝnh (®Æc biÖt lµ bé nhí trong) mét c¸ch hiÖu qu¶.
Cã thÓ nªu c¸c vÝ dô sau ®©y:
D÷ liÖu kiÓu sè vµ d÷ liÖu kiÓu x©u kÝ tù. PhÐp céng ®îc ®Þnh nghÜa trªn d÷ liÖu sè, nhng kh«ng cã nghÜa trªn d÷ liÖu kiÓu x©u.
D÷ liÖu kiÓu sè nguyªn vµ d÷ liÖu kiÓu sè thùc. PhÐp chia lÊy phÇn nguyªn vµ phÐp chia lÊy phÇn d cã nghÜa trªn d÷ liÖu kiÓu sè nguyªn, nhng kh«ng cã nghÜa tr
C©u hái vµ bµi tËp
Khi so¹n th¶o v¨n b¶n trªn m¸y tÝnh vµ yªu cÇu ch¬ng tr×nh t×m kiÕm mét côm tõ trong v¨n b¶n vµ thay thÕ b»ng mét côm tõ kh¸c, thùc chÊt ta ®· yªu cÇu m¸y tÝnh thùc hiÖn nh÷ng lÖnh g×? Cã thÓ thay ®æi thø tù nh÷ng lÖnh ®ã mµ vÉn kh«ng thay ®æi kÕt qu¶ ®îc kh«ng?
Trong vÝ dô vÒ r«-bèt, nÕu thay ®æi thø tù cña hai lÖnh trong ch¬ng tr×nh, r«-bèt cã thùc hiÖn ®îc c«ng viÖc nhÆt r¸c kh«ng? H·y x¸c ®Þnh vÞ trÝ míi cña r«-bèt sau khi thùc hiÖn xong lÖnh “H·y quÐt nhµ” vµ ®a ra c¸c lÖnh ®Ó r«-bèt trë l¹i vÞ trÝ ban ®Çu cña m×nh.
H·y cho biÕt lÝ do cÇn ph¶i viÕt ch¬ng tr×nh ®Ó ®iÒu khiÓn m¸y tÝnh.
T¹i sao ngêi ta ph¶i t¹o ra c¸c ng«n ng÷ lËp tr×nh trong khi cã thÓ ®iÒu khiÓn m¸y tÝnh b»ng ng«n ng÷ m¸y?
Ch¬ng tr×nh dÞch lµm g×?
H·y cho biÕt c¸c bíc cÇn thùc hiÖn ®Ó t¹o ra c¸c ch¬ng tr×nh m¸y tÝnh.
Híng dÉn tr¶ lêi
Khi so¹n th¶o v¨n b¶n trªn m¸y tÝnh vµ yªu cÇu ch¬ng tr×nh t×m kiÕm mét côm tõ trong v¨n b¶n vµ thay thÕ b»ng mét côm tõ kh¸c, thùc chÊt ta ®· yªu cÇu m¸y tÝnh thùc hiÖn rÊt nhiÒu lÖnh. Cã thÓ m« t¶ c¸c lÖnh víi c¸c møc ®é chi tiÕt kh¸c nhau. Díi ®©y chØ m« t¶ nh÷ng lÖnh c¬ b¶n nhÊt theo trËt tù thùc hiÖn viÖc thay thÕ mét côm tõ t×m ®îc:
Sao chÐp côm tõ cÇn t×m vµo bé nhí (ta gäi ®©y lµ côm tõ 1).
Sao chÐp côm tõ sÏ thay thÕ côm tõ t×m ®îc vµo bé nhí (côm tõ 2).
T×m côm tõ 1 trong v¨n b¶n.
Xãa côm tõ 1 t×m ®îc trong v¨n b¶n.
Sao chÐp côm tõ 2 vµo vÞ trÝ con trá trong v¨n b¶n.
Díi ®©y m« t¶ mét c¸ch chi tiÕt h¬n:
Sao chÐp d·y kÝ tù cÇn t×m vµo bé nhí (d·y 1).
Sao chÐp d·y kÝ tù sÏ thay thÕ d·y kÝ tù t×m ®îc vµo bé nhí (d·y 2).
§Æt con trá tríc kÝ tù ®Çu tiªn trong v¨n b¶n.
Sao chÐp d·y kÝ tù (tÝnh tõ vÞ trÝ con trá sang ph¶i) cã ®é dµi b»ng d·y kÝ tù cÇn t×m vµo bé nhí (d·y 3).
So s¸nh d·y 1 vµ d·y 3. NÕu d·y 3 kh«ng trïng víi d·y 1, chuyÓn ®Õn lÖnh 8.
Xãa d·y 3 trong v¨n b¶n.
Sao chÐp d·y 2 vµo vÞ trÝ con trá so¹n th¶o trong v¨n b¶n.
Di chuyÓn con trá sang ph¶i mét kÝ tù vµ quay l¹i lÖnh 4.
Qua c¸c lÖnh liÖt kª theo thø tù nãi trªn, dÔ thÊy r»ng cã thÓ thay ®æi thø tù thùc hiÖn cña mét vµi lÖnh (1 vµ 2), nhng nãi chung viÖc thay ®æi thø tù c¸c lÖnh sÏ kh«ng cho kÕt qu¶ mong muèn.
NÕu thay ®æi thø tù cña hai lÖnh trong ch¬ng tr×nh ®iÒu khiÓn r«-bèt, r«-bèt sÏ kh«ng thùc hiÖn ®îc c«ng viÖc nhÆt r¸c v× r«-bèt sÏ kh«ng ®i ®óng híng vµ cã thÓ kh«ng ®i tíi vÞ trÝ cã r¸c, hoÆc thùc hiÖn viÖc nhÆt r¸c t¹i vÞ trÝ kh«ng cã r¸c,.... VÝ dô, nÕu thay ®æi thø tù cña lÖnh 1 “TiÕn 2 bíc” vµ lÖnh 2 “Quay tr¸i, tiÕn 1 bíc”, t¸c dông cña c¶ hai lÖnh nµy sÏ lµ “Quay tr¸i vµ tiÕn 3 bíc”. Khi ®ã r«-bèt sÏ nhÆt r¸c t¹i vÞ trÝ kh«ng cã r¸c. Nãi chung, c¸c lÖnh ®iÒu khiÓn r«-bèt hay ch¬ng tr×nh cÇn ®îc ®a ra theo mét thø tù x¸c ®Þnh sao cho ta ®¹t kÕt qu¶ mong muèn. Trong mét sè Ýt trêng hîp, ta cã thÓ ®a ra c¸c lÖnh kh¸c nhau, nhng vÉn ®¹t kÕt qu¶. Ch¼ng h¹n, trong vÝ dô vÒ r«-bèt, thay cho hai c©u lÖnh ®Çu tiªn, ta cã thÓ ®iÒu khiÓn r«-bèt ®Õn ®óng vÞ trÝ cã r¸c b»ng c¸c lÖnh sau: “Quay tr¸i, tiÕn 1 bíc” vµ “Quay ph¶i, tiÕn 2 bíc” hoÆc “Quay ph¶i, tiÕn 2 bíc”, “Quay tr¸i, tiÕn 2 bíc” vµ “Quay tr¸i, tiÕn 4 bíc”. Trong mét sè Ýt c¸c trêng hîp kh¸c, viÖc thay ®æi thø tù cña mét vµi c©u lÖnh vÉn cho kÕt qu¶ ®óng nh yªu cÇu.
Tuy nhiªn, nh lµ mét nguyªn t¾c chung, viÖc thay ®æi thø tù c¸c c©u lÖnh sÏ kh«ng cho kÕt qu¶ ®óng. Cã thÓ liªn hÖ víi thø tù c¸c bíc cña thuËt to¸n trong Bµi 5.
VÞ trÝ míi cña r«-bèt sau khi thùc hiÖn xong lÖnh “H·y quÐt nhµ” lµ vÞ trÝ cã thïng r¸c (ë gãc ®èi diÖn). Ta cã nhiÒu c¸ch kh¸c nhau ®Ó ®a ra hai lÖnh ®Ó r«-bèt trë l¹i vÞ trÝ ban ®Çu cña m×nh, mét trong c¸c c¸ch ®ã lµ hai lÖnh “Quay tr¸i, tiÕn 5 bíc” vµ “Quay tr¸i, tiÕn 3 bíc”.
LÝ do: §iÒu khiÓn m¸y tÝnh tù ®éng thùc hiÖn c¸c c«ng viÖc ®a d¹ng vµ phøc t¹p mµ mét lÖnh ®¬n gi¶n kh«ng ®ñ ®Ó chØ dÉn.
Tuy ng«n ng÷ m¸y còng lµ mét lo¹i ng«n ng÷ lËp tr×nh, nhng ë ®©y chóng ta hiÓu ng«n ng÷ lËp tr×nh lµ ng«n ng÷ lËp tr×nh bËc cao. Trong ng«n ng÷ m¸y mäi chØ thÞ ®Òu ®îc biÓu diÔn b»ng c¸c con sè nhÞ ph©n 0 vµ 1. Ng«n ng÷ m¸y khã ®äc vµ khã sö dông, tuy vËy ng«n ng÷ m¸y lµ ng«n ng÷ duy nhÊt mµ bé vi xö lÝ cã thÓ nhËn biÕt vµ thùc hiÖn mét c¸ch trùc tiÕp. Ngoµi ra yÕu ®iÓm chÝnh cña c¸c ch¬ng tr×nh viÕt b»ng ng«n ng÷ m¸y lµ phô thuéc vµo phÇn cøng m¸y tÝnh.
C¸c ng«n ng÷ lËp tr×nh bËc cao ®îc ph¸t triÓn ®Ó kh¾c phôc c¸c yÕu ®iÓm tr©n cña ng«n ng÷ m¸y. Ng«n ng÷ lËp tr×nh sö dông c¸c côm tõ tù nhiªn nªn dÔ nhí, dÔ häc vµ kh«ng phô thuéc vµo phÇn cøng m¸y tÝnh.
Ch¬ng tr×nh dÞch lµ ch¬ng tr×nh cã chøc n¨ng chuyÓn ®æi ch¬ng tr×nh ®îc viÕt b»ng ng«n ng÷ lËp tr×nh thµnh ch¬ng tr×nh thùc hiÖn ®îc trªn m¸y tÝnh. Nh vËy, ch¬ng tr×nh dÞch chuyÓn ®æi tÖp gåm c¸c dßng lÖnh ®îc so¹n th¶o thµnh tÖp cã thÓ ch¹y trªn m¸y tÝnh.
Hai bíc c¬ b¶n ®Ó t¹o ra c¸c ch¬ng tr×nh m¸y tÝnh lµ (1) viÕt ch¬ng tr×nh theo ng«n ng÷ lËp tr×nh vµ (2) dÞch ch¬ng tr×nh thµnh ng«n ng÷ m¸y ®Ó m¸y tÝnh hiÓu ®îc vµ kÕt qu¶ lµ tÖp tin cã thÓ thùc hiÖn ®îc trªn m¸y tÝnh. Lu ý r»ng, ®©y chØ lµ hai bíc c¬ b¶n trong lËp tr×nh vµ chØ lµ mét phÇn cña c«ng viÖc gi¶i quyÕt bµi to¸n b»ng m¸y tÝnh.
Bµi 2. Lµm quen víi Ng«n ng÷ lËp tr×nh
C©u hái vµ bµi tËp
H·y cho biÕt c¸c thµnh phÇn c¬ b¶n cña mét ng«n ng÷ lËp tr×nh .
Ta cã thÓ viÕt c¸c ch¬ng tr×nh b»ng c¸c c©u lÖnh cã c¸c ch÷ c¸i cña tiÕng ViÖt, ch¼ng h¹n “rÏ tr¸i”, ®îc kh«ng? T¹i sao?
Tªn trong ch¬ng tr×nh lµ g×? Cho biÕt sù kh¸c biÖt tõ khãa vµ tªn, c¸ch ®Æt tªn trong ch¬ng tr×nh.
Trong sè c¸c tªn sau ®©y do ngêi viÕt ch¬ng tr×nh ®Æt trong mét ch¬ng tr×nh Pascal, tªn nµo lµ hîp lÖ vµ tªn nµo kh«ng hîp lÖ: a, Tamgiac, 8a, Tam giac, beginprogram, end, b1, abc?
H·y cho biÕt c¸c phÇn chÝnh trong cÊu tróc cña mäi ch¬ng tr×nh vµ vai trß cña chóng. Trong c¸c phÇn ®ã, phÇn nµo lµ quan träng nhÊt?
H·y cho biÕt ch¬ng tr×nh Pascal sau ®©y cã hîp lÖ kh«ng, t¹i sao?
a) Ch¬ng tr×nh 1.
begin
end.
b) Ch¬ng tr×nh 2.
begin
program CT_thu;
writeln(`Chao cac ban`);
end.
Híng dÉn tr¶ lêi
C¸c thµnh phÇn c¬ b¶n ng«n ng÷ lËp tr×nh gåm b¶ng ch÷ c¸i vµ c¸c quy t¾c ®Ó viÕt c¸c c©u lÖnh (có ph¸p) cã ý nghÜa x¸c ®Þnh, c¸ch bè trÝ c¸c c©u lÖnh,... sao cho cã thÓ t¹o thµnh mét ch¬ng tr×nh hoµn chØnh vµ ch¹y ®îc trªn m¸y tÝnh. Lu ý r»ng c¸c quy t¾c nh¾c ®Õn ë ®©y bao gåm c¸c thuËt ng÷ chuyªn m«n lµ có ph¸p vµ ng÷ nghÜa. Xem SGK, Môc 2, Bµi 2.
Kh«ng. C¸c côm tõ sö dông trong ch¬ng tr×nh (tõ khãa, tªn) ph¶i ®îc viÕt b»ng c¸c ch÷ c¸i trong b¶ng ch÷ c¸i cña ng«n ng÷ lËp tr×nh. C¸c ng«n ng÷ lËp tr×nh phæ biÕn hiÖn nay ®Òu cã b¶ng ch÷ c¸i lµ b¶ng ch÷ c¸i tiÕng Anh vµ c¸c kÝ hiÖu kh¸c, trong ®ã kh«ng cã c¸c ch÷ c¸i cã dÊu cña tiÕng ViÖt.
Lu ý r»ng c©u hái trong bµi lµ “viÕt ch¬ng tr×nh b»ng c¸c c©u lÖnh...”. §iÒu nµy kh«ng cã nghÜa lµ trong ch¬ng tr×nh kh«ng thÓ cã c¸c ch÷ c¸i cã dÊu cña tiÕng ViÖt (hay cña mét ng«n ng÷ kh¸c) nh lµ d÷ liÖu d¹ng v¨n b¶n cÇn xö lÝ. C¸c ch÷ cã dÊu ®ã sÏ ®îc ng«n ng÷ lËp tr×nh xö lý m· kÝ tù t¬ng øng trong c¸c b¶ng m· ASCII më réng. VÝ dô ch¬ng tr×nh Pascal sau ®©y hoµn toµn hîp lÖ:
begin
program CT_thu;
writeln(` Chµo c¸c b¹n`);
end.
Tªn trong ch¬ng tr×nh lµ d·y c¸c ch÷ c¸i hîp lÖ ®îc lÊy tõ b¶ng ch÷ c¸i cña ng«n ng÷ lËp tr×nh. Tõ kho¸ cña mét ng«n ng÷ lËp tr×nh (hay cßn ®îc gäi lµ tõ dµnh riªng) lµ tªn chØ ®îc dïng cho c¸c môc ®Ých sö dông do ng«n ng÷ lËp tr×nh quy ®Þnh, kh«ng ®îc dïng cho bÊt k× môc ®Ých nµo kh¸c.
Ngêi lËp tr×nh cã thÓ ®Æt tªn mét c¸ch tïy ý nhng ph¶i tu©n thñ c¸c quy t¾c cña ng«n ng÷ lËp tr×nh còng nh cña ch¬ng tr×nh dÞch, trong ®ã (1) Hai ®¹i lîng kh¸c nhau ph¶i cã tªn kh¸c nhau; (2) Tªn kh«ng ®îc trïng víi c¸c tõ kho¸.
C¸c tªn hîp lÖ: a, Tamgiac, beginprogram, b1, abc, tªn kh«ng hîp lÖ: 8a (b¾t ®Çu b»ng sè), Tam giac (cã dÊu c¸ch), end (trïng víi tõ khãa).
Xem SGK, Môc 4, Bµi 2.
a) Ch¬ng tr×nh 1 lµ ch¬ng tr×nh Pascal ®Çy ®ñ vµ hoµn toµn hîp lÖ, mÆc dï ch¬ng tr×nh nµy ch¼ng thùc hiÖn ®iÒu g× c¶. PhÇn nhÊt thiÕt ph¶i cã trong ch¬ng tr×nh lµ phÇn th©n ch¬ng tr×nh ®îc ®¶m b¶o b»ng hai tõ begin vµ end. (cã dÊu chÊm).
b) Ch¬ng tr×nh 2 lµ ch¬ng tr×nh Pascal kh«ng hîp lÖ v× c©u lÖnh khai b¸o tªn ch¬ng tr×nh program CT_thu; n»m ë phÇn th©n ch¬ng tr×nh.
Bµi 3. Ch¬ng tr×nh m¸y tÝnh Vµ D÷ LIÖU
C©u hái vµ bµi tËp
H·y nªu Ýt nhÊt mét lÝ do cho thÊy sù cÇn thiÕt ph¶i ph©n chia d÷ liÖu thµnh c¸c kiÓu!
H·y nªu Ýt nhÊt hai kiÓu d÷ liÖu vµ mét phÐp to¸n cã thÓ thùc hiÖn ®îc trªn mét kiÓu d÷ liÖu, nhng phÐp to¸n ®ã kh«ng cã nghÜa trªn kiÓu d÷ liÖu kia.
Cho d·y ch÷ sè 2010. D·y ch÷ sè ®ã cã thÓ thuéc kiÓu d÷ liÖu nµo?
Cho hai x©u kÝ tù “Líp” vµ “8A”. H·y thö ®Þnh nghÜa mét “phÐp to¸n” cã thÓ thùc hiÖn ®îc trªn hai x©u kÝ tù ®ã.
H·y ph©n biÖt ý nghÜa cña c¸c c©u lÖnh Pascal sau ®©y:
Writeln(`5+20=`,`20+5`); vµ Writeln(`5+20=`,20+5);
Hai lÖnh sau cã t¬ng ®¬ng víi nhau kh«ng? T¹i sao?
Writeln(`100`); vµ Writeln(100);
ViÕt c¸c biÓu thøc to¸n díi ®©y víi c¸c kÝ hiÖu trong Pascal:
ChuyÓn c¸c biÓu thøc ®îc viÕt trong Pascal sau ®©y thµnh c¸c biÓu thøc to¸n:
(a+b)*(a+b)-x/y
b/(a*a+c)
a*a/(2*b+c)*(2*b+c)
1+1/2+1/2*3+1/3*4+1/4*5
H·y x¸c ®Þnh kÕt qu¶ cña c¸c phÐp so s¸nh sau ®©y:
15 ( 8 ≥ 3
(20 ( 15)2 ≠ 25
112 = 121
x > 10 ( 3x
ViÕt c¸c phÐp so s¸nh trong Bµi tËp 8 víi c¸c kÝ hiÖu trong Pascal.
Nªu mét sè vÝ dô vÒ t¬ng t¸c gi÷a ngêi vµ m¸y tÝnh khi ch¬ng tr×nh ho¹t ®éng.
Híng dÉn tr¶ lêi
V× d÷ liÖu vµ c¸c thao t¸c xö lÝ d÷ liÖu rÊt ®a d¹ng, lÝ do dÔ nhËn thÊy nhÊt lµ viÖc ph©n chia d÷ liÖu thµnh c¸c kiÓu gióp x¸c ®Þnh c¸c phÐp xö lÝ (phÐp to¸n) cã thÓ thùc hiÖn trªn mçi kiÓu d÷ liÖu. Ngoµi ra viÖc ph©n chia kiÓu d÷ liÖu cßn cho biÕt c¸c gi¸ trÞ cã thÓ (ph¹m vi) cña d÷ liÖu, gióp cho viÖc qu¶n lý tµi nguyªn cña m¸y tÝnh (®Æc biÖt lµ bé nhí trong) mét c¸ch hiÖu qu¶.
Cã thÓ nªu c¸c vÝ dô sau ®©y:
D÷ liÖu kiÓu sè vµ d÷ liÖu kiÓu x©u kÝ tù. PhÐp céng ®îc ®Þnh nghÜa trªn d÷ liÖu sè, nhng kh«ng cã nghÜa trªn d÷ liÖu kiÓu x©u.
D÷ liÖu kiÓu sè nguyªn vµ d÷ liÖu kiÓu sè thùc. PhÐp chia lÊy phÇn nguyªn vµ phÐp chia lÊy phÇn d cã nghÜa trªn d÷ liÖu kiÓu sè nguyªn, nhng kh«ng cã nghÜa tr
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Đăng Tình
Dung lượng: 334,50KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)