Đề thi Tin học lớp 11 Học kì 2 có đáp án (4 đề) – Đề 1
Phòng Giáo dục và Đào tạo …..
Đề thi Học kì 2
Môn: Tin Học lớp 11
Thời gian làm bài: 45 phút
(Đề 1)
Phần I. Trắc nghiệm
Câu 1: Cho đoạn chương trình sau:
s1 := ‘abcd’; s2: ‘abab’;
if s1 > s2 then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘abcd’
B. ‘abab’
C. ‘abcdabab’
D. ‘abababcd’
Câu 2: Cho s = ‘ABCDEF’, hàm copy (s, 4, 3) cho giá trị là:
A. ‘ABC’
B. ‘BCD’
C. ‘CDE’
D. ‘DEF’
Câu 3: Cho s = ‘Xin chao Viet Nam’, hàm length(s) cho giá trị bằng:
A. 15
B. 16
C. 17
D. 18
Câu 4: Cho đoạn chương trình sau:
s1 := ‘2345’; s2: ‘1234’;
if length(s1) > length(s2) then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘2345’
B. ‘1234’
C. ‘23451234’
D. ‘12342345’
Câu 5: Cho xâu kí tự sau: s:= ‘Truyen Kieu-Nguyen Du’
Lệnh nào sau đây cho kết quả ‘Truyen Kieu’
A. copy(s, 12, 10);
B. copy(s, 13, 9);
C. delete(s, 12, 10);
D. delete(s,13, 9);
Câu 6: Cho đoạn chương trình sau:
s1 := ‘123c’; s2 := ‘abcd’;
delete(s1, 1, 3);
write(pos (s1, s2));
Kết quả in ra màn hình là:
A. 1
B. 2
C. 3
D. 4
Câu 7: Khai báo 2 biến xâu a, b nào sau đây là sai:
A. var a, b = string;
B. var a, b : string[15];
C. var a, b : string[25];
D. var a, b : string;
Câu 8: 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 9: Để gắn tệp DL.TXT cho biến tệp f1 ta sử dụng câu lệnh:
A. f1 := ‘DL.TXT’;
B. ‘DL.TXT’ := f1;
C. Assign(f1, ‘DL.TXT’);
D. Assign(‘DL.TXT’, f1);
Câu 10: Câu lệnh mở biến tệp f2 để ghi dữ liệu có dạng:
A. reset(f1);
B. rewrite(f1);
C. read(f1);
D. write(f1);
Câu 11: Để ghi 2 biến CV và DT vào biến tệp f2 ta sử dụng câu lệnh:
A. write(f2, CV, DT);
B. read(f2, CV, DT);
C. writeln(CV, DT, f2);
D. readln(CV, DT, f2);
Câu 12: Để biết con trỏ tệp đã ở cuối tệp f hay chưa, ta sử dụng hàm:
A. eof(f)
B. eoln(f)
C. Cả A, B đều đúng
D. Cả A, B đều sai
Câu 13: Giả sử a = 5; b = 9; c = 15; để ghi các giá trị trên vào tệp f2 có dạng là ta sử dụng câu lệnh:
A. Read(f1, x, y, z);
B. Readln(x, y, z, f1);
C. write(f1, x, y, z);
D. writeln(x, y, z, f1);
Câu 14: Trong lời gọi thủ tục, các tham số hình thức được thay bằng các giá trị cụ thể được gọi là:
A. Tham số thực sự
B. Tham số giá trị
C. Tham số hình thức
D. Tham số biến
Câu 15: 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 16: Tham số được khai báo trong chương trình chính được gọi là:
A. Tham số thực sự
B. Tham số hình thức
C. Tham số biến
D. Tham số giá trị
Câu 17: Muốn khai báo y là tham số giá trị, x là tham số biến (x, y thuộc kiểu integer) trong thủ tục có tên là “Hoan_doi” thì khai báo nào sau đây là đúng:
A. Procedure Hoan_doi (y : integer; Var x : integer);
B. Procedure Hoan_doi (x : integer; Var y : integer);
C. Procedure Hoan_doi (Var x, y : integer);
D. Procedure Hoan_doi (x, y : integer);
Câu 18: Để phân biệt giữa tham biến và tham trị, trước tham biến người ta dùng từ khoá:
A. Type
B. Begin
C. Var
D. Const
Câu 19: Giả sử ta có hàm max(A, B: integer):integer; để tìm số lớn hơn trong hai số A và
B. Cần sử dụng hàm max trên như thế nào để tìm được số lớn nhất trong ba số A, B, C?
A. max(A; B; c);
B. max(A; max(B, C);
C. max(A, B, C);
D. max(max(A, B),C);
Câu 20: Cho chương trình sau:
procedure thutuc (a, b: integer);
Begin
…
End;
Trong chương trình chính có thể gọi lại chương trình con như thế nào:
A. thutuc;
B. thutuc(1, 2, 3);
C. thutuc (5, 10);
D. thutuc(5);
Phần II. Tự luận
Bài 1 . (2 điểm) Viết chương trình:
Đọc từ tệp “DULIEU.TXT” 2 số nguyên M và N (M < N)
Tính tổng các số chia hết cho 5 trong phạm vi từ M đến N
Ghi kết quả ra tệp “KETQUA.TXT”.
Bài 2. (3 điểm) Cho chương trình sau:
Program Baitap;
Var S1, S2 : string;
Procedure Xu_li_xau(a:string; var St:string);
Var i: byte;
Begin
i := pos (a, St);
while i < > 0 do
begin
delete(St, i, 4);
i := pos(a, St);
end;
End;
Begin
S1 := ‘hoc nua, hoc mai;
S2 := ‘hoc’;
Xu_li_xau(S2,S1);
End.
a/ Hãy chạy tay cho ra kết quả theo bảng mẫu dưới đây:
b/ Hãy chỉ ra: biến toàn cục, biến cục bộ, tham số hình thức, tham số thực sự, tham số biến,tham số giá trị trong chương trình trên.
Đáp án & Thang điểm
Phần I. Trắc nghiệm
Phần II. Tự luận
Bài 1 .
Var f1, f2: text;
Tong, m, n, i: integer;
Begin
assign(f1, ‘DULIEU.TXT’);
reset(f1);
assign(f2, ‘KETQUA’);
rewrite(f2);
Tong;= 0;
read(f1, m, n);
for i:= m to n do
if i mod 2 = 0 then Tong:= Tong+i;
write(f2, Tong);
close(f1);
close(f2);
End.
Bài 2a .
Bài 2b .
Đề thi Tin học lớp 11 Học kì 2 có đáp án (4 đề) – Đề 2
Phòng Giáo dục và Đào tạo …..
Đề thi Học kì 2
Môn: Tin Học lớp 11
Thời gian làm bài: 45 phút
(Đề 2)
Phần I. Trắc nghiệm
Câu 1: Cho đoạn chương trình sau:
s1 := ‘bbaa’; s2: ‘abcd’;
if s1 > s2 then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘bbaa’
B. ‘abcd’
C. ‘bbaaabcd’
D. ‘abcdbbaa’
Câu 2: Cho s = ‘ABCDEF’, hàm copy (s, 2, 3) cho giá trị là:
A. ‘ABC’
B. ‘BCD’
C. ‘CDE’
D. ‘DEF’
Câu 3: Cho s = ‘Turbo Pascal’, hàm length(s) cho giá trị bằng:
A. 10
B. 11
C. 12
D. 13
Câu 4: Cho đoạn chương trình sau:
s1 := ‘abcd’; s2: ‘abab’;
if length(s1) > length(s2) then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘abcd’
B. ‘abab’
C. ‘abcdabab’
D. ‘abababcd’
Câu 5: Cho xâu kí tự sau: s:= ‘Truyen Kieu-Nguyen Du’
Lệnh nào sau đây cho kết quả ‘Truyen Kieu’
A. copy(s, 1, 11);
B. copy(s, 1, 12);
C. delete(s, 1, 11);
D. delete(s,1, 12);
Câu 6: Cho đoạn chương trình sau:
s1 := ‘123d’; s2 := ‘abcd’;
delete(s1, 1, 3);
write(pos (s1, s2));
Kết quả in ra màn hình là:
A. 1
B. 2
C. 3
D. 4
Câu 7: Khai báo 2 biến xâu a, b nào sau đây là đúng:
A. var a, b : string[275];
B. var a, b : string[27];
C. var a, b = string;
D. var a. b : string;
Câu 8: 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 9: Để gắn tệp KQ.TXT cho biến tệp f2 ta sử dụng câu lệnh:
A. f2 := ‘KQ.TXT’;
B. ‘KQ.TXT’ := f2;
C. Assign(‘KQ.TXT’, f2);
D. Assign(f2, ‘KQ.TXT’);
Câu 10: Câu lệnh mở biến tệp f1 để đọc dữ liệu có dạng:
A. reset(f1);
B. rewrite(f1);
C. read(f1);
D. write(f1);
Câu 11: Để đọc dữ liệu từ biến tệp f1 chứa 2 biến a, b ta sử dụng câu lệnh:
A. read(f1, a, b);
B. write(f1, a, b);
C. readln(a, b, f1);
D. writeln(a, b, f1);
Câu 12: Để 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. Cả A, B đều đúng
D. Cả A, B đều sai
Câu 13: Tệp f1 có dữ liệu để đọc 3 giá trị trên tương ứng với 3 biến x, y, z ta sử dụng câu lệnh:
A. Read(f1, x, y, z);
B. Readln(x, y, z, f1);
C. write(f1, x, y, z);
D. writeln(x, y, z, f1);
Câu 14: Trong lời gọi thủ tục, các tham số hình thức được thay bằng các giá trị cụ thể được gọi là:
A. Tham số giá trị
B. Tham số hình thức
C. Tham số biến
D. Tham số thực sự
Câu 15: 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 16: Các biến được khai báo dùng riêng cho chương trình con được gọi là:
A. Biến cục bộ
B. Biến toàn cục
C. Tham số thực sự
D. Tham số hình thức
Câu 17: Muốn khai báo x, y là tham số biến (x, y thuộc kiểu integer) trong thủ tục có tên là “Hoan_doi” thì khai báo nào sau đây là đúng:
A. Procedure Hoan_doi (y : integer; Var x : integer);
B. Procedure Hoan_doi (x : integer; Var y : integer);
C. Procedure Hoan_doi (Var x, y : integer);
D. Procedure Hoan_doi (x, y : integer);
Câu 18: Để phân biệt giữa tham biến và tham trị, trước tham biến người ta dùng từ khoá:
A. Var
B. Type
C. Begin
D. Const
Câu 19: Giả sử ta có hàm max(A, B: integer) : integer; để tìm số lớn hơn trong hai số A và
B. Cần sử dụng hàm max trên như thế nào để tìm được số lớn nhất trong ba số A, B, C?
A. max(A; B; C);
B. max(A; max(B, C);
C. max(A, B, C);
D. max(max(A, B),C);
Câu 20: Cho chương trình sau:
procedure thutuc (a, b: integer);
Begin
…
End;
Trong chương trình chính có thể gọi lại chương trình con như thế nào:
A. thutuc;
B. thutuc (5, 10);
C. thutuc(1, 2, 3);
D. thutuc(5);
Phần II. Tự luận
Bài 1 . (2 điểm) Viết chương trình:
Đọc từ tệp “DULIEU.TXT” 2 số nguyên M và N (M < N)
Tính tổng các số chẵn trong phạm vi từ M đến N
Ghi kết quả ra tệp “KETQUA.TXT”.
Bài 2. (3 điểm) Cho chương trình sau:
Program C_trinh_con;
Var d: char;
X1: string;
Procedure Xoa (a: char ; var Xt:string);
Var j: byte;
Begin
j := pos (a, Xt);
while j < > 0 do
begin
delete(Xt, j, 1);
j := pos(a, Xt);
end;
End;
Begin
X1:=’SUCCESSFUL’;
d := ‘S’;
Xoa (d, X1);
End.
a/ Hãy chạy tay cho ra kết quả theo bảng mẫu dưới đây:
b/ Hãy chỉ ra: biến toàn cục, biến cục bộ, tham số hình thức, tham số thực sự, tham số biến,tham số giá trị trong chương trình trên.
Đáp án & Thang điểm
Phần I. Trắc nghiệm
Phần II. Tự luận
Bài 1 .
Var f1, f2: text;
Tong, m, n, i: integer;
Begin
assign(f1, ‘DULIEU.TXT’);
reset(f1);
assign(f2, ‘KETQUA’);
rewrite(f2);
Tong;= 0;
read(f1, m, n);
for i:= m to n do
if i mod 2 = 0 then Tong:= Tong+i;
write(f2, Tong);
close(f1);
close(f2);
End.
Bài 2a .
Bài 2b .
…………………………………………………………..
Đề thi Tin học lớp 11 Học kì 2 có đáp án (4 đề) – Đề 3
Phòng Giáo dục và Đào tạo …..
Đề thi Học kì 2
Môn: Tin Học lớp 11
Thời gian làm bài: 45 phút
(Đề 3)
Phần I. Trắc nghiệm
Câu 1: Cho đoạn chương trình sau:
s1 := ‘acb’; s2: ‘abcd’;
if s1 > s2 then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘abcd’
B. ‘acb’
C. ‘abcdacb’
D. ‘acbabcd’
Câu 2: Cho s = ‘ABCDEF’, hàm copy (s, 3, 3) cho giá trị là:
A. ‘ABC’
B. ‘BCD’
C. ‘CDE’
D. ‘DEF’
Câu 3: Cho s = ‘Tran Hung Dao’, hàm length(s) cho giá trị bằng:
A. 11
B. 12
C. 13
D. 14
Câu 4: Cho đoạn chương trình sau:
s1 := ‘abcd’; s2: ‘1234’;
if length(s1) > length(s2) then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘abcd’
B. ‘1234’
C. ‘abcd1234’
D. ‘1234abcd’
Câu 5: Cho xâu kí tự sau: s:= ‘Truyen Kieu-Nguyen Du’
Lệnh nào sau đây cho kết quả ‘Nguyen Du’
A. copy(s, 12, 10);
B. delete(s, 12, 10);
C. delete(s,13, 9);
D. copy(s, 13, 9);
Câu 6: Cho đoạn chương trình sau:
s1 := ‘123b’; s2 := ‘abcd’;
delete(s1, 1, 3);
write(pos (s1, s2));
Kết quả in ra màn hình là:
A. 1
B. 2
C. 3
D. 4
Câu 7: Khai báo 2 biến xâu a, b nào sau đây là đúng:
A. var a, b : string[275];
B. var a, b = string[275];
C. var a, b : string;
D. var a. b : string;
Câu 8: 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 9: Để gắn tệp KQ.TXT cho biến tệp f2 ta sử dụng câu lệnh:
A. Assign(f2, ‘KQ.TXT’);
B. f2 := ‘KQ.TXT’;
C. ‘KQ.TXT’ := f2;
D. Assign(‘KQ.TXT’, f2);
Câu 10: Câu lệnh mở biến tệp f1 để đọc dữ liệu có dạng:
A. reset(f1);
B. rewrite(f1);
C. read(f1);
D. write(f1);
Câu 11: Để đọc dữ liệu từ biến tệp f1 chứa 2 biến a, b ta sử dụng câu lệnh:
A. read(f1, a, b);
B. write(f1, a, b);
C. readln(a, b, f1);
D. writeln(a, b, f1);
Câu 12: Để 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. Cả A, B đều đúng
D. Cả A, B đều sai
Câu 13: Tệp f1 có dữ liệu để đọc 3 giá trị trên tương ứng với 3 biến x, y, z ta sử dụng câu lệnh:
A. Read(f1, x, y, z);
B. Readln(x, y, z, f1);
C. write(f1, x, y, z);
D. writeln(x, y, z, f1);
Câu 14: Trong lời gọi thủ tục, các tham số hình thức được thay bằng các giá trị cụ thể được gọi là:
A. Tham số giá trị
B. Tham số hình thức
C. Tham số thực sự
D. Tham số biến
Câu 15: 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 16: Tham số được đưa vào khi gọi chương trình con được gọi là:
A. Tham số thực sự
B. Tham số hình thức
C. Tham số biến
D. Tham số giá trị
Câu 17: Muốn khai báo x,y là tham số giá trị (x, y thuộc kiểu integer) trong thủ tục có tên là “Hoan_doi” thì khai báo nào sau đây là đúng:
A. Procedure Hoan_doi (y : integer; Var x : integer);
B. Procedure Hoan_doi (x : integer; Var y : integer);
C. Procedure Hoan_doi (Var x, y : integer);
D. Procedure Hoan_doi (x, y : integer);
Câu 18: Để phân biệt giữa tham biến và tham trị, trước tham biến người ta dùng từ khoá:
A. Type
B. Begin
C. Const
D. Var
Câu 19: Giả sử ta có hàm max(A, B: integer):integer; để tìm số lớn hơn trong hai số A và
B. Cần sử dụng hàm max trên như thế nào để tìm được số lớn nhất trong ba số A, B, C?
A. max(A; B; c);
B. max(max(A, B),C);
C. max(A; max(B, C);
D. max(A, B, C);
Câu 20: Cho chương trình sau:
procedure thutuc (a, b: integer);
Begin
…
End;
Trong chương trình chính có thể gọi lại chương trình con như thế nào:
A. thutuc (5, 10);
B. thutuc;
C. thutuc(1, 2, 3);
D. thutuc(5);
Phần II. Tự luận
Bài 1 . (2 điểm) Viết chương trình:
Đọc từ tệp “DULIEU.TXT” 2 số nguyên M và N (M < N)
Tính tổng các số chia hết cho 3 trong phạm vi từ M đến N
Ghi kết quả ra tệp “KETQUA.TXT”.
Bài 2. (3 điểm) Cho chương trình sau:
Program C_trinh_con;
Var d: char;
X1: string;
Procedure Xoa (a: char ; var Xt:string);
Var j: byte;
Begin
j := pos (a, Xt);
while j < > 0 do
begin
delete(Xt, j, 1);
j := pos(a, Xt);
end;
End;
Begin
X1:=’SEPTEMBER’;
d := ‘E’;
Xoa (d, X1);
End.
a/ Hãy chạy tay cho ra kết quả theo bảng mẫu dưới đây:
b/ Hãy chỉ ra: biến toàn cục, biến cục bộ, tham số hình thức, tham số thực sự, tham số biến,tham số giá trị trong chương trình trên.
Đáp án & Thang điểm
Phần I. Trắc nghiệm
Phần II. Tự luận
Bài 1 .
Var f1, f2: text;
Tong, m, n, i: integer;
Begin
assign(f1, ‘DULIEU.TXT’);
reset(f1);
assign(f2, ‘KETQUA’);
rewrite(f2);
Tong;= 0;
read(f1, m, n);
for i:= m to n do
if i mod 2 = 0 then Tong:= Tong+i;
write(f2, Tong);
close(f1);
close(f2);
End.
Bài 2a .
Bài 2b .
……………………………………………………………….
Đề thi Tin học lớp 11 Học kì 2 có đáp án (4 đề) – Đề 4
Phòng Giáo dục và Đào tạo …..
Đề thi Học kì 2
Môn: Tin Học lớp 11
Thời gian làm bài: 45 phút
(Đề 4)
Phần I. Trắc nghiệm
Câu 1: Cho đoạn chương trình sau:
s1 := ‘abcd’; s2: ‘acb’;
if s1 > s2 then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘abcd’
B. ‘acb’
C. ‘abcdacb’
D. ‘acbabcd’
Câu 2: Cho s = ‘ABCDEF’, hàm copy (s, 1, 3) cho giá trị là:
A. ‘ABC’
B. ‘BCD’
C. ‘CDE’
D. ‘DEF’
Câu 3: Cho s = ‘Tien hoc le, hau hoc van’, hàm length(s) cho giá trị bằng:
A. 23
B. 24
C. 25
D. 26
Câu 4: Cho đoạn chương trình sau:
s1 := ‘1234’; s2: ‘abcd’;
if length(s1) > length(s2) then write(s1) else write(s2);
Kết quả in ra màn hình là:
A. ‘abcd’
B. ‘1234’
C. ‘abcd1234’
D. ‘1234abcd’
Câu 5: Cho xâu kí tự sau: s:= ‘Truyen Kieu-Nguyen Du’
Lệnh nào sau đây cho kết quả ‘Nguyen Du’
A. copy(s, 1, 11);
B. copy(s, 1, 12);
C. delete(s, 1, 11);
D. delete(s,1, 12);
Câu 6: Cho đoạn chương trình sau:
s1 := ‘123a’; s2 := ‘abcd’;
delete(s1, 1, 3);
write(pos (s1, s2));
Kết quả in ra màn hình là:
A. 1
B. 2
C. 3
D. 4
Câu 7: Khai báo 2 biến xâu a, b nào sau đây là sai:
A. var a, b : string;
B. var a, b : string[15];
C. var a, b : string[25];
D. var a. b : string;
Câu 8: 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 9: Để gắn tệp DL.TXT cho biến tệp f1 ta sử dụng câu lệnh:
A. f1 := ‘DL.TXT’;
B. ‘DL.TXT’ := f1;
C. Assign(f1, ‘DL.TXT’);
D. Assign(‘DL.TXT’, f1);
Câu 10: Câu lệnh mở biến tệp f2 để ghi dữ liệu có dạng:
A. reset(f1);
B. rewrite(f1);
C. read(f1);
D. write(f1);
Câu 11: Để ghi 2 biến CV và DT vào biến tệp f2 ta sử dụng câu lệnh:
A. write(f2, CV, DT);
B. read(f2, CV, DT);
C. writeln(CV, DT, f2);
D. readln(CV, DT, f2);
Câu 12: Để biết con trỏ tệp đã ở cuối tệp f hay chưa, ta sử dụng hàm:
A. eof(f)
B. eoln(f)
C. Cả A, B đều đúng
D. Cả A, B đều sai
Câu 13: Giả sử a = 5; b = 9; c = 15; để ghi các giá trị trên vào tệp f2 có dạng là ta sử dụng câu lệnh:
A. Read(f1, x, y, z);
B. Readln(x, y, z, f1);
C. write(f1, x, y, z);
D. writeln(x, y, z, f1);
Câu 14: Trong lời gọi thủ tục, các tham số hình thức được thay bằng các giá trị cụ thể được gọi là:
A. Tham số giá trị
B. Tham số thực sự
C. Tham số hình thức
D. Tham số biến
Câu 15: 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 16: Các biến được khai trong chương trình chính được gọi là:
A. Biến cục bộ
B. Biến toàn cục
C. Tham số thực sự
D. Tham số hình thức
Câu 17: Muốn khai báo x là tham số giá trị, y là tham số biến (x, y thuộc kiểu integer) trong thủ tục có tên là “Hoan_doi” thì khai báo nào sau đây là đúng:
A. Procedure Hoan_doi (y : integer; Var x : integer);
B. Procedure Hoan_doi (Var x, y : integer);
C. Procedure Hoan_doi (x : integer; Var y : integer);
D. Procedure Hoan_doi (x, y : integer);
Câu 18: Để phân biệt giữa tham biến và tham trị, trước tham biến người ta dùng từ khoá:
A. Type
B. Var
C. Begin
D. Const
Câu 19: Giả sử ta có hàm max(A, B: integer):integer; để tìm số lớn hơn trong hai số A và
B. Cần sử dụng hàm max trên như thế nào để tìm được số lớn nhất trong ba số A, B, C?
A. max(max(A, B),C);
B. max(A; B; c);
C. max(A; max(B, C);
D. max(A, B, C);
Câu 20: Cho chương trình sau:
procedure thutuc (a, b: integer);
Begin
…
End;
Trong chương trình chính có thể gọi lại chương trình con như thế nào:
A. thutuc;
B. thutuc(1, 2, 3);
C. thutuc(5);
D. thutuc (5, 10);
Phần II. Tự luận
Bài 1 . (2 điểm) Viết chương trình:
Đọc từ tệp “DULIEU.TXT” 2 số nguyên M và N (M < N)
Tính tổng các số lẻ trong phạm vi từ M đến N
Ghi kết quả ra tệp “KETQUA.TXT”.
Bài 2. (3 điểm) Cho chương trình sau:
Program Baitap;
Var S1, S2 : string;
Procedure Xu_li_xau(a:string; var St:string);
Var i: byte;
Begin
i := pos (a, St);
while i < > 0 do
begin
delete(St, i, 4);
i := pos(a, St);
end;
End;
Begin
S1 := ‘sen trang, sen hong;
S2 := ‘sen’;
Xu_li_xau(S2,S1);
End.
a/ Hãy chạy tay cho ra kết quả theo bảng mẫu dưới đây:
b/ Hãy chỉ ra: biến toàn cục, biến cục bộ, tham số hình thức, tham số thực sự, tham số biến,tham số giá trị trong chương trình trên.
Đáp án & Thang điểm
Phần I. Trắc nghiệm
Phần II. Tự luận
Bài 1 .
Var f1, f2: text;
Tong, m, n, i: integer;
Begin
assign(f1, ‘DULIEU.TXT’);
reset(f1);
assign(f2, ‘KETQUA’);
rewrite(f2);
Tong;= 0;
read(f1, m, n);
for i:= m to n do
if i mod 2 = 1 then Tong:= Tong+i;
write(f2, Tong);
close(f1);
close(f2);
End.
Bài 2a .
Bài 2b .