Функция определяет одно числовое или логическое значение, которое получается в результате применения совокупности правил к данной группе параметров, причем параметрами могут быть константы, переменные и выражения. Совокупность правил определяется заранее, вычисление же функции активизируется ее указателем, который имеет вид идентификатора с последующим списком параметров в круглых скобках. Каждый язык содержит ряд стандартных функций, которые используются без предварительного определения.
Например, Abs(x) – абсолютное значение, Sqr(x) – возведение в квадрат, Sin(x), Cos(x), Arctan(x) – тригонометрические функции (аргумент – в радианах), Ln(x), Exp(x) и др. Нестандартные функции оформляются в виде процедур.
Рассмотрим стандартные функции, характерные для языка Паскаль. Функции Pred(x) и Succ(x) означают соответственно поиск предыдущего или последующего значения относительно расположения аргумента:
Pred(5)=4 Succ(5)=6
Pred(‘e’)=d Succ(‘e’)=f
Функция Ord(x) позволяет по символьному аргументу x узнать десятичную кодировку символа, а функция Chr(x) выполняет обратное действие – по целому значению аргумента указывает соответствующий ему символ.
Операции производятся над константами, переменными, функциями только одного типа, результат же может оказаться принадлежащим другому типу.
Используются следующие знаки операций – арифметических: +, –, *, /, Div (целочисленная операция деления), Mod (целочисленная операция получения остатка); отношения: >, <, <=, >=, =, <> (не равно); логических: Not (отрицание), And (умножение), Or (сложение) (в порядке уменьшения их приоритета); над множествами: * (пересечение), + (объединение), – (разность множеств), In (операция включения, принадлежность множеству).
Порядок вычисления выражения определяется скобками, а при их отсутствии – в соответствии со старшинством операции: операция отрицания (Not), операции типа умножения (*, /, Div, Mod, And), операции типа сложения (+, –, Or), операции отношения (>, <, <=, >=, =, <>, In). Результат выполнения логических операций и операций сравнения всегда имеет типBoolean, операнды могут быть любого скалярного типа.
Смысл логических операций для булевских переменных А и В указан в таблице.
Выражения
Значения
Примечания
А
FALSE
FALSE
TRUE
TRUE
В
FALSE
TRUE
FALSE
TRUE
(Not A)
TRUE
TRUE
FALSE
FALSE
Результат противоположен значению операнда
(A And B)
FALSE
FALSE
FALSE
TRUE
Результат истинен (TRUE), когда оба операнда истинны
(A Or B)
FALSE
TRUE
TRUE
TRUE
Результат истинен (TRUE), когда хотя бы один операнд истинен
Пример записи логического выражения на Паскале:
(x<5.2) Or (x>10) And (x<>0)
Если x=2, то результат имеет значение ИСТИНА (true), т.к. true or (false and true )= true
Структура программы на языке Turbo Pascal имеет следующий вид
{ I. Заголовок программы }program Имя_Программы;
{ II. Раздел указания используемых модулей }uses Список_Используемых_Модулей;
{ III. Раздел описаний }label Описания_Меток;
const Описания_Констант;
type Описания_Типов;
var Описания_Переменных;
procedure
Описания_Процедур_и_Функций
function{ IV. Раздел операторов (Операторный блок) }begin
Операторы
end.
Описания и определения в разделах заканчиваются символом «;». При отсутствии описаний, принадлежащих какому-либо разделу, данный раздел опускается.
Программа или отдельные ее участки могут иметь комментарии, заключаемые в фигурные скобки: {…}.