Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.05.2013, 11:56
funky_haska funky_haska вне форума
Прохожий
 
Регистрация: 20.05.2013
Сообщения: 4
Версия Delphi: delphi 7
Репутация: 10
По умолчанию проблема с построением графиков в tChart

я совсем начинающий "программист", не могу понять в чем дело,
постоянно пишет not enough actual parameters
Код:
procedure TForm1.N1Click(Sender: TObject);   
var i,n:integer; x:real;
begin
Series1.Clear;
x:=-10;
while x<=10 do
begin
Series1.AddXY(x,f1(x));
x:=x+e;
end;
Series2.Clear;
x:=-10;
while x<=10 do
begin
Series2.AddXY(x,f2(x));
x:=x+e;
end;
end;
MAD: Читаем правила!

Последний раз редактировалось M.A.D.M.A.N., 20.05.2013 в 12:30.
Ответить с цитированием
  #2  
Старый 20.05.2013, 12:09
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от funky_haska
я совсем начинающий "программист", не могу понять в чем дело,
постоянно пишет not enough actual parameters

procedure TForm1.N1Click(Sender: TObject);
var i,n:integer; x:real;
begin
Series1.Clear;
x:=-10;
while x<=10 do
begin
Series1.AddXY(x,f1(x));
x:=x+e;
end;
Series2.Clear;
x:=-10;
while x<=10 do
begin
Series2.AddXY(x,f2(x));
x:=x+e;
end;
end;
А функции f1 и f2 как у тебя объявлены?
Ответить с цитированием
  #3  
Старый 20.05.2013, 12:10
funky_haska funky_haska вне форума
Прохожий
 
Регистрация: 20.05.2013
Сообщения: 4
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Код:
function f1(x,y:real):real;
begin
f1:=sin(x+y)-1.5*x;
end;

function f2(x,y:real):real;
begin
f2:=power(x, 2)+power(y, 2)-1;
end;
MAD: Последнее предупреждение!

Последний раз редактировалось M.A.D.M.A.N., 20.05.2013 в 12:31.
Ответить с цитированием
  #4  
Старый 20.05.2013, 12:12
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от funky_haska
function f1(x,y:real):real;
begin
f1:=sin(x+y)-1.5*x;
end;

function f2(x,y:real):real;
begin
f2:=power(x, 2)+power(y, 2)-1;
end;
Ну так этим функциям нужно передавать 2 параметра, а ты передаёшь только один - x.
Ответить с цитированием
  #5  
Старый 20.05.2013, 12:32
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Топик стартеру последнее предупреждение, используй тег CODE для оформления кода, или в бан за игнорирование правил.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 20.05.2013, 12:33
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да к тому же вызов AddXY должен выглядеть примерно так
Код:
Series1.AddXY(X, Y, '', clRed);
Ответить с цитированием
  #7  
Старый 20.05.2013, 12:36
funky_haska funky_haska вне форума
Прохожий
 
Регистрация: 20.05.2013
Сообщения: 4
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

спасибо! графики работают, все круто!
теперь появляется вот такое сообщение и выделяется f2

project project1.exe raised exception class EOverflow with message "Floating point overflow". Process stopped. Use step or run to continue

я понятия не имею, что это может означать - помогите пожалуйста

вот код программы:

Код:
function f1(x,y:real):real;
begin
f1:=sin(x+y)-1.5*x;
end;

function f2(x,y:real):real;
begin
f2:=power(x, 2)+power(y, 2)-1;
end;

procedure TForm1.N1Click(Sender: TObject);    //графики
var x,y:real;
begin
Series1.Clear;
x:=-5;
while x<=5 do
begin
Series1.AddXY(x,f1(x,y));
x:=x+e;
end;
Series2.Clear;
x:=-5;
while x<=5 do
begin
Series2.AddXY(x,f2(x,y));
x:=x+e;
end;
end;

procedure TForm1.N2Click(Sender: TObject);   //метод Гаусса-Зейделя
var k,x,y,xn,yn:real;
begin
k:=0;
x:=strtofloat(Edit6.Text);
y:=strtofloat(Edit7.Text);
yn:=f1(x,y);
xn:=f2(x,y);
repeat
k:=k+1;
x:=xn;
y:=yn;
yn:=f1(xn,y);
xn:=f2(x,y);
until (abs(x-xn)<e) and (abs(y-yn)<e);
Edit4.Text:=floattostr(xn);
Edit5.Text:=floattostr(yn);
Edit8.Text:=floattostr(k);
end;


procedure TForm1.N3Click(Sender: TObject); //Метод Якоби
var x,y,xn,yn:real; k:integer;
begin
x:=strtofloat(Edit6.Text);
y:=strtofloat(Edit7.Text);
xn:=f2(x,y);
yn:=f1(x,y);
repeat
k:=k+1;
x:=xn;
y:=yn;
yn:=f1(x,y);
xn:=f2(x,y);
until (abs(x-xn)<e) and (abs(y-yn)<e);
Edit2.Text:=floattostr(xn);
Edit3.Text:=floattostr(yn);
Edit1.Text:=floattostr(k);
end;


procedure TForm1.N4Click(Sender: TObject);
begin
Form1.Close;
end;

end.

Последний раз редактировалось funky_haska, 20.05.2013 в 12:39.
Ответить с цитированием
  #8  
Старый 20.05.2013, 12:40
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от funky_haska
спасибо! графики работают, все круто!
теперь появляется вот такое сообщение и выделяется f2

project project1.exe raised exception class EOverflow with message "Floating point overflow". Process stopped. Use step or run to continue
Это наверное потому, что стандартная функция power не умеет возводить в степень отрицательные числа.
Ответить с цитированием
  #9  
Старый 20.05.2013, 12:44
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Alegun
Да к тому же вызов AddXY должен выглядеть примерно так
Код:
Series1.AddXY(X, Y, '', clRed);
Последние два параметра в методе AddXY имеют значения по-умолчанию, поэтому их можно опускать.
Ответить с цитированием
  #10  
Старый 20.05.2013, 12:45
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп: В курсах, но так более правильно.
Ответить с цитированием
  #11  
Старый 20.05.2013, 12:52
funky_haska funky_haska вне форума
Прохожий
 
Регистрация: 20.05.2013
Сообщения: 4
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Это наверное потому, что стандартная функция power не умеет возводить в степень отрицательные числа.

сейчас вообще по-деревянному написала, все равно не работает
Код:
function f2(x,y:real):real;
begin
f2:=x*x+y*y-1;
end;
Ответить с цитированием
  #12  
Старый 20.05.2013, 12:55
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от funky_haska
Код:
function f2(x,y:real):real;
begin
f2:=x*x+y*y-1;
end;
Код:
f2:= (x*x)+(y*y)-1;
Ответить с цитированием
  #13  
Старый 20.05.2013, 12:58
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от funky_haska
сейчас вообще по-деревянному написала, все равно не работает
Код:
function f2(x,y:real):real;
begin
f2:=x*x+y*y-1;
end;
Ошибка "Floating point overflow" означает что в процессе вычисления получаются сильно большие числа - обрати внимание на то, что у тебя в обработчике N1Click не задаётся значение переменной y, а значит оно имеет непредсказуемое значение.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:34.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter