Giống thân của thủ tục Câu 1 : Để khai báo chương trình con trong Pascal bắt đầu bằng từ khoá 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
Trang 1Họ và tên: Thi Học Kỳ 2
Đề 2
A
B
C
D
Câu 2: Khác với thủ tục, trong thân của hàm cần có:
A Lệnh gán giá trị cho tên hàm B Lời gọi hàm C Các khai báo hằng, biến D Giống thân của thủ tục Câu 1 : Để khai báo chương trình con trong Pascal bắt đầu bằng từ khoá
A Program B Procedure C Var D Cả B và C
Câu 3 : Khai báo hàm trong Pascal dùng từ khóa:
Câu 4: Tham số hình thức của Hàm có mấy loại:
Câu 5 : Khẳng định nào sau đây đú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 có thể không có tham số hình thức và có thể không có biến cục bộ
D 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ộ.
Câu 6 : Khai báo nào sau đây là đúng:
A CLOSE (biến tệp, tên tệp); C CLOSE (tên tệp; biến tệp);
B CLOSE (biến tệp); D CLOSE (biến tệp 1, biến tệp 2, …, biến tệp n);
Câu 7 : Các thao tác dùng để ghi giá trị biến m vào tệp KETQUA.OUT (Giả sử f là biến tệp văn bản đã khai báo)
A Assign(f, ‘KETQUA.OUT’)->Writeln(f,m)->Rewrite(f)->Close(f) C Assign(f, ‘KETQUA.OUT’)->Readln(f,m)->Reset(f)->Close(f)
B Assign(f, ‘KETQUA.OUT’)->Rewrite(f)->Writeln(f,m)->Close(f) D Assign(f, ‘KETQUA.OUT’)->Reset(f)->Readln(f,m)->Close(f) Câu 8: Sự khác nhau giữa tham trị và tham biến trong khai báo chương trình con là:
A Tham trị phải được định nghĩa sau từ khóa Type C Tham trị phải khai báo sau từ khóa Var
B Không khác nhau D Tham biến phải có từ khóa Var đứng trước
Câu 9 : Cho các thao tác với tệp như sau:
(1) Mở tệp để ghi dữ liệu ; (2) Khai báo và gán tên tệp với biến tệp; (3) Đóng tệp;
Hãy chọn phương án ghép đúng để đọc dữ liệu vào tệp:
A (1) (2) (5) (3); B (2) (4) (6) (3); C (2) (1) (5) (3); D (4) (6) (5) (2);
Câu 10 : Chỉ ra câu đúng trong phần đầu của hàm : A Function<tên hàm>[<danh sách tham số>]:<kiểu dữ liệu>; C Function<tên hàm>[<danh sách tham số>] ; B Function<tên hàm>:<kiểu dữ liệu>; D Function<tên thủ tục>[<danh sách tham số>]:<kiểu dữ liệu>;
Câu 11: Để gắn tên tệp kiemtra.dat cho tên biến tệp là Tep1, em sử dụng thủ tục nào sau đây? A assign(Tep1,kiemtra.dat); B assign(kiemtra.dat,'Tep1'); C assign(Tep1,'kiemtra.dat'); D assign('kiemtra',Tep1); Câu 12 : Cho khai báo biến và khai báo hàm F (Giả sử hàm F có nội dung bất kỳ): Var x, S : Real; n: Integer ; FUNCTION F( y: Real; m : Integer) : Real; + Hỏi: Lời gọi hàm nào bên đây là đúng : Câu 13 : Chỉ ra câu đúng trong phần đầu của thủ tục : A Procedure <tên thủ tục>:<kiểu dữ liệu>; C Procedure<tên thủ tục>[<danh sách tham số>]:<kiểu dữ liệu>; B Procedure <tên hàm>[<danh sách tham số>]:<kiểu dữ liệu>; D Procedure<tên thủ tục>[<danh sách tham số>] ; Câu 14: 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í: A Đầu dòng B Cuối tệp C Cuối dòng D Đầu tệp Câu 15: Tham số hình thức của thủ tục có mấy loại: A 3 loại B 1 loại C 2 loại D Không phân loại Câu 16 : Điền từ thích hợp vào chỗ trống ( )
Các biến được khai báo cho dữ liệu vào / ra được gọi là của chương trình con A Tham số hình thức B Tham số thực sự C Tham trị D Tham biến II. Phần Tự Luận: (6đ) Câu 1: (1,5) cho chương trình sau: var x,y,z:integer; s:longint; Function tich(a,b,c:integer):longint; Begin tich:=a*b*c; end; BEGIN Write(‘Nhap gia tri cho x,y,z: ’); Readln(x,y,z); S:=tich(x,y,z); Write(‘Tich la: ’, S); A S:= F(n, x); B S:= F( x, n); C S:= F( n); D S:= F( x,y ); ĐIỂM Quan sát chương trình bên hãy cho biết? + Chương trình con trên viết theo dạng gì?
+ Nêu các tham số thực sự?
+ Nêu tên các biến cục bộ?
+ Nêu tên các biến toàn cục?
+ Chương trình con trên dùng để làm gì?
+ Lời gọi chương trình con trong chương trình chính là lệnh nào?
Trang 2END.
Câu 2 : (2,5đ) Cho chương trình sau:
Program thi_hk_2;
Var a,b,c : real;
Procedure vidu(Var x: integer; y,z: real ):real;
Var tong: integer;
Begin
x:=x+1; y:=y*x; z:=z*y;
tong:=x+y+z;
Writeln(x,’ ‘,y,’ ‘,z,’ ‘,tong);
End;
BEGIN
a:=3; b:=4; c:=5;
Writeln(a,’ ‘,b,’ ‘,c);
vidu(a,b,c);
Writeln(a,’ ‘,b,’ ‘,c);
Readln;
END.
Câu 3: (2đ)
a) Nêu các điểm khác nhau giữa thủ tục Writeln([<danh sách kết quả>]); và thủ tục Writeln(<tên biến tệp>,[<danh sách kết quả>]);
b) Nêu định nghĩa về Thủ tục (trong pascal), cho ví dụ?
c) Viết chương trình bằng pascal để ghi vào tệp chusole.txt các giá trị Lẻ từ 100 đến 0.
-.-.-Hết-.-.-
Quan sát chương trình bên hãy cho biết? + Biến toàn cục là:
+ Biến cục bộ là:
+ Tham số thực sự:
+ Tham trị:
+ Tham biến:
+ Khi biên dịch chương trình sẽ có 1 lỗi nhỏ là: (đánh dấu lỗi và sửa trực tiếp vào chương trình bên) + Khi chạy chương trình, kết quả in ra màn hình là: .
1
Trang 32