Типы данных в языке Паскаль

Тип

Диапазон значений

Объём памяти

shortint

-128..127

1 байт, со знаком

byte

0..255

1 байт, без знака

integer

-32767..32768

2 байта, со знаком

word

0..65535

2 байта, без знака

longint

-..-

4 байта, со знаком

Организационная диаграмма

Арифметические операции и функции

Операция

Тип

операндов

выражения

+ , - , *

Real

Real

Integer

Integer

/

Real или Integer

Real

Div, Mod

Integer

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

Тип аргумента

Тип рез.

|x|

abs(x)

x2

sgr(x)

sin x

sin(x)

cos x

cos(x)

ex

exp(x)

ln x

ln(x)

x1/2

sgrt(x)

arctg x

arctan(x)

выделение целой части х

trunс(x)

округление х до ближайшего целого

round(x)

нахождение предыдущего элемента

pred(x)

нахождение последующего элемента

succ(x)

определение порядкового номера символа

ord(x)

Определение нечётности / чётности

odd(x

Для вычисления выражений xy и lg x в Паскале не существует стандартных функций. В этом случае используют равенства xy=ey ln x и lg x =ln x/ln 10. На Паскале эти выражения записываются так: exp(y*ln(x)) и ln(x)/ln(10).

Порядок вычисления выражения определяется скобками, а при их отсутствии – согласно приоритету операций.
Приоритет операций убывает в выражении:
1. Отрицание NOT
2. *, /, div, mod, and
3. +, - , or
4. <=, <, =, < >, >, >=
Операции одного приоритета выполняются последовательно слева направо.
Примеры записи выражений:

1. Выражение на Паскале Обычная запись

0.5+a 0,5+a

рисунок 12p/(c+2)/8

a*exp (t) aet

2. Задание:

Укажите тип и значение каждого выражения:


Sqr(5.0) ;

Trunc (7.85);

Sqrt(16);

Round(l. lll);

20/4;

2* (-30105);

Sqr(4);.

20 Div 4;

Abs(-3.7);

Sqr(521);

1+0.0;

Sqrt(4.0);

Sin(0);

Trunc(pi);

Sqr(2)+Trunc(l2/7);

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

а) (а+b)/с

б) а+(b/с)

в) а/(b*с)

г) а+(-3)* (s*d/r)-(a+25)

д) (a+b)+((c+d)*2*e)

е) (xl/x2)*y

Ж) (Sqrt(p)*q)/r

з) (((a-b)-c)-d)-e

и) ((a-b)-(c-d))-e

к) (a-(b-c))-(d-e)

л) (a*b) Div с

м) b+(а-(с/3))

н) (a*(b/(c*(d/-(e*f)))))

4. Сколько операций выполняется при вычислении следу­ющего выражения? Как сократить количество операций?

(а + 1/2) * (b + 7//4

5. Определить, эквивалентны ли записи следующих выражений на Паскале и записать их в общепринятой форме:

a+(c*d)/b+e/(f*g) и a+c*d/b+e/f/g.