Опишите на русском языке или на одном из языков программирования
Условие
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от -20 до 20 — сведения о температуре за каждый день ноября. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит максимальную температуру среди дней, когда были заморозки (то есть температура опускалась ниже нуля). Гарантируется, что хотя бы в один день ноября была отрицательная температура.Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.Бэйсик | Паскаль | N=30 DIM A(N) AS INTEGER DIM I, J, MAX AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I... END | const N=30; var а: array [1..N] of integer; i, j, max: integer;begin for i:=1 to N doreadln(a[i]) ;...end. | Си++ | Естественный язык | #include <iostream>using namespace std; #define N 30 int main(void) {int a[N]; int i, j, max; for (i=0; i < N; i++) cin >> a[i]; | Объявляем массив А из 30 элементов. Объявляем целочисленные переменные I, J, МАХ. В цикле от 1 до 30 вводим элементы массива А с 1-го по 30-й.... | Python |
допускается также# использовать две# целочисленные переменные j, maxa = []n = 30for i in range(0, n): a.append(int(input()))... |
Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 | Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно | 0 | Максимальный балл | 2 |
Формат задания
Решение по шагам
Как рассуждать
ПАСКАЛЬ | БЕЙСИК | mах:=-20; for i:=l to N do if (a[i]<0) and (a[i]>max) then max:=a [ i]; writeln(max); | MAX = -20FOR I = 1 TO NIF A(I) < 0 AND A(I) > MAXTHENMAX = A(I) ENDIF NEXT I PRINT MAX | СИ | Естественный язык | max=-20;for (i = 0; iif (a[i]<0 && a[i]>max)max=a[i]; cout « max « endl; | Записываем в переменную МАХ начальное значение, равное -20.
Осталось ещё 7 шагов
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Шаг 6
Шаг 7
Шаг 8
Бесплатно · займёт минуту