Ôn tập học Tin học 8

doc 29 trang Hoàng Sơn 21/04/2025 20
Bạn đang xem 20 trang mẫu của tài liệu "Ôn tập học Tin học 8", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • docon_tap_hoc_tin_hoc_8.doc

Nội dung text: Ôn tập học Tin học 8

  1. ÔN TẬP HỌC TIN HỌC 8 1. Máy tính và chương trình máy tính. _ Chương trình máy tính là một dãy các lệnh mà máy tính có thể hiểu và thực hiện được nhằm giải quyết 1 công việc cụ thể. _ Ngôn ngữ lập trình là ngôn ngữ dùng để viết các chương trình máy tính. _ 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. _ Chương trình dịch là chương trình dùng để chuyển đổi ngôn ngữ lập trình sang ngôn ngữ máy. 2. Từ khóa và tên _ Từ khóa là những từ dành riêng cho những mục đích sử dụng của ngôn ngữ lập trình. _ Các từ khóa cơ bản: Progam (khai báo tên chương trình), Uses (khai báo có sử dụng thư viện), Begin (khai báo phần bắt đầu của chương trình), End (khai báo phần kết thúc của chương trình). _ Tên do người viết đặt ra phải được đặt theo quy tắc: + Tên khác nhau tương ứng đại lượng khác nhau + Không trùng từ khóa. + Không chứa khoảng cách. + Không chứa số ở đầu. + Không chứa kí tự đặc biệt. 3. Cấu trúc chung của 1 chương trình gồm: _ Phần khai báo ( không bắt buộc): +Khai báo tên chương trình. +Khai báo các thư viện sử dụng trong chương trình (crt) và các khai báo khác. _ Phần thân (bắt buộc): Chứa các câu lệnh máy tính cần thực hiện. 4. Các tổ hợp phím. ➢ Biên dịch chương trình: Alt + F9. ➢ Thoát khỏi chương trình: Alt + X ➢ Chạy chương trình: Ctrl + F9. ➢ Mở toàn màn hình: Alt +Enter 5. Giao tiếp người- máy tính _delay(x) tạm ngừng chương trình trong x phần nghìn giây, sau đó tự động tiếp tục chạy. _ read hoặc readln tạm ngừng chương trình cho đến khi người dùng nhấn phím Enter. _write( :n:m) hay writeln( :n:m) được dùng để điểu khiển cách in số thực trên màn hình; trong đó giá trị thực là số hay biểu thức số thực và n, m là các số tự nhiên. n quy định độ rộng in số, còn m là số chữ số thập phân. Lưu ý rằng các kết quả in ra màn hình dược căn thẳng lề phải. Lệnh writeln in thông tin ra màn hình và đưa con trỏ xuống đầu dòng _ Read( ) hay Readln( ) để nhập dữ liệu từ bàn phím *Lưu ý ❖ Pascal không phân biệt chữ hoa, chữ thường: begin, BeGin hay BEGIN đều đúng. ❖ Lệnh kết thúc chương trình là end. (có dấu chấm), mọi thông tin đứng sau lệnh này bị bỏ qua trong quá trình dịch chương trình. ❖ Dấu chấm phẩy (;) được dùng phân cách các lệnh trong Pascal. Có thể in thông tin dạng văn bản hoặc dạng số, Văn bản cần in ra bằng câu lệnh phải được đặt trong cặp dấu nháy dơn. ❖ Câu lệnh clrscr để xóa màn hình kết quả và chỉ sử dụng được khi đã khai báo thư viện crt. 6. Dữ liệu và kiểu dữ liệu.
  2. ❖ Trong Pascal, để chỉ rõ cho chương trình dịch hiểu dãy chữ số là kiểu xâu, ta phải đặt dãy số đó trong cặp dấu nháy đơn ( VD: ‘12345’). Tên kiểu Phạm vi giá trị byte Các số nguyên từ 0 đến 255 integer Số nguyên trong khoảng -32768 đến 32767 real Số thực có giá trị tuyệt đối trong khoảng 1.5 x 10-45 đến 3.4 x 1038 và số 0 char Một kí tự trong bảng chữ cái. string Xâu kí tự, tối đa gồm 255 kí tự. 7. Kí hiệu của các phép toán số học và phép so sánh trong ngôn ngữ Pascal Kí hiệu Phép toán Kiểu dữ liệu + cộng số nguyên, Kí hiệu Phép so sánh số thực Pascal – trừ số nguyên, = Bằng số thực <> Khác * nhân số nguyên, < Nhỏ hơn số thực <= Nhỏ hơn hoặc / chia số nguyên, bằng số thực > Lớn hơn div chia lấy phần nguyên số nguyên >= Lớn hơn hoặc mod chia lấy phần dư số nguyên bằng 8. Biến và hằng • Biến _ Biến là đại lượng được đặt tên dùng để lưu trữ dữ liệu và giá trị của biến có thể thay đồi trong suốt quá trình thực hiện chương trình. _ 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 _ Cú pháp khai báo biến trong Pascal: Var : ; _ Cú pháp gán giá trị cho biến := • Hằng _ Hằng là đại lượng được đặt tên dùng để lưu trữ dữ liệu và giá trị của hằng được giữ nguyên trong suốt quá trình thực hiện chương trình. _ Cú pháp khai báo hằng trong Pascal: Const = ; _Lưu ý: Liệt kê các biến có cùng kiểu dữ liệu trên cùng 1 dòng và cách nhau bởi dấu (,). 12. Quá trình giải bài toán trên gồm: -Xác định bài toán: +INPUT: Điều kiện cho trước. +OUTPUT: Kết quả đạt được. -Mô tả thuật toán: Diễn tả cách giải bài toán bằng dãy các thao tác cần phải thực hiện -Viết chương trình: Dựa vào thuật toán, viết chương trình bằng ngôn ngữ lập trình thích hợp. 13. Câu lệnh điều kiện ❖ Dạng thiếu Cú pháp: If then ; - Chương trình sẽ kiểm tra điều kiện. Nếu điều kiện được thỏa mãn, chương trình sẽ thực hiện câu lệnh sau từ khóa then. Ngược lại, câu lệnh bị bỏ qua. ❖ Dạng đủ Cú pháp: If then else ; - Chương trình sẽ kiểm tra điều kiện. Nếu điều kiện được thỏa mãn, chương trình sẽ thực hiện câu lệnh 1 sau từ khóa then. Ngược lại, câu lệnh 2 sẽ được thực hiện.
  3. TỰ LUẬN - Định nghĩa, khai báo biến và hằng - Quá trình giải toán trên máy tính. - Câu lệnh điều kiện PHẦN I: TRẮC NGHIỆM KHÁCH QUAN Câu 1: Chương trình dịch là gì? A. Chương trình dịch ngôn ngữ tự nhiên ra ngôn ngữ máy. B. Chương trình dịch ngôn ngữ máy ra ngôn ngữ tự nhiên. C. 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 được thực hiện trên máy tính cụ thể. D. Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ máy thành ngôn ngữ lập trình. Câu 2: Trong ngôn ngữ lập trình Pascal từ khóa Program dùng để: A. Khai báo tên chương trình C. Khai báo thư viện. B. Khai báo biến. D. Khai báo hằng. Câu 3: Trong ngôn ngữ lập trình Pascal từ khóa Uses dùng để: A. Khai báo tên chương trình. C. Khai báo thư viện. B. Khai báo biến. D. Khai báo hằng. Câu 4: Trong ngôn ngữ lập trình khẳng định nào sai trong các khẳng định sau: A. Phần tên chương trình không nhất thiết phải có. B. Phần thân chương trình có thể có hoặc không. C. Phần khai báo có thể có hoặc không. D. Phần thân chương trình nhất thiết phải có. Câu 5: Trong các tên sau đây, tên nào là không hợp lệ trong ngôn ngữ Pascal? A. a; B. Tamgiac; C. begin; D. 8a; Câu 6: Trong Turbo Pascal, để biên dịch chương trình: A. Nhấn tổ hợp phím Alt+F5. B. Nhấn tổ hợp phím Alt+F9. C. Nhấn tổ hợp phím Ctrl+F5. D. Nhấn tổ hợp phím Ctrl+F9. Câu 7: Trong Turbo Pascal, để chạy chương trình : A. Nhấn tổ hợp phím Alt+F5. B. Nhấn tổ hợp phím Alt+F9. C. Nhấn tổ hợp phím Ctrl+F5. D. Nhấn tổ hợp phím Ctrl+F9. Câu 8: Trong các tên sau đây, tên nào là hợp lệ trong ngôn ngữ Pascal? A. Ban kinh; B. Program; C. Lop7A; D. Thang@10 ; Câu 9: Ngôn ngữ dùng để viết các chương trình máy tính gọi là: A. Ngôn ngữ máy tính. B. Ngôn ngữ lập trình. C. Ngôn ngữ nhị phân. D. Ngôn ngữ viết. Câu 10: Khẳng định nào đúng khi đặt tên trong ngôn ngữ lập trình Pascal sau đây: A. Tên không được bắt đầu bằng chữ số và có thể trùng với từ khóa. B. Tên được chứa dấu cách và không được trùng với từ khóa. C. Tên không được trùng với từ khóa và không được chứa dấu cách. D. Tên không được bắt đầu bằng chữ số, không chứa dấu cách, không trùng với từ khóa. Câu 11: Dấu nào sau đây dùng để phân cách các lệnh trong Pascal? A. Dấu chấm phẩy(;) B. Dấu chấm(.) C. Dấu phẩy(,) D. Dấu nháy(‘) Câu 12: Trong Pascal, khi đã khai báo thư viện “crt” lệnh “clrscr” dùng để làm gì? A. Xóa màn hình kết quả. B. In thông tin ra màn hình. C. Đưa con trỏ xuống dòng. D. Nhập thông tin trên màn hình kết quả Câu 13: Trong Pascal, kết quả của phép chia hai số sẽ là kiểu dữ liệu gì? A. Số thực. B. Số nguyên. C. Kiểu xâu. D. Kiểu kí tự. Câu 14: Cho đoạn chương trình sau: a:=3; b:=2; c:=0; if a <= b then c:=a+b; Sau khi thực hiện đoạn chương trình trên, giá trị của c là bao nhiêu? A. Không xác định B. 6 C. 5 D. 0
  4. Câu 15: Cho biết kết quả trả về của biểu thức sau: (20 mod 2) div 3 + (13 div 4) A. 1 B. Kết quả khác C. 4 D. 3 Câu 16: Câu lệnh Pascal sau đây được viết đúng A. if x > 5 then a := b else m := n; C. if x > 5 then a := b; else m := n; B. if x > 5 then a = b else m := n; D. if x > 5 then a = b else m = n; Câu 17: Cho đoạn chương trình sau:a:=3; b:=5; c=7; if a+b > 8 then c:=a+b else c:=a-b; Sau khi thực hiện đoạn chương trình trên, giá trị của c là bao nhiêu? A. c=2 B. c=7 C. c=-2 D. c=8 Câu 18: Lệnh Write tương tự như lệnh Writeln nhưng A. Không đưa con trỏ xuống đầu dòng tiếp theo C. Bỏ trong dấu ngoặc đơn B. Đưa con trỏ xuống đầu dòng tiếp theo D. Bỏ trong dấu ngoặc kép a 2 1 Câu 19: Biểu thức toán học b c d 2a được viết với các kí hiệu trong Pascal là: A. a/b + 2/(c + d) - 1/2*a C. a/b + 2/c + d - 1/2*a B. a/b + 2/c + d - 1/(2*a) D. a/b + 2/(c + d) - 1/(2*a) Câu 20: Khai báo nào sau đây là sai A. Var 1, 2, 3 :integer; C. Var a1, b2, c3: Char; B. Var x, y, z: Real; D. Var a, b, c: integer; Câu 21: Trong các cách khai báo Hằng sau đây cách khai báo nào là đúng A. Const Pi = 14.3; B. Pi = 3.14; C. Const = Pi; D. Const Pi = 3,14; Câu 22: Kết quả của câu lệnh sau là:Writeln('5+20=', 20+5); A. ‘5+20=’,20+5 B. '5+20='20+5 C. 5+20=20+5 D. 5+20=25 Câu 23: Hãy xác định phép so sánh có kết quả SAI trong các phép so sánh sau đây: A. 15 - 8 ≥ 3 B. -3 > 0 C. (20 - 15)2 = 25 D. 112 = 121 Câu 24: Câu lệnh nào sau đây dùng để nhập một số từ bàn phím vào biến x? A. Writeln(‘Nhập x = ’); B. Write(x); C. Writeln(x); D. Readln(x); Câu 25: Phần dư trong phép chia của hai số nguyên 16 và 5 là: A. 16 div 5 = 1 B. 16 mod 5 = 1 C. 16 div 5 = 3 D. 16 mod 5 = 3 Câu 26: Từ nào là các từ khóa trong chương trình: A. Begin, Program, Write, Uses, Read C. End, Read, Var, Const, progra B. Program, Var, Begin, Uses, Const, End D. Program, Begin, End, Uses, integer Câu 27: Cho đoạn chương trình sau: a:=3; b:=5; if a < b then c:=a+b; Sau khi thực hiện đoạn chương trình trên, giá trị của c là bao nhiêu? A. c=3 B. c=5 C. Không xác định D. c=8 Câu 28: Sau khi chạy đoạn chương trình sau: a := 24 ; b := 12 ; If a < b then a := a + b else Begin a := a - b; b := b + a end; Biến a và b có giá trị là: A. a = 12 ; b = 24; C. a = 12 ; b = 36; B. a = 24 ; b = 12; D. a = 12 ; b = 16; Câu 29: Quá trình giải bài toán trên máy tính theo trình tự các bước sau: A. Xác định bài toán →Viết chương trình→Mô tả thuật toán. B. Mô tả thuật toán→Viết chương trình→ Xác định bài toán. C. Xác định bài toán →Mô tả thuật toán→Viết chương trình. D. Viết chương trình→Mô tả thuật toán→ Xác định bài toán Câu 30: Trong Pascal, câu lệnh Writeln(16 mod 3) sẽ in lên màn hình kết quả là bao nhiêu? A. 5 C. 16 mod 3= 5 B. 1 D. 16 mod 3= 1
  5. PHẦN II: CÂU HỎI VÀ BÀI TẬP 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. H­íng dÉn tr¶ lêi 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 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: 1. Sao chÐp côm tõ cÇn t×m vµo bé nhí (ta gäi ®©y lµ côm tõ 1). 2. Sao chÐp côm tõ sÏ thay thÕ côm tõ t×m ®­îc vµo bé nhí (côm tõ 2). 3. T×m côm tõ 1 trong v¨n b¶n. 4. Xãa côm tõ 1 t×m ®­îc trong v¨n b¶n. 5. 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: 1. Sao chÐp d·y kÝ tù cÇn t×m vµo bé nhí (d·y 1). 2. Sao chÐp d·y kÝ tù sÏ thay thÕ d·y kÝ tù t×m ®­îc vµo bé nhí (d·y 2). 3. §Æt con trá tr­íc kÝ tù ®Çu tiªn trong v¨n b¶n. 4. 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). 5. 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. 6. Xãa d·y 3 trong v¨n b¶n. 7. Sao chÐp d·y 2 vµo vÞ trÝ con trá so¹n th¶o trong v¨n b¶n. 8. Di chuyÓn con trá sang ph¶i mét kÝ tù vµ quay l¹i lÖnh 4.
  6. 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), nh­ng nãi chung viÖc thay ®æi thø tù c¸c lÖnh sÏ kh«ng cho kÕt qu¶ mong muèn. 2. 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, nh­ng 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”. 3. 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. 4. Tuy ng«n ng÷ m¸y còng lµ mét lo¹i ng«n ng÷ lËp tr×nh, nh­ng ë ®©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. 5. 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. 6. 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. L­u ý 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 1. 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 .
  7. 2. 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? 3. 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. 4. 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? 5. 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? 6. 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 1. 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. L­u ý 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. 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. L­u ý 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. 3. 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 ý nh­ng 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¸.
  8. 4. 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). 5. Xem SGK, Môc 4, Bµi 2. 6.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 1. 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! 2. 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, nh­ng phÐp to¸n ®ã kh«ng cã nghÜa trªn kiÓu d÷ liÖu kia. 3. Cho d·y ch÷ sè 2010. D·y ch÷ sè ®ã cã thÓ thuéc kiÓu d÷ liÖu nµo? 4. 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ù ®ã. 5. 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); 6. ViÕt c¸c biÓu thøc to¸n d­íi ®©y víi c¸c kÝ hiÖu trong Pascal: a c a. b d b. ax2 bx c 1 a c. (b 2) x 5 d. (a2 b)(1 c)3 7. 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. (a+b)*(a+b)-x/y b. b/(a*a+c) c. a*a/(2*b+c)*(2*b+c) d. 1+1/2+1/2*3+1/3*4+1/4*5 8. H·y x¸c ®Þnh kÕt qu¶ cña c¸c phÐp so s¸nh sau ®©y: a. 15 8 ≥ 3 b. (20 15)2 ≠ 25 c. 112 = 121
  9. d. x > 10 3x 9. ViÕt c¸c phÐp so s¸nh trong Bµi tËp 8 víi c¸c kÝ hiÖu trong Pascal. 10.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 1. 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¶. 2. Cã thÓ nªu c¸c vÝ dô sau ®©y: a. 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è, nh­ng kh«ng cã nghÜa trªn d÷ liÖu kiÓu x©u. b. 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, nh­ng kh«ng cã nghÜa trªn d÷ liÖu kiÓu sè thùc. 3. D·y ch÷ sè 2010 cã thÓ thuéc kiÓu d÷ liÖu sè nguyªn, sè thùc hoÆc kiÓu x©u kÝ tù. Tuy nhiªn, ®Ó ch­¬ng tr×nh dÞch Turbo Pascal hiÓu 2010 lµ d÷ liÖu kiÓu x©u, chóng ta ph¶i viÕt d·y sè nµy trong cÆp dÊu nh¸y ®¬n (’). var a: real; b: integer; begin writeln('123'); writeln(123); a:=2010; b:=2010; end. 4. Cho hai x©u kÝ tù “Líp” vµ “8A”. Cã thÓ ®Þnh nghÜa nhiÒu “phÐp to¸n” trªn tËp hîp c¸c d÷ liÖu kiÓu x©u. Ch¼ng h¹n phÐp ghÐp: Líp + 8A = Líp8A. 5. LÖnh Writeln('5+20=','20+5'); in ra mµn h×nh hai x©u ký tù '5+20' vµ '20+5' liÒn nhau: 5+20 = 20+5, cßn lÖnh Writeln('5+20=',20+5); in ra mµn h×nh x©u ký tù '5+20' vµ tæng cña 20+5 nh­ sau: 5+20=25. Hai lÖnh Writeln('100'); vµ Writeln(100); kh«ng t­¬ng ®­¬ng víi nhau v× mét lÖnh in ra mµn h×nh x©u ký tù biÓu diÔn sè 100 cßn lÖnh kia in ra mµn h×nh sè 100. 6. C¸c biÓu thøc trong Pascal: a. a/b+c/d b. a*x*x+b*x+c c. 1/x-a/5*(b+2) d. (a*a+b)*(1+c)*(1+c)*(1+c) 7. C¸c biÓu thøc to¸n t­¬ng øng: x a. (a b)2 y
  10. b b. a2 c a2 c. (2b c)2 1 1 1 1 d. 1 2 2.3 3.4 4.5 8. KÕt qu¶ cña c¸c phÐp so s¸nh: a. §óng. b. Sai. c. §óng. d. §óng khi x > 2.5; ng­îc l¹i, phÐp so s¸nh cã kÕt qu¶ sai. 9.a) 15-8>=3; b) (20-15)*(20-15) 10-3*x. 10.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: th«ng b¸o kÕt qu¶ tÝnh to¸n hay tr¹ng th¸i ho¹t ®éng cña ch­¬ng tr×nh, nhËp d÷ liÖu, t¹m ngõng ch­¬ng tr×nh. Xem SGK, Môc 4, Bµi 2. Bµi 4. Sö DỤNG biÕn TRONG CH¦¥NG TR×NH C©u hái vµ bµi tËp 1. BiÕn lµ g×? H·y cho biÕt phÐp g¸n gi¸ trÞ cho mét biÕn lµ g×, cho vÝ dô vµ gi¶i thÝch. 2. Khai b¸o biÕn gåm nh÷ng g×? H·y thö m« t¶ ho¹t ®éng cña m¸y tÝnh khi thùc hiÖn lÖnh khai b¸o mét biÕn trong ch­¬ng tr×nh. 3. Gi¶ sö A ®­îc khai b¸o lµ biÕn víi kiÓu d÷ liÖu sè thùc, X lµ biÕn víi kiÓu d÷ liÖu x©u. C¸c phÐp g¸n sau ®©y cã hîp lÖ kh«ng? a) G¸n sè nguyªn 4 cho biÕn A. b) G¸n sè 3242 cho biÕn X. c) G¸n x©u ‘3242’ cho biÕn X. d) G¸n x©u ‘Ha Noi’ cho biÕn A. 4. Nªu sù kh¸c nhau gi÷a biÕn vµ h»ng vµ cho mét vµi vÝ dô vÒ biÕn vµ h»ng. 5. Gi¶ sö ta ®· khai b¸o mét h»ng Pi víi gi¸ trÞ 3.14. Cã thÓ g¸n l¹i gi¸ trÞ 3.1415 cho Pi trong phÇn th©n ch­¬ng tr×nh ®­îc kh«ng? T¹i sao? 6. Trong Pascal, khai b¸o nµo sau ®©y lµ ®óng? a) var tb: real; b) var 4hs: integer; c) const x: real; d) var R = 30; 7. H·y liÖt kª c¸c lçi cã thÓ trong ch­¬ng tr×nh d­íi ®©y vµ söa l¹i cho ®óng: var a,b:= integer; const c:= 3; begin