
- •Отображение графической информации: основы теории цвета, цветовые системы rgb.
- •Cmyk, vhs, методы формирования цвета.
- •Аппаратные средства компьютерной графики: устройства графического ввода/вывода информации.
- •Алгоритмы растровой графики: понятие связности, основные растровые алгоритмы, отрисовка отрезка алгоритмом Брезенхема, отрисовка окружности.
- •Алгоритмы растровой графики: алгоритмы заливки замкнутых фигур с границей заданного цвета, заливка многоугольников.
- •Реляционный подход к организации баз данных: фундаментальные свойства отношений, реляционная модель данных.
- •Журнализация изменений бд: журнал, журнализация и буферизация.
- •Восстановление базы данных: индивидуальный откат транзакции, восстановление после мягкого сбоя, восстановление после жесткого сбоя.
- •1. Индивидуальный откат транзакции
- •2. Восстановление после мягкого сбоя
- •4. Восстановление после жесткого сбоя
- •Реляционный подход к организации баз данных: проектирование реляционных баз данных с использованием нормализации.
- •Семантическое моделирование. Er-диаграммы.
- •Язык sql: функции и основные возможности, типы данных, средства определения схемы.
- •Средства определения схемы
- •Язык sql: структура запросов набор операторов манипулирования данными.
- •Архитектура клиент-сервер, различные реализации архитектуры клиент-сервер, понятие 2-х , 3-х звенных моделей.
- •Виртуальная память: страничная, сегментная, сегментно-страничная организация памяти, коллективное использование и защита информации; файлы, отображаемые в память.
- •Файловая система ос: состав, управление, типы файловых систем; логическая и физическая организация файла, методы доступа, операции над файлами, отображаемые файлы.
- •Класс и атд
- •Классификация методов
- •Действия над объектами
- •Область видимости класса
- •Указатель this
- •Функции-члены типа static и const
- •26. Параметрический полиморфизм: шаблонные классы и шаблонные функции - назначение, параметризованные типы данных, синтаксис и семантика.
- •Перегрузка операторов
- •Доступные и недоступные для перегрузки операторы:
- •Перегрузка обычными функция, как компонентными
- •Примеры перегрузки операторов:
- •26. Параметрический полиморфизм: шаблонные классы и шаблонные функции - назначение, параметризованные типы данных, синтаксис и семантика.
- •35. Современные web-технологии.
- •36. Инструментальные средства веб-дизайна.
- •37. Жизненный цикл информационной системы . Модели жизненного цикла информационных систем.
- •Модели жизненного цикла информационных систем.
- •38. Проектирование информационных систем. Средства проектирования информационных систем (case-средства).
- •Средства проектирования информационных систем (case-средства).
- •41 .Особенности моделей, использующих имитационный подход. Моделирование марковских случайных процессов. Имитатор системы массового обслуживания.
- •Самоподобные множества с необычными свойствами в математике
- •Стохастические фракталы
- •43. Передача дискретных данных: линии связи, методы передачи дискретных данных на физическом уровне, методы передачи данных канального уровня, методы коммутации.
- •Средства анализа и управления сетями: функции и архитектура систем управления сетями, стандарты систем управления, мониторинг и анализ локальных сетей.
- •Понятие информации. Виды, свойства и способы измерения информации.
- •Кодирование информации. Способы представления информации в эвм
- •Графы, способы представления графов в памяти компьютера, обход графов в ширину и глубину.
- •Поиск пути минимальной длины в графе. Алгоритм Дейкстры.
- •Сортировка массивов. Методы прямого выбора, включения и обмена.
- •Сортировка массивов. Быстрая сортировка.
- •Задача поиска. Дерево поиска.
Класс и атд
Класс - это абстрактный тип данных, снабженный некоторой (возможно частичной) реализацией. Таким образом, чтобы получить класс, мы должны построить АТД и решить, как его реализовывать. АТД - это математическое понятие, а реализация - это его версия, ориентированная на компьютер.
АТД, например строка, является описанием идеального, всем известного поведения типа. Пользователь строки знает, что операции, такие как конкатенация или печать, имеют определенное поведение. Операции конкатенации и печати называются методами. Конкретная реализация АТД может иметь ограничения; например, строки могут быть ограничены по длине. Эти ограничения влияют на открытое всем поведение. В то же время, внутренние или закрытые детали реализации не влияют прямо на то, как пользователь видит объект.
В C++ для обеспечения инкапсуляции используются объявления класса и структуры (class и struct) в сочетании с ключевыми словами доступа private (закрытый), protected (защищенный) и public (открытый).
Классификация методов
Конструктор - функция-член, единственная работа которой заключается в инициализации объекта класса. Конструкторы вызываются всякий раз, когда создается объект данного класса.
Конструкторы часто перегружают, задавая несколько функций-конструкторов, чтобы предоставить несколько способов инициализации объекта.
Деструктор — это функция-член, задача которой состоит в том, чтобы завершить существование переменной класса. Этот процесс часто предполагает динамическое освобождение памяти.
Модификатор - изменяет состояние объекта.
Селектор - дает доступ к состоянию, но не изменяет его.
Действия над объектами
Создание
Инициализация
Обработка
Разрушение
23 . Классы: компонентные данные, компонентные функции, способы задания доступа, синтаксическая структура определения класса, объявление, определение и инициализация объектов, объекты объявленные как константы, область видимости класса, указатель this, компонентные функции типа static и const (статические и постоянные компонентные функции), тестирование класса.
Компонентные данные при описании элементов класса не допускается инициализировать при описании класса. Для инициализации компонентных данных объекта используется конструктор. Принадлежащие классу функции имеют полный доступ к его данным, и при обращении используется только имя элемента.
В C++ классы вводятся ключевым словом class. Они являются формой структуры, права доступа к членам которой по умолчанию определены как закрытые (private). Таким образом, srtuct и class взаимозаменяемы, но необходимо определять надлежащие права доступа.
Давайте перепишем пример с комплексными числами:
struct complex { public:
r. double i]
void assign (double);
void print(){cout << real << " + " << imag « "i " ; } }
private:
double real, imag;};
inline void complex::assign(double r, double i = 0.0){real = r; imag = i;}
А вот эквивалентное представление класса:
В файле complex2.cpp
class complex {
public://стиль «должен знать»
void assign (double r, double i); //см. ниже
void print() { cout << real << " + " << imag « "i ";}
private:
double real, imag;
inline void complex::assign(double r, double i = 0.0) {real = r;imag = i;}
Также возможно было бы:
class complex {
double real, imag;
public:
void assign (double r, double i);
void print(){ cout << real << " + " << imag « "i ";}
Методика сокрытия данных — важный компонент ООП. Ее использование ведет к упрощению отладки и сопровождения кода, поскольку ошибки и изменения локализованы. Клиентские же программы должны лишь иметь представление о спецификации интерфейса типов.
Здесь используется тот факт, что по умолчанию доступ к членам класса является закрытым. Мы также будем явно использовать ключевые слова доступа и в тексте программы сперва располагать открытые члены, а затем — закрытые. Мы называем такой стиль «должен знать» («need-to-know» style), потому что все должны знать об открытом интерфейсе, но только поставщику класса необходимы сведения о закрытых деталях его реализации.