Nguy n Thi Minh Ỳ Ể Đ  KI M TRA GI A K  II NĂM H C 2020 ­ 2021 MÔN TIN H C 11Ọ Th i gian làm bài : 45 Phút;

ắ ầ ể ỗ

ệ ệ ề ươ ấ ng án đúng nh t) Ph n I. Tr c nghi m: 28 câu (m i câu đúng 0.25 đi m) Câu 1: Trong câu l nh While – do, đi u ki n là: (Ch n ph

ể ằ

ể ể ệ ẩ ọ

ầ ủ ừ ị ộ v  trí vt

ọ ệ ứ ứ ố ọ B.  Bi u th c quan h A.  Bi u th c s  h c ứ ứ ẳ D.  Bi u th c logic C.  H ng đ ng th c ủ ụ ự ươ ng án ĐÚNG khi th c hi n th  t c chu n Insert(S1,S2,vt) ? Câu 2: Hãy ch n ph ị A.  Chèn xâu S1 vào v  trí vt trong xâu S2.  ố B.  Sao chép vào cu i S1 m t ph n c a S2 t C.  N i xâu S2 vào S1 ị D.  Chèn xâu S2 vào v  trí vt trong xâu S1.

ế ầ ử ứ ả t nào sau đây in ra màn hình giá tr  c a ph n t Câu 3: Cách vi

ủ  th  I c a m ng A? D.  Write(A(i)); A.  Write(A{i}); B.  Write(A[i]);

ự ệ ướ ạ ươ ị ủ C.  Write(A[‘i’]); ệ i đây th c hi n công vi c? ng trình d

Câu 4: Đo n ch d:= 0; for i:= 1 to length(S) do if S[i] = ‘ ’ then d:= d + 1;

có trong xâu

ế ế

ặ Câu 5: Cú pháp l nh l p For – do d ng ti n:

ị ố ệ

ị ố ệ

ị ầ

ế ế ế ế ị ố ệ ự B.  Đ m các kí t ố ấ D.  Đ m s  d u cách có trong xâu ế A.  for < bi n đ m> := < Giá tr  đ u > downto < 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 >downto < Giá tr  đ u > do < câu l nh >; D.  for < bi n đ m> = < Giá tr  đ u > to < Giá tr  cu i > do < câu l nh >;

ấ A.  Xóa đi các d u cách trong xâu  sự ố C.  Xóa các kí t ệ ế ế ế ế ươ ạ ị ầ ị ầ ị ố ị ầ ả ạ i  bài toán nào? ng trình sau gi Câu 6: Đo n ch

While not (1/(a+N) < 0.0001) do Begin N:=N+1; S:=S+ 1.0/(a+N); End;

ỏ ơ ổ ố ớ ổ ơ A.  Tính t ng ổ ố C.  Tính t ng các s  nh  h n 0,0001 B.  Tính t ng ổ D.  Tính t ng các s  l n h n 0,0001

ng trình nh  sau:

Câu 7: Cho khai báo m ng:ả Var a: array[0..50] of real ; ư ươ ạ và đo n ch k:= 0 ; for i:= 1 to 50 do if a[i] > a[k] then k:= I ;

ệ ệ

ả ả ả ả ấ ấ

ỉ ả ươ ố ứ

ữ  là ch  cái ể ữ ệ  có cùng ki u d  li u ầ ử ặ ể ữ ệ ủ Câu 9: Ki u d  li u c a bi n đ m trong l nh l p For – do:

ầ ể ể ớ ớ

ự ươ ạ Đo n ch ng trình trên th c hi n công vi c? ấ ầ ử ớ A.  Tìm ph n t  l n nh t trong m ng ấ ầ ử ỏ B.  Tìm ph n t  nh  nh t trong m ng ầ ử ỏ ỉ ố ủ C.  Tìm ch  s  c a ph n t  nh  nh t trong m ng  ầ ử ớ ỉ ố ủ D.  Tìm ch  s  c a ph n t  l n nh t trong m ng ộ ề ả ọ ng án ĐÚNG v  m ng m t chi u? Câu 8: Hãy ch n ph A.  Ch  là dãy các s  nguyên ự B.  M ng không ch a các kí t ầ ử ữ ạ C.  Là dãy h u h n các ph n t ướ ố ượ ầ ng ph n t c s  l D.  không c n khai báo tr ệ ế ế ể ữ ệ ị A.  Không c n ph i xác đ nh ki u d  li u ị ố ị ầ B.  Cùng ki u v i giá tr  đ u và giá tr  cu i ế ệ C.  Cùng ki u v i các bi n trong câu l nh ị ầ ớ ể D.  Ch  c n khác ki u v i giá tr  đ u

ả ủ ỉ ầ ế Câu 10: K t qu  c a hàm Pos(‘Canh’, ‘nguyen thi canh’)

A.  0 C.  3 D.  10

B.  12 ữ ậ ướ ề ế ể i đây SAI v  bi n ki u

Câu 11: Trong ngôn ng  l p trình Pascal, khai báo nào d xâu?

A.  Var St: String[0]; C.  Var St: String[10]; B.  Var St: String; D.  Var St: String[300];

ữ ậ ế ả Câu 12: Trong ngôn ng  l p trình Pascal, hàm Length(‘Tin hoc 10’) cho k t qu  là:

A.  2 {2 kí t C.  6  {6 kí t

ứ ộ B.  3  {3 t }ừ D.  10  {10 kí t }ự ệ ầ ử

ể ữ ậ ủ ả ự ữ ố  ch  s } ự ữ  ch  cái} ươ ọ ằ ả ề ề ể Câu 13: Hãy ch n ph ng án ĐÚNG v  bi u th c đi u ki n ki m tra m t ph n t th  I c a m ng A có n m trong kho ng (­5; 10) (trong ngôn ng  l p trình Pascal)?

ứ A.  (A[i] > ­5) and (A[i] < 10) C.  (A[i] > ­5) or (A[i] < 10) B.  (­5 < A[i] < 10) D.  (A[i] < ­5) and (A[i] >10)

ị ủ ế ế ạ ế Câu 14: Trong vòng l p For – do d ng ti n. Giá tr  c a bi n đ m

ệ ổ

ặ ự ộ ỉ A.  T  đ ng đi u ch nh ị ỉ B.  Ch  tăng khi có câu l nh thay đ i giá tr ượ C.  Đ c gi  nguyên  ự ộ D.  T  đ ng gi m đi 1

ế ầ ử ứ ả ế t nào sau đây tham chi u đúng ph n t th  I c a m ng A? Câu 15: Cách vi

A.  A[i] B.  AI ả ủ D.  A[‘I’] C.  Ai

ề ể ữ ệ ể Câu 16: Phát bi u nào ĐÚNG v  ki u d  li u xâu?

sự ố ự ấ  d u  chự ữ ự ả trong b ng mã ASCII A.  Là dãy các ký t B.  Là dãy các ký t C.  Là dãy các ký t D.  Là dãy các ký t

ế ươ ự ệ ệ ạ t đo n ch ng trình sau th c hi n công vi c?

Câu 17: Hãy cho bi i: = 1; t:= 1; while I < 20 do Begin t:= t * I; i:= I + 1; end;

ặ ằ

ố ự A.  Tính tích các s  t ố ự B.  Tính tích  các s  t ố ự C.  Tính tích các s  t ố ự D.  Tính tích các s  t

ứ ự ả ự trong xâu S theo th  t đ o ng ượ   c

ụ ả ẵ ỏ ơ  nhiên ch n nh  h n ho c b ng 20 ỏ ơ ẵ  nhiên ch n nh  h n 20 ỏ ơ ặ ằ  nhiên nh  h n ho c b ng 20 ỏ ơ  nhiên nh  h n 20 ệ ệ ự ệ Câu 18: Câu l nh nào th c hi n vi c in các ký t ượ ủ c c a xâu ‘abcd’)? (ví d : xâu ‘dcba’ là xâu đ o ng

A.  For i:= 1 to length(S) do write(S[i]); B.  For i:= 1 to length(S) do writeln(S); C.  For i:= length(S) downto 1 do write(S); D.  For i:= length(S) downto 1 do write(S[i]);

ả ủ ủ ụ ế Câu 19: K t qu  c a th  t c delete(‘Viet Nam 2021!’,5,6) là

D.  ‘Viet Nam’ A.  ‘Nam2021’ B.  ‘Viet021’

ướ ề ế ề ồ ộ C.  ‘Viet2021’ ả ể i đây ĐÚNG v  bi n ki u m ng m t chi u g m 100

Câu 20: Khai báo nào d ph n t s  nguyên?

ầ ử ố A.  Var A : array(1..100) of integer; B.  Var  A : array[1..100] of integer; C.  Var A : array[1..100] of integer D.  Var A : array[1...100] of integer;

ư ạ ươ ng trình nh  sau:

ệ ng trình trên th c hi n công vi c?

ầ ử ng các ph n t

ươ ự ệ ả ả ả  trong m ng; ng trình sau th c hi n công vi c?

Câu 21: Cho khai báo sau: Var a: array[0..50] of real ; và đo n ch  s:= 0; for i:= 0 to 50 do s:= s + a[i]; ự ệ ươ ạ Đo n ch ầ ử  trong m ng; A.  Tính tích các ph n t ầ ử ệ  trong m ng; B.  Tính hi u các ph n t ầ ử ổ  trong m ng; C.  Tính t ng các ph n t ả ươ D.  Tính th ệ ạ Câu 22: Đo n ch X:= length(S); For i:= X downto 1 do If S[i] = ‘ ‘ then Delete(S,I,1);

ấ ấ ừ A.  Xóa d u cách th a trong xâu S ố B.  Xóa d u cách cu i cùng trong xâu S

ầ C.  Xóa d u cách đ u tiên trong xâu S D.  Xóa h t d u cách trong xâu S ả ươ ng trình sau gi i bài toán nào?

ấ ế ấ ạ Câu 23: Đo n ch For I:=1 to n do If (I mod 2 = 0)  then X := X + I;

ừ ặ ế  1 đ n N

ổ ổ ổ ổ ừ ạ ừ ạ ừ ế ế ế A.  T ng các s  chia h t cho 2 trong ph m vi t  1 đ n N ế B.  T ng các s  chia h t cho 2 ho c 5 trong ph m vi t ế ế  1 đ n N C.  T ng các s  chia h t cho 5 trong ph m vi t D.  T ng các s  không  chia h t cho 2 trong ph m vi t

ố ố ố ố ả ủ ế ế  1 đ n N Câu 24: K t qu  c a câu hàm copy(‘Viet Nam 2021!’, 5, 10);

A.  ‘Viet 2021!’ B.  ‘Viet Nam!’

C.  ‘ Nam 2021!’ ủ ụ ệ ự

D.  ‘Nam 2021!’ ế Câu 25: Cho xâu S := ‘Thu do Ha Noi’, khi th c hi n th  t c Delete(S,1,6) thì k t  qu  là:ả

A.  ‘Tha Noi’ B.  ‘Thu do’ C.  ‘Ha Noi’

ệ D.  ‘ Ha Noi’ ữ ậ

Câu 26: Đâu là đúng cú pháp Câu l nh while – do  trong ngôn ng  l p trình pascal   trong các đáp án sau đây?

ệ ệ

ệ ệ

ề ươ ng án ĐÚNG v  các thao tác v i xâu ? ệ A.  while <đi u ki n> then ; ệ B.  while <đi u ki n> begin ;end; ệ C.  while <đi u ki n> do ; ệ D.  while <đi u ki n> to ; Câu 27: Hãy ch n ph

ố ộ ắ ớ B.  Tính toán và so sánh D.  C t, dán, sao chép.

ặ Câu 28: Câu l nh l p For – do d ng lùi:

ị ầ ệ

ề ề ề ề ọ A.  N i và so sánh các xâu ừ C.  C ng, tr , nhân, chia ệ ế ế ế ế ế ế ế ế ạ ị ố ị ố ị ầ ị ố ị ầ ị ố ị ầ ệ ệ ệ A.  for < bi n đ m> = < Giá tr  cu i >down < Giá tr  đ u > do < câu l nh >; B.  for < bi n đ m> = < Giá tr  cu i >downto < Giá tr  đ u > do < câu l nh >; C.  for < bi n đ m> := < Giá tr  đ u >downto < Giá tr  cu i > do < câu l nh>; D.  for < bi n đ m> := < Giá tr  cu i >downto < Giá tr  đ u > do < câu l nh >;

ầ ự ậ : Ph n II. T  lu n

Câu 29 (2đi m).ể

ế

ươ

Vi

t ch

ng trình:

ữ ườ

ậ a) Nh p vào t

(ch a các ch  th

ng)

và thông báo ra màn hình

bàn phím 2 xâu a, b ủ

ừ ổ t ng đ  dài c a 2 xâu.

ữ ố ừ

ư

ồ b) T o  xâu c g m các ch  cái t

xâu a và các ch  s  t

xâu b. Đ a xâu c lên màn hình.

Ví d : ụ

a:=’abcd345ef’

b : = ’ngay 26/03’

ế

ả K t qu  xâu:

c:=’abcdef2603’

ế

ế

ế

Vi

ươ ươ

Câu 30(1đi m).ể t ch ố ồ dãy A g m n s  nguyên d

ng trình đ m các s  chia h t cho 2 ho c chia h t cho 5 trong  ng (n

ế < 1000)

Ế ­­­­­­ H T ­­­­­­

ĐÁP ÁN

Ph n đáp án câu tr c nghi m:

C A D

26 27 28

D D A A A

D D D B B

C D A C D

D A B D B

ệ A D C B A

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

ầ 1 2 3 4 5

ắ 6 7 8 9 10

ầ ự ậ

Ph n t

lu n

Câu h iỏ

N i dung

Đi mể

ượ

c xâu, nh p giá

0.5

­ Khai báo đ tr  cho 2 xâu.

Program cau29; Var a,b,c: string;        I,k,n :byte; Begin

Writeln('Nhap xau a = ');

readln(a);

0.5

ư ­ Đ a ra màn hình t ng đ  dài  ủ c a 2 xâu

Writeln('Nhap xau b = ');

readln(b);

ở ạ

k:=length(a); n: = length(b); Write('Do dai c a 2 xau = ',

0.25

Câu 29 (2.0đ)

k+n);

c:='';  For i:= 1 to k do If (a[i]>= 'a')

0.25 0.25

­ Kh i t o xâu r ng c ể ọ ữ ­ L p đ  l c ra các ch  cái  ư ủ c a xâu a đ a vào xâu c ể ọ ữ ố ủ   ­ L p đ  l c ra các ch  s  c a ư xâu b đ a vào xâu c

and (a[i]<='z')then c:=c+a[i];

­ Hi n th  xâu c

For i:= 1 to n do If (b[i]>=  '0')and (b[i]<='9)then c:=c+b[i];  Writeln('xau ket qua: ', c); Readln;

0.25

ể ư   ­ Khai báo m ng 1 chi u đ  l u dãy s  A g m 10

ề 3 ph n t ầ ử .

0.25

Câu 30 (1.0đ)

ị ả

0.25

End. program cau30; uses crt; const namx=1000; type myarray  = array[1..namx] of  integer; var a:myarray; s,n,i,k:integer; Begin

ậ   ­ Dùng c u trúc l p đ  gán/nh p ể và   hi n   th   các   giá   tr   c u   các   ầ ử ủ ph n t

c a m ng

ấ ầ ử

ể ả

clrscr;  randomize; write(‘nhap n=’); readln(n); for i:=1 to n do a[i]:=

­ Dùng c u trúc r  nhánh đ  xét ừ  trong dãy có ph i là t ng ph n t

0.25

random(3000);

for i:=1 to n do write(a[i], ‘ ’) dem: =0; for i:=1 to n do

If (a[i] mod 3 = 0) or (a[i]

ầ ử

ế

ph n t

chia h t cho 3 ho c 5

mod 5 = 0)  then  Begin

0.25

ị ế

­ L nh hi n th  giá tr  đ m

Write(A[i], ‘  ’); Dem:=dem+1;

End;

write (‘ so phan tu thoa man: ’,

dem);

Readln

End.