Вычисление логических выражений Задание
-
Три заданных в варианте неравенства: А, В, С записать в виде отношений на языке C и представить их на трех рисунках штриховкой (смотри пример).
-
Записать четыре логических выражения на языке C и нарисовать еще четыре рисунка:
-
сложить отношения А, В, С логически по or, найти общие точки (включающее или) исходных областей и показать их на рисунке штриховкой
-
перемножить отношения А, В, С логически по and, найти общие точки (пересечение) исходных областей и показать их на рисунке штриховкой
-
объединить отношения А, В, С логически по xor, найти общие точки (исключающее или) исходных областей и показать их на рисунке штриховкой
-
записать логическую формулу из последней колонки таблицы с отношениями А, В, С в виде логического выражения на языке C, найти общие точки исходных областей для логической формулы и показать их на рисунке штриховкой.
-
На каждом из четырех рисунков пункта 2 задания выбрать по две точки так, чтоб одна попала в заштрихованную область (истина), а другая нет (ложь).
-
Написать программу, которая по координатам точек с четырех рисунков, вводимых с клавиатуры, вычисляет значения логических выражений и выводит введенные координаты и вычисленные значения.
-
Выполнить программу с координатами точек, выбранных в пункте 3 задания.
Отчет
Отчет по лабораторной работе должен содержать в указанном порядке:
-
название работы;
-
номер варианта задания;
-
фамилию, имя, отчество и номер группы студента, выполнившего работу;
-
текст задания;
-
неравенства и формулу в том виде, как они приведены в варианте задания;
-
три рисунка для исходных неравенств;
-
четыре рисунка для формул с выбранными точками;
-
распечатку программы и результатов из соответствующих файлов;
-
вопросы к заданию с правильными ответами.
Справочная информация
Уравнение |
Кривая |
x2 + y2 = R2 |
Окружность радиуса R с центром в начале координат |
Эллипс, оси которого лежат на осях координат. Горизонтальная ось эллипса равна 2а, вертикальная ось равна 2b |
|
y = ax2 + c |
Парабола, ось которой совпадает с осью Y, вершина (0,с) |
Отношения можно использовать для сравнения двух числовых выражений. Результат вычисления отношения имеет логическое значение - это либо true - "истина" либо false - "ложь". Логическое значение "ложь" представляется в C целым нулевым значением, а "истина" представляется в C любым целым ненулевым значением. Значением выражения, содержащего операции отношения и (или) логические операции в программе на С, является 0 - "ложь", 1 - "истина".
В C допускаются следующие встроенные операции отношений:
Название |
Знак в C |
Меньше чем |
< |
Меньше или равно |
<= |
Равно |
== |
Не равно |
!= |
Больше или равно |
>= |
Больше чем |
> |
Знаки отношений записываются между числовыми операндами. Отношения вычисляются после вычисления их операндов. Например, при A=2, B=0 для отношения A+3 > B порядок действий такой: сначала вычислят А+3=5, а затем "5" будут сравнивать с В=0. Результат вычисления выражения 5>0 будет "истина".
В C допускаются следующие встроенные логические операции:
Название |
Знак в C |
Старшинство |
Знак в iso646.h |
Логическое отрицание |
! |
1 |
not |
Логическая конъюнкция |
&& |
2 |
and |
Логическая дизъюнкция |
|| |
3 |
or |
Логическая поразрядная неэквивалентность |
^ |
4 |
xor |
Операция отрицание является унарной и пишется перед операндом, остальные знаки логических операций всегда записываются между операндами.
Операция not дает результат "истина", если значение операнда "ложь", и результат "ложь", если значение операнда "истина".
Введем обозначения: T-"истина" и F-"ложь". Строки и столбцы таблиц помечены значениям операндов, а на пересечении строки и столбца записан результат:
and |
F |
T |
|
or |
F |
T |
F |
F |
F |
|
F |
F |
T |
T |
F |
T |
|
T |
T |
T |
xor |
F |
T |
|
|
|
|
F |
F |
T |
|
|
|
|
T |
T |
F |
|
|
|
|