Đề cương ôn tập Tin 11 giữa học kỳ 2 năm 2022-2023(có đáp án)

Đề cương ôn tập tin 11 giữa học kỳ 2  năm 2022-2023 được lưu dưới dạng pdf. Đề cương có 7 trang với 66 câu trắc nghiệm kèm đáp án giúp bạn tham khảo để ôn tập đạt được kết quả cao.

ĐỀ CƯƠNG GIỮA K II NĂM HỌC 2022 -2023
MÔN: TIN HC 11
I. PHN TRC NGHIM:
Câu 1: Trong các cú pháp sau, cú pháp nào là cu trúc lp?
A. While <điều kin> DO <câu lnh>; B. While <câu lệnh> DO <điều kin>;
C. IF < điều kin> THEN <Câu lnh>; D. VAR <tên biến>: < Kiu d liu>;
Câu 2: Trong các cú pháp lnh sau, cú pháp nào thuc v cu trúc lp?
A. Var <tên biến>: ARRAY[Kiu ch s] OF <Kiu phn t>;
B. FOR <biến đếm>:=<Giá tr đầu> TO <Giá tr cui> DO <Câu lnh>;
C. IF <điều kin> THEN <Câu lnh 1> ELSE <Câu lnh 2>;
D. CONST <tên hng>= <Giá tr>;
Câu 3: Cú pháp ca lnh lp vi s lần chưa biết trước. Chn cấu trúc đúng?
A. While <điều kin > Do <câu lnh>;
B. White <điều kin> Do <câu lnh>;
C. For <biến đếm>:= <giá tr đầu> To <giá tr cui> Do <Câu lnh>;
D. Var <tên biến> = <kiu d liu>;
Câu 4: Cú pháp ca lnh lp vi s lần chưa biết trước. Chn cấu trúc đúng?
A. For <biến đếm>:= <giá tr đầu> To <giá tr cui> Do <câu lnh>;
B. For <biến đếm>:= <giá tr cui> Downto <giá tr đầu> Do <câu lnh>;
C. While <điều kin> Do <câu lnh>;
D. While <câu lệnh > Do <điều kin>;
Câu 5: Trong cu trúc While_Do, câu lnh đưc thc hin khi:
A. Điều kin đúng B. Điều kin sai
C. Điều kiện không xác định D. Không cn kiểm tra điều kin
Câu 6: Trong cấu trúc While_Do, khi điều kiện luôn đúng thì câu lệnh thc hin bao nhiêu ln?
A. 0 ln B. 1 ln C. n ln D. vô hn ln
Câu 7: Cú pháp câu lnh lp vi s ln biết trước. Chn cu trúc đúng?
A. For <biến đếm>:= <giá tr đầu> to <giá tr cui> do <câu lnh>;
B. Repeat <câu lệnh> Until <điều kin>;
C. For <biến đếm>:= <giá tr cui> to <giá tr đầu> do <câu lnh>;
D. While <điều kin> do <câu lnh>;
Câu 8: Cú pháp cu trúc lp For do dng tiến là:
A. For <biến đếm>:= <giá tr đầu> to <giá tr cui> do <câu lnh>;
B. For <biến đếm>:= <giá tr cui> to <giá tr đầu> do <câu lnh>;
C. For <biến đếm>:= <giá tr cui> downto <giá tr đầu> do <câu lnh>;
D. For <biến đếm>:= <giá tr đầu> downto <giá tr cui> do <câu lnh>;
Câu 9: Cú pháp cu trúc lp For do dng lùi là:
A. For <biến đếm>:= <giá tr cui> downto <giá tr đầu> do <câu lnh>;
B. For <biến đếm>:= <giá tr cui> down <giá tr đầu> do <câu lnh>;
C. For <biến đếm>:= <giá tr đầu> downto <giá tr cui> do <câu lnh>;
D. For <biến đếm>:= <giá tr cui> to <giá tr đầu> do <câu lnh>;
Câu 10: Kiu d liu ca biến đếm trong cu trúc lp For do là:
A. Cùng kiu vi giá tr đầu, giá tr cui B. Ch cn khác kiu vi giá tr đầu
C. Cùng kiu vi các biến trong câu lnh D. Không cần xác định kiu d liu
Câu 11: Trong cu trúc lp For Do, biến đếm có kiu nguyên thì:
A. giá tr đầu, giá tr cui phi có kiu nguyên B. giá tr đầu, giá tr cui có kiu tùy ý
C. Giá tr đầu, giá tr cui có kiu thc D. Giá tr đầu, giá tr cui phi là kiu d liệu đếm được.
Câu 12: Hãy chọn phương án ĐÚNG ở cu trúc lp For do dng tiến là:
A. Giá tr đầu ≤ giá trị cui B. Giá tr đầu < giá tr cui
C. Giá tr đầu > giá tr cui D. Giá tr đầu = giá tr cui
Câu 13: Trong cu trúc For do, câu lnh đưc thc hiện đúng 1 lần khi nào?
A. Biến đếm có giá tr đầu bng giá tr cui B. Biến đếm có giá tr bng 1
C. Biến đếm có giá tr nh hơn giá trị cui D. Câu lnh là câu lnh ghép
Câu 14: Cho chương trình sau:
Begin
For i:=1 to 5 do write(i:2);
Readln
End.
Kết qu của chương trình trên là?
A. 12345 B. 1 2 3 4 5 C. iiiii D. 11111
Câu 15: Cho chương trình sau:
Begin
For i:=1 to 5 do write(1: 2);
Readln
End.
Kết qu của chương trình trên là?
A. 11111 B. 12345 C. 1 1 1 1 1 D. i i i i i
Câu 16: Cho đoạn chương trình sau:
S:=0; i:=1;
While .....do
Begin
S:=S+i;
i:= i+1;
End;
Tính tổng S= 1+2+3+...+10, điều kiện nào sau đây cần đin vào ch (.....) gia câu lnh While......do?
A. i <=10 B. i =10 C. i >10 D. i >= 10
Câu 17: Cho đoạn chương trình sau:
i:= 1;
While i <=10 do
Begin
Write(i:4);
i:=i+1;
End;
Đoạn chương trình này thực hin công vic gì?
A. In ra màn hình các s t 1 đến 10, mi s trên mt dòng B. In ra màn hình các s t 1 đến 10
C. In ra màn hình các s D. Chương trình sai
Câu 18: Cho đoạn chương trình sau:
N:= 1;
While N > 0 do write(N);
Nhận xét đúng nhất v chương trình trên?
A. Lp vô hn B. Chương trình in các số t 1 đến N
C. Chương trình in ra N chữ s 1 D. Chương trình sai.
Câu 19: Cho đoạn chương trình sau:
N:= 0;
While N <= 10 do
Begin
N:=N +1;
Write(N:3);
End;
Chương trình trên cho kết qu là gì?
A. In ra màn hình các s t 1 đến 10 B. In ra màn hình các s t 0 đến 10
C. Chương trình sai D. Chương trình bị lp vô hn
Câu 20: Đoạn chương trình sau làm công việc gì?
S:=0;
For i:=1 to N do S:=S+i;
A. Tng các s trong phm vi t 1 đến N B. Tng N s hng liên tiếp
C. Tng các s t nhiên đầu tiên D. Chương trình sai
Câu 21: Đoạn chương trình sau thực hin công vic?
For i:=1 to M do
If (i mod 3 = 0) and (i mod 5 = 0) then t:= t+i;
A. Tng các s chia hết cho 3 và 5 trong phm vi t 1 đến M
B. Tng các s chia hết cho 3 hoc 5 trong phm vi t 1 đến M
C. Tng các s chia hết cho 3 trong phm vi t 1 đến M
D. Tng các s chia hết cho 5 trong phm vi t 1 đến M
Câu 22: Phát biểu nào sau đây là ĐÚNG về mng mt chiu?
A. Là dãy hu hn các phn t có cùng kiu d liu B. Ch là dãy các s nguyên
C. Mng không cha các kí t là chi D. Là dãy vô hn các phn t có cùng kiu d liu
Câu 23: Phát biểu nào sau đây là SAI?
A. S phn t trong mng tối đa là 255 phần t
B. Mng mt chiu là dãy hu hn các phn t cùng kiu d liu
C. Có th xây dng mng n chiu
D. Cần xác định kiu phn t ca mng
Câu 24: Cú pháp khai báo gián tiếp mng mt chiu là:
A. Type <tên mng>= array[kiu ch s] of <kiu phn t>;
Var <tên biến>:<tên mng>;
B. Type <tên mng>= array[kiu ch s] of <kiu phn t>;
Var <tên mng>:<tên biến>;
C. Type <tên mng>: array[kiu ch s] of <kiu phn t>;
Var <tên biến>=<tên mng>;
D. Type <tên mng>: array[Kiu ch s] of <kiu phn t>;
Var <tên biến>:<tên mng>;
Câu 25: Cú pháp để khai báo trc tiếp mng mt chiu là:
A. VAR <tênbiếnmng>: ARRAY[Kiu ch s] OF <Kiu phn t>;
B. TYPE <tênbiếnmng>: ARRAY[Kiu ch s] OF <Kiu phn t>;
C. VAR <tênbiếnmng>: ARRAY[Kiu phn t] OF <Kiu ch s>;
D. VAR <tênbiếnmng>: ARRAY[Kiu ch s]: <Kiu phn t>;
Câu 26: Cách tham chiếu đến mt phn t trong mng mt chiu:
A. Tên biến mng, tiếp theo là ch s viết trong cp ( và )
B. Tên biến mng, tiếp theo là ch s viết trong cp [ và ]
C. Tên kiu mng, tiếp theo là ch s viết trong cp [ và ]
D. Tên kiu mng, tiếp theo là ch s viết trong cp ( và )
Câu 27: Cách viết nào sau đây tham chiếu đúng phần t th i ca mng B?
A. B[i] B. B(i) C. B['i'] D. B[',i,']
Câu 28: Cho khai báo Type B1=array[1..50] of integer; Var b:B1;. Tham chiếu đến phn t th 15 ca khai báo
mng mt chiu đã cho, ta viết:
A. b1[15] B. B[15] C. b1[15]; D. B[15];
Câu 29: Để tham chiếu đến phn t th N ca mng mt chiu X, ta viết:
A. X[100] B. X[N] C. X[N]; D. N[x]
Câu 30: Cho khai báo Var A:array[1..50] of char;. Tham chiếu đến phn t th 50 ca mng A, ta viết:
A. A[50] B. A(50) C. 50 D. A[50];
Câu 31: Lệnh For i:= 1 to 10 do Readln(X[i]); có nghĩa là:
A. Nhp giá tr cho mng X
B. Nhp giá tr t bàn phím cho mng X có 10 phn t.
C. Nhp giá tr cho phn t th i ca mng X
D. Nhp mng
Câu 32: Để nhp giá tr cho phn t th 1 ca mng mt chiu B, ta viết:
A. B[1]; B. Write(B[1]); C. Readln(b[1]); D. Real(b[1]);
Câu 33: Chọn khai báo ĐÚNG?
A. Var B:array[100] of integer; B. Var B:array[-100] of integer;
C. Var B:array[1...100] of integer; D. Var B:array[1..100] of integer;
Câu 34: Trong các khai báo sau, khai báo nào dùng để khai báo mng mt chiu?
A. Var st:string; B. Var f,g:text;
C.Var S:array[1..10] of byte; D. Var S=array[1..100] of integer;
Câu 35 Yêu cu khai báo mng mt chiu gm 100 phn t có kiu thc. Chọn khai báo ĐÚNG?
A. Var x:array[1...100] of real; B. Var S:array[1..100] of integer;
C. Var X:array[1..100] of real; D. Var S:string[100];
Câu 36: Khai báo mng mt chiu gm 50 phn t có kiu s nguyên byte. Chọn khai báo đúng?
A. Type Xa=array[1..50] of integer; Var A:Xa; B. Type MANG=array[1..50] of byte; Var A:MANG;
C. Type KB:array[1..50] of byte; Var A:KB; D. Type KB=array[1..50] of byte; Var kb:KB;
Câu 37: Cho khai báo mng: Var a:array[1..50] of byte;
và đoạn chương trình như sau:
Begin
Write(' Nhap so luong phan tu n=');
Readln(n);
For i:=1 to n do
Begin
Write('a[', i, ']=');
Readln(a[i]);
End;
S:=0;
For i:=1 to n do S:=S+a[i];
Đoạn chương trình trên thực hin công vic gì?
A. Nhp vào mt dãy s và tính tng ca dãy s đó
B. Nhp vào mt dãy s và đếm s ng phn t của dãy đó
C. Nhp vào mt mng A và in ra màn hình dãy s va nhp
D. Không thc hin công vic gì c
Câu 38: Cho khai báo mng: Var a:array[1..150] of real;
và đoạn chương trình như sau:
Begin
Write(' Nhap so luong phan tu n=');
Readln(n);
For i:=1 to n do
Begin
Write('a[', i, ']=');
Readln(a[i]);
End;
For i:=1 to n do
If a[i] > 0 then write(a[i]:4);
Đoạn chương trình trên thực hin công vic gì?
A. Nhp vào mt dãy s và lit kê các s dương B. Nhp vào mt s N và in ra các s dương
C. Nhp vào mt dãy s và lit kê các s dương chẵn D. Nhp vào mt mng A
Câu 39: Cho khai báo mng: Var b:array[1..100] of integer;
và đoạn chương trình như sau:
Begin
Write(' Nhap so luong phan tu n=');
Readln(n);
For i:=1 to n do
Begin
Write('b[', i, ']=');
Readln(b[i]);
End;
For i:=1 to n do
If i mod 2 = 0 then write(b[i]:4);
Đoạn chương trình trên thực hin công vic gì?
A. Lit kê các phn t ti v trí chn B. In ra màn hình các phn t chn
C. In ra màn hình các phn t ti v trí l D. Lit kê các phn t l
Câu 40: Cho khai báo mng: Var x:array[1..100] of integer;
và đoạn chương trình như sau:
Begin
Write(' Nhap so luong phan tu n=');
Readln(n);
For i:=1 to n do
Begin
Write(′phan tu thu′, i, ′=′);
Readln(x[i]);
End;
For i:=1 to n do write (x[i]:5);
Đoạn chương trình trên thực hin công vic gì?
A. In mng va nhp ra màn hình B. In ra màn hình phn t th i ca mng X
C. Nhp giá tr cho các phn t ca mng x D. Không thc hin công vic gì
Câu 41: Cho khai báo mng: Var B:array[1..100] of byte;
và đoạn chương trình như sau:
Begin
Write(' Nhap so luong phan tu n=');
Readln(n);
For i:=1 to n do
Begin
Write(′phan tu thu′, i, ′=′);
Readln(B[i]);
End;
For i:=1 to n do a
If i mod 2 <> 0 Then writeln(B[i]);
Đoạn chương trình trên thực hin công vic gì?
A. Lit kê các phn t ti v trí chn B. Lit kê các phn t ti v trí l
C. Nhp giá tr cho các phn t ca mng B D. In ra màn hình các phn t ca mng B
Câu 42: Cho khai báo mng: Var d:array[1..100] of word;
và đoạn chương trình như sau:
Begin
Write(' Nhap so luong phan tu n=');
Readln(n);
For i:=1 to n do
Begin
Write(′phan tu thu′, i, ′=′);
Readln(d[i]);
End;
T:=1;
For i:=1 to n do
If (i mod 2 = 0) and (d[i] mod 2 <>0) Then T:= T*d[i];
Đoạn chương trình trên thực hin công vic gì?
A. Tính tng các phn t ti v trí chn B. Tích các phn t l ca mng d
C. Tích các phn t l ti v trí chn D. Tích các phn t chn ti v trí l
Câu 43: Xâu là:
A. mng mt chiu mà mi phn t là mt kí t
B. các kí t đặc bit trong bng mã ASCII
C. dãy các kí t s, ch cái in hoa trong bng mã ASCII
D. dãy ch cái in hoa và ch thường trong b mã ASCII
Câu 44: Khái nim xâu là:
A. dãy kí t trong bng mã ASCII B. dãy kí t ch cái, ch s
C. dãy hu hn các phn t cùng kiu D. dãy ch cái trong b mã ASCII
Câu 45: Phát biểu nào ĐÚNG về kiu d liu 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 46: Khai báo xâu mt biến xâu có độ dài ln nht ca kiu xâu. Chọn khai báo ĐÚNG?
A. Var st,s:string; B. Var x:string[256]; C. Var s:string; D. Var s:string[1..255];
Câu 47: Cú pháp để khai báo xâu?
A. Var <tênbiến>:array[độ dài ln nht ca xâu] of char;
B. Var <tênbiến>= String[độ dài ln nht ca xâu];
C. Var <tênbiến>= string;
D. Var <tênbiến>: String[độ dài ln nht ca xâu];
Câu 48: Thc hin yêu cu khai báo mt biến xâu có độ dài là 50. Chọn khai báo đúng?
A. Var A: string(50); B. Var A: string[1..49]; C. Var A: string[50]; D. Var A:array[50];
Câu 49: Trong các khai báo sau, khai báo nào dùng để khai báo kiu xâu?
A. Var St:array[1..4,1..7] of char; B. Var St:string[256];
C. Var st:string[25]; D. Var st:char;
Câu 50: Chọn khai báo xâu đúng?
A. Var st: string; B. Var st: String[266];
C. Var st= string[200]; D. Var st=String;
Câu 51: Cho xâu X:='kiem tra';. Tham chiếu đến phn t th 5 ca xâu X cho kết qu là:
A. 5 B.'' C. ' ' D. ‘ ’
Câu 52: Cho xâu X:='ABCABC';. Ta viết X[4]=?
A. A B. B C. 'A' D. ‘A’
Câu 53: Hãy chọn phương án ĐÚNG về các phép thao tác vi xâu?
A. Ghép và so sánh B. Cng, tr, nhân, chia
C. Tính toán và so sánh D. Ct, dán, sao chép
Câu 54: Hai xâu được coi là bng nhau, khi nào?
A. Khi chúng ging nhau hoàn toàn B. Khi s ng phn t bng nhau
C. Khi cp kí t đầu tiên gia chúng ging nhau D. Khi có độ dài xâu bng nhau
Câu 55: Để cho kết qu là độ dài ca mt xâu X, ta s dng hàm (th tc) nào?
A. Delete(x) B. Pos(x) C. Length(X) D. Copy(x)
Câu 56: Trong NNLT Pascal, hàm Length(S) cho kết qu là:
A. Độ dài xâu S B. S ng kí t ca xâu không tính du cách cui cùng
C. Đ dài tối đa của xâu S khi khai báo D. S ng kí t ca xâu không tính các du cách
Câu 57: Hãy chọn phương án ĐÚNG khi thực hin th tc Insert(s1,s2,vt);
A. Chèn xâu s1 vào xâu s2 bắt đầu t v trí vt B. Chèn xâu s2 vào xâu s1 bắt đầu t v trí vt
C. Ni xâu S1 vào xâu S2 D. Sao chép vào cui s1 mt phn ca s2 t v trí vt
Câu 58: Hàm Pos(s1,s2) có ý nghĩa là:
A. V trí xut hin đu tiên ca xâu s1 trong xâu s2 B. Chèn xâu s1 vào xâu s2
C. V trí xut hin đu tiên ca xâu s2 trong xâu s1 D. V trí ca xâu s1 và s2
Câu 59: Cho xâu s:='ABCdeF';. Kết qu ca th tc Delete(S,3,3); là:
A. 'ABC' B. 'deF' C. 'ABF' D. Li cú pháp
Câu 60: Cho xâu s1:='123'; và xâu s2:='abcd';. Kết qu ca th tc Insert(s1,s2,3); là:
A. Th tc sai B. '123abcd' C. 'ab123cd' D. 'abc123d'
Câu 61: Câu lnh sau thc hin công vic gì?
For i:= Length(X) downto 1 do Write(X[i]);
A. Đưa xâu X theo thứ t đảo ngược B. Đưa ra màn hình xâu X
C. Đưa ra màn hình tng kí t ca xâu X D. Đưa ra màn hình từng phn t ca xâu X
Câu 62: Câu lnh sau thc hin công vic gì?
N:= Length(S);
For i:= 1 to N do write(upcase(S[i]);
A. Đưa ra màn hình xâu S đã được in hoa B. Đưa ra màn hình xâu S
C. Đưa ra màn hình in hoa kí t cui cùng ca xâu S D. Đưa ra màn hình in hoa kí tự th i ca xâu S
Câu 63: Cho khai báo Var st: string[100];. Đoạn chương trình sau thực hin công vic gì?
For i:= length(st) downto 1 do
If S[i]= ' ' then Delete(st,i,1);
A. Xoá hết các kí t trng có trong xâu st B. Xoá kí t trắng đầu tiên có trong xâu st
C. Xoá kí t trng cui cùng trong xâu st D. Xoá kí t trng tha trong xâu st
Câu 64: Đoạn chương trình sau thực hin công vic gì?
d:=0;
For i:= 1 to length(st) do
If st[i] = 'A' then d:=d+1;
A. Đếm s kí t A có trong xâu st B. Xoá các kí t A có trong xâu st
C. Đếm s kí t có trong xâu st D. Xoá các kí t có trong xâu st
Câu 65: Đoạn chương trình sau thực hin công vic gì?
N:= length(A);
For i:= 1 to N do
If A[i] = a then A[i]:= upcase(A[i]);
A. In hoa tt c các kí t a B. In hoa xâu A
C. In hoa kí t th i ca xâu D. Chuyn ch hoa thành ch thường
Câu 66: Cho khai báo Var S: string[100];. Đoạn chương trình sau làm công vic gì?
Dem:=0;
N:=length(S):
For i:= 1 to N do
If (S[i] = A′) or (S[i]=′B′ then dem:=dem+1;
A. S ng kí t A và B có trong xâu S B. S ng kí t A hoc kí t B có trong xâu S
C. S ng kí t A có trong xâu S D. S ng kí t B có trong xâu S
II. PHN T LUN:
Câu 1: Viết chương trình có sử dng cu trúc lp (While hoc For)
Câu 2: Lp trình có s dng kiu mng hoc kiu xâu
III. PHN THC HÀNH: Lp trình trên máy. Xem li các bài tập đã sửa kiu mng và kiu xâu
PHN TRC NGHM
1. A
2. B
3. A
4.C
5. A
6. D
7. A
8.A
9. A
10. A
11. A
12. A
13. A
14.B
15. C
16. A
17. B
18. A
19.A
20. A
21. A
22. A
23. A
24. A
25. A
26. B
27. A
28. B
29. B
30. A
31. B
32. C
33. D
34. C
35. C
36. B
37. A
38. A
39. A
40.A
41. B
42. C
43. A
44. A
45. A
46. C
47. D
48. C
49. C
50. A
51. C
52. C
53. A
54.A
55. C
56. A
57. A
58. A
59. C
60. C
61. A
62.A
63. A
64. A
65. A
66. A
| 1/7

Preview text:

ĐỀ CƯƠNG GIỮA 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 cú pháp sau, cú pháp nào là cấu trúc lặp?
A. While <điều kiện> DO ;
B. While DO <điều kiện>;
C. IF < điều kiện> THEN ;
D. VAR : < Kiểu dữ liệu>;
Câu 2: Trong các cú pháp lệnh sau, cú pháp nào thuộc về cấu trúc lặp?
A. Var : ARRAY[Kiểu chỉ số] OF ; B. FOR := TO DO ;
C. IF <điều kiện> THEN ELSE ; D. CONST = ;
Câu 3: Cú pháp của lệnh lặp với số lần chưa biết trước. Chọn cấu trúc đúng?
A. While <điều kiện > Do ;
B. White <điều kiện> Do ; C. For := To Do ; D. Var = ;
Câu 4: Cú pháp của lệnh lặp với số lần chưa biết trước. Chọn cấu trúc đúng? A. For := To Do ; B. For := Downto Do ;
C. While <điều kiện> Do ;
D. While Do <điều kiện>;
Câu 5: Trong cấu trúc While_Do, câu lệnh được thực hiện khi: A. Điều kiện đúng B. Điều kiện sai
C. Điều kiện không xác định
D. Không cần kiểm tra điều kiện
Câu 6: Trong cấu trúc While_Do, khi điều kiện luôn đúng thì câu lệnh thực hiện bao nhiêu lần? A. 0 lần B. 1 lần C. n lần D. vô hạn lần
Câu 7: Cú pháp câu lệnh lặp với số lần biết trước. Chọn cấu trúc đúng? A. For := to do ;
B. Repeat Until <điều kiện>; C. For := to do ;
D. While <điều kiện> do ;
Câu 8: Cú pháp cấu trúc lặp For – do dạng tiến là: A. For := to do ; B. For := to do ; C. For := downto do ; D. For := downto do ;
Câu 9: Cú pháp cấu trúc lặp For – do dạng lùi là: A. For := downto do ; B. For := down do ; C. For := downto do ; D. For := to do ;
Câu 10: Kiểu dữ liệu của biến đếm trong cấu trúc lặp For – do là:
A. Cùng kiểu với giá trị đầu, giá trị cuối
B. Chỉ cần khác kiểu với giá trị đầu
C. Cùng kiểu với các biến trong câu lệnh
D. Không cần xác định kiểu dữ liệu
Câu 11: Trong cấu trúc lặp For – Do, biến đếm có kiểu nguyên thì:
A. giá trị đầu, giá trị cuối phải có kiểu nguyên
B. giá trị đầu, giá trị cuối có kiểu tùy ý
C. Giá trị đầu, giá trị cuối có kiểu thực D. Giá trị đầu, giá trị cuối phải là kiểu dữ liệu đếm được.
Câu 12: Hãy chọn phương án ĐÚNG ở cấu trúc lặp For – do dạng tiến là:
A. Giá trị đầu ≤ giá trị cuối
B. Giá trị đầu < giá trị cuối
C. Giá trị đầu > giá trị cuối
D. Giá trị đầu = giá trị cuối
Câu 13: Trong cấu trúc For – do, câu lệnh được thực hiện đúng 1 lần khi nào?
A. Biến đếm có giá trị đầu bằng giá trị cuối
B. Biến đếm có giá trị bằng 1
C. Biến đếm có giá trị nhỏ hơn giá trị cuối
D. Câu lệnh là câu lệnh ghép
Câu 14: Cho chương trình sau: Begin For i:=1 to 5 do write(i:2); Readln End.
Kết quả của chương trình trên là? A. 12345 B. 1 2 3 4 5 C. iiiii D. 11111
Câu 15: Cho chương trình sau: Begin
For i:=1 to 5 do write(1: 2); Readln End.
Kết quả của chương trình trên là? A. 11111 B. 12345 C. 1 1 1 1 1 D. i i i i i
Câu 16: Cho đoạn chương trình sau: S:=0; i:=1; While .....do Begin S:=S+i; i:= i+1; End;
Tính tổng S= 1+2+3+...+10, điều kiện nào sau đây cần điền vào chỗ (.....) giữa câu lệnh While......do? A. i <=10 B. i =10 C. i >10 D. i >= 10
Câu 17: Cho đoạn chương trình sau: i:= 1; While i <=10 do Begin Write(i:4); i:=i+1; End;
Đoạn chương trình này thực hiện công việc gì?
A. In ra màn hình các số từ 1 đến 10, mỗi số trên một dòng B. In ra màn hình các số từ 1 đến 10 C. In ra màn hình các số D. Chương trình sai
Câu 18: Cho đoạn chương trình sau: N:= 1; While N > 0 do write(N);
Nhận xét đúng nhất về chương trình trên? A. Lặp vô hạn
B. Chương trình in các số từ 1 đến N
C. Chương trình in ra N chữ số 1 D. Chương trình sai.
Câu 19: Cho đoạn chương trình sau: … N:= 0; While N <= 10 do Begin N:=N +1; Write(N:3); End;
Chương trình trên cho kết quả là gì?
A. In ra màn hình các số từ 1 đến 10
B. In ra màn hình các số từ 0 đến 10 C. Chương trình sai
D. Chương trình bị lặp vô hạn
Câu 20: Đoạn chương trình sau làm công việc gì? S:=0; For i:=1 to N do S:=S+i;
A. Tổng các số trong phạm vi từ 1 đến N
B. Tổng N số hạng liên tiếp
C. Tổng các số tự nhiên đầu tiên D. Chương trình sai
Câu 21: Đoạn chương trình sau thực hiện công việc? For i:=1 to M do
If (i mod 3 = 0) and (i mod 5 = 0) then t:= t+i;
A. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M
B. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M
C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Câu 22: Phát biểu nào sau đây là ĐÚNG về mảng một chiều?
A. Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu
B. Chỉ là dãy các số nguyên
C. Mảng không chứa các kí tự là chữ cái
D. Là dãy vô hạn các phần tử có cùng kiểu dữ liệu
Câu 23: Phát biểu nào sau đây là SAI?
A. Số phần tử trong mảng tối đa là 255 phần tử
B. Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu dữ liệu
C. Có thể xây dựng mảng n chiều
D. Cần xác định kiểu phần tử của mảng
Câu 24: Cú pháp khai báo gián tiếp mảng một chiều là:
A. Type = array[kiểu chỉ số] of ; Var :;
B. Type = array[kiểu chỉ số] of ; Var :;
C. Type : array[kiểu chỉ số] of ; Var =;
D. Type : array[Kiểu chỉ số] of ; Var :;
Câu 25: Cú pháp để khai báo trực tiếp mảng một chiều là:
A. VAR : ARRAY[Kiểu chỉ số] OF ;
B. TYPE : ARRAY[Kiểu chỉ số] OF ;
C. VAR : ARRAY[Kiểu phần tử] OF ;
D. VAR : ARRAY[Kiểu chỉ số]: ;
Câu 26: Cách tham chiếu đến một phần tử trong mảng một chiều:
A. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ( và )
B. Tên biến mảng, tiếp theo là chỉ số viết trong cặp [ và ]
C. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp [ và ]
D. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ( và )
Câu 27: Cách viết nào sau đây tham chiếu đúng phần tử thứ i của mảng B? A. B[i] B. B(i) C. B['i'] D. B[',i,']
Câu 28: Cho khai báo Type B1=array[1..50] of integer; Var b:B1;. Tham chiếu đến phần tử thứ 15 của khai báo
mảng một chiều đã cho, ta viết: A. b1[15] B. B[15] C. b1[15]; D. B[15];
Câu 29: Để tham chiếu đến phần tử thứ N của mảng một chiều X, ta viết: A. X[100] B. X[N] C. X[N]; D. N[x]
Câu 30: Cho khai báo Var A:array[1..50] of char;. Tham chiếu đến phần tử thứ 50 của mảng A, ta viết: A. A[50] B. A(50) C. 50 D. A[50];
Câu 31: Lệnh For i:= 1 to 10 do Readln(X[i]); có nghĩa là:
A. Nhập giá trị cho mảng X
B. Nhập giá trị từ bàn phím cho mảng X có 10 phần tử.
C. Nhập giá trị cho phần tử thứ i của mảng X D. Nhập mảng
Câu 32: Để nhập giá trị cho phần tử thứ 1 của mảng một chiều B, ta viết: A. B[1]; B. Write(B[1]); C. Readln(b[1]); D. Real(b[1]);
Câu 33: Chọn khai báo ĐÚNG?
A. Var B:array[100] of integer;
B. Var B:array[-100] of integer;
C. Var B:array[1...100] of integer;
D. Var B:array[1..100] of integer;
Câu 34: Trong các khai báo sau, khai báo nào dùng để khai báo mảng một chiều? A. Var st:string; B. Var f,g:text; C.Var S:array[1..10] of byte;
D. Var S=array[1..100] of integer;
Câu 35 Yêu cầu khai báo mảng một chiều gồm 100 phần tử có kiểu thực. Chọn khai báo ĐÚNG?
A. Var x:array[1...100] of real;
B. Var S:array[1..100] of integer;
C. Var X:array[1..100] of real; D. Var S:string[100];
Câu 36: Khai báo mảng một chiều gồm 50 phần tử có kiểu số nguyên byte. Chọn khai báo đúng?
A. Type Xa=array[1..50] of integer; Var A:Xa; B. Type MANG=array[1..50] of byte; Var A:MANG;
C. Type KB:array[1..50] of byte; Var A:KB; D. Type KB=array[1..50] of byte; Var kb:KB;
Câu 37: Cho khai báo mảng: Var a:array[1..50] of byte;
và đoạn chương trình như sau: Begin
Write(' Nhap so luong phan tu n='); Readln(n); For i:=1 to n do Begin Write('a[', i, ']='); Readln(a[i]); End; S:=0; For i:=1 to n do S:=S+a[i];
Đoạn chương trình trên thực hiện công việc gì?
A. Nhập vào một dãy số và tính tổng của dãy số đó
B. Nhập vào một dãy số và đếm số lượng phần tử của dãy đó
C. Nhập vào một mảng A và in ra màn hình dãy số vừa nhập
D. Không thực hiện công việc gì cả
Câu 38: Cho khai báo mảng: Var a:array[1..150] of real;
và đoạn chương trình như sau: Begin
Write(' Nhap so luong phan tu n='); Readln(n); For i:=1 to n do Begin Write('a[', i, ']='); Readln(a[i]); End; For i:=1 to n do
If a[i] > 0 then write(a[i]:4);
Đoạn chương trình trên thực hiện công việc gì?
A. Nhập vào một dãy số và liệt kê các số dương
B. Nhập vào một số N và in ra các số dương
C. Nhập vào một dãy số và liệt kê các số dương chẵn D. Nhập vào một mảng A
Câu 39: Cho khai báo mảng: Var b:array[1..100] of integer;
và đoạn chương trình như sau: Begin
Write(' Nhap so luong phan tu n='); Readln(n); For i:=1 to n do Begin Write('b[', i, ']='); Readln(b[i]); End; For i:=1 to n do
If i mod 2 = 0 then write(b[i]:4);
Đoạn chương trình trên thực hiện công việc gì?
A. Liệt kê các phần tử tại vị trí chẵn
B. In ra màn hình các phần tử chẵn
C. In ra màn hình các phần tử tại vị trí lẻ
D. Liệt kê các phần tử lẻ
Câu 40: Cho khai báo mảng: Var x:array[1..100] of integer;
và đoạn chương trình như sau: Begin
Write(' Nhap so luong phan tu n='); Readln(n); For i:=1 to n do Begin
Write(′phan tu thu′, i, ′=′); Readln(x[i]); End;
For i:=1 to n do write (x[i]:5);
Đoạn chương trình trên thực hiện công việc gì?
A. In mảng vừa nhập ra màn hình
B. In ra màn hình phần tử thứ i của mảng X
C. Nhập giá trị cho các phần tử của mảng x
D. Không thực hiện công việc gì
Câu 41: Cho khai báo mảng: Var B:array[1..100] of byte;
và đoạn chương trình như sau: Begin
Write(' Nhap so luong phan tu n='); Readln(n); For i:=1 to n do Begin
Write(′phan tu thu′, i, ′=′); Readln(B[i]); End; For i:=1 to n do a
If i mod 2 <> 0 Then writeln(B[i]);
Đoạn chương trình trên thực hiện công việc gì?
A. Liệt kê các phần tử tại vị trí chẵn
B. Liệt kê các phần tử tại vị trí lẻ
C. Nhập giá trị cho các phần tử của mảng B
D. In ra màn hình các phần tử của mảng B
Câu 42: Cho khai báo mảng: Var d:array[1..100] of word;
và đoạn chương trình như sau: Begin
Write(' Nhap so luong phan tu n='); Readln(n); For i:=1 to n do Begin
Write(′phan tu thu′, i, ′=′); Readln(d[i]); End; T:=1; For i:=1 to n do
If (i mod 2 = 0) and (d[i] mod 2 <>0) Then T:= T*d[i];
Đoạn chương trình trên thực hiện công việc gì?
A. Tính tổng các phần tử tại vị trí chẵn
B. Tích các phần tử lẻ của mảng d
C. Tích các phần tử lẻ tại vị trí chẵn
D. Tích các phần tử chẵn tại vị trí lẻ Câu 43: 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 44: 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 45: 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 46: Khai báo xâu một biến xâu có độ dài lớn nhất của kiểu xâu. Chọn khai báo ĐÚNG? A. Var st,s:string; B. Var x:string[256]; C. Var s:string; D. Var s:string[1..255];
Câu 47: Cú pháp để khai báo xâu?
A. Var <tênbiến>:array[độ dài lớn nhất của xâu] of char;
B. Var <tênbiến>= String[độ dài lớn nhất của xâu];
C. Var <tênbiến>= string;
D. Var <tênbiến>: String[độ dài lớn nhất của xâu];
Câu 48: Thực hiện yêu cầu khai báo một biến xâu có độ dài là 50. Chọn khai báo đúng? A. Var A: string(50); B. Var A: string[1..49]; C. Var A: string[50]; D. Var A:array[50];
Câu 49: Trong các khai báo sau, khai báo nào dùng để khai báo kiểu xâu?
A. Var St:array[1..4,1..7] of char; B. Var St:string[256]; C. Var st:string[25]; D. Var st:char;
Câu 50: Chọn khai báo xâu đúng? A. Var st: string; B. Var st: String[266]; C. Var st= string[200]; D. Var st=String;
Câu 51: Cho xâu X:='kiem tra';. Tham chiếu đến phần tử thứ 5 của xâu X cho kết quả là: A. 5 B.'' C. ' ' D. ‘ ’
Câu 52: Cho xâu X:='ABCABC';. Ta viết X[4]=? A. A B. B C. 'A' D. ‘A’
Câu 53: Hãy chọn phương án ĐÚNG về các phép thao tác với xâu? A. Ghép và so sánh B. Cộng, trừ, nhân, chia C. Tính toán và so sánh D. Cắt, dán, sao chép
Câu 54: Hai xâu được coi là bằng nhau, khi nào?
A. Khi chúng giống nhau hoàn toàn
B. Khi số lượng phần tử bằng nhau
C. Khi cặp kí tự đầu tiên giữa chúng giống nhau
D. Khi có độ dài xâu bằng nhau
Câu 55: Để cho kết quả là độ dài của một xâu X, ta sử dụng hàm (thủ tục) nào? A. Delete(x) B. Pos(x) C. Length(X) D. Copy(x)
Câu 56: Trong NNLT Pascal, hàm Length(S) cho kết quả là: A. Độ dài xâu S
B. Số lượng kí tự của xâu không tính dấu cách cuối cùng
C. Độ dài tối đa của xâu S khi khai báo D. Số lượng kí tự của xâu không tính các dấu cách
Câu 57: Hãy chọn phương án ĐÚNG khi thực hiện thủ tục Insert(s1,s2,vt);
A. Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt
B. Chèn xâu s2 vào xâu s1 bắt đầu từ vị trí vt C. Nối xâu S1 vào xâu S2
D. Sao chép vào cuối s1 một phần của s2 từ vị trí vt
Câu 58: Hàm Pos(s1,s2) có ý nghĩa là:
A. Vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2 B. Chèn xâu s1 vào xâu s2
C. Vị trí xuất hiện đầu tiên của xâu s2 trong xâu s1
D. Vị trí của xâu s1 và s2
Câu 59: Cho xâu s:='ABCdeF';. Kết quả của thủ tục Delete(S,3,3); là: A. 'ABC' B. 'deF' C. 'ABF' D. Lỗi cú pháp
Câu 60: Cho xâu s1:='123'; và xâu s2:='abcd';. Kết quả của thủ tục Insert(s1,s2,3); là: A. Thủ tục sai B. '123abcd' C. 'ab123cd' D. 'abc123d'
Câu 61: Câu lệnh sau thực hiện công việc gì?
For i:= Length(X) downto 1 do Write(X[i]);
A. Đưa xâu X theo thứ tự đảo ngược B. Đưa ra màn hình xâu X
C. Đưa ra màn hình từng kí tự của xâu X
D. Đưa ra màn hình từng phần tử của xâu X
Câu 62: Câu lệnh sau thực hiện công việc gì? N:= Length(S);
For i:= 1 to N do write(upcase(S[i]);
A. Đưa ra màn hình xâu S đã được in hoa B. Đưa ra màn hình xâu S
C. Đưa ra màn hình in hoa kí tự cuối cùng của xâu S
D. Đưa ra màn hình in hoa kí tự thứ i của xâu S
Câu 63: Cho khai báo Var st: string[100];. Đoạn chương trình sau thực hiện công việc gì?
For i:= length(st) downto 1 do
If S[i]= ' ' then Delete(st,i,1);
A. Xoá hết các kí tự trắng có trong xâu st
B. Xoá kí tự trắng đầu tiên có trong xâu st
C. Xoá kí tự trắng cuối cùng trong xâu st
D. Xoá kí tự trắng thừa trong xâu st
Câu 64: Đoạn chương trình sau thực hiện công việc gì? d:=0; For i:= 1 to length(st) do If st[i] = 'A' then d:=d+1;
A. Đếm số kí tự A có trong xâu st
B. Xoá các kí tự A có trong xâu st
C. Đếm số kí tự có trong xâu st
D. Xoá các kí tự có trong xâu st
Câu 65: Đoạn chương trình sau thực hiện công việc gì? N:= length(A); For i:= 1 to N do
If A[i] = a then A[i]:= upcase(A[i]);
A. In hoa tất cả các kí tự a B. In hoa xâu A
C. In hoa kí tự thứ i của xâu
D. Chuyển chữ hoa thành chữ thường
Câu 66: Cho khai báo Var S: string[100];. Đoạn chương trình sau làm công việc gì? Dem:=0; N:=length(S): For i:= 1 to N do
If (S[i] = A′) or (S[i]=′B′ then dem:=dem+1;
A. Số lượng kí tự A và B có trong xâu S B. Số lượng kí tự A hoặc kí tự B có trong xâu S
C. Số lượng kí tự A có trong xâu S
D. Số lượng kí tự B có trong xâu S
II. PHẦN TỰ LUẬN:
Câu 1: Viết chương trình có sử dụng cấu trúc lặp (While hoặc For)
Câu 2: Lập trình có sử dụng kiểu mảng hoặc kiểu xâu
III. PHẦN THỰC HÀNH: Lập trình trên máy. Xem lại các bài tập đã sửa ở kiểu mảng và kiểu xâu PHẦN TRẮC NGHỆM 1. A 2. B 3. A 4.C 5. A 6. D 7. A 8.A 9. A 10. A 11. A 12. A 13. A 14.B 15. C 16. A 17. B 18. A 19.A 20. A 21. A 22. A 23. A 24. A 25. A 26. B 27. A 28. B 29. B 30. A 31. B 32. C 33. D 34. C 35. C 36. B 37. A 38. A 39. A 40.A 41. B 42. C 43. A 44. A 45. A 46. C 47. D 48. C 49. C 50. A 51. C 52. C 53. A 54.A 55. C 56. A 57. A 58. A 59. C 60. C 61. A 62.A 63. A 64. A 65. A 66. A