Рекомендации по разработке программы

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

Для уменьшения ошибок в алгоритмах программ при их разработке следует использовать метод пошаго­вой детализации.

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

Шаг1. Определяем общую структуру программы.

Разбиение сложного алгоритма на подзадачи следует выполнять таким образом, чтобы каждая подзадача имела физический смысл и правильность ее выполнения можно было бы проверить, не выполняя последующие действия. На рисунке 1 показан вариант укрупненной схемы алгоритма программы.

Шаг 2. Детализируем операцию ввода и контроля исходных данных. После завершения разработки детального алгоритма первой подзадачи алгоритм следует закодировать, заменяя, если необходимо, неразработанные подзадачи «заглушками», выполнить и отладить.(Например, для ввода и контроля исходных данных остальные действия не требуются и для отладки этого блока функции-заглушки не требуются) Функция-заглушка не выполняет никаких действий, а только печатает свое имя. Это позволит обнаружить и устранить возможные ошибки на ранней стадии их возникновения и существенно сократить общее время разработки программы.

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

 

Рис.1. Укрупненная схема алгоритма

 

Шаг 3. Детализируем подзадачу определения времени суток. Ее удобнее выполнить до обработки часов, так как при выводе результатов падежные окончания могут измениться. Например, вместо 15 часов мы должны печатать 3 часа дня. Это можно учесть, если запомнить значение времени суток (утра, дня, вечера, ночи) в переменной p_txt типа string и выполнить операцию h=h-12, если h>12. Если порядок определения времени суток и обработки часов в предложенной на первом шаге схеме алгоритма был другим, его следует изменить, пока это не требует значительных затрат времени.

На четвертом и пятом шагах детализируем операции обработки часов и минут, запоминая результаты обработки в переменных типа string h_txt и m_txt соответственно. Возможные значения h_txt: час, часа, часов. Возможные значения m_txt: минута, минут, минуты, ровно.

При выводе с помощью этих переменных формируется строка результата.

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