Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2010, 21:18   #1
reasons
 
Регистрация: 04.07.2010
Сообщений: 5
По умолчанию Зачем эта перменная (Delphi)

Доброго времени суток.Ув. Постояльцы прошу помощи в том, чтобы разообраться зачем нужна эта переменная и что она делает.

Вот код, красным подсвечено то что не понятно.

Код:
procedure TForm1.Button1Click(Sender: TObject);      
var  a,b:real;
     i,r1,rn:integer;
begin
r1:=strtoint(edit2.text);
rn:=strtoint(edit1.text);
series2.Clear;
series3.Clear;
series4.Clear;
a:=strtofloat(edit4.Text);
b:=strtofloat(edit5.Text);
for i:=r1 to rn do
begin
series2.addxy(i,eps(pr(a,b,round(power(2,i)))));
series3.addxy(i,eps(tr(a,b,round(power(2,i)))));
series4.addxy(i,eps(sp(a,b,round(power(2,i)))));
end;
end;
а вот функция pr

Код:
Function pr(a,b:real;n:integer):extended;  // ôóíêöèÿ ìåòîäà ïðÿìîóãîëüíèêà
var sum,h:real;
    i:integer;
begin
sum:=0;
h:=(b-a)/n;
i:=1;
while i<=n do
begin
sum:=sum+f(a+h*i-h/2)*h;
i:=i+1;
end;
pr:=sum;
end;
подскажите пожалуйста для чего мы в отрисовке графика возодим 2 в итую степень и округляем.
reasons вне форума Ответить с цитированием
Старый 15.07.2010, 21:29   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

откуда я знаю?
наверно по формуле так надо.(учитывая что i это -Х, похоже что так и есть)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.07.2010, 21:34   #3
reasons
 
Регистрация: 04.07.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
откуда я знаю?
наверно по формуле так надо.(учитывая что i это -Х, похоже что так и есть)
чисто логически на месте этого возведения должно стоять N - число разбиений. И вот я не могу понять почему именно там 2 в i-той степени=( может есть какие-то идеи?
reasons вне форума Ответить с цитированием
Старый 15.07.2010, 21:41   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

чисто логически?
а вы смотрели формулу этого кода?(по которой код написан).
вы принесли суда какие то кусочки кода, по которым практически нельзя ничего сказать...

знаете что я отвечу, и что будет правдой?
раз там стоит так, значит автору кода так было нужно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.07.2010, 21:46   #5
Trial
Истребитель кофе
Пользователь
 
Аватар для Trial
 
Регистрация: 04.02.2010
Сообщений: 15
По умолчанию

Если незнаешь что это и для чего нужно, поизменяй значения в этой строке и глянь на результат, может чего и поймёшь
Trial вне форума Ответить с цитированием
Старый 15.07.2010, 21:48   #6
reasons
 
Регистрация: 04.07.2010
Сообщений: 5
По умолчанию

Я не понимаю зачем сразу так нападать? Если поможет сути дела, то могу выложить весь код программы. Мне не понятно к чему вы так агрессивны?
reasons вне форума Ответить с цитированием
Старый 15.07.2010, 21:50   #7
reasons
 
Регистрация: 04.07.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Trial Посмотреть сообщение
Если незнаешь что это и для чего нужно, поизменяй значения в этой строке и глянь на результат, может чего и поймёшь
Смотрел через watchlist, i постоянно равно нулю.
reasons вне форума Ответить с цитированием
Старый 15.07.2010, 22:13   #8
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от reasons Посмотреть сообщение
подскажите пожалуйста для чего мы в отрисовке графика возодим 2 в итую степень и округляем.
а это шайтан программер так придумал

я-бы конечно обошелся 2 shl i

ну тут хитрая задумка - вдруг степень числа 2 (с целой степенью) будет дробной

а вообще я так понял - это обход отрицательных чисел.
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 15.07.2010, 22:14   #9
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от reasons Посмотреть сообщение
Смотрел через watchlist, i постоянно равно нулю.
плохо смотрел... там значения из....

r1:=strtoint(edit2.text);
rn:=strtoint(edit1.text);
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 15.07.2010, 22:22   #10
reasons
 
Регистрация: 04.07.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Korben5E Посмотреть сообщение
плохо смотрел... там значения из....

r1:=strtoint(edit2.text);
rn:=strtoint(edit1.text);
вот число получемое из

round(power(2,i))

заносится в n в функция раасчета по методу прямоугольников треугольников и методу симпсона. получается что эти функции считают графики погрешностей.может толкнет на какую идею)
reasons вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что значит эта строка? marselik Общие вопросы C/C++ 6 11.03.2010 19:17
Что делает эта строчка??? marselik Общие вопросы C/C++ 2 02.11.2009 13:54
На чём зделана эта штука HellMercenariess PHP 3 04.08.2009 13:01
нормальная ли эта температура процесора.... netbioz Компьютерное железо 14 24.06.2009 12:55
Что делает эта прога StudentPolitech Общие вопросы C/C++ 1 25.03.2009 22:54