- •Информатика Учебное пособие
- •Введение
- •Раздел 1. Общие методические рекомендации по изучению дисциплины
- •Раздел 2. Методические советы по изучению отдельных тем дисциплины и вопросы для самостоятельной проверки знаний Тема 1. Информация и информационные системы.
- •Тема 2. Технические средства реализации информационных процессов
- •Тема 3. Программные средства реализации информационных процессов
- •Тема 4. Основы алгоритмизации вычислительных процессов
- •Тема 5. Программирование на алгоритмических языках
- •Тема 6. Компьютерные сети
- •Тема 7. Основы защиты информации
- •Раздел 3. Задания для выполнения контрольных работ
- •3.1. Контрольные вопросы
- •3.2. Задачи 1 группы
- •3.3. Задачи 2 группы
- •Раздел 4. Пример выполнения задач
- •Раздел 5. Краткий обзор отдельных тем дисциплины
- •5.1. Информатика. Определения и категории информатики. Единицы измерения информации
- •5.2. Технические средства реализации информационных процессов
- •5.2.1. Основные устройства эвм, принципы их взаимодействия. Структурная схема эвм.
- •5.2.2. Организация и архитектура памяти эвм
- •5.2.3. Устройства ввода информации
- •5.2.4. Устройства вывода информации
- •5.2.5. Внешние запоминающие устройства
- •5.3. Программные средства реализации информационных процессов
- •5.3.1. Классификация программного обеспечения
- •5.3.2. Системное программное обеспечение. Операционные системы
- •5.3.3. Программы архивирования информации.
- •5.3.4. Понятие компьютерного вируса и основные методы защиты от вирусов.
- •5.3.5. Инструментальные программные средства.
- •5.3.6. Трансляция программы. Основные типы трансляторов.
- •5.3.7. Программы обработки текстовой информации
- •5.3.8. Табличные процессоры
- •5.3.9. Базы данных и субд
- •5.3.10 Программы обработки и демонстрации графических изображений
- •5.3.11 Методо-ориентированные пакеты прикладных программ
- •5.3.12 Проблемно-ориентированные пакеты прикладных программ
- •5.4. Основы алгоритмизации вычислительных процессов
- •5.4.1. Этапы прохождения прикладной задачи на эвм.
- •5.4.2. Понятие алгоритма. Свойства алгоритмов, способы задания алгоритмов
- •Элементы блок-схем
- •5.4.3. Понятие типа вычислительного процесса.
- •5.5. Программирование на алгоритмических языках Язык basic для пэвм
- •Алфавит языка basic
- •5.5.1. Данные языка basic
- •Стандартные математические функции
- •Стандартные строковые функции
- •5.5.2. Операции и выражения языка basic
- •5.5.3.Операторы ввода-вывода и преобразования информации
- •5.5.4. Операторы управления
- •5.5.5. Операторы цикла
- •5.5.6. Оператор dim
- •5.6. Компьютерные сети
- •5.6.1. Локальные компьютерные сети: понятие и топология
- •5.6.2. Глобальная компьютерная сеть Internet
- •Организация сети Internet
- •Услуги предоставляемые Internet
- •5.7. Основы защиты информации
- •5.7.1. Основные направления компьютерных преступлении
- •4. Преступная небрежность в разработке, изготовлении и эксплуатации программно-вычислительных комплексов, приведшая к тяжким последствиям.
- •5. Подделка компьютерной информации.
- •6. Хищение компьютерной информации.
- •5.7.2. Предупреждение компьютерных преступлений
- •5.7.3. Защита данных в компьютерных сетях
- •Информатика
5.3.6. Трансляция программы. Основные типы трансляторов.
Программа, составленная на алгоритмическом языке высокого уровня, не может быть непосредственно выполнена ЭВМ, так как ЭВМ умеет выполнять только последовательность элементарных операций, заданных в машинных кодах. Перевод программы с алгоритмического языка на машинный осуществляется ЭВМ с помощью специальной программы, которая называется транслятор. В программе - трансляторе "заложены" все правила алгоритмического языка и способы преобразования различных его конструкций на машинный язык. В процессе трансляции текст программы проверяется на ошибки. Существуют два типа трансляторов: компиляторы и интерпретаторы.
Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения такой программы на другом компьютере там также должен быть установлен интерпретатор — ведь без него текст программы является просто набором символов.
Компиляторы полностью обрабатывают весь текст программы. Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код. Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы (например, с помощью инструкций, ориентированных на конкретный процессор, путем исключения ненужных команд, промежуточных вычислений и т. д.). В результате законченная программа получается компактной и эффективной, работает в сотни раз быстрее программы, выполняемой с помощью интерпретатора, и может быть перенесена на другие компьютеры с процессором, поддерживающим соответствующий машинный код.
Основной недостаток компиляторов — трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры. Тогда в машинный код приходится вставлять множество дополнительных проверок, анализировать наличие ресурсов операционной системы и т.п. С помощью интерпретатора, наоборот, допустимо в любой момент остановить работу программы, исследовать содержимое памяти, организовать диалог с пользователем, выполнить сколь угодно сложные преобразования данных и при этом постоянно контролировать состояние окружающей программно-аппаратной среды, благодаря чему достигается высокая надежность работы. Кроме того, интерпретатор очень удобен для использования в качестве инструмента изучения программирования, так как позволяет понять принципы работы любого отдельного оператора языка.