ờ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.. b Viết chơng trình dựa vào thuật toán và câu lệnh
Trang 1ờ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
Trang 2Nê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