PHÒNG GD – ĐT PHÙ CÁT
TRƯỜNG THCSCÁTKHÁNH
HỌ VÀ TÊN: ………………………
LỚP :…….
KIỂM TRA1TIẾT
MÔN: TINHỌC
THỜI GIAN: 45 phút
ĐIỂM
I. TRẮC NGHIỆM. 5 (điểm)
Câu 1. Đoạn lênh sau đây:
So:=1;
While so<10 do writeln(so);
So:=so+1;
Sẽ cho kết quả gì?
A. In ra các số từ 1 đến 9;
B. In ra các số từ 1 đến 10
C. In ra vô hạn các số 1, mỗi số trên một dòng;
D. In ra vô số các số 1. mỗi số một dòng;
Câu 2. Tìm hiểu đoạn lệnh chương trình Pascal sau đây. Không cần biết chương trình, hãy
cho biết lệnh writeln in ra màn hình giá trị của i, j, k là bao nhiêu?
i:=1; j:=2; k:=3;
While i<6 do i:=i+1; j:=j+1; k:=k+j;
Writeln(i,’ ’,j,’ ’k);
Chọn đáp án đúng.
A. i=6,j=3,k=6; B. i=6;j=3;k=3; C. i=6, j=4, k=6; D. Tất cả đều đúng.
Câu 3. Hãy tìm hiểu đoạn chương trình sau đây:
X:=0; tong:=0;
While tong<=20 do
Begin
Writeln(tong);
Tong:= tong+1;
End;
X:=tong;
Sau đoạn chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 20; B. 21; C. Không xác định được; D. 0;
Câu 4. Tìm hiểu đoạn lệnh chương trình Pascal sau đây. Không cần biết chương trình, hãy
cho biết lệnh writeln in ra màn hình giá trị của i, j, k là bao nhiêu?
i:=1; j:=2; k:=3;
While i<6 do
Begin i:=i+1; j:=j+1; k:=k+j;end;
Writeln(i,’ ’,j,’ ’,k);
Chọn đáp áp đúng:
A. i=6, j=7, k=28; B. i=6;j=3; k=28; C. i=6, j=7, k=6; D. Tất cả đều đúng.
Câu 5. Các khai báo biến mảng nào sau đây là sai?
A. a: array[1 100]of integer; B, mang:array[1 1]of real;
C. diem:array[1…100]of integer; D. hs:array[1 10] of longint;
Câu 6. Để gán trực tiếp một giá trị 2 vào phần tử 2 trong mãng có tên là “diem” thì phải
làm như sau?
A. Diem[i]:= 2; B. diem2:=2; C. Diem[2]:=2; D. Diem[2]: =2;
Câu 7. Vòng lặp while do là vòng lập?
A. Lặp với số lần chưa biết trước; B. Lặp với số lần đã biết trước;
C. Không biết khi nào kết thức. D. Cả 3 đều đúng.
Câu 8. Cấu trúc của khai báo vòng lặp while … do như sau?
A. while <điều kiên> do <câu lệnh>; B. while <câu lệnh> do <câu lệnh>;
C. while <điều kiện> do <câu lệnh1>else <câu lệnh 2>;
D. A và C đúng.
Câu 9. Câu lệnh nào sai :
A.
While X<n do m:=m+1;
B.
While X>n do m:=m+1;
C. While X<n do begin m:=m+1; x:=x+3 end; D. While X:=n do m:=m+1;
Câu 10. Sau khi thực hiện đoạn chương trình sau :
i:=1; s:=0;while s< 2 do begin write(i*s ); s:=s+1 end;
kết quả in ra màn hình là :
A.
0
B.
1
C.
2
D.
3
II. TỰ LUẬN (5điểm)
Câu 1(1 điểm). Viết chương trình sử dụng câu lệnh lặp while … do để tính tổng
n
S
1
3
1
2
1
1
Câu 2. (2điểm) Các khai báo biến mảng sau đây đúng hay sai( Nếu sai phải sửa lại)?
a. var x: array[10…13] of integer;
b. var x: array[5 13.5] of real;
c. var x: array[10 1] of longint;
d. var x: array(10 13) of integer;
Câu 3. (2 điểm). Hãy tìm hiều các thuật toán sau đây và cho biết 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 (ghi rõ từng vòng lập)? Khi kết thúc, giá trị của
S bằng bao nhiêu? Viết chương trình Pascal thể hiện thuật toán đó.
Thuật toán.
Bước 1. .5.0,10
xS
Bước 2. Nếu ,2.5
S chuyển tới bước 4.
Bước 3. xSS
và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
. ĐT PHÙ CÁT TRƯỜNG THCS CÁT KHÁNH HỌ VÀ TÊN: ……………………… LỚP :……. KIỂM TRA 1 TIẾT MÔN: TIN HỌC THỜI GIAN: 45 phút ĐIỂM I. TRẮC NGHIỆM. 5 (điểm) Câu 1. Đoạn lênh sau đây: So: =1; While. khai báo biến mảng nào sau đây là sai? A. a: array [1 100]of integer; B, mang:array [1 1]of real; C. diem:array [1 10 0]of integer; D. hs:array [1 10] of longint; Câu 6. Để gán trực tiếp một giá. so< ;10 do writeln(so); So:=so +1; Sẽ cho kết quả gì? A. In ra các số từ 1 đến 9; B. In ra các số từ 1 đến 10 C. In ra vô hạn các số 1, mỗi số trên một dòng; D. In ra vô số các số 1. mỗi