Алгоритм. Свойства. Представление алгоритма.

advertisement
АЛГОРИТМ
(интуитивное понятие алгоритма)
- строгая и четкая конечная система
правил, которая определяет
последовательность действий над
некоторыми объектами и после
конечного числа шагов приводит к
достижению поставленной цели.
- точное предписание, определяющее
процесс преобразования исходных
данных в конечный результат.
Алгоритм Евклида
для нахождения наибольшего
общего делителя 2-х чисел
• Вычитать из большего числа
меньшее, занося результат на
место большего и действовать
так, до тех пор пока числа не
станут равны. Это и есть
наибольший общий делитель
исходных двух чисел
Детализация алгоритма Евклида
1. Рассмотреть А как первое число и В как
второе. Перейти к шагу 2.
2. Сравнить первое и второе число. Если они
равны то перейти к шагу 5. Если нет, то
перейти к шагу 3.
3. Если первое число меньше второго, то
переставить их. Перейти к шагу 4.
4. Вычесть из первого числа второе, и
рассмотреть полученную разность как
новое первое число. Перейти к шагу 2.
5. Рассмотреть первое число как результат.
АЛГОРИТМ
(уточненное понятие алгоритма)
- четкая конечная система правил для
преобразования слов из некоторого
алфавита в слова из этого же
алфавита.
Графические элементы блоксхем
• Арифметический блок. Один вход выход
Действие
Графические элементы блоксхем
• Логический блок. Один вход – два
выхода
Нет(-)
Да(+)
Условие?
Графические элементы блоксхем
• Узел (слияние линий). Много входов –
один выход.
Графические элементы блоксхем
• Овал. Отмечает начало и конец
алгоритма.
Начало
Следование
S1
S
Sk
Развилка
-
S2
B?
+
S1
Развилка
-
B?
+
S1
Развилка
-
S2
+
B?
Повторение(Цикл)
B?
+
S1
Максимальное из 2-х чисел
МАХ2(а,b)
-
MAX2=b
+
a>b?
MAX2=a
Минимальное из 2-х чисел
MIN2(а,b)
-
MIN2=a
+
a>b?
MIN2=b
Минимальное из 2-х чисел
MIN2(а,b)
MIN2=-MAX2(-a,-B)
Конец
МАКСИМАЛЬНОЕ из 3-х чисел
MAX3(а,b,c)
MAX3=MAX2(a,MAX2(B,C))
Конец
Линейное уравнение ах+в=0
ЛИН(а,b)
-
+
a=0?
ЛИН=-b/a
ЛИН=“Нет”
b=0?
+
ЛИН =“Множество”
Квадратное уравнение
ах2+вх+с=0
КВ(а,b,c)
-
+
а<>0?
-
b2-4ac>=0?
+
KB=ЛИН(b,c)
KB=“Нет”
KB=x1&”, “&x2
АЛГОРИТМ
(формальное определение)
• Всякий алгоритм может быть
реализован соответствующей машиной
Тьюринга
Это основная гипотеза теории
алгоритмов.
Download