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;

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


 

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

67804. ПОДСТАНОВКИ И ЛИНЕЙНЫЕ ПРЕОБРАЗОВАНИЯ 578.5 KB
  Цель работы – изучить основные свойства линейных преобразований и подстановочных матриц, необходимые для математического описания регистров сдвига с линейной обратной связью. Краткие теоретические сведения. Векторные пространства. Пусть – непустое множество элементов любой природы, которые будем обозначать...
67805. Основи роботи в середовищі MatCAD. Ознайомлення з методами рішення рівнянь 359.5 KB
  Рішнння систем нелінійних рівнянь або нерівностей Знайти рішення системи (таблиця №4 додаток). Виконати перевірку рішення. Знайти рішення при різних значення початкових даних. Визначити - система має один чи декілька розв’язків.
67806. ПРЕЦИЗИОННОЕ ОПРЕДЕЛЕНИЕ ПЕРИОДОВ РЕШЕТКИ 612 KB
  Одной из важнейших характеристик вещества является его период кристаллической решетки. По периодам решетки вещества можно судить об образовании, концентрации и типе твердого раствора, о наличии остаточных напряжений, определять коэффициенты термического расширения и решать многие другие металловедческие задачи.
67807. АРИФМЕТИКА ЦЕЛЫХ ЧИСЕЛ 399.5 KB
  Определение. Если для целых чисел и в кольце целых чисел существует такое число, что , то говорят, что целое число делится на целое число, и пишут. При этом число называется делимым или кратным числа, число – делителем числа, число – частным. Любое целое число всегда можно разделить с остатком на произвольное целое число.
67808. АРИФМЕТИКА ЦІЛИХ ЧИСЕЛ 416.5 KB
  Якщо для цілих чисел і в кільці цілих чисел існує таке число, що, то кажуть, що ціле число ділиться на ціле число, і пишуть. При цьому число називається діленим або кратним числа, число – дільником числа, число – часткою. Будь-яке ціле число завжди можна розділити з остачею на довільне ціле число.
67809. Основи роботи в середовищі MatCAD. Аналітичні обчислення. Операції з векторами та матрицями 264 KB
  Знайти рішення диференційного рівняння та побудувати графіки. Рішення шукати від нуля до кінцевого значення вказаного в графі таблиці «ВІДРІЗОК», графік будувати у вказаному відрізку (Таблиця 11 додаток) Обчислення похідної, інтегрування Обчислити визначений інтеграл функції (Таблиця 2, Таблиця 9, додаток)...
67810. РЕНТГЕНОВСКАЯ ДИФРАКТОМЕТРИЯ 305 KB
  Области применения рентгеновской дифрактометрии: анализ кристаллической структуры и фазовый анализ измерение интегральной интенсивности линий и точное определение их углового положения; анализ нарушений кристаллической структуры изучение профиля и интенсивности линии измерения интенсивности...
67811. АРИФМЕТИКА МНОГОЧЛЕНІВ 456.5 KB
  Множина всіх многочленів від однієї змінної над полем утворює комутативне кільце з одиницею. Будь-який ненульовий елемент поля можна розглядати як многочлен нульового степеня нуль поля також належить до многочленів його називають нульовим многочленом.
67812. Basic concepts of probability theory 33.17 KB
  For example, a landing two different prizes under only one ticket of a lottery are incompatible events, and a landing the same prizes under two tickets are compatible events. Obtaining marks «excellent», «good» and «satisfactory» by a student at an exam in one discipline are incompatible events and an obtaining...