Стандартные выражения Pascal
Стандартные математические функции Турбо Паскаля | |||
Обращение | Тип результата | Тип аргумента | Примечание |
Abs(x) | Тип аргумента | Real, integer | Модуль аргумента |
ArcTan(x) | Real | Real, integer | Арктангенс (значение в радианах) |
Cos(x) | Real | Real, integer | Косинус, угол в радианах |
Exp(x) | Real | Real, integer | Экспонента |
Frac(x) | Real | Real | Дробная часть числа |
Int(x) | Real | Real, integer | Целая часть числа |
Ln(x) | Real | Real, integer | Логарифм натуральный |
Pi | Real | Нет | 3,141592653 |
Sin(x) | Real | Real, integer | Синус, угол в радианах |
Sqr(x) | Тип аргумента | Real, integer | Квадрат аргумента |
Sqrt(x) | Real | Real, integer | Корень квадратный |
Random | Real | Нет | Псевдослучайное число в интервале [0, 1] |
Random(I) | Integer | Integer | Псевдослучайное число в интервале [0, I] |
Round(x) | Integer | Real | Округление до ближайшего целого |
Trunc(x) | Integer | Real | Отбрасывание дробной части числа |
Порядок вычислений в выражениях такой:
- Вычисляются подвыражения (в скобках);
- Дальше выполняются операции с наибольшим приоритетом. Чаще всего используются следующие уровни приоритетов (по убыванию):
o возведение в степень;
o * , / , div , mod — мультипликативные операции;
o + , — , abs , not — унарные операции;
o +, -; — аддитивные операции;
o = ,<>, <, >, <=, >= — операции отношения;
o and, or, not — логические операции; - Операции, имеющие одинаковый приоритет, выполняются слева направо.
Несмотря на отсутствие ограничений на сложность выражений, все же выражения, которые состоят больше чем из семи операндов трудны для понимания и чтения. Их не советуют использовать.
В Pascal нет стандартной функции или операции возведения в степень, соответственно используется такое математическое тождество : xy= eylnx. В Pascal используется только стандартная функция вычисления натурального логарифма, поэтому используется такое математическое тождество: logab= ln b/ln a.
Математическое выражение: x3/2 — 7x + tg (x+2). Выражение на Pascal: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)
Операторы действия
Операторы действия представляют собой средства языка, которые в процессе выполнения программы позволяют изменять состояние вычислений. Самый элементарный оператор действия – это оператор присваивания.
<имя_переменной>:=<выражение>
Пример
a:=15+5;{переменной a присваиваемматематическоевыражение. Важно, чтобы переменная a была числового типа}
Несмотря на кажущуюся простоту, оператор присваивания, имеет важное алгоритмическое значение.
Выполнение присваивания переменной определенного значение означает помещение данного значения в отведенный для переменной ящик. К тому же каждыый запоминающий ящик обладает такими свойствами:
- В ящике (в любой момент времени) не может храниться больше одного значения.
- Каждый ящик может хранить только значение одинакового типа. В противном случае возникнет ошибка в программе.
- Значение в ящике будет храниться до тех пор, пока в нем не будет помещено новое задание. Причем предыдущее содержимое будет утеряно безвозвратно.
- Значение, находящееся в ящике, считается текущим значением соответствующей переменной. Оно может быть выдано из ящика сколько угодно раз, но содержимое неизменно: из ящика каждый раз выдается копия значения с сохранением оригинала без всяких изменений.
- Содержимое всех запоминающих ящиков к началу выполнения программы считается неопределенным. Их нельзя считать и пустым, так как эти ящики могут применяться при выполнения прошлых программ, после которых могло что-то сохраниться.
Стоит рассмотреть и пустой оператор, который обозначается в Паскале знаком «;». Он не выполняет никакого действия. Также в Паскале оператором действия является оператор процедуры. Последний из самых простых операторов действия является оператор остановка, прерывающий работу программы (в Pascal это оператор halt).
Ввод и вывод данных
Ввод данных с клавиатуры выполняется с помощью стандартной процедуры read(<список ввода>) или же ее разновидности readln(<список ввода>). Элементы списка ввода – имена(идентификаторы)переменных, перечисляемые через запятую. При выполнении данного оператора пользователь набирает на клавиатуре необходимую последовательность значений, разделяя их пробелами.
Пример:
read(a,b,c);{гдеa,b,c — переменные. Ввод данных выполняется через пробел}
readln(a,b,c);{гдеa,b,c — переменные. Ввод данных выполняется через enter(возврат корретки)}
Вывод данных на экран осуществляется с помощью стандартной процедуры write(<список вывода>) или ее разновидности writeln(<список вывода>). Список вывода может содержать переменные, выражения, константы, формат вывода. Выражения в спискевыводанужноразделятьзапятыми.
Пример:
write(a,b,c);{гдеa,b,c — переменные. После вывода данных на экран, курсор находится на последнем символе}
writeln(a,b,c);{гдеa,b,c — переменные. После вывода данных на экран, курсор переходит на новую строку)}
Окончание ln в имени процедуры обозначает, что курсор будет переведен в начало следующей строки экрана.