Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. 1. Характеристика порядкових типів даних




1. Характеристика порядкових типів даних

2. Характеристика функцій для роботи з порядковими типами даних на мові Object Pascal

Из всех существующих простых типов данных самыми эле­ментарными являются порядковые типы. В этих типах информа­ция представляется в виде отдельных элементов из ограниченного набора значений.

В Object Pascal к порядковым типам относятся целые, символь­ные, логические типы и задаваемые пользователем перечисления и поддиапазоны. Все значения любого порядкового типа образуют упорядоченную последовательность, и значение переменной по­рядкового типа определяется его местом в этой последовательно­сти. За исключением переменных целых типов, значения которых могут быть как положительными, так и отрицательными, первый элемент любого порядкового типа имеет номер 0, второй элемент -номер 1 и т.д. Порядковый номер значения возвращает функция Ord (). Порядковый номер целого значения равен самому значе­нию. Иными словами, для целых типов Ord(x)=x. Функция Ord (х) возвращает положительное целое число от 0 до 1 (х - ло­гический тип), от 0 до 255 (х - символьный тип), от 0 до 65 535 (х -перечисляемый тип). Следовательно, поддиапазон сохраняет свой­ства порядкового типа, от которого он образован, и возвращаемое значение Ord (x) зависит от базового типа.

Существуют еще две функции, которые специально предна­значены для работы с порядковыми типами данных. Это функции Pred(x) hSucc(x).

Результатом вызова функции Pred(x) является предыдущее значение порядкового типа. Другими словами, Pred (х) = Ord (x) - 1. В свою очередь, Succ(x) возвращает следующее значение порядкового типа, т.е. Succ (x) = Ord (x) + 1.

Если программа будет содержать такие строки:

 

Целые типы данных. Целые типы обозначают множества це­лых чисел в различных диапазонах. В табл. 3.6 приведены харак­теристики целых типов. Они различаются диапазоном значений и размером занимаемой памяти.

 

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

Стандартные процедуры и функции, предназначенные для ра­боты с целочисленными типами данных, представлены в табл. 3.7.

 

 

В вышеприведенной таблице буквами b, w, i, L соответственно обозначены выражения типа Byte, Word, Integer, Longlnt. Переменная х - выражение любого из указанных типов. В квад­ратных скобках указывается необязательный параметр.

В Object Pascal имеется пять логических типов: Boolean, ByteBool, Bool, WordBool и LongBool. Единственным отли­чием этих типов является то, что они занимают разный объем па­мяти (см. табл. 3.8).

 

 

Логические переменные могут принимать одно из двух значе­ний: True (истина) или False (ложь). При этом справедливы следующие условия:

 

 

Фактически для всех логических типов значению False соот­ветствует число 0, которое записывается в указанное в табл. 3.8 количество байтов. Отличие логических типов также заключается в величине параметра, собтветствующего значению True. В пе­ременной типа Boolean этому значению соответствует число 1, а для других типов значению True соответствует любое значение, отличное от нуля. Функция Ord (True) для Boolean вернет 1, а для всех других логических типов возвратит (-1).

Значениями переменной, для которой установлен символьный тип данных, является единичный символ. В Windows использует­ся код ANSI (по названию разработавшего этот код института -American National Standard Institute- Американский националь­ный институт стандартизации). Множество значений символьного типа состоит из 256 различных символов, определенным образом упорядоченных, и содержит символы заглавных и строчных букв, цифр и другие символы, включая специальные управляющие.

В Object Pascal есть три символьных типа: Char, AnsiChar и WideChar (см. табл. 3.9). Тип Char является стандартным типом Pascal. Он использовался и в Turbo Pascal и сейчас в Object Pascal. Типы AnsiChar и WideChar были добавлены позднее.

 

 

 

Значение типа Char представляет собой любой символ из на­бора ANSI.

Значение типа AnsiChar берется из набора символов, упоря­доченных в соответствии с расширенным форматом ANSI.

Тип WideChar - это символы, упорядоченные в соответствии с международным набором символов UNICODE. Первые 256 сим­волов совпадают с символами ANSI.

Функция Ord(Ch), где Ch - любая переменная символьного типа, возвращает целое значение, которым символ Ch представлен в памяти, т.е. порядковый номер этого символа в таблице ANSI.

Функция Chr(i) преобразует целочисленную переменную в символьную переменную типа Char, порядковый номер которой задается параметром i.

Функция UpCase () служит преобразованию буквы из нижне­го регистра в верхний.

Перечисляемый тип данных. Перечисляемый тип - это тип, определенный путем явного перечисления всех возможных его значений, причем каждое новое значение определяется только именем. С использованием перечисляемых типов программа ста­новится нагляднее, более четко проводится контроль значений. Перечисляемые типы имеют очень компактное машинное пред­ставление. Однако для русскоязычных пользователей большим недостатком является то, что в Object Pascal нельзя использовать кириллицу в идентификаторах.

В программе перечисляемые типы описываются после ключе­вого слова type и находятся в списке внутри круглых скобок:

Первое значение в списке имеет порядковый номер 0, второе -1 и т.д. Максимальный порядковый номер может быть 65 536, что является вполне достаточным.

Имена из списка перечисляемого типа считаются константами соответствующего перечисляемого типа. В пределах блока эти идентификаторы должны быть уникальны. Другими словами, не­допустимо описание двух и более перечисляемых типов с повто­ряющимися константами. Например, описание вида:

вызовет ошибку при компиляции, поскольку идентификатор green используется и в первом перечислении, и во втором.

Для работы с перечисляемыми типами используются такие функции, как Ord (), Succ (), Pred (). К примеру:

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

Тип-диапазон может быть описан, как в разделе type, так и в разделе описания переменных после зарезервированного слова var, например:

Само собой разумеется, что минимальное значение не должно быть больше максимального. Еще одним ограничением является то, что между двумя символами точек «..» недопустимы пробе­лы, т.к. они рассматриваются как один символ.

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

Тип-диапазон поддерживает все операции базового типа. Кроме этого, для работы с типами-диапазонами используются функции:

High (а) - возвращает значение максимальной границы диа­пазона, к которому принадлежит переменная а;

Low (a) - возвращает минимальное значение типа-диапазона.

Контрольні питання

1. Навести характеристику порядкових типів даних

2. Навести характеристику функцій для роботи з порядковими типами даних на мові Object Pascal


АУДИТОРНЕ ЗАНЯТТЯ

ЗМІСТОВИЙ МОДУЛЬ 2: ПРОЦЕДУРНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ. ПРОГРАМУВАННЯ ГРАФІКИ

ТЕМА 2.1: ОСНОВИ МОВИ OBJECT PASCAL

Лекція №19 – Речові типи даних




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 384; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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