Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Типы и переменные

Читайте также:
  1. Безразмерные переменные (числа подобия) и уравнения подобия.
  2. В каком периоде принято делить издержки на постоянные и переменные? Как эти функции представлены на графике?
  3. Долгосрочный (стратегический) - все факторы производства переменные.
  4. Знакопеременные ряды
  5. Знакопеременные ряды
  6. Знакочередующиеся и знакопеременные ряды
  7. И переменные

Семантика

 

Синтаксис языка СИМУЛА для декларации типа отли­чается от принятого в языке АЛГОЛ-60 тем, что в первом нет понятия own. «Значение» — это информация, интерпретируемая во время исполнения программы как представляющая сама себя.

Примерами значений являются: экземпляр некоторого вещественного числа, некоторый объект или отрезок'"текста*.«Ссылка» — это информация, указывающая на (или ссылаю­щаяся на) некоторое значение. Для удобства обозначения различие между ссылкой и значением, на которое она ссы­лается, определяется из контекста.

Понятие ссылки интуитивно соответствует известному понятию «имени» или «указателя». Оно также отражает воз­можности вычислительных машин обращаться по адресу:
в ряде простых случаев ссылка могла бы быть реализо­вана в виде адреса некоторого сохраняемого в памяти зна­чения.

Понятие ссылки не вводится во всей его общности, что
объясняется стремлением сохранить эффективность исполне­ния программы на вычислительной машине. В частности, нет
ссылок, указывающих на значения переменных обыкновен­ного типа. Переменная, локальная в некотором экземпляре блока, - это некоторый участок памяти (ячейка), содержащий или значение (если переменная обыкновенного типа), или ссыл­ку (если переменная ссылочного типа). Переменная ссылоч­ного типа имеет то значение, на которое ссылается «содер­жимое» этой переменной. Содержимое переменной может из­меняться соответствующими операторами присваивания.

 

Ссылки на объекты

С объектом связана единственная ссылка на объект, опре­деляющая его однозначно. C каждым классом С связан тип ссылок на объект ref (С). О некоторой величине такого типа говорят, что ее квалификация распространяется на класс С или что она квалифицирована классом С. Ее значе­нием может быть или некоторый объект, или специальное значение none, означающее «нет объекта». Квалификация ограничивает область значений ссылочной величины объектами классов, содержащихся в квалифицирующем классе. Такая область значений независимо от квалификации все­гда включает значение none.

Литеры

Литерное значение (значение типа character) — это экземпляр «внутренней литеры». В любой конкретной реали­зации языка должно быть установлено взаимно однознач­ное соответствие между некоторым подмножеством мно­жества всех внутренних литер и внешними («печатными») литерами. Алфавиты литер (внутренних и внешних) опреде­ляются в каждой конкретной реализации языка.

Упорядоченность алфавита

Совокупность внутренних литер упорядочена. Этот поря­док определяется в каждой конкретной реализации языка; тем самым устанавливается взаимно однозначное соответ­ствие между внутренними литерами и некоторым подмноже­ством совокупности целых чисел. Это соответствие выра­жается следующими процедурами-функциями:

integer procedure rank (С); character С;

значение такой функции лежит в пределах [О, N — 1], где N есть количество внутренних литер, и

 

character procedure char (n); integer n;

значение параметра должно лежать в пределах [О, N—1], в противном случае во время исполнения программы будет выдано сообщение об ошибке.

В большинстве случаев цифры (0—9) кодируются во вну­треннем представлении последовательными значениями, при­чем возрастание значения цифры соответствует порядку во внутреннем алфавите. В таких условиях выражения

rank (С) —rank ("0")

и

char(rank ("0")+ 1)

ч

дают независимое от реализации преобразование цифр в их арифметические значения.

Подмножества литер

Имеются две стандартные нелокальные процедуры, опре­деляющие два подмножества алфавита литер:

 

Boolean procedure digit (С); character С;

 

эта процедура вырабатывает значение true, когда значение С является цифрой, и

 

Boolean procedure letter (С); character С;

эта процедура доставляет значение true, когда значение С является буквой.

 

Тексты

Текстовое значение (значение типа text) — это упорядо­ченная последовательность (быть может, пустая) внутрен­них литер. Количество литер в такой последовательности на­зывается «длиной» текста. Непустое текстовое значение является или «текстовым объектом», или частью более длинной последовательности литер, являющейся текстовым объектом. Текстовая ссылка ссылается на текстовое значение. Некоторые свойства текстовых ссылок представлены процеду­рами, к которым можно обращаться дистанционными иден­тификаторами.

Начальные значения

Каждая декларированная переменная получает начальное содержимое (значение) в момент входа в блок, в котором эта переменная локальна. Начальное значение определяется типом переменной:

Real 0


Дата добавления: 2015-07-15; просмотров: 60 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Компонент MainMenu - главное меню формы.| Объектные выражения

mybiblioteka.su - 2015-2024 год. (0.007 сек.)