КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Товар цена кол-во
Кон Кцикл Цикл Нач вывод («список сотрудников:») список сотрудников: s:= 0: k:= 0 S0 = 0 [ k = 0 ] чтение (fam$, dl$, z) при fam$ = «» выход вывод (fam$, dl$, z) <famk> <dlk> <zk> }* k:=k + 1 [ k= (1...N) ] s:= s*(k - 1)/k + z/k sk = sk - 1×(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∙М11 TovMax - товар максимальной инеc Сk ∙ Мk > mахk-1 то стоимости. Где: mахk = Сk ∙ Мk Sum = C1 ∙ M1 + С2 ∙ М2 +... + СN ∙ МN, все TovMax: C×M = Мах(С1 ∙ М1,...,СN ∙ МN). кцикл При: N > 0.
Прежде чем приступить к составлению алгоритмов и программ, убедимся в правильности выбранного способа решения. Для этого проверим результаты на первых шагах, в середине и в конце вычислений. На первом шаге при k = 1 результат
s1 = s0 + С1 ∙ М1 = С1 ∙ M1, max1 = С1 ∙ М1.
На втором шаге вычислений будут получены следующие значения:
s2 = s1 + С2 ∙ М2 = C1 ∙ M1 + С2 ∙ М2, max2 = С2 ∙ М2, при С2 ∙ М2 > max1 = Мах(mах1, С2 ∙ М2), max1, при С2 ∙ М2 £ max1 = Мах(mах1, С2 ∙ М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 Сравнение результатов выполнения представленных алгоритма и программы с описанием выбранного способа решения показывает их полное соответствие друг другу. АлгоритмРезультаты выполнения алг «сумма и максимум»
Дата добавления: 2014-11-25; Просмотров: 388; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |