- •1.Предмет и задачи информатики
- •1. Информатика
- •2.Операции с данными
- •4(5).Кодирование целых и действительных чисел
- •6.Кодирование звуковой информации
- •7.Кодирование графических данных
- •8.Основные структуры данных
- •9.Понятие о файловой структуре
- •10.Единицы измерения данных
- •10.Единицы хранения данных
- •12.Методы классификации компьютеров
- •13.Аппаратное обеспечение
- •14.Базовая аппаратная конфигурация персонального
- •14. Базовая аппаратная конфигурация персонального компьютера
- •Раздел 7.3).
- •31.Алгоритм и программа
- •26.Поколения языков программирования
31.Алгоритм и программа
Управлять компьютером нужно по определенному алгоритму. Алгоритм — это
точно определенное описание способа решения задачи в виде конечной (по времени)
последовательности действий. Такое описание еще называется формальным. Для
представления алгоритма в виде, понятном компьютеру, служат языки программирования.
Сначала всегда разрабатывается алгоритм действий, а потом он записывается
на одном из таких языков. В итоге получается текст программы — полное,
законченное и детальное описание алгоритма на языке программирования. Затем
этот текст программы специальными служебными приложениями, которые называются
трансляторами, либо переводится в машинный код, либо исполняется.
Что такое язык программирования
Самому написать программу в машинном коде весьма сложно,, причем эта сложность
резко возрастает с увеличением размера программы и трудоемкости решения
нужной задачи. Условно можно считать, что машинный код приемлем, если размер
программы не превышает нескольких десятков байтов и нет потребности в операциях
ручного ввода/вывода данных.
Поэтому сегодня практически все программы создаются с помощью языков программирования.
Теоретически программу можно написать и средствами обычного
человеческого (естественного) языка -- это называется программированием на
метаязыке (подобный подход обычно используется на этапе составления алгоритма),
но автоматически перевести такую программу в машинный код пока невозможно
из-за высокой неоднозначности естественного языка.
Языки программирования — искусственные языки. От естественных они отличаются
ограниченным числом «слов», значение которых понятно транслятору, и очень
строгими правилами записи команд {операторов). Совокупность подобных требований
образует синтаксис языка программирования, а смысл каждой команды и
других конструкций языка — его семантику. Нарушение формы записи программы
приводит к тому, что транслятор не может понять назначение оператора и выдает
сообщение о синтаксической ошибке, а правильно написанное, но не отвечающее
алгоритму использование команд языка приводит к семантическим ошибкам (называемым
еще логическими ошибками или ошибками времени выполнения).
Процесс поиска ошибок в программе называется тестированием, процесс устранения
ошибок — отладкой.__
26.Поколения языков программирования
Языки программирования принято делить на пять поколений. В первое поколение
входят языки, созданные в начале 50-х годов, когда первые компьютеры только
появились на свет. Это был первый язык ассемблера, созданный по принципу «одна
инструкция — одна строка».
Расцвет второго поколения языков программирования пришелся на конец 50-х —
начало 60-х годов. Тогда был разработан символический ассемблер, в котором
появилось понятие переменной. Он стал первым полноценным языком программирования.
Благодаря его возникновению заметно возросли скорость разработки
и надежность программ.
Появление третьего поколения языков программирования принято относить к
60-м годам. В это время родились универсальные языки высокого уровня, с их
помощью удается решать задачи из любых областей. Такие качества новых языков,
как относительная простота, независимость от конкретного компьютера и возможность
использования мощных синтаксических конструкций, позволили резко
повысить производительность труда программистов. Понятная большинству
пользователей структура этих языков привлекла к написанию небольших программ
(как правило, инженерного или экономического характера) значительное число
специалистов из некомпьютерных областей. Подавляющее большинство языков
этого поколения успешно применяется и сегодня.
С начала 70-х годов по настоящее время продолжается период языков четвертого
поколения. Эти языки предназначены для реализации крупных проектов, повы-
. шения их надежности и скорости создания. Они обычно ориентированы на специализированные
области применения, где хороших результатов можно добиться,
используя не универсальные, а проблемно-ориентированные языки, оперирующие
конкретными понятиями узкой предметной области. Как правило, в эти языки
встраиваются мощные операторы, позволяющие одной строкой описать такую
функциональность, для реализации которой на языках младших поколений потребовались
бы тысячи строк исходного кода.
Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся
также системы автоматического создания прикладных программ с помощью
визуальных средств разработки, без знания программирования. Главная идея, которая
закладывается в эти языки, — возможность автоматического формирования
результирующего текста на универсальных языках программирования (который
потом требуется откомпилировать). Инструкции же вводятся в компьютер в максимально
наглядном виде с помощью методов, наиболее удобных для человека,
не знакомого с программированием.__
Среды быстрого проектирования
В последние несколько лет в программировании (особенно в программировании
для операционной системы Windows) наметился так называемый визуальный подход.
До этого серьезным препятствием для разработки графических приложений
была сложность создания различных элементов управления и контроля их работы.
Достаточно взглянуть на окно любой WiWo^s-nporpaMMbi. В нем имеется множество
стандартных элементов управления (кнопки, пункты меню, списки, переключатели
и т. д.). Очень трудоемко вручную описывать процесс создания этих элементов
в соответствии с требованиями Windows, на глазок определять координаты,
отслеживать их состояние с помощью специальных команд. Например, для простой
программы, складывающей два числа, потребуется один оператор (одна строка
исходного текста) для выполнения нужного вычисления и сотни строк кода для
подготовки приложения к работе в Windows, создания кнопки и пары полей ввода.
Этот процесс автоматизирован в средах быстрого проектирования {Rapid Application
Development, КАО-среды). Все необходимые элементы оформления и управления
создаются и обслуживаются не путем ручного программирования, а с помощью
готовых визуальных компонентов, которые с помощью мыши «перетаскиваются»
в проектируемое окно. Их свойства и поведение затем настраиваются с помощью
5 8 0 Глава 20. Основы программирования
простых редакторов, визуально показывающих характеристики соответствующих
элементов. При этом вспомогательный исходный текст программы, ответственный
за создание и работу этих элементов, генерируется НАП-срелой автоматически, что
позволяет сосредоточиться только на логике решаемой задачи. В результате программирование
во многом заменяется на проектирование — подобный подход называется
еще визуальным программированием.
Компоненты достаточно легко создавать самостоятельно, поэтому в мире сегодня
распространяются тысячи бесплатных и платных компонентов для наиболее известных
iMD-сред, из них формируются библиотеки компонентов — объектные ре-
позитории. Компоненты выступают в роли «строительных кирпичиков», позволяющих
собирать готовое приложение с богатыми возможностями, написав всего
десяток строк исходного кода, и такой компонентный подход к созданию программ
считается очень перспективным, потойу что без лишних усилий и на законных
основаниях допускает повторное использование чужого труда.__
