wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ON TAP HK2 KHOI 11

Total questions: 145

Worksheet time: 2hrs 25mins

Name
Class
Date
1.

Để khai báo hàm trong Pascal bắt đầu bằng từ khóa

a)

PROGRAM

b)

PROCEDURE

c)

FUNCTION

d)

VAR

2.

Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa

a)

PROCEDURE

b)

PROGRAM

c)

FUNCTION

d)

TYPE

3.

Tham số sử dụng trong lời gọi thủ tục hoặc hàm gọi là gì?

a)

Phần đầu

b)

Biến toàn cục

c)

Tham số hình thức

d)

Tham số thực sự

4.

Biến toàn cục là:

a)

Biến khai báo trong chương trình con

b)

Biến khai báo trong chương trình chính nhưng chỉ dùng cho chương trình con

c)

Biến tự do không cần khai báo

d)

Biến khai báo trong chương trình chính

5.

Khẳng định nào sau đây là đúng?

a)

Cả thủ tục và hàm đều có thể có tham số hình thức

b)

Chỉ có thủ tục mới có thể có tham số hình thức

c)

Chỉ có hàm mới có thể có tham số hình thức

d)

Thủ tục và hàm nào cũng phải có tham số hình thức

6.

Dòng đầu của thủ tục có dạng nào trong các dạng sau:

a)

PROCEDURE <Tên thủ tục> [(<Danh sách tham số>)] : <Kiểu dữ liệu>;

b)

PROGRAM <Tên thủ tục> [(<Danh sách tham số>)];

c)

FUNCTION <Tên hàm> [(<Danh sách tham số>)] : <Kiểu dữ liệu>;

d)

PROCEDURE <Tên thủ tục> [(<Danh sách tham số>)];

7.

Kiểu dữ liệu của chương trình con

a)

Chỉ có thể là kiểu integer

b)

Chỉ có thể là kiểu real

c)

Có thể là các kiểu integer, real, char, boolean, string

d)

Có thể là integer, real, char, boolean, string, record, kiểu mảng

8.

Khẳng định nào sau đây là ĐÚNG?

a)

Một chương trình con nhất thiết phải có tham số hình thức.

b)

Một chương trình con nhất thiết phải có biến cục bộ.

c)

Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ.

d)

Một chương trình con có thể không có tham số hình thức và cũng có thể không có biến cục bộ.

9.

Hàm và thủ tục khác nhau ở chổ

a)

Hàm trả về giá trị

b)

Thủ tục trả về giá trị

c)

Hàm trả về giá trị qua tên của nó

d)

Thủ tục trả về giá trị qua tên của nó

10.

Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?

a)

Phần đầu có thể có hoặc không có cũng được.

b)

Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.

c)

Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.

d)

Phần đầu nhất thiết phải có để khai báo tên chương trình con.

11.

Có mấy lợi ích khi dùng chương trình con (CTC)?

a)

2

b)

3

c)

4

d)

5

12.

Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?

a)

Phần đầu có thể có hoặc không có cũng được.

b)

Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.

c)

Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.

d)

Phần đầu nhất thiết phải có để khai báo tên chương trình con.

13.

Hãy chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi

a)

A_ Kiểu của các tham số

b)

Kiểu giá trị trả về

c)

A_ Tên hàm

d)

A_ Địa chỉ mà hàm trả về

14.

Khẳng định nào sau đây là đúng?

a)

Một chương trình con nhất thiết phải có tham số hình thức.

b)

Một chương trình con nhất thiết phải có biến cục bộ.

c)

Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ.

d)

Một chương trình con có thể không có tham số hình thức và cũng có thể không có biến cục bộ.

15.

Khai báo phần đầu một hàm là:

a)

Function <tên hàm> [(<DS các tham số>)] : <kiểu DL>;

b)

Procedure <tên hàm> [(<DS các tham số>)] : <kiểu DL>;

c)

Function <tên hàm> [(<danh sách các tham số>)] ;

d)

Function <tên hàm> ;

16.

CTC thủ tục: Procedure Hoandoi(var y:Byte; x:Byte); Với a:=5; b:=7; Lệnh Hoandoi(a,b); cho giá trị mới của a và b là?

a)

a=7, b=7;

b)

a=5, b=5.

c)

a=7, b=5;

d)

a=5, b=7;

17.

Khẳng định nào sau đây là đúng?

a)

Các biến được khai báo cho dữ liệu vào/ra được gọi là tham số thực sự của chương trình con.

b)

Biến cục bộ là biến được khai báo ở trong chương trình chính.

c)

Trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra được gọi là các tham số giá trị.

d)

Trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là các giá trị cụ thể được gọi là các tham số giá trị.

18.

Khẳng định nào sau đây là đúng?

a)

Các thủ tục (nếu có) được khai báo bất kỳ trong chương trình chính.

b)

Các thủ tục (nếu có) phải được khai báo và mô tả ngay sau phần khai báo biến và trước Begin của CT chính.

c)

Các thủ tục (nếu có) phải được khai báo sau Begin của chương trình chính.

d)

Các thủ tục (nếu có) phải được khai báo ngay từ đầu của chương trình chính.

19.

Các biến được khai báo cho dữ liệu vào/ra được gọi là?

a)

Tham số hình thức.

b)

Tham số thực sự.

c)

Biến cục bộ.

d)

Biến toàn cục.

20.

Trong lời gọi của thủ tục các tham số hình thức được thay bằng các giá trị cụ thể (hằng hoặc biến) gọi là:

a)

Tham số hình thức.

b)

Tham số thực sự.

c)

Biến cục bộ.

d)

Biến toàn cục.

21.

Cho khai báo sau :

Var a :array[0..16] of integer ;

Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ?

a)

For k:=1 to 16 do write(a[k]);

b)

For k:=16 downto 0 do write(a[k]);

c)

For k:=16 downto 0 write(a[k]);

d)

For k:= 0 to 15 do write(a[k]);

22.

S1 = ‘tin hoc cho moi nguoi’

Pos(‘o’,S1) cho kết quả là?

a)

5

b)

6

c)

7

d)

8

23.

Đoạn chương trình sau in ra kết quả nào ?

Program Welcome ;

Var a : string[10];

Begin

a := ‘tinhoc’;

writeln(length(a));

End.

a)

5

b)

6

c)

Lỗi

d)

8

24.

Khai báo phần đầu một hàm là:

a)

Function <tên hàm> [(<danh sách các tham số>)] ;

b)

Function <tên hàm> ;

c)

Procedure <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

d)

Function <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

25.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau (kiểu xâu) thực hiện công việc gì ?

S1 := ‘ ‘ ;

For i :=1 to length(S) do

S1 :=S1 + upcase(S[i]);

a)

Tạo xâu S1 là chữ in hoa từ xâu S

b)

Tạo xâu S1 là chữ thường từ xâu S

c)

Tạo xâu S1 từ xâu S

d)

Tạo xâu S1 là các kí tự chữ số

26.

Các biến dùng chung cho toàn bộ chương trình được gọi là?

a)

Tham số thực sự.

b)

Biến cục bộ.

c)

Tham số hình thức

d)

Biến toàn cục.

27.

Khẳng định nào sau đây là đúng?

a)

Các thủ tục (nếu có) phải được khai báo ngay từ đầu của chương trình chính.

b)

Các thủ tục (nếu có) phải được khai báo sau Begin của chương trình chính.

c)

Các thủ tục (nếu có) được khai báo bất kỳ trong chương trình chính.

d)

Các thủ tục (nếu có) phải được khai báo và mô tả ngay sau phần khai báo biến và trước Begin của chương trình chính.

28.

Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Length(S) là

a)

12

b)

14

c)

13

d)

15

29.

Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì?

for i := length(str) downto 1 do write(str[i]) ;

a)

In xâu ra màn hình;

b)

In từng kí tự xâu ra màn hình;

c)

In từng kí tự ra màn hình theo thứ tự ngược;

d)

In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên;

30.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình (mảng một chiều) sau thực hiện công việc gì ?

S := 0 ;

For i := 1 to n do

If (a[i] mod 3 =0) or (a[i] mod 5 = 0) then S :=S+a[i] ;

a)

Tính tổng các phần tử trong mảng chia hết cho 3 hoặc chia hết cho 5

b)

Tính tổng các phần tử chia hết cho 5

c)

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

d)

Tính tổng các phần tử chia hết cho 3

31.

Cho khai báo mảng và đoạn chương trình như sau :

Var a : array[0..50] of real ;

k := 0 ;

for i := 1 to 50 do

if a[i] > a[k] then k := i ;

Đoạn chương trình trên thực hiện công việc gì dưới đây ?

a)

Tìm chỉ số của phần tử nhỏ 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ử lớn nhất trong mảng;

d)

Tìm phần tử lớn nhất trong mảng;

32.

Khai báo phần đầu một thủ tục là:

a)

Procedure [(<danh sách các tham số>)] : <kiểu dữ liệu>

b)

Procedure <tên thủ tục>: <kiểu dữ liệu>;

c)

Procedure <tên thủ tục> [(<danh sách các tham số>)] : <kiểu dữ liệu>;

d)

Procedure <tên thủ tục> [(<danh sách các tham số>)];

33.

Mảng A dưới đây chứa bao nhiêu phần tử ?

Const Rows=3 ;

Var A:array[0..rows+1] of integer ;

a)

5

b)

4

c)

3

d)

6

34.

Cho x, y là hai biến nguyên và khai báo thủ tục :

Procedure Doicho( Var a:Integer; b:Integer);

Var z : Integer;

Begin

z:=a; a:=b; b:=z;

End;

Sau khi thực hiện các lệnh:

x:=7; y:=3;

Doicho(x, y);

thì giá trị của x, y là:

a)

x=7, y=7

b)

x=3, y=7

c)

x=3, y=3

d)

x=7, y=3

35.

Cho x, y là hai biến nguyên và khai báo thủ tục :

Procedure Doicho( Var a,b:Integer);

Var z : Integer;

Begin

z:=a; a:=b; b:=z;

End;

Sau khi thực hiện các lệnh:

x:=7; y:=3;

Doicho(x, y);

thì giá trị của x, y là:

a)

x=7, y=7

b)

x=3, y=3

c)

x=3, y=7

d)

x=7, y=3

36.

Trong mảng một chiều, đoạn chương trình sau thực hiện công việc gì ?

Dem := 0 ;

For i := 1 to n do

If a[i] mod 2 = 0 then

Dem := Dem + 1 ;

a)

Đếm các phần tử chia hết cho 2 trong mảng

b)

Gán giá trị a[i] cho biến S

c)

Tính tổng các phần tử chia hết cho 2 trong mảng

d)

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

37.

Đoạn chương trình sau đưa ra màn hình kết quả nào:

for i:= 1 to 10 do write(i);

a)

1 2 3 4 5 6 7 8 9 10

b)

Đưa ra 10 dấu cách

c)

10 9 8 7 6 5 4 3 2 1

d)

Không đưa ra gì cả

38.

S1 ‘abcd’

S2= ‘ghk’

Insert(S1,S2,1) cho kết quả là ?

a)

‘abcdghk’

b)

‘ghkabcd’

c)

‘gabcdgha’

d)

‘aghkbcd’

39.

Các biến được khai báo cho dữ liệu vào/ra được gọi là?

a)

Biến cục bộ.

b)

Tham số thực sự.

c)

Biến toàn cục

d)

Tham số hình thức.

40.

Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện

a)

sao chép vào cuối S1 một phần của S2 từ vị trí vt ;

b)

chèn xâu S1 vào S2 bắt đầu từ vị trí vt ;

c)

chèn xâu S2 vào S1 bắt đầu từ vị trí vt ;

d)

nối xâu S2 vào S1;

41.

Dữ liệu kiểu tệp

a)

Được lưu trữ trên ROM

b)

Được lưu trữ trên RAM

c)

Chỉ được lưu trữ trên đĩa cững

d)

Được lưu trữ trên bộ nhớ ngoài

42.

Dữ liệu kiểu tệp

a)

sẽ bị mất hết khi tắt máy

b)

sẽ bị mất hết khi tắt điện đột ngột

c)

không bị mất khi tắt máy hoặc mất điện

d)

Tất cả các đáp án đều sai

43.

Cách thức truy cập vào tệp văn bản là

a)

Truy cập tuần tự

b)

Truy cập ngẫu nhiên

c)

Truy cập trực tiếp

d)

vừa truy cập tuần tự, vừa truy cập trực tiếp

44.

Số lượng phần tử trong tệp

a)

không được lớn hơn 128

b)

không được lớn hơn 255

c)

phải được khai báo trước

d)

không bị giới hạn mà chỉ phụ thuộc vào dung lượng ổ đĩa

45.

Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp

a)

Var <tên tệp> : Text;

b)

Var <tên biến tệp> : Text;

c)

Var <tên tệp> : String;

d)

Var <tên biến tệp> : String;

46.

Trong Pascal để khai báo hai biến tệp văn bản f1, f2 ta viết

a)

Var f1 f2 : Text;

b)

Var f1; f2 : Text;

c)

Var f1, f2 : Text;

d)

Var f1: f2 : Text;

47.

Để thao tác với tệp

a)

ta có thể gán tên tệp cho tên biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được

b)

ta nhất thiết phải gán tên tệp cho tên biến tệp

c)

ta nên sử dụng trực tiếp tên tệp trong chương trình

d)

ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình

48.

Để gắn tên tệp cho tên biến tệp ta sử dụng câu lệnh

a)

<tên biến tệp> := <Tên tệp>;

b)

<tên tệp> := <Tên biến tệp>;

c)

assign(<biến tệp>, <Tên tệp>);

d)

assign(<tên tệp>, <Tên biến tệp>);

49.

Để gắn tên tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh

a)

f1 := 'KQ.TXT';

b)

KQ.TXT := f1;

c)

assign('KQ.TXT' , f1);

d)

assign(f1 , 'KQ.TXT' );

50.

Trong pascal mở tệp để đọc ta sử dụng thủ tục

a)

reset (<tên tệp>);

b)

reset (<biến tệp>);

c)

rewrite(<tên tệp>);

d)

rewrite(<tên biến tệp>);

51.

Trong Pascal mở tệp để ghi kết quả ta sử dụng

a)

rewrite(<tên tệp>);

b)

rewrite(< biến tệp>);

c)

reset(<tên tệp>);

d)

reset(<tên biến tệp>);

52.

Vị trí của con trỏ sau lời gọi thủ tục Reset

a)

nằm ở đầu tệp

b)

nằm ở cuối tệp

c)

nằm ở giữa tệp

d)

nằm ngẫu nhiên ở bất cứ vị trí nào

53.

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

a)

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

b)

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

c)

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

d)

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

54.

Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục

a)

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

b)

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

c)

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

d)

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

55.

Nếu hàm EOF (<tên biến tệp>) cho giá trị bằng TRUE thì con trỏ tệp nằm ở vị trí

a)

đầu dòng

b)

đầu tệp

c)

cuối dòng

d)

cuối tệp

56.

Nếu hàm EOLN (<tên biến tệp>) cho giá trị bằng TRUE thì con trỏ tệp nằm ở vị trí

a)

đầu dòng

b)

đầu tệp

c)

cuối dòng

d)

cuối tệp

57.

Trong pascal để đóng tệp ta dùng thủ tục

a)

Close(<tên biến tệp>);

b)

Close(<tên tệp>);

c)

Stop(<tên biến tệp>);

d)

Stop(<tên tệp>);

58.

Dữ liệu kiểu tệp được lưu trữ lâu dài ở (a)  

59.

Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào (a)  

60.

Để thao tác với tệp, trước hết ta phải gán tên tệp cho (a)  

61.

Khẳng định nào sau đây là đúng ?

a)

Cả thủ tục và hàm đều có thể có tham số hình thức

b)

Chỉ có thủ tục mới có thể có tham số hình thức

c)

Chỉ có hàm mới có thể có tham số hình thức

d)

Thủ tục và hàm nào cũng phải có tham số hình thức

62.

Biến cục bộ là gì?

a)

Biến được khai báo trong CTC nhưng được sử dụng trong chương trình chính.

b)

Biến được khai báo trong chương trình chính nhưng chỉ được sử dụng cho CTC.

c)

Biến được khai báo trong chương tŕnh con

d)

Biến tự do không cần khai báo

63.

Tham số hình thức của chương trình con là:

a)

Tham số thể hiện trong lệnh gọi CTC

b)

Tham số thể hiện khi khai báo CTC

c)

Tham số hình thức là tham số cục bộ

d)

Tham số hình thức là tham số toàn bộ

64.

Hàm và thủ tục khác nhau ở chổ

a)

Hàm trả về giá trị

b)

Thủ tục trả về giá trị

c)

Hàm trả về giá trị qua tên của nó

d)

Thủ tục trả về giá trị qua tên của nó

65.

Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?

a)

Phần đầu có thể có hoặc không có cũng được.

b)

Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.

c)

Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.

d)

Phần đầu nhất thiết phải có để khai báo tên chương trình con.

66.

Các biến dùng chung cho toàn bộ chương trình được gọi là?

a)

Tham số thực sự.

b)

Biến cục bộ.

c)

Tham số h́nh thức.

d)

Biến toàn bộ.

67.

Chương trình con có bao nhiêu loại?

a)

1

b)

2

c)

3

d)

4

68.

Khẳng định nào sau đây là đúng khi nói về chương trình con (CTC)?

a)

Các CTC phải được khai báo ngay từ đầu của chương trình chính.

b)

Các CTC phải được khai báo sau Begin của chương trình chính.

c)

Các CTC được khai báo bất kỳ trong chương trình chính.

d)

Các CTC phải được khai báo ngay sau phần khai báo biến và trước Begin của chương trình chính.

69.

Trong chương trình, tham số được đưa vào khi gọi chương trình con được gọi là:

a)

Biến toàn cục

b)

Biến cục bộ

c)

Tham số hình thức

d)

Tham số thực sự

70.

Có mấy lợi ích khi dùng chương trình con (CTC)?

a)

2

b)

3

c)

4

d)

5

71.

Hàm bắt đầu bằng từ khóa nào sau đây?

a)

SQRT

b)

PROCEDURE

c)

FOR

d)

FUNCTION

72.

Thủ tục bắt đầu bằng từ khóa nào sau đây?

a)

SQRT

b)

PROCEDURE

c)

FOR

d)

FUNCTION

73.

Để gắn tên tệp cho tên biến tệp ta sử dụng câu lệnh theo cú pháp:

a)

assign(<biến tệp>,<tên tệp>);

b)

<tên tệp> := <tên biến tệp>;

c)

<biến tệp> := <tên tệp>;

d)

assign(<tên tệp>,<biến tệp>);

74.

Dữ liệu kiểu tệp:

a)

Sẽ bị mất hết khi tắt máy

b)

Sẽ bị mất hết khi tắt điện đột ngột.

c)

Không bị mất khi tắt máy hoặc mất điện

d)

Lưu ở bộ nhớ RAM

75.

Trong Pascal để khai báo hai biến tệp văn bản f1, f2 ta viết như sau

a)

var f1; f2 : text

b)

Var f1 f2 : text

c)

Var f1: f2 : text

d)

Var f1, f2 : text

76.

Var g: text;

Begin

Assign(g,'D:\ky2.doc'); Rewrite(g); Write(g,'510+702-792'); Close(g);

End.

Sau khi thực hiện chương trình trên, tập tin 'ky2.doc' có nội dung như thế nào?

a)

510+702-792

b)

510 702 792

c)

420

d)

510702792

77.

Cách thức truy cập vào tệp văn bản là

a)

Truy cập tuần tự

b)

Truy cập ngẫu nhiên

c)

Truy cập trực tiếp

d)

vừa truy cập tuần tự, vừa truy cập trực tiếp

78.

Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp

a)

Var <tên tệp> : Text;

b)

Var <tên biến tệp> : Text;

c)

Var <tên tệp> : String;

d)

Var <tên biến tệp> : String;

79.

Trong pascal mở tệp để đọc ta sử dụng thủ tục

a)

reset (<tên tệp>);

b)

reset (<biến tệp>);

c)

rewrite(<tên tệp>);

d)

rewrite(<tên biến tệp>);

80.

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

a)

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

b)

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

c)

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

d)

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

81.

Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục

a)

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

b)

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

c)

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

d)

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

82.

Nếu hàm EOLN (<tên biến tệp>) cho giá trị bằng TRUE thì con trỏ tệp nằm ở vị trí

a)

đầu dòng

b)

đầu tệp

c)

cuối dòng

d)

cuối tệp

83.

Trong pascal để đóng tệp ta dùng thủ tục

a)

Close(<tên biến tệp>);

b)

Close(<tên tệp>);

c)

Stop(<tên biến tệp>);

d)

Stop(<tên tệp>);

84.

Muốn khai báo x là tham số giá trị và y, z là tham số biến (x, y, z thuộc kiểu Byte) trong thủ tục “ViduTT” thì khai báo nào sau đây là SAI?

a)

Procedure ViduTT(x: Byte; Var y, z: Byte);

b)

Procedure ViduTT(x: Byte; Var y: Byte; Var z: Byte);

c)

Procedure ViduTT(Var y: Byte; x: Byte; Var z: Byte);

d)

Procedure ViduTT(x: Byte; Var y: Byte; z: Byte) ;

85.

Hãy chọn phương án ghép ĐÚNG. Kiểu của một hàm được xác định bởi:

a)

Kiểu giá trị trả về

b)

Kiểu của các tham số

c)

Tên hàm

d)

Địa chỉ mà hàm trả về

86.

Chọn cú pháp đúng nhất về câu lệnh lặp?

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ị cuối> to < giá trị đầu> 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>;

87.

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

a)

Rửa tay tới khi sạch

b)

Gọi điện cho tới khi người nghe máy

c)

Ngày ngủ 2 lần

d)

Chép bài cho tới khi thuộc bài

88.

Trong NNLT Passcal về mặt cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp for có một lệnh con

a)

for i:=1 to 100 do a:=a- 1;

b)

for i:=1 to 100 do; a:=a-1;

c)

for i:=1 to 100 do a:=a-1

d)

for i:=1; to 100 do a:=a-1;

89.

Chọn cú pháp đúng nhất về câu lệnh lặp dạng lùi?

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ị cuối> to < giá trị đầu> do <câu lệnh>;

c)

For <biến đếm>:=<giá trị cuối> downto to <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>;

90.

Theo em thì khi nào câu lệnh lặp for ...do kết thúc?

a)

Khi biến đếm nhỏ hơn giá trị cuối

b)

Khi biến đếm lớn hơn giá trị cuối

c)

Khi biến đếm nhỏ hơn giá trị đầu

d)

Khi biến đếm lớn hơn giá trị đầu

91.

Đoạn chương trình sau giải bài toán nào?

For I:=1 to M do

If (I mod 2 = 0) and (I mod 4 = 0) then

T := T + I;

a)

Tổng các số chia hết cho 2 hoặc 4 trong phạm vi từ 1 đến M

b)

Tổng các số chia hết cho 2 và 4 trong phạm vi từ 1 đến M

c)

Tổng các số chia hết cho 2 trong phạm vi từ 1 đến M

d)

Tổng các số chia hết cho 4 trong phạm vi từ 1 đến M

92.

Vòng lặp While – do kết thúc khi nào

a)

Khi một điều kiện cho trước được thỏa mãn

b)

Khi đủ số vòng lặp

c)

Khi tìm được Output

d)

Tất cả các phương án

93.

Xác định số vòng lặp cho bài toán: Tính tổng các số nguyên từ 1 đến 100

a)

1

b)

100

c)

99

d)

0

94.

Kết quả của (điều kiện ) trong câu lệnh while...do sẽ là kiểu dữ liệu nào?

a)

nguyên

b)

thực

c)

lôgic

d)

Là một dãy kí tự

95.

kết quả của đoạn chương trình sau cho giá trị s=?

S:=0;

for i:=1 to 6 do s:=s+ i

a)

20

b)

21

c)

10

d)

0

96.

Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?

a)

Là một tập hợp các số nguyên

b)

Độ dài tối đa của mảng là 255

c)

Là một dãy hữu hạn các phần tử cùng kiểu

d)

Mảng không thể chứa kí tự

97.

Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:

a)

khai báo một hằng số là số phần tử của mảng

b)

khai báo chỉ số bắt đầu và kết thúc của mảng

c)

khai báo chỉ số kết thúc của mảng

d)

không cần khai báo gì, hệ thống sẽ tự xác định

98.

Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho:

a)

chèn thêm phần tử

b)

truy cập đến phần tử bất kì

c)

xóa một phần tử

d)

chèn thêm phần tử và xóa phần tử

99.

Cho khai báo mảng như sau: Var a : array[0..10] of integer ;

Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?

a)

a[10];

b)

a(10);

c)

a[9];

d)

a(9);

100.

Cho khai báo mảng và đoạn chương trình như sau:

Var a : array[0..50] of real ;

k := 0 ;

for i := 1 to 50 do

if a[i] > a[k] then k := i ;

Đoạn chương trình trên thực hiện công việc gì dưới đây?

a)

Tìm phần tử nhỏ nhất trong mảng;

b)

Tìm phần tử lớn nhất trong mảng;

c)

Tìm chỉ số của phần tử lớn nhất trong mảng

d)

Tìm chỉ số của phần tử nhỏ nhất trong mảng

101.

Phương án nào dưới đây là khai báo mảng hợp lệ?

a)

Var mang : ARRAY[0..10] OF INTEGER; 

b)

Var mang : ARRAY[0..10] : INTEGER;

c)

Var mang : INTEGER OF ARRAY[0..10];

d)

Var mang : ARRAY(0..10) : INTEGER;

102.

Thế nào là khai báo biến mảng gián tiếp?

a)

Khai báo mảng của các bản ghi

b)

Khai báo mảng xâu kí tự

c)

Khai báo mảng hai chiều

d)

Khai báo thông qua kiểu mảng đã có

103.

Phát biểu nào sau đây về mảng là không chính xác?

a)

Chỉ số của mảng không nhất thiết bắt đầu từ 1

b)

Có thể xây dựng mảng nhiều chiều

c)

Xâu kí tự cũng có thể xem như là một loại mảng

d)

Độ dài tối đa của mảng là 255

104.

Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?

a)

Dùng để truy cập đến một phần tử bất kì trong mảng

b)

Dùng để quản lí kích thước của mảng

c)

Dùng trong vòng lặp với mảng

d)

Dùng trong vòng lặp với mảng để quản lí kích thước của mảng

105.

Vòng lặp While – do kết thúc khi nào

a)

Khi một điều kiện cho trước được thỏa mãn

b)

Khi đủ số vòng lặp

c)

Khi tìm được Output

d)

Tất cả các phương án còn lại

106.

Cho xâu s := ‘123456789’, sau khi thực hiện thủ tục delete(s,3,4) thì biến S chứa giá trị nào sau đây:

a)

‘12789’

b)

‘1256789’

c)

‘123789’

d)

Xâu rỗng

107.

Trong xâu, câu lệnh sau làm gì?

For i:=1 to length(a) do write(a[i]);

a)

Xuất xâu a theo thứ tự đã nhập

b)

Xuất ra kí tự đầu của xâu a

c)

Xuất xâu a theo thứ tự ngược

d)

Xuất ra kí tự cuối của xâu a

108.

Để khai báo kiểu xâu trực tiếp ta sử dụng cú pháp nào?

a)

Var <tên biến> : String[độ dài lớn nhất của xâu];

b)

Var <tên biến> = <tên kiểu>;

c)

Var <tên biến> = String[độ dài lớn nhất của xâu];

d)

Var <tên biến> : <tên kiểu>;

109.

Trong Pascal, xâu là:

a)

dãy các ký tự trong bộ mã ASCII;

b)

dãy 128 ký tự trong bộ mã ASCII;

c)

dãy 24 ký tự trong bộ mã ASCII;

d)

mảng 1 chiều A có 24 Ký tự;

110.

Trong Pascal, cho khai báo sau Var s:String; có nghĩa là:

a)

Khai báo xâu s không đúng;

b)

Khai báo xâu s có độ dài lớn nhất là 0 ký tự;

c)

Khai báo xâu s có độ dài lớn nhất là 128 ký tự;

d)

Khai báo xâu s có độ dài lớn nhất là 255 ký tự;

111.

Cho biết kết quả của phép toán sau: ‘BT’ + ‘Tin hoc’ + ‘ 11’?

(a)  

112.

Cho biết độ dài lớn nhất của xâu trong khai báo sau:

Var hoten:string[28];

(a)  

113.

Trong ngôn ngữ lập trình Pascal, xâu kí tự không có ký tự nào gọi là:

a)

Xâu rỗng.

b)

Xâu bằng không.

c)

Xâu trắng.

d)

Không phải là xâu kí tự.

114.

Trong ngôn ngữ lập trình Pascal, phần tử đầu tiên của xâu kí tự thường chỉ số bắt đầu là:

a)

0

b)

Do người lập trình khai báo.

c)

Không có chỉ số.

d)

1

115.

Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là đúng:

a)

S: file of char;

b)

S: string(200);

c)

S: string;

d)

S: file of string;

116.

Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là sai:

a)

S: string[525];

b)

S: string[1];

c)

x1: string[255];

d)

S: string;

117.

Cho s = ‘abc123456’ hàm Copy(s,2,4) cho giá trị bằng:

a)

12

b)

23

c)

bc12

d)

c123

118.

Để xóa đi kí tự đầu tiên của xâu S ta viết:

a)

Delete (S, 1, 1);

b)

Delete (S, 1, i);

c)

Delete (S, Length(S), 1);

d)

Delete (S, i, 1);

119.

Cho s := ‘500 ki tu’


hàm Length(s) cho giá trị bằng:

a)

9

b)

‘5’

c)

500

d)

‘500’

120.

Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Viet Nam’,S) là:

a)

9

b)

11

c)

10

d)

12

121.

Cho S1:='Bien dao que huong';

S2:= upcase(S1[10]);

S2 có giá trị là:

a)

'Q'

b)

'Bien Dao Que Huong'

c)

'Que'

d)

‘Bien’

122.

Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện:

a)

Chèn xâu S1 vào S2 bắt đầu từ vị trí vt

b)

Chèn xâu S2 vào S1 bắt đầu từ vị trí vt

c)

Nối xâu S2 vào S1

d)

Sao chép vào cuối S1 một phần của S2 từ vị trí vt

123.

so sánh 2 xâu, biết

S1='Tin học'; S2='Tin Học'

a)

S1>S2

b)

S1=S2

c)

S1<S2

d)

S1>=S2

124.

Cho xâu kí tự s:=‘Truong THPT BAC KAN’;

Khi tham chiếu s[7] cho ta:

a)

Gồm 7 kí tự đầu xâu

b)

Gồm 7 kí tự cuối xâu

c)

kí tự thứ 7 trong xâu

d)

Xâu có 7 kí tự

125.

Cho 2 xâu  a:=‘đoạn chương trình’;    b:=‘’ ;

Cho biết kết quả sau khi thực hiện các câu lệnh sau:

  For i:=13 to length(a) do b:=b+ a[i];

      writeln(b);  

a)

‘đoạn chương trình’

b)

‘trình’

c)

‘chương trình’

d)

‘hnirt gnơưhc’

126.

Thủ tục chuẩn Insert(s1,s2,vt) thực hiện:

a)

Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt

b)

Chèn xâu s2 vào xâu s1 bắt đầu từ vị trí vt

c)

Nối xâu s2 vào xâu s1

d)

Sao chép 1 phần tử của s2 ghép vào cuối s1

127.

Cho khai báo Var s: string; Phát biểu nào sau đây là đúng?

a)

xâu có độ dài lớn nhất là 100

b)

Câu lệnh sai vì thiếu khai báo độ dài xâu

c)

Xâu có độ dài tối đa là 255

d)

Xâu không giới hạn về độ dài

128.

Cho xâu s= 'HANOI-VIETNAM' . Kết quả hàm length(s) là:

a)

12

b)

13

c)

14

d)

15

129.

đoạn chương trình trên cho kết quả là bao nhiêu??

a)

6

b)

7

c)

8

d)

5

130.

Cho s là 1 xâu kí tự. Đoạn chương trình sau là công việc gì?

For i:= length(s) downto 1 do write(s[i])

a)

In xâu s ra màn hình

b)

In từng kí tự của s ra màn hình

c)

In từng kí tự ra màn hình theo thứ tự ngược

d)

In từng kí tự của s theo thứ tự ngược trù kí tự đầu tiên

131.

Sau khi thực hiện chương trình, kết quả của s là:

a)

Ha Noi Mua thu

b)

Mua thu Ha Noi Mua thu

c)

Mua thu Ha Noi

d)

Ha Noi

132.

Cho xâu s= 'truong thpt THD'. Hàm copy(s,7,9) cho kết quả là:

a)

'thpt THD'

b)

' thpt THD'

c)

'thpt'

d)

'THD'

133.

Đoạn chương trình trên thực hiện công việc gì?

a)

Ghép xâu s vào xâu b

b)

Tạo xâu b là xâu ngược của xâu s

c)

Tạo xâu b bao gồm các kí tự khác dấu cách của xâu s

d)

ghép kí tự đầu tiên của xâu s vào xâu b

134.

Chọn các phương án đúng trong các câu sau:

a)

Có thể coi xâu là mảng 1 chiều với phần tử là các kí tự trong xâu.

b)

Phép cộng xâu thực chất là nối 2 xâu với nhau

c)

Phép so sánh xâu dựa trên so sánh độ dài 2 xâu.

d)

Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn.

135.

Cảm nhận của em sau tiết học này là gì?

4 lines
136.

Trong ngôn ngữ lập trình Pascal chương trình con được chia thành mấy loại?

a)

1

b)

2

c)

3

d)

4

137.

Khẳng định nào sau đây là đúng ?

a)

Cả thủ tục và hàm đều có thể có tham số hình thức

b)

Chỉ có thủ tục mới có thể có tham số hình thức

c)

Chỉ có hàm mới có thể có tham số hình thức

d)

Thủ tục và hàm nào cũng phải có tham số hình thức

138.

Hàm và thủ tục khác nhau ở chổ

a)

Hàm trả về giá trị

b)

Thủ tục trả về giá trị

c)

Hàm trả về giá trị qua tên của nó

d)

Thủ tục trả về giá trị qua tên của nó

139.

Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?

a)

Phần đầu có thể có hoặc không có cũng được.

b)

Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.

c)

Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.

d)

Phần đầu nhất thiết phải có để khai báo tên chương trình con.

140.

Trong chương trình, tham số được đưa vào khi gọi chương trình con được gọi là:

a)

Biến toàn cục

b)

Biến cục bộ

c)

Tham số hình thức

d)

Tham số thực sự

141.

Có mấy lợi ích khi dùng chương trình con (CTC)?

a)

2

b)

3

c)

4

d)

5

142.

Biến cục bộ là gì?

a)

Biến được khai báo trong CTC nhưng được sử dụng trong chương trình chính.

b)

Biến được khai báo trong chương trình chính nhưng chỉ được sử dụng cho CTC.

c)

Biến được khai báo trong chương tŕnh con

d)

Biến tự do không cần khai báo

143.

Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là KHÔNG đúng?

a)

Cấu trúc của chương trình con gồm 3 phần: Phần đầu, phần khai báo và phần thân

b)

Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.

c)

Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.

d)

Phần thân không nhất thiết phải có

144.

Hàm bắt đầu bằng từ khóa nào sau đây?

a)

SQRT

b)

PROCEDURE

c)

FOR

d)

FUNCTION

145.

Thủ tục bắt đầu bằng từ khóa nào sau đây?

a)

SQRT

b)

PROCEDURE

c)

FOR

d)

FUNCTION