Xem toàn bộ tài liệu Lớp 11: tại đây
Câu 1: Khẳng định nào sau đây là đúng?
A. Cả thủ tục và hàm đều có thể có tham số hình thức.
B, Chỉ có thủ tục mới có thể có tham số hình thức.
C, Chỉ có hàm mới có thể có tham số hình thức.
D, Thủ tục và hàm nào cũng phải có tham số hình thức.
Trả lời: Trong ngôn ngữ Pascal, các chương trình con có thể có hoặc không có tham số hình thức tùy thuộc vào từng chương cụ thể.
Đáp án: A
Câu 2: Khẳng định nào sau đây là đúng?
A, 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ự.
B, 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ự.
C, Cả lời gọi hàm và lời gọi thủ tục đều phải có tham số thực sự.
D, 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.
Trả lời: 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 và hàm đó. Tham số thực sự có thể là tham biến hoặc tham trị tùy từng chương trình cụ thể.
Đáp án: D
Câu 3: Trong các cách sử dụng thủ tục sau, cách nào là phù hợp nhất?
A, Khai báo lại thủ tục và gọi nó mỗi khi cần sử dụng;
B, Khai báo thủ tục duy nhất một lần và gọi nó một lần duy nhất;
C, Chỉ cần khai báo;
D, Khai báo thủ tục một lần và gọi nó trong thân chương trình mỗi khi muốn sử dụng;
Trả lời: Khi sử dụng thủ tục cần khai báo thủ tục một lần và gọi nó trong thân chương trình mỗi khi muốn sử dụng.
Đáp án:
Câu 4: 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 nhất thiết phải 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 có thể không có tham số hình thức và cũng có thể không có biến cục bộ.
Trả lời: 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ộ. Vì vậy trong thân chương trình lệnh gọi hàm hay thủ tục có thể có tham trị hoặc tham biến tùy vào từng chương trình.
Đáp án: D
Câu 5: Kiểu dữ liệu của hàm
A, Chỉ có thể là kiểu integer.
B, Chỉ có thể là kiểu
C, Có thể là các kiểu integer, real, char, boolean, string.
D, Có thể là integer, real, char, boolean, string, record, kiểu mảng.
Trả lời: Kiểu dữ liệu của một hàm được xác định bởi kiểu giá trị mà hàm trả về và chỉ có thể là các kiểu integer, real, char, Boolean, string.
Đáp án: C
Câu 6: 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 ; Var z : Byte) ;
C, Procedure ViduTT( x : Byte ; Var y : Byte ; z : Byte) ;
D, Procedure ViduTT( Var y : Byte ; x : Byte ; Var z : Byte) ;
Trả lời: Tham số giá trị là 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ể. Tham biến là 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 biến chứa dữ liệu ra.
+ Để phân biệt tham biến và tham trị, Pascal sử dụng từ khóa var để khai báo những tham biến.
Đáp án: C
Câu 7: 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, Trong toàn bộ chương trình;
B, Trong nội bộ thủ tục p;
C, Trong toàn bộ tệp chương trình nguồn;
D, Tùy thuộc vào vị trí sử dụng thủ tục p;
Trả lời: Biến n được khai báo trong thủ tục được gọi là biến cục bộ. phạm vi của biến này chỉ sử dụng trong chương trình con đó.
Đáp án: B
Câu 8: Đ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, Thiếu dấu “ ; ” sau từ khóa Begin ;
B, Không thể dùng câu lệnh if trong thủ tục;
C, Thiếu dấu “ ; ” sau lệnh writeln ;
D, End không thể dùng làm tên của thủ tục ;
Trả lời: Tên hàm và thủ tục được đặt tên theo quy tắc đặt tên của Pascal và không sử dụng tên trùng với các từ khóa.
Đáp án: C
Câu 9: 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 cục là:
A, x và y.
B. i
C, a và b.
D, a, b, S.
Trả lời: Biến toàn cục là biến được khai báo trong chương chính. Nó được sử dụng cho chương trình chính và các chương trình khác nữa. Vậy trong chương trình trên có các biến toàn cục là a, b, S.
Đáp án: D
Câu 10: 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, x và y.
B. i
C, a và b.
D, a, b, S.
Trả lời: Biến thực sự là biến được thay thế cho các tham số hình thức trong lời gọi hàm hoặc thủ tục. Có hai loại biến thực sự là tham biến và tham trị. Vậy tham số thực sự trong đoạn chương trình trên là a, b.
Đáp án: C