Написать программу для вычисления заданного выражения и вывода на экран полученного значения, используя заданный циклический оператор
оператор: repeat
выражение: -0,5 + 0,7 – 0,9 +...+ 0,23
Оплата Webmoney
var
i,d,s:real;
begin
s:=0;
i:=-0.5;
d:=0.8;
repeat
s:=s+i;
d:=d+0.4;
i:=i+d*(i/abs(i))*(-1);
until round(i*10)/10=2.3;
s:=s+i;
writeln(s:5:2);
readln;
end.
var
i,d,s:real;
begin
s:=0;
i:=-0.5;
d:=0.8;
repeat
s:=s+i;
d:=d+0.4;
i:=i+d*(i/abs(i))*(-1);
until round(i*10)/10=2.3;
s:=s+i;
writeln(s:5:2);
readln;
end.
ну добавь что, пока число больше 1, его надо делить на 10.
Добавлено через 34 сек.
и вообще, действительные числа лучше через "=" не сравнивать. может зациклиться.
var
i,d,s:real;
begin
s:=0;
i:=-0.5;
d:=0.8;
repeat
s:=s+i;
d:=d+0.4;
i:=i+d*(i/abs(i))*(-1);
until abs(i)>1;
i:=i/10;
d:=d/10;
repeat
s:=s+i;
d:=d+0.04;
i:=i+d*(i/abs(i))*(-1);
until (i>0.22) and (i<0.24); {round(i*100)/100=0.23;}
s:=s+i;
writeln(s:5:2);
readln;
end.
Да чето не то последовательность на экран не выводитса только Прбовл корректировать но без успешно
Повторяю еще раз, для того, кому сказанное здесь:
http://forum.pascal.net.ru/index.php?s=&showtopic=19386&view=findpost&p=109011
непонятно... Вот тут http://forum.vingrad.ru/index.php?showtopic=166964&view=findpost&p=1217648 лежит решение задачи, не забрасывай ВСЕ форумы одними и теми же условиями, где задал, там получил ответ...
Копипастить везде и всюду не очень охота...