какие типы данных относятся к порядковым

Порядковые типы данных

Многие сегодня хотят стать программистами. Хотят. Но ничего не делают для этого. Не делают даже простых вещей. Не хотят даже прочитать книжку из 10 страниц. В итоге так и остаются никем. Потому что мечты не сбываются никогда. Сбываются только планы… Подробнее.

Что такое порядковые типы? Говоря по-простому, это типы, в диапазоне значений которых величины идут по порядку, а интервалом является целое число. Например, в типе Byte значения следуют так:

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

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

Тогда в этом диапазоне может быть бесконечно большое количество значений, потому что количество знаков после запятой может быть равно 0, а может быть равно 10, 50, или 100. То есть мы не знаем заранее, сколько значений будет в этом диапазоне, следовательно, мы не сможем пронумеровать их.

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

К порядковым типам относятся целые числа, логические значения, символьные типы (но не строки), перечисляемые типы и интервальные типы. Порядковые типы можно использовать в циклах, для индексации массивов, с функциями Inc, Dec, Ord и т.п.

Наберитесь терпения, всё это мы будем изучать в будущем.

Источник

Типы данных, относящиеся к порядковым

Опишем теперь порядковые типы данных более подробно.

Напомним, что для этого типа данных:

Этот тип состоит из объединения нескольких интервалов, причем в данном случае изменен порядок латинских букв: если в стандартном типе char ‘A’ », больше «>», меньше « =», меньше или равно « : boolean;

Величины логического типа данных можно присваивать, выводить, но нельзя вводить процедурой read.

Пример переменных с булевым значением

Логические выражения (условия) – это выражения, которые могут принимать лишь одно из двух значений: true (истина) или false (ложь). Для построения логических выраженийиспользуются операции отношения, которые обозначаются знаками: = (отношение на равенство), <> (отношение на неравенство), (отношение больше), = (отношение больше или равно).

Сложные условия составляются из простых с помощью логических операций: and (логическое «И»), or (логическое «ИЛИ») и not (логическое «НЕ»). При составлении сложных условий операнды логического выражения берутся в скобки (это важно!).

Пример логических выражений:

При вычислении логических выражений операции выполняются в следующем порядке: not, and, or, операции отношения, арифметические операции. Если порядок выполнения операций нужно изменить, то применяют скобки.

СИМВОЛЬНЫЙ ТИП ДАННЫХ.СРАВНЕНИЕ ВЕЛИЧИН СИМВОЛЬНОГО ТИПА.

Ип данных CHAR

Пример: Из набора 10 любых символов напечатать только заглавные английские буквы и их коды.

program lr1;
type sl =array [1..10] of char;
var s: sl; <описание массива символов>
i: integer;
begin
writeln (‘введите 10 символов’):
for i:=1 to 10 do readln (s[i]); <ввод массива>
for i:=1 to 10 do
if (s[i]>=’A’) and (s[i] ‘ ‘)
then kol := kol+1;<подсчет количества слов>
writeln (s,’ количество слов= ‘, kol);
readln;
end.

ПЕРЕЧИСЛЯЕМЫЕ ТИПЫ ДАННЫХ.СПОСОБЫ ОПИСАНИЯ.

Перечисляемый тип данных

Перечисляемый тип представляет собой ограниченную упорядоченную последовательность скалярных констант, составляющих данный тип. Значение каждой константы задается ее именем. Имена отдельных констант отделяются друг от друга запятыми, а вся совокупность констант, составляющих данный перечисляемый тип, заключается в круглые скобки.

Программист объединяет в одну группу в соответствии с каким-либо признаком всю совокупность значений, составляющих перечисляемый тип. Например, перечисляемый тип Rainbow (РАДУГА) объединяет скалярные значения RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ, ОРАНЖЕВЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Перечисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные значения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ).

Перечисляемый тип описывается в разделе описания типов, например:

Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

Каждое значение является константой своего типа и может принадлежать только одному из перечисляемых типов, заданных в программе. Например, перечисляемый тип Traffic_Light не может быть определен в одной программе с типом Rainbow, так как оба типа содержат одинаковые константы.

Описание переменных, принадлежащих к скалярным типам, которые объявлены в разделе описания типов, производится с помощью имен типов. Например:

type Traffic_Light= (RED, YELLOW, GREEN);var Section: Traffic_Light;

Это означает, что переменная Section может принимать значения RED, YELLOW или GREEN.

Переменные перечисляемого типа могут быть описаны в разделе описания переменных, например:

var Section: (RED, YELLOW, GREEN);

При этом имена типов отсутствуют, а переменные определяются совокупностью значений, составляющих данный перечисляемый тип.

К переменным перечисляемого типа может быть применим оператор присваивания:

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

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

Тип-диапазон задается границами своих значений внутри базового типа:

Тип-диапазон необязательно описывать в разделе type, а можно указывать непосредственно при объявлении переменной. При объявлении типа-диапазона нужно руководствоваться следующими правилами:

§ левая граница диапазона не должна превышать его правую границу.

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

В стандартную библиотеку Паскаля включены две функции, поддерживающие работу с типами-диапазонами:

§ high(x) – возвращает максимальное значение типа-диапазона, к которому принадлежит переменная x;

§ low(x) – возвращает минимальное значение типа-диапазона, к которому принадлежит переменная x;

ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ.АРИФМЕТИЧЕСКИЕ ФУНКЦИИ ЯЗЫКА ПАСКАЛЬ,РЕЗУЛЬТАТ КОТОРЫЙ ВЕЩЕСТВЕННОЕ ЧИСЛО.

В Турбо Паскале имеется пять видов вещественных типов, диапазон возможных значений которых зависит от их внутреннего представления. Типы целых, объем занимаемой памяти, количество значащих цифр и диапазон возможных значений приведен в табл. 3.
Таблица 3

ТипДлина, байтК-во зн. цифрДиапазон
REAL11..12 какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
SINGLE7..8 какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
DOUBLE15..16 какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
EXTENDED19..20 какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
COMP19..20 какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым

Begin

writeln(‘Массив после сортировки пузырьковым методом: ‘);

for i:=1 to n do

Пояснения.Как видно из текста программы на Паскале, при сортировке массива методом пузырька, сравниваются два соседних элемента массива. В том случае, если элемент массива с номером iоказывается больше элемента массива с номером i+1, происходит обмен значениями при помощи вспомогательной переменной buf (переменной я дал название со смысловой нагрузкой, от слова «буфер»).

какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым

ТИП ДАННЫХ ЗАПИСЬ.ОПИСАНИЕ.ОСОБЕННОСТИ ПРИМЕНЕНИЯ.

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

Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.

Источник

Какие типы данных относятся к порядковым

какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым

какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым
какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым

остаток от целочисленного деления

Данные простого типа – это символы, числа и т.п. элементы, дальнейшее дробление которых не имеет смысла. Из элементарных данных формируются структуры (сложные типы) данных.

К простым типам относятся:

Все эти типы, кроме вещественных, относятся к порядковым типам.

Порядковые типы делятся на стандартные и пользовательские (перечисляемые, интервальные).

Прядковый
Пользовательский
Символьный
Простые типы данных
Целый
Интервальный
Перечисляемый
Вещественный
Стандартный

Логический

какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым

Порядковые типы характеризуется следующими свойствами:

Множество допустимых значений любого порядкового типа представляет собой упорядоченную последовательность, каждый элемент которого имеет свой порядковый номер. Порядковый номер представляется целым числом. Первое значение любого порядкового типа имеет порядковый номер 0, следующее значение имеет порядковый номер 1 и т.д. Исключение составляет порядковый тип Integer. Порядковым номером значения этого типа является само значение.

Термин целый (или целочисленный) употребляется в обычном смысле.

Значениями целого типа являются элементы подмножества целых чисел, границы которого зависят от реализации языка. Константы с именами MAXINT и MAXLongINT хранят значение наибольшего целого соответственного типа Integer и Longint.

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

В Паскале определены несколько целых типов данных, отличающихся длиной и наличием знака: старший двоичный разряд либо воспринимается как знаковый, либо является обычным разрядом числа.

деление целочисленное

К целым величинам можно также применять операции отношения. Результат этих операций имеет логический тип.

НАПРИМЕР, результатом операции 3 and 2 будет 2.

Над данными логического типа могут выполняться следующие операции:

логическое исключающее ИЛИ

    Операции сравнения (равно «=» и неравно » <> «)

    Хотя на Паскале не фиксируется конкретное множество символов, но каждой отдельной версии языка Паскаль это множество должно отвечать следующим требованиям:

    для любого набора символов (литер)все символы фиксированы и упорядочены;

    включены все прописные буквы латинского алфавита от A до Z ; это множество упорядочено по алфавиту;

    включены десятичные цифры от 0 до 9; это множество по возрастанию цифр и связано;

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

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

    Элементы множества типа char считаются пронумерованными начиная с нуля. Переменные этого типа занимают 1 байт памяти.

    Константой литерного (символьного) типа является одна из допустимых литер, взятая в апострофы.

    Предшествующее или следующее значение по отношению к данному зависит от реализации множества char и способа его упорядочения.

    В Турбо Паскале в качестве значения типа char используется один символ кода ASCII. Для большинства символов существует соответствующая клавиша. Для управляющих символов ASCII используется два способа записи:

    #27 или #$1B или ^[ для Escape,

    #7 или #$7 или ^G для звукового сигнала.

    Значение кода требуемого символа можно определить с помощью функции ord, а обратные действия определения символа по заданному коду выполняются функцией chr.

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

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

    ПРИМЕР. Type Season=(Spring, Summer, Autumn, Winter);

    WeekDay=(Mon, Tue, Wed, Thu, Fri, Sat, Sun);

    var Yesterday, Today, Tomorrow: WeekDay;

    Описание типа и переменных можно объединить.

    В рамках блока, где объявлен перечисляемый тип идентификаторы всех элементов перечисляемого типа интерпретируются как константы.

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

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

    Объединение констант по какому-нибудь признаку назначаемого программистом. Переменные описанного типа могут принимать значение любой из этих констант.

    Интервальный тип представляет собой диапазон (интервал) значений какого-либо порядкового типа, называемого базовым. При описании интервального типа указывается наименьшее и наибольшее значение диапазона значений, допустимых для этого типа. Минимальное и максимальное значение интервала разделяется знаком «..» (две точки).

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

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

    ПРИМЕР. Пусть дано описание

    Тогда допустимыми являются присваивания:

    Day:=Month; ( и выполнимым )

    Day:=Year; ( и невыполнимом )

    Этот тип применяется в тех случаях, когда имеется информация относительно диапазона значений переменной (это позволяет экономить память машины и контролировать программу на этапе трансляции выполнения).

    Особенность типа real связана со следующими обстоятельствами.

    Количество разрядов, отводимых на изображение порядка, определяет диапазон допустимых чисел, так что этот диапазон определяется конкретной ЭВМ. В отличие от целого типа этот диапазон содержит бесконечное подмножество действительных чисел. Так как для изображения мантиссы отводится тоже фиксированное количество разрядов, то в машине точно может быть представлено лишь ограниченное множество действительных чисел. Таким образом, каждое машинное число представляет с той или иной точностью некоторый диапазон вещественных чисел. Так что вещественные числа, вообще говоря, представляются неточно и арифметические операции над ними выполняются не точно, а по правилам действий над приближенными числами. Поэтому множество значений типа real и не является упорядоченным.

    Источник

    Порядковые типы данных в паскале

    К порядковым типам относятся (см. рис.4.1) целые, логический, символьный, перечисляемый и тип-диапазон. К любому из них применима функция ORD(X), которая возвращает порядковый номер значения выражения X. Для целых типов функция ORD(X) возвращает само значение X, т.е. ORD(X) = X для X, принадлежащего любому шелому типу. Применение ORD(X) к логическому, символьному и перечисляемому типам дает положительное целое число в диапазоне от 0 до 1 (логический тип), от 0 до 155 (символьный), от 0 до 65535 (перечисляемый). Тип-диапазон сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции ORD(X) зависит от свойств этого типа.

    К порядковым типам можно также применять функции:

    PRED (X) — возвращает предыдущее значение порядкового типа (значение, которое соответствует порядковому номеру ORD(X)- 1), т.е.

    SUCC (X) — возвращает следующее значение порядкового типа, которое соответствует порядковому номеру ORD(X) +1, т.е.

    Например, если в программе определена переменная

    то функция PRED(C) вернет значение ‘4’, а функция SUCC(C) — значение ‘6’.

    Если представить себе любой порядковый тип как упорядоченное множество значий, возрастающих слева направо и занимающих на числовой оси некоторый отрезок, то функция PRED(X) не определена для левого, a SUCC(X) — для правого конца этого отрезка.

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

    При использовании процедур и функций с целочисленными параметрами следует руководствоваться «вложенностью» типов, т.е. везде, где может использоваться WORD, допускается использование BYTE (но не наоборот), в LONGINT «входит» INTEGER, который, в свою очередь, включает в себя SHORTINT.

    Перечень процедур и функций, применимых к целочисленным типам, приведен в табл.4.2. Буквами b, s, w, i, l обозначены выражения соответственно типа BYTE, SHORTINT, WORD, INTEGER и LONGINT, x — выражение любого из этих типов; буквы vb, vs, vw, vi, vl, vx обозначают переменные соответствующих типов. В квадратных скобках указывается необязательный параметр.

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

    В результате прогона программы получим

    Логический тип. Значениями логического типа может быть одна из предварительно объявленных констант FALSE (ложь) или TRUE (истина). Для них справедливы правила:

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

    for 1 := False to True do ….

    Символьный тип. Значением символьного типа является множество всех символов ПК. Каждому символу приписывается целое число в диапазоне 0…255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD.

    Для кодировки используется код ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией). Это 7-битный код, т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов ПК с кодами 0…127 соответствует стандарту ASCII (табл. 4.3). Вторая половина символов с кодами 128…255 не ограничена жесткими рамками стандарта и может меняться на ПК разных типов (в прил.2 приведены некоторые распространенные варианты кодировки этих символов).

    Символы с кодами 0…31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами. При использовании их в операциях ввода-вывода они могут иметь следующее самостоятельное значение:

    Кодировка символов в соответствии со стандартом ASCII
    КодСимволКодСимволКодСимволКодСимвол
    NULBL®
    ЗОН!Aa
    STXВb
    ЕТХ#Сс
    EOT$Dd
    ENQ%Ee
    АСКFf
    BELGg
    BS(Hh
    НТ)Ii
    LF*Jj
    VT+kk
    FF,Li
    CRMm
    SO.Nn
    SI/О
    DELpP
    DC1Qq
    DC2Rr
    DC3Ss
    DC4Tt
    NAKUu
    SYNVV
    ETBww
    CANXX
    EMУУ
    SUB:zz
    ESC/[ <
    FS\l
    GS=]>
    RS^
    СимволКодЗначение
    BELЗвонок; вывод на экран этого символа сопровождается звуковым сигналом
    НТГоризонтальная табуляция; при выводе на экран смещает курсор в позицию, кратную 8, плюс 1 (9, 17, 25 и т.д.)
    LFПеревод строки; при выводе его на экран все последующие символы будут выводиться, начиная с той же позиции, но на следующей строке
    VTВертикальная табуляция; при выводе на экран заменяется специальным знаком
    FFПрогон страницы; при выводе на принтер формирует страницу, при выводе на экран заменяется специальным знаком
    CRВозврат каретки; вводится нажатием на клавишу Enter (при вводе с помощью READ или READLN означает команду «Ввод» и в буфер ввода не помещается; при выводе означает команду «Продолжить вывод с начала текущей строки»)
    SUBКонец файла; вводится с клавиатуры нажатием Ctrl-Z; при выводе заменяется специальным знаком
    SSCКонец работы; вводится с клавиатуры нажатием на клавишу ESC; при выводе заменяется специальным знаком

    К типу CHAR применимы операции отношения, а также встроенные функции: СНR(В) — функция типа CHAR; преобразует выражение В типа BYTE в символ и возвращает его своим значением;

    Так как функция UPCASE не обрабатывает кириллицу, в результате прогона этой

    программы на экран будет выдано

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

    colors =(red, white, blue);

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

    if месяц = авг then WriteLn(‘Хорошо бы поехать к морю!’);

    был бы, согласитесь, очень наглядным. Увы! В Турбо Паскале нельзя использовать кириллицу в идентификаторах, поэтому мы вынуждены писать так:

    if month = aug then WriteLn(‘Хорошо бы поехать к морю!’);

    Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе — 1 и т.д. Максимальная мощность перечисляемого типа составляет 65536 значений, поэтому фактически перечисляемый тип задает некоторое подмножество целого типа WORD и может рассматриваться как компактное объявление сразу группы целочисленных констант со значениями О, 1 и т.д.

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

    colors = (black, red, white);

    ordenal= (one, two, three);

    days = (monday, tuesday, Wednesday);

    С точки зрения мощности и внутреннего представления все три типа эквивалентны:

    Однако, если определены переменные

    col :colors; num :ordenal;

    то допустимы операторы

    Как уже упоминалось, между значениями перечисляемого типа и множеством целых чисел существует однозначное соответствие, задаваемое функцией ORD(X). В Турбо Паскале допускается и обратное преобразование: любое выражение типа WORD можно преобразовать в значение перечисляемого типа, если только значение целочисленного выражения не превышает мощное1™ перечисляемого типа. Такое преобразование достигается применением автоматически объявляемой функции с именем перечисляемого типа (см. п. 4.4). Например, для рассмотренного выше объявления типов эквивалентны следующие присваивания:

    Переменные любого перечисляемого типа можно объявлять без предварительного описания этого типа, например:

    col: (black, white, green);

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

    Здесь- минимальное значение типа-диапазона;

    — максимальное его значение.

    Тип-диапазон необязательно описывать в разделе TYPE, а можно указывать непосредственно при объявлении переменной, например:

    При определении типа-диапазона нужно руководствоваться следующими правилами:

    В стандартную библиотеку Турбо Паскаля включены две функции, поддерживающие работу с типами-диапазонами:

    НIGН(Х) — возвращает максимальное значение типа-диапазона, к которому принадлежит переменная X;

    Следующая короткая программа выведет на экран строку

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

    Число с плавающей запятой состоит из набора отдельных разрядов, условно разделенных на знак, экспоненту порядок и мантиссу. Порядок и мантисса — целые числа, которые вместе со знаком дают представление числа с плавающей запятой в следующем виде:

    какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым

    Математически это записывается так:

    Основание определяет систему счисления разрядов. Математически доказано, что числа с плавающей запятой с базой B=2 (двоичное представление) наиболее устойчивы к ошибкам округления, поэтому на практике встречаются только базы 2 и, реже, 10. Для дальнейшего изложения будем всегда полагать B=2, и формула числа с плавающей запятой будет иметь вид:

    Что такое мантисса и порядок? Мантисса – это целое число фиксированной длины, которое представляет старшие разряды действительного числа. Допустим наша мантисса состоит из трех бит (|M|=3). Возьмем, например, число «5», которое в двоичной системе будет равно 1012. Старший бит соответствует 22=4, средний (который у нас равен нулю) 21=2, а младший 20=1. Порядок – это степень базы (двойки) старшего разряда. В нашем случае E=2. Такие числа удобно записывать в так называемом «научном» стандартном виде, например «1.01e+2». Сразу видно, что мантисса состоит из трех знаков, а порядок равен двум.

    Допустим мы хотим получить дробное число, используя те же 3 бита мантиссы. Мы можем это сделать, если возьмем, скажем, E=1. Тогда наше число будет равно

    Очевидно, что таким образом одно и то же число можно представить по-разному. Рассмотрим пример с длиной мантиссы |M|=4. Число «2» можно представить в следующем виде:

    2 = 10 (в двоичной системе) = 1.000e+1 = 0.100e+2 = 0.010e+3.

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

    какие типы данных относятся к порядковым. Смотреть фото какие типы данных относятся к порядковым. Смотреть картинку какие типы данных относятся к порядковым. Картинка про какие типы данных относятся к порядковым. Фото какие типы данных относятся к порядковым

    Это экономит один бит (так как неявную единицу не нужно хранить в памяти) и обеспечивает уникальность представления числа. В нашем примере «2» имеет единственное представление («1.000e+1»), а мантисса хранится в памяти как «000», т.к. старшая единица подразумевается неявно. Но в нормализованном представлении чисел возникает новая проблема — в такой форме невозможно представить ноль.

    Строго говоря, нормализованное число имеет следующий вид:

    Качество решения задач во многом зависит от выбора представления чисел с плавающей запятой. Мы плавно подошли к проблеме стандартизации такого представления.

    Статьи к прочтению:

    Паскаль с нуля [ч2]. Переменные и типы данных

    Похожие статьи:

    Любые данные, то есть константы, переменные, значения функций или выражения, в Турбо Паскале характеризуются своими типами. Тип определяет множество…

    Программы, написанные на языке программирования Турбо Паскале, строятся в соответствии с правилами, представляющими собой несколько расширенные и…

    Источник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *