Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
т5_л18_Язык_програмир_РГУ.doc
Скачиваний:
14
Добавлен:
24.03.2015
Размер:
103.42 Кб
Скачать

3 Системы программирования

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

Что собой представляет программа для ЭВМ? Это последовательность команд, описывающих алгоритм функционирования ЭВМ в конкретной ситуации (то есть при решении конкретной задачи). Команды, поступающие в центральный процессор, на самом деле являются последовательностями электрических сигналов высокого или низкого уровней, что является интерпретацией последовательностей двоичных чисел, соответственно, единиц или нолей. Таким образом, реально программа, с которой работает процессор ЭВМ, представляет собой последовательность двоичных чисел, называемую машинным кодом.

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

Система программирования представляет собой комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Языки программированияискусственные языки. От естественных они отлича­ются ограниченным числом "слов" и очень строгими правилами записи команд (операторов).

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

Компиляторы полностью обрабатывают весь текст программы (он иногда называ­ется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем авто­матически переводят (транслируют) на машинный язык – генерируют машинный код. Нередко при этом выполняется оптимизация с помощью набора методов, позво­ляющих повысить быстродействие программы (например, с помощью инструкций, ориентированных на конкретный процессор, путем исключения ненужных команд, промежуточных вычислений и т. д.). В результате законченная программа получается компактной и эффективной, работает в сотни раз быстрее программы, выполняемой с помощью интерпретатора, и может быть перенесена на другие компьютеры с про­цессором, поддерживающим соответствующий машинный код.

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

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

В реальных системах программирования перемешаны технологии и компиляции, и интерпретации.

В состав системы программирования, как правило, входят следующие средства:

– трансляторы с языков высокого уровня;

– средства редактирования, компоновки и загрузки программ;

– макроассемблеры (машинно-ориентированные языки);

– отладчики машинных программ.

Такими средствами, в первую очередь, являются:

текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы. В принципе, для написания текста программы может быть использован любой текстовый редактор, но лучше использовать специализированные редакторы, которые ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять ключевые слова и идентификаторы разными цветами и шрифтами. Подобные редакторы созданы для всех популярных языков. Как правило, они дополнительно могут автоматически проверять правильность синтаксиса программы непосредственно во время ее ввода;

загрузчик программ (Load), позволяющий выбрать из директория нужный тек­стовый файл программы;

запускатель программ (Run), осуществляющий процесс выполнения программы;

компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;

отладчик (Debug), выполняющий сервисные функции по отладке и тестирова­нию программы;

диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами: сохранение, поиск, удаление и т. п.

Кратко подведем итог по третьему учебному вопросу:

  1. Система программирования включает все необходимые средства для создания полностью законченной программы.