var sum, i, s: integer; //обыявляем необходимые переменные
//sum - сумма, i - кол-во слогаемых, s - само слогаемое
begin //начало sum := 0; i := 1; s := 5; //первое слогаемое = 5 repeat sum := sum + s; //к сумме прибавляем слагаемое s := s + 4; //увеличиваем слогаемое i := i + 1; //увеличиваем кол-во слогаемых until (sum = 324); //выход когда сумма равна 324 writeln ('Слогаемых: '); // выводим кол-во слогаемых write (i); end. //конец
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
1) 5 9 13 17 21 25 29 33 37 41 45 49
var sum, i, s: integer; //обыявляем необходимые переменные
//sum - сумма, i - кол-во слогаемых, s - само слогаемое
begin //начало
sum := 0; i := 1; s := 5; //первое слогаемое = 5
repeat
sum := sum + s; //к сумме прибавляем слагаемое
s := s + 4; //увеличиваем слогаемое
i := i + 1; //увеличиваем кол-во слогаемых
until (sum = 324); //выход когда сумма равна 324
writeln ('Слогаемых: '); // выводим кол-во слогаемых
write (i);
end. //конец