Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема1.doc
Скачиваний:
1
Добавлен:
04.11.2018
Размер:
698.88 Кб
Скачать

1.3 Арифметические и логические выражения

Выражения – это конструкция, определяющая последовательность действий, которые необходимо выполнить для вычисления какой-либо величины. Выражения состоят из констант, переменных, ссылок на стандартные функции (см. Приложение А) и функции пользователя, операций с одним операндом, например , или несколькими операндами, например X+Y, круглых скобок. Выражение соответствует осмысленной математической формуле, записанной в отличие от математики последовательно символ за символом, то есть в строку. В отличие от математики объекты не обозначают буквами, а функции спецзначками, - все именуются. Выражения, в зависимости от типа объектов, входящих в них, разбивают на

  • арифметические, выполняющие действия над числами целого, вещественного или комплексного типа

  • логические, выполняющие действия над логическими величинами

  • строковые, выполняющие действия над строками из символов

1.3.1 Арифметические выражения

Доступные математические операции и порядок их выполнения приведен в таблице ниже

Таблица 1.3 Приоритет операций в арифметических выражениях

Операция

Название

Уровень

Порядок выполнения

Пример

Функция(х)

см. приложение А

1

Сначала действия в скобках

Sin(x+1)

**

Возведение в степень

2

Справа налево

X**3

*

Умножение

3

Слева направо

X*y

/

Деление

3

Слева направо

x/y

+

Сложение

4

Слева направо

X+y

-

Вычитание

4

Слева направо

x-y

-

Смена знака

4

Слева направо

-x

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

Операции с целыми операндами имеют особенности:

результат деления двух целых чисел определен как целая часть частного;

любое не нулевое целое, не равное 1 или –1 , возведенное в отрицательную степень, будет равно нулю. Это связано с тем, что I**(-J) интерпретируется как 1/I**J и предполагает деление двух целых чисел

Возведение в степень имеет особенности

при вещественном показателе степени real x операция a**x выполняется как - откуда следует ограничение на основание a>0

при целом показателе степени integer n операция a**n выполняется как n-кратное умнжение a*a*a* ..*a

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

Результатом операций отношения может быть только два значения True – истина и False – ложь. В логическом выражении можно использовать отношения и логические операции. Отношения в логических выражениях используют для сравнения либо двух числовых, либо двух символьных выражений. Результат вычисления отношения имеет логический тип - это либо .true. - "истина" либо .false.- "ложь". В Фортране допускаются следующие отношения (см. табл. 1.4):

Таблица 1.4 Операции отношения языка Фортран

Отношения

Фортран 90

Пример

Меньше чем

.LT.

<

a.LT.b

Меньше или равно

.LE.

<=

a.LE.b

Равно

.EQ.

==

k.EQ.m

Не равно

.NE.

/=

k.NE.m

Больше или равно

.GE.

>=

a.GE.b

Больше чем

.GT.

>

a.GT.b

Знаки отношений записываются между числовыми либо символьными операндами. Отношения вычисляются после вычисления их операндов.

В Фортране допускаются следующие логические операции (см. табл. 1.5):

Таблица 1.5 Логические операции языка Фортран

Операция

Обозначение

Старшинство

Пример

Отрицание

.NOT.

1

.NOT.a

Конъюнкция

.AND.

2

a.AND.b

Дизъюнкция

.OR.

3

a.OR.b

Эквивалентность

.EQV.

4

a.EQV.b

Неэквивалентность

.NEQV.

4

a.NEQV.b

Операция .NOT. является унарной и пишется перед операндом, остальные знаки логических операций всегда записываются между операндами. Две логические операции могут следовать в выражении непосредственно друг за другом, если второй операцией является операция отрицания. Например, a .and. .not. b.

Таблица 1.6.Таблица истинности логических операций

x

y

x.and.y

x.or.y

.not.x

x.xor.y

x.eqv.y

x.neqv.y

И

И

Л

Л

И

Л

И

Л

И

Л

Л

Л

И

И

И

Л

Л

Л

И

И

Л

И

И

Л

И

Л

Л

И

Л

И

И

Л

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

1 – вычисления значений функций;

2 – арифметические операции;

3 – операции отношения;

4 – логические операции.

Примеры:.

На математическом языке a<x<b => x>a x<b.

На Фортране x>a.and.x<b.

Так если a=2, b=4, то выражение истинно при x=3 и ложно при x=1 или x=5.

На математическом языке -<x<+ =>x>a x<b.

На Фортране x>a.or.x<b.

Так если a=2, b=4, то выражение истинно при любом x.

На математическом языке X<a или x>b =>x>a x<b.

На Фортране x<a.or.x>b.

Так если a=2, b=4, то выражение ложно при x=3 и истинно при x=1 или x=5.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]