Giáo án Tin học 8 - Tuần 37 - Dương Phước Giàu
I. MỤC TIÊU:
- Củng cố lại toàn bộ kiến thức đã được học chuẩn bị cho kiểm tra HKII
- Ghi nhớ kiến thức và vận dụng viết chương trì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. PHƯƠNG PHÁP
- Hướng dẫn, giảng giải
IV. TIẾN TRÌNH DẠY HỌC
1. ổn định lớp, kiểm tra sỉ số (1’)
2. Kiểm tra bài cũ (không)
3. Bài mới (40’)
Tuần 37 tiết 73 ngày soạn 01/04/2014 ÔN TẬP HỌC KỲ II I. MỤC TIÊU: - Củng cố lại toàn bộ kiến thức đã được học chuẩn bị cho kiểm tra HKII - Ghi nhớ kiến thức và vận dụng viết chương trì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. PHƯƠNG PHÁP - Hướng dẫn, giảng giải IV. TIẾN TRÌNH DẠY HỌC 1. ổn định lớp, kiểm tra sỉ số (1’) 2. Kiểm tra bài cũ (không) 3. Bài mới (40’) Các tiết trước ta đã ôn tập chuẩn bị cho kỳ thi, hôm nay nhằm giúp các em nắm vững kỹ năng viết chương trình trong Pascal và có sử dụng biến mảng,ta sẽ thực hiện một số bài tập sau : HOẠT ĐỘNG CỦA THẦY HOẠT ĐỘNG CỦA TRÒ NỘI DUNG Hoạt động 1: Bài tập 1 (20’) Yêu cầu HS chia nhóm làm thực hành. Chương trình nhập vào một dãy số tự nhiên và tính tổng dãy số đó ? Program tong; Var i, n, Min : integer; A: array[1..100] of integer; Begin write('Hay nhap do dai cua day so, N='); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; for i:=1 to n do begin s:=s+a[i]; i:=i+1; end; write(‘tong la’); Chương trình nhập vào một dãy số tự nhiên và tính tổng dãy số đó ? Write(s); readln; End. Hoạt động 2: Bài tập 2 (20’) Viết chương trình tính tổng các số chẳn nhập từ bàn phím S=2+4+6+...n HS chia nhóm làm thực hành. GV gợi ý: - Dùng câu lệnh ifthenvà phép toán “mod” để thực hiện Program tongchan; uses crt; Var i, n,s: integer; A: array[1..100] of real; Begin clrscr; write(nhap do dai day so= '); readln(n); writeln('Nhap gia tri day so :'); For i:=1 to n do Begin write(i,' . '); readln(a[i]); End; for i:=1 to n do Begin If (a[i] mod 2 = 0) then s:=s+a[i]; end; write(‘tong cac so chan trong day ban nhap la’); write(s); readln; end. Viết chương trình tính tổng các số chẳn nhập từ bàn phím S=2+4+6+...n 4. Củng cố (3’) Tại sao lại cần có biến mảng? Nếu không có biến mảng được không? Khi gọi biến mảng cần có những chú ý gì? Có thể có nhiều tên mảng nhưng cùng số phần tử vá kiểu hay không? Có thì khai báo ra sao? 5. Dặn dò (1’) Về xem lại tất cả những phần đã ôn tập để tiết sau kiểm tra HKII Tuần 37 tiết 74 ngày soạn 01/04/2014 KIỂM TRA HKII (năm học 2011-2012) KHỐI 8 I. MUÏC TIEÂU Kieán thöùc Kieåm tra, ñaùnh giaù kieán thöùc cuûa hoïc sinh trong hoïc kì II Kyõ naêng Vaän duïng nhöõng kieán thöùc ñaõ hoïc ñeå hoaøn thaønh baøi kieåm tra. Thaùi ñoä Nghieâm tuùc trong giôø kieåm tra. II. Chuaãn Bò Hoïc sinh : hoïc baøi, oân laïi caùc kieán thöùc ñaõ hoïc Giaùo vieân: saùch giaùo khoa, saùch tham khaûo,saùch baøi taäp III. Tiến trình lên lớp : ổn định lớp, kiểm tra sỉ số (1’) kiểm tra bài cũ (không) bài mới : IV. Ma trận đề: Nội dung Nhận biết Thông hiểu Vận dụng Tổng TN TL TN TL TN TL Bài 7 Câu 1 (0.5đ) Câu 2,3,4,5(2đ) 2.5đ tỉ lệ 25% Bài 8 Câu 6,7 (1đ) Câu 1 (2đ) Câu 9 (0.5đ) Câu 8,10 (1đ) 4.5đ tỉ lệ 45% Bài 9 Câu 2 (3đ) 3đ tỉ lệ 30% Tổng 3.5đ tỉ lệ 35% 2.5đ tỉ lệ 25% 4đ tỉ lệ 40% 10đ tỉ lệ 100% V. Đề : A. Trắc nghiệm (5 điểm) Câu 1: Cú pháp của câu lệnh lặp for do là ? a. For (biến đếm):=(giá trị đầu) to (giá trị cuối) do (câu lệnh); b. For (điều kiện) to(câu lệnh); c. For (biến đếm):= (giá trị cuối) to (giá trị đầu) do (câu lệnh); d. tất cả sai Câu 2: Hoạt động nào sau đây lặp với số lần nhất định: a. Ngày ăn cơm ba bữa c.Gọi điện thoại cho một người bạn c. Học cho tới khi thuộc bài d.Nhặt từng cọng rau cho tới khi xong Câu 3: Để tính tổng S=1+3 + 5 + + n; là những số lẻ em chọn đoạn lệnh: a. 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) = 1 then S:=S + i; c. for i:=1 to n do if (i mod 2) 1 then S:=S + i; d. kết quả khác Câu 4: Câu lệnh pascal nào sau đây là hợp lệ? 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’); Câu 5: Vòng lặp while ..do là vòng lặp: a. Biết trước số lần lặp b. Chưa biết trước số lần lặp c. Biết trước số lần lặp nhưng giới hạn là =100 Câu 6: Câu lệnh lặp while ...do có dạng đúng là: a. While do; ; b. While do; c. While do ; d. While do ; Câu 7: Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình: S:= 0; i:= 1; while i<= 6 do begin S:= S + i; i:= i + 2; end; Giá trị sau cùng của S là: a. 16 b. 9 c. 6 d. 0 Câu 8: Chọn phát biểu đúng : a.kiểu mảng là tập hợp vô hạn các phần tử có cùng kiểu dữ liệu b.kiểu mảng là tập hợp hữu hạn các phần tử khác kiểu dữ liệu c.kiểu mảng là tập hợp hữu hạn các phần tử cùng kiểu dữ liệu d.kiểu mảng là tập hợp hữu hạn các phần tử gồm nhiều kiểu dữ liệu Câu 9: Số lần lặp trong câu lệnh lặp với số lần biết trước (fordo) bằng? - Tùy thuộc vào bài tóan mới biết được số lần Khỏang 10 lần - + 1 Câu 10: số lần lặp trong đoạn chương trình sau bằng: For i := 3 to 95 do h := h – 1; a. 100 b. 99 c. 95 d. 93 B. Tự luận: Câu 1: Nêu cú pháp của câu lệnh lặp với số lần chưa biết ( Lệnh While do) trong Pascal? Hãy cho biết các tham số trong câu lệnh đó? Nêu qui trình hoạt động (hay sự hoạt động) của câu lệnh đó?(2đ) Câu 2. Viết chương trình để tính tổng 10 phần tử của một mảng (3đ) C. thực hành Tính tổng các số chẵn trong mảng 10 phần tử Đáp án A.TRẮC NGHIỆM (mỗi câu 0.5 điểm) Câu 1. a Câu 2.a Câu 3.b Câu 4.d Câu 5.b Câu 6.d Câu 7.b Câu 8.c Câu 9.d Câu 10.d B. TỰ LUẬN: Câu 1 :Var While do Trong đó : While, do : từ khóa Đk : thường là 1 phép so sánh Câu lệnh : có thể là câu lệnh đơn hay ghép Sự hoạt động : kiểm tra đk nếu đk đúng thì thực hiện câu lệnh và quay lại bước 1, nếu sai thì câu lệnh bị bỏ qua và vòng lặp kết thúc Câu 2 : program cau2; Var i,n,s: integer; a: array[1..50] of integer ; Begin For i:=1 to 10 do Begin Write(‘nhap gia tri day so ‘); readln(a[i]); End; For i:=1 to 10 do s:=s+ a[i]; Write(‘tong day so la :’);write(s); Readln; End. C. thực hành program tt; Var i,n,s: integer; a: array[1..50] of integer ; Begin For i:=1 to 10 do Begin Write(‘nhap gia tri day so ‘); readln(a[i]); End; For i:=1 to 10 do If (a[i] mod 2 =0) do s:=s+ a[i]; Write(‘tong day so la :’);write(s); Readln; End.
File đính kèm:
- tuần 37.doc