Типы данных в языке Паскаль
Тип | Диапазон значений | Объём памяти |
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
p/(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.


