русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Простые константы


Дата добавления: 2015-06-12; просмотров: 1001; Нарушение авторских прав


Раздел описания констант CONST программы позволяет вводить различного вида константы. Константы — это не более чем средство для сокращения рутинных действии над текстом программы и одновременно улучшения ее читаемости. Пусть описаны типы:

TYPE

Diapazon = 14..27; { диапазон }

Massiv1 = Array [14..27] of Real; { тип "массив" }

Massiv2 = Array [15..28] of Integer; { другой массив }

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

CONST

Lower = 14;

Upper = 27;

TYPE

Diapason = Lower ..Upper;

Massiv1 = Array [Lower..Upper] of Real;

Massiv2 = Array [Lower+1 .. Upper+1] of Integer;

Теперь в той же ситуации достаточно поправить два числа. В этом примере Lower и Upper простые константы (есть и сложные разновидности констант, но они рассматриваются совместно с переменными).

Константы вводятся исключительно для удобства программиста. В работающей программе выполнимый код будет одинаков для обоих рассмотренных примеров. Дело в том, что компилятор запоминает {75} все значения простых констант и при трансляции программы заменяет все имена констант на их значения. Именно поэтому простые константы не могут стоять слева в операторе присваивания и вообще не могут изменить свое значение в программе. Они могут участвовать в выражениях, вызовах функций, в операторах циклов, их можно выводить на печать (а вот вводить уже нельзя!), лишь бы не было попыток изменить их значение.

Константы описываются в блоке CONST (или в блоках, если их несколько). Синтаксис их прост:

CONST

ИмяКонстанть1 = Значение1;

ИмяКонстанты2 = Значение2;

и т.п. или

ИмяКонстанты = ЗначениеВыраженияСтоящегоСправа;



Имя и значение константы разделяются знаком равенства «=» (но не знаком присваивания «:=»). После задания константы обязательна точка с запятой. Концом блока констант считается начало любого другого блока или описания процедур и функций.

Все, что касается констант в стандарте Паскаля, верно и для Турбо Паскаля. Согласно стандарту значение простой константы имеет простой тип и не может быть записано выражением:

CONST

Min = 0; { константа — целое число }

Мах = 500; { константа — целое число }

е = 2.7; { константа — вещественное число}

SpecChar = '\'; { константа — символ }

HelpStr = 'Нажмите клавишу F1'; { константа — строка }
NoAddress = nil; { константа — адрес }

OK = True; { логическая константа "истинно" }

{ Можно задавать простые константы типа "множество": }

Alpha = [ 'А'..'Я' ];

Обращаем внимание, что тип значения не указывается никоим образом. Он определяется автоматически при анализе значения константы.

Расширением Турбо Паскаля является возможность определять константы как выражения из чисел, некоторых функций языка и определенных ранее простых констант. Так, приведенный список констант можно продолжить следующими примерами: {76}

Interval = Мах - Min + 1;

Key = Chr(27); { символ с кодом 27 }

e2 = е*е;

BigHelpString = HelpStr + 'для подсказки';

Flag = Ptr($0000, $00F0); { задание адреса }

В выражениях могут использоваться все математические операции (+,-,/,*,div,mod), поразрядные (битовые) действия, логические операторы (not, and, or, xor) и операции отношения (=,<,> и т.п., включая операцию in для множеств). Из стандартных функций Турбо Паскаля в выражениях констант могут участвовать только такие:

Abs(X) — абсолютное значение числа X;

Round(X) — округление X до ближайшего целого числа;

Trunc(X) — отсечение дробной части значения X;

Chr(X) — символ с кодом номер X;

Ord(X) — номер значения X в его перечислимом типе;

Pred(X) — значение, предшествующее X в его типе;

Succ(X) — значение, следующее за X в его типе;

Odd(X) — логическая функция проверки нечетности X;

SizeOf (X) — размер типа с именем X;

Length (X) — длина строки X;

Ptr(S,O) — функция задания адреса;

Lo(X), Hi(X) и Swap(X) — операции с машинными словами.

Этот же набор допускается при построении выражений в окнах отладки (Watch и Evaluate).

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



<== предыдущая лекция | следующая лекция ==>
Сложные типы языка | Переменные


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.872 сек.