
- •Лекция 2
- •Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных
- •Алгоритм должен удовлетворять определенным требованиям. Принято выделять следующие семь:
- •Свойства алгоритма:
- •Несмотря на многообразие алгоритмов все они строятся из 3-х типов алгоритмических структур.
- •Изобразительные средства для описания (представления) алгоритма
- •Для записи алгоритма существует общая методика:
- •Формульно-словесный способ
- •Графический способ (схема алгоритма) представления алгоритмов является более компактным и наглядным по сравнению
- •Flow-формы
- •Диаграммы Насси-Шнейдермана
- •Условные обозначения элементов в диаграммах Насси — Шнейдермана
- •Блоки с разветвлением
- •Блок множественного выбора
- •Например, в задаче выбора разных видов обуви для разных видов спорта:
- •Блок цикла с предусловием
- •Например, для задачи: “Накачать спущенную велосипедную шину”:
- •Блок цикла с постусловием
- •Например, в задаче приготовления теста для блинов:
- •Цикл с заданным количеством повторений тела цикла (в языках программирования его называют “цикл
- •Блок подпрограммы
- •Например, для задачи стрижки газона около дома диаграмма алгоритма ее решения может быть
- •Алгоритмические
- •Операторные схемы алгоритмов.
- •Псевдокод – система команд абстрактной машины. Этот способ записи алгоритма с помощью операторов
- •Принципы разработки алгоритмов и программ
- •Линейный алгоритм (линейная структура) – это такой алгоритм, в
- •Алгоритмы разветвляющейся структуры
- •Циклические вычислительные процессы
- •Цикл с предусловием используется, когда неизвестно количество повторений
- •Цикл с постусловием.
- •Цикл с параметром используется, когда известно начальное значение переменной, конечное значение и шаг
- •I – параметр цикла
- •Выполняется следующим образом:

Например, в задаче приготовления теста для блинов:
Цикл с заданным количеством повторений тела цикла (в языках программирования его называют “цикл с параметром” или “цикл со счетчиком”)
— это тоже цикл с предусловием. Действия повторяются определенное количество раз и отсчитываются перед каждым выполнением.

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

Например, для задачи стрижки газона около дома диаграмма алгоритма ее решения может быть оформлена так:
Диаграмма, иллюстрирующая действия в подпрограмме, оформляется
отдельно.
Подпрограмма “Очистить травосборник”
Алгоритмические |
языки |
- |
это |
||
специальное |
|
|
средство, |
||
предназначенное |
для |
|
записи |
||
алгоритмов в аналитическом |
виде. |
||||
Алгоритмические |
языки |
|
близки |
к |
|
математическим |
выражениям |
и |
к |
||
естественным |
языкам. |
Каждый |
|||
алгоритмический |
язык |
имеет |
свой |
||
словарь. Алгоритм, записанный |
на |
||||
алгоритмическом |
языке, |
выполняется |
по строгим правилам этого конкретного языка.
Операторные схемы алгоритмов.
Суть этого способа описания алгоритма заключается в том, что каждый оператор обозначается буквой (например, А – арифметический оператор, Р – логический оператор и т.д.).
Операторы записываются слева направо в последовательности их выполнения, причем, каждый оператор имеет индекс, указывающий порядковый номер оператора. Алгоритм записывается в одну строку в виде последовательности операторов.
Псевдокод – система команд абстрактной машины. Этот способ записи алгоритма с помощью операторов близких к алгоритмическим языкам.
Принципы разработки алгоритмов и программ
Типы алгоритмических процессов
По структуре выполнения алгоритмы и программы делятся на три вида:
•Линейные
•Ветвящиеся
•Циклические
Линейный алгоритм (линейная структура) – это такой алгоритм, в
котором все действия выполняются последовательно друг за другом и только один раз. Схема представляет собой последовательность блоков, которые располагаются сверху вниз в порядке их выполнения. Первичные и промежуточные данные не оказывают влияния на направление процесса вычисления.

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