Programare in Internet

7
33 robusteţe: indică măsura în care proiectul poate continua în eventualitatea apariţiei unor situaţii neaşteptate în cadrul CVPP. mentenabilitate: indică măsura în care CVPP poate evolua la apariţia unor schimbări în cadrul companiei sau la depistarea unor posibile îmbunătăţiri. rapiditate: indică cât de repede pote fi furnizat PP prin aplicarea CVPP. PROGRAMARE#N INTERNET Programare pe parte de client (B[dic[, A., Programare @n Internet, Note de curs, pag. 32-35) Termenul de programare pe partea de client (engl.client side programming) se referă la executarea de programe la client în scopul creşterii gradului de interactivitate a paginilor WWW. Programele destinate a fi executate la client se pot transmite de la server către client fie în format sursa, fie în format obiect. Termenul Dynamic HTML – DHTML nu se referă la o anumită versiune sau facilitate a HTML. El desemnează acele facilităţi din diversele variante sau extensii ale HTML care ajută la crearea de conţinut dinamic. Cele mai populare elemente ale DHTML sunt: Foile de stil (engl.Cascading Style Sheets - CSS). Scripting-ul la client (elementul SCRIPT). Un exemplu este JavaScript. Se referă la încorporarea în cadrul unei pagini a unor programe în format sursă. Ele vor fi executate la client. Obiectele (elementul OBJECT). Se referă la încorporarea in cadrul unei pagini a unor programe în format obiect. Ele vor fi executate la client. Modelul obiectelor document (engl.Document Object Model – DOM). Acesta este liantul dintre elementele anterioare şi limbajul de marcare HTML sau XML. Eventuale mecanisme particulare specifice programului navigator. Se recomandă separarea prezentării (margini, culori, fonturi) de conţinutul şi structura documentului (antet, pagini, paragrafe, titluri, secţiuni). Pentru aceasta se pot folosi foi de stil (engl.Cascading Style Sheets – CSS). Prezentarea unui document este în general determinată de mai mulţi factori: Intenţiile proiectantului paginii Reguli generale pe care trebuie să le urmeze proiectantul Preferinţele utilizatorului Limitările cauzate de terminalul pe care se vizualizează prezentarea Din acest motiv apare necesitatea utilizării mai multor foi de stil – cascadarea foilor de stil (CSS). CSS specifică stilul de prezentare al unui document HTML. Există trei modalităţi de a mixa CSS si HTML: i) în cadrul unui element HTML; ii) în antetul unui document HTML; iii) într-un fişier separat. O foaie de stil este constituită dintr-o multime de reguli care se aplică unui document HTML în scopul generării unei prezentări a documentului. O regulă de stil conţine o parte de condiţii (stângă) numită şi selector şi o parte de acţiuni (dreaptă) numită şi declaraţie. Exemplu: P {color:green}, unde: P este un selector Foaie de stil CSS Document HTML Prezentare

description

Programare in Internet

Transcript of Programare in Internet

  • 33

    robustee: indic msura n care proiectul poate continua n eventualitatea apariiei unor situaii neateptate n cadrul CVPP. mentenabilitate: indic msura n care CVPP poate evolua la apariia unor schimbri n cadrul companiei sau la depistarea unor posibile mbuntiri. rapiditate: indic ct de repede pote fi furnizat PP prin aplicarea CVPP.

    PROGRAMARE#N INTERNET

    Programare pe parte de client

    (B[dic[, A., Programare @n Internet, Note de curs, pag. 32-35) Termenul de programare pe partea de client (engl.client side programming) se refer la

    executarea de programe la client n scopul creterii gradului de interactivitate a paginilor WWW. Programele destinate a fi executate la client se pot transmite de la server ctre client fie n format sursa, fie n format obiect.

    Termenul Dynamic HTML DHTML nu se refer la o anumit versiune sau facilitate a HTML. El desemneaz acele faciliti din diversele variante sau extensii ale HTML care ajut la crearea de coninut dinamic.

    Cele mai populare elemente ale DHTML sunt: Foile de stil (engl.Cascading Style Sheets - CSS). Scripting-ul la client (elementul SCRIPT). Un exemplu este JavaScript. Se refer la

    ncorporarea n cadrul unei pagini a unor programe n format surs. Ele vor fi executate la client.

    Obiectele (elementul OBJECT). Se refer la ncorporarea in cadrul unei pagini a unor programe n format obiect. Ele vor fi executate la client.

    Modelul obiectelor document (engl.Document Object Model DOM). Acesta este liantul dintre elementele anterioare i limbajul de marcare HTML sau XML.

    Eventuale mecanisme particulare specifice programului navigator. Se recomand separarea prezentrii (margini, culori, fonturi) de coninutul i structura

    documentului (antet, pagini, paragrafe, titluri, seciuni). Pentru aceasta se pot folosi foi de stil (engl.Cascading Style Sheets CSS).

    Prezentarea unui document este n general determinat de mai muli factori: Inteniile proiectantului paginii Reguli generale pe care trebuie s le urmeze proiectantul Preferinele utilizatorului Limitrile cauzate de terminalul pe care se vizualizeaz prezentarea

    Din acest motiv apare necesitatea utilizrii mai multor foi de stil cascadarea foilor de stil (CSS). CSS specific stilul de prezentare al unui document HTML. Exist trei modaliti de a mixa CSS si HTML: i) n cadrul unui element HTML; ii) n antetul unui document HTML; iii) ntr-un fiier separat.

    O foaie de stil este constituit dintr-o multime de reguli care se aplic unui document HTML n scopul generrii unei prezentri a documentului.

    O regul de stil conine o parte de condiii (stng) numit i selector i o parte de aciuni (dreapt) numit i declaraie. Exemplu: P {color:green}, unde:

    P este un selector

    Foaie de stil CSS

    Document HTML

    Prezentare

  • 34

    {color:green} este o declaraie. O declaraie poate conine mai multe asignri. color:green este o asignare color este o proprietate green este o valoare.

    Stilul unui document este o mulime de asignri de valori unor variabile numite proprieti. O proprietate exprim o calitate sau caracteristic pe care o poate avea un element al unui document HTML.

    Asignarea de valori proprietilor se bazeaz pe mecanismul de motenire cu suprascriere (engl.overriding inheritance).

    Un document HTML este structurat sub forma unui arbore de elemente crora li se asociaz proprieti cu valori. O pereche proprietate valoare se transmite prin motenire de la nivelurile superioare n arbore ctre frunze. La ntlnirea unei noi valori pentru aceeai proprietate, noua valoare o va suprascrie pe cea veche, fiind considerat mai specific.

    Selectorii regulilor pot fi: tipurile elementelor, atributele elementelor (elementele CLASS i ID au fost introduse pentru a fi folosite cu CSS), contextul elementelor, respectiv informaii externe documentului.

    n general, unui document i se aplic mai multe foi de stil: Foaia de stil specific documentului Foaia de stil implicit a programului navigator. Ideal, navigatorul ar trebui s permit

    setarea foii de stil implicite n funcie de preferinele utilizatorului, ntr-un mod independent de navigator

    O eventual foaie de stil extern, specific tipului de document n cazul in care mai multe reguli sunt aplicabile unui element, selecia regulii aplicabile se

    face pe baza unei strategii de rezolvare a conflictelor. Conflictele sunt de doua tipuri: Conflicte n cadrul aceleiai foi de stil Conflicte ntre regulile unor foi de stil diferite

    Rezolvarea conflictelor se face astfel: Se determin toate regulile aplicabile din toate foile de stil. Se ordoneaz regulile selectate de pasul anterior astfel nct regulile marcate ca

    importante au prioritate. Se ordoneaz regulile selectate de pasul anterior n funcie de originea foii de stil:

    navigator, utilizator, proiectant (de la proiectant au preceden maxim). Dup acest pas vor rmne doar reguli din aceeai foaie de stil.

    Se ordoneaz regulile selectate de pasul anterior n funcie de specificitate. O regul este cu atat mai specific cu ct selectorul ei exprim o condiie mai complex.

    Se ordoneaz regulile selectate de pasul anterior n funcie de ordinea n care au fost specificate. Regulile ce apar mai trziu n document au o prioritate mai mare. Regulile importate din foi de stil externe se consider aflate naintea oricror reguli prezente explicit n foaia de stil.

    O miniaplicaie (engl.applet) Java este un program Java care ruleaz sub controlul unui program client de navigare WWW. Miniaplicaia este transferat de la server catre client sub form de cod obiect (class sau jar).

    Condiia ca o miniaplicaie s poat fi executata pe calculatorul clientului este ca programul de navigare s dispun de un subprogram de interpretare a codului binar al mainii virtuale Java. Un astfel de program navigator se numete Java-enabled.

    Restricii: i) o miniaplicaie nu se poate atinge (n citire sau scriere) de discul

    calculatorului client pe care ruleaz; din acest motiv se spune metaforic c ruleaz inside the sandbox;

    ii) lansarea n execuie a unei miniaplicaii poate dura deoarece descrcarea fiiereleor class i apoi ncrcarea lor sub controlul programului client de navigare poate consuma un timp semnificativ de mare.

  • 35

    O miniaplicaie se include ntr-o pagin WWW cu elementele APPLET sau OBJECT. Iniial s-a folosit elementul APPLET, deoarece singurele programe executabile care se puteau include n paginile WWW sub form de cod obiect erau miniaplicaiile Java. Ulterior s-a introdus elementul OBJECT pentru a se permite includereasi a altor aplicaii sub form de cod obiect n paginile WWW.

    Prin limbaj de scripting se nelege un limbaj de programare interpretat. Soluia de interpretare permite transmiterea programelor n cod surs, cu condtia existenei la destinaie a unui interpretor pentru execuia lor. Exemple de limbaje de scripting: dBase, Visual Basic, Perl, Unix shell, Python, Tcl, Ruby, etc.

    Un program scris ntr-un limbaj de scripting se numete script. n WWW, scripting-ul se folosete att la client ct i la server. Execuia unui script la server poate produce coninut ce este transmis prin HTTP clientului (de exemplu prin CGI). Execuia unui script la client produce coninut dinamic. Scripting-ul la client este parte a tehnologiei Dynamic HTML DHTML. Deosebirea esenial dintre un limbaj de programare compilat i un limbaj de scripting interpretat este momentul legrii (engl.binding) - momentul n care devin cunoscute atributele unei variabile. La limbajele compilate momentul legrii este cel al traducerii, iar la cele interpretate este cel al execuiei. Amnarea legrii atributelor conduce la flexibilitate a execuiei n dauna eficienei.

    Cel mai rspndit limbaj de scripting pe partea de client este JavaScript, inventat de Netscape i standardizat de Asociatia european a productorilor de calculatoare.

    JavaScript este un limbaj de scripting orientat pe obiect inventat de Netscape. Spre deosebire de limbajele orientate pe obiect bazate pe clase, cum sunt C++ i Java, JavaScript este un limbaj orientat pe obiect bazat pe prototipuri.

    Navigatoarele WWW interpreteaz scripturile JavaScript din paginile HTML. Ele citesc pagina, interpreteaz marcajele i o afiseaz, executnd n acelai timp scripturile JavaScript pe msura ntlnirii lor n cadrul paginii. Rezultatul acestui proces de interpretare/execuie este vizualizat de utilizator n fereastra navigatorului.

    ntre JavaScript i Java exist i asemnri i deosebiri fundamentale. Asemnrile se refer la sintaxa enunurilor i a structurilor de control. Deosebirile: Java are legare la compilare (engl.statically typed), este puternic tipizat (engl.strongly-typed) i folosete un model obiectual bazat pe clase. JavaScript are legare la execuie (engl.dynamically typed), este mult mai permisiv n ceea ce privete declaraiile (engl.loosely-typed) i foloseste un model obiectual bazat pe prototipuri.

    Utilizarea JavaScript intr-o pagina HTML presupune folosirea elementului SCRIPT: Concluzii:

    Pe cat posibil ncercai s separai partea de coninut de partea de prezentare din pagini. Pentru aceasta identificai inti unitile de coninut pe care trebuie s le conina pagina i abia apoi puneti-v problema modului de prezentare a acestora.

    Avei n vedere c descrcarea unor programe n cod obiect i rularea lor n programul navigator poate duce la ncetinirea ncrcrii paginii.

    Folosii scriptingul la client numai atunci cnd este absolut necesar. Scriptingul face s creasc dependena paginilor pe care le scriei de programul navigator.

    Atunci cnd dorii s creai pagini complexe i folosirea scriptingului la client este absolut necesar, ncercai s identificai cu clientul dumneavoastr navigatoarele crora le sunt adresate paginile. Un pas important va fi apoi testarea navigatorului nainte de afiarea paginilor sau a anumitor pri specifice din pagini.

    Programare pe parte de server

    (B[dic[, A., Programare @n Internet, Note de curs, pag. 95-98)

    Un server WWW este un program cu rol de server care este capabil s rspund la cereri HTTP. Modul de funcionare al unui server WWW este foarte important pentru infrastructura i aplicaiile WWW, dei n acelai timp este ascuns utilizatorilor uzuali ai WWW.

  • 36

    Probleme importante referitoare la serverele WWW sunt: Performana Configurarea i administrarea Extensia i programarea

    Un exemplu de server WWW foarte folosit i disponibil liber n domeniul public este Apache. Un sondaj a aratat c 51.9% din toate serverele active de WWW erau servere Apache.

    Opiunile de configurare ale unui server WWW se refer n general la: Modul n care se va executa serverul pe maina care l gzduiete. Dac serverul deservete mai multe masini gazd i in caz afirmativ modul n care

    realizeaz acest lucru. Dac serverul deservete mai multe masini gazd atunci acestea se numesc gazde virtuale (engl.virtual host).

    Modul de lucru: server de origine sau proxy. Execuia serverelor WWW poate fi de dou tipuri:

    Execuie la cerere Este o metod nvechit. Presupune existena unui superserver care ascult toate cererile

    i pentru fiecare n parte activeaz i execut serverul corespunztor. Aceast metod are marele dezavantaj c necesit prea multe resurse sistem de fiecare dat cnd se ncarc serverul n memorie i se creeaz procesul aferent.

    Execuie permanent Serverul este pornit manual de utilizator sau automat la pornirea sistemului i se execut

    n permanen. Dup pornire serverul ascult cererile HTTP pe portul pe care a fost configurat. Pornirea manual este recomandat ntr-un mediu de dezvoltare a unei aplicaii WWW. Pornirea automat este recomandat dup ce aplicaia WWW a fost instalat (engl.deployed).

    Serverul poate fi pornit de la linia de comand sau instalat ca serviciu al sistemului de operare. Un server WWW poate deservi una sau mai multe maini gazd. n al doilea caz mainile

    gazd deservite se numesc gazde virtuale. Gazdele virtuale uureaz activitatea de administrare a serverului deoarece: exist o

    singur instan a serverului, exist o singur configuraie a serverului, se monitorizeaz execuia unui singur server.

    Exist dou tipuri de gazde virtuale: gazde virtuale IP i gazde virtuale non-IP. Gazdele virtuale IP:

    Fiecare gazd virtual este o gazd IP avnd o adres de IP distinct care apare ca intrare n DNS.

    Se asigneaz toate adresele de IP ale gazdelor virtuale deservite mainii pe care ruleaz serverul WWW.

    Metoda este simpl dar are dou dezavantaje: i) este nevoie de o adres de IP distinct pentru fiecare gazd virtual; ii) asignarea mai multor adrese de IP unei singure maini poate crea probleme reelei.

    Gazdele virtuale non-IP: Se bazeaz pe un suport special oferit de protocolul HTTP. Acest suport pentru

    deservirea gazdelor virtuale non-IP este disponibil numai in HTTP/1.1. HTTP/1.1 a introdus n cadrul unei cereri HTTP antetul special HOST. Acest cmp antet

    este obligatoriu. El conine numele gazdei creia i este adresat cererea. Configurarea gazdelor virtuale deservite se face analog cu cazul anterior. Singura

    diferen este c intrrile DNS ale gazdelor virtuale vor conine acum aceeai adres de IP.

    Metoda are dou avantaje: i) este nevoie de o singur adres de IP pentru deservirea tuturor gazdelor virtuale; ii) crearea unei noi gazde virtuale non-IP se poate face mai uor dect n cazul gazdelor virtuale IP. Metoda are un mare dezavantaj: se poate aplica numai pentru versiunile HTTP ulterioare HTTP/1.1.

  • 37

    Serverele WWW pot fi: Servere de origine:

    Majoritatea serverelor de WWW sunt configurate ca servere de origine. n acest caz cererile HTTP sunt tratate local de server. O problem important este localizarea resurselor, cu alte cuvinte maparea URL-ului ntr-o adres a unei resurse din cadrul sistemului local de fiiere. Resursele sunt de dou tipuri: statice (stocate fizic) i dinamice (generate de programe externe). Spaiul WWW al unui utilizator specific se refer n URL prin caracterul ~ urmat de numele utilizatorului. Spatiul WWW al utilizatorilor se poate organiza n doua moduri:

    Crearea unui spaiu WWW central pentru toi utilizatorii. Unui utilizator i va reveni un director n acest spaiu: webhome/name/.

    Crearea unui director special pentru fiecare utilizator n cadrul directorului personal: /home/name/WWW/.

    Servere proxy: Un server proxy accept cereri pentru resurse i fie le rezolv din memoria cache local, fie prin naintarea cererii ctre serverul de origine.

    Un server proxy acioneaz astfel ca un intermediar intre client i serverul de origine. Scopul intermedierii poate fi filtrarea cererilor sau trecerea de la un protocol nesigur la un protocol sigur, de exemplu HTTPS.

    SSI (engl.Server Side Include) este o tehnologie ce permite includerea de informaii ntr-o pagina WWW nainte de trimiterea paginii la client. O pagin care foloseste SSI conine instruciuni speciale. Aceste instruciuni sunt interpretate de server ori de cte ori pagina este cerut de un client. Instruciunile pot specifica: includerea unor documente n pagina curent (de exemplu un antet sau un subsol), a datei curente, a valorii unui contor de acces, etc. Avantajul SSI fa de CGI este c reprezint o tehnologie mult mai simpl i c nu implic apelul nici unui program extern. Nu exista un standard de SSI si de aceea fiecare server are o sintax i funcionalitate proprie pentru SSI.. Pentru serverul Apache instructiunile SSI sunt de forma unor comentarii HTML/XML. Serverul Apache permite i folosirea unor faciliti SSI avansate desemnate prin acronimul XSSI. Un exemplu este posibilitatea definirii unui flux de control ca n programarea procedural prin comenzile if, elif, else si endif.

    Aplicaiile de comer electronic au o parte semnificativ pe partea de server. Pentru a descrie aceast parte se folosete frecvent termenul de aplicaie WWW = extensia dinamic a unui server WWW. Aplicaiile WWW sunt n general de dou tipuri:

    Aplicaii orientate pe prezentare. Conin pagini WWW interactive i sunt capabile s genereze coninut dinamic ca raspuns la cererile clienilor.

    Aplicaii orientate pe serviciu. Implementeaz un punct terminal pentru un serviciu WWW. Serviciu WWW = un serviciu oferit de o aplicaie altor aplicaii, prin intermediul platformei WWW.

    Aplicaiile WWW conin componente WWW. Componentele WWW sunt crmizile pe baza crora se poate extinde dinamic funcionalitatea unui server WWW. n tehnologia Java, componentele WWW sunt miniservere sau pagini JSP.

    Componentele WWW sunt suportate de serviciile unei platforme speciale de execuie numite container WWW. Containerul furnizeaz servicii ca: dispecerizarea cererilor, securitate, concuren, gestiunea ciclului de via, etc.

    O aplicaie WWW const n general din: componente WWW, fiiere de resurse statice i clase/biblioteci de ajutor (engl.helper). Funcionalitatea standard oferit de un server WWW este insuficient pentru programarea aplicaiilor de comer electronic. O aplicaie de comer electronic are o arhitectur multistrat, numrul de straturi fiind de obicei minim 3: client, server WWW, server de baze de date. Pe lng serverul WWW mai exist obiectele din domeniul problemei (engl.business objects). mpreun ele formeaz stratul intermediar al unei arhitecturi tipice pentru o aplicaie de comer electronic. n consecin se pune problema extinderii

  • 38

    funcionalitii unui server de WWW. O variant este folosirea interfeei CGI, ns ea prezint o serie de dezavantaje:

    Pentru fiecare cerere HTTP trebuie startat un proces separat. Interfaa dintre serverul WWW i scriptul CGI este nesatisfctoare.

    O abordare elegant o constituie o soluie Java pentru extinderea funcionalitii unui server WWW i anume miniserverele Java (engl.Java servlet). Aceast soluie are urmtoarele avantaje:

    Portabilitate Miniserverele sunt rezidente i starea este persistent ntre cereri succesive Beneficierea de avantajele tehnologiei Java: orientare pe obiect, modelul de securitate

    Java, integrarea relativ usoar cu tehnologii ca RMI i CORBA CGI (engl.Common Gateway Interface) definete o interfa pentru comunicarea dintre un

    server de informaii (cum este cazul unui server WWW) i un program de aplicaie. CGI este o interfa independent de limbaj. Este posibil s se implementeze o aplicaie CGI (numit i script CGI) n orice limbaj care suport comunicarea standard ntre procese prin intermediul intrarii i iesirii standard i a variabilelor de mediu. Pentru scripturile CGI se folosete deseori unul dintre limbajele: Perl, Python sau Tcl. Se pot folosi ns i limbaje gen C/C++.

    Procesul de comunicare decurge astfel: Dup primirea cererii HTTP i naintea pornirii scriptului CGI, serverul iniializeaz

    o mulime de variabile de mediu (engl.environment variables). Aceste variabile vor fi motenite de procesul corespunztor lansrii scriptului CGI. Exist variabile independente de cerere i variabile dependente de cerere. Pe lng aceste variabile de mediu, dac protocolul este HTTP, se creeaz cte o variabil de mediu ce ncepe cu prefixul HTTP pentru fiecare linie din antetul cererii (de exemplu HTTP_ACCEPT).

    Dac cererea conine informaii adiionale dup antetul cererii, atunci informaia este trimis scriptului CGI la intrarea standard.

    Scriptul genereaz datele de ieire la ieirea standard. Pentru generarea rspunsului ctre client, serverul fie interpreteaz i prelucreaz aceste date, fie le nainteaz nealterate. El indic acest lucru serverului prin antete speciale.

    Functionarea miniserverelor Java presupune urmtorii pai: Un program client emite o cerere HTTP ctre un server WWW. Serverul interpreteaz cererea i execut o secven de program creia i transmite

    parametrii cererii. Programul apelat interpreteaz parametrii cererii i execut o poriune de cod care

    genereaz dinamic o pagin HTML. Prelucrrile executate de miniserver pot duce la:

    Generarea unei pagini WWW statice. Generarea unei pagini WWW modificate prin inserarea unui coninut dinamic. Configurarea unei pagini WWW pe baza parametrilor cererii HTTP. Parametrii sunt

    preluai de la utilizator printr-un formular HTML. In general miniserverele sunt potrivite pentru aplicaiile orientate pe serviciu sau pentru

    controlul aplicaiilor orientate pe prezentare. La fel ca si o miniaplicatie, un miniserver nu contine o functie main(). El va fi invocat de

    catre containerul de miniserveri la recepionarea unei cereri HTTP de ctre serverul WWW. Obiecte partajate:

    Componentele WWW n general i miniserverele n particular folosesc de obicei i alte obiecte pentru a-i ndeplini sarcinile. Astfel: i) pot folosi obiecte private; ii) pot folosi obiecte publice atribute ale unui domeniu standard; iii) pot accesa baze de date; iv) pot accesa alte resurse WWW. Componentele WWW cooperante pot partaja informaii sub forma unor obiecte definite ca atribute ale unui domeniu standard: context WWW (aplicaie), sesiune, cerere HTTP i

  • 39

    respectiv pagin JSP. JSP (engl.Java Server Pages) este o tehnologie pentru generarea de pagini dinamice

    bazat pe ideea mixrii de cod Java cu cod HTML n paginile WWW. Este recomandat pentru aplicatiile WWW orientate pe prezentare.

    O alt tehnologie de pagini dinamice foarte folosit la ora actual este PHP. PHP este un limbaj de scripting pentru partea de server, inspirat din C. Codul PHP poate fi ncorporat n paginile WWW.

    JSP funcioneaz peste o arhitectur de miniservere. La ncarcarea unui JSP, se genereaz automat codul java pentru miniserverul corespunztor i apoi acesta este compilat i ncrcat n containerul de miniservere. Acest proces se repet ori de cate ori codul JSP este modificat.

    INFORMATIC{ ECONOMIC{ APLICAT{

    Formule ]i func\ii @n Microsoft Excel (Li\oiu, V., Buligiu, I., Bu]e, R., Informatic[ economic[ aplicat[, Ed. Universitaria, Craiova,

    2009, pag.101-108)

    1.1 Construirea formulelor n Excel o formul ncepe cu semnul =. Introducerea formulelor se poate face direct,

    folosind tastatura, sau cu mouse-ul. Dac un domeniu care urmeaz a fi inclus n formul este selectat cu mouse-ul, operatorul de domeniu (:) va fi inserat automat de ctre Excel. La fel i operatorul de reuniune (, sau ;), atunci cnd sunt selectate domenii sau celule neadiacente.

    Pentru scrierea direct a formulelor, se plaseaz punctul de inserare n celula n care trebuie s apar rezultatul calculului i se scrie formula. De exemplu, dac n celula E8 este introdus valoarea 10, iar n celula F8 este valoarea 100, iar celula G8 conine formula =E8*F8, rezultatul afiat n celula G8 va fi 1000.

    O celul poate avea un coninut vizibil (extern) reprezentat de valoarea datelor afiate n celul i un coninut ascuns (intern, invizibil) reprezentat de formulele afiate n bara de formule i care genereaz coninutul vizibil.

    Cea mai sigur cale de a trece n formul celulele referite (care sunt operatori n formule) este prin indicarea lor cu mouse-ul. Astfel: n loc s scriem direct A1 dm click pe butonul stng al mouse-ului n celula A1; n loc s scriem direct A1:C20, mai bine selectm domeniul cuprins ntre A1 i C20 - pentru aceasta cel mai indicat este s dm mai nti un click n celula A1, apoi apsm tasta Shift i dm click n celula C20.

    n exemplu de mai sus, pentru a scrie formula =E8*F8, n loc s scriem totul de la tastatur, este mai indicat s parcurgem urmtoarea secven: 1. mai nti scriem semnul = (egal); 2. dm click n celula E8; 3. scriem semnul * (nmulire); 4. dm click n celula F8; 5. validm formula prin apsarea tastei Enter, de la tastatur sau de pe bara de formule.

    Formulele sunt destinate executrii unor operaii i conin: semnul =; constante numerice; operatori; funcii predefinite.

    Orice formul este anunat de semnul =. In formule se pot folosi operatori: o operatori aritmetici: adunare (+), scdere (-), nmulire (*), mprire (/), ridicare la

    putere (^), procent (%); o operatori relaionali de comparaie: = (egal), > (mai mare), < (mai mic), >= (mai mare

    sau egal), (diferit); o operatori pentru text: & (unete texte sau referine de celule); o operatori de referire (referine de celule sau domenii). La crearea unor formule care conin mai mult de un operator, Excel utilizeaz o anumit

    ordine pentru a calcula rezultatul, respectiv: %, ^, *,/,+,-, &, comparaii.