Worksheetsôn tập giữa kỳ II Tin 11-Lớp 11B1
Total questions: 60
Worksheet time: 40mins
Cho đoạn lệnh sau:
S:=0;
for i:= 1 to N do S:=S+1;
Nếu N= 5 thì S=?
S= 6
S= 5
S= 10
S= 12
Trong Pascal, câu lệnh nào sau đây được viết đúng?
for i := 10 to 1 do writeln(‘A’);
for i= 1 to 10 writeln(‘A’);
for i := 1 to 10 do writeln(‘A’);
for i to 10 do writeln(‘A’);
Trong Pascal, câu lệnh lặp for – do có 2 dạng là
dạng tiến và dạng lùi
dạng tới và dạng về
dạng đến và dạng đi
dạng trước và dạng sau
Trong Pascal, câu lệnh lặp for – do dạng tiến vẫn còn được thực hiện khi
biến đếm còn nhỏ hơn giá trị đầu
biến đếm còn nhỏ hơn giá trị cuối
giá trị đầu còn lớn hơn giá trị cuối
giá trị đầu còn nhỏ hơn giá trị cuối
Vòng lặp While – do kết thúc khi nào?
A. Khi một điều kiện cho trước được thỏa mãn
Khi đủ số vòng lặp
Khi tìm được Output
Tất cả các phương án.
Trong vòng lặp While – do, câu lệnh được thực hiện khi:
Điều kiện sai
Điều kiện còn đúng
Điều kiện không xác định
Không cần điều kiện
Cấu trúc lặp với số lần chưa biết trước:
while <điều kiện> do <câu lệnh>;
for <điều kiện> do <câu lệnh>;
while <câu lệnh> do <điều kiện>;
while not <điều kiện> do <câu lệnh>
Hãy chọn phương án ĐÚNG ở dạng lặp tiến For – do?
Giá trị đầu phải nhỏ hơn giá trị cuối
Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
Giá trị đầu phải lớn hơn giá trị cuối
Giá trị đầu phải bằng giá trị cuối
Cú pháp lệnh lặp For – do dạng tiến:
for <biến đếm> = <Giá trị cuối> downto <Giá trị đầu> do <câu lệnh>;
for <biến đếm> := <Giá trị cuối> downto <Giá trị đầu> do <câu lệnh>;
for <biến đếm> = <Giá trị cuối> down <Giá trị đầu> do <câu lệnh>;
for <biến đếm> := <Giá trị đầu> to <Giá trị cuối> do <câu lệnh>;
Đoạn chương trình sau thực hiện công việc gì?
While M < > N do
If M > N then M:=M - N else N:=N - M;
Tìm ước số chung lớn nhất của M và N
Tìm bội số chung nhỏ nhất của M và N
Tìm hiệu nhỏ nhất của M và N
Tìm hiệu lớn nhất của M và N
Đoạn chương trình sau thực hiện công việc?
For i:=1 to M do
If (i mod 5 = 0) and (i mod 3 = 0) then t:= t + i;
Tổng các số chia hết cho 5 hoặc 3 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 5 và 3 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Cho đoạn chương trình:
S:= 0; n:= 1;
while … do
Begin
S:= S + n; n:= n + 1;
end;
Tính tổng S = 1 + 2 + 3 + … + 100, điều kiện nào sau đây cần điền vào chỗ ba chấm giữa câu lệnh while … do?
n >= 100
n < 100
n = 100
n <= 100
Đoạn chương trình sau thực hiện công việc?
For i:=1 to M do
If (i mod 5 = 0) and (i mod 3 = 0) then t:= t + i;
Tổng các số chia hết cho 5 hoặc 3 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 5 và 3 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Khai báo nào sau đây là đúng cú pháp
Type mang1c = array [1..100] of byte;
Type 1mang = array [1..100] of byte;
Type mang1c = array [1-100] of byte;
Type mang1c = array (1..100) of byte;
Câu lệnh sau làm gi?
For i:=1 to 10 do readln(A[i]);
Nhập 10 phần tử đầu tiên của mảng A
In ra mảng A
Tính tổng các phần tử của mảng A
Đếm số phần tử của mảng A
Tham chiếu đến phần tử thứ i của mảng A được biểu diễn:
A[i]
Ai
A{i}
A(i)
Chọn câu lệnh nhập giá trị cho 5 phần tử đầu tiên của mảng A đúng:
For i:=1 to 5 do readln(A[i]);
For i:=1 downto 5 do readln(A[i]);
For i:=1 to 5 do writeln(A[i]);
For i:=1 downto 5 do writeln(A[i]);
Để khai báo mảng tên A gồm 150 phần tử, các phần tử kiểu nguyên có giá trị không vượt quá 500, ta khai báo:
Var A : Array[1..150] Of Integer;
Var A : Array[1...150] Of Byte;
Var A : Array[1…150] Of Byte;
Var A : Array[1...150] Of Integer;
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện việc nào trong các việc sau (A là mảng số có N phần tử)?
S:=0;
For i:=1 to n do S:= S + A[i];
Tính tổng các phần tử của mảng A
Đếm số phần tử của mảng A.
In ra màn hình mảng A.
Tính tích các phần tử của mảng A.
Số phần tử của mảng là:
Vô hạn.
Có giới hạn.
Có n phần tử.
Có 1000 phần tử.
Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?
Là một tập hợp các số nguyên
Độ dài tối đa của mảng là 255
Là một dãy hữu hạn các phần tử cùng kiểu
Mảng không thể chứa kí tự
Phương án nào dưới đây là khai báo mảng hợp lệ?
Var mang : ARRAY[0..10] OF INTEGER;
Var mang : ARRAY[0..10] : INTEGER;
Var mang : INTEGER OF ARRAY[0..10];
Var mang : ARRAY(0..10) : INTEGER;
Giả sử đã khai báo biến mảng và các biến khác, đoạn chương trình dưới đây làm gì?
For i:=1 to n do
Begin
Write(‘a[‘,i,’]=’);
Readln(a[i]);
End;
Đếm số phần tử của mảng A.
Viết ra giá trị A[i].
Nhập giá trị cho các phần tử của mảng A.
Hiển thị các phần tử của mảng A.
Xâu kí tự có độ dài bằng 0 gọi là:
Không tồn tại
Xâu rỗng
Chứa kí tự 0
Xâu ngắn
Để khai báo biến xâu ta sử dụng tên dành riêng:
Array
String
Type
Const
Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Viet Nam’,S) là:
9
11
10
12
Cho s = ‘abc123456’ hàm Copy(s,2,4) cho giá trị bằng:
12
23
bc12
c123
Cho S1:='Bien dao que huong';
S2:= upcase(S1[10]);
S2 có giá trị là:
'Q'
'Bien Dao Que Huong'
'Que'
‘Bien’
Câu lệnh nào xóa kí tự cuối cùng của xâu a?
delete(a, length(a), 1);
delete(a, 1, 255);
delete(a, 255, 1);
delete(a, 1, length(a));
Cho 2 xâu A, B. Hãy cho biết câu lệnh sau thực hiện công việc gì:
If A[1] = B[length(B)] then writeln(‘Giong nhau’)
else writeln(‘Khac nhau’);
Xuất ra kết quả so sánh kí tự đầu tiên của xâu A và kí tự cuối cùng của xâu B.
Xuất ra kết quả so sánh của xâu A và xâu B.
Xuất ra kết quả so sánh chiều dài của xâu A và chiều dài của xâu B.
Xuất ra kết quả so sánh kí tự đầu tiên của xâu B và kí tự cuối cùng của xâu A.
Cho s := ‘500 ki tu’
hàm Length(s) cho giá trị bằng:
9
‘5’
500
‘500’
Cho sâu s1 = ‘123’; s2 = ‘abc’ sau khi thực hiện thủ tục Insert(s1,s2,2) thì:
s1 = ‘123’; s2 = ‘a123bc’
s1 = ‘123’; s2 = ‘12abc’
s1 = ‘1abc23’; s2 = ‘abc’
s1 = ‘ab123; s2 = ‘abc’
Cho khai báo sau:
Var hoten : string;
Phát biểu nào dưới đây là đúng?
Xâu có độ dài lớn nhất là 255;
Xâu có độ dài lớn nhất là 0;
Cần phải khai báo kích thước của xâu sau đó;
Câu lệnh sai vì thiếu độ dài tối đa của xâu;
Cho s1 = ‘010’; s2 = ‘1001010’ hàm pos(s1,s2) cho giá trị bằng:
2
3
4
5
Để khai báo kiểu xâu trực tiếp ta sử dụng cú pháp nào?
Var <tên biến> : <tên kiểu> ;
Var <tên biến> : String[độ dài của lớn nhất của xâu] ;
Var <tên biến> = <tên kiểu>;
Var <tên biến> = String[độ dài lớn nhất của xâu];
Trong các khai báo sau, khai báo nào đúng?
Var hoten : string[27];
Var diachi : string(100);
Var ten = string[30];
Var ho = string(30);
Trong các phát biểu sau, phát biểu nào sai?
Xâu A lớn hơn xâu B nếu độ dài xâu A lớn hơn độ dài xâu B;
Xâu A lớn hơn xâu B nếu kí tự dầu tiên khác nhau giữa chúng kể tử trái sang trong xâu A có mã ASCII lớn hơn;
Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B;
Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn;
Trong ngôn ngữ lập trình Pascal, để 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 bằng cách nào trong các cách sau?:
i:=pos(s,’hoa’);
i:=pos(‘hoa’,’hoa’);
i:=pos(‘hoa’,s);
s1:=’hoa’ ; i:=pos(s1,’hoa’);
Trong các phép toán sau, phép nào trả về giá trị TRUE (đúng)?
‘abc’=’ABC’
‘ccb’<’abcdef’
‘cba’<’abc’
‘abcdh’>’abcdef’
s=" May tinh"; t= "may tinh".
s>t
s<t
s==t
Tất cả đều sai
Xâu ‘ABBA’ lớn hơn xâu:
‘ABC’;
‘ABABA’;
‘ABCBA’;
‘BABA’;
Cho S là biến xâu, kết quả sau khi thực hiện các lệnh:
S:='ABCDEF';
DELETE(S,3,2);
INSERT('XYZ',S,2);
(a)
Cho xâu s := ‘123456789’, sau khi thực hiện thủ tục delete(s,3,4) thì biến S chứa giá trị nào sau đây:
‘12789’
‘1256789’
‘123789’
Xâu rỗng
Trong xâu, câu lệnh sau làm gì?
For i:=1 to length(a) do write(a[i]);
Xuất xâu a theo thứ tự đã nhập
Xuất ra kí tự đầu của xâu a
Xuất xâu a theo thứ tự ngược
Xuất ra kí tự cuối của xâu a
Để xóa đi kí tự đầu tiên của xâu S ta viết:
Delete (S, 1, 1);
Delete (S, 1, i);
Delete (S, Length(S), 1);
Delete (S, i, 1);
Để khai báo kiểu xâu trực tiếp ta sử dụng cú pháp nào?
Var <tên biến> : String[độ dài lớn nhất của xâu];
Var <tên biến> = <tên kiểu>;
Var <tên biến> = String[độ dài lớn nhất của xâu];
Var <tên biến> : <tên kiểu>;
Trong Pascal, xâu là:
dãy các ký tự trong bộ mã ASCII;
dãy 128 ký tự trong bộ mã ASCII;
dãy 24 ký tự trong bộ mã ASCII;
mảng 1 chiều A có 24 Ký tự;
Trong Pascal, cho khai báo sau Var s:String; có nghĩa là:
Khai báo xâu s không đúng;
Khai báo xâu s có độ dài lớn nhất là 0 ký tự;
Khai báo xâu s có độ dài lớn nhất là 128 ký tự;
Khai báo xâu s có độ dài lớn nhất là 255 ký tự;
Cho biết kết quả của phép toán sau: ‘BT’ + ‘Tin hoc’ + ‘ 11’?
(a)
Cho biết độ dài lớn nhất của xâu trong khai báo sau:
Var hoten:string[28];
(a)
Trong ngôn ngữ lập trình Pascal, xâu kí tự không có ký tự nào gọi là:
Xâu rổng.
Xâu không
Xâu trắng.
Không phải là xâu kí tự.
Trong ngôn ngữ lập trình Pascal, phần tử đầu tiên của xâu kí tự thường chỉ số bắt đầu là:
0
Do người lập trình khai báo.
Không có chỉ số.
1
Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là đúng:
S: file of char;
S: string(200);
S: string;
S: file of string;
Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là sai:
S: string[525];
S: string[1];
x1: string[255];
S: string;
Sau khi thực hiện đoạn chương trình sau, kết quả của S là:
S:= ‘Mua thu Ha Noi’;
Delete(s,8,8);
Insert(Mua thu,s,1);
Ha Noi
Mua thu Ha Noi
Ha Noi Mua thu
Mua thu Mua thu
Cho s = ‘abc123456’ hàm Copy(s,2,4) cho giá trị bằng:
12
23
bc12
c123
Để xóa đi kí tự đầu tiên của xâu S ta viết:
Delete (S, 1, 1);
Delete (S, 1, i);
Delete (S, Length(S), 1);
Delete (S, i, 1);
Trong Pascal, xâu là:
dãy các ký tự trong bộ mã ASCII;
dãy 128 ký tự trong bộ mã ASCII;
dãy 24 ký tự trong bộ mã ASCII;
mảng 1 chiều A có 24 Ký tự;
Cho biết độ dài lớn nhất của xâu trong khai báo sau:
Var hoten:string[28];
(a)
Câu lệnh sau thực hiện công việc gì?
If (ch>=’a’) and (ch<=’z’) then ch:=upcase(ch);
Không thực hiện gì
Chuyển ch thành chữ hoa nếu ch là chữ thường
Xóa ký tự trong biến ch nếu ch là ký tự chữ cái
Gán ký tự thường cho biến ch nếu ch là chữ thường
