Задачи по Pascal. Сумма четных и произведение нечетных элементов массива

pascalУсловие задачи : Найти сумму четных и произведение нечетных элементов(чисел) массива.

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

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

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

И так погнали, создаем массив и у него будет свой тип данных, зачем читайте (тут)

type
   massiv = array [1.100] of integer; // объявляем свой тип данных
 
var
   mass : massiv ;

Теперь надо подумать какие переменные нам нужны :
1. Для массива, уже создали (mass).
2. Для суммы четных чисел (sum)
3. Для произведения нечетных чисел (proiz)
4. Для цикла for, хоть как —- i
5. И для кол-ва элементов массива —- n

var
   mass : massiv ;
   sum, proiz , i , n: integer;

Дальше просим пользователя ввести длину массива , ну и присвоим переменным sum и proiz начальные значения, чтобы всё у нас работало правильно :

write('Введите длину массива : '); readln(n);

sum := 0 ;
proiz := 1 ; // единица потому что у нас умножение, если умножать на 0 будет 0 всегда!!

Теперь цикл , как и сказал в нем мы будем просить пользователя ввести число а потом эти числа проверять на четность :

for i:=1 to n do
    begin
        write('Введите ', i , ' элемент : '); readln(mass[i]);
        if (mass[i] mod 2 = 0) then sum := sum + mass[i]
        else proiz := proiz * mass[i];
    end;

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

writeln('Сумма четных чисел равна ', sum);
writeln('Произведение нечетных чисел равно ', proiz);

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

uses crt;
type
   massiv = array [1..100] of integer; // объявляем свой тип данных

var
   mass : massiv ;
   sum, proiz , i , n: integer;

begin
clrscr;

write('Введите длину массива : '); readln(n);

sum := 0 ;
proiz := 1 ; // единица потому что у нас умножение, если умножать на 0 будет 0 всегда!!

for i:=1 to n do
    begin
        write('Введите ', i , ' элемент : '); readln(mass[i]);
        if (mass[i] mod 2 = 0) then sum := sum + mass[i]
        else proiz := proiz * mass[i];
    end;

writeln('Сумма четных равна ', sum);
writeln('Произведение нечетных равно ', proiz);

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

end.

Вот результат :

summaandproizv

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *