Свойства алгоритма

Лекция 5

Алгоритмы программ

Алгоритм- это строгая последовательность действий, однозначно приводящая к искомому решению определенного класса задач .

1.Конечность. Алгоритм должен заканчиваться после конечного числа шагов.

2. Определенность. Действия, которые необходимо произвестина каждом шаге,должны быть определены однозначно.

3.Наличие ввода и вывода.Алгоритм имеет некоторые исходные данные, которые требуют ввода в вычислительный процесс. Алгоритм всегда имеет выходные величины – результат обработки данных.

4.Эффективность.Все операции должны выполняться законечный отрезок времени. Одной из характеристик эффективности (качества) алгоритма является время, необходимое для его выполнения.

Другими характеристиками могут являться, например, приспособленность алгоритма к вычислительным машинам, его простота, изящество и т. п.

 

Способы записи алгоритмов:

- на естественном языке

- графический способ, в виде блок-схемы

- на языке программирования

Естественный язык для описания алгоритмов применяется редко, так как выражения естественного языка часто двусмысленны, допускают различия в толковании. Например, предложение: «Он встретил ее на поляне с цветами» дает основание предположить, что- либо он был с цветами, либо поляна была с цветами, либо она была с цветами.

Для описания алгоритмов разработаны специальные языки программирования, в которых каждое утверждение имеет точный смысл. Запись алгоритма на языке программирования называется программой.

Графическое отображение алгоритма выполняется с помощьюусловных графических обозначений - символов поГОСТ 19.701-90.Последовательность выполнения символов указывается линиями потока. Выполнение схемы осуществляется по ГОСТ 19.701-90.

Ниже приведены наиболее часто употребляемые символыблок-схеми некоторые правилаих применения.

Начало, конец. Начало (конец) процесса обработки данных или выполнения программы.

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

Операция.Функция, в результате которой изменяется значение, форма расположения данных.

Переход (разветвление). Выбор направления выполнения программы в зависимости от некоторых условий.

Подпрограмма. Заранее определенный процесс, состоящий из одной или более операций, команд программы, наименование и подробное содержание, которого приведено отдельно.

Цикл.Процесс, в котором проставляются начальное и конечное значения переменной цикла и шаг ее изменения .

Комментарий. Связь между элементами схемы и пояснителем. Их применение необязательно и служит для улучшения восприятия алгоритма.

Линии потока

Слияние линий потока

 

Существуют три простых типа алгоритмов

- линейный

- ветвящийся

- циклический.

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

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