Ввести последовательность чисел, количество которых заранее не известно - Turbo Pascal
Формулировка задачи:
Ввести последовательность чисел, количество которых заранее не известно. Признаком окончания ввода последовательности является ввод числа, меньшего суммы предыдущих чисел.Вывести произведение положительных чисел последовательности.
Пример:
-10,-2,3,4,-6 Ответ: 12
Заранее спасибо =)
Решение задачи: «Ввести последовательность чисел, количество которых заранее не известно»
textual
Листинг программы
var
s,p,t:real;
b:boolean;
n:integer;
begin
b:=false;
n:=0;
s:=0;
repeat
s:=s+t;
read(t);
n:=n+ord(n<2);
if t>0 then if not b then begin p:=t;b:=true;end else p:=p*t;
until (t<s) and (n>1);
if not b then writeln('Положительных чисел нет')
else writeln('произведение положительных чисел:',p:0:2);
end.
Объяснение кода листинга программы
- Переменные объявлены: s, p, t, b, n.
- Инициализированы начальные значения: s := 0, p := 0, t := 0, b := false, n := 0.
- Запускается цикл repeat, который будет выполняться до тех пор, пока условие (t < s) и (n > 1) истинно.
- Внутри цикла переменная s увеличивается на значение переменной t.
- Переменная n увеличивается на 1 при каждом чтении значения переменной t.
- Если значение переменной t больше нуля и переменная b равна false, то присваивается значение переменной p := t и переменная b устанавливается в true.
- Если значение переменной t меньше значения переменной s и переменная n больше 1, то условие считается истинным и цикл продолжается.
- Если переменная b равна true, то выводится сообщение
Положительных чисел нет. - Если переменная b равна false, то выводится произведение положительных чисел: p.
- Конец программы.