Задачи по Pascal. Найти сумму элементов массива с четными номерами, произведение отрицательных элементов, количество нечетных элементов.

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

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

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

До начала решения задачи прочитайте вот ( это ), там мы искали среднее арифметическое элементов с нечетными номерами, прочитайте там начало и вы поймете что значит элементы с четными номерами.

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

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

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

    type

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

    mass : massiv;
    // объявляем

    summa, proiz, count, n, i :
    integer
    ;
    // переменные

    begin

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

    summa :=
    0
    ; proiz :=
    1
    ; count :=
    1
    ;
    // присваиваем начальные значение переменным чтобы не было ошибок

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

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

    Обратите внимание что у переменной proiz начальное значение 1 а не 0, если будет 0, то произведение всегда будет равно 0.

    Теперь довольно просто цикл :

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

    begin

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

    // проверяем введенное пользователем число на все условия

    if
    (i
    mod
    2
    =
    0
    )
    then
    // если номер элемента четный

    summa := summa + mass[i];

    if
    (mass[i] <
    0
    )
    then
    // если введенное число меньше 0

    proiz := proiz * mass[i];

    if
    (mass[i]
    mod
    2
    <>
    0
    )
    then
    // если введенное число нечетное

    count := count +
    1
    ;

    end
    ;

    Всё довольно просто, каждое введенное пользователем число мы проверяем на три условия.

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

    type

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

    mass : massiv;
    // объявляем

    summa, proiz, count, n, i :
    integer
    ;
    // переменные

    begin

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

    summa :=
    0
    ; proiz :=
    1
    ; count :=
    1
    ;
    // присваиваем начальные значение переменным чтобы не было ошибок

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

    begin

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

    // проверяем введенное пользователем число на все условия

    if
    (i
    mod
    2
    =
    0
    )
    then
    // если номер элемента четный

    summa := summa + mass[i];

    if
    (mass[i] <
    0
    )
    then
    // если введенное число меньше 0

    proiz := proiz * mass[i];

    if
    (mass[i]
    mod
    2
    <>
    0
    )
    then
    // если введенное число нечетное

    count := count +
    1
    ;

    end
    ;

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

    writeln
    (
    ‘Произведение отрицательных элементов : ‘
    , proiz);
    // выводим результат

    writeln
    (
    ‘Количество нечетных элементов : ‘
    , count);
    // выводим результат

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

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

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

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