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;

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


 

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

18110. Клавиатурные сообщения 68.5 KB
  Клавиатурные сообщения От клавиатуры может поступать четыре сообщения WM_KEYDOWN WM_KEYUP WM_SYSKEYDOWN WM_SYSKEYUP. Когда вы нажимаете клавишу генерируется сообщение WM_KEYDOWN или WM_SYSKEYDOWN в зависимости от того какая была нажата клавиша и была ли эта клавиша нажата в комбинации с клавиш
18111. Ресурсы. Приложение Windows 146.5 KB
  Ресурсы Приложение Windows может хранить в виде ресурсов текстовые строки пиктограммы курсоры различной формы произвольные матричные графические изображения меню диалоговые панели произвольные массивы данных и т. д. Физически ресурсы находятся внутри exeфайла при...
18112. Кнопки. Приложение Windows 53 KB
  Кнопки Для создания кнопки приложение должно создать дочернее окно на базе предопределенного класса button. После этого родительское окно будет получать от кнопки сообщение с кодом WM_COMMAND. Этим сообщением кнопка информирует родительское окно о том что с ней чтото сде
18113. Классификация типов меню 77.5 KB
  Меню Классификация типов меню При создании окна в приложении Windows можно указать что окно должно иметь меню. Обычно меню создается в главном окне приложения. Такое меню называется меню приложения. Меню содержит отдельные элементы или строки File Edit View и т. д. рас
18114. Рисование геометрических фигур 146.5 KB
  Рисование точки Функция рисования точки SetPixel устанавливает цвет точки с заданными координатами: COLORREF WINAPI SetPixel HDC hdc // контекст отображения int nXPos // xкоордината точки int nYPos // yкоордината точки COLORREF clrref; // цвет точки Параметр hdc
18115. Об’єктно-реляційні перетворення (O/RM – Object-relational mapping) 83 KB
  Об’єктнореляційні перетворення O/RM – Objectrelational mapping //Реляційні бази даних; проблеми зв’язку реляційних БД з ООПпрограмами} Об’єктноорієнтовані бази даних і СУБД ODBMS Object database management system Поряд з реляційними базами даних РБД в яких інформація зберігається у вигл...
18116. Поняття бізнес-логіки. Java EE 70.5 KB
  Тема 1: Поняття бізнеслогіки. Java EE Поняття бізнеслогіки Загальна задача роботи програми роботи з базою даних – читати з бази даних інформацію і показувати її користувачеві часто в обробленому вигляді і записувати в базу інформацію введену користувачем часто в обро
18117. Технологія Java Servlet 52.5 KB
  Тема 2: Технологія Java Servlet Сервлет Javaоб’єкт що працює всередині спеціальної програми сервлетконтейнера і застосовується для динамічного генерування даних. Кожен сервлет описується в окремому класі який реалізує інтерфейс Servlet. В більшості сервлети використовуються...
18118. JSP (Java Server Pages ) 97 KB
  Тема 3: JSP Java Server Pages Технологія Java Server Pages JSP є складовою частиною єдиної технології створення програм на основі технології J2EE з використанням webінтерфейсу. JSP це альтернативна технології Java Servlet методика розробки програм що динамічно генерують відповідь на ті або інш...