В массиве хранится информация о годе рождения каждого из 30 человек.
Условие
В массиве хранится информация о годе рождения каждого из 30 человек. Определите порядковый номер самого старшего по возрасту человека. Если таких человек несколько, нужно вывести их порядковые номера. Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 | Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно | 0 | Максимальный балл | 2 |
Формат задания
Решение по шагам
Как рассуждать
Решение. const N = 30; varA: array [1..N] of integer;i: integer;min, imin: integer; beginfor i := 1 to N doreadln(A[i]);min := A[1];imin := 1for i := 2 to N doif (A[i] < min) thenbeginmin := A[i];imin := iend;for i:=1 to n doif (A[i]=min) then writeln(i);end.
Осталось ещё 1 шаг
Полный разбор с проверкой ответа
Бесплатно · займёт минуту