Tr ờng thcs phú thủy
Hớng dẫn chấm và đáp án môn Tin học 8 học kỳ 2
*** Các cách làm khác nhau mà cho kết quả đúng đều cho điểm tối đa.
Đề A:
Câu 1: (1 điểm)
Nêu đợc cú pháp đúng cho 0.5 điểm
Nêu đợc ví dụ cho 0.5 điểm
Cú pháp vòng lặp với số lần biết trớc:
For <biến đếm> := <giá trị đầu> to < giá trị cuối> do < câu lệnh> ;
VD: For i:= 1 to 10 do writeln(i) ;
Câu 2:
a) Mô tả thuật toán: 1.5 điểm. Đúng mỗi bớc cho 0.25 điểm
B1: Nhập vào số n
B2: A 1, i 0
B3: i i + 1
B4: Nếu i < n thì A A + 1/ (2*i) và quay lại B3
B5: Thông báo kết quả A và kết thúc thuật toán.
b) Viết chơng trình dựa vào thuật toán và câu lệnh lặp While do
(Chấm ý nh thuật toán, sai mỗi lỗi trừ 0.25 điểm. Đúng hết cho 1.5 điểm)
Program cau2;
Var a : real ;
i, n : integer ;
Begin
Write( nhap vao so n: ); readln(n);
A := 1; i := 0;
While i< n do
Begin
i:= i + 1; A := A + 1/ (2*i) ;
end;
Writeln( ket qua A = , A: 8:2);
readln
End.
Câu 3 Đúng tối đa cho 6 điểm. Sai mỗi ý nhỏ trừ 0.25 điểm
Program cau3 ;
Var Toan8: array[1 35] of Real ;
i, max , min : integer;
TBC : real ;
Begin
writeln( nhap vao diem cho 35 hoc sinh );
for i: = 1 to 35 do begin write( toan8[, i, ]= );readln(toan8[i]); end; 2 điểm
writeln(Nhug hoc sinh bi diem kem la: );
For i := 1 to 35 do
if toan8[i] <5 then writeln( hoc sinh thu , i , dat diem ,toan8[i]) ; 1 điểm
max := toan8[1]; min := toan8[1]; TBC := 0;
For i:= 1 to 35 do begin
If toan8[i] > max then max := toan8[i]; 3 điểm
If toan8[i] < min then min := toan8[i];
TBC := TBC + toan8[i];
end;
TBC : = TBC /35 ;
writeln( Hoc sinh dat diem thap nhat la: , min, hoc sinh dat diem cao nhat la: ,
max);
writeln( Diem TBC cua 35 hoc sinh mon Toan la: , TBC:5:2);
readln
End.
Đề B:
Câu 1: (1 điểm)
Nêu đợc cú pháp đúng cho 0.5 điểm
Nêu đợc ví dụ cho 0.5 điểm
Cú pháp vòng lặp với số lần cha biết trớc:
while < điều kiện> do <câu lệnh> ;
VD: i:=3; while i< 5 do i := i + 1;
Câu 2:
c) Mô tả thuật toán: 1.5 điểm. Đúng mỗi bớc cho 0.25 điểm
B1: Nhập vào số n
B2: A 1, i 0
B3: i i + 1
B4: Nếu i < n thì A A + 1/ (2*i) và quay lại B3
B5: Thông báo kết quả A và kết thúc thuật toán.
d) Viết chơng trình dựa vào thuật toán và câu lệnh lặp While do
(Chấm ý nh thuật toán, sai mỗi lỗi trừ 0.25 điểm. Đúng hết cho 1.5 điểm)
Program cau2;
Var a : real ;
i, n : integer ;
Begin
Write( nhap vao so n: ); readln(n);
A := 1; i := 0;
While i< n do
Begin
i:= i + 1; A := A + 1/ (2*i) ;
end;
Writeln( ket qua A = , A: 8:2);
readln
End.
Câu 3 Đúng tối đa cho 6 điểm. Sai mỗi ý nhỏ trừ 0.25 điểm
Program cau3 ;
Var Van8: array[1 175] of Real ;
i, max , min : integer;
TBC : real ;
Begin
writeln( nhap vao diem cho 175 hoc sinh );
for i: = 1 to 175 do begin write( van8[, i, ]= );readln(van8[i]); end; 2 điểm
writeln(Nhug hoc sinh bi diem kem la: );
For i := 1 to 175 do
if van8[i] <5 then writeln( hoc sinh thu , i , dat diem ,van8[i]) ; 1 điểm
max := van8[1]; min := van8[1]; TBC := 0;
For i:= 1 to 175 do begin
If van8[i] > max then max := van8[i]; 3 điểm
If van8[i] < min then min := van8[i];
TBC := TBC + van8[i];
end;
TBC : = TBC /175 ;
writeln( Hoc sinh dat diem thap nhat la: , min, hoc sinh dat diem cao nhat la: ,
max);
writeln( Diem TBC cua 175 hoc sinh mon Toan la: , TBC:5:2);
readln
End.