28443

Структура типов данных. Стандартные процедуры и функции, применимые к целым, вещественным числам. Логический, символьный, перечисляемый типы, тип-диапазон

Лекция

Информатика, кибернетика и программирование

константы переменные значения функций или выражения характеризуются своими типами. Порядковые типы К порядковым типам относятся целые логический символьный перечисляемый и тип – диапазон. ORDX для логического типа даёт положительное целое число в диапазоне от 0 до 1. ORDX для символьного типа даёт целое число в диапазоне от 0 до 255 для перечисляемое типа ORDX даёт число в диапазоне от 0 до 65535.

Русский

2013-08-20

80.5 KB

10 чел.

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

Типы данных

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

Турбо Паскаль характеризуется разветвлённой структурой типов данных.

Простые типы

  1.  Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определённым образом упорядочить и, следовательно,  с каждым из них можно сопоставить некоторое число – порядковый номер значения.
  2.  Вещественные типы, строго говоря, тоже имеет конечное число значений, которое определяется форматом внутреннего представления вещественного числа.

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

К порядковым типам относятся целые, логический, символьный, перечисляемый и тип – диапазон. Функция ORD(X) возвращает порядковый номер значения выражения X и применяется к любому порядковому типу. Для целых типов функция возвращает само значение X, т.е. ORD(X)=X для X, принадлежащего любому целому типу.

ORD(X) для логического типа даёт положительное целое число в диапазоне от 0 до 1.

ORD(X) для символьного типа даёт целое число в диапазоне от 0 до 255, для перечисляемое типа ORD(X) даёт число в диапазоне от 0 до 65535. Тип- диапазон сохраняет все свойства базового порядкового типа, поэтому результат применения к нему функции ORD(X) зависит от свойств этого типа. К порядковым типам можно также применять функции:

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

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

                                                              ORD ( SUCC(x))= ORD(x)+1;

Пример:   X:=’М’ ;  PRED (x)=’L’; SUCC(x)=’N’;

Целые типы

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

Таблица 2

Целые типы

Название

Длина байт

Диапазон значений

Byte

ShortInt

Word

INTEGER

LongInt

1

1

2

2

4

0…255

-128…+127

0…65535

-32768…+32767

-2147483648…+2147483647

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

Перечень процедур и функций, применимых к целочисленным типам, приведём в таблице 2, буквами b, s, w, i, l, обозначены выражения соответственно типа byte, shortint, word, integer, u lougint, X- выражение любого из этих типов; буквы vb, vs, vw, vi, v,l vx, обозначает переменные соответствующих типов. В квадратных скобках указывается необязательный параметр.

Таблица 3 - Стандартные процедуры и функции, применимые к целым типам                                                                                        

Обращение

Тип результата

Действие

abs(x)

х

Возвращает модуль х

chr ( b)

Char

Возвращает символ по его коду

dec ( vx[,i])

--

Уменьшает значение vx на i, а при отсутствии i–на 1

inc ( vx[,i])

--

Увеличивает значение vx на i, а при отсутствии i-на 1

Hi ( i)

Byte

Возвращает старший байт аргумента

Hi ( w)

Byte

Возвращает старший байт аргумента

Lo(i)

--

Возвращает младший байт аргумента

Lo(w)

--

Возвращает младший байт аргумента

odd (l)

Boolean

Возвращает TRUE, если аргумент – нечетное число

Random (w)

Как у параметра

Возвращает псевдослучайное число,  равномерно распределенное в диапазоне 0..(w-1)

sqr (x)

х

Возвращает квадрат аргумента

swap(i)

INTEGER

Меняет местами байты в слове

swap (w)

Word

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

Логический тип

Значениями логического типа может быть одна из предварительно объявленных констант FALSE ( ложь) или TRUE ( истина) . Для них справедливы правила: ord ( false)=0; ord ( true)=1; false<true; succ(false)=true; pred (true)= false

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

Таблица 4

Логические операции над данными типа INTEGER

Операнд 1

Операнд 2

not

and

or

xor

1

0

0

0

1

1

-

-

0

1

0

1

0

1

-

-

-

-

-

-

0

0

0

1

-

-

0

1

1

1

-

-

0

1

1

0

Логические операции над логическими данными дают результат логического типа по правилам, указанным в таблице:

Таблица 5 - Логические операции над данными типа Boolean

Операнд 1

Операнд 2

not

and

or

xor

TRUE

FALSE

FALSE

FALSE

TRUE

TRUE

-

-

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

-

-

-

-

-

-

FALSE

FALSE

FALSE

TRUE

-

-

FALSE

TRUE

TRUE

TRUE

-

-

FALSE

TRUE

TRUE

FALSE

Символьный тип

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

  Для кодировки используется код ASCII (Американский стандартный код для обмена информацией). Это 7-битный код т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать символы в диапазоне от 0 до 255.

  Первая половина символов ПК с кодами 0..127 соответствует стандарту ASCII. Вторая половина символов с кодами 128…255 не ограничена жесткими рамками стандарта и может меняться на ПК разных типов.

  К типу CHAR применяются операции отношения, а также встроенные функции: CHR (B) –функция типа CHAR; преобразует выражение. B типа BYTE в символ и возвращает его своим значениям.

UPCASE (CH) –функция типа CHAR; возвращает прописную букву, если CH  -строчная латинская буква, в противном случае возвращает сам символ CH.

Перечисляемый тип

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

                         type      неделя=(пн., вт., ср., чтв., птн., сбб., вс.);

  VAR  D:  неделя;

Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе-1 и т. д.

           ord (пн.)=0;       ord(вт.)=1;          …             ord(вс.)=6;

 Допустим оператор:

           D:=ср.;

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

                                         D:=неделя(0);

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

    VAR      D:(пн., вт., ср., чтв., птн., сб., вс.);

Тип – диапазон

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

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

         <мин. знач.>..<макс. знач.>

Здесь <мин. знач.> - минимальное значение типа –диапазон, <макс. знач.> -максимальное его значение.

Например:

   type

         cel=’0’..’9’;

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

     VAR      DEN: 1..31;

                   MEC: 1..12;

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

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

LOW (x) – возвращает минимальное значение типа – диапазон.

Вещественные типы

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

Таблица 6

Длина

байт

Название

Количество значащих цифр

Диапазон десятичного порядка

6

8

10

8

real

extended

comp

11…12

15…16

19...20

19...20

-39…+38

-324…+308

-4951…+4932

-2*1063+1…+2*1063-1

Вещественное число в Турбо Паскале занимает от 4 до 10 смежных байт и имеет следующую структуру в памяти ПК:

s

l

m

Здесь s – знаковый разряд числа; l – экспоненциальная часть, содержит двоичный порядок; m – мантисса числа. Мантисса m имеет длину от 23 (для SINGLE) до 63 (для EXTENDED) двоичных разрядов, что и обеспечивает точность 7..8 для EXTENDED десятичных цифр. Десятичная точка (запятая) подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положение сдвигается влево или вправо в соответствии с двоичным порядком.

Доступ к типам SINGLE, DOUBLE и EXTENDED возможен только при особых режимах компиляции. Эти типы рассчитаны на аппаратную поддержку арифметики с плавающей точкой и для их эффективного использования в состав ПК должен входить арифметический сопроцессор.

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

Таблица 7

Обращение

Тип параметра

Тип результата

Примечание

Abs

arctan (x)

cos(x)

exp(x)

frac(x)

int(x)

ln(x)

pi

Random

Random(x)   

Randomize

sin(x)

sqr(x)

sqrt(x)

       

real, integer

real

--

--

--

--

--

--

--

integer

--

real

--

--

Тип аргумента

real

--

--

--

--

--

--

--

integer

--

real

--

--

Модуль аргумента

Арктангенс (знач. в рац.)

Косинус, угол в радианах

Экспонента

Дробная часть числа

Целая часть числа

Логарифм натуральный

π=3.141592653

Псевдослучайное число, равномерно распределенное в диапазоне

Псевдослучайное целое число, равномерно распределенное в диапазоне 0…(x-1)

Инициация генератора псевдослучайных чисел

Синус, угол в радианах

Квадрат аргумента

Корень квадратный

1осн [90-118]

12доп. [30-42]

Контрольные вопросы

  1.  Какие типы данных относятся порядковым типам?
  2.  Какие функции можно применять к порядковым типам?
  3.  Какие две функции поддерживают работу с типами-диапазонами?
  4.  Как задается перечисляемый тип?
  5.  Какие типы относятся к  структурированным?
  6.  Что представляют собой пользовательские типы?
  7.  Что представляют собой типизированные константы?
  8.  Какие особенности использования переменных перечисляемых типов?
  9.  Что представляет собой типизированная константа процедурного типа?


 

А также другие работы, которые могут Вас заинтересовать

80187. Узкополосные и широкополосные сигналы 187.5 KB
  Для классических АМ и ЧМ колебаний средняя частота совпадает с несущей частотой сигнала.2 Для сигнала вида сопряженная по Гильберту функция. Исходя из этих соотношений для гармонического сигналаогибающая и частота равны соответственно: как и следовало ожидать. Если же выбрать произвольным образом среднюю частоту то даже для гармонического сигнала можно получить некую достаточно сложную огибающую не соответствующую действительности.
80188. Физические основы работы полупроводниковых приборов 202.5 KB
  Связь между токами и напряжениями в транзисторе характеризуют тремя системами параметров: это системы z у и hпараметров. При такой схеме включения для расчетов применяют hпараметры экспериментально определяемые по статическим входным базовым и выходным коллекторным вольтамперным характеристикам ВАХ транзистора ВАХ зависимость напряжения на зажимах элемента электрической цепи от тока в нем. Статические характеристики в схеме с общим эмиттером: авходная; бвыходная Входные характеристики транзистора отражают зависимость...
80189. Принципы построения радиоэлектронных систем локации и навигации 155 KB
  К радиотехническим системам обнаружения и измерения относятся также так называемые пассивные радиосистемы когда радиопередатчик в системе отсутствует а информация извлекается радиоприемным устройством из сигналов поступающих от каких либо естественных источников электромагнитных колебаний. Радиолокационные системы Радиолокация от лат. Основной целью радиолокации является установление связи между параметрами передающей приемной системы и характеристиками отраженного и рассеянного радиолокационной целью излучения с учетом их взаимного...
80190. Современные системы подвижной радиосвязи 373.5 KB
  Особенно быстрыми темпами как в мире так и у нас в России идет развитие сетей сотовой радиосвязи. По числу абонентов системы мобильной связи уже можно судить об уровне и качестве жизни в данной стране. Однако темпы роста абонентов мобильной связи в России почти 200 в год вселяют оптимизм.
80191. Явление вариантности форм родительного падежа множественного числа в современном русском языке 159.62 KB
  В данной работе при анализе языкового материала были использованы такие общенаучные способы исследования, как наблюдение и эксперимент. Основной общенаучный метод анализа – описательный. Наиболее распространенный способ научного исследования – это наблюдение. Под лингвистическим наблюдением в свою очередь понимаются правила и техника выделения из текста (или потока речи) того или иного факта и включение его в изучаемую систему.
80192. Методы анализа линейных цепей 136 KB
  Все электрические цепи состоящие из сопротивлений емкостей индуктивностей и соединительных проводов линейны. Анализ отклика линейной цепи на известное входное воздействие сводится при этом к известной в математике задаче решения линейного дифференциального уравнения nго порядка с постоянными коэффициентами. Порядок n этого уравнения в радиотехнике принято называть порядком линейной цепи системы.
80193. Нелинейные и параметрические цепи 143.5 KB
  Наиболее часто используют метод анализа нелинейных цепей основанный на линеаризации характеристик НЭ при фильтрации высших гармоник сигнала на выходе цепи. В результате первой операции в безынерционном НЭ происходит такое преобразование формы входного сигнала при котором в его спектре появляются новые гармонические составляющие. Вторую операцию осуществляет линейный фильтр выделяя нужные спектральные составляющие преобразованного входного сигнала. Кусочнолинейная аппроксимация характеристики Нелинейный резонансный усилитель мощности...
80194. Генерация сигналов. Модуляция и детектирование сигналов 138 KB
  Колебательной системой или устройством с самовозбуждением называют динамическую систему преобразующую энергию источника постоянного тока в энергию незатухающих колебаний причем основные характеристики колебаний амплитуда частота форма колебаний и т. Процесс получения переменных сигналов требуемой формы и частоты называют генерированием электрических колебаний. Автогенератор часто просто генератор устройство преобразующее энергию постоянного тока в энергию электрических колебаний требуемой частоты и формы. Автогенератор можно...
80195. Типы и основные характеристики линий связи 357.5 KB
  Типы и основные характеристики линий связи Принципы построения радиоэлектронных систем связи Любую техническую систему действие которой основано на непосредственном использовании высокочастотных электромагнитных колебаний радиодиапазона для сбора передачи извлечения обработки или хранения информации называют радиотехнической системой упрощенно радиосистемой. Линией связи называют физическую среду космическое пространство свободное пространство воздух в нейтральном или ионизированном состояниях земная поверхность морская вода...