АЛГОРИТМ (интуитивное понятие алгоритма) - строгая и четкая конечная система правил, которая определяет последовательность действий над некоторыми объектами и после конечного числа шагов приводит к достижению поставленной цели. - точное предписание, определяющее процесс преобразования исходных данных в конечный результат. Алгоритм Евклида для нахождения наибольшего общего делителя 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 АЛГОРИТМ (формальное определение) • Всякий алгоритм может быть реализован соответствующей машиной Тьюринга Это основная гипотеза теории алгоритмов.