
- •1. Роль вычислительной техники в решении прикладных задач.
- •2. Задачи, особенности и основные инструменты прикладного программирования
- •3.Языки программирования: классификация, особенности, критерии выбора.
- •4. Архитектура прикладных информационных систем.
- •5. Процедурная и объектно-ориентированная декомпозиция.
- •6. Основные принципы объектно-ориентированного программирования: абстрагирование, инкапсуляция, наследование, полиморфизм, модульность, сохраняемость, параллелизм.
- •7. Объекты и типы объектов. Атрибуты объектов и типы атрибутов. Методы объектов.
- •9. Директивы препроцессора: #include, #define, #error, #pragma, операции # и ##
- •11. Компиляция программы и сборка исполняемого модуля.
- •12. Размещение программы и данных в памяти.
- •13. Структура исполняемого модуля.
- •14. Переменные: объявление, определение, инициализация
- •15. Переменные: значение, указатель, ссылка.
- •16.Время жизни и области видимости переменных.
- •19. Составные типы данных.
- •20. Встроенные массивы: размещение в памяти, доступ к элементам. Размещение массива в памяти
- •Элементы массива
- •22. Условные конструкции выбора if/else , select.
- •23. Конструкции циклов for, while, do/ while; операторы break и continue.
- •24. Логические операции.
- •25. Функции: объявление, определение, передача аргументов по ссылке и по значению; входные и выходные параметры, возвращаемое значение, инструкция return.
- •26. Перегрузка функций.
- •27. Библиотека стандартного потокового ввода/вывода. Форматированный ввод/вывод. Файловые потоки, потоки в памяти.
- •28. Обработка строк, класс string.
- •29. Классы. Инкапсуляция. Сокрытие данных и видимость членов класса. Идиома «pimpl».
- •30. Конструктор класса. Конструктор с параметрами и конструктор по умолчанию. Конструкторкопирования.Операторприсваивания.Деструктор.
- •31.Наследование и полиморфизм классов: виртуальные функции.
- •32.Абстрактные базовыеклассы.
- •33.Множественное наследование.
- •34.Перегрузка операторов.
- •35.Объекты-владельцы. «Интеллектуальные» указатели.
- •36. Объекты-владельцы с частной копией ресурса.
- •37. Объекты-владельцы с совместным владением ресурсом.
- •38. Приведениетипов. Операторыstatic_cast, reinterpret_cast, dynamic_cast.
- •39. Константные и не-константные переменные. Оператор const_cast.
- •40. Шаблоны функций и шаблоны классов.
- •41. КонтейнерыстандартнойбиблиотекиStl.
- •42. Итераторы контейнеров.
- •43. Динамический массив на примере контейнера vector.
- •44. Связный список на примере контейнера list.
- •45. Контейнер deque библиотеки stl.
- •46. Ассоциативные контейнеры: map, multimap, set, multiset.
- •47. Стандартные алгоритмы: алгоритм sort; объекты-функции.
- •48. Взаимодействие прикладных программ с базами данных. Протокол odbc.
- •49. Оконный интерфейс. Организация графического оконного интерфейса при помощи оконных сообщений в ос Windows.
- •50. Работа с объектами графического интерфейса gdi.Кисти и перья; контекст устройства вывода («devicecontext»)
1. Роль вычислительной техники в решении прикладных задач.
2. Задачи, особенности и основные инструменты прикладного программирования
Обычно прикладное пр-е использую в качестве некого противоположности программирования системе. Система тяготеет к созданию операционных систем и таких инфраструктурных компонентов как базы данных и прочих серверов. Обычно не предназначено для пользования обычного пользователя. Предназначено чтобы с ней работали разработчики прикладных программ опираясь на возможности операционных систем тех же баз данных, http серверов( веб серверов) чтобы на основе этих компонент создавали уже прикладные программы. Прикладное программирование ориентировано на конечного пользователя. В пр. прогр-ии чаще используются готовые инфраструктурные документы, такие как операционные системы и системы правления базами данных. Инструменты- это языки программирования, компоненты, библиотеки, среды выполнения интегрирования dot net java.
3.Языки программирования: классификация, особенности, критерии выбора.
Делятся по уровням поддержка объектно-ориентированного подхода. Есть языки которые не поддерживают объектно-ориентированные ( классы) например: С не имеет встроенных элементов. языки супер высокого уровня и супер объектно-ориентированные : Java, javascript, с sharp и т.д. С ++ он позволяет использовать возможности высокого уровня объектно-ориентированного и не объектно-ориентированного. Критерия выбора: конечному пользователю не важно на каком языке что написано, главное чтобы оно выполняло свое назначение. Но разработчику далеко не безразлично. Зависит от опыта программиста, от подхода.
4. Архитектура прикладных информационных систем.
В центре- база данных( предприятия и т.д.), вокруг нее строится приложение, которое из этой базы данных извлекают информацию, обрабатывают и запихивают обратно.
5. Процедурная и объектно-ориентированная декомпозиция.
Процедурной декомпозицией называют процесс представления разрабатываемого программного обеспечения в виде совокупности вызывающих друг друга подпрограмм. Каждая подпрограмма в этом случае выполняет некоторую операцию, а вся совокупность подпрограмм решает поставленную задачу. Процедурная- это когда мы описываем действующие процедуры, алгоритмы. Объектной декомпозицией называют процесс представления предметной области задачи в виде совокупности функциональных элементов (объектов), обменивающихся в процессе выполнения программы входными воздействиями (сообщениями).
объектно-ориентированная декомпозиция когда мы раскладываем на объекты нашу систему. Все участники нашего процесса разбиты на объекты( Банк, пользователь, счет).
6. Основные принципы объектно-ориентированного программирования: абстрагирование, инкапсуляция, наследование, полиморфизм, модульность, сохраняемость, параллелизм.
Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя.
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом.
Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
модульность - принцип, согласно которому программное средство (ПС, программа, библиотека, веб-приложение и др.) разделяется на отдельные именованные сущности, называемые модулями.
Сохраняемость – способность объекта существовать во времени, переживая породивший его процесс, и/или в пространстве, перемещаясь из своего первоначального адресного пространства.
Параллелизм -это свойство систем, при которой несколько вычислений выполняются одновременно, и при этом, возможно, взаимодействуют друг с другом.