Тапсырмалар
1-деңгей
f(x)=exp(0.5*Х) графигін [-5,5 ] аралығында h=0.01қадаммен салу керек /3.3.1-сурет/.
3.3.1-сурет. f(x)=exp(0.5*Х) функция графигі
Программа мәтіні:
#include
#pragma hdrstop
#include "Unit1.h"
#include "math.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float f(float x) //функцияның мәндерін есептеу
{
float f=exp(0.5*x);
return f;
}
void GrafSizy() // график сызатын функция
{ float x1,x2,y1,y2,x0,y0;
float x,mx,my;
//график салынатын облысты даярлау
int Ibik=Form1->Image1->ClientHeight; // image1-дин биктги
int Iyz=Form1->Image1->Width; //image1-дин узындыгы
// Y осьти сызу, ол (xY,yY) басталып (xY,cY) нүктеде бітеді;
float xY=Iyz/2;
float yY=10;
float cY=Ibik-10;
Form1->Image1->Canvas->MoveTo(xY,yY);
Form1->Image1->Canvas->LineTo(xY,cY);
// X осьти сызу ол (xХ,yХ) басталып (сХ, yX ) нүктеде бітеді;
float xX=10;
float yX=Ibik/2;
float cX=Iyz-10;
Form1->Image1->Canvas->MoveTo(xX,yX);
Form1->Image1->Canvas->LineTo(cX,yX);
//бастапкы мандерди аныктау
x1=-5; x2=5; y1=f(x1); y2=f(x2);
//масштабты тагайындау
mx=Iyz/(x2-x1); my=Ibik/(y2-y1);
//координата бас нуктеге (xY,yX) бару
x0=xY; y0=yX;
Form1->Image1->Canvas->MoveTo(x0,y0);
//график сызу басталды
x=x1;
while (x{
Form1->Image1->Canvas->Pixels[x0+mx*x][y0-my*f(x)]=clBlack;
x=x+0.01;
}
//
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)
{
}
//---------------------------------------------------------------------------
Достарыңызбен бөлісу: |