NEW
Font size
Worksheetstin cuối kì
Total questions: 43
Worksheet time: 43mins
1. 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 tệp>: string;
c. Var <biến tệp>: text;
d. Var <biến tệp>: string;
2. Số lượng phần tử của tệp?
a. Không cần khai báo trước
b. Phải được khai báo trước
c. Không đếm được.
d. Khai báo giống kiểu mảng.
3. Trong Pascal, mở tệp để đọc dữ liệu ta dùng câu lệnh
a. reset(<tên tệp>);
b. reset(<biến tệp>);
c. rewrite(<tện tệp>);
d. rewrite(<biến tệp>);
4. Trong Pascal, mở tệp để ghi dữ liệu ta dùng câu lệnh
a. reset(<tên tệp>);
b. reset(<biến tệp>);
c. rewrite(<tên tệp>);
d. rewrite(<biến tệp>);
5. Để gắn tên tệp cho 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>,<biến tệp>);
6. Trong Pascal, để đóng tệp ta dùng thủ tục
a. close(<biến tệp>);
b. close(<tên tệp>);
c. stop(<biến tệp>);
d. stop(<tên tệp>);
7. Hai thao tác cơ bản được thực hiện đối với tệp là:
a. Đọc/ghi dữ liệu
b. Mở/đóng tệp
c. Khai báo tệp/gắn tên tệp
d. Mở tệp/đọc dữ liệu từ tệp
8. Lệnh While not EOF(f) Do dùng để làm gì?
a. Kiểm tra đã hết dòng hay chưa.
b. Kiểm tra đã hết tệp hay chưa
c. Đưa con trỏ tệp về đầu dòng.
d. Đưa con trỏ tệp về cuối dòng.
9. Để đọc biến x, y từ tệp f, ta dùng lệnh nào?
a. Write(x,y);
b. Write(f,x,y);
c. Read(f,x,y);
d. Read(x,y);
10. Em hãy cho biết vị trí của tệp vidu.txt trong lệnh gán: ASSIGN(F,’VIDU.TXT’);
a. Trong thư mục gốc ổ đĩa C:\
b. Trên Desktop
c. Chung thư mục với tệp chương trình đang chạy
d. không có lựa chọn nào đúng
11. Khi tiến hành mở tệp để ghi mà không tìm thấy tệp thì:
a. tệp sẽ được tạo ra với nội dung toàn kí tự đặc biệt.
b. tệp sẽ được tạo ra với nội dung toàn kí tự cách.
c. tệp sẽ được tạo ra với nội dung rỗng
d. báo lỗi vì không thực hiện được.
12. Phát biểu nào sau đây là chính xác khi nói về hàm EOLN
a. Hàm cho giá trị False nếu con trỏ tệp ở vị trí kết thúc tệp.
b. Hàm cho giá trị False nếu con trỏ tệp ở vị trí kết thúc dòng.
c. Hàm cho giá trị True nếu con trỏ tệp ở vị trí kết thúc tệp.
d. Hàm cho giá trị True nếu con trỏ tệp ở vị trí kết thúc dòng
13. Cho tệp TT2.TXT là tệp tin văn bản có nội dung là: "Turbo Pascal 7.0"
Khi chạy chương trình:
Var F:Text;
St:String[5];
Begin
Assign(F, 'TT2.TXT');
Reset(F);
Read(F, St);
Write(St);
Close(F);
End.
Sẽ in ra dòng chữ:
a. Turbo Pascal 7.0
b. Turbo
c. Pascal 7.0
d. Turbo Pascal
14. Cho khai báo: Var F:Text; Sau khi thực hiện các lệnh:
Assign(F,'tt1.txt'); Rewrite(F);
Write(F, 123+456); Close(F);
Nội dung của tệp tt1.txt sẽ là:
a. 579
b. 123456
c. 123 456
d. 123+456
15. Cho chương trình sau:
Var f: text;
Begin
Assign(f,‘output.dat’);
Rewrite(f);
Write(f, ‘510 + 702 - 792’);
Close(f);
End.
Sau khi thực hiện chương trình, tập tin ‘output.dat’ có nội dung như thế nào?
a. 510 702 792
b. 420
c. 510 + 702 - 792
d. 510702792
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ề qua tên hàm
C_ Tên hàm
D_ Địa chỉ mà hàm trả về
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 := 2 ;
godoit( x, y ) ; writeln( x, y ) ;
End.
Chương trình trên in ra dãy số nào ?
A_ 2001
B_ 1020
C_ 2012
D_ 1234
Mô tả nào dưới đây về tham số là sai ?
A_Một hàm có thể có cả tham trị và tham biến
B_Có thể truyền biến số (đã nhận giá trị) cho tham 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ả;
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 nhiều lần 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 biến là đủ;
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;
Cho biết chương trình con sau làm việc gì?
Function so(a,b,c:real):real;
Begin
So:=a;
If so<b then so:=b;
If so<c then so:=c;
End;
a. So sánh 3 số a,b,c
b. Tìm giá trị lớn nhất của 3 số a,b,c
c. Gán giá trị cho biến số
d. Tìm giá trị nhỏ nhất của 3 số a,b,c
Trong các tên chuẩn sau đây, tên nào là thủ tục chuẩn?
A_ Sin(x);
B_ Length(S);
C_ Sqrt(x);
D_ Delete(S,5,1);
: 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);
: 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.
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ộ.
: 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.
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.
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 biến;
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
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.
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.
Để khai báo hàm trong Pascal bắt đầu bằng từ khóa
A_ Program.
B_ Procedure.
C_ Function.
D_ Var.
Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa
A_ Program.
B_ Procedure
C_ Function.
D_ Var.
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) ;
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;
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 số hay không;
B_ In ra các ước số của n;
C_ Câu A_, B_ đều sai;
D_ Câu A_, B_ đều đúng;
Cho chương trình
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;
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_ StopHereStartHere;
B_ StartHere StopHere;
C_ StartHere StopHere StartHere;
D_ StopHere StopHere;
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 ; write( x, y ) ;
End ;
Begin
x := 1 ; y := 2 ;
write( x, y ) ; thaydoi( x, y ) ;
write( x, y)
End.
Hãy chọn câu trả lời đúng .
A_ 1 2 2 0 1 2
B_ 122012
C_ 1 21 2
D_ 1 2
Đ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_ Không thể dùng câu lệnh if trong thủ tục;
C_ Thiếu dấu “ ; ” sau lệnh writeln ;
D_ End không thể dùng làm tên của thủ tục ;
cho chương trình sau
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;
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.
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 bộ là:
A_ x và y.
B_ i.
C_ a và b.
D_ a, b, S.
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à:
x và y
. B_ i.
C_ a và b.
D_ a, b, S.
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.
