10 đề thi học kỳ 2 môn tin 8 có đáp án

10 đề thi học kỳ 2 môn tin 8 có đáp án

4.2/5

Tác giả: Thầy Tùng

Đăng ngày: 22 Aug 2022

Lưu về Facebook:
Hình minh họa 10 đề thi học kỳ 2 môn tin 8 có đáp án

Công thức toán học không thể tải, để xem trọn bộ tài liệu hoặc in ra làm bài tập, hãy tải file word về máy bạn nhé

thuvienhoclieu.com

ĐỀ 1

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

* Phần 1: TNKQ (3,0 điểm)

Hãy lựa chọn chữ cái đứng trước câu trả lời mà em cho là đúng từ câu 1 đến 4 (Mỗi câu đúng được 0,5 điểm)

Câu 1: Lệnh lặp nào sau đây là đúng?

A. For i := 100 to 1 do writeln('A');

C. For i = 1 to 10 do writeln('A');

B. For i := 1.5 to 10.5 do writeln('A');

D. For i := 1 to 100 do writeln('A');

Câu 2: Câu lệnh lặp while…do nào dưới đây là đúng:

A. While i <= 10 do S := S+1/i;

C. While i :<= 10 do S := S+1/i;

B. While i <> 1 do S = S+1/i;

D. While i := 10 do S = S+1/i;

Câu 3: Các khai báo biến mảng sau khai báo biến mảng nào đúng:

A. Var x: array[1…100] of integer;

C. Var x: array[1.5..10.5] of integer;

B. Var x: array[1..100] of integer;

D. Var x: array[1..100] integer ;

Câu 4: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:

A. Chỉ số đầu và chỉ số cuối là 2 số nguyên.

B. Chỉ số đầu nhỏ hơn chỉ số cuối.

C. Kiểu dữ liệu có thể là integer hoặc real.

D. Cả ba ý trên.

Câu 5 (1,0 điểm): Cho đoạn chương trình sau:

S:=0;

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

Sau khi thực hiện lệnh trên giá trị của biến S và i là:

A. S=10; i=5 B. S=5; i= 10

C. S=15; i= 5 D. S=15; i=10

* Phần 2: Tự luận (7,0 điểm):

Câu 6 (4,0 điểm): Chương trình sau. Hãy tìm những lỗi sai và sửa lại cho đúng.

Program H C_N;

Uses Crt;

Var a,b,s,cv:= real;

Begin

While('Nhap chieu dai='); readln(a);

Write('Nhap chieu rong=');readln();

s=axb;

cv:(a+b):2;

Writeln('Dien tich hinh chu nhat la:’,s:6:2);

Writeln('Chu vi hinh chu nhat:',cv:6:2);

Readln;

End.

Câu 7 (2,0 điểm): Cho đoạn chương trình:

S: =0 ; n:= 0;

While S < = 6 do

Begin

n:= n+1;

S:= S+ n ;

End;

Cho biết giá trị của biến S và n sau khi thực hiện đoạn chương trình trên

Câu 8 (1,0 điểm): Em hãy viết câu lệnh lặp hiển thị lên màn hình 5 chữ A.

ĐÁP ÁN VÀ THANG ĐIỂM:

Câu

Nội dung kiến thức cần đạt

Điểm

Trắc nghiệm khách quan (3,0 điểm)

1

D

0,5

2

A

0,5

3

B

0,5

4

D

0,5

5

C

1,0

Tự luận (7,0 điểm)

6

Lỗi sai

Sửa lại

Program H C_N;

Program H_C_N;

Var a,b,s,cv:= real;

Var a,b,s,cv:real;

While('Nhap chieu dai=');

Write('Nhap chieu dai=');

readln();

readln(b);

s=axb;

S:=a*b;

cv:(a+b):2;

cv:=(a+b)*2;

0,5

0,5

0,5

0,5

1,0

1,0

7

Sau khi thực hiện đoạn chương trình trên, giá trị của các biến là:

S= 10

n=4

1,0

1,0

8

Lệnh in ra màn hình 5 chữ A

For i:=1 to 5 do Writeln(‘A’);

1,0

thuvienhoclieu.com

ĐỀ 2

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I - PHẦN TRẮC NGHIỆM KHÁCH QUAN : ( 3.5 đ )

Thí sinh chọn chữ cái chỉ kết quả mà em chọn là đúng và ghi vào tờ giấy làm bài.

Caừu 1: Caừu leọnh laởp while…do coự daựng ủuựng laứ:

A) While <ủieàu kieọn> do; <caừu leọnh>; B) While <ủieàu kieọn> <caừu leọnh> do;

C) While <caừu leọnh> do <ủieàu kieọn>; D) While <ủieàu kieọn> do <caừu leọnh>;

Cừu 2 : Húy cho biết số lần lặp của cừu lệnh for sau đőy: “for i:=1 to 12 do …..”

A. 13 lần B. 12 lần C. 11 lần D. 10 lần

Caừu 3: Thửực hieọn ủoaựn leọnh sau, x nhaọn giaự trũ bao nhieừu:

x:=7; if (x mod 3 = 2) then x:= x +1;

a) x=7 b)x=8 c) x=0 d) x=10

Caừu 4: ẹeồ tớnh toồng S=2 + 4 + 6 + … + n; em choựn ủoaựn leọnh:

a) for i:=1 to n do b) for i:=1 to n do

S:= S + i ; if ( i mod 2=1) then S:=S + i;

c) for i:=1 to n do d) for i:=1 to n do

if ( i mod 2<>0) then S:=S + i; if ( i mod 2=0) then S:=S + i;

Caừu 5: Cấu trỳc rẽ nhỏnh dạng đầy đủ trong ngụn ngữ lập trỡnh Pascal cỳ dạng:

A. if <câu lệnh 1> then <câu lệnh 2>;

B. if <điều kiện1> then <câu lệnh1>;

C. if <điều kiện> then < câu lệnh 1> else <câu lệnh 2>;

D. if <điều kiện> then <câu lệnh>;

Caâu 6: Ñeå tính toång S=1/1+1/2 +1/3 + 1/4 + … +1/n; em choïn ñoaïn leänh:

a)for i:=1 to n do

if ( i mod 2=0) then S:=S + 1/i;

b)for i:=1 to n do

if ( i mod 2=0) then S:=S + i
Else S:= S + I;

c)for i:=1 to n do

S:=S + 1/i;

d)for i:=1 to n do

if ( i mod 2<>0) then S:=S + 1/i

Else S:=S-1/i;

Caâu 7: Sau khi thöïc hieän chöông trình j:= 1; for i:= 1 to 3 do j:=j+2; thì giaù trò j in ra maøn hình laø?

a) 10 b) 6 c) 8 d)7

Câu 8: 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;

Caâu 9: Choïn khai baùo hôp leä

a) Var n: real;

Var a,b: array[1:n] of real;

c) Const n=5;

Var a,b: array[1..n] of real;

b) Var a,b: array[100..1] of real;

d) Var a,b: array[1.5..10.5] of real;

Caâu 10: Laàn löôït thöïc hieän ñoaïn leänh: a[1]:=2; a[2]:=3; t:=(a[1]+a[2])*2+1; Giaù trò cuûa t laø

a) t=1 b) t=11 c) t=10 d) t=6

Câu 11: Dòng lệnh : For i:=0 to 1 do writeln('xx') sẽ :

A. Chép ra hai hàng chứa kí tự "xx" B. Chép ra một hàng chứa kí tự "xx"

C. Chép ra ba hàng chứa kí tự "xx" D. Chép ra một hàng chứa kí tự "xxxx"

Câu 12: Trong các câu lệnh Pascal sau, câu nào được viết đúng:

A. if x:=5 then; a=b B. if; x>5 then a:=b

C. if x>5; then a:=b D. if x>5 then a:=b else b:=a;

Caâu 13: Tính giá trị của tong khi thực hiện đoạn chương trình

tong:=0; While tong<=20 do tong:=tong+5;

a. 20 b. 25 c. 0 d. Không xác định được

Caâu 14: Đoạn lệnh sau đây:

so:=1; while so<=10 do write(so); so:=so+1;

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 d. Không phương án nào đúng

II - PHẦN TỰ LUẬN : (6.5 đ)

Câu 1. Mỗi câu lệnh dưới đây, giá trị của biến x sẽ là bao nhiêu, nếu trước đó giá trị của x:=5 (2 đ)

a. If (x mod 3=2) then x:=x+2;

X=

b. If (x mod 3=0) or (x>=5) then x:=x*2;

X=

c. If (x mod 2=1) and (x>10) then x:=0;

X=

d. If x<10 then x:=x;

X=

Caâu 2. Haõy chæ ra loãi cuûa ñoaïn chöông trình sau, sửa lại thành chương trình hoàn chỉnh: (2,5ñ)

Use Crt;

Var i, n : integer

Tong = longint;

Begin

Clrscr;

i=0; tong:=0;

While i:=10 do

Begin

If( i mod 4) = 0 then

tong:=tong+i;

i=i+1;

End.

Writeln(Tong so chia het cho 4:,tong);

Readln;

End;

Câu 3: Viết chương trình s= 1 + 3 + 5 + ... + n (bằng while..do) (2đ)

thuvienhoclieu.com

ĐỀ 3

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I - PHẦN TRẮC NGHIỆM KHÁCH QUAN : ( 3.5 đ )

Thí sinh chọn chữ cái chỉ kết quả mà em chọn là đúng và ghi vào tờ giấy làm bài.

Câu 1: Lệnh lặp nào sau đây là đúng?

  1. For <biến đếm>= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
  2. For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
  3. For <biến đếm>:= <giá trị cuối> to <giá trị đầu> do <câu lệnh>;
  4. For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>;

Câu 2: Ñeå tính toång S=1 + 3 + 5 + … + 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=1) then S:=S + i;

c)for i:=1 to n do

if ( i mod 2<>0) then S:=S + 1;

d)for i:=1 to n do

if ( i mod 2=0) then S:=S + i;

Câu 3: Giá trị của S khi thực hiện đoạn chương trình sau, sẽ là:

S:=0; While s<=6 do s:=s+2;

a) 4 b)8

c) 6 d) Không xác định

Câu 4: i:=1; j:= 2;

while i<=3 do i:=i+2; j:=j+i;

Sau đoạn trên, giá trị của i sẽ bằng

a.3 b.5 c.8 d.Giá trị khác

Sau đoạn trên, giá trị của j sẽ bằng

a.3 b.5 c.7 d.9

Câu 5: Lệnh sau đây lặp bao nhiêu lần? for i:= 0 to 11 do write(‘A’);

a. 0 lần b. 10 lần c. 11 lần d. 12 lần

Caâu 6. Chọn khai báo hơp lệ:

a) Var n: real;

Var a,b: array[1..n] of real;

c) Const n=5;

Var a,b: array[1..n] of real;

b) Var a,b: array[100..1] of real;

d) Var a,b: array[1.5..10.5] of real;

Câu 7: 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 8: Dòng lệnh : For i:=0 to 1 do write('00') sẽ :

A. Chép ra hai hàng chứa kí tự "00" B. Chép ra một hàng chứa kí tự "00"

C. Chép ra ba hàng chứa kí tự "00" D. Chép ra một hàng chứa kí tự "0000"

Câu 9: Trong các câu lệnh Pascal sau, câu nào được viết đúng:

A. if x>5 then a:=b else b:=a; B. if; x>5 then a:=b

C. if x>5; then a:=b D. if x:=5 then; a=b

Câu 10: Câu lệnh lặp while…do có dạng đúng là:

A) While <điều kiện> do; <câu lệnh>; B) While <điều kiện> <câu lệnh> do;

C) While <điều kiện> do <câu lệnh>; D) While <câu lệnh> do <điều kiện>;

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])*2; Giá trị của t là

a) t=1 b) t=11 c) t=10 d) t=6

Câu 12: Để tính tổng S=1/2 + 1/4 + … +1/ n; em chọn đoạn lệnh:

a) for i:=1 to n do

if ( i mod 2=0) then S:=S + 1/i;

b) for i:=1 to n do

if ( i mod 2=1) then S:=S + 1/i;

c) for i:=1 to n do

if ( i mod 2=1) then S:=S + 1/i
Else S:= S + 1;

d) for i:=1 to n do

if ( i mod 2=0) then S:=S + 1/i
Else S:= S + 1;

Cu 13: Thực hiện đoạn lệnh sau, x nhận giá trị bao nhiêu:

x:=7; if (x mod 3 = 2) then x:= x +1;

a) x=7 b)x=8 c) x=0 d) x=10

II - PHẦN TỰ LUẬN : ( 6.5 đ)

Câu 1 Cho x :=1; Hãy tính giá trị của x khi thực hiện các lệnh (2đ)

Lệnh

Kết quả của x

a. If (1+2=3) then x:=x+1

b. If (1+1=3) or (2+2=3) then x:=x+2

c. If (2+3=5) and (3+4=7) then x:=x*3

e. If (45 mod 3=0) then x:=x+1;

x =

x =

x =

x =

Câu 2. Hãy chỉ ra lỗi của đoạn chương trình sau, sửa lại thành chương trình hoàn chỉnh: (2.5đ)

Uses Rct;

Var i, n : interger;

Tong : longint

Begin

Clrscr;

tong=0;

For i=1 to 10 do

Begin

If( i mod 4) = 0 then

tong=tong+i;

End.

Writeln(Tong so chia het cho 4:,tong);

Readln;

End;

Câu 3: Viết chương trình s= 2 + 4 + 6 + ... + n (bằng while..do)

thuvienhoclieu.com

ĐỀ 3

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I - PHẦN TRẮC NGHIỆM KHÁCH QUAN : ( 3.5 đ )

1

2

3

4

5

6

7

8

9

10

11

12

13

14

d

b

a

d

c

c

d

d

c

b

a

d

b

c

II - PHẦN TỰ LUẬN : (6.5 đ)

Caâu 1. Mỗi câu lệnh dưới đây, giá trị của biến x sẽ là bao nhiêu, nếu trước đó giá trị của x:= 5 (2 đ)

a. If (x mod 3=2) then x:=x+2;

X=7

b. If (x mod 3=0) or (x>=5) then x:=x*2;

X=10

c. If (x mod 2=1) and (x>10) then x:=0;

X=0

d. If x<10 then x:=x;

X=5

Caâu 2. Haõy chæ ra loãi cuûa ñoaïn chöông trình sau, sửa lại thành chương trình hoàn chỉnh: (2,5ñ)

Use Crt;

Uses Crt;

Var i, n : integer

Var i, n : integer;

Tong = longint;

Tong : longint;

Begin

Begin

Clrscr;

Clrscr;

i=0; tong:=0;

i:=0; tong:=0;

While i:=10 do

While i<=10 do

Begin

Begin

If( i mod 4) = 0 then

If( i mod 4 = 0) then

tong:=tong+i;

tong:=tong+i;

i=i+1;

i:=i+1;

End.

End;

Writeln(Tong so chia het cho 4:,tong);

Writeln(‘Tong so chia het cho 4:’,tong);

Readln;

Readln;

End;

End.

Câu 3: Viết chương trình s= 1 + 3 + 5 + ... + n (bằng while..do)

Uses crt;

Var n,i : integer;

S : real;

Begin

Writeln(‘hay nhap n:’);

Readln(n);

S:=0;

i:=1;

While i<=n do

Begin s:=s+i;

i:=i+2;

end;

writeln(‘tong s la:’, s);

readln;

end.

thuvienhoclieu.com

ĐỀ 4

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I - PHẦN TRẮC NGHIỆM KHÁCH QUAN : ( 3.5 đ )

1

2

3

4i

4j

5

6

7

8

9

10

11

12

13

b

B

b

B

c

d

c

d

d

a

c

c

a

a

II - PHẦN TỰ LUẬN : ( 6.5 đ)

Câu 1 Cho x :=1; Hãy tính giá trị của x khi thực hiện các lệnh (2đ)

Lệnh

Kết quả của x

a. If (1+2=3) then x:=x+1

b. If (1+1=3) or (2+2=3) then x:=x+2

c. If (2+3=5) and (3+4=7) then x:=x*3

e. If (45 mod 3=0) then x:=x+1;

x =2

x =1

x = 3

x = 2

Caâu 2. Haõy chæ ra loãi cuûa ñoaïn chöông trình sau, sửa lại thành chương trình hoàn chỉnh: (2.5ñ)

Uses Rct;

Uses crt;

Var i, n : interger;

Var i, n : integer;

Tong : longint

Tong : longint;

Begin

Begin

Clrscr;

Clrscr;

tong=0;

Tong:=0;

For i=1 to 10 do

For i:=1 to 10 do

Begin

Begin

If( i mod 4) = 0 then

If( i mod 4 = 0) then

tong=tong+i;

Tong:=tong+i;

End.

End;

Writeln(Tong so chia het cho 4:,tong);

Writeln(‘Tong so chia het cho 4:’,tong);

Readln;

Readln;

End;

End.

Câu 3: Viết chương trình s= 2 + 4 + 6 + ... + n (bằng while..do)

Uses crt;

Var n,i : integer;

S : real;

Begin

Writeln(‘hay nhap n:’);

Readln(n);

S:=0;

i:=2;

While i<=n do

Begin s:=s+i;

i:=i+2;

end;

writeln(‘tong s la:’, s);

readln;

end.

thuvienhoclieu.com

ĐỀ 5

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I. TRẮC NGHIỆM (5 điểm)

Chọn phương án trả lời đúng nhất (A, B, C hoặc D) cho các câu sau và ghi vào giấy bài làm.

Câu 1: Ví dụ nào sau đây thể hiện cấu trúc lặp với số lần biết trước?

A. Hàng ngày em đi học B. Em bị ốm

C. Đến nhà bà ngoại chơi vào một hôm cả bố và mẹ đi vắng D. Ngày đánh răng ba lần

Câu 2: Cú pháp đúng của câu lệnh lặp là cú pháp nào?

A. For <biến đếm>= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

B. For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

C. For <biến đếm>:= <giá trị cuối> 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 3: Trong câu lệnh lặp For i:=1 to 10 do begin...end; câu lệnh ghép được thực hiện bao nhiêu lần?

A. Không lần nào B. 1 lần C. 2 lần D. 10 lần

Câu 4: Sau khi thực hiện đoạn chương trình sau: s:=1; for i:= 1 to 4 do s:= s*i;

Giá trị của biến s bằng bao nhiêu?

A. 6 B. 10 C. 20 D. 24

Câu 5: Lệnh lặp for..to..do của Pascal trong mỗi vòng lặp, biến đếm thay đổi như thế nào?

A. Tăng thêm 1 đơn vị; B. +1 hoặc -1;

C. Giá trị bất kì; D. Một giá trị khác 0;

Câu 6: Trang học cho tới khi nào thuộc bài là hoạt động lặp nào?

A. Lặp với số lần biết trước. B. Không có hoạt động lặp.

C. Lặp với số lần chưa biết trước. D. Lặp vô hạn.

Câu 7: Cú pháp của câu lệnh While…do là:

A. While <điều kiện> to <câu lệnh>;

B. While <điều kiện> to <câu lệnh1> do <câu lệnh 2>;

C. While <điều kiện> do <câu lệnh>;

D. While <điều kiện>; do <câu lệnh>;

Câu 8: While S<=20 do Writeln(S); Điều kiện để dừng chương trình là

A. S>20 B. S=20 C. S<>20 D. S<20

Câu 9: Trong các câu lệnh lặp Pascal sau đây, câu nào chương trình không báo lỗi?

A. While i:= 1 do t:=10;

B. While x<=y to 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 10: Việc đầu tiên câu lệnh While cần thực hiện là gì?

  1. Thực hiện <câu lệnh> sau từ khóa Do.
  2. Kiểm tra giá trị của <điều kiện>.
  3. Thực hiện < câu lệnh > sau từ khóa Then.
  4. Kiểm tra <câu lệnh>.

II. TỰ LUẬN (5 điểm)

Câu 1 (2 điểm): Hãy tính số vòng lặp của các câu lệnh dưới đây?

a) for i:=1 to 100 do writeln(‘A’);

b) for i:=5 to 10 do writeln(‘A’);

c) S:=0; n:=0;

While S<=10 do

Begin n:=n+1; S:=S+n; end;

d) S:=1; n:=0;

While S<5 do

Begin n:=S+n; S:=S+1; end;

Câu 2 (1 điểm): Hãy sửa lại các câu sau cho đúng

a) For i:=1.5 to 15.5 do writeln(‘A’);

b) For i:=1 to 10 do; writeln(‘A’);

Câu 3 (1 điểm): Sau khi chạy chương trình dưới đây kết quả in ra màn hình sẽ là gì?

Câu 4 (1 điểm): Viết chương trình nhập n số nguyên từ bàn phím. In các số lẻ ra màn hình (Sử dụng câu lệnh lặp với số lần biết trước).

……………….. Hết ………………….

ĐÁP ÁN

I. TRẮC NGHIỆM (5,0 điểm)

Mỗi câu đúng 0,5 điểm

CÂU

1

2

3

4

5

6

7

8

9

10

ĐÁP ÁN

D

B

D

D

A

C

C

A

D

B

II. TỰ LUẬN (5,0 điểm)

Câu

Điểm

1

(2,0đ)

  1. Số vòng lặp: 100
  2. Số vòng lặp: 6
  3. Số vòng lặp: 10
  4. Số vòng lặp: 5

0,5

0,5

0,5

0,5

2

(1,0đ)

- Giá trị đầu, giá trị cuối phải là các giá trị nguyên.

- Thừa dấu hai chấm sau từ khóa Do.

0,5

0,5

3

(1,0đ)

Chương trình sẽ in ra các số từ 1 đến 5

Kết quả của chương trình là:1 2 3 4 5

1

4

(1,0đ)

Program in_so_le;

Uses crt;

Var n,i: integer;

Begin

Clrscr;

Writeln(‘ nhap vao so nguyen n=’); readln(n);

For i:=1 to n do if i mod 2 = 1 then

Write(i,’ ’);

Readln

End.

0,25

0,25

0,25

0,25

  • Cú pháp câu lệnh lặp While... do...là :

While <điều kiện> do <Câu lệnh>; (1 đ)

  • Cách thực hiện lệnh của Câu lệnh lặp While... do... :

Bước 1: Kiểm tra <điều kiện>. (1 đ)

Bước 2: Nếu <điều kiện> sai, <Câu lệnh> sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu <điều kiện> đúng, máy sẽ thực hiện <Câu lệnh> và quay lại bước 1.

I. Lý thuyết:

Câu 1: (4 điểm) 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à lệnh lặp với số lần biết trước? Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp chưa biết trước và câu lệnh lặp với số lần lặp biết trước?

Câu 2: (1 điểm) Cho biết cú pháp khai báo biến mảng? Cho ít nhất ba ví dụ?

II. Thực hành:

Câu 3: (5 điểm) Sử dụng Free Pascal viết chương trình Pascal sử dụng biến mảng để nhập từ bàn phím các phần tử là các điểm của các bạn trong lớp, xét và in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá?

........................Hết.......................

ĐÁP ÁN

I. Lý thuyết:

Câu

Nội dung

Điểm

1

*Cú pháp của câu lệnh lặp với số lần lặp chưa biết trước:

While <điều kiện> do <câu lệnh>;

*Cú pháp của câu lệnh lặp với số lần lặp biết trước:

For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;

* Sự khác nhau:

Lặp với số lần lặp biết 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 đã xác định trước.

- Điều kiện là giá trị của biến đếm có giá trị nguyên đã đạt giá trị lớn nhất hay chưa.

- Câu lệnh được thực hiện ít nhất một lần, sau đó kiểm tra điều kiện.

Lặp với số lần lặp chưa biết 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 chưa được xác định trước.

- Điều kiện tổng quát hơn, 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 khác.

- Trước hết điều kiện được kiểm tra. Nếu câu lệnh thỏa mản điều kiện mới thực hiện

1

1

2

2

Cú pháp:

Var<tên biến mảng>: array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;

VD: var A: array[1..50] of real;

var Chieu_cao: array[1..50] of real;

var Diem: array[1..50] of integer;

0,5

0,5

II. Thực hành:

Câu

Nội dung

Điểm

3

Program HS_Kha_Gioi;

Uses crt;

Var i, n, Gioi, Kha: integer;

A: array[1..100] of real;

Begin

Clrscr;

Write(‘Nhap so cac ban trong lop, n=: ’); Readln(n);

For i:=1 to n do Begin write(i,’:’); readln(a[i]); end;

Gioi:=0; Kha:=0;

For i:= 1 to n do

Begin

If a[i] >= 8.0 then Gioi:=Gioi+1;

If (a[i]>=6.5) and (a[i]<=8) then Kha:=Kha+1;

End;

Write(' Ket qua so ban dat HSG, HSK nhu sau:’ );

Write(Gioi,’ban hoc gioi’);

Write(Kha,’ban hoc kha’ );

Readln;

End.

0,5

0,25

0,5

1

0,5

0,25

0,5

0,5

0,5

0,5

Câu

Nội dung

Điểm

2

0,5

0,25

0,5

1

0,5

0,25

0,5

0,5

0,5

0,5

thuvienhoclieu.com

ĐỀ 6

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I.Trắc nghiệm (5 điểm) chọn đáp án đúng.

Câu 1. Số lần lặp trong câu lệnh lặp với số lần biết trước được xác định bằng?

A. Giá trị cuối - giá trị đầu -1 B. Giá trị cuối + giá trị đầu +1

C. Giá trị cuối - giá trị đầu +1 D. Giá trị cuối + giá trị đầu -1

Câu 2. Trong ngôn ngữ lập trình Pascal, cấu trúc câu lệnh lặp nào sau đây đúng?

A. For i:=1 to 38 do writeln(‘A’); A. For i:=38 to 1 do writeln(‘A’);

A. For i:1 to 38 do writeln(‘A’); A. For i=1 to 38 do writeln(‘A’);

Câu 3. Sau khi thực hiện chương trình dưới đây, giá trị của biến j bằng bao nhiêu?

j:= 1;

for i:= 0 to 10 do j:= j+1;

  1. 12; B. 13; C. 11; D. 14;

Câu 4. Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:

  1. Chỉ số đầu > chỉ số cuối;
  2. Chỉ số đầu chỉ số cuối;
  3. Kiểu dữ liệu chỉ có thể là real;
  4. Cả ba ý trên đều đúng;

Câu 5. Cú pháp đầy đủ của câu lệnh While … do là:

  1. While <câu lệnh> do <điều kiện>;
  2. While <điều kiện>; <câu lệnh>;
  3. While <điều kiện> to <câu lênh> do;
  4. While <điều kiện> do <câu lệnh>;

Câu 6: Trong câu lệnh lặp: j:=0; For i := 4 to 10 do begin j:= j + 2; write( j ); end;

Khi kết thúc câu lệnh lặp trên, giá trị j bằng bao nhiêu?

A. 2 B. 14 C. 12 D. 10

Câu 7. Hãy cho biết chương trình dưới đây sẽ thực hiện bao nhiêu vòng lặp khi thực hiện đoạn chương trình ? n:=10; T:=100;

While n>10 do n:=n+5; T:=T - n;

  1. 0 B. 4 C. 6 D. 10

Câu 8: Chỉ ra cú pháp khai báo biến mảng đúng trong Turbo Pascal:

A. Var <tên biến>: array[<số phần tử>] of <kiểu dữ liệu>;

B. Var <tên biến>: array[<chỉ số đầu>..<chỉ số cuối>]: <kiểu dữ liệu>;

C. Var <tên biến>: array[<chỉ số đầu>:<chỉ số cuối>]: <kiểu dữ liệu>;

D. Var <tên biến>: array[<chỉ số đầu>..<chỉ số cuối>]of <kiểu dữ liệu>;

Câu 9: Các phần tử của mảng:

A. Phải là số nguyên. B. Phải có giá trị như nhau.

C. Phải cùng kiểu dữ liệu. D. Có thể cùng kiểu hoặc khác kiểu dữ liệu.

Câu 10. Trong Pascal, câu lệnh nào sau đây được viết đúng?

A. Var soluong: array [1..40] of Integer; B. Var soluong: array [40..1] of Integer;

C. Var soluong: array [1..40,8] of Real; D. Var soluong: array [1..40] of Real;

II. Tự luận (5,0 điểm)

Câu 1. (2 điểm) Viết cú pháp, vẽ sơ đồ và nêu hoạt động câu lệnh lặp với số lần chưa biết trước?

Câu 2: (3 điểm): Cho chương trình sau:

  1. Đối với từng đoạn chương trình Pascal sau đây, hãy cho biết lệnh writeln (j,k) in ra màn hình giá trị của j, k là bao nhiêu?

j:=2; k:=3;

for i:=1 to 5 do j:=j+2;

k:=k+j;

writeln(j,k);

  1. Đối với từng đoạn chương trình Pascal sau đây, hãy cho biếtcõ bao nhiêu vòng lặp và lệnh writeln (s) in ra màn hình giá trị của s là bao nhiêu?

S:=20; n:=0;

While S > 5 do

Begin

n:=n+3;

S:=S -n;

End;

writeln(S);

ĐÁP ÁN

I. Trắc nghiệm: ( 5 điểm)

Mỗi ý đúng được 0,5 điểm

Câu

Đ.án

C

A

A

B

D

B

A

D

C

A

II.Tự luận: (5 điểm)

Câu 1. Cú pháp lệnh lặp với số lần chưa biết trước: (0,5 điểm)

While (điều kiện) Do (câu lệnh);

Sơ đồ hoạt động câu lệnh: (0,5 điểm)

+ Hoạt động: (1 điểm)

- B1. Kiểm tra điều kiện.

- B2. Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện câu lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại B1

Câu 2: a . j= 12 và k=15 (1,5 điểm)

b. đoạn lệnh sau khi thực hiện 3 vòng lặp và s= 2 (1,5 điểm)

thuvienhoclieu.com

ĐỀ 7

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

A. TRẮC NGHIỆM: (4 điểm)

(Khoanh tròn vào đáp án đúng, nếu sai đánh chéo và khoanh lại đáp án khác)

1. Phần mềm Microsoft Word dùng để:

a) Soạn thảo văn bản. b) Luyện tập chuột.

c) Học gõ 10 ngón. d) Tính toán.

2. Để in bản ta sử dụng nút lệnh:

a) Nút lệnh New b) Nút lệnh Open

c) Nút lệnh Save d) Nút lệnh Print

3. Để xóa một hàng trong bảng ta thực hiện:

a) Table 🡪 Delete 🡪 Rows. b) Table 🡪 Delete 🡪 Columns.

c) Table 🡪 Delete 🡪 Table. d) Table 🡪 Delete 🡪 Cells…

4. Trong các ô dưới đây, ô nào không dùng để dặt lề trang:

a) Ô Left. b) Ô Portrait. c) Ô Top. d) Ô Right.

5. Để xoá các ký tự bên phải con trỏ soạn thảo thì nhấn phím?

A. End. B. Home. C. Delete. D. Backspace

6. Để xem văn bản trên màn hình trước khi in, ta dùng nút lệnh nào?

A B. C. D.

7. Em có thể sử dụng nút lệnh nào dưới đây để tạo bảng trong văn bản?

a) b) c) d)

8. Phần mềm soạn thảo văn bản Microsoft Word do hãng phần mềm sản xuất nào?

a) IBM b) AC Soft c) Microsoft d) software

B. PHẦN TỰ LUẬN: (6đ)

1. Các nút lệnh dưới đây dùng để làm gì? (2đ)

a/ :

b/ :

c/ :

d/ :

câu 2: Thao tác tạo khung cho đoạn văn bản? (1đ)

câu 3: Nêu các bước sao chép văn bản ?(1đ)

câu 4: Nêu sự giống và khác nhau về chức năng giữa phím Backspace và phím Delete. (2đ)

ĐÁP ÁN:

  1. TRẮC NGHIỆM: (3đ)

Câu

1

2

3

4

5

6

7

8

9

10

11

12

Đáp án

A

D

D

A

C

B

B

C

C

A

B

C

  1. PHẦN TỰ LUẬN: (7đ)

Câu 1.

a/ : Dán văn bản ( paste). (0.5đ)

b/ : Định dạng cỡ chữ. (0.5đ)

c/ : Định dạng kiểu chữ (0.5đ)

d/ : Mở văn bản (open). (0.5đ)

Câu 2:

B1- Chọn đoạn văn bản cần đóng khung

B2- Nháy Format→ Border and Shading - Chọn thẻ Borders

+ Chọn kiểu nét trong Style

+ Chọn màu tô và độ dày nét đường tại ColorWidth

+ Chọn các kiểu tô trong Setting (Box, Grid, Custom …)

+ Chọn xóa hay vẽ lại một số nét tương ứng tại Preview

B3- Nháy OK

Câu 3: B1: Chọn phần văn bản muốn sao chép và nháy nút Copy.

B2: Đưa con trỏ soạn thảo tới vị trí cần sao chép và nháy nút Paste.

Câu 4:

Giống nhau: Đều thực hiện chức năng là xóa kí tự. ( 0.5đ)

Khác nhau: Phím Delete: xóa được kí tự con trỏ soạn thảo đến cuối văn bản. ( 0.25đ)

Phím Backspace: Xóa kí tự con trỏ soạn thảo trở về trước. ( 0.25đ)

thuvienhoclieu.com

ĐỀ 8

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I. TRẮC NGHIỆM (5 điểm). Thời gian 15 phút

Khoanh tròn vào chữ cái đứng trước ý trả lời đúng.

Câu 1. Trong Pascal, câu lệnh nào sau đây được viết đúng?

A. for i:= 4 to 1 do writeln(‘A’); B. for i= 1 to 10 writeln(‘A’);

C. for i:= 1 to 10 do writeln(‘A’); D. for i:=1 to 10 do; writeln(‘A’);

Câu 2. Cho đoạn chương trình Pascal sau:

For i := 1 to 10 do j:= j + 2; write( j );

Trong đoạn chương trình trên, câu lệnh “ write( j ); ” được thực hiện bao nhiêu lần?

A. 1 lần B. 5 lần C. 10 lần D. Không thực hiện.

Câu 3. Cho đoạn chương trình: J:= 0;

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

Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu?

A. 12 B. 15 C. 22 D. 42.

Câu 4. Hoạt động nào sau đây biết trước được số lần lặp?

A. Múc từng gáo nước đến đầy bể. B. Đi lên tầng, đến tầng 10 thì dừng.

C. Học cho tới khi thuộc bài. D. Nhặt từng cọng rau cho tới khi xong.

Câu 5: Câu lệnh viết đúng cú pháp là:

A. While <điều kiện> to <câu lệnh>; B. While <điều kiện> do <câu lệnh>;

C. While <điều kiện> to <câu lệnh1> do; D. While <điều kiện>; do <câu lệnh>;

Câu 6: Cho đoạn chương trình Pascal sau:

x:= 10;

While x>5 do x:=x-1;

Theo em, câu lệnh lặp sẽ được thực hiện bao nhiêu lần?

A. 3 lần B. 4 lần C. 5 lần D. 6 lần

Câu 7: Cho đoạn chương trình sau:

S:=10

While S<20 do S:=S+2;

Writeln(S);

Điều kiện để kết thúc câu lệnh lặp là:

A. S>20 B. S<20 C.S<>20 D. S=20

Câu 8: Đoạn lệnh sau đây sẽ cho kết quả gì?

so:=1;

While so < 10 do begin

writeln(so);

so:=so + 1;

end;

A. In ra các số từ 1 đến 10, mỗi số trên 1 dòng;

B. In ra các số từ 1 đến 10 trên 1 dòng;

C. In ra các số từ 1 đến 9 trên 1 dòng.

D. In ra các số từ 1 đến 9, mỗi số trên 1 dòng

Câu 9: Cho đoạn chương trình sau:

i:=0; S:=1;

while s<10 do S:=S+1; i:=i+1;

Sau khi kết thúc đoạn chương trình trên giá trị của biến i bằng bao nhiêu?

A. i= 0 B. i=1 C. i=9; D. i=10

Câu 10 : Hoạt động nào sau đây chưa biết trước được số lần lặp

A. Thầy giáo thể dục yêu cầu chạy 5 vòng sân

  1. Học 2 tiết thể dục mỗi tuần
  2. Đánh răng 2 lần mỗi ngày vào sáng và tối.
  3. Đọc một bài thơ cho đến khi thuộc.

II. THỰC HÀNH (5 điểm). Thời gian 30 phút.

Viết chương trình cho phép nhập vào n số nguyên từ bàn phím.

Đề 1: Yêu cầu sử dụng câu lệnh lặp với số lần biết trước

Đề 2: Yêu cầu sử dụng câu lệnh lặp với số lần chưa biết trước.

ĐÁP ÁN

A. TRẮC NGHIỆM (5.0 điểm) Mỗi câu đúng đạt 0,5 điểm

Câu

1

2

3

4

5

6

7

8

9

10

Đáp án

C

A

B

B

B

C

D

D

B

D

B. THỰC HÀNH. (5.0 điểm)

- Khai báo đầy đủ các biến trong chương trình và đúng kiểu dữ liệu: 1điểm

- Viết đúng câu lệnh nhập giá trị n từ bàn phím :1 điểm

- Viết đúng câu lệnh lặp :2 điểm

- Kiểm tra và sửa lỗi :1 điểm

-------------HẾT-------------

thuvienhoclieu.com

ĐỀ 9

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I.PHẦN TRẮC NGHIỆM (4 điểm)

Caâu 1: Sau khi thöïc hieän chöông trình sau, giaù trò cuûa bieán j baèng bao nhieâu?

j := 0;

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

A. 0 B. 2 C. 5 D. 10

Caâu 2: Trong ñoaïn chöông trình sau, coù maáy caâu leänh ñöôïc laëp laïi?

S := 0; dem := 0; n := 10;

While dem > n do

Begin

dem := dem +1;

Write(‘ Nhap so X’,dem,’=’);Readln(X);

S := S + X ;

end;

A. 0 B. 1 C. 3 D. 4

Câu 3: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:

  1. If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>
  2. If <điều kiện> then <câu lệnh 1>; else <câu lệnh 2>;
  3. If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
  4. If <điều kiện> ; then <câu lệnh 1> else <câu lệnh 2>;

Câu 4: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:

A. If a=5 then a:=d+1; else a:=d+2;

B. If a=5 then a:=d+1else a:=d+2;

C. If a=5 then a=d+1; else a=d+2;

D. If a=5 then a:=d+1else a:=d+2

Câu 5: Trong lệnh lặp For…to…do của Pascal, trong mỗi vòng lặp biến đếm thay đổi như thế nào?

A. +1; B. -1;

C. Một giá trị bất kì; D. Một giá trị khác 0;

Câu 6: Pascal sử dụng câu lệnh nào sau đây để lặp với số lần lặp biết trước ?

A. if...then B. if...then...else C. for...to…do D. while...do

Câu 7. Trong Câu lệnh lặp: For i := 1 to 10 do j:= j + 2; write( j ); Khi kết thúc Câu lệnh lặp trên, Câu lệnh write( j ); được thực hiện bao nhiêu lần?

A. 10 lần ; B. 5 lần; C. 1 lần; D. Không thực hiện.

Câu 8 : Trong câu lệnh lặp for i :=1 to 20 do begin s:= s+i; end ;

câu lệnh gán được thực hiện bao nhiêu lần?

a) Không lần nào. b) 1 lần c) 2 lần d) 20 lần

II. PHẦN TỰ LUẬN (6 điểm)

Câu 1.Trong lập trình cấu trúc lặp dùng để làm gì? Nêu cú pháp và hoạt động câu lệnh lặp While... do... trong ngôn ngữ lập trình Pascal ? (3 đ)

Câu 2: (2ñ) Haõy tìm hieåu thuaät toaùn sau, maùy tính seõ thöïc hieän bao nhieâu voøng laëp? Khi keát thuùc giaù trò cuûa S baèng bao nhieâu?

Bước 1: S ⭠ 13, X ⭠ 1

Bước 2: Nếu S > 5 chuyển tới bước 3 ngược lại chuyển sang bước 4

Bước 3: S ⭠ S – X và quay lại bước 2

Bước 4: Thông báo S và kết thúc thuật toán.

Câu 3 (1đ). Cho đoạn chương trình: j:= 2;

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

Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu? Giải thích?

ĐÁP ÁN

I. PHẦN TRẮC NGHIỆM (4 điểm) mỗi câu đúng cho 0,5 điểm

Câu

1

2

3

4

5

6

7

8

Đáp án

D

A

C

B

A

C

C

D

II. PHẦN TỰ LUẬN (6đ)

Câu 1:(3 đ) Trả lời :

  • Trong lập trình, cấu trúc lặp dùng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thỏa mãn. (1 đ)
  • Cú pháp câu lệnh lặp While... do...là :

While <điều kiện> do <Câu lệnh>; (1 đ)

  • Cách thực hiện lệnh của Câu lệnh lặp While... do... :

Bước 1: Kiểm tra <điều kiện>. (1 đ)

Bước 2: Nếu <điều kiện> sai, <Câu lệnh> sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu <điều kiện> đúng, máy sẽ thực hiện <Câu lệnh> và quay lại bước 1. (0,5 đ)

Câu 2: (2ñ) Haõy tìm hieåu thuaät toaùn sau, maùy tính seõ thöïc hieän bao nhieâu voøng laëp? Khi keát thuùc giaù trò cuûa S baèng bao nhieâu?

Bước 1: S ⭠ 13, X ⭠ 1

Bước 2: Nếu S > 5 chuyển tới bước 3 ngược lại chuyển sang bước 4

Bước 3: S ⭠ S – X và quay lại bước 2

Bước 4: Thông báo S và kết thúc thuật toán.

Đáp án: Máy thực hiện 8 vòng lặp và kết quả S = 5

Câu 3 (1đ). Cho đoạn chương trình: j:= 2;

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

Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu? Giải thích?

Đáp án:

i:=1; 1<=5 đúng, thực hiện câu lệnh tức j:=2+2=4.

i:=2; 2<=5 đúng, thực hiện câu lệnh tức j:=4+2=6.

i:=3; 3<=5 đúng, thực hiện câu lệnh tức j:=6+2=8.

i:=4; 4<=5 đúng, thực hiện câu lệnh tức j:=8+2=10.

i:=5; 5=5 (bằng giá trị cuối), thực hiện câu lệnh tức j:=10+2=12.

Vậy sau khi thực hiện đoạn chương trình trên giá trị của biến j = 12.

thuvienhoclieu.com

ĐỀ 10

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

A. Phần trắc nghiệm (3điểm):
Khoanh tròn chữ cái đứng trước đáp án em cho là đúng ở mỗi câu

Câu 1: Hoạt động nào sau đây lặp với số lần biết trước:

A. Hôm nay em thức dậy trễ do được nghỉ học

B. Lấy xà bông để giặt đồ

C. Mỗi ngày, em thức dậy lúc 5 giờ sáng

D. Rửa chén

Câu 2: Trong câu lệnh lặp for…do, số vòng lặp là biết trước và bằng:

A. giá trị cuối – giá trị đầu + 1

B. giá trị cuối – giá trị đầu + 2

C. giá trị cuối – giá trị đầu - 1

D. giá trị cuối – giá trị đầu - 2

Câu 3: Sau khi thực hiện đoạn chương trình Pascal :

X:=3

For i : = 1 to 3 do

x : = x - 1

X sẽ nhận được giá trị nào dưới đây ?

A. – 1;     B. 1 ;     C. -4 ;     D. 0 ;

Câu 4: Chương trình Pascal sau đây thực hiện hoạt động nào?

var i: integer;

begin

for i:=1 to 99 do;

end.

A. Chương trình chạy biến i từ 1 đến 100.

B. Chương trình chạy biến i từ 1 đến 99 rồi không làm gì cả.

C. Chương trình chạy biến i từ 1 đến 100 rồi không làm gì cả.

D. Chương trình chạy biến i từ 1 đến 99.

Câu 5: Điều kiện trong câu lệnh lặp với số lần chưa biết trước thường là :

A. phép gán B. Câu lệnh đơn C. Câu lệnh ghép D. Phép so sánh

Câu 6: Câu lệnh lặp For i:=1 to 5 do Writeln(‘Day la lan lap thu ‘,i); sẽ in ra màn hình mấy dòng chữ?

A. Day la lan lap thu 1    

B. Day la lan lap thu 3    

C. Day la lan lap thu 5    

D. Day la lan lap thu 7

Câu 7: Trong Pascal, câu lệnh lặp thường có dạng:

A. for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>

B. for <biến đếm> : <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

C. for <biến đếm> = <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

D. for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

Câu 8: Hãy đọc đoạn chương trình sau:

s:=0;

for i:= 1 to 5 do s:= s * i;

Sau khi thực hiện xong, kết quả s bằng:

A. 15     B. 0     C. Kết quả khác     D. 120

Câu 9 Câu lệnh pascal nào sau đây là hợp lệ?

A. For i:= ’1’ to ‘10’ do writeln(‘A’);

B. For i:= 2.5 to 10,5 do writeln(‘A’);

C. For i = 1 to 10 do writeln(‘A’);

D. For i:= 1 to 10 do writeln(‘A’);

Câu 10: Trong ngôn ngữ lập trình Pascal, câu lệnh lặp với số lần chưa biết trước là:

A. If (Điều kiện) then (Câu lệnh);

B. Var i,n: Integer;

C. While (điều kiện) do (câu lệnh);

D. For (Biến đếm):=(Giá trị đầu) downto (Giá trị cuối) do (câu lệnh);

Câu 11: Đâu là hoạt động lặp với số lần chưa biết trước?

A. Hàng ngày em đi học.

B. Một tuần trường em tổ chức chào cờ 1 lần.

C. Ngày em đánh răng ba lần

D. Em sẽ đến nhà bà ngoại chơi vào hôm cả bố và mẹ đi vắng.

Câu 12 Việc đầu tiên mà câu lệnh While ... do cần thực hiện là gì?

   A. Thực hiện < câu lệnh > sau từ khóa Do

   B. Kiểm tra giá trị của < điều kiện >

   C. Thực hiện câu lệnh sau từ khóa Then

   D. Kiểm tra < câu lệnh >

B. Tự Luận ( (7 điểm)

Câu 13 (2đ) Cho 2 ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hàng ngày.

Câu 14 (3đ) Em hãy sắp xếp chương trình tính tổng N số tự nhiên sau cho phù hợp?

Var N, i: integer;

Write(‘Nhap so N=’); s:=0;

S: Longint; readln(n);

For i:=1 to n do

Begin

Program tinh_tong;

S:=s+i;

Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);

End.

Readln

Câu 15 (2đ): Em hãy cho biết thuật toán máy tính sẽ thực hiện bao nhiêu vòng lặp? Kết thúc giá trị của S bằng bao nhiêu? Viết chương trình bằng Pascal để mô tả thuật toán đó.

B1: S ⭠ 20, n⭠ 1;

B2: Nếu S ≥ 5, chuyển B4.

B3: n ⭠ N + 1, S ⭠ S - n và quay lại B2.

B4: Thông báo S và kết thúc thuật toán.

........................HẾT..........................

ĐÁP ÁN

A. Trắc nghiệm (3điểm): Mỗi ý đúng 0,25 điểm.

Câu

1

2

3

4

5

6

7

8

9

10

11

12

Đáp án

A

A

D

B

D

C

D

B

D

C

D

B

B. Thực hành

Câu

Nội dung trả lời

Điểm

13

Mỗi ví dụ đúng đạt 2 điểm

2

14

Program tinh_tong;

Var N, i: integer;
S: Longint;

Begin

Write(‘Nhap so N=’); readln(n);

s:=0;

For i:=1 to n do

S:=s+i;

Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s);

Readln

End.

0,5

0,5

0,5

0,5

0,5

0,5

15

- Số vòng lặp là 5, giá trị của S = 0;

- Chương trình mẫu

Program bai3;

Var s,n:integer;

Begin

S:=20; n:=1;

While s < 5 Do

Begin

N:=n +1; S:= S - n;

End;

Writeln(‘Gia tri cua s la’,s);

Readln;

End.

0,5

0,5

0,5

0,5

Tổng

7.0

thuvienhoclieu.com

ĐỀ 11

ĐỀ ÔN TẬP HỌC KỲ II

Môn: Tin học 8

I. PHẦN TRẮC NGHIỆM (3,0 điểm): Chọn phương án đúng (A, B, C hoặc D).

Câu 1. Trong Pascal, câu lệnh nào sau đây được viết đúng?

  1. for i := 4 to 1 do writeln(‘A’);
  2. for i := 1 to 10 writeln(‘A’);
  3. for i := 1 to 100 do writeln(‘A’);
  4. for i to 10 do writeln(‘A’);

Câu 2. Trong câu lệnh lặp: for n:= 1 to 6 do begin ... end;

Câu lệnh ghép được thực hiện bao nhiêu lần?

  1. 7 lần;
  2. 6 lần;
  3. 5 lần;

Không lần nào;Câu 3. Trong Pascal, câu lệnh nào sau đây là đúng?

  1. i:=1; S:=0; while s<10 do begin S:=S+i; i:=i+1; end;
  2. i:=0; S:=1; While S<10 do S=S+i; i=i+1;
  3. n:=2; while n<5; do write(‘A’);
  4. Cả A và B đều đúng

Câu 4. Trong Pascal, câu lệnh khai báo biến mảng nào sau đây đúng?

  1. var c : array[1..15] of integer;
  2. var a : array[10..1] of integer;
  3. var b : array(1..100) of real,
  4. var d : array[-2..-5] of real;

Câu 5. Khai báo biến mảng: A : array[1..7] of real;. Sử dụng câu lệnh For i:= 1 to 5 do readln(A[i]); để gán giá trị cho các phần tử trong biến A từ bàn phím, ta sẽ nhập được bao nhiêu giá trị?

  1. 5;
  2. 4;
  3. 6;
  4. 7;

Câu 6. Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng:

  1. Chỉ số đầu > chỉ số cuối;
  2. Chỉ số đầu chỉ số cuối;

C. Kiểu dữ liệu chỉ có thể là real;

D. Cả ba ý trên đều đúng;

II. PHẦN TỰ LUẬN (7.0 điểm):

Câu 1 (1,5 điểm): Hãy sửa lại các câu lệnh sau cho đúng:

a) for i:= 4 to 1 do writeln(‘A’);

=>………………………………………………………………………………………………………

b) for i= 1 to 10 writeln(‘A’);

=>………………………………………………………………………………………………………

c) for i:10 do 1 to writeln(‘A’);

=>………………………………………………………………………………………………………

Câu 2 (1,5 điểm): Viết cú pháp câu lệnh lặp với số lần chưa biết trước. Nêu hoạt động của câu lệnh.

Câu 3 (4,0 điểm): Viết chương trình nhập điểm kiểm tra học kỳ môn tin cho N học sinh và in ra màn hình. Với N và điểm kiểm tra được nhập từ bàn phím (sử dụng biến mảng).

ĐÁP ÁN

I. PHẦN TRẮC NGHIỆM: Mỗi câu đúng được 0,5 điểm.

Câu

1

2

3

4

5

6

Đáp án

C

B

A

A

D

B

II. PHẦN TỰ LUẬN

Câu

Đáp án

Điểm

1

(1,5 điểm)

a) for i:= 1 to 4 do writeln(‘A’);

0,5

b) for i:= 1 to 10 writeln(‘A’);

0,5

c) for i:= 1 to 10 do writeln(‘A’);

0,5

2

(1,5 điểm)

- Cú pháp câu lệnh: while <điều kiện> do <câu lệnh>;

0,5

- Hoạt động: Khi thực hiện câu lệnh chương trình kiểm tra điều kiện. Nếu điều kiện đúng thực hiện câu lệnh sau từ khóa do và quay lại kiểm tra điều kiện. Nếu điều kiện sai bỏ qua câu lệnh sau từ khóa do và kết thúc.

1,0

3

(4,0 điểm)

Program trung_binh;

Uses crt;

0,5

Var n, i: integer;

0,5

Diem: array[1..50] of real;

0,5

Begin

Clrscr;

Write(‘Nhap so luong hoc sinh N = ‘); Readln(n);

Writeln(‘Nhap diem cho tung hoc sinh’);

0,5

For I := 1 to n do

0,5

Begin

Write(‘Diem HS ‘,I,’ = ‘);

readln(Diem[i]);

End;

0,5

For I : = 1 to n do

Writeln(‘Diem cua HS ‘,I, ‘ = ‘,diem[i]);

Readln;

End.

1,0

--Hết--