
- •Отображение графической информации: основы теории цвета, цветовые системы 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. Передача дискретных данных: линии связи, методы передачи дискретных данных на физическом уровне, методы передачи данных канального уровня, методы коммутации.
- •Средства анализа и управления сетями: функции и архитектура систем управления сетями, стандарты систем управления, мониторинг и анализ локальных сетей.
- •Понятие информации. Виды, свойства и способы измерения информации.
- •Кодирование информации. Способы представления информации в эвм
- •Графы, способы представления графов в памяти компьютера, обход графов в ширину и глубину.
- •Поиск пути минимальной длины в графе. Алгоритм Дейкстры.
- •Сортировка массивов. Методы прямого выбора, включения и обмена.
- •Сортировка массивов. Быстрая сортировка.
- •Задача поиска. Дерево поиска.
Перегрузка операторов
Ключевое слово operator используется для того, чтобы определить функцию-член, осуществляющую преобразование типа. Оно также используется для перегрузки встроенных операторов C++. Также как имени функции, такому как print, можно придать множество различных смыслов, зависящих от аргументов, так и оператору, например, +, можно приписать доп значения. Перегруженные операторы можно исп-ть для привычной записи выр-ий как для встроенных типов, так и для АТД.
Унарные и бинарные операторы могут быть перегружены как нестатические функции-члены. Они неявно действуют на объект класса. Большинство унарных операторов можно перегружать как обычные функции, принимающие единственный аргумент класса или ссылку на тип класса. Большинство бинарных операторов можно перегружать как обычные функции, принимающие один или оба аргумента класса или ссылку на тип класса. Операторы =, (), [ ] и -> должны быть перегружены нестатическими функциями-членами.
class foo {
public:
foo operator- ();//унарный минус: - foo
foo operator- (int) ; //бинарный минус: foo - int
foo operator-(foo); };//бинарный минус: foo - foo
foo operator-(int, foo); //бинарный минус: int - foo
Доступные и недоступные для перегрузки операторы:
Нельзя: составляют операторы выбора члена,условный оператор ?, оператор sizeof и оператор разрешения области видимости ::
Можно: арифметические и логические операторы, операторы сравнения, равенства, присваивания и битовые операторы, операторы автоинкремента и автодекремента ( + + и —), опер-ры индексации массива [] и вызова функции (), опер-ры доступа к члену через указатель на объект - >, и обращения к члену через указатель на член ->*, new и delete.
Перегрузка обычными функция, как компонентными
Выбор между представлением в виде функции-члена или обычной функции /функции-не-члена) обычно зависит от того, допустимо и желательно ли неявное преобразование. Явная передача аргумента допускает его автоматическое приведение, если это необходимо и возможно. Если перегрузка осуществлена функцией-членом, то + + с равнозначно с . operator++ () Если перегрузка выполнена функцией-не-членом, то + + с равнозначно operator++ (с)
Примеры перегрузки операторов:
class clock {
public:
clock(unsigned long i); void print() const;
void tickO; //добавляет одну секунду
clock operator++(){ tick(); return *this; } // обновляет неявную переменную типа clock и возвращает обновленное значение
void reset (const clocks c);
friend clock operator +(clock cl, clock c2) ;
clock operator - (clock c);
friend clock operator *(unsigned long m, clock c);
friend clock operator *(clock c, unsigned long m);
private:
unsigned long tot_secs, sees, mins, hours, days;}
Можно перегрузить префиксный оператор ++, используя и обычную функцию:
clock operator++(clocks cl)
{cl.tick{); return cl;}
Перегрузка оператора индексирования:
имя_класса&. operator [] (целочисленный тип) ;