Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по курсу.docx
Скачиваний:
112
Добавлен:
24.02.2016
Размер:
2.8 Mб
Скачать

3.2. Операции над переменными основных скалярных типов

Во-первых, следует всегда помнить, что в операторе присваивания <имя переменной>:=<выражение>;

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

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

Арифметические выражения строятся из числовых констант, переменных, стандартных функций и операций над ними. Для обозначения операций используются символы: + сложение, - вычитание, * умножение, и / деление.

В арифметическом выражении принят следующий приоритет операций:

  1. вычисление значений стандартных функций;

  2. умножение и деление;

  3. сложение и вычитание.

Порядок выполнения операций изменяется с помощью скобок.

Стандартные функции

Отметим, что в тригонометрических функциях аргумент должен быть задан только в радианах.

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

tg (x) = x)/ cos( x);

arcsm(х) = arctgx/(1 - x2 ));

arccos(x) = n / 2 - arcsm(х);

arcctg(x) = n / 2 - arctg (x);

Для вычисления логарифма с основанием а используется соотношение log a (x) = /п(x)/ /п(а);

Так как в Pascal отсутствует операция возведения в степень, то для вы­числения выражения xy используется известное математическое соотноше­ние:

ХУ = еУ-lnx = еХр(y . /„(x));

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

Над переменными целого типа определенными, например, как:

Var m, n, i, k : integer;

наряду с операцией присваивания возможны следующие целочислен­ные арифметические операции и логические отношения:

Табл.3.4.

Код операции

операция

пример

Логические отношения

+

Сложить

m+n

m>n

-

Отнять

m-n

m<n

*

Умножить

m*n

m=n

Div

Разделить

m div n

m>=n

Mod

Остаток от деления

m mod n

m<=n

m<>n

а также функции и процедуры:

Табл.3.5.

Функции

процедуры

abs(i)

i

Dec(i)

i:=i-1

sqr(i)

2

i

Dec(i,k)

i:=i-k

odd(m)

возвращает True,если m-нечетное и False, если четное

Inc(i)

i:=i+1

chr(n)

возвращает символ по его коду

Inc(i,k)

i:=i+k

При выполнении действий с целыми числами, если операнды имеют различные целые типы, то тип результата будет соответствовать типу, кото­рый включает в себя оба операнда. Например, при действиях с ShortInt и Word общим будет тип Integer.

Над переменными вещественного типа определенными, например, как:

Var x, y, a, b : extended;

возможны операции (+ - *) и логические отношения, те же, что и для целых. Для деления используется /. Результат операции 5/2, будет действи­тельным, равным 2.5, в отличие от операции div. Результат следующих функ­ций является целым числом: Round(x) - округление до ближайшего целого, Trunc(x) - усечение дробной части.

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

Логические выражения строятся из логических констант и переменных, операций отношения и логических операций. В операциях отношения могут участвовать арифметические и логические выражения, а также символьные данные. Результатом логического выражения является значение TRUE (истина) или FALSE (ложь).

Операции отношения : < (меньше), > (больше), = (равно), <= (меньше или равно), >= (больше или равно), < > (не равно). Логические операции:

Not --> НЕ - логическое отрицание; And --> И - логическое умножение; Or --> ИЛИ - логическое сложение. Xor --> исключительное ИЛИ. В логических выражениях операции выполняются слева направо с соблюдением следующего приоритета:

  1. Not;

  2. *, /, Div, Mod, And, Shr, Shl ;

  1. +, -, Or, Xor;

  2. =, <>, <, >, <=, >=, in.

К переменным символьного типа, определенным, например, как: Var ch : char;

кроме операции присваивания, применима функция Ord^h), которая возвращает порядковый номер символа в кодовой таблице. Обратная к ней функция Сш^порядковый номер символа >) возвращает символ по его порядковому номеру. Для кодировки в Windows используется кодировка ANSI (American National Standart Institute). Функция Pred^h) возвращает символ, предшествующий символу ch в кодовой таблице. Функция Succ(ch) возвращает символ, следующий за символом ch в кодовой таблице .

В виду такой упорядоченности над символами допустимы логические операции отношения, например: ch > 'a' , 'ф' <> ch, '!' <= ch.

ЛЕКЦИЯ 4. ПРОГРАМИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ