- •1) Объективно-ориентированное программирование, достоинства ооп. Принцип действия программы управлемой событиями.
- •2) Сеть как форма организации вычислительной среды. Локальные вычислительные сети. Цели и задачи создания сетей.
- •3) Данные типа класс, форма объявления класса, объекты, свойства класса.
- •6) Основные принципы построения кабельной системы. Основные типы кабелей, их конструкции, хар-ки, фун-ние.
- •7) Наследование, объявление класса наследника, иерархия классов, абстрактные классы, полиморфизм.
- •8) Структура сетей, одноранговые сети, сети на основе сервера.
- •9) Классы в Delphi, динамическая память, конструкторы, деструкторы, назначение, правила записи.
- •10) Многоуровневая архитектура. Эталонная модель сетей osi/iso. Взаимодействие уровней, особенности, принципы построения.
- •11) Среда программирования в Delphi, назначение, технология программирования.
- •12) Расширения модели osi.
- •13) Структура рабочего окна в Delphi.
- •15) Компонент Форма (Form), назначение, принципы использования, основные свойства и события, связанные с формой.
- •16) Протоколы передачи данных в локальных сетях, назначение. Стеки протоколов. Протоколы tcp/ip, ipx/spx и др.
- •20) Сетевое оборудование. Сетевые адаптеры, мосты, шлюзы, маршрутизаторы. Глобальные вычислительные сети.
- •23) Компоненты Label и Edit, назначение, принципы использования, свойства.
- •24) Принципы Шеннона: рассеивание и перемешивание.
- •27) Типы свойств. Назначение типичных свойств компонентов: Alignment, Caption, Color, Cursor, Font, Position, AutoSize, WordWrap, TabOrder, Height, Width, LeftTop, ClientHeight, ClientWidth.
- •28) Методы шифрования. Подстановка, перестановка, блочные.
- •31) Данные типа запись, оператор присоединения.
- •32) Шифры моноалфавитной подстановки. Общая форма. Шифр Бофора, метод Вижинера, шифр Цезаря.
- •33) Данные типа файл, типы файлов, объявление файловых переменных. Действия с файлами, связь с внешними файлами.
- •34) Компонент mainmenu назначение, свойства, порядок создания, главного меню.
- •36) Модель двухключевой криптосистемы с открытым ключом
- •37) Методы класса tstrings
- •38) Метод rsa.
- •40) Типы моделей данных сетевая иерархическая реляционная модели.
37) Методы класса tstrings
Многофункциональный класс, предназначенный для хранения текстовых строк и связанных с ними объектов (любых потомков TObject). TStrings - абстрактный класс; он только описывает методы работы с наборами строк и сопутствующих им объектов, но как именно они хранятся, на его уровне не определено. Его потомки очень многочисленны; они играют основную роль в компонентах-списках (TListBox, TComboBox), редакторе (TMemo) и других.
procedure AddStrings (Strings: TStrings); Добавляет в список группу строк из другого объекта Strings типа TStrings.
procedure Assign (Source: TPersistent); Уничтожает прежнее содержимое набора и подставляет вместо него Source, если источник имеет тип TStrings. В противном случае возникает исключительная ситуация EConvertError.
procedure BeginUpdate;
procedure EndUpdate; Пара процедур, которые устанавливают и сбрасывают флаг обновления набора. Между ними, для ускорения работы, нужно заключать все операции по копированию, удалению и т. д. большого количества элементов.
procedure Clear; Очищает список.
procedure Insert (Index: Integer; const S: string); Вставляет строку S под номером Index.
procedure Delete (Index: Integer); Удаляет строку с номером Index.
function IndexOf (const S: string): Integer; Возвращает индекс (номер в наборе) строки S. Если она не найдена, функция возвращает -1.
function IndexOfObject (AObject: TObject): Integer; Возвращает индекс первой строки, связанной с заданным объектом. Если такой строки нет в списке, возвращается -1.
function IndexOfName (const Name: String): Integer; Применяется для списков, имеющих структуру "Имя=Значение". Возвращает номер строки, в которой Имя равно заданному значению Name. Если такой строки нет в списке, возвращается -1.
function Equals (Strings: TStrings): Boolean; Сравнивает строки вызвавшего его объекта со строками объекта Strings и возвращает True в случае равенства (сравниваются число строк и все строки попарно).
function Add (const S: string): Integer; Добавляет строку S в конец набора и в случае успеха возвращает присвоенный ей индекс (он должен быть равен значению Count до добавления строки).
function AddObject (const S: string; AObject: TObject): Integer; Добавляет в список строку и связанный с ней объект. Возвращает индекс добавленной строки и объекта.
procedure Append (const S: string); Добавляет строку в конец списка. Метод аналогичен Add, но не возвращает индекс строки.
procedure Exchange (Index1, Index2: Integer); Меняет местами пары "строка-объект" с индексами Index1 и Index2.
procedure Move (CurIndex, NewIndex: Integer) ; Перемещает пару "строка-объект" с позиции CurIndex в позицию NewIndex.
procedure InsertObject (Index: Integer; const S: string; AObject: TObject); Вставляет объект AObject и соответствующую ему строку S в набор под индексом Index.
38) Метод rsa.
Алгоритм RSA состоит из следующих пунктов:
Выбрать простые числа p и q;
Вычислить n = p * q;
Вычислить m = (p - 1) * (q - 1);
Выбрать число d взаимно простое с m;
Выбрать число e так, чтобы e * d = 1 (mod m);
Числа e и d являются ключами. Шифруемые данные необходимо разбить на блоки - числа от 0 до n - 1. Шифрование и дешифровка данных производятся следующим образом:
Шифрование: b = ae (mod n)
Дешифровка: a = bd (mod n)
Следует также отметить, что ключи e и d равноправны, т.е. сообщение можно шифровать как ключом e, так и ключом d, при этом расшифровка должна быть произведена с помощью другого ключа.
На практике при использование метода RSA длина p и q составляет 100 и более десятичных знаков, что обеспечивает высокую криптостойкость шифротекста.
39)
Модулями называют заранее скомпилированные библиотеки подпрограмм, которые программист может использовать для создания новых программ.
Все ресурсы модуля делятся на две группы: внешние – предназначенные для использования другими программными единицами, и внутренние – рабочие ресурсы данного модуля.
Структура модуля выглядит следующим образом:
Unit <имя модуля>;
Interface
<интерфейсная секция>
Implementation
<секция реализации>
[Begin
<секция инициализации>]
End,
Имя модуля должно совпадать с именем файла, в котором он содержится. Интерфейсная секция содержит объявление ресурсов (в том числе заголовки подпрограмм), к которым возможны обращения извне. Секция реализации содержит описание подпрограмм, объявленных в интерфейсной секции, и описание внутренних ресурсов модуля (локальных переменных, типов, подпрограмм). Обращение к этим ресурсам возможно только из подпрограмм, описанных в том же модуле. Секция инициализации содержит операторы, которые выполняют некоторые действия, необходимые для нормальной работы процедур модуля (например, открывают файлы, инициализируют некоторые переменные и т.п.). Операторы секции инициализации выполняются один раз (при подключении модуля) до начала выполнения основной программы. Эта секция в модуле может отсутствовать.
Программа, которая использует ресурсы нескольких модулей, должна в области описаний содержать спецификацию используемых модулей:
Uses <имя модуля1>, <имя модуля2>, ...;
В спецификации uses необходимо указывать только те модули, ресурсы которых данная программная единица (программа или модуль) использует непосредственно. Если подключаемый модуль использует другие модули, то их подключение уже описано в нем. Секции инициализации подсоединяемых модулей выполняются в порядке их подключения.