Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kurs_toi1.docx
Скачиваний:
89
Добавлен:
02.05.2015
Размер:
753.33 Кб
Скачать

Контрольные вопросы

  1. Какое количество логических функций двух аргументов существует и почему?

  2. Какие логические функции двух аргументов имеют свои названия?

  3. Какое существует количество логических функций трех аргумен­тов?

  4. Какие логические выражения называются равносильными?

  5. Найдите X, если (A v X) v (A v X) = B.

  6. Постройте таблицу истинности одноразрядного двоичного сумматора, воспользовавшись таблицей сложения двоичных чисел.

  7. Построить таблицу, описывающую состояние входов и выходов RS-триггера.

  8. Существует 16 логических функций от двух переменных (смотри таблицу 5.1). Постройте их логические схемы с помощью базовых логических элементов: конъюнктора, дизъюнктора, инвертора.

Лекция6. Основы алгоритмизации

6.1. Алгоритмы и их свойства

Алгоритмы - заранее заданное точное предписание возможному исполнителю совершить определённую последовательность действий для получения решения задачи за конечное число шагов.

Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач...). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:

  1. Достать ключ из кармана

  2. Вставить ключ в замочную скважину

  3. Повернуть ключ два раза против часовой стрелки

  4. Вынуть ключ

Если вы внимательно оглянитесь вокруг, то обнаружите множество алгоритмов, которые мы с вами постоянно выполняем. Мир алгоритмов очень разнообразен. Несмотря на это, удается выделить общие свойства, которыми обладает любой алгоритм.

Свойства алгоритмов:

  1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке)

  2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае)

  3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения)

  4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными)

  5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях)

Виды алгоритмов:

  1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке)

  2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание)

  3. Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)

  4. Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя)

Для более наглядного представления алгоритма широко используется графическая форма - блок-схема, которая составляется из стандартных графических объектов.

Вид стандартного графического объекта

Назначение

Начало алгоритма

Конец алгоритма

Выполняемое действие записывается внутри прямоугольника

Условие выполнения действий записывается внутри ромба

Счетчик количество повторов

Последовательность выполнения действий.

 Способы задания алгоритма:

  1. словесный,

  2. графический (блок-схемы),

  3. псевдокоды.

Стадии создания алгоритма:

  1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.

  2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.

  3. Объект, который будет выполнять алгоритм, обычно называют исполнителем.

Исполнитель - объект, который выполняет алгоритм.

Идеальными исполнителями являются машины, роботы, компьютеры...

Компьютер – автоматический исполнитель алгоритмов.

Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

Псевдокод. Псевдокод - компактный (зачастую неформальный) язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные подробности и специфический синтаксис. Псевдокод обычно опускает детали, несущественные для понимания алгоритма человеком. Такими несущественными деталями могут быть описания переменных, системно-зависимый код и подпрограммы. Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем исходный код на языке программирования. Однако в псевдокоде обычно имеются некоторые конструкции, присущие формальным языкам. В псевдокоде есть служебные слова, смысл которых однозначно определён. Например, алгоритмы на алгоритмическом языке записываются с помощью служебных слов, представленных в таблице ниже.

Служебные слова алгоритмического языка

алг(алгоритм)

сим(символьный)

дано

да

нет

арг(аргумент)

лит(литерный)

надо

для

при

рез(результат)

лог(логический)

если

от

до

нач(начало)

таб(таблица)

то

знач

выбор

кон(конец)

нц(начало цикла)

иначе

и

или

цел(целый)

кц(конец цикла)

всё

ввод

вывод

вещ(вещественный)

длин(длина)

пока

утв

не

Общий вид алгоритма:

алг название алгоритма (аргументы и результаты)

  дано условия применимости алгоритма

  надо цель выполнения алгоритма

нач описание промежуточных величин

последовательность команд (тело алгоритма)

кон

Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключённая между словами нач и кон - телом алгоритма.

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