Опишите на русском языке или на одном из языков программирования
Условие
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет подсчитать и вывести среднее арифметическое элементов массива, имеющих нечетное значение. Гарантируется, что в исходном массиве хотя бы один элемент имеет нечетное значение.Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.Бэйсик | Паскаль | N=30 DIM A(N) AS INTEGER DIM I, X, Y AS INTEGER DIM S AS SINGLE FOR I = 1 TO N INPUT A(I) NEXT I… END | const N=30;vara: array [1..N] of integer;i, x, y: integer;s: real;beginfor i:=1 to N do readln(a[i]);…end. | Си++ | Естественный язык | #include <iostream>using namespace std;#define N 30int main(void){int a[N];int i, x, y;float s;for (i=0; i<N; i++)cin >> a[i];…} | Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, X, Y. Объявляем вещественную переменную S. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.… | Python |
допускается также# использовать две# целочисленные переменные x, y# и вещественную переменную sa = []n = 30for i in range(0, n): a.append(int(input()))... |
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемым в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования. Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 | Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно | 0 | Максимальный балл | 2 |
Формат задания
Решение по шагам
Как рассуждать
Решение. Содержание верного ответа(допускаются иные формулировки ответа, не искажающие его смысла) На языке Паскаль x:=0;y:=0;for i:=1 to N doif (a[i] mod 2=1) then beginx:=x+a[i];y:=y+1;end;s:=x/y;writeln(s); На языке Бейсик X = 0Y = 0FOR I = 1 TO NIF A(I) MOD 2 = 1 THENX = X + A(I)Y = Y + 1ENDIFNEXT IS = X / YPRINT S На языке Си x=0;y=0;for (i=0; i<N; i++) if (a[i]%2==1) { x=x+a[i]; y++; }s=(float)x/y;cout « s « endl; На eстественном языке Записываем в переменные X и Y начальное значение, равное нулю. В цикле от первого элемента до тридцатого находим остаток от деления элемента исходного массива на два. Если этот остаток равен единице, то увеличиваем счетчик суммы X на значение текущего элемента массива, а счетчик количества Y на
Осталось ещё 1 шаг — откроются после входа:
- Шаг 2
Бесплатно · займёт минуту