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

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

Опишите на русском языке или на одном из языков программирования

Условие

Дан целочисленный массив из 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 |

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

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

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

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

    ПАСКАЛЬ | БЕЙСИК | 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 шагов

  1. Шаг 2

  2. Шаг 3

  3. Шаг 4

  4. Шаг 5

  5. Шаг 6

  6. Шаг 7

  7. Шаг 8

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

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

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