- •Дипломный проект
- •1. Введение
- •2. Этапы решения задачи на эвм
- •0. Постановка задачи.
- •1. Составление проекта.
- •2. Алгоритмизация.
- •3. Программирование.
- •4. Препарация.
- •5. Трансляция.
- •6. Отладка.
- •7. Оформление программы
- •8. Счет.
- •9. Отчет о работе.
- •10. Модернизация.
- •3. Необходимость отладки разработанного программного продукта
- •4. Методы и средства отладки
- •Печать текста
- •4.1.2 Контроль результатов
- •4.1.2.1 Тестирование
- •Алгоритмическое тестирование
- •Функциональное или аналитическое тестирование
- •Содержательное тестирование
- •4.1.2.2 Типы тестов
- •4.2 Локализация ошибок
- •4.2.1 Способы локализации
- •4.2.2 Классификация средств локализации ошибок
- •5. Технология отладки программы автоматизации учета движения товаров на складе малого предприятия
- •6. Заключение
3. Программирование.
В случае, когда на предыдущем этапе был получен детально разработанный алгоритм, составление программы на выбранном для программирования языке (алгоритмическом языке высокого уровня, автокоде, языке ассемблера или машинном языке) сводится к переводу этого алгоритма на язык программирования. Основные трудности и, следовательно, причины ошибок на этом этапе заключаются, во-первых, в необходимости знания всех требований и ограничений выбранного языка программирования и, во-вторых, в необходимости постоянного внимания ко многим деталям языка, которые приходится учитывать в ходе написания программы. Если этап 2 был выполнен некачественно и алгоритм представлен недостаточно детально, то его доводку придется выполнять «на ходу», во время программирования. Это затруднит процесс программирования-перевода и поведет к возникновению дополнительных-ошибок в программе. Чем более процесс программирования будет походить на перевод, чем более механическим будет такой перевод, тем более легким будет составление программы и тем меньше возникнет ошибок на этом этапе, самом щедром на ошибки.
(Этап программирования, т. е. собственно процесс н а п и с а н и я программы, в последнее время все чаще называют кодированием, подчеркивая тем самым его механический, нетворческий характер).
После составления программы проводится ее проверка для обнаружения и исправления ошибок, внесенных на этом этапе. Если при проверке обнаруживаются ошибки, допущенные на предыдущем этапе (2), то соответствующие исправления вносятся и в алгоритм, поскольку к нему еще придется обращаться на следующих этапах, и тексты алгоритма и программы должны соответствовать друг другу.
4. Препарация.
После составления программы производится ее перенос на машинные носители, т. е. подготовка программы к выполнению ее на ЭВМ; будем называть этот этап препарацией. Для предупреждения и сокращения ошибок препарации текст программы должен быть написан ясно и четко: чем небрежнее будет написан текст программы, тем больше ошибок возникнет в препарированной программе. Проверка правильности препарации осуществляется распечаткой программы, введенной в ЭВМ с использованных носителей, и последующей сверкой с исходным текстом.
Распечатка программы может производиться по специальной автономно (вне операционной системы) работающей на машине программе или с помощью одной на системных сервисных программ. Текст исходной программы можно получить и при последующей трансляции составленной программы (см. нижа 8), но предварительная распечатка удобнее, поскольку при обнаружении грубой синтаксической ошибки транслятор может прекратить свою работу и печать текста или выдать чрезвычайно много диагностики, которая весьма затруднительна для разбора и является в большинстве своем бесполезной.
Как видим, рассматриваемый этап в отличие от предыдущих уже требует для своего осуществления непосредственного использования ЭВМ или, по крайней мере, ее внешних устройств.
5. Трансляция.
Транслятор в ходе осуществления трансляции, наряду с печатью транслируемой программы, производит поиск синтаксических ошибок в программе и, в случае их обнаружения, печатает диагностику, помогающую последующей локализации ошибок. Трансляция, а вместе с ней и поиск синтаксических ошибок, могут быть прекращены, если найдена очень грубая (с точки зрения транслятора) ошибка. Отсутствие синтаксических ошибок не говорит о том, что в программе нет ошибок препарации (например, вместо знака * был отперфорирован + или записана не та буква в т. п.). Поэтому тщательная сверка напечатанной программы с исходным текстом всегда необходима на данном или предыдущем этапе. Первые трансляции вновь составленной программы производятся обычно с включением таких режимов транслятора, которые позволяют получить текст программы вместе с дополнительной информацией о программе (например, с таблицей используемых в ней идентификаторов) для наиболее полной ее сверки.
В тех случаях, когда в распоряжении программиста имеется несколько трансляторов, сначала выбирается тот, который представляет больше возможностей для проведения начинающейся отладки. После окончания отладки, уже с помощью оптимизирующего транслятора производится перетрансляция с целью изготовления экземпляра программы, используемой в дальнейшем для счета (см, например, транcляторы уровней О и Н для фортрана ЕС, а также уровней Р и Н для Р*/1 Ее).