PHẦN I : TRẮC NGHIỆM (
5 điểm)Chọn đáp án đúng và điền vào bảng tương ứng dưới đây. Câu | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Đáp án | | | | | | | | | | |
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: Khẳng định nào sau đây là đúng?
A. Cả lời gọi hàm và lời gọi thủ tục đều 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. 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ự
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ự tuỳ thuộc vào từng hàm và thủ tục.
Câu 4: 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 5: Giả sử trên thư mục gốc của đĩa C có tệp f đã có nội dung sẵn. Khi thực hiện thủ tục Rewrite(f);
A. Nội dung trong tệp f sẽ hiện ra trên màn hình
B. Nội dung trong tệp cũ vẫn còn nguyên
C. Nội dung mới sẽ được ghi tiếp theo phía dưới tệp đã có sẵn
D. Nội dung trong tệp cũ sẽ bị xoá để chuẩn bị ghi dữ liệu mới
Câu 6: 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 7: Cho đoạn chương trình sau:
Var g:text;
I:integer;
Begin
Assign(g, ‘C:\DLA.txt’);
Rewrite(g);
For i:=1 to 10 do
If i mod 2 <> 0 then write(g, i);
Close(g);
Readln
End.
Sau khi thực hiện chương trình trên, nội dung của tệp ‘DLA.txt’ gồm những phần tử nào?
A. 2; 4; 6; 8;10 B. 1; 3; 5; 9 C. 1; 3; 5;7; 9 D. 4; 6; 8;10
Câu 8: 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 9: 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 10: Khẳng định nào sau đây là đúng?
A. Biến cục bộ là biến chỉ được dùng 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 con chứa nó.
C. 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.
D. Biến toàn cục 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ẦN II: TỰ LUẬN (5 điểm):
Câu 1: C
ho chương trình sauProgram 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 hỏi: Quan sát và:
a) Nêu các tham số thực sự, tham số hình thức?
b) Nêu tên các biến cục bộ, biến toàn cục?
Câu 2: Cho mảng A gồm N phần tử thuộc kiểu nguyên (N≤50)? Viết chương trình con thực hiện các yêu cầu sau:
a. Viết thủ tục nhập giá trị cho mảng A từ bàn phím.
b. Viết thủ tục in ra màn hình các phần tử âm trong mảng A.
ĐÁP ÁN VÀ THANG ĐIỂM ĐỀ KIỂM TRA HỌC KỲ II
PHẦN I : TRẮC NGHIỆM (
5 điểm) Câu | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Đáp án | B | B | D | D | D | B | C | A | A | B |
Điểm | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 |
PHẦN II: TỰ LUẬN (5 điểm):
Câu 1: (2 điểm)a. Tham số thực sự: x, y, z, tTham số hình thức: a, b
b. Biến cục bộ: du, c, dBiến toàn cục: x, y, z, t
Câu 2: (3 điểm)a) Viết thủ tục nhập giá trị cho mảng A từ bàn phímprocedure nhap(
var A:kmang;
var n:integer);
begin write(‘Nhap so phan tu cua mang N=’);
readln(n);
for i:=1
to n
do begin write(‘Nhap phan tu thu A[‘,i,’]=’);
readln(A[i]);
end;end; b) Viết thủ tục in ra màn hình các phần tử âm trong mảng A.procedure hienam(A:kmang;n:byte);
begin for i := 1
to n
do if A[i] < 0
then write(A[i],’ ’);
end;