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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2012, 00:26   #1
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
Восклицание Разработать проект вычисления таблицы значений функций одной переменной. ( Delphi)

Разработать проект вычисления таблицы значений функций одной переменной. Вычислить значения данных функций на отрезке [a;b] с заданным шагом h. Вычисление функции оформить в виде отдельной пользовательской функции. Предусмотреть обработку возможных ошибок приложения. Вывод результатов организовать с помощью компоненты StringGrid. Для организации правильной работы пользователя реализовать сценарий работы с использованием свойств visible и enabled компонент, размещенных на форме. Для управления работой приложением использовать компоненту КНОПКА (Button или BitBtn).
Внизу вложена функция для программы.

Эта программа не работает ( выдает ошибку), если можете то исправьте.
Заранее Спасибо.

Код:
function TForm1.Func(x: real): real;
begin
    If  func:=(15+(x*x)/(x*x*x))
  else  func:=(6/(x+9))
  else  func:= 4+3x;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  Button1.Enabled:=Edit1.Text<>'';
  Label1.Visible:=false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:='РЕЗУЛЬТАТ Y: '+FloatToStr(func(StrToFloat(Edit1.Text)));
  Label1.Visible:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Enabled:=false;
  Label1.Visible:=false;
end;
Вложения
Тип файла: doc функция для программы.doc (15.5 Кб, 20 просмотров)
Anton94.by вне форума Ответить с цитированием
Старый 25.09.2012, 14:54   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Для начала
1) Это 3 разных функции, их надо табулировать отдельно
Код:
function TForm1.Func1(x: real): real;
begin func:=(15+(x*x)/(x*x*x)) end;

function TForm1.Func2(x: real): real;
begin func:=(6/(x+9)) end;

function TForm1.Func3(x: real): real;
begin func:= 4+3x end;
Предусмотреть ошибки (знаменатель <> 0 и т.п)

2) Нужно задать интервал [a, b] и шаг h, например, с помощью Edit

3) В цикле от а до b с шагом h искать значение функции и заносить в StringGrid
Код:
k := a;
i := 1;
while k<=b do begin
  StringGrid.Cells[1, i]:=floattostr(func1(k));
  StringGrid.Cells[2, i]:=floattostr(func2(k));
  StringGrid.Cells[3, i]:=floattostr(func3(k));
  inc(i);
  k:=k+h
end;
Кол-во строк можно узнать как int от (b-a)/h +1 (тут также предусмотреть ошибки, чтобы а было > b и h<>0)

P.S. Код не проверял
eoln вне форума Ответить с цитированием
Старый 26.09.2012, 19:03   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
    If  func:=(15+(x*x)/(x*x*x))
  else  func:=(6/(x+9))
  else  func:= 4+3x;
Это что-за фигня? Вы сравниваете или присваиваете?

Кстати, вот это не Ваш ли пост? С другой функцией... Что, даже переделать не смогли?

http://programmersforum.ru/showthread.php?t=212462
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Stilet; 26.09.2012 в 21:32.
Sciv вне форума Ответить с цитированием
Старый 27.09.2012, 01:01   #4
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
По умолчанию

Если можно, то можете всю программу написать. Там ещё надо какую-то таблицу делать. Если будете делать в программе, то можете скинуть полностью программу. ( Ну типа Progekt и Unit).

Вот программа которая получилась у меня, только здесь надо ещё как-то таблицу вставить.

Код:
function TForm1.Func1(x: real): real;
begin func:=(15+(x*x)/(x*x*x)) end;

function TForm1.Func2(x: real): real;
begin func:=(6/(x+9)) end;

function TForm1.Func3(x: real): real;
begin func:= 4+3x end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:=' '+FloatToStr(func(StrToFloat(Edit1.Text)));
  Label2.Caption:=' '+FloatToStr(func(StrToFloat(Edit2.Text)));
  Label3.Caption:=' '+FloatToStr(func(StrToFloat(Edit3.Text)));
procedure TForm2.Button2Click(Sender: TObject);
k := a;
i := 1;
while k<=b do begin
  StringGrid.Cells[1, i]:=floattostr(func1(k));
  StringGrid.Cells[2, i]:=floattostr(func2(k));
  StringGrid.Cells[3, i]:=floattostr(func3(k));
  inc(i);
  k:=k+h
end;
procedure TForm3.Button3Click(Sender: TObject);
close; 
end;
Если можете то допишите прогу. Если будете дописывать в программе Delphi7, сбросьте эту программу на этот E-mail: anton94.by@mail.ru

Заранее Спасибо.

Последний раз редактировалось Stilet; 03.10.2012 в 10:35.
Anton94.by вне форума Ответить с цитированием
Старый 08.10.2012, 22:05   #5
Anton94.by
Форумчанин
 
Регистрация: 16.10.2011
Сообщений: 115
По умолчанию

Как вставить таблицу в Delphi? Обьясните пожалуйста, срочно нужно. ( Если можете,то исправьте ошибки в коде).
Anton94.by вне форума Ответить с цитированием
Старый 09.10.2012, 08:54   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Как вставить таблицу в Delphi?
смотря что Вы понимаете под словом "таблица"...
если речь идёт о TStringGrid (он используется в решении постом выше), тогда открывайте дизайнер, открывайте палитру компонентов (это там, где кнопочки, лейблы и прочие доступные компоненты), закладка "Additional" - там есть TStringGrid. Перетаскиваете его на форму. настраиваете как вам надо. всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.10.2012, 15:27   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Если можете то допишите прогу. Если будете дописывать в программе Delphi7, сбросьте эту программу на этот E-mail: anton94.by@mail.ru

Заранее Спасибо.
А вы и Ace93 случайно не один и тот же человек? Уж что-то знакомая замашка просить высылать решения на e-mail.
Вадим Мошев вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработать проект вычисления функции одной переменной ( на Delphi ) Anton94.by Помощь студентам 1 24.09.2012 14:53
Численные методы : Оптимизация функций одной переменной Дырдин Общие вопросы C/C++ 1 04.04.2011 11:36
обмен значений записей одной таблицы GothicAr SQL, базы данных 0 09.04.2010 18:01
Печать таблицы значений математических функций fs444 Общие вопросы C/C++ 3 29.03.2010 18:33
Программирование алгоритмов циклической структуры для задач табулирования функций одной переменной с пост bbk_serg Помощь студентам 1 10.01.2009 18:16