Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 44
1

Почему цикл считается только один раз?

07.11.2009, 19:40. Показов 1099. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вводится точность e. Вычислить сумму ряда http://e.tsi.lv/file.php/33/La... 4_ris5.JPG Вычисления продолжать до тех пор, пока очередное слагаемое не станет меньше e. Вывести рядом и сравнить с полученной суммой.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
    e,i,sum,k,a,b,c:extended;
begin
 e:=StrToFloat(Edit1.Text);
 sum:=1;//
 k:=-1; //
 a:=3;  //
 b:=3;  //
 i:=1;  //
  while i>e do
   begin
    i:=(1/(a*b))*k;//
    sum:=sum+i;    //
    a:=a+2;        //
    b:=b*3;        //
    k:=-k;         //
   end;
 c:=3.14/(2*sqrt(3));
 Label4.Caption:=FloatToStr(sum);
 Label5.Caption:=FloatToStr(c);
end;
Кто может подсказать, почему цикл считается только один раз?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2009, 19:40
Ответы с готовыми решениями:

Почему смена текста работает только один раз? Что неправильно в коде и почему?
Нужно чтобы при щелчке мыши на поверхности кнопки текст метки Label изменялся на текст окна...

Цикл выполняется только один раз.
#include "stdafx.h" #include "iostream" using namespace std; struct kvartira { int...

Цикл выполняется только один раз
var a, b, s :integer; begin read (a); s:=0; repeat begin if (a mod 10 mod 2)<>0 then s:=s + a...

Цикл срабатывает только один раз -_-
import java.util.Scanner; import java.lang.String; import java.util.regex.*; public class Main...

3
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.11.2009, 19:48 2
SergStLv, потому что после первого прохода, у тебя i будет меньше эпсилы. ты же на k домножаешь (а k у нас -1). Тебе надо в цикле while брать модуль i в сравнении с эпсилой.
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
07.11.2009, 19:51 3
Цитата Сообщение от SergStLv Посмотреть сообщение
i:=(1/(a*b))*k;
потому что k=-1 и при умножении i становится меньше 0 а значит меньше eps поэтому он и работает 1 раз

Добавлено через 50 секунд
Граф, сорри чуть опаздал...
1
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 44
07.11.2009, 19:53  [ТС] 4
Блин, . Об этом не подумал, второй день голову ломаю. Всем спасибо.
0
07.11.2009, 19:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2009, 19:53
Помогаю со студенческими работами здесь

Цикл проходит только один раз
Всем привет! Такая проблема: цикл проходит только один раз, причём если убрать вызов функции...

Цикл в функции проходит только один раз
Здравствуйте. Скажите что стоит изменить и почему не работает цикл в функции "sortingArray",...

Почему этот цикл выполняется один раз?
Canvas, прорисовав один раз все изображения, останавливается, а задача в том чтобы изображения...

Выполнить цикл замедления только один раз, как?
Приветствую всех. Я новичок в ардуино, освоил некоторые простые функции, но не могу понять как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru