Вычисление суммы элементов массива




   В задачах анализа массив уже задан, и требуется найти какие-то его характеристики. Наиболее типичные базовые задачи анализа — нахождение суммы элементов массива, подсчет количества элементов, обладающих заданным свойством, определение минимального и максимального элементов.
         В предлагаемой классификации определение максимума и минимума, относятся к задачам анализа, так как максимальный элемент является характеристикой массива в целом. Поиск здесь ведется по относительному признаку (больше других), и опознать элемент как максимальный можно только просмотрев весь массив.
Задачи подсчёта
         К основным задачам подсчёта относятся задачи на нахождение суммы, произведения элементов массива, а также, задачи на нахождение количества элементов, удовлетворяющих определенным условиям.  При решении данных задач необходимо использовать следующие действия:
Название
Действие до цикла
Действие в циклеДействия после цикла
суммаs: = 0;s: = s + a [ i ]write ('s=',s);
произведениеp:= 1 ;p: = p * a [ i ]write ('p=',p);
количествоk: = 0;if условие then k: = k + 1write ('k=',k);

Задача 1. Составить программу нахождения суммы и произведения всех элементов одномерного массива.(.pas)
Исходные данные: массив x, содержащий n вещественных чисел.
Результат: сумма s и произведение p всех элементов массива.
Метод решения: 
- начиная с нулевого значения суммы, добавляем поочередно новый элемент ряда и находим значение искомой суммы;
- начиная с начального, единичного произведения, находим искомое произведение, умножая текущее значение произведения на очередной элемент ряда.


program SPMas;
         var  x: array [1..100] of  real;
         n, i: integer;
         s, p: real;
begin
         cls;
         writeln ('Введите размерность массива :');
         readln (n);
         {инициализируем s}
         s:=0;
         {инициализируем p}
         p:=1;
         writeln ('Введите элементы массива:');
           for i:=1 to n do
                                 begin
                                             write ('x[',i,']=');
                                             readln (x[i]);
                                             {вычисляем сумму}
                                             s:=s+x[i];
                                             {вычисляем произведение}
                                             p:=p*x[i];
                                 end;
         writeln ('Полученная сумма равна ', s);
         writeln ('Полученное произведение равно ', p);
end. 

Задача 2. Составить программу нахождения количества элементов целочисленного массива с нечетными индексами, запись которых оканчивается на 5. (.pas)
Исходные данные: массив a, содержащий n целых чисел.
Результат: k - количество элементов массива, запись которых оканчивается на 5 и имеющих нечетные индексы.
Метод решения: 
- в цикле: вводим элемент массива, если он удовлетворяют условию задачи, то значение переменной k увеличиваем на 1, затем вводим следующий элемент.
- выводим k.
program kol;
         const n=30;
         {Описываем массив}
         var a: array [1..n] of integer;
                 k,i: integer;
begin
         cls;
         {инициализируем k}
         k:=0;
         for i:=1 to n do begin 
                  {Вводим элемент массива}
                  read (a[i]);
                  {Проверяем}
                  if (a[i] mod 10=5) and (i mod 2<>0)
                                     then k:=k+1;
                end;
         writeln(k);
end.

Задача 3. Найти среднее арифметическое всех элементов массива.(.pas)
Исходные данные: массив x, содержащий n вещественных чисел.
Результат: sr - среднее арифметическое всех элементов массива.
Метод решения: 
- начиная с нулевого значения суммы sum, добавляем поочередно новый элемент ряда и находим значение суммы всех элементов массива;
- среднее арифметическое sr находим делением sum на n.
program SPMas;
var  x: array [1..100] of  real;
n, i: integer;
sum, sr: real;
begin
         writeln ('Введите размерность массива :');
         readln (n);
         {инициализируем s}
           sum:=0;
           {инициализируем sr}
           sr:=0;
           writeln ('Введите элементы массива:');
            for i:=1 to n do
                                      begin
                                                write ('x[',i,']=');
                                                readln (x[i]);
                                                {вычисляем сумму}
                                                sum:=sum+x[i];
                                      end;
                sr:=sum/n;
                writeln ('среднее арифметическое равно ', sr);
end. 


Комментариев нет:

Отправить комментарий