|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Определение типовКак было упомянуто ранее, в изучаемом языке возможно определять новые типы переменных. После определения этот тип становится доступным для описания переменных, также как и стандартные типы. Новый тип перед первым его использованием должен быть описан в соответствующем разделе описаний. Его заголовок - служебное слово Туре. Туре <Имя типа> = <Описание типа>; Есть несколько способов описания. Иногда говорят даже о видах типов (как бы это странно ни звучало). Итак, перв.-лм рассмотрим так называемый перечисляемый тип. Перечисляемый тип используется для повышения наглядности программ, позволяя записывать в переменные этого типа названия разнообразных объектов, исследуемых программой. Этот тип представляет собой набор идентификаторов, с которыми могут совпадать значения параметров. Формат описания следующий: <Имя типа> = (<Ид.1>, <Ид.2>,? <Ид.п>); Далее можно определить любое число переменных уже описанного типа. Обратите внимание на то, что каждый идентификатор может участвовать в описании только одного перечисляемого типа. Этим переменным можно присваивать только значения из списка, определенного при описании типа. Эти значения не являются ни числами, ни • строковыми величинами, ни даже величинами логического типа, поэтому они не могут участвовать в арифметических, строковых, логических выражениях, а также не могут быть выведены на экран или принтер. Величины перечисляемого типа можно сравнивать между собой, над их множеством в языке Паскаль определены несколько функций: Ord(X) -.;:.рядковый номер значения переменной X в списке идентификаторов. Succ(X) - следующее значение для величины X. Pred(X) - предыдущее значение данного типа. Обратите внимание на то, что для функции Ord нумерация среди значений идет, начиная от нуля. Для последнего значения нельзя применять функцию Succ, для первого - Pred. Переменные различных перечисляемых типов несовместимы друг с другом. Множество стандартных порядковых типов в языке Паскаль на самом деле определены как перечисляемые. Это типы Char, Integer, другие. Достоинства стандартных порядковых типов лишь в том, что над каждым из них уже определены специфические действия. Например, тип Boolean описан так: Туре Boolean = (False, True); Единственное его отличие от перечисляемых типов, определяемых программистом, состоит в том, что значения типа Boolean можно выводить на экран. Можете проверить, Ord(False)=0. Интересно, что переменная перечисляемого типа может быть счетчиком в цикле "с параметром". Пример: Program T1; Туре Colors = (Black, Blue, Green, Cyan, Red, Magenta, Brown, Yellow, White); Var C1,C2: Colors; Begin Cl:=Green; C2.-Red; Writeln(Ord(Cl), Ord(Succ(C2))) End. Во время выполнения на экране появятся числа "2" и "5", что соответствует номерам значений Green и Magenta. Следующий тип, который можно определить в программе - тип-диапазон. Здесь не нужно перечислять все значения этого типа, потому, что возможными для него являются значения поддиапазона уже определенного до него любого порядкового типа (стандартного или описанного ранее перечисляемого типа). Достаточно лишь указать начальную и конечную величину отрезка порядкового типа. Единственное условие: начальное значение не должно превышать конечное. Формат описания отрезочного типа: Туре <Имя типа>=<Нач.>..<Кон.>; Примеры: Туре Аде=0..150; {Целое число в интервале от 0 до 150} Lat='A'.. 'Z1; {Заглавные буквы латинского алфавита} Month=(January, February, March, April, May, June, July, August, September, October, November, December); Spring=March..May; {Весенние месяцы} Есть еще одна возможность определить новый тип, о существовании которой можно было бы и догадаться. Туре <Имя типа>=<Имя ранее определенного или стандартного типа>; Пример: Туре Number=Byte; Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |