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


Дата добавления: 2014-11-24 | Просмотров: 1496


<== предыдущая страница | Следующая страница ==>

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

 

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

 

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

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

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

Дано:

(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 = C1M1 + С2М2 + ... + СNМN, все

TovMax: C×M = Мах(С1М1, ... ,СNМN). кцикл

При: N > 0.

Прежде чем приступить к составлению алгоритмов и программ, убедимся в правильности выбранного способа решения. Для этого проверим результаты на первых шагах, в середине и в конце вычис­лений. На первом шаге при k = 1 результат

s1 = s0 + С1М1 = С1M1,

max1 = С1М1.

На втором шаге вычислений будут получены следующие значе­ния:

s2 = s1 + С2М2 = C1M1 + С2М2,

max2 = С2М2, при С2М2 > max1 = Мах(mах1, С2М2),

max1, при С2М2 £ max1 = Мах(mах1, С2М2).

На третьем и последующих шагах в общем случае будут получать­ся результаты:

sk = sk-1 + CkMk = C1M1 + … + CkMk,

maxk = Max(maxk-1, СkМk) = Мах(С1М1, ..., СkМk).

Для доказательства этих утверждений необходимо предположить, что они выполняются для случая k-1:

sk-1 =C1M1 +...+ Ck-1Mk-1,

maxk-1 = Max (C1M1, …,Ck-1Mk-1),

и подставить эти выражения в соотношения для sk и mахk:

sk = sk-1 + CkMk = C1M1 + … Ck-1Mk-1 + CkMk,

maxk = Max(maxk-1, СkМk) = Мах(С1М1, ..., СkМk).

В силу математической индукции эти утверждения верны для всех k = 1, 2, ..., N. Поэтому на последнем шаге вычислений при k = N будут получены окончательные результаты:

sN = sN-1 + CNMN = C1M1 + … + CNMN,

maxN = Max(maxN-1, СNМN) = Max(C1M1, ... , С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 + 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

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

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


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 |

При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.05 сек.)