Суббота, 20.04.2024, 03:23
Сайт Электронных задачников по программированию
Приветствую Вас Гость | RSS
Главная Каталог файлов Регистрация Вход
Меню сайта

Вход

Часы
Get Adobe Flash player

Поиск

Soft

Главная » Файлы » логические выражения

Выражение
20.06.2013, 18:12

Выражение это формальное правило для вычисления некоторого значения. Выражение строится как совокупность операндов, объединенных знаками операций, выполнение которых приводит к вычислению значения выражения. Главное совйство выражений - возможность иметь значение.

В зависимости от типа значения выражения можно разделить на три вида:

  • численные (арифметические);
  • логические;
  • символьные.

Рассмотри правила построения выражений каждого из этих видов.

Численные (арифметические) выражения

Представляют собой совокупность имен переменных, констант, функций, а также других выражений числовых типов, объединенных знаками арифметических операций. В Паскале предусмотрены шесть арифметических операций:

+сложение (унарный плюс)
-вычитание (унарный минус)
*умножение
/деление
divцелочисленное деление
modостаток от целочисленного деления

Операция возведения в степень в языке не предусмотрена.

В сложных выражениях порядок выполнения операций определяется правилами приоритета:

I-й (высший) приоритетунарные минус и плюс
II-й приоритет* и  /
III-й приоритет+ и  -

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

Тип значения выражения зависит типов операндов и от выпоняемой операции.

  • Если все операнды целочисленные, то операции сложения, вычитания, умножения, целочисленного деления дают значение выражения также целочисленного типа. Операция деления "/" дает вещественный результат! Если в выражение присутствуют целочисленные операнды, имеющие различные типы (например, Byte и Integer), то значение выражения будет иметь тип с наибольшим диапазоном (в данном случае Integer).
  • Если среди операндов хоть один имеет вещественный тип, то значение выражения будет также вещественным.

При построении арифметических выражений можно использовать различные встроенные математические функции. Ниже в таблице приведены их имена, назначение и характеристики.

Вызов функцииТип аргументаТип результата

Назначение

 Abs(x) целый 
вещественный 
целый вещественный Абсолютное значение x 
Pi вещественный Ззначение числа ПИ 
Sin(x) целый 
вещественный 
вещественный Синус x радиан 
Cos(x) целый 
вещественный 
вещественный Косинус x радиан 
ArcTan(x) целый 
вещественный 
вещественный Арктангенс x радиан 
Sqrt(x) целый 
вещественный 
вещественный  Квадратный корень из x>=0 
Sqr(x) целый 
вещественный 
целый вещественный Ззначение квадрата x 
Exp(x) целый 
вещественный 
вещественный Значение e в степени x 
Ln(x) целый 
вещественный 
вещественный Натуральный логарифм x, x>0 
Trunc(x) целый 
вещественный
LongIntЦелую часть значения x 
Frac(x) целый 
вещественный
вещественный Дробную часть значения  
Int(x) целый 
вещественный
вещественный Целую часть значения x 
Round(x) целый 
вещественный
LongIntОкругляет x до ближайшего целого 
Random-вещественныйСлучайное число от 0 до 1
Random(X)WordWordСлучайное число от 0 до Х
Odd(x) целый логический Проверяет нечетность значения x 

 

Примеры записи арифметических выражений

x+5        (a+b)/n      a+b/n       sin(x)*sqr(x)

1/(1+abs(sin(x)))    Trunc((max-min)/dx)

23.05*(x-0.01)-sqrt(x+1)

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

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

В языке Паскаль определены шесть операций сравнения (все они относятся к четвертому (низшему) приоритету):

<меньше
>больше
<=меньше или равно
>=больше или равно
=равно
<>не равно

Типы операндов должны быть совместимыми по присваиванию.

Примеры условных выражений (условий):  

x<2     ch='Y'    a+b<>0    sin(x)>=0.5

Важно: При сравнении вещественных чисел следует помнить, что в следствие неточности их представления в памяти компьютера (в виду неизбежности округления) стоит избегать попыток определения строгого равенства двух вещественных значений. Есть шанс, что равенство окажется ложным, даже если на самом деле это не так. Например, выражение x = (2.23*x/2.23) формально является истинным, но из-за ошибок округления в вещественном типе может оказаться ложным.

Логическое выражение - это совокупность переменных и констант логического типа, а также условных выражений, объединенных знаками логических операций. Операндами логических операций могут выступать другие логические выражения. Результат вычисления логического выражение, как и в случае условных выражений, - одно из двух логических значений типа BooleanTrue (истина) или False(ложь).

В Паскале предусмотрены четыре логические операции:

Приоритет

Операция

Название

I-йNOTлогическое отрицание
II-йANDлогическое умножение
III-йORлогическое сложение
III-йXORлогическое исключающее сложение

Результаты логических операций в зависимости от значения операндов приведены ниже в виде "таблицы истинности":

L1

L2

not L1L1 and L2L1 or L2L1 xor L2
FalseFalseTrueFalseFalseFalse
FalseTrueTrueFalseTrueTrue
TrueFalseFalseFalseTrueTrue
TrueTrueFalseTrueTrueFalse

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

(x>=0)and(x<=10)     (ch='y')or(ch='Y')    (x=5)or(y=1)

(x+1>0)and(x+1<10) or (y>0)and(y<2)

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

Категория: логические выражения | Добавил: DarzaWar
Просмотров: 905 | Загрузок: 0 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024 Сделать бесплатный сайт с uCoz