- •Конспект лекций по информатике
- •Тема 15. Компьютерные сети 82
- •Лекция 1. Информации и способы её представления в вычислительной технике
- •1. Определения и основные свойства информации
- •2. Сигналы и данные
- •3. Единицы измерения и хранения данных
- •4. Операции с данными
- •5. Информационные революции
- •Информационные революции
- •Лекция 2. История развития и состав вычислительной техники
- •1. Счетные инструменты домеханического этапа
- •2. Вычислительная техника на механическом этапе развития
- •3. Электронно-вычислительный этап
- •4. Поколения эвм
- •Поколения электронно-вычислительных машин
- •5. Основные принципы устройства, структура и состав эвм
- •Центральный процессор (цп)
- •Лекция 3. Арифметические и логические операции с двоичными числами
- •1. Системы счисления
- •Позиционные системы счисления
- •Соответствие чисел в различных системах счисления
- •Арифметические операции с двоичными числами
- •2. Двоичное кодирование чисел
- •Порядок перевода числа в двоичный машинный код
- •3. Двоичное кодирование текста
- •4. Логические операции в двоичной системе
- •Базовые логические операции
- •Лекция 4. Средства реализации информационных процессов
- •1. Технические средства эвм
- •2. Персональные компьютеры
- •3. Планшетные компьютеры
- •4. Программные средства эвм
- •5. Тенденции развития по
- •Лекция 5. Системное программное обеспечение персонального компьютера
- •1. Назначение и состав системного по
- •2. Структура и функции операционной системы
- •3. Разновидности операционных систем
- •4. Операционные системы Windows и Linux
- •Лекция 6. Технологии моделирования и построения алгоритмов
- •1. Моделирование как процесс упрощения задачи
- •2. Алгоритм и его основные свойства
- •3. Типы алгоритмических процессов
- •4. Способы записи алгоритмов
- •Лекция 7. Системы и технологии программирования. Языки программирования высокого уровня
- •1. Процесс создания компьютерной программы
- •2. Языки программирования
- •Языки программирования
- •3. Средства создания программ
- •4. Архитектура программных систем
- •Лекция 8. Компьютерное представление текста
- •1. Кодировка буквенных символов
- •2. Кодировка латинского алфавита и кириллицы
- •3. Компьютерные шрифты
- •4. Операции текстовой обработки
- •5. Бумажные и электронные документы
- •Лекция 9. Текстовые редакторы и издательские системы
- •1. История создания и разновидности текстовых редакторов
- •2. Форматирование и разметка и текстовых файлов
- •3. Функциональные возможности текстовых процессоров
- •4. Настольные издательские системы
- •5. Компьютерная верстка рукописей
- •Лекция 10. Принципы формирования графических изображений
- •1. Зрительный аппарат человека
- •2. Моделирование цветовых оттенков, законы Грассмана
- •3. Цветовая модель rgb
- •4. Цветовая модель cmyk
- •5. Формирование цветных изображений на экране и бумаге
- •Лекция 11. Разновидности компьютерной графики и средств создания цифровых изображений
- •1. Классификация цифровых изображений
- •2. Аппаратные средства для получения цифровых изображений
- •3. Мультимедийные изображения
- •4. Деловая графика и системы автоматизированного проектирования
- •Лекция 12. Представление и обработка табличных данных в электронных таблицах
- •1. История развития и области применения
- •2. Основные возможности электронных таблиц
- •3. Общие сведения о программе Excel
- •Лекция 13. Базы данных и системы управления базами данных
- •1. Определения и отличительные признаки баз данных
- •2. Классификации баз данных
- •3. Структура и свойства
- •4. Связанные таблицы
- •5. Системы управления базами данных, программа Access
- •Лекция 14. Структура и состав персонального компьютера
- •1. Базовая конфигурация персонального компьютера
- •2. Внутренняя и внешняя память компьютера
- •3. Монитор
- •4. Клавиатура и манипулятор мышь
- •Тема 15. Компьютерные сети
- •1. Общие сведения и основные понятия компьютерных сетей
- •2. Принципы коммуникации и протоколы сети
- •3. Классификация компьютерных сетей
- •4. Топология компьютерных сетей
- •5. Модель компьютерной сети
- •Лекция 16. Глобальная компьютерная сеть Интернет
- •1. Определение сети Интернет
- •2. История Всемирной паутины
- •3. Протоколы сети Интернет
- •4. Адресация сетевых компьютеров
- •5. Адресация сетевых документов
- •6. Службы Интернета
- •7. Способы соединения с глобальной сетью
- •Лекция 17. Принципы формирования web-документов
- •1. Отличительные особенности web-документа
- •2. Разметка гипертекстовых документов
- •3. Принципы построения сайтов в сети Интернет
- •4. Проблемы восприятия сайтов
- •Лекция 18. Основы защиты компьютерной информации
- •1. Угрозы компьютерной безопасности
- •2. Компьютерные вирусы и методы защиты от вирусов
- •3. Противодействие несанкционированному доступу и спаму
- •4. Общие меры обеспечения компьютерной безопасности
Лекция 7. Системы и технологии программирования. Языки программирования высокого уровня
Существенная часть программного обеспечения компьютера относится к инструментальным системам или системам программирования, которые предназначены для создания программных продуктов и включают все средства, необходимые для производства программ и формирования их в машинном коде.
1. Процесс создания компьютерной программы
Компьютерные программы необходимы для решения сложных задач, требующих привлечения компьютерной техники, за счет использования которой существенно экономится рабочее время и повышается производительность труда. Последовательность программного решения задачи складывается из следующих основных этапов.
Постановка задачи. Результат этапа чаще всего выражается в подготовке технического задания или разработке проекта, в рамках которого формулируется задача.
Построение модели. Существование модели упрощает процесс построения алгоритма, необходимого для решения сложных задачи.
Построение алгоритма как последовательности процедур, направленных на решения задачи и соединенных между собой логическими связями.
Разработка программы с целью подключения компьютера к решению поставленной задачи. Результатом этапа является представление алгоритма на языке программирования (создание текста программы).
Трансляция программы или перевод разработанного текста на машинный язык с помощью специальной программы-транслятора.
Запуск и отладка программы с целью выявления и устранения ошибок, допущенных на предыдущих этапах.
Передача программы заказчику заканчивается установкой созданной программы на аппаратные средства и обучением специалистов.
В процессе поэтапного решения задачи разработанный алгоритм программы последовательно формируется на различных языках (рис. 7.1). Результатом последовательного преобразования является программа в машинном двоичном коде, предназначенная для загрузки в компьютер.
алгоритм
текст программы
естественный язык
язык
программирования
исполняемая
программа
машинный язык
Рис. 7.1. Процесс создания программы
Промежуточным этапом в преобразовании выступает язык программирования, который обеспечивает наименее затратный и наиболее эффективный путь к созданию компьютерной программы.
2. Языки программирования
Языки программирования – искусственные языки, созданные для описания алгоритмов обработки данных. В отличие от человеческого языкам программирования свойственна строгость синтаксических и семантических правил, иначе говоря, способы соединения слов в словосочетания и принципы обозначения единиц и знаков подчиняются установленным для каждого языка правилам.
Многообразие существующих языков программирования классифицируется по различным признакам, распространенный способ классификации приведен на рис. 7.2.
Языки программирования
Машинно-независимые
(языки
высокого уровня)
Машинные (набор
команд конкретного процессора)
Машинно-ориентированные
(автокоды,
ассемблеры)
Машинно-зависимые
Процедурно-ориентированные
Фортран,
Кобол, Бейсик, Паскаль, Си
Проблемно-ориентированные
(узкоспециали-зированные)
Объектно-ориентированные
Java,
Си++,
Скрипт-языки
(Интернет)
html,
php,xml
ТРАНСЛЯТОРЫ
Рис. 7.2. Классификация языков программирования
Классификация по уровню характеризует степень близости языка программирования и машинного языка. При этом за начало отсчета принимается близкий к двоичному коду машинный язык, уровень которого равен нулю, язык человека рассматривается как язык наивысшего уровня. На основе уровневой классификации большинство современных языков попадает в категорию языков высокого уровня или машинно-независимых языков. Языки высокого уровня отличаются универсальностью по отношению к аппаратной части и возможностью автоматического перевода программного текста в машинный код с помощью программы-компилятора.
Классификация по группам отражает деление языков программирования на основе уровня, специфики, сложности решаемой задачи. Каждая группа содержит перечень языков, объединенных некоторыми признаками. В классификации по группам выделяются следующие категории языков программирования.
Процедурно-ориентированные языки высокого уровня включают компилируемые языки различных областей применения, наиболее отдаленные от машинного кода, например:
Fortran – первый компилируемый язык, созданный в конце 50-х годов;
Cobol – язык начала 60-х годов для решения задач в экономике;
Basic – универсальный удобный для обучения язык 60-х;
Pascal – разработан в 70-х годах, один из наиболее известных языков общего назначения.
Объектно-ориентированные языки программирования основаны на упрощенном идеализированном понимании предметов, модели которых представляются в форме объекта – экземпляра, при этом однотипные объекты объединяются в классы или типы. Объектно-ориентированное программирование (ООП) использует в своей основе определенные концепции11, которые выражаются в следующем:
любая система состоит из объектов;
объекты некоторым образом взаимодействуют между собой;
каждый объект характеризуется своим состоянием и поведением;
состояние объекта задаётся значением полей данных;
поведение объекта задаётся методами.
К основным понятиям ООП относятся также следующие принципы.
Инкапсуляция – это принцип, согласно которому класс объектов рассматривается только как совокупность свойств и методов данного класса, что позволяет устраниться от внутреннего устройства объекта и упростить его описание.
Наследование – возможность порождения одного класса объектов из другого с сохранением всех свойств и методов класса-предка и добавлением при необходимости новых свойств и методов.
Полиморфизмом – это перенесение методов класса-предка на классы-потомки таким образом, что общие характеристики метода для представляемых классов остаются неизменными, при этом конкретная реализация метода имеет свои особенности для каждого класса, в котором находится объект.
На основе объектно-ориентированного подхода разработан ряд современных языков программирования, в том числе:
С++ – компилируемый язык программирования общего назначения, поддерживающий объектно-ориентированный подход;
Java (Джава) – объектно-ориентированный язык программирования, созданный в 1995 году и предназначенный для использования на компьютерах любой архитектуры;
С# (Си Шарп) – объектно-ориентированный язык программирования, разработанный в 1998-2001 годах как язык поддержки приложений платформы Microsoft.
Языки программирования для Интернета относятся к скриптовым языкам12, которые разрабатываются для записи «сценариев» или последовательности событий. Сценарии обычно интерпретируются, а не компилируются.
К универсальным скриптовым языкам относятся, например:
Perl – язык программирования общего назначения, который используется для выполнения широкого спектра задач, включая системное администрирование, веб-разработку, сетевое программирование, игры, разработку графических пользовательских интерфейсов13;
PHP – язык программирования, применяемый для разработки веб-приложений и являющийся одним из лидеров среди языков программирования для создания динамических веб-сайтов14.