Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи на заказ _ Простенька задача на паскале

Автор: Ausar 17.06.2007 11:15

Написать программу для вычисления заданного выражения и вывода на экран полученного значения, используя заданный циклический оператор

оператор: repeat

выражение: -0,5 + 0,7 – 0,9 +...+ 0,23

Оплата Webmoney

Автор: Urnix 17.06.2007 14:53

Цитата(Ausar @ 17.06.2007 8:15) *

выражение: -0,5 + 0,7 – 0,9 +...+ 0,23


Ausar, по-моему ты неправильно записал условие.

Вот код для вычисление суммы последовательности "-0,5 + 0,7 – 0,9 +...+ 2,3":


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.


Автор: Ausar 17.06.2007 16:01

Цитата(Urnix @ 17.06.2007 10:53) *

Ausar, по-моему ты неправильно записал условие.

Вот код для вычисление суммы последовательности "-0,5 + 0,7 – 0,9 +...+ 2,3":


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.





Нет условие верно, еще раз проверил. Спасибо за вариант решения. Вот и я сижу и бъюсь над тем что 0,23 никак понять не могу. Но условие однозначно верно.

Автор: мисс_граффити 17.06.2007 16:43

ну добавь что, пока число больше 1, его надо делить на 10.

Добавлено через 34 сек.
и вообще, действительные числа лучше через "=" не сравнивать. может зациклиться.

Автор: Urnix 18.06.2007 1:50

Цитата(мисс_граффити @ 17.06.2007 13:43) *

ну добавь что, пока число больше 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.



Так?

Автор: Гость 21.08.2007 14:27

Да чето не то последовательность на экран не выводитса только sad.gif Прбовл корректировать но без успешно

Автор: volvo 21.08.2007 15:00

Повторяю еще раз, для того, кому сказанное здесь:
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 лежит решение задачи, не забрасывай ВСЕ форумы одними и теми же условиями, где задал, там получил ответ...

Копипастить везде и всюду не очень охота...