Числовые типы данных Алфавит Паскаля содержит следующие символы: Буквы - большие и малые латинские буквы от A до Z Цифры - от 0 до 9 Специальные символы: + - * / = ( ) [ ] { }., ; : ' Разделитель: пробел Для некоторых символов, отсутствующих в алфавите, используются комбинации из символов алфавита, например: = <> Идентификаторы ::=
служебные слова идентификаторы имена Специально выделенные идентификаторы называются служебными (или зарезервированными) словами. Все остальные идентификаторы называются именами. Имена, смысл которых заранее предопределен, называют стандартными именами. Примеры: divmodprogram служебные слова integer realстандартные имена temp maccivимена
ссылочные целый вещественный логический символьный перечислимые ограниченные Типы данных типы данных простые сложные стандартные регулярные комбинированные множественные файловые тип данных = множество объектов + набор операций
Переменные ::= var ; { ;} ::= {, } : ::= ::= integer real boolean char ::= ::= + - ::= { }
Операции над целыми числами (а и b - целые) а+b - сложение а–b - вычитание а*b - умножение a div b - деление нацело a на b (b0) a mod b - взятие остатка от деления а на b (b>0) Общая формула вычисления остатка в Паскале следующая: r = a - (a div b)*b (b>0) r, если r 0 a mod b = r+b, если r<0 Из этого определения следует, что остаток всегда будет неотрицательным, а точнее: 0 a mod b < b
Стандартные функции для целых чисел abs(a) = |a|abs(5)=5, abs(-5)=5 sqr(a) = a 2 sqr(3)=9, sqr(-2)=4 (sqr – от square, квадрат ) succ(a) = a+1succ(3)=4, succ(–6)= –5 (succ – от succesor, следующий) pred(a) = a–1pred(5)=4, pred(–6)= –7 (pred – от predecessor, предыдущий) ПРИМЕРЫ
Вещественный тип целое вещественное. целое без знака Е целое Операции над вещественными числами (x и y - вещественные): x+y- сложение x–y- вычитание x*y- умножение x/y- обычное деление (y 0)
Стандартные функции для вещественных чисел: abs(x) = |x| sqr(x) = x 2 sqrt(x) = x (x>0)(sqrt - от square root, квадратный корень) sin(x) - синус от x радиан cos(x) - косинус от x радиан arctan(x) – арктангенс от числа x ln(x) - натуральный логарифм (x>0) exp(x) = e x trunc(x) - целое, полученное из х отбрасыванием дробной части (truncate - укоротить): trunc(5.8)=5, trunc(–5.8)=–5, trunc(5.0)=5 round(x) = целое, ближайшее к х (round - около): round(5.2)=5, round(5.8)=6, round(–5.8)=–6, round(6.0) = 6 tg(x) = sin(x)/cos(x) х a = exp(a*ln(x))
Запись арифметических выражений 1) запрещено выписывать подряд несколько знаков операций, например, вместо x*-2 надо писать x*(-2) 2) вместо ab надо писать a*b 3) вместо надо писать a/b («многоэтажные» формулы в Паскале недопустимы) 4) отсутствующие операции sqrt(x) и т.д. 5) из всех видов скобок при записываются с помощью имеющихся функций: вместо |x+1| пишут abs(x+1), вместо пишут записи АВ допускаются только круглые: вместо [a(b+c)-d]e надо писать (a*(b+c)-d)*e (квадратные и фигурные скобки нужны для других целей). Арифметические выражения Правила вычисления арифметических выражений Это обычные правила - с учетом скобок и старшинства операций: 1) сначала вычисляются функции и подвыражения в скобках 2) затем выполняются операции *, /, div и mod 3) в конце выполняются операции + и – (одноместные и двухместные) При этом операции одного старшинства выполняются слева направо.
арифметическое выражение слагаемое множитель */divmod
множитель константа без знака переменная функция () арифметическое выражение