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

Тип данных Integer

Значениями целого типа являются элементы зависящего от реализации подмножества (отрезка) целых чисел. Это означает, что существует стандартная константа с именем MaxInt, такая что для любого данного X типа Integer

- MaxInt-1 <= X <= MaxInt

Наиболее распространенное для 16 разрядных ПЭВМ значение

MaxInt = 215 - 1 = 32767.

Операции:

* - умножение;

div - неполное частное от целочисленного деления;

mod - остаток от целочисленного деления;

+ - сложение;

- - вычитание;

Функции:

Abs(x) - х ;

Sqr(x) - х 2;

Trunc(x) - отбрасывание дробной части от вещественного х;

Round(x) - округление вещественного x;

Succ(x) - х + 1;

Pred(x) - х - 1;

Отношения:

< - меньше <= - меньше или равно

> - больше >= - больше или равно

= - равно <> - неравно

Тип данных Real

Значениями вещественного типа являются элементы зависящего от реализации подмно­жества вещественных чисел. В ВP диапазон типа Real

[ 2.9*10 -39 ... 1.7*1038 ]

Операции:

* - умножение; / - деление;

+ - сложение; - - вычитание;

Функции:

Abs(x) - модуль х;

Sqr(x) - х в квадрате;

Sqrt(x) - корень из х.

Sin(x) - sin х;

Cos(x) - cos х;

Arctan(x) - arctg х;

Ln(x) - ln х;

Exp(x) - eх;

Отношения: такие же, как и для типа Integer.

Числовые типы Integer и Real совместимы.

Тип данных Сhar

Значениями символьного типа являются элементы конечного и упорядоченного множества символов. Символы этого множества определяются реализацией. Значения типа Char совпадают с некоторым расширением ASCII - символов.

Вне зависимости от реализации множество символов включает:

A, B, C, ... , Z , _ (знак подчеркивания)

0, 1, ... , 9 - (десятичные цифры)

Символ пробела.

Функции:

Ord(x) - порядковый номер x.

Chr(n) - символ с порядковым номером N.

Pred(x) - символ, предшедствующий x.

Succ(x) - символ, следующий за x.

Отношения.

Тип данных Сhar упорядочен. Данные типа Сhar можно сравнивать, как и данные числовых типов, с помощью отношений:

= <> > < >= <= .

Порядок на множестве букв латинского алфавита согласован с алфавитным, а на множестве цифр - с числовым.

Тип данных Boolean

Булевские значения: True (истина) и False (ложь).

Тип данных Boolean упорядочен.

Функции: Ord, Succ, Pred.

имеют место следующие соотношения :

False < True ,

Ord (False) = 0, Ord (True) = 1,

Succ (False) = True, Pred (True) = False.

Операции:

And - логическая коньюнкция ( и )

Or - логическая дизньюнкция ( или )

Not - логическое отрицание ( не )

Эти операции определяются следующими таблицами истинности:

And

False

True

Or

False

True

x

Not (x)

False

False

False

False

False

True

False

True

True

False

True

True

True

True

True

False

Отношения =, < > , <= , < , > , >= , in

являются операциями, результат которых имеет тип Boolean

Функции

Odd(Х) { Odd(Х) = True, если Х - целое нечетное число

Odd(Х) = False, если Х - целое четное число}

Eoln(F) { конец строки текстового файла}

Eof(F) { конец файла}

Вычислительные структуры как формальные средства описания данных

Вычислительная структура ЯП состоит из семейства множеств, называемых носителями, и семейства отображений (операций, функций) между носителями.

Понятие вычислительной структуры используют для описания совокупности типов данных, определенных в ЯП, как единого целого.

Проектирование и реализация структур данных осуществляется в терминах АТД и ВС сверху-вниз, а описания – снизу вверх.

Задача: Построить систему визуализации хода решения задачи на построения с помощью циркуля и линейки

Пример АТД Планиметрия (лекция 1)

Примитивные типы объектов: точка, прямая, окружность.

Имена типов (Паскаль) Point, Line, Circle

Примитивные операции и заголовки функций и процедур (Паскаль):

Line: (точка, точка) прямая

Procedure DoLine (A, B: Point; var p: Line)

Circle: (точка, точка) окружность

Procedure DoCircle (A, B: Point; var c: Circle)

CircleRad: (точка, точка, точка) окружность

Procedure DoCirRad (A, B, C: Point; var c: Circle)

Аналогично определяются процедуры для: