Procesare Polinoame

Proiect
8.5/10 (2 voturi)
Conține 1 fișier: pdf
Pagini : 14 în total
Cuvinte : 2916
Mărime: 659.87KB (arhivat)
Publicat de: Romeo Ifrim
Puncte necesare: 0

Cuprins

  1. Obiectivul temei
  2. 2. Analiza problemei, modelare, scenarii, cazuri de utilizare
  3. 3. Proiectare (diagrame UML, structure de date, proiectare clase, interfete, relatii, packages, algoritmi, interfata utilizator)
  4. 4. Implementare si testare
  5. 5. Cazuri de testare
  6. 6. Concluzii, ce s-a invatat din tema, dezvoltari ulterioare

Extras din proiect

1. Obiectivul temei

Enunt: Propuneti, proiectati si implementati un sistem de procesare a polinoamelor de o singura variabila cu coeficienti intregi.

Aceasta tema are ca obiectiv crearea unui calculator de polinoame. La fel ca si calculatorul de buzunar, calculatorul sistemului de operare pe care il folositi sau orice alt tip de calculator existent, acesta trebuie sa implementeze operatii precum, adunarea, scadearea, inmultirea, impartirea a doua polinoame, precum si derivarea unuia, integrarea lui si chiar valoarea unui polinom intr-un punct dat. La fel ca si orice sistem de calcul si acesta are date de intrare si data de iesire date de rezultatul calculelor.

Imi propun sa implementez un calculator cat mai functional, usor de inteles si util pentru orice tip de utilizator.

2. Analiza problemei, modelare, scenarii, cazuri de utilizare

Pentru realizarea acestei teme avem nevoie de cumularea cunostintelor anterioare de java dar si de matematica.

Calculatorul care trebuie implementat trebuie sa aiba coeficienti intregi. Aceasta constrangere ne poate pune problem la operatiile de impartire si integrare. La impartire, pentru calcularea catului avem nevoie sa impartim doi cate doi intregi care de cele mai multe ori ne vor da un numar real. La integrare coeficientul va fi dat de vechiul coeficient care e un numar intreg, si vechea putere care e tot un intreg. La fel ca la impartire este probabil sa obtinem un numar real pentru noul coeficient. Din aceste cauze la cele doua operatii mai sus mentionate putem avea erori deoarece numarul real rezultat va fi “salvat” ca si partea lui intreaga. Pentru celelalte operatii constrangerea nu ne pune nici un fel de problema.

Pentru a se putea implementa problema trebuie sa vedem de ce date avem nevoie, cum vrem sa primim datele de intrare, cum salvam polinoamele, cum le creem o structura in interiorul softului cu care putem sa le manavram usor pentru operatiile cerute, cum efectuam operatiile pentru a utiliza functii cat mai usoare si mai putin spatiu pentru stocare. Trebuie sa vedem avem in considerare sa creem o interfata cat mai practica si usor de folosit.

Pentru a efectua oricare din operatiile dorite, avem nevoie de date precum coeficientul si gradul fiecarui monom din polinom. Pentru aceasta am ales sa folosim introducerea polinoamelor ca si stringuri de tipul(“2x^3-5x^1-3x^0”). Am ales aceasta metoda pentru ca utilizatorul vede exact coeficientul si gradul pentru fiecare monom si pentru ca e metoda clasica de reprezentare a oricarui polinom. Ca data de intrare am ales sa pun si gradul polinomului pentru a aloca spatial maxim necesar fiecarui polinom.

Pentru rezolvarea acestei probleme trebuie sa luam in considerare procesarea polinoamelor(parsarea stringului), modelarea fiecarei operatii si afisarea rezultatului dorit.

3. Proiectare (diagrame UML, structure de date, proiectare clase, interfete, relatii, packages, algoritmi, interfata utilizator)

In realizarea problemei am decis ca am nevoie de 4 clase: Polinom, Operatii, GUI, Test.

In clasa Polinom folosesc un vector in care imi salvez coeficientul pentru fiecare monom.

Folosesc un constructor cu un parametru (int grad), pentru ca sa aloc spatiu maxim necesar fiecarui polinom. De aceea am ales sa introduce gradul polinomului de la tastatura. Nu salvez gradul polinomului deoarece de fiecare daca cand gasesc un coeficent pentru un animit grad, acel coefficient va fi pus pe pozitia gradului in sir. In aceasta clasa am metode de setCoeficient(int exp,int coef) care imi pune pe pozitia exponentului coeficientul gasit, getCoeficient(int exp) care returneaza coeficientul pentru gradul dorit, getGrad() returneaza gradul polinomului.

In clasa Operatii lucram cu Obiecte de tip Polinom. Avem implementate operatiile: aduna(polA, polB), scade(polA, polB), inmulteste(polA, polB), imparte(polA, polB), deriveaza(polA), integreaza(polA), getValue(polA,int x), afiseaza(Polinom A), pune(string c, int d).

Operatiile au de obicei ca parametrii polinomamele cu care se face calculul. Metoda afiseaza are ca parametru polinomul pentru care se doreste afisarea rezultatului. Metoda pune(string c, int d), primeste ca si parametrii stringul polinomului introdus de la tastatura cat si gradul acestuia. In aceasta metoda realiza descompunerea stringului pentru a afla fiecare coefficient si pentru a-l pune pe pozitia gradului intr-un obiect de tip Polinom.

In Clasa GUI ne creem interfata, si transmitem fiecare cerinta a utilizatorului care soft.

Utilizatorului I se prezinta o interfata usor de utilizat si in care isi poate implementa operatiile dorite. Interfata este formata din 5 TextField-uri, 6 butoane pentru fiecare operatie, si cateva JLabel-uri care il ajuta sa introduca date. Rezultatul operatiilor este afisat in un JLabel.

La fiecare operatie am ales sa salvam rezultatul in un nou polinom rezultat pentru a mai putea efectua si alte operatii cu polinoamele de intrare.

Algoritmii folositi la implementarea operatiilor:

a)Pentru operatia de adunare se aloca spatiu Polinomului rezultat, in functie de gradul polinomului de intrare mai mare. Pe pozitiile polinomului rezultat pana la gradul polinomului mai mic efectuam suma intre coeficientii de acelasi grad, iar pe restul pozitiilor copiem in rezultat coeficientii respective.

Preview document

Procesare Polinoame - Pagina 1
Procesare Polinoame - Pagina 2
Procesare Polinoame - Pagina 3
Procesare Polinoame - Pagina 4
Procesare Polinoame - Pagina 5
Procesare Polinoame - Pagina 6
Procesare Polinoame - Pagina 7
Procesare Polinoame - Pagina 8
Procesare Polinoame - Pagina 9
Procesare Polinoame - Pagina 10
Procesare Polinoame - Pagina 11
Procesare Polinoame - Pagina 12
Procesare Polinoame - Pagina 13
Procesare Polinoame - Pagina 14

Conținut arhivă zip

  • Procesare Polinoame.pdf

Alții au mai descărcat și

Exemplu analiză și proiectare orientată obiect - barieră

Exemplu analiza si proiectare orientata obiect : bariera Descrierea problemei O bariera este folosita pentru controlul intrarii într-o anumita...

Grilă sisteme informaționale de gestiune - Access

Adăugarea de câmpuri la o tabelă se face în modul de vizualizare:...... Previzualizare inaintea imprimarii Aplicarea unei restrictii de...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Baze de Date

3.Introducere in bd si sgbd-uri Definitie: Numim baza de date o colectie partajata de date aflata in interdependenta logica impreuna cu o...

Te-ar putea interesa și

Proiectarea și Modelarea Rețelelor de Calculatoare

1. CRITERII DE APROXIMARE A FUNCŢIILOR 1.1. Introducere În foarte multe aplicaţii practice apare necesitatea aproximării unei funcţii f:a,b →R...

Identificarea SISO prin algoritmul online metoda CMMP

În cadrul metodelor recursive de estimare a parametrilor modelului, datele sunt preluate de la proces si procesate pe mãsurã ce devin disponibile....

Sisteme de Conducere a Proceselor Industriala

1. Proces continuu, regim de functionare, parametri de descriere, numarul gradelor de libertate, metodologie de proiectare a sistemelor numerice....

Criptografie și securitatea informației

1.1 Noţiuni de teoria numerelor 1.1.1 Numere prime Fiind date două numere naturale m şi n, spunem că m divide pe n, sau că n este multiplu al...

Serie cronologică

Serii de timp (serii cronologice, serii dinamice) (note de curs) - Zgomotul alb - mersul la întâmplare - procese medie mobilă (MA(q)) -...

Conducerea adaptivă a sistemelor

În conceptia actuala a teoriei sistemelor, rezolvarea problemelor de conducere a proceselor tehnologice presupune parcurgerea câtorva etape cum...

Urmărirea estimării și identificării în comanda proceselor

UTILIZAREA ESTIMĂRII ŞI IDENTIFICĂRII ÎN COMANDA PROCESELOR 4.1 COMANDA PRIN STRATEGIA ALOCĂRII POLILOR Un proces liniar staţionar este...

Teoria Sistemelor

INTRODUCERE ÎN MATLAB OBIECTIVE • Descrierea programului Matlab. • Lucrul cu ferestre. • Meniurile programului Matlab. • Programarea în...

Ai nevoie de altceva?