- •Предисловие
- •Тема 13 посвящена актуальной в настоящее время проблеме компьютерных вирусов, также рассмотрены некоторые свойства компьютерных вирусов, их классификация, программы обнаружения и защиты от них.
- •Тема 1. Обработка данных средствами электронных таблиц Область применения
- •Основные понятия электронных таблиц
- •Общая характеристика интерфейса ms Excel
- •Технология ввода данных в ms Excel
- •Формулы, функции, мастер функций
- •Контрольные вопросы
- •Тема 2. Введение в технологию баз данных Базы данных и системы управления базами данных
- •Основные понятия теории баз данных
- •Модели данных
- •Средства ускорения доступа к данным
- •Язык запросов
- •Программные системы управления базами данных
- •Структура простейшей базы данных
- •Объекты базы данных
- •Режимы работы с базами данных
- •Разработка схемы данных
- •Контрольные вопросы
- •Тема 3. Этапы создания программ
- •Контрольные вопросы
- •Тема 4. Системы и языки программирования Системы программирования
- •Классификация языков программирования
- •Контрольные вопросы
- •Тема 5. Методологии программирования
- •Структурное программирование
- •Нисходящее проектирование
- •Концепция модульного программирования
- •Объектно-ориентированное программирование (ооп)
- •Декларативное программирование
- •Параллельное программирование
- •Case-системы
- •Индустрия искусственного интеллекта
- •Данные и знания
- •Модели представления знаний
- •Экспертные системы
- •Контрольные вопросы
- •Тема 6. Паскаль – структурный язык программирования высокого уровня Структура программы
- •Константы и переменные
- •Основные типы данных
- •Выражения, операнды, операции
- •Совместимость и преобразование типов
- •Основные операторы языка
- •Массивы
- •Процедуры и функции
- •Контрольные вопросы
- •Тема 7. Основные принципы построения компьютерных сетей
- •Основные показатели качества ивс
- •Виды информационно-вычислительных сетей
- •Контрольные вопросы
- •Тема 8. Способы связи компьютеров
- •Контрольные вопросы
- •Тема 9. Модель взаимодействия открытых систем osi
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Транспортный уровень
- •Сеансовый уровень
- •Представительский уровень
- •Прикладной уровень
- •Контрольные вопросы
- •Тема 10. Техническое и программное обеспечение ивс Техническое обеспечение информационно-вычислительных сетей
- •Серверы и рабочие станции
- •Маршрутизаторы и коммутирующие устройства
- •Модемы и сетевые карты
- •Аналоговые модемы
- •Модемы для цифровых каналов связи
- •Сетевые карты
- •Устройства межсетевого интерфейса
- •Программное обеспечение информационно-вычислительных сетей
- •Контрольные вопросы
- •Тема 11. Локальные вычислительные сети
- •Виды локальных сетей
- •Базовые технологии локальных сетей
- •Построение локальных сетей Структуризация локальных сетей средствами канального уровня
- •Построение локальных сетей средствами сетевого уровня
- •Системное программное обеспечение вычислительных сетей
- •Контрольные вопросы
- •Тема 12. Глобальная сеть Интернет Основные понятия
- •Информационные ресурсы (службы) Интернет
- •Програмное обеспечение работы в Интернете
- •Адресация и протоколы в Интернете
- •Контрольные вопросы
- •Тема 13. Вирусы и антивирусное программное обеспечение Свойства компьютерных вирусов
- •Классификация вирусов
- •Программы обнаружения и защиты от вирусов
- •Контрольные вопросы
- •Библиографический список
Нисходящее проектирование
Метод основан на идее уровней абстракции, которые становятся уровнями модулей в разрабатываемой программе. На этапе проектирования строится схема иерархии, изображающая эти уровни. Схема иерархии позволяет программисту сначала сконцентрировать внимание на определении того, что надо сделать в программе, а лишь затем решать, как это надо делать. При нисходящем проектировании исходная, подлежащая решению задача разбивается на ряд подзадач, подчиненных по своему содержанию главной задаче. Такое разбиение называется детализацией или декомпозицией. Пример такой схемы приведен на рис. 5.6.
Рис 5.6. Пример схемы иерархии
На следующем этапе эти задачи, в свою очередь, разбиваются на более мелкие подчиненные подзадачи и так далее, до уровня относительно небольших подзадач, которые требуют для решения небольших модулей. Такой метод проектирования программ позволяет преодолевать проблему сложности разработки программы (и ее последующей отладки и сопровождения).
Еще одним важным компонентом структурного подхода к разработке алгоритмов является модульность.
Концепция модульного программирования
Модуль – основа концепции модульного программирования. Каждый модуль в функциональной декомпозиции представляет собой «черный ящик» с одним входом и одним выходом. Функциональная декомпозиция задачи – разбиение большой задачи на ряд более мелких, функционально самостоятельных подзадач – модулей.
Модуль – это последовательность логически связанных операций, оформленных как отдельная часть программы. Модули связаны между собой только по входным и выходным данным.
Использование модулей имеет следующие преимущества:
возможность создания программы несколькими программистами;
простота проектирования и последующих модификаций программы;
упрощение отладки программы – поиска и устранения в ней ошибок;
возможность использования готовых библиотек наиболее употребительных модулей.
Структурный подход сыграл огромную роль в программировании и вычислительной технике. С его использованием создан большой запас программного обеспечения, решено множество практически значимых задач. Однако развитие программирования на этом не остановилось. Сегодня дополняющим структурное программирование, создающим основу для разработки современных аудиовизуальных программных комплексов стало объектное (иногда говорят объектно-ориентированное программирование), а противостоящим ему при решении определенных классов задач является декларативное программирование, выраженное двумя разными подходами – функциональным и логическим.
Объектно-ориентированное программирование (ооп)
Само структурное программирование, наиболее отчетливо выраженное в языке Паскаль (PASCAL), возникло в ходе развития процедурно-ориентированного подхода, заложенного в исторически первом из языков программирования Фортране (FORTRAN). Во всех языках этого направления разработчик алгоритма (он же, как правило, и программист) описывает, какими действиями следует реализовать процесс. В основе языков этой группы лежат понятия команд (операторов) и данных. Отдельные группы операторов могут объединяться во вспомогательные алгоритмы (процедуры, подпрограммы).
Основное понятие объектного программирования – объект.
Идея ООП заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое – объект. ООП основано на трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм.
Инкапсуляция – объединение в единое целое данных и алгоритмов обработки этих данных. В рамках ООП данные называются полями объекта, а алгоритмы – объектными методами.
Наследование – свойство объектов порождать своих «потомков». Объект - «потомок» автоматически наследует от «родителей» все поля и методы, может дополнять объекты новыми полями и заменять (перекрывать) методы «родителя» или дополнять их.
Полиморфизм – свойство родственных объектов (т.е. объектов, имеющих одного общего «родителя») решать схожие по смыслу проблемы разными способами.