Программирование в среде Турбо Паскаль (Поляков, Круглов) - страница 60

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

Приведение типов как переменных, так и значений — нетривиальная операция. Она подразумевает достаточно высокий уровень знаний технических подробностей языка. Например, нужно знать, как хранятся структуры (массивы, записи, множества), адреса, числа, строки в памяти, какие размеры им отводятся. Приведение

- 92 -

типов имеет смысл лишь при сопоставимости машинных представлений значений. Так, вещественные значения кодируются совсем по-другому, чем целые, и приведение целых переменных к вещественным типам или наоборот, если и пройдет по размеру, то приведет к фатальным изменениям смысла.

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

- 93 -

Глава 6. Управляющие структуры языка

В этой главе будут рассмотрены управляющие операторы языка Турбо Паскаль (условный оператор, операторы циклов, варианта и др.) вопросы построения процедур и функций, а также принципы построения модулей.

Предварительно необходимо ввести такие базовые понятия, как простой и составной операторы.

6.1. Простой и составной операторы


Оператор в программе — это единое неделимое предложение, выполняющее какое-либо действие. Типичный простой оператор — оператор присваивания. Другим примером может служить вызов какой-либо процедуры в программе. Важно, что под любым оператором подразумевается действие (присваивание, сравнение величин, вызов подпрограммы, переход по программе и т.п.). Блоки описания типов, переменных, констант, меток и составляющие их предложения не являются в этом смысле операторами.

Два последовательных оператора обязательно должны разделяться точкой с запятой «;». Этот символ имеет смысл конца оператора, и он же разделяет операторы при записи в одну строку, например:

a:=11; b:=a*a; Write(a,b);

Отсюда вовсе не следует, что можно не закрывать символом «;» единственные в строке операторы.

Если какое-либо действие мыслится как единое (например, присваивание явно значений ряду элементов массива), но реализуется несколькими различными операторами, то последние могут быть представлены как составной оператор.

Составной оператор — это последовательность операторов, перед которой стоит слово BEGIN, а после — слово END. Между любыми двумя операторами должна стоять точка с запятой. Она сама по себе не является оператором и поэтому может отсутствовать между оператором и словом