ĐỀ 1
Câu 1: Cho x, y là các biến kiểu ký tự, S là biến kiểu chuỗi lệnh nào đúng:
a) S:=x+y; b) Readln(S:=x+y); c) x+y:=S; d) Write(x,y,S:5:1);
Câu 2: Cho x, y là các biến kiểu nguyên, lệnh nào là sai:
a) Writeln(x,’5’); b) Writeln(‘x=’,x); c) Writeln(x:5); d) Writeln(x,y:5:2);
Câu 3; Cho x là biến kiểu Byte, sau khi thực hiện hai lệnh:
X:=7; Writeln(x:2:0);
Kết quả in trên màn hình là:
a) 7.0 b) 7 c) 7.0000000000E+01 d) Báo lỗi
Câu 4: Lệnh sau in ra màn hình bao nhiêu kí tự ‘*’
For I:=1 to 10 do; If I mod 2 = 0 then write(‘*’);
a) 5 b) 9 c) 10 d) 1
Câu 5: Tìm giá trị của S sau đoạn chương trình:
S:=5;
For I:= 1 to 10 do If I mod 2 <> 0 then S:= S+i ; Write(S);
a) 55 b) 25 c) 30 d) 35
Câu 6: Hãy cho biết kết quả a, b sau khi thực hiện các lệnh:
c:=0; a:=7; b:=5;
c:=a; a:=b; b:=c; Write(b, ’ , ‘ , a);
a) 7,5 b) 5,7 c) 5,5 d) 7,7
Câu 7: Hãy cho biết kết quả in ra màn hình của đoạn chương trình
Var X : integer;
Function T( N: integer): integer;
Var I,s : integer;
Begin S:=0; For i:=1 to N do if i mod 2 <> 0 then S:=S+i; T:=S; End;
Begin
X:=5; write (T(X));
End.
a) 5 b) 10 c) 15 d) 9
Câu 8: Lệnh sau in ra màn hình bao nhiêu ký tự ‘*’
For I:=1 to 10 do if ( I div 2) mod 2 <>0 then write (‘*’);
a) 5 b) 10 c) 1 d) 3
Câu 9: Cho biết kết quả trên màn hình khi chạy chương trình sau,
Var s:string; i:integer;
Begin
S:='Nhat nhat co lai hy';
For i:=1 to length(s) do delete(s,pos(#32#32,s),1);
Writeln(s); Readln;
End.
a) Nhat nhat co lai hy b) Nhat nhat co lai hy
c) Nhat Nhat Co Lai Hy d) NHAT NHAT CO LAI HY
Câu 10: Cho Với a:=5; b:=7; c:= 8; d:=6; S kiểu Boolean kết quả của biểu thức sau:
1
S:= ((a>b) or (not(c<d))) and (a>=c) ;
a) True b) False c) Không có câu đúng
Câu 11: Cho khai báo biến và khai báo đầu của thủ tục TT:
Var x,y: Integer; St: String;
Procedure TT(Var a:Integer; Var b:String);
Begin
A:=a+1; b:=a+2;
End;
- Lệnh nào đúng:
a) TT(St,x); b) TT(St,10); c) TT(x,St); d) y:=TT(St,x);
Câu 12: Cho a là biến nguyên a:=3 và khai báo thủ tục:
Procedure PA (Var x: Integer);
Begin
x:= x+2;
End;
Sau khi gọi thủ tục PA(a); thì giá trị của biến a là:
a) 2 b) 0 c) 3 d) 5
Câu 13: Cho mảng B như sau : B[1]:=2; B[2]:=4; B[3]:=6; B[4]:=8;
For I:=1 to 3 do B[i]:= B[i+1];
For I:=1 to 4 do Write (B[i] ,' ' );
Kết quả sau cùng của các B[i] là:
a) 4 6 8 8 b) 4 6 8 2 c) 8 6 4 2 d) 8 2 4 6
Câu 14: Cho mảng B như sau B[1]:=6; B[2]:=3; B[3]:=9; B[4]:=1;
For I:=1 to 3 do
For j:=1 to i do
If B[i]>b[j] then
Begin Temp:= B[i];B[i]:=B[j]; B[j]:=Temp; End;
For i:= 4 downto 1 do Write (B[i],',');
Kết quả là:
a) 9,6,3,1, b) 1,3,6,9, c) 3,6,9,1, d) 6,9,3,1,
Câu 15: Cho mảng A như sau : A[1]:=1; A[2]:=2; A[3]:=3; A[4]:=4;
For I:=1 to 3 do A[i]:= A[i+1];
Kết quả sau cùng của các A[2] là:
a) 1 b) 2 c) 3 d) 4
Câu 16: Hãy cho biết kết quả của S sau chương trình :
Var S: String; I: byte;
Begin
S:='Co lai do oi';
repeat
i:=pos(#32#32, S);
if i > 0 then delete(s,i,1);
Until i=0;
2
Write (S);readln;
end.
a) Co lai do oi b) Co lai do oi
c) CO LAI DO OI d) Co Lai Do Oi
Câu 17: Hãy cho biết kết quả in ra màn hình của đoạn chương trình
S:=0; N:=5; I:=1;
While N > I Do
Begin if I mod 2<> 0 then S:=S+i; I:=I+1; end;
Write (s);
a) 9 b) 8 c) 10 d) 4
Câu 18: Để tính giai thừa của N, câu nào cho kết quả đúng:
a) S:=1; For i:=1 to N do S:= S*i;
b) S:=1; For i:=1 to N do S:= S+i;
c) S:=0; For i:=1 to N do S:= S+1/i;
d) S:=1; For i:=1 to N do S:= S*N;
Câu 19: Khi chạy đoạn chương trình sau, cho kết quả nào đúng?
Var S:string; i,n : byte;
Begin
S:='ABCDE'; I:=1; N:=3; Delete(S, i, n);
Write(s); Readln;
End.
a) DE b) ABC c) D d) ABCDE
Câu 20: Để tính tổng của dãy số nguyên từ 1 đến N, câu nào cho kết quả đúng:
a) S:=0; For i:=1 to N do S:=s*i;
b) S:=0; For i:=1 to N do S:= S + i;
c) S:=0; For i:= N Downto N do S:=SQR(i);
d) S:=0; S:=S+1; For i:=1 to N do S:=s*SQRT(i);
Câu 21: Hãy cho biết kết quả in ra màn hình của đoạn chương trình
a:=10; b:=25; I:=1;
Repeat
a:= a + 5; b:= b - 2; I:= I + 3;
Until a > b;
Write(I); Readln;
a) 7 b) 11 c) 9 d) 10
Câu 22: Hãy cho biết kết quả in ra màn hình của đoạn chương trình:
Var x,y: integer;
Procedure TS (m: integer; n: integer);
Begin
m:= m+1; n:=n+m;
End;
Begin
X:=5; Y:=10; TS(X,Y); Write (X,’,’,Y);
3
End.
a) 5,10 b) 10,5 c) 6,10 d) 6,16
Câu 23 : Cho hàm GT được xây dựng như sau
Var N:integer;
Function GT (x: integer): Real;
Var M, i : integer;
Begin
M:=1; i:=0; For i:= X Downto 1 do M:=M*i; GT:=M;
End;
Begin
N:=5; Write (GT(n):10:1); Readln;
End.
a) 100 b) 120 c) 120.0 d) 5
Câu 24: Sau khi thực hiện chương trình sau:
Var St: String; i: integer;
Begin
St :='CCABCC'; i:=3;
While St[i] = 'A' do Delete(St,i,1);
Write (St);readln;
End.
Kết quả in ra màn hình là:
a)ABCC b) ABCD c) CCBCC d) CABCC
Câu 25: Cho X,Y là hai biến nguyên và khai báo thủ tục:
Procedure Doicho (A: Integer; B: Integer);
Var Z: Integer;
Begin
Z := A; A := B; B := Z ;
End;
- Sau khi thực hiện các lệnh:
x:=7; y:=3; Doicho(x,y); Write(x, ’ ,’ ,y);
thì giá trị của x, y là:
a) 7, 7 b) 3,7 c) 3, 3 d) 7,3
**************************************************
ĐỀ 2
Câu 1: Cho x,y,z là các biến kiểu ký tự, lệnh nào là đúng:
a) z:=x+y; b) Readln( x; y ; z); c) x+y:=z; d) Write(x,y,z);
Câu 2: Cho x,y là các biến kiểu nguyên, lệnh nào là sai:
a) Writeln(x,5); b) Writeln(‘x=’,x); c) Writeln(x:5:2); d) Writeln(x,y);
Câu 3; Cho x là biến kiểu nguyên, sau khi thực hiện hai lệnh:
X:=15; Writeln(x);
Kết quả in trên màn hình là:
a) 15 b) 15.00 c) +1.5000000000E+01 d) 1.5000000000E+01
4
Câu 4: Lệnh sau in ra màn hình bao nhiêu kí tự ‘*’
For I:=1 to 9 do If I mod 2 = 0 then write(‘*’);
a) 2 b) 3 c) 5 d) 4
Câu 5: Giá trị của S sau đoạn chương trình:
S:=5;
For I:= 2 to 10 do; If I mod 2 = 0 then S:= S+i ;
a) 55 b) 15 c) 60 d) 25
Câu 6: Hãy cho biết kết quả x,y sau khi thực hiện các lệnh
z:=0;x:=2; y:=4;
z:=x; x:=y; y:=z; Write(x,’ , ‘ , y);
a) 4,4 b) 4,2 c) 2,4 d) 2,2
Câu 7: Hãy cho biết kết quả in ra màn hình của đoạn chương trình
Var n : integer;
Function T( m: integer): integer;
Var I, s : integer;
Begin S:=0; For I:=1 to m do S:=S+I ; T:=S; End;
Begin
N:=5; write (T(n)); Readln;
End.
a) 5 b) 10 c) 25 d) 15
Câu 8: Lệnh sau in ra màn hình bao nhiêu ký tự ‘+’
For I:=1 to 10 do if I mod 2 <>0 then write (‘+’);
a) 5 b) 10 c) 1 d) 9
Câu 9: câu lệnh sau có mấy lỗi sai:
CASE lop OF
1..5: Write ( mau giao’);
1..12 Write ‘trung hoc );
END;
a) 1 b) 4 c) 5 d) 3
Câu 10: Khi chạy chương trình:
Var St: String; i,L:integer;
Begin
St:='Dot den dau hoc lau cung gioi'; L:=Length (St);
For i:= 1 to L do; If(St[i]>='a') and (St[i] <='z') then St[i]:=Upcase(St[i]);
Write (St);readln;
End.
- Chương trình in ra:
a) Dot den dau hoc lau cung gioI b) Dot den dau hoc lau cung gioi
c) DOT DEN DAU HOC LAU CUNG GIOI d) Dot Den Dau Hoc Lau Cung Gioi
Câu 11: Khi chạy chương trình :
Var St: String ; i,L: integer;
Begin
5