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' 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