для решения эl 545t1910f 2;ономических задач существенно упрощает работу по подготовке и обработке данных. Одной из причин в использовании ЭВМ для решения этих задач - снижение трудоемкости и уменьшение числа ошибок при обработке данных.
Для решения многих экономических задач на ЭВМ используются эl 545t1910f 3;ектронные таблицы и специальные пакеты программ. Однако решение любых новых прикладных задач на ЭВМ предполагает необходимость создания новых алгоритмов и программ на основе определенных математических методов решения и обработки данных.
Особое значение правильность алгоритмов имеет для эl 545t1910f 2;ономических задач, поскольку ошибки в их решении могут дорого стоить. Неправильные экономические расчеты могут нанести материальный ущерб или даже привести к банкротству целую организацию.
способы
методы
алгоритмы
ЭВМ программы
способ
методы
алгоритмы
программы
должность зарплата
Метод расчета
(D1, DN) -
D [Fam, Z]
Fam D1 S0
Z - зарплата. Sk = Sk-1*(k-l )/k Zk/k
Треб: Zcpeдн - средняя зарплата. k=(l...N)]
Где: Zcpeдн = (Z1 + Z2 + ... + ZN)/N. Zcpeдн = SN
При: N > 0.
k
S1=S0∙ (1 +Z1/1 =Z1/1.
При k = 2 результат
S2 S1∙ (2 Z2/2 Z1/2 Z2/2.
k
S3 S2∙ (3 Z3/3 (Z1 Z2)/3 Z3/3.
По этим трем результатам можно утверждать, что в общем случае результатом k-го шага вычислений будет
Sk = (Z1 + ... + Zk)/k.
(k-l)- o
Sk-1 = (Z1 + ... + Zk-1)/(k-l).
k-e
Sk Sk-1∙ (k-l)/k + Zk/k =
(Z1 Zk-1)/(k-l) (k-l)/k Zk/k (Z1 Zk-1)/k Zk/k.
Что и требовалось доказать. Следовательно, в силу математической индукции это утверждение справедливо для всех k = 1, 2,..., N. В частности, для последнего шага вычислений при k = N
SN (Z1 ZN-1)/N ZN/N (Z1 ZN)/N.
Z1, Z2, ..., ZN.
data.
dan:
data
data
средняя з/плата= <Zcpeд> data
data
методе расчета и представлении данных систематическое конструирование приводит к следующим алгоритму и программе:
cls
s k s = 0: k = 0
do
(fam$, dl$, zpl) read fam$, dl$, zpl
fam$ if fam$ then exit do
(fam$, dl$, z) fam$; dl$; z
k k k k
s s*(k 1)/k z/k s s*(k 1)/k z/k
loop
zsr s zsr s
з/nлama=»,zsr) zsr
end
s := 0: k S0 = 0 [ k = 0 ]
чтение (fam$, dl$, z)
fam$
(fam$, dl$, z) <famk> <dlk> <zk>
k:=k [ k= (1...N)
s s*(k 1)/k z/k sk sk (k 1)/k zk/k
zsr s zsr sN
/nлama=»,zsr) <zsr>
В качестве второго примера рассмотрим решение типичной задачи подсчета суммарной стоимости товаров с выделением товаров наибольшей стоимости. Допустим, что исходные данные представлены следующей таблицей:
товар
(D1, DN) -
где D = [Tov, C, M] s0 = 0
Tov от k = 1 до N цикл
sk sk-1 + Сk Мk
если k = 1 то
Sum - суммарная стоимость товаров, mах1 = С11
TovMax инеc Сk Мk > mахk-1 то
mахk = Сk Мk
Sum = C1 ∙ M1 М2 + ... + СN МN,
TovMax: C M М1, ... ,СN МN).
При: N > 0.
k
s1 = s0 ∙ M1,
max1
s2 = s1 C1 ∙ M1 +
max2 = М2 > max1 = Мах(mах1, С2
max1, max1 = Мах(mах1, С2
sk = sk-1 + Ck ∙ Mk = C1 ∙ M1 + . + Ck ∙ Mk,
maxk = Max(maxk-1, Сk Мk) = Мах(С1 М1, ..., Сk Мk).
k-1:
sk-1 =C1 ∙ M1 Ck-1 ∙ Mk-1,
maxk-1 Max (C1 ∙ M1, .,Ck-1 ∙ Mk-1
sk и mахk:
sk = sk-1 + Ck ∙ Mk = C1 ∙ M1 + . Ck-1 ∙ Mk-1 + Ck ∙ Mk,
maxk = Max(maxk-1, Сk Мk) = Мах(С1 М1, ..., Сk Мk).
В силу математической индукции эти утверждения верны для всех k = 1, 2, ..., N. Поэтому на последнем шаге вычислений при k = N будут получены окончательные результаты:
sN = sN-1 + CN ∙ MN = C1 ∙ M1 + . + CN ∙ MN,
maxN = Max(maxN-1, СN ∙ МN) = Max(C1 ∙ M1, ... , СN ∙ МN).
Для систематичности разработки примем следующий сценарий диалога и представление исходных данных в операторах data.
список товаров
цена кол-во
<тов1> <с1> <т1> * dan: 'сведения о товарах
data яблоки, 8000, 3
<Sum> data бананы, 4000, 2
data арбузы, 1000, 20
<товар> <стоим> data «», 0, 0
'
сls
? «список товаров»
? «товар цена кол-во»
s := 0; k = 0 s = 0: k = 0
do
read tv$, с, m
if tv$ = «» then exit do
k := k + 1 k = k + 1
? fv$; с; m
s :=s + c m s= s + c m
если k = 1 то if k = 1 then
max := c m max = c∙m
ToвMax ТМ$ = tv$
инес c m > max то elseif c(m > max then
max := c m max = c m
ToвMax := тов TM = tv$
end if
loop
вывод («cyммa=»,s) ? «cyммa=»,s
вывод (ToвMax, max) ? TM$, max
end
Результаты выполнения
список товаров
товар цена кол-во
s k s0 [k
k:=k+1 [k= 1,2,...,N]
*
s := s + с sk = sk-1 + ck mk
если k при k = 1
c m max1 = c m1
To Maх1 = тов1
u c m > тах то при сk mk > mах
mахk = сk mk
ТовМахk = товk
вывод («сумма=», s) cуммa = <sN>
Максимум
<ToвMaxN> <maxN>
Доходы Расходы
Метод решения
S = Sd Sr
D N Sd = сN
R k k-1 dk
d), k (1...N)]
расх = (стат, r). с0 = 0
Треб.: S - достаток семьи. Sr = bM
bi = bi-1 + ri
S = Sum (d1, , dN) Sum (r1, rM). [i = M)]
: N, M > 0. b0
data,
doch:
data
<имяk> <dk> data
... ... data
<Sd> data
<статk> <rk> rash:
data
<Sd> data
<S> data
data
cls
gosub dchs
Sd) Sd
gosub rashs
Sr) Sr
S := Sd - Sr S = Sd - Sr
вывод («Достаток=», S) ? «Достаток=», S
end
dchs: 'подсчет доходов»
restore doch
Sd := 0 Sd = 0
do
d) read nam$, d
if nam$ then exit do
d) nam$, d
Sd Sd d Sd Sd d
loop
return
rashs
restore rach
Sr := 0 Sr = 0
do
r) read stat$, r
if st$ = then exit do
вывод (стат, r) st$, r
Sr Sr r Sr Sr r
loop
return
Sd0 [k Sr0 [i
<подсчет_доходов>
<Sd>
[k =(1...N)] [i =(1...M)]
<подсчет_расходов> <имяk> <dk> <статi> <ri>
Расходов = < Sr> Sdk = Sd/k-l/+dk Sri Sri-1 + ri
S Sd Sr
<S>
Sd0
Sd1 = Sd0 d1 = d1,
Sd2 Sd1 d2 d1 d2.
Sdk = Sdk-1 + dk = d1 + d dk-1 dk.
SdN d1 d2 dN-1 + dN.
Sr0 = 0,
Sr1 = Sr0 + r1 = r1,
Sr2 Sr1 + r2 = r1 + r2,
Sri = Sri-1 ri = r1 + r2 +... + ri-1+ ri.
SrM r1 + r2 + ... + rM-1+ rM
S = Sd - Sr.
S = Sd - Sr = (d1 + d2 + ... + dN) - (r1 + r2 + ... + rM).
2. Каждый из N магазинов в течение месяца работал D дней (N и D - заданные числа 1, 2, .... N). Известна прибыль каждого магазина в каждый день его работы. Необходимо напечатать упорядоченный по месячным доходам список названий магазинов, имеющих прибыль в пересчете на один день работы выше средней дневной прибыли по всем магазинам.
3. Каждое из N предприятий города выпускает М одинаковых наименований продукции (N и М, наименования продукции и названия предприятий известны). Заданы объем выпуска и стоимость единицы продукции каждого вида для каждого из предприятий. Необходимо для каждого вида продукции определить предприятия, выпускающие наибольший объем этой продукции.
4. Из разных городов выбрали N семей (N -
5. Ассортимент N магазинов состоит из М товаров (N, М
|