WorksheetsON TAP HK2 KHOI 11
Total questions: 145
Worksheet time: 2hrs 25mins
Để khai báo hàm trong Pascal bắt đầu bằng từ khóa
PROGRAM
PROCEDURE
FUNCTION
VAR
Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa
PROCEDURE
PROGRAM
FUNCTION
TYPE
Tham số sử dụng trong lời gọi thủ tục hoặc hàm gọi là gì?
Phần đầu
Biến toàn cục
Tham số hình thức
Tham số thực sự
Biến toàn cục là:
Biến khai báo trong chương trình con
Biến khai báo trong chương trình chính nhưng chỉ dùng cho chương trình con
Biến tự do không cần khai báo
Biến khai báo trong chương trình chính
Khẳng định nào sau đây là đúng?
Cả thủ tục và hàm đều có thể có tham số hình thức
Chỉ có thủ tục mới có thể có tham số hình thức
Chỉ có hàm mới có thể có tham số hình thức
Thủ tục và hàm nào cũng phải có tham số hình thức
Dòng đầu của thủ tục có dạng nào trong các dạng sau:
PROCEDURE <Tên thủ tục> [(<Danh sách tham số>)] : <Kiểu dữ liệu>;
PROGRAM <Tên thủ tục> [(<Danh sách tham số>)];
FUNCTION <Tên hàm> [(<Danh sách tham số>)] : <Kiểu dữ liệu>;
PROCEDURE <Tên thủ tục> [(<Danh sách tham số>)];
Kiểu dữ liệu của chương trình con
Chỉ có thể là kiểu integer
Chỉ có thể là kiểu real
Có thể là các kiểu integer, real, char, boolean, string
Có thể là integer, real, char, boolean, string, record, kiểu mảng
Khẳng định nào sau đây là ĐÚNG?
Một chương trình con nhất thiết phải có tham số hình thức.
Một chương trình con nhất thiết phải có biến cục bộ.
Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ.
Một chương trình con có thể không có tham số hình thức và cũng có thể không có biến cục bộ.
Hàm và thủ tục khác nhau ở chổ
Hàm trả về giá trị
Thủ tục trả về giá trị
Hàm trả về giá trị qua tên của nó
Thủ tục trả về giá trị qua tên của nó
Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
Phần đầu có thể có hoặc không có cũng được.
Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.
Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.
Phần đầu nhất thiết phải có để khai báo tên chương trình con.
Có mấy lợi ích khi dùng chương trình con (CTC)?
2
3
4
5
Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
Phần đầu có thể có hoặc không có cũng được.
Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.
Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.
Phần đầu nhất thiết phải có để khai báo tên chương trình con.
Hãy chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi
A_ Kiểu của các tham số
Kiểu giá trị trả về
A_ Tên hàm
A_ Địa chỉ mà hàm trả về
Khẳng định nào sau đây là đúng?
Một chương trình con nhất thiết phải có tham số hình thức.
Một chương trình con nhất thiết phải có biến cục bộ.
Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ.
Một chương trình con có thể không có tham số hình thức và cũng có thể không có biến cục bộ.
Khai báo phần đầu một hàm là:
Function <tên hàm> [(<DS các tham số>)] : <kiểu DL>;
Procedure <tên hàm> [(<DS các tham số>)] : <kiểu DL>;
Function <tên hàm> [(<danh sách các tham số>)] ;
Function <tên hàm> ;
CTC thủ tục: Procedure Hoandoi(var y:Byte; x:Byte); Với a:=5; b:=7; Lệnh Hoandoi(a,b); cho giá trị mới của a và b là?
a=7, b=7;
a=5, b=5.
a=7, b=5;
a=5, b=7;
Khẳng định nào sau đây là đúng?
Các biến được khai báo cho dữ liệu vào/ra được gọi là tham số thực sự của chương trình con.
Biến cục bộ là biến được khai báo ở trong chương trình chính.
Trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra được gọi là các tham số giá trị.
Trong lệnh gọi thủ tục, các tham số hình thức được thay bằng các tham số thực sự tương ứng là các giá trị cụ thể được gọi là các tham số giá trị.
Khẳng định nào sau đây là đúng?
Các thủ tục (nếu có) được khai báo bất kỳ trong chương trình chính.
Các thủ tục (nếu có) phải được khai báo và mô tả ngay sau phần khai báo biến và trước Begin của CT chính.
Các thủ tục (nếu có) phải được khai báo sau Begin của chương trình chính.
Các thủ tục (nếu có) phải được khai báo ngay từ đầu của chương trình chính.
Các biến được khai báo cho dữ liệu vào/ra được gọi là?
Tham số hình thức.
Tham số thực sự.
Biến cục bộ.
Biến toàn cục.
Trong lời gọi của thủ tục các tham số hình thức được thay bằng các giá trị cụ thể (hằng hoặc biến) gọi là:
Tham số hình thức.
Tham số thực sự.
Biến cục bộ.
Biến toàn cục.
Cho khai báo sau :
Var a :array[0..16] of integer ;
Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ?
For k:=1 to 16 do write(a[k]);
For k:=16 downto 0 do write(a[k]);
For k:=16 downto 0 write(a[k]);
For k:= 0 to 15 do write(a[k]);
S1 = ‘tin hoc cho moi nguoi’
Pos(‘o’,S1) cho kết quả là?
5
6
7
8
Đoạn chương trình sau in ra kết quả nào ?
Program Welcome ;
Var a : string[10];
Begin
a := ‘tinhoc’;
writeln(length(a));
End.
5
6
Lỗi
8
Khai báo phần đầu một hàm là:
Function <tên hàm> [(<danh sách các tham số>)] ;
Function <tên hàm> ;
Procedure <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;
Function <tên hàm> [(<danh sách các tham số>)] : <kiểu dữ liệu>;
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau (kiểu xâu) thực hiện công việc gì ?
S1 := ‘ ‘ ;
For i :=1 to length(S) do
S1 :=S1 + upcase(S[i]);
Tạo xâu S1 là chữ in hoa từ xâu S
Tạo xâu S1 là chữ thường từ xâu S
Tạo xâu S1 từ xâu S
Tạo xâu S1 là các kí tự chữ số
Các biến dùng chung cho toàn bộ chương trình được gọi là?
Tham số thực sự.
Biến cục bộ.
Tham số hình thức
Biến toàn cục.
Khẳng định nào sau đây là đúng?
Các thủ tục (nếu có) phải được khai báo ngay từ đầu của chương trình chính.
Các thủ tục (nếu có) phải được khai báo sau Begin của chương trình chính.
Các thủ tục (nếu có) được khai báo bất kỳ trong chương trình chính.
Các thủ tục (nếu có) phải được khai báo và mô tả ngay sau phần khai báo biến và trước Begin của chương trình chính.
Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Length(S) là
12
14
13
15
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]) ;
In xâu ra màn hình;
In từng kí tự xâu ra màn hình;
In từng kí tự ra màn hình theo thứ tự ngược;
In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên;
Trong ngôn ngữ lập trình Pascal, đoạn chương trình (mảng một chiều) sau thực hiện công việc gì ?
S := 0 ;
For i := 1 to n do
If (a[i] mod 3 =0) or (a[i] mod 5 = 0) then S :=S+a[i] ;
Tính tổng các phần tử trong mảng chia hết cho 3 hoặc chia hết cho 5
Tính tổng các phần tử chia hết cho 5
Tính tổng các phần tử trong mảng
Tính tổng các phần tử chia hết cho 3
Cho khai báo mảng và đoạn chương trình như sau :
Var a : array[0..50] of real ;
k := 0 ;
for i := 1 to 50 do
if a[i] > a[k] then k := i ;
Đoạn chương trình trên thực hiện công việc gì dưới đây ?
Tìm chỉ số của phần tử nhỏ nhất trong mảng;
Tìm phần tử nhỏ nhất trong mảng;
Tìm chỉ số của phần tử lớn nhất trong mảng;
Tìm phần tử lớn nhất trong mảng;
Khai báo phần đầu một thủ tục là:
Procedure [(<danh sách các tham số>)] : <kiểu dữ liệu>
Procedure <tên thủ tục>: <kiểu dữ liệu>;
Procedure <tên thủ tục> [(<danh sách các tham số>)] : <kiểu dữ liệu>;
Procedure <tên thủ tục> [(<danh sách các tham số>)];
Mảng A dưới đây chứa bao nhiêu phần tử ?
Const Rows=3 ;
Var A:array[0..rows+1] of integer ;
5
4
3
6
Cho x, y là hai biến nguyên và khai báo thủ tục :
Procedure Doicho( Var a:Integer; b:Integer);
Var z : Integer;
Begin
z:=a; a:=b; b:=z;
End;
Sau khi thực hiện các lệnh:
x:=7; y:=3;
Doicho(x, y);
thì giá trị của x, y là:
x=7, y=7
x=3, y=7
x=3, y=3
x=7, y=3
Cho x, y là hai biến nguyên và khai báo thủ tục :
Procedure Doicho( Var a,b:Integer);
Var z : Integer;
Begin
z:=a; a:=b; b:=z;
End;
Sau khi thực hiện các lệnh:
x:=7; y:=3;
Doicho(x, y);
thì giá trị của x, y là:
x=7, y=7
x=3, y=3
x=3, y=7
x=7, y=3
Trong mảng một chiều, đoạn chương trình sau thực hiện công việc gì ?
Dem := 0 ;
For i := 1 to n do
If a[i] mod 2 = 0 then
Dem := Dem + 1 ;
Đếm các phần tử chia hết cho 2 trong mảng
Gán giá trị a[i] cho biến S
Tính tổng các phần tử chia hết cho 2 trong mảng
Tính tổng các phần tử trong mảng
Đoạn chương trình sau đưa ra màn hình kết quả nào:
for i:= 1 to 10 do write(i);
1 2 3 4 5 6 7 8 9 10
Đưa ra 10 dấu cách
10 9 8 7 6 5 4 3 2 1
Không đưa ra gì cả
S1 ‘abcd’
S2= ‘ghk’
Insert(S1,S2,1) cho kết quả là ?
‘abcdghk’
‘ghkabcd’
‘gabcdgha’
‘aghkbcd’
Các biến được khai báo cho dữ liệu vào/ra được gọi là?
Biến cục bộ.
Tham số thực sự.
Biến toàn cục
Tham số hình thức.
Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện
sao chép vào cuối S1 một phần của S2 từ vị trí vt ;
chèn xâu S1 vào S2 bắt đầu từ vị trí vt ;
chèn xâu S2 vào S1 bắt đầu từ vị trí vt ;
nối xâu S2 vào S1;
Dữ liệu kiểu tệp
Được lưu trữ trên ROM
Được lưu trữ trên RAM
Chỉ được lưu trữ trên đĩa cững
Được lưu trữ trên bộ nhớ ngoài
Dữ liệu kiểu tệp
sẽ bị mất hết khi tắt máy
sẽ bị mất hết khi tắt điện đột ngột
không bị mất khi tắt máy hoặc mất điện
Tất cả các đáp án đều sai
Cách thức truy cập vào tệp văn bản là
Truy cập tuần tự
Truy cập ngẫu nhiên
Truy cập trực tiếp
vừa truy cập tuần tự, vừa truy cập trực tiếp
Số lượng phần tử trong tệp
không được lớn hơn 128
không được lớn hơn 255
phải được khai báo trước
không bị giới hạn mà chỉ phụ thuộc vào dung lượng ổ đĩa
Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp
Var <tên tệp> : Text;
Var <tên biến tệp> : Text;
Var <tên tệp> : String;
Var <tên biến tệp> : String;
Trong Pascal để khai báo hai biến tệp văn bản f1, f2 ta viết
Var f1 f2 : Text;
Var f1; f2 : Text;
Var f1, f2 : Text;
Var f1: f2 : Text;
Để thao tác với tệp
ta có thể gán tên tệp cho tên biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được
ta nhất thiết phải gán tên tệp cho tên biến tệp
ta nên sử dụng trực tiếp tên tệp trong chương trình
ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình
Để gắn tên tệp cho tên biến tệp ta sử dụng câu lệnh
<tên biến tệp> := <Tên tệp>;
<tên tệp> := <Tên biến tệp>;
assign(<biến tệp>, <Tên tệp>);
assign(<tên tệp>, <Tên biến tệp>);
Để gắn tên tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh
f1 := 'KQ.TXT';
KQ.TXT := f1;
assign('KQ.TXT' , f1);
assign(f1 , 'KQ.TXT' );
Trong pascal mở tệp để đọc ta sử dụng thủ tục
reset (<tên tệp>);
reset (<biến tệp>);
rewrite(<tên tệp>);
rewrite(<tên biến tệp>);
Trong Pascal mở tệp để ghi kết quả ta sử dụng
rewrite(<tên tệp>);
rewrite(< biến tệp>);
reset(<tên tệp>);
reset(<tên biến tệp>);
Vị trí của con trỏ sau lời gọi thủ tục Reset
nằm ở đầu tệp
nằm ở cuối tệp
nằm ở giữa tệp
nằm ngẫu nhiên ở bất cứ vị trí nào
Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục
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 tệp>, <danh sách biến>);
write(<tên biến tệp>, <danh sách biến>);
Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục
Read(<tên tệp>, <danh sách kết quả>);
Read(<tên biến tệp>, <danh sách kết quả>);
Write(<tên tệp>, <danh sách kết quả>);
Write(<tên biến tệp>, <danh sách kết quả>);
Nếu hàm EOF (<tên biến tệp>) cho giá trị bằng TRUE thì con trỏ tệp nằm ở vị trí
đầu dòng
đầu tệp
cuối dòng
cuối tệp
Nếu hàm EOLN (<tên biến tệp>) cho giá trị bằng TRUE thì con trỏ tệp nằm ở vị trí
đầu dòng
đầu tệp
cuối dòng
cuối tệp
Trong pascal để đóng tệp ta dùng thủ tục
Close(<tên biến tệp>);
Close(<tên tệp>);
Stop(<tên biến tệp>);
Stop(<tên tệp>);
Dữ liệu kiểu tệp được lưu trữ lâu dài ở (a)
Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào (a)
Để thao tác với tệp, trước hết ta phải gán tên tệp cho (a)
Khẳng định nào sau đây là đúng ?
Cả thủ tục và hàm đều có thể có tham số hình thức
Chỉ có thủ tục mới có thể có tham số hình thức
Chỉ có hàm mới có thể có tham số hình thức
Thủ tục và hàm nào cũng phải có tham số hình thức
Biến cục bộ là gì?
Biến được khai báo trong CTC nhưng được sử dụng trong chương trình chính.
Biến được khai báo trong chương trình chính nhưng chỉ được sử dụng cho CTC.
Biến được khai báo trong chương tŕnh con
Biến tự do không cần khai báo
Tham số hình thức của chương trình con là:
Tham số thể hiện trong lệnh gọi CTC
Tham số thể hiện khi khai báo CTC
Tham số hình thức là tham số cục bộ
Tham số hình thức là tham số toàn bộ
Hàm và thủ tục khác nhau ở chổ
Hàm trả về giá trị
Thủ tục trả về giá trị
Hàm trả về giá trị qua tên của nó
Thủ tục trả về giá trị qua tên của nó
Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
Phần đầu có thể có hoặc không có cũng được.
Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.
Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.
Phần đầu nhất thiết phải có để khai báo tên chương trình con.
Các biến dùng chung cho toàn bộ chương trình được gọi là?
Tham số thực sự.
Biến cục bộ.
Tham số h́nh thức.
Biến toàn bộ.
Chương trình con có bao nhiêu loại?
1
2
3
4
Khẳng định nào sau đây là đúng khi nói về chương trình con (CTC)?
Các CTC phải được khai báo ngay từ đầu của chương trình chính.
Các CTC phải được khai báo sau Begin của chương trình chính.
Các CTC được khai báo bất kỳ trong chương trình chính.
Các CTC phải được khai báo ngay sau phần khai báo biến và trước Begin của chương trình chính.
Trong chương trình, tham số được đưa vào khi gọi chương trình con được gọi là:
Biến toàn cục
Biến cục bộ
Tham số hình thức
Tham số thực sự
Có mấy lợi ích khi dùng chương trình con (CTC)?
2
3
4
5
Hàm bắt đầu bằng từ khóa nào sau đây?
SQRT
PROCEDURE
FOR
FUNCTION
Thủ tục bắt đầu bằng từ khóa nào sau đây?
SQRT
PROCEDURE
FOR
FUNCTION
Để gắn tên tệp cho tên biến tệp ta sử dụng câu lệnh theo cú pháp:
assign(<biến tệp>,<tên tệp>);
<tên tệp> := <tên biến tệp>;
<biến tệp> := <tên tệp>;
assign(<tên tệp>,<biến tệp>);
Dữ liệu kiểu tệp:
Sẽ bị mất hết khi tắt máy
Sẽ bị mất hết khi tắt điện đột ngột.
Không bị mất khi tắt máy hoặc mất điện
Lưu ở bộ nhớ RAM
Trong Pascal để khai báo hai biến tệp văn bản f1, f2 ta viết như sau
var f1; f2 : text
Var f1 f2 : text
Var f1: f2 : text
Var f1, f2 : text
Var g: text;
Begin
Assign(g,'D:\ky2.doc'); Rewrite(g); Write(g,'510+702-792'); Close(g);
End.
Sau khi thực hiện chương trình trên, tập tin 'ky2.doc' có nội dung như thế nào?
510+702-792
510 702 792
420
510702792
Cách thức truy cập vào tệp văn bản là
Truy cập tuần tự
Truy cập ngẫu nhiên
Truy cập trực tiếp
vừa truy cập tuần tự, vừa truy cập trực tiếp
Trong Pascal để khai báo biến tệp văn bản ta sử dụng cú pháp
Var <tên tệp> : Text;
Var <tên biến tệp> : Text;
Var <tên tệp> : String;
Var <tên biến tệp> : String;
Trong pascal mở tệp để đọc ta sử dụng thủ tục
reset (<tên tệp>);
reset (<biến tệp>);
rewrite(<tên tệp>);
rewrite(<tên biến tệp>);
Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục
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 tệp>, <danh sách biến>);
write(<tên biến tệp>, <danh sách biến>);
Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục
Read(<tên tệp>, <danh sách kết quả>);
Read(<tên biến tệp>, <danh sách kết quả>);
Write(<tên tệp>, <danh sách kết quả>);
Write(<tên biến tệp>, <danh sách kết quả>);
Nếu hàm EOLN (<tên biến tệp>) cho giá trị bằng TRUE thì con trỏ tệp nằm ở vị trí
đầu dòng
đầu tệp
cuối dòng
cuối tệp
Trong pascal để đóng tệp ta dùng thủ tục
Close(<tên biến tệp>);
Close(<tên tệp>);
Stop(<tên biến tệp>);
Stop(<tên tệp>);
Muốn khai báo x là tham số giá trị và y, z là tham số biến (x, y, z thuộc kiểu Byte) trong thủ tục “ViduTT” thì khai báo nào sau đây là SAI?
Procedure ViduTT(x: Byte; Var y, z: Byte);
Procedure ViduTT(x: Byte; Var y: Byte; Var z: Byte);
Procedure ViduTT(Var y: Byte; x: Byte; Var z: Byte);
Procedure ViduTT(x: Byte; Var y: Byte; z: Byte) ;
Hãy chọn phương án ghép ĐÚNG. Kiểu của một hàm được xác định bởi:
Kiểu giá trị trả về
Kiểu của các tham số
Tên hàm
Địa chỉ mà hàm trả về
Chọn cú pháp đúng nhất về câu lệnh lặp?
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
For <biến đếm>:=<giá trị cuối> to < 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>;
For <biến đếm>=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Hoạt động nào sau đây được lặp với số lần biết trước ?
Rửa tay tới khi sạch
Gọi điện cho tới khi người nghe máy
Ngày ngủ 2 lần
Chép bài cho tới khi thuộc bài
Trong NNLT Passcal về mặt cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp for có một lệnh con
for i:=1 to 100 do a:=a- 1;
for i:=1 to 100 do; a:=a-1;
for i:=1 to 100 do a:=a-1
for i:=1; to 100 do a:=a-1;
Chọn cú pháp đúng nhất về câu lệnh lặp dạng lùi?
For <biến đếm>:=<giá trị đầu> downto <giá trị cuối> do <câu lệnh>;
For <biến đếm>:=<giá trị cuối> to < giá trị đầu> do <câu lệnh>;
For <biến đếm>:=<giá trị cuối> downto to <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>;
Theo em thì khi nào câu lệnh lặp for ...do kết thúc?
Khi biến đếm nhỏ hơn giá trị cuối
Khi biến đếm lớn hơn giá trị cuối
Khi biến đếm nhỏ hơn giá trị đầu
Khi biến đếm lớn hơn giá trị đầu
Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 2 = 0) and (I mod 4 = 0) then
T := T + I;
Tổng các số chia hết cho 2 hoặc 4 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 2 và 4 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 2 trong phạm vi từ 1 đến M
Tổng các số chia hết cho 4 trong phạm vi từ 1 đến M
Vòng lặp While – do kết thúc khi nào
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
Xác định số vòng lặp cho bài toán: Tính tổng các số nguyên từ 1 đến 100
1
100
99
0
Kết quả của (điều kiện ) trong câu lệnh while...do sẽ là kiểu dữ liệu nào?
nguyên
thực
lôgic
Là một dãy kí tự
kết quả của đoạn chương trình sau cho giá trị s=?
S:=0;
for i:=1 to 6 do s:=s+ i
20
21
10
0
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ự
Để khai báo số phần tử của mảng trong PASCAL, người lập trình cần:
khai báo một hằng số là số phần tử của mảng
khai báo chỉ số bắt đầu và kết thúc của mảng
khai báo chỉ số kết thúc của mảng
không cần khai báo gì, hệ thống sẽ tự xác định
Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho:
chèn thêm phần tử
truy cập đến phần tử bất kì
xóa một phần tử
chèn thêm phần tử và xóa phần tử
Cho khai báo mảng như sau: Var a : array[0..10] of integer ;
Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?
a[10];
a(10);
a[9];
a(9);
Cho khai báo mảng và đoạn chương trình như sau:
Var a : array[0..50] of real ;
k := 0 ;
for i := 1 to 50 do
if a[i] > a[k] then k := i ;
Đoạn chương trình trên thực hiện công việc gì dưới đây?
Tìm phần tử nhỏ nhất trong mảng;
Tìm phần tử lớn nhất trong mảng;
Tìm chỉ số của phần tử lớn nhất trong mảng
Tìm chỉ số của phần tử nhỏ nhất trong mảng
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;
Thế nào là khai báo biến mảng gián tiếp?
Khai báo mảng của các bản ghi
Khai báo mảng xâu kí tự
Khai báo mảng hai chiều
Khai báo thông qua kiểu mảng đã có
Phát biểu nào sau đây về mảng là không chính xác?
Chỉ số của mảng không nhất thiết bắt đầu từ 1
Có thể xây dựng mảng nhiều chiều
Xâu kí tự cũng có thể xem như là một loại mảng
Độ dài tối đa của mảng là 255
Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?
Dùng để truy cập đến một phần tử bất kì trong mảng
Dùng để quản lí kích thước của mảng
Dùng trong vòng lặp với mảng
Dùng trong vòng lặp với mảng để quản lí kích thước của mảng
Vòng lặp While – do kết thúc khi nào
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 còn lại
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
Để 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 bằng 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;
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);
Cho s := ‘500 ki tu’
hàm Length(s) cho giá trị bằng:
9
‘5’
500
‘500’
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 S1:='Bien dao que huong';
S2:= upcase(S1[10]);
S2 có giá trị là:
'Q'
'Bien Dao Que Huong'
'Que'
‘Bien’
Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện:
Chèn xâu S1 vào S2 bắt đầu từ vị trí vt
Chèn xâu S2 vào S1 bắt đầu từ vị trí vt
Nối xâu S2 vào S1
Sao chép vào cuối S1 một phần của S2 từ vị trí vt
so sánh 2 xâu, biết
S1='Tin học'; S2='Tin Học'
S1>S2
S1=S2
S1<S2
S1>=S2
Cho xâu kí tự s:=‘Truong THPT BAC KAN’;
Khi tham chiếu s[7] cho ta:
Gồm 7 kí tự đầu xâu
Gồm 7 kí tự cuối xâu
kí tự thứ 7 trong xâu
Xâu có 7 kí tự
Cho 2 xâu a:=‘đoạn chương trình’; b:=‘’ ;
Cho biết kết quả sau khi thực hiện các câu lệnh sau:
For i:=13 to length(a) do b:=b+ a[i];
writeln(b);
‘đoạn chương trình’
‘trình’
‘chương trình’
‘hnirt gnơưhc’
Thủ tục chuẩn Insert(s1,s2,vt) thực hiện:
Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí vt
Chèn xâu s2 vào xâu s1 bắt đầu từ vị trí vt
Nối xâu s2 vào xâu s1
Sao chép 1 phần tử của s2 ghép vào cuối s1
Cho khai báo Var s: string; Phát biểu nào sau đây là đúng?
xâu có độ dài lớn nhất là 100
Câu lệnh sai vì thiếu khai báo độ dài xâu
Xâu có độ dài tối đa là 255
Xâu không giới hạn về độ dài
Cho xâu s= 'HANOI-VIETNAM' . Kết quả hàm length(s) là:
12
13
14
15
đoạn chương trình trên cho kết quả là bao nhiêu??
6
7
8
5
Cho s là 1 xâu kí tự. Đoạn chương trình sau là công việc gì?
For i:= length(s) downto 1 do write(s[i])
In xâu s ra màn hình
In từng kí tự của s ra màn hình
In từng kí tự ra màn hình theo thứ tự ngược
In từng kí tự của s theo thứ tự ngược trù kí tự đầu tiên
Sau khi thực hiện chương trình, kết quả của s là:
Ha Noi Mua thu
Mua thu Ha Noi Mua thu
Mua thu Ha Noi
Ha Noi
Cho xâu s= 'truong thpt THD'. Hàm copy(s,7,9) cho kết quả là:
'thpt THD'
' thpt THD'
'thpt'
'THD'
Đoạn chương trình trên thực hiện công việc gì?
Ghép xâu s vào xâu b
Tạo xâu b là xâu ngược của xâu s
Tạo xâu b bao gồm các kí tự khác dấu cách của xâu s
ghép kí tự đầu tiên của xâu s vào xâu b
Chọn các phương án đúng trong các câu sau:
Có thể coi xâu là mảng 1 chiều với phần tử là các kí tự trong xâu.
Phép cộng xâu thực chất là nối 2 xâu với nhau
Phép so sánh xâu dựa trên so sánh độ dài 2 xâu.
Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn.
Cảm nhận của em sau tiết học này là gì?
Trong ngôn ngữ lập trình Pascal chương trình con được chia thành mấy loại?
1
2
3
4
Khẳng định nào sau đây là đúng ?
Cả thủ tục và hàm đều có thể có tham số hình thức
Chỉ có thủ tục mới có thể có tham số hình thức
Chỉ có hàm mới có thể có tham số hình thức
Thủ tục và hàm nào cũng phải có tham số hình thức
Hàm và thủ tục khác nhau ở chổ
Hàm trả về giá trị
Thủ tục trả về giá trị
Hàm trả về giá trị qua tên của nó
Thủ tục trả về giá trị qua tên của nó
Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
Phần đầu có thể có hoặc không có cũng được.
Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.
Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.
Phần đầu nhất thiết phải có để khai báo tên chương trình con.
Trong chương trình, tham số được đưa vào khi gọi chương trình con được gọi là:
Biến toàn cục
Biến cục bộ
Tham số hình thức
Tham số thực sự
Có mấy lợi ích khi dùng chương trình con (CTC)?
2
3
4
5
Biến cục bộ là gì?
Biến được khai báo trong CTC nhưng được sử dụng trong chương trình chính.
Biến được khai báo trong chương trình chính nhưng chỉ được sử dụng cho CTC.
Biến được khai báo trong chương tŕnh con
Biến tự do không cần khai báo
Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là KHÔNG đúng?
Cấu trúc của chương trình con gồm 3 phần: Phần đầu, phần khai báo và phần thân
Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.
Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể.
Phần thân không nhất thiết phải có
Hàm bắt đầu bằng từ khóa nào sau đây?
SQRT
PROCEDURE
FOR
FUNCTION
Thủ tục bắt đầu bằng từ khóa nào sau đây?
SQRT
PROCEDURE
FOR
FUNCTION
