Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сумма знакопеременного ряда, (переименовано) 
V
    Опции темы
Alexander4321
Дата 30.11.2010, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.11.2010

Репутация: нет
Всего: нет



Добрый день! Необходимо написать программу для вычисления заданного выражения и вывода на экран полученного значения, используя заданный циклический оператор (While).  Выражение -0,18 + 0,20 – 0,22 +...+ 0,36. Насколько я понял, то полное выражение -0.18+0.20-0.22+0.24-0.26+0.28-0.30+0.32-0.34+0.36 (подсчитал калькулятором результат = 0.099999..). Подсчет данного выражения требуется произвести в одном цикле. Я написал следующую программу
const n=0.36;
var i,r,s:real;
begin
s:=0; i:= -0.18; r:= 0.20;
while r = n do begin
s := s + i + r;
i := i - 0.04; r := r + 0.04;
end;
writeln ('S = ', s);
end.
В результате программа выдает совершенно другой результат, нежели калькулятор. Не могу понять, может требуется, чтобы выполнялось одновременно два условия : r=0.36 и i=-0.32 ??? Не подскажите, что нужно изменить в программе? Заранее спасибо!
PM   Вверх
volvo877
Дата 1.12.2010, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



А если вот так:
Код
const
   first = 0.18;
   last  = 0.36;
   delta = 0.02;
var
   s, value: real;
   sign: integer;
begin
   s := 0; value := first;
   sign := -1;
   while value < (last + delta/2) do
   begin
     { writeln(sign*value:10:5); }
     s := s + sign * value;
     value := value + delta;
     sign := -sign;
   end;
   writeln ('S = ', s:10:5);
end.

?

Это сообщение отредактировал(а) volvo877 - 2.12.2010, 09:10
PM MAIL   Вверх
Alexander4321
Дата 1.12.2010, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.11.2010

Репутация: нет
Всего: нет



Даа... Не зря говорят, что все гениальное просто. А я всю голову сломал. Спасибо!!!!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.