34858

Типы данных и их классификация. Вещественные типы данных

Лекция

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

Под типом данных понимается множество допустимых значений этих данных а также совокупность операций над ними. Тип позволяет точно определить как следует интерпретировать те или иные данные. Чтобы этого избежать такой переменной при объявлении должен быть присвоен один из целочисленных типов. Иными словами принятая в Turbo Pscl типизация переменных позволяет исключить ошибочную интерпретацию данных и повышает надёжность программ.

Русский

2015-09-14

973 KB

2 чел.

Типы данных.

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

Тип позволяет точно определить, как следует интерпретировать те или иные данные. В результате исключаются попытки производить над этими данными неприемлемые операции. Например, если в программе фигурирует переменная, имеющая смысл «количество штук», понятно, что её значение не должно представлять собой дробное число. Чтобы этого избежать, такой переменной при объявлении должен быть присвоен один из целочисленных типов.

Иными словами, принятая в Turbo Pascal типизация переменных позволяет исключить ошибочную интерпретацию данных и повышает надёжность программ.

1.   Классификация типов данных

В Т. Р. можно выделить следующие группы типов:

  •  простые типы;
  •  структурированные типы;
  •  указатели;
  •  процедурные типы;
  •  объекты.

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

К стандартным типам, не требующим предварительного определения, относятся целые типы, вещественные типы, логические типы, символьный тип -Char, тип-строка - string, текстовый файл -Text, тип-указатель -Pointer. Все другие используемые типы данных должны быть определены либо в разделе объявления типов, либо в разделе объявления переменных или типизированных констант.

  Простые типы данных

Простой тип определяет упорядоченное множество значений параметра.

В Т. Р. имеются следующие группы простых типов:

  •  целые типы;             
  •  вещественные типы;
  •  логический тип;          
  •  символьный тип;
  •  перечисляемый тип;
  •  тип-диапазон;

 Целые типы

В Т Р имеется пять стандартных типов целых чисел:

Характеристики типов

тип

диапазон

формат

Размер в байтах

shortint

короткое целое

-128...127

знаковый

1

integer

целое

-32768…32767

знаковый

2

longint

длинное целое

-2147483648…2147483647

знаковый

4

byte

короткое целое

0…255

беззнаковый

1

word

целое

0…65535

беззнаковый

2

Пример:

Var

  a, b, c : integer;

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

 Например:

a:=b+c;

b:=c-2;

c:=a*b;

К целочисленным значениям применимы четыре арифметические действия (+, - , * , /). Причём, если операции +, - ,* с двумя целыми значениями дадут целочисленный результат, то операция деления, применённая к двум целым значениям, даст вещественный результат.

Кроме обычных арифметических операций, к целочисленным значениям в Turbo Pascal применимы две специальные операции деления , обозначаемые зарезервированными словами Div и Mod. Так, результатом действия  a div b  будет целая часть частного от деления A на B. Например:

25 div 2=12;

5 div 7=0;

Результатом выполнения действия  a mod b  будет остаток от деления A на B. Например:

25 mod 2=1;

5 mod 7=5;

Задача

Записать натуральное число в обратном порядке.

Program l1_1;

 var

    x, a, b : integer;

      begin

         writeln(‘ввести натуральное число x<100’);

           readln(x);

          a:=x mod 10;

          b:=x div 10;

           writeln(‘число=’,a, b);

      end.

К целочисленным значениям применимы также операции сравнения: =, <>, >, >=,<, <=, дающие логический результат (TRUE или FALSE). Вот пример использования операции сравнения

                 if a>b then a:=a+c

                            else a:=a-c;  

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

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

Стандартный логический тип Воо1еаn (размер – 1 байт)  представляет собой тип данных, любой элемент которого может принимать лишь два значения: true и falseправда» и «ложь»), которые также могут быть представлены в виде двоичных цифр 1 и 0 соответственно.

 Вот как можно объявить переменные типа Boolean в разделе описания переменных:

Var

    Test, dek: boolean;

или

Var

    a, b, c: boolean;

 

После объявления переменных в разделе описаний эти переменные могут участвовать в выражениях в теле программы. Например:

        a:=true;

        b:=c;

        c:=false;

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

С операторами сравнения =, <>, <, <=, >,>= мы уже знакомы. Особенность их применения к логическим значениям состоит только в том, что значение true (поскольку его также можно представить в виде двоичной цифры 1) считается больше значения false (которое соответствует двоичной цифре 0).

Логические операции AND (И – логическое умножение), OR (ИЛИ – логическое сложение), XOR(логическое исключающее ИЛИ), NOT (НЕ – логическое отрицание).

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

Представляет собой символьный тип данных. Область допустимых значений– все символы ASCII, принятой для персональных компьютеров. (Для кодировки символов используется код ASCIIамериканский стандартный код для обмена информацией).

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

Var

    a, b, c: char;

После объявления переменных в разделе описаний программы эти переменные могут участвовать в выражениях в теле программы. Например:

a:=’a’;

b:=char(97);

if c>a then . . .

В первой строке переменной А присваивается значение типа Char, соответствующее букве ‘а’ (когда значения типа Char задаются в программе явно, они «окаймляются» апострофами).

Во второй строке переменной b присваивается значение типа Char, соответствующее коду 97 из таблицы ASCII (иными словами, той же букве «а»). (Функция Char преобразует код из таблицы ASCII в соответствующий символ, т.е. в значение типа Char)

Условный оператор в третьей строке, если значение переменной С больше значения переменной А, инициирует выполнение какого-то действия. Одно значение типа Char считается больше другого, если код первого значения больше кода второго. Например, выражение a’<‘b соответствует истине, точно так же, как и 97<98.

Над значениями типа Char возможны все операции сравнения (=, <>, >, >=, <, <=). Причём они дают тот же результат, что и при применении к кодам соответствующих символов.

Пример 1

Program l_1;

 Begin

     write(chr(66));

    write(chr(89));

     write(chr(84));

       writeln(chr(69));

    end.

 Ответ: BYTE

Пример 2

Program l_2;

  var

        s: char;

     begin

        writeln(‘введите символ’);

          readln(s);

           writeln(ord(s));

     end.

Ответ:   введите символ

             r

             114

          

Пример 3

Program l_3;

 var

     n: byte;

  begin

    writeln(‘введите код’);

      readln(n);

       writeln(chr(n));

   end.

            Ответ:  введите код

                         67

                         C

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

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

 

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

type

<имя типа> = (<идентификатор 1, идентификатор 2, ... , идентификатор N>);

Важно, в каком порядке перечислены идентификаторы при определении типа, т. к. первому идентификатору присваивается порядковый номер 0, второму - 1 и т. д. Один и тот же идентификатор можно использовать в определении только одного перечислимого типа. Функция ord от величины перечисляемого типа дает порядковый номер ее значения.

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

Type Operat=(Plus, Minus, Mult, Divide);

 Логический тип является частным случаем перечисляемого типа:

Type Boolean=(False, True);

Тип-диапазон (или ограниченный тип)

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

Type

<имя типа> = <мин. значение> . . <макс. значение>;

Минимальное значение при определении такого типа не должно быть больше максимального.

Пример. Определение типов-диапазонов.

Type

Dozen = 1..12;                             (числа от 1 до 12)

AddSub=Plus..Minus;         (операции сложения и вычитания)

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

В T Паскаль имеется пять стандартных вещественных типов:

rеа1, single, double, extended, comp. Характеристики этих типов в табл.

Вещественные типы данных

тип

диапазон

Число значащих цифр

Размер в байтах

real

2.2*10-39..1.7*10+38

11-12

6

single

1.5*10-45..3.4*10+38

7-8

4

double

5.0*10-324..1.7*10+308

15-16

8

extended

3.4*10-4932..1.1*10+4932

19-20

10

comp

-9.2*10+18..9,2*10+18

19-20

8

Тип comp фактически является типом целых чисел увеличенного диапазона, однако порядковым не считается.

Типы single, double extended comp можно использовать в программах только при наличии арифметического сопроцессора или при включенном эмуляторе сопроцессора

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

Var

    a, b, c : real;

К вещественным значениям применимы четыре арифметических действия, полученный при этом результат – также вещественное число. К вещественным значениям применимы также операции сравнения =, <>, >, >=, <, <=, дающие логический результат.


 

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

39116. ИССЛЕДОВАНИЕ КОРОННОГО РАЗРЯДА. Отрицательный коронный разряд 85 KB
  Кроме того критические потенциалы коронного разряда и искрового пробоя Uп неодинаковы. Возникновение коронного разряда объясняется появлением вблизи коронирующего электрода резкой неоднородности электрического поля значительно превосходящей напряженность электрического поля на других участках воздушного промежутка между электродами. Для возникновения коронного разряда напряженность поля у электрода должна превосходить электрическую прочность воздуха.
39117. ПСИХОФИЗИОЛОГИЧЕСКИЕ ПОДХОДЫ И ТЕОРИИ, ОКАЗАВШИЕ ЗНАЧИТЕЛЬНОЕ ВЛИЯНИЕ НА РАЗВИТИЕ ОТЕЧЕСТВЕННОЙ ПСИХОЛОГИИ 102.5 KB
  Основным фактором детерминирующим развитие и функционирование живых организмов а также отдельных физиологических систем в составе организма выступает не прошлое событие а подготовка к еще не наступившим событиям которая обеспечивается прогнозированием результатов предстоящих действий на основе опережающего отражения и механизмами целеполагания. Любой поведенческий акт живого организма обеспечивается рядом системных механизмов и процессов которые организуются в функциональную систему: механизм афферентного синтеза...
39118. АЛЬТЕРНАТИВНЫЕ ОБЩЕПСИХОЛОГИЧЕСКИЕ ТЕОРИИ И ТЕОРЕТИЧЕСКИЕ ПОДХОДЫ К ОБЪЯСНЕНИЮ ПСИХИЧЕСКИХ ЯВЛЕНИЙ 63.5 KB
  Строгий естественнонаучный подход к анализу и объяснению психических явлений в психологии поведения. В качестве одного из основателей объективной психологии поведения называют российского физиолога И. Вместе с тем это направление имеет множество научных достижений которые составляют золотой фонд мировой психологии: исследована эффективность различных типов подкрепления поощрения и наказания в процессах научения разработано множество тонких методов позволяющих регистрировать различные формы поведения животных установлено...
39119. КУЛЬТУРНО-ИСТОРИЧЕСКИЙ И СИСТЕМНО-ДЕЯТЕЛЬНОСТНЫЙ ПОДХОДЫ К АНАЛИЗУ И ОБЪЯСНЕНИЮ ПСИХИЧЕСКИХ ЯВЛЕНИЙ 172 KB
  Культурное развитие человека представляет собой формирование и развитие в совместной деятельности и общении высших психических функций ВПФ. Источник развития человеческой психики находится во внешней идеальной форме в фиксированных в человеческой культуре средствах и способах деятельности и общения которыми необходимо овладеть. Формирование ВПФ выделяет человека из животного мира и заключается в присвоении культурноисторического опыта человечества что обеспечивает изменение структуры деятельности и психики человека. При этом...
39120. ТЕОРИИ ЭМОЦИОНАЛЬНЫХ ЯВЛЕНИЙ. ТЕОРИИ МОТИВАЦИОННОЙ И ВОЛЕВОЙ РЕГУЛЯЦИИ 155 KB
  Состояние когнитивного диссонанса возникает тогда: когда человек воспринимает самого себя в качестве причины возникшей когнитивной несогласованности; когда действия субъекта основаны на свободном выборе и разрушают Яконцепцию; когда люди чувствуют личную ответственность за свои неверные действия и поступки; когда такие действия и поступки имеют серьезные последствия. Когда свои действия или поступки которые вызывают когнитивный диссонанс человек не может оправдать и объяснить внешними факторами уменьшение диссонанса...
39121. СТРУКТУРНЫЕ, ФУНКЦИОНАЛЬНЫЕ И ГЕНЕТИЧЕСКИЕ ТЕОРИИ МЫШЛЕНИЯ (ИНТЕЛЛЕКТА) ЧЕЛОВЕКА 163.5 KB
  Такие возможности реализуются на основе эмпирического опыта и воздействий социального окружения; эмпирическим опытом который включает: формирование двигательных навыков путем упражнения извлечение информации из опыта взаимодействия с физическим миром логикоматематический опыт организации и координации познавательных действий; воздействием социального окружения. Взаимодействие субъекта и объекта это источник любого знания который складывается из двух типов опыта: координации действий и операций которые строятся...
39122. СТРУКТУРНЫЕ, ФУНКЦИОНАЛЬНЫЕ И ГЕНЕТИЧЕСКИЕ ТЕОРИИ ПАМЯТИ ЧЕЛОВЕКА 104.5 KB
  СТРУКТУРНЫЕ ФУНКЦИОНАЛЬНЫЕ И ГЕНЕТИЧЕСКИЕ ТЕОРИИ ПАМЯТИ ЧЕЛОВЕКА План 1. Теории и модели памяти в когнитивной психологии 1. Модели организации процессов памяти в когнитивной психологии Кратковременная память Ограниченность объема: в среднем 57 единиц информации. На самых глубоких уровнях: а происходит когнитивная семантическая обработка путем установления различных связей с информацией в долговременной памяти; б устанавливается смысл и содержание информации осуществляется ее субъективная оценка.
39123. Структурные, функциональные и генетические теории внимания человека 63.5 KB
  Теории и модели внимания в когнитивной психологии Д. Модель внимания на основе избирательного ослабления сигналов Существует перцептивный фильтр расположенный между входными сенсорными сигналами и вербальным семантическим анализом сообщения. Стадия предвнимания: происходит быстрое извлечение и обработка информации полученной рецепторами позволяющие выделить простые и наиболее заметные признаки объектов; обработка информации производится автоматически быстро параллельно; обработка информации происходит без сознательных усилий и...
39124. ТЕОРИИ СОЗНАНИЯ ЧЕЛОВЕКА 86.5 KB
  ТЕОРИИ СОЗНАНИЯ ЧЕЛОВЕКА План Структурное и функциональное определение и объяснение сознания сохраняет свою актуальность в психологии до настоящего времени. Попытки объяснить сознание человека в истории психологии были связаны: с анализом организации процессов внимания с анализом осознаваемых и неосознаваемых мотивов человека с описанием сознания как сцены на которой представлен феноменологический опыт субъекта ассоциативная психология гештальтпсихология с трактовкой сознания как активного начала организующего в единство...