Sunteți pe pagina 1din 9

Software matematic - Curs 1a.

Introducere.

1 Problematica
In accepţiunea acestui curs noţiunea de ”Software matematic” se referă la proiectarea şi utilizarea
unor sisteme soft destinate rezolvării unor probleme ce apar ı̂n ştiinţă şi tehnică. Aceste sisteme sunt
concepute astfel ı̂ncât să asiste utilizatorul ı̂n efectuarea unor calcule complicate şi/sau voluminoase
corespunzătoare unor probleme reale precum şi ı̂n vizualizarea facilă a rezultatelor.
Etapele parcurse ı̂n rezolvarea unei probleme specifice unui anumit domeniu sunt:

(a) Enunţarea problemei. Este realizată de către un expert uman al domeniului respectiv. Core-
spunde stabilirii datelor de intrare şi a scopului urmărit.

(b) Formalizarea problemei. Este realizată de către un expert uman al domeniului respectiv
eventual ı̂n colaborare cu un matematician. Rezultatul acestei etape este un model matematic
mai simplu sau mai complex care poate conţine: formule, funcţii, sisteme de ecuaţii/inecuaţii
etc.

(c) Rezolvarea problemelor matematice ce intervin ı̂n model. Aceasta este etapa in care poate
interveni un sistem de software matematic. Rezultatul va fi un obiect matematic (număr,
expresie, mulţime, funcţie, vector, matrice, grafic etc.)

(d) Interpretarea rezultatului. Este realizată de către un expert uman al domeniului. Rezultatul
este un răspuns la problema enunţată enunţat folosind termeni specifici domeniului din care
a provenit problema.

Principala motivaţie a proiectării sistemelor de software matematic o reprezintă necesitatea de


a obţine rapid şi fără erori rezultate pentru probleme de dimensiuni mari. Prelucrări de rutină,
cum este rezolvarea unui sistem liniar, pot fi realizate manual doar dacă dimensiunea problemei
(de exemplu, a sistemului) este rezonabilă (de exemplu, mai puţin de 10 ecuaţii). Cu ajutorul
calculatorului, ı̂nsă, pot fi rezolvate sisteme care au sute şi mii de ecuaţii. Pe de altă parte rezolvarea
unor probleme necesită utilizarea unor metode matematice ce nu sunt ı̂ntotdeauna la ı̂ndemâna
specialiştilor dintr-un domeniu ştiinţific sau tehnic oarecare. Software-ul matematic elimină această
dificultate ı̂ntrucât are implementate o clasă largă de metode matematice, utilizatorul trebuind doar
să le apeleze fără să fie necesar să cunoască detaliile implementării lor.
Nu trebuie neglijat faptul că aceste sisteme pot fi utilizate şi ı̂n scop didactic, la diferite
nivele, pentru predarea de discipline ştiinţifice (matematică, fizică, chimie), inclusiv ı̂n cadrul
ı̂nvăţământului la distanţă.

1
2 Structura unui sistem de software matematic
Module soft pentru prelucrări matematice au fost realizate incă din anii 1960 când calculatoarele
au ı̂nceput să devină un instrument ı̂n rezolvarea problemelor tehnice şi ştiinţifice. Aceastea erau
insă dedicate unui anumit tip de probleme şi erau grupate ı̂n biblioteci de unde erau apelate de
către programe scrise ı̂n limbaje de uz general. Adesea setul de parametri ai acestor module era
mare iar utilizatorul trebuia sa cunoască cel puţin câteva dintre detaliile de realizare a modulului.
Sistemele integrate, care permit abordarea unei palete largi de calcule au apărut ı̂n anii 1980
o dată cu dezvoltarea puterii de calcul şi evoluţia conceptelor de programare. Oferind adesea o
interfaţă uşor de utilizat, aceste sisteme permit utilizatorului să se concentreze mai mult asupra
problemei şi mai puţin asupra metodelor matematice de rezolvare a acesteia.
În continuare prin sistem de software matematic (prescurtat SSM) vom ı̂nţelege un astfel de
sistem integrat. Un SSM este de regulă constituit din trei componente:

• Nucleu. Conţine funcţiile de bază (care se apelează prin intermediul unui limbaj de comandă
specific).

• Subsistem de interfaţă. Permite transmiterea de comenzi sistemului şi furnizarea rezultatelor.


Interfaţa poate fi de tip text (sistemul lucrează ca un interpretor) sau grafică (bazată pe doc-
umente de lucru). În cazul interfeţei tip text comenzile sunt preluate şi executate secvenţial
fiind dificilă revenirea la o comandă anterioară. În cazul interfeţei grafice dialogul cu utiliza-
torul se realizează prin intermediul uneia sau mai multor ferestre. Fiecare corespunde unui
document care conţine comenzi, răspunsuri sau texte descriptive introduse de către utilizator.
Comenzile pot fi evaluate ı̂n ordinea aleasă de către utilizator. Anumite sisteme se bazează pe
utilizarea unui limbaj de comandă (care poate fi văzut ca un limbaj de programare) pe când
altele permit rezolvarea problemei prin selectarea unor funcţii dintr-un sistem de meniuri.

• Ansamblu opţional de pachete. Conţine funcţii suplimentare celor de bază destinate prob-
lemelor specifice unui anumit domeniu. Pentru a utiliza funcţiile din cadrul lor, pachetele
trebuie ı̂ncărcate explicit. Posibilitatea de a adăuga pachete de noi funcţii oferă flexibilitate
acestor sisteme.

3 Principalele tipuri de prelucrări


Principalele prelucrări efectuate de către un SSM pot fi grupate ı̂n următoarele categorii:

• Numerice. Rezultatele acestor prelucrări sunt numere. Exemple de astfel de prelucrări sunt:
calculul integralei definite a unei funcţii, determinarea rădăcinilor unui polinom cu coeficienţi
numerici, determinarea limitei unui şir numeric etc.

• Simbolice. Rezultatele prelucrărilor simbolice sunt de regulă expresii algebrice sau chiar
propoziţii matematice. Exemple de astfel de prelucrări sunt: calculul primitivei unei funcţii,
determinarea rădăcinilor unui polinom cu coeficienţi simbolici, efectuarea unui raţionament
logic etc.

• Grafice. Rezultatele acestor prelucrări sunt de fapt reprezentări grafice ale unor funcţii, curbe,
suprafeţe sau alte obiecte grafice descrise prin ecuaţii sau prin punctele pe care le conţin. Pot
fi create si obiecte grafice pornind de la primitive.

2
Sistemele de software matematic oferă posibilitatea efectuării fiecăreia dintre aceste prelucrări.
Unele prelucrări pot fi efectuate direct existând comenzi specifice iar altele pot fi descrise ı̂n limbajul
de programare specific sistemului. Spre deosebire de limbajele de programare de uz general sistemele
de software matematic conţin un limbaj de comandă mult mai bogat ı̂n sensul că pot fi specificate
printr-o singură comandă şi prelucrări bazate pe algoritmi relativ complicaţi (de exemplu inversarea
unei matrici, rezolvarea simbolică sau numerică a unui sistem de ecuaţii diferenţiale etc).

4 Caracteristici
Un SSM are următoarele caracteristici care ı̂l diferenţiază de alte sisteme de programare:

1. Implementarea obiectelor matematice. Majoritatea obiectelor cu care se operează ı̂n matem-


atică (mulţimi, vectori, matrici, funcţii, operatori, ecuaţii etc) sunt implementate prin tipuri
sau obiecte proprii.

2. Implementarea prelucrărilor matematice. O serie de prelucrări asupra obiectelor matematice


(calculul limitelor, al derivatelor, al integralelor, rezolvarea ecuaţiilor, reprezentări grafice)
sunt implementate pentru a fi apelate prin intermediul unei singure comenzi.

3. Limbaj avansat de descriere a problemelor. Sistemele de software matematic oferă un limbaj


propriu de descriere a problemelor şi modelelor matematice complexe.

4. Interfaţa cu utilizatorul. Sistemele actuale posedă interfeţe grafice care permit introducerea şi
obţinerea formulelor matematice ı̂n forma clasică folosind simbolurile cunoscute din matem-
atică. În aceste condiţii nu e necesar ca utilizatorul să cunoască comenzile sistemului fiind
suficient să selecteze simbolurile adecvate dintr-o ”paletă” de simboluri pentru a construi
formulele.

5. Caracterul deschis şi flexibil. Majoritatea sistemelor actuale permit completarea funcţionalităţii
sistemului prin adăugarea de funcţii noi (descrise ı̂n limbajul specific sistemului).

6. Interfaţa cu alte sisteme. Există posibilitatea de a prelua/transmite date de la/către alte


aplicaţii. Funcţiile unora dintre sisteme pot fi apelate prin intermediul unui protocol de
interfaţă (de exemplu, MathLink şi J/Link din Mathematica) din programe scrise ı̂n limbaje
de programare de uz general (de exemplu, C respectiv Java).

7. Elaborarea de documente. Sistemele recente conţin şi facilităţi de editare de texte ştiinţifice
astfel ı̂ncât pot fi elaborate documente care conţin atât texte cât şi rezultate ale unor prelucrări
efectuate ı̂n cadrul sistemului.

8. Completitudine. Asistă utilizatorul ı̂n analiza şi rezolvarea problemelor precum şi ı̂n prezentarea
rezultatelor.

5 Domenii de aplicabilitate
Sistemele de software matematic se pot aplica ı̂n domenii diferite, cum ar fi:

• Matematică (pentru verificarea unei teorii, enunţarea de noi conjecturi, elaborarea unor
demonstraţii care implică doar calcule de rutină sau raţionamente standard, vizualizarea
grafică a unor obiecte geometrice etc.);

3
• Fizică (pentru prelucrarea datelor experimentale şi simularea soft a unor fenomene fizice);

• Chimie (pentru simularea soft a structurilor moleculare si prelucrarea relaţiilor ce descriu


reacţiile chimice);

• Statistică (pentru vizualizarea grafică şi analiza datelor, efectuarea de inferenţe statistice
pornind de la date obţinute din sondaje, analiza corelaţiei dintre date etc.);

• Inginerie (pentru prelucrarea semnalelor şi modelarea sistemelor, proiectare asistată de cal-
culator);

• Biologie şi medicină (pentru simularea fenomenelor biomecanice, prelucrarea semnalelor şi
imaginilor din medicină etc.);

• Economie şi finanţe (pentru modelare financiară, planificare şi analiză economică, efectuare
de predicţii etc.);

6 Exemple de sisteme
La ora actuală există o multitudine de pachete soft destinate efectuării de prelucrări numerice,
simbolice sau grafice. Pentru a facilita identificarea şi accesarea pachetului adecvat unei anumite
probleme au fost constituite colecţii de date care conţin informatii privind diferite pachete. O astfel
de colecţie este accesibilă la [http://gams.nist.gov].
Unele dintre pachetele de software matematic sunt orientate spre sarcini precise şi oarecum
limitate la un anumit domeniu (cum sunt, de exemplu, pachetele de reprezentări grafice (Data-
Plot, GnuPlot), programele de prelucrare a datelor experimentale (TableCurve, Origin, DataFit,
GnuFit etc), pachetele destinate prelucrărilor statistice (Statistica, SPSS, SPlus, S, R), sistemele
de rezolvare a problemelor de optimizare (MinOpt), sistemele de rezolvare a ecuaţiilor diferenţiale
ordinare şi cu derivate parţiale etc.), iar altele au caracter mai general oferind facilităţi care permit
utilizarea lor ı̂n diverse domenii.
Dintre sistemele ce fac parte din ultima categorie, cele mai frecvent utilizate sunt enumerate ı̂n
continuare.

Mathematica (versiune curentă: Mathematica 7.0)[www.wolfram.com] Este un sistem integrat


care permite efectuarea de calcule simbolice si numerice precum şi vizualizarea rezultatelor.
Există atât variante pentru industrie cât şi pentru educaţie.

Maple (versiune curentă: Maple 13)[www.maplesoft.com] Este un sistem integrat (similar cu Math-
ematica) care permite efectuarea de calcule simbolice si numerice, vizualizarea rezultatelor şi
toate prelucrile necesare simulării şi modelării specifice diferitelor domenii (ştiintă, inginerie,
finanţe etc.). La fel ca şi Mathematica posedă o puternică componentă de calcul simbolic.
Oferă facilităţi de interfaţare cu alte sisteme. De exemplu permite generare de cod C, Fortran,
Visual Basic, Java precum şi asigură conexiune uşoară cu Excel şi Matlab.

Matlab (versiune curentă: Matlab R2009a) [www.mathworks.com] Este tot un sistem integrat care
excelează prin facilităţile oferite pentru modelare şi simulare precum şi pentru colecţia foarte
mare de ”toolbox-uri” dedicate unor domenii ştiintifice şi inginereşti variate. Facilităţile de
calcul simbolic (destul de limitate in primele versiuni) au fost extinse prin interfaţarea cu
Maple. Scilab [http://www.scilab.org/] este o variantă gratuită a lui Matlab caracterizată

4
prin facilităţi de bază şi interfaţă similară cu cea din Matlab fără a pune ı̂nsă la dispoziţia
utilizatorilor instrumente similare ”toolbox-urilor” din Matlab.

MathCad (versiune curentă:MathCAD 14.0) [www.mathsoft.com] Este tot un sistem integrat ori-
entat ı̂n particular către facilitarea calculelor numerice şi vizualizarea grafică a rezultatelor.
Deşi posedă facilităţi de calcul simbolic, acestea nu le egalează pe cele oferite de Mathematica
sau Maple.

7 Mathematica. Prezentare generală.


Mathematica este un sistem software interactiv (din categoria ”Computer Algebra System - CAS”)
care permite descrierea şi rezolvarea aplicaţiilor ştiinţifice, ı̂n special din domeniile matematicii şi
fizicii. Face parte din categoria software-ului matematic şi, adeseori, este desemnată ca un program
care oferă posibilitatea de a face matematică cu ajutorul calculatorului.
Mathematica poate fi folosită ca şi: calculator numeric şi simbolic, sistem de vizualizare grafică,
limbaj de programare de nivel ı̂nalt, platformă soft destinată rulării unor pachete cu aplicaţii
specifice unui domeniu, sistem de reprezentare a cunoştinţelor din domenii ştiinţifice şi tehnice.
Mathematica a fost concepută de către fizicianul Stephen Wolfram, prima versiune apărând ı̂n
1988. Următoarele versiuni (până la cea actuală, 6.0) au fost elaborate ı̂n cadrul firmei Wolfram
Research Inc (http://www.wolfram.com). De-a lungul evoluţiei sale nucleul a fost ı̂mbogăţit cu noi
algoritmi eficienţi extinzându-se sfera de probleme care pot fi rezolvate. Pe de altă parte a evoluat şi
interfaţa cu utilizatorul de la simpla comunicare ı̂n mod text prin introducere secvenţială de comenzi
până la interfale grafice ale versiunilor recente şi cele ale produselor derivate: CalculationCenter,
WebMathematica, gridMathematica.
CalculationCenter este un SSM construit pornind de la nucleul din Mathematica şi completat
cu o interfaţă grafică bazată pe selecţia tipului de prelucrare dintr-un set de palete cu simboluri,
operatori, comenzi etc. Nu e necesar ca utilizatorul sa fie familiar cu comenzile din Mathematica
ci este suficient să ştie ce problemă are de rezolvat şi să selecteze simbolurile corespunzătoare. A
fost conceput ca un ”asistent” pentru nespecialiştii ı̂n matematică care au de rezolvat probleme ce
necesită utilizarea unor metode matematice.
WebMathematica este un produs recent care oferă posibilitatea de a efectua calcule interac-
tive şi de a vizualiza rezultatele (inclusiv ı̂n manieră grafică) prin intermediul unui browser Web.
Prin WebMathematica (concepută folosind tehnologia Java servlet) se pot proiecta site-uri ded-
icate rezolvării problemelor specifice unui domeniu. Se beneficiază de ı̂ntreaga putere de calcul
algoritmic a Mathematicii iar utilizatorul nu trebuie decât să folosească un browser nefiind nece-
sară cunoaşterea comenzilor din Mathematica. Un exemplu de site bazat pe WebMathematica este
Integrator (http://integrals.wolfram.com) care permite calculul integralelor.
GridMathematica este conceput ca un sistem care permite efectuarea de prelucrări distribuite
exploatând resursele oferite de clusterele de calculatoare.

7.1 Specificul utilizării ca sistem pentru prelucrări matematice


Prelucrările matematice sunt de una dintre categoriile:
• Calcule simbolice (de exemplu, (a + b)2 = a2 + 2ab + b2 ).

• Calcule numerice (de exemplu, 2 + 3 = 5).

• Reprezentări grafice (de exemplu, trasări ale graficelor de funcţii).

5
Pentru fiecare dintre aceste categorii Mathematica oferă numeroase facilităţi. În continuare vor
fi prezentate câteva dintre acestea făcând observaţia că ı̂n toate exemplele şirurile de caractere
In[]:=, respectiv Out[]= sunt afişate de către sistem, utilizatorul introducând doar comanda care
apare după In[]:=. Rezultatul care apare după Out[]= este cel afişat de sistem. În realitate
ı̂ntre parantezele drepte de la In[] şi Out[] apar valori numerice care identifică comanda, respectiv
răspunsul.
Câteva dintre particularităţile prelucrărilor numerice care pot fi efectuate ı̂n Mathematica sunt:
• Posibilitatea de a lucra cu numere de precizie oricât de mare (precizie arbitrară).
Exemplu. Calculul lui log(4π) cu precizie de 20 de zecimale:
In[]:= N[ Log[4 Pi], 20 ]
Out[]= 2.53102424696929079297

• Posibilitatea de a efectua prelucrări numerice asupra structurilor matematice. De exemplu,


permite efectuarea de prelucrări asupra matricilor (inversare, determinarea valorilor proprii, a
vectorilor proprii etc), funcţiilor (derivare şi integrare numerică, interpolare etc) şi ecuaţiilor
(rezolvarea numerică a ecuaţiilor algebrice şi a celor diferenţiale).
Exemplu. Determinarea valorilor proprii ale matricii:
 
0.5 −1 2
 
 1.35 6.4 −2 
4 −2 0

In[]:= a={{0.5,-1,2},{1.35,6.4,-2},{4,-2,0}} (* definirea matricii *)


Out[]=...
In[]:=Eigenvalues[a] (* determinarea valorilor proprii *)
Out[]={6.91991,-2.71409,2.69418}

• Posibilitatea de a efectua analize statistice ale datelor.


Din punct de vedere al calculului simbolic Mathematica oferă facilităţi ca:
• Efectuarea unor prelucrări simbolice asupra expresiilor algebrice (de exemplu, expandare,
factorizare, simplificare etc.).
Exemplu. Factorizarea lui a3 − b3
In[]:= Factor[a^3-b^3]
Out[]= (a − b)(a2 + ab + b2 )

• Determinarea soluţiilor analitice pentru ecuaţii polinomiale, sisteme de ecuaţii liniare şi sis-
teme de ecuaţii diferenţiale.
Exemplu. Rezolvarea ecuaţiei ax2 + bx + c = 0
In[]:= Solve[a x^2+b

x+c==0,x] √
−b− b2 −4ac −b+ b2 −4ac
Out[]= {{x− > 2a }, {x− > 2a }

• Calcul simbolic al derivatelor şi integralelor.


R
Exemplu. Calculul primitivei ln(x)dx
In[]:= Integrate[Log[x],x]
Out[]= −x + xLog[x]

6
• Determinarea limitelor de şiruri şi serii.

În ceea ce priveşte facilităţile grafice, Mathematica se caracterizează prin:

• Trasări de grafice ı̂n două şi trei dimensiuni (curbe şi suprafeţe) şi posibilitatea de a efectua
transformări geometrice şi de a controla culoarea, umbrirea, iluminarea.

• Vizualizarea reprezentărilor grafice 3D prin contururi şi densităţi.

• Animarea pe ecran a reprezentărilor grafice.

• Posibilitatea de a descrie (printr-un limbaj grafic) obiecte geometrice pe baza unor primitive
(puncte, linii, cercuri, elipse, poligoane, etc.);

Exemplu. Reprezentarea suprafeţei definită de x2 + y 2 pentru (x, y) ∈ [−2, 2] × [−2, 2]:


In[]:= Plot3D[x^2+y^2,{x,-2,2},{y,-2,2}]

7.2 Specificul utilizării ca limbaj de programare


Mathematica oferă suport pentru a programa ı̂n oricare dintre următoarele stiluri:

• Programare procedurală: oferă posibilitatea de a defini module care conţin prelucrări alterna-
tive, iterative şi recursive.
Exemplu. Determinarea primului număr prim mai mare decât un număr dat:
(* definire rutina de calcul *)
In[]:= NextPrime[n Integer]:=Module[{k=n}, While[!PrimeQ[k], k++]; Return[k]]
In[]:= NextPrime[10] (* apel rutina *)
Out[]= 11 (* rezultat *)

• Programare funcţională: oferă posibilitatea de a lucra cu funcţii pure şi operatori funcţionali
precum şi de a determina rezultatul unei prelucrări iterative prin determinarea punctului fix
al unei funcţii.

Exemplu. Determinarea lui 2 prin rezolvarea ecuaţiei x2 = 2 cu ajutorul metodei lui Newton.
In[]:= newton[x ]:=N[1/2*(x+2/x)] (* definirea funcţiei asociate unei iteraţii *)
In[]:= FixedPoint[newton, 1] (* determină punctul fix = limita procesului iterativ *)
Out[]= 1.414

• Programare bazată pe şabloane şi reguli de transformare: oferă metode de căutare (”pattern
matching”) şi substituţie pentru obiectele care descriu structurile matematice. Cum ı̂n Math-
ematica majoritatea structurilor matematice sunt reprezentate prin expresii, o noţiune funda-
mentală o reprezintă regula de transformare care specifică modul ı̂n care poate fi transformată
o expresie prin ı̂nlocuirea unor componente ale sale (variabile sau subexpresii). Cu ajutorul
regulilor de transformare pot fi definite funcţii la fel ca ı̂n matematică: prin proprietăţile lor.
Exemplu. Definirea funcţiei logaritmice:
In[]:= log[1]=0
In[]:= log[E]=1
In[]:= log[x y ]:=log[x]+log[y]
In[]:= log[x ˆ n ]:=n log[x]

7
Utilizare:
In[]:= log[(x y)ˆn]
Out[]= n log[x]+n log[y].

• Programare orientată pe obiecte. Oferă suport pentru definirea obiectelor şi pentru realizarea
aplicaţiilor prin respectarea paradigmelor acestui stil de programare.

• Programare vizuală. Prin gestiunea obiectelor de tipurile document, celula, buton sau paleta
pot fi proiectate interfete adecvate problemelor de rezolvat.

7.3 Interfaţa cu alte sisteme soft


Din punctul de vedere al interfeţei cu alte sisteme soft, pot fi amintite următoarele particularităţi:

• Datele pe care le prelucrează pot fi citite din fişiere de diferite formate (de exemplu fişiere
text create prin programe Pascal sau C).

• Rezultatele obţinute pot fi convertite ı̂n diferite formate (de exemplu expresiile pot fi descrise
ı̂n format C, Fortran sau TeX). Începând cu versiunea 4.0 a fost introdusă posibilitatea de a
converti conţinutul unui document ı̂n format HTML.

• Mathematica poate comunica cu alte programe prin intermediul unui standard de comunicaţie
de nivel ı̂nalt. Prin MathLink funcţiile din Mathematica pot fi apelate din programe C, iar din
Mathematica pot fi apelate funcţii C. O dată cu versiunea 4.1 a fost introdusă posibilitatea
de interfaţare cu Java prin J/Link.

7.4 Utilizarea ca platformă soft pentru aplicaţii specifice


Pentru diferite domenii ştiinţifice şi tehnice există pachete de funcţii destinate prelucrărilor speci-
fice domeniului respectiv. La ora actuală există peste o sută de pachete specializate. Pachetele
sunt orientate pe tematici şi conţin definiri de funcţii grupate pe subtematici (de exemplu, pa-
chetul ‘Graphics‘ conţine subpachetul ‘Polyhedra‘ pentru reprezentări de poliedre, sau pachetul
‘DiscreteMath‘ conţine subpachetul ‘Permutations‘ pentru generarea şi analiza permutărilor).
Pachetele conţin descrieri ale funcţiilor ı̂n limbajul specific din Mathematica, sunt extensibile,
dar pentru a putea fi utilizate ı̂ntr-o sesiune de lucru trebuie ı̂ncărcate explicit.
Pentru ı̂ncărcarea unui pachet trebuie dată o comandă de forma: <<Nume pachet‘Nume modul‘
sau Needs["Nume pachet‘Nume modul‘"]. De exemplu, pentru ı̂ncărcarea modulului ‘Polyhedra‘
trebuie dată comanda: <<Graphics‘Polyhedra‘ sau Needs["Graphics‘Polyhedra‘"].
De remarcat că la specificarea căii de identificarea a unui pachet trebuie folosit apostroful invers
(‘).

7.5 Utilizarea sistemului


Mathematica este un sistem modular fiind constituită din două module principale: nucleul şi sub-
sistemul care asigură interfaţa cu utilizatorul (”front-end”).
Nucleul are ca scop executarea comenzilor date de către utilizator. Prelucrarea de bază a
nucleului este evaluarea funcţiilor predefinite şi a celor definite de către utilizator. Principiul de
evaluare este de aplica definiţiile cunoscute până când se obţine un rezultat care nu mai poate fi
transformat. Acesta din urmă este transmis subsistemului de interfaţă care ı̂l afişează.

8
Subsistemul care asigură interfaţa cu utilizatorul este specific tipului de implementare (există
variante pentru Windows, Unix, MacIntosh).
În implementările iniţiala (până la versiunea 2) se lucra ı̂n mod text ı̂n sensul că sistemul afişa
un prompter de interogare (In[]:=) şi aştepta introducerea unei comenzi după care era evaluată
funcţia şi afişat rezultatul.
În implementările actuale, sistemul de interfaţă este bazat pe ferestre şi asigură gestiunea unor
”documente” interactive numite notebooks-uri. Prin intermediul notebooks-urilor, care pot conţine
texte organizate ierarhic mixate cu descrieri de calcule matematice şi grafice pot fi create materiale
didactice sau de prezentare suficient de sofisticate. Conţinutul unui document este organizat ı̂n
celule care pot conţine una sau mai multe linii ecran şi una sau mai multe expresii. Din punct de
vedere al tipului lor celulele pot fi de intrare (conţin comenzi transmise nucleului), de ieşire (conţine
rezultate ale prelucrărilor) sau text (conţin texte informative). În funcţie de tipul lor celulele pot
fi editate sau nu (de exemplu celulele de ieşire nu pot fi editate).
Dimensiunea unei celule este specificată prin intermediul unor paranteze drepte (brackets) am-
plasate ı̂n extremitatea dreaptă a documentului. Celulele pot fi grupate ierarhic pe mai multe
nivele asupra celulelor unui grup putându-se efectua prelucrări comune. Pentru a putea efectua
prelucrări asupra unei celule sau a unui grup de celule acestea trebuie selectate. Principalele pre-
lucrări care pot fi efectuate asupra celulelor sunt: evaluarea celulei curente, a celulelor selectate
sau a ı̂ntregului document, inchiderea/deschiderea unei celule/grup de celule, alegerea/modificarea
fonturilor pentru textele din celulele selectate, ştergerea unei celule/grup de celule.
Principala operaţie, cea de evaluare este solicitată prin combinaţia de taste SHIFT + RETURN.
După solicitarea evaluării sistemul prefixează comanda cu In[]:= iar ı̂n celula rezultat amplasează
Out[]=.
În versiunile mai mari decât 3.0 sistemul permite introducerea unor elemente active ı̂n cadrul
celulelor (”butoane” la a căror ”apăsare” este iniţiată o acţiune) precum şi utilizarea (sau definirea)
unor palete pentru a uşura ı̂ntroducerea comenzilor sau a unor caractere speciale.

S-ar putea să vă placă și