
- •Информация. Свойства информации. Единицы измерения количества информации
- •2. Основы языка разметки гипертекста (html) Базовые понятия
- •2. Основы алгоритмического программирования (типы данных, операторы, функции, процедуры и т.Д.)
- •1 Usb (Universal Serial Bus) — универсальная последовательная шина.
- •2. Законы логики Базовые понятия
- •2. Логическая схема триггера. Использование триггеров в оперативной памяти
- •2004 № 17 Информатика
- •3. Практическое задание. Формирование запроса на поиск данных в среде системы управления базами данных
- •1 Хотя бы потому, что для вещественных чисел не определено понятие "следующий": в самом деле, какое значение следует после 1.1 - 1.2, 1.11 или 1.101?
- •2. Двоичное кодирование графической информации. Растр. Пиксель. Глубина цвета
- •2. Двоичное кодирование звуковой информации. Глубина кодирования и частота дискретизации
- •2. Алгоритмическая структура "выбор" Базовые понятия
- •2. Событийное объектно-ориентированное программирование. Событийные и общие процедуры
- •2. Различные типы компьютерных вирусов: методы распространения, профилактика заражения
- •2. Логические переменные и функции, их преобразование. Таблицы истинности
- •3. Задача. Разработка алгоритма (программы) на обработку данных строкового типа
- •5 Так юристы называют нас — простых смертных, в отличие от юридических лиц, т.Е. Организаций.
- •2. Основные способы защиты информации на локальном компьютере и в компьютерных сетях
2. Логические переменные и функции, их преобразование. Таблицы истинности
Базовые понятия
Логическая константа, логическая переменная, логическая операция, логическая функция, эквивалентные преобразования логических выражений, таблицы истинности логических операций и логических выражений.
Обязательно изложить
Основные логические операции и законы логики рассматривались в билетах № 7 и 8 (вопросы № 2).
Логическая, константа имеет одно из значений — ИСТИНА (TRUE, 1) или ЛОЖЬ (FALSE, 0). Соответственно, логическая переменная может принимать одно из вышеуказанных значений.
Логическое выражение — это выражение, состоящее из логических операндов, соединенных с помощью логических операций. В качестве логических операндов могут выступать логические константы, переменные, а также отношения (сравнения) между двумя не обязательно логическими величинами. Логические выражения могут принимать одно из двух значений: ИСТИНА (TRUE или 1) или ЛОЖЬ (FALSE или 0). Отношение — это два выражения некоторого одного и того же типа, соединенных операцией отношения (">", "<", "=", V, "<", ">"). Обычно в языках программирования операции отношения определены для величин числовых, символьных, логических, строковых типов.
В определенных случаях сложные логические выражения могут быть заменены более простыми путем равносильных преобразований. Вообще два логических выражения являются равносильными, если имеют одинаковые таблицы истинности.
При такого рода преобразованиях применяются законы алгебры логики (билет № 8, вопрос № 2). Примеры см. в "Информатике" № 17, с. 3 — 7.
Равносильные преобразования логических выражений необходимы, например, при конструировании логических схем с целью минимизации количества логических элементов, их составляющих.
Таблицы истинности можно составлять вручную или использовать программирование (заметим только, что для каждого выражения это будет своя программа). Примеры там же.
В языках программирования есть некоторое количество логических функций, которые позволяют анализировать определенные ситуации. Например, eof (f) в языке Паскаль возвращает true, если достигнут конец файла f, и false в противном случае.
При реализации некоторых программ удобно использовать функции, которые имеют логическое значение. Обычно они используются для того, чтобы на некоторый вопрос получить ответ "да" или "нет".
Например, следующая функция возвращает true, если ее натуральный аргумент — простое число, и false — в противном случае:
Function Simple (Pr : Integer) : Boolean; Var I : Integer; LogPer : Boolean; Begin
Case Pr of
1: Simple := false;
2: Simple := true;
else
begin
I := 2; {счетчик}
Repeat
{логическая переменная, принимающая
значение TRUE, если число Pr
составное}
LogPer := (Pr Mod I = 0); I := I + 1
Until (I > Pr Div 2 + 1) Or (LogPer);
(цикл завершаем в том случае, когда
счетчик становится больше половины
данного числа или обнаруживаем, что
число составное}
Simple := Not LogPer
end end
{значение функции равно TRUE, если число простое, и FALSE — в противном случае} End;
Желательно изложить
Несмотря на то что операции отношения — , Ф , ">", "<" определены для вещественных типов, реально они в большинстве случаев корректно не работают в силу того, что множество вещественных величин, представимых в памяти ЭВМ, дискретно. Поэтому их следует, если это возможно, избегать. В том случае, когда все-таки для вещественных величин возникает необходимость вычисления указанных отношений, разумно проверять вещественные величины не на равенство, а на близость расположения друг к другу, т.е. заменять отношения вида А = В отношениями вида |А — В | < Е, где Е — достаточно малое по абсолютной величине число (в общем случае — так называемое "машинное эпсилон").
Примечание для учителей
Вопрос билета целесообразно сформулировать так, как он формулировался ранее: "Логические выражения и их преобразования. Таблицы истинности". В нынешней формулировке он является некорректным.
Примечание для учеников
Понимание сущности алгебры логики, умение правильно составлять и преобразовывать логические выражения способно существенно помочь при изучении программирования и составлении программ.
Ссылка на материалы вопроса
"Информатика" № 17, с. 3 — 7.