ĐỀ 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: 2 3 4 5 6 7 8 9 10 25 6 8 3.1 -9 -6 3.5 6 8 9 6 5 -9 -9 -9 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; Hã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 Câu Nội dung Điểm 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. 3b 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 . ĐỀ 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? -. <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. 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