Присоединиться

11 класс·высокий уровень

Предложен правильный алгоритм, выдающий верное значение. Допускается

Условие

Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 | Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно | 0 | Максимальный балл | 2 |

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Решение. uses crt;const n=30;type massiv=array[1..n] of integer;var a:massiv;min,max,i,sum:integer;sred1,sred2:real;Beginfor i:=1 to n dobeginwrite('a[',i,']= ');readln(a[i]);end;sum:=0;min:=a[1];max:=a[1];for i:=1 to n dobeginif a[i]<=min then min:=a[i]; if a[i]>=max then max:=a[i]; sum:=sum+a[i]; end; sred1:=(min+max)/2; sred2:=sum/n;writeln('Разность: ',sred1─sred2);End.

Осталось ещё 1 шаг

  1. Полный разбор с проверкой ответа

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Алгоритмы обработки массивов»

Предложен правильный алгоритм, выдающий верное значение. Допускается — решение с объяснением | Lom Ai