Hãy cho biết, khi thực hiện thuật toán trên, máy tính sẽ thực hiện bao nhiêu vòng lặp và giá trị của T và j là bao nhiêu?. ...[r]
(1)ĐỀ KIỂM TRA HỌC KÌ II - NĂM HỌC 2011 - 2012 MÔN : TIN HỌC
Thời gian 45 phút
Họ & tên: Điểm Giám khảo Giám thị 1: Giám thị 2:
Lớp: 8… Gk1:
Ngày thi: /……/2012 Gk2:
A/ LÝ THUYẾT: (6 điểm )Hãy chọn đáp án điền vào bảng đây:
Câu Câu1 Câu2 Câu3 Câu4 Câu5 Câu6 Câu7 Câu8 Câu9 Câu10 Câu11 Câu12 Đáp án
Câu Trong Pascal, câu lệnh sau viết đúng? A for i := to do writeln(‘A’);
B for i := to 10 writeln(‘A’);
C for i := to 100 do writeln(‘A’); D for i to 10 do writeln(‘A’); Câu Trong câu lệnh lặp: for n:= to dobegin end;
Câu lệnh ghép thực lần? A. lần;
B. lần;
C. lần;
D. Không lần nào; Câu 3. Câu lệnh lặp For to do có:
A. Số lần lặp vô hạn B. Số lần lặp biết trước
C. Số vòng lặp phải nhỏ 100 D. Số vòng lặp trước Câu 4. Sau thực chương trình đây, giá trị biến j bao nhiêu?
j:= 1;
for i:= to 10 j:= j+1;
A. 12; B. 13; C. 11; D. 14;
Câu 5. Trong Pascal, câu lệnh sau đúng? A. i:=0; S:=1; While S<10 do S=S+i; i=i+1;
B. i:=1; S:=0; while s<10 begin S:=S+i; i:=i+1; end; C. n:=2; while n<5; do write(‘A’);
D. Cả A B
Câu 6 Cú pháp đầy đủ câu lệnh While … do là: A While <câu lệnh> do <điều kiện>;
B While <điều kiện>; <câu lệnh>;
C While <điều kiện> to <câu lênh> do; D While <điều kiện> do <câu lệnh>; Câu Hãy cho biết chương trình thực vòng lặp thực đoạn chương trình ?
n:=10; T:=100;
(2)so := 1;
While so <10 writeln(so); so := so + 1; A. In số từ đến 10;
B. Chương trình báo lỗi;
C. In vô hạn số cột; D. In vô hạn số dòng ; Câu Trong Pascal, câu lệnh khai báo biến mảng sau đúng?
A. var a : array[10 1] of integer; B. var b : array(1 100) of real;
C. var c : array[1 15] of integer; D. var d : array[-2 -5] of real;
Câu 10 Khai báo biến mảng: A : array[1 7] of real; Sử dụng câu lệnh For i:= to readln(A[i]); để gán giá trị cho phần tử biến A từ bàn phím, ta nhập giá trị?
A. 5; B. 4; C. 6; D. 7;
Câu 11 Trong câu lệnh khai báo biến mảng, phát biểu sau đúng: A. Chỉ số đầu > số cuối;
B. Chỉ số đầu số cuối;
C. Kiểu liệu real; D. Cả ba ý đúng;
Câu 12 Giả sử biến mảng A có phần tử giá trị phần tử 1, 4, 7, 2, Khi thực câu lệnh giá trị biến tb bao nhiêu?
tb:= 0; For i:= 1 to 5 tb := tb + A[i];
A. 19; B. 18; C. 21; D. 20;
B/ BÀI TẬP (4 điểm)
Câu (2 điểm) Cho thuật toán sau: B1: j 0; T 105;
B2: Nếu T< 20 chuyển qua B4; B3: j j + 5; T T – j;
B4: In kết T j;
a. Hãy cho biết, thực thuật tốn trên, máy tính thực vòng lặp giá trị T j
b. Viết câu lệnh pascal thể hai thuật toán
Câu 2 (2 điểm) Viết chương trình nhập vào số nguyên xuất ra: Số số chẵn
(3)
ĐỀ KIỂM TRA HỌC KÌ II - NĂM HỌC 2011 - 2012 MÔN : TIN HỌC
Thời gian 45 phút
Họ & tên: Điểm Giám khảo Giám thị 1: Giám thị 2:
Lớp: 8… Gk1:
Ngày thi: /……/2012 Gk2:
A/ LÝ THUYẾT: (6 điểm )Hãy chọn đáp án điền vào bảng đây:
Câu Câu1 Câu2 Câu3 Câu4 Câu5 Câu6 Câu7 Câu8 Câu9 Câu10 Câu11 Câu12 Đáp án
Câu Hãy cho biết chương trình thực vòng lặp thực đoạn chương trình ? n:=10; T:=100;
While n>10 n:=n+5; T:=T - n;
A. B. C. D. 10
Câu 2 Đoạn lệnh cho kết gì? so := 1;
While so <10 writeln(so); so := so + 1; A. In số từ đến 10;
B. Chương trình báo lỗi;
C. In vô hạn số cột; D. In vơ hạn số dịng ; Câu Trong Pascal, câu lệnh khai báo biến mảng sau đúng?
A. var a : array[10 1] of integer; B. var b : array(1 100) of real;
C. var c : array[1 15] of integer; D. var d : array[-2 -5] of real;
Câu Khai báo biến mảng: A : array[1 7] of real; Sử dụng câu lệnh For i:= to readln(A[i]); để gán giá trị cho phần tử biến A từ bàn phím, ta nhập giá trị?
A. 5; B. 4; C. 6; D. 7;
Câu Trong câu lệnh khai báo biến mảng, phát biểu sau đúng: A. Chỉ số đầu > số cuối;
B. Chỉ số đầu số cuối;
C. Kiểu liệu real; D. Cả ba ý đúng;
Câu Giả sử biến mảng A có phần tử giá trị phần tử 1, 4, 7, 2, Khi thực câu lệnh giá trị biến tb bao nhiêu?
tb:= 0; For i:= 1 to 5 tb := tb + A[i];
A. 19; B. 18; C. 21; D. 20;
Câu Trong Pascal, câu lệnh sau viết đúng?
Mã đề Lẻ
(4)A. lần; B. lần;
C. lần;
D. Không lần nào; Câu 9. Câu lệnh lặp For to do có:
A. Số lần lặp vơ hạn B. Số lần lặp biết trước
C. Số vòng lặp phải nhỏ 100 D. Số vịng lặp khơng biết trước Câu 10. Sau thực chương trình đây, giá trị biến j bao nhiêu?
j:= 1;
for i:= to 10 j:= j+1;
A. 12; B. 13; C. 11; D. 14;
Câu 11. Trong Pascal, câu lệnh sau đúng? A. i:=0; S:=1; While S<10 do S=S+i; i=i+1;
B. i:=1; S:=0; while s<10 begin S:=S+i; i:=i+1; end; C. n:=2; while n<5; do write(‘A’);
D. Cả A B
Câu 12 Cú pháp đầy đủ câu lệnh While … do là: A While <câu lệnh> do <điều kiện>;
B While <điều kiện>; <câu lệnh>;
C While <điều kiện> to <câu lênh> do; D While <điều kiện> do <câu lệnh>; B/ BÀI TẬP (4 điểm)
Câu 1 (2 điểm) Viết chương trình nhập vào số nguyên xuất ra: Số số chẵn
Yêu cầu : Khai tên báo biến mảng dayso, với số đầu 1, số cuối 20, kiểu liệu số nguyên Câu (2 điểm) Cho thuật toán sau:
B1: j 0; T 105;
B2: Nếu T< 20 chuyển qua B4; B3: j j + 5; T T – j;
B4: In kết T j;
a. Hãy cho biết, thực thuật tốn trên, máy tính thực vòng lặp giá trị T j
b. Viết câu lệnh pascal thể hai thuật toán
(5)
I/ MA TRẬN ĐỀ Mức độ
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 lệnh lặp 1 0,5 1 2.5
Bài 8: Lặp với số lần chưa biết trước 1
2 1
1 2
5
4
Bài 9: Làm việc với dãy số 1 0,5 2 3.5
Tổng 3 1 6 14 10
Tỷ lệ(%) 30 10 60 100
II/ ĐÁP ÁN VÀ BIỂU ĐIỂM – ĐỀ CHẴN A/ LÝ THUYẾT: (6 điểm – câu 0,5 điểm)
Câu Câu1 Câu2 Câu3 Câu4 Câu5 Câu6 Câu7 Câu8 Câu9 Câu10 Câu11 Câu12
Đáp án C B B A B D A B C A B D
B/ BÀI TẬP (4 điểm)
CÂU ĐÁP ÁN ĐIỂM
Câu a
- Khi thực thuật tốn trên, máy tính thực 06 vòng
lặp 0.5
- T = 0; j = 30 0.5
b
Đoạn chương trình thể thuật tốn:
j := 0; 0.25
T := 105; 0.25
While T >= 20 begin j := j + 5; T := T - j; end; 0.25
Write(T); write(j); 0.25
Câu Program cau_2; Uses crt;
Var so_chan, i : integer; dayso : array[1 20] of integer;
0.25 Begin
Clrscr;
so_chan:=0;
0.5 For i := to
Begin
Write(‘phan tu thu ‘,i,’ la = ‘); readln(dayso[i]);
End;
0.5 For i := to
(6)End
III/ ĐÁP ÁN VÀ BIỂU ĐIỂM – ĐỀ LẺ A/ LÝ THUYẾT: (6 điểm – câu 0,5 điểm)
Câu Câu1 Câu2 Câu3 Câu4 Câu5 Câu6 Câu7 Câu8 Câu9 Câu10 Câu11 Câu12
Đáp án A B C A B D C B B A B D
B/ BÀI TẬP (4 điểm)
CÂU ĐÁP ÁN ĐIỂM
Câu
Program cau_2; Uses crt;
Var so_chan, i : integer; dayso : array[1 20] of integer;
0.25 Begin
Clrscr;
so_chan:=0; 0.5
For i := to Begin
Write(‘phan tu thu ‘,i,’ la = ‘); readln(dayso[i]);
End;
0.5 For i := to
Begin
If dayso[i] mod =0 then so_chan := so_chan+1; End;
0.5 Writeln(‘so so chan la: ‘,so_chan);
Readln; End
0.25
Câu a
- Khi thực thuật tốn trên, máy tính thực 06 vòng
lặp 0.5
- T = 0; j = 30 0.5
b
Đoạn chương trình thể thuật tốn:
j := 0; 0.25
T := 105; 0.25
While T >= 20 begin j := j + 5; T := T - j; end; 0.25