Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету .doc
Скачиваний:
11
Добавлен:
13.08.2019
Размер:
317.44 Кб
Скачать
  1. Понятие типа данных. Классификация языков по типизации.

Источники понятия «тип данных»:

1) принципиальная неполнота отображения многообразия окружающего мира в битовые цепочки, представляющие память ЭВМ

2) необходимость и привычка человека классифицировать окружающие его объекты

3) математика

4) аппаратура ЭВМ, для любой операции, которая записана в программе, нужны разные аппаратуры

Тип данных – множество значений и способ их изображения, множество операций и способ их изображения

Типизация полезна как для человека (позволяет проводить типовый контроль), так и для компьютера (возможность опеределить, какая нужна операция – связывание операций на уровне трансляций, реализация памяти, возможность замены универсальных операций спецефическими)

Языки программирования:

- бестиповые (Assembler)

- типизорованные:

- статическая типизация (Pascal - нестрогая, Ада - строгая)

переменная ~ тип

п еременная значение

значение ~ тип

- динамическая типизация (Perl, JavaScript, Lisp)

п еременная значение

значение ~ тип

Строгая (цельная) типизация – тип любого элемента данных может быть определен статически в программе

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

1) простые

- числовые (Хранятся числа. Могут применяться обычные арифметические операции)

- integer

- real

- char

- boolean

- перечисления (Может хранить только те значения, которые прямо указаны в его описании)

- диапазоны

2) составные

- однородные фиксированной длины – массивы

- однородные переменной длины – множества, файлы

- неоднородные фиксированной длины – записи

3) string

Простые – значения не делятся на части, обрабатываются целиком

Составные – каждая часть может обрабатываться сама по себе

Integer [-maxint;+maxint], зависит от реализации языка

Способ изображения целых чисел – цепочка арабских чисел

операции над типом 1)+|- 2)+|/ 3)div|mod 4)abs 4)sqr|sqrt 5)=|<>|>|<|>=|<= 6):= 7)succ|inc 8)pred|dec 9)chr

Целочисленная арифметика на ЭВМ имеет три очень существенных преимущества по сравнению с вещественной арифметикой:

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

• операции целочисленной арифметики дают точные результаты;

• операции целочисленной арифметики выполняются быстрее, чем операции вещественной («плавающей») арифметики.

Недостатком целого типа данных является сравнительно узкий диапазон допустимых значений. При исполнении программы автоматически не контролируется выход значения целой величины за эти границы. В этом случае получается ошибочный результат.

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

• величины этого типа принимают конечное множество значений, которые могут быть пронумерованы;

• на множестве значений данного типа работают понятия: «предыдущий элемент», «последующий элемент».

Бесконечное количество действительных чисел вообще непредставимо точно в памяти ЭВМ. Если вещественное значение X попадает между двумя точно представимыми значениями ri и ri+1, то оно заменяется на значение меньшего по модулю из этой пары чисел (некоторые типы процессоров выполняют «правильное» округление). Следовательно, в общем случае вещественные числа хранятся в памяти приближенно, т.е. несут в себе погрешность, которая называется погрешностью машинного округления.

Из сказанного следует, что если два числа X и Y удовлетворяют условиям ri < X < ri+1; ri < Y < ri+1, но Х ≠ Y, то в машинном представлении они неразличимы.

  1. Тип Boolean.

Тип boolean (логический). Переменные и константы логического типа занимают 1 байт и принимают одно из двух значений, задаваемых предопределенными константами True (истина) и False (ложь).

Логические выражения (условия) – это выражения, которые могут принимать лишь одно из двух значений: true (истина) или false (ложь). Для построения логических выражений используются операции отношения, которые обозначаются знаками:

= (отношение на равенство)

<> (отношение на неравенство)

< (отношение меньше)

> (отношение больше)

<= (отношение меньше или равно)

>= (отношение больше или равно).

Сложные условия составляются из простых с помощью логических операций:

and (логическое «И»)

or (логическое «ИЛИ»)

not (логическое «НЕ»)

При составлении сложных условий операнды логического выражения берутся в скобки

Схема вычисления логических выражений:

1) полная (все операнды вычисляются)

2) краткая (как только известен результат всей операции, вычисления прекращаются) в АВС

  1. Тип char

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

Значения этого типа занимают 1 байт и представляют собой символы в кодировке Windows.

Каждому символу приписывается целое число в диапазоне от 0 до 255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD.

Стандартная функция Chr(x) возвращает символ с кодом x.

Для кодировки используется код ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией). Это 7-битный код, т. е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов ПК с кодами 0—127 соответствует стандарту ASCII. Вторая половина символов с кодами 128—255 не ограничена жесткими рамками стандарта и может меняться на ПК разных типов.

Содержит 26 прописных латинских букв и 26 строчных, 10 арабских цифр и некоторое число других графических символов, например, знаки пунктуации

Подмножества упорядочены:

(‘A’<=x)and(x>=’Z’) – прописная бква

(‘a’<=x)and(x>=’z’) – строчная буква

(‘0’<=x)and(x>=’9’) - цифра

Содержит непечатаемый символ – пробел

UPCASE(CH) — функция типа CHAR; возвращает прописную букву, если oн является строчной латинской буквой, в противном случае возвращает сам символ