Основные вопросы постановки задач
Постановка новой прикладной задачи проходит две фазы: вначале идет содержательная постановка, затем — формальная, затем — аналитическая фаза.
Содержательная постановка — это по возможности полное описание задачи в терминах предметной области (например, экономики или шоу-индустрии). Важны следующие элементы этой фазы:
- какие факторы нужно учесть;
- какие конкретно вопросы требуют ответа;
- каковы требования в точности этих ответов;
- в каких пределах будут меняться значения исходных данных;
- какова степень точности этих данных;
- каким целям будет служить искомый результат и каков оправданный объем ресурсных затрат с точки зрения достижения этих целей.
Формальная постановка — это описание задачи с помощью логических и математических формул, таблиц, граф-схем, иерархических деревьев, перечня используемых файлов и т. д.
Аналитическая фаза состоит в создании плана решения, определении наиболее подходящих методов выполнения отдельных этапов, в оценке пригодности имеющихся готовых алгоритмических и программных средств, проверке наличия необходимых вспомогательных материалов и данных. Может потребоваться обоснованный выбор того или иного языка программирования.
Основные свойства компьютерных алгоритмов
Алгоритм — это четко изложенное правило получения ответа путем выполнения последовательности операций, реализуемых компьютером. Введем такие понятия, как задание, инициатор и исполнитель. Задание — некоторая последовательность действий, которые должен произвести исполнитель по указанию инициатора, причем после выдачи задания инициатор не должен вмешиваться в работу исполнителя до ее нормального завершения. Такое возможно при условии, что:
- формулировка задания полностью отвечает условиям исходной задачи;
- инициатор сформулировал задание так, что оно безусловно может быть однозначно и правильно воспринято и понято исполнителем;
- задание включает только такие действия, которые исполнитель способен произвести без дополнительных разъяснений;
- задание включает весь набор действий для получения результата.
В триаде задание–инициатор–исполнитель роли распределяются так: