Chương trình trên đúng hay sai?. Nếu sai hãy sữa lại cho đúng để chương trình có thể thực hiện được?. Người ra đề: Châu Thị Phương Thùy Có sai sót mong quý thầy cô và học sinh thông cảm
Trang 1ĐỀ THAM KHẢO MÔN: TIN HỌC – KHỐI: 11
THỜI GIAN: 45 phút
Câu 1: (2đ)
- Trình bày 2 cách khai báo mảng hai chiều?
- Áp dụng hãy khai báo cho bảng sau:
3.1 -9 -6 3.5 6 8
Câu 2: (2đ)
- Trình bày cấu trúc của hàm và thủ tục?
- Làm thế nào để phân biệt hàm và thủ tục?
Câu 3: (3đ)
Cho chương trình sau:
Program cau3;
Var x, y integer;
Procedure thaydoi(x,y: integer)
Begin x:= y;
y = 0;
wirteln(x,y);
End;
Begin x:= 1; y:=2;
writeln(x,y);
thaydoi(x,y) writeln(x,y);
end;
a Chương trình trên đúng hay sai ? Nếu sai hãy sữa lại cho đúng để chương trình có thể thực hiện được?
b Khi chương trình đúng hãy cho biết chương trình sẽ có kết quả gì?
Câu 4: (3đ)
Cho chương trình sau:
Program Minbaso;
Var a,b : real;
Procedure Min(a,b: real): real;
Begin
If a < b then Min:= b else Min:= a;
End;
Begin write(‘ nhap ba so’); readln(a,b,c);
writeln(‘ so nho nhat trong ba so la:’,min(a,b),c);
readln;
end;
Trang 2Hãy tìm lỗi của chương trình trên và sửa lại cho đúng để chương trình có thể chạy được.
ĐÁP ÁN
1
Khai báo:
+ Trực tiếp:
Var <tên biến mảng>: array [kiểu chỉ sốhàng, kiểu chỉ số cột] of <
kiểu phần tử>;
+ Gián tiếp:
Type <tên kiểu mảng> = array [kiểu chỉ số hàng, kiểu chỉ số cột] of
< kiểu phần tử>;
Var < tên biến mảng>: <tên kiểu mảng>;
Áp dụng: Var A: array [ 1 4,1 6] of real;
2
• Cấu trúc của thủ tục:
Procedure <tên thủ tục>[(<danh sách tham số>)];
[<phần khai báo>]
begin
[< dãy các lệnh>]
end;
• Cấu trúc của hàm:
Function <tên hàm>[(<danh sách tham số>)]: <kiểu dữ liệu>;
[<phần khai báo>]
begin
[< dãy các lệnh>]
end;
Hàm khác thủ tục ở điểm căn bản là việc thực hiện hàm luôn trả về
một giá trị thuộc kiểu xác định thông qua tên hàm
3a
Chương trình trên sai
Chương trình đúng là:
Program cau3;
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.
Trang 33b Kết quả của chương trình là : 1 2 2 0
1 2
4
Chương trình đúng là
Program Minbaso;
Var a,b,c : real;
Function Min(a,b: real): real;
Begin
If a < b then Min:= a else Min:= b;
End;
Begin
write(‘ nhap ba so’);readln(a,b,c);
writeln(‘ so nho nhat trong ba so la:’,Min(min(a,b),c);
readln;
end.
Người ra đề: Châu Thị Phương Thùy
Có sai sót mong quý thầy cô và học sinh thông cảm và góp ý dùm