- •1.Структура команды File главного меню среды Turbo Pascal 7.0. Создание, открытие, сохранения, переименование и печать файла. Завершение работы в среде Turbo Pascal 7.0.
- •2.Редактирование, компиляция и запуск программы в среде Turbo Pascal 7.0. Трассировка программы. Трассировка программы
- •3.Главное меню интегрированной системы Turbo Pascal 7.0.
- •4.Текстовый редактор системы Turbo Pascal 7.0. Работа с блоками текста. Текстовый редактор
- •Работа с блоком текста.
- •5.Позиционные и непозиционные системы счисления. Основание и база системы счисления.
- •6.Двоичная система счисления. Двоичные таблицы сложения и умножения.
- •7.Перевод числа (целого и дробного) из десятичной системы в двоичную систему. Преобразование десятичных чисел в двоичные
- •Преобразование дробных десятичных чисел в двоичные
- •8. Восьмеричная и шестнадцатеричная системы счисления.
- •9.Представление целых и вещественных чисел в эвм. Представление вещественных чисел
- •Представление целых чисел
- •Кодирование символов
- •Двоично-десятичное кодирование
- •10.Алфавит Турбо Паскаля. Идентификаторы. Стандартные идентификаторы Турбо Паскаля. Служебные слова. Алфавит
- •Имена и идентификаторы
- •11.Разделители текста и правила их использования в программе на Турбо Паскале. Комментарии и директивы компилятора. Директивы компилятора
- •Комментарии
- •12.Понятие константы. Типы констант в Турбо Паскале. Раздел констант программы на Турбо Паскале.
- •13.Переменная. Раздел переменных программы на Турбо Паскале. Понятие типа значения. Раздел типов программы на Турбо Паскале.
- •Раздел типов
- •14.Классификация типов значений в Турбо Паскале. Стандартные и упорядоченные типы.
- •15.Стандартный тип символьный. Кодирование символьной информации. Кодировочные таблицы. Символьные типы
- •16.Стандартный тип целый. Операции и стандартные функции над целыми в Турбо Паскале. Дополнительные целые типы Турбо Паскаля. Целые типы
- •17.Стандартный тип логический. Логические операции.
- •18.Стандартный тип вещественный. Операции и стандартные функции над значениями вещественного типа. Дополнительные вещественные типы Турбо Паскаля. Вещественные типы
- •19.Наиболее важные стандартные функции Турбо Паскаля. Операция возведения в произвольную степень.
- •20.Понятие оператора в алгоритмическом языке. Классификация операторов Турбо Паскаля.
- •21.Операторы присваивания. Типы операторов присваивания в Турбо Паскале.
- •22.Арифметические выражения и арифметический оператор присваивания. Стандартные функции арифметического типа.
- •23 Логические выражения и логический оператор присваивания.
- •24. Условные операторы: полный и сокращенный.
- •25.Оператор варианта Case.
- •26. Использование условных операторов для организации разветвляющихся вычислительных процессов
- •27.Операторы цикла с параметром. Использование операторов цикла с параметром для вычисления конечных сумм и произведений.
- •28.Оператор цикла с предусловием.
- •29.Оператор цикла с постусловием.
- •31.Операторы перехода. Метки операторов. Раздел меток программы на Турбо Паскале. Пустой и составной операторы. Оператор перехода
- •Пустой оператор
- •Раздел меток
- •33.Графические блок-схемы алгоритмов. Представление составного, условного и циклического операторов с помощью графических блок-схем.
- •43. Многомерные массивы. Ввод и вывод многомерных массивов.
- •44. Множественный тип в Турбо Паскале. Конструктор множества.
- •55.Модули в Турбо Паскале. Структура модуля.
44. Множественный тип в Турбо Паскале. Конструктор множества.
Понятие множества – одно из основных в математике.
Тип множество задает неупорядоченную совокупность неповторяющихся элементов. Переменная типа множество – это совокупность элементов из заданного множества. В Delphi допускаются только конечные множества, причем элементы множества должны быть значениями одного типа. Тип элементов множества принято называть базовым типом множества.
Число элементов исходного множества не может быть более 256. Для задания элементов множества может использоваться любой порядковый тип, однако порядковые номера элементов множества, т.е. значения функции ord, должны находиться в пределах от 0 до 255.
Конкретные значения множественного типа задаются с помощью конструктора множества, представляющего собой список элементов множества, заключенных в квадратные скобки
<конструктор множества>::=[]|[<элемент>{,<элемент>}]
<элемент>::=<выражение>|<выражение1>..<выражение2>
Считается, что порядок перечисления элементов не играет роли, и каждый элемент учитывается только один раз.
Пример.
[] – пустое множество; [1..1] – множество [1];
['d'..'a'] – эквивалентно [];
[1,2,3,2..5,6,4,3,] – эквивалентно [1..6].
Неверные записи:
[2.7,3.14] – тип real не может быть базовым;
[5,'f'] – элементы разных типов; ['abc','deg'] – производный тип.
Синтаксис задания множественного типа
<задание множественного типа>::=set of <базовый тип>
<базовый тип>::=<имя базового типа>|<задание базового типа>
При задании множественного типа необходимо задать базовый тип, из значений которого состоят конкретные значения множественного типа. В совокупность значений множественного типа входят все возможные множества, являющиеся комбинациями значений базового типа. Пустое множество входит в любой множественный тип значений.
Пример.
Пусть задан тип M= set of 1..3 , тогда множества
[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]
являются значениями заданного множественного типа.
Переменные множественного типа называют переменными-множествами и описывают в разделе описания переменных. Присвоить значения переменным-множествам можно оператором присваивания.
В Delphi имеется ряд встроенных операций для данных множественного типа (+ , * , - и операции отношения).
Операции отношения над множествами A и B
A=B – A и B совпадают;
A<>B – A и B не совпадают;
A<=B – все элементы A принадлежат B;
A>=B – все элементы B принадлежат A;
x in A – элемент x входит в A.
Пример.
Пусть заданы следующие типы и переменные:
Type Mn=set of 1..50;
Var A, B, C: Mn;
. . . . . . . . . . .
A:=[3,5,9,10]; B:=[1,7,9,10];
Тогда можно выполнить следующие операции (в фигурных скобках указан результат):
объединение: C:=A+B – {1,3,5,7,9,10};
пересечение: C:=A*B – {9,10};
разность: C:=A-B – {3,5}, C:=B-A – {1,7};
проверка эквивалентности: A=B – {False};
проверка неэквивалентности: A<>B – {True};
проверка, является ли одно множество подмножеством другого: A>=B – {False}, A<=B – {False};
проверка, входит ли заданный элемент в заданное множество: 3 in A – {True}, 3 in B – {False}.
Операции < и > – недопустимы над операндами множественного типа. С использованием множественных операций могут строиться множественные выражения. Старшинство операций аналогично старшинству при вычислении арифметических выражений: в первую очередь выполняются операции в скобках, затем *, после чего + и - в порядке следования слева направо.
Пример.
[1,2,5,6,7]*[2..6] + [3,9] = [2,3,5,6,9]
В Delphi имеются две встроенные подпрограммы для работы с множествами: Exclude(A,x) – удалить из множества A элемент x, Include(A,x) – вставить элемент x во множество A.