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

Информатика·Задания Д25 C2. Алгоритмы обработки массивов·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… 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 |

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

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

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

  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 шаг — откроются после входа:

  • Шаг 2
Получить полное решение

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

Другие задачи по теме «Задания Д25 C2. Алгоритмы обработки массивов»

Опишите на русском языке или на одном из языков программирования — решение с объяснением | Lom Ai