Другие языки программирования и технологии

ПОмощь с паскалем

вот я написал решение задачи
program zadacha_pro_lodky;
VAR V, U, T1, T2: word;
S : real;
Begin
write ('введите скорость лодки в стоячей воде V= '); readln(v);
write ('введите скорость течения U= '); readln (U);
if U>V then writeln ('неверный ввод данных');
write ('введите время движения по озеру T1 = '); readln (T1);
write ('введите время движения по реке T2 = '); readln (T2);
S:= (T1*V)+(T2*(V-U));
writeln ('Путь лодки за всё время=',S);
readln;
end.

Если я ввожу правильные данные, то всё работает. А когда ввожу неправильные данные, то од доходит до условия, пишет что ввод данных неверный и продолжает запрашивать дальше данные по задача.
И так мой вопрос: Как сделать так чтобы при вводе неправильных условий программа просила повторить ввод данных заново???
var
V, U, T1, T2: word;
S: real;

begin
write('введите скорость лодки в стоячей воде V= '); readln(v);
write('введите скорость течения U= '); readln(U);
if U > V then
begin
writeln('неверный ввод данных')
end
else begin
write('введите время движения по озеру T1 = '); readln(T1);
write('введите время движения по реке T2 = '); readln(T2);
S := (T1 * V) + (T2 * (V - U));
writeln('Путь лодки за всё время=', S);
readln;
end;
end.
Ренат Шангараев
Ренат Шангараев
440
Лучший ответ
repeat
write ('введите скорость лодки в стоячей воде V= '); readln(v);
write ('введите скорость течения U= '); readln (U);
if U<=V then break;
writeln ('неверный ввод данных');
until false;
ИК
Илья Калинин
88 026
можно и цикл, но проще goto в начало

program zadacha_pro_lodky;

var
V, U, T1, T2: word;
S: real;

label beg;
begin
beg:
write('введите скорость лодки в стоячей воде V= '); readln(v);
write('введите скорость течения U= '); readln(U);
if U > V then begin writeln('!!! неверный ввод данных U > V'); writeln(''); goto beg; end;
write('введите время движения по озеру T1 = '); readln(T1);
write('введите время движения по реке T2 = '); readln(T2);
S := (T1 * V) + (T2 * (V - U));
writeln('Путь лодки за всё время=', S);
readln;
end.

Но преподам это не нравится :) хотя на уровне ассемблера теже goto и происходят.
ФР
Федор Рудык
73 452
поставь метку на ввод и опять вводи
не уверен, но попробуй еще один цикл сделать: если данные введены неверно пусть выбрасывает на начало.