Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры1.doc
Скачиваний:
4
Добавлен:
03.08.2019
Размер:
239.1 Кб
Скачать

Вопрос: логическое программирование:

Логическое программирование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.

Самым известным языком логического программирования является Prolog.

Первым языком логического программирования был язык Planner, в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью метода backtracking) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.

От языка Planner также произошли логические языки программирования QA-4, Popler, Conniver и QLISP. Языки программирования Mercury, Visual Prolog, Oz и Fril произошли уже от языка Prolog. На базе языка Planner было разработано также несколько альтернативных языков логического программирования, не основанных на методе поиска с возвратами (backtracking), например, Ether (см. обзор Шапиро [1989]).

Вопрос: алгоритм сортировки данных. Сортировка слиянием:

Алгоритм сортировки данных – это алгоритм для упорядочивания элементов в списке.

Сортировка слиянием (англ. merge sort) — алгоритм сортировки, который упорядочивает списки (или другие структуры данных, доступ к элементам которых можно получать только последовательно, например — потоки) в определённом порядке. Эта сортировка — хороший пример использования принципа «разделяй и властвуй». Сначала задача разбивается на несколько подзадач меньшего размера. Затем эти задачи решаются с помощью рекурсивного вызова или непосредственно, если их размер достаточно мал. Наконец, их решения комбинируются, и получается решение исходной задачи.

Для решения задачи сортировки эти три этапа выглядят так:

1) Сортируемый массив разбивается на две части примерно одинакового размера;

2) Каждая из получившихся частей сортируется отдельно, например - тем же самым алгоритмом;

3) Два упорядоченных массива половинного размера соединяются в один.

Спизженно с: http://www.ru-coding.com/algoritm_1.php

Вопрос: алгоритм сортировки данных. Сортировка «пузырём»:

Алгоритм сортировки данных – это алгоритм для упорядочивания элементов в списке.

Реализация данного алгоритма не требует дополнительной памяти алгоритм очень прост и состоит в следующем: берётся пара рядом стоящих элементов и если элемент с меньшим индексом оказывается больше элемента с большим индексом, то мы меняем их местами. Эти действия продолжаем, пока есть такие пары. Когда таких пар не останется, то данные будут отсортированы. Для упрощения поиска таких пар данные просматриваются по порядку от начала до конца. Максимальный элемент как бы всплывает вверх отсюда и название алгоритма.

Спизженно с: http://www.ru-coding.com/algoritm_1.php

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]