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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2009, 15:50   #1
s1d0r
 
Регистрация: 26.05.2009
Сообщений: 7
По умолчанию Вопрос о типе переменной

Задача:
нужно создать масив из значений x и y функции, введенной в LabeledEdit1.Text.
Листинг:


Код:
procedure TForm1.Button1Click(Sender: TObject);
var
x: real;
i,j:=integer;
xy: array [1..999,1..2] of real;
y: ??????; // какого типа должен быть y?
begin
y:=  //функции которая введена в LabeledEdit1.Text например cos(x)
x:=0.001;
  for i:=1 to 999 do
    begin
      xy[i,1]:=x;
      xy[i,2]:=y;
      x:=x+0.001;
    end;
end;
Какого типа должна быть переменная y что бы программа считывала с неё введеную функцию?
s1d0r вне форума Ответить с цитированием
Старый 12.06.2009, 20:06   #2
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

string.
только,насколько я понял вам еще понадобится какой-нить парсер формул. Кажется,даже тут на форуме кто-то уже делал.
---
вот что нашел пока...
http://www.delphikingdom.com/asp/vie...?catalogid=704
rocklistener...

Последний раз редактировалось 5naip; 12.06.2009 в 20:12.
5naip вне форума Ответить с цитированием
Старый 13.06.2009, 14:01   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

s1d0r, ещё можно научиться пользоваться поиском по форуму.
Вот, например - Выполнение строки как кода в Delphi
или Преобразлвание строки в формулу. DELPHI.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.06.2009, 15:58   #4
s1d0r
 
Регистрация: 26.05.2009
Сообщений: 7
По умолчанию

Установил компонент MathParser. Мне нужно вводить f(x) = 0. Пример ввода в Edit: x^7+6*x-5. Проблема в том что x это заведома неизвестное значение. Шаг 1: x1 = 1, x1=x0, e(экспонента)=0,0001, f(x1) = x0/((f(x0+e)-f(x0))/e). Шаг 2 : x0=f(x1), f(x2) = x0/((f(x0+e)-f(x0))/e). И так пока не получим приближенное значение в e=0,0001 (метод Ньютона). А есле использовать MathParser то он x не читает!

как быть? может есть какието другие компоненты которые подходят для моей ситуации
P. S. в програмировании я новичок

Последний раз редактировалось s1d0r; 17.06.2009 в 16:03.
s1d0r вне форума Ответить с цитированием
Старый 17.06.2009, 17:27   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

В Делфи есть TParser например. Но все такие штучки все равно, как правило, требуют ручной доводки.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
1. Присвоить переменной значение ячейки, находящейся в ТЕКУЩЕМ ряду в столбце "E" 2.Вопрос по автофильтру Павел-812 Microsoft Office Excel 6 27.07.2011 10:32
Вопрос по логической переменной fl:boolen(паскаль) aslanbek999 Помощь студентам 5 12.06.2009 15:14
Имя переменной как переменная. Как получить доступ к такой переменной? Denni Microsoft Office Access 8 02.04.2009 10:06
Работа с файлами (создание, удаление, открытие, связываение с переменной, очищение памяти переменной) Arkuz Общие вопросы Delphi 12 25.09.2007 20:47