Основы алгоритмизации
Алгоритм и его свойства
Алгоритм - система правил или указание о том, какие действия и в каком порядке необходимо выполнить, чтобы после конечного числа шагов перейти от изменяемых исходных данных к исконному результату.
Свойства алгоритма:
- дискретность - в каждую единицу времени происходит только преобразование величин
- массовость - определяет пригодность алгоритма для решения любой задачи из некоторого класса задач с различными исходным данными
- определенность -в каждый момент должно быть ясно какую операцию необходимо выполнить и как перейти к очередному предписанию
- результативность - получение результата решения задачи за конечное число шагов
- детерминированность - система значений величин, получаемых в какой-то момент времени, однозначно определяется системой значений величин, полученных в предшествующие моменты
Способы описания алгоритма
Способы описания алгоритма н должны зависеть от конкретной аппаратной платформы и языков программирования. Они должны удовлетворять следующим требованиям:
- обеспечивать компактную и наглядную запись алгоритма;
- быть общепонятными достаточно удобными для использования в публикации;
- содержать строгие правила записи алгоритма для исключения неоднозначности восприятия;
- обеспечивать простой неформальный перевод на любой язык программирования
В настоящее время наиболее распространенными являются три основных способа описания алгоритма:
1) Словесный - позволяет записать алгоритм с помощью отдельных слов и предложений с указанием того, как стоит поступать в каждом конкретном случае.
Достоинства:
+ простота представления
+ отсутствие строгих правил
+ отсутствие необходимости применения специальных средств описания
Недостатки:
- возможность неоднозначного восприятия записи
- при значительных объемах задачи описание становится громоздким и теряет свою наглядность
2) Формульный способ - для описания алгоритма используются математические формулы с возможностью дополнительных пояснений отдельных сложных моментов в словесной форме
Достоинства:
+ использование широко известной математической символики
+ понятность широкому кругу лиц
Недостаток:
- сложность описания многообразия действий на математическом языке, что приводит к недостаточной детализации одних частей алгоритма и чрезмерной других
3) Блок-схемный способ - алгоритм изображается в виде последовательно связанных между собой функциональных блоков. Каждый блок представляет собой простейшую геометрическую фигуру, имеющую собственный номер в разрыве на верхней линии слева. Внутри каждого блока указываются данные, раскрывающие его содержательное наполнение. Правила обозначения определены ГОСТ 19.701-90.
Достоинства:
+ наглядность компактность записи
+ Простота перевода содержания блока в программный код
+ Однозначность восприятия алгоритма
Недостаток:
- необходимость специальность подготовки, обеспечивающей читение и создание алгоритма
Основные структуры реализации программы
С точки зрения современных технологий программирования, для реализации задачи любого уровня сложности необходимо и достаточно трех основных структур:
1) линейная структура предусматривает получение результата путем однократного выполнения одной и той же последовательности действий для любых значений исходных данных. Схема алгоритма представляет собой последовательность блоков, имеющих один вход и один выход