- •Лекция 1 информатика – предмет и задачи
- •1 Появление и развитие информатики
- •2 История развития предметной области информатики
- •2.1 Информатика как гуманитарная наука
- •2.2 Информатика как техническая наука
- •2.3 Информатика как естественная наука
- •3 Структура информатики
- •4 Информационные ресурсы и информационные технологии
- •4.1 Информационный ресурс
- •4.2 Информационные технологии.
- •5 Цель и задачи дисциплины информатики
- •Лекция 2 математические основы информатики
- •1 Системы счисления
- •1.1 Основные понятия
- •1.2 Системы счисления, используемые для общения с компьютером.
- •1.4 Арифметические операции в позиционных системах счисления.
- •2 Числовая система эвм
- •2.1 Форматы данных
- •2.2 Числа в формате с фиксированной запятой
- •2.3 Числа в формате с плавающей запятой
- •Лекция 3 информация
- •1 Что такое информация
- •2 Свойства информации
- •2.1 Внешние свойства информации.
- •2.2 Внутренние свойства информации
- •3 Количество информации
- •3.1 Энтропийная характеристика информации
- •3.2 Объемный (символьный) метод определения количества информации
- •3.3 Алгоритмический метод определения количества информации
- •4 Классификация информационных объектов.
- •4.1 Иерархическая система
- •4.2 Фасетная система
- •4.3 Дескрипторная система классификации
- •Лекция 4 Кодирование информации в эвм
- •1 Кодирование символьной информации в эвм
- •2 Представление графической информации
- •3 Представление звуковой информации
- •Лекция 5 Логические основы построения цифровых автоматов
- •1 Аппарат булевой алгебры
- •2 Законы алгебры логики
- •3 Логический синтез переключательных и вычислительных схем
- •4 Основы элементной базы цифровых автоматов
- •Лекция 6 архитектура и структура компьютера
- •1 Принципы построения компьютера
- •1.1 Принцип двоичного кодирования.
- •1.2 Принцип однородности памяти.
- •1.3 Принцип адресности.
- •1.4 Принцип программного управления.
- •2 Классическая архитектура эвм
- •3 Система команд эвм
- •3.1 Порядок выполнения команды
- •4 Виды архитектур эвм
- •4.1 Классификация по Флинну
- •4.1.1 Однопроцессорная архитектура
- •4.1.2 Многопроцессорная архитектура
- •4.1.3 Архитектура с параллельными процессорами.
- •4.1.4 Многопроцессорная обработка misd
- •4.1.5 Многомашинная вычислительная система.
- •4.1.6 Принцип открытой архитектуры.
- •5 Базовая аппаратная конфигурация
- •5.1 Системный блок
- •5.2 Видеосистема компьютера
- •5.2.1 Монитор на базе электронно-лучевой трубки
- •5.2.2 Газоразрядные мониторы
- •5.2.3 Жидкокристаллические мониторы lcd (Liquid Crystal Display)
- •5.2.4 Сенсорный экран
- •5.3 Клавиатура
- •5.4 Манипуляторы
- •Лекция 7 Хранение информации
- •1 Основные виды памяти и классификация зу
- •2 Оперативные запоминающие устройства
- •3 Постоянные запоминающие устройства
- •4 Зу с последовательным доступом
- •5 Структура хранения данных
- •5.1 Файловая система fat
- •5.2 Файловая система ntfs
- •Лекция 8 периферийные устройства персонального компьютера
- •1 Устройства ввода данных
- •1.1 Устройства ввода знаковых данных
- •1.2 Устройства ввода графических данных
- •2 Устройства вывода данных
- •2.1 Матричные принтеры
- •2.2 Лазерные принтеры.
- •2.3 Светодиодные принтеры
- •2.4 Струйные принтеры.
- •3 Устройства хранения данных
- •3.1 Накопители на гибких магнитных дисках
- •3.2 Накопители на жестких магнитных дисках
- •3.3 Накопители на оптических и магнитооптических дисках
- •3.4 Flash-накопители
- •4 Устройства обмена данными
- •4.1 Модем
- •Лекция 9. Программное обеспечение и его основные характеристики
- •1 Классификация программного обеспечения
- •2 Прикладное программное обеспечение
- •2.1 Универсальное прикладное по
- •2.2 Специализированное прикладное по
- •3 Пакеты прикладных программ
- •4 Проблемно-ориентированные, интегрированные и методо-ориентированные пакеты прикладных программ
- •4.1 Проблемно-ориентированные пакеты прикладных программ
- •4.1.1 Системы обработки текстов (текстовые редакторы).
- •4.1.2 Системы обработки электронных таблиц.
- •4.1.3 Системы управления базами данных
- •4.1.4 Системы деловой графики
- •4.1.5 Организаторы работ
- •4.1.6 Пакеты программ мультимедиа
- •4.1.7 Системы автоматизации проектирования
- •4.1.8 Группа финансовых программ
- •4.2 Интегрированные и методо-ориентированные пакеты прикладных программ
- •4.2.1 Интегрированные ппп
- •4.2.1. Полносвязанные интегрированные пакеты
- •4.2.2 Объектно-связанные интегрированные пакеты
- •4.3 Методо-ориентированные ппп.
- •5 Программный продукт
- •Лекция 10 Системное программное обеспечение эвм
- •1 Классификация системного по
- •2 Виды и основные функции операционных систем
- •3 Взаимодействие с аппаратными средствами
- •3.1 Средства проверки дисков
- •3.2 Средства управления виртуальной памятью
- •3.3 Средства кэширования дисков
- •3.4 Средства резервного копирования данных
- •4 Наиболее распространенные операционные системы
- •4.1 Характеристика операционной системы windows
- •4.1.2 Многозадачность и многопоточность
- •4.1.3 Графический пользовательский интерфейс
- •4.1.4 Использование виртуальной памяти
- •4.3 Характеристика операционной системы Linux
- •5 История развития ос Windows
- •Лекция 11 инструментальное по
- •1 Инструментарий технологии программирования
- •2 Языки программирования
- •2.1 Машинные языки
- •2.2 Машинно-ориентированные языки
- •2.3 Языки высокого уровня
- •3 Виды языков программирования высокого уровня
- •3.1. Процедурный (алгоритмический) язык
- •3.2 Функциональный (аппликативный) язык
- •3.3 Логический (реляционный) язык
- •3.4 Объектно-ориентированный язык
- •3.5 Проблемно – ориентированный язык
- •4 Характеристика языков программирования
- •4.1 Паскаль - язык структурно-ориентированного программирования
- •4.2 Бейсик - язык операционально и проблемно - ориентированного программирования
- •4.3 Общая характеристика языка Си
- •4.4 Общая характеристика языка Пролог
- •4.5 Общая характеристика языка Лисп
- •Лекция 12 системы программирования
- •1 Средства создания программ
- •1.1 Язык программирования
- •1.2 Текстовый редактор
- •1.3 Трансляторы
- •1.4 Библиотеки стандартных подпрограмм
- •1.5 Редактор связей
- •1.6 Загрузчик
- •1.7 Вспомогательные программы
- •2 Интегрированные программные среды
- •2.1 Интегрированные системы программирования
- •2.2 Среды быстрого проектирования
- •3 Виды систем программирования
- •3.1 Процедурное (алгоритмическое или императивное) программирование
- •3.2 Структурное программирование
- •3.3 Объектно-ориентированное программирование
- •3.4 Декларативное программирование
- •3.4.1 Функциональное программирование
- •3.4.2 Логическое программирование
- •Лекция 13 основные понятия теории алгоритмов
- •1 Определение алгоритма и понятие его исполнителя
- •2 Классы моделей алгоритмов.
- •3 Формы записи алгоритмов
- •3.1 Словесный способ записи
- •3.2 Графическое представление алгоритмов
- •3.3 Псевдокод
- •3.4 Программный способ записи алгоритмов
- •4 Проектирование программ
- •4.1 Постановка задачи
- •4.2 Проектирование программы
- •4.3 Построение модели
- •4.4 Разработка алгоритма
- •4.5 Реализация алгоритма
- •4.6 Анализ алгоритма и его сложности
- •4.7 Тестирование программы
- •4.8 Документирование
- •Лекция 14 вычислительные сети
- •1 Принципы построения
- •2 Классификация вычислительных сетей
- •3 Архитектура сети
- •4 Способы передачи данных
- •4.1 Организация обмена информацией в сетях
- •4.1.1 Пакеты.
- •4.1.2 Уровни связи.
- •4.2 Носители сигналов
- •5 Программное обеспечение вычислительных сетей
- •5.1 Модели взаимодействия в сетях
- •Лекция 15 глобальная сеть internet
- •1 История сети internet
- •1.1 Компоненты Internet
- •2 Протоколы сети internet
- •2.1 Протокол tcp.
- •2.2 Протокол ip.
- •3 Способы организации передачи информации
- •3.1 Система адресации в Internet
- •4 Услуги, предоставляемые сетью internet
- •4.1 Электронная почта
- •4.2 World-wide-web (Всемирная информационная сеть)
- •4.3 Телеконференции Usenet
- •5 Компьютерный вирус
- •5.1 Разновидности компьютерных вирусов
- •5.1.1 Деление по способу заражения
- •5.1.2 Деление по поражаемым объектам
- •6 Антивирусные средства
- •Лекция 16 искусственный интеллект и экспертные системы
- •1 Направления исследований в области искусственного интеллекта
- •1.1 Развитие искусственного интеллекта как научного направления
- •1.2 История исследований и разработок в области систем искусственного интеллекта.
- •1.3 Направления искусственного интеллекта
- •2 Представление знаний в системах искусственного интеллекта
- •2.1 Данные и знания.
- •2.2 Представление знаний.
- •2.3 Моделирование рассуждений.
- •3 Инструментарий программирования искусственного интеллекта
- •3.1 Традиционные языки программирования.
- •3.2 Языки искусственного интеллекта.
- •4 Характеристика экспертных систем
- •4.1 Основные понятия и определения
- •4.2 Применение экспертной системы
- •5 Классификация экспертных систем
- •5.1 Схема классификации
- •5.2 Классификация по решаемой задаче
- •5.3 Классификация по связи с реальным временем
- •5.4 Классификация по типу эвм
- •5.5 Классификация по степени интеграции с другими программами
3.2 Структурное программирование
Важной вехой в развитии языков программирования явилось внедрение структурного программирования. Структурное программирование в целом не выходит за рамки процедурного направления, оно лишь дополнительно фиксирует некоторые полезные приемы технологии программирования.
Основной особенностью структурного программирования является разбиение программы на последовательность модулей, каждый из которых выполняет одно или несколько действий. Единственное требование к модулю — чтобы его выполнение всегда начиналось с первой команды и всегда заканчивалось на самой последней (то есть, чтобы нельзя было попасть на команды модуля извне и передать управление из модуля на другие команды в обход заключительной).
Модуль – это последовательность логически связанных операций, оформленных как отдельная часть программы. Использование модулей имеет следующие преимущества:
возможность создания программы несколькими программистами,
маленькие модули можно написать легко и быстро;
простота проектирования и последующих модификаций программы;
упрощение отладки программы – поиска и устранения в ней ошибок, модули можно отлаживать и тестировать независимо от всей программы;
возможность использования готовых библиотек наиболее употребительных модулей.
Встроенную поддержку модульности имеют языки Modula-2, Ada, Standard ML и др.
3.3 Объектно-ориентированное программирование
Концепция объектно-ориентированного программирования подразумевает, что основой управления процессом реализации программы является передача сообщений объектам. Поэтому объекты должны определяться совместно с сообщениями, на которые они должны реагировать при выполнении программы. В этом состоит главное отличие ООП от процедурного программирования. Таким образом, объектно-ориентированная программа состоит из объектов – отдельных фрагментов кода, обрабатывающего данные, которые взаимодействуют друг с другом через определённые интерфейсы.
Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного А. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.
Основная цель ООП, как и большинства других подходов к программированию – повышение эффективности разработки программ. Идеи ООП оказались плодотворными и нашли применение не только в языках программирования, но и в других областях Computer Science, например, в области разработки операционных систем.
Объектно-ориентированный подход использует следующие базовые понятия:
объект;
свойство объекта;
метод обработки;
событие;
класс объектов.
Объект - совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств).
Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные.
Объект обладает качественной определенностью, что позволяет выделить его из множества других объектов и обусловливает независимость создания и обработки от других объектов.
Свойство - характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.
Одним из свойств объекта являются метод его обработки.
Метод - программа действий над объектом или его свойствами, рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.
Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий.
По мере развития систем обработки данных создаются стандартные библиотеки методов, в состав которых включаются типизированные методы обработки объектов определенного класса (аналог - стандартные подпрограммы обработки данных при структурном подходе), которые можно заимствовать для различных объектов.
Событие - изменение состояния объекта.
Внешние события генерируются пользователем (например, клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генерируются системой.
Объекты могут объединяться в классы (группы или наборы - в различных программных системах возможна другая терминология).
Класс - совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
Классы представляются в виде иерархической древовидной структуры, в которой классы с более общими чертами располагаются в корне дерева, а специализированные классы (подклассы) и в конечном итоге индивидуумы располагаются в ветвях.
Программный продукт, созданный с помощью инструментальных средств О-О программирования, содержит объекты с их характерными свойствами, для которых разработан графический интерфейс пользователя.
Существуют различные объектно-ориентированные технологии и методики проектирования программных продуктов, которые должны обеспечить выполнение важнейших принципов объектного подхода:
инкапсуляция (замыкание) свойств данных и программ в объекте;
наследование;
полиморфизм.
Инкапсуляция означает сочетание структур данных с методами их обработки в абстрактных типах данных - классах объектов.
Наследование - процесс переопределение или добавление новых данных и методов их обработки при построении подклассов, в результате которого один тип наследует свойства другого типа. ОО языки позволяют выполнять множественное наследование, т. е. объединять в одном классе возможности нескольких других классов.
Полиморфизм - способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается.
Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего Си++, для более широкого круга программистов предпочтительны среды типа Delphi и Visual Basic.
