Дан целочисленный квадратный массив 10 x 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы максимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке элемент единственный.
Решение.
| Pascal | Basic |
| const N=10; var A: array [1..N,1..N] of integer; i, j, k, max, Sum: integer; begin { ввод матрицы N на N} for i:=1 to N do for j:=1 to N do readln(a[i, j]);
Sum :=0; for i:=1 to N do begin max :=A[i,1]; for k:=2 to N do if A[i,k] >= max then max := A[i,k]; Sum := Sum + max; end; writeln(Sum); end. | CLS n = 10 DIM A(n, n) FOR o = 1 TO n FOR i = 1 TO n INPUT A(i, o) NEXT i NEXT o c = 0 FOR i = 1 TO n s = 0 max = 0 FOR j = 1 TO n IF s <= A(j, i) THEN max = A(j, i): s = max NEXT j sum = sum + max NEXT i PRINT sum END |
| Критерии оценивания выполнения задания | Баллы |
|---|---|
| Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 |
| В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 |
| Ошибок, перечисленных в п. 1–11, две или больше, или алгоритм сформулирован неверно | 0 |
| Максимальный балл | 2 |
PDF-версии: 