wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Tinnn Họccc

Total questions: 178

Worksheet time: 2hrs 31mins

Name
Class
Date
1.

Xâu là kiểu dữ liệu:

a)

liệt kê.

b)

có cấu trúc        

c)

đơn giản chuẩn

d)

vô hướng.

2.

Xâu là kiểu dữ liệu có độ dài tối đa là 

a)

120 kí tự

b)

256 kí tự

c)

255 kí tự

d)

128 kí tự

3.

Để định nghĩa một kiểu xâu có độ dài xác định, sử dụng cú pháp nào?

a)

Type <tên kiểu xâu>: string;

b)

Type <tên kiểu xâu> = string;

c)

Type <tên kiểu xâu> = string[n] ;

d)

Type <tên kiểu xâu>:= string[n] ;

4.

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

                       

a)

Type <tên kiểu xâu> = string[n] ;

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

b)

Type <tên kiểu xâu>: string[n] ; Var <tên biến>: <tên kiểu xâu>; 

c)

Type <tên kiểu xâu> = string;  

d)

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

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

5.

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

                

a)

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

b)

Var <tên biến> = string[n] ; 

c)

Var <tên biến>: string[n] ; 

d)

Var <tên biến> = string;

6.

Trong các khai báo sau khai báo nào sai?

     

       

a)

Type st30 = string[30]; 

b)

Type st10 = string[10] ; Var s1: st10;

c)

Var hoten: string[30] ;

d)

Var s2 = string[20] ;

7.

Trong các phát biểu sau phát biểu nào sai? 

   

a)

Xâu không có kí tự nào được gọi là xâu rỗng.

b)

Có thể sử dụng các lệnh đọc và ghi đối với kiểu dữ liệu xâu. 

c)

Xâu có chiều dài xác định.

d)

Trong xâu, byte cuối cùng chứa độ dài của xâu.

8.

Trên kiểu dữ liệu xâu có các phép toán nào? 

a)

Phép so sánh và phép gán.        

b)

Phép so sánh và phép nối.

c)

Phép gán và phép nối

d)

Phép gán, phép nối và phép so sánh. 

9.

Trong các phát biểu sau, phát biểu nào đúng? 

a)

Hai xâu bằng nhau là hai xâu có cùng số phần tử.

b)

Hai xâu khác nhau khi số phần tử của chúng khác nhau. 

c)

Hai xâu có độ dài bằng nhau khi tất cả các cặp ksi tự đều giống nhau

d)

Hai xâu có cùng độ dài luôn bằng nhau

10.

Trong các phát biểu sau, phát biểu nào sai? 

 

a)

Khi so sánh hai xâu từ trái qua phải theo từng cặp kí tự thì xâu nào có kí tự lớn hơn thì xâu đó lớn hơn. 

b)

Khi so sánh hai xâu từ trái qua phải theo từng cặp kí tự thì xâu nào có kí tự nhỏ hơn thì xâu đó nhỏ hơn. 

c)

Hai xâu khác nhau khi có ít nhất một cặp kí tự khác nhau. 

d)

Mọi xâu chứa toàn kí tự trắng đều bằng nhau. 

11.

Cho stl:= ‘abcd’; st2:= ‘ABC’; khi đó st1+st2 cho kết quả nào?

a)

abcd

b)

abcdABC

c)

aabbccd

d)

ABCabcd

12.

Trong các phép toán sau phép nào trả về giá trị đúng? 

           

a)

‘abcdh’ > ‘abcdef’.     

b)

‘cba’ < ‘abc’.  

c)

‘abc’ = ‘ABC’.

d)

‘ccb’ < ‘abcdef’.

13.

Phép so sánh chuỗi s1 = ‘Hoa hoc tro’ và chuỗi s2= ‘Hoa hoc Tro’ nhận kết quả nào?

           

a)

sl = s2.

b)

s1 < s2

c)

s1 > s2.

d)

sl < > s2.

14.

Cho chuỗi st, cho Num và pos là 2 biến kiểu nguyên chỉ số kí tự và vị trí bất kì trong xâu. Thủ tục Delete(st, pos, num) có chức năng?

           

a)

Xoá một chuỗi có độ dài bất kì.  

b)

Xoá trong xâu st num kí tự bắt đầu từ vị trí pos.

c)

Xoá kí tự trong chuỗi st.

d)

Xoá trong xâu st pos kí tự bắt đầu từ vị trí num.

15.

Cho chuỗi st1, st2. Cho pos là biến kiểu nguyên chỉ vị trí bất kì trong xâu.

Thủ tục Insert(st2, st1, pos) có chức năng?

a)

Chèn xâu st2 vào xâu stl bắt đầu ở vị trí pos.

b)

Chèn xâu st1 vào xâu st2 bắt đâu ở vị trí pos.

c)

Chèn xâu st2 vào xâu st1 bắt đầu ở vị trí cuối xâu. 

d)

Chèn xâu st1 vào xâu st2 bắt đầu ở vị trí đầu xâu.

16.

Cho hàm length(st) trong đó st là biến kiểu xâu. Chức năng của hàm là 

a)

Hàm trả về chiều dài các kí tự trống. 

b)

Hàm trả về độ dài thực của xâu st. 

c)

Hàm trả về độ dài tối đa của xâu. 

d)

Hàm trả về độ dài xâu st sau khi đã bỏ kí tự trắng.

17.

Cho hàm Copy(st, pos, num), trong đó num và pos là 2 biến kiểu nguyên chỉ số kí tự và vị trí bất kì trong xâu, st là một xâu. Chức năng của hàm: 

a)

Cho kết quả là xâu con của xâu st gồm num kí tự bắt đầu từ vị trí pos. 

b)

Cho kết quả là xâu con của xâu st gồm num kí tự. 

c)

Sao chép xâu st thành một xâu khác. 

d)

Sao chép mum kí tự vào xâu st. 

18.

Cho hàm Pos(st1, st2), trong đó st1, st2 là các xâu. Hàm trả về kết quả: 

a)

Vị trí xuất hiện của xâu st1 trong xâu st2. 

b)

Vị trí xuất hiện của xâu st2 trong xâu stl. 

c)

Vị trí xuất hiện đầu tiên của xâu st1 trong xâu st2. Nếu xâu st1 không có mặt trong xâu st2 thì hàm trả về kết quả là 0. 

d)

Vị trí xuất hiện đầu tiên của xâu st1 trong xâu st2. Nếu xâu st1 không có mặt trong xâu st2 thì hàm báo lỗi. 

19.

Cho st = ‘abcde’. Kết quả khi gọi thủ tục Delete(st,2,3) là

       

a)

st = ‘ab’   

b)

st = ‘ac’ 

c)

st = ‘bc’ 

d)

st = ‘ae’ 

20.

Cho st1 = ‘abc’; st2 = ‘deft’. Kết quả gọi Insert(st2,st1,3) là 

          

a)

‘abcdeft’

b)

‘abcfted’

c)

‘abdeftc’

d)

‘eftcabd’

21.

Cho st = ‘chuc cac ban may man’, kết quả hàm Length(st) là

a)

16

b)

20

c)

18

d)

22

22.

Kết quả của việc thực hiện hàm Copy(‘abedef’,3,2) là

     

a)

‘ab’.

b)

‘ef’.

c)

‘ed’.

d)

‘df’.

23.

Kết quả của việc thực hiện hàm Pos(‘ab’, ‘deabcab’) là

a)

2

b)

4

c)

3

d)

5

24.

Kết quả của việc thực hiện hàm Pos(‘ab’, ‘defbcad’) là

a)

0

b)

2

c)

1

d)

3

25.

Trong ngôn ngữ lập trình Pascal, xâu kí tự là 

a)

Mảng các kí tự.

b)

Dãy các kí tự trong bảng mã ASCII. 

c)

Tập hợp các chữ cái trong bảng chữ cái tiếng Anh. 

d)

Tập hợp các chữ cái và chữ số trong bảng chữ cái tiếng Anh. 

26.

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 string; 

b)

S: string;

c)

S. File of char;   

d)

S = string;

27.

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 không

b)

xâu rỗng

c)

xâu trắng

d)

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

28.

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

a)

0

b)

1

c)

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

d)

không có chỉ số

29.

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

            A. S: String;    B. S: String[256] ;       C. X1: String[100] ;    D. X1: String[1] .

a)

S: String; 

b)

S: String[256]; 

c)

X1: String[100];

d)

X1: String[1] .

30.

Trong ngôn ngữ lập trình Pascal, sau khi chương trình thực hiện xong đoạn chương trình sau, giá trị của biến S là

S:= ‘Ha Noi mua thu’;

Delete(S, 7, 8);

Insert(‘Mua thu ’, S, 1);

a)

Ha Noi mua thu

b)

Mua thu Ha Noi mua thu

c)

Mua thu Ha Noi

d)

Ha Noi

31.

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

If (ch >=‘A’) and (ch <= Z’) Then ch:= Chr(Ord(ch)+32);

a)

Xoá kí tự có trong biến ch.

b)

Biến ch thành chữ thường nếu ch là chữ hoa. 

c)

Không thực hiện gì.

d)

Biến ch thành chữ hoa.

32.

Trong ngôn ngữ lập trình Pascal, thủ tục chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt được viết. 

a)

Insert(vt, Sl, S2)

b)

Insert(S1, S2, Vt)

c)

Insert(Sl, vt, S2) 

d)

Insert(S2, Sl, Vt) 

33.

Trong ngôn ngữ lập trình Pascal, với xâu kí tự ta có thể: 

          

a)

So sánh hai xâu kí tự.     

b)

Gán biến xâu cho biến xâu.

c)

Gán một kí tự cho biến xâu

d)

Cả ba việc này. 

34.

Trong ngôn ngữ lập trình Pascal, hai xâu kí tự được so sánh dựa trên: 

a)

Mã của từng kí tự trong các xâu lần lượt từ trái sang phải.

b)

Độ dài tối đa của hai xâu. 

c)

Độ dài thực sự của hai xâu.

d)

Số lượng các kí tự khác nhau trong xâu.

35.

Trong ngôn ngữ lập trình Pascal. Hàm Upcase(Ch) cho kết quả là

           

a)

Chữ cái in hoa tương ứng với Ch.

b)

Xâu Ch gồm toàn chữ hoa. 

c)

Xâu Ch toàn chữ thường

d)

Biển Ch thành chữ thường. 

36.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì? (giá trị của biến dem)

dem = 0;

For ch:= ‘a’ to ‘z’ do 

If pos(ch, S) <> 0 Then dem:= dem + 1;

a)

Đếm số lượng kí tự khác dấu cách của xâu S. 

b)

  Đếm số lượng kí tự là chữ cái in hoa của xâu S.

c)

Đếm số lượng kí tự là chữ cái thường trong xâu S.

d)

Đếm số lượng là chữ cái thường khác nhau có trong xâu S. 

37.

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

X:= Length(S);

For i:= X downto 1 Do 

If S[i] = ‘ ’ Then Delete(S,i,1); {là một dấu cách} 

a)

Xoá dấu cách đầu tiên trong xâu kí tự S.

b)

Xoá dấu cách thừa trong xâu kí tự S.

c)

Xoá dấu cách tại vị trí cuối cùng của xâu S.

d)

Xoá mọi dấu cách của xâu S.

38.

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,1,1); 

b)

Delete(S, i, 1); {i là biến có giá trị bất kì} 

c)

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

d)

Delete(S, l, i); {i là biến có giá trị bất kì}

39.

Trong ngôn ngữ lập trình Pascal, để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu S ta có thể viết bằng cách nào trong các cách sau? 

      

a)

S1 := ‘hoa’; l:= Pos(S1, ‘hoa’); 

b)

l := Pos(‘hoa’, S); 

c)

l := Pos(S, ‘hoa’); 

d)

l := Pos(‘hoa’, ‘hoa’); 

40.

Trong ngôn ngữ lập trình Pascal, để in một xâu kí tự ra màn hình theo thứ tự ngược lại của các kí tự trong xâu (vd: abcd thì in ra dcba), đoạn chương trình nào sau đây thực hiện việc này? 

a)

For i := 1 To Length(S) Do Write(S[i] ); 

b)

For i := Length(S) Downto 1 Do Write(S[i] ); 

c)

For i := Length(S) Downto 1 Do Write(S); 

d)

For i := 1 To Length(S) Div 2 Do Write(S[i] );

41.

Trong ngôn ngữ lập trình Pascal, để đếm số kí tự là kí tự số trong xâu S, đoạn chương trình nào trong các đoạn sau thực hiện việc mày (biến d dùng để đếm). 

a)

d := 0;

For i := 1 To length(S) Do

If (S[i] ) >= 0) and (S[i] <= 9) Then d:= d + l; 

b)

d := 0;

For i:= 1 To length(S) Do

If (S[i] ) = 0) and (S[i] ) = 9) Then d:= d + 1; 

c)

d := 0;

For i := 1 To length(S) Do

If (S[i] ) >= ‘0’) and S[i] <= ‘9’) Then d := d + 1; 

d)

d := 0;

For i:= 1 To length(S) Do

If (S[i] ) = ‘0’) and (S[i] ) = ‘9’) Then d := d + l;

42.

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.

43.

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ả đều sai

44.

Phát biểu nào dưới đây là ĐÚNG?

a)

Các kiểu dữ liệu đều được lưu trữ ở bộ nhớ trong (RAM).

b)

Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ trong

c)

Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ ngoài (đĩa mềm, đĩa cứng, CD, thiết bị nhớ Flash)

d)

Các dữ liệu trong máy tính đều bị mất đi khi tắt nguồn điện.

45.

Phát biểu nào sau đây 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 chứa dữ liệu được tổ chức theo một cách thức nhất định gọi là tệp có cấu trúc.

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 mã ASCII được phân chia thành một hay nhiều dòng.

46.

Phát biểu nào sau đây là SAI?

a)

Có thể truy cập trực tiếp tệp văn bản.

b)

Tệp có cấu trúc có thể truy cập trực tiếp.

c)

Tệp có cấu trúc có thể truy cập tuần tự.

d)

Truy cập trực tiếp là cách truy cập cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí (thường là số hiệu) của dữ liệu đó.

47.

Phát biểu nào sau đây là đúng?

a)

Số lượng phần tử của tệp là cố định.

b)

Kích thước tệp có thể rất lớn.

c)

Dữ liệu một tệp được lưu trữ trên đĩa thành một vùng dữ liệu liên tục.

d)

Tệp lưu trữ lâu dài trên đĩa, không thể xóa tệp trên đĩa.

48.

Phát biểu nào sau đây là sai?

    

a)

Tệp nhị phân thuộc loại tệp có cấu trúc.

b)

Các dòng trong tệp văn bản có độ dài bằng nhau.

c)

Có thể hiểu nội dung các tệp văn bản khi hiển thị nó trên màn hình trong phần mềm soạn thảo văn bản.

d)

Không thể hiểu nội dung các tệp có cấu trúc khi hiển thị nó trên màn hình trong phần mềm soạn thảo văn bản.

49.

Phát biểu nào sau đây là sai?

a)

Trong lập trình, muốn thao tác trên tệp dữ liệu phải thao tác gián tiếp qua biến tệp.

b)

Biến tệp là biến kiểu xâu.

c)

Trong Pascal, biến tệp văn bản có kiểu text

d)

Trong chương trình, tên tệp có thể là biến xâu hoặc hằng xâu.

50.

Phát biểu nào sau đây là sai?

a)

Muốn đọc / ghi dữ liệu trong một tệp, sau khi gắn biến tệp với tên tệp cần phải thực hiện thao tác mở tệp đó;

b)

Trong lệnh mở tệp, cần khai báo tên tệp để xác định đúng vị trí tệp trên đĩa.

c)

Trong lệnh gán tên tệp với biến tệp, cần khai báo tên tệp để xác định đúng vị trí tệp trên đĩa.

d)

Sau khi mở tệp, con trỏ tệp ở vị trí đầu tệp.

51.

Chọn mệnh đề sai trong các mệnh đề sau:

a)

Sau khi đọc xong tệp, không đóng tệp cũng không gây ảnh hưởng gì cho việc quản lí tệp.

b)

Một tệp văn bản đang mở và con trỏ tệp không ở phần tử đầu tiên, muốn làm việc với phần tử đầu tiên của tệp cần đóng tệp và mở lại.

c)

Khi mở lại tệp, nếu không thay đổi biến tệp thì không cần gán lại biến tệp với tên tệp.

d)

Khi ghi xong dữ liệu vào tệp, cần đóng tệp.

52.

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

(a)  

53.

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.

54.

Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác đọc dữ liệu từ tệp:

a)

Mở tệp - Gán tên tệp với biến tệp - Đọc dữ liệu từ tệp - Đóng tệp

b)

Mở tệp - Đọc dữ liệu từ tệp - Gán tên tệp với biến tệp - Đóng tệp.

c)

Gán tên tệp với biến tệp - Mở tệp - Đọc dữ liệu từ tệp - Đóng tệp.

d)

Gán tên tệp với biến tệp - Đọc dữ liệu từ tệp - Mở tệp - Đóng tệp.

55.

Hãy chọn các thao tác ghi trên tệp văn bản chứa dữ liệu là:

a)

Thông báo mở tệp để đọc - Đọc dữ liệu trong tệp - Đóng tệp - Gán biến tệp với tên tệp.

b)

Thông báo mở tệp để đọc - Đọc dữ liệu trong tệp - Gán biến tệp với tên tệp - Đóng tệp.

c)

Gán biến tệp với tên tệp - Thông báo mở file để ghi dữ liệu mới - Ghi dữ liệu mới - Đóng tệp.

d)

Gán biến tệp với tên tệp - Thông báo mở file để ghi dữ liệu mới - Đọc dữ liệu trong tệp - Đóng tệp.

56.

Hãy chọn các thao tác đọc trên tệp văn bản chứa dữ liệu là:

a)

Gán biến tệp với tên tệp - Thông báo mở file để ghi dữ liệu mới - Ghi dữ liệu mới - Đóng tệp.

b)

Gán biến tệp với tên tệp - Thông báo mở tệp để đọc - Đọc dữ liệu trong tệp - Đóng tệp.

c)

Thông báo mở file để ghi dữ liệu mới - Gán biến tệp với tên tệp - Ghi dữ liệu mới - Đóng tệp.

d)

Thông báo mở file để ghi dữ liệu mới - Ghi dữ liệu mới - Gán biến tệp với tên tệp - Đóng tệp.

57.

Hãy chọn thứ tự các thao tác trong Pascal để ghi tiếp dữ liệu vào cuối tệp có cấu trúc đã tồn tại trên đĩa:

a)

Mở tệp để ghi - Gán tên tệp với biến tệp - Thao tác để di chuyển con trỏ tệp đến cuối tệp - Ghi dữ liệu vào tệp - Đóng tệp.

b)

Gán tên tệp với biến tệp - Mở tệp để ghi - Thao tác để di chuyển con trỏ tệp đến cuối tệp - Ghi dữ liệu vào tệp - Đóng tệp.

c)

Gán tên tệp với biến tệp - Thao tác để di chuyển con trỏ tệp đến cuối tệp - Mở tệp để ghi - Ghi dữ liệu vào tệp - Đóng tệp.

d)

Mở tệp để ghi - Gán tên tệp với biến tệp - Ghi dữ liệu vào tệp - Thao tác để di chuyển con trỏ tệp đến cuối tệp - Đóng tệp.

58.

Trong PASCAL để khai báo biến tệp văn bản ta phải 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;

59.

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;

60.

Để 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.

61.

Để 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(<tên biến tệp>,<tên tệp>);

d)

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

62.

Để gắ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’);

63.

Trong PASCAL mở tệp để đọc dữ liệu ta phải sử dụng thủ tục

A. Reset(<tên tệp>);   B. Reset(<tên biến tệp>);

C. Rewrite(<tên tệp>);            D. Rewrite(<tên biến tệp>);

a)

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

b)

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

c)

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

d)

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

64.

Trong PASCAL mở tệp để ghi kết quả ta phải sử dụng thủ tục

a)

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

b)

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

c)

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

d)

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

65.

Vị trí của con trỏ tệp 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 kỳ vị trí nào.

66.

Để đọ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>);

67.

Để 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ả>);

68.

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

69.

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)

cuối dòng

c)

đầu tệp

d)

cuối tệp

70.

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>);

71.

Var <tên biến tệp>: Text; có ý nghĩa gì?

a)

Thủ tục gán tên tệp cho tên biến tệp.

b)

Thủ tục mở tên để đọc dữ liệu.

c)

Khai báo biến tệp.

d)

Thủ tục đóng tệp.

72.

Assign(<tên biến tệp>,<tên tệp) ; có ý nghĩa gì?

a)

Thủ tục gán tên tệp cho tên biến tệp.

b)

Thủ tục mở tên để đọc dữ liệu.

c)

Khai báo biến tệp.

d)

Thủ tục đóng tệp.

73.

Reset(<tên biến tệp>); có ý nghĩa gì?

a)

Thủ tục gán tên tệp cho tên biến tệp.  

b)

Thủ tục mở tên để đọc dữ liệu.

c)

Khai báo biến tệp.

d)

Thủ tục đóng tệp.

74.

Close(<tên biến tệp>) ; có ý nghĩa gì?

a)

Thủ tục gán tên tệp cho tên biến tệp.

b)

Thủ tục mở tên để đọc dữ liệu.

c)

Khai báo biến tệp.

d)

Thủ tục đóng tệp.

75.

Rewrite(<tên biến tệp>); có ý nghĩa gì?

a)

thủ tục mở tệp để ghi dữ liệu.   

b)

thủ tục đọc dữ liệu từ tệp.

c)

thủ tục ghi dữ liệu vào tệp.     

d)

thủ tục đóng tệp.

76.

read(<tên biến tệp>,<danh sách biến>); có ý nghĩa gì?

a)

thủ tục mở tệp để ghi dữ liệu.  

b)

thủ tục đọc dữ liệu từ tệp.

c)

thủ tục ghi dữ liệu vào tệp.   

d)

thủ tục đóng tệp.

77.

write(<tên biến tệp>,<danh sách kết quả>);   có ý nghĩa gì?

a)

thủ tục mở tệp để ghi dữ liệu.

b)

thủ tục đọc dữ liệu từ tệp.

c)

thủ tục ghi dữ liệu vào tệp.  

d)

thủ tục đóng tệp.

78.

Hãy chọn phương án ghép đúng. Tệp văn bản

a)

cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.

b)

Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.

c)

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

d)

là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.

79.

Hãy chọn phương án ghép đúng. Tệp có cấu trúc

a)

cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.

b)

Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.

c)

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

d)

là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.

80.

Hãy chọn phương án ghép đúng. Tệp truy cập tuần tự

a)

cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.

b)

Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.

c)

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

d)

là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.

81.

Hãy chọn phương án ghép đúng. Tệp truy cập trực tiếp

a)

cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó.

b)

cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó.     

c)

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

d)

cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ cuối tệp và đi qua lần lượt tất cả các dữ liệu trước nó.

82.

Lập trình có cấu trúc còn gọi là

           

a)

Lập trình từ gốc đến ngọn. 

b)

Lập trình có phân mảnh.

c)

Lập trình từ trên xuống.

d)

Tất cả các phương án trên. 

83.

Ngôn ngữ lập trình Turbo Pascal cho phép xây dựng mấy loại chương trình con?

a)

1 loại

b)

2 loại

c)

3 loại

d)

4 loại

84.

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 của các tham số.

b)

Kiểu giá trị trả về.

c)

Tên hàm.

d)

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

85.

Mô tả nào dưới đây về hàm là sai?

          

a)

Phải trả lại kết quả.     

b)

Phải có tham số.

c)

Trong hàm có thể gọi lại chính hàm đó.  

d)

Có thể có các biến cục bộ.  

86.

Mô tả nào dưới đây về tham số là sai?

a)

Một hàm có thể có cả tham số giá trị và tham số biến

b)

Có thể truyền biến số cho tham số giá trị

c)

Có thể truyền giá trị cho tham số biến

d)

Có thể dùng tham số biến để nhận kết quả

87.

Trong các cách sử dụng thủ tục sau, cách nào là phù hợp nhất?

a)

Khai báo lại thủ tục và gọi nó mỗi khi cần sử dụng

b)

Khai báo thủ tục duy nhất một lần và gọi nó một lần duy nhất

c)

Chỉ cần khai báo

d)

Khai báo thủ tục một lần và gọi nó trong thân chương trình mỗi khi muốn sử dụng

88.

Hàm chuẩn nào dưới đây biến giá trị thực 6.6 thành 7?

a)

Odd

b)

Round

c)

Trune

d)

Abs

89.

Trong các chương trình chuẩn sau đây, chương trình chuẩn nào là thủ tục chuẩn?

           

a)

Sin(x);

b)

Length(S);

c)

Sqrt(x);

d)

Delete(S,5,1);

90.

Giả sử có hai biến xâu x và y ( y đã có giá trị ) câu lệnh nào sau đây là không hợp lệ?

a)

x:= Copy(y,5,3);

b)

x:= y;  

c)

x:= Delete(y,5,3);

d)

Delete(y,5,3);

91.

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 và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.

b)

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ể.

c)

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

d)

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

92.

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ộ.

93.

Kiểu dữ liệu của hàm

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.

94.

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

a)

Biến cục bộ là biến được dùng trong chương trình con chứa nó và trong chương trình chính.

b)

Biến cục bộ là biến chỉ được dùng trong chương trình chính.

c)

Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.

d)

Biến toàn bộ chỉ được sử dụng trong chương trình chính và không được sử dụng trong các chương trình con.

95.

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

a)

Biến toàn cục có thể được sử dụng ở trong một thủ tục;

b)

Biến cục bộ phải có tên khác với tên của biến toàn cục;

c)

Biến cục bộ có thể có kiểu khác với kiểu của biến toàn cục có cùng tên;

d)

Một hàm có thể có nhiều tham số biến;

96.

Mô tả nào dưới đây về chương trình có cấu trúc là phù hợp nhất?

A.        Chương trình có sử dụng cấu trúc mảng và bản ghi;

B.        Sử dụng các hàm và thủ tục thư viện chuẩn; C. Được chia thành nhiều chương trình con;

D. Cả A và B. 

a)

Chương trình có sử dụng cấu trúc mảng và bản ghi

b)

Sử dụng các hàm và thủ tục thư viện chuẩn

c)

Được chia thành nhiều chương trình con

97.

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.

98.

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

a)

Lời gọi hàm nhất định phải có tham số thực sự còn lời gọi thủ tục không nhất thiết phải có tham số thực sự.

b)

Lời gọi thủ tục nhất thiết phải có tham số thực sự còn lời gọi hàm không nhất thiết phải có tham số thực sự.

c)

Cả lời gọi hàm và lời gọi thủ tục đều phải có tham số thực sự.

d)

Lời gọi hàm và lời gọi thủ tục có thể có tham số thực sự hoặc không có tham số thực sự tùy thuộc vào từng thủ tục.

99.

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

a)

Program

b)

Procedure

c)

Var

d)

Function

100.

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

a)

Var

b)

Program

c)

Function

d)

Procedure

101.

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( x: Byte; Var y: Byte; z: Byte);

d)

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

102.

Chọn khai báo phần đầu của hàm đúng?  

a)

Procedure B(var x, y: integer);

b)

var x,y: integer;

c)

Function B(var x, y: integer):real;

d)

Function B(x, y: integer);

103.

Từ khóa của chương trình con là

a)

Procedure

b)

Function

c)

Program

104.

Chọn phát biểu đúng?

a)

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

b)

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

c)

Chương trình con không nhất thiết phải có tham số hình thức.

d)

Chương trình con không nhất thiết phải có tên.

105.

Chọn phát biểu đúng khi nói về chương trình con.

a)

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

b)

Phần đầu có thể có hoặc không

c)

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

d)

Phần khai báo nhất thiết phải có.

106.

Chọn phát biểu đúng về tham biến.   

a)

Truyền giá trị vào chương trình con

b)

Lấy giá trị ra khỏi chương trình con

c)

2 ý trên đúng

d)

2 ý trên sai

107.

Cho khai báo phần đầu hàm như sau Function Min(a, b: integer):integer; thì tên hàm là gì?

a)

Min

b)

a

c)

b

d)

Function

108.

Chọn khẳng định đúng?

a)

Chương trình con được viết trong phần thân chương trình chính.

b)

Chương trình con được viết trước phần khai báo chương trình chính.

c)

Chương trình con có thể được viết ở bất kì nơi nào trong chương trình.

d)

Chương trình con được viết trước phần thân và sau phần khai báo chương trình.

109.

Sự khác nhau cơ bản của hàm và thủ tục là

a)

Thủ tục luôn có var trước khai báo.

b)

Hàm luôn có var trước khai báo.

c)

Hàm luôn trả về kết quả thông qua tên của nó.

d)

Thủ tục luôn trả về kết quả thông qua tên của nó.

110.

Lời gọi hàm có thể tham gia vào?

a)

Biểu thức

b)

Tham số của lời gọi hàm, thủ tục khác.

c)

2 ý trên đúng

d)

2 ý bên sai

111.

Hãy chọn phát biểu SAI. Lợi ích của chương trình con là gì?

a)

Tránh viết lặp đi lặp lại cùng một dãy lệnh.

b)

Phục vụ cho quá trình trừu tượng hóa.

c)

Chương trình phức tạp, khó hiểu

d)

Hỗ trợ việc viết các chương trình lớn.

112.

Sự khác nhau cơ bản giữa chương trình con hàm và thủ tục là

          

a)

Hàm không khác thủ tục

b)

Hàm khác thủ tục ở phần khai báo.

c)

Hàm trả về giá trị còn thủ tục thì không

113.

Biến toàn cục là

a)

Biến khai báo trong chương trình con thủ tục. 

b)

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

c)

Biến khai báo bất kì ở đâu trong chương trình.

d)

Biến được khai báo sau từ khoá Var của chương trình chính. 

114.

. Biến địa phương (cục bộ) là

A.        Biến được khai báo sau từ khoá Var của chương trình con. 

B.        Biến được khai báo sau từ khoá Var của chương trình chính.

C.        Biến được khai báo trong chương trình con hàm và thủ tục.

D.        Đáp án A và C đều đúng.

a)

Biến được khai báo sau từ khoá Var của chương trình con. 

b)

Biến được khai báo sau từ khoá Var của chương trình chính.

c)

Biến được khai báo trong chương trình con hàm và thủ tục.

115.

Hàm có thể nhận kiểu dữ liệu trở về là một trong các kiểu sau:

a)

Real, Integer, Array, Boolean

b)

Record, Real, Interger, Byte, Boolean. 

c)

File, integer, Array, String, Boolean.   

d)

Integer, Real, Char, Boolean, String. 

116.

Tham số hình thức của thủ tục có mấy loại:

a)

1 loại

b)

2 loại

c)

3 loại

d)

không phân loại

117.

Sự khác nhau giữa tham biến và tham trị trong khai báo của chương trình con là:

a)

Tham trị phải định nghĩa bằng từ khoá Type.

b)

Tham trị phải khai báo sau từ khoá Var. 

c)

Tham biến phải có từ khoá Var đứng trước.

d)

không khác nhau. 

118.

Phát biểu nào dưới đây là sai?

a)

Một thủ tục có thể không có tham số hình thức nào

b)

Một thủ tục có thể có một hoặc nhiều tham số hình thức.

c)

Một thủ tục bắt buộc chỉ có một tham số hình thức

119.

Trong lời gọi thủ tục có tham số hình thức thì danh sách các tham số được viết như thế nào?

a)

Danh sách các tham số cách nhau bởi dấu chấm phẩy. 

b)

Danh sách các tham số liền nhau. 

c)

Danh sách các tham số cách nhau bởi dấu phẩy. 

d)

Danh sách các tham số được viết sau từ khoá Var.

120.

Phần khai báo chương trình con được đặt ở đâu trong chương trình chính 

a)

Đặt sau từ khoá Type. 

b)

Đặt sau từ khoá Const.

c)

Đặt cuối chương trình chính.   

d)

Đặt sau phần khai báo biến. 

121.

Phát biểu nào dưới đây là đúng?

a)

Chương trình con là hàm có thể gọi chương trình con thủ tục.

b)

Chương trình con là hàm có thể gọi chương trình, con hàm

c)

Một chương trình con có thể có lời gọi các chương trình con khác đã được định nghĩa trước nó. 

d)

Cả ba phương án đều đúng. 

122.

Phát biểu nào dưới đây là đúng?

a)

Thời gian tồn tại của biến cục bộ là từ khi chương trình con đó thực hiện cho đến khi kết thúc.

b)

Thời gian tồn tại của biến toàn cục là toàn bộ thời gian chương trình chính hoạt động. 

c)

Thời gian hoạt động của biến cục bộ và toàn cục là như nhau.

123.

Phát biểu nào dưới đây là sai?

a)

Tên của các tham số hình thức và tên của các biến địa phương trong B cùng một chương trình con không được trùng nhau. 

b)

Tên của các biến địa phương có thể trùng tên với tên biến toàn cục.

c)

Biến toàn cục có thể tham gia trong các chương trình con của nó.

d)

Biến địa phương có thể tham gia trong bất cứ chương trình con nào. 

124.

Trong chương trình khi thực hiện lệnh Tên hàm := Biểu thức; thì:

a)

Kiểu giá trị của biểu thức có thể nhận bất cứ điều gì. 

b)

Kiểu của biểu thức phải trùng với kiểu của giá trị trả về của hàm. 

c)

Kiểu của biểu thức là kiểu bản ghi.

d)

Kiểu của biểu thức là mảng.

125.

Để sử dụng các chương trình con chuẩn của Turbo Pascal ta phải sử dụng từ khoá

a)

Unit

b)

Uses

c)

System

d)

Const

126.

Phát biểu nào dưới đây là đúng?

a)

Sử dụng hàm như sử dụng thủ tục.

b)

Sử dụng hàm phải thực hiện lời gọi hàm bằng cách: truyền tham số thực tế và được đặt trong một biểu thức có xử lí giá trị của nó. 

c)

Sử dụng hàm phải có tham biến, các tham biến cách nhau bởi dấu phẩy.

d)

Sử dụng hàm phải có tham trị. 

127.

Chương trình con đệ quy là

a)

Chương trình con thủ tục.

b)

Chương trình con hàm.

c)

Chương trình con mà trong thân của nó có ít nhất một câu lệnh là lời gọi đến chính nó. 

d)

Chương trình con có tham biến và tham trị. 

128.

Hãy chọn phương án ghép đúng. Cho thủ tục sau:

Procedure p;

Var n: integer;

Begin

…… …… End;

Phạm vi của biến n là:           

a)

Trong toàn bộ chương trình;

b)

Trong nội bộ thủ tục p

c)

Trong toàn bộ tệp chương trình nguồn

d)

Tùy thuộc vào vị trí sử dụng thủ tục p

129.

Cho hàm sau:

Function Foo(n: integer): boolean;

Var i: integer;

Begin

Foo:= false;

If n > 2 then for i:= 2 to n-1 do

If (n mod i = 0) then Foo:= true;

End;

Hàm trên thực hiện công việc gì?

a)

Kiểm tra n có phải là hợp cố hay không

b)

In ra các ước số của n

c)

2 ý trên đúng

d)

2 ý trên sai

130.

Cho chương trình sau:

Program Thidu;

Var s: string[50];

Procedure Foo(s: string);

Var i: integer;

Begin i:= 1; while ( i <= length(S) ) do begin writeln(s[i]); i:= i + 1;

end;

end;

Begin s:= ‘tinhoc’;

Foo(s); End.

Số dòng chương trình in ra màn hình là bao nhiêu?

a)

50 dòng

b)

6 dòng

c)

7 dòng

d)

vô số dòng

131.

Cho chương trình sau:

Program Thi_du;

Var Mess: string;

Procedure StopHere;

Var Mess: string;

Begin

Mess:= ‘StopHere’;

Write(Mess);

End;

Begin

Mess:= ‘StartHere’;

StopHere;

Write(Mess); End.

Phương án nào dưới đây là kết quả thực hiện chương trình trên?

a)

StopHere

StartHere

b)

StartHere

StopHere

c)

StartHere

StopHere

StartHere

d)

StopHere

StopHere

132.

Cho chương trình sau:

Program Vi_du;

Var x, y: integer;

Procedure godoit(x, y: integer);

Begin x:= y; y:= 0;

Write(x, y);

End;

Begin x:= 1; y:= 8; godoit(x, y); writeln(x, y);

End.

Chương trình trên in ra dãy số nào?

a)

8001

b)

1080

c)

8018

d)

1834

133.

Chương trình sau sẽ in ra kết quả nào?

Program ViDu;

Var x, y: integer;

Procedure thaydoi(x, y: integer);

Begin  x:= y; y:= 0; writeln(x, y);

End;

Begin x:= 1; y:= 2; writeln(x, y); thaydoi(x, y); writeln(x, y);

End.

Hãy chọn câu trả lời đúng.

a)

1 2 2 0 1 2

b)

1 2

2 0

1 2

c)

1 2

1 2

d)

1 2

134.

Đoạn chương trình sau có lỗi gì?

Procedure End (key: char);

Begin

If key = ‘q’ then writeln(‘ Ket thuc’); End;

a)

Thiếu dấu “; ” sau từ khóa Begin

b)

End không thể dùng làm tên của thủ tục

c)

Sau End không được dùng dấu “;”

d)

Không thể dùng câu lệnh if trong thủ tục

135.

Đoạn chương trình con dưới đây làm gì?

Fuction Giaithua (n: Integer): integer;

Var i,k: integer;

Begin l:= 0; k:= 1;

While i < n do

Begin l:=i+1; k:=k*i;

End;

Giaithua := k;

End; 

a)

Tính giá trị của biểu thức n(n-1)

b)

Tính giá trị của biểu thức n(n-1)(n-2)

c)

Tính giá trị của biểu thức n(n-1)(n-2)(n-3)

d)

Tính giá trị của biểu thức n! (n giai thừa). 

136.

Đoạn chương trình con dưới đây làm gì?

Function Vidu(x,y:integer): integer;

Begin

If y = 0 then vidu:= X Else Vidu:= vidu(y, x mod y); End; 

a)

tìm bội số chung của hai số x và y

b)

tìm trung bình cộng của hai số x và y

c)

tìm trung bình nhân hai số x và y

d)

tìm ước số chung lớn nhất của hai số x và y

137.

Cho chương trình: 

Uses CRT;

Var a,b,c: Word;

Procedure P1(m: word; var n: word);

Begin

If m > n then m:= m – n Else m:= n- m; n:= 2*m;

End;

Begin

A:= 5; b:= 8; c:= 10;

P1(b+c, a);

Writeln(‘a = ’,a,‘ b = ’,b,‘ c = ’,c);

End.

Khi chạy chương trình sẽ cho kết quả nào dưới đây?

a)

a=10

b=8

c=10

b)

a=16

b=6

c=10

c)

a=26

b=8

c=10

d)

a=26

b=8

c=15

138.

Cho chương trình: 

Uses CRT;

Var a,b,c: Word;

Procedure P2(m,n: word); Var a:word;

Begin

If m > n then a:= m

Else a:= n;

Writeln(‘a = ’,a,‘ b = ’,b,‘c = ’,c); 

End;

Begin a:= 5; b:= 8; c:= 10;

P2(b,c);

Writeln(‘a = ’,a,‘ b = ’,b,‘c = ’,c);

End.

Khi chạy chương trình sẽ cho kết quả nào dưới đây? 

a)

a=10b=8c=10

a=5b=8c=10

b)

a=10b=8c=10

a=15b=8c=10

c)

a=8b=10c=10

a=5b=10c=8

d)

a=10b=10c=8

a=5b=10c=8

139.

Cho chương trình: 

Uses CRT;

Var a,b,c: Word;

Procedure P3(m: word; var n: word);

Begin

If m > n then M:= m – n

Else m:= n - m;

N:= 2*m;

A:= m+n;

End;

Begin

A:= 5; b:= 8; c:= 10;

P3(b+c, a);

Writeln(‘a = ’,a,‘ b = ’,b,‘c = ’,c); End.

Khi chạy chương trình sẽ cho kết quả nào dưới đây?

a)

a=30

b=10

c=8

b)

a=39

b=8

c=10

c)

a=30

b=8

c=10

d)

a=39

b=10

c=8

140.

Cho chương trình con

Function S(n:word): word;

Begin

If n=1 then s:=1

Else s:= s(n-1)+n;

End;

Chương trình con đã cho ở trên làm gì?

a)

Tính tổng các số tự nhiên.

b)

Tính tổng các số tự nhiên chẵn.

c)

Tính tổng các số theo công thức S=1+2+…+n

d)

Tính tổng các số theo công thức S=1+2+…+n*n

141.

Cho chương trình con 

Procedure vidu(n: word);

Begin

If n div 2 <> 0 then Vidu(n div 2); Write(n mod 2);

End; 

Chương trình con đã cho ở trên làm gì?

a)

Tìm các số nhị phân của số nguyên dương n cho trước.

b)

In ra màn hình số dạng nhị phân của một số nguyên dương n cho trước.

c)

In ra màn hình các số nhị phân nhỏ hơn 100

d)

Chuyển một số nguyên dương n thành các số nhị phân. 

142.

Chương trình con dưới đây làm gì? 

Procedure baitap(var s: String);

Var i: integer;

Begin

For i:=1 to length(s) do s[i] := Upcase(s[i]); End;

a)

Chuyển chuỗi kí tự hoa qua kí tự thường. 

b)

Tính chiều dài của chuỗi s. 

c)

Chuyển chuỗi kí tự thường qua chuỗi kí tự hoa.

d)

In chuỗi theo chiều ngược lại.

143.

Program Chuong_Trinh;

Var a, b, S: byte;

Procedure TD(Var x: byte; y: byte);

Var i: byte;

Begin i:= 5; writeln(x,‘ ’, y);

x:= x + i; y:= y + i; S:= x + y;

Writeln(x,‘ ’, y);

End;

Begin

Write(‘nhập a và b: ’);

Readln(a, b);

TD(a,b);

Writeln(a,‘ ’, b, ‘ ’, S); Readln; End.

Trong chương trình trên có các biến cục bộ là:

a)

x và y

b)

i

c)

a và b

d)

S

144.

Program Chuong_Trinh;

Var a, b, S: byte;

Procedure TD(Var x: byte; y: byte);

Var i: byte;

Begin i:= 5; writeln(x,‘ ’, y);

x:= x + i; y:= y + i; S:= x + y;

Writeln(x,‘ ’, y);

End;

Begin

Write(‘nhập a và b: ’);

Readln(a, b);

TD(a,b);

Writeln(a,‘ ’, b, ‘ ’, S); Readln; End.

Trong chương trình trên có các biến toàn cục là

a)

x và y

b)

i

c)

a và b

d)

a, b, S

145.

Program Chuong_Trinh;

Var a, b, S: byte;

Procedure TD(Var x: byte; y: byte);

Var i: byte;

Begin i:= 5; writeln(x,‘ ’, y);

x:= x + i; y:= y + i; S:= x + y;

Writeln(x,‘ ’, y);

End;

Begin

Write(‘nhập a và b: ’);

Readln(a, b);

TD(a,b);

Writeln(a,‘ ’, b, ‘ ’, S); Readln; End.

Trong chương trình trên có các tham số thực sự là

a)

x và y

b)

i

c)

a và b

d)

a, b, S

146.

Program Chuong_Trinh;

Var a, b, S: byte;

Procedure TD(Var x: byte; y: byte);

Var i: byte;

Begin i:= 5; writeln(x,‘ ’, y);

x:= x + i; y:= y + i; S:= x + y;

Writeln(x,‘ ’, y);

End;

Begin

Write(‘nhập a và b: ’);

Readln(a, b);

TD(a,b);

Writeln(a,‘ ’, b, ‘ ’, S); Readln; End.

Trong chương trình trên có các tham số hình thức là

a)

x và y

b)

i

c)

a và b

d)

a, b, S

147.

Var x, y, t: byte;

Function Tong(a: byte; var b:

byte):integer;

Begin a:=a+1; b:= b*2;

Tong:=a+b;

End;

Begin x:=1; y:=3; write(x,‘ ’, y, ‘ ’);

t:=Tong(x,y);

write(‘ ’,t);

readln

End.

Kết quả của đoạn chương trình trên

a)

1 6 8

b)

1 3 8

c)

1 2 7

d)

1 3 7

148.

Var x, y, t: byte;

Function Tong(a: byte; var b:

byte):integer;

Begin a:=a+1; b:= b*2;

Tong:=a+b;

End;

Begin x:=1; y:=3; write(x,‘ ’, y, ‘ ’);

t:=Tong(x,y);

write(‘ ’,t);

readln

End.

Hãy chọn lời gọi của chương trình con đúng

a)

t:=tong(x,y)+1;

b)

t:=tong+1;

c)

tong(x,y);

d)

tong(x,1);

149.

Var x, y, t: byte;

Function Tong(a: byte; var b:

byte):integer;

Begin a:=a+1; b:= b*2;

Tong:=a+b;

End;

Begin x:=1; y:=3; write(x,‘ ’, y, ‘ ’);

t:=Tong(x,y);

write(‘ ’,t);

readln

End.

biến t là

a)

biến cục bộ

b)

tham biến

c)

tham trị

d)

biến toàn cục

150.

Var x, y, t: byte;

Function Tong(a: byte; var b:

byte):integer;

Begin a:=a+1; b:= b*2;

Tong:=a+b;

End;

Begin x:=1; y:=3; write(x,‘ ’, y, ‘ ’);

t:=Tong(x,y);

write(‘ ’,t);

readln

End.

a,b là:

a)

tham biến

b)

tham trị

c)

tham số hình thức

d)

tham số thực sự

151.

Var x, y, t: byte;

Function Tong(a: byte; var b:

byte):integer;

Begin a:=a+1; b:= b*2;

Tong:=a+b;

End;

Begin x:=1; y:=3; write(x,‘ ’, y, ‘ ’);

t:=Tong(x,y);

write(‘ ’,t);

readln

End.

Kết quả x, y sau khi thực hiện chương trình trên là?

a)

x=1

y=3

b)

x=3

y=1

c)

x=1

y=6

d)

x=6

y=1

152.

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, trừ kí tự đầu tiên

d)

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

153.

Phần nào có thể không có trong một chương trình con?

a)

phần thân

b)

phần đầu

c)

phần khai báo

d)

phải có đủ 3 phần

154.

Trong ngôn ngữ lập trình Pascal, thủ tục Delete(c, a, b) thực hiện công việc gì trong các việc sau?

a)

Xóa trong xâu c, b kí tự bắt đầu từ vị trí a;

b)

Xóa trong xâu kí tự c, a kí tự bắt đầu từ vị trí b

c)

Xóa trong xâu a, b kí tự từ vị trí c

d)

Xóa trong xâu b, c kí tự bắt đầu từ vị trí a

155.

Các thủ tục là

a)

insert, delete, clrscr, assign, reset, eof, eoln

b)

insert, delete, clrscr, assign, reset, rewrite, close

c)

insert, delete, assign, reset, rewrite, eof

d)

insert, delete, assign, eoln, rewrite, read

156.

Hãy chỉ ra thủ tục không làm việc với tệp:

a)

Close

b)

Assign

c)

Filesize

d)

Reset

157.

{1} CLOSE(f);

{2} ASSIGN(f, ’DATA.INP’);

{3} READ(f,A,B,C);

{4} RESET(f);

Chọn thứ tự các thủ tục để ĐỌC tệp:

a)

2-4-3-1

b)

4-2-1-3

c)

4-2-3-1

d)

1-4-2-3

158.

Trong ngôn ngữ lập trình Pascal, hàm Length(S) cho kết quả gì?

a)

Số ký tự của xâu không tính dấu cách cuối cùng

b)

Số ký tự hiện có của xâu S không tính các dấu cách

c)

Số ký tự hiện có của xâu S

d)

Độ dài xâu S khi khai báo

159.

Cho f là biến tệp văn bản, đoạn chương trình sau thực hiện công việc gì?

Assign(f,’in.txt’);

Rewrite(f);

For i:=’A’ to ’Z’ do write(f,i);

a)

Ghi vào tệp in.txt các số từ 1 đến 26

b)

Đưa ra màn hình các chữ cái in hoa trong bộ mã ASCII

c)

Đưa ra màn hình các số từ 1 đến 26

d)

Ghi vào tệp in.txt các chữ cái in hoa từ A đến Z.

160.

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 := 1 to length(str) – 1 do str[i+1] := str[i] ;

a)

Dịch chuyển các kí tự của sâu lên trước một vị trí

b)

Dịch chuyển các kí tự của xâu về sau 1 vị trí

c)

Khởi tạo lại mọi kí tự của xâu bằng kí tự cuối cùng

d)

Khởi tạo lại mọi kí tự của xâu bằng kí tự đầu tiên

161.

Tệp DATA.TXT có nội dung như thế nào sau khi thực hiện chương trình sau:

Var f: TEXT;

Begin

Assign(f,’DATA.TXT’); Rewrite(f);

Write(f,'123+456+789'); Close(f);

End.

a)

123+456+789

b)

1368

c)

123456789

d)

123 456 789

162.

Giả sử tệp f1 đã được gắn tên là VD.DAT. Dùng thủ tục nào sau đây để mở tệp f1 ra đọc?

a)

Rewrite(f1)

b)

Rewrite(‘VD.DAT’)

c)

Reset(‘VD.DAT’)

d)

Reset(f1)

163.

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

a)

Close(<biến tệp 1>,<biến tệp 2>,…,<biến tệp n>);

b)

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

c)

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

d)

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

164.

Function Test(X,Y,Z: real): real;

Begin

If X>Y then X:=Y;

If X>Z then X:=Z; Test:=X;

End;

Giá trị của hàm Test trả về là giá trị nào?

a)

Giá trị nhỏ nhất trong 3 số X, Y, Z.

b)

Giá trị lớn nhất trong 3 số X, Y, Z.

c)

Giá trị của X nếu X=Y=Z.

d)

Giá trị ban đầu của X.

165.

Function Test(X,Y,Z: real): real;

Begin

If X>Y then X:=Y;

If X>Z then X:=Z; Test:=X;

End;

Giá trị của hàm Test trả về là giá trị nào?

a)

Giá trị nhỏ nhất trong 3 số X, Y, Z.

b)

Giá trị lớn nhất trong 3 số X, Y, Z.

c)

Giá trị của X nếu X=Y=Z.

d)

Giá trị ban đầu của X.

166.

Function Test(X,Y,Z: real): real;

Begin

If X>Y then X:=Y;

If X>Z then X:=Z; Test:=X;

End;

Lệnh gán giá trị cho hàm Test là

a)

X:=Z;

b)

X:=Y;

c)

Test:=X;

d)

Tất cả đều đúng

167.

Function Test(X,Y,Z: real): real;

Begin

If X>Y then X:=Y;

If X>Z then X:=Z; Test:=X;

End;

Giả sử có khai báo Var M, A, B, C: real; và lệnh gọi hàm Test nào là đúng trong thân chương trình?

a)

Test(A,B,C);

b)

M:=Test(A,B);

c)

M:=Test(A,B,Test(A,B));

d)

M:=Test(A,B,Test(A, B, C));

168.

Phát biểu nào sau đây đúng?

a)

Hàm là một chương trình con không trả về giá trị thông qua tên của nó và có thể được viết trong các biểu thức.

b)

Hàm là một chương trình con trả về giá trị thông qua tên của nó và không được viết trong các biểu thức.

c)

Hàm là một chương trình con trả về giá trị thông qua tên của nó và có thể được viết trong các biểu thức.

d)

Hàm là một chương trình con không trả về giá trị thông qua tên của nó và không được viết trong các biểu thức.

169.

Cho các thủ tục sau:

{1} WRITE(f,A,B,C);

{2} REWRITE(f);

{3} CLOSE(f);

{4} ASSIGN(f,’Data.OUT’);

Chọn thứ tự các thủ tục để GHI tệp:

a)

2-4-3-1

b)

4-2-1-3

c)

4-2-3-1

d)

1-4-2-3

170.

Trong thân hàm bắt buộc phải có câu lệnh nào?

a)

Readln;

b)

<tên hàm>:=<biểu thức>;

c)

Writeln;

d)

<tên biến>:=<biểu thức>;

171.

Đ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)

6

b)

7

c)

10

d)

chương trình có lỗi

172.

Khai báo nào đúng trong các khai báo sau:

a)

Function Test(a: integer): True;

b)

Function Test(a: True): Boolean;

c)

Function Test(a: integer): Boolean;

d)

Function Test(a: Boolean);

173.

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 S2 vào S1 bắt đầu từ vị trí vt

b)

chèn xâu S1 vào S2 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

174.

Khi mở tệp để ghi mà không tồn tại tên tệp trong thủ tục mở tệp để ghi thì có gì xảy ra?

a)

Tệp sẽ được tạo với tên tệp khác.

b)

Tệp sẽ được tạo với nội dung rỗng.

c)

Không tạo được đúng tên tệp

d)

Báo lỗi

175.

Tệp mà dữ liệu trong nó được ghi dưới dạng các kí tự theo mã ASCII được gọi là tệp gì?

a)

tệp văn bản

b)

tệp truy cập tuần tự

c)

tệp có cấu trúc

d)

tệp truy cập trực tiếp

176.

Cho khai báo sau:

Var hoten : String;

Phát biểu nào đúng?

a)

Xâu có độ dài lớn nhất là 255

b)

Xâu có độ dài lớn nhất là 0

c)

Cần phải khai báo kích thước của xâu sau đó

d)

Câu lệnh sai vì thiếu độ dài tối đa của xâu

177.

Lệnh gán giá trị cho tên hàm nào sau đây là đúng?

a)

<tên hàm>:=<biểu thức>;

b)

<tên hàm>=<biểu thức>;

c)

<tên hàm>:<biểu thức>;

d)

<biểu thức>:=<tên hàm>;

178.

Để gắn 1 tệp có tên là HOCKY2.INP cho biến tệp K2, ta dùng thủ tục:

a)

Assign(‘HOCKY2.INP’,K2);

b)

Asign(K2,’HOCKY2.INP’);

c)

Assign(HOCKY2.INP,K2);

d)

Asign(K2,HOCKY2.INP);