Biblioteci grafice. funcții de bază

Previzualizare laborator:

Extras din laborator:

Condiţie :

1. Este dată funcţia y=f(x).

Alcatuiţi în C++ funcţia (procedura) proprie ce depinde de 2

parametri şi calculează valoarea funcţiei f pentru argumentul

dat x cu precizia dată epsilon.

2. Creaţi un proiect de tip Single Document în Microsoft Visual C++. Adăugaşi în proiectul dat codul ce desenează cu segmente de linii drepte graficul funcşiei f cu culoarea indicată pe intervalul dat (a,b) cu pasul dat h . Pentru a calcula valoarea funcşiei folosişi procedura proprie cu precizia indicată.

3. Adăugaţi în proiect codul care desenează cu o altă culoare deasupra primului grafic un grafic punctat al aceleiaşi funcţii, însă fiind calculată funcţia cu ajutorul bibliotecii standarte de funcţii matemetice. Graficele trebuie să coincidă.

4. Adăugaţi în proiect codul care creează 2 fişiere de tip text cu un numar egal de linii ce coincide cu un număr de puncte calculate ale funcţiei. Primul fişier trebuie să conţină pentru fiecare linie:

- valoarea argumentului;

- valoarea funcţiei calculată cu ajutorul procedurii proprii;

- valoarea funcţiei calculată cu ajutorul funcţiei standarte (bibliotecii matematice);

- mărimea absolută a valorii tabulate (diferenţa dintre două valori calculate);

- precizia dată.

Acest fişier îl folosim pentru un control vizual al faptului că mărimea absolută a diferenţei fiecărei linii nu întrece valoarea preciziei.

Al doilea fişier îl utilizăm pentru un control suplimentar.

5. De încărcat un program specializat de desenare al graficelor

funcţiilor. De importat al 2-lea fişier textual şi de construit

graficul funcţiei folosind perechile de coordonate. De construit

deasupra graficului graficul aceleiaşi funcţii folosind forma

analitică. De analizat datele obţinute.

6. De prezentat şi de susţinut lucrarea la profesorul de laborator.

2. Lising-ul:

// proiectView.cpp : implementation of the CproiectView class

//

#include "stdafx.h"

#include "proiect.h"

#include "math.h"

#include "proiectDoc.h"

#include "proiectView.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

// CproiectView

IMPLEMENT_DYNCREATE(CproiectView, CView)

BEGIN_MESSAGE_MAP(CproiectView, CView)

// Standard printing commands

ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)

END_MESSAGE_MAP()

// CproiectView construction/destruction

CproiectView::CproiectView()

{

// TODO: add construction code here

}

CproiectView::~CproiectView()

{

}

BOOL CproiectView::PreCreateWindow(CREATESTRUCT& cs)

{

// TODO: Modify the Window class or styles here by modifying

// the CREATESTRUCT cs

return CView::PreCreateWindow(cs);

}

// CproiectView drawing

double myf (double x, double e){

double s,t;

int k;

k=1;

s=t=x;

for (k=2;fabs(t)>e;k++)

{

t=t*x*x/((2*k-1)*(2*k-2));

s+=t;}

return s; }

void CproiectView::OnDraw(CDC* pDC)

{

CproiectDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

if (!pDoc)

return;

// TODO: add draw code for native data here

double x,y,a=-6,b=6,s=0.025,scx=60.0,scy=80.0,e=0.0001;

CPen penAxa (PS_SOLID,4,RGB(0,0,200));

CRect rcClient;

GetClientRect(&rcClient);pDC->SelectObject(&penAxa);

pDC->MoveTo(0,rcClient.CenterPoint().y);

pDC->LineTo(rcClient.Width(),rcClient.CenterPoint().y)

Observații:

UNIVERSITATEA DE STAT DIN MOLDOVA

FACULTATEA MATEMATICĂ ŞI INFORMATICĂ

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Biblioteci Grafice. Functii de Baza.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
6 pagini
Imagini extrase:
6 imagini
Nr cuvinte:
711 cuvinte
Nr caractere:
6 347 caractere
Marime:
25.67KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Grafică Computerizată
Predat:
la facultate
Materie:
Grafică Computerizată
Profesorului:
Maria G.
Sus!