- •Среды передачи данных в сети и их параметры.
- •3) Использование пакетов при обмене данными в сети. Структура пакета. Адресация пакетов.
- •4) Протоколы обмена данными в сети и их виды
- •5) Основные методы доступа в сети (Ethernet, Token Ring, fddi) и их особенности.
- •6. Языки манипулирования данными.
- •7. Основные операции реляционной алгебры.
- •10 Назначение и основные принципы, используемые в case-технологиях проектирования бд.
- •11 Жизненный цикл промышленных программных изделий. Основные понятия. Этапы. Назначение этапов.
- •12. Программное обеспечение (по) сапр. Определения. Классификация. Виды. Функции. Принципы проектирования по. Методы проектирования программ. Показатели качества по программное обеспечение и его виды
- •Виды программного обеспечения
- •Виды по
- •13. Программный документооборот. Виды документов. Состав. Правила построения
- •Классификация документов
- •14. Объектно-ориентированный подход к программированию. Особенности. Термины и понятия. Стиль программирования. Виртуальные правила программирования. Векторное свойство. Поля и записи. Процедурный тип
- •15. Понятие информационной безопасности. Объекты защиты. Угрозы безопасности.
- •16. Нежелательные излучения технических средств. Образование технических каналов утечки информации.
- •17. Технические средства информационной защиты. Защита телефонных линий. Защита компьютерных сетей.
- •18. Криптографические методы защиты информации. Одно - и двухключевые системы. Алгоритм криптографического преобразования rsa. Алгоритм шифрования des.
- •19. Системы управления и контроля доступа.
- •20. Защита компьютерных систем. Компьютерные вирусы, классификация. Антивирусные программы. Виды вирусов Червь
- •Троянская программа (троянский конь, троян)
- •Программы – шпионы
- •Программы – блокировщики (баннеры)
- •Антивирусы для сайтов
- •21. Формы представления информации. Преобразование непрерывных сообщений.
- •22. Дискретизация непрерывного сообщения. Теорема Котельникова. Преимущества дискретной формы.
- •Равномерная дискретизация. Теорема Котельникова
- •23. Понятие энтропии. Условная энтропия. Статистическое определение информации. Энтропия и информация.
- •Энтропия — это количество информации, приходящейся на одно элементарное сообщение источника, вырабатывающего статистически независимые сообщения. Условная энтропия
- •24. Представление информации в цифровых автоматах. Информация и алфавит.
- •25. Дисплей. Устройство и функционирование в текстовом и графическом режимах. Устройства указания элементов изображения.
- •26. Устройства печати. Назначения и классификация. Знакосинтезирующие печатающие устройства ударного и безударного типов. Струйные и лазерные печатающие устройства.
- •27. Устройства сканирования. Ручные и планшетные. Сканеры изображений
- •Планшетные сканеры для изображений
- •28. Внешние запоминающие устройства на магнитных носителях. Назначение и классификация. Накопители на гибких магнитных дисках и дисках типа «винчестер».
- •29. Постоянно-запоминающие устройства (пзу); основные элементы пзу; организация пзу.
- •По разновидностям микросхем пзу
- •30. Адресация памяти; организация виртуальной памяти; страничная адресация памяти; сегментация памяти.
- •31. Симметричные мультипроцессорные системы. Архитектура smp-системы.
- •32. Аксиомы Армстронга. Декомпозиция схем отношений. Декомпозиция без потерь.
- •33. Теорема Хита. Нормализация отношений. Нормальные формы схем отношений: первая, вторая, третья, Бойса-Кодда.
- •34. Защита данных, целостность и сохранность бд. Управление доступом к бд. Резервное копирование и восстановление бд.
- •2. Литералы
- •36. Классификация информационно-вычислительных сетей. Одноранговые сети и сети ‘клиент-сервер’.
- •37. Уровни и протоколы. Кабельные и беспроводные среды передачи данных.
- •38) Коммутация каналов, сообщений, пакетов. Виртуальные каналы.
- •Глобальные сети с коммутацией каналов и пакетов
- •39) Эталонная модель osi взаимосвязи открытых систем. Иерархия уровней, протоколы, стеки протоколов.
- •Прикладной уровень[править | править вики-текст]
- •Уровень представления[править | править вики-текст]
- •Сеансовый уровень
- •Транспортный уровень
- •Сетевой уровень]
- •Канальный уровень
- •Физический уровень
- •40. Службы с постоянным соединением и без постоянного соединения.
14. Объектно-ориентированный подход к программированию. Особенности. Термины и понятия. Стиль программирования. Виртуальные правила программирования. Векторное свойство. Поля и записи. Процедурный тип
При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов ), совокупностей (или классов ), отношений между ними, способов их взаимодействия и операций над объектами (или методов ).
Несомненным преимуществом данного подхода является концептуальная близость к предметной области произвольной структуры и назначения. Механизм наследования атрибутов и методов позволяет строить производные понятия на основе базовых и таким образом создавать модель сколь угодно сложной предметной области с заданными свойствами.
Еще одним теоретически интересным и практически важным свойством объектно-ориентированного подхода является поддержка механизма обработки событий, которые изменяют атрибуты объектов и моделируют их взаимодействие в предметной области.
Перемещаясь по иерархии классов от общих понятий предметной области к более конкретным (или от более сложных – к более простым) и наоборот, программист получает возможность изменять степень абстрактности или конкретности взгляда на моделируемый им реальный мир.
Использование ранее разработанных (возможно, другими коллективами программистов) библиотек объектов и методов позволяет значительно сэкономить трудозатраты при производстве программного обеспечения, в особенности, типичного.
Объекты, классы и методы могут быть полиморфными, что делает реализованное программное обеспечение более гибким и универсальным.
Сложность адекватной (непротиворечивой и полной) формализации объектной теории порождает трудности тестирования и верификации созданного программного обеспечения. Пожалуй, это обстоятельство является одним из самых существенных недостатков объектно-ориентированного подхода к программированию.
Наиболее известным примером объектно-ориентированного языка программирования является язык C++, развившийся изимперативного языка С. Его прямым потомком и логическим продолжением является язык С#, который изучается в данном курсе. Другие примеры объектно-ориентированных языков программирования: Visual Basic, Java, Eiffel, Oberon.
Переход от структурно-процедурного подхода к объектно-ориентированному программированию, подобно переходу от низкоуровневых языков программирования к языкам высокого уровня, требует значительных затрат на обучение. Естественно, что платой за это является повышение производительности труда программистов при проектировании и реализации программного обеспечения. Другое преимущество ООП перед императивным подходом – более высокий процент повторного использования уже разработанного программного кода.
При этом, в отличие от предыдущих подходов к программированию, объектно-ориентированный подход требует глубокого понимания основных принципов, или, иначе, концепций, на которых он базируется. К числу основополагающих понятий ООПобычно относят абстракцию данных, наследование, инкапсуляцию и полиморфизм.
Зачастую в практических и учебных курсах по программированию слушатели не имеют четкого математического основания для формирования достаточно полного и ясного представления об основах ООП. Преимущество предлагаемого курса заключается в том, что уже изученные в первой части курса разделы computer science (например, ламбда-исчисление и комбинаторная логика) позволяют сформировать глубокое и точное понимание фундаментальных понятий объектно-ориентированного программирования. В частности, понятие абстракции – основной операции ламбда-исчисления – для нас является уже хорошо знакомым.
Поясним качественно фундаментальные принципы ООП. Наследование конкретных атрибутов объектов и функций оперированияобъектами основано на иерархии. Инкапсуляция означает "сокрытие" свойств и методов внутри объекта . Полиморфизм, как и в функциональном программировании, понимается как наличие функций с возможностью обработки данных переменного типа.
Рассмотрим более подробно такой фундаментальный принцип объектно-ориентированного подхода к программированию какабстракция.
В разделах математики, исследующих моделирование процесса создания программ, под абстракцией принято понимать произвольное выражение языка программирования, которое является отличным от идентификатора.
Важнейшей операцией, которая была исследована нами в первой части курса, является операция вычисления значения выражения или команды, т.е. операция означивания (в частности, функция вычисления значения явно использовалась при построении семантики языка программирования). В этой связи важно установить, что является значением абстракции. Будем считать, чтозначение функции или переменной может быть присвоено абстракции и является значением последней.
В объектно-ориентированном программировании каждый объект представляет собой принципиально динамическую сущность, т.е. изменяется в зависимости от времени (а также от воздействия внешних по отношению к нему факторов). Иначе говоря, объектобладает тем или иным образом поведения. В отношении абстракции как объекта, поведение заключается в приложении функции к аргументу.
Как мы уже отмечали, концепция абстракции в объектно-ориентированном программировании адекватно моделируется посредствомламбда-исчисления. Точнее говоря, операция абстракции в полной мере является моделью одноименного понятия ООП.
Виртуальные функции существуют ради двух целей. Во-первых, виртуальные функции определяют возможности, которые должны иметь все производные классы, но которые не могут быть реализованы на уровне базового класса. Например, вы можете сказать, что все объекты-фигуры shape должны быть способны себя распечатать. Вы не можете написать функцию print() на уровне базового класса, потому что геометрическая информация хранится в производных классах (круге circle, линии line, многоугольнике polygon и т.д.). Поэтому вы делаете print() виртуальной в базовом классе и фактически определяете эту функцию в производном классе.
Запись – это структурированный тип данных, состоящий из определенного числа компонентов, называемых полями записи.
Поле - это переменная любого типа, которая объявлена непосредственно в классе или структуре.
В программировании часто встречается ситуация, когда в алгоритме используется результат вычисления некоторой функции, но сам алгоритм не зависит от того, какая именно функция вычисляется. В языке Turbo Pascal можно описать и использовать так называемый процедурный тип данных. Описание процедурного типа состоит из словаprocedure или function, за которым в круглых скобках записывается список формальных параметров. Для функции после списка формальных параметров через двоеточие указывается тип функции. После того, как определен процедурный тип, можно описать переменные процедурного типа. Переменным процедурного типа можно присваивать значения конкретных процедур и функций. Естественно, что процедурная переменная и та процедура, которая присваивается ей в качестве значения, должны иметь одинаковое число формальных параметров, совпадающих по типам. Если переменная имеет тип функции, то для функций кроме формальных параметров должны совпадать типы функций.
