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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2015, 21:51   #1
cyx
Пользователь
 
Регистрация: 09.03.2015
Сообщений: 37
По умолчанию Функция

У мня вопрос заключается в следующем. Дано мне уравнение в функции, и мне нужно его как нибудь ввести через едит, т.e есть 3 eдита.В первый вводим - 5х в степени два, во второй -4ч в третий - +1. так можно осуществить??? или сделать возможным выбор степени с помощью чекбокс, типа выбрать 5х в степени(1,2,3). Или без функции это нельзя сделать?. Вот код из программы:
Код:
implementation
function F(x:real):real;
begin
F:=5*x^2-4*x+1;
end;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
a,b,x,eps:real;
count:integer;
begin
count:=0;
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
eps:=StrToFloat(Edit3.Text);
repeat
x:=(a+b)/2;
if f(a)*f(x)>0 then a:=x else b:=x;
inc(count);
until b-a<eps;
Edit4.Text:=FloatToStr(x);
label5.Caption:='Количество этапов вычисления:'+IntToStr(count);
label6.Caption:='Проверка: F(x)='+FloatToStr(f(x));
end;

Последний раз редактировалось Stilet; 20.03.2015 в 21:55.
cyx вне форума Ответить с цитированием
Старый 20.03.2015, 22:01   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Вообще-то можно. Достаточно использовать функцию Power.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 20.03.2015, 22:04   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А как у вас компилятор Delphi реагирует на это
Код:
F:=5*x^2-4*x+1;
?
В Delphi ( и вообще в Паскале) ^ - это не степень, а указатель. У вас будет ошибка.

Непонятно, что вам нужно.
Покажите рисунок с Edit-ами . Пример, что должно быть в них введено.
type_Oleg вне форума Ответить с цитированием
Старый 20.03.2015, 23:33   #4
cyx
Пользователь
 
Регистрация: 09.03.2015
Сообщений: 37
По умолчанию

Это, так, чисто взятое уравнение для примера. Всё что мне нужно - это осуществить свободный ввод уравнения, чтобы затем его решить методом половинного деления.
На картинке примерно изображено, как я хочу, чтобы это выглядело. Это возможно? или каким нибудь подобным способом можно?
http://savepic.su/5493848.png
cyx вне форума Ответить с цитированием
Старый 20.03.2015, 23:44   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

- Если вам нужно вводить любое уравнение, типа x^x+sin(x)-ln(x+1) ... , то это довольно сложная задача. Это называется парсер формул или математический парсер
- А если только линейные уравнения 3-го порядка типа ax^3+bx^2+cx+d, то все очень просто. Берете 4 Edit, для a,b,c,d , и все.
В вашем случае -
в Edit1 ввести 0,
в Edit2 5
в Edit3 -4
в Edit4 1
а функция:
Код:
function F(x,a,b,c,d:real):real;
begin
F:=a*x*x*x+b*x*x+c*x+d;
end;
PS Сейчас посмотрел, у вас надо корень искать на отрезке a..b с точностью eps. Тогда еще 3 Edit для них.
Всего 7 Edit - для ввода, и 1 - для вывода результата.

Последний раз редактировалось type_Oleg; 20.03.2015 в 23:51.
type_Oleg вне форума Ответить с цитированием
Старый 21.03.2015, 00:36   #6
cyx
Пользователь
 
Регистрация: 09.03.2015
Сообщений: 37
По умолчанию

Прошу прощение за такую навязчивость, но не могли бы вы мне подобрать какое нибудь простое уравнение на метод половинного деления, и составить по нему график. Просто это моя курсовая работа, мне нужно, чисто так, показательно решить для примера. Буду очень вам Благодарен. Ибо я со составлением графика совсем незнаком да и в математике я слаб.
cyx вне форума Ответить с цитированием
Старый 21.03.2015, 01:11   #7
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от cyx Посмотреть сообщение
.. Ибо я со составлением графика совсем незнаком да и в математике я слаб.
Ну не настолько же слаб, что не сможете в Excel построить какой-нибудь график. Иначе зачем вам такая специальность , где настолько мучительно даются курсовые?

Или вам нужен не сам график , а программа на Delphi для рисования графиков? Чтобы по графику выбрать интервал a..b, где искать корень.
Так это задача гораздо объёмнее, чем поиск корня бисекцией.

А график - да пожалуйста ...
Изображения
Тип файла: jpg gra.jpg (25.0 Кб, 69 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 21.03.2015, 15:53   #8
cyx
Пользователь
 
Регистрация: 09.03.2015
Сообщений: 37
По умолчанию

мне только нужно сделать готовый график к определенному уравнению, чтобы по нажатию button он отобразился на форме.
cyx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция stas45rus Помощь студентам 1 13.10.2011 18:13
функция shok.92 Помощь студентам 0 03.12.2010 18:50
Функция aus Общие вопросы C/C++ 2 17.11.2010 08:30
Функция Lemo Помощь студентам 1 02.12.2008 00:24
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50