- •1. Нарисуйте и опишите структуру главного окна системы Delphi. Для чего нужно окно инспектора объектов и как им пользоваться?
- •2. Объясните назначение окна формы. Как на нём размещать компоненты и настраивать их параметры?
- •4. Что собой представляет программа решения задачи в системе Delphi? Как организуются процедуры обработки событий: «щелчок мыши на кнопке», «создание формы»?
- •8. Как запустить программу? Как работать с программой? Как остановить программу для её редактирования?
- •9. Какие файлы содержит программа, их структура? Как организовать запись программы в отдельный каталог? Как создать новый каталог?
- •12. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора repeat.
- •13. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора while.
- •14.Приведите примеры схем циклических алгоритмов и их программ с использованием оператора for.
- •15. Как организуется работа с массивами в языке Pascal: описание, обращение к элементам, операции над массивами? Проиллюстрируйте на примерах.
- •16. Понятия статического и динамического распределения памяти. Что такое указатель? Операции над указателями. Что такое динамическая переменная? Наложение переменных с помощью указателя.
- •17. Понятие множеств в языке Pascal. Как они описываются? Какие операции над ними допустимы? Привести примеры их полезного использования.
- •18. Что такое строки в языке Pascal? Как они описываются, что такое текущая и максимальная длина строки? Опишите процедуры и функции обработки строк.
- •23. Как выводить графики в Delphi, используя компоненту tImage. Опишите последовательность действий по настройке tImage и фрагмент программы вывода закрашенного квадрата внутри круга.
- •24. Что такое записи в языке Pascal? Как они описываются, в чем особенность вариантной части?
- •25.Понятие объекта и класса. Объясните на примерах, что такое инкапсуляция наследственность и полиморфизм, раннее и позднее связывание
- •26. Что такое виртуальный и динамический способы реализации полиморфизма. В чем их различие. Понятие абстрактного метода. Как реализуется вызов родительского метода в методе потомке?
- •27.Назначение конструктора и деструктора. Приведите примеры их описаний. Их вид в Delphi
- •28.Понятие свойств класса, для чего они нужны? Как они описываются? Приведите примеры классов со свойствами
- •29. Постановка задачи оптимального выбора. Двоичное дерево решений. Метод полного перебора, метод ветвей и границ эвристические методы.
17. Понятие множеств в языке Pascal. Как они описываются? Какие операции над ними допустимы? Привести примеры их полезного использования.
В математике под множеством понимается неупорядоченный набор различных однотипных элементов. Количество элементов множества может колебаться от 0 до 256. Каждый объект в множестве называется элементом множества Множество, в котором нет элементов, называется пустым. Количество элементов множества называется его мощностью. Множество в памяти хранится как массив битов, в котором каждый бит указывает является ли элемент принадлежащим объявленному множеству или нет.
Для работы с множествами в Паскале введен тип переменных set of:
Type <имя типа>=set of <базовый тип>;
var A,B,C: имя типа;
здесь <базовый тип> - любой порядковый тип кроме Word, Integer, Longint, т.е. (перечисляемый, интервальный, char, byte, boolean).
Множество-константа: [i1, i2, …, ik], где ik – элементы множества.
Операции над множествами: сложения, вычитания, умножения, вхождения
Объединением 2-х множеств A и B наз-тся множество, состоящее из элементов, входящих хотя бы в одно из множеств A или B(знак операции +): D=A+B={ω1, ω2, ω3, ω4, ω5}, множество D состоит из элементов, входящих или в А или в В.
Разность 2-х множеств A и B наз-тся множество, состоящее из элементов множества A, не входящих во множество B (знак операции -): Е=А-В={ω2,ω5}, множество Е состоит из элементов множества А, не входящих в В.
Пересечение 2-х множеств A и B наз-тся множество, состоящее из элементов, одновременно входящих во множество A и во множество B (знак операции *):F=A*B={ω1, ω4}, множество F состоит из элементов, одновременно входящих в А и в В.
Вхождение- это операция, устанавливающая связь между множеством и скалярной величиной, тип которой совпадает с базовым типом множества. Если x - такая скалярная величина, а M - множество, то операция вхождения записывается так: x in M. Результат - логическая величина true, если значение x входит в множество M, и false - в противном случае.
Эти операции дополняют две процедуры:
Include (S, i); - добавление в множество S элемента i, базового типа;
Exclude (S, i); - исключение из множества S элемента i, базового типа.
Эти операции выполняются значительно быстрее, чем их эквивалентные s:=s+[i]; s:=s-[i];
Примеры описаний:
1. Ввод n элементов множества:
......
Var A:set of char;
s:char;
n:Word;
begin
A:=[ ]; // Очистка множества
for i:=1 to n do begin
read(s);
A:=A+[s];
end;
end.
2. Распечатать содержимое множества:
......
Var B:set of 1..100;
k:byte;
begin
for k:=1 to 100 do if k in B then Write(k);
......
end.
3. type bukva=set of (‘a’..’z’);
simv=set of char;
cifra=set of byte;
Var a, b : bukva;
c, d : simv;
e, g : cifra;
Begin
c:=[‘u’, ‘v’, ‘z’]; // Задать множество из трех букв
e:=[1,2,0]; // Задать множество из 3 чисел
g:=e+[5]; // Добавить в множество Е элемент 5
d:=[ ]; // Пустое множество
End;