wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

TỔNG HỢP QUIZ TIN 11_KTCKII

Total questions: 63

Worksheet time: 37mins

Name
Class
Date
1.

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

2.

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

3.

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

a)

Program.

b)

Procedure.

c)

Function.

d)

Var.

4.

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ề

5.

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 là :

a)

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

b)

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

c)

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

d)

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

6.

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.

7.

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.

8.

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.

9.

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ộ

10.

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

11.

Hãy chọn đáp án sai khi nói về hàm?

a)

Hàm là chương trình con.

b)

Hàm được dùng như một câu lệnh.

c)

Hàm được dùng trong lệnh gán, biểu thức.

d)

Hàm trả về giá trị duy nhất qua tên hàm.

12.

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

a)

Biến toàn cục.

b)

Tham số hình thức.

c)

Biến cục bộ.

d)

Tham số thực sự.

13.

Các biến được khai báo dùng riêng cho chương trình con được gọi là?

a)

Tham số thực sự.

b)

Tham số hình thức.

c)

Biến cục bộ.

d)

Biến toàn cục.

14.

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;

15.

Chương trình con gồm có (chọn câu trả lời đúng nhất)?

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.

16.

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

a)

Program.

b)

Procedure.

c)

Function.

d)

Var.

17.

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.

18.

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.

19.

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.

20.

Để phân biệt giữa tham biến và tham trị trong Pascal, trước tham biến người ta dùng từ khoá nào?

a)

Begin

b)

Const

c)

Type

d)

Var

21.

Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?

FOR i:=1 TO N DO

IF A[i] < 0 THEN Write(A[i]);

a)

In ra màn hình các số nguyên âm

b)

In ra màn hình các số nguyên dương

c)

Kiểm tra phần tử thứ i là dương hay âm

d)

Không làm gì cả

22.

Khai báo biến mảng một chiều A gồm n số nguyên (0 < n <= 50) có dạng:

a)

TYPE A : ARRAY [1..50] OF Integer;

b)

Var A = ARRAY [1..50] OF Integer;

c)

TYPE A = ARRAY [1..50] OF Integer;

d)

Var A : ARRAY[1..50] OF Integer;

23.

Cho khai báo:

Var A: Array[1..10] of Real;

i : Integer;

Ðể nhập dữ liệu cho A, chọn câu nào:

a)

For i:=1 to 10 do Begin Write(‘ Nhập A[‘, i, ‘]:’);

Readln(A[i]);

End;

b)

For i:=1 to 10 do Write(‘ Nhập A[‘, i, ‘]:’);

Readln(A[i]);

c)

For i:=1 to 10 do Readln(‘ Nhập A[‘, i, ‘]:’);

d)

Write(‘ Nhập A:’);

Readln(A);

24.

Chọn khai báo đúng:

a)

Var A: array[1..20] of integer;

b)

Var A= array[1..20] of integer;

c)

Var A:= array[1..20] of integer;

d)

Var A: array[1,20] of integer;

25.

Các phần tử của mảng có thể thuộc các kiểu dữ liệu nào?

a)

Kiểu kí tự

b)

Kiểu số thực

c)

Kiểu logic

d)

Cả ba kiểu trên

26.

Câu lệnh sau làm gì?

For i:=1 to 10 do readln(A[i]);

a)

Nhập 10 phần tử của mảng A

b)

In ra mảng A

c)

Tính tổng các phần tử của mảng A

d)

Đếm số phần tử của mảng A

27.

Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết:

a)

Write(A[20]);

b)

Write(A(20));

c)

Readln(A[20]);

d)

Write([20]);

28.

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

a)

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

b)

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

c)

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

d)

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

29.

Mảng một chiều là:

a)

Dãy các phần tử có thứ tự

b)

Dãy hữu hạn các phần tử cùng kiểu

c)

Dãy vô số các phần tử có giá trị

d)

Dãy các số nguyên hoặc số thực

30.

Lệnh nào in giá trị các phần tử trong mảng trên cùng một dòng?

a)

For i:= n downto 1 do writeln(‘ ’, A[i]);

b)

For i:= 1 to n do write(‘ ’, A[i]);

c)

For i:= n downto 1 do write(A[i], ‘ ’);

d)

For i:= 1 to n do writeln(‘ ’, A[i]);

31.

Cho khai báo:

Var A: Array[1..4] of Integer;

i : Integer;

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

For i:=1 to 4 do A[i]:= i;

For i:=1 to 4 do A[i]:= A[i]+1;

thì mảng A có giá trị là:

a)

A[1]=0, A[2]=1, A[3]=2, A[4]=3

b)

A[1]=1, A[2]=1, A[3]=1, A[4]=1

c)

A[1]=2, A[2]=3, A[3]=4, A[4]=5

d)

A[1]=1, A[2]=2, A[3]=3, A[4]=4

32.

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

c)

Tìm 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

33.

Cho biết ý nghĩa của đoạn khai báo sau:

Const Max = 100;

Type Dayso = ARRAY[1..Max] Of real;

Var A : Dayso;

a)

Khai báo biến Dayso gồm max số nguyên.

b)

Khai báo biến Dayso gồm 100 số thực.

c)

Khai báo biến mảng A gồm max số nguyên.

d)

Khai báo biến A gồm tối đa 100 số thực.

34.

Trong khai báo sau còn bỏ trống . . . 1 chỗ, vì chưa xác định được kiểu dữ liệu của biến Max:

Var A: Array[‘a’..’d’] of Real;

Ch : Char ;

Max : . . . ;

Muốn biến Max lưu giá trị lớn nhất của mảng A thì cần khai báo biến Max kiểu dữ liệu gì vào chỗ . . . :

a)

Real

b)

Char

c)

Integer

d)

String

35.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện việc nào trong các việc sau (A là mảng số có N phần tử)?

For i:=n downto 1 do Write(A[i]:3);

a)

Xuất các phần tử của mảng A ra màn hình theo thứ tự ngược lại

b)

Xuất các phần tử lẻ của mảng A ra màn hình theo thứ tự ngược lại

c)

Nhập các phần tử lẻ vào mảng A

d)

Nhập các phần tử chẵn vào mảng A

36.

Cách làm việc với mảng một chiều như thế nào?

a)

Thông qua tên biến và chỉ số của mảng.

b)

Thông qua tên biến mảng.

c)

Thông qua chỉ số của mảng.

d)

Làm việc trực tiếp với mảng.

37.

Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?

FOR i:=1 TO N DO

IF A[i] > 0 THEN k:=i;

a)

In giá trị của phần tử nguyên dương cuối cùng trong A ra màn hình

b)

In chỉ số của phần tử nguyên dương đầu tiên trong A ra màn hình

c)

In giá trị của phần tử nguyên dương đầu tiên trong A ra màn hình

d)

In chỉ số của phần tử nguyên dương cuối cùng trong A ra màn hình

38.

Mỗi phần tử của mảng phải:

a)

Có kiểu dữ liệu khác nhau.

b)

Có thể có kiểu dữ liệu giống hoặc khác nhau.

c)

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

d)

Tất cả các phương án đều sai.

39.

Cho khai báo biến: Var A : array[1..5] of Integer;

Chọn lệnh đúng:

a)

A[1] := 6/2;

b)

A[2] := -10;

c)

A(3) := 6;

d)

A := 10;

40.

Tham chiếu đến phần tử thứ i của mảng A được biểu diễn:

a)

A[i]

b)

Ai

c)

A{i}

d)

A(i)

41.

Muốn tham chiếu đến một phần tử nào đó trong mảng ta cần phải có tối thiểu các thông tin nào?

a)

Tên kiểu mảng, tên biến mảng

b)

Chỉ số phần tử, tên kiểu mảng

c)

Tên biến mảng, chỉ số phần tử

d)

Giá trị của phần tử, biến mảng

42.

Khai báo biển mảng nào sau đây là đúng?

a)

Var A:array[1..100] 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;

43.

Để in giá trị phần tử thứ 10 của mảng một chiều A ra màn hình ta viết:

a)

Write(A[10]);

b)

Write(A(10));

c)

Readln(A[10]);

d)

Write([10]);

44.

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

45.

Cho chương trình sau:

Var f: text;

Begin

Assign (f,'D:\Khoi11.txt'); Rewrite(f); Write(f,(105+304-234)); Close(f);

End.

Chương trình cho kết quả là bao nhiêu?

a)

105 304 234

b)

105+304-234

c)

105304234

d)

175

46.

Giả sử a = 5; b = 9; c = 15; để ghi các giá trị trên vào tệp f có dạng là 5 9 15 ta sử dụng thủ tục ghi:

a)

Write(f, a,b,c);

b)

Write(a, ‘ ’, b, ‘ ’, c);

c)

Write(f, a, ‘ ’, bc);

d)

Write(f, a, ‘ ’, b,‘ ’, c);

47.

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

48.

Hãy cho biết ý nghĩa của chương trình trên:

Var

tep2:Text;       a,b: integer;

BEGIN

          ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);

      REWRITE (tep2);     a:=3;   b:=5;

WRITE (tep2 , ‘ ‘, a, b);

Close(tep2);

Readln;

END.

a)

Ghi dữ liệu ra tệp

b)

Mở tệp để ghi

c)

Mở tệp để đọc

d)

Đọc dữ liệu từ tệp

49.

Hãy bổ sung một số lệnh còn thiếu vào chỗ chấm chấm (..) để chương trình trên thực hiện đọc dữ liệu từ tệp bai1_1.TXT vào biến mảng một chiều.

TYPE mmc = array [1..10] of longint;

VAR a:mmc;  f:text;   i:byte;

BEGIN

          .....................(a)....................

          Reset(f);

          For i:=1 to 5 do Readln (f, a[i]);

          ........(b).........

END.

a)

(a) Assign( f, 'bai1_1.TXT'); (b) close(f);

b)

(a) Assign( f, 'bai1_1.TXT'); (b) close(bai1_1.TXT);

c)

(a) Assign('bai1_1.TXT', f); (b) close(bai1_1.TXT');

d)

(a) Assign( 'bai1_1.TXT', f); (b) close(f);

50.

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

51.

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;

52.

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

a)

Truy cập tuần tự.

b)

Truy cập trực tiếp.

c)

Truy cập ngẫu nhiên.

d)

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

53.

Cho các thao tác với tệp sau

(1) Mở tệp để ghi dữ liệu ;

(2) Khai báo và gán biến tệp với tên tệp;

(3) Mở tệp để đọc dữ liệu;

(4) Ghi dữ liệu;

(5) Đóng tệp;

(6) Đọc dữ liệu

Hãy chọn trình tự các thao tác đúng để ghi dữ liệu vào tệp:

a)

(2) -> (3) -> (6) -> (5);

b)

(3) -> (6) -> (4) -> (2);

c)

(1) -> (2) -> (4) -> (5);

d)

(2) -> (1) -> (4) -> (5);

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 => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp.

d)

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.

55.

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 => Đọc dữ liệu từ tệp => Gán tên tệp với biến tệp => Đóng tệp.

b)

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.

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.

56.

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

Cuối dòng.

c)

Đầu tệp.

d)

Cuối tệp.

57.

Cho chương trinh sau:

Begin

Assign (f,'output.dat');

Rewrite(f);

Write(t, ‘10+702-77921’);

readln

End.

Kết quả là:

a)

123502

b)

10+702-77921

c)

420

d)

510 702 752

58.

Tệp f có dữ liệu 5 9 15 để đọc và ghi các giá trị này vào 3 biến x, y, z ta sử dụng câu lệnh:

a)

Read(f, x, y, z);

b)

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

c)

Read(x, y, z);

d)

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

59.

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

60.

Dữ liệu kiểu tệp được?

a)

lưu trữ trên ROM.

b)

lưu trữ trên RAM.

c)

lưu trữ trên đĩa cứng.

d)

lưu trữ trên bộ nhớ ngoài.

61.

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

a)

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

b)

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

c)

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

d)

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

62.

Trong một chương trình Pascal, sau khi đã đóng tệp bằng thủ tục đóng tệp thì có thể mở lại tệp đó hay không?

a)

Không được phép mở lại

b)

Được phép mở lại 1 lần duy nhất

c)

Được phép mở lại vô số lần tùy ý

d)

Cần phải gắn lại tên tệp cho biến tệp trước khi mở

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