Đề kiểm tra học kì II

doc 6 trang Người đăng haibmt Lượt xem 1442Lượt tải 3 Download
Bạn đang xem tài liệu "Đề kiểm tra học kì II", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Đề kiểm tra học kì II
ĐỀ KIỂM TRA HỌC KÌ II
Mục đích của đề kiểm tra
*Kiến thức:
Biết được cú pháp câu lệnh lặp, lệnh lặp với số lần chưa biết
Hiểu được hoạt động các câu lệnh lặp
Truy xuất, thao tác với các phần tử mảng
*Kĩ năng:
Khai báo và sử dụng biến mảng
Viết được các câu lệnh lặp trong tình huống cụ thể
Hình thức
Kiểm tra trên giấy
Ma trận đề
 Cấp độ
Nội dung
Nhận biết
Thông hiểu
Vận dụng
Tổng
Vận dụng thấp
Vận dụng cao
TNKQ
TL
TNKQ
TL
TNKQ
TL
TNKQ
TL
Câu lệnh lặp
HS nhận biết được cú pháp câu lệnh lặp
Câu 1, Câu 4, Câu 14, Câu 15
Nắm được tác dụng câu lệnh lặp
Câu 1
Xác định được số lần lặp trong câu lệnh lặp
Câu 6
Viết được câu lệnh lặp trong tình huống cụ thể
Câu 19
Số câu
Số điểm
Tỉ lệ %
4 câu
1.0đ
10 %
1 câu
1.5đ
15%
1 câu
0.25đ
2.5%
1 câu
0.25đ
2.5%
Số câu: 7
Số điểm: 3.0 điểm
Tỉ lệ: 30%
Lặp với số lần chưa biết trước
Nhận biết được cú pháp câu lệnh lặp với số lần chưa biết trước
Câu 5, Câu 7, Câu 8, Câu 11, Câu 16
Nắm được hoạt động câu lệnh lặp với số lần chưa biết trước
Câu 9. Câu 10
Xác định được kết quả sau khi thực hiện câu lệnh lặp với số lần chưa biết trước
Câu 2
Số câu
Số điểm
Tỉ lệ %
5 câu
1.25đ
12.5%
2 câu
0.5đ
5%
1 câu
2.0đ
20%
Số câu: 8
Số điểm: 3.75 điểm
Tỉ lệ 37.5%
Làm việc với dãy số
Biết cách khai báo và sử dụng biến mảng
Câu 3, Câu 17, Câu 18, Câu 20, Câu 13
Truy xuất được các phần tử mảng
Câu 2
Thao tác được với phần tử mảng
Câu 12
Viết được câu lệnh nhập giá trị và thực hiện được tính toán với các phần tử mảng
Câu 3
Số câu
Số điểm
Tỉ lệ
5 câu
1.25đ
12.5%
1 câu
0.25đ
2.5%
1 câu
0.25đ
2.5%
1 câu
1.5đ
15%
Số câu:8 câu
Số điểm: 3.25
điểm
Tỉ lệ 32.5%
Tổng số câu
Tổng số điểm
Tỉ lệ
15 câu
5.0 điểm
50%
5 câu
3.0 điểm
30%
3 câu
2.0 điểm
20%
23 câu
10 điểm:
Tỉ lệ 100%
Câu hỏi
Phần trắc nghiệm (5.0 điểm)
Sự khác nhau giữa lệnh For do và lệnh Whiledo là:
For do là câu lệnh điều kiện còn Whiledo là lệnh lặp với số lần chưa biết trước;
For do là lệnh lặp với số lần biết trước còn Whiledo là lệnh lặp với số lần chưa biết trước
For do là lệnh rẽ nhánh còn Whiledo là lệnh lặp với số lần biết trước;
For do là lệnh lặp còn Whiledo là câu lệnh điều kiện;
Để nhập một giá trị cho phần tử thứ 5 của mảng Diem ta viết là:
Readln(Diem);
Readln(Diem[i]); 
Readln(Diem[5]);
Readln(Diem(5)); 
Cho mảng A như hình sau 
30
18
56
9.5
15
1
2
3
4
5
 A
Đâu là cách biểu diễn phần tử của mảng A và giá trị tương ứng là đúng?
A[3] = 56
A[18]= 2
A[9]= 3
A[5]= 5.
Câu lệnh lặp For do kết thúc khi:
Khi giá trị biến đếm nhỏ hợn giá trị cuối;
Khi giá trị biến đếm bằng giá trị cuối; 
Khi giá trị biến đếm lớn hơn giá trị cuối;
Khi giá trị biến đếm lớn hơn giá trị đầu.
 sau từ khóa do trong câu lệnh Whiledo được thực hiện ít nhất bao nhiêu lần?
0 lần;
1 lần;
2 lần;
Vô hạn lần
Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu?
	S:=2;
	For i:=1 to 4 do S:=S + i; 
S=3
S=5
S=8
S=12
Cú pháp câu lệnh lặp với số lần chưa biết trước là
While to ;
While do ;
While to do ;
While ;do ;	
Câu lệnh Pascal nào sau đây hợp lệ?
for i:=100 to 1 do writeln(‘A’);
for i:= 1.5 to 10.5 do writeln(‘A’);
for i:= 1 to 10 do writeln(‘A’);
for i:=1 to 10 do; writeln(‘A’);
Khi thực hiện đoạn chương trình sau, câu “Xin chào” được viết ra màn hình bao nhiêu lần? 
N:=1;
While N>0 do 
Begin
N:=N + 1;
Writeln(‘Xin chao’;
End;
0 lần;
10 lần;
9 lần;
Vòng lập vô tận
Xuất dữ liệu từ mảng B có 10 phần tử từ phần tử 10 đến 20 ta viết lệnh như sau:
For i: =10 to 20 do Write(B[i]);
For i: =10 to 20 do Readln(B[i]);
For i:=1 to 10 do Write(B[i]);
For i:=1 to 10 do Readln(B[i]);
Việc đầu tiên mà câu lệnh lặp Whiledo cần thực hiện trước tiên là gì?
Thực hiện sau từ khóa Do;
Kiểm tra sau While;
Kiểm tra ;
Tăng giá trị cho biến trong .
Cho đoạn chương trình sau: 
For i:=1 to 6 do 
If Tuoi[i] <= 50 then write(Tuoi[i],’ ‘);
Giả sử mảng Tuoi gồm 6 phần tử có giá trị tương ứng là: 61 79 42 36 50 73 . Sau khi thực hiện đoạn chương trình trên ta nhận được kết quả là:
61 79 42 36 50 73
61 79 73 
42 36 50 
42 36
Viết biểu thức a[7] * b[2] trong Pascal có nghĩa là:
7*2
Giá trị phần tử thứ 7 mảng a nhân với giá trị phần tử thứ 2 mảng b;
Biến a nhân với biến b
Số 7 của mảng a nhân với số 2 của mảng b.
Trong câu lệnh lặp với số lần biết trước (fordo), được thực hiện bào nhiêu lần?
(giá trị cuối – giá trị đầu) lần
Tùy thuộc vào bài toán mới biết được số lần
Khoảng 10 lần
(giá trị cuối – giá trị đầu + 1) lần
Cú pháp của câu lệnh Fordo là
For = to do ;
For := to do ;
For := to do ;
For := to ;do ;
Khi sử dụng lệnh lặp While do cần chú ý điều gì?
Số lần lặp;
Số lượng câu lệnh;
Điều kiện dần đi đến sai;
Điều kiện dần đi đến đúng.
Để đọc giá trị của một phần tử bất kì trong mảng, ta có thể ghi như sau:
Tên mảng[chỉ số]
Tên mảng[giá trị phần tử]
Tên mảng(chỉ số)
Tên mảng(giá trị phần tử)
Chỉ ra cách khai bào biến mảng đúng trong Pascal 
Var :Array [] of ;	
Var :Array [: ] of ;	
Var Array [ .. ] of ;	
Var :Array [..] of ;	
Một bạn muốn in ra 4 chữ B và 4 chữ C trên màn hình bẳng đoạn chương trình sau:
Var i: integer;
Begin
 For i:=1 to 4 do writeln(‘B’); writeln(‘C’);
End.
Em có nhận xét gì về đoạn chương trình trên?
Đúng rồi;
Phải đổi writeln thành write;
Cần phải đưa hai lệnh writeln (‘B’); writeln(‘C’); vào trong cặp Begin và End;
Phải đặt writeln (‘B’) và writeln (‘C’) ở hai dòng riêng biệt.
Các phần tử của một mảng:
Phải cùng kiểu dữ liệu;
Phải khác kiểu dữ liệu;
Phải có giá trị như nhau;
Phải là các số nguyên;
Phần tự luận (5.0 điểm)
(1.5 điểm) Hãy xác định biến đếm, giá trị đầu, giá trị cuối, câu lệnh, số lần lặp trong câu lệnh sau:
For i:=1 to 10 do if i mod 2 = 0 then s:=s+i; 
(2.0 điểm) Hãy cho biết số lần lặp và giá trị của s là bao nhiêu sau khi t hực hiện đoạn chương trình sau: 
s:=0; i:=1;
while i<5 do begin if i mod 2 = 0 then s:=s+i; i:=i + 1; end; 
(1.5 điểm) Hãy bổ sung những lệnh còn thiếu để hoàn chỉnh chương trình tính tổng n, với n và các số nhập được nhập vào từ bàn phím 
program Tinh_tong;
uses crt;
var i,n:integer;
s:real;
a:array[1..50] of real;
begin
s:=0;
write('Nhap so cac so can tinh tong:');
readln(n);
writeln('Moi ban nhap cac so can tinh tong');
for 
write('Tong ',n, ' so la: ',s:5:2);
readln
end.
ĐÁP ÁN
Phần trắc nghiệm
Mỗi câu trả lời đúng (0.25 điểm)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
B
C
A
C
A
D
B
C
D
A
B
D
B
D
B
C
A
D
C
A
Phần tự luận
Câu 1 (1.5 điểm)
Biến đếm: i (0.25đ)
Giá trị đầu: 1 (0.25đ)
Giá trị cuối: 10 (0.25đ)
Câu lệnh: if i mod 2 = 0 then s:=s+i (0.25đ)
Số lần lặp: 10 lần (0.5đ)
Câu 2 (2.0 điểm)
Đoạn chương trình thực hiện 4 lần lặp (1.0đ)
Sau khi thực hiện đoạn chương trình giá trị của s là 6 (1.0đ)
Câu 3 (1.5 điểm)
Cách 1:
For i:=1 to n do begin 
readln(a[i]);
s:=s+a[i];
end;
cách 2:
for i:=1 to n do readln(a[i]);
for i:=1 to n do s:=s+a[i];

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

  • docde.doc