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

Задачи по Pascal

Условие задачи : Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.

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

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

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

Первое что мы сделаем мы создадим свой тип данных как и зачем читайте (тут) :

type
   massiv = array [1..1000] of integer;

Теперь какие нам нужны переменные ?

  1. Для кол-ва элементов.
  2. Для цикла for
  3. Для массива
  4. И для суммы.
var
    mass : massiv;
    n , i, summa : integer; 

Теперь просим пользователя ввести длину массива, и присваиваем нашей сумме 0, для корректной работы.

write('Введите кол-во элементов : ');readln(n);
summa := 0 ;

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

for i:=1 to n do
        begin
            write('Введите ',i, ' элемент : '); readln(mass[i]);
            summa := summa + mass[i]; // считаем сумму
        end;

Т.е. в этом цикле мы считаем сумму всех чисел которые вводим, но нам нужны только четные. Как правильно определить четность числа вы можете посмотреть (тут)

Нечего трудного в этом нет, просто используем операцию mod, которая ищет остаток от деления.

write('Введите ',i, ' элемент : '); readln(mass[i]);

if (mass[i] mod 2 = 0) then 
        summa := summa + mass[i] // считаем сумму
else 
    writeln('Число ', mass[i], ' нечетное, к сумме прибавлено не будет');

Т.е. когда мы вводим число, после этого сразу идет условие, если введенное число четное, то мы прибавляем его к сумме, если нет то выводи сообщение, и сумма при этом не меняется.

Вот и всё решение задачи. Сумма четных элементов массива найдена.

Весь код программы:

uses crt;
type
   massiv = array [1..1000] of integer;
var
    mass : massiv;
    n , i, summa : integer; 

begin
   clrscr;
   write('Введите кол-во элементов : ');readln(n);
   summa := 0 ;

   for i:=1 to n do
        begin
           write('Введите ',i, ' элемент : '); readln(mass[i]);
           if (mass[i] mod 2 = 0) then 
              summa := summa + mass[i] // считаем сумму
           else 
              writeln('Число ', mass[i], ' нечетное, к сумме прибавлено не будет');
        end;

   writeln('Сумма четных эл-тов равна : ', summa);
   readln;// чтобы программы не закрывалась.
end.

cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий