Основной путь алгоритмизации, т. е. построения алгоритмов решения задач, связан с математическим моделированием. Действительно, большинство задач формулируется:
- либо в виде моделей изучаемых объектов или процессов (например, движение тела, брошенного под углом к горизонту, колебания маятника и пр.);
- либо непосредственно в виде математических формул, уравнений и т. д.
Моделирование
Математическая модель, по сути, описывает отношения между входными (исходными) данными и результатами (выходными данными) расчета в аналитическом виде.
Эти отношения выражаются линейными или другими алгебраическими, дифференциальными и т. д. уравнениями, определяющими алгоритм решения задачи. Итак, построение алгоритма решения задачи требует, как правило, наличия определенной математической модели.
Следует заметить, что не все модели удается описать в аналитическом виде. К таким моделям относятся многие:
- экономические модели
- биологические модели человека
- различные социальные модели
Часто целесообразно описывать модели не на математическом, а на естественном языке, при помощи различных алгоритмов надсимвольной информации. Соответственно и алгоритмы решения задач могут быть представлены с помощью различных средств.
Мы уже говорили на todid.ru, что алгоритм должен быть понятен исполнителю. Это означает, что если алгоритм задан в виде текста (списка предписаний, правил), то при его прочтении у исполнителя не должно возникать никаких вопросов. Для этого, прежде всего, необходим язык, описывающий алгоритмы в некоторой однообразной стандартной форме.
Иными словами, для формального исполнения алгоритма необходимо разработать и применять специальный алгоритмический язык — систему обозначений и правил для единообразной и точной записи алгоритмов и их исполнения.
Представление алгоритмов
Охарактеризуем основные, традиционно используемые, способы представления алгоритмов.
Алгоритмы могут быть описаны при помощи различных средств. Наиболее распространенными являются три формы записи алгоритмов:
- аналитическая (формульная)
- табличная
- и развернутая
Процесс вычислений по формулам можно описать при помощи таблицы, что часто используют как вспомогательный прием, позволяющий:
- в более удобном виде представлять промежуточные результаты
- легче проверять правильность выполнения каждого шага алгоритмического процесса
- быстро устанавливать корректность алгоритмов
Формульное и табличное представление целесообразны для реализации алгоритмов одного специального (об алгоритмической культуре), хотя и очень распространенного типа — вычислений по заданной формуле.
Однако наиболее широкую область применения имеет развернутая форма записи, при которой алгоритм может походить на естественный для исполнителя (например, русский) язык и алгоритмы на этом языке могут записываться и читаться почти как обычный текст.
Для записи алгоритмов часто используются также графики, схемы, различные символы и т. д.
Широко применяется на практике и развернутая запись алгоритмов в виде блок-схем. Это, по сути, графическая форма представления алгоритма, содержащая тот же набор предписаний.
Наглядность блок-схемы имеет не только дидактическое значение.
Дело в том, что в достаточно больших и сложных алгоритмах, содержащих много команд, без графического представления очень трудно проследить логику последовательности действий, прежде всего — разветвления и циклы.
Широкое распространение получил также язык синтаксических диаграмм, который прошел апробацию в экспериментальном обучении программированию школьников еще в прошлом столетии.