- •Алгоритмы,
- •НАЗНАЧЕНИЯ АЛГОРИТМОВ
- •НЕРАЗМЫШЛЯЮЩИЙ
- •АЛГОРИТМЫ
- •Виды алгоритмов
- •СВОЙСТВА АЛГОРИТМОВ
- •СВОЙСТВА АЛГОРИТМА
- •СВОЙСТВА
- •СВОЙСТВА
- •КРИТЕРИИ СРАВНЕНИЯ АЛГОРИТМОВ
- •КРИТЕРИИ СРАВНЕНИЯ АЛГОРИТМОВ
- •Начал
- •РАЗРАБОТКА
- •ГРАФИЧЕСКОЕ ИЗОБРАЖЕНИЕ СТРУКТУРЫ АЛГОРИТМА
- •БЛОК-СХЕМА
- •БАЗОВЫЕ КОНСТРУКЦИИ АЛГОРИТМА
- •АЛГОРИТМИЧЕСКИЕ
- •АЛГОРИТМИЧЕСКИЕ
- •АЛГОРИТМИЧЕСКИЕ
- •АЛГОРИТМИЧЕСКИЕ
- •ПРИМЕР
- •Истина
- •БАЗОВЫЕ АЛГОРИТМЫ
- •БАЗОВЫЕ АЛГОРИТМЫ
- •БАЗОВЫЕ АЛГОРИТМЫ
- •Пример.
- •БАЗОВЫЕ АЛГОРИТМЫ
- •Пример. Вычислить сумму N первых натуральных чисел. Использовать цикл с предусловием.
- •Пример.
- •ТРЕНИН
- •ТРЕНИН
- •Пример.
- •ТРЕНИНГ
- •ПРИМЕ Р 7
- •ТРЕНИНГ
- •ВСПОМОГАТЕЛЬНЫЕ
- •ВСПОМОГАТЕЛЬНЫЕ
- •ВСПОМОГАТЕЛЬНЫЕ
- •1. Могилев А.В. Информатика / А. В. Могилев, Н. И. Пак, Е. К.
- •ОСНОВЫ АЛГЕБРЫ ЛОГИКИ
- •ОСНОВЫ АЛГЕБРЫ ЛОГИКИ
- •Формы
- •Формы
- •Формы
- •Формы
- •Алгебра высказываний служит для определения истинности или ложности составных высказываний, не вникая в
- •СОСТАВНОЕ ВЫСКАЗЫВАНИЕ содержит высказывания, объединенные логическими операциями.
- •Логическое умножение (конъюнкция) -
- •Пример 1.
- •Логическое сложение (дизъюнкция)-
- •Логическое отрицание (инверсия) –
- •Импликация двух высказываний A и B - такое высказывание, которое ложно тогда и
- •Эквиваленция двух высказываний A и B - такое высказывание, которое истинно тогда и
- •Логической переменной называется переменная, значением которой может быть любое высказывание, например: x, у,
- •Формулы А и B, зависящие от одного и того же набора переменных x1,
- •ПРИОРИТЕТ ЛОГИЧЕСКИХ ОПЕРАЦИЙ
- •ЛОГИЧЕСКИЕ ФУНКЦИИ
- •ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ И ТАБЛИЦЫ ИСТИННОСТИ
- •БУЛЕВЫ ФУНКЦИИ ДВУХ АРГУМЕНТОВ
- •Инверсия
- •Основные законы и тождества булевой
- •Любой из основных законов и тождеств булевой алгебры может быть доказан с помощью
- •Законы алгебры логики можно доказать
- •Законы алгебры логики можно доказать путем тождественных преобразований.
- •Формула А называется тавтологией (или тождественно истинной),
- •Формула А называется тождественно ложной,
- •Пример 11. Определить x, если:
- •Пример 12.
- •Пример 13.
- •Любую формулу можно преобразовать к равносильной ей, в которой используются только операции НЕ,
- •Пример 15.
- •Пример 16.
- •Решение логических задач
- •Пример 17.
- •На вопрос «Кто из трех студентов изучал
- •Пример 18.
- •Таблица истинности для F1
- •Таблицы истинности. Обучающая программа «Logic»
- •БАЗОВЫЕ ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ ЭВМ
- •Логические элементы компьютера
- •КОНЪЮНКТОР
- •ДИЗЪЮНКТОР
- •ИНВЕРТОР
- •ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ
- •КАНОНИЧЕСКИЕ ФОРМЫ БУЛЕВЫХ
- •КАНОНИЧЕСКИЕ ФОРМЫ БУЛЕВЫХ ФУНКЦИЙ
- •СОВЕРШЕННАЯ ДИЗЪЮНКТИВНАЯ НОРМАЛЬНАЯ ФОРМА (СДНФ) логической функции
- •ПОЛУЧЕНИЕ СДНФ ФУНКЦИИ С ПОМОЩЬЮ РАВНОСИЛЬНЫХ ПРЕОБРАЗОВАНИЙ
- •ПЕРЕХОД ОТ ТАБЛИЦЫ ИСТИННОСТИ ФУНКЦИИ К СДНФ
- •ПЕРЕХОД ОТ ТАБЛИЦЫ ИСТИННОСТИ ФУНКЦИИ К СДНФ
- •ПЕРЕХОД ОТ ТАБЛИЦЫ ИСТИННОСТИ
- •Построить логическую схему функции:
- •ПЕРЕХОД ОТ ЛОГИЧЕСКОЙ СХЕМЫ К ФОРМУЛЕ ФУНКЦИИ
- •ТАБЛИЦА ИСТИННОСТИ
- •ПЕРЕХОД ОТ ЛОГИЧЕСКОЙ СХЕМЫ К ФОРМУЛЕ ФУНКЦИИ
- •РАВНОСИЛЬНЫЕ ПРЕОБРАЗОВАНИЯ. ПЕРЕХОД ОТ ЛОГИЧЕСКОЙ СХЕМЫ К ФОРМУЛЕ ФУНКЦИИ
- •РАВНОСИЛЬНЫЕ ПРЕОБРАЗОВАНИЯ. ПЕРЕХОД ОТ ЛОГИЧЕСКОЙ СХЕМЫ К ФОРМУЛЕ ФУНКЦИИ
- •РАВНОСИЛЬНЫЕ ПРЕОБРАЗОВАНИЯ. ПЕРЕХОД ОТ ЛОГИЧЕСКОЙ СХЕМЫ К ФОРМУЛЕ
- •ДВОЙСТВЕННОСТЬ ЛОГИЧЕСКИХ ОПЕРАЦИЙ: ДИЗЪЮНКЦИИ И КОНЪЮНКЦИИ
- •Элементарной дизъюнкцией называется дизъюнкция нескольких переменных и/или их инверсий.
- •Совершенной конъюнктивной нормальной формой (СКНФ ) функции
- •СКНФ функции F (x1, x2, … , xn) можно получить:
- •Построение СКНФ функции по таблице истинности:
- •ПРАВИЛО ПОЛУЧЕНИЯ СКНФ ФУНКЦИИ F С ПОМОЩЬЮ РАВНОСИЛЬНЫХ ПРЕОБРАЗОВАНИЙ
Алгоритмы,
базовые
алгоритмические структуры и блок- схемы
НАЗНАЧЕНИЯ АЛГОРИТМОВ
Вычислительные алгоритмы определяют процесс преобразования числовой информации (числа, векторы, матрицы).
Информационные алгоритмы реализуют процедуры поиска и обработки информации. Например, поиск и упорядочивание объектов по заданному набору признаков, кодирование информации.
Алгоритмы управления – анализируют информацию, поступающую от тех или иных источников, и выдают результирующие сигналы, управляющие процессом преобразования информации или работой тех или иных устройств.
НЕРАЗМЫШЛЯЮЩИЙ
ИСПОЛНИТЕЛЬ
Исполнитель - управляющий объект совершающий последовательность действий, направленных на достижение поставленной цели или на решение поставленной задачи.
Исполнителем может быть: человек, робот, компьютер, язык программирования и т.д.
СКИ - совокупность команд, которые данный исполнитель умеет выполнять, называется системой
АЛГОРИТМЫ
Алгоритм - конечная последовательность действий,
описывающая процесс преобразования исходной
информации из начального состояния в конечное,
записанная с помощью точных и понятных исполнителю команд.
Алгоритм рассчитан на выполнение неразмышляющим исполнителем. Он описывается в командах исполнителя.
Исходные данные и результаты любого алгоритма
принадлежат среде исполнителя, для которого
предназначен алгоритм.
Алгоритм не содержит ошибок, если он дает правильные
результаты для любых допустимых исходных данных.
Алгоритм содержит ошибки, если
•он приводит к получению неправильных результатов;
•он завершает работу ранее запланированного шага
(аварийный останов), не получив ожидаемых результатов;
•завершения работы алгоритма не происходит –
исполнитель переходит от шага к шагу бесконечное
Виды алгоритмов
•Механические алгоритмы - детерминированные, жесткие
(например, алгоритм работы машины, двигателя и т. п.)
• Гибкие алгоритмы:
вероятностный (стохастический) алгоритм , эвристический алгоритм
•Линейный алгоритм
•Разветвляющийся алгоритм
•Циклический алгоритм
•Вспомогательный (подчиненный) алгоритм
СВОЙСТВА АЛГОРИТМОВ
Полный набор обязательных свойства алгоритма
обеспечивает получение результата неразмышляющим
исполнителем, в расчете на которого создан алгоритм.
При условии, что он будет однозначно и точно следовать командам, определенным на каждом этапе
алгоритма.
Обязательные свойства |
|
В отличие от: |
|
алгоритма: |
|
кулинарного рецепта, |
|
1. |
Результативность |
|
процесса, |
2. |
Дискретность |
|
метода/способа действия. |
3. |
Конечность |
|
|
(финитность) |
|
|
|
4. |
Массовость |
|
|
5. |
Детерминированность |
|
|
|
|
|
|
СВОЙСТВА АЛГОРИТМА
1. Результативность - завершение алгоритма |
||||
определенными результатами. |
|
|||
При точном исполнении всех предписаний алгоритм |
||||
приводит к решению задачи за конечное число шагов и |
||||
при этом получается определенный результат. Вывод о |
||||
том, что решения не существует - тоже результат. |
||||
2. Дискретность |
– |
алгоритм представляет процесс решения |
||
задачи как |
последовательное |
выполнение некоторых |
||
простых шагов. |
|
|
|
|
При этом для выполнения каждого шага алгоритма |
||||
требуется конечный отрезок времени, преобразование |
||||
исходных данных в результат осуществляется во времени |
||||
дискретно. |
|
|
|
|
Только выполнив требования одного предписания, можно |
||||
3. Конечность (финитность) алгоритма означает, что для |
||||
приступить к выполнению следующего. |
||||
получения результата нужно выполнить конечное число |
||||
шагов, т. е. исполнитель в некоторый момент времени |
||||
останавливается. |
|
|
||
Требуемое число шагов зависит от входных данных |
||||
алгоритма |
и |
|
его структуры. |
Для вероятностных |
алгоритмов |
|
в результаты работы включают их |
||
вероятность. |
|
|
|
СВОЙСТВА
АЛГОРИТМА
4. Массовость - алгоритм должен быть применим к
разным, допустимым условием задачи, наборам
исходных данных.
Алгоритм разрабатывается в общем виде,
обеспечивает решение не одной конкретной задачи, а
некоторого класса задач данного типа.
В простейшем случае массовость обеспечивает
возможность использования различных допустимых условиями задачи исходных данных.
Если же входные данные уникальны, то алгоритм в силу свойства определенности (детерминированности)
будет давать всегда один и тот же результат и само построение алгоритма теряет смысл.
8
СВОЙСТВА
АЛГОРИТМА
5. Детерминированность - определённость.
Строго определена последовательность выполнения
действий. Однозначно определен смысл каждого предписания.
Каждый шаг алгоритма определен четко и однозначно.
На каждом шаге алгоритма после выполнения очередной команды однозначно определяется команда следующего
шага. Понятность - алгоритм для исполнителя должен включать только те команды,
которые ему (исполнителю) доступны,
которые входят в его систему команд.
Это служит гарантией точности выполнения алгоритма неразмышляющим пользователем.
Элементарность шагов означает, что
объем работы, выполняемой на любом
шаге, мажорируется некоторой
константой, зависящей от характеристик исполнителя алгоритмов,
но не зависящей от входных данных и
промежуточных значений, получаемых
КРИТЕРИИ СРАВНЕНИЯ АЛГОРИТМОВ
1.Объем оперативной памяти.
2.Объём внешней памяти.
3.Оценка сложности алгоритма - число шагов или операций
(в среднем).
4.По времени исполнения алгоритма в худшем случае.
Сравнение алгоритмов правомерно только для одного и
того же исполнителя и актуально лишь для массового
применения.