Нахождение суммы элементов массива — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Нахождение суммы элементов массива

2023-01-16 21
Нахождение суммы элементов массива 0.00 из 5.00 0 оценок
Заказать работу

Пусть известно, что в автопарке, имеющем 18 машин марки КАМАЗ, каждый из КАМАЗов перевез за день определенный объем груза. Определить суммарный объем перевозок грузов за день.

При решении задачи будем использовать тип массива KAMAZ для описания всех КАМАЗов автопарка; переменную Р[i] для описания объема груза, перевезенной i-ой машиной за день (i меняется от 1 до 18).

 

Алгоритм решения задачи:

 

Текст программы может иметь при этом следующий вид:

Program pr1;

Type KAMAZ =array[1..18] of real;

Var i:integer;

P:KAMAZ;

S:real;

Begin

S:=0;

For i:=1 to 18 do

Begin

Writeln (‘Введите объем перевозок ’, i, ‘–й машины, т’);

Readln (p[i]);

S:=S+p[i];

End;

Writeln (‘Суммарный объем перевозок S=’,S:8:2,’ т’);

End.   

 

Накопление суммы в данном примере будет проводиться по шагам, при вводе для очередной машины значения объема перевозок сумма будет увеличиваться на данную величину.

Аналогично реализуется и алгоритм нахождения произведения элементов массива (с заменой начального значения суммы S:=0 на начальное значение произведения S:=1, и с заменой операции сложения элементов массива «+» на операцию умножения «*»).

Нахождение наибольшего элемента в массиве

Известна среднемесячная зарплата всех 16 сотрудников одного отдела. Найти величину наибольшей среднемесячной зарплаты в отделе.

Для описания списка зарплат сотрудников воспользуемся типом массива ZARPL, для задания зарплаты каждого из сотрудников – переменной SOTR.

 

Алгоритм решения задачи:

Текст программы к приведенному примеру:

Program pr2;

Type ZARPL=array[1..16] of real;

Var i:integer;

  sotr:ZARPL;

  Max: real;

Begin

For i:=1 to 16 do

Begin

Writeln (‘Введите зарплату ’, i,’ –го сотрудника, руб.’);

Readln(sotr[i]);

End;

Max:=sotr[1];

For i:=2 to 16 do if max<sotr[i] then max:=sotr[i];

Writeln(‘Наибольшая зарплата =’,max:10:2,’ руб.’);

End.

 

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

Аналогично может быть найден и наименьший элемент в массиве. Для этого достаточно заменить в изложенной программе условие max<sotr[i] на условие min>sotr[i], где i меняется от 1 до 1 до 16, min – переменная типа REAL.

 

Нахождение количества элементов массива, удовлетворяющих некоторому условию

Известны результаты экзамена 22 студентов одной группы по информатике. Определить, сколько студентов сдали экзамен на 4 и 5.

Один из вариантов решения поставленной задачи имеет следующий вид:

Program pr3;

Label 1;

Type INF=array[1..22] of integer;

Var stud:INF;

  i,p:integer;

begin

p:=0;

for i:=1 to 22 do

begin

1: writeln(‘Введите оценку ’,i,’-го студента’);

readln(stud[i]);

if (stud[i]<1) or (stud[i]>5) then goto 1;

if stud[i]>3 then p:=p+1;

end;

writeln(‘На 4 и 5 сдали экзамен ’,p:2,’ студентов’);

end.

 

В данной программе для обозначения списка оценок по информатике использовался тип массива INF, для обозначения оценок конкретных студентов – переменная stud. Программа предусматривает проверку корректности вводимых данных: при попытке ввода несуществующей по пятибалльной системе оценки, программа повторяет ее ввод. Для этого используется оператор перехода GOTO, где имя метки, к которой осуществляется переход (в данном случае 1), описывается в разделе описания меток LABEL.


Поделиться с друзьями:

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.