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

Стандартные встроенные функции необходимы для выполнения часто встречающихся действий, к примеру, вычисления значений элементарных функций (sin x, tg x и т. д.). Для обращения к стандартным функциям в выражениях используется идентификатор функции, после которого в круглых скобках указывается фактический параметр. Фактический параметр может быть константой, переменной или представлять сложное выражение. В табл. 3 приведены стандартные функции Паскаля.

Таблица 3

Стандартные функции Паскаля

Функция

Тип

результата

Смысл, результат

выполнения (его тип)

П р и м е р

Ord(x)

Целые

Char

Boolean

(дискретные)

Порядковый номер аргумента x.

Целочисленный

Ord(50)=20

Ord(‘ ‘)=32

Ord(False)=0

Ord(true)=1

Pred(x)

Succ(x)

Дискретные

Дискретные

Предыдущее значение.

Следующее значение.

Возвращаемое значение совпадает с аргументом

Pred(-6)=-7

Pred(‘z’)=’y’

Pred(True)=False

Succ(100)=101

Succ(‘f’)=’g’

Succ(False)=True

Chr(x)

Byte

Символ, код которого x. Литерный

Chr(32)=’ ‘

Dec(x,[i])

Inc(x,[i])

Целые

Уменьшает x на i.

Увеличивает x на i.

Совпадает

Dec(100,10)=90

Inc(50)=51

Inc(50,-5)=45

y div x

y mod x

Целые

Целые

Целая часть от деления.

Остаток от деления. Целочисленный

13 div 5=2

13 mod 5=3

Trunk(x)

Round(x)

Int(x)

Frac(x)

Веществен-

ный

Веществен-

ный

Целые

Веществен-

ный

Веществен-

ный

Отбрасывает дробную часть, целое

Округляет по правилам, целое.

Целая часть от х, вещественное.

Дробная часть от х, вещественное

Trunk(5.7)=5

Trunk(-4.6)=-4

Round(5.7)=6

Round(-4.6)=-5

Int(-4.6)=-4.0

Frac(-4.6)=-0.6

Frac(8.91)=0.91

Odd(x)

Целые

True при х нечетном,

False при х четном

Odd(25)=True

Odd(100)=False

Random[(i)]

Randomize

Real, Word

Генерирует случайные целые числа из диапазона (от 0 до i-1) или (если без параметра) вещественное число от 0 до 1.

Инициализирует случайным значением (текущим системным временем), генератор случайных чисел.

Random – случайное вещественное число от 0 до 1. (0.583)

Random(100) – случайное целое число от 0 до 99

Приоритеты операций

Операции в выражениях выполняются в следующем порядке:

НЕ нашли? Не то? Что вы ищете?

– вызовы функций;

– операция NOT;

– операции типа умножения *, /, div, mod, and;

– операции типа сложения +, -, or;

– операции отношения =, < >, <, >, <=, >=.

Операции с одинаковым приоритетом выполняются слева направо. Порядок выполнения операций можно изменить с помощью скобок.

СТРУКТУРА ПРОГРАММЫ

Программа, выполненная на языке Паскаль, состоит из заголовка и «тела» программы, называемого блоком. Оканчивается программа точкой. Заголовок программы начинается с зарезервированного слова PROGRAM, после которого следует имя программы, за именем программы указывается список параметров (обычно это файлы Input и Output). Список параметров может отсутствовать. Имя программы представляет собой идентификатор.

П р и м е р ы:

PROGRAM STUD(INPUT, OUTPUT);

PROGRAM LAB1(INPUT, OUTPUT);

PROGRAM RASCHET;

Блок состоит из двух частей (разделов): раздела описания и раздела операторов. Описания определяют объекты (данные) программы, а операторы предписывают действия, которые необходимо совершить над введенными объектами. Всего в блоке может быть шесть разделов. Любой из них (кроме последнего – раздела операторов) может отсутствовать.

В общем виде структуру программы на языке Паскаль можно представить следующим образом:

·  раздел определения меток;

·  раздел определения констант;

·  раздел определения типов;

·  раздел описания переменных;

·  раздел описания процедур и функций;

·  раздел операторов.

Поскольку в современной концепции программирования считается «плохим стилем» использование операторов безусловного перехода, а следовательно, отпадает необходимость в метках, в данном пособии раздел определения меток и оператор Goto не рассматриваются. Читатель может найти описание этих разделов Паскаля, например, в [2, 3].

Раздел определения констант

Как уже отмечалось, можно обозначить константы именами и в дальнейшем в программе использовать только имена констант. Раздел начинается с зарезервированного слова Const, после которого следует список определений констант. В конце списка ставится символ «точка с запятой». Каждое определение константы представляет собой идентификатор, за ним следует знак равенства (=) и само значение константы. Определения констант отделяются друг от друга символом «точка с запятой».

П р и м е р ы:

const maxsn=1000;

const maxn=100; s=’a’; d=4.2;

Раздел определения типов

В этом разделе пользователь может по своему усмотрению определять собственные типы и давать им любые имена. Раздел начинается со слова TYPE, за которым следует одно или несколько определений типов, отделяемых друг от друга символом «точка с запятой». Каждое определение состоит из идентификатора, за которым следует знак равенства (=), и задания типа или его имени. В конце раздела ставится символ «точка с запятой».

П р и м е р

TYPE

NN=INTEGER;

VECTOR=ARRAY[1..10] OF REAL;

COLOR=(RED, YELLOW, GREEN, BLUE);

Раздел описания переменных

Все используемые в программе переменные должны быть описаны в этом разделе, начинающемся с ключевого слова VAR, за которым идет последовательность объявлений переменных. Объявления переменных отделяются друг от друга точкой с запятой. В объявлении через запятые перечисляются имена переменных, затем следует символ «двоеточие» и их тип.

П р и м е р

VAR

A, B, C: INTEGER;

D: REAL;

V: BOOLEN;

F: VECTOR;

Раздел описания процедур и функций

В нем размещаются процедуры и функции пользователя.

Раздел операторов

Он начинается с зарезервированного слова BEGIN и оканчивается словом END, после которого должна стоять точка:

BEGIN

<оператор;>

...

<оператор>

END.

В разделе операторов выполняются действия над предварительно описанными переменными, константами, значениями функций. Операторы отделяются друг от друга символом «точка с запятой». Допускается не ставить «;» перед END.

Ниже приводится п р и м е р простой программы на языке Паскаль, предназначенной для вычисления факториала числа N (N!).

PROGRAM PRIM1 (INPUT, OUTPUT); {заголовок программы}

VAR

Fact, X, N: INTEGER; {раздел описаний и определений}

BEGIN {начало раздела операторов}

READ(N);

Fact:=1; X:=0;

WHILE X<>N

DO BEGIN

X:=X+1;

Fact:=Fact*X;

END;

WRITELN(‘ N=’, N, ‘ N!=’, Fact)

END. {конец программы}

Директивы компилятора и управляющие символы

Директивы компилятора используются программистом для управления режимами компиляции.

Директива – сообщение в повелительной форме, вводимое оператором и содержащее указания о том, какие действия необходимо выполнить.

Директива компилятора – компонент программы, управляющий последующей компиляцией программы. Директива компилятора имеет следующий формат записи: заключается в фигурные скобки «{}», символ $ <латинская буква> {}.

П р и м е р. {$R-}, {$V+, K-}.

По умолчанию директивы гарантируют минимальный объем объектного модуля и минимальное время компиляции.

Управляющие символы – знак «#» или «^».

«#» – и следующее за ним целочисленное значение обозначают символ кодовой таблицы ПК, имеющий соответствующее десятичное значение.

Например: #10#13 – конец строки, переход на новую.

«^» – указывает, что за ним следует управляющий символ.

Например: ^Y#10#13.

Библиотечные модули – это средство создания библиотек подпрограмм (процедур и функций).

Библиотечные модулирезультат компиляции в режиме compile с директивой destination = disk одной или нескольких процедур и функций. Имя модуля может указываться в разделе USES для возможности использования каждой из находящихся в нём процедур или функций.

Создание библиотечного модуля требует определённой организации программы с применением специальных зарезервированных слов.

Лекция 2.

Название: Алфавит, идентификаторы, константы, выражения, операции, структура программы. Простые и структурированные типы.

ОПЕРАТОРЫ ЯЗЫКА ПАСКАЛЬ

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

Оператор присваивания

Общий вид оператора:

<идентификатор> := <выражение>;

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6