Любая задача в принципе должна выполняться один раз. Однако практика показывает неэффективность такого подхода, т.к. безошибочное выполнение всех этапов предмашинной подготовки и машинной обработки встречается исключительно редко.
В общем случае приходится выполнять отладку программы с многократным повторением контрольных, а затем истинных значений переменных. Наряду с этим может быть необходим повторный просчет уже отлаженной программы с различными исходными данными. Для решения этой проблемы желательно предусмотреть в алгоритме и программе фрагменты, позволяющие по желанию пользователя повторять решение без выхода из программы либо прекращать ее использование.
Возможны несколько вариантов реализации путем формирования дополнительного цикла, телом которого будет алгоритм (программа) решаемой задачи. Предлагается вариант использования цикла с постусловием.
Фрагменты алгоритма и программы:
алгоритм
| программа
main()
{
int t;
. . .
do
{
операторы основных
вычислений
printf("Повторение решения – 1, \n"
"выход – другая цифра: ");
scanf("%d", &t);
}
while( t==1 );
}
|
Дополнительный цикл по окончании основных вычислений запрашивает ввод переменной, значение которой определяет повторение решения (1) или прекращение его (например, 0).