Информатика и технология программирования


Способы анализа программы


Назначение любой программы - давать определенный результат для любых входных значений. Результат же - это набор значений, удовлетворяющих некоторым условиям, или обладающий некоторыми свойствами. Если посмотреть на программу с этой точки зрения, то она имеет много общего с математической теоремой. Действительно, теорема утверждает, что некоторое свойство имеет место на множестве элементов (например, теорема Пифагора устанавливает соотношение для гипотенузы и катетов всех прямоугольных треугольников). Программа обладает тем же самым свойством : для различных вариантов входных данных она дает результат, удовлетворяющий определенным условиям. Поэтому анализ программы - это не что иное, как формулировка теоремы о том, какой результат она дает.

переменных.

Убедиться, что теорема верна, можно различными способами. (Обратите внимание - убедиться, но не доказать ). Точно так же можно убедиться, что программа дает тот или иной результат :



- выполнить программу в компьютере или проследить ее выполнение на конкретных входных данных " на бумаге" (анализ методом единичных проб ) ;



-разбить программу на фрагменты с известным " смыслом" и попробовать соединить результаты их выполнения в единое целое (анализ на уровне неформальной логики и " здравого смысла " ) ;



-формально доказать с использованием логических и математических методов (например, метода математической индукции), что фрагмент дает заданный результат для любых значений входных переменных ( формальный анализ).

Те же самые методы можно использовать, если результат и " смысл" программы не известен. Тогда при помощи единичных проб и разбиения программы на фрагменты с уже известным " смыслом" можно догадаться, каков будет результат . Такой же процесс, но в обратном направлении имеет место при разработке программы . Можно попытаться разбить конечный результат на ряд промежуточных, для которых уже имеются известные фрагменты.

Смысл фрагментов алгоритмов может быть разным :




Начало  Назад  Вперед



Книжный магазин