120
кон
return
Правильность составленного комплекса алгоритмов и программы расчета достатка семьи можно
проверить по описанию результатов их выполнения:
«достаток семьи»
«подсчет доходов»
«подсчет расходов»
Подсчет достатка
Доходы семьи:
Sd
0
= 0 [k = 0]
Sr
0
= 0 [i = 0]
<подсчет_доходов>
Доходов = <Sd>
Расходы семьи:
[k =(1...N)]
[i =(1...M)]
<подсчет_расходов>
<имя
k
> <d
k
>
<стат
i
> <r
i
>
Расходов = < Sr>
Sd
k
= Sd
/k-l/
+d
k
Sr
i
== Sr
i-1
+ r
i
{ S = Sd - Sr
Достаток = <S>
Для обоснования правильности всего комплекса алгоритмов и программы в целом необходимо
показать правильность каждого из вспомогательных алгоритмов: «подсчет доходов» и «подсчет
расходов».
Для первого алгоритма для первых шагов вычисления получаем:
Sd
0
= 0,
Sd1 = Sd
0
+ d1 = d1,
Sd2 = Sd1 + d2 = d1 + d2.
Для последующих шагов можно заключить, что
Sd
k
= Sd
k-1
+ d
k
= d1 + d2 + ... + d
k-1
+ d
k
.
Это доказывается с помощью математической индукции. В силу этого утверждения окончательным
результатом вычислений станет сумма доходов
Sd
N
= d1 + d2 + ... + d
N-1
+ d
N
.
Следовательно, алгоритм подсчета доходов правильный.
Для второго алгоритма подсчета расходов получаются аналогичные оценки:
Sr
0
= 0,
Sr1 = Sr
0
+ r1 = r1,
Sr2 = Sr1 + r2 = r1 + r2,
и для последующих шагов вычислений:
Sr
i
= Sr
i-1
+ r
i
= r1 + r2 +... + r
i-1
+ r
i
.
Это доказывается также с помощью математической индукции. На основании этого утверждения
можно сделать заключение о конечном результате выполнения алгоритма:
Sr
M
=
r1 + r2 + ... + r
M-1
+ r
M
.
Следовательно, алгоритм подсчет расходов правильный. Но в основном алгоритме содержится
единственная расчетная формула
S = Sd - Sr.
|