
- •Билет 2 Лексическая структура языка Pascal.
- •Билет 3 Структура Pascal-программы. Составной оператор. Константы. Переменные.
- •Билет 4. Концепция переменной языка паскаль.
- •Билет 5 Концепция типа данных языка Pascal.
- •Билет 6 Простые типы.
- •Билет 7 Стандартные типы языка Pascal.
- •Билет 8 Тип Boolean
- •Билет 9 Перечисляемый тип.
- •Билет 10. Ограниченные типы (диапазоны).
- •Билет 11 Условный оператор
- •Билет 12 Оператор варианта
- •Билет 13 Оператор цикла с постусловием
- •Билет 14 Оператор цикла с предусловием
- •Билет 15 Оператор цикла с параметром
- •Билет 16 Составные типы
- •Билет 17 Массивы, примеры использования
- •Билет 18 Записи, примеры использования
- •Билет 19 Оператор сцепления
- •Билет 20 Записи с вариантами
- •Билет 21 Множества (определение, примеры, операции).
- •Билет 22 Представления множеств, примеры использования.
- •Билет 22. Представления множеств.
- •Билет 23 Файловые типы
- •Билет 24 Операции с файлами
- •Билет 25 Текстовые файлы
- •Билет 26 Типизированные файла
- •Билет 27 Нетипизированные файлы
- •Билет 28 Процедуры и функции
- •Билет 29 Описание процедур и функций
- •Билет 30 Локальные и глобальные переменные
- •Билет 31 Параметры процедур и функций
- •Билет 32 открытые параметры.
- •Билет 33. Нетипизированные параметры.
- •Билет 34. Необходимость и преимущества модульного программирования. Структура модуля в языке Pascal.
- •Билет 35. Процедурный тип. Передача процедур и функций в качестве параметра.
- •Билет 36. Рекурсия.
- •Билет 37. Рекурсия и итерация.
- •Билет 38. Линейный поиск.
- •Билет 39. Поиск делением пополам.
- •Билет 40. Сортировка.
- •Билет 41. Сортировка простыми включениями.
- •Билет 42. Сортировка бинарными включениями
- •Билет 43. Сортировка простым выбором.
- •Билет 44. Сортировка простым обменом(пузырек).
- •Билет 45. Шейкер-сортировка.
- •Билет 46. Сортировка шелла.
- •Билет 47. Сортировка с разделением(быстрая сортировка).
- •Билет 48. Ссылочные типы.
- •Билет 49. Динамические структуры данных.
- •Билет 50. Создание и уничтожение динамических переменных.
- •Билет 51. Связные списки.
- •Билет 52. Связные списки. Создание очередного элемента. Просмотр списка.
- •Билет 53. Добавление компонента в середину списка.
- •Билет 54. Исключение компонент из середины списка.
- •Билет 55. Рекурсивная обработка списка.
- •Билет 56. Двусвязные кольца.
- •Билет 57. Деревья. Двоичные деревья. Двоичные деревья поиска.
- •Билет 58. Добавление узла к двоичному дереву поиска.
- •Билет 59. Поиск в двоичном дереве.
- •Билет 60. Просмотр двоичного дерева.
- •Билет 61. Удаление из дерева.
- •Билет 62. Деревья общего вида.
Билет 21 Множества (определение, примеры, операции).
Множества в Паскале - это наборы элементов перечислимого типа. Для множественных типов существуют следующие группы операций: 1) Объединение (А+В), пересечение (А*В) и вычитание (А-В) множеств. 2) Проверка принадлежности элементов множеству(Служебное слово ‘in’), правый операнд должен быть множеством, а левый – значением базового типа множества(операции носят логический характер). 3) Проверка на равенство и неравенство множеств. 4) Проверка на вхождение (принадлежности) одного множества в другое. Эти бинарные операции также имеют множественный смысл и обозначаются следующим образом: ‘=’- равенство или совпадение; ‘<>’- неравенство; ‘<=’- проверка на вхождение множества из левого операнда во множество из правого операнда. Примеры: [1, 2, 3] = [1, 2] – False; [1, 2, 3] >= [1, 2] – True; [1, 2, 3] <> [1, 2, 4] – True.
В памяти машины множества, представляются массивом логических значений, i-ая компонента которого означает наличие или отсутствие i-того значения базового типа множества.
Билет 22 Представления множеств, примеры использования.
Множества – принадлежат к сравнительно редко используемым средствам языка. В ряде случаев их использование позволяет заметно повысить компактность, наглядность программы. Значения множественного типа так же, как и массивы, строятся из нескольких значений одного базового типа. В отличие от массивов и записей значение множественного типа может содержать любое количество различных элементов базового типа – от 0 (пустое множество) до всех возможных значений базового типа, т.е. возможными значениями переменных множеств типа являются все подмножества значений базового типа.
Пример
type Digits = set of 1..5 ;
Var s : Digits;
Возможные значения s = "пусто"; 1,2; 1, 2, 3; 1, 2, 3, 4, 5;
Базовый тип множества: Скалярный, как видно из синтаксической диаграммы. Однако Turbo Pascal допускает в качестве базовых типов для множества упорядоченные типы не более, чем 256 различными значениями. Причем, для целых типов эти значения должны лежать в диапазоне [0..255] . Таким ограничениями удовлетворяют только стандартные типы: Byte, Char, перечислимые типы, а так же ограниченные типы, образованные из них.
Пример.
Type ElemColor = (Red, Yellow, Blue);
Color = set of ElemColor;
Var MyColor : Color;
B Pascal-программе допускаются явные изображения значений множественных типов, подобные изображениям целых или вещественных чисел. Изображение множества строится следующим образом
Изображение
[ ] – пустое множество [1,2,3] – выражение 1 [Red, Yellow]
В качестве элементов в изображении множества допускаются выражения, тип которых должен совпадать с базовым типом множества. Так же можно указывать диапазоны значений
[m .. n], ['A' .. 'Z', 'a' .. 'z', chr(digit +48)], [1,5,10 .. k mod 12,13]
Для множественных типов существуют группы операций:
объединения, пересечения и вычитания множеств; проверка принадлежности элемента множеству; проверка на равенство и неравенство множеств; проверка на вхождение (принадлежность) одного множества в другое.
1)объединение А+В – множество, состоящее из элементов, принадлежащих множествам А и В.
а)пересечение множеств А*В – множество, состоящее из элементов, принадлежащих одновременно А и В;
б)вычитание А-В – множество из элементов множества А, которые не принадлежат множеству В
Примеры.
[1,2]+[3,4]=[1,2,3,4] [1..10]*[5..15]=[5..10] [1..10]+[5..15]=[1..15] [1,2]*[3,4]=[ ] [1..10] – [5..15]=[1..4]
2) проверка принадлежности in – правый операнд должен быть множество, а левый – значением базового типа множества, операция логическая.
Пример. 2 in [1..10,12] = True 5 in [1,2,7,10] = False
3) проверка на равенство-неравенство и вхождение – бинарные операции также имеют теоретико-множественный смысл и обозначаются:
= - равенство или совпадение 2-х множеств <> - неравенство
<= - проверка на вхождение множества из левого операнда в множество из правого операнда
>= - проверка на вхождение множества из правого операнда в множество из левого операнда.
Примеры.
[1,2,3]=[1,2] – False [1,2,3]>=[1,2] – True [S]<=[1..10] [[1,2,3]<>[1,2,4]