Đoạn chương trình sau đây có nhiệm vụ kiểm tra xem trong xâu s có ký tự 'a' hay không. Chương trình có thể chạy sai trong trường hợp nào? i:=1; found_a:=false; repeat if s[i]='a' then ound_a:=true; i:=i+1; until i>length(s);
A -
Đoạn chương trình trên không có sai sót
B -
Chạy sai nếu trong xâu s không có kí tự a
C -
Chạy sai nếu xâu s là xâu rỗng
D -
Chạy sai trong mọi trường hợp
2-
Hàm copy(S,m,n) cho xâu con của S gồm n kí tự tính từ kí tự thư m của xâu S. Họ tên của một người gồm nhiều từ, trong đó từ đầu là họ. Viết đoạn chương trình tách lấy họ khỏi họ tên cho trong xâu S. Giả sử S không bắt đầu bằng khoảng trống. Các cách sau cách nào tốt nhất :
A -
i:= 1; while S[i] <> ' ' do i:= i+ 1; copy(S,1,i-1);
B -
i:= 2; while i <= length(S) and S[i] <> ' ' do i:= i+ 1; write(copy(S,1,i-1))
C -
i:= 1; while i <= length(S) and S[i] <> ' ' do i:= i+ 1; write(copy(S,1,i-1));
D -
i:= 2; while i <= length(S) and S[i] <> ' ' do i:= i+ 1; copy(S,1,i-1);
3-
Cho chương trình con được khai báo như sau : procedure CTC(var x: integer, k: boolean); Lời gọi chương trình con sau sai ở lỗi nào? Ctc(1000, 4>2);
A -
Tham số thực sự thứ nhất không thể là một giá trị
B -
Tên hàm viết không chính xác
C -
1000 không thuộc kiểu integer
D -
Không thể lấy một biểu thức làm tham số thứ hai
4-
Tìm kết quả đoạn chương trình sau: var x,y: Integer; ... procedure Doi_Cho (x,y: integer) var temp: integer; begin temp := x; x:=y; y:= temp; end; .... begin x := 10; y:= 2; Doi_Cho(x,y); writeln(x,,,y); end.
A -
2,10
B -
10,2
C -
10,10
D -
Chương trình không in ra kết quả nào
5-
Ta cần viết một chương trình con đổi giá trị hai số nguyên. Chương trình con đó được khai báo như thế nào thì thích hợp nhất?
A -
procedure Doi_Cho(x,y: integer)
B -
function Doi_Cho(x,y: integer) : integer
C -
procedure Doi_Cho(var x,y: integer)
D -
function Doi_Cho(var x,y: integer): integer
6-
Ta cần viết một chương trình con tìm Bội chung nhỏ nhất của hai số nguyên. Chương trình con đó được khai báo như thế nào thì thích hợp ?
A -
procedure BCNN(x,y: integer, var ketqua : integer)
B -
function BCNN(x,y: integer) : integer
C -
function BCNN: integer
D -
A hoặc B
7-
Cho sẵn một hàm tính trung bình cộng được khai báo như sau : function TBC(x,y: real) : real; begin TBC := (x+y) / 2; end; Hãy sử dụng hàm đó để tính trung bình cộng của các biến u, v ghi kết quả vào biến kq :
A -
kq := TBC(x,y);
B -
kq := (u+v)/2
C -
kq := TBC(u,v);
D -
kq := TBC;
8-
Cho sẵn một hàm tính trung bình cộng được khai báo như sau : function TBC(x,y: real) : real; begin TBC := (x+y) / 2; end; Hãy sử dụng hàm đó để in ra giá trị trung bình cộng của hai biến x,y :
A -
write(TBC cua ,x,,,y, la ); TBC(x,y);
B -
write(Ket qua: ,TBC(x,y));
C -
t := TBC(x,y); write(t);
D -
B và C
9-
Cho sẵn một hàm tính trung bình cộng được khai báo như sau: procedure TBC(x,y: real); begin write((x+y) / 2); end; Hãy sử dụng hàm đó để in ra giá trị trung bình cộng của hai biến x,y :
A -
write(TBC cua ,x,,,y, la ); TBC(x,y);
B -
write(Ket qua: ,TBC(x,y));
C -
t := TBC(x,y);
D -
B và C
10-
Trong chương trình chính đr có khai báo một kiểu tên là Kieu_Mang như sau :
type Kieu_Mang: array [1..100,1..100]
Bạn cần viết một thủ tục nhập một mảng có kích thước m xn (1<=,m,n<=100). Như vậy cả mảng và kích thước của nó đều là tham số. Hỏi cách khai báo thủ tục nào dưới đây là thích hợp nhất :