Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Применение логических операций в программе

Пример 4.3. Логические операции в программе
Program Bool_l;
var X: Integer;
Bol, OnBol, Rez: Boolean;
Begin
X:=4;
Bol :=X>3;
OnBol:=X<3;
writeln('Bol=',Bol);
writeln('ОnBol=',OnBol);
Rez:=Bol and OnBol;
writeln ('Bol and OnBol=',Rez) ;
Rez:=Bol or OnBol;
writeln('Bol or OnBo1=',Rez);
Rez:=not Bol;
writeln('not Bol=',Rez);
readln
end.

 

При выполнении программы имеем на экране следующее:

Bol=TRUE
OnBol=FALSE
Bol and OnBol=FALSE
Bol or OnBol=TRUE
not Bol=FALSE

 

Пример 4.4. Составление логических выражений
Program Bol_2;
{ Введем логические переменные, которые будут определять характеристики студента.
Составим выражения, определяющие, является ли студент первокурсником, получающим стипендию }


var
Price:Boolean; { Определяет наличие стипендии у студента }
Kursl:Boolean; { Определяет, является ли студент первокурсником }
Rezult:Boolean; { Определяет результат}

begin
Price:=True; { Пусть наш студент получает стипендию }
Kursl:=True; { Пусть студент - первокурсник }
Rezult:=Price and Kursl;
writeln('Студент-первокурсник со стипендией? -', Rezult);
Price:=False; { Пусть наш студент не получает стипендию }
Rezult:=Price and Kursl;
writeln('Студент - первокурсник со стипендией? - ', Rezult);
readln
end.

 

При выполнении программы имеем на экране следующее:
Студент - первокурсник со стипендией? - TRUE
Студент - первокурсник со стипендией? – FALSE

 

Задание 4.1. Определите в программе 4 логических переменных, которые содержат следующую информацию о людях:
Married — «истина», если человек женат (замужем),
Blond — «истина», если у человека светлые волосы,
Male — «истина», если человек — мужчина,
Employed — «истина», если человек работает.

Составьте логические выражения, с помощью которых можно определить, является ли человек:
1) замужней женщиной;
2) неженатым мужчиной;
3) незамужней блондинкой;
4) безработной незамужней женщиной;
5) либо неженатым, либо безработным, либо и тем и другим.

 

Приоритет логических операций

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


Приоритет

Логическая операция

1 (самый высокий)

Not

2

And

3 (самый низкий)

Or, Xor

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

 

ЗАПОМНИТЕ!

Это очень важно! Приоритет любой операции сравнения ниже, чем. любой логической операции. Это значит, что при объединении сравнений при помоши логических операций каждое сравнение необходимо взять в скобки. Например, утверждение 2 <= х <= 4 должно бьипь записано как (2<=х) and (х<=4).

 

Выводы
1. Существуют утверждения, относительно которых можно однозначно сказать, истинны они или ложны.
2. Для записи результатов таких утверждений, а также для анализа условий необходим еще один тип данных — boolean.
3. Данные этого типа могут принимать одно из двух значений: true («истина») или false («ложь»).
4. При составлении выражения для анализа условий используются операции отношений: >, <, >=, <=, =, о.
5. Для объединения нескольких логических утверждений в одно используются логические операции (and, or, xor, not), результаты которых формируются в соответствии с таблицами истинности.
6. Порядок выполнения действий определяется скобками и приоритетами операций.

Контрольные вопросы
1. Что такое логическое утверждение?
2. Сколько различных значений могут принимать логические утверждения? Как они обозначаются?
3. Как записать на Паскале утверждение «икс не равен пяти»?
4. Как записать на Паскале утверждение «игрек не принадлежит отрезку [3, 5]»?
5. Чему равен результат операции true orfalse and false?
6. Правильно ли записано выражение (х<0) or (х+2)>3?
7. Чему будет равен результат операции true xor false xor true?




 

Комментарии:

2011-03-26 ответил Алекс

Куда подивались пояснения??? Что за Bol, OnBol, Rez???



2012-04-05 ответил Артем

"Bol, OnBol, Rez" как я понял это ячейки.



2013-02-26 ответил Егор

это переменные которые мы задаем



2013-10-23 ответил валерий

а в задании 4.1 везде ложь должно выдавать? у меня везде ложь выдает. я вроде в уме посчитал коньюнкцию и дизьюнкцию и вроде должно так и быть. но все же есть сомнения



2013-11-13 ответил Александр

является ли человек замужней женщиной? False является ли человек неженатым мужчиной? False Задание 4.1 является ли человек незамужней блондинкой? False является ли человек незамужней безработной женщиной? False является ли человек либо неженатым, либо безработным, либо и тем и другим? False




Добавить свой комментарий:


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru