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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2011, 12:38   #1
Sannyore
 
Регистрация: 09.03.2010
Сообщений: 3
По умолчанию 3 графика функции

Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  x0, y0 : integer; // начало координат
  f1, f2, f3 : real; // значения функций
  kx: integer; // кол-во пикселей в единичном отрезке
  x1, x2 : real; // диапозон изменения аргументов
  y1, y2, y3 : real; // диапозон изменения значений
  dx : real; // приращение     // шаг аргумента
  xp, yp1, yp2, yp3, a, b : real;//преобразованные точки для вывода на график
  s : integer; // размерность системы координат
 
 
implementation
 
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
const
pi = 3.14;
begin
s:=350;
dx := 0.00003;
x1:= 0;
x2:=pi;
a:= 0;
b :=pi;
x0 := 150; //ось x
y0 := 120; //ось y
//построение осей
with form1.Canvas do
  begin // рисуем оси
    MoveTo(x0,25);    // ось х
    LineTo(x0,750);
    MoveTo(700,y0);    // ось у
    LineTo(25,y0);
     TextOut(135, 125, '0');
      TextOut(700, 114, '>');
      TextOut(146, 24, '^');
       TextOut(700, 125, 'x');
       TextOut(160, 24, 'y');
 
    while x1<x2 do
      begin
      kx := s div Round(b - a); //кол-во пикселей в ед. отрезке по х
      y1 := sqrt(sqr(x1)) + 2; //считаем  для 1-ой фун-ии
      y2 :=sin(sqrt(2*x1)) + cos(x1) ; // считаем  для 2-ой фун-ии
      y3 := (sqrt(sqr(x1)) + 2) - Abs(sin(sqrt(2*x1)) + cos(x1));  //считаем  для 3-ей фун-ии
      xp := x0 + kx*x1;
     yp1 := y0 + 10*y1;
      yp2 := y0 + 10*y2;
      yp3 := y0 + 10*y3; 
   Pixels[Round(xp),Round(yp1)] := clRed;
     Pixels[Round(xp),Round(yp2)] := clGreen;
      Pixels[Round(xp),Round(yp3)] := clBlue;
      x1 := x1 + dx;        //  пробег от 1-го значения х1 до х2
                      //(проход всех значений от x1 + шаг dx  до x2 с шагом dx)
      end;
end;
end;
end.
Народ, есть одна проблема в этой программе. Нужно найти коэф. ky для масштаба этих трех функций по оси Y, т.к. для оси Х есть он, kx. Помогите пожалуйста, не могу разобраться как сделать это. Заранее вам благодарен.
Вот область, в которой требуется этот коэф. Сейчас там стоят числовые значения, но так к сожалению не годится :
yp1 := y0 + 10*y1;
yp2 := y0 + 10*y2;
yp3 := y0 + 10*y3;

Саму программу еще выложил.
Вложения
Тип файла: rar задание 3 + + +.rar (197.3 Кб, 12 просмотров)

Последний раз редактировалось Sannyore; 03.04.2011 в 12:45.
Sannyore вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание графика функции!!!!!! storm67rus Microsoft Office Excel 8 30.12.2010 19:11
Построение графика функции f(x) ZVEREX Помощь студентам 0 26.05.2010 13:12
Построение графика функции. TP sysfa1l Помощь студентам 8 15.11.2009 13:01
Построение графика функции Жека:) Общие вопросы C/C++ 5 11.11.2008 19:05
Графика. Построение функции AngelOfDeath Общие вопросы Delphi 2 14.10.2008 13:44