34858

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

Лекция

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

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

Русский

2015-09-14

973 KB

3 чел.

Типы данных.

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

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

Иными словами, принятая в 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;

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


 

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

35554. Эстетика 2.1 MB
  Такой подход позволяющий уйти от умозрительных схем избежать схоластичности эстетических суждений сопровождает рассмотрение содержания основных эстетических категорий искусства художественного сознания художественного образа художественного стиля художественной композиции художественного содержания и формы художественного творчества и других в процессе их исторического становления. Синтез исторического и теоретического примененный к эстетическому знанию оказывается по убеждению автора наиболее продуктивным в учебном и...
35555. БИОМЕДИЦИНСКАЯ ЭТИКА 1.36 MB
  Медицинские вмешательства в репродукцию человека. Это не значит что они удалены от повседневной жизни рядового человека и представляют интерес только для специалистов. Ознакомиться с основными этическими документами: Конвенция о правах человека и биомедицине Клятва Гиппократа Клятва российского врача. Тексты: Конвенция о правах человека и биомедицине Клятва Гиппократа Клятва российского врача.
35556. Турбины теплоэлектростанций 2.94 MB
  Построение процесса расширения пара в турбине в hsкоординатах. Построение процесса расширения пара для конденсационной турбины. Построение процесса расширения пара для теплофикационной турбины. Определение расчетного расхода пара на турбину.
35557. ВОСТОК/ЗАПАД. Региональные подсистемы и региональные проблемы международных отношений 2.68 MB
  Пространственные границы таких систем носят вполне условный характер. Подсистемы Европы или АзиатскоТихоокеанского региона хотя и отличаются характером своих отношений со средой однако не только существуют в реальности но и имеют некоторые пространственные границы часто весьма условные. Уолтца стал фактически общепринятым в науке о международных отношениях пусть в некоторых странах он напрямую и не ассоциировался с его именем подход М. Под глобализацией здесь и далее понимается возникновение новой системы мирового хозяйствования...
35558. Введение в систему MathCAD 4.95 MB
  Основы работы с MathCAD Решение уравнений средствами Mathcad Наиболее подходящей для этой цели является одна из самых мощных и эффективных математических систем MathCAD которая занимает особое место среди множества таких систем Matlab Maple Mathematica и др.
35559. МОДЕЛИРОВАНИЕ РАЗНОСТНЫХ УРАВНЕНИЙ 2.4 MB
  Разностные уравнения (другие названия: уравнения в конечных разностях; возвратные последовательности) по своим свойствам и области применения очень близки к дифференциальным уравнениям. Отличие состоит в том, что дифференциальные уравнения связывают значение функции и производных от нее в один и тот же момент времени
35560. Доменные фурмы. Снижение потерь тепла от горячего дутья через внутренний конус (стакан) фурмы 616.5 KB
  В работах сообщается об успешной эксплуатации фурм с внутренними конусами из углеродистых и легированных сталей. О снижении теплопотерь от стальных конусов говорит тот факт [30] что замена материала внутреннего конуса толщина стенки 10 мм с меди на углеродистую и легированную сталь приводит к повышению температуры поверхности конуса со стороны горячего дутья со 108 до 300 и 5600С соответственно. Но со временем сложилось мнение [5] что конструкции фурм со стальными внутренними конусами недолговечны так как испытывая ударные...
35561. Профилактика зависимости от ПСИХОАКТИВНЫХ ВЕЩЕСТВ 2.45 MB
  Представленные в пособии материалы позволят тренеру составить детальный план тренинговых занятий с учетом потребностей целевой группы различного опыта и знаний подростков о вреде наркотиков. Основные понятия В ходе тренинга с участниками группы происходят изменения. Развитие или движение группы во времени обусловленное взаимодействием и взаимоотношениями членов группы между собой и с ведущим называют групповой динамикой. Групповая сплоченность формирование у участников чувства принадлежности к группе группового единства необходимое...
35562. ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, СИСТЕМЫ И СЕТИ 4.47 MB
  В учебном пособии изложены основные принципы схемотехнической и программной организации современных ЭВМ. Основное внимание уделено задачам организации ЭВМ на основе микропроцессоров фирмы Intel.