CATEGORII DOCUMENTE |
Prin modelare se intelege reprezentarea unui obiect sau a unui fenomen din lumea reala intr-un anumit sistem (matematic, fizic, informatic). Un model este creat pentru a permite studiul obiectului real intr-un anumit context.
In urma analizei informatiilor corespunzatoare obiectului sau fenomenului real, modelul va pastra numai acele caracteristici ce sunt considerate importante pentru reprezentarea acestuia in contextul respectiv. De exemplu. daca dorim sa cream modelul unei masini pentru a studia performantele tehnice ale acesteia, modelul realizat va contine informatii despre viteza, consum, putere, etc., dar nu va avea date despre culoare sau despre materialul din care sunt confectionate scaunele, deoarece acestea nu au nici un rol in contextul pentru care e creat obiectul.
In urma codificarii informatiilor referitoare la un model, calculatorul, poate sa le memoreze, sa le transmita sau sa execute anumite operatii asupra lor.
Scopul modelarii este studiul unui obiect sau fenomen real, prin simularea diferitelor situatii in care se poate afla acesta.
Prin algoritm se intelege o secventa finita si ordonata de operatii aritmetice, relationale si logice ce sunt necesare rezolvarii unei probleme. Orice algoritm porneste de la anumite date initiale ale problemei, pe care le prelucreaza in vederea gasirii rezultatului, obtinand pe parcurs si rezultate intermediare.
Un algoritm se caracterizeaza prin:
unicitate numita si determinismul unui algoritm: reprezinta faptul ca operatia ce urmeaza unui anumit pas este unic determinata;
generalitate: reprezinta proprietatea unui algoritm de a oferi o strategie generala de rezolvare a unui anumit tip de problema, pentru date initiale arbitrare si nu pentru un anumit set particular;
finititudine: reprezinta insusirea unui algoritm de a obtine informatia finala intr-un numar finit de pasi.
Termenul de obiect si semnificatia lui sunt preluate din lumea reala. El reprezinta o entitate (ceva bine definit) care are o anumita structura, anumite caracteristici si o anumita functie.
Un obiect se caracterizeaza prin:
Proprietati care reprezinta structura si atributele unui obiect.
Metode care reprezinta actiunea (actiunile) pe care poate sa le efectueze un obiect.
Metoda(metodele) unui obiect se lanseaza(executa) numai atunci cand obiectul intra intr-o anumita stare specifica, datorita unor factori externi. Factorii care determina lansarea unor metode ale unui obiect, se numesc evenimente.
Clasa de obiecte, este o notiune prin care se definesc proprietatile si metodele unei multimi de obiecte de acelasi tip.
Obiectele provin prin setarea(stabilirea) proprietatilor si metodelor unei clase de obiecte, pentru o anumita entitate.
Colectia de obiecte cuprinde multimea tuturor obiectelor care provin din aceiasi clasa de obiecte. Ele pot fi considerate ca elementele unui tablou.
Un sistem de calcul este un ansamblu de dispozitive care prelucreaza automat o informatie printr-o succesiune de operatii aritmetice, relationale si logice.
Un sistem de calcul prezinta doua tipuri de componente :
hardware - componente fizice , echipamente de calcul;
software - componente logice, programe.
Deci un sistem de calcul se defineste ca un complex fizic de echipamente (hardware) care impreuna cu un sistem de programe (software) asigura prelucrarea informatiei in conformitate cu algoritmii impusi de necesitatea utilizatorului.
Un calculator este proiectat intr-o structura etajata. In aceasta, fiecare componenta, foloseste informatiile din modulul inferior, le prelucreaza si le ofera modulului superior. In felul acesta un modul nu va lucra decat cu informatiile etajului inferior cu care se invecineaza, el nefiind influentat de celelalte etaje inferioare. Standardizarea legaturilor de intrare si iesire al fiecarui modul, face posibila abordarea realizarii separate a unui modul, deci a cresterii eficientei si productivitatii in realizarea acestora, ceea ce a permis practic marile progrese din ultimii ani in domeniul tehnicii de calcul.
Exista urmatoarele patru module principale ale unui sistem de calcul:
Hardware
Bios
Sistemul de operare(SO)
Aplicatii
Se pot preciza urmatoarele lucruri:
Ø Bios-ul este o interfata intre Hardware si Sistemul de operare, in sensul ca el pune la dispozitia acestuia din urma module care pot actiona toate dispozitivele calculatorului.
Ø Sistemul de operare(SO), functioneaza pe un anumit Bios. El nefiind invecinat direct cu Hardware-ul, nu este dependent de acesta. Deci un SO, va fi proiectat pentru un anumit Bios, nu pentru un anumit Hardware.
Ø Aplicatiile, sunt vecine numai cu SO. Ele sunt proiectate sa functioneze pe un anumit SO, problemele legate de Hardware sau Bios-ul, pe care sunt efectiv executate nefiind necesar a fi cunoscute la nivelul acestora.
Din schema prezentata in continuare se observa in primul rand interdependenta dintre componentele invecinate ale unui sistem de calcul.
Sistemul de operare este o colectie de drivere si comenzi ce reprezinta o interfata de comunicare a utilizatorului si a programelor sale cu diverse componente ale calculatorului.
Un sistem de operare indeplineste mai multe functii cum ar fi:
gestionarea atat a resurselor hardware cat si software ale sistemului;
comunicarea dintre utilizator si sistem printr-un anumit limbaj;
crearea si executia de programe utilizand alte resurse software, cum ar fi: compilatoarele, interpretoarele, diferite utilitare.
De exemplu, prin intermediul sistemului de operare se poate realiza:
Ø Coordonarea transferului de informatii intre memoria sistemului si unitatile de disc;
Ø Coordonarea tiparirii la imprimanta;
Ø Lansarea aplicatiilor;
Ø Comunicarea sistemului cu utilizatorul;
Ø Cuplarea cu alte calculatoare.
Un driver este un mini-program atasat unei componente hardware, care permite folosirea acesteia. El reprezinta o parte a sistemului de operare, care serveste ca interfata intre unitatea centrala si dispozitivele periferice. Acest program este necesar datorita necompatibilitatii dintre diferite dispozitive periferice. Unitatea centrala trimite semnale pe care acest program le preia, le transforma si le trimite dispozitivului periferic (tastatura, imprimanta, etc.), pentru fiecare dintre acestea fiind drivere corespunzatoare.
Comenzile reprezinta mici aplicatii pe care sistemul de operare le foloseste pentru a rezolva diferite probleme sau pentru a efectua diferite actiuni. In general ele trebuiesc sa permita configurarea si utilizarea la nivelul minim al tuturor componentelor sistemului de calcul.
Explicatie. Din punct de vedere tehnic, nu exista diferente intre o aplicatie si o comanda. Practic separarea se face prin aceea ca comenzile se achizitioneaza o data cu cumpararea SO, aplicatiile fiind comercializate separat.
Programul reprezinta o serie de instructiuni pe care calculatorul le intelege si prin intermediul carora rezolva un algoritm(o problema). Intre notiunea de program si cea de algoritm exista o stransa legatura. Exprimand intr-un program ce trebuie sa faca un sistem de calcul, programatorul descrie de fapt un algoritm, a carei executie este incredintata calculatorului.
Procesul prin care este creat un program pentru ca un calculator sa poata realiza o anumita activitate se numeste programare. Aceasta activitate poate sa se refere la orice problema, de la solutia unei probleme matematice pana la statele de plata ale unei firme, sau prestarea jocului de bridge sau sah. Instructiunile executate de calculator sunt coduri numerice ce sunt semnificative pentru procesorul central. Pana cand calculatorul nu va putea "gandi" singur, ramanand in intregime dependent de aceste instructiuni, nu se poate astepta executarea unei anumite teme fara ca problema pusa spre rezolvare sa nu fie specificata corect in fiecare detaliu.
Principalii pasi care trebuie parcursi pana ce un program sa fie terminat sunt:
intelegerea problemei si planificarea solutiei;
pregatirea instructiunilor intr-o forma codificata;
testarea programului pana la functionarea corecta a acestuia;
implementarea programului - instalarea si configurarea programului, instruirea utilizatorilor.
dezvoltarea programului - eliminarea erorilor care se descopera in timpul utilizarii programului precum si eventuala adaptare a lui la noile conditii aparute.
Durata timpului fiecarui pas, importanta relativa si tehnicile adoptate, depind foarte mult de tipul si de complexitatea problemei ce trebuie programata, dar si de tehnologia de care se dispune pentru activitatea de programare.
Prin data se intelege orice entitate asupra careia poate opera calculatorul. In cod masina datele se reprezinta sub forma unei secvente de cifre binare. In cazul limbajelor de nivel inalt se face abstractie de detaliile de reprezentare a datelor, dezvoltand conceptul de tip de date. In memoria calculatorului orice data apare ca o succesiune de biti. Modul in care pentru o astfel de succesiune se asociaza o valoare depinde de interpretarea ce i se da. La nivelul limbajelor de programare o astfel de interpretare este reprezentata de tipul datelor.
Un tip de date este notiunea folosita pentru a defini:
à multimea valorilor pe care le pot avea datele ce apartin acestui tip;
à dimensiunea efectiva pe care o ocupa in memorie datele;
à operatiile ce se pot efectua asupra acestor date.
Orice limbaj de programare pune la dispozitia programatorului cateva tipuri de date predefinite (standard), cum ar fi datele intregi, reale, caracter sau booleene(logice). Acestea sunt tipuri simple de date care se refera la valori elementare. Totodata, limbajele de programare includ mecanismele necesare construirii unor tipuri noi, specifice, prin restrangeri sau combinari ale tipurilor deja definite. Aceste mecanisme poarta numele de constructori de tipuri si joaca un rol esential in programare. Un astfel de tip de date sunt tablourile(array), cu una, doua sau mai multe dimensiuni.
Variabilele sunt nume de locatii de memorie care contin valori de un anumit tip de data, care se modifica in timpul executiei programului. Variabilele se caracterizeaza prin:
Domeniul de valabilitate: se refera la momentul cand acestea apar si dispar din codul sursa. Variabilele apar atunci cand sunt declarate prima data, dupa care apar si dispar in functie de domeniu. In momentul cand acestea apar, variabilele devin vizibile, li se pot atribui valori de un anumit tip si pot fi folosite in cadrul instructiunilor. In rest, ele sunt invizibile.
Durata de viata: se refera la timpul cuprins intre momentul primei aparitii a variabilei si momentul disparitiei ei, in memoria calculatorului, in timpul executiei programului.
Constantele sunt practic tot niste variabile, dar acestea primesc o anumita valoare la crearea lor, care nu poate fi modificata in timpul existentei lor.
Instructiunea reprezinta descrierea unei actiuni ce trebuie efectuata asupra datelor cu ajutorul unui limbaj de programare. Limbajele de programare pun la dispozitia programatorilor un set de instructiuni cu ajutorul carora acestia descriu actiunile pe care calculatorul trebuie sa le indeplineasca.
Executia unei instructiuni reprezinta efectuarea operatiei specificate de codul instructiunii, interpretate la un moment dat de unitatea centrala a unui sistem de calcul sau de un procesor. De obicei, executia instructiunii presupune obtinerea operanzilor din memoria interna sau din registrele unitatii centrale, formarea rezultatului si depunerea acestuia intr-un registru al unitatii centrale sau in memoria interna.
Ca exemplu de operatii pe care le face unitatea centrala a sistemului de calcul sunt operatiile de adunare, scadere, citire, scriere, comparatie, etc.
Limbajul de programare este un limbaj artificial destinat descrierii (prin directive, comenzi sau instructiuni exprimate simbolic) prelucrarilor de date ce urmeaza a fi realizate de un sistem de calcul. Este principalul instrument ce inlesneste transmiterea informatiilor pe care se bazeaza prelucrarea datelor.
Limbajele de programare se pot clasifica in:
limbaje de nivel scazut: limbaje de programare care folosesc codul simbolic si sunt bazate pe limbajul masina virtual al calculatorului, necesitand un asamblor pentru a-l translata in actualul limbaj masina.;
limbaje de nivel inalt: limbaje de programare in care tipurile de date, operatiile de prelucrare si control si alte facilitati nu sunt legate de echipamentul sistemului de calcul, de tipurile de date reprezentate in locatiile de memorie ale calculatorului, de operatiile primitive. Folosirea acestor limbaje de nivel inalt permite detasarea utilizatorului de sistemul de calcul real, fiind orientate, in general, pe aplicatii.
limbaje de nivel foarte inalt: limbaje de programare cu un inalt grad de specializare.
Limbajele de programare pot fi specializate pentru diferite domenii de aplicatie si cerinte de calcul : prelucrari numerice sau simbolice, calcule tehnico-stiintifice, economice, prelucrari secventiale sau paralele ale datelor, prelucrari in timp real sau nu.
Limbajul sursa este limbajul de programare in care este scris programul preluat de un translator, compilator sau interpretor, in scopul traducerii si /sau executiei lui.
Programul sursa este un program scris intr-un limbaj care trebuie sa fie "tradus" de calculator pentru a produce programul obiect.
Limbajul obiect este un limbaj sau un set codificat de instructiuni in care limbajul sursa este translatat cu ajutorul unui compilator.
Programul obiect este un program in limbaj obiect obtinut prin translatarea programului scris in limbaj sursa cu ajutorul unui compilator. Programul obiect este in mod normal in cod masina, avand astfel forma ceruta pentru rulare. Cateva limbaje de nivel inalt folosesc programe obiect care necesita in continuare translatari, inainte de a avea o forma care sa fie "inteleasa" de calculator.
Ø Compilarea este procesul de translatare a unui program sursa (care este scris intr-un limbaj de programare de nivel inalt) intr-un program obiect, care este executabil. Compilarea presupune parcurgerea mai multor etape si anume:
à analiza lexicala, sintactica si semantica a programului sursa avand ca efect generarea unui cod intermediar;
à optimizarea codului intermediar;
à generarea programului obiect.
Programul obiect care rezulta poate fi citit si apoi folosit de calculator.
Un compilator este un program, scris pentru un anumit SO, care realizeaza operatia de compilare dintr-un unui anumit limbaj de programare(sursa), in limbaj masina(obiect)
Compilatorul converteste instructiunile scrise intr-un limbaj sursa, in cod masina. Exista mai multi pasi care trebuie parcursi pana ce se ajunge la programul obiect: se translateaza fiecare declaratie de limbaj in cod masina echivalent, se incorporeaza in programul obiect orice librarie de subrutine care este ceruta de utilizator si se realizeaza legaturile intre partile programului.
Compilarea unui program sursa, nu va duce si la executia acestuia pe calculator, ci numai la crearea programului obiect, care va putea fi executat ulterior pe calculator.
Ø Interpretarea reprezinta activitatea prin care un program scris intr-un limbaj sursa este executat pe un calculator.
Un interpretor este un program, scris pentru un anumit SO, care realizeaza operatia de interpretare a unui anumit limbaj de programare.
Fata de compilator, interpretorul nu produce un program direct executabil, ci duce la executia imediata a acestui program. Interpretorul este, de fapt, un traducator de limbaj care citeste programele scrise intr-un limbaj de programare si executa imediat comenzile descrise de acest program. Deci putem spune ca un interpretor realizeaza in acelasi timp si compilarea si executia programului sursa.
Ø Legarea reprezinta un grup de operatii avand drept scop obtinerea unui singur program, pornind de la un ansamblu de programe independente, scrise in diferite limbaje de programare. Pentru a combina mai multe module obiect din diferite limbaje de programare, care au fost produse separat si in prealabil compilate, cu scopul de a crea un singur program, se utilizeaza un program de sistem numit editor de legaturi.
Ø Programarea clasica, presupune descompunerea unei probleme complexe in subprobleme mai simple, descompunerea continuand pana la atingerea unui nivel de dificultate acceptabil. Fiecarei subprobleme ii va corespunde un modul program independent de celelalte module. In paralel cu structurarea programului in module se realizeaza si structurarea datelor problemei.
Programarea clasica reprezinta lansarea intr-o anumita ordine a acestor module de program (rutine, proceduri). Din aceasta cauza ea este denumita programare procedurala.
Deci, in programarea clasica, un program este format din doua parti total separate : un ansamblu de proceduri si un ansamblu de date asupra carora actioneaza procedurile. Procedurile efectueaza activitati bine definite si sunt separate de exterior, comunicand printr-o interfata care consta dintr-un set de parametrii si, eventual, un rezultat. Aceasta tehnica de programare a constituit un progres important in directia facilitarii elaborarii aplicatiilor complexe si a cresterii calitatii programelor. S-a constatat insa ca programarea clasica ramane cu o deficienta importanta in ceea ce priveste posibilitatea reutilizarii, adaptarii si extinderii unor module de program, calitati esentiale in cazul unor aplicatii complexe. Chiar daca s-a realizat o buna structurare a programului in proceduri, este posibil ca o schimbare relativ minora in structura datelor sa provoace o dezorganizare majora a procedurilor, creand astfel probleme organizarii flexibile si eficiente a aplicatiilor.
Ø Programarea orientata pe obiecte, este practic formata din doua activitati:
Prima consta in definirea obiectelor necesare rezolvarii problemei respective, a creierii lor sau a utilizarii celor deja create. Reamintim ca un obiect este o entitate, care inmagazineaza in ea atat date(proprietati) cat si actiuni(metode).
A doua consta din crearea unei interfete cu utilizatorul prin care acesta sa poata utiliza cat mai simplu, 'prietenos', obiectele ce le are la dispozitie si care ii rezolva problema. In general aceasta activitate nu este secventiala, cu un inceput si un sfarsit, ci este produsa de anumite 'evenimente' care se produc in sistem, ca de exemplu un clic pe un control, sau trecerea unei anumite cuante de timp.
Inconvenientele programarii clasice sunt eliminate prin incapsularea datelor(proprietati) si a procedurilor care le manipuleaza(metode) intr-o singura entitate numita obiect. Lumea exterioara obiectului are acces la datele si procedurile lui prin intermediul unor operatii care constituie interfata obiectului. In terminologia specifica programarii orientate pe obiect, procedurile care formeaza interfata unui obiect se numesc asa cum am mai aratat metode. Apelul unei metode este doar o cerere, un mesaj al apelantului care solicita executarea unei anumite actiuni de catre un obiect.
Utilizarea obiectelor confera programarii urmatoarele calitati:
Abstractizarea datelor Nu este nevoie de a cunoaste implementarea si reprezentarea interna a unui obiect pentru a-i adresa mesaje. Obiectul decide singur maniera de executie a operatiei cerute in functie de implementarea fizica. Este posibila supraincarcarea metodelor, in sensul ca la aceleasi mesaje, obiecte diferite raspund in mod diferit.
Modularitate Structura programului este determinata in mare masura de obiectele utilizate. Schimbarea definitiilor unor obiecte se poate face cu un minim de implicatii asupra celorlalte obiecte utilizate in program.
Flexibilitate Un obiect este definit prin comportamentul sau gratie existentei unei interfete explicite. El poate fi usor introdus intr-o biblioteca pentru a fi utilizat ca atare, sau pentru a construi noi tipuri de obiecte prin specializarea sau compunerea celor existente.
Claritate Incapsularea, posibilitatea de supraincarcare si modularitatea intaresc claritatea programelor. Detaliile de implementare sunt izolate de lumea exterioara, numele metodelor pot fi alese cat mai natural posibil, iar interfetele specifica precis si detaliat modul de utilizare al obiectului.
Intr-un sistem de calcul datele se pastreaza, in memoria externa a acestuia(HDD, FDD, CD-ROM), sub forma unor entitati numite fisiere.
Un fisier este o colectie de date, care in general se refera la o anumita entitate si au aceiasi structura. Notiunea de fisier este generala, se regaseste si in alte domenii, dar este cel mai mult utilizata in informatica.
Functie de continutul lor, fisierele sunt de doua feluri:
Ø Fisiere de date, care contin informatii despre un anumit obiect. De exemplu un fisier cu un text editat pentru o carte, un fisier cu un program scris in limbajul de programare Visual Basic sau un fisier cu datele de personal ale unei societati comerciale sunt fisiere de date. Ele nu pot fi utilizate ca atare intr-un sistem de calcul, ci numai daca sunt folosite de o aplicatie specializata in domeniul respectiv. Astfel un fisier de editare poate fi gestionat cu programul Microsoft Word, un program sursa Visual Basic, cu aplicatia Microsoft Visual Basic iar fisierul de personal cu o aplicatie de calcul a salariilor.
Ø Fisiere program, contin in ele programe(aplicatii, comenzi), sub forma de cod obiect, deci in instructiuni direct executabile de calculator. Aceste fisiere au extensiile EXE sau COM. Pentru ca o aplicatie sa fie executata, este necesara executarea de catre procesorul calculatorului a instructiunilor acesteia. Acest lucru nu se poate face decat daca instructiunile se gasesc in memoria interna a sistemului de calcul. Deci ca un fisier program sa fie lansat in executie, sistemul il va aduce in primul rand din memoria externa in memoria interna a calculatorului, dupa care procesorul va executa pe rand instructiunile din acesta.
Exemplu. Sa vedem ce se intampla in sistemul de calcul cand se executa o aplicatie.
Se incarca in memoria interna fisierul cu programul WinWord.Exe.
Procesorul calculatorului va executa pe rand instructiunile programului WinWord
Instructiunile din WinWord vor actiona(in acest caz operatii de editare) asupra datelor ce se gasesc in fisierul Carte.Doc
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2048
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved