предписание однозначно и одинаково понимается всеми исполнителями алгоритма;
при одних и тех же исходных данных любой исполнитель всегда получает один и тот же результат;
множество действий, используемых в предписании, оговорено заранее и не может меняться в ходе исполнения алгоритма.
множество действий, используемых в предписании, оговорено заранее и не может меняться в ходе исполнения алгоритма.
Лекция 6
Основы алгоритмизации
Алгоритмом называется
точное предписание о
порядке выполнения
действий, из заданного
фиксированного множества,
для решения всех задач,
заданного класса.
“точное предписание”
предписание однозначно и
одинаково понимается всеми
исполнителями алгоритма;
при одних и тех же исходных
данных любой исполнитель
всегда получает один и тот
же результат;
“из заданного
фиксированного множества”
множество действий,
используемых в предписании,
оговорено заранее и не
может меняться в ходе
исполнения алгоритма.
“решения всех задач
заданного класса”
это предписание
предназначено для
решения класса задач, а
не одной отдельной
задачи.
Свойства алгоритма:
дискретность,
определенность,
результативность,
массовость,
сложность.
Дискретность алгоритма.
процесс решения задачи,
определяемый алгоритмом,
расчленен на отдельные
элементарные шаги.
Алгоритм представляет
последовательность
указаний, команд,
определяющих порядок
выполнения шагов процесса.
Определенность алгоритма:
каждая команда алгоритма
(предписание, выдаваемое на
каждом шаге) должна быть
понятна исполнителю, не
оставлять места для её
неоднозначного толкования и
неопределенного исполнения.
Результативность алгоритма:
алгоритм всегда приводит к
результату через конечное,
возможно, очень большое
число шагов.
Массовость алгоритма:
Каждый алгоритм,
разработанный для решения
некоторой задачи должен
быть применим для решения
задач этого типа при всех
допустимых значениях
исходных данных.
Массовость предполагает
существование четко
определенного класса
объектов, которые могут
быть исходными данными.
Основные
алгоритмические структуры
Теорема
Любой возможный
алгоритм может быть
представлен в виде
совокупности трех
основных конструкций:
Алгоритмические структуры
линейная
разветвленная
циклическая.
Линейная структура
предполагает
последовательное
выполнение операторов в
том порядке, в котором
они записаны.
Структура ветвления
разделяет алгоритм на два пути
в зависимости от некоторого
условия; затем исполнение
алгоритма выходит на общее
продолжение.
Ветвление бывает полное и
неполное.
Полное ветвление
да
условие
нет
серия 1
серия 2
Полное ветвление
если <условие>
то <серия 1>
иначе
серия 2
кв
Неполное ветвление
да
условие
серия 1
Неполное ветвление
если <условие>
то <серия >
кв
под серией понимается
одна или несколько
последовательных
команд;
кв – конец ветвления.
Циклическая структура
Циклическая структура
обеспечивает повторное
выполнение
последовательности
команд (тела цикла) по
некоторому условию.
Циклическая структура
Различают циклы:
с предусловием,
с постусловием
с параметром (или с
известным числом
повторений).
Цикл с предусловием
цикл, выполнение
которого повторяется,
пока истинно условие
цикла.
Цикл с предусловием
нет
условие
да
тело цикла
Цикл с предусловием
пока <условие>
повторять
нц
<тело цикла>
кц
Цикл с постусловием
выполняется пока не станет
истинным условие цикла.
Условие цикла проверяется
после выполнения тела цикла.
Цикл с постусловием
тело цикла
нет
условие
да
Цикл с параметром
повторное выполнение тела
цикла, пока целочисленный
параметр пробегает множество
всех значений от начального
(ln) до конечного (lk).
Цикл с параметром
i:=ln, lk
тело цикла
Цикл с параметром
для i от ln до lk,
повторять
нц
<тело цикла>
кц