You are on page 1of 5

Câu 1: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:

A. Cùng kiểu với giá trị đầu và giá trị cuối


B. Chỉ cần khác kiểu với giá trị đầu
C. Cùng kiểu với các biến trong câu lệnh
D. Không cần phải xác định kiểu dữ liệu
Câu 2: Câu lệnh sau giải bài toán nào:
While M <> N do
If M > N then M:=M-N else N:=N-M;
A. Tìm UCLN của M và N
B. Tìm BCNN của M và N
C. Tìm hiệu nhỏ nhất của M và N
D. Tìm hiệu lớn nhất của M và N
Câu 3: 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ự
Câu 4: 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
Câu 5: 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
Câu 6: Độ dài tối đa của xâu kí tự trong PASCAL là:
A. 256
B. 255
C. 65535
D. Tùy ý
Câu 7: Cho xâu S là ‘Haiduong-Viet nam’. Kết quả của hàm Length(S) là:
A. 16
B. 17
C. 18
D. 19
Câu 8: Cho xâu S là ‘Haiduong-Viet nam’. Kết quả của hàm POS(‘duong’,S) là:
A. 4
B. 5
C. 0
D. 6
Câu 9: Cho st 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(st) downto 2 do write(st[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ự trong xâu st ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên;
D. In từng kí tự trong xâu st ra màn hình theo thứ tự ngược;
Câu 10: 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. cả A. B. C đều sai.
Câu 11: 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 chỉ phụ thuộc vào dung lượng của bộ nhớ.        
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.
Câu 12: 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.
Câu 13: 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.  
Câu 14: 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.
Câu 15: Trong NNLT Pascal, cú pháp để khai báo biến tệp văn bản là:
A. var < tên tệp > : txt; 
B. var < tên biến tệp > : txt; 
C. var < tên tệp > : text; 
D. var < tên biến tệp > : text;
Câu 16: khi làm việc với tệp cuối cùng chúng ta phải làm gì?
A. Gắn tên tệp cho biến tệp
B. Mở tệp để ghi dữ liệu vào tệp
C. Mở tệp để đọc dữ liệu từ tệp
D. Đóng tệp
Câu 17: Trong NNLT Pascal, cú pháp mở tệp để ghi dữ liệu vào tệp là:
A. Read( < biến tệp >);
B. reset ( < biến tệp >);
C. Read ( < biến tệp >, <danh sách biến cần đọc>);
D. rewrite ( < biến tệp >);
Câu 18: Cú pháp của thủ tục ghi dữ liệu vào tệp văn bản là:
A. write (< biến tệp > , < danh sách kết quả >);
B. write (< tên tệp > , < danh sách kết quả >);
C. writeln (< biến tệp  > , < danh sách kết quả >);
D. Cả đáp án A và C đều đúng
Câu 19: Hàm eoln(fi) trả về giá trị TRUE khi nào?
A. Khi con trỏ tệp đang chỉ tới cuối tệp
B. Khi con trỏ tệp đang chỉ tới đầu tệp
C. Khi con trỏ tệp đang chỉ tới cuối dòng
D. Khi con trỏ tệp đang chỉ tới đầu dòng
Câu 20: Cho biết fo là biến tệp văn bản và tệp doanthuong.txt có nội dung đang lưu trữ là: Tich 2 so la:
20. Hãy cho biết sau khi thực hiện đoạn lệnh sau:
a := 20; b :=4;
assign(fo, 'doanthuong.txt');
rewrite(fo);
writeln(fo, 'Thuong 2 so la: ', a/b);
thì tệp ketqua.txt có nội dung gì?
A. Tich 2 so la: 80 
B. Tich 2 so la: 80Thuong 2 so la: 5
C. Thuong 2 so la: 5
D. Thuong 2 so la: 5Tich 2 so la: 80
Câu 21: Trong Pascal, thực hiện chương trình Doanthuong dưới đây sẽ ghi kết quả nào trong các kết
quả cho dưới đây vào tệp văn bản BT1.TXT ?
Program Doanthuong;
Uses crt ;
Var fo : text ;
Begin
          Clrscr;
          Assign(fo, ‘BT1.TXT ’) ;
          Rewrite(fo) ;
Write(fo, ‘123 + 456’) ;
Close(fo) ;
End .
A. 123 + 456
B. 123456
C. 579
D. 123 456
Câu 22: Trong Pascal, cho trước tệp văn bản KTCK.TXT chỉ có một dòng, chứa dòng chữ : CHAO
MUNG BAN DEN VOI LAP TRINH ngay ở đầu dòng. Thực hiện chương trình C3DT dưới đây, trong
tệp KQCK.TXT sẽ được ghi kết quả nào trong các kết quả cho dưới đây ?
Program C3DT;
Uses crt ;
Var fi,fo : text ;
S : string[21] ;
Begin
Clrscr;
Assign(fi, ‘KTCK.TXT ’) ; Reset(fi) ;
Assign(fo, ‘KQCK.TXT ’) ; Rewrite(fo) ;
Read(fi, S) ;
Write(fo, S) ;
Close(fi) ; Close(fo);
End .
A. CHAO MUNG BAN DEN VOI LAP TRINH
B. CHAO MUNG BAN
C. CHAO MUNG BAN DEN VOI
D. CHAO MUNG
Câu 23: 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;
Câu 24: Trong Pascal, cho trước tệp văn bản KTCK.TXT có chứa 5 bộ số a,b,c lần lượt là: 4 3 6 7 8 1
9 4 3 2 5 7 6 3 9. Thực hiện chương trình C3DT dưới đây, trong tệp KQCK.TXT sẽ được ghi kết quả
nào trong các kết quả cho dưới đây ?
Program C3DT;
Var fi,fo : text ;
a, b, c, min:integer;
Begin
Assign(fi, ‘KTCK.TXT ’) ; Reset(fi) ;
Assign(fo, ‘KQCK.TXT ’) ; Rewrite(fo) ;
While Not Eof (fi) do
Begin
Read(fi, a,b,c) ;
min:=a;
If min>b then min := b;
If min>c then min := c;
Write(fo, ‘Min =’,min) ;
End;
Close(fi) ; Close(fo);
End .
A. Min = 3 Min = 1 Min = 3 Min = 2 Min = 3
B. Min = 3
C. Min = 1
D. Chương trình không chạy
Câu 25: Chương trình con hàm trong Pascal bắt đầu bằng từ khóa
A. Program.
B. Procedure.
C. Function.
D. Var.
Câu 26: 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.
Câu 27: 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);
Câu 28: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ộ
Câu 29: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ề
Câu 30: 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.
Câu 31: 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ộ.
Câu 32: Muốn khai báo x là tham số biến và y, z là tham số trị (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( Var x : Byte ; y, z : Byte) ;
B, Procedure ViduTT( Var x : Byte ; y : Byte ; z : Byte) ;
C, Procedure ViduTT( Var x : Byte ; Var y : Byte ; z : Byte) ;
D, Procedure ViduTT( y : Byte ; Var x : Byte ; z : Byte) ;
Câu 33: Đoạn chương trình sau có lỗi gì?
Procedure IF (key : char ) ;
    Begin
           If key = ‘ q ’  then  writeln( ‘ Ket thuc ’ )
    End;
 
A, Thiếu dấu “ ; ” sau từ khóa Begin ;
B, Không thể dùng câu lệnh if trong thủ tục;
C, Thiếu dấu “ ; ” sau lệnh writeln ;
D,   IF không thể dùng làm tên của chương trình con ;

You might also like