Задачи по Pascal. Подсчитать, сколько элементов массива А1,А2…А40 больше среднего арифметического всех его элементов и сколько элементов меньше.

Условие задачи: Посчитать, сколько элементов массива А1,А2…А40 больше среднего арифметического всех его элементов и сколько элементов меньше (Язык Pascal)

Сложность: средняя

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

Для начала продумаем наше решение. Сначала заполним массив случайными числами с помощью цикла и сразу в нем найдем сумму его чисел, чтобы потом найти среднее арифметическое, а потом уже в следующем цикле будем искать числа больше или меньше среднего арифметического.

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

  • Переменная mass — для нашего массива
  • Переменная more — для чисел больше среднего арифметического
  • Переменная less — для чисел меньше среднего арифметического
  • Переменная aver — для среднего арифметического
  • Переменная i — для цикла
  • Начнем мы с каркаса нашей программы

    const
    N =
    40
    ;
    type

    massiv =
    array
    [
    1..
    N]
    of
    integer
    ;
    var

    mass: massiv;

    more, less, i :
    integer
    ;

    aver :
    real
    ;

    begin

    randomize;


    aver :=
    0
    ;

    more :=
    0
    ;

    less :=
    0
    ;
    end
    .

    Тут мы создали свой тип данных для массива, как и зачем читайте ( тут ) дальше объявили все переменные, присвоили переменным aver more less ноль, чтобы не было ошибок, включили генератор случайных чисел , подробнее (тут), ну и задали размер массива (N = 40).

    Теперь давайте заполним наш массив и подсчитаем сумму всех чисел, чтобы потом найти среднее арифметическое, ну и заодно выведем весь массив:

    for
    i:=
    1
    to
    N
    do

    begin

    mass[i] := random(
    10
    );

    aver := aver + mass[i];

    write
    (mass[i],
    ' | '
    );

    end
    ;

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

    aver := aver / N;

    Ну и теперь осталось найти какие числа больше, а какие меньше среднего ариф. :

    for
    i:=
    1
    to
    N
    do

    begin

    if
    (mass[i] > aver)
    then

    more := more +
    1

    if
    (mass[i] < aver)
    then

    less := less +
    1
    ;

    end
    ;

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

    writeln
    ;
    writeln
    (
    'Среднее арифметическое равно : '
    , aver:
    2
    :
    2
    );
    writeln
    (
    'Больше среднего : '
    , more);
    writeln
    (
    'Меньше среднего :'
    , less);

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

    const
    N =
    40
    ;
    // задаем размер массива
    type

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

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

    more, less, i :
    integer
    ;
    // объявляем переменные

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

    begin

    randomize;
    // включаем генератор случайных чисел


    aver :=
    0
    ;
    // присваиваем ноль

    more :=
    0
    ;
    // присваиваем ноль

    less :=
    0
    ;
    // присваиваем ноль


    for
    i:=
    1
    to
    N
    do
    // пускаем цикл

    begin

    mass[i] := random(
    10
    );
    // заполняем массив случайными числами

    aver := aver + mass[i];
    // считаем суммы всех чисел

    write
    (mass[i],
    ' | '
    );
    // выводим массив

    end
    ;


    aver := aver / N;
    // считаем среднее арифметическое


    for
    i:=
    1
    to
    N
    do
    // пускаем цикл

    begin

    if
    (mass[i] > aver)
    then
    // если число больше сред.ариф.

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

    if
    (mass[i] < aver)
    then
    если число меньше сред.ариф.

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

    end
    ;

    writeln
    ;
    // переносим строку чтобы у нас все красиво отображалось

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

    writeln
    (
    'Больше среднего : '
    , more);
    // выводим результат

    writeln
    (
    'Меньше среднего :'
    , less);
    // выводим результат


    readln;
    // чтобы программа не закрывалась
    end
    .
    Предыдущая
    ПрограммированиеЗадачи по Pascal. Найти произведение цифр заданного четырехзначного числа.
    Следующая
    ПрограммированиеЗадачи по Pascal. Вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов.
    Помогли? Поставьте оценку, пожалуйста.
    Плохо
    0
    Хорошо
    0
    Супер
    0
    Спринт-Олимпик.ру
    Мы в ВК, подпишись на нас!

    Подпишись на нашу группу в ВКонтакте, чтобы быть в курсе выхода нового материала...

    Вступить
    ×