
- •Оглавление
- •I. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации Литература
- •1.1. Основные понятия информатики
- •1.2. Информация. Информационные процессы
- •1.3. Свойства и виды информации
- •1.4. Измерение информации
- •Вероятностный подход
- •Объемный подход
- •1.5. Системы счисления
- •Правила перевода чисел из одной системы счисления в другую
- •1.6. Логические основы эвм
- •Вопросы для подготовки к контрольной работе по теме «Информация»
- •II. Технические средства реализации информационных процессов
- •2.1. История развития вычислительной техники
- •2.2. Архитектура эвм
- •Классическая архитектура эвм
- •Магистрально-модульная или шинная архитектура компьютера
- •2.3. Состав и назначение основных элементов персонального компьютера Базовая (типовая) конфигурация современного пк
- •Краткая характеристика устройств системного блока
- •2.3 Устройства ввода/вывода данных, их разновидности и основные характеристики Устройства ввода информации
- •Устройства вывода информации
- •Устройства вывода информации
- •Вопросы для подготовки к контрольной работе по теме «Технические средства реализации информационных процессов»
- •III. Модели решения функциональных и вычислительных задач
- •1. Постановка задачи. Построение информационной модели
- •2. Формализация задачи
- •3. Построение алгоритма
- •4. Составление программы
- •5 Ввод программы в память компьютера. Пробный запуск
- •6. Отладка и тестирование программы
- •7. Получение и анализ результатов
- •IV. Алгоритмизация
- •4.1. Алгоритм и исполнитель
- •4.2. Свойства алгоритмов
- •4.4. Основные типы алгоритмов
- •Линейный тип алгоритмов
- •Разветвляющийся тип алгоритмов
- •Циклический тип алгоритмов
- •Подготовка цикла
- •V. Программирование
- •5.1. Общие понятия программирования
- •5.2. Трансляторы
- •5.3. Языки программирования
- •Поколения языков программирования
- •Обзор языков программирования высокого уровня
- •Классификация с точки зрения принципов программирования (Алексеев е.Г.)
- •5.4. Типы программирования Алгоритмическое (модульное) программирование
- •Структурное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Визуальное программирование
- •5.5. Программирование как вид деятельности
- •Методы маркетинга программного обеспечения
- •Вопросы для подготовки к контрольной работе по темам «Модели решения задач», «Алгоритмизация», «Программирование»
- •VI. Базы данных
- •6.1. Базы данных (бд), системы управления базами данных (субд)
- •6.2. Реляционные базы данных
- •Реляционные объекты данных
- •Проектирование реляционных баз данных
- •Связи в реляционных базах данных
- •VII. Программное обеспечение эвм
- •7.1. Основные понятия. Программный продукт
- •7.2. Общая классификация программного обеспечения эвм
- •7.3. Системное программное обеспечение
- •Базовое системное программное обеспечение
- •Операционная система
- •Сервисное системное программное обеспечение
- •7.4. Инструментарий технологии программирования
- •Средства для создания приложений
- •Case-технологии
- •7.5. Прикладное программное обеспечение
- •Ппп общего назначения
- •Ппп специального назначения
- •Вопросы для подготовки к контрольной работе № 4 (темы «Базы данных» и «по эвм»)
- •VIII. Компьютерные сети
- •8.1. Введение в компьютерные сети
- •8.2. Структура компьютерной сети
- •Сетевые средства и службы
- •Носители и устройства для передачи данных
- •Соединительное оборудование
- •Сетевые протоколы (tcp/ip)
- •8.3. Классификация компьютерных сетей
- •III. По физической топологии
- •8.4. Адресация в кс
- •IX. Основы защиты информации
- •9.1. Цели и направления защиты информации
- •9.2. Система безопасности информации
- •9.3. Основные методы защиты информации
- •Правовые методы защиты информации
- •Программные методы защиты информации
- •3) Программные или аппаратные барьеры (брендмауэры)
- •Вопросы для подготовки к контрольной работе № 5 (темы «Компьютерные сети» и «Основы защиты информации»)
Объектно-ориентированное программирование
Развитие идей структурного и событийного программирования существенно подняло производительность труда программистов и позволило в разумные сроки (несколько месяцев) создавать приложения объемом в сотни тысяч строк. Однако такой объем уже приблизился к пределу возможностей человека, и потребовались новые технологии разработки программ.
Объектно-ориентированное программирование базируется на понятиях объекта, класса и на трех ключевых концепциях — инкапсуляции, наследовании и полиморфизме.
В языках программирования и реализовано понятие объекта как совокупности свойств (структур данных, характерных для этого объекта), и методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и которые приводят, как правило, к изменению свойств объекта.
Объекты могут иметь идентичную структуру и отличаться только значениями свойств. В таких случаях в программе создается новый тип, основанный на единой структуре объекта (по аналогии с тем, как создаются новые типы для структур данных). Он называется классом, а каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.
Объединение данных c методами в одном типе (классе) называется инкапсуляцией. Помимо объединения, инкапсуляция позволяет ограничивать доступ к данным объектов и реализации методов классов. В результате у программистов появляется возможность использования готовых классов в своих приложениях на основе только описании этих классов.
Важнейшая характеристика класса — возможность создания на его основе новых классов с наследованием всех его свойств и методов и добавлением собственных. Класс, не имеющий предшественника, называется базовым.
Например, класс «студент» имеет свойства «ФИО», «год поступления», методы «посещать занятия» и «сдавать экзамены». Созданный на его основе класс «студент-заочник» наследует все эти свойства и методы, к которым дополнительно добавляется свойство «место работы» и метод «приезжать на сессию» Наследование позволяет создавать новые классы, повторно используя уже готовый исходный код и не тратя времени на его переписывание.
В большинстве случаев методы базового класса у классов-наследников приходится переопределять — объект класса «студент-заочник» выполняет метод «посещать занятия» совсем не так, как объект класса «студент-очник». Все переопределяемые методы по написанию (названию) будут совпадать с методами базового объекта, однако компилятор по типу объекта (его классу) распознает, какой конкретно метод надо использовать, и не вызовет для объекта класса «студент-заочник» метод «посещать занятия» класса «студент». Такое свойство объектов переопределять методы наследуемого класса и корректно их использовать называется полиморфизмом.
Визуальное программирование
Технологии объектного, событийного и структурного программирования сегодня объединены в RAD-системах, которые содержат множество готовых классов, представленных в виде визуальных компонентов, которые добавляются в программу одним щелчком мыши. Программисту надо только спроектировать внешний вид окон своего приложения и определить обработку основных событий — какие операторы будут выполняться при нажатии на кнопки, при выборе пунктов меню или щелчках мышкой. Весь вспомогательный исходный код среда сгенерирует сама, позволяя программисту полностью сосредоточиться только на реализации алгоритма.