Font size
WorksheetsTỔNG HỢP QUIZ TIN 11_KTCKII
Total questions: 63
Worksheet time: 37mins
Khẳng định nào sau đây là đúng?
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.
Biến cục bộ là biến được khai báo ở trong chương trình chính.
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ị.
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ị.
Khai báo phần đầu một hàm là:
Function <tên hàm> [(<DS các tham số>)] : <kiểu DL>;
Procedure <tên hàm> [(<DS các tham số>)] : <kiểu DL>;
Function <tên hàm> [(<danh sách các tham số>)] ;
Function <tên hàm> ;
Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa
Program.
Procedure.
Function.
Var.
Hãy chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi
Kiểu của các tham số
Kiểu giá trị trả về
Tên hàm
Địa chỉ mà hàm trả về
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à :
Trong toàn bộ chương trình;
Trong nội bộ thủ tục p;
Tùy thuộc vào vị trí sử dụng thủ tục p;
Trong toàn bộ tệp chương trình nguồn;
Khẳng định nào sau đây là đúng?
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.
Biến cục bộ là biến chỉ được dùng trong chương trình chính.
Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.
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.
Khẳng định nào sau đây là đúng?
Các thủ tục (nếu có) được khai báo bất kỳ trong chương trình chính.
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 thủ tục (nếu có) phải được khai báo sau Begin của chương trình chính.
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.
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?
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.
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ể.
Phần đầu có thể có hoặc không có cũng được.
Phần đầu nhất thiết phải có để khai báo tên chương trình con.
Mô tả nào dưới đây về hàm là sai?
Phải trả lại kết quả
Phải có tham số
Trong hàm có thể gọi lại chính hàm đó
Có thể có các biến cục bộ
Khẳng định nào sau đây là đúng?
Một chương trình con nhất thiết phải có tham số hình thức.
Một chương trình con nhất thiết phải có biến cục bộ.
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ộ.
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ộ.
Hãy chọn đáp án sai khi nói về hàm?
Hàm là chương trình con.
Hàm được dùng như một câu lệnh.
Hàm được dùng trong lệnh gán, biểu thức.
Hàm trả về giá trị duy nhất qua tên hàm.
Các biến dùng chung cho toàn bộ chương trình được gọi là?
Biến toàn cục.
Tham số hình thức.
Biến cục bộ.
Tham số thực sự.
Các biến được khai báo dùng riêng cho chương trình con được gọi là?
Tham số thực sự.
Tham số hình thức.
Biến cục bộ.
Biến toàn cục.
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=7, b=7;
a=5, b=5.
a=7, b=5;
a=5, b=7;
Chương trình con gồm có (chọn câu trả lời đúng nhất)?
Tham số hình thức.
Tham số thực sự.
Biến cục bộ.
Biến toàn cục.
Để khai báo hàm trong Pascal bắt đầu bằng từ khóa
Program.
Procedure.
Function.
Var.
Các biến được khai báo cho dữ liệu vào/ra được gọi là?
Tham số hình thức.
Tham số thực sự.
Biến cục bộ.
Biến toàn cục.
Khẳng định nào sau đây là đúng?
Cả thủ tục và hàm đều có thể có tham số hình thức.
Chỉ có thủ tục mới có thể có tham số hình thức.
Chỉ có hàm mới có thể có tham số hình thức.
Thủ tục và hàm nào cũng phải có tham số hình thức.
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à:
Tham số hình thức.
Tham số thực sự.
Biến cục bộ.
Biến toàn cục.
Để 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?
Begin
Const
Type
Var
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]);
In ra màn hình các số nguyên âm
In ra màn hình các số nguyên dương
Kiểm tra phần tử thứ i là dương hay âm
Không làm gì cả
Khai báo biến mảng một chiều A gồm n số nguyên (0 < n <= 50) có dạng:
TYPE A : ARRAY [1..50] OF Integer;
Var A = ARRAY [1..50] OF Integer;
TYPE A = ARRAY [1..50] OF Integer;
Var A : ARRAY[1..50] OF Integer;
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:
For i:=1 to 10 do Begin Write(‘ Nhập A[‘, i, ‘]:’);
Readln(A[i]);
End;
For i:=1 to 10 do Write(‘ Nhập A[‘, i, ‘]:’);
Readln(A[i]);
For i:=1 to 10 do Readln(‘ Nhập A[‘, i, ‘]:’);
Write(‘ Nhập A:’);
Readln(A);
Chọn khai báo đúng:
Var A: array[1..20] of integer;
Var A= array[1..20] of integer;
Var A:= array[1..20] of integer;
Var A: array[1,20] of integer;
Các phần tử của mảng có thể thuộc các kiểu dữ liệu nào?
Kiểu kí tự
Kiểu số thực
Kiểu logic
Cả ba kiểu trên
Câu lệnh sau làm gì?
For i:=1 to 10 do readln(A[i]);
Nhập 10 phần tử của mảng A
In ra mảng A
Tính tổng các phần tử của mảng A
Đếm số phần tử của mảng A
Để 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:
Write(A[20]);
Write(A(20));
Readln(A[20]);
Write([20]);
Phương án nào dưới đây là khai báo mảng hợp lệ?
mang : ARRAY[0..10] OF INTEGER;
mang : ARRAY[0..10] : INTEGER;
mang : INTEGER OF ARRAY[0..10];
mang : ARRAY(0..10) : INTEGER;
Mảng một chiều là:
Dãy các phần tử có thứ tự
Dãy hữu hạn các phần tử cùng kiểu
Dãy vô số các phần tử có giá trị
Dãy các số nguyên hoặc số thực
Lệnh nào in giá trị các phần tử trong mảng trên cùng một dòng?
For i:= n downto 1 do writeln(‘ ’, A[i]);
For i:= 1 to n do write(‘ ’, A[i]);
For i:= n downto 1 do write(A[i], ‘ ’);
For i:= 1 to n do writeln(‘ ’, A[i]);
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[1]=0, A[2]=1, A[3]=2, A[4]=3
A[1]=1, A[2]=1, A[3]=1, A[4]=1
A[1]=2, A[2]=3, A[3]=4, A[4]=5
A[1]=1, A[2]=2, A[3]=3, A[4]=4
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?
Tìm phần tử nhỏ nhất trong mảng
Tìm chỉ số của phần tử lớn nhất trong mảng
Tìm phần tử lớn nhất trong mảng
Tìm chỉ số của phần tử nhỏ nhất trong mảng
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;
Khai báo biến Dayso gồm max số nguyên.
Khai báo biến Dayso gồm 100 số thực.
Khai báo biến mảng A gồm max số nguyên.
Khai báo biến A gồm tối đa 100 số thực.
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ỗ . . . :
Real
Char
Integer
String
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);
Xuất các phần tử của mảng A ra màn hình theo thứ tự ngược lại
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
Nhập các phần tử lẻ vào mảng A
Nhập các phần tử chẵn vào mảng A
Cách làm việc với mảng một chiều như thế nào?
Thông qua tên biến và chỉ số của mảng.
Thông qua tên biến mảng.
Thông qua chỉ số của mảng.
Làm việc trực tiếp với mảng.
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;
In giá trị của phần tử nguyên dương cuối cùng trong A ra màn hình
In chỉ số của phần tử nguyên dương đầu tiên trong A ra màn hình
In giá trị của phần tử nguyên dương đầu tiên trong A ra màn hình
In chỉ số của phần tử nguyên dương cuối cùng trong A ra màn hình
Mỗi phần tử của mảng phải:
Có kiểu dữ liệu khác nhau.
Có thể có kiểu dữ liệu giống hoặc khác nhau.
Có kiểu dữ liệu giống nhau.
Tất cả các phương án đều sai.
Cho khai báo biến: Var A : array[1..5] of Integer;
Chọn lệnh đúng:
A[1] := 6/2;
A[2] := -10;
A(3) := 6;
A := 10;
Tham chiếu đến phần tử thứ i của mảng A được biểu diễn:
A[i]
Ai
A{i}
A(i)
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?
Tên kiểu mảng, tên biến mảng
Chỉ số phần tử, tên kiểu mảng
Tên biến mảng, chỉ số phần tử
Giá trị của phần tử, biến mảng
Khai báo biển mảng nào sau đây là đúng?
Var A:array[1..100] integer;
Var A:array[1..100] of integer;
Var A:array(1..100) of integer;
Var A:array(1......100) of integer;
Để 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:
Write(A[10]);
Write(A(10));
Readln(A[10]);
Write([10]);
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í?
Đầu dòng.
Cuối dòng.
Đầu tệp.
Cuối tệp.
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?
105 304 234
105+304-234
105304234
175
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:
Write(f, a,b,c);
Write(a, ‘ ’, b, ‘ ’, c);
Write(f, a, ‘ ’, bc);
Write(f, a, ‘ ’, b,‘ ’, c);
Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh?
f1 := ‘KQ.TXT’;
KQ.TXT := f1;
Assign(‘KQ.TXT’,f1);
Assign(f1,‘KQ.TXT’);
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.
Ghi dữ liệu ra tệp
Mở tệp để ghi
Mở tệp để đọc
Đọc dữ liệu từ tệp
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) Assign( f, 'bai1_1.TXT'); (b) close(f);
(a) Assign( f, 'bai1_1.TXT'); (b) close(bai1_1.TXT);
(a) Assign('bai1_1.TXT', f); (b) close(bai1_1.TXT');
(a) Assign( 'bai1_1.TXT', f); (b) close(f);
Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục?
Read(<tên tệp>,<danh sách biến>);
Read(<tên biến tệp>,<danh sách biến>);
Write(<tên tệp>,<danh sách biến>);
Write(<tên biến tệp>,<danh sách biến>);
Trong PASCAL để khai báo biến tệp văn bản ta phải sử dụng cú pháp?
Var <tên tệp> : Text;
Var <tên biến tệp> : Text;
Var <tên tệp> : String;
Var <tên biến tệp> : String;
Cách thức truy cập tệp văn bản là:
Truy cập tuần tự.
Truy cập trực tiếp.
Truy cập ngẫu nhiên.
Vừa truy cập tuần tự vừa truy cập trực tiếp.
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:
(2) -> (3) -> (6) -> (5);
(3) -> (6) -> (4) -> (2);
(1) -> (2) -> (4) -> (5);
(2) -> (1) -> (4) -> (5);
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?
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.
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.
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.
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.
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?
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.
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.
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.
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.
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í?
Đầu dòng.
Cuối dòng.
Đầu tệp.
Cuối tệp.
Cho chương trinh sau:
Begin
Assign (f,'output.dat');
Rewrite(f);
Write(t, ‘10+702-77921’);
readln
End.
Kết quả là:
123502
10+702-77921
420
510 702 752
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:
Read(f, x, y, z);
Read(f, ‘x’, ‘y’, ‘z’);
Read(x, y, z);
Read(‘x’, ‘y’, ‘z’);
Trong PASCAL mở tệp để ghi kết quả ta phải sử dụng thủ tục?
Reset(<tên tệp>);
Reset(<tên biến tệp>);
Rewrite(<tên tệp>);
Rewrite(<tên biến tệp>);
Dữ liệu kiểu tệp được?
lưu trữ trên ROM.
lưu trữ trên RAM.
lưu trữ trên đĩa cứng.
lưu trữ trên bộ nhớ ngoài.
Để gán tên tệp cho tên biến tệp ta sử dụng câu lệnh?
Assign(<tên biến tệp>,<tên tệp>);
<tên biến tệp> := <tên tệp>;
<tên tệp> := <tên biến tệp>;
Assign(<tên tệp>,<tên biến tệp>);
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?
Không được phép mở lại
Được phép mở lại 1 lần duy nhất
Được phép mở lại vô số lần tùy ý
Cần phải gắn lại tên tệp cho biến tệp trước khi mở
Trong PASCAL mở tệp để đọc dữ liệu ta phải sử dụng thủ tục?
Reset(<tên tệp>);
Reset(<tên biến tệp>);
Rewrite(<tên tệp>);
Rewrite(<tên biến tệp>);
