Введение в программирование
(Элементы теории алгоритмов, основные алгоритмы, структуры данных и алгоритмы, язык программирования С)
Литература
Понятие алгоритма
В любой науке имеются первичные, неопределяемые понятия (точка, прямая или множество в математике). Можно рассматривать понятие алгоритма как первичное, интуитивное, неопределяемое понятие. Можно дать интуитивное (не строгое) пояснение понятия алгоритма: Алгоритм − набор конечного числа четко и однозначно определенных правил (инструкций), задающих последовательность выполнения операций для решения задачи определенного типа.
Понятие алгоритма
Понятие алгоритма
Мы подразумеваем, что существует некоторое «абстрактное устройство» («исполнитель») (может быть и человек), способное распознать эти правила (инструкции) и выполнить предписываемые ими действия. До появления компьютеров под термином «абстрактное устройство», понимался человек, выполняющий некоторые действия. Обратите внимание на то, что хотя большая часть алгоритмов в конечном счете предназначена для реализации на компьютере, само понятие алгоритма никак не связано с этим допущением.
Основные свойства алгоритмов
Науки об алгоритмах
Теория алгоритмов. Рассматривает вопросы существования или не существования алгоритмов. Методы проектирования алгоритмов. Рассматривают различные подходы, применяемые для алгоритмического решения широкого круга задач, относящихся к различным областям вычислительной техники. Анализ алгоритмов. Для заданных алгоритмов определяются их количественные характеристики. Пример. Для заданного числа в чему равно среднее число T(a) выполнения шага 1 алгоритма Евклида.
Уточнение понятия алгоритма
Машина Тьюринга
Любая задача может быть записана в виде некоторого предложения (условия) из символов алфавита S={S1, S2, … , Sm} . Решение задачи (ответ) также может быть записано в виде предложения из символов алфавита S. Фактически, решение задачи есть преобразование условия в ответ. Условие размещается на бесконечной ленте, разделенной на ячейки, куда заносятся символы по одному.
Машина Тьюринга
Имеется головка, которая может двигаться вдоль ленты, разделенной на ячейки, и в любой текущий момент стоит перед одной ячейкой. Головка может считывать или записывать символы. Управляющее устройство головки может находиться в одном из n состояний Q={Q1, Q2, … , Qn}, одно из которых начальное Q1, а другое конечное Qs. На элементарном шаге головка считав символ и записав новый сдвигается на одну ячейку влево (L) или вправо (R) или остается на месте (H).
Тезис Тьюринга
Для любого алгоритма, понимаемого в интуитивном смысле, можно построить машину Тьюринга, функционирование которой эквивалентно этому алгоритму. Тезис Тьюринга нельзя доказать. Его не удается также и опровергнуть. Таким образом ответ на вопрос «Что такое алгоритм?» следующий: Алгоритм – это машина Тьюринга!
Неразрешимые проблемы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.