RaportTehnic Serban Iustin 113A
-
Upload
serban-justin -
Category
Documents
-
view
265 -
download
0
Transcript of RaportTehnic Serban Iustin 113A
UNIVERSITATEA POLITEHNICA BUCURESTIFACULTATEA DE INGINERIE ELECTRICA
CALCULATOARELE SI PROGRAMAREA LOR
STUDENT : SERBAN Iustin-Iulian
ANUL I
GRUPA : 113 A
BUCURESTI 2015
CUPRINS
CAPITOLUL 1 : Introducere
1.1 Calculatoare: notiuni introductive1.2 Programarea: notiuni introductive
CAPITOLUL 2: CALCULATOARE
2.1 Istoria calculatoarelor
2.2 Notiuni specifice
CAPITOLUL 3 : PROGRAMAREA
3.1 Istoria programarii si a informaticii
3.2 Limbaje de programare
3.3 Algoritmi
CAPITOLUL 4: APLICATII ALE PROGRAMARII CALCULATOARELOR
4.1 Programe si aplicatii software
4.2 Jocuri Video
CAPITOLUL 1 : INTRODUCERE
Inca din cele mai vechi timpuri calculatoarele au constituit un obiect de baza ce a venit in ajutorul omului pentru a efectua diferite sarcini si a-i usura munca acestuia. Calculatoarele reprezina un stalp de baza al societatii contemporane , ele find indispensabile pentru activitatile zilnice , divertisment si cercetare.
Aflate in legatura de inter-depententa cu programarea , calculatoarele au ajuns in stadiul actual datorita evolutiei massive a programarii si a invotatiilor din cadrul acestui domeniu.Nu putem caracteriza un calculator fara a ne lega mai intai de programarea acestuia , programarea constituind baza oricarei activitati.
1.1 CALCULATOARE
Un calculator, numit și sistem de calcul, computer sau ordinator, este o mașină de
prelucrat date și informații conform unei liste de instrucțiuni numită program. În zilele noastre
calculatoarele se construiesc în mare majoritate din componente electronice și de aceea cuvântul
„calculator” înseamnă de obicei un calculator electronic. Calculatoarele care sunt programabile
liber și pot, cel puțin în principiu, prelucra orice fel de date sau informații se numesc universale
(engleză general purpose, pentru scopuri generale). Calculatoarele actuale nu sunt doar mașini de
prelucrat informații, ci și dispozitive care facilitează comunicația între doi sau mai mulți
utilizatori, de exemplu sub formă de numere, text, imagini, sunet sau video sau chiar toate
deodată (multimedia).
Știința prelucrării informațiilor cu ajutorul calculatoarelor se
numește informatică (engleză Computer Science). Tehnologia necesară pentru folosirea lor
poartă numele Tehnologia Informației, prescurtat TI sau IT (de la termenul
englezesc Information Technology).
În principiu, orice calculator care deține un anumit set minimum de funcții (altfel spus, care
poate emula o mașină Turing) poate îndeplini funcțiile oricărui alt asemenea calculator,
indiferent că este vorba de un PDA sau de un supercalculator. Această versatilitate a condus la
folosirea calculatoarelor cu arhitecturi asemănătoare pentru cele mai diverse activități, de la
calculul salarizării personalului unei companii până la controlul roboților industriali sau medicali
(calculatoare universale).
1.2 PROGRAMAREA
Programarea este dispunerea cronologică a unor mișcări, operații, acțiuni sau activități astfel
încât în finalul perioadei să se realizeze o stare posibilă a unui sistem. Programarea este
cunoscută ca activitate umană dar există semnalmente că pot exista forme de programare
naturale, fără intervenția omului cum sunt dispunerile proceselor genetice sau comportamentele
dirijat instinctual la animale.
Programarea informatică este o activitate informatică de elaborare a produselor-program,
a programelor (software) necesare activităților realizate cu ajutorul calculatorului. Programarea
informatică conține următoarele subactivități: specificarea, proiectarea, implementarea,
documentarea și întreținerea produsului program. Stiința prelucrării informațiilor (datelor) cu
ajutorul computerelor se numește informatică. Termenul informatică desemnează știința
procesării sistematice a informației, în special a procesării cu ajutorul calculatoarelor. Termenul
englezesc corespunzător esteComputer Science (știința calculatoarelor).
Istoric, informatica s-a dezvoltat ca știință din matematică, în timp ce dezvoltarea primelor
calculatoare își are originea în electrotehnică și telecomunicații. De aceea, calculatorulreprezintă
doar dispozitivul pe care sunt implementate conceptele teoretice. Informaticianul olandez Edsger
Dijkstra afirma: "În informatică ai de-a face cu calculatorul, așa cum ai în astronomie cu
telescopul".
CAPITOLUL 2 : CALCULATOARE
2.1 ISTORIA CALCULATOARELOR
Cel mai vechi mecanism cunoscut care se pare că putea funcționa ca o mașină de calculat se
consideră a fi mecanismul din Antikythira, datând din anul 87 î.e.n. și folosit aparent pentru
calcularea mișcărilor planetelor. Tehnologia care a stat la baza acestui mecanism nu este
cunoscută.
O dată cu revigorarea matematicii și a științelor în timpul Renașterii europene au apărut o
succesiune de dispozitive mecanice de calculat, bazate pe principiul ceasornicului, de exemplu
mașina inventată de Blaise Pascal. Tehnica de stocare și citire a datelor pe cartele perforate a
apărut în secolul al XIX-lea. În același secol, Charles Babbage este cel dintâi care proiectează o
mașină de calcul complet programabilă (1837), însă din păcate proiectul său nu va prinde roade,
în parte din cauza limitărilor tehnologice ale vremii.
În prima jumătate a secolului al XX-lea, nevoile de calcul ale comunității științifice erau
satisfăcute de calculatoare analoage, foarte specializate și din ce în ce mai sofisticate.
Perfecționarea electronicii digitale (datorată lui Claude Shannon în anii 1930) a condus la
abandonarea calculatoarelor analogice în favoarea celor digitale (numerice), care modelează
problemele în numere (biți) în loc de semnale electrice sau mecanice. Este greu de precizat care a
fost primul calculator digital; realizări notabile au fost: calculatorul Atanasoff-Berry, mașinile Z
ale germanului Konrad Zuse - de exemplu calculatorul electromecanic Z3, care, deși foarte
nepractic, a fost probabil cel dintâi calculator universal, apoi calculatorul ENIAC cu o arhitectură
relativ inflexibilă care cerea modificări ale cablajelor la fiecare reprogramare, precum și
calculatorul secret britanic Colossus, construit pe bază de lămpi și programabil electronic.
Echipa de proiectare a ENIAC-ului, recunoscând neajunsurile acestuia, a elaborat o altă
arhitectură, mult mai flexibilă, care a ajuns cunoscută sub numele de arhitectura von
Neumann sau „arhitectură cu program memorat“. Aceasta stă la baza aproape tuturor mașinilor
de calcul actuale. Primul sistem construit pe arhitectura von Neumann a fostEDSAC.
În anii 1960 lămpile (tuburile electronice) au fost înlocuite de tranzistori, mult mai eficienți, mai
mici, mai ieftini și mai fiabili, ceea ce a dus la miniaturizarea și ieftinirea calculatoarelor. Din
anii 1970, adoptarea circuitelor integrate a coborât și mai mult prețul și dimensiunea
calculatoarelor, permițând printre altele și apariția calculatoarelor personale de acum.
2.2 NOTIUNI SPECIFICE
ARHITECTURA von Neumann
Deși design-ul și performanțele calculatoarelor s-au îmbunătățit dramatic în comparație cu anii
1940, principiile arhitecturii von Neumann sunt în continuare la baza aproape tuturor mașinilor
de calcul contemporane. Ea este denumită așa după renumitul matematician austro-ungar John
von Neumann.
Această arhitectură descrie un calculator cu patru module importante: unitatea aritmetică-
logică (UAL), unitatea de control (UC), memoria centrală și dispozitivele de intrare/ieșire
(prescurtat I/E). Acestea sunt interconectate cu un mănunchi de fire numit magistrală pe care
circulă datele de calcul și datele de program (instrucțiuni) și sunt conduse în tactul unui ceas (șir
de impulsuri continuu).
Conceptual, memoria unui calculator poate fi văzută ca o mulțime de „celule“ numerotate.
Fiecare celulă primește drept adresă un număr unic propriu; ele pot înmagazina o cantitate mică,
prestabilită de informație. Informația poate fi ori o instrucțiune, ori date propriu-zise.
Instrucțiunile spun calculatorului ce să facă, iar datele sunt acele informații care trebuie
prelucrate conform cu instrucțiunile. În principiu orice celulă poate stoca (memora) atât
instrucțiuni cât și date. Interesant este și cazul când una sau mai multe instrucțiuni, deja stocate
în memorie, sunt privite de către alte instrucțiuni drept date de prelucrat/modificat și sunt deci ele
însele modificate dinamic („în mers“), după necesitate.
Alte arhitecturi întrebuințate la calculatoarele de uz general sunt de exemplu arhitectura
Harvard și arhitectura Dataflow.
CIRCUITE DIGITALE (Hardware)
Principiile de mai sus pot fi implementate cu o varietate de tehnologii - de ex. mașina lui
Babbage era alcătuită din componente mecanice. Însă singura asemenea tehnologie
care s-a dovedit suficient de practică este cea a circuitelor digitale (numerice), circuite
electronice care pot efectua operații din algebra booleană și aritmetica binară. Dar
primele „circuite” digitale foloseau relee electromecanice pentru a reprezenta stările "0"
(blocat) și "1" (conducție), aranjate în porți logice. Releele au fost repede înlocuite
cu lămpi electronice - tuburi electronice cu vid, dispozitive 100% electronice, folosite
până atunci în electronica analogă pentru proprietățile lor de amplificare, dar care au
putut fi utilizate și drept comutatoare (elemente de bază în construcția calculatoarelor)
de stare, 1→0 sau 0→1.
Aranjând corect porți logice binare , se pot construi circuite care execută și funcții mai
complexe, de exemplu sumatoare. Sumatorul electronic adună două numere folosind
același procedeu (în termeni informatici, algoritm) învățat de copii la școală: se adună
fiecare cifră corespondentă, iar „transportul” este transmis către cifrele din stânga. În
consecință, reunind mai multe asemenea circuite, se pot obține o UAL și o unitate de
control complete. CSIRAC, unul din primele calculatoare bazate pe arhitectura von
Neumann și probabil cel mai mic asemenea calculator posibil, avea circa 2000 de lămpi
(tuburi) - deci chiar și pentru sisteme minimale e nevoie de un număr considerabil de
componente.
Lămpile electronice erau caracterizate de câteva limitări severe în folosirea lor pentru
construcția porților logice: erau scumpe, puțin fiabile, ocupau mult spațiu și consumau
cantități mari de curent. Deși erau incredibil de rapide față de releele electromecanice,
aveau și ele totuși o viteză de operare relativ limitată. Astfel că începând din anii 1960
lămpile (tuburile electronice) au fost înlocuite cu tranzistori, dispozitive ce funcționau
asemănător, însă erau mult mai mici, mai rapide, mai fiabile, mai puțin consumatoare
de curent și mult mai ieftine.
Din anii 1960-'70, tranzistorul a fost și el înlocuit cu circuitul integrat, care conținea mai
mulți tranzistori, și firele de interconectare corespunzătoare, pe o singură plăcuță de
siliciu (numită cip). Din anii '70, UAL-urile combinate cu unități de control (UC) au fost
produse unitar ca circuite integrate, numite microprocesoare, sau CPU (Central
Processing Unit/unitate de procesare centrală). În timp, densitatea tranzistorilor din
circuitele integrate a crescut incredibil, de la câteva zeci, în anii 70, până la peste 100
de milioane de tranzistoare pe circuit integrat, la procesoarele Intel și AMD din
anul 2005.
MEMORARE DE DATE
Lămpile electronice și tranzistorii pot fi folosite și pentru construirea de memorii - așa-numitele
circuite flip-flop sau „basculante bistabile” (CBB), și chiar sunt folosite pentru mici circuite de
memorie de mare viteză, numite „cu acces direct”. Însă puține designuri de calculatoare au
folosit bistabile pentru grosul nevoilor de memorie, memorii de amploare. Primele calculatoare
foloseau tuburi Williams - în esență proiectând puncte pe un ecran TV și citindu-le din nou mai
târziu, sau linii de mercur, în care datele erau depozitate sub formă de unde sonore care
parcurgeau tuburi cu mercur la viteză mică (comparativ cu viteza de operare a mașinii). Aceste
metode destul de neproductive au fost înlocuite cu dispozitive de stocare (memorare) în mediu
purtător magnetic, de exemplu memoria cu miezuri magnetice de formă inelară, în care un curent
electric era folosit pentru a induceun câmp magnetic remanent (dar slab) într-un material feros,
care putea fi citit ulterior, după necesitate pentru a folosi datele. În cele din urmă a apărut
memoria dynamic random access memory , DRAM. DRAM-ul este format din bănci (mulțimi
grupate) de condensatori, componente electrice care pot reține o sarcină electrică pentru o
anumită durată de timp. Scrierea informației într-o astfel de memorie se face prin încărcarea
condensatorilor cu o anumită sarcină electrică, iar citirea prin determinarea („măsurarea”)
sarcinii acestora (dacă este încărcat sau descărcat).
PERIFERICE INTRARE/IESIRE
I/E” („intrare-ieșire”), sau în engleză I/O (de la input/output), este termenul general pentru acele
dispozitive prin care un calculator primește informații din lumea exterioară, inclusiv instrucțiuni
despre ce să facă, sau trimite înapoi (în afară) rezultatele calculelor sau operațiilor logice pe care
le-a efectuat. Rezultatele pot fi destinate ca informații oamenilor, sau pot fi folosite în mod direct
(nemijlocit) drept decizii în dirijarea altor mașini; de exemplu în cazul unui robot industrial, cel
mai important dispozitiv de ieșire (dispozitiv E) al calculatorului (de robot) înglobat în el
creează comenzile detailate necesare pentru toate operațiile (mișcările) mecanice
ale robotului propriu-zis.
Prima generație de calculatoare era echipată cu o gamă de dispozitive I/E destul de limitată și cu
viteză de execuție redusă; de exemplu, pentru introducerea datelor de calcul și a instrucțiunilor
de program se folosea în principal un cititor de cartele perforate sau un dispozitiv asemănător, iar
pentru afișarea rezultatelor se folosea o imprimantă, de obicei un teleimprimator modificat de tip
„telex”. De-a lungul timpului însă au apărut o imensă diversitate de dispozitive I/E. Pentru
calculatorul personal de azi, cele mai comune modalități de introducere directă a datelor
sunt tastaturile și mausurile, iar principalul mijloc prin care calculatorul prezintă informații către
utilizator sunt monitoarele, deșiimprimantele sau dispozitivele de generat sunet sunt folosite și
ele în mod obișnuit. Alte dispozitive sunt specializate pentru numai anumite tipuri de intrări sau
ieșiri, de exempluaparatul foto digital și scanerul.
Două categorii principale de dispozitive sunt:
dispozitivele secundare de stocare: dischetele, unitățile CD, DVD, discurile dure și altele;
capacitățile de stocare a datelor pot diferi foarte mult între ele.
precum și dispozitivele pentru conectarea la rețele de calculatoare. Posibilitatea de a
interconecta calculatoarele pentru a transfera date și informații între ele a deschis calea unei
mulțimi de noi aplicații. Internetul, și aici în special World Wide Web, permit miliardelor de
calculatoare de pe glob să se lege unele cu altele pentru a transfera între ele informații de
toate tipurile.
VARIANTE CONSTRUCTIVE DE CALCULATOARE
Probabil cel mai familiar este calculatorul personal (de tip PC sau și altele) cu subvariantele
sale constructive:
„staționare” (în engleză:) desktop, tower, all-in one ș.a.
„portabile”: laptop, notebook, netbook ș.a.
Calculatoarele tabletă (de tip PC și altele).
Următoarele dispozitive de dată mai recentă sunt în sine tot calculatoare programabile (fie
numai în fabrică, fie și de către utilizator): toate telefoanele portabile celulare de
tipsmartphone, toate calculatoarele de tip tabletă, unele playere multimedia ca de ex. cele de
tip iPod de la compania Apple; unii producători oferă și tipuri combinate, de ex.
unnotebook cu tastatura detașabilă poate fi utilizat și drept calculator tabletă.
Calculatoare simple, de exemplu cele de buzunar.
Calculatoare rapide, folosite la așa-numitele „ferme” de servere; de obicei acestea nu sunt
deservite de utilizatori umani și deci nu este necesar să fie ergonomice. Pentru ele se
folosește deseori forma de paralelipiped, care permite o stivuire compactă.
Calculatoare profesioniste de mare viteză și mari dimensiuni, cum sunt cele de
tip mainframe.
Aparate și dispozitive speciale: console de jocuri electronice; case electronice de încasat;
afișoare de cărți și medii electronice de tip E-book; scanerele, imprimantele, chiar și
televizoarele și aparatele de redare DVD și Blu-ray actuale conțin elemente digitale de
control care sunt, într-un fel, componente de calcul; roboți de toate genurile; elementele de
comandă pentru mașini-unelte de tip CNC și multe altele.
Cea mai răspândită formă este însă cea a calculatorului integrat (embedded), adică înglobat
complet în dispozitivul pe care îl comandă. Acesta este în general preprogramat din fabrică,
iar utilizatorul nu primește posibilitatea să-i schimbe programul. Multe mașini și aparate, de
la avioanele de luptă până la aparatele foto digitale și la aparatele de navigație bazate pe
sistemul GPS, sunt controlate de calculatoare integrate. Un alt exemplu de calculator integrat
este calculatorul de bord al automobilelor.
CAPITOLUL 3: PROGRAMAREA
3.1 Istoria programarii si a informaticii
Termenul informatică provine din alăturarea cuvintelor informație și matematică. Alte surse
susțin că provine din combinația informație și automatică. Istoria informaticii începe înainte de
momentul apariției computerului digital. Înainte de anul 1920, termenul de "computer" se referea
în limba engleză la un o persoană care efectua calcule (un funcționar). Primii cercetători în ceea
ce avea să se numească informatică, cum sunt Kurt Gödel, Alonzo Church și Alan Turing, au
fost interesați de problema computațională: ce informații ar putea un funcționar uman să
calculeze având hârtie și creion, prin urmărirea pur și simplu a unei liste de instrucțiuni, atât timp
cât este necesar, fără să fie nevoie ca el să fie inteligent sau să presupună capacități intuitive. Una
din motivațiile acestui proiect a fost dorința de a proiecta și realiza "mașini computaționale" care
să automatizeze munca, deseori plictisitoare și nu lipsită de erori, a
unui calculator sau computer uman.
În perioada anilor 1970, când mașinile computaționale au cunoscut o evoluție accelerată,
termenul de "computer" și-a modificat semnificația, referindu-se de acum mai degrabă la mașini,
decât la predecesorii săi umani.
INSTRUMENTE DE CALCUL ANTICE
Cel mai vechi instrument cunoscut pentru utilizarea în calcul este abacul. Se crede că a fost
inventat în Babilon circa 2400 î.Hr.. Prima oară era folosit prin trasarea unor linii în nisip cu
pietricele. Acesta a fost probabil primul computer și cel mai avansat sistem de calcul cunoscut
din aceea perioadă- precedând metoda elenă cu 2000 ani. Abacul este o tăbliță dreptunghiulară,
folosită de oameni în antichitate pentru efectuarea calculelor. Abace cu un design modern sunt
încă folosite astăzi ca instrumente de calcul.
Mecanismul de la Antikythera.(fig 1)
Mecanismul de la Antikythera(vezi fig. 1) este considerat a fi cel mai vechi computer analogic
mecanic cunoscut. A fost proiectat pentru a calcula pozițiile astronomice ale astrelor. A fost
descoperit în 1901 într-o epavă în largul insulei greceștiAntikythera, între Kythera și Creta. A
fost datat în perioada circa 100 î.Hr.. Artefacte tehnologice de complexitate similară nu au mai
apărut până în secolul al XIV-lea, atunci când ceasurile mecanice astronomice au apărut
în Europa.
În secolul al III-lea era noastră a apărut în China antică Carul îndreptat spre sud. Acest Car era
un mic vehicul cu două roți, care a funcționat ca o busolă. Avea un indicator care întotdeauna
arăta sudul, indiferent de poziția în care era pus Carul. De obicei, indicatorul era o păpușă sau o
figură cu un braț întins. Se presupune că era folosit pentru navigație, dar poate avea, de
asemenea, și alte scopuri. Este primul mecanism cunoscut cu roți dințate care a fost folosit mai
târziu în calculatoarele analogice. Chinezii au inventat și un abac mai sofisticat în jurul secolului
al II-lea î.Hr., cunoscut sub numele de abac chinezesc.
Dispozitivele mecanice analogice de calcul au apărut din nou o mie de ani mai târziu, în lumea
islamică medievală. Exemple de dispozitive din aceasta perioada
includ: equatoriumul lui Arzachel (equatoriumul este un instrument astronomic de calcul a
pozițiilor aștrilor) sau astrolabul lui Al-Biruni (astrolabul este un instrument astronomic istoric
folosit de astronomi, navigatori, și astrologi).
Inginerii musulmani au construit o serie de automate, inclusiv unele automate muzicale, care
puteau fi ’’programate’’ pentru a reda diferite modele muzicale. Aceste dispozitive au fost
dezvoltate de către frații Banu Musa și de matematicienii musulmani Al-Jazari, care au făcut
progrese importante în criptografie, cum ar fi dezvoltarea criptanalizei a analizei frecvențelor de
către Alkindus. (Criptografia reprezintă o ramură a matematicii care se ocupă cu securizarea
informației precum și cu autentificarea și restricționarea accesului într-un sistem informatic.
Criptanaliza este studiul metodelor de obținere a înțelesului informațiilor criptate, fără a avea
acces la informația secretă necesară în mod normal pentru aceasta. De regulă, aceasta implică
găsirea unei chei secrete. Într-un limbaj non-tehnic, aceasta este practica spargerii codurilor.)
După ce John Napier a descoperit în secolul al XVII-lea logaritmii care sunt folosiți în scopuri
computaționale, a urmat o perioadă de progres considerabil în care inventatori și oameni de
știință au fabricat unelte de calcul.
În 1623, Wilhelm Schickard a proiectat o mașină de calcul, dar a abandonat proiectul, deoarece
clădirea în care se afla prototipul a fost distrusă de un incendiu în 1624.
În jurul anului 1640, Blaise Pascal, un cunoscut matematician francez, a construit primul
dispozitiv mecanic bazate pe un design descris de matematicianul grec Heron din Alexandria.
Apoi, în 1672, Gottfried Wilhelm Leibniz a inventat Socotitorul în trepte care a fost finalizat
în 1694. Nici unul dintre aceste dispozitive timpurii de calcul nu au fost calculatoare în sensul
modern al cuvântului, și a fost nevoie de un progres considerabil în matematică înainte ca
primele calculatoare moderne să poată fi concepute.
În secolul al VII-lea, matematicianul indian Brahmagupta a dat prima explicație a sistemului de
numerație hinduso-arab și utilizarea lui zero atât ca substituent cât și ca cifră zecimală. (Un
substituent este un element care poate înlocui un alt element, cu care are proprietăți
asemănătoare.)
Aproximativ în jurul anului 825, matematicianul persan Al-Khwarizmi a scris o carte, despre
calculul cu cifre hinduse, care a dus la răspândirea sistemului indian de numerație în Orientul
Mijlociu și apoi în Europa. În jurul secolului al XII-lea a existat o traducere a acestei cărți scrisă
înlimba latină numită Algoritmi de numero Indorum. Aceste cărți prezentau concepte noi pentru
efectuarea unei serii de pași în scopul realizării unei sarcini. De aici a derivat termenul algoritm.
(Un algoritm înseamnă în matematică și informatică o metodă sau o procedură de calcul,
alcătuită din pașii elementari necesari pentru rezolvarea unei probleme sau categorii de
probleme. De obicei algoritmii se implementează în mod concret prin programarea adecvată a
unui calculator, sau a mai multora).
3.2 LIMBAJE DE PROGRAMARE
Un limbaj de programare este un set bine definit de expresii și reguli (sau tehnici) valide de
formulare a instrucțiunilor pentru un computer. Un limbaj de programare are definite un set de
reguli sintactice și semantice. El dă posibilitatea programatorului să specifice în mod exact și
amănunțit acțiunile pe care trebuie să le execute calculatorul, în ce ordine și cu ce date.
Specificarea constă practic în întocmirea/scrierea programelor necesare ("programare").
CATEGORII:
După paradigma programării
limbaje ezoterice, ex. Brainfuck
limbaje procedurale; ex. C, Java, Perl
limbaje funcționale: ex. ML, Haskell
limbaje pentru programarea logică ex. Prolog, DATALOG
limbaje mixte: ex.LISP oferă un amestec heteroclit și netipizat de programare imperativă
și programare funcțională
După nivelul de abstractizare (care printre altele corespunde cu ușurința cu care programele
pot fi citite și înțelese de către programatori):
limbaje de generația întâia: limbajele cod-mașină (limbaje mașină)
limbaje de generația a doua: limbajele de asamblare
limbaje de generația a treia: limbaje de nivel înalt, cum ar fi C-ul (și toate derivatele
sale: C++, Java, ...), Pascal, Fortran ș.a.
limbaje de generația a patra: limbajele neprocedurale, orientate pe rezolvarea unei
anumite clase de probleme: SQL ș.a.
limbaje de generația a cincea: limbaje utilizate în domenii precum logica
fuzzy, inteligența artificială sau și rețelele neuronale: Prolog, LISP ș.a.
După vechime
Limbaje din secolul trecut; ex. LISP și FORTRAN din anii '50
Limbaje din ultimul deceniu; ex. Haskell, Ruby, Brainfuck
LIMBAJE GENERALE
Limbaje care pot fi folosite (cel puțin teoretic) la rezolvarea oricărui tip de probleme:
TEO (Basic)
Alen (variantă modificată a limbajului TEO)
BASIC (QuickBasic, GW-BASIC, Visual Basic)
C
C++
C#
Clips
Cobol
D
Fortran
Haskell
Java
JavaScript
LISP
Pascal (și ObjectPascal, folosit de Borland Delphi)
Perl
PHP
Prolog
Python
Ruby
Seed7
Scriptol
Tcl/TK
XHTML
MATLAB
SmallTalk
Borland Delphi
Algol
Simula
3.3 ALGORITMI Un algoritm este o succesiune de pasi elementari ce ajuta la dezvoltarea unei probleme (de ordin matematic / informatic). De obicei, problemele de algoritmica se rezuma la a avea niste date ce le stim (date de intrare), ce sunt tratate special prin diversi algoritmi ajungand sa ofere niste date noi (date de iesire). Aproape orice problema de algoritmica functioneaza pe acest principiu. Ca si baza, algoritmica este acea parte din domeniul programarii care urmareste imbunatatirea performantelor unor algoritmi si reducerea resurselor pentru performante mai bune. Algoritmul este noțiunea fundamentală a informaticii. Totul este construit în jurul algoritmilor.
Cele mai importante proprietăți ale unui algoritm, îndeplinite de diverșii algoritmi într-o măsură mai mare sau mai mică, sunt următoarele:
Corectitudinea - este proprietatea algoritmului de a furniza o soluție corectă a problemei
date. În acest sens este de dorit ca algoritmii să se bazeze pe fapte și relații matematice
demonstrabile.
Caracterul univoc sau determinist - plecând de la un set de date inițial anume, rezultatul
este unic, sau altfel spus, repetarea execuției algoritmului duce întotdeauna la aceleași
rezultate.
Generalitatea - este proprietatea unui algoritm de a rezolva o clasă sau categorie de
probleme, și nu doar o singură problemă particulară. Spre exemplu, un algoritm care
rezolvă doar ecuația este mai puțin general decât unul care rezolvă ecuația , oricare ar fi
valorile lui .
Claritatea - proprietatea algoritmului de a descrie cu exactitate și fără ambiguități pașii
care trebuiesc parcurși în rezolvarea problemei.
Verificabilitatea - acea proprietate a algoritmelor care permite ca fiecare pas să poată fi
verificat într-un timp rezonabil de către om, folosind mijloace de validare de încredere.
Optimalitatea - proprietatea unui algoritm de a se termina după un număr minim de pași.
Spre exemplu, dacă se cere să se calculeze suma primelor 'n' numere naturale, se poate
aplica formula de calcul, și astfel algoritmul se termină într-un singur pas, pe când dacă
am aduna toate numerele de la 1 la n, el s-ar termina abia în n pași, și deci nu ar fi optim.
În teoria complexității se folosește notația O(n).
Finitudinea - este proprietatea algoritmului de a se termina într-un număr finit de pași.
Există și algoritmi care nu se termină într-un număr mărginit de pași, dar aceștia se
numesc "metode algoritmice".
Eficiența - este proprietatea unui algoritm de a se termina nu numai într-un număr finit, ci
și "rezonabil" de pași, chiar dacă acesta nu este cel mai mic posibil (nu este optim).
Algorimul este ineficient și dacă rezultatul se obține într-un timp mai lung decât cel dorit
sau permis.
Existența unei intrări (datele de prelucrat). Întrucât operatorii se aplică unui operand (sau
și mai multor operanzi deodată), este de neconceput un algoritm fără niciun operand.
Intrările permise formează împreună un set (mulțime) specific de obiecte sau valori, care
se numește "domeniul" algoritmului.
Existența unei ieșiri (rezultatele). Este de neconceput un algoritm care nu are nicio ieșire,
deoarece în acest caz intră în discuție însăși utilitatea sa.
Algoritmica sta la baza programarii , o intelegere buna a algoritmilor conduce spre un process de
programare corect si eficient.
CAPITOLUL 4 : APLICATII ALE PROGRAMARII CALCULATOARELOR.
4.1 Programe si aplicatii software
Programarea a adus multe beneficii in viata omului , aceasta ajutand la dezvoltarea a mai multor programe si aplicatii software utilizabile in diferite domenii de personae specializate sau chiar de persoanele fizice prin intermediul calculatorului personal.
Printre aceste aplicatii putem mentiona cateva produse de marii dezvoltatori : Microsoft , Apple , Adobe , Google , etc.
Microsoft Windows.
Microsoft Windows este numele unei serii de sisteme de operare create de compania Microsoft.
Microsoft a introdus Windows pe piață pentru prima dată în noiembrie 1985, ca un supliment
la MS-DOS, deoarece interfețele grafice erau din ce in ce mai apreciate. Microsoft Windows a
ajuns cu timpul să predomine pe piața de calculatoare mici, întrecând Mac OS, care fusese
introdus pe piață mai înainte de către compania Apple Computers, astăzi numită Apple Inc.. La
conferința IDC Directions din 2004, vicepreședintele IDC a constatat că Windows deține
aproximativ 90 % din piața de sisteme de operare.
Versiunea cea mai nouă de Windows pentru stații de lucru existentă pe piață este Windows 10,
pusă în vânzare în Iulie 2015(versiunea completă).
Versiunea curentă de Windows Server este "Windows Server 2012", urmașul lui "Windows
Server 2008".
A nu se confunda cu Window (scris fără „s” la sfârșit), care este un sistem grafic de ferestre
pentru sistemele de operare Unix.
Versiuni windows populare: Windows XP , Windows 7 , Windows 10 (versiunile considerate
cele mai bune ) (vezi fig.2 )
FIG. 2 : Evolutia Windows
Microsoft Office
Microsoft Office(Fig.3) sau MS Office este o suită de programe de birou create de
firma Microsoft Corporation, care sunt însoțite și de o aplicație specială suprapusă lor pentru
accesarea unitară simplă.
APLICATIILE MS OFFICE
Microsoft Word (procesor de text)
Microsoft Excel (analiză de business și calcul tabelar)
Microsoft PowerPoint (program pentru prezentări grafice)
Microsoft Access (program pentru baze de date)
Microsoft Outlook (agendă și client de poștă electronică)
Microsoft Frontpage (editor vizual de pagini web)
Microsoft Photo Editor (editor fotografic)
Bineînțeles există și oferte (pachete) de la Microsoft care cuprind numai o parte din aceste
programe.
Fig. 3 (MS Office Logo)
Fig. 4 (Apple Logo)
APPLE
MAC OS X
Mac OS X este un sistem de operare dezvoltat, comercializat și vândut de firma Apple pentru
computerele sale de tipMacintosh. Începând din 2009, fiecare sistem Macintosh include
preinstalată cea mai recentă versiune a acestui sistem de operare. Mac OS X este succesorul
sistemului de operare Mac OS original sau „clasic” , care a fost sistemul de operare principal al
companiei Apple Computers (astăzi: Apple) încă din 1984. Spre deosebire de predecesorii săi,
Mac OS X este un sistem de operare bazat pe platforma Unix, construit pe tehnologiile
dezvoltate la compania NeXT între 1985 și începutul anului 1996, când NeXT a fost achiziționat
de către Apple. Versiunea 10.5 atunci când rulează pe procesoare Intel deține certificatul "UNIX
03".
Prima versiune lansată a fost Mac OS X Server 1.0 în 1999, iar în martie 2001 a urmat versiunea
„desktop” Mac OS X v10.0 (aici termenul "desktop" se referă la calculatoare relativ mici care au
loc pe masa de lucru obișnuită). Până azi au mai fost lansate încă multe versiuni de tip "end-user"
și "server", cea mai recentă fiind Mac OS X v10.8 din 25 iulie 2012. Versiunile de Mac OS X
sunt supranumite după feline; de exemplu, Mac OS X v10.5 este de obicei numită „Leopard”
(10.4 a fost numit „Tigru”, 10.3 era „Pantera” etc). Sistem de operare OS X 10.9 marchează
începutul unei schimbări în schema de numire a OS X. Versiunea OS X 10.9 a sistemului de
operare este numit Mavericks după o locație surfing în California de Nord.
Versiunea server, Mac OS X Server, este din punct de vedere arhitectural foarte asemănătoare cu
varianta sa desktop. Prin comparație ea mai include câteva unelte administrative (software)
pentru managementul grupurilor sau pentru accesul simplificat la serviciile de rețea de bază.
Aceste unelte includ un agent de e-mail, un server Samba, un server LDAP, un server de nume și
altele. Este preinstalat pe echipamentele hardware de tip server Xserve de la Apple, dar poate fi
rulat pe majoritatea modelelor de computere Apple.
Apple mai produce și versiuni de Mac OS X specializate pentru utilizarea pe următoarele articole
de consum: Apple TV, Apple iPhone și Apple iPod Touch.
Google Chrome
Google Chrome este un navigator web de tip open source dezvoltat de compania Google. Este
cel mai utilizat browser la momentul actual, având o cotă de piață de 52.1 % din totalul
utilizatorilor de internet. Numele navigatorului este derivat de la interfața grafică. Chromium este
numele proiectului de sursă liberă, iar Chrome numele produsului care a apărut sub licența BSD.
Prima versiune pentru sistemele de operare Microsoft Windows a apărut pe 2 septembrie 2008 în
43 de limbi. Versiunile pentru sistemele de operare Mac OS X și Linux sunt în stadiu alpha.
Apariția navigatorului Google Chrome (Fig. 5) a fost planificată pe data de 3 septembrie 2008.
Câteva reviste al căror autor este Scott McCloud urmau să fie expediate către jurnaliști și
bloggeri, explicând caracteristicile și motivațiile creării noului navigator web. Exemplarele
destinate pentru Europa au fost expediate mai devreme, iar blogerul german Philipp Lensen a
făcut o copie scanată a revistei respective și a publicat-o pe site-ul său personal după ce a primit-
o pe 1 septembrie 2008. Ulterior Google a plasat această revistă pe Google Books, menționând
pe blogul oficial explicațiile referitoare la ieșirea timpurie a produsului.
Prima versiune a lui Google Chrome a trecut testele Acid1, Acid2 dar nu a trecut testul Acid3; cu
toate acestea el a acumulat scorul de 78 de puncte din 100, care este mai mare decât Microsoft
Internet Explorer 7 și Mozilla Firefox 3.
Versiunea a doua a trecut toate testele, dar la Acid3, deși a avut punctaj 100/100, n-a trecut testul
Linktest. Versiunea a treia a reușit să treacă testul Acid3 cu 100/100 și cu testul Linktest.
Fig. 5 (Icoana browserului Google Chrome)
4.2 JOCURILE VIDEO
Un joc video este un joc electronic în care se interacționează cu o interfață grafică pentru a genera răspuns vizual pe un ecran. Jocurile video în general au un sistem de recompensare a utilizatorului, de obicei se ține scorul, acest sistem depinzând de îndeplinirea unor anumite obiective în joc. În anul 2008, piața mondială de jocuri video a înregistrat o valoare de 41,9 miliarde de dolari iar în 2011 a ajuns la 56 miliarde dolari. Pentru anul 2015, piața este estimată să crească la 82 miliarde dolari.
Platforme
Termenul joc pe calculator sau "joc pe PC" se referă la un joc care este jucat pe un PC, unde monitorul este principalul mijloc de feedback și care folosește dispozitiv de control un periferic de intrare, de obicei butonarea unui joystick (jocuri din arcade-uri), o combinație tastatură & maus/trackball sau un controller, ori o combinație dintre cele de mai sus. Jocuri pe calculator sunt denumite și jocurile în mod text sau jocuri care folosesc și alte metode care includ sunetul sau vibrația ca principalul mijloc de feedback, dar in momentul actual apar prea puține jocuri noi care intră în aceste categorii.
Inceputuri
Primele jocuri video au fost realizate între anii 1950 și 1960 de Jon Snell și rulau pe platforme cum ar fi osciloscopul, sau computereEDSAC. Cel mai vechi joc pe calculator, o simulare de rachete, a fost creat în 1947 de către Thomas T. Goldsmith Jr. și de Estle Ray Mann]. O cerere pentru acordarea de drepturi de autor a fost făcută pe 25 ianuarie 1947 și patentată ca U.S. Patent #2,455,992 din data de 14 decembrie 1948. Mai târziu în 1952, o versiune a jocului X și 0 numită Noughts and Crosses a fost creată de A. S. Douglas ca parte a disertației de doctorat la Universitatea din Cambridge. Jocul rula pe un computer al universității numit Electronic Delay Storage Automatic Calculator (EDSAC). În 1958 William Higinbotham - care a ajutat să se construiască prima bombă atomică - a creat Tennis For Two în laboratoarele naționale din Brookhaven, situate în Upton, New York, pentru a distra vizitatorii laboratorului. În 1962 Steve Russel a creat jocul Spacewar!, un joc de simulare spațială. Programul rula pe un DEC PDP-1 și este considerat de mulți specialiști atât primuljoc pentru calculator cât și printre cele mai importante realizate vreodată.[5] Jocul s-a răspândit rapid la universități și laboratoare de cercetare din țară. În 1968 Ralph Baer, care va fi cunoscut mai târziu și ca Părintele Jocurilor Video, a patentat o versiune a unei console de jocuri numită Television Gaming and Training Apparatus. În 1967, Baer a creat un joc gen ping-pong pentru consolă care semăna cuTennis for
Two (și cu viitorul joc arcade Pong[Fig. 7]). A lucrat cu Magnavox și a creat în 1972 prima consolă, numită Magnavox Odyssey
Genuri
Jocurile au fost întotdeauna mai ușor de clasificat după genul lor, din cauza constrângerilor
tehnice a diferitelor platforme, cum ar fi cele legate de spațiul alocat jocurilor. Odată cu trecerea
anilor și creșterea banilor destinați producției jocurilor video, valoarea comercială a crescut iar
cererea de talent creativ a obligat companiile să aducă artiști din afara industrei de specialitate.
Refolosirea unor anumite genuri este cel mai bine observată în încercarea de a stabili "francize",
care de obicei folosesc aceleași caractere, situații, conflicte și teme de-a lungul continuărilor.
Drept urmare, deși multe jocuri sunt o combinație de mai multe genuri, există foarte puține cele
care nu se încadrează în tiparele obișnuite, care atunci când au succes de obicei definesc un nou
gen. Un joc care lansează un nou gen poate să nu fie primul de acel tip ci poate fi primul care are
îndeajuns de mult succes comercial pentru ca alte companii să încerce să reproducă acel succes.
Exemple ca Super Mario 64 care a lansat genul jocurilor video de platformă pentru console
sau Doom care a lansat genul First-person shooterpentru PC.
Există și combinații de genuri cum ar fi jocurile de genul Massively multiplayer online role-
playing game (Fig. 6)
Fig. 6 ( World of Warcraft – MMORPG) Fig. 7 ( Jocul Pong)
BIBLIOGRAFIE
www.wikipedia.org : Informatii explicative ale termenilor (cap. 1 , cap. 2 , cap. 3) , Istorie si scurte descrieri,definitii.
Google Images ( figurile explicative) ,,Algoritmi fundamentali , o perspectiva c++’’ Editura Libris –
Cluj Napoca 1995 – Razvan Andonie , Ilie GarbaceaInformatii privitoare la algoritmica si utilizare
www.scribd.com Informatii despre diferitele aplicatii software si despre informatica