Ссылка на материалы по вопросу 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Ссылка на материалы по вопросу



Полный текст материалов вопроса опубликован в "Информатике" № 20, 2002, с. 3 — 7.

 

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.

2004 № 20 ИНФОРМАТИКА

 



Поделиться:


Последнее изменение этой страницы: 2020-03-13; просмотров: 127; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.23.123 (0.007 с.)