- •1. Понятие алгоритма: рекурсивные функции, системы текстовых замен.
- •2.Системы счисления, переводы чисел из одной позиционной системы в другую.
- •3/4.Понятие подпрограммы, функции, возвращающей/не возвращающей значение в
- •5.Передача параметров в подпрограмму,параметры входные и выходные,параметры,передаваемые по значению и по адресу.
- •6.Использование подпрограмм, параметры формальные, локальные, глобальные, обращения к подпрограммам, фактические параметры.
- •8.Статические и динамические переменные,динамическая память,работа с динамическими переменными.
- •9.Понятие линейного связного списка, типы списков, представление стека с помощью массива, пример использования стека.
- •10.Использование динамич. Переменных для представл. И работы со стеком.
- •11.Очередь,реализация очереди массивом.
- •12.Очередь, представление и реализация основных операций с помощью динамических переменных.
- •13.Реализация основных операций со списком:добавление, удаление, поиск.
- •14.Деревья,основные операции над деревьями, представление дерева массивом.
- •15.Двусвязные линейные списки, построение и обход бинарного дерева.
- •16.Операции поиска и удаления в бинарном дереве.
- •17.Понятие графа, представление графа в эвм.
- •18.Представление графа списком инцидентности,алгоритм обхода графа в глубину.
- •19.Представление графа списком списков,алгоритм обхода графа в ширину.
- •20.Технологии программирования,концепции,заложенные в ооп.
- •21.Основные понятия ооп:абстракция, инкапсуляция,полиморфизм.
- •22.Понятие объекта,его состояние и поведение,классы,определение класса и объявление класса.
- •23.Статистические,дружественные и виртуальные поля и методы,особенности их использования.
- •24.Абстрактные классы,их назначение и использование.
- •25.Понятие области видимости:общие,личные,защищенные и опубликованные поля и методы объекта.
- •26.Указатель This и перегрузка методов.
- •27.Использование классов,различные способы инициализации.
- •28.Использование классов,работа с массивами и указателями на объекты.
- •29.Наследование,пример использования наследования.
- •30.Конструкторы и деструкторы, их значение и использование.
- •31.Архитектура пк, основные функциональные устройства и их значения.
- •32.Мп с точки зрения программиста,регистры общего назначения.
- •33.Оперативная память,понятие исполняемого и физического адреса,сегментные регистры.
- •34.Регистр флажков, его назначение и использование.
- •35.Форматы данных и форматы команд.
- •36.Адресация операндов,способы адресации,примеры команд с различными способами адресации.
- •37.Структура программы на Ассемблере.Стандартные директивы сегментации.
- •38.Формат команды и директивы на Ассемблере.Примеры команд и директив.
- •39.Алфавит,слова,константы,переменные и выражения в Ассемблере.
- •40.Директивы определения данных и памяти.
- •41.Команды прерывания, команды работы со стеком.
22.Понятие объекта,его состояние и поведение,классы,определение класса и объявление класса.
Основная идея ООП — объединение данных и методов их обработки в единое целое — объект, который может использоваться как самостоятельная программная единица, или как часть другого объекта, или является базой для создания новых объектов. В объекте устанавливается связь между данными и действиями над ними,эта часть в ООП имеет большое смысловое значение,определяемое классом решаемых задач.
Объект - экземпляр класса, т.е переменная определяемого пользователем типа.
Определение класса в С++ выглядит так же как и определение структуры, только вместо struct пишется class: class<имя_класса>{/*поля данные*/*методы*/};
Class<имя класса> - объявление класса.
23.Статистические,дружественные и виртуальные поля и методы,особенности их использования.
Статистические поля и методы описываются при помощи спецификатора static,доступны в пределах класса. Статистические поля используются для хранения данных,общих для всех объектов данного класса они существуют в единственном экземпляре, память под статические поля выделяется один раз при его инициализации не зависимо от созданных объектов и даже при их отсутствии. Инициализироваться статистическое поле может с помощью спецификатора доступа к области действия:
Class A{ public:static int count;}; Int A::count;...int A::count=10...A*x,y;
Cout<<A::count<<x->count<<y.count;
Прямой доступ к некоторым полям извне класса можно осуществить при помощи дружественных функций и дружественных классов.
Дружественная функция объявляется ключевым словом friend внутри класса, к элементам которого ей нужен доступ. В качестве параметра у неё должен быть объект или ссылка на объект, т.к. указатель this ей не передаётся. Дружественная функция может быть обычной функцией или методом другого класса. Размещаться она может в любом месте определения класса и на неё не распространяется действие спецификаторов доступа. Одна функция может быть дружественной к нескольким классам.
Виртуальные методы – это методы определенные ключевым словом virtual. Использование их связано с реализацией полиморфизма в ООП.
Виртуальные методы. Для того что бы обратиться к методу draw класса Line, можно выполнить явное преобразование типов: ((Line*p))->draw(<параметры>);
24.Абстрактные классы,их назначение и использование.
Класс — абстрактный,если он содержит хотя бы один чисто виртуальный метод. Абстрактные классы предназначены для представления общих понятий, которые должны уточняться,конкретизироваться в производных классах. Абстрактный класс может создать для того,чтобы быть базовым. Используя абстрактные классы можно создать функцию, формальным параметром которой является указатель на абстрактный класс. Тогда при выполнении программы, в качестве фактического параметра, может использоваться указатель на объект любого производного класса. И это позволяет создавать полиморфные функции, работающие с объектами любого типа в пределах данной иерархии классов.