Câu 1: Khẳng định nào sau đây là đúng?
A. Chỉ có thủ tục mới có thể có tham số hình thức
B. Cả thủ tục và hàm đều 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 2: Để biết con trỏ tệp đã ở cuối dòng của tệp f hay chưa, ta sử dụng hàm:
A. eof(f) B. eoln(f) C. eof(f, ‘trai.txt’) D. foe(f)
Câu 3: Trong NNLT Pascal, khai báo nào sau đây là đúng khi khai báo tệp văn bản?
A. Var f: String; B. Var f: byte; C. Var f = record D. Var f: Text;
Câu 4: Câu lệnh dùng thủ tục đọc có dạng:
A. Read(<biến tệp>); B. Read(<biến tệp>,<danh sách biến>);
C. Read(<danh sách biến>, <biến tệp>); D. Read(<danh sách biến>);
Câu 5: Tệp f có dữ liệu để đọc 3 giá trị trên từ tệp f 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’);
Câu 6: Câu lệnh dùng thủ tục ghi có dạng:
A. Writeln(<biến tệp>); B. Writeln(<danh sách kết quả>,(<biến tệp>);
C. Writeln(<biến tệp>, <danh sách kết quả>); D. Writeln(<danh sách kết quả>);
Câu 7: Giả sử a = 5; b = 9; c = 15; để ghi các giá trị trên vào tệp f có dạng là 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);
Câu 8: Trong Pascal để khai báo ba biến tệp văn bản f1, f2, f3 cần sử dụng cách viết nào sau đây?
A. Var f1 f2 f3:text; B. Var f1,f2,f3:text; C. Var f1; f2;f3:text; D. Var f1:f2:f3:text;
Câu 9: 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 phai 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ó tuỳ thuộc vào từng chương trình cụ thể.
C. Phần đầu nhất thiết phải có để khai báo tên chương trình con.
D. Phân đầu có thể có hoặc không có cũng được.
Câu 10: Tham số được khai báo trong thủ tục hoặc hàm được gọi là gì?
A. Tham số hình thức B. Tham số thực sự C. Biến cục bộ D. Biến toàn bộ
PHẦN II: TỰ LUẬN (6 điểm):
Câu 1 (2đ): Cho chương trình sau
Program Baitap;
Var x, y, z , t: word;
Function BCNN(a, b:word):word;
Var du, c, d:word;
Begin c:=a; d:=b;
While b<>0 do
Begin
du:=a mod b;
a:=b;
b:=du;
End;
BCNN:=(c*d) div a; End;
Begin
Write(‘nhap 4 so x, y, z, t: ‘); readln(x, y, z, t);
Write(‘BCNN cua 4 so la: ’, BCNN(BCNN(x, y),BCNN(z, t)));
Readln;
End.
Câu 2 (4đ): Cho mảng A gồm N phần tử thuộc kiểu nguyên dương (N≤500)? Viết chương trình thực hiện tính tổng các số chia hết cho 3 hoặc cho 5, phải viết và sử dụng các chương trình con sau trong chương trình:
a) Thủ tục nhập giá trị cho mảng A từ bàn phím.
b) Hàm kiểm tra số chia hết cho 3 hoặc 5.