Лекция 2
Выражения.
ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
КОНЪЮНКЦИЯ (логическое умножение)
ДИЗЪЮНКЦИЯ (логическое сложение)
ИНВЕРСИЯ (отрицание)
ИМПЛИКАЦИЯ (логическое следование)
ЭКВИВАЛЕНЦИЯ (равнозначность)
ЛОГИЧЕСКИЕ ОПЕРAЦИИ
Приоритет операций
ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
ЛОГИЧЕСКИЕ ПЕРЕМЕННЫЕ
ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
РАЗВЕТВЛЕННАЯ СТРУКТУРА АЛГОРИТМА
УСЛОВНЫЙ ОПЕРАТОР
НЕПОЛНАЯ РАЗВИЛКА
НЕПОЛНЫЙ УСЛОВНЫЙ ОПЕРАТОР
Вложенные условные операторы:
составной оператор:
Условие с использованием логического «И»
Условие с использованием логического «ИЛИ»
Условие «равенства» для действительных чисел
Пример
Преобразование целых чисел в строку и обратно.
Преобразование вещественных чисел
Функция Format
1.71M
Category: programmingprogramming

Логические выражения

1. Лекция 2

Российский государственный университет
нефти и газа имени И.М. Губкина
Кафедра «Информатики»
Лекция 2
курс
Информатика
1

2. Выражения.

Выражение — это конструкция, которая
возвращает величину.
Операция — это определенное действие
над элементами данных. Сами элементы
данных, над которыми выполняется
операция, называются операндами.
2

3. ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ

Состоят из логических операндов и
логических операций
3

4. КОНЪЮНКЦИЯ (логическое умножение)

•в естественном языке соответствует союзу и;
•в алгебре высказываний обозначение &;
•в языках программирования обозначение Аnd.
Таблица истинности
А
В
А&В
0
0
0
0
1
0
1
0
0
1
1
1
Диаграмма Эйлера—Венна
4

5. ДИЗЪЮНКЦИЯ (логическое сложение)

•в естественном языке соответствует союзу или;
•обозначение ;
•в языках программирования обозначение Or.
Таблица истинности
А
В
AVB
0
0
0
0
1
1
1
0
1
1
1
1
Диаграмма Эйлера—Венна
5

6. ИНВЕРСИЯ (отрицание)

•в естественном языке соответствует словам
неверно, что... и частице не;
•обозначение А ;
•в языках программирования обозначение Not.
Таблица
истинности
А
А
0
1
1
0
Диаграмма Эйлера—Венна
6

7. ИМПЛИКАЦИЯ (логическое следование)

•в естественном языке соответствует обороту
если ..., то ...;
•обозначение => .
Таблица истинности
А
В
А=>В
0
0
1
0
1
1
1
0
0
1
1
1
7

8. ЭКВИВАЛЕНЦИЯ (равнозначность)

•в естественном языке соответствует оборотам речи
тогда и только тогда; в том и только в том случае;
•обозначение ~ .
Таблица истинности
А
В
А<=>В
0
0
1
0
1
0
1
0
0
1
1
1
8

9. ЛОГИЧЕСКИЕ ОПЕРAЦИИ

И
ИЛИ
НЕ
and
or
not
Операнд 1
true
false
false
false
true
true
Операнд 2
-
false
true
false
true
NOT
false
true
-
AND
-
OR
-
-
-
false
false
false
true
false
true
true
true
9

10. Приоритет операций

Уровень
Тип операции
Операция
Приоритет
0
унарная
NOT
высший
1
мультипликативная
*, /, DIV, MOD,
AND
2
аддитивная
+, -, OR
3
отношения
<, >, <=, >=, =, < >
Условие 2 < X < 5
низший
(X > 2) and (X < 5)
10

11. ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ

Логические
операции
(10 > 5)
and not
Логические
операнды
(10<9)
or
(3 <= 4)
11

12. ЛОГИЧЕСКИЕ ПЕРЕМЕННЫЕ

var
D,S:boolean;
12

13. ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ

D:=10 < 5;
- ложь
S:= (10<9) or (3 <= 4 );
- истина
13

14. РАЗВЕТВЛЕННАЯ СТРУКТУРА АЛГОРИТМА

начало
Ввод
данных
истина
условие
Оператор 1
ложь
Оператор 2
Вывод
Останов
14

15. УСЛОВНЫЙ ОПЕРАТОР

истина
If лог.выраж. then
оператор 1
ложь
else
оператор 2;
15

16.

0 ,если х 0
y 2
ln х ,если х 0
начало
Ввод
X
истина
Х>0
Y=ln2(X)
ложь
Y=0
Вывод Y
Останов
16

17.

if х > 0 then
y:=sqr(ln(x)) ; ОТСУТСТВУЕТ
else y:=0;
17

18. НЕПОЛНАЯ РАЗВИЛКА

начало
Ввод
данных
истина
условие
Оператор 1
ложь
Оператор 2
Вывод
данных
Останов
18

19. НЕПОЛНЫЙ УСЛОВНЫЙ ОПЕРАТОР

If условие then
оператор 1;
Синтаксис оператора if требует использования только
одного оператора. Если требуется выполнить
несколько операторов, то они объединяются в один с
помощью составного оператора begin. . .end
19

20. Вложенные условные операторы:

лед
вода
00
пар
1000
0C
if temp <= 0 then s:=‘лед’
else if temp >=100 then s:=‘пар’
else s:=‘вода’;
20

21. составной оператор:

if temp <= 0 then
begin
label1.Caption:='лед';
label2.Caption:=' ';
label3.Caption:=' ';
end
else if temp <=100 then
begin
label1.Caption:=' ';
label2.Caption:='вода';
label3.Caption:=' ';
end
else
begin
label1.Caption:=' ';
label2.Caption:=' ';
label3.Caption:='пар';
end
end;
21

22.

3. выбор
Логическое
выражение 1
истина
да
Действие 1
нет
ложь
Логическое
выражение 2
истина
да
Действие 2
нет
ложь
Логическое
выражение N
истина
да
Действие N
нет
ложь
22

23.

3. Язык
DELPHI
CASE <ключ_выбора> OF
<константа выбора 1> :
действие 1;
<константа выбора 2> :
действие 2;
...
<константа выбора N> :
действие N;
END;
y:=3;
k:=2;
Case k of
1: y:=5;
2: y:=y-3;
3: y:=2*k;
end;
23

24.

4. выбор
Логическое
выражение 1
- иначе
истина
да
Действие 1
ложь
нет
Логическое
выражение 2
истина
да
Действие 2
ложь
нет
Логическое
выражение N
истина
да
Действие N
ложь
нет
Действие N+1
24
нет

25.

3. Язык
DELPHI
CASE <ключ_выбора> OF
<конст. выбора1>:действие 1;
<конст. выбора2>:действие 2;
. . .
<конст. выбораN>:действие N;
ELSE действие N+1 ;
END;
y:=3;
k:=4;
Case k of
1: y:=5;
2: y:=y-3;
3: y:=2*k;
else y:=k+y;
end;
25

26. Условие с использованием логического «И»

If (a <= b) and (d = 45)
then
begin
Операторы
end;
26

27. Условие с использованием логического «ИЛИ»

If (k = 34)or(n > 23.7)
then
begin
Операторы
end;
27

28. Условие «равенства» для действительных чисел

вместо отношения
X = Y рекомендуется,
например
Abs(X-Y)<1e-8
28

29. Пример

p x
F ( x, p )
Log x 3 ( p)
2
2
Область допустимых значений :
p2 x2 0
x 3 0
x 3 1
p 0
Log x 3 ( p ) 0
Логическое выражение
(sqr(p)-sqr(x)>=0)and (x-3>0)and (x-3<>1)
and (p>0)and (p<>1)
29

30. Преобразование целых чисел в строку и обратно.

возвращает строку символов.
label1.Caption:=IntToStr(r);
целое число
Для обратного преобразования строки в число
используется функция StrToInt.
30

31. Преобразование вещественных чисел

FloatToStr() - для преобразования вещественного
числа в строку
StrToFloat()- строка преобразуется в вещественное
число.
31

32. Функция Format

Format(’ строка формата’,[список элементов])
В качестве результата функция возвращает
отформатированную строку.
’% [width] . [ prec] type ’
width минимальная длина результирующей строки
prec точность
type символ преобразования типа
32

33.

Идентификатор type может иметь одно из значений:
d
u
e
Десятичный
формат.
целочисленное значение.
Аргумент
должен
иметь
Десятичный беззнаковый формат. Форматируется
аналогично параметру d, но знак числа не выводится.
Научный формат. Аргумент должен представлять собой
вещественное число. Значение будет преобразовано в
строку формата с плавающей точкой "-d.ddd...E+ddd".
f
Фиксированный формат. Значение вещественного
аргумента будет преобразовано в строку формата с
фиксированной десятичной точкой "-ddd.ddd...".
s
Строковый формат. Аргумент должен представлять
собою символ, строку типа string или PChar.
33
English     Русский Rules