Математические функции и процедуры в языке программирования паскаль. Стандартные функции Pascal Стандартные математические функции и процедуры паскаля

Процедуры ввода-вывода

Ввод-вывод связан с обменом информацией между оперативной памятью и внешними носителями информации (терминалом ввода-вывода, АЦПУ, ГМД (дискета), ЖМД (винчестер) и др. устройствами).

В языке Паскаль стандартным средством общения человека и ЭВМ являются предопределенные файлы Input u Output, которые по умолчанию являются пара­метрами программы. Программа получает входные данные из файла Input и поме­щает результат обработки в файл Output. Стандартно файлу Input назначена клавиатура, а файлу Output - экран терминала.

Различают следующие разновидности оператора ввода (процедуры чтения):

READ (A1,A2,A3,...,AN)

READLN (A1,A2,A3....AN)

где А - переменные, которым последовательно присваиваются вводимые значения.

Во время выполнения программы, как только встречается оператор READ (READLN), ЭВМ "останавливается" и ожидает ввода числовых, символьных зна­чений. Когда значения введены и нажата клавиша ввода Enter процесс выполнения программы продолжается. Клавиша ввода нажимается после набора данных для каждой процедуры чтения. Значения вводятся через (как минимум) один пробел после набора всей программы и запуска её на выполнение.

Оператор READLN (A1,A2,...AN) сначала вводит значения переменных, а затем в отличие от оператора READ (Al, ...,AN) осуществляет переход на новую строку.

Использование оператора ввода без параметров READLN просто осуществляет переход на новую строку ввода. Оператор READLN (A1....AN) равносилен исполь­зованию 2-х операторов READ (Al .....AN) и READLN.

Например:

1) VAR А, В. : REAL

С. D: INTEGER;

READ (А.В);

READ (C,D);

READLN (A,B);

READLN (C,D);

READ (A.B);

READ (C.D);

В первом случае после набора в одной строке каждой пары данных нажима­ется клавиша ввода Enter. Во втором случае процедура чтения аналогична. Отличие заключается в том, что после считывания значений А и В первой проце­дурой чтения, данные для следующей процедуры чтения будут считываться с начала новой строки, т.е. набор данных для переменных A,B,C,D для первого и второго случаев соответственно будут выглядеть следующим образом:

1) 4.83 Е - фЗ 35.71 Е + ф1Еnteг 51 2134 Enter

2) 4.83 Е - ф3 35.71 Е + ф1Еп1ег

Допускается вводить целые, действительные и символьные данные. Ввод символьных данных имеет особенности, поскольку пробел, как и любой символ языка Паскаль относится к символьным данным. Символьные данные вводятся сплошной строкой. Например:

VAR A.B.C.D: CHAR;

READ (A.B.C.D);

Набираем на клавиатуре КИЕВ и нажимаем клавишу ввода Enter. Перемен­ные получат следующие значения А-"К", В-"И", С-"Е", D-"B". Другая особенность ввода символьных данных заключается в том, что нажатие самой клавиши Enter воспринимается как символ пробела, поэтому для правильного ввода рекоменду­ется перед каждым оператором ввода символьных данных ставить оператор READLN, чтобы их ввод осуществлялся всегда с новой строки.



Различают следующие разновидности оператора вывода.

WRITE (A1,A2.....AN);

WRITELN (A1,A2,...,AN);

WRITELN;

В качестве параметров А1, А2,..., AN могут быть целые, вещественные, символьные (строковые) и логические переменные.

Допускается бесформатный вывод и вывод данных с форматами, определя­ющие ширину поля выбора.

При бесформатном выводе для выводимых значений переменных различных типов отводится стандартное (определённое для конкретного класса машин) количество позиций. Например для ПК ЭВМ ЕС, ПК IBM.

Общая длина поля для значения переменной вещественного Типа занимает 18 позиций, а сама дробная часть числа - 10 позиций.

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

Приведем несколько примеров вывода данных с форматами для выше приве­денных значений переменных.

При выводе значения вещественной переменной В в первом случае использу­ется формат с плавающей точкой (нормализованный формат) с использованием десятичного множителя - латинской буквы Е (которая отделяет мантиссу числа от порядка). Минимальная длина поля вывода 8 символов. Во втором случае значение В выводится в формате с фиксированной точкой.

Если поле формата выбрано больше, чем количество позиций, занимаемых числом, то перед целой частью будет отведено соответствующее количество пробе­лов, а после дробной части - соответствующее количество нулей.

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

Функция Назначение Тип аргумента Тип функции
Abs (x) Вычисление абсолютного значения Х R, I R, I
Sin (x) Вычисление значения функции SIN арг. X R, I R, R
Cos (x) Вычисление значения функции COS арг. X R, I R, R
Arctan(x) Вычисление значения функции ARCTG арг. X R, I R, R
SQR(x) Вычисляет значение квадрата аргум. R, I R, I
SQRT (x) Вычисляет значение корня квадратного из X R, I R, R
EXP (x) Вычисление значения экспонен циальной функции аргумента. R, I R, R
ЕХР10 (х) Вычисление 10 в степени аргумента X R, I R, R
Ln (x) Вычисление значения ф-ции натурального логарифма аргумента. R, I R, R
LOG (x) Вычисление значения ф-ции десятичного логарифма аргумента R, I R, R
TRUNC (x) Нахождение целой части X R, I I, I
INT (x) Вычисление целой части аргумента R, R R, R
ROUND (x) Округление Х в сторону ближайшего целого. R, I I, I
FRAC (x) Вычисляет дробную часть аргумента R R
ODD (x) TRUE, если Х-нечётное число; FALSE, если Х - четное число; I B
ORD(x) 1. Нахождение номера величины перечислимого типа 2. Нахождение номера символа языка Паскаль (в десятичной системе счис.) Перечисл. C I I
CHR (x) Определение символа языка Паскаль по его порядковому номеру. I C

ОБЩЕЕ ЗАДАНИЕ

1. Изучить самостоятельно

а) построение простейшей структуры программы на Паскале;

б) типы данных, описание констант, переменных.стандартных функций;

в) правила записи арифметических выражений.

2. Познакомиться с общими сведениями и методическими ука­заниями данной лабораторной работы.

3. Составить алгоритм и программу решения предлагаемой задачи.

4. Отладить на ПЭВМ рабочую программу. Распечатать листинг прог­раммы, входные данные и результат счета.

Индивидуальные задания

Вычислить на ЭВМ:

  1. , при с=0.7; m=0.3´10 -2 ; a=5; n=1.2
  2. , при r=5; k=1.24´10 -7 ; t=0.1´10 -6 ;z=0.5´10 2
  3. ; , при a=0.1; b=1.4; a=0.02; z=3´10 -3 ; k=4.5
  4. ; , при a=3.4; b=1.1; c=9
  5. ; , при δ=0.8; b=1.5; a=3; a=0.394
  6. ; , при λ=0.1; b=0.6; c=2.4´10 -4 ; t=15
  7. ; , при a=0.1; b=88;; c=0.2´10 -6
  8. ; , при a=0.3; b=0.9; c=0.61
  9. ; , при a=38.9; b=-4.7; c=5; z=0.8
  10. ; , при a=15.123; b=9.563; z=0.717
  11. ; , при a=0.5; b=3.1; c=1.4
  12. ; , при a=4.4; b=0.57; c=6; z=0.054
  13. ; , при a=0.5; b=2.7; c=0.4;
  14. ; , при a=4.5´10 -4 ; b=-2´10 -5 ; c=25
  15. ; , при a=9.6; b=8.2; c=2; k=0.7
  16. ; , при a=1.256; b=-13.5; c=4
  17. ; , при a=1.256; b=3.5; c=0.53; z=7
  18. ; , при a=2.8; b=16.4; c=-5.4
  19. ; , при a=2.953; b=0.254; c=0.5
  20. ; , при a=4.125; b= -1.234; c=0.487
  21. ; , при a= -0.92; b= 0.58
  22. ; , при a=1.725; b=19; c= -2.153
  23. ; , при a=3.457; b= 3.1; c=2
  24. ; , при a=2.389; b= 3.1; c=17
  25. ; , при a=-0.5; b= 1.7; t=0.44
  26. ; , при a=0.816; b= 3.4; c=16.7
  27. ; , при a=1.1; b= 0.2; c=4´10 -3

Контрольные вопросы

1. Какие из приведенных ниже имен переменных допустимы или запрещены в Турбо Паскале?

KAFEDRA_SAPR HELP+ME
KAFEDRA SAPR help-me
KAFEDRASAPR ABC...XYZ
ОКТ16 FOR
160KT SIGMA
ABVGD SIGMA?
abvgd number1
A BVGD номер1
A.B.V.G.D. XXXXXXXXXXXX

2. Можно ли изменять значения констант в программе?

3. Какие из приведенных ниже операторов присваивания являются правильными, если переменные

I,J,K:INTEGER;

X,Y:REAL;

А,В:BOOLEAN

A:=(XK);

I:=I+K/I;

X:+I+J-B;

4. Допустимо ли использование величин разных типов в арифметических выражениях?

5. Какие из приведенных ниже записей являются правильными с точки зрения языка Паскаль?

"А"<"В" ; "А"<"В" AND 4<5;

TRUE>FALSE; ("C"<"D") OR (4<5);

"8"<"3" ;

6. Можно ли переменной целого типа присвоить выражение вещест­венного типа и наоборот, переменной вещественного типа - выра­жение целого типа?

7. Какие функции предназначены для преобразования значений ве­щественного типа в значения целого типа?

8. Найти ошибки в программе RM1 (если они есть) и исправить их.

PROGRAM;

(Программа для контроля)

VARY Х: INTEGERS, Y REAL X + 3: = Y ;

Y:=Y + 5.7;

Z:= 4X + 9Y




Например: 11 div 5 = 2 10 div 3 = 3 2 div 3 = div 4 = div -5 = div 5 = div -5 = 3 10 mod 5 = 0 11 mod 5 = 1 10 mod 3 = 1 14 mod 5 = 4 17 mod - 5 = mod 5 = mod -5 = -2


0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целом" title="Взаимосвязь между операциями div и mod Аргументы операций div и mod целые числа. Для а>0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целом" class="link_thumb"> 6 Взаимосвязь между операциями div и mod Аргументы операций div и mod целые числа. Для а>0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целому b. А именно, а кратно b тогда и только тогда, когда а mod b = 0 0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целом"> 0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целому b. А именно, а кратно b тогда и только тогда, когда а mod b = 0"> 0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целом" title="Взаимосвязь между операциями div и mod Аргументы операций div и mod целые числа. Для а>0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целом"> title="Взаимосвязь между операциями div и mod Аргументы операций div и mod целые числа. Для а>0 и b>0 справедливо: A mod b = a – (a div b)*b (a div b)*b + (a mod b) = a Обратите внимание операцию mod можно использовать, чтобы узнать, кратно ли целое а целом">


Определить кол-во оставшихся слив, если их делили на 5 человек write (Кол-во слив = "); readln (a); b:= a mod 5; writeln(Осталось,b, слив);


Операции отношения Не равно Меньше = Равно Больше = Меньше или равно Больше или равно = Меньше или равно Больше или равно"> = Меньше или равно Больше или равно"> = Меньше или равно Больше или равно" title="Операции отношения Не равно Меньше = Равно Больше = Меньше или равно Больше или равно"> title="Операции отношения Не равно Меньше = Равно Больше = Меньше или равно Больше или равно">






Вычислить гипотенузу прямоугольного треугольника (длина катетов - a и b) write ("a="); readln (a); write ("b="); readln (b); c:= sqrt (sqr(a) + sqr(b)); writeln ("c=", с:5:2);


Вычислить модуль разности чисел a и b write ("a="); readln (a); write ("b="); readln (b); c:= abs (a - b); writeln ("модуль=", с);






Экспонента и логарифм Exp (x) ln x (натуральный логарифм) Ln (x) e x (экспонента числа, e) Exp (b*Ln (a)) ab ab










Примеры использования DIV и MOD: Операции DIV и MOD часто используются для анализа чисел, например, для получения цифр, из которых состоит число. Задача: Ввести с клавиатуры какое-нибудь трехзначное число. Определить сумму его цифр и вывести эти цифры в обратном порядке.


Пусть переменная а содержит значение заданного числа. Цифры числа а обозначим так: i - количество сотен; j – количество десятков; k - количество единиц; s – сумма этих цифр. Program MyNamber; Uses Crt; Var a, i, j, k, s: integer; Begin clrscr; Writeln (Задайте 3-х значное число); Readln (a); i:=a div 100; {количество сотен} j:=a div 10 mod 10; {десятков} k:=a mod 10; {количество единиц} s:=i+j+k; Writeln (Сумма цифр числа,a,=,s); Writeln (k, j, i); Readln; End.


Стандартные функции Функция ПаскаляМатематическая запись Название Abs(x)|Х||Х| Абсолютная величина числа Х (модуль) Sqr(x)Х2Х2 Возведение числа в квадрат Exp(x)exex Экспонента Sqrt (x) x Вычисление квадратного корня Exp(b*ln(a)) abab Возведение числа в степень Round (x) Округляет до ближайшего целого числа Trunc (x) Отсекает дробную часть Sin(x)sinx Вычисление синуса Cos(x)сosx Вычисление косинуса



Ответы 1.1,68 4.2,06 5.1,10 6.2,16 7.3,05 8.0,10


2.Дано трёхзначное число. В нём зачеркнули первую слева цифру и приписали её справа. Вывести полученное число.(Например,) 3.Дано трёхзначное число. Вывести число, полученное при перестановке цифр десятков и единиц исходного числа. (Например,)


Окончание табл. 2

TRUNC(X) ROUND(X) Выделение целой час­ти числа Округление Х до бли­жайшего целого вещественный целый
PRED(X) SUCC(X) Нахождение предшествующего значения (в его типе) Нахождение последующего элемента (значе­ния, следующего за Х в его порядковом типе) целый, логический или символьный
ORD(X) Определение порядко­вого номера символа Х в наборе символов или его перечислимом типе символьный целый
CHR(X) Определение значения символа по его порядковому номеру целый символьный
ODD(X) Логическая функция проверки нечетности целый логический
Frac(X) Int(X) Дробная часть числа Целая часть числа вещественный вещественный

Целые типы в Pascal ABC

В Pascal ABC имеется три стандартных типа целых чисел: Byte, Integer и Word. Диапазон их возможных значений зависит от внутреннего представления числа, которое может занимать один, два или четыре байта. В таблице 3 приведены характеристики этих целых типов.

Таблица 3

Классификация целых типов

Компилятор языка Pascal ABC определяет максимальное значение MAXINT для данных типа INTEGER. При этом справедливо будет соотношение:

MAXINT <= K <= MAXINT

Описание переменных целых типов производится в разделе описаний VAR:

Var <имя переменной> : <целый тип>;

где <целый тип > может быть определен как Byte, Integer или Word.

Например:

VAR K: INTEGER;

I, J: BYTE;

Для целых типов определены следующие операции: сложение, вычита­ние (имеют более низкий приоритет), умножение и деление - DIV, MOD. К целым типам применимы функции из таблицы 4. Функции TRUNC(X) и ROUND(X) с вещественным аргументом также дают целый результат (см. табл. 2). Стандартные математические функции в случае задания целого аргумента всегда возвращают вещественные значения (см. табл. 2).

При использовании процедур и функций с целочисленными параметрами следует руководствоваться правилом «вложенности» типов, т.е. везде, где в качестве аргумента используется тип WORD, можно применять тип BYTE. Для арифмети­ческих операций, если операнды относятся к разным целым типам, тип результата имеет максимальную мощность диапазона, т.е. для типов операндов Byte и Word в выражении тип результата будет Word.

Таблица 4

Встроенные процедуры и функции для целых типов

Вещественные типы

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

Например, запись числа в виде: <знак> <мантисса> Е <порядок> соответствует представлению числа <знак> <мантисса>*10 < порядок > .

В Pascal ABC используются только два вещественных типа – REAL и COMPLEX , характеристики которых приведены в таблице 5.

Таблица 5

Вещественные типы

Объявление переменных вещественных типов производится в разделе описаний переменных VAR аналогично переменным целых типов в виде:

Var <переменная> : <вещественный тип>;

где <вещественный тип > может быть задан только Real или Complex .

Для работы с вещественными типами определены стандартные функ­ции: sin, cos, arctаn, ln, exp, sqr, abs, sqrt (табл. 2), а также функции вещественного типа (табл. 6).

Таблица 6

Встроенные функции вещественного типа

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

31.01.2019 Learnpascal

Так как в воскресенье на сайте открывается новая рубрика — решение задач, мы с вами должны по-быстрому изучить основную часть математических операций, функций и процедур.

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

Процедуры — мини-программы.

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

Например, программист хочет в своем суперкоде между блоками выходящих значений прописывать 20 амперсандов. Чтобы облегчить себе задачу, он напишет простую подпрограмму.

Program superpuper; var очень много буковок; procedure ampersand; begin write("&&&&&&&&&&&&&&&&&&&&"); end; begin суперсложный код; ampersand; суперсложный код; ampersand; суперсложный код; ampersand; суперсложный код; ampersand; end.

Функции в Паскале — мега переменные.

Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр — число.

Пример: a:=sqr(4).

Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьетесь!

Структура функции представлена на картинке ниже.

Если в программу необходимо включить новую уникальную функцию, ее надо описать также, как процедуру. Более подробно о том, как делать собственные процедуры и функции, мы поговорим через 10 уроков. Ниже вы видите таблицу основных стандартных функций и процедур в Паскаль.

Математические функции

Имя Тип аргумента Результат вычисления Пример
Abs(x) Целый или Вещ. Модуль х Abs(-6) = 6
Sqrt(x) Вещественный Корень из х Sqrt(25)=5
Sqr(x) Целый и Вещ. Квадрат х Sqr(5)=25
Power(x, a) Вещественный Значение х а Power(5,3)=125
Frac(x) Вещественный Дробная часть х Frac(5.67)=0.67
Sin(x) Вещественный Синус х Sin(45)=0.8509
Cos(x) Вещественный Косинус х Cos(45)=0.5253
Arctan(x) Вещественный Арктангенс х Arctan(5)=1.3734
Int(x) Вещественный Целая часть х Int(5.67)=5.0
Random(x) Целый Случайное число (0..х-1) Random(5)=4
Succ(x) Порядковый Следующий Succ(10)=11
Pred(x) Порядковый Предыдущий Pred(‘Z’)=’Y’

Математические процедуры

Inc(x, a) Целый X:=X+A Inc(5)=6
Dec(x, a) Целый X:=X-A Dec(25,20)=5

Преобразование типов

Trunc(x) Вещественный Целая часть х Trunc(5.67)=5
Round(x) Вещественный Округление х до целого Round(5.67)=6
Важно! Если х = 5.5, то результат – 6, а если х = 6.5, то результат тоже 6!?

Операции div и mod.

Иногда нам требуется найти частное либо же остаток от деления. В такие моменты на помощь нам приходят такие операции, как div и mod. Заметим, что эти операции выполняются только над целыми числами.

Div

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

  • 25 div 20 = 1;
  • 20 div 25 = 0;
  • 39 div 5 = 7;
  • 158 div 3 = 52.

Mod

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

  • 25 mod 20 = 5;
  • 20 mod 25 = 0;
  • 39 mod 5 = 4;
  • 158 mod 3 = 2.

Чтобы окончательно понять, с чем мы имеем дело, решим следующую задачу:

Задача 1. Найти сумму цифр двухзначного числа.

Так как эта задача очень простая, мы с вами обойдемся блок-схемой и программой.

Блок-схема program Sumoftwo; var Number, Num1, Num2, Sum: integer; begin write("Введите двухзначное число: "); read(Number); { Возьмем число 25 } Num1:= Number div 10; { 25 div 10 = 2 } Num2:= Number mod 10; { 25 mod 10 = 5 } Sum:= Num1 + Num2; { 2 + 5 = 7 } write("Сумма двух чисел -- ", Sum); end.

Задача 2. Найти сумму цифр трехзначного числа.

Чуть усложненная версия предыдущей задачи. Самая большая сложность — вторая цифра.


Приоритет div и mod больше, чем приоритете + и -. Поэтому в данной программе можно обойтись без скобок. program Sumoftree; var Number, Sum: integer; begin write("Введите трехзначное число: "); read(Number); { Возьмем число 255 } Sum:= Number div 100 + Number mod 10 + Number div 10 mod 10; { 255 div 100 + 255 mod 10 + 255 div 10 mod 10 = 12 } write("Сумма трёх чисел -- ", Sum); end.

Вот и всё. На следующем уроке мы с вами начнём изучать особенности PascalABC.Net.

В программировании, довольно часто приходиться выполнять однотипные действия, причем в задачах разного уровня и класса. И для ускорения процесса написания кода эти действия выносят в специальные подпрограммы – стандартные функции. Обращение к такой подпрограмме происходит по ее имени, а в скобках указывается значение аргумента. В следующей таблице указаны те стандартные функции, которые используются в языке программирования Pascal.

Функция Назначение
ABS(x) Вычисление абсолютного значения x: |х|
SQR(x) Вычисление квадрата x: x*x
SIN(x) Вычисление синуса x: sin x
COS(x) Вычисление косинуса x: cos x
ARCTAN(x) Вычисление арктангенса x: arctg x
EXP(x) Вычисление экспоненты (числа Е) в степени x
EXP10(x) Вычисление 10 в степени x
LN(x) Вычисление натурального логарифма x
LOG(x) Вычисление десятичного логарифма x
SQRT(x) Вычисление квадратного корня из x
A DIV B Вычисление частного при делении А на В с отбрасыванием остатка
A MOD B Нахождение остатка от делении А на В
TRUNC(x) Нахождение целой части x
RANDOM(x) Псевдослучайное число в интервале
ROUND(x) Округление значения x в сторону ближайшего целого
ODD(x) Проверяет аргумент на нечетность. Результат TRUE, если аргумент нечетный, FALSE – если четный.
ORD(x) Возвращает порядковый номер аргумента и, как следствие, преобразует величину порядкового типа в величину целого типа.
CHR(x) Определение символа языка Паскаль по его порядковому номеру
SUCC(x) Нахождение элемента, идущего после данного в перечне допустимых элементов
PRED(x) Нахождение элемента, идущего перед данным в перечне допустимых элементов
FRAC(X) Возвращает дробную часть x
INT(X) Возвращает целую часть x
Pi Значение математической постоянной π
EOF(x) Возвращает TRUE, если файл находится в стоянии “конец файла”, иначе FALSE, если нет конца файла

Выражения

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

1) 12+3*3=21 (12+3)*3=45

Как видите выражения в Pascal , имеют такой же приоритет, как и в математике, а с помощью круглых скобок его можно изменить.

2) (a >1) and (a <=20)

Такое логическое выражение возвращает истину, лишь в том случае, когда истинны оба выражения, т. е. если a входит в диапазон от 1 до 20 включительно. Стоит обратить внимание на скобки, здесь они необходимы для изменения приоритета, так как у операторов сравнения он низший.

3) (a+3>0) and (a+3<15) or (b>1) and (b<10)

Условие вернет истину, тогда когда истинными будут два условия слева или справа от OR , а также если они оба будут истинными.

Логическая операция OR (или) суть дизъюнкция в логики и поэтому имеет следующую таблицу истинности:

X Y X or Y
0 0 0
0 1 1
1 0 1
1 1 1

Ложь имеет место только когда X и Y ложны (нули). В том случае, чтобы истина возвращалась только тогда, когда одно из условий верно следует применить оператор XOR (исключающее или).