- •Понятие алгоритма: рекурсивные функции, системы текстовых замен.
- •Системы счисления, переводы чисел из одной позиционной системы в другую.
- •Передача параметров в подпрограмму, параметры входные и выходные, параметры, передаваемые по значению и по адресу.
- •Использование подпрограмм, параметры формальные, локальные, глобальные, обращения к подпрограммам, фактические параметры.
- •Статические и динамические переменные, динамическая память, работа с динамическими переменными.
- •Понятие линейного связного списка, типы списков, представление стека с помощью массива, пример использования стека.
- •Использование динамических переменных для представления и работы со стеком.
- •Очередь, реализация очереди массивом.
- •Очередь, представление и реализация основных операций с помощью динамических переменных.
- •Реализация основных операций со списком: добавление, удаление, поиск.
- •Деревья, основные операции над деревьями, представление дерева массивом.
- •Двусвязные линейные списки, построение и обход бинарного дерева.
- •Операции поиска и удаления в бинарном дереве.
- •Понятие графа, представление графа на эвм.
- •Представление графа списком инцидентности, алгоритм обхода графа в глубину.
- •Представление графа списком списков, алгоритм обхода графа в ширину.
- •Технологии программирования, концепции, заложенные в ооп.
- •Основные понятия ооп: абстракция, инкапсуляция, полиморфизм.
- •Понятие объекта, его состояние и поведение, классы, определение класса и объявление класса.
- •Статические, дружественные и виртуальные поля и методы, особенности их использования.
- •Абстрактные классы, их назначение и использование.
- •Понятие области видимости: общие, личные, защищённые и опубликованные поля и методы объекта.
- •Указатель this и перегрузка методов.
- •Использование классов, различные способы инициализации.
- •Использование классов, работа с массивами и указателями на обьекты.
- •Наследование, пример использования наследования.
- •Конструкторы и деструкторы, их назначение и использование.
- •Архитектура пк, основные функциональные устройства и их назначение.
- •Мп с точки зрения программиста, регистры общего назначения.
- •Оперативная память, понятие исполняемого и физического адреса, сегментные регистры.
- •Регистр флажков, его назначение и использование.
- •Форматы данных и форматы команд, машинный формат двухадресной машины.
- •Адресация операндов, способы адресации, примеры команд с различными способами адресации.
- •Понятие команды и директивы в Ассемблере, формат команды и директивы.
- •Структура программы на Ассемблере с использованием стандартных директив сегментации.
- •Основные элементы языка Ассемблер: имена, константы, переменные, выражения.
- •Директивы определения данных и памяти, примеры.
- •Команда прерывания, команды работы со стеком.
- •Упрощённые директивы сегментирования, структура программы с использованием точечных директив, пример программы.
- •Этапы выполнения Ассемблерной программы на эвм, понятие com-файла.
- •Различие между exe - и com – файлами, требования, предъявляемые к исходному модулю, предназначенному для создания com – файла, примеры программ.
- •Понятие структурного программирования, этап проектирования – композиция и декомпозиция, понятие статической и динамической структуры программы, спецификация программы.
- •Понятие частичной и полной корректности программы, правила вывода – общий вид, правила консеквенции.
- •Правила вывода для операторов: пустого, присваивания, составного.
- •Правила вывода для операторов ветвления.
- •Правила вывода циклов с предусловием и посусловием.
Мп с точки зрения программиста, регистры общего назначения.
Начиная с 386 процессора , доступны 16 основных регистров,11 регистров для работы с сопроцессорами и мультимедиа ,и регистры управления.
Регистр-набор из n устройств способных хранить n-разрядное двоичное число.
Регистры общего назначения используются для временного хранения адресов данных команд 32-разрядные при работе с данными,10ти словами, 8- с байми. Имеются собственные имена. Ax-аккумулятор для хранения результата,Bx- регистр базы для сложной адресации операторов,Ex- счетчик (хранит кол-во повторений цикла) при работе со строками, Dx-регистр данных(хранит часть данных, если не умещается в Ax).
Оперативная память, понятие исполняемого и физического адреса, сегментные регистры.
Оперативная память состоит из байтов, каждый байт из 8 инф. Битов 32-х разрядный процессор может обработать с ОП до 4 гб= адреса байтов меняются от 0 до 2^32-1.
Байты память и обьединяются в поля фиксированной и переменой длины.
Адрес поля-адрес младшего входящего в поле байта ожжет быть любым(кроме Ac-1)
Физический адрес(ФА)-записывается как сегмент, смещение, т.е по формуле ФА+АС+UA,где АС- адрес сегмента, UA- исполняемый адрес, те смещение формируется в команде в зависимоcти от способов адресации операндов.
Для реального режима АС определяется сегментным регистром и для получения 20-разрядного 2-ного адреса байта надо к содержимому сегментного регистра ,смещенного на 4 разряда влево, прибавить 16-разрядное смещение –UA.
Пример- ФА=(CS)+(IP);
(CS)=7A1516=0111101000010100002. (IP)=C7D916=1100011111011012
(ФА)=8692916=1000110100100101002
Процессор может работать с ОП как с сегментами памяти .Адрес любого байта при сегментировании состоит из адреса начала сегмента и адреса внутри. Для определения адреса начала сегмента используется сегментные регистры :DS,ES,FS,GS и SS –селекторы.(?).
ОС могут размещать сегменты в различных областях ОП и хранить временно на винчестере, если ОП не хватает.
В защищенном режиме сегментный регистр (селектор) свзяна с недоступным регистров(дескриптор),в котором хранится адрес начала сегмента его размер. В реальном режиме размер сегмента фиксирован(64 r,) при этом процессор может работать с 1 мб памяти ,поэтому адрес сегмента в 16-й СС кратен 16.
В защищенном режиме размер может достигать 64 мб(ГБ)? Хззз
DS определяет сегмент данных по умолчанию. Для этого существует сегмент регистра ES,FS,GS.
Регистр SS определяет начало сегмента стека. Сегментных регистров всего 6. В любой момент можно изменить содержимое регистра и т.о организовать работу со след. Участком памяти.
Сегмент стека используется особым образом. ОС автоматически записывает начало сегмента стека в регистр SS а указатель на вершину хранится в SP или ESP.
Стек организован так, что при добавлении в него элементов в стек ,значение указателя на вершину .т.е содержимое SP уменьшается т.е стек растет вниз(от максимального возможного значения начала его сегмента)
Чтобы стек можно было использовать для хранения фактических и локальных параметров,после передачи факт..параметров значение указателя на вершину стека можно сохранить в регистре BP и тогда к глобальным параметрам можно обращаться,используя конструкцию BP-к, а к локальным BP+n,где k и n –определяются кол-вом параметров и их длиной.