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. 

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


 

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

37504. Философия. Тесты 79.5 KB
  Социальнофилософским учением является 1.в этом проявляется безусловный рефлекс 4.Учение Платона о первичности мира идей вне зависимости от субъективного отношения к нему является 1.Основателем теории объясняющей роль бессознательного в жизни человека и общества является 1.
37505. Философия эпохи Возрождения 60 KB
  Для характеристики человека он вводит понятие микрокосм в нем как бы свернут большой космос он так же сложен так же важен подобен Вселенной. Человек в бесконечности – что он значит Но: в эпоху Возрождения сформировалась альтернативная культурная ориентация подчеркнувшая как раз достоинство человека. Гуманизм – это мировоззренческий принцип согласно которому признается безусловная ценность человека как личности его права на свободное развитие и проявление своих способностей утверждается благо человека как критерий оценки...
37506. Философия Платона, концепция идей 12.37 KB
  Для каждой вещи фиксируется ее смысл идея которая как выясняется для любой вещи данного класса вещей одна и та же и обозначается одним именем. Идея это то самое единое которое составляет суть многообразия. Итак проблему единого и многого Платон разрешает следующим образом: единое это идея а ее проявления это многое. Какая идея наиважнейшая Платон не считал все идеи равнозначными.
37507. Особенности Русской философии 72.99 KB
  Учитывая весь тысячелетний опыт русской истории можно говорить об исторической миссии России. Миссия России определяется ее положением среди других народов тем что в ее составе объединилось до трехсот народов больших великих и малочисленных требовавших защиты. Культура России сложилась в условиях этой многонациональности. на новом витке развития России Русская идея стала предметом пристального внимания русских мыслителей.
37508. Философия. Основные понятия и термины 95.72 KB
  ИСТОРИЯ ТЕХНИКИ – наука о развитии технических систем см. С точки зрения естественных наук история техники изучает этапы овладения человеком законами природы что обеспечивает более глубокое и разностороннее использование и применение вещества и энергии природы. С социальной точки зрения история техники изучает общественные движущие силы общественные условия развития техники и роль творцов техники. К наиболее крупным периодам истории техники относятся: история каменного века и ручных орудий техники машин и механизации техники...
37509. Апология Сократа 15.75 KB
  Ксенофонт посвятил Сократу и его учению свои произведения Апология Сократа и Воспоминания о Сократе . Платон же почти все свое учение приписал Сократу так что трудно сказать где кончается Сократ а где начинается Платон Отсутствие прямой информации непосредственно исходящей от Сократа приводит к тому что некоторые историки античной философии в последние десятилетия не раз делали попытки доказать что Сократ всего лишь литературный персонаж. Вопросный метод Сократа Подход Сократа к вопросному методу основан на ведении последовательного...
37510. Патристика и Схоластика 93.75 KB
  К этим принципам относятся: теоцентризм признание в качестве источника всего сущего Бога; креационизм признание того что Бог создал все из ничего; провиденциализм признание того что Бог правит всем; персонализм признание того что человек “персона†сотворен Богом по собственному подобию и наделен совестью; ревеляционизм признание того что самый надежный путь познания наиболее важных для человека истин состоит в постижении смысла Священного писания. И все же на переднем плане осталась проблема человека и его...
37511. Философия. Сборник тестов 425.5 KB
  Предмет и специфика философии. Мировоззрение и философия. Общий обзор исторических типов философии. Античная философия.2 Философия. Средневековья. Философия Возрождения. Философия Нового времени. Немецкая классическая философия. Философия марксизма. Русская философия. Современная западная философия...
37512. Философия. Шпаргалка 363 KB
  Из объемных фигур происходят чувственно воспринимаемые тела которые имеют четыре основы огонь воду землю и воздух; превращение последних приводят к миру живого и человека. Кризис Конечно можно отказаться от атомизма но тогда что делать с парадоксами и апориями элеатов Сюда добавляется еще одна трудность: неясно как подступиться с атомистическими воззрениями к духовному миру человека. Проблема Предлагаемое решение Что удалось объяснить Что не удалось объяснить Что есть единое Материальная субстанция Часть природных явлений...