- •Государственное образовательное учреждение высшего
- •Содержание
- •Введение
- •1. Основные понятия и методы теории информатики и кодирования. Сигналы, данные, информация. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- •Сообщения, данные, сигнал, атрибутивные свойства информации, показатели качества информации, формы представления информации. Системы передачи информации
- •1.1.1. Формы представления информации
- •Дискретная и аналоговая информация
- •Источник канал связи приемник
- •Контрольные вопросы
- •1.2. Меры и единицы количества и объема информации
- •Формула Шеннона:
- •Контрольные вопросы
- •1.3. Позиционные системы счисления
- •1.3.1. Способы перевода чисел из одной системы счисления
- •В другую
- •Способ перевода чисел из системы счисления
- •С любым основанием в десятичную
- •Способ перевода целых чисел из десятичной в систему счисления с любым другим основанием
- •Правило перевода дробного числа из десятичной в систему счисления с любым другим основанием
- •1.3.2. Системы счисления, используемые в компьютере
- •Перевод из восьми- и шестнадцатеричной систем счисления в двоичную
- •Перевод из двоичной в восьми- и шестнадцатеричную системы счисления
- •Перевод из восьмеричной системы счисления в шестнадцатеричную и обратно
- •1.3.3. Двоичная арифметика
- •Полная таблица сложения для двоичной системы счисления
- •Вычитание меньшего числа из большего в двоичной системе
- •Вычитание большего числа из меньшего в двоичной системе
- •1.3.4. Представление чисел в двоичном коде
- •Контрольные вопросы
- •1.4. Логические основы эвм
- •1.4.1. Основные понятия и операции формальной логики
- •1.4.2. Таблица истинности логических выражений
- •1.4.3. Основные логические операции Операция отрицания (инверсия)
- •Операции логического умножения (конъюнкция)
- •Операция логического сложения (дизъюнкция)
- •Операция импликации
- •Операция эквиваленция
- •Построение таблицы истинности для сложного высказывания
- •1.4.4. Логические законы и правила преобразований
- •1.4.5. Основные логические элементы компьютера
- •Логические вентили и, или и не
- •Полусумматор
- •Сумматор
- •Каскад сумматоров
- •Триггер
- •Контрольные вопросы
- •2. Технические средства реализации информационных процессов
- •2.1. История развития эвм. Понятие и основные виды архитектуры эвм
- •Контрольные вопросы
- •2.2. Состав и назначение основных элементов персонального компьютера, их характеристики
- •Контрольные вопросы
- •2.3. Запоминающие устройства: классификация, принцип работы, основные характеристики
- •Контрольные вопросы
- •2.4. Устройства ввода/вывода данных, их разновидности и основные характеристики
- •Контрольные вопросы
- •3. Программные средства реализации информационных процессов
- •3.1. Понятие системного и служебного (сервисного) программного обеспечения: назначение, возможности, структура. Операционные системы
- •Контрольные вопросы
- •3.2. Файловая структура операционных систем. Операции с файлами
- •Правила именования файлов
- •Примеры часто встречающихся расширений в fat и fat32 (в ms-dos и Windows)
- •Каталоги
- •Операции над файлами и каталогами
- •Контрольные вопросы
- •3.3. Технологии обработки текстовой информации
- •Двоичное кодирование текстовой информации
- •Кодировки русских букв
- •Основные восьмибитные кодировки
- •Способы передачи информации о форматировании текста
- •Различные форматы текстовых файлов (документов)
- •Контрольные вопросы
- •3.4. Электронные таблицы
- •Контрольные вопросы
- •3.5. Технологии обработки графической информации Двоичное кодирование графической информации
- •Кодирование цвета
- •Растровая графика
- •Векторная графика
- •Палитры цветов
- •Графический редактор: назначение и основные возможности
- •Различные форматы графических файлов
- •Растровые форматы
- •Векторные форматы
- •Контрольные вопросы
- •3.6. Средства электронных презентаций
- •Контрольные вопросы
- •3.7. Системы управления базами данных
- •Контрольные вопросы
- •3.8. Основы баз данных и знаний
- •I этап. Постановка задачи.
- •VI этап. Работа с созданной базой данных.
- •Классификация баз знаний
- •Контрольные вопросы
- •4. Модели решения функциональных и вычислительных задач
- •4.1. Моделирование как метод познания
- •4.2. Классификация и формы представления моделей
- •Контрольные вопросы
- •4.3. Методы и технологии моделирования
- •Классификация иис
- •Информационная технология решения задач
- •Компьютерный эксперимент
- •Контрольные вопросы
- •4.4. Информационная модель объекта
- •Контрольные вопросы
- •5. Алгоритмизация и программирование
- •5.1. Понятие алгоритма и его свойства. Блок-схема алгоритма
- •5.1.1. Основные свойства алгоритмов
- •5.1.2. Формы записи алгоритма
- •1. Словесная форма записи алгоритма
- •2. Графический способ записи алгоритма
- •3. Запись алгоритма в виде псевдокода
- •Основные служебные слова:
- •Контрольные вопросы
- •5.2. Основные алгоритмические конструкции. Базовые алгоритмы. Программы линейной структуры. Операторы ветвления, операторы цикла
- •Вложенные циклы
- •Контрольные вопросы
- •6. Локальные и глобальные сети эвм. Защита информации в сетях
- •6.1. Сетевые технологии обработки данных
- •Контрольные вопросы
- •6.2. Основы компьютерной коммуникации. Принципы организации и основные топологии вычислительных сетей
- •Контрольные вопросы
- •6.3. Сетевой сервис и сетевые стандарты
- •1. Персональный компьютер.
- •Контрольные вопросы
- •6.4. Защита информации в локальных и глобальных компьютерных сетях
- •2. Защита пароля.
- •11. Дублирование, мультиплексирование и резервирование офисов.
- •12. Резервирование каналов связи.
- •12. Защита данных от перехвата.
- •Контрольные вопросы
- •7. Технологии программирования. Языки программирования высокого уровня
- •7.1. Этапы решения задач на компьютерах
- •Контрольные вопросы
- •7.2. Понятие о структурном программировании. Модульный принцип программирования. Подпрограммы. Принципы проектирования программ сверху-вниз и снизу-вверх
- •Контрольные вопросы
- •7.3. Объектно-ориентированное программирование
- •Алгоритмическое программирование
- •Объектно-ориентированное программирование
- •Контрольные вопросы
- •7.4. Эволюция и классификация языков программирования. Основные понятия языков программирования
- •Языки низкого уровня
- •Языки высокого уровня
- •Контрольные вопросы
- •7.5. Структуры и типы данных языка программирования
- •Контрольные вопросы
- •7.6. Трансляция, компиляция и интерпретация
- •Контрольные вопросы
- •Заключение
- •Список литературы
Контрольные вопросы
7.5.1. Перечислите основные типы данных.
7.5.2. Чем отличаются константы от переменных?
7.5.3. Что понимается под массивом данных?
7.5.4. Для чего используются арифметические выражения?
7.5.5. Для чего используются логические выражения?
7.5.6. Какие значения могут принимать логические выражения?
7.5.7. Сформулируйте определение оператора.
7.5.8. Сформулируйте определение стандартной функции.
7.5.9. Сформулируйте определение программы.
7.5.10. Сформулируйте определение подпрограммы.
7.6. Трансляция, компиляция и интерпретация
С помощью языка программирования создается текст программы, описывающий разработанный алгоритм. Чтобы программа была выполнена, надо либо весь ее текст перевести в машинный код (это действие и выполняет программа – компилятор) и затем передать на исполнение процессору, либо сразу выполнять команды языка, переводя на машинный язык и исполняя каждую команду поочередно (этим занимаются программы – интерпретаторы).
Интерпретатор функционирует следующим образом: берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. После успешного выполнения текущей команды интерпретатор переходит к анализу и исполнению следующей. Если один и тот же оператор в программе выполняется несколько раз, интерпретатор всякий раз воспринимает его так, будто встретил впервые. Поэтому программы, в которых требуется произвести большой объем повторяющихся вычислений, будут работать медленно. Для выполнения программы на другом компьютере также необходимо установить интерпретатор, так как без него программа представляет собой набор слов и работать не может.
Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический анализ и только затем, если текст программы в точности соответствует правилам языка, его автоматически переводят (транслируют) на машинный язык (говорят: генерируют объектный код или object code).
Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы.
Сгенерированный объектный код обрабатывается специальной программой – сборщиком или редактором связей, который производит связывание объектного и машинного кодов. Текст программы преобразуется в готовый к исполнению ЕХЕ-файл (исполнимый код), его можно сохранить в памяти компьютера или на диске. Этот файл имеет самостоятельное значение и может работать под управлением операционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
Основной недостаток компиляторов – трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры, заранее неизвестной или динамически меняющейся во время работы программы. Для таких программ в машинный код вводятся дополнительные проверки и анализ наличия ресурсов операционной системы, средства динамического захвата и освобождения памяти компьютера, что на уровне статически заданных машинных инструкций осуществить достаточно сложно, а для некоторых задач практически невозможно.
С помощью интерпретатора, наоборот, для исследования содержимого памяти допустимо в любой момент прервать работу программы, организовать диалог с пользователем, выполнить любые сложные преобразования данных и при этом постоянно контролировать программно-аппаратную среду, что и обеспечивает высокую надежность работы программы. Интерпретатор при выполнении каждой команды подвергает проверке и анализу необходимые ресурсы операционной системы, при возникающих проблемах выдает сообщения об ошибках.
Создание исполняемого файла из исходного текста программы предполагает выполнение процессов компиляции и компоновки.
В реальных системах программирования смешаны технологии компиляции и интерпретации. В процессе отладки программу можно выполнять по шагам (трассировать), а результирующий код не обязательно будет машинным, он может быть, например, аппаратно-независимым промежуточным кодом абстрактного процессора, который в дальнейшем будет транслироваться в различных компьютерных архитектурах с помощью интерпретатора или компилятора в соответствующий машинный код.