Содержание | Тип переменной | Тип константы | Предопределенные типы | О приводимости типов |
![]() |
||||||||||||||||||||||
Типы переменных Тип переменной задает вид того значения, которое ей присваивается и правила, по которым операторы языка действуют с переменной, например: Если переменные A и B целочисленного типа, то программа: A:=3.14; Выведет на экран строку: “3.14 2.71 5.85” Если же они строкового типа, то программа: A:=’3.14’; Выведет: “3.14 2.71 3.142.71”, так как оператор сложения просто добавит строку B в конец строки A. Тип константы определяется способом записи ее значения: Const Можно использовать выражения. Выражения должны в качестве операторов содержать только константы, в том числе ранее объявленные, а так же знаки математических операций, скобки и стандартные функции. В Паскале предопределены следующие простейшие типы переменных:
При обьявлении переменной строкового типа можно заранее указать ее длину в байтах – X: MyString:STRING[X]; Размер переменной типа STRING в
памяти можно узнать следующим способом: Кроме того, можно узнать, сколько
символов в строке (индекс последнего непустого символа в строке):
Диапазоны индексов для каждого измерения указываются парами чисел или констант, разделенных двумя точками, через запятую (a..b,c..d). После OF записывается тип элементов массива. В памяти массив занимает место, равное: (b-a)*(d-c)*..* SizeOf(“тип элемента”). Размер массива не может превосходить 65536 байт. Обращение к элементам массива
происходит следующим образом: При этом переменная X должна быть того же типа, что и элементы массива или приводимого типа. Число индексов (a,b,c,..) должно быть равно числу обьявленных при описании измерений массива. В Паскале существуют ограничения на присвоение значений одних переменных другим. Если переменные которую и которой присваивают одного типа, то никаких проблем не возникнет. Но если они разных типов, присвоение не всегда может быть произведено. Это связано стем, что при таком присвоении необходимо отсечь часть информации, а какую – компьютер “не знает”. Проблема возникает при следующих
присвоениях: В то же время, такие присвоения будут
выполнены вполне корректно: При этом переменная J примет значение с нулевой дробной частью, а B – станет строкой, содержащей один символ – из A. В первом же случае, можно поизвести
следующие операции: Кроме рассмотренного случая может существовать множество других, но наиболее общее правило таково: следить за однозначностью присвоения с потерями информации и не удивляться, а экспериментировать переделывать программу, если компилятор выдает сообщение о невозможности присвоения. |
|||||||||||||||||||||||||||