Giải đáp bài tập môn Tin học 8

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

1. 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?

2. 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.

3. 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.

4. 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?

5. Chương trình dịch làm gì?

6. 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.

 

doc 40 trang Người đăng phammen30 Lượt xem 811Lượt tải 0 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giải đáp bài tập môn Tin học 8", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
r×nh tÝnh diÖn tÝch vµ chu vi ®­êng trßn cã b¸n kÝnh r, trong ®ã r lµ mét sè nguyªn d­¬ng ®­îc nhËp tõ bµn phÝm.
H­íng dÉn tr¶ lêi
XÐt vÒ mÆt lËp tr×nh, biÕn ®¹i l­îng ®­îc dïng ®Ó l­u tr÷ d÷ liÖu vµ d÷ liÖu ®­îc biÕn l­u tr÷ cã thÓ thay ®æi trong khi thùc hiÖn ch­¬ng tr×nh. XÐt vÒ mÆt l­u tr÷ d÷ liÖu, cã thÓ xem biÕn lµ “tªn” cña mét vïng nhí ®­îc dµnh s½n ®Ó l­u d÷ liÖu trong suèt qu¸ tr×nh thùc hiÖn ch­¬ng tr×nh.
G¸n gi¸ trÞ cho mét biÕn vÒ thùc chÊt lµ l­u d÷ liÖu t­¬ng øng vµo vïng nhí ®­îc ®Æt tªn vµ dµnh riªng cho biÕn. ViÖc thùc hiÖn c¸c tÝnh to¸n vµ xö lÝ víi biÕn cã nghÜa lµ thùc hiÖn tÝnh to¸n vµ xö lÝ víi d÷ liÖu ®­îc g¸n ®ã.
Gi¶ sö X ®­îc khai b¸o lµ biÕn víi kiÓu d÷ liÖu sè nguyªn vµ X ®­îc g¸n d÷ liÖu lµ sè 5. Sau khi khai b¸o, ch­¬ng tr×nh sÏ dµnh riªng mét vïng nhí nµo ®ã cho biÕn X, vµ khi g¸n 5 cho X th× vïng nhí ®ã l­u d÷ liÖu 5. LÖnh ghi X ra mµn h×nh cã nghÜa lµ ghi sè 5 ra mµn h×nh.
L­u ý. Khi mét vïng nhí ®­îc khai b¸o ®Ó l­u d÷ liÖu lµm gi¸ trÞ cña mét biÕn, vïng nhí ®ã sÏ kh«ng ®­îc phÐp sö dông vµo môc ®Ých kh¸c. Do vËy, mét trong nh÷ng kÜ n¨ng lËp tr×nh lµ sö dông cµng Ýt biÕn cµng tèt, nhÊt lµ trong nh÷ng tr­êng hîp viÖc sö dông bé nhí bÞ h¹n chÕ. Nh­ng víi c«ng nghÖ hiÖn nay, bé nhí m¸y tÝnh ®· cã dung l­îng rÊt lín nªn vÊn ®Ò h¹n chÕ sö dông biÕn trong ch­¬ng tr×nh ®· kh«ng cßn lµ vÊn ®Ò cÊp thiÕt.
ViÖc khai b¸o biÕn gåm: Khai b¸o tªn biÕn vµ khai b¸o kiÓu d÷ liÖu cña biÕn.
Khi khai b¸o biÕn, ngoµi viÖc tªn biÕn ®­îc ®­a vµo danh s¸ch c¸c ®èi t­îng qu¶n lÝ, m¸y tÝnh (th«ng qua ch­¬ng tr×nh dÞch) sÏ x¸c ®Þnh kiÓu cña biÕn vµ dµnh mét vïng nhí cã ®é lín thÝch hîp víi ph¹m vi kiÓu cña biÕn ®Ó l­u gi¸ trÞ cña biÕn. VÝ dô, còng ®Ó l­u c¸c gi¸ trÞ lµ sè nguyªn, khi khai b¸o biÕn kiÓu byte, m¸y tÝnh chØ dµnh vïng nhí cã ®é lín 1 byte, nh­ng khi khai b¸o biÕn kiÓu nguyªn, m¸y tÝnh sÏ dµnh vïng nhí cã ®é lín 2 byte, hoÆc vïng nhí 6 byte ®­îc dµnh cho biÕn ®­îc khai b¸o víi kiÓu sè thùc,... Nhê thÕ viÖc sö dông bé nhí sÏ hiÖu qu¶ h¬n. Ngoµi ra m¸y tÝnh sÏ biÕt ¸p dông c¸c phÐp to¸n thÝch hîp ®èi víi gi¸ trÞ cña biÕn.
§¸p ¸n: a) Hîp lÖ; b) Kh«ng hîp lÖ; c) Hîp lÖ; d) Kh«ng hîp lÖ. 
MÆc dï ®Òu cïng ph¶i khai b¸o tr­íc khi cã thÓ sö dông trong ch­¬ng tr×nh, sù kh¸c nhau gi÷a biÕn vµ h»ng lµ ë chç gi¸ trÞ cña h»ng kh«ng thay ®æi trong suèt qu¸ tr×nh thùc hiÖn ch­¬ng tr×nh, cßn gi¸ trÞ cña biÕn th× cã thÓ thay ®æi ®­îc t¹i tõng thêi ®iÓm thùc hiÖn ch­¬ng tr×nh.
Kh«ng thÓ g¸n l¹i gi¸ trÞ 3.1415 cho Pi trong phÇn th©n ch­¬ng tr×nh v× gi¸ trÞ cña h»ng kh«ng thay ®æi trong suèt qu¸ tr×nh thùc hiÖn ch­¬ng tr×nh. 
a) Hîp lÖ; b) Kh«ng hîp lÖ v× tªn biÕn kh«ng hîp lÖ; c) Kh«ng hîp lÖ v× h»ng ph¶i ®­îc cho gi¸ trÞ khi khai b¸o; d) c) Kh«ng hîp lÖ v× biÕn kh«ng ®­îc g¸n gi¸ trÞ khi khai b¸o, c¸ch g¸n gi¸ trÞ còng kh«ng ®óng có ph¸p.
C¸c lçi trong ch­¬ng tr×nh: (1) Thõa dÊu b»ng ë dßng 1 (chØ cÇn dÊu hai chÊm); (2) Thõa dÊu hai chÊm ë dßng 2 (víi h»ng chØ cÇn dÊu b»ng); (3) ThiÕu dÊu chÊm phÈy ë dßng 4; (4) Khai b¸o kiÓu d÷ liÖu cña biÕn b kh«ng phï hîp: Khi chia hai sè nguyªn, kÕt qu¶ lu«n lu«n lµ sè thùc, cho dï cã chia hÕt hay kh«ng. Do ®ã cÇn ph¶i khai b¸o biÕn b lµ biÕn cã kiÓu d÷ liÖu sè thùc.
C¸ch khai b¸o hîp lý:
C¸c biÕn a vµ h lµ kiÓu sè nguyªn; biÕn S: kiÓu sè thùc.
C¶ bèn biÕn a, b, c vµ d lµ c¸c kiÓu sè nguyªn.
CÇn sö dông c¸c biÕn sau ®©y víi mçi häc sinh trong líp: Ten lµ biÕn kiÓu x©u, Diem lµ biÕn kiÓu sè nguyªn vµ Trungbinh lµ biÕn kiÓu sè thùc.
Ch­¬ng tr×nh Pascal cã thÓ nh­ sau ®©y:
uses crt;
var r: integer; C,S: real;
begin
clrscr;
write('Nhap ban kinh r = '); readln(r);
C:=2*Pi*r;
S:=Pi*r*r;
writeln(' Chu vi duong tron bang ',C:8:2);
writeln('Dien tich hinh tron bang ',S:8:2);
end.
Bµi 5. Tõ BµI TO¸N §ÕN CH¦¥NG TR×NH
C©u hái vµ bµi tËp
H·y chØ ra INPUT vµ OUTPUT cña c¸c bµi to¸n sau:
X¸c ®Þnh sè häc sinh trong líp cïng mang hä TrÇn.
TÝnh tæng cña c¸c phÇn tö lín h¬n 0 trong d·y n sè cho tr­íc.
T×m sè c¸c sè cã gi¸ trÞ nhá nhÊt trong n sè ®· cho.
Gi¶ sö x vµ y lµ c¸c biÕn sè. H·y cho biÕt kÕt qu¶ cña viÖc thùc hiÖn thuËt to¸n sau:
B­íc 1. x ¬ x + y
B­íc 2. y ¬ x - y
B­íc 3. x ¬ x - y
Cho tr­íc ba sè d­¬ng a, b vµ c. H·y m« t¶ thuËt to¸n gi¶i ghi kÕt qu¶ ba sè ®ã cã thÓ lµ ba c¹nh cña mét tam gi¸c hay kh«ng.
Cho hai biÕn x vµ y. H·y m« t¶ thuËt to¸n ®æi gi¸ trÞ cña c¸c biÕn nãi trªn ®Ó x vµ y cã gi¸ trÞ t¨ng dÇn. 
Cho ba biÕn x, y vµ z. H·y m« t¶ thuËt to¸n ®æi gi¸ trÞ cña c¸c biÕn nãi trªn ®Ó x, y vµ z cã gi¸ trÞ t¨ng dÇn. H·y xem l¹i VÝ dô 5 ®Ó tham kh¶o.
H·y m« t¶ thuËt to¸n tÝnh tæng c¸c phÇn tö cña d·y sè a1, a2,..., an cho tr­íc. 
H·y m« t¶ thuËt to¸n nhËp n sè a1, a2, ..., an tõ bµn phÝm vµ ghi ra mµn h×nh sè nhá nhÊt c¸c sè ®ã. Sè n còng ®­îc nhËp tõ bµn phÝm.
H·y m« t¶ thuËt to¸n gi¶i c¸c bµi to¸n sau:
§Õm sè c¸c sè d­¬ng trong d·y sè A = {a1, a2,.., an} cho tr­íc. 
H·y m« t¶ thuËt to¸n tÝnh tæng c¸c sè d­¬ng trong d·y sè A = {a1, a2,..., an} cho tr­íc.
H­íng dÉn tr¶ lêi
§¸p ¸n:
INPUT: Danh s¸ch hä cña c¸c häc sinh trong líp.
OUTPUT: Sè häc sinh cã hä TrÇn.
INPUT: D·y n sè.
OUTPUT: Tæng cña c¸c phÇn tö lín h¬n 0.
INPUT: D·y n sè.
OUTPUT: Sè c¸c sè cã gi¸ trÞ nhá nhÊt.
Sau ba b­íc, x cã gi¸ trÞ ban ®Çu cña y vµ y cã gi¸ trÞ ban ®Çu cña x, tøc gi¸ trÞ cña hai biÕn x vµ y ®­îc ho¸n ®æi cho nhau.
M« t¶ thuËt to¸n:
INPUT: Ba sè d­¬ng a >0, b >0 vµ c >0.
OUTPUT: Th«ng b¸o “a, b vµ c cã thÓ lµ ba c¹nh cña mét tam  gi¸c” hoÆc th«ng b¸o “a, b vµ c kh«ng thÓ lµ ba c¹nh cña mét tam  gi¸c”.
B­íc 1: TÝnh a + b. NÕu a + b ≤ c, chuyÓn tíi b­íc 5.
B­íc 2: TÝnh b + c. NÕu b + c ≤ c, chuyÓn tíi b­íc 5.
B­íc 3: TÝnh a + c. NÕu a + c ≤ b, chuyÓn tíi b­íc 5.
B­íc 4: Th«ng b¸o “a, b vµ c cã thÓ lµ ba c¹nh cña mét tam  gi¸c” vµ kÕt thóc thuËt to¸n.
B­íc 5: Th«ng b¸o “a, b vµ c kh«ng thÓ lµ ba c¹nh cña mét tam  gi¸c” vµ kÕt thóc thuËt to¸n.
Cã thÓ gi¶i bµi to¸n nµy b»ng c¸ch sö dông mét biÕn phô hoÆc kh«ng dïng biÕn phô.
ThuËt to¸n 1. Sö dông biÕn phô z.
INPUT: Hai biÕn x vµ y.
OUTPUT: Hai biÕn x vµ y cã gi¸ trÞ t¨ng dÇn.
B­íc 1: NÕu x ≤ y, chuyÓn tíi b­íc 5.
B­íc 2: z ¬ x. 
B­íc 3: x ¬ y.
B­íc 4: y ¬ z.
B­íc 5: KÕt thóc thuËt to¸n.
ThuËt to¸n 2. Kh«ng sö dông biÕn phô (Xem Bµi tËp 2 ë trªn).
INPUT: Hai biÕn x vµ y.
OUTPUT: Hai biÕn x vµ y cã gi¸ trÞ t¨ng dÇn.
B­íc 1: NÕu x ≤ y, chuyÓn tíi b­íc 5.
B­íc 2: x ¬ x + y. 
B­íc 3: y ¬ x - y.
B­íc 4: x ¬ x - y.
B­íc 5: KÕt thóc thuËt to¸n.
Tr­íc hÕt, nÕu cÇn, ta ho¸n ®æi gi¸ trÞ hai biÕn x vµ y ®Ó chóng cã gi¸ trÞ t¨ng dÇn. Sau ®ã lÇn l­ît so s¸nh z víi x vµ z víi y, sau ®ã thùc hiÖn c¸c b­íc ho¸n ®æi gi¸ trÞ cÇn thiÕt (xem l¹i VÝ dô 5 trong Bµi 5, SGK).
INPUT: Ba biÕn x, y vµ z.
OUTPUT: Ba biÕn x, y vµ z cã gi¸ trÞ t¨ng dÇn.
B­íc 1: NÕu x ≤ y, chuyÓn tíi b­íc 3.
B­íc 2: z ¬ x, x ¬ y, y ¬ z. (Sau b­íc nµy x vµ y cã gi¸ trÞ t¨ng dÇn.)
B­íc 3: NÕu y ≤ z , chuyÓn tíi b­íc 6.
B­íc 4: NÕu z < x, t ¬ x , x ¬ z vµ z ¬ t, (víi t lµ biÕn trung gian) vµ chuyÓn ®Õn b­íc 6.
B­íc 5: t ¬ y , y ¬ z vµ z ¬ t.
B­íc 6: KÕt thóc thuËt to¸n.
ThuËt to¸n tÝnh tæng c¸c phÇn tö cña d·y sè A = {a1, a2,..., an} cho tr­íc.
INPUT: n vµ d·y n sè a1, a2,..., an.
OUTPUT: Tæng S = a1 + a2 +... + an.
B­íc 1: S ¬ 0; i ¬ 0.
B­íc 2: i ¬ i + 1.
B­íc 3: NÕu i ≤ n, S ¬ S + ai vµ quay l¹i b­íc 2. 
B­íc 4: Th«ng b¸o S vµ kÕt thóc thuËt to¸n.
ThuËt to¸n t×m sè nhá nhÊt trong d·y n sè a1, a2, ..., an cho tr­íc. ThuËt to¸n nµy t­¬ng tù nh­ thuËt to¸n t×m gi¸ trÞ lín nhÊt trong d·y n sè ®· cho (xem VÝ dô 6, Bµi 5). §iÒu kh¸c biÖt lµ thªm c¸c b­íc nhËp sè n vµ d·y n sè a1, a2, ..., an.
INPUT: n vµ d·y n sè a1, a2,..., an.
OUTPUT: Min = Min{ a1, a2, ..., an}
B­íc 1: NhËp n vµ d·y n sè a1, a2,..., an.
B­íc 2: G¸n Min ¬ a1; i ¬ 1.
B­íc 3: i ¬ i + 1.
B­íc 4: NÕu i > n, chuyÓn ®Õn b­íc 5.
B­íc 5: NÕu ai < Min, g¸n Min ¬ ai råi quay l¹i b­íc 3. Trong tr­êng hîp ng­îc l¹i, quay l¹i b­íc 3. 
B­íc 6: Ghi gi¸ trÞ Min ra mµn h×nh vµ kÕt thóc thuËt to¸n.
a) §Õm sè c¸c sè d­¬ng trong d·y sè A = {a1, a2,.., an} cho tr­íc.
INPUT: n vµ d·y n sè a1, a2,..., an.
OUTPUT: Soduong = Sè c¸c sè ai > 0.
B­íc 1: G¸n Soduong ¬ 0.
B­íc 2: i ¬ i + 1.
B­íc 3: NÕu i > n, chuyÓn ®Õn b­íc 5.
B­íc 4: NÕu ai > 0, g¸n Soduong ¬ Soduong +1 råi quay l¹i b­íc 2. Trong tr­êng hîp ng­îc l¹i, quay l¹i b­íc 2. 
B­íc 5: Th«ng b¸o gi¸ trÞ Soduong vµ kÕt thóc thuËt to¸n.
b) TÝnh tæng c¸c sè d­¬ng trong d·y sè A = {a1, a2,..., an} cho tr­íc.
INPUT: n vµ d·y n sè a1, a2,..., an.
OUTPUT: S = Tæng c¸c sè ai > 0 trong d·y a1, a2,..., an.
B­íc 1: S ¬ 0; i ¬ 0.
B­íc 2: i ¬ i + 1.
B­íc 3: NÕu ai > 0, S ¬ S + ai; ng­îc l¹i, gi÷ nguyªn S. 
B­íc 4: NÕu i ≤ n, vµ quay l¹i b­íc 2.
B­íc 5: Th«ng b¸o S vµ kÕt thóc thuËt to¸n.
Bµi 6. C¢U LÖNH §IÒU KIÖN
C©u hái vµ bµi tËp
Em h·y nªu mét vµi vÝ dô vÒ c¸c ho¹t ®éng h»ng ngµy phô thuéc vµo ®iÒu kiÖn.
H·y cho biÕt c¸c ®iÒu kiÖn hoÆc phÐp so s¸nh sau ®©y cho kÕt qu¶ ®óng hay sai:
123 lµ sè chia hÕt cho 3.
NÕu ba c¹nh a, b vµ c cña mét tam gi¸c tháa m·n c2 > a2 + b2 th× tam gi¸c ®ã cã mét gãc tï (> 90o).
152 > 200.
n! ≤ n2 víi mäi sè tù nhiªn n.
x2 < 1.
Hai ng­êi b¹n cïng ch¬i trß ®o¸n sè. Mét ng­êi nghÜ trong ®Çu mét sè tù nhiªn nhá h¬n 10. Ng­êi kia ®o¸n xem b¹n ®· nghÜ sè g×. NÕu ®o¸n ®óng, ng­êi ®o¸n sÏ ®­îc céng thªm 1 ®iÓm, nÕu sai sÏ kh«ng ®­îc céng ®iÓm. Lu©n phiªn nhau nghÜ vµ ®o¸n. Sau 10 lÇn, ai ®­îc nhiÒu ®iÓm h¬n, ng­êi ®ã sÏ th¾ng. 
H·y ph¸t biÓu c¸c ®iÒu kiÖn ë trß ch¬i lµ g×? Ho¹t ®éng nµo sÏ ®­îc thùc hiÖn, nÕu ®iÒu kiÖn ®ã tho¶ m·n? Ho¹t ®éng nµo sÏ ®­îc thùc hiÖn, nÕu ®iÒu kiÖn ®ã kh«ng tho¶ m·n?
Mét trß ch¬i m¸y tÝnh rÊt høng thó ®èi víi c¸c em nhá lµ høng trøng. Mét qu¶ trøng r¬i tõ mét vÞ trÝ ngÉu nhiªn trªn cao. Ng­êi ch¬i dïng c¸c phÝm mòi tªn ® hoÆc ¬ ®Ó ®iÒu khiÓn mét biÓu t­îng chiÕc khay di chuyÓn theo chiÒu ngang ®Ó høng qu¶ trøng. NÕu høng tr­ît, qu¶ trøng bÞ r¬i, vì vµ ng­êi ch¬i tiÕp tôc di chuyÓn khay ®Ó høng qu¶ trøng kh¸c.
§iÒu kiÖn ®Ó ®iÒu khiÓn chiÕc khay trong trß ch¬i lµ g×? Ho¹t ®éng nµo sÏ ®­îc thùc hiÖn, nÕu ®iÒu kiÖn ®ã tho¶ m·n? Ho¹t ®éng nµo sÏ ®­îc thùc hiÖn, nÕu ®iÒu kiÖn ®ã kh«ng tho¶ m·n?
C¸c c©u lÖnh Pascal sau ®©y ®­îc viÕt ®óng hay sai?
if x:=7 then a=b;
if x>5; then a:=b; 
if x>5 then; a:=b; 
if x>5 then a:=b; m:=n; 
if x>5 then a:=b; else m:=n; 
if n>0 then begin a:=0; m:=-1 end else c:=a; 
Sau mçi c©u lÖnh sau ®©y
if (45 mod 3)=0 then X:=X+1;
if X>10 then X:=X+1; 
gi¸ trÞ cña biÕn X sÏ lµ bao nhiªu, nÕu tr­íc ®ã gi¸ trÞ cña X b»ng 5?
Gi¶ sö cÇn viÕt ch­¬ng tr×nh nhËp mét sè tù nhiªn vµo m¸y tÝnh vµ ghi ra mµn h×nh kÕt qu¶ sè ®· nhËp lµ sè ch½n hay lÎ, ch¼ng h¹n “5 lµ sè lΔ, “8 lµ sè ch½n”. H·y m« t¶ c¸c b­íc cña thuËt to¸n ®Ó gi¶i quyÕt bµi to¸n trªn vµ viÕt ch­¬ng tr×nh Pascal ®Ó thùc hiÖn thuËt to¸n ®ã.
ViÕt ch­¬ng tr×nh nhËp sö dông hai biÕn X vµ Y ®Ó l­u hai sè nhËp tõ bµn phÝm, sau ®ã ®æi gi¸ trÞ cña c¸c biÕn ®ã ®Ó X vµ Y cã gi¸ trÞ t¨ng dÇn (xem Bµi tËp 3, Bµi 5).
H·y m« t¶ thuËt to¸n vµ viÕt ch­¬ng tr×nh nhËp ba sè thùc a, b vµ c tõ bµn phÝm vµo m¸y tÝnh, sau ®ã s¾p xÕp vµ ghi c¸c sè ®ã ra mµn h×nh theo thø tù t¨ng dÇn (xem Bµi tËp 8 vµ thuËt to¸n trong VÝ dô 5, Bµi 5).
H·y m« t¶ thuËt to¸n vµ viÕt ch­¬ng tr×nh nhËp ba sè thùc a, b vµ c tõ bµn phÝm vµo m¸y tÝnh, sau ®ã kiÓm tra ba sè ®ã cã thÓ lµ c¸c c¹nh cña tam gi¸c ®Òu, tam gi¸c c©n hoÆc tam gi¸c vu«ng hay kh«ng vµ ghi kÕt qu¶ ra mµn h×nh (xem Bµi 3, Bµi thùc hµnh 4).
H­íng dÉn tr¶ lêi
Cã thÓ nªu rÊt nhiÒu vµi vÝ dô vÒ c¸c ho¹t ®éng h»ng ngµy phô thuéc vµo ®iÒu kiÖn. D­íi ®©y lµ mét sè vÝ dô:
NÕu ®¹t ®iÓm tæng kÕt c¶ n¨m cao h¬n 8.5, em sÏ ®¹t danh hiÖu “Häc sinh giái”.
NÕu kh«ng ®­îc c¾m ®iÖn, m¸y tÝnh ®Ó bµn cña em sÏ kh«ng ho¹t ®éng ®­îc.
NÕu bÞ bÖnh, em (cÇn ph¶i) ®i ®Õn phßng kh¸m ®Ó b¸c sÜ kh¸m bÖnh.
NÕu kh«ng ®­îc t­íi ®ñ n­íc ®óng thêi k× ph¸t triÓn, lóa sÏ kh«ng cho thu ho¹ch cao.
§¸p ¸n: a) §óng; b) §óng; c) Sai; d) Sai; e) Sai, nÕu x ≥ 1.
Gi¶ sö §iÓm_1 lµ sè ®iÓm cña ng­êi thø nhÊt vµ §iÓm_2 lµ sè ®iÓm cña ng­êi thø hai, ngoµi ra mét ng­êi thø nhÊt trong ®Çu mét sè tù nhiªn n < 10. 
§iÒu kiÖn ë trß ch¬i lµ ng­êi thø hai ®o¸n ®óng sè n. Khi ®ã §iÓm_2 ®­îc céng thªm 1; ng­îc l¹i, §iÓm_2 ®­îc gi÷ nguyªn. T­¬ng tù, nÕu ng­êi thø hai nghÜ sè tù nhiªn m, vµ ®iÒu kiÖn thø hai lµ ng­êi thø nhÊt ®o¸n ®óng sè m ®ã. Khi ®ã §iÓm_1 ®­îc céng thªm 1; ng­îc l¹i, §iÓm_1 ®­îc gi÷ nguyªn. 
§iÒu kiÖn ë trß ch¬i lµ sau 10 lÇn, nÕu §iÓm_1 > §iÓm_2 th× ng­êi thø nhÊt ®­îc tuyªn bè th¾ng cuéc; ng­îc l¹i, ng­êi thø hai th¾ng. Tr­êng hîp §iÓm_1 = §iÓm_2 th× kh«ng cã ng­êi th¾ng vµ ng­êi thua.
§iÒu kiÖn ®Ó ®iÒu khiÓn chiÕc khay trong trß ch¬i ng­êi ch¬i nhÊn phÝm mòi tªn ® hoÆc ¬. NÕu ng­êi ch¬i nhÊn phÝm ®, biÓu t­îng chiÕc khay sÏ di chuyÓn sang ph¶i mét ®¬n vÞ kho¶ng c¸ch; nÕu phÝm ¬ ®­îc nhÊn, biÓu t­îng chiÕc khay sÏ di chuyÓn sang tr¸i. NÕu mét phÝm kh¸c ngoµi hai phÝm mòi tªn trªn ®­îc nhÊn, chiÕc khay vÉn gi÷ nguyªn vÞ trÝ. 
§¸p ¸n: a) Sai (thõa dÊu hai chÊm); b) Sai (thõa dÊu chÊm ph¶y thø nhÊt); c) Sai (thõa dÊu chÊm ph¶y sau tõ then); d) §óng, nÕu phÐp g¸n m:=n kh«ng phô thuéc ®iÒu kiÖn x>5; ng­îc l¹i, sai vµ cÇn ®­a hai c©u lÖnh a:=b; m:=n; vµo gi÷a cÆp tõ khãa begin vµ end; e) Sai (thõa dÊu chÊm ph¶y thø nhÊt); f) §óng.
a) V× 45 chia hÕt cho 3, ®iÒu kiÖn ®­îc tháa m·n nªn gi¸ trÞ cña X ®­îc t¨ng lªn 1, tøc b»ng 6; b) §iÒu kiÖn kh«ng ®­îc tháa m·n nªn c©u lÖnh kh«ng ®­îc thùc hiÖn, tøc X gi÷ nguyªn gi¸ trÞ 5.
ThuËt to¸n:
B­íc 1. NhËp sè n. 
B­íc 2. NÕu n chia hÕt cho 2, ghi ra mµn h×nh “n lµ sè ch½n”; ng­îc l¹i, ghi ra mµn h×nh “n lµ sè lΔ. 
B­íc 3. KÕt thóc thuËt to¸n.
Ch­¬ng tr×nh Pascal:
uses crt;
var X,Y,Z: real;
begin
clrscr;
write('Nhap so X = '); readln(Y);
write('Nhap so Y = '); readln(Y);
if X>Y then begin Z:=X; X:=Y; Y:=Z;
writeln(X,’ ’,Y);
readln
end.
ThuËt to¸n:
B­íc 1. NhËp ba sè A, B vµ C. 
B­íc 2. NÕu A > B, X ¬ A, A ¬ B, B ¬ X. 
B­íc 3. NÕu C > A, X ¬ A, A ¬ C, C ¬ X. 
B­íc 4. NÕu C < B, X ¬ B, B ¬ C, C ¬ X. 
B­íc 5. Ghi gi¸ trÞ c¸c biÕn theo thø tù A, B vµ C vµ kÕt thóc thuËt to¸n.
Ch­¬ng tr×nh Pascal:
uses crt;
var 	A, B, C, X: integer; 
begin
clrscr;
write('Nhap so A: '); readln(A);
write('Nhap so B: '); readln(B);
write('Nhap so C: '); readln(C);
if A>B then begin X:=A; A:=B; B:=X end;
if C<A then begin X:=A; A:=C; C:=X end;
if C<B then begin X:=B; B:=C; C:=X end;
writeln(A,' ',B,' ',C);
readln;
end.
ThuËt to¸n:
B­íc 1. NhËp ba sè A, B vµ C. 
B­íc 2. NÕu A + B < C hoÆc B + C < A hoÆc C + A < B, th«ng b¸o A, B vµ C kh«ng ph¶i lµ ba c¹nh cña mét tam gi¸c vµ chuyÓn tíi b­íc 5. 
B­íc 3. NÕu A2 + B2 = C hoÆc B2 + C2 = A2 hoÆc C2 + A2 = B, th«ng b¸o A, B vµ C lµ ba c¹nh cña mét tam gi¸c vu«ng vµ chuyÓn tíi b­íc 5. 
B­íc 4. NÕu A = B vµ B = C, th«ng b¸o A, B vµ C lµ ba c¹nh cña mét tam gi¸c ®Òu; ng­îc l¹i, nÕu A = B hoÆc B = C hoÆc A = C, th«ng b¸o A, B vµ C lµ ba c¹nh cña mét tam gi¸c c©n.
B­íc 5. KÕt thóc thuËt to¸n. 
Ch­¬ng tr×nh Pascal:
program Sap_xep;
uses crt;
var 	A, B, C, X: integer;
begin
clrscr;
write('Nhap so A: '); readln(A);
write('Nhap so B: '); readln(B);
write('Nhap so C: '); readln(C);
if (A+B<C) or (B+C<A) or (A+C<B)
 then writeln('Day khong la ba canh cua mot tam giac') else
 if (A*A=B*B+C*C) or (B*B=A*A+C*C) or (C*C=A*A+B*B)
 then writeln('Day la ba canh cua tam giac vuong') else
 if (A=B) and(B=C) and (A=C)
 then writeln('Day la ba canh cua tam giac deu') else
 if (A=B) or (B=C) or (C=A)
 then writeln('Day la ba canh cua tam giac can') else
 writeln('Day chi la ba canh cua tam giac thuong');
readln;
end.
Bµi 7. C¢U LÖNH lÆp
C©u hái vµ bµi tËp
Cho mét vµi vÝ dô vÒ ho¹t ®éng ®­îc thùc hiÖn lÆp l¹i trong cuéc sèng hµng ngµy!
H·y m« t¶ c¸c b­íc cña thuËt to¸n ®Ó vÏ h×nh ... a) vµ ... b) sau ®©y:
H×nh ...a)
H×nh ... b)
Thao t¸c lÆp cÇn thùc hiÖn ®Ó cã c¸c h×nh trªn vµ ®iÒu kiÖn ®Ó kÕt thóc thao t¸c ®ã lµ g×
H·y cho biÕt t¸c dông cña c©u lÖnh lÆp!
Chóng ta nãi r»ng khi thùc hiÖn c¸c ho¹t ®éng lÆp, ch­¬ng tr×nh kiÓm tra mét ®iÒu kiÖn. Víi lÖnh lÆp 
for := to do ;
cña Pascal, ®iÒu kiÖn cÇn ph¶i kiÓm tra lµ g×?
Ch­¬ng tr×nh Pascal sau ®©y thùc hiÖn ho¹t ®éng nµo?
var i: integer;
begin
for i:=1 to 1000 do;
end.
H·y m« t¶ thuËt to¸n ®Ó tÝnh tæng sau ®©y (n lµ sè tù nhiªn ®­îc nhËp vµo tõ bµn phÝm):
A = 
C¸c c©u lÖnh Pascal cã hîp lÖ kh«ng, v× sao?
a) for i:=100 to 1 do writeln(’A’);
b) for i:=1.5 to 10.5 do writeln(’A’);
c) for i=1 to 10 do writeln(’A’);
d) for i:=1 to 10 do; writeln(’A’);
e) var x: real; for x:=1 to 10 do writeln(’A’);
Mét sè ng«n ng÷ lËp tr×nh, vÝ dô Pascal, kh«ng cã s½n hµm tÝnh lòy thõa. H·y m« t¶ thuËt to¸n vµ sö dông c©u lÖnh lÆp víi sè lÇn x¸c ®Þnh tr­íc ®Ó viÕt ch­¬ng tr×nh Pascal tÝnh lòy thõa bËc n cña sè nguyªn X.
ViÕt ch­¬ng tr×nh Pascal nhËp n sè nguyªn tõ bµn phÝm vµ ghi ra mµn h×nh sè lín nhÊt trong c¸c sè ®ã. Sè n còng ®­îc nhËp vµo tõ bµn phÝm. (Xem m« t¶ thuËt to¸n trong VÝ dô 6, Bµi 5.) 
ViÕt ch­¬ng tr×nh Pascal nhËp n sè nguyªn tõ bµn phÝm vµ ghi ra mµn h×nh sè c¸c sè d­¬ng trong c¸c sè ®ã. Sè n còng ®­îc nhËp vµo tõ bµn phÝm. (Xem Bµi tËp 5a, Bµi 5.) 
H­íng dÉn tr¶ lêi
Cã thÓ nªu rÊt nhiÒu vµi vÝ dô vÒ c¸c ho¹t ®éng lÆp. D­íi ®©y lµ mét sè vÝ dô:
Hµng ngµy em ®Æt ®ång hå b¸o thøc lóc 6 giê ®Ó dËy sím tËp thÓ dôc.
Hµng ngµy (hoÆc hµng tuÇn) b¸c l¸i xe kh¸ch l¸i xe ®Ó chuyªn chë hµnh kh¸ch xuÊt ph¸t tõ mét thêi gian vµ ®Þa ®iÓm nhÊt ®Þnh vµ ®i theo mét tuyÕn ®­êng ®· ®­îc x¸c ®Þnh tr­íc.
Mçi lÇn ®­îc khëi ®éng, m¸y tÝnh cña em sÏ thùc hiÖn cïng c¸c ho¹t ®éng tù kiÓm tra c¸c thµnh phÇn m¸y tÝnh, sau ®ã khëi ®éng hÖ ®iÒu hµnh theo mét tr×nh tù ®· ®­îc quy ®Þnh tr­íc. 
a) Cã thÓ thÊy, ®Ó vÏ ®­îc h×nh ...a), thao t¸c chÝnh cÇn thùc hiÖn lµ vÏ nöa ®­êng trßn theo h­íng nhÊt ®Þnh. Ta gäi thao t¸c vÏ nöa ®­êng trßn theo h­íng A lµ vÏ nöa ®­êng trßn cã b¸n kÝnh 1 ®¬n vÞ b¾t ®Çu tõ mét ®iÓm x¸c ®Þnh, ®­êng kÝnh nèi ®iÓm ®Çu vµ ®iÓm cuèi cña nöa ®­êng trßn vu«ng gãc víi h­íng A vµ nöa ®­êng trßn “cong vÒ h­íng A” (h×nh...). Ta chØ xÐt A lµ c¸c h­íng lªn trªn, xuèng d­íi, sang tr¸i, sang ph¶i. 
Víi c¸c h­íng, ta ®Þnh nghÜa phÐp to¸n sau: lªn trªn + 1 = sang tr¸i, sang tr¸i +1 = xuèng d­íi, xuèng d­íi +1 = sang ph¶i, sang ph¶i +1 = lªn trªn. Khi ®ã cã thÓ m« t¶ c¸c b­íc cña thuËt to¸n ®Ó vÏ h×nh ... a) nh­ sau:
H×nh ...
H×nh ...
Cã thÓ m« t¶ c¸c b­íc cña thuËt to¸n ®Ó vÏ h×nh ... a) nh­ sau:
B­íc 1. X¸c ®Þnh ®iÓm b¾t ®Çu vÏ lµ X. 
B­íc 2. §Æt i = 0 vµ ®Æt h­íng = lªn trªn.
B­íc 3. VÏ nöa ®­êng trßn theo h­íng ®· ®Æt. 
B­íc 4. i = i + 1. 
B­íc 5. NÕu i > 4, chuyÓn b­íc 6; ng­îc l¹i, ®Æt h­íng = h­íng + 1 vµ quay l¹i b­íc 3.
B­íc 6. KÕt thóc thuËt to¸n. 
L­u ý. Khi tr×nh bµy thuËt to¸n lÇn ®Çu tiªn cho häc sinh kh«ng nªn ®Þnh nghÜa c¸c phÐp to¸n víi c¸c h­íng mµ chØ nªn liÖt kª ®ñ bèn h­íng trong thuËt to¸n.
b) ThuËt to¸n t­¬ng tù nh­ trªn. Thao t¸c chÝnh cÇn lÆp l¹i lµ vÏ h×nh vu«ng. T¹i mçi b­íc, gi÷ nguyªn t©m h×nh vu«ng vµ thay ®æi h­íng vÏ mét gãc 30o.
C©u lÖnh lÆp cã t¸c dông lµm ®¬n gi¶n vµ gi¶m nhÑ c«ng søc cña ng­êi viÕt ch­¬ng tr×nh!
Chóng ta nãi r»ng khi thùc hiÖn c¸c ho¹t ®éng lÆp, ch­¬ng tr×nh kiÓm tra mét ®iÒu kiÖn. Víi lÖnh lÆp 
for := to do ;
cña Pascal, ®iÒu kiÖn cÇn ph¶i kiÓm tra chÝnh lµ gi¸ trÞ cña biÕn ®Õm lín h¬n gi¸ trÞ cuèi. NÕu ®iÒu kiÖn kh«ng ®­îc tháa m·n, c©u lÖnh ®­îc tiÕp tôc thùc hiÖn; ng­îc l¹i, chuyÓn sang c©u lÖnh tiÕp theo trong ch­¬ng tr×nh.
Tuy cã vßng lÆp 1000 lÇn, nh­ng ch­¬ng tr×nh Pascal nãi trªn kh«ng thùc hiÖn bÊt k× mét ho¹t ®éng nµo. Tuy nhiªn ®©y vÉn lµ c©u lÖnh hîp lÖ.
ThuËt to¸n tÝnh tæng
A = 
B­íc 1. G¸n A ¬ 0, i ¬ 1. 
B­íc 2. A ¬ .
B­íc 3. i ¬ i + 1. 
B­íc 4. NÕu i ≤ n, quay l¹i b­íc 2. 
B­íc 5. Ghi kÕt qu¶ A vµ kÕt thóc thuËt to¸n.
Trõ d), tÊt c¶ c¸c c©u lÖnh ®Òu kh«ng hîp lÖ: a) Gi¸ trÞ ®Çu ph¶i nhá h¬n gi¸ trÞ cuèi; b) C¸c gi¸ trÞ ®Çu vµ gi¸ trÞ cuèi ph¶i lµ sè nguyªn; c) ThiÕu dÊu hai chÊm khi g¸n gi¸ trÞ ®Çu; d) Thõa dÊu chÊm ph¶y thø nhÊt, nÕu nh­ ta muèn lÆp l¹i c©u lÖnh writeln(’A’)m­êi lÇn, ng­îc l¹i c©u lÖnh lµ hîp lÖ; e) BiÕn x ®· ®­îc khai b¸o nh­ lµ biÕn cã d÷ liÖu kiÓu sè thùc vµ v× thÕ kh«ng thÓ dïng ®Ó x¸c ®Þnh gi¸ trÞ ®Çu vµ gi¸ trÞ cuèi trong c©u lÖnh lÆp.
ThuËt to¸n:
B­íc 1. NhËp c¸c sè n vµ x. 
B­íc 2. A ¬ 1, i ¬ 0 (A lµ biÕn l­u lòy thõa bËc n cña x). 
B­íc 3. i¬i + 1, A ¬ A.x. 
B­íc 4. NÕu i < n, quay l¹i b­íc 3.
B­íc 5. Th«ng b¸o kÕt qu¶ A lµ lòy thõa bËc n cña x vµ kÕt thóc thuËt to¸n.
Ch­¬ng tr×nh Pascal cã thÓ nh­ sau:
var n,i,x: integer; a: longint;
begin
write('Nhap x='); readln(x);
write('Nhap n='); readln(n);
A:=1;
for i:=1 to n do A:=A*X;
writeln(x,' mu ',n,' bang ',A);
end.
ThuËt to¸n:
B­íc 1. NhËp sè n. 
B­íc 2. A¬ -32768 (g¸n sè nhá nhÊt cã thÓ trong c¸c sè kiÓu nguyªn cho A), i¬1. 
B­íc 3. NhËp sè thø i vµ g¸n gi¸ trÞ ®ã vµo biÕn A.
B­íc 4. NÕu Max < A, Max ¬ A. 
B­íc 5. i¬i + 1.
B­íc 6. NÕu i ≤ n, quay l¹i b­íc 3.
B­íc 7. Th«ng b¸o kÕt qu¶ Max lµ sè lín nhÊt vµ kÕt thóc thuËt to¸n.
Ch­¬ng tr×nh Pascal cã thÓ nh­ sau:
uses crt;
var n,i,Max,A: integer;
begin
clrscr;
write('Nhap N='); readln(n);
Max:=-32768;
for i:=1 to n do
 begin write('Nhap so thu ',i,':'); readln(A);
 if Max<A then Max:=A end;
writeln('So lon nhat: ',Max);
end.
L­u ý. Trong ch­¬ng tr×nh trªn chóng ta chØ sö dông hai biÕn A vµ Max ®Ó gi¶i bµi to¸n. Mét c¸ch tù nhiªn, ®Ó nhËp n sè chóng ta cÇn tíi n biÕn. Tuy nhiªn, ë ®©y viÖc xö lÝ c¸c gi¸ trÞ trong d·y sè cã thÓ thùc hiÖn b»ng c¸ch chØ cÇn so s¸nh c¸c gi¸ trÞ ®· ®­îc nhËp vµo, do ®ã chóng ta chØ cÇn mét biÕn ®Ó l­u lÇn l­ît c¸c gi¸ trÞ nhËp vµo lµ ®ñ. Mét c¸ch gi¶i quyÕt kh¸c lµ sö dông biÕn m¶ng (xem Bµi tËp 6, Bµi 9).
Lêi gi¶i bµi nµy t­¬ng tù nh­ lêi gi¶i cña Bµi 9 ë trªn. Xem thuËt to¸n trong lêi gi¶i Bµi tËp 5a, Bµi 5. Ch­¬ng tr×nh Pascal cã thÓ nh­ sau:
uses crt;
var n,i,SoDuong,A: integer;
begin
clrscr;
write('Nhap N='); readln(n);
if n>0 then
 begin
 SoDuong:=0;
 for i:=1 to n do
 begin write('Nhap so thu ',i,':'); readln(A);
 if A>0 then SoDuong:=SoDuong+1 end;
 wr

Tài liệu đính kèm:

  • docgiai_dap_bai_tap_tin_hoc_8tham_khao_cho_gv_va_hs.doc