Câu hỏi Trắc nghiệm (40 câu):
-
Câu 1:
Mã câu hỏi: 103829
Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa
- A.Function.
- B.Program
- C.Procedure.
- D.Var.
-
Câu 2:
Mã câu hỏi: 103832
Để khai báo hàm trong Pascal bắt đầu bằng từ khóa
- A.Var.
- B.Function.
- C.Procedure.
- D.Program.
-
Câu 3:
Mã câu hỏi: 103835
Cho chương trình sau :
Program Thidu ;
Var s : string[50] ;
Procedure foo(s : string);
Var i : integer;
Begin
i := 1 ;
while ( i <= length(S) ) do
begin
writeln( s[ i ] ) ;
i := i + 1 ;
end ;
end;
Begin
s := ‘tinhoc’ ;
foo(s) ;
End .
Số dòng chương trình in ra màn hình là bao nhiêu ?- A.50 dòng;
- B.Vô số dòng;
- C.6 dòng;
- D.7 dòng;
-
Câu 4:
Mã câu hỏi: 103838
Đoạn chương trình sau có lỗi gì ?
Procedure End ( key : char ) ;
Begin
If key = ‘ q ’ then writeln( ‘ Ket thuc ’ )
End;
- A.End không thể dùng làm tên của thủ tục ;
- B.Không thể dùng câu lệnh if trong thủ tục;
- C.Thiếu dấu “ ; ” sau từ khóa Begin ;
- D.Thiếu dấu “ ; ” sau lệnh writeln ;
-
Câu 5:
Mã câu hỏi: 103840
Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; y : byte);
Var i : byte;
Begin
i := 5;
writeln(x,‘ ’, y);
x := x + i ;
y := y + i ;
S := x + y ;
Writeln(x,‘ ’, y);
End;
Begin
Write(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các tham số hình thức là:
- A.a, b, S.
- B.a và b.
- C.x và y.
- D.i.
-
Câu 6:
Mã câu hỏi: 103842
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.Địa chỉ mà hàm trả về
- B.Tên hàm
- C.Kiểu giá trị trả về
- D.Kiểu của các tham số
-
Câu 7:
Mã câu hỏi: 103844
Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; y : byte);
Var i : byte;
Begin
i := 5;
writeln(x,‘ ’, y);
x := x + i ;
y := y + i ;
S := x + y ;
Writeln(x,‘ ’, y);
End;
Begin
Write(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các biến toàn bộ là- A.a, b, S.
- B.i.
- C.x và y.
- D.a và b.
-
Câu 8:
Mã câu hỏi: 103846
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?
- A.Phần đầu có thể có hoặc không có cũng được.
- B.Phần đầu nhất thiết phải có để khai báo tên chương trình con.
- C.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ể.
- D.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.
-
Câu 9:
Mã câu hỏi: 103848
Khẳng định nào sau đây là đúng?
- A.Một chương trình con nhất thiết phải có tham số hình thứ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ộ.
- C.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ộ.
- D.Một chương trình con nhất thiết phải có biến cục bộ.
-
Câu 10:
Mã câu hỏi: 103850
Mô tả nào dưới đây về tham số là sai ?
- A.Một hàm có thể có cả tham số giá trị và tham số biến;
- B.Có thể truyền giá trị cho tham số biến;
- C.Có thể truyền biến số cho tham số giá trị
- D.Có thể dùng tham số biến để nhận kết quả;
-
Câu 11:
Mã câu hỏi: 103852
Kiểu dữ liệu của hàm
- A.Có thể là các kiểu integer, real, char, boolean, string.
- B.Có thể là integer, real, char, boolean, string, record, kiểu mảng.
- C.Chỉ có thể là kiểu integer.
- D.Chỉ có thể là kiểu real.
-
Câu 12:
Mã câu hỏi: 103854
Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; y : byte);
Var i : byte;
Begin
i := 5;
writeln(x,‘ ’, y);
x := x + i ;
y := y + i ;
S := x + y ;
Writeln(x,‘ ’, y);
End;
Begin
Write(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các tham số thực sự là:
- A.A. i.
- B.x và y.
- C.a, b, S.
- D.a và b.
-
Câu 13:
Mã câu hỏi: 103856
Cho chương trình sau :
Program Vi_du ;
Var x, y : integer ;
Procedure godoit( x, y : integer ) ;
Begin
x := y ;
y := 0 ;
Write( x, y ) ;
End ;
Begin
x := 1 ;
y := 2 ;
godoit( x, y ) ;
writeln( x, y ) ;
End.
Chương trình trên in ra dãy số nào ?
- A.2012
- B.1234
- C.2001
- D.1020
-
Câu 14:
Mã câu hỏi: 103858
Cho chương trình sau:
Program Chuong_Trinh;
Var a, b, S : byte;
Procedure TD(Var x : byte ; y : byte);
Var i : byte;
Begin
i := 5;
writeln(x,‘ ’, y);
x := x + i ;
y := y + i ;
S := x + y ;
Writeln(x,‘ ’, y);
End;
Begin
Write(‘nhập a và b : ’);
Readln(a, b);
TD(a,b);
Writeln(a,‘ ’, b, ‘ ’, S);
Readln;
End.
Trong chương trình trên có các biến cục bộ là:
- A.a và b.
- B.x và y.
- C.i.
- D.S.
-
Câu 15:
Mã câu hỏi: 103860
Hàm chuẩn nào dưới đây biến giá trị thực 6.6 thành 7 ?
- A.Round;
- B.Abs;
- C.Odd;
- D.Trunc;
-
Câu 16:
Mã câu hỏi: 103861
Mô tả nào dưới đây về chương trình có cấu trúc là phù hợp nhất ?
- A.Cả A và B đều đúng
- B.Được chia thành nhiều chương trình con;
- C.Chương trình có sử dụng cấu trúc mảng và bản ghi;
- D.Sử dụng các hàm và thủ tục thư viện chuẩn;
-
Câu 17:
Mã câu hỏi: 103863
Khẳng định nào sau đây là đúng?
- A.Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.
- B.Biến toàn bộ chỉ được sử dụng trong chương trình chính và không được sử dụng trong các chương trình con.
- C.Biến cục bộ là biến được dùng trong chương trình con chứa nó và trong chương trình chính.
- D.Biến cục bộ là biến chỉ được dùng trong chương trình chính.
-
Câu 18:
Mã câu hỏi: 103865
Khẳng định nào sau đây là đúng?
- A.Chỉ có hàm mới có thể có tham số hình thức.
- B.Thủ tục và hàm nào cũng phải có tham số hình thức.
- C.Cả thủ tục và hàm đều có thể có tham số hình thức.
- D.Chỉ có thủ tục mới có thể có tham số hình thức.
-
Câu 19:
Mã câu hỏi: 103867
Cho hàm sau :
Function foo(n : integer) : boolean ;
Var i : integer ;
Begin
Foo := false ;
If n > 2 then for i := 2 to n-1 do
If (n mod i = 0) then foo := true ;
End ;
Hàm trên thực hiện công việc gì ?
- A.Câu A_, B_ đều sai;
- B.In ra các ước số của n;
- C.Câu A_, B_ đều đúng;
- D.Kiểm tra n có phải là hợp cố hay không;
-
Câu 20:
Mã câu hỏi: 103869
Mô tả nào dưới đây về hàm là sai ?
- A.Phải có tham số
- B.Có thể có các biến cục bộ
- C.Trong hàm có thể gọi lại chính hàm đó
- D.Phải trả lại kết quả
-
Câu 21:
Mã câu hỏi: 103871
Phát biểu nào dưới đây về biến là sai ?
- A.Một hàm có thể có nhiều tham số biến;
- B.Biến cục bộ có thể có kiểu khác với kiểu của biến toàn cục có cùng tên;
- C.Biến cục bộ phải có tên khác với tên của biến toàn cục;
- D.Biến toàn cục có thể được sử dụng ở trong một thủ tục;
-
Câu 22:
Mã câu hỏi: 103873
Khẳng định nào sau đây là đúng?
- A.Lời gọi thủ tục nhất thiết phải có tham số thực sự còn lời gọi hàm không nhất thiết phải có tham số thực sự.
- B.Lời gọi hàm nhất định phải có tham số thực sự còn lời gọi thủ tục không nhất thiết phải có tham số thực sự.
- C.Lời gọi hàm và lời gọi thủ tục có thể có tham số thực sự hoặc không có tham số thực sự tùy thuộc vào từng thủ tục.
- D.Cả lời gọi hàm và lời gọi thủ tục đều phải có tham số thực sự.
-
Câu 23:
Mã câu hỏi: 103875
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?
- A.Procedure ViduTT( x : Byte ; Var y, z : Byte) ;
- B.Procedure ViduTT( x : Byte ; Var y : Byte ; z : Byte) ;
- C.Procedure ViduTT( x : Byte ; Var y : Byte ; Var z : Byte) ;
- D.Procedure ViduTT( Var y : Byte ; x : Byte ; Var z : Byte) ;
-
Câu 24:
Mã câu hỏi: 103877
Hãy chọn phương án ghép đúng. Cho thủ tục sau :
Procedure p ;
Var n : integer ;
Begin
…… ……
End ;
Phạm vi của biến n là :
- A.Tùy thuộc vào vị trí sử dụng thủ tục p;
- B.Trong nội bộ thủ tục p;
- C.Trong toàn bộ tệp chương trình nguồn;
- D.Trong toàn bộ chương trình;
-
Câu 25:
Mã câu hỏi: 103879
Chương trình sau sẽ in ra kết quả nào ?
Program ViDu ;
Var x, y : integer ;
Procedure thaydoi(x, y : integer) ;
Begin
x := y ;
y := 0 ;
writeln( x, y ) ;
End ;
Begin
x := 1 ;
y := 2 ;
writeln( x, y ) ;
thaydoi( x, y ) ;
writeln( x, y)
End.
Hãy chọn câu trả lời đúng .
- A.1 2 2 0 1 2
- B.1 2
- C.1 2 2 0 1 2
- D.1 2 1 2
-
Câu 26:
Mã câu hỏi: 103881
Cách viết nào sau đây là đúng khi khai báo mảng một chiều?
- A.Var <Kiểu chỉ số>: array[tên biến mảng] of <kiểu phần tử>;
- B.Var <tên biến mảng>: array[kiểu chỉ số] of <kiểu phần tử>;
- C.Varof <kiểu phần tử>;
- D.Var <Kiểu phần tử>: array[kiểu chỉ số] of <tên biến mảng>;
-
Câu 27:
Mã câu hỏi: 103883
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc:
Readln(s); k:= length(S); for i:= k downto 1 do write(S[i]);
- A.in ra màn hình xâu S
- B.in ra màn hình độ dài xâu S
- C.in ra màn hình xâu S đảo ngược
- D.đưa ra màn hình xâu S
-
Câu 28:
Mã câu hỏi: 103885
Cách tham chiếu đến phần tử của mảng:
- A.<Tên biến mảng>[<chỉ số>];
- B.<Tên biến mảng>[<kiểu chỉ số>];
- C.<Tên biến mảng>[<kiểu mảng>];
- D.<Tên biến mảng>[<kiểu phần tử>];
-
Câu 29:
Mã câu hỏi: 103887
Với khai báo A: array[1..100] of integer; thì việc truy xuất đến phần tử thứ 7 như sau:
- A.A(7)
- B.A[7]
- C.A7
- D.A 7
-
Câu 30:
Mã câu hỏi: 103889
Trong Pascal, để khai báo biến tệp văn bản ta sử dụng cú pháp:
- A.Var <tên tệp> : text;
- B.Var <tên biến tệp> : text;
- C.Var <tên tệp>: string;
- D.Var <tên biếntệp> : string;
-
Câu 31:
Mã câu hỏi: 103891
Cho s=’abcdefghi’ hàm copy(s,2,3) cho giá trị bằng:
- A.bcd
- B.‘bcd’
- C.‘cd’
- D.cd
-
Câu 32:
Mã câu hỏi: 103893
Cho s=’Kon Tum VietNam’, hàm length(s) cho giá trị bằng:
- A.16
- B.15
- C.‘16’
- D.‘15’
-
Câu 33:
Mã câu hỏi: 103895
Thủ tục insert(‘123’,’abc’,2) sẽ cho xâu kết quả nào sau đây?
- A.a123bc
- B.1abc23
- C.12abc
- D.ab123
-
Câu 34:
Mã câu hỏi: 103897
Cho xâu s=’abcdefghi’ sau khi thực hiện thủ tục delete(s,3,4) thì:
- A.s=’abchi’
- B.s=’abcdi’
- C.s=’abghi’
- D.s=”
-
Câu 35:
Mã câu hỏi: 103899
Cho A=’abc’; B=’ABC’; khi đó A+B cho kết quả nào?
- A.‘aAbBcC’
- B.‘abcABC’
- C.‘AaBbCc’
- D.‘ABCabc’
-
Câu 36:
Mã câu hỏi: 103901
Trong các khai báo sau, khai báo nào đúng?
- A.var hoten : string[27];
- B.var diachi : string(100);
- C.var ten= string[30];
- D.var ho = string(20);
-
Câu 37:
Mã câu hỏi: 103903
Sau khi thực hiện đoạn lệnh sau:
S:=0; For i:=1 to 4 do S:=S+i;
S có giá trị là:
- A.10
- B.4
- C.1
- D.8
-
Câu 38:
Mã câu hỏi: 103905
Các thành phần cơ bản của ngôn ngữ lập trình là:
- A.Tên chương trình, thân chương trình
- B.Bảng chữ cái, tên chương trình, cú pháp
- C.Tên chương trình, cú pháp, biến
- D.Bảng chữ cái, cú pháp, ngữ nghĩa
-
Câu 39:
Mã câu hỏi: 103907
Cho S và i là biến nguyên. Cho biết kết quả sau khi chạy đoạn chương trình sau:
s:= 0;
for i:= 1 to 10 do s:= s+i;
writeln(s);
- A.101
- B.55
- C.11
- D.100
-
Câu 40:
Mã câu hỏi: 103909
Cấu trúc lặp nào sau đây là đúng cú pháp:
- A.While 17 > a > 5 do a := a-1;
- B.While (a > 5 and a < 17) do a := a-1;
- C.While (a > 5) and (a < 17) do a := a-1;
- D. While (a > 5) and (a < 17) do a = a-1;