Hãy cho biết đâu là câu lệnh lặp với số lần chưa biết trước hợp lệ?. Hãy viết các câu lệnh, khai báo theo yêu cầu sau: 2điểm a.. Khai báo mảng A gồm 50 phần tử thuộc kiểu dữ liệu số thự
Trang 1Phòng GD & ĐT TP Long Xuyên KIỂM TRA HỌC KỲ II Họ tên, chữ ký giám thị
MÔN : TIN HỌC - KHỐI : 8
Thời gian : 45 phút (Không kể thời gian phát đề)
Trường THCS Lý Thường Kiệt
Họ và tên:……….………
Lớp:………
SBD:……… Phòng………
Điểm bài thi Họ tên, chữ ký giám khảo
Bằng số Bằng chữ
I TRẮC NGHIỆM: 6 điểm (Mỗi câu đúng 0,5 điểm)
1 Câu lệnh nào sau đây là câu lệnh nhập cho phần tử thứ 10 của biến mảng A?
2 Hãy cho biết đâu là câu lệnh lặp với số lần chưa biết trước hợp lệ?
A X:=10; While X=10 do X:=X+5;
B. S:=0; n:=0; While S<=10 do begin n:=n+1; S:=S+n; end;
C. X:=10; While X:=10 do X=X+5;
D Tất cả đều khơng hợp lệ
3 Trong số các hoạt động dưới đây, hoạt động nào sẽ được thực hiện lặp lại với số lần chưa biết trước?
A.Tính tổng của 20 số tự nhiên đầu tiên
B. Nhập 1 số hợp lệ, ví dụ số nguyên trong khoảng từ 0 đến 10 vào máy tính Nếu số nhập vào khơng hợp lệ thì được yêu cầu nhập lại
C. Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số
D Khơng cĩ hoạt động nào
4 Hãy cho biết đâu là phần khai báo biến mảng A gồm 20 phần tử thuộc kiểu dữ liệu số nguyên?
A var A: array[11 30] of integer; B var A: array[1 20] of real;
C var A: array[1 20] of integer; D var A: array[11 30] of real;
5 Đoạn chương trình Pascal sau in ra màn hình kết quả là gì?
Begin for i:=1 to 100 do; End;
C xuất chữ end 100 lần D Tất cả đều sai
6 Khai báo nào sau đây khơng hợp lệ:
A Var a: array [1 10] of real; B Var a: array [10 10] of integer;
C Var a: array [11 20] of integer; D Var a: array [1…100] of real;
7 Trong Pascal, cách khai báo mảng đúng là:
A Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu>;
B Tên mảng : array[<chỉ số đầu>: <chỉ số cuối>] of <kiểu dữ liệu>;
C Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] : <kiểu dữ liệu>;
D Tên mảng : array[<chỉ số đầu>, <chỉ số cuối>] of <kiểu dữ liệu>;
8 Nêu lợi ích của việc khai báo và sử dụng biến mảng?
A Cĩ thể thay thế nhiều câu lệnh nhập B In dữ liệu ra màn hình bằng một câu lệnh lặp
C Câu a và b đúng D Tất cả đều sai
9 Các cách nhập dữ liệu cho biến mảng sau, cách nhập nào khơng hợp lệ?
C readln(chieucao5); D read(dayso[9]);
10 Hãy cho biết đâu là lệnh lặp hợp lệ?
A For i:=10 to 1 do writeln('B'); B For i:=1 to 10 do; writeln('B');
C For i:=1 to 50 do writeln('Tong S= ',S:8:2); D For i:=1.5 to 20 do writeln('B');
GK 1:………
GK 2:………
Trang 211 Hãy cho biết đâu là lệnh lặp For do để in chữ O?
A For i:=1.5 to 10.5 do writeln('O'); B For i:=1 to 10 do writeln('O');
C For i:=100 to 1 do writeln('O'); D For i:=1 to 10 do; writeln('O';
12 Cho đoạn chương trình Pascal sau:
For i:= 0 to 25 do begin … end;
Đoạn chương trình trên thực hiện lặp bao nhiêu lần?
Phần trả lời trắc nghiệm:
Trả lời
II TỰ LUẬN: 4 điểm.
1 Hãy viết các câu lệnh, khai báo theo yêu cầu sau: (2điểm)
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ố thực
d Nhập giá trị cho phần tử thứ 2 trong mảng diem
2 Thuật toán sau máy tính thực hiện bao nhiêu lần lặp (0,5đ).
Bước 1: S 20, a2.5
Bước 2: S<= 7, chuyển đến bước 4
Bước 3: SS – a và quay lại bước 2
Bước 4: Xuất S và kết thúc thuật toán
Khi kết thúc S bằng bao nhiêu? (0,5đ)
Dựa vào thuật toán viết các câu lệnh Pascal tương ứng (1đ)
………
………
………
………
………
………
………
………
Trang 3ĐÁP ÁN
ĐỀ THI TIN HỌC 8 – HỌC KÌ II NĂM HỌC 2010-2011
II TRẮC NGHIỆM: 6 điểm
(mỗi câu đúng 0,5 điểm)
II TỰ LUẬN: 4 điểm
1 Hãy viết các câu lệnh, khai báo theo yêu cầu sau: (2điểm)
a Khai báo biến mảng A gồm 50 phần tử thuộc kiểu dữ liệu
số thực
a Var A: array[1 50] of real; (0,5đ)
b Phần tử thứ 5 của biến mảng A được gán giá trị là 8 b A[5]:=8; (0,5đ)
c Khai báo biến mảng dayso gồm 50 phần tử thuộc kiểu dữ
d Nhập giá trị cho phần tử thứ 2 trong mảng diem d readln(diem[2]); (0,5đ)
2 Máy tính thực hiện 6 lần lặp (0,5đ).
Khi kết thúc S bằng 5 (0,5đ)
Các câu lệnh Pascal tương ứng (1đ)
Bước 1: S 20, a2.5
Bước 2: S<= 7, chuyển đến bước 4
Bước 3: SS – a và quay lại bước 2
Bước 4: Xuất S và kết thúc thuật toán
begin S:=20; a:=2.5; (0,25đ) While S>7do (0,25) S:=S – a; ( 0,25đ) Writeln(S); (0,25đ) End
GV ra đề Trương Ngọc Tuyết