NEW
Font size
WorksheetsTin học
Total questions: 77
Worksheet time: 39mins
Độ dài lớn nhất của xâu có bao nhiêu kí tự?
100
127
250
255
Cú pháp nào sau đây dùng để khai báo xâu?
Var<tên biến>:string[độ dài lớn nhất];
Var<tên biến>:string[độ dài nhỏ nhất];
Var<tên biến>:string(độ dài lớn nhất);
Var<tên biến>:string(độ dài nhỏ nhất);
Để ghép một xâu thành nhiều xâu ta sử dụng kí hiệu nào sau đây?
“ ”
-
+
‘ ’
Trong kiểu xâu, hàm Pos(s1, s2) có ý nghĩa gì?
Hàm Pos cho biết vị trí xuất hiện đầu tiên xâu s1 trong xâu s2.
Hàm Pos cho biết vị trí xuất hiện cuối cùng xâu s1 trong xâu s2.
Hàm Pos cho biết vị trí xuất hiện đầu tiên xâu s2 trong xâu s1.
Hàm Pos cho biết vị trí xuất hiện cuối cùng xâu s2 trong xâu s1.
Thủ tục delete nào sau đây là đúng?
Delete(vt, st, n);
Delete(st, vt, n);
Delte(st, vt,n);
Delete(st, vn, n);
Cho xâu S là ‘THPT-NGUYỄN THỊ MINH KHAI’. Kết quả hàm length(S) là?
22
23
24
25
Cho đoạn chương trình:
Begin
S1:= ‘TIN HOC’;
S2:= ‘HOC TAP’;
Delete(S1, 4, 4);
Insert(S2, S1, 2);
Writeln(S1);
End.
Kết quả sau khi chạy chương trình nhận được là?
HTIN HOCOC
TIN HOCHOC TAP
THOC TAPIN
TIHOC TAPN HOC
Cho đoạn chương trình sau:
Begin
S:= ‘Lop hoc’;
Write(Upcase(S[length(S)-2]));
End.
Kết quả nhận được sau khi chạy chương trình là?
LOP H
P HOC
H
OC
Cho đoạn chương trình sau:
Begin
S:=’XYZ’;
Writeln(Pos(‘YZ’, S));
End.
Kết quả nhận được sau khi chạy chương trình là?
1
2
3
4
Cho đoạn chương trình sau:
Begin
S:=’Tin hoc’;
For i:= length(S) downto 1 do St:=St+S[i];
Writeln(St);
End.
Kết quả nhận được sau khi chạy chương trình là?
coh niT
niT coh
hoc Tin
coh inT
Kiểu dữ liệu nào sau đây lưu giữ được kết quả của chương trình khi tắt máy.
kiểu tệp.
kiểu mảng.
kiểu xâu.
kiểu logic.
Phát biểu nào dưới đây về tệp là SAI ?
Tệp có cấu trúc là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định.
Tệp có cấu trúc là tệp mà các thành phần của nó không được tổ chức theo một cấu trúc nhất định.
Tệp văn bản không thuộc loại tệp có cấu trúc.
Tệp văn bản gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng.
2 4 6 8 10
1 3 5 9
1 3 5 7 9
4 6 8 10
Tich 2 so la: 20 0
Tich 2 so la: 200Thuong 2 so la: 50
Thuong 2 so la: 50
Thuong 2 so la: 50Tich 2 so la: 200
12+34
1234
46
12 34
CHAO MUNG BAN DEN VOI PASCAL
CHAO MUNG BAN
CHAO MUNG BAN DEN VOI
CHAO MUNG
Trong NNLT Pascal, cú pháp để khai báo biến tệp văn bản là:
var < tên tệp > : txt;
var < tên biến tệp > : txt;
var < tên tệp > : text;
var < tên biến tệp > : text;
Cú pháp của thủ tục đọc dữ liệu từ tệp văn bản là:
read ( < biến tệp > , < danh sách biến > );
readln ( < biến tệp > , < danh sách biến > );
readln ( < tên tệp > , < danh sách biến > );
Cả đáp án A và B đều đúng
Cú pháp của thủ tục ghi dữ liệu vào tệp văn bản là:
write (< biến tệp > , < danh sách kết quả >);
write (< tên tệp > , < danh sách kết quả >);
writeln (< biến tệp > , < danh sách kết quả >);
Cả đáp án A và C đều đúng
Giả sử trong chương trình có khai báo:
var tepA, tepB: text;
và tệp tepA được mở để đọc dữ liệu, còn tệp tepB dùng để ghi dữ liệu.
Em hãy chọn thủ tục đúng dùng để đọc dữ liệu từ tệp tepA:
read(tepA, A, B, C); hoặc readln(tepA, X, Y);
write(tepB,' A = ', A,' B = ',B,' C = ',C); hoặc writeln(tepB,' A = ', A,' B = ',B,' C = ',C);
Cả đáp án A và B đều sai
Cả đáp án A và B đều đúng
Hàm eof() trả về giá trị TRUE khi nào?
Khi con trỏ tệp đang chỉ tới cuối tệp
Khi con trỏ tệp đang chỉ tới đầu tệp
Khi con trỏ tệp đang chỉ tới cuối dòng
Khi con trỏ tệp đang chỉ tới đầu dòng
Hàm eoln() trả về giá trị TRUE khi nào?
Khi con trỏ tệp đang chỉ tới cuối tệp
Khi con trỏ tệp đang chỉ tới cuối dòng
Khi con trỏ tệp đang chỉ tới đầu tệp
Khi con trỏ tệp đang chỉ tới đầu dòng
For i:=1 to n do
If A[i] = k then d:= d+1;
đếm phần tử k trong mảng A.
đếm số phần tử có trong mảng A
đếm số phần tử lẻ trong mảng A
đếm số phần tử chẵn trong mảng A
For i:=1 to n do
If A[i] mod 2 = 0 then d:=d+1;
đếm số phần tử trong mảng A
đếm số phần tử chẵn trong mảng A
đếm số phần tử lẻ trong mảng A
đếm số phần tử trong xâu A
For i:=1 to n do
If A[i] mod 2 = 1 then d:=d+1;
( hoặc A[i] mod 2<>0 )
đếm phần tử lẻ trong mảng A
đếm phần tử chẵn trong mảng A
đếm phần tử có trong mảng A
đếm phần tử lẻ có trong xâu A
For i:=1 to n do
If A[i] mod 2 = 0 then d:=d+A[i];
Tổng các phần tử chẵn trong mảng A
Tổng các phần tử lẻ trong mảng A
Tổng các phần tử trong mảng A
Tổng các phần tử trong xâu A
Begin
….
Readln(n);
Readln(k);
For i:= 1 to n do
If A[i] mod k = 0 then d:=d+1;
Write(d);
End.
Với n=5, k=2, A 1 2 3 4 5
1
3
2
5
For i:=1 to n do
S:=S+A[i];
Write(S);
Với A 1 3 5 7 9 10
35
19
47
69
Begin
S:= ‘Tin hoc’;
Delete (S,1,3);
Write (Copy(S,1,2));
End.
_h
h
_
n_
S: (‘Minh Khai’);
For i:= length (s) downto 1
Write (S);
9 lần iahK hniM
9 lần Minh Khai
9 lần Khai Minh
8 lần Minh Khai
S: (‘Minh Khai’);
For i:= length (s) downto 1
Write (S[i]);
1 lần Minh Khai
1 lần Minh
1 Lần Khai
1 lần Khai Minh
Begin
A:= ‘Lop hoc’;
Delete (A,5,3);
Write(length(A));
End.
4
5
3
6
Begin
S:= ‘Cham chi’;
S1:= ‘Hoc tap’;
Delete (S,6,3);
Delete (S1,4,4);
Insert (S1,S,5);
Write (upcase (S));
End.
CHAMHOC_
CHAMHOC
CHAM_HOC
CHAMHC
Begin
A:= ‘Hoc tap’;
B:= ‘tap tanh’;
Pos(A,B);
End.
0
2
5
7
Begin
A:= ‘Hoc tap’;
B:= ‘tap tanh’;
Pos(‘tap’,B);
End.
0
1
2
3
Cho S là string và i là biến nguyên. Khi chạy đoạn chương trình :
S := ‘Nguyen Thi Minh Khai’;
for i:=1 to length(s) do if s[i] = ‘ ‘ then write(i);
Kết quả in lên màn hình là :
NguyenThiMinhKhai
‘ ‘
3
71116
Cho S1 và S2 là string. Khi chạy đoạn chương trình :
S1 := ‘hoc sinh’;
S2 := ‘pascal’;
Write(‘hoc sinh ‘);
If length(s1)>length(s2)
then write(s1)
else write(s2);
Kết quả in lên màn hình là :
hoc sinh pascal
hoc sinh hoc sinh
hoc sinh s1
hoc sinh s2
Cho S1 và S2 là string. Khi chạy đoạn chương trình :
S1 := ‘hoc sinh’;
S2 := ‘pascal’;
Write(‘hoc sinh ‘);
If length(s1)<length(s2)
then write(‘s1’)
else write(‘s2’);
Kết quả in lên màn hình là :
hoc sinh pascal
hoc sinh hoc sinh
hoc sinh s1
hoc sinh s2
Cho S là string và i là biến nguyên. Khi chạy đoạn chương trình :
S := ‘Minh Khai’;
for i:=1 to length(s) do if s[i] = ‘ ‘ then write(s);
Kết quả in lên màn hình là :
MinhKhai
‘ ‘
Minh Khai
minh khai
Dự đoán kết quả đoạn chương trình:
Cho đoạn chương trình :
Var i , n : integer;
Begin
n := 1 ;
for i := 7 downto n do write ( i ) ;
readln ;
end.
Kết quả xuất trên màn hình :
1
1234567
7
7654321
Khi chạy chương trình :
Var S, i : Integer;
Begin
i := 3; S:= 40;
if ( i > 5 ) then S:= 5 3 + ( 5 - i ) 2
else
if ( i > 2 ) then S:= 5 * i
else S:= 0;
End.
Giá trị sau cùng của S là :
15
40
0
19
Cho S và i là biến nguyên. Khi chạy đoạn chương trình :
s:=0;
for i:=1 to 10 do s := s+i;
writeln(s);
Kết quả in lên màn hình là :
100
11
101
55
Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình :
S:= 0; i:= 1;
while i<= 6 do
begin
S:= S + i;
i:= i + 2;
end;
Giá trị sau cùng của S là :
11
9
0
6
Trong ngôn ngữ lập trình Pascal, để xoá đi kí tự đầu tiên của xâu kí tự S ta viết:
Delete(S, lenght(S), 1);
Delete(S, i, 1);
Delete(S, 1, i);
Delete(S, 1, 1);
Tệp f có dữ liệu 5 9 15 đọc 3 giá trị trên từ tệp f và ghi các giá trị này vào 3 biến x, y, z ta viết:
Read(x, y, z);
Read(f, x, y, z);
Read(f, ‘x’, ‘y’, ‘z’);
Read(‘x’, ‘y’, ‘z’);
Các phần tử trong mảng một chiều phải:
có giá trị giống hệt nhau
có kiểu dữ liệu giống nhau
là số nguyên
là số thực.
Cho đoạn chương trình:
VAR F: TEXT;
BEGIN
ASSIGN(F,’DATA.TXT’); REWRITE(F);
WRITE(F, '123+456+789'); CLOSE(F);
END.
1368
123+456+789
123 456 789
123456789
Giả sử file dulieu.txt chứa nội dung sau: 1 2 3 4
Sau khi thực hiện chương trình bên dưới, kết quả hiển thị lên màn hình là gì?
var f:text;
x,y,s:integer;
begin
assign(f,'dulieu.txt');
reset(f);
while not eof(f) do
begin
read(f,x,y);
s:=x+y;
writeln(s);
end;
close(f);
end.
10
3
4
7
Lệnh nào đúng:
write (f,'m');
write (x;y);
reset (f,x);
read (f:text,m);
Cho đoạn chương trình:
var s1,s2:string;
begin
s1:='abc'; s2:='def'; insert(s1,s2,3); write(s2);
end.
Kết quả sau khi chạy đoạn chương trình trên là:
deabcf
abcdef
def
defabc
Cho mảng A gồm N = 4 phần tử: 7 8 4 6 và đoạn chương trình:
j:= 1;
For i := 2 to N do
If A[i] > A[ j ] then j := i;
Write('Chi so: ', j , ' Gia tri: ' , A[ j ]);
Sau khi thực hiện đoạn chương trình kết quả là:
Chi so: 2 Gia tri: 8
Chi so: 2 Gia tri: 4
Chi so: 1 Gia tri: 7
Chi so: 3 Gia tri: 4
Biểu thức nào có giá trị TRUE:
'AB' = 'BA'
'AB' > 'BA'
'May tinh' < 'May tinh cua toi'
'aB' = 'Ab'
Để đọc dữ liệu từ tệp văn bản, ta có thể sử dụng thủ tục:
write(<tên tệp>, <danh sách biến>);
read(<tên tệp>, <danh sách biến>);
read(<tên biến tệp>, <danh sách biến>);
write(<tên biến tệp>, <danh sách biến>);
Cho đoạn chương trình:
Var s1, s2: String;
i: Integer;
Begin
s1:='12345';
For i:= Length(s1) downto 1 do
If (i mod 2=1) then s2:='i';
Write(s2);
End.
i
iii
5
531
Cho đoạn chương trình:
Var f : text;
Begin
Assign(f, ‘BT1.TXT ’) ;
Rewrite(f) ;
Write(f, 123 + 456) ;
Close(f) ;
End .
Chương trình trên sẽ ghi kết quả nào trong các kết quả cho dưới đây vào file BT1.TXT ?
123 + 456
123 456
579
123456
Giả sử xâu A có giá trị ‘Tin hoc’, thực hiện lệnh write(upcase(a[5]) + copy(a, 6, 2)); thì kết quả sẽ là:
Hoc
hoc
TIN HOC
Báo lỗi
Cho đoạn chương trình:
var s: string[1];
c: char;
begin
c:='a';
s:=upcase(C);
write(s);
readln
end.
Kết quả CT trên?
Báo lỗi
A
a
S
Cho biết kết quả của đoạn chương trình:
n:=5; t:=0;
For i:=n downto 1 do
if (i mod 3 = 0) then
t:=t+i;
write(t);
15
3
5
10
Cho st1=’Chu Van An’ và st2:=copy(st1,pos(‘V’,st1),4), kết quả xâu st2 là:
xt2=‘ Van ’
st2= ‘Van ’
st2= ‘Van A’
st2= ‘Chu Van’
Kết quả của biểu thức 'A1BC' > 'A2BC' bằng bao nhiêu?
True
False
1
2
Cho đoạn chương trình:
Var f:text; i:integer;
Begin
For i:=1 to 10 do
Begin
Assign(f,'dl.txt');
If (i mod 2=0) Then Rewrite(f);
End;
close(f);
End.
Cho biết có bao nhiêu file được tạo ra?
Đáp án khác
10
5
1
Giả sử st:= 'Tin hoc'; hàm Pos('m',st); có kết quả là:
2
1
3
0
Đoạn chương trình sau thực hiện công việc nào trong các việc sau:
b:= ' '; { xâu rỗng}
for i:=1 to length(A) do
if a[ i ] <> ' ' {dấu cách} then b:=b+a[ i ];
write('ket qua' , B.;
xóa dấu cách đầu tiên trong xâu
xóa dấu cách cuối cùng của xâu
tạo mảng b chứa các dấu cách của xâu a
xóa mọi dấu cách trong xâu
Cho đoạn chương trình:
var s:string; k:byte;
begin
s:='a bcd ef';
k:=pos(' ',s);
while k<>0 do
begin
delete(s,k,2);
k:=pos(' ',s);
end;
write(s);
end.
Cho biết kết quả của chương trình trên?
acdef
Chương trình báo lỗi
acdf
abcdef
Giả sử st:= 'Tin hoc'; hàm copy(st,5,3); có kết quả là:
hoc
n hoc
Tin h
Tin
Giả sử xâu s1 có giá trị ‘minh khai’, xâu s2 có giá trị ‘school’, thực hiện lệnh insert(s2, s1, 0); thì kết quả sẽ là:
school minh khai
schoolminh khai
Không làm gì cả
minh khai school
Cho biết kết quả xuất ra màn hình
Var S1, S2: String[4];
i, k: Integer;
Begin
s1:='123456'; S2:='';{xâu rỗng}
For i:= Length(s1)-1 downto 2 do S2:= S1[i] + S2;
Write(S2);
End.
3456
32
23
6543
Cho khai báo sau:
var c:char; s:string;
Câu lệnh gán nào sau đây là không hợp lệ?
s:='';
c:=H;
c:=' ';
s:=c;
Cho đoạn chương trình:
s:='ABCD'; Delete(s,3,2); Insert('CD',s,1);
Sau khi thực hiện đoạn chương trình trên, giá trị của biến s là:
'CDABCD'
'AB'
'ABCD'
'CDAB'
Cho chương trình sau:
Program CT7;
var X, a, b, c : integer;
f : text;
begin
assign (f, 'Tep1.TXT');
reset (f);
read (f, b, c, a);
X := 2*a - (b+c);
writeln (X);
close(f);
end.
Giả sử tệp Tep1.TXT chứa các số nguyên là : 1 3 4 7
Hãy cho biết kết quả chương trình trên.
4
5
-5
7
Để tìm vị trí đầu tiên xuất hiện xâu 'lop' trong xâu A ta viết:
K:=pos(A,'lop');
K:=pos('lop','lop');
K:=pos('lop',A);
B:= 'lop'; K:=pos(A,B);
Để tham chiếu tới các phần tử của xâu ta dùng:
Tên biến xâu
Tên biến xâu và chỉ số đặt trong cặp ngoặc [ và ]
Tên biến xâu và chỉ số đặt trong cặp ngoặc ( và )
Tên biến xâu và chỉ số đặt trong cặp ngoặc { và }
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 quả in lên màn hình là:
AXYZBEF
ABXYZEF
AXYZBCDEF
ABXYZCF
Sau khi thực hiện đoạn chương trình sau, giá trị của biến found có ý nghĩa gì ? (S là biến xâu)
Found :=0; x:=Length(S);
For i:=1 to x div 2 do
If S[i] <> S[x-i+1] then found:=1;
found = 1 thì S là xâu đối xứng
found =0 thì S là xâu không đối xứng
found = 0 thì S là xâu đối xứng
Giá trị biến found không có ý nghĩa gì
Khai báo nào sau đây là SAI?
var S: string[1];
var S: string;
var S: string[100];
var string[256];
Hàm nào trả về một trị số:
length, copy
copy, upcase
upcase, pos
pos, length
Cho biết kết quả S2
Var S1, S2: String;
i, j: Integer;
Begin
S1:='abababc';
For i:=1 to Length(S1) do
If(S1[i]='a') Then S2:=S2+S1[i];
End.
Báo lỗi
Đáp án khác
aaa
iii
