1. Các công việc phải thực hiện nhiều lần
Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần.
Có những hoạt động mà chúng ta thường thực hiện lặp lại với một số lần nhất định và biết trước, chẳng hạn đánh răng mỗi ngày hai lần, mỗi ngày tắm một lần,. Chúng ta còn lặp lại những công việc với số lần không thể xác định trước: học cho đến khi thuộc bài, nhặt từng cọng rau cho đến khi xong,.
Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.
2. Câu lệnh lặp - một lệnh thay cho nhiều lệnh
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị. Do đó, ta chỉ cần lặp lại thao tác vẽ hình vuông ba lần. Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:
Bước 1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu).
Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1; ngược lại, kết thúc thuật toán.
Hình 33
Riêng với bài toán vẽ một hình vuông (h. 34), thao tác chính là vẽ bốn cạnh bằng nhau, hay lặp lại bốn lần thao tác vẽ một đoạn thẳng. Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc 90o sang phải tại vị trí của bút vẽ. Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông:
Hình 34
Bước 1. k 0 (k là số đoạn thẳng đã vẽ được).
Bước 2. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 90o sang phải.
Bước 3. k k +1. Nếu k ≤ 4 thì trở lại bước 2; ngược lại, kết thúc thuật toán.
Lưu ý rằng, biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được.
Ví dụ 2. Giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính:
Tuần 19 Tiết 37 Ngày dạy: Bài 7. CÂU LỆNH LẶP (T1) I - MỤC TIÊU 1. Kiến thức - Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình. - Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần. 2. Kỹ Năng - Hiểu hoạt động của câu lệnh với số lần biết trước for...do trong Pascal. 3. Thái độ - Tập trung cao độ, nghiêm túc trong giờ học. II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu, phần mềm Pascal. 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A - ỔN ĐỊNH (1’) B - KIỂM TRA BÀI CŨ (0') C - BÀI MỚI (40’) HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC Hoạt động 1: 15’ GV: Nêu một số công việc thường ngày trong cuộc sống HS: Chú ý lắng nghe HS: Ghi chép Hoạt động 2: 25’ GV: Giới thiệu câu lệnh lặp trong Pascal HS: Chú ý GV: Cho ví dụ về vẽ hình vuông và giải thích ví dụ cho học sinh HS: Chú ý lắng nghe và hiểu HS: Ghi vở GV: Cho ví dụ về tính tổng 100 số tự nhiên giải thích ví dụ cho học sinh HS: Chú ý lắng nghe và hiểu HS: Ghi vở 1. Các công việc phải thực hiện nhiều lần Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần. Có những hoạt động mà chúng ta thường thực hiện lặp lại với một số lần nhất định và biết trước, chẳng hạn đánh răng mỗi ngày hai lần, mỗi ngày tắm một lần,... Chúng ta còn lặp lại những công việc với số lần không thể xác định trước: học cho đến khi thuộc bài, nhặt từng cọng rau cho đến khi xong,... Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định. 2. Câu lệnh lặp - một lệnh thay cho nhiều lệnh Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị. Do đó, ta chỉ cần lặp lại thao tác vẽ hình vuông ba lần. Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây: Bước 1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu). Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1; ngược lại, kết thúc thuật toán. Hình 33 Riêng với bài toán vẽ một hình vuông (h. 34), thao tác chính là vẽ bốn cạnh bằng nhau, hay lặp lại bốn lần thao tác vẽ một đoạn thẳng. Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc 90o sang phải tại vị trí của bút vẽ. Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông: Hình 34 Bước 1. k ¬ 0 (k là số đoạn thẳng đã vẽ được). Bước 2. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 90o sang phải. Bước 3. k ¬ k +1. Nếu k ≤ 4 thì trở lại bước 2; ngược lại, kết thúc thuật toán. Lưu ý rằng, biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được. Ví dụ 2. Giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính: S = 1 + 2 + 3 + ... + 100. Hoạt động chính khi giải bài toán này là thực hiện phép cộng. Thuật toán trong ví dụ 3, bài 5 đã mô tả việc thực hiện lặp lại phép cộng 100 lần. Cách mô tả các hoạt động lặp trong thuật toán như trong ví dụ trên được gọi là cấu trúc lặp. Mọi ngôn ngữ lập trình đều có "cách" để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh. Đó là các câu lệnh lặp. D - CỦNG CỐ (2’) - Nhắc lại các hoạt động lặp trong cuộc sống E - HƯỚNG DẪN VỀ NHÀ (2’) - Về nhà xem lại phần còn lại của bài tiết sau chúng ta học tiếp Tiết 38 Ngày dạy: Bài 7. CÂU LỆNH LẶP (T2) I - MỤC TIÊU 1. Kiến thức - Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình. - Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần. 2. Kỹ Năng - Viết đúng được lệnh for...do trong một số tình huống đơn giản. - Hiểu lệnh ghép trong Pascal 3. Thái độ - Tập trung cao độ, nghiêm túc trong giờ học. II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu, phần mềm Pascal. 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A - ỔN ĐỊNH (1’) B - KIỂM TRA BÀI CŨ (4’) C - BÀI MỚI (35’) HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC Hoạt động 1: 10’ GV: Giới thiệu câu lệnh lặp trong Pascal HS: Chú ý quan sát GV: Nêu cú pháp của câu lệnh lặp HS: chú ý và ghi vở GV: Nêu một ví dụ về câu lệnh lặp HS: Ghi chép GV Nêu Ví dụ Để in một chữ "O" trên màn hình, ta có thể sử dụng lệnh: HS: Đọc kỹ ví dụ GV: Trình bày bằng các câu lệnh Pascal HS: Quan sát các câu lệnh trong chương trình. Hoạt động 2: 25’ GV: Cho ví dụ về tính tổng và tích câu lệnh lặp VD: Ví dụ 5. Chương trình sau đây sẽ tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập vào từ bàn phím HS: Quan sát ví dụ. Ví dụ 6. Ta kí hiệu N! là tích N số tự nhiên đầu tiên. HS: Quan sát và tìm cách giải quyết bài toán GV: Hướng dẫn một số lệnh trong Pascal sẽ được sử dụng trong bài. HS: Viết chương trình GV: Nhận xét HS: Ghi vở 3. Ví dụ về câu lệnh lặp Các ngôn ngữ lập trình thường có nhiều dạng câu lệnh lặp. Câu lệnh lặp đơn giản nhất trong Pascal có dạng: for := to do ; Khi gặp câu lệnh lặp trên, câu lệnh được thực hiện bắt đầu với giá trị biến đếm bằng giá trị đầu. Sau đó giá trị biến đếm tăng dần một đơn vị từ giá trị đầu đến giá trị cuối và câu lệnh được thực hiện mỗi lần tăng biến đếm cho đến khi biến đếm vượt quá giá trị cuối thì kết thúc. Như vậy biến đếm phải được khai báo là kiểu nguyên và giá trị cuối phải không nhỏ hơn giá trị đầu. Ví dụ 3. Chương trình sau sẽ in ra màn hình thứ tự lần lặp: program Lap; var i: Integer; begin for i := 1 to 10 do writeln('Day la lan lap thu ',i); end. Ví dụ 4. Để in một chữ "O" trên màn hình, ta có thể sử dụng lệnh: writeln('O'); Nếu muốn viết chương trình mô phỏng một quả trứng rơi từ trên cao xuống, ta có thể lặp lại lệnh trên nhiều lần (ví dụ, 20 lần) như trong chương trình sau: Uses crt; Var i: integer; begin Clrscr; for i:=1 to 20 do begin writeln('O'); delay(100) end; end. Dịch và chạy chương trình này, ta sẽ thấy kết quả như ở hình 35 dưới đây: Hình 35 4. Tính tổng và tích bằng câu lệnh lặp Ví dụ 5. Chương trình sau đây sẽ tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập vào từ bàn phím (xem ví dụ 2). program Tinh_tong; var N,i: Integer; S: longint; begin write('Nhap so N = '); readln(N); S:=0; for i := 1 to N do S:=S+i; writeln('Tong cua ',N,' so tu nhien dau tien S = ',S); end. Ví dụ 6. Ta kí hiệu N! là tích N số tự nhiên đầu tiên. N! = 1.2.3. ... N Dưới đây là chương trình tính N! với N là số tự nhiên được nhập vào từ bàn phím. Chương trình sử dụng một câu lệnh lặp fordo: program Tinh_Giai_thua; var N,i: Integer; P: longint; begin write('N = '); readln(N); P:=1; for i:=1 to N do P:=P*i; writeln(N,'! = ',P); end. Lưu ý. Vì N! là số rất lớn so với N, một lần nữa cần lưu ý khai báo biến chứa giá trị của nó đủ lớn. D - CỦNG CỐ (3’) - Nhắc lại một số ví dụ về câu lệnh lặp E - HƯỚNG DẪN VỀ NHÀ (2’) - Về nhà xem lại phần còn lại của bài tiết sau chúng ta làm các bài tập về câu lệnh lặp ****************************************************** Tuần 20 Tiết 39 Ngày dạy: Bài thực hành 5: dụng lệnh lặp for...do (t1) I - MỤC TIÊU 1. Kiến thức - Viết được chương trình có sử dụng vòng lặp for...do; - Sử dụng được câu lệnh ghép; 2. Kỹ Năng - Rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vòng lặp for...do. 3. Thái độ - Tập trung cao độ, nghiêm túc trong giờ học. II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu, phần mềm Pascal. 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A. ỔN ĐỊNH (1’) B. KIỂM TRA BÀI CŨ C. BÀI MỚI (39’) HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC Hoạt động 1: 14’ GV: Giới thiệu qua bài tập 1 Viết chương trình in ra màn hình bảng nhân của các số từ 1 đến 9. HS: Chú ý lắng nghe HS: Gõ chương trình sau: GV: Hướng dẫn học sinh cách sữa các lệnh trong chương trình. HS: Chạy chương trình Hoạt động 2: 25’ GV: Hướng dẫn học sinh chỉnh sửa chương trình. HS: Sửa chương trình - Chạy chương trình HS: Dịch chương chương với các giá trị gõ vào từ bàn phím. Bài 1. Viết chương trình in ra màn hình bảng nhân của các số từ 1 đến 9, số được nhập từ bàn phím và dừng màn hình để có thể quan sát kết quả: Hình 36 Gõ chương trình sau đây: uses crt; var N,i:integer; begin clrscr; write('Nhap so N='); readln(N); writeln; writeln('Bang nhan ',N); writeln; for i:=1 to 10 do writeln(N,' x ',i:2,' = ',N*i:3); readln end. - Tìm hiểu ý nghĩa của các câu lệnh trong chương trình, dịch chương trình và sửa lỗi, nếu có. - Chạy chương trình với các giá trị nhập vào lần lượt bằng 1, 2,.., 10. Quan sát kết quả nhận được trên màn hình. Bài 2. Chỉnh sửa chương trình để làm đẹp kết quả trên màn hình. Kết quả của chương trình nhận được trong bài 1 có hai nhược điểm sau đây: - Các hàng kết quả quá sát nhau nên khó đọc; - Các hàng kết quả không được cân đối với hàng tiêu đề. Nên sửa chương trình bằng cách chèn thêm một hàng trống giữa các hàng kết quả và đẩy các hàng này sang phải một khoảng cách nào đó. Chỉnh sửa câu lệnh lặp của chương trình như sau: for i:=1 to 10 do begin GotoXY(5,WhereY); writeln(N,' x ',i:2,' = ',N*i:3); writeln end; + Dịch và chạy chương trình với các giá trị gõ vào từ bàn phím. Quan sát kết quả nhận được trên màn hình. D - CỦNG CỐ (3’) - Khái quát lại bài tập. E - HƯỚNG DẪN VỀ NHÀ (2’) - Về nhà xem lại phần còn lại của bài tiết sau chúng thực hành tiết 2 ***************************************** Tiết 40 Bài thực hành 5 Sử dụng lệnh lặp for...do (T2) I - MỤC TIÊU 1. Kiến thức - Viết được chương trình có sử dụng vòng lặp for...do; - Sử dụng được câu lệnh ghép; 2. Kỹ Năng - Rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vòng lặp for...do. 3. Thái độ - Tập trung cao độ, nghiêm túc trong giờ học. II. CHUẨN BỊ 1. Giáo viên: giáo án, máy chiếu, phần mềm Pascal. 2. Học sinh: Kiến thức cũ, sách, vở. III - PHƯƠNG PHÁP - Thuyết trình, giảng giải, vấn đáp. IV - TIẾN TRÌNH LÊN LỚP A - ỔN ĐỊNH (1’) B - KIỂM TRA BÀI CŨ C - BÀI MỚI (39’) HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC Hoạt động 1: 25’ GV: Giới thiệu qua bài trên HS: Chú ý lắng nghe HS: Gõ chương trình và tìm hiểu chương trình sau: GV: Hướng dẫn học sinh cách sữa các lệnh trong chương trình. HS: Chạy chương trình Hoạt động 2: 14’ GV: Yêu cầu học sinh chạy chương trình và quan sát kết quả HS: Chạy chương trình và quan sát kết quả Bài 3. Cũng như câu lệnh if, có thể dùng câu lệnh for lồng trong một câu lệnh for khác khi thực hiện lặp. Sử dụng các câu lệnh fordo lồng nhau để in ra màn hình các số từ ... iÖn lµm c¸c bµi tr¾c nghiÖm. VËn dông vµo ®Ó viÕt ®îc nh÷ng ch¬ng tr×nh ®¬n gi¶n Cã kü n¨ng thµnh th¹o thùc hiÖn m¸y tÝnh vµ viÕt ch¬ng tr×nh trªn m¸y tÝnh. II/ ChuÈn bÞ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan. - §äc tµi liÖu ë nhµ tríc khi III. TiÕn tr×nh lªn líp: Tæ chøc. KiÓm tra. KiÓm tra sù chuÈn bÞ cña häc sinh . Bµi míi: Ho¹t ®éng cña gi¸o viªn Ho¹t ®éng cña häc sinh Gi¸o viªn cho häc sinh «n l¹i lý thuyÕt Theo s¸ch gi¸o khoa. (Häc sinh vÒ nhµ tù «n) Häc sinh thùc hiÖn theo yªu cÇu cña häc ghi¸o viªn ¤n bµi tËp vËn dông: Khoanh troøn chöõ caùi ñöùng tröôùc keát quaû ñuùng Caâu 1: Phaùt bieåu naøo sau ñaây laø ñuùng ? Caáu truùc laëp ñöôïc söû duïng ñeå chæ thò cho maùy tính thöïc hieän laëp laïi moät vaøi hoaït ñoäng naøo ñoù cho ñeán khi moät ñieàu kieän naøo ñoù ñöôïc thoaû maõn. Chæ ngoân ngöõ laäp trình Pascal môùi coù caùc caâu leänh laëp ñeå theå hieän caáu truùc laëp. Ngoân ngöõ Pascal theå hieän caáu truùc laëp vôùi soá laàn laëp cho tröôùc baèng caâu leänh whiledo Ngoân ngöõ Pascal theå hieän caáu truùc laëp vôùi soá laàn laëp chöa bieát tröôùc baèng caâu leänh Fordo Caâu 2: Leänh laëp naøo sau ñaây laø ñuùng? For = to do ; For := to do ; For := to do ; For : to do ; Caâu 3: Caâu leänh pascal naøo sau ñaây laø hôïp leä? 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’); Caâu 4: Voøng laëp while ..do laø voøng laëp: A) Bieát tröôùc soá laàn laëp B) Chöa bieát tröôùc soá laàn laëp C.) Bieát tröôùc soá laàn laëp nhöng giôùi haïn laø =100 Caâu 5: Caâu leänh laëp whiledo coù daïng ñuùng laø: A) While do; ; B) While do; C) While do ; D) While do ; Caâu 6: Cho S vaø i laø bieán nguyeân. Khi chaïy ñoaïn chöông trình : s:=0; for i:=1 to 5 do s := s+i; writeln(s); Keát quaû in leân maøn hình laø cuûa s laø : A.11 B. 55 C. 101 D.15 Caâu 7: Trong chöông trình pascal sau ñaây: Var x : integer ; Begin X:= 3 ; If (45 mod 3) =0 then x:= x +2; If x > 10 then x := x +10 ; End. X coù giaù trò laø maáy a) 3 b) 5 c) 15 d)10 Caâu 8: Trong chöông trình pascal sau ñaây: program hcn; var a, b :integer; s,cv :real ; begin a:= 10; b:= 5; s:= a*b ; cv:= (a +b ) * 2 ; writeln(‘dien tich hcn la:’ , s ); writeln( ‘chu vi hcn la : ‘ , cv ) ; readln; end. Bieán s vaø cv coù giaù trò laø maáy: a/ s = 10 ; cv = 5 ; b/ s= 30 ; cv = 50 ; c/ s = 50 ; cv = 40 ; d/ s = 50 ; cv = 30 ; Cñng cè: Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc. Yªu cÇu häc sinh nh¾c l¹i bµi Híng dÉn vÒ nhµ: Häc bµi theo s¸ch gi¸o khoa vµ vë ghi, ¤n l¹i c¸c kiÕn thøc chÝnh ®· häc vµ luyÖn viÕt, lµm ®i lµm l¹i nhiÒu lÇn. Häc kÜ lÝ thuyÕt, viÕt ch¬ng tr×nh tÝnh t«ng 100 sè tù nhiªn, N sè tù nhiªn ®Çu tiªn. Lµm c¸c bµi tËp cßn l¹i, §äc bµi míi ®Ó giê sau häc. -----------------o0o----------------- Tuần 35 TiÕt 69: «n tËp Ngày dạy: I/ Môc tiªu: Cñng cè l¹i toµn bé kiÕn thøc ®· ®îc häc tõ bµi 5 ®Õn bµi 9 vµ phÇn mÒm häc tËp ë häc kú 2. Thùc hiÖn lµm c¸c bµi tr¾c nghiÖm. VËn dông vµo ®Ó viÕt ®îc nh÷ng ch¬ng tr×nh ®¬n gi¶n Cã kü n¨ng thµnh th¹o thùc hiÖn m¸y tÝnh vµ viÕt ch¬ng tr×nh trªn m¸y tÝnh. II/ ChuÈn bÞ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan. - §äc tµi liÖu ë nhµ tríc khi III. TiÕn tr×nh lªn líp: Tæ chøc. KiÓm tra. KiÓm tra sù chuÈn bÞ cña häc sinh . Bµi míi: Ho¹t ®éng cña gi¸o viªn Ho¹t ®éng cña häc sinh ¤n bµi tËp cñng cè kiÕn thøc: Caâu 9: Sau khi thöïc hieän ñoaïn chöông trình j:= 0; for i:= 1 to 3 do j:=j+2; thì giaù trò in ra maøn hình laø? a) 4 b) 6 c) 8 d)10 Caâu 10: Ñeå tính toång S=1+3 + 5 + + n; em choïn ñoaïn leänh: a) for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; for i:=1 to n do if ( i mod 2) 0 then S:=S + i; b) for i:=1 to n do if ( i mod 2)=0 then S:=S + i Else S:= S + I; for i:=1 to n do if ( i mod 2)=0 then S:=S + i; Caâu 11: Ñeå tính toång S=1/2+1/4 + 1/6 + +1/ n; em choïn ñoaïn leänh: a) for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; c) for i:=1 to n do if ( i mod 2) 0 then S:=S + i; b) for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i Else S:= S + 1/i; d) for i:=1 to n do if ( i mod 2)=0 then S:=S +1/ i Else S:=S-1/i; Caâu 12: Ñeå tính toång S=1+1/3 + 1/5 + +1/ n; em choïn ñoaïn leänh: a) for i:=1 to n do if ( i mod 2)=1 then S:=S + 1/i; c) for i:=1 to n do if ( i mod 2) =0 then S:=S + 1/i; b) for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i Else S:= S + 1/; d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i; Caâu 13: Ñeå ñeám coù bao nhieâu soá leû nhoû hôn hay baèng n ; em choïn ñoaïn leänh: a) for i:=1 to n do if ( i mod 2)0 then S:=S + 1; c) for i:=1 to n do if ( i mod 2) =0 then S:=S + 1; b) for i:=1 to n do if ( i mod 2)=0 then S:=S + i ; d) for i:=1 to n do if ( i mod 2)=0 then S:=S + i; Caâu 14: Ñeå tính toång S=1+2+3+ 4+ 5 + + n; em choïn ñoaïn leänh: a) s:=0; i:=0; While i<=n do S:=S + 1; a) s:=0; i:=0; While i<=n do If (I mod 2)= 1 Then S:=S + i; b) s:=0; i:=0; While i<=n do begin S:=S + i; I:=i+1; End; d) s:=0; i:=0; While i<=n do begin if (i mod2)=1 Then S:=S + i; Else i:=i+1; End; Caâu 15: Caâu leänh naøo sau ñaây laëp voâ haïn laàn a) s:=5; i:=0; While i<=s do s:=s + 1; a) s:=5; i:=1; While i<=s do i:=i + 1; b) s:=5; i:=1; While i> s do i:=i + 1; d) s:=0; i:=0; While i<=n do begin if (i mod2)=1 Then S:=S + i; Else i:=i+1; End; Caâu 16: Choïn khai baùo hôp leä a) Var a,b: array[1..n] of real; c) Var a,b: array[1:n] of real; b) Var a,b: array[1..100] of real; d) Var a,b: array[1n] of real; Caâu 27: Choïn khai baùo hôp leä a) Const n=5; Var a,b: array[1..n] of real; c) Var n: real; Var a,b: array[1:n] of real; b) Var a,b: array[100..1] of real; d) Var a,b: array[1..5..10] of real; Caâu 17: Choïn khai baùo hôp leä a) Const n=5; Var a,b: array[1..n] of integer; c) Var n: real; Var a,b: array[1:n] of real; b) Var a,b: array[100..1] of integer; d) Var a,b: array[1..5..10] of integer; Caâu 18: Laàn löôït thöïc hieän ñoaïn leänh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1; Giaù trò cuûa t laø a) t=1 b) t=3 c) t=2 d) t=6 Cñng cè: Gi¸o viªn hÖ thèng l¹i toµn bé néi dung bµi häc. Yªu cÇu häc sinh nh¾c l¹i bµi Híng dÉn vÒ nhµ: Häc bµi theo s¸ch gi¸o khoa vµ vë ghi, ¤n l¹i c¸c kiÕn thøc chÝnh ®· häc vµ luyÖn viÕt, lµm ®i lµm l¹i nhiÒu lÇn. Häc kÜ lÝ thuyÕt, viÕt ch¬ng tr×nh tÝnh t«ng 100 sè tù nhiªn, N sè tù nhiªn ®Çu tiªn. Lµm c¸c bµi tËp cßn l¹i vµ «n l¹i toµn bé kiÕn thøc ®Ó giê sau kiÓm tra häc kú 2 -----------------o0o----------------- TiÕt 70: kiÓm tra häc kú 2 I/ Môc tiªu: II/ ChuÈn bÞ: - S¸ch gi¸o khoa, gi¸o ¸n, tµi liÖu tin häc cã liªn quan. - §äc tµi liÖu ë nhµ tríc khi III. TiÕn tr×nh lªn líp: Tæ chøc. KiÓm tra. KiÓm tra sù chuÈn bÞ cña häc sinh . Bµi míi: Ho¹t ®éng cña gi¸o viªn Ho¹t ®éng cña häc sinh GV ph¸t ®Ò cho häc sinh Theo däi HS lµm bµi Thu bµi cña häc sinh Häc sinh lµm bµi díi sù theo dâi cña GV Tr¶ bµi khi hÕt giê vµ thùc hiÖn c¸c híng dÉn cña GV Họ teân: Lôùp: 8A ÑEÀ KIEÅM TRA HOÏC KYØ 2 NAÊM HOÏC 2008 – 2009 Moân: Tin hoïc 8 (Thôøi gian 45 phuùt) A/ LYÙ THUYEÁT: I/ Traéc nghieäm khaùch quan: Khoanh troøn chöõ caùi ñöùng tröôùc keát quaû ñuùng . Caâu 1: Leänh laëp naøo sau ñaây laø ñuùng? For = to do ; For := to do ; For := to do ; For : to do ; Caâu 2: Voøng laëp while ..do laø voøng laëp: A) Chöa bieát tröôùc soá laàn laëp B) Bieát tröôùc soá laàn laëp C.) Bieát tröôùc soá laàn laëp nhöng giôùi haïn laø =100 Caâu 3: Caâu leänh laëp whiledo coù daïng ñuùng laø: A) While do; ; B) While do; C) While do ; D) While do ; Caâu 4: Cho S vaø i laø bieán nguyeân. Khi chaïy ñoaïn chöông trình : s:=0; for i:=1 to 5 do s := s+2; writeln(s); Keát quaû in leân maøn hình laø cuûa s laø : A.11 B. 55 C. 12 D.13 Caâu 5: Laàn löôït thöïc hieän ñoaïn leänh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1; Giaù trò cuûa t laø A) t=1 B) t=2 C) t=3 D) t=6 Caâu 6: Caâu leänh pascal naøo sau ñaây laø hôïp leä? For i:= 1 to 10 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:=100 to 1 do writeln(‘A’); II/ Töï luaän: Vieát chöông trình Pascal söû duïng bieán maûng ñeå nhaäp töø baøn phím caùc phaàn töû cuûa moät daõy soá. Ñoä daøi cuûa daõy cuõng ñöôïc nhaäp töø baøn phím. BAØI LAØM: Họ teân: Lôùp: 8A ÑEÀ KIEÅM TRA HOÏC KYØ 2 NAÊM HOÏC 2008 – 2009 Moân: Tin hoïc 8 (Thôøi gian 45 phuùt) B/ THÖÏC HAØNH: Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, trung bình và kém (theo tiêu chuẩn từ 8.0 trở lên đạt loại giỏi, từ 6.5 đến 7.9 đạt loại khá, từ 5.0 đến 6.4 đạt trung bình và dưới 5.0 xếp loại kém). a) Liệt kê các biến dự định sẽ sử dụng trong chương trình. Tìm hiểu phần khai báo dưới đây và tìm hiểu tác dụng của từng biến: program Phanloai; uses crt; Var i, n, Gioi, Kha, Trungbinh, Kem: integer; A: array[1..100] of real; Gõ phần khai báo trên vào máy tính và lưu tệp với tên Phanloai. Tìm hiểu các câu lệnh trong phần thân chương trình dưới đây: Begin clrscr; write(‘Nhap so cac ban trong lop, n = ‘); readln(n); writeln(‘Nhap diem:’); For i:=1 to n do Begin write(i,’. ‘); readln(a[i]); End; Gioi:=0; Kha:=0; Trungbinh:=0; Kem:=0; for i:=1 to n do begin if a[i]>=8.0 then Gioi:=Gioi+1; if a[i]<5 then Kem:=Kem+1; if (a[i]=6.5) then Kha:=Kha+1; if (a[i]>=5) and (a[i]<6.5) then Trungbinh:=trungbinh+1 end; writeln(‘Ket qua hoc tap:’); writeln(Gioi,’ ban hoc gioi’); writeln(Kha,’ ban hoc kha’); writeln(Trungbinh,’ ban hoc trung binh’); writeln(Kem,’ ban hoc kem’); readln End. Gõ tiếp phần chương trình này vào máy tính sau phần khai báo. Dịch, chạy chương trình. HÖÔÙNG DAÃN CHAÁM – THANG ÑIEÅM. A/ LYÙ THUYEÁT (10 ÑIEÅM) I/ Traéc nghieäm khaùch quan: (3 ñieåm) Moãi caâu ñuùng cho 0,5 ñieåm Caâu 1 2 3 4 5 6 Ñaùp aùn B A D C D A II/ Töï luaän: (7 ñieåm) Program nhap_so_phan_tu_cu_mang; Uses Crt; var N, i: integer; A: array[1..100] of real; 2.0 Begin Clrscr; write('Nhap so phan tu cua mang, n= ',n); 2.0 for i:=1 to n do write('Nhap gia tri ',i,'cua mang, a[',i,']= '); 2.0 Readln; end. 1.0 B/ THÖÏC HAØNH Laøm duùng cho 10 ñieåm C/ CAÙCH TÍNH ÑIEÅM CUÛA BAØI Laøm troøn ñeán phaàn möôøi Tính theo coâng thöùc sau: ÑTB cuûa baø = (Ñieåm LT x 2 + Ñieåm TH) : 3 Cñng cè: Gi¸o viªn nhËn xÐt giê kiÓm tra Híng dÉn vÒ nhµ: - Xem l¹i toµn bÞ ch¬ng tr×nh tin 8. Trong hÌ thêng xuyªn «n l¹i -----------------o0o-----------------
Tài liệu đính kèm: