Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Infa.docx
Скачиваний:
10
Добавлен:
07.07.2019
Размер:
311.28 Кб
Скачать

Билет 1. Типы и структуры данных

Структура данных — это исполнитель, который организует работу с данными, включая их хранение, добавление и удаление, модификацию, поиск и т.д. Структура данных поддерживает определенный порядок доступа к ним. Структуру данных можно рассматривать как своего рода склад или библиотеку. При описании структуры данных нужно перечислить набор действий, которые возможны для нее, и четко описать результат каждого действия. Будем называть такие действия предписаниями. С программной точки зрения, системе предписаний структуры данных соответствует набор функций, которые работают над общими переменными. Предусмотрена следующая классификация типов и структур данных:

Типы данных (простые типы) Структуры (составные типы)

Диапазонные

Статические

- Массивы

- Записи

- Объединения

- Множества

- Последовательности

Динамические

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

Предопределенные

- integer

- float

- character и т.д.

Нерекурсивные

- Массивы

Рекурсивные

- Линейные списки

- Деревья

- Очереди

- Стеки

- Графы

В большинстве случаев новый тип данных строится из других типов, уже определенных (составляющих). Значения такого типа – обычно агрегаты значений-компонент, принадлежащих ранее определенным составляющим типам, и такие значения называют составными, или структурированными. Если используется только один составляющий тип, что этот тип называют базовым. Число различных значений типа Т называют его мощностью. Мощность позволяет определить объем памяти, для представления переменной х, имеющей тип Т.

Переменные и типы данных вводятся в программу для использования в вычислениях. Для вычислений нужно иметь набор операций. Поэтому для каждого стандартного типа язык программирования предлагает набор примитивных, стандартных операций, а для каждого метода структурирования – специальные операции для доступа к компонентам. Важнейшие основные операции – сравнение и присваивание, то есть проверка равенства и команда, «обеспечивающая равенство». Для стандартных примитивных типов данных также постулируются операции для создания новых значений: для числовых типов вводятся арифметические операции, для логических значений – элементарные операции логики высказываний.

Билет 2. Простые типы. Операции. Типизация.

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

  • Int (long, short, unsigned). Данный тип представляет подмножество целых чисел, диапазон значений которых может меняться от одной вычислительной системы к другой. Предполагается, что все операции с данными этого типа являются точными и соответствуют обычным законам арифметики и что вычисление будет прервано, если результат окажется за пределом диапазона допустимых значений. Такое событие называют переполнением. Стандартные операции – 4 основные арифметические операции, остаток от деления, операция побитового сдвига.

  • Float (Double). Представляет подмножество вещественных чисел. Стандартные операции – арифметические операции. Особенности:

  • Нельзя применять операцию сдвига

  • Нельзя применять операцию остатка от деления

  • Нельзя применять поразрядные операции & (поразрядное И) | (поразрядное ИЛИ) ^ (поразрядное исключающее ИЛИ)

  • Boolean. Два стандартных значения этого типа: TRUE и FALSE. Булевские операции – конъюнкция(&&), дизъюнкция(||),отрицания(!) и XOR. Операции сравнения всегда вычисляют результат типа Boolean. Поэтому результат сравнения можно присвоить переменной этого типа или использовать как операнд логической операции. Точное определение операций && и ||:

p&&q = if (p) then q; else FALSE

p||q = if (p) then TRUE; else q

Булевские операции:

p

q

p&&q

p||q

!p

p^q

TRUE

TRUE

TRUE

TRUE

FALSE

FALSE

TRUE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

  • Char. Стандартный тип char представляет литеры, которые можно напечатать. Чаще всего используется множество литер ASCII. Оно содержит 95 графических(имеющих изображение) литер, а также 33 управляющих. Чтобы создавать алгоритмы для работы с литерами, которые не зависели бы от вычислительной системы, делаем несколько предположений о свойствах литер:

  • Тип Char содержит 26 заглавных латинских букв, 26 строчных, 10 десятичных цифр, а также некоторые другие графические символы (например, знаки препинания).

  • Подмножества букв и цифр упорядочены и между собой не пересекаются.

  • Тип содержит непечатаемые символы пробела и конца строки, которые можно использовать как разделители.

Концепция сильной типизации:

  • Каждый объект обладает уникальным типом

  • Каждый тип определяет множество значений и множество операций над ним

  • В каждой операции присваивания типы, стоящие в левой и правой части, должны быть эквивалентны

  • Каждая применяемая операция должна входить в множество допустимых операций

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]