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

Функции Назначение
ABS(X) Вычисление абсолютного значения X
SQR(X) Вычисление квадрата X
SIN(X) Вычисление синуса X
COS(X) Вычисление косинуса X
ARCTAN(X) Вычисление арктангенса X
EXP(X) Вычисление экспоненты X
LN(X) Вычисление натурального логарифма X
SQRT(X) Вычисление квадратного корня из X
TRUNC(X) Вычисление целой части X
ROUND(X) Округление X в сторону ближайшего целого
ODD(X) TRUE, если X - нечетное, FALSE, если X - четное

В Pascal определены только три тригонометрические функции (SIN, COS, ARCTAN). Для вычисления остальных тригонометрических функций необходимо использовать известные соотношения:

Tg(x) = Sin(x)/Cos(x)

Ctg(x) = Cos(x)/Sin(x)

Csc(x) = 1/Sin(x)

Sc(x) = 1/Cos(x)

Arcsin(x) = Arctg( Арифметические встроенные функции - student2.ru ))

Arccos(x) = π /2 - Arcsin(x)

Arcctg(x) = π /2 - Arctg(x).

Вычисление логарифма с основанием a:

logа(x) = ln(x)/ln(a).

В Pascal нет операции возведения в степень. При ее необходимости применяют стандартные функции:

xа = Exp(a*Ln(x)).

Нельзя возвести в целую степень отрицательное число! (это можно сделать с использованием операторов цикла).

Арифметические встроенные функции - student2.ru = ехр((1/х)*ln(у))

еа = ехр(а)

N·10а=NEA

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

PROGRAM Имя {заголовок};

USES список используемых модулей;

{программный блок}

{описания}

LABEL {раздел меток};

CONST {раздел констант};

TYPE {раздел типов};

VAR {раздел переменных};

PROCEDURE, FUNCTION {раздел процедур и функций};

{операторы}

BEGIN

оператор1;

оператор2; {раздел операторов}

...

оператор n

END.

Раздел операторов должен присутствовать всегда, остальные разделы могут отсутствовать. В конце блока всегда должно стоять ключевое слово END с точкой. После последнего выполняемого оператора (перед END) разделитель ";" можно не ставить.

ОПЕРАТОРЫ

ОПЕРАТОРЫ ВВОДА-ВЫВОДА

Для ввода данных служат операторы READ (список ввода) и READLN(список ввода).

Список ввода – это одна или несколько переменных, разделенных запятыми. При использовании оператора READ переменные из списка ввода записываются в строку через пробел. После ввода последней переменной из списка необходимо нажать клавишу Enter. При использовании оператора READLN каждая переменная вводится с новой строки (в столбец). Ввод каждой переменной заканчивается нажатием клавиши Enter.

Для вывода данных служат операторы WRITE(список вывода) и WRITELN(список вывода).

Список вывода – это одна или несколько переменных, разделенных запятыми или комментарии, заключенные в апострофы. При использовании оператора WRITE данные выводятся в строку, при использовании оператора WRITELN – в столбец (каждая переменная выводится на новой строке).

В отличие от списка ввода, список вывода может содержать не только переменные, но и константы, и выражения.

Форматы вывода

- WRITELN(переменная) – переменная выводится на экране в форме с плавающей точкой.

- WRITELN (переменная:n) – на переменную целого типа отводится n позиций.

- WRITELN (переменная:n:k) – на всю переменную отводится n позиций, на ее дробную часть – k позиций.

ОПЕРАТОР ПРИСВАИВАНИЯ

Оператор присваивания позволяет назначить переменной определённое значение, помещая это значение в соответствующую ячейку памяти.

Вид (формат) оператора присваивания:

Переменная := выражение;

где := – символ присваивания.

СТРУКТУРНЫЕ ОПЕРАТОРЫ

В языке паскаль выделяются два класса операторов: простые и структурные. Простой оператор не содержит в своей записи других операторов, а его выполнение не связано с анализом некоторых условий. Структурный оператор содержит в своем составе другие операторы, порядок выполнения которых определяется некоторыми условиями. К первому классу относятся оператор присваивания и операторы обращения к процедурам, ко второму – условный оператор (оператор ветвления), оператор выбора и операторы цикла. Несколько операторов с помощью операторных скобок BEGIN и END объединяются в составной оператор.

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

Условный оператор имеет полную и краткую формы.

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

IF условие

THEN оператор1

ELSE оператор2;

Здесь ключевые слова IF THEN ELSEозначают соответственно « если то иначе».

В качестве условия указывается некоторое логическое выражение. Если условие оказывается истинным, то выполняется оператор1, в противном случае выполняется оператор2.

Краткая форма условного оператора имеет вид:

IF условие THEN оператор;

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

В случае конструкции вида

IF условие1

THEN

IF условие2 THEN оператор1

ELSE оператор2;

ELSE всегда относится к ближайшему предыдущему оператору IF, для которого ветка ELSE еще не указана. Если в предыдущем примере требуется, чтобы ELSE относилась к первому оператору IF, то необходимо использовать составной оператор:

IF условие1 THEN

BEGIN
IF условие2 THEN оператор1

END
ELSE оператор2;

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

Оператор выбора CASE является обобщением оператора IF и позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, которое называется селектором, и списка параметров, каждому из которых предшествует список const выбора (список может состоять из одной константы). Как и в операторе IF, здесь может присутствовать слово ELSE, имеющее тот же смысл.

CASE селектор OF

список выбора 1: оператор1;

...

Список выбора N: операторN

ELSE оператор

END;

Селектор представляет собой выражение порядкового типа (целого, символьного, перечислимого или интервального), а списки выбора содержат константы совместимого типа. Оператор CASE работает следующим образом: если в одном из списков выбора найдено текущее значение селектора, то выполняется оператор, соответствующий данному списку. Если же значение селектора не найдено ни в одном списке, то выполняется оператор по ветке ELSE или, если ветка ELSE отсутствует, оператор CASE не выполняет никаких действий.

Список выбора состоит либо из одной константы, либо из диапазона значений вида a..b (константа a должна быть меньше константы b); можно также перечислить несколько констант или диапазонов через запятую:

CASE DayOfWeek OF

1..5: writeln('Будний день');

6,7: writeln('Выходной день');

END;

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

Оператор цикла FOR

Оператор цикла FOR (-для -) имеет одну из двух форм:

FOR X:= A TO B DO оператор(если шаг равен 1)

или

FOR X:= A DOWNTO B DO оператор(если шаг равен –1),

где X – параметр цикла, A и B – выражения, задающие начальное и конечное значения параметра цикла соответственно.

Тип параметра цикла обязательно должен совпадать с типом начального и конечного значений цикла. Из рассмотренных стандартных скалярных типов в качестве параметра цикла нельзя использовать переменные вещественного типа. Выполнение оператора цикла начинается с проверки условия X<=B для цикла ТО (X>=B для цикла DOWNTO). Если оно не справедливо, то оператор не выполняется, а управление передается следующему оператору. Если же условие X<=B истинно, то выполняется оператор, а затем параметру цикла присваивается следующее значение, т. е. X:=X+1 (для цикла TO) или предыдущее X:=X–1 (для цикла DOWNTO). Далее весь процесс повторяется.

Задать шаг, отличный от 1 или –1, нельзя!

Оператор цикла WHILE

Оператор цикла WHILE (-пока-) имеет следующую форму:

WHILE условие DO оператор

где условие – логическое выражение, оператор – простой или составной оператор.

Указанный оператор выполняется повторно до тех пор, пока условие истинно. Если при выполнении цикла условие ложно сразу же, то оператор, стоящий после DO, не выполняется ни разу.

Если в после слова DO в циклах ДЛЯ и ПОКА необходимо записать не один, а несколько операторов, то эти операторы берутся в операторные скобки BEGINEND.

Оператор цикла REPEAT

Оператор цикла REPEAT (-до-)имеет следующую форму:

REPEAT

Операторы

UNTIL условие

В отличие от оператора WHILE, условие проверяется после выполнения тела цикла. При этом тело цикла выполняется хотя бы один раз и до тех пор, пока условие ложно.

Чтобы прервать зациклившуюся программу, следует использовать комбинацию клавиш Ctrl-F2

Наши рекомендации