Họ và tên:
Lớp
ĐỀ KIỂM TRA HỌC KỲ 2
Môn: tin học 8
Thời gian làm bài: 45 phút;
Câu 1: Cú pháp của câu lệnh Whiledo là:
A. While to do ;
B. While to ;
C. While do ;
D. While ; do ;
Câu 2: Lệnh lặp nào sau đây là đúng?
A. For := to do ;
B. For := to do ;
C. For = to do ;
D. For : to do ;
Câu 3: 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:=1;
for i:=1 to 4 do s := s*i;
A. 24 B. 121 C. 120 D. 151
Câu 4: Chọn khai báo hợp lệ:
A. Var a,b: array[1 : n] of Integer; B. Var a,b: array[1 .. 100] of real;
C. Var a,b: array[1 .. n] of real; D. Var a,b: array[1 100] of real;
Câu 5: Để đếm có bao nhiêu số lẻ nhỏ hơn hay bằng n ; em chọn đoạn lệnh:
A. for i:=1 to n do if ( I mod 2) =0 then S:=S + 1;
B. for i:=1 to n do if ( I mod 2)0 then S:=S + 1;
C. for i:=1 to n do if ( I mod 2)=0 then S:=S + I;
D. for i:=1 to n do if ( I mod 2)=1 then S:=S + I ;
Câu 6: Sau khi thực hiện đoạn chương trình sau
s:= 0; for i:= 1 to 3 do s:=s+i; kết quả giá trị s bằng bao nhiêu?
A. 8 B. 10 C. 4 D. 6
Câu 7: Câu lệnh nào sau đây lặp vô hạn lần
A. s:=5; i:=1; While i> s do i:=i + 1;
B. s:=5; i:=0; While i<=s do s:=s + 1;
C. s:=5; i:=1; While i<=s do i:=i + 1;
D. s:=5; i:=1; While i s do i:=i + 1; s:=s+i
Câu 8: Cú pháp khai báo biến mảng trong Pascal là:
A. var : array [..] of ;
B. var : aray [] of ;
C. var : array [] for ;
D. var ; array [..] of ;
Câu 9: Cho các câu lệnh sau hay chỉ ra câu lệnh đúng:
A. for i:=1 to 10; do x:=x+1 B. for i:=1 to 10 do x:=x+1
C. for i:=10 to 1 do x:=x+1. D. for i:= 1 to 10 for j:=1 to 10 do x:=x+1
Câu 10: Để tính tổng S=2 + 4 + 6 + n; em chọn đoạn lệnh:
A. For i:=1 to n do if ( i mod 2)=0 then S:=S + i;
B. For i:=1 to n do S:= S + i ;
C. For i:=1 to n do if ( i mod 2)=1 then S:=S + i;
D. for i:=1 to n do if ( i mod 2)0 then S:=S + i;
Câu 11. Chọn câu lệnh đúng ?
A) x While x:= 10 do x:= x+5; B) x:=10 While x:= 10 do x:= x+5;
C) x While x:= 10 do x:= x+5; D) While x < 10 do x:= x+5;
-----------------------------------------------
II. PHẦN TỰ LUẬN: (7 điểm)
Câu 1: (1 điểm) Chương trình sau đây có hợp lệ không? Nếu không hãy chỉnh sửa lại cho hoàn chỉnh.
Program tinhhieu;
Begin
Writeln (‘Nhap sp nguyen duong a: ‘); Readln (a);
Writeln (‘Nhap sp nguyen duong b: ‘); Readln (b);
S:= a - b
Writeln (‘Hieu hai so nguyen duong a va b la: ‘,S:2:2)
Readln
Var a, b: integer;
S: real;
Câu 2: ( 2 điểm) Viết chương trình in ra số lớn hơn trong hai số (được nhập từ bàn phím).
Câu 3: ( 2 điểm) Dữ liệu kiểu mảng là gì? Hãy nêu cách khai báo biến mảng trong Pascal và các thành phần của nó.
Câu 4: (2 điểm) Viết chương trình nhập dãy n số và in ra tổng các số lẻ trong dãy số vừa nhập.
----------------------Hết------------------------
-------------bj)
xxcsc--------------
-__Bài tập 2.1:
Viết chương trình in ra số lớn hơn trong hai số (được nhập từ bàn phím).
a. Hướng dẫn:
Nhập hai số vào hai biến a, b.
Nếu a > b thì in a. Nếu a <= b thì in b.
- Hoặc: Nếu a > b thì in a. Ngược lại thì in b.
b. Mã chương trình:
Program SO_SANH1;
uses crt;
var a,b: real;
begin
clrscr;
write('nhap so thu nhat: '); readln(a);
write('nhap so thu hai: '); readln(b);
if a> b then writeln(' So lon la:',a);
if a<= b then writeln(' So lon la:',b:10:2);
readln
end.
Hoặc:
Program SO_SANH2;
uses crt;
var a,b: real;
begin
clrscr;
write('nhap so thu nhat: '); readln(a);
write('nhap so thu hai: '); readln(b);
if a> b then writeln(' So lon la:',a:10:2)
else writeln(' So lon la:',b:10:2);
readln
end.
Bài tập 5.2
Viết chương trình nhập dãy n số và in ra tổng các số lẻ trong dãy số vừa nhập.
a. Hướng dẫn:
b. Mã chương trình:
Program Mang_Tong_Le;
uses crt;
var i,n:byte;
M:array[1..100] of integer;
tong:longint;
begin
write('Nhap so phan tu cua day: ');readln(n);
for i:=1 to n do
begin
write('M[',i,']'); readln(M[i]);
end;
tong:=0;
for i:=1 to n do if M[i] mod 2 =1 then
tong:=tong+M[i];
write('Tong cac so le trong day la: ',tong);
readln
end.
Tài liệu đính kèm: