Procedure GetRV(var r, v: real; var Final: boolean);
{ Организует ввод и возвращает значения роста и веса.
Значение параметра Final=true - сигнал окончить ввод данных,
для чего вводят нули }
begin
Write('Введите рост (см) и вес (кг) ->');
Readln(r, v);
Final := ((r > 0) and (v > 0))
end;
function DefDesk(r: real): string;
begin
if r <= 140 then DefDesk := 'S'<br> else if r < 150 then DefDesk := 'M'
else DefDesk := 'L'
end;
var
rost, ves: real;
flag: boolean;
begin
repeat
GetRV(rost, ves, flag);
if flag then Writeln('Нужна парта типа ', DefDesk(rost))
until (not flag)
end.
Тестовое решение:
Введите рост (см) и вес (кг) ->135 31
Нужна парта типа S
Введите рост (см) и вес (кг) ->143 41
Нужна парта типа M
Введите рост (см) и вес (кг) ->151 48
Нужна парта типа L
Введите рост (см) и вес (кг) ->0 0