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

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

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

2023-01-16 22
Нахождение суммы элементов массива 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.008 с.