Могу в предложить в данном случае использовать goto и метки. Ну, если вы имеете какой то признак неправильных данных, например, это отрицательные значения (предположим, что это неправильные данные) То на этапе, когда вы вводите эти значения, вы должны поставить условный оператор. Т.е. if a<0 tnen begin Writeln('Вы ввели неверные данные'); goto 1 else goto 2; Метку 1 вы ставите в начало алгоритма, т.е. туда, откуда вы хотите начать повторное выполнение программы, а метку 2 поставить в продолжение алгоритма, т.е. на тот случай, если данные были введены верно
Для решения определим 1. Время передачи по высокоскоростному каналу 2. Время передачи по низкоскоростному каналу 3. Время для получения первых 1024 Кб 4. Всё сложим.