Tehnologia este într-o continuă evoluție. Abilitățile informatice au devenit extrem de valoroase în multe domenii profesionale. Elevii de liceu au posibilitatea de a studia atât matematica, cât și informatica ca discipline obligatorii. În programa școlară la Informatică, principalele competențe cheie europene vizate sunt: competențe în matematică și competențe de bază în științe și tehnologie, respectiv competențe digitale, iar valorile și atitudinile promovate sunt de la exprimarea unui mod de gândire creativ, în structurarea și rezolvarea problemelor, la manifestarea inițiativei și disponibilității de a aborda sarcini variate.
„Studiul matematicii este un element esențial în înțelegerea magiei pe care o realizează computerele.”
Există o concepție greșită că programarea nu necesită cunoștințe de matematică. Matematica este baza tuturor algoritmilor elementari, de la codul simplu la programe complicate precum grafica pe computer sau rețelele neuronale.
Concepte matematice esențiale pe care orice informatician ar trebui să le înțeleagă:
1. Sistemele numerice
Alegerea unui sistem numeric depinde de contextul și necesitățile specifice aplicației sau domeniului în care este utilizat. În lumea matematicii, a calculatoarelor și a științei cele mai comune sisteme numerice sunt: sistemul numeric zecimal, sistemul numeric binar(este esențial în domeniul rețelelor de calculatoare, în transmiterea și stocarea informațiilor), sistemul numeric octal și sistemul numeric hexazecimal(este utilizat în programarea web și în calculatoare).
2. Algebra booleană
Algebra booleană se concentrează pe manipularea expresiilor logice și a variabilelor binare care pot avea două valori: adevărat(reprezentat prin 1) și fals(reprezentat prin 0).
Principiile și operațiile din algebra booleană sunt utilizate în scrierea codului și în proiectarea circuitelor logice digitale. Principalele operații din algebra booleană sunt: negarea(NOT), conjuncția(AND) și disjuncția(OR).
3. Numerele cu virgulă mobilă
În Informatică, una dintre cele mai utilizate metode pentru a reprezenta și manipula valori numerice este utilizarea numerelor în virgulă mobilă. Numerelor în virgulă mobilă le este atribuită o anumită precizie și sunt reprezentate într-un format flexibil, care permite reprezentarea atât a valorilor foarte mici, cât și a celor foarte mari.
Calculatoarele utilizează reprezentări numerice în virgulă mobilă pentru a stoca și manipula valorile numerice. Acest lucru se datorează constrângerii capacităților de stocare și a nevoii de a reprezenta o gamă largă de valori numerice cu precizie variabilă.
4. Logaritmi
Funcția logaritmică este un concept fundamental în algebră, predat frecvent la cursurile de matematică. În informatică, funcțiile logaritmice sunt reprezentative pentru operațiile mai multor algoritmi.
Funcțiile logaritmice au aplicabilitate inclusiv în știință, inginerie și informatică. Acestea ajută la rezolvarea problemelor legate de ratele de creștere, nivelurile de zgomot și magnitudinea cutremurelor.
5. Teoria seturilor/ mulțimilor
Teoria seturilor se ocupă de studiul proprietăților, relațiilor și operațiilor pe colecții de entități distincte, neordonate. Un set în teoria mulțimilor reprezintă o colecție de obiecte distincte, numite elemente, fără o ordine specifică.
În informatică, teoria mulțimilor este folosită în lucrul cu tabelele dintr-o bază de date. Tabelele din bazele de date relaționale conțin câmpuri și înregistrări.
6. Algebra lineară
Algebra liniară este o ramură a matematicii care este necesară pentru înțelegerea graficii pe computer și a rețelelor neuronale. Există trei termeni esențiali: scalar, vector și matrice. Un scalar este o singură valoare numerică, un vector este o listă de numere(tablou unidimensional), iar o matrice este o grilă(tablou bidimensional) care conține rânduri și coloane de valori numerice.
7. Combinatorica
Combinatorica este o ramură a matematicii care se ocupă cu studiul aranjamentelor, permutărilor, combinațiilor și multor alte concepte legate de numărul și structura configurațiilor discrete. Elemente fundamentale ale combinatoricii utilizate în domeniul IT sunt: aranjamente, permutări, combinări, principiul adunării și multiplicării, teoria grafurilor(utilizată pe scară largă în informatică, telecomunicații și analiza rețelelor sociale).
8. Statistica
Statistica este o știință care studiază regularitățile cu care fenomenele economice și sociale se produc, al cărei obiect de studiu îl reprezintă fenomenele de masă, numite colectivități statistice sau populații statistice în care acționează legi statistice.
Machine Learning(învățarea automată) se referă la un domeniu a Inteligenței Artificiale care se concentrează pe dezvoltarea de algoritmi și modele statistice care permit sistemelor informatice să învețe și să facă predicții sau să ia decizii fără a fi programate în mod explicit.
9. Teoria complexității
Complexitatea unui algoritm reprezintă un mod de a măsura eficiența unui algoritm, în funcție de cât de multe resurse consumă acesta din punct de vedere al memoriei și al timpului. Notația Big O este utilizată pentru a desemna complexitatea și se referă la cel mai defavorabil caz din algoritm.
Tipurile de complexități sunt: complexitate constantă O(1); complexitatea logaritmică O(log n); complexitatea radical O(sqrt n); complexitatea liniară O(n); complexitatea O(n log n); complexitatea pătratică O(n^2); complexitatea algebrică O(n^c); complexitatea factorial O(n!).
10. Teoria grafurilor
Teoria grafurilor are astăzi o vastă utilitate în domenii cum ar fi chimia, biologia, geografia, matematica, fizica, construirea circuitelor electrice și electronice, rezolvarea unor probleme de transport și altele.
Aproape toate domeniile vieții cotidiene există sau sunt create pe principiul obiectelor care interacționează(relaționează) unele cu altele. Toate acestea, la nivel abstract, se modelează cu ușurință folosind grafuri.
În concluzie, cunoașterea matematicii oferă o bază solidă și o înțelegere mai profundă a conceptelor de programare și poate facilita abordarea problemelor informatice complexe într-un mod mai sistematic.
Bibliografie:
1. www.rapidtables.org/ro/math/number/Numeral_system.html
2. https://www.youtube.com/watch?v=05TmTmYR4gM&ab_channel=Matematicaexplicat%C4%83cuRoxanaLica
3. https://www.youtube.com/watch?v=ZpMlh3lpjAQ&ab_channel=Corina%C8%9Aurcanu
4. matematic.eu/LectiaDeMatematica/FunctiaLogaritmica.html
5. ro.wikipedia.org/wiki/Spectrul_unei_matrice
6. ro.wikipedia.org/wiki/Combinatoric%C4%83
7. softraysolutions.medium.com/why-you-should-know-graph-data-structures-and-algorithms-b5d88846b513
8. infoas.ro/lectie/91/complexitatea-unui-algoritm-timp-si-spatiu-in-c