Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция программирование для студентов.doc
Скачиваний:
5
Добавлен:
04.11.2018
Размер:
266.75 Кб
Скачать

Типы данных

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

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

Иерархия типов в языке Паскаль такая:

  1. Простые

  • Порядковые

  • Целые

  • Логические

  • Символьные

  • Перечисляемые

  • Интервальные

  • Вещественные

  1. Структурированные

  • Массивы

  • Строки

  • Множества

  • Записи

  • Файлы

  1. Указатели

Простые (скалярные) типы

К скалярным (scalar-простые) типам данных относят типы данных таких величин, значения которых не содержат составных частей.

1. Целые числа (integer, shortint, longint, byte, word).

Например: 1, 78900, 6750

Формат

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

shortint

-128127

Integer

-3276832768

longint

-21474836482147483647

byte

0255

word

065535

Над целыми числами можно выполнить следующие операции: + - * / div mod

div – целочисленное деление, т.е. в результат (целого типа) заносится целая часть от деления.

Например: a:=9; b:=2; c:=a div b; {c=4}

mod – определение остатка от деления, т.е. в результат (целого типа) заносится остаток от деления.

Например: a:=9; b:=2; c:=a mod b; {c=1}

2. Действительные числа (вещественные)(real, single, double, extended)

Например: 0,1234; 0,4Е-10

Формат

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

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

real

2.9Е-39 1.7 Е38

11-12

single

1.5 Е-45 3.4 Е38

7-8

double

5.0-324 1.7 Е308

15-16

extended

3.4 Е-4932 1.1 Е4932

19-20

Над действительными числами можно выполнить следующие операции: + - * /

3. Логический тип (Boolean – может принимать два значения: False - ложь, True - истина)

Над логическими переменными допустимы следующие операции: сравнение (<, <=, >=, >, <>, =), логические (not, or, and)

Примечание. Логическое умножение дает истинный результат, когда обе величины <истина>. Логическое сложение дает ложный результат, когда обе величины <ложь>. Логическое отрицание дает истинный результат, когда величина <ложь>, и наоборот

AND – И - умножение

OR – ИЛИ - сложение

NOT – НЕ - инверсия

<True> AND <True> - <True>

<True> OR <True> - <True>

NOT <False> - <True>

<True> AND <False> - <False>

<True> OR <False> - <True>

NOT <True> - <False>

<False> AND <True> - <False>

<False> OR <True> - <True>

<False> AND <False> - <False>

<False> OR <False> - <False>

        1. Символьный тип (Char)это тип данных, состоящий из одного символа (знака, буквы, кода); переменная, принимающая значение символьной константы, состоящей из одного символа, заключенного в апострофы.

Например:’+’, ‘T’, а:=‘3’

Над символьными переменными допустимы следующие операции: оператор присваивания, сравнение (<, <=, >=, >, <>, = ). Cимволы считаются равными, если равны их ASCII-коды. Один символ считается больше другого, если он имеет больший ASCII-код.

К символьным переменным могут быть применены функции:

  1. CHR(X) – функция типа char (результат - char). Преобразует выражение х типа byte (от 0 до 255) и возвращает значение символа, соответствующее данному коду ( ASCII код → символ)

Например: CHR(32)→ ‘ ‘, CHR(200) →’N

  1. ORD(X) – функция типа byte (результат - byte). Преобразует выражение х типа char в ASCII-код (символ → ASCII-код)

Например: ORD(‘ ‘)→32, ORD(‘N’) →200

  1. PRED(X) – функция типа char. Возвращает предшествующее значение аргумента.

Например: PRED(‘L’) →’K

  1. SUCC(X) - функция типа char. Возвращает следующее (за заданным) значение аргумента. Например: SUCC(‘K’) ’L’

  2. UPCASE(X) - функция типа char. Преобразует строчную букву в прописную. Не обрабатывает кириллицу!

Например: UPCASE(‘L’) → ‘l