121
В силу доказанных утверждений о результатах выполнения алгоритмов «подсчета доходов» и
«подсчета расходов» конечным результатом вычислений станет величина
S = Sd - Sr = (d1 + d2 + ... + d
N
) - (r1 + r2 + ... + r
M
).
Что и требовалось доказать. Следовательно, весь комплекс алгоритмов и программа в целом
правильны.
Вопросы
1. К чему приводят ошибки в экономических программах?
2. Кто отвечает за ошибки в экономических программах?
3. Что дают постановки задач?
4. Зачем нужны описания методов?
5. Как проверяется правильность методов?
6. Зачем нужны описания результатов?
Задания
1. В магазине имеются товары различных наименований. В течение дня каждый из М покупателей (М -
заданное число) сообщил о своем намерении приобрести определенное количество товара одного из на-
именований. Требуется определить суммарный спрос на товары каждого наименования, расположив товары в
порядке убывания дневного спроса на них.
2. Каждый из N магазинов в течение месяца работал D дней (N и D - заданные числа 1, 2, .... N). Известна
прибыль каждого магазина в каждый день его работы. Необходимо напечатать упорядоченный по месячным
доходам список названий магазинов, имеющих прибыль в пересчете на один день работы выше средней дневной
прибыли по всем магазинам.
3. Каждое из N предприятий города выпускает М одинаковых наименований продукции (N и М, наименования
продукции и названия предприятий известны). Заданы объем выпуска и стоимость единицы продукции каждого
вида для каждого из предприятий. Необходимо для каждого вида продукции определить предприятия,
выпускающие наибольший объем этой продукции.
4. Из разных городов выбрали N семей (N - заданное число). Каждая семья характеризуется числом членов и
доходом каждого из них. Для каждого города сформировать перечень семей с минимальным доходом в пересчете
на отдельного члена семьи, указав порядковые номера семей из общего списка.
5. Ассортимент N магазинов состоит из М товаров (N, М
и названия товаров заданы). Каждый товар
характеризуется наличием или отсутствием его в магазине, а также наличием или отсутствием на него спроса
покупателей. Требуется перечислить названия ходовых (есть спрос и товар имеется хотя бы в одном магазине),
неходовых (спрос отсутствует, а товар имеется хотя бы в одном магазине) и дефицитных (спрос есть, а товара нет
ни в одном из магазинов) товаров.
5.4. Элементы доказательного программирования
Доказательное программирование
это составление программ с доказательством их
правильности. Сложность составления и доказательства правильности алгоритмов и программ состоит в
следующем.
Для заключений о наличии ошибок в алгоритме или в программе достаточно указать тест, при
котором произойдет сбой, отказ или будут получены неправильные результаты. Поиск и исправление
ошибок в программах обычно проводятся на ЭВМ.
Для утверждений о правильности программ необходимо показать, что правильные результаты
будут получаться для всех допустимых данных. Такие утверждения могут быть доказаны только путем
исчерпывающего анализа результатов выполнения программ при любых допустимых данных.
|