Câu 1
Đoạn chương trình sau đưa ra màn hình kết quả gì?
For i:=1 to 10 do write(I,’’);
A. 12345678910
|
B. Đưa ra 10 dấu cách
|
C. Không đưa ra kết quả gì
|
D. 10 9 8 7 6 5 4 3 2 1
|
Câu 2
Biến đếm của vòng lặp với số lần lặp biết trước thường có kiểu?
A. Ký tự
|
B. Số thực
|
C. Số nguyên
|
D. .Logic
|
Câu 3
Vòng lặp nào có biến đếm tự động tăng lên một đơn vị sau một lần thực hiện câu lệnh?
A. While…do…
|
B. For …to…do…
|
C. For …downto…do…
|
D. Repeat…Until…
|
Câu 4
Cho A = ‘abc’; B = ‘ABC’; Khi đó A + B cho kết quả nào?
A. ‘ABCcbc’;
|
B. ‘AaBbCc’;
|
C. ‘aAbBcC’;
|
D. ‘abcABC’;
|
Câu 5
Cho khai báo:
Var A: Array[1..4] of Integer ;
i : Integer ;
Sau khi thực hiện các lệnh:
For i:=1 to 4 do A[i]:= i;
For i:=1 to 4 do A[i]:= A[i]+1;
thì mảng A có gía trị là :
A. A[1]=1, A[2]=1, A[3]=1, A[4]=1
|
B. A[1]=2, A[2]=3, A[3]=4, A[4]=5
|
C. A[1]=1, A[2]=2, A[3]=3, A[4]=4
|
D. A[1]=0, A[2]=1, A[3]=2, A[4]=3
|
Câu 6
Cho câu lệnh For i:= 5 to 10 do write(‘Chao ban’); Câu ‘Chao ban’ xuất ra mấy lần:
Câu 7
Cho khai báo:
Var A: Array[1..4] of Real;
i : Integer ;
Ðể nhập dữ liệu cho A, chọn câu nào :
A. For i:=1 to 4 do Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]);
|
B. Write(‘ Nhập A:’); Readln(A);
|
C. For i:=1 to 4 do Readln(‘ Nhập A[‘, i, ‘]:’);
|
D. For i:=1 to 4 do Begin Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]); End;
|
Câu 8
Khi điều kiện đúng, câu lệnh IF <điều kiện> Then <câu lệnh1> Else <Câu lệnh2>; sẽ thực hiện
A. Câu lệnh 1
|
B. Thực hiện câu lệnh 1 trước rồi đến câu lệnh 2
|
C. Câu lệnh 2
|
D. Thực hiện câu lệnh 2 trước rồi đến câu lệnh 1
|
Câu 9
Cho biết câu lệnh sau sai ở đâu? IF DTB>5 then Write(‘Do’); Else Write(‘Truot’);
A. Đồng thời viết cả giá trị Đỗ, trượt
|
B. Chưa biết giá trị của ĐTB
|
C. Thừa dấu chấm phẩy (;) trước từ khóa Else
|
D. Tất cả đều sai
|
Câu 10
Cho ST:= 'Ngay 1 thang 11‘;
C:=Pos('1',ST) -> C=…
A. C=6 và 14
|
B. C=5
|
C. C=14 và 15
|
D. C=6
|
Câu 11
Câu lệnh nào sau đây đúng?
A. for i:=5 downto 1; do s:=s+i;
|
B. for i:= 1 to 4 do s= -i;
|
C. for i:=1 to 5 do s:=s*i;
|
D. for i=1 to 5 do s=s+2;
|
Câu 12
Đoạn chương trình sau viết những gì ra màn hình?
m:=5 ; n: =3 ;
If m < n then Writeln ( m , ‘ x ’ , n , ‘ = ‘, m*n )
Else Writeln( m , ‘ + ’ , n , ‘ = ‘, m+n );
A. 5 + 3 = 8
|
B. m x m = 15
|
C. m + n = 8
|
D. 5 x 3 = 15
|
Câu 13
Cho xâu s = ‘123456789’, sau khi th ực hiện thủ tục delets(s,3,4) thì:
A. S = ‘123789’;
|
B. S = ‘1256789’;
|
C. S = ‘12789’;
|
D. S = ‘’;
|
Câu 14
sau khi thực hiện đoạn chương trình sau, giá trị của biến S là:
S:=’Ha Noi mua thu’;
Delete(S,7,8);
Insert(‘Mua thu ‘,S,1);
A. ‘Mua thu Ha Noi’;
|
B. ‘Ha Noi Mua thu’;
|
C. ‘Mua thu Ha Noi mua thu’;
|
D. ‘Ha Noi’;
|
Câu 15
Hãy điền vào chỗ (…).
S:= 'Le Loi Dong Ha' ; Delete ( S ,…, ...); để thu được kết quả S= 'Dong Ha'
A. 1,8
|
B. 7,7
|
C. 1,9
|
D. 1,7
|
Câu 16
Đoạn chương trình sau thực hiện việc nào trong các việc sau:
S:=0;
For i:= 1 to n do S:=S+ A[i];
A. In ra màn hình mảng A;
|
B. Đếm số phần tử của mảng A;
|
C. Không thực hiện việc nào trong 3 việc trên;
|
D. Tính tổng các phần tử của mảng một chiều A;
|
Câu 17
Cho St là biến chuỗi, sau khi thực hiện bốn lệnh:
St:=’ABCDEF’;
Delete(St, 3, 2);
Insert(‘XYZ’, St, 2);
Write(St);
-Kết qủa in lên màn hình là:
A. AXYZ
|
B. ABXYZEF
|
C. AXYZBEF
|
D. AXYZBCDEF
|
Câu 18
Var A; string[20]; Xâu A có thể chứa?
A. 20 kí tự
|
B. 255 kí tự
|
C. Báo lỗi
|
D. 256 kí tự
|
Câu 19
Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ?
for i := length(str) downto 1 do write(str[i]) ;
A. In xâu ra màn hình
|
B. In từng kí tự xâu ra màn hình
|
C. In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên.
|
D. In từng kí tự ra màn hình theo thứ tự ngược
|
Câu 20
Hãy cho biết giá trị của M sau khi thực hiện đoạn chương trình sau với a=19 và b=12 ?
M := a ;
If a<b then M := b ;
A. M nhận cả hai giá trị trên
|
B. M = 12
|
C. M không nhận giá trị nào
|
D. M = 19
|
Câu 21
Số câu lệnh trong câu lệnh ghép là bao nhiêu?
Câu 22
Tên nào đặt Sai quy định của Pascal:
A. Ngaysinh;
|
B. Sv2000 ;
|
C. Giai_Ptrinh_Bac_2;
|
D. Noi sinh;
|
Câu 23
Lệnh Write trong đoạn chương trình sau thực hiện bao nhiêu lần ?
FOR i:=1 TO 3 DO
FOR j:=2 TO 5 DO Write (i,' ',j);
A. 5 lần
B. 9 lần
C. 3 lần
D. 12 lần
Câu 24
thủ tục Insert(S1,S2,n) thực hiện công việc gì?
A. Chèn thêm xâu S2 vào xâu S1 bắt đầu từ vị trí n của S1;
|
B. Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S2;
|
C. Chèn thêm xâu S2 vào xâu S2 bắt đầu từ vị trí n của S1;
|
D. Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S1;
|
Câu 25
Cho khai báo sau :
Var Xau: string;
Phát biểu nào dưới đây là đúng ?
A. Xâu có độ dài lớn nhất là 255;
|
B. Xâu có độ dài lớn nhất là 0;
|
C. Cần phải khai báo kích thước của xâu sau đó;
|
D. Câu lệnh sai vì thiếu độ dài tối đa của xâu;
|
Câu 26
Câu lệnh rẽ nhánh IF gồm có mấy dạng?
Câu 27
với xâu kí tự ta có thể:
A. Gán biến xâu cho biến xâu và gán một kí tự cho biến xâu;
|
B. So sánh và gán một biến xâu cho biến xâu.
|
C. So sánh hai xâu kí tự, gán biến xâu cho biến xâu và gán một kí tự cho biến xâu;
|
D. So sánh hai xâu kí tự;
|
Câu 28
Chương trình sau thực hiện công việc gì?
X:= length(s);
For i:=x downto 1 do
If S[i] =’ ‘ then delete(s,i,1); {‘ ’ là khoảng trắng}
A. Xóa khoảng trắng tại vị trí cuối cùng trong xâu kí tự S;
|
B. Xóa mọi khoảng trắng trong xâu kí tự S;
|
C. Xóa khoảng trắng thừa trong xâu kí tự S;
|
D. Xóa khoảng trắng đầu tiên trong xâu kí tự S;
|
Câu 29
Câu lệnh lặp biết trước số lần lặp:
FOR <biến đếm> := <Giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Thì số lần lặp được tính theo công thức nào sau đây?
A. Giá trị cuối – giá trị đầu – 1
|
B. Giá trị cuối + giá trị đầu + 1
|
C. Giá trị cuối – giá trị đầu + 1
|
D. Giá trị đầu – giá trị cuối + 1
|
Câu 30
Câu lệnh ghép có dạng:
A. Begin End,
|
B. Begin End.
|
C. Begin End;
|
D. Begin End
|
Câu 31
Hãy chọn phương án ghép đúng. Cho xâu S là ‘Ho Chi Minh-Viet Nam’. Kết quả của hàm Length(S) là
Câu 32
Trong các hàm sau, hàm nào cho kết quả là độ dài thực sự của xâu st
A. Length(st);
|
B. Upcase(ch);
|
C. Copy(st1,m,n);
|
D. Pos(st1,st2);
|
Câu 33
Hằng xâu Le Minh Xuan được viết như thế nào?
A. ‘Le Minh Xuan’
|
B. Le Minh Xuan
|
C. ‘Le Minh Xuan"
|
D. "Le Minh Xuan"
|
Câu 34
Cho các biến St chuỗi và k nguyên. Sau khi gán:
St:='Sinh vien Tin hoc hoc Tin hoc';
k := Pos('Tin', ST) ;
- Giá trị của k là :
A. k=11
|
B. k=23
|
C. k=13
|
D. k=26
|
Câu 35
Xâu ‘ABBA’ NHỎ hơn xâu:
A. ‘ABABA’;
|
B. ‘ABC’;
|
C. ‘ABA’;
|
D. ‘ABABAB’ ;
|
Câu 36
Với khai báo như sau:
Type mang=array[1..100] of integer;
Var a,b:mang;
c:array[1..50] of integer;
Câu lệnh nào dưới đây đúng nhất?
A. b:=c;
|
B. c:=b;
|
C. a:=c;
|
D. a:=b;
|
Câu 37
Khai báo nào đúng:
A. Const n=2; Var A: array[1..n] of integer;
|
B. Var n, m : integer ; A: array[1..n] of integer;
|
C. Var A: array[3, 2] of Integer;
|
D. Var A : array[1..n] of integer;
|
Câu 38
Var A:Array[1..200] of real;
Nhóm lệnh nào sau đây dùng để nhập giá trị cho tất cả các phần tử trong mảng?
A. For i:= 1 to 200 do Readln(A[i]);
|
B. For i:= 1 to 200 do Readln(A[1]);
|
C. For i:= 1 to 200 do Writeln(i);
|
D. For i:= 1 to 200 do Writeln(A[i]);
|
Câu 39
Cách khai báo xâu kí tự nào sau đây là đúng:
A. Var S: Char;
|
B. Var S: Strings[255];
|
C. Var S: String;
|
D. Var S: Strings;
|
Câu 40
xâu kí tự không chứa kí tự nào gọi là:
A. Xâu không;
|
B. Không phải là xâu kí tự
|
C. Xâu rỗng;
|
D. Xâu trắng;
|
Câu 41
Cho s = ‘500 ki tu’, hàm Length(s) cho giá trị bằng:
A. ‘500’
|
B. 500
|
C. 9
|
D. ‘5’
|
Câu 42
Để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu s ta có thể viết?
A. S1:=’hoa’; I:=pos(s1,’hoa’);
|
B. I:=pos(s,’hoa’);
|
C. I:=pos(’hoa’,s);
|
D. I:=pos(‘hoa’,’hoa’);
|
Câu 43
Lệnh IF.. THEN.. ELSE…; thuộc lệnh nào sau đây?
A. Vòng lặp
|
B. Lệnh chọn lựa
|
C. Lệnh rẽ nhánh
|
D. Lệnh ghép
|
Câu 44
Đoạn chương trình: Max:=a; IF b>Max Then Max:=b. Hãy cho biết đoạn chương trình trên dùng để:
A. Tìm giá trị lớn nhất trong 2 số a và b
|
B. Tìm giá trị lớn nhất trong 2 số a
|
C. Tính giá trị a
|
D. Tính giá trị b
|
Câu 45
Cho biết màn hình xuất hiện như thế nào với đoạn chương trình sau:
d:=0;
For i:=1 to 10 do
Begin
i:= i+1;
Write(d,' ');
End;
A. 1 2 3 4 5 6 7 8 9 10
|
B. 11
|
C. 0 0 0 0 0
|
D. 10
|
Câu 46
Cho xâu s = ‘123456789’, sau khi thực hiện thủ tục delete(s,3,4) thì:
A. S = ‘12789’;
|
B. S = ‘1256789’;
|
C. S = ‘’;
|
D. S = ‘123789’;
|
Câu 47
Khi chạy chương trình :
Var
St : string;
i, L : integer;
Begin
St :='Hoc thay khong tay hoc ban’; 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);
End.
-Chương trình in ra :
A. Hoc Thay Khong Tay Hoc Ban
|
B. hoc thay khong tay hoc ban
|
C. HOC THAY KHONG TAY HOC BAN
|
D. Hoc thay khong tay hoc ban
|
Câu 48
Cho biết màn hình xuất hiện như thế nào với đoạn chương trình sau:
d:=0;
For i:=1 to 10 do
Begin
i:= i+1; Write(d,' ');
End;
A. 0 0 0 0 0
|
B. 11
|
C. 1 2 3 4 5 6 7 8 9 10
|
D. 10
|
Câu 49
Cho khai báo mảng sau:
Var P: array [1..50] of word;
Tham chiếu đến một phần tử của mảng P nào sau đây là SAI?
A. P[50]
|
B. P[0]
|
C. P[15]
|
D. P[30]
|
Câu 50
Cho St là biến chuỗi, sau khi thực hiện hai lệnh :
St:= Copy( 'PASCAL VERSION 5.5' , 8, 7) ;
Write(St);
- Kết qủa in lên màn hình là:
A. VERSION 5.5
|
B. PASCAL
|
C. 5.5
|
D. VERSION
|
Cảm ơn Phước Thịnh đã tổ chức cuộc thi này. Thầy sẽ nhắn tin và trao giải cho các bạn đạt giải.
Các bạn cố gắng đợi một thời gian rồi thầy @phynit sẽ thưởng cho các bạn