Ответы 2016-2017.
Программирование на языках высокого уровня
Операторы языка Си
-Арифметические операторы
-Операторы сравнения
-Логические операторы
Логическое отрицание, НЕ!a
Логическое умножение, И a && b
Логическое сложение, ИЛИ a || b
-Побитовые операторы
Побитовая инверсия ~a
Побитовое И a & b
Побитовое ИЛИ (or) a | b
Побитовое исключающее ИЛИ (xor) a ^ b
Побитовый сдвиг влево a << b
Побитовый сдвиг вправо a >> b
-Составное присваивание
-Операторы работы с указателями и членами класса
Обращение к элементу массива a[b]
Непрямое обращение («объект, на который указывает a») *a
Ссылка («адрес a») &a
Обращение к члену структуры («член b объекта, на который указывает a») a->b
Обращение к члену структуры («член b объекта a») a.b
Член, на который указывает b в объекте, на который указывает a a->*b
Член, на который указывает b в объекте a a.*b
Структура программы на языке Си
Программа на языке Си состоит из одной или более подпрограмм, называемых функциями.
Основным блоком - главная функция, с именем main().
Каждое действие в языке Си заканчивается символом "точка с запятой".
Функции стандартной библиотеки языка Си
Стандартной библиотекой языка Си - часть стандарта ANSI C, посвященная заголовочным файлам и библиотечным подпрограммам. Является описанием реализации общих операций, таких как обработка ввода-вывода и строк, в языке программирования Си. Стандартная библиотека языка Си — это описание программного интерфейса, а не настоящая библиотека, пригодная для использования в процессе компиляции.
Доступ к параметрам командной строки в языке Си
Директивы препроцессора языка Си
Работа препроцессора осуществляется с помощью специальных директив (указаний). Они отмечаются знаком решетка #.
Основные директивы препроцессора
#include — вставляет текст из указанного файла. Если файл является стандартной библиотекой и находится в папке компилятора, он заключается в угловые скобки. Если файл находится в текущем каталоге проекта, он указывается в кавычках. Для файла, находящегося в другом каталоге необходимо в кавычках указать полный путь.
#define — задаёт макроопределение (макрос) или символическую константу
#undef — отменяет предыдущее определение
Язык Ассемблера
Основные команды языка Ассемблера ПЭВМ IBM PC
add приёмник, источник | выполняет сложение приёмника и источника, результат заносится в приёмник. Источник не изменяется. Но зато меняются флаги |
mov приёмник, источник | команда пересылки данных. Копирует содержимое источника в приёмник, источник не изменяется. |
sub приёмник, источник | вычитает источник из приёмника, результат заносит в приёмник |
and|or приёмник, источник | выполняет логическое побитовое И|ИЛИ над приёмником и источником, и помещает результат в приёмник. Часто используется для выборочного обнуления|объединичивания отдельных битов |
xor приёмник, источник | логическое исключающее ИЛИ. Выполняет побитое логическое исключающее ИЛИ над приёмником и источником, результат заносится в приёмник. |
cmp операнд1, операнд2 | по сути вычитание операнда2 из операнда1, только операнды не меняется (команда меняет только флаги). С помощью этой команды обычно выполняются условные переходы |
mul источник | беззнаковое умножениие |
div источник | беззнаковое деление |
jmp метка | безусловный переход на метку |
ret|(ret число) | выход из процедуры. Если число указано, то после считывания адреса возврата из стека будет удалено указанное число байтов. Указывается именно число, а не регистр. |
loop метка | цикл. Уменьшает регистр ecx на 1 и выполняет переход типа short (не дальше, чем на 127 байт) на метку, если ecx<>0. |
Структура записи команд в программе на языке Ассемблера
Базы данных
Данные
Проектирование баз данных
Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.
Основные задачи:
-Обеспечение хранения в БД всей необходимой информации.
-Обеспечение возможности получения данных по всем необходимым запросам.
-Сокращение избыточности и дублирования данных.
-Обеспечение целостности базы данных.
Основные этапы проектирования баз данных
-Концептуальное (инфологическое) проектирование — построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных.
Чаще всего концептуальная модель базы данных включает в себя:
описание информационных объектов или понятий предметной области и связей между ними.
описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.
-Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.
-Физическое проектирование — создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п
Модели данных
-Иерархическая модель
Недостатки:
--реализует отношения между исходными и дочерними записями по отношению 1:N (отношение n:m не работает)
-- дублирование информации
Реализует:
--добавление новой записи (для ключевой записи обязательно формирование ключа)
--удаление записи (если корневая удаляются и все ей подчиненные записи)
--если корневая то извлечь запись в порядке левостороннего обхода дерева
-Сетевая модель
Каждый экземпляр группового отношения характеризуется:
--Способ упорядочивания подчиненных записей (произвольный, хронологический, обратнохронологический, сортированный)
--Режим включения подчинённых записей (автоматический – не возможно занести запись если она не включена в групп отношение; ручной –позволяет записать запись в БД и не скоро включить ее в групп отношение)
--Режимы класса членства (фиксированная – подчин запись жестко связана с записью владельца. При исключении идет удаление записи из групп отношения; обязательное членство – допускается переключение записи на другого владельца, для удалении записи она не должна иметь подчиненных записей с фиксированным членством; не обязательное – можно искл запись из групп отношения но сохранить ее в БД не переключаясь к другому владельцу)
Операции над данными:
--добавление
--вкл в групп отношение, соотнести запись с записью владельца
--переключить, связать с подчиненной записью
--обновить, извлечь значение эл-тов в предворительно извлеч запись
--извлечь – извлекается последовательное по значению ключа используя групп отношения
-- удалить – убрать запись из БД
-- иск из групп отношения иск связь между записью и владельцем
Реляционная модель
Увеличение уровня абстракционных данных, представление не зависит от физич организации – использование матем теории отношений
Системы управления базами данных
Реляционная алгебра
-Переименование
-Объединение
Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям.
-Пересечение
Отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.
-Вычитание
Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B.
-Декартово произведение
-Выборка
-Проекция
При выполнении проекции выделяется «вертикальная» вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.
-Соединение
-Деление
Операционные системы