1. Объявление и реализация классов на языке Паскаль.
Для объявления классов (объектных типов) используется зарезервированное слово class. Определим некоторый класс графических примитивов TFigure следующим образом:
TFigure = class
fColor: Byte;
fThickness: Byte;
fCanvas: TCanvas;
procedure SetColor(Value: Byte);
procedure SetThickness(Value: Byte);
procedure PrepareCanvas;
end;
По принятому соглашению имена классов начинаются с заглавной буквы «T», имена полей данных начинаются с буквы «F», и поля класса объявляются до методов. Класс объединяет данные, представленные атрибутами (полями) и алгоритмы (методы) по их обработке.
В примере к полям данных класса относятся: поле fColor, хранящее код цвета, поле fThickness, задающее толщину линий и поле fCanvas, представляющее полотно, на котором будет происходить отображение графических примитивов.
Методы класса определяют действия, выполняемые над данными. Их совокупность характеризует функциональный аспект поведения класса. Методы представляют собой процедуры и функции, принадлежащие классу. К методам класса относится метод PrepareCanvas, выполняющий подготовку полотна к работе и два метода задания значений полей данных – SetColor и SetThickness.
Таким образом, в одной информационной структуре TFigure оказались объединены как исходные параметры, так и необходимые средства по выполнению их реализации. Такое объединение (сокрытие) данных и методов в качестве собственных ресурсов класса получило название инкапсуляции.
Для окончательного оформления шаблона требуется поместить класс в интерфейсный раздел модуля и дать реализацию всех методов:
unit figures;
interface
type
TFigure = class
fColor: Byte;
fThickness: Byte;
fCanvas: TCanvas;
procedure SetColor(Value: Byte);
procedure SetThickness(Value: Byte);
procedure PrepareCanvas;
end;
implementation
procedure TFigure.SetColor(Value: Byte);
begin
if fColor <> Value then
fColor:=Color;
end;
procedure TFigure.SetThickness(Value: Byte);
begin
if fThickness <> Value then
fThickness:=Value;
end;
procedure TFigure.PrepareCanvas;
begin
{ Подготовка полотна для рисования }
end;
end.
Методы SetColor и SetThickness выполняют присвоение внутреннему полю fColor и fThickness значения в том случае, если текущее значение отличается от передаваемого. К полям класса никогда не следует обращаться напрямую, а только посредством специальных методов, обеспечивающих корректность выполнения операции присваивания.
Теперь объявим переменную f класса TFigure:
var
f: TFigure;
Переменную f называют экземпляром класса, объектной ссылкой или просто объектом. Через объект f возможен доступ к методам и полям класса. Однако для начала необходимо создать сам объект. Для этого необходимо вызвать специальную процедуру Create, называемую конструктором:
f:=TFigure.Create;
Конструктор не объявлен в классе TFigure, однако присутствует в нем благодаря наследованию от класса TObject. В результате будет выделена область памяти в размере, необходимом для хранения объекта f. Обратите внимание, конструктор вызывается с помощью ссылки на тип, а не на экземпляр типа, в отличие от методов, которые всегда вызываются с помощью ссылки на экземпляр. Связано это с тем, что объект f на момент вызова конструктора еще не создан.
После создания объекта с ним можно работать:
uses figures;
var
f: TCircle;
begin
f:=TCircle.Create;
f.SetColor($FF);
f.SetThickness(1);
f.PrepareCanvas;
f.Free;
end.
После выполнения методов объект f следует удалить, чтобы он не занимал места в памяти. Удаление выполняет метод Destroy, определенный в классе TObject, но лучше использовать Free, т.к. он инкапсулирует вызов Destroy: в начале определяется, существует ли объект и только затем выполняется вызов Destroy. В противном случае метод Free ничего не делает.
Класс Figure можно несколько модифицировать. Например, можно явно добавить к методам конструктор Create с помощью зарезервированного слова constructor и деструктор Destroy с помощью зарезервированного слова destructor:
TFigure = class
...
constructor Create; virtual;
destructor Destroy; override;
end;
В конструкторе присваиваются полям начальные значения и создается объект полотна:
constructor TFigure.Create;
begin
fColor:=$FF;
fThickness:=1;
fCanvas:=TCanvas.Create;
end;
В деструкторе обычно выполняются действия, связанные с освобождением задействованных в течение работы объекта ресурсов:
destructor TFigure.Destroy;
begin
{ Освобождение ресурсов, используемых в работе объекта }
fCanvas.Free;
end;
- Билет 1.
- 1. Инкапсуляция, наследование, полиморфизм. Классы, объекты и отношения между ними. Диаграммы логического уровня.
- 2. Симметричные блочные криптоалгоритмы. Сеть Фейстеля.
- Билет 2
- 1. Объявление и реализация классов на языке Паскаль.
- 2. Интерфейс. Пользовательский интерфейс. Классификация пользовательских интерфейсов.
- Билет 3.
- 1. Графы. Основные определения. Машинное представление графов в последовательной памяти и связанной памяти.
- 2. Общая схема симметричной криптосистемы. Алгоритм построения цепочек.
- 3. Написать процедуру, которая выполняет вставку компоненты по заданному ключу.
- Билет 4.
- 1. Нормальный алгоритм Маркова.
- 2. Парадигмы интерфейсов.
- Билет 5.
- 1. Понятие процесса. Состояние процессов. Алгоритмы планирования процессов.
- 2. Общие сведения об ассиметричных криптоалгоритмах. Понятие электронной цифровой подписи.
- 3. Вычислить факториал числа 8.
- Билет 6.
- 1. Файловая системаFat.
- 2. Основные компоненты графических пользовательских интерфейсов.
- 3. Если элементы массивыD[1…5] равны соответственно 4, 1, 5, 3, 2, то значение выражениеD[d[3]]-d[d[5]] равно?
- Билет 7
- 1. Структуры распределенных вычислительных систем(топология, физические и логические элементы сетей эвм)
- 2. Встроенные средства контроля доступа в современных ос.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 8
- 1.Трансляторы, компиляторы и интерпретаторы: определение, общая схема работы. Варианты взаимодействия блоков транслятора.
- 2. Эргономические требования, предъявляемые к дизайну пользовательских интерфейсов.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 9
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Нормализация таблиц при проектировании баз данных. Нормальные формы (1нф, 2нф, 3нф, нфбк).
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 10.
- 1. Понятие алгоритма. Интуитивное понятие алгоритма.
- 2. Функции субд.
- Билет 11.
- 1. Структура данных типа стек. Логическая структура стека. Машинное представление стека и реализация операций.
- 2. Принципы и виды отладки программного средства. Автономная отладка программного средства. Комплексная отладка программного средства.
- 3. Дан массив типаwordразмерностьюn. Найти сумму всех элементов, не превышающих заданногоm, далее вывести на экран.
- Билет 12.
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Модели объектов проектирования .
- Билет 13.
- 1. Концепции информационного моделирования. Создание моделей на языкеUml.
- 2. Модели систем управления данными: сетевая, иерархическая, реляционная модель.
- Билет 14.
- 1. Принципы создания компонент в визуальных средах разработки.
- 2. Жизненный цикл программного обеспечения. Модели жизненного цикла по: каскадная, спиральная. Стадии, фазы работы жизненного цикла.
- Билет 15.
- 1. Деревья. Основные определения. Логическое представление и изображение деревьев. Бинарные деревья. Машинное представление деревьев в памяти эвм. Алгоритмы прохождения деревьев.
- 2. Реляционная модель данных. Базовые понятия. Отношения и свойства отношений. Составляющие реляционной модели данных.
- Билет 16.
- 1. Предваренная, скулемовская и клазуальная формы. Логическое следование. Унификация. Алгоритм унификации. Исчисление метода резолюций.
- 2. Структура внешнего описания пс. Качество по. Критерии и примитивы качества.
- Билет 17.
- 1. Понятия прерывания. Виды прерываний. Механизмы прерываний.
- 2. Стадии и этапы разработки базы данных.
- 3. Дан массив типаwordразмерностьюn. Найти сумму всех элементов не прерывающих заданногоm, далее вывести на экран.
- Билет 18.
- 1. Понятие о способах коммутации в распределенных вычислительных системах(коммутации каналов, коммутация пакетов).
- 2. Процессы управления разработкой пс. Структура управления разработки пс. Планирование составление расписания по разработке пс. Аттестация пс.
- 3. НаписатьHtmLкод для отображения в браузере таблицы:
- Билет 19.
- 1. Характеристики транспортного и прикладного уровней стека протоколовTcp/ip.
- 2. Трехуровневая архитектура схем баз данных в субд.
- 3. НаписатьHtmLкод для отображения в браузере таблицы:
- Билет 20.
- 1. Формальные языки и грамматики. Классификация грамматик по Хомскому.
- 2. Методы разработки структуры пс. Восходящая разработка пс. Нисходящая разработка. Конструктивный подход. Архитектурный подход разработки пс.
- Билет 21.
- 1. Конечные автоматы, автомат со стековой памятью (магазин).
- 2. Организация шин.
- Билет 22.
- 1. Сети Петри. Моделирование процессов на основе сетей Петри.
- 2. Организация памяти эвм.
- Билет 23.
- 1. Понятия прерывания. Виды прерываний. Механизмы прерываний.
- 2. Инструментальные среды разработки и сопровождения программных средств и принципы их классификации. Основные классы инструментальных сред разработки и сопровождения программных средств.
- Билет 24.
- 1. Динамическое поведение объектов. Состояния, события, сигналы и сообщения. Модели взаимодействия объектов.
- 2. Типы структур вычислительных машин и систем, перспективы и развития.
- Билет 25
- 1. Структура данных типа стек. Логическая структура стека. Машинное представление стека и реализация операций.
- 2. Основные понятия, определения и назначение сапр
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 26.
- 1. Сравнительный анализ алгоритмов поиска: линейный, двоичный.
- 2. Факторы, определяющие развитие архитектуры вычислительных систем.
- 3. Составить программу, которая формирует очередь, добавляя в неё произвольное количество компонент.
- Билет 27.
- 1. Рекурсивные функции. Лямбда- исчисление Черча.
- 2. Обеспечивающие системы сапр.
- Билет 28.
- 1. Память. Типы адресов. Виды распределения памяти.
- 2. Архитектура системы команд.
- 3. Найти в массиве максимальный элемент и его индекс. Вывести на печать.
- Билет 29.
- 1. Аппаратура передачи данных (модемы).
- 2. Проектные процедуры в сапр.
- Билет 30.
- 1. Характеристика канального и сетевого уровней стека протоколовTcp/ip.
- 2. Стековая архитектура вычислительных машин.
- Билет 31
- 1. Синтаксический разбор. Классификация методов синтаксического разбора.
- 2. Интеграция систем автоматизации проектирования и управления(cad–cam–capp– системы).
- Билет 32
- 1. Понятие алгоритма. Интуитивное понятие алгоритма.
- 2. Объекты и отношения в программировании. Сущность объектного подхода к разработке программных средств. Особенности объектного подхода к разработке внешнего описания программного средства.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 33.
- 1. Объявление и реализация классов на языке Паскаль.
- 2. Архитектура клиент-сервер. Распределенные базы данных.
- Билет 34.
- 1. Характеристики транспортного и прикладного уровней стека протоколовTcp/ip.
- 2. Вычислительные методы решения задач на эвм. Приближения функций. Интерполяция и Метод наименьших квадратов.
- Билет 35.
- 1. Компоненты и интерфейсы. Диаграммы физического уровня.
- 2. Правовые вопросы организации Интернет-сайта.
- Билет 36.
- 1. Структуры данных типа очередь. Логическая структура очереди. Машинное представление очередиFifOи реализация операций. Очереди с приоритетами.
- 2. Моделирование как процесс познания. Математическая модель, понятие вычислительного эксперимента и его структура.
- 3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.
- Билет 37
- 1. Улучшенные методы сортировки. Сортировка Шелла, Хоара, улучшенная сортировка выбором. Сортировка с помощью дерева.
- 2. Правовые вопросы, возникающие при использовании электронной почты.
- 3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.
- Билет 38.
- 1. Классификация ос. Требования, предъявляемые к ос.
- 2. Понятие системы. Математическое определение системы. Классификация систем.
- Билет 39.
- 1. Понятия файла. Структура файла. Реализация файлов
- 2. Виды объектов авторского права. Виды авторских прав. Программы для эвм и базы данных, как объектов авторского права.
- 3. Подсчитать сколько раз в массиве встречается заданный элементN. Вывести количество данных вхождений.
- Билет 40.
- 1. Характеристики локальных вычислительных сетей типаEthernet.
- 2. Нормальный алгоритм Маркова.
- 3. Написать кодcssфайла в котором при помощи псевдоклассов описывается поведение ссылок отличное от стандартного.
- Билет 41.
- 1. Взаимодействие узлов с использованием стека протоколовTcp/ip.
- 2. Объекты патентного права.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов:
- Билет 42.
- 1. Машина Тьюринга.
- 2. Уровни моделирования. Общая характеристика и особенности. Моделирование на микроуровне. Обобщенная модель и моделирование тепловых систем (краевая задача для уравнения теплопроводности)
- 2) Уравнение теплопроводности
- Билет 43.
- 1. Архитектура системы команд.
- 2. Уровни моделирования. Моделирование на макроуровне. Типичная общая модель и моделирование электрических систем.
- Билет 44.
- 1. Структуры данных типа очередь. Логическая структура очереди. Машинное представление очередиFifOи реализация операций. Очереди с приоритетами.
- 2. Принципы построения современных эвм.
- 3. Найти в массиве максимальный элемент и его индекс. Вывести на печать.
- Билет 45.
- 1. Характеристика канального и сетевого уровней стека протоколовTcp/ip.
- 2. Численное решение задачи Коши для обыкновенных дифференциальных уравнений. Метод Эйлера. Одношаговые и многошаговые методы.
- 3. Указать к какому классу относится каждый из перечисленныхIPадресов: