wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Tin học

Total questions: 77

Worksheet time: 39mins

Name
Class
Date
1.

Độ dài lớn nhất của xâu có bao nhiêu kí tự?

a)

100

b)

127

c)

250

d)

255

2.

Cú pháp nào sau đây dùng để khai báo xâu?

a)

Var<tên biến>:string[độ dài lớn nhất];

b)

Var<tên biến>:string[độ dài nhỏ nhất];

c)

Var<tên biến>:string(độ dài lớn nhất);

d)

Var<tên biến>:string(độ dài nhỏ nhất);

3.

Để ghép một xâu thành nhiều xâu ta sử dụng kí hiệu nào sau đây?

a)

“ ”

b)

-

c)

+

d)

‘ ’

4.

Trong kiểu xâu, hàm Pos(s1, s2) có ý nghĩa gì?

a)

Hàm Pos cho biết vị trí xuất hiện đầu tiên xâu s1 trong xâu s2.

b)

Hàm Pos cho biết vị trí xuất hiện cuối cùng xâu s1 trong xâu s2.

c)

Hàm Pos cho biết vị trí xuất hiện đầu tiên xâu s2 trong xâu s1.

d)

Hàm Pos cho biết vị trí xuất hiện cuối cùng xâu s2 trong xâu s1.

5.

Thủ tục delete nào sau đây là đúng?

a)

Delete(vt, st, n);

b)

Delete(st, vt, n);

c)

Delte(st, vt,n);

d)

Delete(st, vn, n);

6.

Cho xâu S là ‘THPT-NGUYỄN THỊ MINH KHAI’. Kết quả hàm length(S) là?

a)

22

b)

23

c)

24

d)

25

7.

Cho đoạn chương trình:

Begin

 S1:= ‘TIN HOC’;

 S2:= ‘HOC TAP’;

Delete(S1, 4, 4);

Insert(S2, S1, 2);

Writeln(S1);

End.

Kết quả sau khi chạy chương trình nhận được là?

a)

HTIN HOCOC

b)

TIN HOCHOC TAP

c)

THOC TAPIN

d)

TIHOC TAPN HOC

8.

Cho đoạn chương trình sau:

Begin

 S:= ‘Lop hoc’;

Write(Upcase(S[length(S)-2]));

End.

Kết quả nhận được sau khi chạy chương trình là?

a)

LOP H

b)

P HOC

c)

H

d)

OC

9.

Cho đoạn chương trình sau:

Begin

 S:=’XYZ’;

Writeln(Pos(‘YZ’, S));

End.

Kết quả nhận được sau khi chạy chương trình là?

a)

1

b)

2

c)

3

d)

4

10.

Cho đoạn chương trình sau:

Begin

 S:=’Tin hoc’;

For i:= length(S) downto 1 do St:=St+S[i];

Writeln(St);

End.

Kết quả nhận được sau khi chạy chương trình là?

a)

coh niT

b)

niT coh

c)

hoc Tin

d)

coh inT

11.

Kiểu dữ liệu nào sau đây lưu giữ được kết quả của chương trình khi tắt máy.

a)

kiểu tệp.

b)

kiểu mảng.

c)

kiểu xâu.

d)

kiểu logic.

12.

Phát biểu nào dưới đây về tệp là SAI ?

a)

Tệp có cấu trúc là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định.

b)

Tệp có cấu trúc là tệp mà các thành phần của nó không được tổ chức theo một cấu trúc nhất định.

c)

Tệp văn bản không thuộc loại tệp có cấu trúc.

d)

Tệp văn bản gồm các kí tự theo ASCII được phân chia thành một hay nhiều dòng.

13.
a)

2 4  6 8 10

b)

1 3 5 9

c)

3  5  7  9

d)

4 6 8 10

14.
a)

Tich 2 so la: 20 0

b)

Tich 2 so la: 200Thuong 2 so la: 50

c)

Thuong 2 so la: 50

d)

Thuong 2 so la: 50Tich 2 so la: 200

15.
a)

12+34

b)

1234

c)

46

d)

12 34

16.
a)

CHAO MUNG BAN DEN VOI PASCAL

b)

CHAO MUNG BAN

c)

CHAO MUNG BAN DEN VOI

d)

CHAO MUNG

17.

Trong NNLT Pascal, cú pháp để khai báo biến tệp văn bản là:

a)

var < tên tệp > : txt; 

b)

var < tên biến tệp > : txt; 

c)

var < tên tệp > : text; 

d)

var < tên biến tệp > : text;

18.

Cú pháp của thủ tục đọc dữ liệu từ tệp văn bản là:

a)

read ( < biến tệp > , < danh sách biến > );

b)

readln ( < biến tệp > , < danh sách biến > );

c)

readln ( < tên tệp > , < danh sách biến > );

d)

Cả đáp án A và B đều đúng

19.

Cú pháp của thủ tục ghi dữ liệu vào tệp văn bản là:

a)

write (< biến tệp > , < danh sách kết quả >);

b)

write (< tên tệp > , < danh sách kết quả >);

c)

writeln (< biến tệp  > , < danh sách kết quả >);

d)

Cả đáp án A và C đều đúng

20.

Giả sử trong chương trình có khai báo:

var tepA, tepB: text;

và tệp tepA được mở để đọc dữ liệu, còn tệp tepB dùng để ghi dữ liệu.

Em hãy chọn thủ tục đúng dùng để đọc dữ liệu từ tệp tepA:

 

a)

read(tepA, A, B, C); hoặc readln(tepA, X, Y);

b)

write(tepB,' A = ', A,' B = ',B,' C = ',C); hoặc writeln(tepB,' A = ', A,' B = ',B,' C = ',C);

c)

Cả đáp án A và B đều sai

d)

Cả đáp án A và B đều đúng

21.

Hàm eof() trả về giá trị TRUE khi nào?

a)

Khi con trỏ tệp đang chỉ tới cuối tệp

b)

Khi con trỏ tệp đang chỉ tới đầu tệp

c)

Khi con trỏ tệp đang chỉ tới cuối dòng

d)

Khi con trỏ tệp đang chỉ tới đầu dòng

22.

Hàm eoln() trả về giá trị TRUE khi nào?

a)

Khi con trỏ tệp đang chỉ tới cuối tệp

b)

Khi con trỏ tệp đang chỉ tới cuối dòng

c)

Khi con trỏ tệp đang chỉ tới đầu tệp

d)

Khi con trỏ tệp đang chỉ tới đầu dòng

23.

For i:=1 to n do

      If A[i] = k then d:= d+1;

a)

đếm phần tử k trong mảng A.

b)

đếm số phần tử có trong mảng A

c)

đếm số phần tử lẻ trong mảng A

d)

đếm số phần tử chẵn trong mảng A

24.

For i:=1 to n do

      If A[i] mod 2 = 0 then d:=d+1;

a)

đếm số phần tử trong mảng A

b)

đếm số phần tử chẵn trong mảng A

c)

đếm số phần tử lẻ trong mảng A

d)

đếm số phần tử trong xâu A

25.

For i:=1 to n do

      If A[i] mod 2 = 1 then d:=d+1;

( hoặc A[i] mod 2<>0 )

a)

đếm phần tử lẻ trong mảng A

b)

đếm phần tử chẵn trong mảng A

c)

đếm phần tử có trong mảng A

d)

đếm phần tử lẻ có trong xâu A

26.

For i:=1 to n do

      If A[i] mod 2 = 0 then d:=d+A[i];

a)

Tổng các phần tử chẵn trong mảng A

b)

Tổng các phần tử lẻ trong mảng A

c)

Tổng các phần tử trong mảng A

d)

Tổng các phần tử trong xâu A

27.

Begin

      ….

      Readln(n);

      Readln(k);

      For i:= 1 to n do

      If A[i] mod k = 0 then d:=d+1;

     Write(d);

End.

Với n=5, k=2, A 1 2 3 4 5

a)

1

b)

3

c)

2

d)

5

28.

For i:=1 to n do

      S:=S+A[i];

      Write(S);

Với A 1 3 5 7 9 10

a)

35

b)

19

c)

47

d)

69

29.

Begin

      S:= ‘Tin hoc’;

      Delete (S,1,3);

      Write (Copy(S,1,2));

 End.

a)

_h

b)

h

c)

_

d)

n_

30.

S: (‘Minh Khai’);

     For i:= length (s) downto 1

     Write (S);

a)

9 lần iahK hniM

b)

9 lần Minh Khai

c)

9 lần Khai Minh

d)

8 lần Minh Khai

31.

S: (‘Minh Khai’);

      For i:= length (s) downto 1

Write (S[i]);

a)

1 lần Minh Khai

b)

1 lần Minh

c)

1 Lần Khai

d)

1 lần Khai Minh

32.

Begin

      A:= ‘Lop hoc’;

      Delete (A,5,3);

     Write(length(A));

End.

a)

4

b)

5

c)

3

d)

6

33.

Begin

      S:= ‘Cham chi’;

      S1:= ‘Hoc tap’;

     Delete (S,6,3);

     Delete (S1,4,4);

     Insert (S1,S,5);

    Write (upcase (S));

End.

a)

CHAMHOC_

b)

CHAMHOC

c)

CHAM_HOC

d)

CHAMHC

34.

Begin

      A:= ‘Hoc tap’;

      B:= ‘tap tanh’;

      Pos(A,B);

End.

a)

0

b)

2

c)

5

d)

7

35.

Begin

      A:= ‘Hoc tap’;

      B:= ‘tap tanh’;

      Pos(‘tap’,B);

End.

a)

0

b)

1

c)

2

d)

3

36.

Cho S là string và i là biến nguyên. Khi chạy đoạn chương trình :

S := ‘Nguyen Thi Minh Khai’;

    for i:=1 to length(s) do if s[i] = ‘ ‘ then write(i);

    Kết quả in lên màn hình là :

a)

NguyenThiMinhKhai

b)

‘    

c)

3

d)

71116

37.

Cho S1 và S2 là string. Khi chạy đoạn chương trình :

S1 := ‘hoc sinh’;

S2 := ‘pascal’;

Write(‘hoc sinh ‘);

If length(s1)>length(s2)

then write(s1)

else write(s2);

    Kết quả in lên màn hình là :

a)

hoc sinh pascal

b)

hoc sinh hoc sinh

c)

hoc sinh s1

d)

hoc sinh s2

38.

Cho S1 và S2 là string. Khi chạy đoạn chương trình :

S1 := ‘hoc sinh’;

S2 := ‘pascal’;

Write(‘hoc sinh ‘);

If length(s1)<length(s2)

then write(‘s1’)

else write(‘s2’);

    Kết quả in lên màn hình là :

a)

hoc sinh pascal

b)

hoc sinh hoc sinh

c)

hoc sinh s1

d)

hoc sinh s2

39.

Cho S là string và i là biến nguyên. Khi chạy đoạn chương trình :

    S := ‘Minh Khai’;

    for i:=1 to length(s) do if s[i] = ‘ ‘ then write(s);

    Kết quả in lên màn hình là :

a)

MinhKhai

b)

‘               

c)

Minh Khai

d)

minh khai

40.

Dự đoán kết quả đoạn chương trình:

Cho đoạn chương trình :

            Var       i , n : integer;

          Begin

                   n := 1 ;

                   for  i := 7  downto  n  do  write ( i ) ;

                   readln ;

              end.

    Kết quả xuất trên màn hình :

a)

1

b)

1234567

c)

7

d)

7654321

41.

Khi chạy chương trình :

    Var  S, i : Integer;

    Begin

      i := 3; S:= 40;

      if ( i > 5 ) then S:= 5 3 + ( 5 - i ) 2

      else

        if ( i > 2 ) then S:= 5 * i

        else  S:= 0;

    End.

    Giá trị sau cùng của S là :

a)

15

b)

40

c)

0

d)

19

42.

Cho S và i là biến nguyên. Khi chạy đoạn chương trình :

    s:=0;

    for i:=1 to 10 do s := s+i;

    writeln(s);

    Kết quả in lên màn hình là :

a)

100

b)

11

c)

101

d)

55

43.

Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình :

S:= 0; i:= 1;

    while i<= 6 do

      begin

        S:= S + i;

        i:= i + 2;

      end;

    Giá trị sau cùng của S là :

a)

11

b)

9

c)

0

d)

6

44.

Trong ngôn ngữ lập trình Pascal, để xoá đi kí tự đầu tiên của xâu kí tự S ta viết:

a)

Delete(S, lenght(S), 1); 

b)

Delete(S, i, 1);

c)

Delete(S, 1, i);

d)

Delete(S, 1, 1);

45.

Tệp f có dữ liệu     5 9 15             đọc 3 giá trị trên từ tệp f và ghi các giá trị này vào 3 biến x, y, z ta viết:

a)

Read(x, y, z);

b)

Read(f, x, y, z);     

c)

Read(f, ‘x’, ‘y’, ‘z’);

d)

Read(‘x’, ‘y’, ‘z’);

46.

Các phần tử trong mảng một chiều phải:

a)

có giá trị giống hệt nhau

b)

có kiểu dữ liệu giống nhau

c)

là số nguyên

d)

là số thực.

47.

Cho đoạn chương trình:

VAR F: TEXT;     

BEGIN

            ASSIGN(F,’DATA.TXT’); REWRITE(F);

            WRITE(F, '123+456+789'); CLOSE(F);

END.

a)

1368

b)

123+456+789

c)

123 456 789

d)

123456789

48.

Giả sử file dulieu.txt chứa nội dung sau: 1 2 3 4

Sau khi thực hiện chương trình bên dưới, kết quả hiển thị lên màn hình là gì?

var f:text;

   x,y,s:integer;

begin

assign(f,'dulieu.txt');

reset(f);

while not eof(f) do

begin

  read(f,x,y);

  s:=x+y;

  writeln(s);

end;

close(f);

end.

a)

10

b)

3

c)

4

d)

7

49.

Lệnh nào đúng:

a)

write (f,'m');

b)

write (x;y);

c)

reset (f,x);

d)

read (f:text,m);

50.

Cho đoạn chương trình:

var s1,s2:string;

begin

  s1:='abc'; s2:='def'; insert(s1,s2,3);  write(s2);

end.

Kết quả sau khi chạy đoạn chương trình trên là:

a)

deabcf

b)

abcdef

c)

def

d)

defabc

51.

Cho mảng A gồm N = 4 phần tử: 7    8    4    6  và đoạn chương trình:

j:= 1;

For i := 2 to N do

          If A[i] > A[ j ] then j := i;

Write('Chi so: ', j , ' Gia tri: ' , A[ j ]);

Sau khi thực hiện đoạn chương trình kết quả là:

a)

Chi so: 2 Gia tri: 8

b)

Chi so: 2 Gia tri: 4

c)

Chi so: 1 Gia tri: 7

d)

Chi so: 3 Gia tri: 4

52.

Biểu thức nào có giá trị TRUE:

a)

'AB' = 'BA'

b)

'AB' > 'BA'

c)

'May tinh' < 'May tinh cua toi'

d)

'aB' = 'Ab'

53.

Để đọc dữ liệu từ tệp văn bản, ta có thể sử dụng thủ tục:

a)

write(<tên tệp>, <danh sách biến>);

b)

read(<tên tệp>, <danh sách biến>);

c)

read(<tên biến tệp>, <danh sách biến>);

d)

write(<tên biến tệp>, <danh sách biến>);

54.

Cho đoạn chương trình:

Var s1, s2: String;

      i: Integer;

Begin

     s1:='12345';

     For i:= Length(s1) downto 1 do

         If (i mod 2=1) then s2:='i';

    Write(s2);

End.

a)

i

b)

iii

c)

5

d)

531

55.

Cho đoạn chương trình:

Var f : text;

Begin

          Assign(f, ‘BT1.TXT ’) ;

          Rewrite(f) ;

              Write(f, 123 + 456) ;

              Close(f) ;

End .

Chương trình trên sẽ ghi kết quả nào trong các kết quả cho dưới đây vào file BT1.TXT ?

a)

123 + 456

b)

123 456

c)

579

d)

123456

56.

Giả sử  xâu A có giá trị ‘Tin hoc’, thực hiện lệnh write(upcase(a[5]) + copy(a, 6, 2)); thì kết quả sẽ là:

a)

Hoc

b)

hoc

c)

TIN HOC

d)

Báo lỗi

57.

Cho đoạn chương trình:

var s: string[1];

     c: char;

begin

          c:='a';

          s:=upcase(C);

          write(s);

          readln

end.

Kết quả CT trên?

a)

Báo lỗi

b)

A

c)

a

d)

S

58.

Cho biết kết quả của đoạn chương trình:

n:=5; t:=0;

For i:=n downto 1 do

          if (i mod 3 = 0) then

                     t:=t+i;

write(t);

a)

15

b)

3

c)

5

d)

10

59.

Cho st1=’Chu Van An’ và st2:=copy(st1,pos(‘V’,st1),4), kết quả xâu st2 là:

a)

xt2=‘ Van ’

b)

st2= ‘Van ’

c)

st2= ‘Van A’

d)

st2= ‘Chu Van’

60.

Kết quả của biểu thức 'A1BC' > 'A2BC' bằng bao nhiêu?

a)

True

b)

False

c)

1

d)

2

61.

Cho đoạn chương trình:

Var f:text; i:integer;

Begin

   For i:=1 to 10 do

      Begin

           Assign(f,'dl.txt');

           If (i mod 2=0) Then Rewrite(f);

      End;

      close(f);

End.

Cho biết có bao nhiêu file được tạo ra?

a)

Đáp án khác

b)

10

c)

5

d)

1

62.

Giả sử st:= 'Tin hoc'; hàm Pos('m',st); có kết quả là:

a)

2

b)

1

c)

3

d)

0

63.

Đoạn chương trình sau thực hiện công việc nào trong các việc sau:

                     b:= ' '; { xâu rỗng}

                     for i:=1 to length(A) do

                     if a[ i ] <> ' ' {dấu cách}  then b:=b+a[ i ];

                     write('ket qua' , B.;

a)

xóa dấu cách đầu tiên trong xâu

b)

xóa dấu cách cuối cùng của xâu

c)

tạo mảng b chứa các dấu cách của xâu a

d)

xóa mọi dấu cách trong xâu

64.

Cho đoạn chương trình:

var s:string; k:byte;

begin

   s:='a bcd ef';

   k:=pos(' ',s);

   while k<>0 do

   begin

      delete(s,k,2);

      k:=pos(' ',s);

   end;

   write(s);

end.

Cho biết kết quả của chương trình trên?

a)

acdef

b)

Chương trình báo lỗi

c)

acdf

d)

abcdef

65.

Giả sử st:= 'Tin hoc'; hàm copy(st,5,3); có kết quả là:

a)

hoc

b)

n hoc

c)

Tin h

d)

Tin

66.

Giả sử  xâu s1 có giá trị ‘minh khai’, xâu s2 có giá trị ‘school’, thực hiện lệnh insert(s2, s1, 0); thì kết quả sẽ là:

a)

school minh khai

b)

schoolminh khai

c)

Không làm gì cả

d)

minh khai school

67.

Cho biết kết quả xuất ra màn hình

Var S1, S2: String[4];

      i, k: Integer;

Begin

      s1:='123456'; S2:='';{xâu rỗng}

      For i:= Length(s1)-1 downto 2 do S2:= S1[i] + S2;

      Write(S2);

End.

a)

3456

b)

32

c)

23

d)

6543

68.

Cho khai báo sau:

var c:char; s:string;

Câu lệnh gán nào sau đây là không hợp lệ?

a)

s:='';

b)

c:=H;

c)

c:=' ';

d)

s:=c;

69.

Cho đoạn chương trình:

s:='ABCD'; Delete(s,3,2); Insert('CD',s,1);

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

a)

'CDABCD'

b)

 'AB'

c)

'ABCD'

d)

'CDAB'

70.

Cho chương trình sau:

Program CT7;

var     X, a, b, c : integer;

                     f : text;

begin

          assign (f, 'Tep1.TXT');

          reset (f);

          read (f, b, c, a);

          X := 2*a - (b+c);

          writeln (X);

          close(f);

end.

Giả sử tệp Tep1.TXT chứa các số nguyên là : 1    3    4   7

Hãy cho biết kết quả chương trình trên.

a)

4

b)

5

c)

-5

d)

7

71.

Để tìm vị trí đầu tiên xuất hiện xâu 'lop' trong xâu A ta viết:

a)

K:=pos(A,'lop');

b)

K:=pos('lop','lop');

c)

K:=pos('lop',A);

d)

B:= 'lop'; K:=pos(A,B);

72.

Để tham chiếu tới các phần tử của xâu ta dùng:

a)

Tên biến xâu

b)

Tên biến xâu và chỉ số đặt trong cặp ngoặc [ và ]

c)

Tên biến xâu và chỉ số đặt trong cặp ngoặc ( và )

d)

Tên biến xâu và chỉ số đặt trong cặp ngoặc { và }

73.

Cho St là biến chuỗi, sau khi thực hiện bốn lệnh:

    St:=’ABCDEF’;

    Delete(St, 3, 2);

    Insert(‘XYZ’, St, 2);

    Write(St);

Kết quả in lên màn hình là:

a)

AXYZBEF

b)

ABXYZEF

c)

AXYZBCDEF

d)

ABXYZCF

74.

Sau khi thực hiện đoạn chương trình sau, giá trị của biến found có ý nghĩa gì ? (S là biến xâu)

Found :=0; x:=Length(S);

For i:=1 to x div 2 do

If S[i] <> S[x-i+1] then found:=1;

a)

found = 1 thì S là xâu đối xứng

b)

found =0  thì S là xâu không đối xứng

c)

found = 0 thì S là xâu đối xứng

d)

Giá trị biến found không có ý nghĩa gì

75.

Khai báo nào sau đây là SAI?

a)

var S: string[1];

b)

var S: string;

c)

var S: string[100];

d)

var string[256];

76.

Hàm nào trả về một trị số:

a)

length, copy

b)

copy, upcase

c)

upcase, pos

d)

pos, length

77.

Cho biết kết quả S2

Var S1, S2: String;

      i, j: Integer;

Begin

     S1:='abababc';

     For i:=1 to Length(S1) do

             If(S1[i]='a') Then S2:=S2+S1[i];

End.

a)

Báo lỗi

b)

Đáp án khác

c)

aaa

d)

iii