Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
16.04.2013
Размер:
111.62 Кб
Скачать

3. Программирование.

В случае, когда на предыдущем этапе был получен детально разработанный алгоритм, составление программы на выбранном для программирования языке (алгоритмическом языке высокого уровня, автокоде, языке ассемблера или машинном языке) сводится к переводу этого алгоритма на язык программирования. Основные трудности и, следовательно, причины ошибок на этом этапе заключаются, во-первых, в необходимости знания всех требований и ограничений выбранного языка программирования и, во-вторых, в необходимости постоянного внимания ко многим деталям языка, которые приходится учитывать в ходе написания программы. Если этап 2 был выполнен некачественно и алгоритм представлен недостаточно детально, то его доводку придется выполнять «на ходу», во время программирования. Это затруднит процесс программирования-перевода и поведет к возникновению дополнительных-ошибок в программе. Чем более процесс программирования будет походить на перевод, чем более механическим будет такой перевод, тем более легким будет составление программы и тем меньше возникнет ошибок на этом этапе, самом щедром на ошибки.

(Этап программирования, т. е. собственно процесс н а п и с а н и я программы, в последнее время все чаще называют кодированием, подчеркивая тем самым его механический, нетворческий характер).

После составления программы проводится ее проверка для обнаружения и исправления ошибок, внесенных на этом этапе. Если при проверке обнаруживаются ошибки, допущенные на предыдущем этапе (2), то соответствующие исправления вносятся и в алгоритм, поскольку к нему еще придется обращаться на следующих этапах, и тексты алгоритма и программы должны соответствовать друг другу.

4. Препарация.

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

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

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

5. Трансляция.

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

В тех случаях, когда в распоряжении программиста имеется несколько трансляторов, сначала выбирается тот, который представляет больше возможностей для проведения начинающейся отладки. После окончания отладки, уже с помощью оптимизирующего транслятора производится перетрансляция с целью изготовления экземпляра программы, используемой в дальнейшем для счета (см, например, транcляторы уровней О и Н для фортрана ЕС, а также уровней Р и Н для Р*/1 Ее).