Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика. Учебное пособие.doc
Скачиваний:
103
Добавлен:
10.05.2015
Размер:
1.29 Mб
Скачать
    1. Технологии программирования

9.2.1. Средства создания программ

Для создания программ на любом выбранном языке программирования нужно иметь следующие компоненты:

  • Текстовый редактор. Формировать текст программы в принципе можно в любом редакторе. Однако лучше использовать специализированные редакторы, которые ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять ключевые слова и идентификаторы разными цветами и шрифтами. Подобные редакторы созданы для популярных языков и дополнительно могут автоматически проверять правильность синтаксиса программы непосредственно во время ее ввода.

  • Прогамма-компилятор. С помощью этой программы исходный текст программы переводится в машинный код. Если в исходном тексте будут обнаружены синтаксические ошибки, то результирующий не будет создан. Для небольшой программы на этом этапе уже возможно получение готовой программы. Однако исходный текст большой программы, как правило, состоит из нескольких модулей (файлов с исходными текстами), так как все исходные тексты хранить в одном файле неудобно, потому что в них трудно ориентироваться. Поэтому каждый модуль компилируется в отдельный файл с объектным кодом (двоичный файл со стандартным расширением .OBJ). Такие файлы затем необходимо объединять в одно целое. Кроме того, к ним нужно добавить машинный код подпрограмм, реализующих стандартные функции. Такие функции содержатся в библиотеках (файлах со стандартным расширением .LIB), которые поставляются вместе с компилятором. Код модулей и подключенные к нему стандартные функции необходимо объединить с учетом требований операционной системы, то есть получить программу, отвечающую определенному формату.

  • Программа редактор связей (сборщик). Эта программа выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение ─ исполнимый код для конкретной платформы. Если по каким-то причинам один из объектных модулей или нужная библиотека не обнаружены, то сборщик сообщает об ошибке и тогда готовой программы не создается. Итоговый файл имеет расширение .EXE или COM.

Совокупность всех изложенных выше компонент представляет собой интегрированную систему программирования. В ней почти все этапы создания программы автоматизированы. Таким образом, после ввода исходного текста программы, его компиляция и сборка выполняются одним щелчком мыши или нажатием клавиши.

9.2.2. Алгоритмическое программирование

Алгоритм ─ это формальное описание способа решения задачи путем разбиения ее на конечную по времени последовательность действий (элементарных операций).

Формальное описание это абсолютно полное и должно учитывать все возможные ситуации, которые могут встретиться по ходу решения задачи.

Элементарные операции ─ это действия, которые выполняются по заранее определенным критериям и не требуют детализации.

Основная идея алгоритмического программирования ─ это разбиение программы на последовательность модулей, каждый из которых выполняет одно или несколько действий. При этом выполнение каждого модуля всегда начиналось с первой команды и всегда заканчивалось на самой последней.

Алгоритм на выбранном языке программирования записывается с помощью команд описания данных, вычисления значений и управления последовательностью выполнения программы. При этом текст программы представляет собой линейную последовательность операторов присваивания, циклов и условных операторов. Таким способом можно решать не очень сложные задачи и составлять программы, содержащие несколько сот строк кода.

Для больших программ такая технология программирования мало приемлема. Так как возникает много проблем. К ним относятся:

  • резкое снижение понятности исходного текста из-за того, что общая структура алгоритма теряется за конкретными операторами языка, выполняющими слишком детальные, элементарные действия;

  • возникают многочисленные вложенные условные операторы и операторы циклов, логика становится запутанной. При попытке исправить один ошибочный оператор вносится несколько новых ошибок, связанных с особенностями работы этого оператора, результаты выполнения которого могут учитываться в самых разных местах программы;

  • набрать и отладить длинную (более 1000 строк кода) линейную последовательность операторов крайне затруднено или практически невозможно.