
- •3.1. Моделирование. Формы представления моделей
- •3.2. Этапы решения задач на эвм
- •Постановка задачи
- •Формализация
- •Алгоритмизация
- •Программирование
- •Отладка и тестирование программы
- •Компьютерный эксперимент
- •3.3. Алгоритм
- •3.4. Свойства алгоритмов
- •3.5. Способы описания алгоритмов
- •3.6. Основные виды алгоритмов
- •Линейный алгоритм
- •Алгоритмическая структура «ветвление»
- •Циклические алгоритмы
3.4. Свойства алгоритмов
1. Дискретность (прерывность). Описываемый процесс должен быть разбит на последовательность отдельных шагов. Возникающая при этом запись представляет собой упорядоченную совокупность четко разделенных друг от друга предписаний (директив, команд), образующих прерывную (дискретную) структуру алгоритма: только выполнив требования одного предписания, можно приступить к выполнению следующего.
2. Понятность. Используемые на практике записи алгоритмов составляются с ориентацией на определенного исполнителя. Составляя алгоритм, нужно знать, какие предписания этот исполнитель может понять и исполнить, а какие нет. У каждого исполнителя имеется свой перечень предписаний, которые для него понятны и которые он может исполнить. Такой перечень называют системой команд исполнителя (СКИ). Составляя запись алгоритма для определенного исполнителя, можно использовать лишь те команды, которые входят в его СКИ.
3.Определенность (детерминированность). Будучи понятным, алгоритм не должен содержать предписаний, смысл которых воспринимается неоднозначно, т.е. алгоритм не должен оставлять места для произвола исполнителя. Предписание типа "Взять 2-3 ложки сахарного песка" или "умножить х на одно из двух данных чисел a или b" недопустимы в записи алгоритма. Кроме того, в алгоритмах недопустимы ситуации, когда после выполнения очередного предписания исполнителю не ясно, какое предписание алгоритма должно выполняться на следующем шаге.
4. Массовость. Наиболее предпочтительными являются алгоритмы, обеспечивающие решение широкого класса задач данного типа. В простейшем случае алгоритм должен обеспечивать возможность использования различных допустимых значений исходных данных, например: решение квадратного уравнения ах2+bх+с=0 в области действительных чисел может быть найдено по формулам, которые применимы не для одного, а для многих квадратных уравнений с коэффициентами а,b,с, удовлетворяющими условию: D = b2 -4ас > 0
5. Результативность. Это обязательное требование к алгоритмам, смысл которого состоит в том, что при точном исполнении всех предписаний алгоритма процесс должен прекратиться за конечное число шагов и при этом должен быть получен какой-либо определенный ответ на вопрос задачи.
Разработка алгоритма – трудоемкая задача, требующая от человека глубоких знаний и больших временных затрат. Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям. Исполнитель не обязан вникать в смысл того, что он делает, и рассуждать, почему он поступает так, а не иначе, т.е. он действует формально – по командам.
3.5. Способы описания алгоритмов
Форма записи алгоритма (слова, формулы, рисунки и т. д.) существенным образом зависит от той цели, которую мы преследуем при записи алгоритма. Рассмотрим некоторые способы записи алгоритмов.
1) Словесный способ описания алгоритма. Примерами такой формы записи алгоритма является любая инструкция по использованию бытовой аппаратуры, рецепты приготовления различных блюд и т.п. Это так называемые бытовые алгоритмы. Но словами можно описать и решение некоторых математических задач.
2) Формульный способ записи алгоритма. Примерами этой формы записи алгоритма может служить любая математическая формула, порядок вычислений в которой определяется наличием скобок и старшинством математических операции. Совокупность формул для решения задачи по физике - это тоже определенный формульный алгоритм. Первый и второй способы записи алгоритмов часто используются вместе при описании решения 'задачи.
3) Блок-схема алгоритма. Она служит для наглядного графического изображения алгоритма. Любая блок-схема представляет собой набор некоторых геометрических фигур или блоков. как правило, прямоугольников, ромбов, овалов. В этих фигурах можно записать любую формулу, любой текст о том, что надлежит сделать исполнителю на данном этапе выполнения алгоритма. Последовательность действий в блок-схеме указывается с помощью стрелок, соединяющих отдельные блоки. Для удобства словесного описания блок-схемы блоки в ней могут быть помечены номерами.
Очень часто алгоритмы описываются с помощью языка блок-схем. Блок-схемы являются графическим описанием алгоритма и используют нижеследующие символы.
-
Символ
Обозначение
Начало, конец алгоритма
Ввод и вывод данных
Действие
Проверка условия
Начало цикла