Алгоритм и его формальное исполнение
Не существует строгого определения алгоритма. Синонимы: инструкция, правило. Основные понятия: исполнитель алгоритма, система команд исполнителя
Алгоритм - это строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.
Алгоритм - это последовательность действий, удовлетворяющая следующим свойствам: 1.Дискретность 2.Детерминированность 3.Понятность 4.Результативность 5.Массовость
Дискретность - разделение информационного процесса в алгоритме на отдельные команды.
Детерминированность Исполнитель должен точно знать, какую команду выполнять следующей
Понятность Алгоритм должен содержать только те команды, которые входят в систему команд исполнителя.
Результативность Преобразование объекта из начального состояния в конечное за конечное число шагов.
Массовость Решение целого класса однотипных задач по одному алгоритму
Формальное выполнение алгоритма Выполнить алгоритм формально, значит не вникая в содержание поставленной задачи, строго выполнять последовательность действий.
Происхождение слова «Алгоритм» Транслитерация имени узбекского ученого-математика Мухамеда-ибн-Мусы-аль-Хорезми (Мухамед сын Мусы из города Хорезм), который сформулировал правила выполнения арифметических операций.
Типы алгоритмов Линейный Разветвляющийся Циклический
Способы описания алгоритмов Словесно-пошаговое описание Формульный Табличный Псевдо-код (алгоритмический язык) Графический
Словесно-пошаговое описание Пример. Алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида). 1.задать два числа; 2.если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; 3.определить большее из чисел; 4.заменить большее из чисел разностью большего и меньшего из чисел; 5.повторить алгоритм с шага 2.
Псевдо-код (алгоритмический язык) алг Сумма квадратов (арг цел n, рез цел S) дано | n > 0 надо | S = 1*1 + 2*2 + 3* n*n нач цел i ввод n; S:=0 нц для i от 1 до n S:=S+i*i кц вывод "S = ", S кон