Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выражения

Стандартные скалярные типы переменных

В Turbo Pascal используются типы целых и вещественных переменных, приведенные в таблицах № 1 и № 2.

Таблица 1. Целочисленные типы переменных Turbo Pascal

Тип Наименование Диапазон допустимых значений Занимаемая память
SHORTINT Короткое целое -128... 127 1 байт
BYTE Байт 0... 255 1 байт
INTEGER Целое -32768... 32767 2 байт
WORD Слово 0...65535 2 байт
LONGINT Длинное целое -2 109... 2 109 4 байт

К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с фиксированной точкой и с плавающей десятичной точкой. Числа с фиксированной точкой записываются в виде целой и дробной частей числа. Например: 5.45, -0.001, 17.0, -19.1919, 0.143. запись числа не может начинаться и заканчиваться точкой. Числа с плавающей точкой используются для записи чисел, изменяющихся в широком диапазоне значений (от очень маленьких до очень больших). Десятичный порядок числа записывается буквой Е. Например, 65.4Е22 соответствует 65.4  1022. Числа с плавающей точкой: 0.547Е+3, 5.47Е+2, 54.7Е+1, 547.0Е0, 5470Е-1, 54700Е-2 представляют одно и тоже число 547.

Для обработки действительных (вещественных) чисел предусмотрены следующие операции: сложение (+), вычитание (-), умножение (*), деление (/). Операции возведения в степень в Паскале не существует. Если с=a^b, то с рассчитывают по формуле с = e(b * lna) оператором присваивания c:=exp(b*ln(a))

Таблица 2. Вещественный типы переменных Turbo Pascal

Тип Наименование Диапазон допустимых значений Число значащих цифр Занимаемая память
REAL Вещественный 10-38.. 1038   6 байт
SINGLE С одномерной точностью 10-32..1032   4 байт
DOUBLE С двойной точностью 10-308..10308   8 байт
EXTENDED С повышенной точностью 10-4931..104931   10 байт
COMP Сложный - 9 1018.. 9 1018   8 байт

 

Последние четыре вещественных типа реализуются только при наличии на плате ПК сопроцессора Intel 8087/80287/80387 для работы с числами, представленными в формате с плавающей точкой, или установленных опций { $E+, N+}.

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

При возникновении переполнения для переменных вещественного типа происходит программное прерывание, а в случае потери значимости для этих переменных результат равен нулю.

Типы real, single, double, extended, comp не могут использоваться:

в качестве индексов массивов;

в операторах For и Case;

в качестве базисного типа при определении множеств;

при определении подтипов.

Логические типы переменных BOOLEAN имеют два значения TRUE и FALSE, занимают один байт памяти.

Символьные типы переменных CHAR могут принимать значения из множества символов ASCII, занимают один байт памяти.

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

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

Выражение не просто имеет некоторое значение, но и обладает совершенно определенным типом, который зависит от операндов и операций.

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

1. Операции более низкого уровня выполняются раньше, чем операции более высокого уровня.

2. Операции одного уровня выполняются поочередно слева направо.

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

Эти правила действуют для всех типов выражений.

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

Арифметические выражения - это константы, переменные, функции, соединенные знаками арифметических операций. Арифметические выражения имеют тип real или integer, причем мы всегда под real будем понимать также single, double, extended и comp, а под integer – byte, word, shortint и longint.

Арифметические выражения вычисляются слева направо с учетом приоритета операций.

Таблица 3. Арифметические операции

Операции Действие Тип операндов Тип результата
+ сложение вещественно-целый вещественно-целый
- вычитание вещественно-целый вещественно-целый
* умножение вещественно-целый вещественно-целый
/ деление вещественно-целый вещественный
div целочисленное деление целый целый
mod остаток от деления целый целый
and арифметическое “и” целый целый
or арифметическое “или” целый целый
hor исключающая дизъюнкция “или” целый целый
not арифметическое отрицание целый целый
Унарные + сохранение знака вещественно-целый вещественно-целый
- отрицание знака вещественно-целый вещественно-целый

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

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

Правила записи стандартных функций:

1. Имя функции записывается буквами латинского алфавита.

2. Аргумент функции записывается в круглых скобках после имени функции.

3. Аргумент функции может быть константа, переменная или арифметическое выражение.

Приведем ряд стандартных математических функций.

Таблица 4. Основные арифметические встроенные функции Turbo Pascal

Функции Назначение  
Abs(x) Вычисление абсолютного значения X | X|
Sqr(x) Вычисление квадрата X X2
Sqrt(x) Вычисление арифметического корня X
Sin(x) Вычисление синуса X sinx
Cos(x) Вычисление косинуса X cosx
Arctan(x) Вычисление арктангенса X arctgx
Exp(x) Вычисление экспоненты X ex
Ln(x) Вычисление натурального логарифма X lnx
Trunc(x) Вычисление целой части X  
Round(x) Округление X до ближайшего целого  
Odd(x) True, если X - нечетное, False, если X - четное  

Таблица 5. Арифметические встроенные процедуры

Функции Назначение
Dec(x) Уменьшает значение переменной X на N
Inc(x) Увеличивает значения переменной X на N

В Turbo Pascal определены только 3 тригонометрических функций: sin, cos, arctg. Для вычисления остальных тригонометрических функций необходимо использовать известные соотношения:

Tg(x) = sin(x)/cos(x) Cctg(x) = cos(x)/sin(x) Csc(x) = 1/sin(x) Sc(x) = 1/cos(x)
Arccos(x) = p/2 - Arcsin(x) Arcctg(x) = p/2 - Arctg(x)
Arcsin(x)=

Логические выражения имеют значение типа boolean, то есть true или false. Выражение, служащее для вычисления логического значения, называется логическим выражением или логическом условием. Одним из видов логического выражения является отношение. Отношение – это два выражения, соединенные операцией отношения.

Например,

Y < 0; a > b; x = y; x < a – b.

Операции отношения: > (больше), < (меньше), > (не менее), < (не более), = (равно), ¹ (не равно) – на языке Паскаль записывают соответственно: >, <, >=, <=, =, <> и имеют более низкий приоритет по сравнению с арифметическими операциями. Иными словами, сначала выполняются арифметические операции, а потом операции отношения.

Условие a + b ¹ c +d на языке Паскаль записывается так: a + b <> c+d

Высказывания о значениях переменных могут быть истинными или ложными в зависимости от самих значений переменных. Так, если s = 5, t = 6, то высказывание s > t – ложное, высказывание s < t + 12 – истинное.

Логические значения упорядочены. Выражение true > false является истинным.

Из простых выражений в Паскале разрешается строить более сложные. Пусть А и В – некоторые высказывания, тогда А and B – это новое высказывание, утверждающее истинность обоих высказываний А и В; А or В – это новое высказывание, утверждающее истинность хотя бы одного из высказываний А и В. Если С – высказывание то not C – это новое высказывание, утверждающее, что С – ложное высказывание.

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

Таблица 6. Операции отношения

Операции Действие Выражение Результат
= равно А=В True, если А равно В
<> не равно А<>B True, если А не равно В
> больше A>B True, если А больше В
< меньше A<B True, если А меньше В
>= больше или равно A>=B True, если А больше или равно В
<= меньше или равно A<=B True, если А меньше или равно В
in принадлежность A in М True, если А находится в списке М

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

Таблица 7. Логические операции.

Операции Действие выражение А В Результата
NOT логическое отрицание not A True False   False True
AND логическое “И” A and B True True False False True False True False True False False False
OR логическое “ИЛИ” A or B True True False False True False True False False True True True
XOR исключающее “ИЛИ” A xor B True True False False True False True False False True True False

 

Выполнение каждой операции происходит с учетом ее приоритета. Значения приоритетов указаны в таблицы 6.

Таблица 8. Порядок выполнения операций.

Операции Приоритет Вид операций
@, not первый (высший) унарная операция
*,/, div, mod, and второй операции типа умножения
+,-, or, xor третий операции типа сложения
=, <>,<,>,<=,>=, in четвертый (низший) операции отношения

 

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

(x > y) or (y > z) and not ((x > 0) or (z > x))

устанавливается следующий порядок логических операций:

<== предыдущая лекция | следующая лекция ==>
Переменные | Подпрограмма функция
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 444; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.