Câu 7: Hãy chỉ ra lỗi trong các câu lệnh sau và viết lại cho đúnga... Bước 4: Thông báo a và kết thúc thuật toán Hãy cho biết: a.. Khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhi
Trang 1ĐỀ KIỂM TRA HK2 (ĐỀ A) Năm học: 2009 -2010 Môn: Tin học 8 Thời gian: 45 phút
I TRẮC NGHIỆM (6đ)
Câu 1: Lần lượt thực hiện đoạn lệnh: a[1]:=2; a[2]:=3; t:=a[1]+a[2]+1; Giá trị của t là
Câu 2: Sau khi thực hiện đoạn chương trình sau, giá trị của biến a bằng bao nhiêu?
a:=2 ;
For i:= 0 to 3 do a:= a+3;
Câu 3 : Cho S và i là biến nguyên Khi chạy đoạn chương trình :
s:=1;
for i:=1 to 5 do s := s *i;
writeln(s);
Kết quả in lên màn hình là :
Câu 4: Xem ví dụ sau trong Pascal:
Var i:integer;
Begin
I:=1 While i<15 do
Begin
Writeln(‘0’);
i:=i+1;
End;
End
Ví dụ trên ghi ra màn hình bao nhiêu chữ số 0?
Câu 5: Chọn khai báo hơp lệ
a Const n=5;
Var a,b: array[1 n] of real;
b Var n: Integer;
a,b: array[1:n] of real;
c Var a,b: array[1 n] of real; d Var a,b: array[1 5 10] of real;
Câu 6: Tham chiếu tới các 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 [chỉ số] <tên biến mảng>
c <tên biến mảng><chỉ số> d [tên biến mảng][chỉ số]
Trường THCS Hoa Lư
Họ và tên:……… STT: ……
Lớp: 8……
Trang 2Câu 7: Hãy chỉ ra lỗi trong các câu lệnh sau và viết lại cho đúng
a For i=1 to 10 do x:=x+1;
b For i:=1 to 10; do x:=x+1;
c x:= 8; while x = 8 do x = x+3;
d s:=0; n:=0; while s <=10 do n:=n+1; s:=s+n;
e Var x: Array[1,20] Of Real;
f Var x: Array[20 1] Of Integer;
II TỰ LUẬN
Câu 8: Cho biết tác dụng của câu lệnh lặp với số lần biết trước (1đ)
Câu 9: Hãy tìm hiểu thuật toán sau đây:
Bước 1: X16, n 2
Bước 2: Nếu X <= 6.5, chuyển tới bước 4
Bước 3: XX-n và quay lại bước 2
Bước 4: Thông báo X và kết thúc thuật toán
Hãy cho biết:
a Khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của X bằng bao nhiêu? (1đ)
b Viết chương trình Pascal thể hiện thuật toán đó? (2đ)
Trang 3
ĐỀ KIỂM TRA HK2 (ĐỀ B) Năm học: 2009 -2010 Môn: Tin học 8 Thời gian: 45 phút
I TRẮC NGHIỆM (6đ)
Câu 1: Để khai báo biến mảng kiểu số nguyên trong Pascal có dạng:
Var <tên biến mảng>:array [<chỉ số đầu> <chỉ số cuối>] of integer;
Trong đó:
a Chỉ số đầu = chỉ số cuối b Chỉ số đầu > chỉ số cuối
c Chỉ số đầu < chỉ số cuối d Chỉ số đầu <> chỉ số cuối
Câu 2: Đoạn chương trình sau có bao nhiêu vòng lặp?
a:=2 ;
for i:= 0 to 3 do a:= a+3;
Câu 3: Hãy đọc đoạn chương trình sau, sau khi thực hiện xong, kết quả s bằng:
s:=0;
For i:= 1 to 5 do s:= s * i;
Câu 4: Xem ví dụ sau trong Pascal:
Var i:integer;
Begin
i:=1;
While i<15 do
Begin
Writeln(‘0’);
i:=i+1;
End;
End
Ví dụ trên lặp bao nhiêu vòng lặp?
Câu 5: Chọn khai báo hơp lệ
a Var a,b: array[1 n] of real; b Var a,b: array[1:n] of real;
c Var a,b: array[1 100] of real; d Var a,b: array[1…n] of real;
Câu 6: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng
Với câu lệnh While…Do Nếu sau do muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa
Trường THCS Hoa Lư
Họ và tên:……… STT: ……
Lớp: 8……
Trang 4Câu 7: Hãy chỉ ra lỗi trong các câu lệnh sau và viết lại cho đúng
a For i:=10 to 1 do x:= x + 1;
b For i:=1.5 to 5.2 do x:= x + 1;
c While i:= 1 do t:=10;
d While 1 = 1 do Writeln (‘Dung’) ;
e Var X: array[3.7 7.8] of integer;
f Var x: array [1 :100] of real;
II TỰ LUẬN
Câu 8: Hãy cho biết sự khác nhau giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp
với số lần chưa biết trước (1đ)
Câu 9: Hãy tìm hiểu thuật toán sau đây:
Bước 1: X 15, n 3
Bước 2: Nếu X <= 4.5, chuyển tới bước 4
Bước 3: XX-n và quay lại bước 2
Bước 4: Thông báo X và kết thúc thuật toán
Hãy cho biết:
a Khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của X bằng bao nhiêu? (1đ)
b Viết chương trình Pascal thể hiện thuật toán đó? (2đ)
Trang 5
Câu 9: Hãy tìm hiểu thuật toán sau đây:
Bước 1: a48, b30
Bước 2: Nếu a=b chuyển tới bước 4
Bước 3: Nếu a>b thì a a-b ngược lại bb-a và quay lại bước 2
Bước 4: Thông báo a và kết thúc thuật toán
Hãy cho biết:
a Khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của a bằng bao nhiêu? (1đ)
b Viết chương trình Pascal thể hiện thuật toán đó? (2đ)
Begin
While a<>b do if a>b then a:=a-b else b:=b-a; 0.75
Câu 9: Hãy tìm hiểu thuật toán sau đây:
Bước 1: a48, b30
Bước 2: ra mod b
Bước 3: Nếu r=0 chuyển tới bước 5
Bước 4: ab, br,r a mod b
Bước 5: Thông báo b và kết thúc thuật toán
Hãy cho biết:
c Khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của b bằng bao nhiêu? (1đ)
d Viết chương trình Pascal thể hiện thuật toán đó? (2đ)
Begin
Begin
a:=b; b:=r; r:=a mod b;
End;
End
Trang 6Câu 9: Hãy tìm hiểu thuật toán sau đây:
Bước 1:s1,i1
Bước 2: Nếu i>5, chuyển tới bước 4
Bước 3: ss*i, ii+1 và quay lại bước 2
Bước 4: Thông báo s và kết thúc thuật toán
Hãy cho biết:
a Khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? (0.5đ)
b Viết chương trình Pascal thể hiện thuật toán đó? (2.5đ)
End;
End
Câu 9: Hãy tìm hiểu thuật toán sau đây:
Bước 1:s0,i0
Bước 2: Nếu i>5, chuyển tới bước 4
Bước 3: ii+1, ss+i và quay lại bước 2
Bước 4: Thông báo s và kết thúc thuật toán
Hãy cho biết:
a Khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? (1đ)
b Viết chương trình Pascal thể hiện thuật toán đó? (2đ)
End;
End
Trang 7Câu 9: Sắp xếp các dòng sau thành một chương trình tính tổng 100 số tự nhiên đầu tiên khác 0
hoàn chỉnh (3đ)
var i: integer; s: longint;
writeln('Tong cua 100 so tu nhien dau tien khac 0 S = ', S);
program Tinh_tong;
s:= 0;
i := 1;
end
begin
while i <=100 do
i:= i+1;
s:= s+i;
begin
end;
Câu 9: Sắp xếp các dòng sau thành một chương trình tính tích 100 số tự nhiên đầu tiên khác 0
hoàn chỉnh (3đ)
var i: integer; p: longint;
writeln('Tich cua 100 so tu nhien dau tien khac 0 p = ', p);
program Tinh_tong;
p:= 1;
i := 1;
end
begin
while i <=100 do
i:= i+1;
p:= p*i;
begin
end;