Đề và đáp án phần tự luận
Môn : Tin học 11
I. Phần đề thi
Đề 1: Viết chương trình nhập N phần tử các số nguyên A
1
, A
2
,…,A
N
. Đếm các phần từ thỏa
điều kiện (36 < A
i
< 99).
Yêu cầu: Phân tích bài toán thành các thao tác nhỏ.
Viết chương trình theo hướng lập trình cấu trúc (chương trình con).
Đề 2: Viết chương trình nhập M phần tử các số nguyên B
1
, B
2
,…,B
M
. Đếm các phần từ thỏa
điều kiện (11 < B
i
< 33).
Yêu cầu: Phân tích bài toán thành các thao tác nhỏ.
Viết chương trình theo hướng lập trình cấu trúc (chương trình con).
II. Hướng dẫn chấm và đáp án cho phần tự luận
Đáp án từng phần Điểm Ghi chú
+ Các thao tác chính
- Nhập N
- Nhập mảng
- Đếm phần tử
0,25
0,25
0,25
Thao tác nhập n (thủ tục)
Procedure NhapN(var N);
Begin
Write(‘Nhap N:’);
Readln(N);
End;
0,25
0,5
Thiếu dấu (;) coi như
lệnh viết sai.
Thao tác nhập mảng
Procedure Nhapmang(var A:M1C; n:integer);
Var i:byte;
Begin
For i:=1 to N do
Begin
Write(‘A[‘,i’]=’);
Readln(A[i]);
End;
0,25
0,25
0,5
Tên thủ tục sai cú
pháp hoặc từ khóa sai
hoặc coi như mất
điểm.
Thao tác xuất mảng
Procedure Xuatmang(A:M1C;n:integer);
var i:integer;
begin
for i:=1 to n do
write(A[i]:4);
end;
0,25
0,5
Thao tác đếm phần tử thỏa điều kiện
Function Dem36_99(A:M1C; n:integer) :integer;
var i,T: integer;
begin
T:=0;
for i:=1 to n do
if (A[i] < 36) and (A[i] > 99) then
T:=T+1;
Tong:= T;
end;
0,25
0,5 Đề 2 chỉ khác ở lệnh
này: If B[i] < < 36)
and (B[i] > 99) then
S:=S+B[i];
Chương trình chính
Phần khai báo:
Program KTHKII;
Uses CRT;
Type M1C=Array[1..50] of Integer;
Var A:M1C;
0,25
Không cho điểm phần
khai báo tên chương
trình và thư viện,
nhưng trừ 0,25 cho
các lỗi sai.
N:Integer;
{Các chương trình con}
Begin
Clrscr;
NhapN(N);
NhapMang(A,N);
Xuatmang(A,N);
Write(‘So phan tu thoa dieu kien:’,Dem26_99(A,N));
readln
End.
0,25
0,25
0,5