Выбрать главу

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

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

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

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

В языке Pascal принят следующий приоритет операций:

1) вычисления в круглых скобках;

2) вычисления значений функций;

3) унарные операции;

4) операции * / div mod and;

5) операции + – or xor;

6) операции отношения = <> < > <= >=.

4. Стандартные процедуры и функции

Арифметические функции

1. Function Abs(X); возвращает абсолютное значение параметра.

2. Function ArcTan(X: Extended): Extended; возвращает арктангенс аргумента.

3. Function Exp(X: Real): Real; возвращает экспоненту.

4. Function Frac(X: Real): Real; возвращает дробную часть аргумента.

5. Function Int(X: Real): Real; возвращает целочисленную часть аргумента.

6. Function Ln(X: Real): Real; возвращает натуральный логарифм (Ln е = 1) выражения Х вещественного типа.

7. Function Pi: Extended; возвращает значение Pi, которое определено как 3.1415926535.

8. Function Sin(X: Extended): Extended; возвращает синус аргумента.

9. Function Sqr(X: Extended): Extended; возвращает квадрат аргумента.

10. Function Sqrt(X: Extended): Extended; возвращает квадратный корень аргумента.

Процедуры и функции преобразования величин

1. Procedure Str(X [: Width [: Decimals]]; var S); преобразовывает число X в строковое представление.

2. Function Chr(X: Byte): Char; возвращает символ с порядковым номером Х в ASCII-таблице.

3. Function High(X); возвращает наибольшее значение в диапазоне параметра.

4. Function Low(X); возвращает наименьшее значение в диапазоне параметра.

5. Function Ord(X): Longlnt; возвращает порядковое значение выражения перечислимого типа.

6. Function Round(X: Extended): LongInt; округляет значение вещественного типа до целого.

7. Function Trunc(X: Extended): LongInt; усекает значение вещественного типа до целого.

8. Procedure Val(S; var V; var Code: Integer); преобразовывает число из строкового значения S в числовое представление V.

Процедуры и функции работы с порядковыми величинами

1. Procedure Dec(var X [; N: LongInt]); вычитает единицу или N из переменной X.

2. Procedure Inc(var X [; N: LongInt]); прибавляет единицу или N к переменной X.

3. Function Odd(X: LongInt): Boolean; возвращает True, если X – нечетное число, и False – в противном случае.

4. Function Pred(X); возвращает предыдущее значение параметра.

5. Function Succ(X); возвращает следующее значение параметра.

5. Операторы языка Pascal

Условный оператор

Формат полного условного оператора определяется следующим образом:

If B then S1 else S2

где B – условие разветвления (принятия решения), логическое выражение или отношение; S1, S2 – один выполняемый оператор, простой или составной.

При выполнении условного оператора сначала вычисляется выражение B, затем анализируется его результат: если B – истинно, то выполняется оператор S1 – ветвь then, а оператор S2 пропускается; если B – ложно, то выполняется оператор S2 – ветвь else, а оператор S1 – пропускается.

Оператор выбора

Структура оператора имеет следующий вид:

case S of

c1: insruction1;

c2: insruction2;

cn: insructionN;

else instruction

end;

где S – выражение порядкового типа, значение которого вычисляется;

c1, c2,…, on – константы порядкового типа, с которыми сравниваются выражения S; instructionl,…, instructionN – операторы, из которых выполняется тот, с константой которого совпадает значение выражения S;

instruction – оператор, который выполняется, если значение выражения S не совпадает ни с одной из констант c1, o2, on.

Оператор цикла с параметром

Когда начинает выполняться оператор for, начальное и конечное значения определяются один раз, и эти значения сохраняются на протяжении всего выполнения оператора for. Оператор, который содержится в теле оператора for, выполняется один раз для каждого значения в диапазоне между начальным и конечным значением. Счетчик цикла всегда инициализируется начальным значением.

Оператор цикла с предусловием

While B do S;

где B – логическое условие, истинность которого проверяется (оно является условием завершения цикла)$;

S – тело цикла – один оператор. Выражение, с помощью которого осуществляется управление повторением оператора, должно иметь логический тип. Вычисление его производится до того, как внутренний оператор будет выполнен. Внутренний оператор выполняется повторно до тех пор, пока выражение принимает значение Тгие. Если выражение с самого начала принимает значение False, то оператор, содержащийся внутри оператора цикла с предусловием, не выполняется.

Оператор цикла с постусловием

repeat S until B;

где B – логическое условие, истинность которого проверяется (оно является условием завершения цикла);

S – один или более операторов тела цикла. Результат выражения должен быть логического типа. Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значение True. Последовательность операторов выполнится, по крайней мере, один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов.

6. Понятие вспомогательного алгоритма

Алгоритм решения задачи проектируется путем декомпозиции всей задачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.

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

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

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

1) параметры-переменные;

2) параметры-константы;

3) параметры-значения;

4) параметры-процедуры и параметры-функции, т. е. параметры процедурного типа;

5) нетипизированные параметры-переменные.

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

Передача имен процедур и функций в качестве параметров

Во многих задачах, особенно в задачах вычислительной математики, необходимо передавать имена процедур и функций в качестве параметров. Для этого в TURBO PASCAL введен новый тип данных – процедурный, или функциональный, в зависимости от того, что описывается. (Описание процедурных и функциональных типов приводится в разделе описания типов.)