Câu 1
Sau khi thực hiện đoạn chương trình sau, thì biến X có giá trị là bao nhiêu?
A:= 4 ; B: = 1; X:= 2 ;
IF A + B > 5 THEN X := X + A + B; WRITE (X);
Câu 2
Cách khai báo xâu kí tự nào sau đây là đúng:
A. Var S: Strings[255];
|
B. Var S: Strings;
|
C. Var S: Char;
|
D. Var S: String;
|
Câu 3
Hãy điền vào chỗ (…).
S:= 'Le Loi Dong Ha' ; Delete ( S ,…, ...); để thu được kết quả S= 'Dong Ha'
A. 1,7
|
B. 1,9
|
C. 7,7
|
D. 1,8
|
Câu 4
Khi chạy chương trình :
Var St : String;
i,L : integer;
Begin
St:='ABCD' L := Length(St);
For i:= L Downto 1 do write (St[i]);
End.
Chương trình in ra :
A. DCAB
|
B. 4321
|
C. DCBA
|
D. ABCD
|
Câu 5
hàm length(s) cho kết quả gì?
A. Số kí tự hiện có của xâu S;
|
B. Số kí tự hiện có trong xâu S không tính các khoảng trắng(Kí tự trắng, khoảng cách);
|
C. Độ dài xâu S khi khai báo;
|
D. Số các kí tự của xâu không tính dấu cách cuối cùng;
|
Câu 6
Khi chạy chương trình:
Var S, i, j : Integer;
Begin
S := 0;
for i:= 1 to 3 do
for j:= 1 to 4 do S := S + 1 ;
End.
Giá trị sau cùng của S là :
Câu 7
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[0]
|
B. P[50]
|
C. P[30]
|
D. P[15]
|
Câu 8
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. 3 lần
|
B. 5 lần
|
C. 12 lần
|
D. 9 lần
|
Câu 9
Cho khai báo sau :
Var Xau: string;
Phát biểu nào dưới đây là đúng ?
A. Cần phải khai báo kích thước của xâu sau đó;
|
B. Xâu có độ dài lớn nhất là 0;
|
C. Xâu có độ dài lớn nhất là 255;
|
D. Câu lệnh sai vì thiếu độ dài tối đa của xâu;
|
Câu 10
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 11
phần tử đầu tiên của xâu kí tự mang chỉ số là:
A. 0
|
B. 1
|
C. Do người lập trình khai báo
|
D. Không có chỉ số
|
Câu 12
hàm Upcase(ch); cho kết quả là:
A. Biến ch thành chữ thường;
|
B. Xâu ch toàn chữ hoa;
|
C. Xâu ch toàn chữ thương;
|
D. Chữ cái in hoa tương ứng với ch;
|
Câu 13
Cho xâu s = ‘123456789’, sau khi thực hiện thủ tục delete(s,3,4) thì:
A. S = ‘’;
|
B. S = ‘123789’;
|
C. S = ‘1256789’;
|
D. S = ‘12789’;
|
Câu 14
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 15
Đoạn chương trình sau đây dùng để thực hiện công việc gì?
For i:=1 to n do
If i mod 2 = 0 then Writeln(A[i],’ ‘);
A. In ra màn hình giá trị của các phần tử có chỉ số chẵn trong mảng
|
B. In ra màn hình giá trị của các phần tử có giá trị chẵn trong mảng
|
C. In ra màn hình tất cả các phần tử trong mảng
|
D. Tất cả đều đúng
|
Câu 16
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 S1;
|
C. Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S2;
|
D. Chèn thêm xâu S2 vào xâu S2 bắt đầu từ vị trí n của S1;
|
Câu 17
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 khoảng trắng đầu tiên trong xâu kí tự S;
|
C. Xóa khoảng trắng thừa trong xâu kí tự S;
|
D. Xóa mọi khoảng trắng trong xâu kí tự S;
|
Câu 18
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. Repeat…Until…
|
B. For …to…do…
|
C. For …downto…do…
|
D. While…do…
|
Câu 19
Cho St là biến chuỗi và St:=’AAABAAB’; Sau khi thực hiện hai lệnh:
While St[1]=’A’ do Delete(St,1,1);
Write(St);
Kết qủa in ra là:
A. BB
|
B. BAAB
|
C. AABAAB
|
D. AAA
|
Câu 20
Cho s1 = ‘010’; s2 = ‘1001010’ hàm pos(s1,s2) cho giá trị bằng:
Câu 21
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 hai xâu kí tự;
|
C. So sánh và gán một biến xâu cho biến xâu.
|
D. 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;
|
Câu 22
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. ‘Ha Noi’;
|
D. ‘Mua thu Ha Noi mua thu’;
|
Câu 23
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]=0, A[2]=1, A[3]=2, A[4]=3
|
B. A[1]=1, A[2]=2, A[3]=3, A[4]=4
|
C. A[1]=1, A[2]=1, A[3]=1, A[4]=1
|
D. A[1]=2, A[2]=3, A[3]=4, A[4]=5
|
Câu 24
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 25
Cho đoạn chương trình sau
If(a< >0) then x:=9 div a
Else x:=-1;
Write(‘ x= ‘, x + 1);
Khi cho a=0 thị đoạn chương trình trên sẽ in ra màn hình giá trị x=?
A. x là không xác định
|
B. x=0;
|
C. x=1
|
D. x= -1
|
Câu 26
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[1]);
|
B. For i:= 1 to 200 do Readln(A[i]);
|
C. For i:= 1 to 200 do Writeln(i);
|
D. For i:= 1 to 200 do Writeln(A[i]);
|
Câu 27
Cho biết kết quả khi thực hiện đoạn chương trình sau:
d:=0;
For i:=1 to 10 do d:= d+1;
Write(d);
Câu 28
phần mở rộng của tập tin Pascal chứa tối đa bao nhiêu kí tự?
Câu 29
đoạn chương trình sau thực hiện công việc nào trong các công việc sau:
i:=pos(‘ ‘,S); {‘ ’ là 2 dấu cách}
While i<>0 do
Begin
Delete(s, i, 1);
i:=pos(‘ ‘, s);
End;
A. Xóa đi 1 dấu cách trong 2 dấu cách liên tiếp trong xâu s để s không còn 2 dấu cách liền nhau;
|
B. Xóa các dấu cách liền nhau cuối cùng trong xâu;
|
C. Xóa đi 1 trong 2 dấu cách đầu tiên trong xâu;
|
D. Xóa hai dấu cách liên tiếp nhau đầu tiên trong xâu;
|
Câu 30
Var A; string[20]; Xâu A có thể chứa?
A. 256 kí tự
|
B. 255 kí tự
|
C. Báo lỗi
|
D. 20 kí tự
|
Câu 31
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. Copy(st1,m,n);
|
C. Upcase(ch);
|
D. Pos(st1,st2);
|
Câu 32
Cho s = ‘500 ki tu’, hàm Length(s) cho giá trị bằng:
A. 500
|
B. ‘5’
|
C. ‘500’
|
D. 9
|
Câu 33
Đ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. m + n = 8
|
B. m x m = 15
|
C. 5 + 3 = 8
|
D. 5 x 3 = 15
|
Câu 34
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 từng kí tự ra màn hình theo thứ tự ngược
|
B. In xâu ra màn hình
|
C. In từng kí tự xâu ra màn hình
|
D. In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên.
|
Câu 35
Trong quá trình nhập dữ liệu của mảng một chiều, để giá trị i cũng tăng theo phần tử thứ i ta viết như sau:
A. Write(‘A[i]=’); readln(A[i]);
|
B. Write(‘A[‘i’]=’); readln(A[i]);
|
C. Write(“A[“,i,”]=”); readln(A[i]);
|
D. Write(‘A[‘,i,’]=’); readln(A[i]);
|
Câu 36
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ị đầu – giá trị cuối + 1
|
C. Giá trị cuối – giá trị đầu + 1
|
D. Giá trị cuối + giá trị đầu + 1
|
Câu 37
Var A: array[1..10] of integer;
Chọn câu lệnh sai trong các câu lệnh sau:
A. A[2]:= 30;
|
B. A[4]:=0;
|
C. A[3]:=-5;
|
D. A[1]:= 2.5;
|
Câu 38
Đ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ị b
|
D. Tính giá trị a
|
Câu 39
Khi chạy chương trình :
Var St : string;
i, L : integer;
Begin
St :='So Buu chinh Vien thong' 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. So Buu chinh Vien Thong
|
B. So Buu Chinh Vien Thong
|
C. so buu chinh vien thong
|
D. SO BUU CHINH VIEN THONG
|
Câu 40
S:= 'ABCDEG ' ;
Delete ( S ,2, 3); thu được kết quả :
A. S=‘AEG’
|
B. S=‘ABG’
|
C. S=‘ADEG’
|
D. S=‘ABEG’
|
Câu 41
thủ tục chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt được viết:
A. Insert(vt,S1,S2);
|
B. Insert(S1,S2,vt);
|
C. Insert(S2,S1,vt);
|
D. Insert(S1,vt,S2);
|
Câu 42
Xâu kí tự là?
A. Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng Anh;
|
B. Tập hợp các chữ cái trong bảng chữ cái tiếng Anh;
|
C. Dãy các kí tự trong bảng mã ASCII;
|
D. Mảng các kí tự;
|
Câu 43
Cho a:=3; b:=5. Câu lệnh IF a>b Then a:=4 Else b:=1; Sau khi thực hiện đoạn chương trình trên đáp án nào đúng?
A. a=4
|
B. b=1
|
C. a=3
|
D. b=5
|
Câu 44
Xâu ‘ABBA’ NHỎ hơn xâu:
A. ‘ABABAB’ ;
|
B. ‘ABA’;
|
C. ‘ABABA’;
|
D. ‘ABC’;
|
Câu 45
Var a, b: array[1..10] of integer;
Tính tổng số phần tử trong đoạn khai báo trên?
Câu 46
Câu lệnh rẽ nhánh IF gồm có mấy dạng?
Câu 47
Tên nào đặt Sai quy định của Pascal:
A. Noi sinh;
|
B. Ngaysinh;
|
C. Giai_Ptrinh_Bac_2;
|
D. Sv2000 ;
|
Câu 48
Cho A = ‘abc’; B = ‘ABC’; Khi đó A + B cho kết quả nào?
A. ‘aAbBcC’;
|
B. ‘abcABC’;
|
C. ‘ABCcbc’;
|
D. ‘AaBbCc’;
|
Câu 49
Cho St là biến xâu, sau khi thực hiện các lệnh:
St:=’TINHOC11’;
Delete(St, 4, 3);
-Kết qủa in lên màn hình là:
A. TINHOC
|
B. TINH1
|
C. HOC11
|
D. TIN11
|
Câu 50
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. Write(‘ Nhập A:’); Readln(A);
|
B. For i:=1 to 4 do Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]);
|
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;
|