Tehnici de programare

Previzualizare laborator:

Extras din laborator:

Se creeaza o lista dublu inlantuita care calculeaza valoarea unui polinom de grad n.

Se citesc ca date de intrare:

x - valoarea necunoscutei

gr - gradul polinomului

coef - coeficientii polinomului

Pentru rezolvarea acestei aplicatii s-au folosit urmatoarele functii:

1. functia creare pentru construirea listei dublu inlantuite

2. functia putere care returneaza valoarea lui x la puterea gr

3. functia calcul_pol returneaza valoarea polinomului

4. functia listare_sd pentru afisarea polinomului si a rezultatului acestuia obtinut de

functia calcul_pol

5. functia principala main pentru citirea datelor de intrare si afisarea rezultatelor

// declararea structurii

typedef struct nod

{

double coef; //coeficientul

nod *prec;

nod *urm;

}*adr;

adr prim, ultim;

double x; // valoarea necunoscutei polinomului

// la creare in lista se adauga coeficientii polinomului

void creare(adr &prim, adr &ultim, double coef)

{

}

//functia putere returneaza valoarea lui x la puterea specificata de gr

double putere(double x, int gr)

{

double p=1;

for(int i=0;i<gr;i++)

p=p*x;

return p;

}

Laborator 2 Tehnici de programare

2

prep. univ. drd. Laura Cacovean

//functia calcul_pol care calculeaza valoarea polinomului

double calcul_pol(adr prim, int gr)

{

double valoare=0; // variabila folosita pentru calcularea

// valorii polinomului

while(prim) //atat timp cat prim!=NULL se calculeaza val polinomului

{

valoare = valoare + ( prim->coef * putere(x,gr) );

prim=prim->urm;

gr--;

}

return valoare; //functia returneaza rezultatul final (val pol)

}

//listarea polinomului

void listare_sd(adr prim, int gr) // caz 1

{

while(prim)

{

if( prim->coef >= 0)

cout<<" +"<<prim->coef<<"*";

else

cout<<" "<<prim->coef<<"*";

cout<<"x^"<<gr;

prim=prim->urm;

gr--;

}

}

Se cere implementarea aplicatiei 1 si verificarea algoritmului pe un exemplu:

1 2 3

Rezultat:

Creare lista:

Da-ti gradul maxim al polinomului: 2

introduceti coeficientul pentru elem 0 :1

introduceti coeficientul pentru elem 1 :2

introduceti coeficientul pentru elem 2 :3

Da-ti valoarea necuoscutei x=3

Valoarea polinomului este:

+1*x^2 +2*x^1 +3*x^0 = 18

Press any key to continue

prim ultim

Laborator 2 Tehnici de programare

3

prep. univ. drd. Laura Cacovean

Aplicatia 2:

Se creeaza doua liste dublu inlantuite. Se cere:

1. construirea unei singure liste astfel incat cea de a doua lista va fi adaugata la sfarsitul

primei liste.

2. Stergerea celei de a doua liste dublu inlantuite

Se citesc ca date de intrare lungimea listelor si valorile pentru fiecare nod din lista.

Pentru rezolvarea acestei aplicatii s-au folosit urmatoarele functii:

1. functia creare pentru construirea celor doua liste dublu inlantuite

2. functia lipire_liste care va adauga a doua lista la sfarsitul primei liste

3. functia listare_sd pentru afisarea listelor

4. functia sterg_lista_doi pentru stergerea celei de a doua liste

5. functia principala main pentru citirea datelor de intrare si afisarea rezultatelor

typedef struct nod

{

int info; //informatia este un nr intreg

nod *prec;

nod *urm;

}*adr,*adr1;

adr prim, ultim; // lista 1

adr1 prim1, ultim1, ant; //lista 2

void lipire_liste(adr prim, adr1 prim1, adr ultim, adr1 ultim1)

{

ultim->urm=prim1;

prim1->prec=ultim;

ultim=ultim1;

Download gratuit

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

Structură de fișiere:
  • Tehnici de programare
    • Laborator 10.pdf
    • Laborator 11.pdf
    • Laborator 12.pdf
    • Laborator 2.pdf
    • Laborator 3.pdf
    • Laborator 4.pdf
    • Laborator 5.pdf
    • Laborator 6.pdf
    • Laborator 7.pdf
    • Laborator 8.pdf
    • Laborator 9.pdf
Alte informații:
Tipuri fișiere:
pdf
Diacritice:
Da
Nota:
10/10 (1 voturi)
Nr fișiere:
11 fisiere
Pagini (total):
82 pagini
Imagini extrase:
82 imagini
Nr cuvinte:
16 845 cuvinte
Nr caractere:
91 101 caractere
Marime:
2.01MB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Limbaje de Programare
Tag-uri:
c, algoritmi, permutari, stive, arbori
Predat:
la facultate
Materie:
Limbaje de Programare
Profesorului:
Prep. Univ. Drd. Laura Cacovean
Sus!