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);
A. 0 |
B. 7 |
C. 5 |
D. 2 |
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à :
A. 0 |
B. 4 |
C. 12 |
D. 3 |
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:
A. 3; |
B. 4; |
C. 5; |
D. 0; |
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);
A. 11 |
B. 1 |
C. 10 |
D. 0 |
Câu 28
phần mở rộng của tập tin Pascal chứa tối đa bao nhiêu kí tự?
A. 16 |
B. 8 |
C. 32 |
D. 64 |
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?
A. 40 |
B. 10 |
C. 30 |
D. 20 |
Câu 46
Câu lệnh rẽ nhánh IF gồm có mấy dạng?
A. 4 |
B. 2 |
C. 1 |
D. 3 |
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; |