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

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

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

Условие

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

  1. или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемым в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.

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

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

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

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

    Решение. Содержание верного ответа(допускаются иные формулировки ответа, не искажающие его смысла) На языке Паскаль 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 шаг

  1. Переходим к следующему элементу. После цикла…

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

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

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