Переменные
В отличие от констант, которые задаются только один раз, в Паскале существуют также переменные, значение которых можно изменять в ходе решения задачи. Процесс задания переменной значения называется присваиванием и записывается, например, так:
a:=(b+4)*25.13;
Слева находится переменная, куда нужно занести значение. Справа – выражение, результат которого нужно запомнить в переменную. Между ними – знак присваивания, состоящий из двоеточия и знака равенства. Если в выражении справа используется переменная (как в нашем случае b), значение которого вычислено заранее, вместо неё в выражение будет подставлено соответствующее значение. Если эта переменная не вычислена, будет (скорее всего) подставлен 0, но разработчики Паскаля этого не гарантируют. Вместо ноля может быть подставлен любой «мусор», находящийся в памяти в том месте, которое Паскаль отведёт для данной переменной. Поэтому рекомендуется инициализировать такие переменные (задавать начальное значение, например, обнулять).
Как и любое не известное Паскалю слово, переменные должны быть объявлены в разделе описаний. Для указания, что это переменные, перед их объявлением должно стоять ключевое слово VAR.
Значения переменным в этом месте не задаются, а только указывается, какого типа переменная. Это нужно, чтобы Паскаль «знал», сколько байт памяти оставить этой переменной, и какие действия над ней являются допустимыми. Например:
Переменные одного типа перечисляются через запятую. После этого списка ставится двоеточие и указывается идентификатор типа. В данном примере имеются два идентификатора: integer и real. Первый обозначает целые переменные в диапазоне от -2147483648 до +2147483647 и занимает в памяти 4 байта. Второй – вещественные (дробные). Диапазон его значений от ± 5.0∙10-324 до ± 1.7∙10308. Число типа real содержит 15-16 значащих цифр и занимает в памяти 8 байт.
Если в задаче используются целые положительные числа в пределах от 0 до 255, то можно сэкономить память и ускорить вычисления, использую тип переменных byte (короткое беззнаковое целое).
Что получится, если в одном выражении использовать числа разного типа? Результат выражения будет приведён к самому памятеёмкому из данных типов. Например, при использовании integer и byte результат будет типа integer. При использовании integer, byte и real результат будет real. Однако есть некоторые операции и функции, которые могут быть использованы только с integer или только с real.
Примечание: работая в других диалектах Паскаля, не нужно рассчитывать, что там такие же типы будут занимать столько же памяти и находиться в таких же диапазонах. В каждом из них нужно выяснить эту информацию в технической документации или справочной системе.
Дата добавления: 2014-12-18; просмотров: 892;