4704

Основные логические операции

Лекция

Информатика, кибернетика и программирование

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

Русский

2012-11-24

101.05 KB

7 чел.

Основные логические операции

Операторы в программе-обработчике событий выполняются в той последовательности, в которой они записаны. Однако достаточно часто требуется изменить порядок выполнения операторов в зависимости от выполнения (или невыполнения) определенного условия. Существуют управляющие конструкции, предназначенные для управления порядком выполнения операторов. Основанием для принятия решений в управляющих операторах является истинность или ложность условного (логического) выражения.

Условные выражения — это такие выражения, которые возвращают одно из двух значений True (Истина) или False (Ложь). Простые логические выражения содержат операции отношения (операции сравнения):   = (равно),     > (больше),   <  (меньше),   <>  (не равно),   >= (больше или равно),   <=  (меньше или равно). Сложные логические выражения строятся из простых логических выражений и логических операций, примененных к ним.

 Основные логические операции

В приведенной таблице A и B – логические выражения

Операция

Обозначение

Истолкование

1

Отрицание (инверсия)

not A 

Не А;
Неверно, что А

2

Конъюнкция (логическое произведение, логическое И)

А and В

А и В;
А, но В;
А, а  В;
как А, так и В;
А вместе с В;
А в то время, как В

3

Дизъюнкция (логическое сложение, логическое ИЛИ)

А or В

А или В;
А или В или оба

4

Дизъюнкция (исключающее ИЛИ)

А xor В

А либо В;
А или В, но не оба

Приоритеты выполнения логических операций в логических выражениях:

  1.  Отрицание (not)
  2.  Логическое произведение (and)
  3.  Логическое сложение (or), исключающее или (xor)

Скобки меняют порядок выполнения операций.

Таблица истинности для основных логических операций

А 

В 

Not A

A and B

A or B

A xor B

False

False

True

False

False

False

False

True

True

False

True

True

True

False

False

False

True

True

True

True

False

True

True

False

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

Выбор действия в зависимости от выполнения условия может быть реализован при помощи оператора IF.

Оператор условия If

Различают два типа условных операторов:  IfThen  и  IfThenElse.

Конструкция IfThen применяется, когда необходимо выполнить определенные действия только в том случае, если значение некоторого условия равно «истина». 

Синтаксис оператора IfThen 

If <условие> Then < Инструкция для обработки истинного условия >

Вначале вычисляется значение условия (выражения логического типа), и если значение условия равно «истина» выполняется инструкция следующая за словом Then.

Если в результате выполнения условного оператора должно выполняться 2, 3 или более инструкций, то необходимо использовать составной оператор.

Синтаксис составного оператора

Begin

Оператор1;

Оператор2;

End;

Пару BeginEnd часто называют операторными скобками и в программе для наглядности записывают на одном уровне (End под соответствующим ему Begin). Внутри одного составного оператора может находиться  другой составной оператор.

Синтаксис оператора IfThenElse:

If условие Then
<Инструкция для обработки истинного условия >
Else
< Инструкция для обработки ложного условия>

 

Оператор IfThenElse выполняется следующим образом:

1.      Вычисляется значение условия (выражения логического типа).

2.      Если значение условия равно «истина», то выполняется инструкция следующая за словом Then. Если значение условия равно «ложь», то выполняется инструкция следующая за словом Else.

 Примеры:

1.        Программа поиска наибольшего из трех действительных чисел:

procedure TForm1.Button1Click(Sender: TObject);

var

 Max,a,b,c:integer;

begin

 a:=StrToInt(Form1.Edit1.Text);//преобразование строки

                                      в целое число

 b:=StrToInt(Form1.Edit2.Text);

 c:=StrToInt(Form1.Edit3.Text);

 if a>=b then

if a>=c then Max:=a else Max:=c

 else if b>=c Max:=b else Max:=c;

 Form1.Edit4.Text:=IntToStr(Max);

end;

2.        Программа проверки на равенство нулю делителя при выполнении операции вещественного деления:

if b<>0 then

begin

 c:=a/b;

    Form1.Edit3.Text:=FloatToStr(c);

  end

else

begin

 Form1.Edit3.Font.Color:=clRed;// Изменение 

                                        цвета шрифта

          Form1.Edit3.Width:=130;// Изменение ширины

     Form1.Edit3.Text:=’На нуль делить нельзя’;

                             // Вывод сообщения

    end;

Оператор Case

Оператор Case позволяет реализовать множественный выбор. Переход организуется на одну их ветвей в зависимости от значения заданного выражения (селектора выбора).

Оператор Case  существует также в двух вариантах:

Case k of 

A1:  <инструкция1>;
A2:  <инструкция2>;
………
AN:  <инструкцияN>;

End;

и

Case k of 

A1:  < инструкция 1>;
A2:  < инструкция 2>;
……………………….
AN:  < инструкция N>
Else  
< инструкция, выполняемая в случае, если значение выражения
не попало ни в один из списков констант
A1, A2, …,AN>

End;

Здесь

      k – выражение-селектор, от значения которого зависит дальнейший ход программы, может иметь только простой порядковый тип (целый, символьный, логический);

     Список констант (A1,…,AN) – константы, того же типа, что и селектор, выполняющие роль меток ветвей. Если константы представляют диапазон чисел, то вместо списка можно указать первую и последнюю константу диапазона, разделив их двумя точками.

Исполнение оператора начинается с вычисления выражения k, полученное значение сравнивается с константами (метками) и выполняется соответствующий оператор.

Например:

Для нахождения наибольшего из двух неравных действительных чисел, используется оператор:

procedure TForm1.Button1Click(Sender: TObject);

var

 Max,a,b:real;

begin

 a:=StrToFloat(Form1.Edit1.Text);

 b:=StrToFloat(Form1.Edit2.Text);

 case a>b of

true: Max:=a;

    false: Max:=b;

 end;

 Form1.Edit3.Text:=FloatToStr(Max);

end;

Следующий оператор case выполняет выбор варианта вычислений, в зависимости от того, какой из переключателей компоненты RadioGroup отмечен:

case RadioGroup1.ItemIndex of

0:c:=a+b;

1:c:=a-b;

2:c:=a*b;

3: if b=0 then ShowMessage(‘На нуль делить нельзя’)

  else c:=a/b;

end;

Если в результате выбора конкретного варианта должно выполняться 2, 3 или более инструкций, то необходимо использовать составной оператор.

Задание 1. 
Создайте проект, реализующий ввод двух целых чисел, их вещественное деление и вывод результата на экран.

 
Дополните программу обработчика события проверкой делителя на равенство нулю. В случае равенства делителя нулю вместо выполнения деления в текстовом окне должно отображаться сообщение «На нуль делить нельзя!».
Проверьте работу модифицированной программы.
Сохраните внесенные в проект изменения, использовав кнопку
Save All  панели инструментов Delphi.

 

Задание 2. 
Измените программу таким образом, чтобы сообщение «На ноль делить нельзя!» в окне
Edit3 выводилось красным цветом, а ширина окна изменялась, так, чтобы отображался весь текст сообщения.
Чтобы цвет шрифта и размер окна восстанавливался при вводе правильных данных, перед оператором
if..then..else задайте свойства текстового окна: цвет шрифта – черный, и ширину окна 65 пикселей.
Сохраните внесенные в проект изменения.

 

Задание 3. 
Измените программу таким образом, чтобы сообщение «На ноль делить нельзя!» выводилось в отдельном окне сообщения.
Для этого используйте вызов процедуры
ShowMessage(‘На ноль делить нельзя!’).
Сохраните текст модуля под новым именем в той же папке, используя команду меню
FileSave As.
Сохраните измененный проект под новым именем в той же папке, используя команду меню
File→ Save As.

Краткая характеристика некоторых компонентов, наиболее часто используемых в примерах для построения управляющих конструкций

Компонент RadioGroup (группа переключателей). Позволяет отображать поля с ограниченным множеством значений. Относится к группе Standard.

Основные свойства компонента  RadioGroup

Caption 

Задает название группы переключателей.

Items 

Определяется количество переключателей в группе и надписи около них. Надписи задаются в окне String List Editor.

ItemsIndex 

Задает номер кнопки, выбранной по умолчанию.

0 – первая, -1 – ни одна кнопка не выбрана.

 Компонент CheckBox (кнопка с независимой фиксацией - флажок Windows) . Позволяет пользователю выбрать/отменить определенную опцию. Состояние кнопки содержится в свойстве Checked. Относится к группе Standard.

Основные свойства компонента CheckBox

Caption 

Задает текст, сопровождающий кнопку.

AllowGrayed 

Задает наличие у кнопки третьего состояния. Если значение этого свойства False, то кнопка может находится в двух состояниях – включенном или выключенном. Если значение свойства равно True, то добавляется третье состояние, когда кнопка неактивна.

Checked 

Возвращает или задает, наличие галочки флажка. True – кнопка включена, False - выключена.

 

Задание 4. 

Создайте приложение (Калькулятор), обеспечивающее ввод двух целых чисел и выполнение над ними арифметических операций: сложения, вычитания, умножения и вещественного деления. Для выбора операции используйте переключатели, вывод сообщения об ошибке при вводе делителя, равного нулю, выполните в отдельном окне сообщений.


 

А также другие работы, которые могут Вас заинтересовать

74503. СЕТЕВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ 516.5 KB
  Основное назначение концентратора это объединять между собой компьютеры в сегменты а затем сегменты в в единую сети. Сегментом называе6тся обособленная группа компьютеров в сети. Технология соединения сегментов сети с помощью коммутаторов switch появилась в 1990 году для решения проблемы повышения пропускной способности сети. Использование коммутаторов позволяет избежать проблем коллизий в сети Ethernet так как наличие портов и буферизация данных не позволяет распространяться коллизии по всей сети.
74504. Понятие глобальной компьютерной сети Интернет 155.5 KB
  Понятие глобальной компьютерной сети Интернет 24 октября 1995 года Федеральный сетевой совет FNC США единодушно одобрил резолюцию определяющую термин Интернет Это определение разрабатывалось при участии специалистов в области сетей и в области прав на интеллектуальную собственность. Интернет это глобальная информационная система которая: логически взаимосвязана пространством глобальных уникальных адресов основанных на Интернетпротоколе IP или на последующих расширениях или преемниках IP; способна поддерживать коммуникации с...
74505. Модель OSI. Принцип взаимодействия компьютеров в сети 211 KB
  В модели OSI все протоколы сети делятся на семь уровней: физический канальный сетевой транспортный сеансовый представительный и прикладной Рис. Основной задачей канального уровня является прием кадра из сети и отправка его в сеть. Кадр может быть доставлен по сети к другому компьютеру только в том случае если протокол соответствует той топологии для которой он был разработан. Сетевой уровень Network lyer служит для образования единой системы объединяющей несколько сетей причем эти сети могут быть различной топологии...
74506. История развития компьютерных сетей. Глобальные и локальные сети 263 KB
  История развития компьютерных сетей Компьютерные сети являются логическим результатом эволюции развития компьютерных технологий. Такие многотерминальные централизованные системы внешне напоминали локальные вычислительные сети до создания которых в действительности нужно было пройти еще большой путь. Терминалы в этом случае соединялись с компьютером через телефонные сети с помощью специальных устройств модемов. Компьютеры получили возможность обмениваться данными в автоматическом режиме что является базовым механизмом любой компьютерной сети.
74507. Технические средства и системное программное обеспечение корпоративных информационных систем 5.37 MB
  Описание архитектуры фон Неймана В настоящее время используются разнообразные принципы логической и структурной организации ЭВМ. Исторически первыми но не утратившими своего значения являются однопроцессорные ЭВМ фоннеймановской архитектуры. В основу архитектуры положены традиционные принципы построения однопроцессорной ЭВМ сформулированные Дж. Как показывает дальнейшее развитие и совершенствование компьютеров такая архитектура построения ЭВМ является препятствием для дальнейшего роста производительности компьютера.
74508. ИНФОРМАЦИОННЫЕ РЕСУРСЫ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ 1.09 MB
  Весь процесс производства с точки зрения информатики представляет собой непрерывный процесс порождения обработки изменения хранения и распространения информации. Современное предприятие можно рассматривать как эффективный информационный центр источниками информации которого являются внешняя и внутренняя деловая среда.
74509. Предмет и основные понятия корпоративных информационных систем 1.1 MB
  Понятие информационной системы. Корпоративные информационные системы. Структура корпоративной информационной системы. Цель изучения дисциплины Корпоративные информационные системы подготовка к использованию современных информационных технологий в рамках КИС как инструмента для решения научных и практических задач в своей предметной области на высоком профессиональном уровне а также к участию в разработке и внедрении этих систем.
74510. ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ 2.7 MB
  Посмотрим каким критериям должна удовлетворить концепция КИС: концепция КИС должна быть полностью формализована и ясна с точки зрения реализации обеспечивается технологиями ООП; созданная КИС не должна требовать частых переделок КИС меняется Пользователем на пользовательском уровне Разработчик в этом участвует значительно реже только подменяя ядро КИС на более эффективное; КИС должна иметь форму коробочного продукта КИС реализованная на принципах ООП близка этой форме; КИС должна требовать минимальной настройки под конкретное...
74511. ПРОЕКТИРОВАНИЕ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ 192.5 KB
  Более подробно жизненный цикл КИС корпоративной информационной системы можно представить следующим образом: Этап анализа на котором происходит сбор предложений требований пожеланий аналогий фактов примеров эскизов сценариев и т. Этап управления вариантами системы необходим чтобы не утонуть в накапливаемом аналитическом материале. Этап конструирования знаменуют собой начало синтеза первых очертаний системы. Здесь происходит разработка вариантов архитектуры системы концептуальных моделей системы диаграмм взаимодействия подсистем...