Константы, переменные и оператор присваивания.
Константа - это идентификатор отмечающий значение, которое не может изменяться. Идентификатор константы не может быть включен в свое собственное описание. Константы должны объявляться в декларационной части программы до момента их использования в вычислениях. Эта декларационная часть начинается с зарезервированного слова const. При декларации указывается имя константы, символ равенства и значение этой константы. В Паскале применяется пять видов констант простых типов.
Целочисленные константы. В качестве значений может использоваться любое целочисленное данное в десятичном или шестнадцатеричном формате (year=2003)
Вещественные константы определяются числами, записанными в десятичном формате данных (time=0.2e+4, yyy=304.0)
Символьные константы могут быть определены только посредством символов таблицы ASCII. При этом сам символ заключается в апострофы (xa1='A')
Строковые константы определяются произвольной последовательностью символов, заключенных в апострофы (stroke='IBM')
Типизированные константы (переменные с начальным значением). Каждой типизированной константе ставится в соответствие имя, тип, начальное значение (year1:integer =1995)
Переменной называется элемент программы, который предназначен для хранения, коррекции и передачи данных внутри программы. Раздел описания переменных начинается с зарезервированного слова var.
Для объявления переменной необходимо указать имя переменной и ее тип. Однотипные переменные могут перечисляться через запятую перед указанием их типа.
Пример.
a: integer;
b: boolean;
c, b: real;
e: integer;
Все переменные делятся на глобальные и локальные. Глобальными являются переменные, объявленные вне процедур и функций, а локальными - объявленные внутри процедур и функций.
Паскаль накладывает ряд ограничений на использование переменных.
1. Среди глобальных переменных не может быть двух с одинаковыми идентификаторами;
2. Среди локальных переменных в пределах одной процедуры или функции не может быть двух с одинаковыми идентификаторами;
В тексте программы любой глобальный идентификатор может дублировать любой локальный идентификатор, т.к. даже при одинаковых именах они хранятся в разных участках памяти.
Оператор присваивания - это основной оператор любого языка программирования. Данный оператор позволяет поместить определенное значение в необходимую вам переменную.
Оператор присваивания имеет вид:
идентификатор:= выражение;
При составлении выражений могут быть использованы следующие математические функции (таблица 8).
Таблица 8 – Встроенные функции языка Паскаль
Функция | Вызов функции | Назначение |
Простые функции | ||
p | pi | Возвращает значение числа ПИ |
|x| | abs(x) | Возвращает абсолютное значение x |
sqrt(x) | Возвращает квадратный корень из x>=0 | |
x2 | sqr(x) или x*x | Возвращает значение второй степени x |
ex | exp(x) | Возвращает значение экспоненты в степ. x |
sin x | sin(x) | Возвращает синус x радиан |
cos x | cos(x) | Возвращает косинус x радиан |
arctgx | arctan(x) | Возвращает арктангенс x радиан |
lnx | ln(x) | Возвращает натуральный логарифм x (x>0) |
Сложные функции | ||
x3 | x*x*x или x*sqr(x) | Третья степень |
exp(y*ln(x) ) power( x , y ) | Возведение в степень - для Borland Pascal (a>0) - для PascalABC | |
exp( 1/n * ln(x) ) power( x , 1/n ) | Извлечение корня n-ой степени - для Borland Pascal (x>0) - для PascalABC | |
sin2x | sqr( sin(x) ) | Квадрат синуса |
sin3x | sin(x)* sin(x)* sin(x) power( sin(x) , 3 ) | Куб синуса |
(a+b)/(c*d) | Использование скобок | |
lgx | ln(x)/ln(10) | Десятичный логарифм |
logn x | ln(x)/ln(n) | Логарифм по основанию n |
tg x | sin(x)/cos(x) | Тангенс |
сtgx | cos(x)/sin(x) | Котангенс |
arcctg x | pi/( 2 - arctan(x) ) | Арктангенс |
arcsin x | arctan( x/sqrt(1-x*x) ) | Арксинус |
arccos x | pi/(2 – arctan( x/sqrt(1-x*x) ) ) | Арккосинус |
При составлении сложных выражений осуществляется приоритет выполнения операций:
not
*, /, div, mod, and
+, -, or, xor
=, <>, <=, >=, >, <
Операторы ввода/вывода.
Паскаль содержит четыре оператора ввода/вывода: read, readln, write, writeln.
Оператор read осуществляет ввод данных с клавиатуры и размещение их в стандартном файле ввода input. Вводимые данные размещаются в качестве значений переменных, имена которых перечислены в круглых скобках за оператором read.
read (a, b, c);
Вводятся данные тоже списком, в котором они разделяются пробелом. Ввод заканчивается нажатием Enter. Курсор, отмечающий позицию следующего ввода/вывода остается за последним введенным данным. Оператор readln выполняет аналогичные действия и переводит курсор на следующую строку.
Оператор write осуществляет вывод на экран или печатающее устройство с одновременным размещением в стандартном файле вывода output. Оператор может выводить сообщение или значение переменной. Сообщения записываются в апострофах. Для вывода значения переменной указывается имя переменной. Сообщения и переменные можно чередовать в одном списке, разделяя их запятыми. Курсор остается за последним выведенным данным. Оператор writeln выполняет аналогичные действия и переводит курсор на следующую строку.
Операторы write и writeln допускают так называемый форматированный вывод данных.
write (a:5:2); writeln(x:8:3); writeln(ix:4);
Первое из чисел указывает сколько экранных знаков отводится под вывод. Второе число указывает количество знаков после запятой в числе и может отсутствовать.