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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.10.2009, 18:54   #1
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию Это опять я, проблема вывода график на рисунок.

Код:
var  gr : array[1..30] of TPoint;
    x0, y0, dx, i : integer;
begin
  x0:=22; y0:=480;  dx:=20;
  randomize;
  for  i:=1  to  30  do
    begin
       gr[i].x := x0 + (i-1)*dx;
       gr[i].y := 5*cos(x0)*exp(-x0/5);
    end;
  Form1.Canvas.Pen.Width := 2;
  Form1.Canvas.Pen.Color := clRed;
  Form1.Canvas.Polyline(gr);
end;
Проблема заключается в том, что мне надо нарисовать функцию 5*cos(x)*exp(-x/5), дельфи ругается из-за несовпадения типов, в какой тип экспоненту преобразовать? Ну и вообще правильный ли у меня ход мысли?
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!
Bilargo вне форума
Старый 26.10.2009, 19:03   #2
NeshSoft
Максим Николаев
Форумчанин
 
Аватар для NeshSoft
 
Регистрация: 15.02.2009
Сообщений: 170
По умолчанию

округлить да и все: round(...)
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
NeshSoft вне форума
Старый 26.10.2009, 19:16   #3
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Ммм....спасибо =) Вот только график не получается! Линия вверх стягивается.
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!
Bilargo вне форума
Старый 26.10.2009, 19:25   #4
NeshSoft
Максим Николаев
Форумчанин
 
Аватар для NeshSoft
 
Регистрация: 15.02.2009
Сообщений: 170
По умолчанию

Цитата:
Сообщение от Bilargo Посмотреть сообщение
Ммм....спасибо =) Вот только график не получается! Линия вверх стягивается.
ну это уже с dx и dy напутано... кстати, там нет dy
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
NeshSoft вне форума
Старый 26.10.2009, 19:34   #5
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Ох...как я ненавижу эту математику... Меня просто воротит от неё))

Код:
procedure TForm1.FormDblClick(Sender: TObject);
var  gr : array[1..30] of TPoint;
    x0, y0, dx, dy, i : integer;
begin
  x0:=22; y0:=480;  dx:=20; dy:=20;
  for  i:=1  to  31  do
    begin
       gr[i].x := x0 + (i-1)*dx;
       gr[i].y := Round(5*cos((i-1)*dy)*exp(-(i-1)*dy/5));
    end;
  Form1.Canvas.Pen.Width := 2;
  Form1.Canvas.Pen.Color := clRed;
  Form1.Canvas.Polyline(gr);
end;
Что тут ещё поправить можно?) Надо эту функцию чертову задать правильно)))
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!

Последний раз редактировалось Stilet; 27.10.2009 в 11:19.
Bilargo вне форума
Старый 26.10.2009, 19:46   #6
NeshSoft
Максим Николаев
Форумчанин
 
Аватар для NeshSoft
 
Регистрация: 15.02.2009
Сообщений: 170
По умолчанию

Универсальный способ решения проблем "когда компилятор тебя не понимает": попробовать самому проделать на листочке все то, что написано в коде - сразу станет ясно, в каком месте происходит ошибка.
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
NeshSoft вне форума
Старый 26.10.2009, 19:49   #7
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Это конечно верный подход, но проблема мой друг заключается в том, что я просто не понимаю математических выражений, я не имею представления как эту формулу преобразовать в машинный код. Я не понимаю какой график должна выдать эта формула
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!

Последний раз редактировалось Bilargo; 26.10.2009 в 19:51.
Bilargo вне форума
Старый 26.10.2009, 19:54   #8
NeshSoft
Максим Николаев
Форумчанин
 
Аватар для NeshSoft
 
Регистрация: 15.02.2009
Сообщений: 170
По умолчанию

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

Цитата:
Сообщение от Bilargo Посмотреть сообщение
Я не понимаю какой график должна выдать эта формула
Постройте график функции в екселе например.

а вообще попробуйте так:
Код:
gr[i].y := dy*round(5*cos(x0)*exp(-x0/5));
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
NeshSoft вне форума
Старый 26.10.2009, 20:00   #9
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Ну, во-первых, не требуется никаких преобразований формул в машинный код ( с этим справляется компилятор).Вы просто, подставляя заданные значения переменных, нарисуйте (30 раз исходя из заданного цикла) точки графика.
Во-вторых:
Значение передаваемое в функцию cos должно быть в радианах.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума
Старый 26.10.2009, 20:02   #10
Bilargo
Форумчанин
 
Аватар для Bilargo
 
Регистрация: 17.09.2009
Сообщений: 231
По умолчанию

Неа.... аналогично, график сползает в плотную к верхней границе формы.
Ммм...что за беда-то =)

Цитата:
Сообщение от DeKot Посмотреть сообщение
Ну, во-первых, не требуется никаких преобразований формул в машинный код ( с этим справляется компилятор).[/B].
Да я знаю, просто не правильно выразился))) надеюсь следующие 30 человек, что прочтут этот пост, не заметят мою ошибку)
Цитата:
Относись к людям так, как хочешь, чтоб относились к тебе!

Последний раз редактировалось Stilet; 27.10.2009 в 11:19.
Bilargo вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема вывода текста. Bilargo Помощь студентам 4 26.10.2009 15:31
У кого проблема с английским на делфи то это для Вас viks1 Софт 4 26.08.2009 13:06
проблема вывода! Рустам PHP 18 28.05.2009 13:01
И опять мэйлы.. Опять... Pusher PHP 6 28.06.2008 03:08
ЭТО ОПЯТЬ Я С ГЛУПЫМИ ВОПРОСАМИ AGA Помощь студентам 2 27.06.2007 18:21