Читайте также: |
|
Логические выражения
Цель работы
5.1.1 Ознакомиться с основами логики.
5.1.2 Научиться составлять логические выражения, в том числе составные.
5.1.3 Получить практический навык создания, тестирования и отладки программы линейной структуры с использованием логических величин.
Приборы и оборудование
5.2.1 Методические указания по выполнению лабораторной работы.
Порядок выполнения работы
5.3.1 Изучить теоретические сведения.
Запустите среду из главного меню или щелчком по ярлыку, созданному на Рабочем столе или на панели быстрого запуска.
5.3.3 Наберём несложную программу, позволяющую дать ответ: совпадают ли два целых числа, введённых с клавиатуры?
5.3.4 Задание 1. Запустите среду, создайте проект logic в своей папке, добавьте модуль с тем же именем. Наберите текст приведённой ниже программы. Проверьте корректность работы программы на тестовых данных
Программа позволяет дать ответ на вопрос, не используя развилку (см. лекция 1). В программе используется логическая (булева, булевская) переменная ответ, которая может принимать одно из двух значений true (истина) или false (ложь) – в зависимости от того, чему равно логическое выражение первое = второе. А значение этого выражения зависит от введённых значений переменных первое и второе, связанных между собой отношением равенства.
Можно изменить отношение – вместо равно использовать не равно (#)? Но это будет ответ на другой вопрос: Различны ли введённые числа?
5.3.5 Задание 2. Замените в тексте программы логическое выражение и выводимое сообщение в соответствии с приведённым фрагментом. Проверьте корректность работы программы на тестовых данных.
Можно составлять другие выражения
первое < второе | Истинно, если первое число меньше |
первое > второе | Истинно, если первое число больше |
первое <= второе | Истинно, если первое число не больше второго |
первое >= второе | Истинно, если первое число не меньше второго |
~ (первое = второе) | Знак ~(тильда)меняет смысл выражения на противоположный, то есть если числа равны, выражение ложно и наоборот. Таким образом, это выражение эквивалентно выражению первое # второе |
Иногда требуется одновременного выполнения нескольких условий, в таких случаях используются логические операции И (логическое умножение; в Semantic обозначается символом &) и ИЛИ (логическое сложение; в Semantic обозначается символом |).
Для вычисления значений логических выражений служат таблицы истинности (в первом столбце один операнд, в первой строке – второй на пересечении результат операции)
& | И | Л |
И | и | л |
Л | л | л |
| | И | Л |
И | и | и |
Л | и | л |
Таким образом, чтобы, например, записать условие принадлежности точки с координатами (X, Y) первой координатной четверти, нужно, чтобы одновременно были истинны оба простых логических выражения X > 0 (точка выше оси Ох) и Y > 0 (точка правее оси Oy). Общее выражение выглядит так
(X > 0) & (Y > 0)
а вычисляется по упрощённому способу: вычислять составляющие элементарные выражения слева направо; если по первому выражению понятно, каков должен быть результат, то дальнейшие вычисления прекращаются. Например, если нарушено первое условие, то нет смысла вычислять второе – точка всё равно не будет принадлежать первой четверти.
Для логического сложения тоже используется упрощённый способ: если первый операнд принял значение истина, то и всё выражение тоже истинно, второй операнд не вычисляется.
Рассмотрим задачу:
Четырёхугольник ABCD задан координатами своих вершин (для простоты будем считать, что координаты целочисленные, поскольку вещественные числа могут сравниваться в отношении больше или меньше, но не могут сравниваться на равенство). Является ли он параллелограммом?
Для решения этой задачи совсем не надо вычислять длины сторон. Достаточно вспомнить, что диагонали параллелограмма точкой пересечения делятся пополам.
То есть нужно вычислить координаты середин отрезков AC и BD проверить, совпадают ли эти точки.
Координаты середины отрезка получаются как полусумма координат его концов, то есть имеем:
Так как точки должны совпадать, то приравниваем координаты X1 и X2, а также Y1 и Y2:
откуда умножением на два получаем
Таким образом, для решения задачи необходимо:
·объявить и запросить с клавиатуры четыре пары целых чисел;
·объявить логическую переменную и вычислить её значение, используя логическое выражение () & ()
·Вывести на экран ответ на вопрос: является ли четырёхугольника параллелограммом? Ответом является вычисленная нами логическая переменная.
Добрый совет: Во избежание путаницы при вводе, вводить координаты точек лучше попарно:
вывести “Введите координаты точки А: ”;
ввести XA;
ввести YA;
вывести “Введите координаты точки B: ”;
ввести XB;
ввести YB;
и так далее – ещё две пары..
Содержание отчета
5.4.1 Цель работы.
5.4.2 Приборы и оборудование.
5.4.3 Порядок выполнения работы.
5.4.4 Ответы на контрольные вопросы.
5.4.5 Выводы.
Контрольные вопросы
5.5.1 Простейшие возможности интегрированной среды Semantic?
5.5.2 Как правильно записать оператор ввода?
5.5.3 Как правильно использовать оператор вывода?
5.5.4 Что такое модуль?
5.5.5 Для чего предназначен оператор «Текс»? Как его правильно записать?
Дата добавления: 2015-07-08; просмотров: 167 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Задание | | | Простая линейная регрессия |