При выбранных сценарии, методе расчета и представлении данных систематическое конструирование приводит к следующим алгоритму и программе.
АлгоритмПрограмма
алг «средняя зарплата» ' средняя зарплата
нач cls
вывод («список сотрудников:»)? «список сотрудников:»
s:= 0: k:= 0 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 + 1 k = k + 1
s:= s*(k - 1)/k + z/k s = s*(k - 1)/k + z/k
кцикл loop
zsr = s zsr = s
вывод («средняя 3/nлama=»,zsr)? «средняя з/плата=»; zsr
кон end
Для полного обоснования отсутствия ошибок в приведенном алгоритме и программе приведем описание результатов их выполнения на ЭВМ.
АлгоритмРезультаты выполнения
Алг «средняя зарплата»
Нач
вывод («список сотрудников:») список сотрудников:
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>
Кон
Сравнение результатов выполнения программы с описанием метода вычисления и выбранного сценария подтверждает их соответствие друг другу и как следствие правильности выбранного метода вычислений - правильность составленных алгоритма и программы расчета средней зарплаты.
|
|
В качестве второго примера рассмотрим решение типичной задачи подсчета суммарной стоимости товаров с выделением товаров наибольшей стоимости. Допустим, что исходные данные представлены следующей таблицей: