Chủ đề:
Kiểu dữ liệu có cấu trúcCâu hỏi:
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:
A. 5 |
B. 10 |
C. 6 |
D. 9 |
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?
A. >=1 |
B. 2 |
C. 1 |
D. >=2 |
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?
A. 2 |
B. 1 |
C. 3 |
D. 4 |
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à
A. 19 |
B. 18 |
C. 20 |
D. 17 |
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 |