Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 150 до 200 – рост учащихся выпускного класса. В команду по автогонкам входят все учащиеся, чей рост не более 175 см. Гарантируется, что такие учащиеся в классе есть. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит рост самого высокого участника гоночной команды.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемым в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.
Ответ
Критерии оценивания
1.
1. Есть ли алгоритмические ошибки в данном решении? Ответ: нет
2. Необходимо ли снижать оценку за использование переменной J? Ответ: нет
ОЦЕНКА: 2 балла
2.
1. Допустима ли замена сложного условия на два вложенных условных оператора в данном решении? Ответ: да. ( Использование двух вложенных условных операторов с простым условием и одного условного оператора со сложным условием при решении данной задачи равнозначно.)
2. Является ли необходимым использование составного оператора begin…end внутри условного оператора? Ответ:нет
3. Требуется ли снижение оценки за необязательное использование составного оператора (операторных скобок, см. критерии оценки)? Ответ: нет ( в критериях оценки сказано лишь о неправильном, т. е. некорректном использовании составного оператора (операторных скобок), в данном случаи его использование не влияет на правильную работоспособность программы.)
ОЦЕНКА 2:
3.
Является ли корректной инициализация переменной max? Ответ: да (Данная инициализация также приводит к правильному ответу. Неправильной была бы инициализация числом, большим 150)
Возможно ли использование переменной j в качестве счетчика цикла? Ответ: да
ОЦЕНКА: 2
4.
Является ли корректной инициализация переменной max? Ответ: нет (данное присваивание может приводить к ошибке работы алгоритма, так как в классе могут быть ученики с ростом менее 175 см и ни одного с ростом 175 см)
Есть ли еще ошибки в данной программе? Ответ: да
ОЦЕНКА: 0 (Алгоритм сформулирован неверно)
5.
Является ли корректной инициализация переменной max? Ответ: да
Есть ли ошибки в данной программе? Ответ: да (В описании цикла используется переменная J, а внутри цикла - переменная I, поэтому переменная, используемая внутри цикла, не меняется, что является ошибкой.)
ОЦЕНКА: 0
6.
Корректно ли условие в операторе IF? Ответ: нет
Есть ли еще ошибки в данной программе? Ответ: да (используется необъявленная переменная k)
ОЦЕНКА: 0 (Допущено 2 ошибки из числа ошибок, указанных в критериях оценки на 1 балл)
7.
Правильно ли организован цикл в данном фрагменте программы на языке Си? Ответ: нет (счетчик цикла не инкрементируется)
ОЦЕНКА: 1
8.
Правильно ли организован цикл в данном фрагменте программы на языке Си? Ответ: нет (условие завершения цикла!)
ОЦЕНКА: 1
9.
Достигается ли решение задания в представленном здесь фрагменте программы на языке Паскаль? нет
ОЦЕНКА: 0 (Алгоритм сформулирован неверно)
10.
Возможно ли формальное исполнение описанного здесь алгоритма? нет
ОЦЕНКА: 0