Стандартные функции
Стандартные встроенные функции необходимы для выполнения часто встречающихся действий, к примеру, вычисления значений элементарных функций (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 |


