A. Khai báo mảng A gồm 50 phần tử thuộc kiểu dữ liệu số thực. B. Phần tử thứ 5 của mảng A được gán giá trị là 8. C. Khai báo mảng dayso gồm 50 phần tử thuộc kiểu dữ liệu số nguyên. D. Nhập giá trị cho phần tử thứ 2 trong mảng diem.
Trang 1Tuần 36 Ngày soạn: 24/04/2016
Tiết 70 Ngày dạy: 11,13,14/05/2016
THI HỌC KỲ II - NĂM HỌC 2015 - 2016
MÔN: TIN HỌC - LỚP 8 Thời gian làm bài: 45 phút (không kể thời gian giao đề)
I MỤC TIỆU
- Biết khái niệm câu lệnh lặp, lặp với số lần chưa biết trước, lặp với số lần biết trước
- Biết câu lệnh lặp “for do”, “while do” và việc sử dụng mảng
- Hiểu cách sử dụng câu lệnh lặp “for do”, “while do” và mảng
- Viết được chương trình một số bài toán đơn giản sử dụng lệnh lặp
- Viết được chương trình sử dụng mảng
II CHUẨN BỊ
1 Giáo viên: đề kiểm tra.
2 Học sinh: Học kỹ lý thuyết, đọc trước bài ở nhà
III MA TRẬN ĐỀ
Cấp
độ
Chủ đề
Nhận biết Thông hiểu
Vận dụng
Cộng
Vận dụng cấp độ thấp Vận dụng
cấp độ cao
KQ
TL
Câu
lệnh
điều
kiện
Tìm được giá trị của
x trong các câu lệnh điều kiện
Số
điểm
(20%) Câu
lệnh
For…
do
Cách
viết câu
lệnh lặp
với số
lần biết
trước
Biết được số lần lặp trong câu lệnh for do
Tìm được giá trị của a trong đoạn chương trình có
sử dụng câu lệnh
Trang 2lặp
Số
điểm
(7,5%) Câu
lệnh
While
.do
Hiểu được điều kiện dừng của câu lệnh While do
Tính được
số lần lặp
và tổng S của câu lệnh trong đoạn chương trình
Số
điểm
22,5% Mảng
một
chiều
Đặc
điểm của
mọi
phần tử
trong dữ
liệu kiểu
mảng
Cách tham chiếu phần tử của mảng
Cú pháp khai báo biến mảng, ví
dụ minh họa
Viết chươ ng trình sử dụng biến mảng
Số
điểm
47,5% Phần
mềm
học tập
- Cách
khởi
động
phần
mềm
Finger
Geogebr
a
Số
điểm
2,5% TSố
câu
(10%)
0.75 (7,5%)
5,75 (57,5%)
2,5 (25%)
10 (100%)
Trang 3IV ĐỀ BÀI
+ PHẦN I: Trắc nghiệm khách quan: ( 2 điểm)
Hãy khoanh tròn vào chữ cái đứng trước câu trả lời mà em cho là đúng nhất
Câu 1 For là lệnh lặp với số lần biết trước, số vòng lặp là biết trước và được tính
bằng
a giá trị cuối + giá trị đầu -1 b giá trị cuối – giá trị đầu +1
c giá trị đầu – giá trị cuối +1 d Không có ý nào đúng
Câu 2: Tìm giá trị của a trong đoạn chương trình dưới đây?
a:= 10;
For i:=1 to 5 do a:=a − i;
Câu 3 Lệnh lặp While dừng:
c khi biến đếm bằng giá trị cuối d không ý nào đúng
Câu 4: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy,
mọi phần tử trong dãy đều có cùng một đặc điểm là:
A Cùng chung một kiểu dữ liệu;
B Có giá trị hoàn toàn giống nhau;
C Các phần tử của mảng đều có kiểu nguyên;
D Các phần tử của mảng đều có kiểu thực
Câu 5 Lệnh sau đây lặp bao nhiêu lần? for i:= 0 to 11 do write(‘A’);
Câu 6: Để xác định được các phần tử trong mảng, yêu cầu các phần tử trong mảng
cần thỏa mãn:
A Mỗi phần tử đều có một chỉ số;
B Mỗi phần tử đều có một dấu hiệu nhận biết;
C Mỗi phần tử đều có giá trị nhỏ hơn 100;
D Mỗi phần tử đều có một kiểu dữ liệu khác nhau
Câu 7: Để chạy phần mềm Geogebra ta nháy đúp chuột lên biểu tượng nào sau đây?
Câu 8 Để tham chiếu tới phần tử của mảng được xác định bằng cách
a Tên biến mảng(chỉ số) b Tên biến mảng[ giá trị ]
c Tên biến mảng[chỉ số] d Tên biến mảng( giá trị )
+ PHẦN II: Tự luận (8 điểm)
Câu 9: (2đ) Hãy tìm hiểu đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương
trình thực hiện bao nhiêu vòng lặp và khi kết thúc giá trị của S bằng bao nhiêu?
S := 0; n := 0;
While S <=7 do
Begin n := n + 1; S := S + n; end;
Câu 10: (2 đ) Cho x :=5; Hãy tính giá trị của x khi thực hiện các lệnh
Trang 4a If (1+1=3) or (2+2=4) then x:=x+2
b If (2+3=5) and (3+4=7) then c:=x*3
d If (x<2) then x:=x-1
d If (45 mod 3=0) then x:=x+1;
x =
x =
x =
x =
Câu 11: (1.5ñ) Nêu cú pháp khai báo biến mảng trong Pascal? Lấy 1 ví dụ minh họa Câu 12: (2.5đ) Viết chương trình Pascal sử dụng biến mảng để nhập từ bàn phím các
phần tử của một dãy số, in ra màn hình dãy số vừa nhập và tính trung bình cộng của dãy số đó
Trang 5V ĐÁP ÁN – BIỂU ĐIỂM
18 1D, 2A, 3B, 4A, 5D, 6A, 7B, 8C 8x0,25đ
9 Chương trình thực hiện được 4 vòng lặp
S = 10
1đ 1đ
10 A: x = 7
B: x = 5
C: x = 5
D: x = 6
0.5đ 0.5đ 0.5đ 0.5đ
11 Cú pháp:
Var <tên biến mảng>: array [<chỉ số đầu> <chỉ số cuối>] of
<kiểu phần tử>;
Trong đó: chỉ số đầu và chỉ số cuối là hai số nguyên thỏa mãn chỉ
số đầu ≤ chỉ số cuối và kiểu dữ liệu có thể là integer hoặc real.
Cho ví duï veà cách khai báo biến mảng đúng
1đ
0,5đ
12 Var n, i : integer ;
A : array [1 100] of real ;
Begin
Write (‘nhap so phan tu cua mang, n = ‘); readln(n);
For i := 1 to n do
Begin
Write (‘ a[ ‘, i, ‘ ]= ’) ; readln(a[i]) ;
End;
For i:=1 to n do
Write(a[i]);
For i:=1 to n do
S:=s+a[i];
S:=s/n;
Writeln( ‘ Gia tri trung binh cong cua day vua nhap la ‘,s);
Readln
End
0,25đ 0,25đ
0.5đ
0,5đ 0.5đ 0.25đ