C++ buiider ортасындағы графика графиктік файлдардың форматтары


Қосымшаның программалық коды



бет4/8
Дата16.12.2023
өлшемі0,56 Mb.
#140292
1   2   3   4   5   6   7   8
Қосымшаның программалық коды:

#include


#pragma hdrstop
#include "Unit1.h"
# include "math.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float f(float x) //функцияның мәндерін есептеу
{
float f=(2/x)-(pow((3/x),2));
return f;
}
void GrafSizy() // график сызатын функция басталды
{
float x1,x2,y1,y2,x0,y0;
float x,mx,my; //график салынатын облысты даярлау
int lbik=Form1->Image1->ClientHeight; //image1-дiн биiктiгi
int lyz=Form1->Image1->Width; //image1-дiн ұзындығы


// Y осьтi сызу, ол (xY,yY) нүктеден басталып (xY,cY) нүктеде бiтедi;
float xY=lyz/2;
float yY=10;
float cY=lbik-10;
Form1->Image1->Canvas->MoveTo(xY,yY);
Form1->Image1->Canvas->LineTo(xY,cY);


// X осьтi сызу, ол (xX,yX) нүтеден басталып (сХ, уХ) нүктеде бiтедi;
float xX=10;
float yX=lbik/2;
float cX=lyz-10;
Form1->Image1->Canvas->MoveTo(xX,yX);
Form1->Image1->Canvas->LineTo(cX,yX);


// бастапкы мәндердi анықтау
x1=-25; x2=25; y1=f(x1); y2=f(x2);


// масштабты тағайындау
mx=lyz/(x2-x1); my=lbik/4*(y2-y1);


//координата бас нуктеге (xY,yX) бару
x0=xY; y0=yX;
Form1->Image1->Canvas->MoveTo(x0,y0);


// график сызу басталды
x=x1;
while(x{ //нуктенi салу
Form1->Image1->Canvas->Pixels[x0+mx*x][y0-my*f(x)]=clBlack;
x=x+0.01; // келесi мәндi алу
}
// Канваға мәтiндердi жазу
Form1->Image1->Canvas->TextOutA(x0,y0,'0');
Form1->Image1->Canvas->TextOutA(xY,yY,"Y");
Form1->Image1->Canvas->TextOutA(cX,yX,"X");
} // график сызатын функция аякталды
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
GrafSizy(); //графиктi салатын GrafSizy() функциясын шакыру
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Text="Программа y=(2/x)-(pow((3/x),2)) функциясының [-25,25] аралығында графигiн 0.01 қадаммен салып шығады";
}
//------------------------




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет