- •Информатика Учебное пособие
- •Введение
- •Раздел 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.5. Инструментальные программные средства.
Инструментальные программные средства – совокупность программ, которые используются в процессе разработки прикладных программ. Современные системы программирования обычно предоставляют пользователю весьма мощные и удобные средства для разработки программ. В них входят:
трансляторы, осуществляющие преобразование программ с языка программирования на машинный язык;
библиотеки подпрограмм, содержащие заранее подготовленные подпрограммы, которыми могут пользоваться программисты;
различные вспомогательные программы, например отладчики, программы для получения перекрестных ссылок, редакторы текстов и др.
Для популярных языков программирования существует множество систем программирования. Наибольшее распространение получили такие системы, которые легки в использовании, позволяют получать эффективные программы, имеют богатые библиотеки подпрограмм и мощные возможности для отладки. В качестве примеров таких систем можно назвать Turbo Pascal, Turbo C++, Microsoft C, Microsoft Basic.
Инструментальные программные средства могут оказывать помощь на всех стадиях жизненного цикла программного обеспечения.
Языки программирования
Язык программирования - это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ. Языки программирования являются искусственными языками.
В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.
Любой алгоритм есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.
Можно выделить следующие уровни языков программирования:
машинные;
машинно-оpиентиpованные (ассемблеры);
машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы.
Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня.
При программировании на машинном языке программист может держать под своим контролем каждую команду и каждую ячейку памяти, использовать все возможности имеющихся машинных операций. Но процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, труднообозримой, ее трудно отлаживать, изменять и развивать.
Поэтому в случае, когда нужно иметь эффективную программу, которая учитывает специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (ассемблеры).
Язык ассемблера — это машинно-зависимый язык низкого уровня, в котором короткие имена соответствуют отдельным машинным командам. Используется для удобного представления программ, записанных в машинном коде.
С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессор. С другой стороны, при этом требуется очень хорошо понимать устройство компьютера, затрудняется отладка больших приложений, а результирующая программ не может быть перенесена на компьютер с другим типом процессора. Подобные языки обычно применяют для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнейшими требованиями становятся компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Языки высокого уровня были разработаны для того, чтобы освободить программиста от учета технических особенностей конкретных компьютеров. Уровень языка характеризуется степенью его близости к естественному, человеческому языку. Важным преимуществом языков высокого уровня является их универсальность, независимость от ЭВМ. Программа, написанная на таком языке, может выполняться на разных машинах. Составителю программы не нужно знать систему команд ЭВМ, на которой он предполагает проводить вычисления. При переходе на другую ЭВМ программа не требует переделки..
Языки высокого уровня делятся на:
процедурные (алгоритмические);
логические;
объектно-ориентированные.
Процедурные (алгоритмические) языки предназначены для однозначного описания алгоритмов. При решении задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения.
Первым шагом в развитии процедурных языков программирования было появление проблемно-ориентированных языков. В языке стремятся максимально полно учесть специфику класса задач, для решения которых его предполагается использовать. Использование понятий, терминов, символов, привычных для специалистов соответствующей области знаний, облегчает им изучение языка, упрощает процесс составления и отладки программы.
Разнообразие классов задач привело к тому, что на сегодняшний день разработано несколько сотен алгоритмических языков. Правда, широкое распространение и международное признание получили лишь 10-15 языков. Среди них в первую очередь следует отметить: ФОРТРАН и АЛГОЛ - языки, предназначенные для решения научно-технических задач, КОБОЛ – для решения экономических задач, БЕЙСИК – для решения небольших задач в диалоговом режиме.
В то же время в середине 60-х годов начали разрабатывать алгоритмические языки широкой ориентации – универсальные языки. Обычно они строились по принципу объединения возможностей узко-ориентированных языков. Среди них наиболее известны PL/1, PASCAL, C, C+ , Модула, АДА. Однако, как любое универсальное средство, такие широко-ориентированные языки во многих конкретных случаях оказываются менее эффективными.
Логические языки (Prolog, Lisp, Mercury, KLO и др.) ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания. В этих языках указывается что дано и что требуется получить. При этом поиск решения задачи возлагается непосредственно на ЭВМ.
Объектно-ориентированные языки (Object Pascal, C++, Java, Objective Caml. и др.). Руководящая идея объектно-ориентированных языков заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое - объект. Объекты - это скрытые модули. Фактически объектно-ориентированное программирование можно рассматривать как модульное программирование нового уровня, когда вместо во многом случайного, механического объединения процедур и данных акцент делается на их смысловую связь.
Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче.