Предложено верное решение. Программа правильно работает на всех приведённых выше тестах. Программа может быть записана на любом языке программирования 2
Программа выдаёт неверный ответ на одном из тестов, приведённых выше. Например, решение, в котором неверно задано условие отбора чисел: (a mod 8=0)or(a mod 10=6), выдаст неправильный ответ на тесте № 1. 1
Программа выдаёт на тестах неверные ответы, отличные от описанных в критерии на 0
// PascalABC.NET 3.0, сборка 1073 const nn=30; mm=30; var a:array[1..mm,1..nn] of integer; m,n,i,j,k,s:integer; begin Writeln('Введите число строк и столбцов массива: '); Read(m,n); Randomize; Writeln('*** Исходный массив ***'); k:=0; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4); if Odd(a[i,j]) then Inc(k) end; Writeln end; if k>5 then begin Writeln('Средние арифметические отрицательных элементов по строкам'); for i:=1 to m do begin s:=0; k:=0; for j:=1 to n do if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end; if k>0 then Writeln(s/k:9:5) else Writeln(' 0.00000'); end end else begin Writeln('*** Результирующий массив ***'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end; Writeln end end end.
Решение.
15.1 Следующий алгоритм выполнит требуемую задачу.
нц
пока справа свободно
закрасить
вправо
кц
нц
пока снизу свободно
закрасить
вниз
кц
закрасить
нц
пока не (снизу свободно)
влево
кц
вниз
нц
пока не (справа свободно)
закрасить
вниз
кц
закрасить
вправо
нц
пока не (сверху свободно)
закрасить
вправо
кц
15.2 Решение
var a, s: integer;
begin
s: = 0;
readln(a);
while a<>0 do begin
if (a mod 8=0) and (a mod 10 = 6) then
s : = s + a;
readln(a);
end;
writeln(s)
end.
Для проверки правильности работы программы необходимо использовать следующие тесты:
Входные данные Выходные данные
1
8
6
10
0
0
2
16
0
16
3
16
96
5
0
112
Спрятать критерии
Критерии проверки:
Критерии оценивания выполнения задания 15.
Алгоритм правильно работает при всех допустимых исходных данных 2
При всех допустимых исходных данных верно следующее:
1) выполнение алгоритма завершается, и при этом Робот не разбивается;
2) закрашено не более 10 лишних клеток;
3) остались незакрашенными не более 10 клеток из числа тех, которые должны были быть закрашены
1
Задание выполнено неверно, т. е. не выполнены условия, позволяющие поставить 1 или 0
Максимальный 2
Критерии оценивания выполнения задания 15.
Предложено верное решение. Программа правильно работает на всех приведённых выше тестах. Программа может быть записана на любом языке программирования 2
Программа выдаёт неверный ответ на одном из тестов, приведённых выше. Например, решение, в котором неверно задано условие отбора чисел: (a mod 8=0)or(a mod 10=6), выдаст неправильный ответ на тесте № 1. 1
Программа выдаёт на тестах неверные ответы, отличные от описанных в критерии на 0
Максимальный 2
const
nn=30;
mm=30;
var
a:array[1..mm,1..nn] of integer;
m,n,i,j,k,s:integer;
begin
Writeln('Введите число строк и столбцов массива: '); Read(m,n);
Randomize;
Writeln('*** Исходный массив ***');
k:=0;
for i:=1 to m do begin
for j:=1 to n do begin
a[i,j]:=Random(51)-25;
Write(a[i,j]:4);
if Odd(a[i,j]) then Inc(k)
end;
Writeln
end;
if k>5 then begin
Writeln('Средние арифметические отрицательных элементов по строкам');
for i:=1 to m do begin
s:=0; k:=0;
for j:=1 to n do
if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end;
if k>0 then Writeln(s/k:9:5) else Writeln(' 0.00000');
end
end
else begin
Writeln('*** Результирующий массив ***');
for i:=1 to m do begin
for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end;
Writeln
end
end
end.
Тестовые решения:
Введите число строк и столбцов массива:
8 6
*** Исходный массив ***
-16 -8 -1 24 -22 1
-9 -20 -25 13 -11 10
-15 10 -12 20 -22 3
-6 25 -3 25 -14 22
24 -4 24 17 -4 -17
-23 -9 -22 1 -18 -13
-12 13 6 -16 2 -13
19 8 -22 14 -3 4
Средние арифметические отрицательных элементов по строкам
-11.75000
-16.25000
-16.33333
-7.66667
-8.33333
-17.00000
-13.66667
-12.50000
Введите число строк и столбцов массива:
3 5
*** Исходный массив ***
3 24 -21 -22 -8
-21 14 -22 0 -22
15 -16 -2 6 22
*** Результирующий массив ***
6 48 -42 -44 -16
-42 28 -44 0 -44
30 -32 -4 12 44