Đề thi học kỳ II môn Tin học Lớp 8 - Năm học 2016-2017 - Trường THCS Khánh Hưng (Có ma trận và đáp án)

Câu 13: Cho đoạn chương trình sau hãy cho biết lệnh writeln in ra màn hình giá trị của j và k là bao nhiêu?

J:=2; k:=3

For i:=1 to 5 do j:=j+1;

K:=k+j;

Writeln (j, k);

A. j=7; k=28 B. j=5; k=15 C. j=2; k=3 D. J=3; k=6

Câu 14: Cách khai báo mảng sau đây cách nào khai báo đúng?

A. var X : Array [10, 13] of integer; C. var X : Array [3.4.4.8] of integer;

 B. var X : Array [10. 1] of integer; D. var X : Array [1.10] of real;

Câu 15: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy, mọi phần tử trong dãy đều có cùng một đặc điểm là:

A. Cùng chung một kiểu dữ liệu;

B. Có giá trị hoàn toàn giống nhau;

C. Các phần tử của mảng đều có kiểu nguyên;

D. Các phần tử của mảng đều có kiểu thực.

 

doc16 trang | Chia sẻ: hatranv1 | Lượt xem: 431 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đề thi học kỳ II môn Tin học Lớp 8 - Năm học 2016-2017 - Trường THCS Khánh Hưng (Có ma trận và đáp án), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
á trị biến đếm.
Viết số 1 rồi viết số 3.5
Chỉ viết số 3.5 mà thôi
Câu 5: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 5 do s:= s+2;	writeln(s);
Kết quả in lên màn hình là của s là : 
A.10 	B. 55 	C. 12	D.13
Câu 6: Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=0 to 10 do ..”
A. 13 lần	B. 12 lần	C. 11 lần	 D. 10 lần
Caâu 7: Ñeå tính toång S=2 + 4 + 6  + n; em choïn ñoaïn leänh: 
For i:=1 to n do if ( i mod 2)=0 then S:=S + i;
For i:=1 to n do S:= S + i ;
 For i:=1 to n do if ( i mod 2)=1 then S:=S + i;
for i:=1 to n do if ( i mod 2)0 then S:=S + i;
Câu 8: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng 
A. While i:= 1 do t:=10	B. While x<=y ; do Writeln (‘y khong nho hon x’) ;
C. While 1 = 1; do Writeln (‘Dung’) ;	D. While (n mod i 0) do i:= i+ 1 ;
Câu 9: Vòng lặp while ..do 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
Câu 10: Đoạn lệnh sau đây: 
So : = 1;
While So < 20 do writeln(So); 
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 19;	
C. In ra vô hạn các số 1, mỗi số viết trên một dòng;	 	D. In ra các số từ 1 đến 20;
Câu 11: Hãy tìm hiểu đoạn chương trình sau đây:
	x:= 0; tong:= 0;
	While tong <= 29 do
	Begin	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 30	B. 31	C. 29	D. 0
Câu 12: Hãy tìm hiểu đoạn chương trình sau đây: 
	x:= 0; tong:= 0;
	While tong <=10 do
	Begin
	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 1	B. 11	C. 10	D. 0
Câu 13: Cho đoạn chương trình sau hãy cho biết lệnh writeln in ra màn hình giá trị của j và k là bao nhiêu?
J:=2; k:=3
For i:=1 to 5 do j:=j+1;
K:=k+j;
Writeln (j, k);
A. j=7; k=28	B. j=5; k=15	C. j=2; k=3	D. J=3; k=6 
Câu 14: Cách khai báo mảng sau đây cách nào khai báo đúng? 
A. var X : Array [10, 13] of integer;	C. var X : Array [3.4..4.8] of integer;
 	B. var X : Array [10.. 1] of integer;	D. var X : Array [1..10] of real;
Câu 15: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy, mọi phần tử trong dãy đều có cùng một đặc điểm là: 
Cùng chung một kiểu dữ liệu;
Có giá trị hoàn toàn giống nhau;
Các phần tử của mảng đều có kiểu nguyên;
Các phần tử của mảng đều có kiểu thực.
Câu 16: 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;
Câu 17: 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à:
	 A. t=1	 B. t=2	C. t=3	D. t=6
Câu 18: 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? 
A. Readln(A[10]);	B. Readln(A[k]); C. Readln(A[i]); D. Readln(A10);
Câu 19: 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ệ?
A. B[1]:= 8;	B. readln(chieucao[i]);	 C. readln(chieucao5);	 D. read(dayso[9]);
Câu 20: Phần mềm học vẽ hình là:
A. Sun Times	B. Yenka	C. Finger Break Out	D. Geogebra 
Phần II. TỰ LUẬN: (5 điểm) 
Câu 21: (1,5ñ) Nêu cú pháp khai báo biến mảng trong Pascal? Nêu lợi ích.
Câu 22: (1,5 đ) Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần biết trước và lặp với số lần chưa biết trước.
Câu 23: (2đ) Viết chương trình tính tổng 50 số tự nhiên bằng vòng lặp Whiledo
Đáp án + Biểu điểm
Phần I: (5 điểm) Mỗi ý đúng 0.25đ
Câu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ĐA
D
D
A
A
A
C
A
D
A
C
A
B
A
D
A
C
D
A
C
D
Phần II: (5 điểm)
Câu 21: (1.5 điểm) cú pháp khai báo biến mảng trong Pascal
var : array [ chỉ số đầu.. chỉ số cuối] of [kiểu dữ liệu];
Lợi ích chính của việc sử dụng biến mảng là rút gọn việc viết chương trình, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh. Ngoài ra chúng ta còn có thể lưu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả.
Câu 22: (1.5 điểm) sự khác biệt giữa câu lệnh lặp với số lần biết trước và lặp với số lần chưa biết trước.
- C©u lÖnh lÆp víi sè lÇn lÆp cho trưíc chØ thÞ cho m¸y tÝnh thùc hiÖn mét lÖnh hoÆc mét nhãm lÖnh víi sè lÇn ®· ®ưîc x¸c ®Þnh tõ trưíc, cßn víi c©u lÖnh lÆp víi sè lÇn lÆp cha biÕt trưíc th× sè lÇn lÆp chưa ®ưîc x¸c ®Þnh tríc. 
- Trong c©u lÖnh lÆp víi sè lÇn cho trưíc, ®iÒu kiÖn lµ gi¸ trÞ cña mét biÕn ®Õm cã gi¸ trÞ nguyªn ®· ®¹t ®ưîc gi¸ trÞ lín nhÊt hay chưa, cßn trong c©u lÖnh lÆp víi sè lÇn lÆp chưa biÕt trưíc, ®iÒu kiÖn tæng qu¸t h¬n nhiÒu, cã thÓ lµ kiÓm tra mét gi¸ trÞ cña mét sè thùc, còng cã thÓ lµ mét ®iÒu kiÖn tæng qu¸t kh¸c, vÝ dô như mét sè cã chia hÕt cho 3 hay kh«ng,... 
	- Trong c©u lÖnh lÆp víi sè lÇn cho trưíc, c©u lÖnh ®ưîc thùc hiÖn Ýt nhÊt mét lÇn, sau ®ã kiÓm tra ®iÒu kiÖn. Trong c©u lÖnh lÆp víi sè lÇn cha x¸c ®Þnh trưíc, trưíc hÕt ®iÒu kiÖn ®ưîc kiÓm tra. NÕu ®iÒu kiÖn ®ưîc tho¶ m·n, c©u lÖnh míi ®ưîc thùc hiÖn. Do ®ã cã thÓ cã trưêng hîp c©u lÖnh hoµn toµn kh«ng ®ưîc thùc hiÖn.
Câu 23: (2 điểm) Viết chương trình tính tổng 50 số tự nhiên bằng vòng lặp Whiledo
program tinhtong;
uses crt;
Var i, n, s: integer;
Begin
write(‘Nhap n = ’); readln(n);
s:=0; i:=1
While i<=50 do 
Begin 
s:=s+i;
i:=i+1;
End;
Writeln (‘Tong s:’,s);
End.
Mã đề thi 209
Phần I: Trắc nghiệm: (5 điểm)
Câu 1: 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[1..20] of integer;	B. var A: array[11..30] of integer;
C. var A: array[1..20] of real;	D. var A: array[11..30] of real;
Câu 2: Khi thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i); sẽ viết ra màn hình:
A. Chỉ viết số 3.5 mà thôi
B. Không thực hiện được vì giá trị cuối không phải là số nguyên.
C. Giá trị biến đếm.
D. Viết số 1 rồi viết số 3.5
Câu 3: Hãy tìm hiểu đoạn chương trình sau đây:
	x:= 0; tong:= 0;
	While tong <= 29 do
	Begin	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 0	B. 30	C. 31	D. 29
Câu 4: Hãy tìm hiểu đoạn chương trình sau đây: 
	x:= 0; tong:= 0;
	While tong <=10 do
	Begin
	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 11	B. 11	C. 0	D. 10
Câu 5: Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=1 to 5 do ..”
A. 4 lần	B. 3 lần	C. 5 lần	D. 6 lần
Câu 6: Cho đoạn chương trình sau hãy cho biết lệnh writeln in ra màn hình giá trị của j và k là bao nhiêu?
J:=2; k:=3
For i:=1 to 5 do j:=j+1;
K:=k+j;
Writeln (j, k);
A. J=3; k=6	B. j=5; k=15	C. j=2; k=3	D. j=7; k=28
Câu 7: Câu lệnh pascal nào sau đây là hợp lệ:
A. For i:=1.5 to 10.5 do writeln(‘A’);	B. For i:=10 to 1 do writeln(‘A’);
C. For i= 1 to 10 do writeln(‘A’)	D. For i:= 1 to 10 do writeln(‘A’);
Câu 8: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 5 do s:= s+2;	writeln(s);
Kết quả in lên màn hình là của s là :
A. 10	B. 12	C. 55	D. 13
Câu 9: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng
A. While (n mod i 0) do i:= i+ 1 ; B. While 1 = 1; do Writeln (‘Dung’) ;
C. While i:= 1 do t:=10	 D. While x<=y ; do Writeln (‘y khong nho hon x’) ;
Câu 10: Cách khai báo mảng sau đây cách nào khai báo đúng?
A. var X : Array [10, 13] of integer;	B. var X : Array [1..10] of real;
C. var X : Array [3.4..4.8] of integer;	D. var X : Array [10.. 1] of integer;
Câu 11: Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=0 to 10 do ..”
A. 10 lần	B. 12 lần	C. 11 lần	D. 13 lần
Câu 12: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
 s:=0;
 for i:=1 to 5 do s:= s+i;
 writeln(s);
 Kết quả in lên màn hình là :
A. s = 25	B. s = 5	C. s = 15	D. s = 35
Câu 13: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy, mọi phần tử trong dãy đều có cùng một đặc điểm là:
A. Có giá trị hoàn toàn giống nhau;	B. Các phần tử của mảng đều có kiểu thực.
C. Cùng chung một kiểu dữ liệu;	D. Các phần tử của mảng đều có kiểu nguyên;
Câu 14: Ñeå tính toång S=2 + 4 + 6  + n; em choïn ñoaïn leänh:
A. For i:=1 to n do S:= S + i ;	B. for i:=1 to n do if ( i mod 2)0 then 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 15: 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à:
A. t=6	B. t=2	C. t=3	D. t=1
Câu 16: Đoạn lệnh sau đây: 
So : = 1;
While So < 20 do writeln(So); 
sẽ cho kết quả gì ?
A. In ra các số từ 1 đến 20;
B. In ra các số từ 1 đến 19;
C. In ra các số từ 1 đến 9;
D. In ra vô hạn các số 1, mỗi số viết trên một dòng;
Câu 17: 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?
A. Readln(A[i]);	B. Readln(A[k]);	C. Readln(A10);	D. Readln(A[10]);
Câu 18: 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ệ?
A. B[1]:= 8;	B. readln(chieucao5);
C. read(dayso[9]);	D. readln(chieucao[i]);
Câu 19: Vòng lặp while ..do 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 nhưng giới hạn là <=100
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
Câu 20: Phần mềm học vẽ hình là:
A. Finger Break Out	B. Yenka	C. Geogebra	D. Sun Times
Phần II: Tự luận (5 điểm)
Câu 21: (1,5ñ) Nêu cú pháp câu lệnh lặp với số lần chưa biết trước? Lấy 1 ví dụ minh họa.
Câu 22: (1,5đ) Đánh dấu [x] vào ô đúng hoặc sai tương ứng trong các câu lệnh Pascal sau 
nếu sai sửa lại?
Câu lệnh
Đúng
Sai
Sửa lại
Program Chuong trinh
Const n:=10
Var I,s : real;
Begin;
While i< n do;
Begin
S:=s+i
I =i+1;
End.
Writeln(s);
Readln
End;
Câu 23: (2đ) Viết chương trình tính tổng 50 số tự nhiên bằng vòng lặp Fortodo
Đáp án + Biểu điểm
Phần I: (5 điểm) Mỗi ý đúng 0.25đ
Câu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ĐA
A
B
B
B
C
D
D
A
A
B
C
C
C
D
A
D
D
B
A
C
Phần II: (5 điểm)
Câu 21: (1.5 điểm)
Nêu cú pháp câu lệnh lặp với số lần chưa biết trước? Lấy 1 ví dụ minh họa.
while do ;
trong đó:
- điều kiện thường là một phép so sánh;
- câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.
while S<=1000 do begin n:=n+1; S:=S+n end;
Câu 22: (1,5đ) Đánh dấu [x] vào ô đúng hoặc sai tương ứng trong các câu lệnh Pascal sau
Câu lệnh
Đúng
Sai
Sửa lại
Program Chuong trinh
x
Program Chuong trinh;
Const n:=10
x
Const n=10;
Var I,s : real;
x
Begin;
x
Begin
While i< n do;
x
While i< n do
Begin
x
S:=s+i
x
S:=s+i;
I =i+1;
x
I: =i+1;
End.
x
End;
Writeln(s);
x
Readln
x
End;
x
End.
Câu 23: (2đ) Viết chương trình tính tổng 50 số tự nhiên bằng vòng lặp Fortodo
program tinhtong;
uses crt;
Var
 i, n, s: integer;
Begin
clrscr;
write(‘Nhap n = ’); readln(n);
s:=0; i:=1
For i:= 1 to 50 do
Begin 
s:=s+i;
i:=i+1;
End;
Writeln (‘Tong s:’,s);
End.
Mã đề thi 357
Phần I: Trắc nghiệm: (5 điểm)
Câu 1: Phần mềm học vẽ hình là:
A. Finger Break Out	 B. Sun Times	C. Yenka	D. Geogebra
Câu 2: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng
A. While 1 = 1; do Writeln (‘Dung’) ;	B. While (n mod i 0) do i:= i+ 1 ;
C. While x<=y ; do Writeln (‘y khong nho hon x’) ;	D. While i:= 1 do t:=10
Câu 3: Cho đoạn chương trình sau hãy cho biết lệnh writeln in ra màn hình giá trị của j và k là bao nhiêu?
J:=2; k:=3
For i:=1 to 5 do j:=j+1;
K:=k+j;
Writeln (j, k);
A. j=7; k=28	B. j=5; k=15	C. J=3; k=6	D. j=2; k=3
Câu 4: Hãy tìm hiểu đoạn chương trình sau đây:
	x:= 0; tong:= 0;
	While tong <= 29 do
	Begin	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 29	B. 30	C. 0	D. 31
Câu 5: Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=0 to 10 do ..”
A. 12 lần	B. 13 lần	C. 11 lần	D. 10 lần
Câu 6: Câu lệnh pascal nào sau đây là hợp lệ:
A. For i:=1.5 to 10.5 do writeln(‘A’);	B. For i:= 1 to 10 do writeln(‘A’);
C. For i= 1 to 10 do writeln(‘A’)	D. For i:=10 to 1 do writeln(‘A’);
Câu 7: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 5 do s:= s+2;	writeln(s);
Kết quả in lên màn hình là của s là :
A. 10	B. 12	C. 55	D. 13
Câu 8: Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=1 to 5 do ..”
A. 5 lần	B. 3 lần	C. 4 lần	D. 6 lần
Câu 9: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy, mọi phần tử trong dãy đều có cùng một đặc điểm là:
A. Có giá trị hoàn toàn giống nhau;	B. Các phần tử của mảng đều có kiểu thực.
C. Cùng chung một kiểu dữ liệu;	D. Các phần tử của mảng đều có kiểu nguyên;
Câu 10: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
 s:=0;
 for i:=1 to 5 do s:= s+i;
 writeln(s);
 Kết quả in lên màn hình là :
A. s = 25	B. s = 5	C. s = 15	D. s = 35
Câu 11: 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à:
A. t=2	B. t=6	C. t=3	D. t=1
Câu 12: Khi thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i); sẽ viết ra màn hình:
A. Viết số 1 rồi viết số 3.5 B. Chỉ viết số 3.5 mà thôi
C. Giá trị biến đếm.	 D. Không thực hiện được vì giá trị cuối không phải là số nguyên.
Câu 13: Ñeå tính toång S=2 + 4 + 6  + n; em choïn ñoaïn leänh:
A. For i:=1 to n do S:= S + i ;	B. for i:=1 to n do if ( i mod 2)0 then S:=S + i;
C. For i:=1 to n doif ( 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 14: Hãy tìm hiểu đoạn chương trình sau đây: 
	x:= 0; tong:= 0;
	While tong <=10 do
	Begin
	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 11	B. 10	C. 11	D. 0
Câu 15: Đoạn lệnh sau đây: 
So : = 1;
While So < 20 do writeln(So); 
sẽ cho kết quả gì ?
A. In ra các số từ 1 đến 20;	B. In ra các số từ 1 đến 19;
C. In ra các số từ 1 đến 9;	D. In ra vô hạn các số 1, mỗi số viết trên một dòng;
Câu 16: 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?
A. Readln(A[i]);	B. Readln(A[k]);	C. Readln(A10);	D. Readln(A[10]);
Câu 17: 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ệ?
A. B[1]:= 8; B. readln(chieucao5); C. read(dayso[9]);	D. readln(chieucao[i]);
Câu 18: Vòng lặp while ..do 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 nhưng giới hạn là <=100
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
Câu 19: 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;
Câu 20: Cách khai báo mảng sau đây cách nào khai báo đúng?
A. var X : Array [1..10] of real;	B. var X : Array [3.4..4.8] of integer;
C. var X : Array [10.. 1] of integer;	D. var X : Array [10, 13] of integer;
Phần II: Tự luận (5 điểm)
Câu 21: (1,5ñ) Nêu cú pháp khai báo biến mảng trong Pascal? Nêu lợi ích.
Câu 22: (1,5 đ) Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần biết trước và lặp với số lần chưa biết trước.
Câu 23: (2đ) Viết chương trình tính tổng 50 số tự nhiên bằng vòng lặp Whiledo---------------------------
Đáp án + Biểu điểm
Phần I: (5 điểm) Mỗi ý đúng 0.25đ
Câu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ĐA
D
B
A
B
C
B
A
A
C
C
B
D
D
C
D
D
B
A
C
A
Phần II: (5 điểm)
Câu 21: (1.5 điểm) cú pháp khai báo biến mảng trong Pascal
var : array [ chỉ số đầu.. chỉ số cuối] of [kiểu dữ liệu];
Lợi ích chính của việc sử dụng biến mảng là rút gọn việc viết chương trình, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh. Ngoài ra chúng ta còn có thể lưu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả.
Câu 22: (1.5 điểm) sự khác biệt giữa câu lệnh lặp với số lần biết trước và lặp với số lần chưa biết trước.
- C©u lÖnh lÆp víi sè lÇn lÆp cho trưíc chØ thÞ cho m¸y tÝnh thùc hiÖn mét lÖnh hoÆc mét nhãm lÖnh víi sè lÇn ®· ®ưîc x¸c ®Þnh tõ trưíc, cßn víi c©u lÖnh lÆp víi sè lÇn lÆp cha biÕt trưíc th× sè lÇn lÆp chưa ®ưîc x¸c ®Þnh tríc. 
- Trong c©u lÖnh lÆp víi sè lÇn cho trưíc, ®iÒu kiÖn lµ gi¸ trÞ cña mét biÕn ®Õm cã gi¸ trÞ nguyªn ®· ®¹t ®ưîc gi¸ trÞ lín nhÊt hay chưa, cßn trong c©u lÖnh lÆp víi sè lÇn lÆp chưa biÕt trưíc, ®iÒu kiÖn tæng qu¸t h¬n nhiÒu, cã thÓ lµ kiÓm tra mét gi¸ trÞ cña mét sè thùc, còng cã thÓ lµ mét ®iÒu kiÖn tæng qu¸t kh¸c, vÝ dô như mét sè cã chia hÕt cho 3 hay kh«ng,... 
	- Trong c©u lÖnh lÆp víi sè lÇn cho trưíc, c©u lÖnh ®ưîc thùc hiÖn Ýt nhÊt mét lÇn, sau ®ã kiÓm tra ®iÒu kiÖn. Trong c©u lÖnh lÆp víi sè lÇn cha x¸c ®Þnh trưíc, trưíc hÕt ®iÒu kiÖn ®ưîc kiÓm tra. NÕu ®iÒu kiÖn ®ưîc tho¶ m·n, c©u lÖnh míi ®ưîc thùc hiÖn. Do ®ã cã thÓ cã trưêng hîp c©u lÖnh hoµn toµn kh«ng ®ưîc thùc hiÖn.
Câu 23: (2 điểm) Viết chương trình tính tổng 50 số tự nhiên bằng vòng lặp Whiledo
program tinhtong;
uses crt;
Var i, n, s: integer;
Begin
write(‘Nhap n = ’); readln(n);
s:=0; i:=1
While i<=50 do 
Begin 
s:=s+i;
i:=i+1;
End;
Writeln (‘Tong s:’,s);
End.
Mã đề thi 485
Phần I: Trắc nghiệm: (5 điểm)
Câu 1: 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ệ?
A. B[1]:= 8; B. readln(chieucao5); C. read(dayso[9]);	D. readln(chieucao[i]);
Câu 2: Hãy tìm hiểu đoạn chương trình sau đây: 
	x:= 0; tong:= 0;
	While tong <=10 do
	Begin
	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 11	B. 10	C. 11	D. 0
Câu 3: 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à:
A. t=2	B. t=6	C. t=3	D. t=1
Câu 4: 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?
A. Readln(A[i]);	B. Readln(A[k]);	C. Readln(A10);	D. Readln(A[10]);
Câu 5: Đoạn lệnh sau đây: 
So : = 1;
While So < 20 do writeln(So); 
sẽ cho kết quả gì ?
A. In ra các số từ 1 đến 20;	B. In ra vô hạn các số 1, mỗi số viết trên một dòng;
C. In ra các số từ 1 đến 19;	D. In ra các số từ 1 đến 9;
Câu 6: Vòng lặp while ..do là vòng lặp:
A. Biết trước số lần lặp	B. Biết trước số lần lặp nhưng giới hạn là <=100
C. Biết trước số lần lặp nhưng giới hạn là >=100	D. Chưa biết trước số lần lặp
Câu 7: Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=1 to 5 do ..”
A. 5 lần	B. 3 lần	C. 4 lần	D. 6 lần
Câu 8: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 5 do s:= s+2;	writeln(s);
Kết quả in lên màn hình là của s là :
A. 13	B. 55	C. 10	D. 12
Câu 9: Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
 s:=0;
 for i:=1 to 5 do s:= s+i;
 writeln(s);
 Kết quả in lên màn hình là :
A. s = 25	B. s = 5	C. s = 15	D. s = 35
Câu 10: Khi thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i); sẽ viết ra màn hình:
A. Giá trị biến đếm.	B. Chỉ viết số 3.5 mà thôi
C. Viết số 1 rồi viết số 3.5 D. Không thực hiện được vì giá trị cuối không phải là số nguyên.
Câu 11: Hãy tìm hiểu đoạn chương trình sau đây:
	x:= 0; tong:= 0;
	While tong <= 29 do
	Begin	Tong:= tong + 1;
	Writeln (tong);
	End;
	x:= tong;
Sau khi đọan chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
A. 30	B. 29	C. 0	D. 31
Câu 12: Ñeå tính toång S=2 + 4 + 6  + n; em choïn ñoaïn leänh:
A. For i:=1 to n do S:= S + i ;	B. For i:=1 to n do if ( i mod 2)=0 then 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 13: Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=0 to 10 do ..”
A. 13 lần	B. 10 lần	C. 12 lần	D. 11 lần
Câu 14: Cho đoạn chương trình sau hãy cho biết lệnh writeln in ra màn hình giá trị của j và k là bao nhiêu?
J:=2; k:=3
For i:=1 to 5 do j:=j+1;
K:=k+j;
Writeln (j, k);
A. j=7; k=28	B. j=5; k=15	C. J=3; k=6	D. j=2; k=3
Câu 15: Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử được sắp xếp theo dãy, m

File đính kèm:

  • docde_thi_hoc_ky_ii_mon_tin_hoc_lop_8_nam_hoc_2016_2017_truong.doc