Trường THCS Quang Trung
Lớp: 8-------Họ tên: ------------------------------------------------------------Điểm
ĐỀ THI LẠI (Năm học 2009 – 2010)
Môn: Tin học
Lời phê
ĐỀ BÀI:
A. TRẮC NGHIỆM (4 điểm)
(Thời gian làm 15 phút)
Khoanh tròn chữ cái đứng trước phương án em cho là đúng:
Câu 1: Kết quả của phép so sánh:
A. Chỉ có giá trị đúng.
B. Chỉ có giá trị sai.
C. Có thể có giá trị đúng hoặc giá trị sai.
D. Đồng thời nhận giá trị đúng và giá trị sai.
Câu 2: Các phần tử của mảng:
A. Phải cùng kiểu dữ liệu.
B. Phải khác kiểu dữ liệu.
C. Phải có giá trị như nhau.
D. Có thể cùng kiểu dữ liệu hoặc khác kiểu dữ liệu.
Câu 3: Lệnh lặp nào sau đây là đúng?
A. For <biến đếm>= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;
B. For <biến đếm>:= <giá trị đầu> to <giá trị cuôí> do <câu lệnh>;
C. For <biến đếm>:= <giá trị cuôí> to <giá trị đầu> do <câu lệnh>;
D. For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>;
Câu 4: Vòng lặp While <Điều kiện> do <Câu lệnh>; là vòng lặp:
A. Chưa biết trước số lần lặp
B. 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
D. Biết trước số lần lặp nhưng giới hạn là >=100
Câu 5: 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:=0;
for i:=1 to 5 do s := s+i;
A.45
B. 55
C. 15
D. 51
Câu 6: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i
phải được khai báo là kiểu dữ liệu gì?
A. Interger;
B. real;
C. string
D. Tất cả các kiểu trên đều được
Câu 7: Chọn khai báo hợp lệ:
A. Var a,b: array[1 .. n] of real;
C. Var a,b: array[1 : n] of Integer;
B. Var a,b: array[1 .. 100] of real;
D. Var a,b: array[1 … 100] of real;
Câu 8: Trong câu lệnh lặp for i:=1 to 12 do Write(‘A’); thì lệnh Write(‘A’) được thực hiện
bao nhiêu lần (nói cách khác, bao nhiêu vòng lặp được thực hiện?)
A. Không lần nào
B. 1 lần
C. 12 lần
--------------- ---------------
D. 2 lần
Trường THCS Quang Trung
Lớp: 8-------Họ tên: -------------------------------------------------------------
ĐỀ THI LẠI (Năm học 2009 – 2010)
Môn: Tin học
Điểm
Lời phê
B. Phần tự luận:
(Thời gian làm 30 phút)
Câu 1: Em hãy viết cú pháp của câu lệnh lặp với số lần chưa biết trước và giải thích các
thành phần (2 đ).
Câu 2/ Gạch chân những chân những câu lệnh em cho là sai rồi viết lại cho đúng (4 đ).
Program Tim_So_Lon_Nhat;
Var n:i: integer;
SO : array [1..100] of intege ;
Begen
Clrscr;
Writeln(‘Ban muon nhap bao nhieu phan tu’);
for i=1 to n do
begin
Writeln(‘Hay nhap phan tu thu’, i);
realn (SO[i]);
end;
fo i:=2 to n do
if max >SO[i] them max := SO[i]
Write(‘so lon nhat la:’, max );
Readln;
End
--------------- ---------------
ĐÁP ÁN VÀ BIỂU ĐIỂM
A. Phần trắc mghiệm (3 điểm)
Khoanh tròn chữ cái đứng trước phương án đúng:
Đúng mỗi câu được o,5 điểm
Câu 1
Câu 2
Câu 3
Câu 4
Câu 5
Câu 6
Câu 7
Câu 8
C
A
B
A
C
A
B
C
B. Phần tự luận (6 điểm).
Câu 1: (2 điểm)
- While <Điều kiện> do <Câu lệnh>;
Câu 2: Dịch và sửa lỗi chương trình (4 điểm)
Program Tim_So_Lon_Nhat;
Program Tim_So_Lon_Nhat;
Var n:i: integer;
Var n,i: integer;
SO : array [1..100] of intege ;
SO : array [1..100] of integer ;
Begen
Begin
Clrscr;
Clrscr;
Writeln(‘Ban muon nhap bao nhieu phan
Writeln(‘Ban muon nhap bao nhieu phan
tu’);
tu’);
for i=1 to n do
for i:=1 to n do
begin
begin
Writeln(‘Hay nhap phan tu thu’, i);
realn (SO[i]);
Writeln(‘Hay nhap phan tu thu’,
i);
end;
readln (SO[i]);
fo i:=2 to n do
end;
if max >SO[i] them max := SO[i]
for i:=2 to n do
Write(‘so lon nhat la:’, max );
if max >SO[i] then max := SO[i]
Readln;
Write(‘so lon nhat la:’, max );
End
Readln;
End.
--------------- ---------------