- •1. Программирование.
- •1.1. Программное обеспечение. Основные этапы решения задач на эвм. Жизненный цикл программного средства
- •Программирование:
- •Каскадная модель.
- •Характеристика объектно-ориентированного программирования.
- •Использование инкапсуляции в ооп.
- •Использование наследования объектов в ооп.
- •Использование полиморфизма в ооп.
- •2. Математическая логика и теория алгоритмов.
- •2.1. Логические операции. Таблицы истинности.
- •2.2. Логика высказывани и предикатов.
- •Интуитивное и формальное определение алгоритма.
- •Теория сложности в теории алгоритмов.
- •Организация эвм и систем.
- •Принцип программного управления
- •Структуры эвм и вычислительных систем.
- •Структуры вычислительных машин
- •Структуры вычислительных систем.
- •Cisc и risc процессоры
- •Иерархическая система памяти эвм. Общие сведения и классификация памяти эвм.
- •Классификация зу по функциональному назначению (иерархия запоминающих устройств)
- •Классификация зу по принципу организации.
- •Вычислительные системы (вс). Уровни параллелизма. Классификация вс Флинна. Закон Амдала.
- •4. Операционные системы.
- •Определение операционной системы. Функции ос.
- •Классификация ос.
- •Средства синхронизации и взаимодействия процессов.
- •Файловая система.
- •Сегментно-страничное распределение памяти.
- •Страничное распределение памяти
- •Сегментное распределение памяти.
- •Сегментно-страничное распределение.
- •5. Базы данных.
- •База данных. Субд.
- •По модели данных:
- •По степени распределенности:
- •По способу доступа к бд:
- •Модели данных.
- •Реляционная модель данных.
- •Нормальные формы.
- •2) Вторая нормальная форма.
- •3) Третья нормальная форма.
- •Физическая организация данных.
- •6. Компьютерная графика.
- •Растровые (матричные) изображения.
- •Векторные модели изображений.
- •Представление геометрических моделей в программе и базе данных.
- •Графические библиотеки
- •Информационные технологии.
- •Информационная технология как составная часть информатики.
- •Базовая ит. Концептуальный уровень.
- •Структура базовой ит. Логический уровень.
- •Базовая ит. Физический уровень. Преобразование информации в данные.
- •Графические модели ит.
- •8. Сети эвм и телекоммуникации.
- •Структура и характеристики вычислительных сетей.
- •Топологии вычислительных сетей
- •Кольцо.
- •Архитектура сетей Ethernet.
- •Стандарт 10BaseT
- •Стандарт 10Base2
- •Стандарт 10Base5
- •8.4. Сети 802.11
- •Режимы работы 802.11
- •8.5. Сетевые операционные системы.
Использование инкапсуляции в ооп.
Инкапсуляция (лат. in capsula, в коробочке) в объектно-ориентированном программировании - сокрытие внутренней структуры данных и реализации методов объекта от остальной программы. Другим объектам доступен только интерфейс объекта, через который осуществляется все взаимодействие с ним.
Инкапсуляция позволяет пользователю не задумываться о сложности реализации используемого программного компонента (что у него внутри?), а взаимодействовать с ним посредством предоставляемого интерфейса (публичных методов и членов), а также объединить и защитить жизненно важные для компонента данные. При этом пользователю предоставляется только спецификация (интерфейс) объекта.
Реализация в Delphi.
В Delphi для создания скрытых полей или методов их достаточно объявить в секции private.
TMyClass = class
private
FMyField: Integer;
procedure SetMyField(const Value: Integer);
function GetMyField: Integer;
protected
public
property MyField: Integer read GetMyField write SetMyField;
end;
Для создания интерфейса доступа к скрытым полям в Delphi введены свойства
Private. Данные, описанные в этом разделе, могут обрабатываться только путём вызова методов внутри класса. За пределами класса все его частные элементы неизвестны и считаются несуществующими.
Public. Данные доступны для всех классов.
Proteced. Данные доступны только для потомков класса.
Использование наследования объектов в ооп.
Наследование — один важнейших механизмов объектно-ориентированного программирования (наряду с инкапсуляцией, полиморфизмом и абстракцией), позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.
Другими словами, класс-наследник реализует спецификацию уже существующего класса (базовый класс). Это позволяет обращаться с объектами класса-наследника точно так же, как с объектами базового класса.
Типы наследования:
Простое наследование.
Класс, от которого произошло наследование, называется базовым или родительским (англ. base class). Классы, которые произошли от базового, называются потомками, наследниками или производными классами (англ. derived class).
В некоторых языках используются абстрактные классы. Абстрактный класс — это класс, содержащий хотя бы один абстрактный метод, он описан в программе, имеет поля, методы и не может использоваться для непосредственного создания объекта. То есть от абстрактного класса можно только наследовать. Объекты создаются только на основе производных классов, наследованных от абстрактного. Например, абстрактным классом может быть базовый класс «сотрудник вуза», от которого наследуются классы «аспирант», «профессор» и т. д.
Множественное наследование.
При множественном наследовании у класса может быть более одного предка. В этом случае класс наследует методы всех предков. Достоинства такого подхода в большей гибкости. Множественное наследование реализовано в C++.
Множественное наследование — потенциальный источник ошибок, которые могут возникнуть из-за наличия одинаковых имен методов в предках. В языках, которые позиционируются как наследники C++ (Java, C# и др.), от множественного наследования было решено отказаться в пользу интерфейсов.
В ряде языков программирования все классы явно или неявно наследуются от некого базового класса. Smalltalk был одним из первых языков, в которых использовалась эта концепция. К таким языкам относятся Java (java.lang.Object), C# (System.Object), Delphi (TObject) и др.