- •1.Перечислите и поясните основные этапы полного построения алгоритмов.
- •6. Программная реализация алгоритма.
- •4.Сформулируйте основные определения абстрактного алфавита (алфавит, слово алфавита, расширение алфавита, алфавитный оператор).
- •7.Дайте определение алгоритма, его особенности.
- •13.Свойства и виды алгоритмов и соотношение между ними.
- •14.Интерпретации и модели.
- •15.Семантическая и формальная непротиворечивость.
- •1) «Условие – действие», т.Е. Если построенные объекты удовлетворяют некоторым условиям, то для построений нового объекта нужно выполнить такое-то действие;
- •Первая теорема о неполноте
- •22. Интуитивное понятие алгоритма. Требования к алгоритмам.
- •23. Формализация понятия алгоритма и универсальные алгоритмические модели.
- •24.Машина Тьюринга - основные определения. Понятие вычислимости на машине Тьюринга.
- •25.Операции над машинами Тьюринга. Универсальная машина Тьюринга.
- •26.Понятие алгоритмической неразрешимости. Теорема Райса.
- •27.Проблема остановки - формулировка теоремы и ее доказательство.
- •28.Понятие рекурсии. Примитивно-рекурсивные функции. Примеры.
- •29.Неограниченный оператор минимизации. Примеры. Определение частично-рекурсивной функции.
- •30.Разрешимые и перечислимые множества и предикаты.
- •31.Конечные автоматы. Основные определения. Способы задания автоматов.
- •32.Алгоритмические возможности: что могут и что не могут вычислять автоматы. Примеры.
- •33.Эквивалентность автоматов. Алгоритм минимизации автоматов.
- •34.Автоматы и логические схемы. Программная реализация автоматов.
- •35.Интуитивное определение понятия «алгоритм». Свойства алгоритма.
- •37. Приметивно рекурсивные функции
- •Глава 4. Алгоритмы
- •40 Частично рекурсивные функции
- •41 Рекурсивные функции
- •Проблемы, касающиеся абстрактных машин
- •Другие проблемы
- •Проблемы, алгоритмическая неразрешимость которых не доказана
- •42 Формулировка и доказательство критерия Поста
- •Описание
- •Примеры Пример 1
- •Пример 2
- •Ветвление (условный оператор)
- •Повторение (цикл)
- •Устройство машины Тьюринга
- •Проблемы, касающиеся абстрактных машин
- •Другие проблемы
- •Проблемы, алгоритмическая неразрешимость которых не доказана
- •48) Машина Поста
- •Принцип работы
- •Устройство машины Тьюринга
- •Описание машины Тьюринга
- •Полнота по Тьюрингу
- •Варианты машины Тьюринга
- •Машина Тьюринга, работающая на полубесконечной ленте
1.Перечислите и поясните основные этапы полного построения алгоритмов.
В процессе полного построения алгоритма можно выделить следующие основные этапы:
1. Постановка задачи;
2. Разработка модели;
3. Построение алгоритма;
4. Проверка правильности алгоритма;
5. Анализ алгоритма;
6. Программная реализация алгоритма.
Каждый из перечисленных шагов в реальных условиях может присутствовать самостоятельно или входить в состав соседних с ним этапов в зависимости от конкретной задачи и навыков пользователя.
1. Постановка задачи
Наличие точной формулировки задачи является одной из необходимых составляющих ее правильного понимания и решения.
2. Разработка модели
3. Построение алгоритма
После постановки задачи и построения для нее модели необходимо приступить к разработке алгоритма ее решения. Выбор метода разработки, в большинстве случаев, определяется построенной моделью и может существенно повлиять на эффективность алгоритма решения. Для построения хорошего алгоритма необходим тщательный анализ построенной модели и ее ограничений.
4. Проверка правильности алгоритма
В большинстве случаев правильность алгоритма не следует тривиальным образом из его разработки и требует проведения доказательства.
5. Анализ алгоритма
Анализ алгоритмов представляет собой раздел информатики, занимающийся выводом количественной информации об эффективности компьютерных методов.
Каждое реальное вычисление характеризуется:
1. Определенной длительностью, физическим временем выполнения (время);
2. Объемом требуемой памяти, физическим пространством (емкость).
6. Программная реализация алгоритма.
После того, как алгоритм разработан, доказана его правильность и проведен анализ, можно приступить к реализации алгоритма, т.е. созданию программы для ПК.
Из правильности алгоритма вовсе не следует правильность программы, созданной на основе этого алгоритма.
Отладка и тестирование программы. Отладка программы предполагает устранение синтаксических и логических ошибок для получения полнофункционального варианта. Тестирование программы разбивается на две стадии: аналитическую и экспериментальную.
Аналитическая стадия предполагает доказательство правильности программы, которое можно провести аналогично доказательству правильности алгоритма.
Экспериментальная проверка заключается в прогонке программы на различного рода тестах, результат которых точно известен.
2.Какие известны способы записи алгоритмов, дайте их краткую характеристику. Перечислите основные требования к записи алгоритмов.
Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи.
Требования, предъявляемые к алгоритму:
1. Однозначность — предлагаемые действия должны быть "понятны" компьютеру, а порядок исполнения этих действий должен быть единственно возможным, любая неопределенность или двусмысленность недопустимы.
2. Массовость — пригодность алгоритма для решения не только данной задачи, а множества родственных задач, относящихся к общему классу.
3. Детерминированность — повтор результата при повторе исходных данных.
4. Корректность — способность алгоритма давать правильные результаты решения задачи при различных исходных данных.
5. Конечность — решение задачи должно быть полученоза конечное число шагов алгоритма, "зацикливание" недопустимо.
6. Эффективность — для успешного решения задачи должны использоваться ограниченные ресурсы конкретного компьютера (время работы процессора, объем оперативной памяти, быстродействие жесткого диска и др.).
На любой стадии существования алгоритмы и программы представляют с помощью конкретных изобразительных средств, состав и правила употребления которых образуют конкретные способы или формы записи.
К настоящему времени сложились пять наиболее употребительных способов записи: словесный, формульно-словесный, графический, при помощи псевдокодов и языков программирования.
Словесное задание описывает алгоритм – инструкцию о выполнении действий в определенной последовательности с помощью слов и предложений естественного языка. Форма изложения произвольна и устанавливается разработчиком.
В формульно-словесном способе записи инструкция о действиях содержит формальные символы и выражения (формулы) в сочетании со словесными пояснениями.
Графическая запись или схема – это изображение алгоритма с помощью геометрических фигур, называемых блоками. Последовательность блоков и соединительных линий образуют схему.
Наряду со схемами для изображения алгоритмов широко используется псевдокод. Псевдокодом называется система правил записи алгоритма с использованием набора определенных конструкций для описания управляющих действий.
Псевдокод позволяет формально изображать логику алгоритма, используя стандартизированные
Язык программирования – это знаковая система, предназначенная для описания процессов решения задач и их реализации на ЭВМ. Реализация означает, что описания могут быть введены в ЭВМ и однозначно ею поняты. К языкам программирования относятся языки команд или машинные языки и языки высокого уровня.
Языки программирования высокого уровня дают программисту большую свободу в конструировании программ, но не освобождают его от необходимости учитывать тот факт, что именно ЭВМ будет выполнять его программу и что она накладывает на программу ограничения, обусловленные конечностью ее скорости и памяти.