Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Товар цена кол-во



яблоки    
бананы    
арбузы    

Приведем постановку задачи и описание способа ее решения.

Постановка задачиСпособ решения

Определение суммарной

и максимальной стоимости товаров.

Дано:

(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 + cm s= s + cm

если k = 1 то if k = 1 then

max:= cm max = cm

ToвMax:= тов ТМ$ = tv$

инес cm > max то elseif c(m > max then

max:= cm max = cm

ToвMax:= тов TM = tv$

кесли end if

кцикл loop

вывод («cyммa=»,s)? «cyммa=»,s

вывод («Максимум»)? «Максимум»

вывод (ToвMax, max)? TM$, max

кон end

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

АлгоритмРезультаты выполнения

алг «сумма и максимум»

Нач

вывод («список товаров») список товаров

вывод («товар цена кол-во») товар цена кол-во

s:= 0; k = 0 s0 =0 [k = 0]

Цикл





Дата публикования: 2014-10-25; Прочитано: 672 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...