- •Раздел 1 основы теоретической информатики Лекция 1 Основные понятия и определения информатики
- •Терминалогия и объект информации
- •Предметная область информатики
- •Историческая справка развития вычислительной техники
- •Лекция 2 Научные основы информатики
- •2.1 Категории информатики
- •2.2 Аксиоматика информатики
- •2.3 Виды и свойства информации
- •2.4 Методы измерения информации
- •Лекция 3 Системы счисления
- •3.1 Основные понятия
- •3.2 Двоичная система счисления
- •3.3 Смешанные системы счисления
- •3.4 Перевод чисел в системах счисления
- •4.1 Перевод целых чисел из р-итой системы счисления в q-ичную.
- •3.4.2 Перевод дробной части
- •Лекция 4 Основы элементной базы цифровых автоматов
- •4.1 Логические элементы
- •4.2 Основы построения логических элементов
- •4.2.1 Образование и свойства электронно-дырочного перехода
- •4.2.2 Биполярные и полевые транзисторы
- •4.3 Элементы интегральных схем
- •Лекция 5 Формы представления и преобразования информации
- •5.1 Общие принципы представления информации. Числовая система эвм
- •5.2 Числовая система эвм
- •5.2.1 Представление целых чисел без знака и со знаком
- •5.2.2 Индикаторы переноса и переполнения в эвм
- •5.3 Представление символьной информации в эвм
- •5.4 Форматы данных
- •Раздел 2 Техническая база современной информатики Лекция 6 Общие принципы организации и работы компьютеров
- •6.1 Классификация и характеристики эвм
- •6.1.1 Классификация эвм по принципу действия
- •6.1.2 Классификация эвм по назначению
- •6.2.1 Устройства пк
- •6.2.2 Основные принципы построения компьютеров.
- •6.3 Элементарные команды эвм
- •Лекция 7 Архитектура и структура компьютера
- •7. 1 Архитектура и структура компьютера
- •7.2 Устройство центрального процессора
- •7.2.1 Структура микропроцессора
- •7.2.1.1 Операционная часть
- •Алгоритм работы уу следующий:
- •Алу предназначено для выполнения арифметических и логических операций преобразования информации.
- •Алгоритм работы алу следующий:
- •7.2.1.2 Интерфейсная часть мп
- •7.2.2 Типы микропроцессоров
- •7.3 Устройства памяти
- •7.3.1 Оперативная память
- •7.3.3 Специальная память
- •Лекция 8 Организация ввода-вывода информации
- •8.1 Устройства ввода и отображения текстовой и графической информации
- •8.1.1 Видеотерминальные устройства
- •8.2 Внешние запоминающие устройства
- •8.3 Печатающие устройства
- •8.3.1 Матричные принтеры
- •8.3.2 Струйные принтеры
- •8.3.3 Литерные принтеры
- •8.3.4 Лазерные принтеры
- •9.2 Основные способы передачи данных
- •9.3 Аппаратная реализация способов передачи данных
- •Лекция 10 Организация межкомпьютерной связи
- •10.1 Основные способы организации межкомпьютерной связи
- •10.2 Понятие топологии сети и базовых топологий
- •10.2.1 Топология типа «шина»
- •10.2.2 Топология типа «звезда»
- •10.2.3 Топология типа «кольцо»
- •10.2.4 Комбинированные топологии
- •Лекция 11 Классификация компьютерных сетей
- •11.1 Классификация вычислительных сетей
- •11.2 Способы соединения между собой локальных и глобальных вычислительных сетей
- •Лекция 12 Основы теории интернет
- •12.1 Сетевые протоколы
- •12.2 Система ip-адресации
- •12.3 Сервисы, предоставляемые сетевыми технологиями
- •12.3.1.Сервис Электронная почта (e-mail)
- •12.3.2 Сервис Сетевые новости Usenet
- •12.3.3 Сервис Списки рассылки (Maillists)
- •12.3.4 Сервис ftp - передача файлов
- •Лекция 13 Мультимедиа и мультимедийные технологии
- •13.1 Основные понятия мультимедиа
- •13.2 Аппаратные средства мультимедиа
- •13.3 Технологии мультимедиа
- •13.3.1 Образование
- •13.3.2 Техника
- •13.3.3 Промышленность
- •14.1.2 Свойства алгоритмов
- •14.1.3 Правила построения алгоритма
- •14.2 Формы записи алгоритма
- •14.2.1 Словесная форма записи алгоритмов
- •14.2.2 Графическая форма записи алгоритмов
- •14.2.3 Псевдокод
- •14.2.4 Программная форма записи алгоритма
- •14.3 Базовые алгоритмические структуры
- •14.3.1 Типы базовых алгоритмических структур
- •14.3.2 Линейная базовая структура ("последовательность")
- •П Рисунок 14.1 ример. Вычислить высоты треугольника со сторонами а, b, с, используя формулы:
- •14.3.3 Базовая структура "ветвление".
- •14.3.5 Базовая структура "цикл"
- •Лекция 15 Языки программирования и их уровни
- •15.1 Языки программирования
- •15.1.1 Машинный язык
- •15.1.1.1.Недостатки машинного языка.
- •15.1.2 Язык ассемблер
- •15.1.3 Языки программирования высокого уровня
- •15.2 Компоненты, образующие алгоритмический язык
- •15.2.1 Отличительные особенности алгоритмических языков
- •15.2.2 Компиляторы и интерпретаторы
- •15.2.3 Преобразование алгоритма в программу
- •15.2.4 Три составляющие алгоритмического языка
- •15.3 Общая характеристика языка Турбо Паскаль
- •15.4 Общая характеристика языка Си
- •16.1.1.2 Составные элементы Паскаль–программы
- •Операторы
- •Идентификаторы и имена
- •Описания
- •Переменные
- •Функции и процедуры
- •16.1.1.3 Синтаксис языка.
- •16.1.2 Структура программы на языке Паскаль
- •16.1.3 Классификация типов данных языка Паскаль
- •16.1.3.1 Простые типы Целые типы
- •Логический тип
- •Символьный тип
- •Перечисляемый тип
- •16.1.3.2 Структурированные типы Массив
- •Порядок использования строк.
- •Множество
- •Порядок использования множеств
- •Порядок использования типа файл:
- •16.2.1.2 Основные элементы Си-программы
- •Функции
- •Типы переменных
- •Целочисленные типы
- •Тип char
- •Вещественные типы
- •16.2.1.3 Синтаксис языка Идентификаторы
- •Предопределённые константы
- •Ключевые слова
- •16.2.2 Структура программы на языке Си.
- •16.2.3 Классификация типов данных языка Си.
- •16.2.3.1 Целочисленный (целый) тип данных (тип int)
- •16.2.3.2 Вещественный (данные с плавающей точкой) тип данных (типы float и double)
- •Лекция 17 Основные конструкции языка Turbo Pascal и c
- •17.1 Основные конструкции языка Turbo Pascal
- •17.1.1 Константы
- •17.1.2 Переменные
- •17.1.3 Функции
- •17.1.3.1 Стандартные функции
- •Математические функции
- •Функции преобразования типа
- •Функции для величин порядкового типа.
- •17.1.3.2 Функции, создаваемые пользователем
- •17.1.4 Знаки операций
- •17.1.4.1 Арифметические операции
- •17.1.4.2 Логические операции
- •17.1.4.3 Операции с битами информации
- •17.1.4.4 Операции отношения
- •17.1.5 Круглые скобки.
- •17.1.6 Порядок вычисления выражений
- •17.2 Основные конструкции языка c
- •17.2.1 Константы
- •17.2.1.1 Целочисленные константы
- •17.2.1.2 Вещественные константы
- •17.2.1.3 Символьные константы
- •17.2.1.4 Строковые константы
- •17.2.2 Переменные
- •17.2.3 Функции
- •17.2.3.1 Рекурсивные функции
- •17.2.3.2 Математические функции
- •17.2.4 Знаки операций
- •17.2.4.1 Операция присваивания
- •17.2.4.2 Операции отношения
- •17.2.4.3 Арифметические операции
- •17.2.4.4 Логические операции
- •17.2.4.5 Сдвиговые операции
- •17.2.4.6 Круглые скобки
- •17.2.4.7 Порядок вычисления выражений
- •Лекция 18 Операторы языка Turbo Pascal и c
- •18.2.2 Оператор goto
- •18.2.2.1 Назначение
- •18.4.2 Оператор switch
- •18.4.2.1 Назначение
- •18.4.2.2 Форма записи:
- •19.1.2 Порядок создания и использования процедур
- •19.1.3 Порядок создания и использования функций
- •19.1.4 Механизм формальных параметров
- •19.1.4.1 Параметры-значения
- •19.1.4.2 Параметры-переменные
- •19.1.4.3 Параметры-константы
- •19.1.4.4 Параметры без типа
- •19.1.4.5 Массивы и строки открытого типа
- •19.1.4.6 Параметры-процедуры и параметры-функции
- •19.1.5 Использование модулей в Турбо Паскаль
- •19.1.5.1 Стандартные модули Турбо Паскаль
- •Модуль System
- •Модуль Strings
- •Модуль Crt
- •Модуль Graph
- •Модуль Overlay
- •19.1.5.5 Исполнительная часть модуля
- •19.1.5.6 Секция инициализации
- •19.1.5.7 Использование модуля в основной программе
- •19.1.5.8 Использование идентификаторов элементов модуля
- •19.2 Подпрограммы в языке c
- •19.2.1 Характеристика подпрограмм
- •19.2.2 Порядок создания и использования функций
- •19.2.2.1 Определение функции
- •19.2.2.2 Вызов функции
- •19.2.2.3 Возврат в вызывающую функцию
- •19.2.3 Механизм формальных параметров
- •Лекция 20 Программное обеспечение и его основные характеристики
- •20.1 Основные понятия программного обеспечения
- •20.2 Классификация программного обеспечения
- •20.3 Системное программное обеспечение
- •20.4 Инструментальное программное обеспечение
- •20.5 Прикладное программное обеспечение
- •20.5.1 Универсальное прикладное по
- •20.5.2 Специализированное прикладное по
- •Лекция 21 Операционные системы
- •21.1 Назначение и основные функции операционных систем
- •21.1.1 Средства проверки дисков
- •21.1.2 Средства управления виртуальной памятью
- •21.1.3 Средства кэширования дисков
- •21.1.4 Средства резервного копирования данных
- •21.2 Понятие файловой системы
- •21.2.1 Обзор файловой системы fat
- •21.2.2 Обзор файловой системы ntfs
- •21.3 Взаимодействие с аппаратными средствами
- •Лекция 22 Операционная система windows
- •22.1 История развития ос Windows
- •22.2 Характеристика операционной системы Windows
- •22.2.2 Многозадачность и многопоточность
- •22.2.3 Графический пользовательский интерфейс
- •22.2.4 Использование виртуальной памяти
- •22.3.1 Объекты файловой системы
- •22.3.1.1 Объект – файл
- •22.3.1.2 Объект – папка
- •22.3.1.3 Объект – ярлык
- •22.3.2 Иерархическая структура подчиненности папок
- •22.3.3 Объекты пользовательского уровня – приложение и документ
- •22.3.4 Основные понятия графического интерфейса Windows
- •22.3.4.1 Формы указателя мыши при работе с объектами
- •22.3.4.2 Окна – объекты графического интерфейса
- •22.4.3.3 Калькулятор
- •22.4.4.1 Проверка диска
- •22.4.4.2 Дефрагментация диска
- •22.4.4.3 Мастер обслуживания дисков
- •22.5 Управляющая программа Total Commander
- •Лекция 23 Другие распространенные операционные системы
- •23.1 Характеристика операционной системы unix
- •23.2 Характеристика операционной системы Linux
- •23.3 Характеристика операционной системы Mac os
- •Лекция 24 Текстовый редактор Microsoft Word
- •24.1 Офисные системы
- •24.2 Текстовые редакторы
- •24.2.1 Основные версии Microsoft Word
- •24.2.2 Рабочее окно процессора Microsoft Word
- •24.2.2.1 Режимы отображения документов
- •24.2.2.2 Приемы работы с командами строки меню
- •24.2.2.3 Панели инструментов Microsoft Word
- •24.3 Приемы работы с текстами в процессоре Microsoft Word
- •24.3.1 Работа с текстом
- •Использование Тезауруса.
- •Средства автоматизации проверки правописания.
- •Средства рецензирования текста
- •24.3.1.4 Форматирование текста
- •24.3.2 Приемы и средства автоматизации разработки документов
- •24.3.2.1 Работа со стилями
- •24.3.2.2 Шаблоны
- •24.3.2.3 Темы
- •24.3.3 Создание комплексных документов
- •24.3.3.1 Работа с графическими объектами
- •25.2 Основные понятия электронных таблиц Excel
- •25.2.2 Ввод, редактирование и форматирование данных
- •25.2.2.1 Ввод текста и чисел.
- •25.2.2.2 Форматирование содержимого ячеек.
- •25.2.2.3.Копирование содержимого ячеек
- •25.3 Применение электронных таблиц для расчетов
- •25.3.1 Вычисления в электронных таблицах
- •25.3.1.1 Формулы
- •25.3.1.2 Ссылки на ячейки
- •25.3.1.3 Абсолютные и относительные ссылки
- •25.3.1.4 Автоматизация ввода
- •25.3.1.5 Использование стандартных функций
- •25.3.1.6 Палитра формул.
- •25.3.1.7 Использование мастера функций.
- •25.3.2 «Итоговые вычисления»
- •25.3.2.1 Суммирование.
- •25.3.2.2 Функции для итоговых вычислений.
- •25.4 Построение диаграмм и графиков
- •25.4.1 Тип диаграммы
- •25.4.2 Выбор данных
- •25.4.3 Оформление диаграммы.
- •25.4.4 Размещение диаграммы.
- •25.4.5 Редактирование диаграммы
- •25.4.6 Виды используемых диаграмм
- •Лекция 26 Система управления базой данных
- •26.1 Основные понятия
- •26.1.1 Классификация баз данных
- •26.1.1.1 Файл-сервер
- •26.1.1.2 Клиент-сервер
- •26.1.2 Структурные элементы базы данных
- •26.1.3 Объекты базы данных
- •26.1.4 Типы данных
- •26.1.5 Виды моделей данных
- •26.1.6 Иерархическая модель данных
- •26.1.7 Сетевая модель данных
- •26.1.8 Реляционная модель данных
- •26.2 Реляционный подход к построению инфологической системы
- •26.2.1 Понятия информационного объекта
- •26.2.2 Нормализация отношений
- •26.2.2.1 Первая нормальная форма
- •26.2.2.2 Вторая нормальная форма
- •26.2.2.3 Третья нормальная форма
- •26.2.3 Типы связей
- •26.2.4 Построение инфологической модели
- •26.2.4.1 Архитектура субд
- •К Внешние модели. Онцептуальная модель
- •26.2.4.2 Понятие информационно-логической модели
- •27.1.2 Предметные области для экспертных систем
- •27.1.2.1 Медицинская диагностика
- •27.1.2.2 Прогнозирование
- •27.1.2.3 Планирование
- •27.1.2.4 Интерпретация
- •27.1.2.5 Контроль и управление
- •27.1.2.6 Диагностика неисправностей в механических и электрических устройствах
- •27.1.2.7 Обучение
- •27.2 Классификация экспертных систем
- •27.3 Структура экспертных систем. Средства построения экспертных систем
- •Лекция 28 Искусственный интеллект
- •28.1 Понятие об искусственном интеллекте. История развития систем искусственного интеллекта
- •28.1.1 Появление предпосылок создания искусственного интеллекта (1943-1955)
- •28.1.2 Рождение искусственного интеллекта (1956)
- •28.1.3 Ранний период развития (1952 — 1969)
- •28.1.4 Первые практические реализации систем искусственного интеллекта (1966-1973)
- •28.1.5 Системы, основанные на знаниях (1969 — 1979)
- •28.1.6 Превращение ии в индустрию (1980 — настоящее время)
- •28.1.7 Возвращение к нейронным сетям (1986 — настоящее время)
- •28.1.8 Превращение ии в науку (1987 — настоящее время)
- •28.1.9 Появление подхода с использованием интеллектуальных агентов (1995 — настоящее время)
- •28.2 Представление знаний в системах искусственного интеллекта
- •28.3 Инструментарий программирования искусственного интеллекта
- •29.1.1.2 Методо–ориентированные ппп
- •29.1.1.3 Ппп общего назначения
- •29.1.1.4 Интеллектуальные системы
- •29.1.1.5 Ппп автоматизированного проектирования
- •29.1.1.6 Офисные ппп
- •29.1.1.7 Программные средства мультимедиа
- •29.1.1.8 Настольные издательские системы
- •29.2 Системы подготовки документации
- •29.3 Системы для проектирования и обработки данных
- •Лекция 30 Компьютерное математическое моделирование
- •30.1 Общие понятия о математическом моделировании
- •30.2 Цели и этапы компьютерного математического моделирования
- •30.3 Системы компьютерного математического моделирования
- •Лекция 31 Контроль передачи информации
- •31.1 Основные способы контроля передачи информации
- •31.1.1. Многократная передача кодовых комбинаций
- •31.1.2 Одновременная передача по параллельно работающим каналам
- •31.1.3 Использование корректирующих кодов
- •31.1.4 Системы передачи данных с обратной связью
- •31.2 Принципы помехоустойчивого кодирования
- •31.2.1 Циклические коды
- •31.3 Сжатие информации
- •Лекция 32 Угрозы безопасности информации в автоматизированных системах
- •32.1 Непреднамеренные угрозы безопасности информации
- •32.2 Преднамеренные угрозы безопасности информации
- •32.3 Классификация вредоносного программного обеспечения
- •32.3.1 Классификация вирусов
- •32.3.2 Загрузочные вирусы
- •32.3.3 Файловые вирусы
- •32.3.4 Загрузочно-файловые вирусы
- •32.3.5 Полиморфные вирусы
- •32.3.6 Стелс-вирусы
- •32.3.7 Троянские кони, программные закладки и сетевые черви
- •Лекция 33 Обеспечение достоверности, сохранности и конфиденциальности информации в автоматизированных системах
- •33.1 Правила обеспечения достоверности, сохранности и конфиденциальности информации
- •33.2 Технические средства обеспечения достоверности, сохранности и конфиденциальности информации
- •33.3 Программные средства обеспечения достоверности, сохранности и конфиденциальности информации
15.2.2 Компиляторы и интерпретаторы
Из сказанного ясно, что алгоритм, записанный на алгоритмическом языке, не может быть непосредственно выполнен с помощью ЭВМ – для этого он должен быть предварительно переведен (оттранслирован) на язык той машины, на которой этот алгоритм будет исполняться. Выполнение такого перевода самим человеком потребовало бы от него больших затрат труда и времени, а к тому же – фактического умения программировать на языке машины, что свело бы на нет эффект использования алгоритмических языков.
Если же алгоритмический язык выбрать так, чтобы перевод любого алгоритма с этого языка на язык машины можно было осуществить по формальным правилам (а именно с учетом этого обстоятельства и создаются алгоритмические языки), то непосредственное выполнение такого перевода можно поручить самой машине. Для этого достаточно однажды составить специальную машинную программу, называемую транслятором, которая представляет собой не что иное, как записанный на языке машины алгоритм перевода текста с некоторого алгоритмического языка на язык какой-либо конкретной ЭВМ. Таким образом, исходными данными для транслятора является запись какого-либо алгоритма на исходном алгоритмическом языке, а результатом работы транслятора – тот же алгоритм, но записанный уже на машинном языке, пригодный для его непосредственного выполнения на соответствующей ЭВМ.
Трансляция программы может выполняться двумя способами:
методом компиляции,
методом интерпретации.
Если транслятор выполняет перевод всего текста программы в машинный код (с одновременной оптимизацией этого кода), то этот процесс называют компиляцией, а программы, выполняющие преобразование текста программы в машинный код называют компиляторами. Машинный код, полученный в результате компиляции, может храниться на любом накопителе в форме программы, которую можно в любой момент запустить на выполнение, как самостоятельное приложение.
В отличие от компилятора интерпретатор каждую отдельную команду программы преобразует в машинный код и сразу выполняет, т.е. программа интерпретирует (переводит на машинный язык) каждую команду программы. Получается, что все команды, содержащиеся в программе, в ходе работы интерпретатора выполняются последовательно друг за другом. Очевидно, что оптимизации машинного кода интерпретатор не производит.
Реальные трансляторы сочетают в себе технологии трансляции и интерпретации.
15.2.3 Преобразование алгоритма в программу
Практически используемые алгоритмические языки по своей сущности очень близки к формульно – словесному способу записи алгоритмов, который используется на уровне интуитивного (не формализованного) понятия алгоритма. При таком способе часть указаний о подлежащей выполнению последовательности действий задается в виде обычных математических формул, а часть таких указаний задается просто словами. Например, известный алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел п и m можно записать в виде:
Положить А = п, В = m.
Если А=В то перейти к п. 5, иначе — к п. 3.
Если А > В, то в качестве нового значения А принять А - В, а значение В оставить без изменения; в противном случае в качестве нового значения В принять В - А, оставив без изменения значение А.
Перейти к п. 2.
Принять НОД = А и прекратить вычисления.
Впрочем, по сути дела тот же самый алгоритм можно сформулировать и короче:
Принять А = п, В = m.
Пока А не равно В выполнять: если А > В, то положить А = А – В, иначе положить В = В - А.
Принять значение А в качестве НОД и прекратить вычисления.
Как видно, такой способ записи алгоритмов достаточно удобен и понятен для человека, но он имеет и весьма существенные недостатки. Во-первых, он громоздок и может быть излишне многословным. Во-вторых, по сути дела одно и то же указание словами можно сформулировать многими различными способами, а это таит в себе серьезную опасность неоднозначности понимания. В–третьих, такая достаточно произвольная формулировка алгоритма практически непригодна для автоматического – с помощью ЭВМ – перевода алгоритма на язык машины.
Для устранения этих недостатков и используются формализованные, строго определенные алгоритмические языки, которые в известной мере сохраняют достоинства указанного выше способа записи алгоритмов.
