Đề cương ôn tập học kì 2 môn Tin học 11 năm 2022 - 2023

Đề cương ôn thi cuối kì 2 Tin học 11 gồm bộ câu hỏi trắc nghiệm có đáp án kèm theo. Qua đề cương Tin học 11 học kì 2 giúp các bạn làm quen với các dạng bài tập, nâng cao kỹ năng làm bài và rút kinh nghiệm cho bài thi học kì 2 lớp 11 sắp tới. 

ĐỀ CƯƠNG KIỂM TRA CUI K II NĂM HỌC 2022 2023
MÔN: TIN HỌC 11
I. PHN TRC NGHIM:
Câu 1: Trong các khai báo sau, khai báo nào là cấu trúc lặp vi s lần chưa biết?
A. For <biến đếm>:= < giá trị đầu> to <giá trị cuối> do < câu lệnh>;
B. While < điều kiện> do < câu lệnh>;
C. If < điều kiện> then < câu lệnh>;
D. Var <tên biến>: array[kiu ch s] of <kiu phn t>;
Câu 2: Khai báo nào thuộc cấu trúc lặp?
A. While <điều kiện> do < câu lệnh>;
B. if <điều kiện> then < câu lệnh 1> else < câu lệnh 2>;
C. Var <tên biến>: text;
D. Program < tên chương trình>;
Câu 3: Cho đoạn chương trình sau:
T:=0;
For i:= M to N do
If i mod 2 = 0 then t:=t+i;
Đoạn chương trình trên giải quyết cho bài toán nào dưới đây?
A. Tính tổng các số trong phm vi t M đến N
B. Tính tổng các số chia hết cho 2 trong phm vi t M đến N
C. Tính tổng các số không chia hết cho 2 trong phm vi t M đến N
D. Tính tích các số không chia hết cho 2 trong phm vi t M đến N
Câu 4: Cho đoạn chương trình:
For i:= 1 to 10 do
If i mod 2 <> 0 then write(i:4);
Đoạn chương trình trên cho kết qu như thế nào?
A. 1 3 5 7 9 B. 13579 C. Chương trình lỗi D. 12345678910
Câu 5: Cho đoạn chương trình sau:
T:=0;
For i:=6 downto 1 do
If i mod 2 = 0 then t:=t+i;
Đoạn chương trình trên cho kết qu như thế nào?
A. 12 B. 21 C. 2 4 6 D. 6 2 4
Câu 6: Cho câu lệnh sau:
For i:=5 downto 1 do write(i, ' ');
Kết qu của câu lệnh đó như thế nào?
A. 12345 B. 1 2 3 4 5 C. 54321 D. 5 4 3 2 1
Câu 7: Cú pháp khai báo mảng mt chiu. Chọn đáp án đúng?
A. Var <tên biến>: array[kiu ch s] of <kiu phn t>;
B. var <tên biến>= array[kiu ch s] of <kiu phn t>;
C. var <tên biến>: array[kiu ch s] of <kiu phn t>
D. Var < tên biến>: string[độ dài];
Câu 8: Khai báo mảng mt chiu gm 50 phn t có kiểu thc. Chọn khai báo đúng?
A. Var x : array[50] of real; B. type A= array [1..50] of real; var x: a;
C. tupe A1= array[1..50] of real; var x:A1; D. Var X:string[1..50] of real;
Câu 9: Cho mng mt chiu var b:array[1..n] of integer;. Tham chiếu đến phn t gia ca mng b, ta
viết:
A. b[n/2] B. b[n mod 2] C. b[n div 2] D. không thực hiện được
Câu 10: Cho mng mt chiu type A2= array[1..100] of boolean; Var x:A2;. Tham chiếu đến phn t th
I ca mng mt chiều có khai báo như trên là;
A. a2[i] B. a2[i]; C. x[i] D. x[i];
Câu 11: Cho khai báo mảng:
Var a: array[1..1000] of integer;
n,i: integer;
Begin
Readln(n);
For i:= 1 to n do readln(a[i]);
End.
Chương trình trên thực hiện công việc nào sau đây?
A. Nhp 1000 phn t cho mng a
B. Nhp s phn t và giá trị ca tng phn t ca mng a
C. Nhp tt c các phần t cho mng a
D. Đọc mng a
Câu 12: Cho mng mt chiu B gm N phn t, mun nhập giá trị cho tt c các phần t ca mng B, ta
dùng lệnh nào?
A. For i := 1 to N do write(B[i]); B. For i := 1 to N do readln(B[i]);
C. Readln(‘B[i]’); D. Writeln(B[i]);
Câu 13: Cho mng mt chiu x gm 100 phn tử. Để nhập giá trị cho phn t th 50 ca mảng x, ta dùng
lệnh nào?
A. writeln(x[50]); B. read(x[50]); C. Readln(x(50)); D. write(x{50});
Câu 14: Cho mng mt chiu K gm 50 phn t, mun nhập giá trị cho các phần t ca mảng K, ta dùng
lệnh nào?
A. for i:=1 to n do readln(k[i]); B. for n:=1 to 50 do readln(k[n]);
C. for i:= 1 to N do write(k[i]); D. for n:= 1 to 50 do writeln(k[n]);
Câu 15: Cho khai báo sau: Var b:array[1..20] of byte;. Câu lệnh nào dưới đây sẽ in ra tt c các phần t
ca mng?
A. for k:= 1 to 20 do readln(b[k]); B. for k:= 20 downto 1 do write(b[k]);
C. for k:= 1 to 20 do write(b[k]); D. for k:= 1 to 20 do write(b[i]);
Câu 15: Cho khai báo sau: Var x: array[1..1000] of integer;. Lệnh nào dưới đây sẽ in ra phn t th 1, 2
ca mng?
A. readln(x[1], x[2]); B. write(x[1,2]);
C. write(x[1]); write(x[2]); D. read(x[1]); readln(x[2]);
Câu 17: Giá trị nào dưới đây là độ dài của xâu rỗng?
A. 255 B. 256 C. 0 D. -255
Câu 18: Xâu là:
A. mng mt chiều mà mỗi phn t là một kí tự
B. các kí tự đặc bit trong bảng mã ASCII
C. dãy các kí tự s, ch cái in hoa trong bảng mã ASCII
D. dãy chữ cái in hoa và chữ thường trong b mã ASCII
Câu 18: Khái niệm xâu là:
A. dãy kí tự trong bảng mã ASCII B. dãy kí tự ch cái, chữ s
C. dãy hữu hạn các phần t cùng kiểu D. dãy chữ cái trong bộ mã ASCII
Câu 20: Phát biểu nào ĐÚNG về kiu d liệu xâu?
A. Là dãy các kí tự B. Là dãy các kí tự ch
C. Là dãy các kí tự du D. Là dãy các kí tự s
Câu 21: Cho biến A có kiểu xâu. Chọn lệnh gán đúng?
A. A:=a; B. A:= a C. A:= a; D. a:= A;
Câu 22: Trong các khai báo sau, khai báo nào là khai báo kiểu xâu?
A. var st: sting[100]; B. var s: longint C. var st:string; D. Var stt:array[1..100];
Câu 23: Cho xâu x:=danh gia;. Tham chiếu đến phn t th 4 của xâu đó có kết qu là gì?
A. h B. h C. D. 
Câu 24: Cho X1:= ' '; X2:= 'Tin11'. Kết qu sau khi thc hin th tục Insert(X1,X2,4) là?
A. 'Tin1 1' B. 'Tin 11' C. ' Tin11' D. 'Tin11 '
Câu 25: Cho đoạn chương trình sau:
St:= 'Viet Nam Dat Nuoc';
Delete(st,9,9);
Insert('Dat Nuoc',st,1);
Sau khi thc hiện đoạn chương trình trên thì kết qu ca biến st là:
A. Viet Nam Dat Nuoc B. Dat NuocViet Nam
C. Viet NamDat Nuoc D. Dat Nuoc Viet Nam
Câu 26: Cho đoạn chương trình sau:
S:= 'Truong THPT Phu Bai';
Delete(s,8,4);
Insert(' Hue', S, Length(s)+1);
Sau khi thc hiện đoạn chương trình trên thì kết qu ca biến S là:
A. Truong THPT Phu Bai Hue B. Truong Phu BaiHue
C. Truong Phu Bai Hue D. Truong THPT Hue Phu Bai
Câu 27: Cho xâu X có giá trị là ‘Hoang Sa – Truong Sa’. Kết qu của hàm Length(X) có giá trị là bao
nhiêu?
A. 19 B. 20 C. 15 D. 18
Câu 28: Cho xâu s có giá trị là ‘Viet Nam Dat Nuoc’. Kết qu của hàm copy(s, 6,3) có kết qu là gì?
A. Nam B. Nam C. nam D. Hàm lỗi
Câu 29: Kiu d liệu nào sau đây lưu trữ được kết qu của chương trình khi tắt máy?
A. Kiu mng B. Kiểu xâu C. Kiu tp D. Kiu logic
Câu 30: Trong các kiểu d liệu sau đây kiểu nào có dung lượng ln nht?
A. Kiu mng B. Kiu tp C. Kiu thc D. Kiu bn ghi
Câu 31: Tên dành riêng được dùng cho tệp văn bản. Chọn phương án ĐÚNG?
A. String B. Test C. text D. Type
Câu 32: Phương án nào dưới đây thể hiện khai báo ĐÚNG biến tệp văn bản?
A. Var f: String; B. Var f: text; C. Var f: File of byte; D. Var f= text;
Câu 33: Trong các khai báo sau, khai báo nào dùng để khai báo một biến tệp văn bản?
A. Var a: text; B. Var f: string[20]; C. Var g: array[1..10] of char; D. Var b: byte;
Câu 34: Câu lệnh Rewrite(<biến tp>); thc hin việc nào dưới đây?
A. Gắn tên tệp cho biến tp B. Khai báo biến tp
C. Đóng tệp D. M tệp để ghi d liu
Câu 35: Trong kiu d liu tệp, để thc hin m tệp để ghi, chn lệnh nào trong các lệnh sau đây?
A. Reset(<biến tp>); B. Reset(<biến tệp>,<tên tệp>);
C. Rewrite(<biến tp>); D. Rewrite(<biến tệp>,<tên tệp>);
Câu 36: Chn lnh thc hin m tệp được gán cho biến tệp f để ghi d liu?
A. Write(f,X); B. Writeln(f,a,b); C. Reset(f); D. Rewrite(f);
Câu 37: Chn lnh thc hin m tệp được gán cho biến g để đọc d liu?
A. Reset(g); B. Reset(f); C. Read(g,a,b); D. Reset(g,a);
Câu 38: Cho giá trị a = 5; b= 9; c= 15. Để ghi giá trị của a, b, c vào tệp được gán cho biến tệp f, các giá
tr cách nhau bởi dấu cách, ta sử dụng câu lệnh nào sau đây?
A. Write(f, a, b, c); B. Write( a, ' ', b, ' ', c);
C. Write(f, a, ' ', b, c); D. Write(f, a, ' ', b, ' ', c);
Câu 39: Cho biến nguyên N có giá trị là 100. Để ghi giá trị của N vào tệp được gán cho biến tệp TT, đưa
con tr v đầu dòng tiếp theo, ta s dng lệnh nào sau đây?
A. write(TT,N); B. Writeln(TT,N); C. Write(TT, N=); D. Readln(TT, N);
Câu 40: Phát biểu nào dưới đây về tệp là SAI?
A. Tệp có cấu trúc là tệp mà các thành phần của nó được t chc theo mt cấu trúc nhất định
B. Tệp có cấu trúc là tệp mà các thành phần của nó không được t chc theo mt cấu trúc nhất
định
C. Tệp văn bản không thuộc loi tệp có cấu trúc
D. Tệp văn bản gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng
Câu 41: Phát biểu nào sau đây là đúng. Tệp văn bản:
A. gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng
B. tệp mà các thành phần của nó được t chc theo mt cấu trúc nhất định
C. tệp cho phép truy cập đến mt d liệu nào đó trong tệp bằng cách bắt đầu t đầu tp
D. cho phép tham chiếu đến d liu cn truy cp bằng cách xác định trc tiếp v trí.
Câu 42: Chn th t hợp lí cho thao tác đọc d liu t tp?
A. M tệp → Gán tên tệp vi biến tệp → Đọc d liu t tệp → Đóng tệp
B. Gán tên tệp vi biến tệp → Mở tệp → Đọc d liu t tệp → Đóng tệp
C. M tệp → Đọc d liu t tệp → Gán tên tệp vi biến tệp → Đóng tệp
D. Gán tên tệp vi biến tệp → Đọc d liu t tệp → Mở tệp →Đóng tệp
Câu 43: Chn th t hợp lí cho thao tác ghi dữ liệu vào tệp?
A. Gán tên tệp vi biến tệp → Mở tệp → Ghi dữ liệu vào tệp → Đóng tệp
B. Gán tên tệp vi biến tệp → Ghi dữ liệu vào tệp → Mở tệp → Đóng tệp
C. M tệp → Gán tên tệp vi biến tệp → Ghi dữ liệu vào tệp → Đóng tệp
D. M tệp → Ghi dữ liệu vào tệp → Gán tên tệp vi biến tệp → Đóng tệp
Câu 44: Cho biến tệp k. Các thao tác thực hiện để ghi d liệu vào tệp là:
A. assign(k,<tên tệp>); reset(k); write(k,<danh sách kết qu>); close(k);
B. assign(k,<tên tệp>); write(k,<danh sách biến>); close(k);
C. assign(k,<tên tệp>); write(k,<danh sách kết qu>); rewrite(k); close(k);
D. assign(k,<tên tệp>); rewrite(k); write(k,<danh sách kết qu>); close(k);
Câu 45: Để gán tệp KQ.INP cho biến tệp f, phương án nào sau đây là đúng?
A. f:= 'KQ.INP'; B. Assign(f, 'KQ.INP'); C. Assign( 'KQ.INP',f); D. KQ.INP:=f ;
Câu 46: Cho biến tp fi. Th tục để gắn tên tệp SUM.IN cho biến fi là:
A. assing(fi, 'SUM.IN'); B. assign('SUM.IN',fi);
C. assign(fi,'SUM.IN'); D. assign(fi, “SUM.IN”);
Câu 47: Cú pháp của thao tác gắn tên tệp:
A. asign(<têntệp>,<biến tp>); B. assign(<biếntp>,<têntệp>);
C. assign(<têntệp>, <biếntp>); D. assign(<biếntp1>,<biếntp2>,...,<têntệp>);
Câu 48: Phương án nào sau đây, được chọn để m tp ghi d liu?
A. Reset(<biến tp>); B. Rewrite(<biến tp>);
C. Reset(<tên tệp>); D. Rewrite(<tên tệp>);
Câu 49: Cho biến tp h0. Chn lệnh để m tệp h0 để ghi d liu?
A. rewrite(h0); B. write(h0); C. open(h0); D. writeln(h0);
Câu 50: Chn lệnh ĐÚNG cho thao tác mở tệp để đọc cho tệp được gán cho biến f2?
A. Open(f2); B. Rewrite(f2); C. Reset(f2); D. Read(f2);
Câu 51: Trong các thao tác với tp, m tệp để ghi thì sử dng lệnh nào?
A. Write(<biến tp>); B. Reset(<biến tp>);
C. rewrite(<tên tệp>); D. rewrite(<biến tp>);
Câu 52: Hàm nào dưới đây được dùng để kim tra con tr tệp đã ở cuối dòng hiện ti ca tp
“TRAI.TXT” với biến tp f?
A. eof(f) B. eoln(f) C. eof('trai.txt') D. eof(f, 'trai.txt');
Câu 53: Hàm nào dưới đây được dùng để kim tra con tr tệp đã ở cui tệp “Vidu.inp” với biến tp f1?
A. eof(f1) B. eoln(f1) C. not eof(f1) D. eof(f1, 'vidu.inp');
Câu 54: Cho chương trình dưới đây:
Var g:text;
i: byte;
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);
End.
Tệp DLA.txt lưu kết qu nào sau đây sau khi chạy chương trình trên?
A. 2 4 6 8 10 B. 13579 C. 1 3 5 7 9 D. 246810
Câu 55: Cho chương trình dưới đây;
Var f:text;
i:byte;
Begin
Assign(f, 'DL.TXT');
Rewrite(f);
For I:= 1 to 5 do write(f,I);
Close(f);
End.
Tệp DL.TXT lưu kết qu nào sau đây, sau khi thực hiện chương trình trên?
A. 12345 B. 1 2 3 4 5 C. 11111 D. IIIII
Câu 56: Hãy chọn phát biểu ĐÚNG trong các phát biểu sau đây?
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 cc b
C. Một chương trình con phải có tham số hình thức, không nhất thiết phải có biến cc 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 cc b
Câu 57: Khai báo nào sau đây là phần đầu của chương trình con dạng hàm?
A. Function <tên hàm> [(danh sách tham số)]: <Kiu d liu>;
B. Function <tên hàm> [(danh sách tham số)];
C. Procedure <tên hàm> [(danh sách tham số)]: < kiu d liu>;
D. Procedure < tên hàm> [(danh sách tham số)];
Câu 58: Khai báo nào sau đây là phần đầu của chương trình con dạng th tc?
A. Procedure <tên thủ tục> [(danh sách tham số)]: < kiu d liu>;
B. Function <tên thủ tục> [(danh sách tham số)]: <Kiu d liu>;
C. Procedure < tên thủ tục> [(danh sách tham số)];
D. Function <tên thủ tục> [(danh sách tham số)];
Câu 59: Hãy chọn phát biểu SAI v lợi ích của vic s dụng chương trình con?
A. Tránh được vic phi viết đi viết li nhiu lần cùng 1 dãy lệnh;
B. H tr vic thc hiện các chương trình lớn;
C. Thun tiện cho phát triển, nâng cấp chương trình;
D. M rng kh năng tương tác với người lập trình.
Câu 60: Tên dành riêng nào sau đây được dùng để khai báo chương trình con dạng hàm?
A. Program B. Procedure C. Function D. Var
Câu 61: Tên dành riêng nào sau đây được dùng để khai báo chương trình con dạng th tc?
A. Procedure B. Program C. Const D. Function
Câu 62: Cho chương trình sau”
Procedure hi;
Begin
Writeln(Xin chao);
End;
Begin
Hi;
End.
Chương trình trên có bao nhiêu chương trình con?
A. 0 B. 1 C. 2 D. 3
Câu 63: Cho chương trình sau:
Procedure Nhap;
Begin
Readln(N);
End;
Procedure Xuat;
Begin
Writeln(X:4);
End;
Begin
Nhap;
Xuat;
End.
Chương trình trên có bao nhiêu chương trình con?
A. 0 B. 1 C. 2 D. 3
Câu 64: Hãy chỉ ra th tục trong các hàm và thủ tục sau đây?
A. Length(S) B. upcase('a') C. Insert('aa', S,2); D. Sin(x)
Câu 65: Hãy chỉ ra th tục trong các hàm và thủ tục sau đây?
A. Delete(st,4,1); B. sqrt(X); C. length(s) D. abs(a)
Câu 66: Hãy chỉ ra hàm trong các hàm và thủ tục sau đây?
A. Length(s) B. Delete(X,1,4); C. Writeln; D. Readln;
Câu 67: Hãy chỉ ra hàm trong các hàm và thủ tục sau đây?
A. Insert(s1,s2,vt); B. Delete(St,vt,n); C. Copy(S,vt,N) D. Writeln(x);
Câu 68: Mô tả nào dưới đây về hàm là SAI?
A. Phi tr v kết qu B. Phải có tham số
C. Trong hàm có thể gi lại chính nó D. Có thể có các biến cc b
Câu 69: Cho phần đầu của khai báo hàm như sau: Function KT(k:byte): string;
Để thc hiện được lệnh X:= KT(14); thì biến X phải được khai báo như thế nào?
A. Var X: Byte; B. Var X: String; C. Var X: Char; D. Var X: real;
Câu 70: Cho phần đầu của khai báo hàm như sau: Function Tong(x,y:integer): Longint;
Để thc hin lệnh gán S:= Tong(a,b); thì biến S phải được khai báo như thế nào?
A. Var S: word; B. Var S: integer; C. Var S: longint; D. Var S: byte;
Câu 71: Trong li gi th tc, khi tham s hình thức được thay bằng các giá trị hoc biến xác định thì nó
được gọi là gì trong các cách gọi sau đây?
A. tham s giá trị B. tham s thc s
C. tham s hình thức D. tham s biến
Câu 72: Tham s được khai báo ở phần đầu th tục được gọi là gì?
A. Tham s hình thức B. Tham s thc s
C. Tham s biến D. Tham s giá trị
Câu 73: Cho khai báo phần đầu th tục như sau: Procedure Tong(x,y:integer);. Biến x,y được gọi là gì?
A. Tham s hình thức B. Tham s thc s
C. Biến cc b D. Biến toàn cục
Câu 74: Cho khai báo phần đầu th tục như sau: Procedure Tich(a,b:real);. Lời gi th tục Tich(x,y); thì
x, y được gọi là gì?
A. Tham s hình thức B. Tham s thc s
C. Biến cc b D. Biến toàn cục
Câu 75: Biến được khai báo trong chương trình chính là loại biến nào sau đây?
A. Biến cc b B. Biến toàn cục
C. Tham s hình thức D. Tham s thc s
Câu 76: Khẳng định nào sau đây là ĐÚNG về biến cc b?
A. Là biến được dùng trong chương trình con chứa nó và chương trình chính
B. Là biến ch được dùng trong chương trình chính
C. Là biến ch được dùng trong chương trình con chứa nó
D. Ch s dụng trong chương trình chính và không được s dụng trong chương trình con
Câu 77: Khi cn gi thc hiện chương trình con (CTC), nên chọn phương án nào sau đây?
A. dùng tên CTC B. dùng tham số ca CTC C. dùng biến D. tu ý
Câu 78: Khẳng định nào sau đây là ĐÚNG?
A. Li gi th tc nht thiết phải có tham số thc s, li gọi hàm không nhất thiết phải có tham số thc
s
B. C li gọi hàm và thủ tục đều phải có tham số thc s
C. Li gọi hàm và lời gi th tục có thể có tham số thc s hoặc không có tham số thc s tu
thuộc vào từng hàm và thủ tc
D. Li gọi hàm nhất định phải có tham số thc s, li gi th tục không nhất định phải có tham số thc
s
Câu 79: Khi chạy chương trình sau:
Var a:integer;
Procedure T;
Begin
a:= 4;
a:= a+5;
End;
Begin
a:= 1;
T;
Write(a);
End.
Kết qu của chương trình là gì?
A. 4 B. 5 C. 1 D. 9
Câu 80: Khi chạy chương trình sau:
Var x: byte;
Procedure Pro;
Var x: byte;
Begin
x:= 100;
End;
Begin
x:= 1;
Pro;
Write(x);
End.
Kết qu của chương trình là gì?
A. 1 B. 10 C. 100 D. Chương trình sai
II. PHN T LUN:
Câu 1: Viết chương trình : đọc d liu t tp DULIEU.INP hai s nguyên M,N (M<N). Tính tổng các số
l trong phm vi t M đến N. Ghi kết qu ra tp KETQUA.OUT
Câu 2: Viết một hàm/ thủ tục để tính diện tích hình tròn với đường kính (bán kính)
III. PHN THỰC HÀNH:
Viết chương trình tính tổng S = 1 +2 +3…+ n, với n nguyên dương được nhp t bàn phím.
Yêu cầu:
- 1 th tc nhập giá trị
- 1 hàm tính tổng s
| 1/7

Preview text:

ĐỀ CƯƠNG KIỂM TRA CUỐI KỲ II NĂM HỌC 2022 – 2023 MÔN: TIN HỌC 11 I. PHẦN TRẮC NGHIỆM:
Câu 1
: Trong các khai báo sau, khai báo nào là cấu trúc lặp với số lần chưa biết?
A. For := < giá trị đầu> to do < câu lệnh>;
B. While < điều kiện> do < câu lệnh>;
C. If < điều kiện> then < câu lệnh>;
D. Var : array[kiểu chỉ số] of ;
Câu 2: Khai báo nào thuộc cấu trúc lặp?
A. While <điều kiện> do < câu lệnh>;
B. if <điều kiện> then < câu lệnh 1> else < câu lệnh 2>; C. Var : text;
D. Program < tên chương trình>;
Câu 3: Cho đoạn chương trình sau: T:=0; For i:= M to N do If i mod 2 = 0 then t:=t+i;
Đoạn chương trình trên giải quyết cho bài toán nào dưới đây?
A. Tính tổng các số trong phạm vi từ M đến N
B. Tính tổng các số chia hết cho 2 trong phạm vi từ M đến N
C. Tính tổng các số không chia hết cho 2 trong phạm vi từ M đến N
D. Tính tích các số không chia hết cho 2 trong phạm vi từ M đến N
Câu 4: Cho đoạn chương trình: For i:= 1 to 10 do
If i mod 2 <> 0 then write(i:4);
Đoạn chương trình trên cho kết quả như thế nào? A. 1 3 5 7 9 B. 13579 C. Chương trình lỗi D. 12345678910
Câu 5: Cho đoạn chương trình sau: T:=0; For i:=6 downto 1 do If i mod 2 = 0 then t:=t+i;
Đoạn chương trình trên cho kết quả như thế nào? A. 12 B. 21 C. 2 4 6 D. 6 2 4
Câu 6: Cho câu lệnh sau:
For i:=5 downto 1 do write(i, ' ');
Kết quả của câu lệnh đó như thế nào? A. 12345 B. 1 2 3 4 5 C. 54321 D. 5 4 3 2 1
Câu 7: Cú pháp khai báo mảng một chiều. Chọn đáp án đúng?
A. Var : array[kiểu chỉ số] of ;
B. var = array[kiểu chỉ số] of ;
C. var : array[kiểu chỉ số] of
D. Var < tên biến>: string[độ dài];
Câu 8: Khai báo mảng một chiều gồm 50 phần tử có kiểu thực. Chọn khai báo đúng? A. Var x : array[50] of real;
B. type A= array [1..50] of real; var x: a;
C. tupe A1= array[1..50] of real; var x:A1;
D. Var X:string[1..50] of real;
Câu 9: Cho mảng một chiều var b:array[1..n] of integer;. Tham chiếu đến phần tử ở giữa của mảng b, ta viết: A. b[n/2] B. b[n mod 2] C. b[n div 2]
D. không thực hiện được
Câu 10: Cho mảng một chiều type A2= array[1..100] of boolean; Var x:A2;. Tham chiếu đến phần tử thứ
I của mảng một chiều có khai báo như trên là; A. a2[i] B. a2[i]; C. x[i] D. x[i];
Câu 11: Cho khai báo mảng:
Var a: array[1..1000] of integer; n,i: integer; Begin Readln(n);
For i:= 1 to n do readln(a[i]); End.
Chương trình trên thực hiện công việc nào sau đây?
A. Nhập 1000 phần tử cho mảng a
B. Nhập số phần tử và giá trị của từng phần tử của mảng a
C. Nhập tất cả các phần tử cho mảng a D. Đọc mảng a
Câu 12: Cho mảng một chiều B gồm N phần tử, muốn nhập giá trị cho tất cả các phần tử của mảng B, ta dùng lệnh nào?
A. For i := 1 to N do write(B[i]);
B. For i := 1 to N do readln(B[i]); C. Readln(‘B[i]’); D. Writeln(B[i]);
Câu 13: Cho mảng một chiều x gồm 100 phần tử. Để nhập giá trị cho phần tử thứ 50 của mảng x, ta dùng lệnh nào? A. writeln(x[50]); B. read(x[50]); C. Readln(x(50)); D. write(x{50});
Câu 14: Cho mảng một chiều K gồm 50 phần tử, muốn nhập giá trị cho các phần tử của mảng K, ta dùng lệnh nào?
A. for i:=1 to n do readln(k[i]);
B. for n:=1 to 50 do readln(k[n]);
C. for i:= 1 to N do write(k[i]);
D. for n:= 1 to 50 do writeln(k[n]);
Câu 15: Cho khai báo sau: Var b:array[1..20] of byte;. Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng?
A. for k:= 1 to 20 do readln(b[k]);
B. for k:= 20 downto 1 do write(b[k]);
C. for k:= 1 to 20 do write(b[k]);
D. for k:= 1 to 20 do write(b[i]);
Câu 15: Cho khai báo sau: Var x: array[1..1000] of integer;. Lệnh nào dưới đây sẽ in ra phần tử thứ 1, 2 của mảng? A. readln(x[1], x[2]); B. write(x[1,2]);
C. write(x[1]); write(x[2]); D. read(x[1]); readln(x[2]);
Câu 17: Giá trị nào dưới đây là độ dài của xâu rỗng? A. 255 B. 256 C. 0 D. -255 Câu 18: Xâu là:
A. mảng một chiều mà mỗi phần tử là một kí tự
B. các kí tự đặc biệt trong bảng mã ASCII
C. dãy các kí tự số, chữ cái in hoa trong bảng mã ASCII
D. dãy chữ cái in hoa và chữ thường trong bộ mã ASCII
Câu 18: Khái niệm xâu là:
A. dãy kí tự trong bảng mã ASCII
B. dãy kí tự chữ cái, chữ số
C. dãy hữu hạn các phần tử cùng kiểu
D. dãy chữ cái trong bộ mã ASCII
Câu 20: Phát biểu nào ĐÚNG về kiểu dữ liệu xâu?
A. Là dãy các kí tự
B. Là dãy các kí tự chữ
C. Là dãy các kí tự dấu
D. Là dãy các kí tự số
Câu 21: Cho biến A có kiểu xâu. Chọn lệnh gán đúng? A. A:=a; B. A:= a
C. A:= a; D. a:= A;
Câu 22: Trong các khai báo sau, khai báo nào là khai báo kiểu xâu? A. var st: sting[100]; B. var s: longint C. var st:string; D. Var stt:array[1..100];
Câu 23: Cho xâu x:=danh gia;. Tham chiếu đến phần tử thứ 4 của xâu đó có kết quả là gì? A. h B. h C.   D. 
Câu 24: Cho X1:= ' '; X2:= 'Tin11'. Kết quả sau khi thực hiện thủ tục Insert(X1,X2,4) là? A. 'Tin1 1' B. 'Tin 11' C. ' Tin11' D. 'Tin11 '
Câu 25: Cho đoạn chương trình sau: St:= 'Viet Nam Dat Nuoc'; Delete(st,9,9); Insert('Dat Nuoc',st,1);
Sau khi thực hiện đoạn chương trình trên thì kết quả của biến st là: A. Viet Nam Dat Nuoc B. Dat NuocViet Nam C. Viet NamDat Nuoc D. Dat Nuoc Viet Nam
Câu 26: Cho đoạn chương trình sau: S:= 'Truong THPT Phu Bai'; Delete(s,8,4);
Insert(' Hue', S, Length(s)+1);
Sau khi thực hiện đoạn chương trình trên thì kết quả của biến S là: A. Truong THPT Phu Bai Hue B. Truong Phu BaiHue C. Truong Phu Bai Hue D. Truong THPT Hue Phu Bai
Câu 27: Cho xâu X có giá trị là ‘Hoang Sa – Truong Sa’. Kết quả của hàm Length(X) có giá trị là bao nhiêu? A. 19 B. 20 C. 15 D. 18
Câu 28: Cho xâu s có giá trị là ‘Viet Nam Dat Nuoc’. Kết quả của hàm copy(s, 6,3) có kết quả là gì? A. Nam B. Nam C. nam D. Hàm lỗi
Câu 29: Kiểu dữ liệu nào sau đây lưu trữ được kết quả của chương trình khi tắt máy? A. Kiểu mảng B. Kiểu xâu C. Kiểu tệp D. Kiểu logic
Câu 30: Trong các kiểu dữ liệu sau đây kiểu nào có dung lượng lớn nhất? A. Kiểu mảng B. Kiểu tệp C. Kiểu thực D. Kiểu bản ghi
Câu 31: Tên dành riêng được dùng cho tệp văn bản. Chọn phương án ĐÚNG? A. String B. Test C. text D. Type
Câu 32: Phương án nào dưới đây thể hiện khai báo ĐÚNG biến tệp văn bản? A. Var f: String; B. Var f: text; C. Var f: File of byte; D. Var f= text;
Câu 33: Trong các khai báo sau, khai báo nào dùng để khai báo một biến tệp văn bản? A. Var a: text; B. Var f: string[20];
C. Var g: array[1..10] of char; D. Var b: byte;
Câu 34: Câu lệnh Rewrite(); thực hiện việc nào dưới đây?
A. Gắn tên tệp cho biến tệp B. Khai báo biến tệp C. Đóng tệp
D. Mở tệp để ghi dữ liệu
Câu 35: Trong kiểu dữ liệu tệp, để thực hiện mở tệp để ghi, chọn lệnh nào trong các lệnh sau đây? A. Reset(); B. Reset(,); C. Rewrite(); D. Rewrite(,);
Câu 36: Chọn lệnh thực hiện mở tệp được gán cho biến tệp f để ghi dữ liệu? A. Write(f,X); B. Writeln(f,a,b); C. Reset(f); D. Rewrite(f);
Câu 37: Chọn lệnh thực hiện mở tệp được gán cho biến g để đọc dữ liệu? A. Reset(g); B. Reset(f); C. Read(g,a,b); D. Reset(g,a);
Câu 38: Cho giá trị a = 5; b= 9; c= 15. Để ghi giá trị của a, b, c vào tệp được gán cho biến tệp f, các giá
trị cách nhau bởi dấu cách, ta sử dụng câu lệnh nào sau đây? A. Write(f, a, b, c); B. Write( a, ' ', b, ' ', c); C. Write(f, a, ' ', b, c);
D. Write(f, a, ' ', b, ' ', c);
Câu 39: Cho biến nguyên N có giá trị là 100. Để ghi giá trị của N vào tệp được gán cho biến tệp TT, đưa
con trỏ về đầu dòng tiếp theo, ta sử dụng lệnh nào sau đây? A. write(TT,N); B. Writeln(TT,N); C. Write(TT, N=); D. Readln(TT, N);
Câu 40: Phát biểu nào dưới đây về tệp là SAI?
A. Tệp có cấu trúc là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định
B. Tệp có cấu trúc là tệp mà các thành phần của nó không được tổ chức theo một cấu trúc nhất định
C. Tệp văn bản không thuộc loại tệp có cấu trúc
D. Tệp văn bản gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng
Câu 41: Phát biểu nào sau đây là đúng. Tệp văn bản:
A. gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng
B. tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định
C. tệp cho phép truy cập đến một dữ liệu nào đó trong tệp bằng cách bắt đầu từ đầu tệp
D. 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âu 42: Chọn thứ tự hợp lí cho thao tác đọc dữ liệu từ tệp?
A. Mở tệp → Gán tên tệp với biến tệp → Đọc dữ liệu từ tệp → Đóng tệp
B. Gán tên tệp với biến tệp → Mở tệp → Đọc dữ liệu từ tệp → Đóng tệp
C. Mở tệp → Đọc dữ liệu từ tệp → Gán tên tệp với biến tệp → Đóng tệp
D. Gán tên tệp với biến tệp → Đọc dữ liệu từ tệp → Mở tệp →Đóng tệp
Câu 43: Chọn thứ tự hợp lí cho thao tác ghi dữ liệu vào tệp?
A. Gán tên tệp với biến tệp → Mở tệp → Ghi dữ liệu vào tệp → Đóng tệp
B. Gán tên tệp với biến tệp → Ghi dữ liệu vào tệp → Mở tệp → Đóng tệp
C. Mở tệp → Gán tên tệp với biến tệp → Ghi dữ liệu vào tệp → Đóng tệp
D. Mở tệp → Ghi dữ liệu vào tệp → Gán tên tệp với biến tệp → Đóng tệp
Câu 44: Cho biến tệp k. Các thao tác thực hiện để ghi dữ liệu vào tệp là:
A. assign(k,); reset(k); write(k,); close(k);
B. assign(k,); write(k,); close(k);
C. assign(k,); write(k,); rewrite(k); close(k);
D. assign(k,); rewrite(k); write(k,); close(k);
Câu 45: Để gán tệp KQ.INP cho biến tệp f, phương án nào sau đây là đúng? A. f:= 'KQ.INP';
B. Assign(f, 'KQ.INP'); C. Assign( 'KQ.INP',f); D. KQ.INP:=f ;
Câu 46: Cho biến tệp fi. Thủ tục để gắn tên tệp SUM.IN cho biến fi là: A. assing(fi, 'SUM.IN'); B. assign('SUM.IN',fi);
C. assign(fi,'SUM.IN'); D. assign(fi, “SUM.IN”);
Câu 47: Cú pháp của thao tác gắn tên tệp:
A. asign(<têntệp>,<biến tệp>);
B. assign(<biếntệp>,<têntệp>);
C. assign(<têntệp>, <biếntệp>);
D. assign(<biếntệp1>,<biếntệp2>,...,<têntệp>);
Câu 48: Phương án nào sau đây, được chọn để mở tệp ghi dữ liệu? A. Reset(); B. Rewrite(); C. Reset(); D. Rewrite();
Câu 49: Cho biến tệp h0. Chọn lệnh để mở tệp h0 để ghi dữ liệu? A. rewrite(h0); B. write(h0); C. open(h0); D. writeln(h0);
Câu 50: Chọn lệnh ĐÚNG cho thao tác mở tệp để đọc cho tệp được gán cho biến f2? A. Open(f2); B. Rewrite(f2); C. Reset(f2); D. Read(f2);
Câu 51: Trong các thao tác với tệp, mở tệp để ghi thì sử dụng lệnh nào?
A. Write(<biến tệp>);
B. Reset(<biến tệp>);
C. rewrite(<tên tệp>);
D. rewrite(<biến tệp>);
Câu 52: Hàm nào dưới đây được dùng để kiểm tra con trỏ tệp đã ở cuối dòng hiện tại của tệp
“TRAI.TXT” với biến tệp f? A. eof(f) B. eoln(f) C. eof('trai.txt') D. eof(f, 'trai.txt');
Câu 53: Hàm nào dưới đây được dùng để kiểm tra con trỏ tệp đã ở cuối tệp “Vidu.inp” với biến tệp f1? A. eof(f1) B. eoln(f1) C. not eof(f1) D. eof(f1, 'vidu.inp');
Câu 54: Cho chương trình dưới đây: Var g:text; i: byte; 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); End.
Tệp DLA.txt lưu kết quả nào sau đây sau khi chạy chương trình trên? A. 2 4 6 8 10 B. 13579 C. 1 3 5 7 9 D. 246810
Câu 55: Cho chương trình dưới đây; Var f:text; i:byte; Begin Assign(f, 'DL.TXT'); Rewrite(f);
For I:= 1 to 5 do write(f,I); Close(f); End.
Tệp DL.TXT lưu kết quả nào sau đây, sau khi thực hiện chương trình trên? A. 12345 B. 1 2 3 4 5 C. 11111 D. IIIII
Câu 56: Hãy chọn phát biểu ĐÚNG trong các phát biểu sau đây?
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 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 57: Khai báo nào sau đây là phần đầu của chương trình con dạng hàm?
A. Function [(danh sách tham số)]: ;
B. Function [(danh sách tham số)];
C. Procedure [(danh sách tham số)]: < kiểu dữ liệu>;
D. Procedure < tên hàm> [(danh sách tham số)];
Câu 58: Khai báo nào sau đây là phần đầu của chương trình con dạng thủ tục?
A. Procedure [(danh sách tham số)]: < kiểu dữ liệu>;
B. Function [(danh sách tham số)]: ;
C. Procedure < tên thủ tục> [(danh sách tham số)];
D. Function [(danh sách tham số)];
Câu 59: Hãy chọn phát biểu SAI về lợi ích của việc sử dụng chương trình con?
A. Tránh được việc phải viết đi viết lại nhiều lần cùng 1 dãy lệnh;
B. Hỗ trợ việc thực hiện các chương trình lớn;
C. Thuận tiện cho phát triển, nâng cấp chương trình;
D. Mở rộng khả năng tương tác với người lập trình.
Câu 60: Tên dành riêng nào sau đây được dùng để khai báo chương trình con dạng hàm? A. Program B. Procedure C. Function D. Var
Câu 61: Tên dành riêng nào sau đây được dùng để khai báo chương trình con dạng thủ tục? A. Procedure B. Program C. Const D. Function
Câu 62: Cho chương trình sau” Procedure hi; Begin Writeln(Xin chao); End; Begin Hi; End.
Chương trình trên có bao nhiêu chương trình con? A. 0 B. 1 C. 2 D. 3
Câu 63: Cho chương trình sau: Procedure Nhap; Begin Readln(N); End; Procedure Xuat; Begin Writeln(X:4); End; Begin Nhap; Xuat; End.
Chương trình trên có bao nhiêu chương trình con? A. 0 B. 1 C. 2 D. 3
Câu 64: Hãy chỉ ra thủ tục trong các hàm và thủ tục sau đây? A. Length(S) B. upcase('a') C. Insert('aa', S,2); D. Sin(x)
Câu 65: Hãy chỉ ra thủ tục trong các hàm và thủ tục sau đây? A. Delete(st,4,1); B. sqrt(X); C. length(s) D. abs(a)
Câu 66: Hãy chỉ ra hàm trong các hàm và thủ tục sau đây? A. Length(s) B. Delete(X,1,4); C. Writeln; D. Readln;
Câu 67: Hãy chỉ ra hàm trong các hàm và thủ tục sau đây? A. Insert(s1,s2,vt); B. Delete(St,vt,n); C. Copy(S,vt,N) D. Writeln(x);
Câu 68: Mô tả nào dưới đây về hàm là SAI?
A. Phải trả về kết quả
B. Phải có tham số
C. Trong hàm có thể gọi lại chính nó
D. Có thể có các biến cục bộ
Câu 69: Cho phần đầu của khai báo hàm như sau: Function KT(k:byte): string;
Để thực hiện được lệnh X:= KT(14); thì biến X phải được khai báo như thế nào? A. Var X: Byte; B. Var X: String; C. Var X: Char; D. Var X: real;
Câu 70: Cho phần đầu của khai báo hàm như sau: Function Tong(x,y:integer): Longint;
Để thực hiện lệnh gán S:= Tong(a,b); thì biến S phải được khai báo như thế nào? A. Var S: word; B. Var S: integer; C. Var S: longint; D. Var S: byte;
Câu 71: Trong lời gọi thủ tục, khi tham số hình thức được thay bằng các giá trị hoặc biến xác định thì nó
được gọi là gì trong các cách gọi sau đây? 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 72: Tham số được khai báo ở phần đầu thủ tục được gọi là gì?
A. Tham số hình thức B. Tham số thực sự C. Tham số biến D. Tham số giá trị
Câu 73: Cho khai báo phần đầu thủ tục như sau: Procedure Tong(x,y:integer);. Biến x,y đượ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 cục
Câu 74: Cho khai báo phần đầu thủ tục như sau: Procedure Tich(a,b:real);. Lời gọi thủ tục Tich(x,y); thì x, y đượ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 cục
Câu 75: Biến được khai báo trong chương trình chính là loại biến nào sau đây? A. Biến cục bộ B. Biến toàn cục C. Tham số hình thức D. Tham số thực sự
Câu 76: Khẳng định nào sau đây là ĐÚNG về biến cục bộ?
A. Là biến được dùng trong chương trình con chứa nó và chương trình chính
B. Là biến chỉ được dùng trong chương trình chính
C. Là biến chỉ được dùng trong chương trình con chứa nó
D. Chỉ sử dụng trong chương trình chính và không được sử dụng trong chương trình con
Câu 77: Khi cần gọi thực hiện chương trình con (CTC), nên chọn phương án nào sau đây? A. dùng tên CTC
B. dùng tham số của CTC C. dùng biến D. tuỳ ý
Câu 78: Khẳng định nào sau đây là ĐÚNG?
A. Lời gọi thủ tục nhất thiết phải có tham số thực sự, lời gọi hàm không nhất thiết phải có tham số thực sự
B. Cả lời gọi hàm và thủ tục đều phải có tham số thực sự
C. 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
D. Lời gọi hàm nhất định phải có tham số thực sự, lời gọi thủ tục không nhất định phải có tham số thực sự
Câu 79: Khi chạy chương trình sau: Var a:integer; Procedure T; Begin a:= 4; a:= a+5; End; Begin a:= 1; T; Write(a); End.
Kết quả của chương trình là gì? A. 4 B. 5 C. 1 D. 9
Câu 80: Khi chạy chương trình sau: Var x: byte; Procedure Pro; Var x: byte; Begin x:= 100; End; Begin x:= 1; Pro; Write(x); End.
Kết quả của chương trình là gì? A. 1 B. 10 C. 100 D. Chương trình sai II. PHẦN TỰ LUẬN:
Câu 1:
Viết chương trình : đọc dữ liệu từ tệp DULIEU.INP hai số nguyên M,N (Mlẻ trong phạm vi từ M đến N. Ghi kết quả ra tệp KETQUA.OUT
Câu 2: Viết một hàm/ thủ tục để tính diện tích hình tròn với đường kính (bán kính) III. PHẦN THỰC HÀNH:
Viết chương trình tính tổng S = 1 +2 +3…+ n, với n nguyên dương được nhập từ bàn phím. Yêu cầu:
- 1 thủ tục nhập giá trị - 1 hàm tính tổng s