Implementarea Tipului Abstract de Date Număr Complex

Proiect
8/10 (1 vot)
Domeniu: Calculatoare
Conține 19 fișiere: docx, cpp, h, exe, ils, tds, swp, ilf, ild, bak, ilc, obj
Pagini : 26 în total
Cuvinte : 4668
Mărime: 886.40KB (arhivat)
Publicat de: Iulian Petre
Puncte necesare: 8
Profesor îndrumător / Prezentat Profesorului: Andrei Ababii
Universitatea Tehnică a Moldovei

Cuprins

  1. Cuprins
  2. Introducere 2
  3. I. Date introductive despre tipurile de date abstracte 3
  4. 1.1 Folosirea abstractizării şi încapsulării datelor în proiectarea programelor 4
  5. 1.2 Exemplu de tip abstract de date 5
  6. II. Numărul complex 7
  7. 2.1 Operatii cu numere complexe 7
  8. 2.2 Forma algebrică de reprezentare 7
  9. 2.3 Forma trigonometrică 8
  10. 2.4 Conjugatul unui număr complex 8
  11. 2.5 Interpretarea geometrica a operatiilor in C 8
  12. 2.6 Aplicaţii ale numerelor complexe în geometrie 9
  13. III. Descrierea programului realizat 10
  14. 3.1 Afisarea meniului 10
  15. 3.2 Functia de adaugarea a unui număr complex 11
  16. 3.3 Functia pentru afisarea numerelor complexe 12
  17. 3.4 Functia pentru adunare a două numere complexe 12
  18. 3.5 Functia pentru înmultirea a două numere complexe 12
  19. 3.6 Functia pentru calcularea valorii 1/z 13
  20. 3.7 Functia pentru împărtirea a două numere complexe 13
  21. 3.8 Functia pentru calcularea modulului unui număr complex 14
  22. 3.9 Functia pentru afisarea conjugatei 14
  23. 3.10 Functia pentru construirea graficului 15
  24. Concluzie 16
  25. Bibliografie 17
  26. Anexe 18

Extras din proiect

Introducere

Limbajul C# fost dezvoltat de o echipă restrânsă de ingineri de la Microsoft, echipă din care s-a evidenţiat Anders Hejlsberg (autorul limbajului Turbo Pascal şi membru al echipei care a proiectat Borland Delphi).

C# este un limbaj simplu, cu circa 80 de cuvinte cheie, şi 12 tipuri de date predefinite. El permite programarea structurată, modulară şi orientată obiectual, conform perceptelor moderne ale programării profesioniste. Principiile de bază ale programării pe obiecte (INCAPSULARE, MOSTENIRE, POLIMORFISM) sunt elemente fundamentale ale programării C#. În mare, limbajul moşteneşte sintaxa şi principiile de programare din C++. Sunt o serie de tipuri noi de date sau funcţiuni diferite ale datelor din C++, iar în spiritul realizării unor secvenţe de cod sigure (safe), unele funcţiuni au fost adăugate (de exemplu, interfeţe şi delegări), diversificate (tipul struct), modificate (tipul string) sau chiar eliminate (moştenirea multiplă şi pointerii către funcţii). Unele funcţiuni (cum ar fi accesul direct la memorie folosind pointeri) au fost păstrate, dar secvenţele de cod corespunzătoare se consideră ”nesigure”.

În limbajul C există diferite structuri; un tip structurã reuneste câteva componente (câmpuri) având fiecare un nume si un tip. Tipurile câmpurilor unei structuri pot fi si sunt în general diferite. Definirea unui tip structurã are sintaxa urmãtoare:

struct tag { tip1 c1, tip2 c2, };

unde:

“tag” este un nume de tip folosit numai precedat de cuvântul cheie struct (în C, dar în C++ se poate folosi singur ca nume de tip).

“tip1”,”tip2”, este tipul unei componente

“c1”,”c2”, este numele unei componente (câmp)

Ordinea enumerãrii câmpurilor unei structuri nu este importantã, deoarece ne referim la câmpuri prin numele lor. Se poate folosi o singura declaratie de tip pentru mai multe câmpuri.

De remarcat cã orice declaratie struct se terminã obligatoriu cu caracterul ‘;’ chiar dacã acest caracter urmeazã dupã o acoladã; aici acoladele nu delimiteazã un bloc de instructiuni ci fac parte din declaratia struct. In structuri diferite pot exista câmpuri cu acelasi nume, dar într-o aceeasi structurã numele de câmpuri trebuie sã fie diferite. Declararea unor variabile de un tip structurã se poate face fie dupã declararea tipului structurã, fie simultan cu declararea tipului structurã.

În continuare voi face o mică descriere a numărului complex si a functiilor ce le-am creat pentru efectuarea programului.

I. Date introductive despre tipurile de date abstracte

“În dezvoltarea înţelegerii fenomenelor complexe, cel mai puternic

mecanism disponibil omului este abstractizarea. Abstractizarea derivă din

recunoaşterea similarităţilor dintre anumite obiecte, situaţii sau procese din

lumea reală precum şi din decizia de a concentra aceste similarităţi şi

de a ignora, pentru moment, diferenţele dintre ele.”

- C.A.R. Hoare

Un Tip Abstract de Date (TAD) este un tip de date cu următoarele proprietăţi:

- specificarea obiectelor din domeniu este independentă de reprezentarea lor;

- specificarea operaţiilor este independentă de implementarea lor.

Mulţimea operaţiilor Tipului Abstract de Date definesc interfaţa (contractul) său. Cu alte cuvinte, un TAD este o entitate specificată matematic, care defineşte o mulţime a instanţelor sale, având o interfaţă specifică – o colecţie de signaturi ale operaţiilor care pot fi aplicate pe o instanţă a tipului de dată. Precizăm faptul că signatura unei operaţii conţine numele operaţiei, lista parametrilor ei, împreună cu tipul lor şi eventual tipul rezultatului dacă este o operaţie de tip functie.

Domeniul unui tip (abstract) de dată poate fi definit fie prin enumerarea elementelor sale, în cazul în care este finit, fie printr-o regulă cared descrie elementele sale.

După definirea domeniului unui tip (abstract) de dată, este necesară specificarea operaţiilor. În acest sens sunt necesari doi paşi:

1. precizarea sintaxei operaţiilor (denumirea operatorilor, tipurile valorilor pe care aceştia operează, tipul rezultatului operaţiei);

2. descrierea funcţionalităţii operatorilor, cu alte cuvinte a semanticii operaţiilor.

Sunt mai multe modalităţi de de a preciza semantica operaţiilor, şi anume:

- dând o descriere textuală a comportamentului;

- specificarea operaţională;

- specificarea algebrică.

Poate una dintre întrebările care ar putea fi puse ar fi “De ce abstractizare?”. Răspunsurile ar putea fi:

1. Deoarece în primul rînd se impune specificarea operaţiilor structurilor de date

şi amânarea detaliilor de implementare (în Java se folosesc interfeţele pentru

specificarea operaţiilor).

2. Există multe Tipuri Abstracte de date, ca urmare decizia de a alege TAD-ul

Preview document

Implementarea Tipului Abstract de Date Număr Complex - Pagina 1
Implementarea Tipului Abstract de Date Număr Complex - Pagina 2
Implementarea Tipului Abstract de Date Număr Complex - Pagina 3
Implementarea Tipului Abstract de Date Număr Complex - Pagina 4
Implementarea Tipului Abstract de Date Număr Complex - Pagina 5
Implementarea Tipului Abstract de Date Număr Complex - Pagina 6
Implementarea Tipului Abstract de Date Număr Complex - Pagina 7
Implementarea Tipului Abstract de Date Număr Complex - Pagina 8
Implementarea Tipului Abstract de Date Număr Complex - Pagina 9
Implementarea Tipului Abstract de Date Număr Complex - Pagina 10
Implementarea Tipului Abstract de Date Număr Complex - Pagina 11
Implementarea Tipului Abstract de Date Număr Complex - Pagina 12
Implementarea Tipului Abstract de Date Număr Complex - Pagina 13
Implementarea Tipului Abstract de Date Număr Complex - Pagina 14
Implementarea Tipului Abstract de Date Număr Complex - Pagina 15
Implementarea Tipului Abstract de Date Număr Complex - Pagina 16
Implementarea Tipului Abstract de Date Număr Complex - Pagina 17
Implementarea Tipului Abstract de Date Număr Complex - Pagina 18
Implementarea Tipului Abstract de Date Număr Complex - Pagina 19
Implementarea Tipului Abstract de Date Număr Complex - Pagina 20
Implementarea Tipului Abstract de Date Număr Complex - Pagina 21
Implementarea Tipului Abstract de Date Număr Complex - Pagina 22
Implementarea Tipului Abstract de Date Număr Complex - Pagina 23
Implementarea Tipului Abstract de Date Număr Complex - Pagina 24
Implementarea Tipului Abstract de Date Număr Complex - Pagina 25
Implementarea Tipului Abstract de Date Număr Complex - Pagina 26

Conținut arhivă zip

  • Implementarea Tipului Abstract de Date Numar Complex
    • Soft proiect
      • COMPLEX.BAK
      • COMPLEX.CPP
      • COMPLEX.H
      • COMPLEX.OBJ
      • NONAME04.CPP
      • NONAME04.EXE
      • NONAME04.OBJ
      • PROECT.BAK
      • PROECT.CPP
      • PROECT.EXE
      • PROECT.ilc
      • PROECT.ild
      • PROECT.ilf
      • PROECT.ils
      • PROECT.OBJ
      • PROECT.tds
      • TC0000.SWP
      • TC0001.SWP
    • A_Proiect.docx

Alții au mai descărcat și

Algoritmi în Programare - Gestiunea unui Magazin Vestimentar

Prezentare proiect Tema proiectului: Sa se realizeze in limbajul C un program multifunctional pentru gestiunea fisierelor. Fisierul principal...

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Te-ar putea interesa și

Subiecte licență contabilitate

Pe baza indicatorilor: mil.lei Nr.crt. INDICATORI P0 P1 1. Cifra de afaceri 3.420.000 3.600.000 2. Active circulante, din care: 190.000 180.000...

Curs C++

Limbajele C si C++ sunt limbaje de programare de nivel înalt. Limbajul C a aparut în anii 1970 si a fost creat de Dennis Ritchie în...

Algoritmi și Structuri de Date

1. ALGORITMI SI MODURI DE REPREZENTARE Prelucrarea datelor cu ajutorul calculatorului se realizeazã prin executia unor operatii simple...

C++

INTRODUCERE Limbajele de programare oferă utilizatorului posibilitatea de a folosi, în programare, date de tipuri diferite (tipuri predefinite) cu...

Java

Introducere in Java Ce reprezinta Java? Java este unul dintre cele mai raspandite limbaje de nivel inalt insa acesta nu este principalul merit al...

Curs C++

Limbajele C si C++ sunt limbaje de programare de nivel înalt. Limbajul C a aparut în anii 1970 si a fost creat de Dennis Ritchie în laboratoarele...

Ai nevoie de altceva?