Задачи по Pascal. Найти среднее арифметическое элементов массива с нечетными номерами.

Условие задачи: Массив А вводится с клавиатуры. Найти среднее арифметическое его элементов с нечетными номерами. Размер произвольный. (Язык Pascal)

Сложность: легкая.

Решение задачи

Для начала продумаем решение. Нам сказано найти среднее арифметическое элементов массива с нечетными номерами, что это значит? Как вы знаете у массива каждое значение под своим номером, например:

mass[
1
] :=
32
;
mass[
2
] :=
43
;

Т.е. под номером 1 в массиве значение 32, под номером 2 значение 43, вот нам надо найти среднее арифметическое элементов массива с нечетными номерами, т.е. 1 3 5 и т.д.

Среднее арифметическое — это сумма всех элементов деленное на кол-во элементов, в нашем случаи сумма всех элементов с нечетными номерами деленное на их кол-во.

Массив мы будем вводить в самой программе, т.е. введем число, и проверим его номер, если он нечетный тогда этот элемент занесем в сумму, чтобы потом найти среднее арифметическое.

Для того чтобы решить задачу нам понадобятся следующие переменные:

  • Переменная mass — для массива
  • Переменная i — для цикла
  • Переменная n — для кол-ва элементов массива
  • Переменная count — для кол-во нечетных номеров
  • Переменная summa — для сумма элементов с нечетными номерами
  • Переменная sred — для сред.ариф.
  • Начнем мы с каркаса нашей программы

    type

    massiv =
    array
    [
    1..1000
    ]
    of
    integer
    ;
    // создаём свой тип данных для массива

    var

    mass : massiv;
    // объявляем переменные

    i, n, summa, count :
    integer
    ;
    // объявляем переменные

    sred :
    real
    ;
    // объявляем переменные

    begin

    write
    (
    ‘Введите длину массива : ‘
    );readln(n);
    // просим пользователя ввести длину массива

    readln;
    // чтобы программа не закрывалась
    end
    .

    Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ), попросили пользователя ввести кол-во элементов массива.

    Теперь надо заполнять массив вручную, заполняется массив в цикле, как только мы введем число, нам надо проверить его номер на нечетность с помощью условия и операции mod, как это делается читайте (тут) и если номер нечетный то мы просто увеличиваем общую сумму чисел с нечетными номерами и их кол-во:

    for
    i:=
    1
    to
    n
    do
    // делаем цикл для заполнения массива

    begin

    write
    (
    ‘Введите ‘
    , i ,
    ‘ элемент : ‘
    );readln(mass[i]);
    // заполняем массива вручную

    if
    (i
    mod
    2
    <>
    0
    )
    then
    // проверяем на нечетность номер элемента, если нечетный, то

    begin

    count := count +
    1
    ;
    // увеличиваем кол-во нечетных номеров

    summa := summa + mass[i];
    // и увеличиваем сумму

    end
    ;

    end
    ;

    Теперь нам осталось поделить сумму на кол-во и мы найдем среднее арифметическое:

    sred := summa / count;
    // находим среднее арифметическое

    Всё решение задачи Pascal

    type

    massiv =
    array
    [
    1..1000
    ]
    of
    integer
    ;
    // создаём свой тип данных для массива

    var

    mass : massiv;
    // объявляем переменные

    i, n, summa, count :
    integer
    ;
    // объявляем переменные

    sred :
    real
    ;
    // объявляем переменные

    begin

    write
    (
    ‘Введите длину массива : ‘
    );readln(n);
    // просим пользователя ввести длину массива

    for
    i:=
    1
    to
    n
    do
    // делаем цикл для заполнения массива

    begin

    write
    (
    ‘Введите ‘
    , i ,
    ‘ элемент : ‘
    );readln(mass[i]);
    // заполняем массива вручную

    if
    (i
    mod
    2
    <>
    0
    )
    then
    // проверяем на нечетность номер элемента, если нечетный, то

    begin

    count := count +
    1
    ;
    // увеличиваем кол-во нечетных номеров

    summa := summa + mass[i];
    // и увеличиваем сумму

    end
    ;

    end
    ;

    sred := summa / count;
    // находим среднее арифметическое

    writeln
    (
    ‘Среднее арифметическое с нечетными номерами : ‘
    , sred);
    // выводим результат

    readln;
    // чтобы программа не закрывалась
    end
    .

    Беликова Ирина

    Учитель физики, информатики и вычислительной техники. Победитель конкурса лучших учителей Российской Федерации в рамках Приоритетного Национального Проекта "Образование".

    Оцените автора
    Добавить комментарий