15.10.2013
1
Leopold Baumhorn
Palatul Lloyd
Introducere în programarea Introducere în programarea calculatoarelorcalculatoarelor
C4C4
1515.10.20.10.201313
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
1.5. ReŃele de 1.5. ReŃele de calculatoare. Internetcalculatoare. Internet
11..55..11.. ReţeleReţele dede calculatoarecalculatoare
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
ReŃelele de ReŃelele de calculatoarecalculatoare
�� reprezintăreprezintă unun sistemsistem complexcomplex hardwarehardwareşişi softwaresoftware formatformat dindin maimai multemultecalculatoarecalculatoare interconectateinterconectate prinprinintermediulintermediul uneiunei reţelereţele dede comunicaţiecomunicaţie..UtilizareaUtilizarea lorlor implicăimplică comunicarecomunicaredistribuitădistribuită carecare areare următoareleurmătoareleavantajeavantaje::
�� flexibilitateflexibilitate (structurile(structurile sese potpotmodificamodifica maimai uşor)uşor)
�� accesacces alal maimai multormultor utilizatoriutilizatori lalaresurseresurse hardwarehardware şişi softwaresoftwarecomunecomune
�� fiabilitatefiabilitate..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
ReŃelele de calculatoareReŃelele de calculatoare
�� ModelulModelul clasicclasic dede prezentareprezentare alal uneiuneireţelereţele dede calculatoarecalculatoare esteeste celcel dede grafgrafformatformat dindin nodurinoduri (calculatoarele)(calculatoarele) şişi arcearce(liniile(liniile dede comunicaţie)comunicaţie)..
�� ComunicaţiaComunicaţia sese faceface prinprin cablucablu electric,electric,fibrefibre optice,optice, undeunde electromagneticeelectromagnetice(infraroşu,(infraroşu, laser,laser, radio),radio), satelitsatelit..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
ConfiguraŃii pentru reŃelele ConfiguraŃii pentru reŃelele de calculatoarede calculatoare
�� steastea -- comunicareacomunicarea întreîntre nodurinoduri sese facefaceprinprin intermediulintermediul noduluinodului centralcentral;;
�� inelinel -- fiecarefiecare nodnod comunicăcomunică cucu nodurilenodurileconexeconexe;;
�� arborearbore;;�� grafgraf completcomplet -- fiecarefiecare nodnod esteeste conectatconectat
cucu toatetoate celelaltecelelalte nodurinoduri..
15.10.2013
2
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
În funcŃie de întinderea În funcŃie de întinderea geografică reŃelele pot fi:geografică reŃelele pot fi:
�� reţelereţele localelocale ((LANLAN -- LocalLocal AreaArea Network)Network)pentrupentru carecare distanţadistanţa întreîntre nodurinoduri esteeste întreîntrecâţivacâţiva metrimetri şişi 11 km,km, dede obiceiobicei reţelereţele plasateplasate înînclădiriclădiri sausau grupurigrupuri dede clădiriclădiri;;
�� reţelereţele întinseîntinse ((WANWAN -- WideWide AreaArea Network)Network)pentrupentru distanţedistanţe dede lala câţivacâţiva kilometrikilometri lala câtevacâtevasutesute dede kilometri,kilometri, întreîntre oraşeoraşe sausau ţăriţări;;
�� interconectăriinterconectări dede reţelereţele întinseîntinse --intercontinentaleintercontinentale..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
EthernetEthernet
= = Tehnologie de conectare LAN (sute de mTehnologie de conectare LAN (sute de m……zeci zeci de km)de km)
= Protocolul de comunicaţie= Protocolul de comunicaţie
= Standard de comunicare = Standard de comunicare --> IEEE 802.3> IEEE 802.3xx
�� calea de comunicare calea de comunicare –– cablu coaxial de cupru cablu coaxial de cupru --> > pereche de cabluri răsucite, cu fibră opticăpereche de cabluri răsucite, cu fibră optică
�� rata de transfer: 10 Mbs; 100Mbrata de transfer: 10 Mbs; 100Mbpps (Fast s (Fast Ethernet); 1GbEthernet); 1Gbpps (Gigabit Ethernet);10Gbs …s (Gigabit Ethernet);10Gbs …
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
HubHub
�� DispozitivDispozitiv de conectare de conectare pentru echipamentele (calculatoare,pentru echipamentele (calculatoare,imprimante, etc.) dintrimprimante, etc.) dintr--o reo reţţele LANele LAN
�� “smart hub”“smart hub”
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Wireless Wireless routerrouter
SwitchSwitch
HubHub
BridgeBridge
RouterRouter RepeaterRepeater
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Modul de conectareModul de conectare
�� Modul de conectare a calculatoarelor întrModul de conectare a calculatoarelor într--o o reţea locală depinde de reţea locală depinde de funcţiile funcţiile pe care le au pe care le au acestea în cadrul reţelei. acestea în cadrul reţelei.
�� Dacă orice utilizator conectat în reţea are Dacă orice utilizator conectat în reţea are acces la resursele oricărui calculator, reţeaua acces la resursele oricărui calculator, reţeaua este de tip este de tip peer to peerpeer to peer..
�� Dacă unul sau mai multe calculatoare din reţea Dacă unul sau mai multe calculatoare din reţea au funcţii speciale (de control şi gestiune a au funcţii speciale (de control şi gestiune a întregii reţele) reţeaua este realizată pe baza întregii reţele) reţeaua este realizată pe baza strategiei strategiei clientclient--serverserver..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
P2PP2P
Responsabilităţi ca şi client, în reţea:- Trimite comenzi la alte calculatoare pentru a cere un serviciu- Primeşte răspuns la cererile sale de servicii
Responsabilităţi ca şi server, în reţea:- Primeşte comenzi cereri de servicii de la alte calculatoare- Procesează cererile de servicii, executând serviciul cerut - Trimite răspuns cu rezultatul executării serviciului- Propagă cereri de servicii către alte calculatoare
15.10.2013
3
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Client/serverClient/server
Responsabilităţi client:- trimite comenzi pentru a
cere un serviciu- primeşte răspunsuri la cereri
de servicii
Responsabilităţi server:- primeşte cereri de servicii- procesează cererile şi execută
serviciile cerute- trimite rezultatul executării
serviciuluiIntroducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013
LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Client/serverClient/server
�� filefile serverserver,, networknetworkserverserver..
�� staţiistaţii dede lucrulucru,, workworkstationsstations..
�� UnUn serverserver areare instalatinstalat ununsistemsistem dede operareoperare dedereţeareţea ((WindowsWindows 200200xxServer,Server, LinuxLinux,, UnixUnix)) carecaregestioneazăgestionează fluxulfluxul dededate,date, realizeazărealizeazăcomunicaţiacomunicaţia şişi altealteactivităţiactivităţi dindin reţeareţea..
Debian GNU/LinuxFreeBSDMac OS XNetBSDNetMax ProfessionalNovell NetWareOpenBSDRed Hat Enterprise Linux ESRed Hat LinuxSun Solaris
SUSE Linux Enterprise ServerUbuntuWindows 2000 ServerWindows MEWindows NT ServerWindows Server 2003Windows Server 2008
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
The Apache HTTP Server, commonly referred to as Apache, is a web server application notable for playing a key role in the initial growth of the World Wide Web
blogs.apache.orgIntroducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013
LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Client/serverClient/server
PePe staţiistaţii esteeste instalatinstalat unun sistemsistem dede operareoperarestandardstandard (Windows(Windows,, etcetc..)) şişi programeprogramespecialespeciale carecare realizeazărealizează comunicaţiacomunicaţiastaţieistaţiei cucu serverserver--ulul şişi permitpermit accesulaccesul lalaprogrameleprogramele şişi fişierelefişierele dede datedate dede pepeacestaacesta..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Client/serverClient/server
�� ServerServer--ulul esteeste unun calculatorcalculator maimaiputernicputernic
�� SStaţiiletaţiile dede lucrulucru nunu trebuietrebuie săsă aibăaibăneapăratneapărat oo configuraţieconfiguraţie sofisticată,sofisticată,acestacest lucrulucru fiindfiind suplinitsuplinit dede accesulaccesul lalaserver,server, prinprin carecare sese materializeazămaterializeazăavantajulavantajul utilizăriiutilizării acestuiacestui tiptip dede reţelereţele::costcost scăzutscăzut,, cucu accesacces alal maimai multormultorutilizatoriutilizatori lala resurseresurse puterniceputernice..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Modul de conectareModul de conectare
�� CuplareaCuplarea staţiilorstaţiilor lala serverserver sese faceface prinprinintermediulintermediul uneiunei plăciplăci specialespeciale dedeinterfaţăinterfaţă..
�� NetworkNetwork interfaceinterface cardcard conecteazăconecteazăfizicfizic unun calculatorcalculator lala reţeareţea şişicontroleazăcontrolează fluxulfluxul informaţionalinformaţionalbidirecţionalbidirecţional..
15.10.2013
4
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Cloud ComputingCloud Computing
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Cloud computingCloud computing�� Aplicații, servicii, resurse puse la Aplicații, servicii, resurse puse la
cerere la dispoziția utilizatorului prin cerere la dispoziția utilizatorului prin Internet prin intermediul serverelor Internet prin intermediul serverelor unui furnizor.unui furnizor.�� Infrastructure as a service (IaaS)Infrastructure as a service (IaaS)
�� EC2 AmazonEC2 Amazon
�� Platform as a service (PaaS)Platform as a service (PaaS)�� Google Apps EngineGoogle Apps Engine
�� Software as a service (SaaS)Software as a service (SaaS)�� SalesforceSalesforce
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Centrede Centrede datedate
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Produse comercialeProduse comerciale�� Amazon Elastic Compute Cloud (Amazon Amazon Elastic Compute Cloud (Amazon
EC2) EC2)
�� Platforma Microsoft Windows AzurePlatforma Microsoft Windows Azure
�� Google App Engine Google App Engine
15.10.2013
5
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
CloudCloud ComputingComputing în îngrijirea sănătăŃiiîn îngrijirea sănătăŃii
� Oferă potenţial ridicat pentru accesarea rapidă a înregistrărilormedicale
� Acces rapid la istoricul medical al fiecărei persoane putândaccelera timpul de tratament
� Poate facilita accesul pacienţilor și medicilor la informație medicalădin orice loc al lumii prin intermediul Internetului
�� CloudCloud computingcomputing -- asistenţaasistenţa medicalămedicală prinprin partajareapartajarea dede informaţiiinformaţiistocatestocate întreîntre sistemesisteme dispersate,dispersate, înîn timptimp realreal
Teză de doctorat în lucru – Oana Lupșe
Prescripția medicală asistată-CC
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
CloudCloud ComputingComputing în îngrijirea sănătăŃiiîn îngrijirea sănătăŃii
Teză de doctorat în lucru – Oana LupșePrescripția medicală asistată-CC
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
1.5.2. Internet şi WWW1.5.2. Internet şi WWW
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
ReReŃŃeaua Interneteaua Internet
Reţeaua INTERNET este o Reţeaua INTERNET este o infrastructură fizicăinfrastructură fizică, , similară infrastructurii similară infrastructurii utilizate de reţelele utilizate de reţelele mondiale de telefonie.mondiale de telefonie.
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
InternetInternetProf. Kleinrock, unul dintre Prof. Kleinrock, unul dintre
specialiştii în computere implicat, îşi specialiştii în computere implicat, îşi aminteşte prima lor comunicare: aminteşte prima lor comunicare:
"Am stabilit o legătură telefonică "Am stabilit o legătură telefonică între noi şi băieţii de la între noi şi băieţii de la SRISRI...," ...," "Am tastat litera"Am tastat litera LL şi am întrebat la şi am întrebat la telefon, telefon, "Aţi văzut "Aţi văzut LL--ul?" ul?" "Da, am văzut "Da, am văzut LL--ul," a venit ul," a venit răspunsul. răspunsul. "Am tastat litera "Am tastat litera OO şi am întrebat, şi am întrebat, "Aţi văzut "Aţi văzut OO--ul?" ul?" “ Da, am văzut “ Da, am văzut OO--ul." ul." "Apoi am tastat litera "Apoi am tastat litera GG, si , si sistemulsistemula cazuta cazut"..."...
Reţea de patru computere între Universităţile din Utah, Santa Barbara şi Los Angeles şi Institutul de Cercetări din Stanford
15.10.2013
6
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
ReŃeaua INTERNETReŃeaua INTERNET
�� ReţeauaReţeaua INTERNETINTERNET esteeste oo infrastructurăinfrastructură fizicăfizică..�� InternetInternet esteeste mediulmediul suportsuport pentrupentru comunicarecomunicare..�� InternetInternet esteeste oo colecţiecolecţie dede informaţiiinformaţii sausau unun
serviciuserviciu..�� FolosimFolosim reţeauareţeaua InternetInternet pentrupentru aa obţineobţine şişi aa
primi/transmiteprimi/transmite informaţiiinformaţii şişi servicii,servicii, dardar acesteaacestea suntsuntlucrurilucruri diferitediferite dede ceeaceea cece reprezintăreprezintă reţeauareţeauaInternetInternet..
�� AşaAşa cumcum serviciulserviciul dede telefonietelefonie arar fifi inutilinutil fărăfărăpersoanelepersoanele carecare îlîl folosesc,folosesc, tottot aşaaşa reţeauareţeaua InternetInternetesteeste inutilăinutilă fărăfără serviciileserviciile informaţionaleinformaţionale carecare îlîlutilizeazăutilizează..
nu nu
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Intranet/ExtranetIntranet/Extranet
�� Intranet Intranet -- reţele particulare ale unor reţele particulare ale unor companii, protejate de accesul din companii, protejate de accesul din exteriorexterior
�� Extranet Extranet -- folosesc tehnologia Internet folosesc tehnologia Internet pentru a crea reţele externe companiei pentru a crea reţele externe companiei pentru a fi utilizate de către furnizori sau pentru a fi utilizate de către furnizori sau clienţi.clienţi.
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
World Wide Web World Wide Web (WWW)(WWW)
esteeste unun conceptconcept (dezvoltat(dezvoltat lala CERNCERN --EuropeanEuropean LaboratoryLaboratory forfor ParticleParticle Physics,Physics,Elveţia,Elveţia, dede cătrecătre oo echipăechipă condusăcondusă dede TimTimBernersBerners--Lee)Lee) carecare cuprindecuprinde::
�� oo colecţiecolecţie dede servereservere purtătoarepurtătoare dedeinformaţieinformaţie (servere(servere informaţionale)informaţionale);;
�� articolearticole informaţionaleinformaţionale (documente,(documente,pagini,pagini, imagini,imagini, etcetc..)) stocatestocate pepe serverserver;;
�� adreseleadresele articolelorarticolelor informaţionaleinformaţionale;;�� legăturilelegăturile întreîntre diversediverse articolearticole
informaţionaleinformaţionale..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
WWWWWW
�� SpreSpre deosebiredeosebire dede InternetInternet carecare esteeste oo reţeareţea fizică,fizică,WWWWWW esteeste oo ,,prezentateprezentate subsub diversediverse formeforme..
�� UnUn documentdocument componentcomponent alal WWWWWW poatepoate conţineconţinetextetexte formatate,formatate, imagini,imagini, hyperlinkhyperlink--uriuri ((locurilelocurile dindindocumentdocument undeunde utilizatorulutilizatorul poatepoate părăsipărăsi documentuldocumentulcurentcurent pentrupentru aa sese conectaconecta lala unun altul,altul, aflataflat întrîntr--ooanumităanumită legăturălegătură cucu celcel precedent)precedent);; acestacest nounoudocumentdocument poatepoate fifi oriceorice tiptip dede informaţieinformaţie accesibilăaccesibilăpepe InternetInternet:: sunet,sunet, videovideo clipclip digital,digital, conexiuneaconexiunea lala oobibliotecăbibliotecă sausau unun altalt documentdocument texttext cucu maimai multemultelegăturilegături..
reţea de informaţii conectatereţea de informaţii conectate
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
WWWWWW
�� documentedocumente hypertexthypertext•• termenultermenul "hypertext""hypertext" nunu esteeste nounou.. PunereaPunerea luilui înîn
practicăpractică aa fostfost împiedicatăîmpiedicată dede limitărilelimităriletehnologicetehnologice.. CelCel carecare aa conturatconturat pentrupentru primaprima datădatăconceptulconceptul hypertexthypertext aa fostfost TedTed NelsonNelson înîn 19651965..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
WWWWWWConceptulConceptul:: WebWeb esteeste conceputconceput pentrupentru oo lumelume fărăfără
frontiere,frontiere, înîn carecare TOATĂTOATĂ informaţia,informaţia, dindin oriceorice sursăsursăpoatepoate fifi accesatăaccesată simplusimplu..
ProtocolulProtocolul:: WWW utilizează mai multe protocoale (ftp, WWW utilizează mai multe protocoale (ftp, gopher,etc.) dar şi alte modalităţi de comunicare:gopher,etc.) dar şi alte modalităţi de comunicare:
URL URL -- Universal Resource Locator Universal Resource Locator -- pentru localizare pentru localizare în navigarea pe web.în navigarea pe web.HTTP HTTP -- Hypertext Transfer Protocol Hypertext Transfer Protocol -- pentru pentru comunicaţia dintre servere şi browsercomunicaţia dintre servere şi browser--e.e.
Un complex softwareUn complex software format din: client, server, gateway format din: client, server, gateway (modalitate de acces direcţionat pe un domeniu) (modalitate de acces direcţionat pe un domeniu) -- pentru pentru manipularea informaţiei.manipularea informaţiei.
O reţea de informaţiiO reţea de informaţii:: pentru a permite comunicarea între pentru a permite comunicarea între indivizi.indivizi.
15.10.2013
7
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
URL/HTTPURL/HTTP
Un URL specificat în mod absolut are sintaxaprotocol:\\domeniu\cale\fisier.extensie
http indică faptul că fişierul este o pagină Webnews indică un articol al unui grup de ştiri;ftp indică un fişier care poate fi transferat de pe un server FTP;file indică un fişier local.
domeniu reprezintă numele calculatorului pe care este stocat fişierul,avînd aceeaşi sintaxă ca în cazul adreselor e-mail
cale reprezintă succesiunea directoarelor, începând cu rădăcina pînă la directorul în care este stocat fişierul. Ca separator între două directoare este utilizat caracterul ‘/’
fişier.extensie reprezintă numele fişierului şi extensia acestuia.Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013
LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
WebWeb
InteracţiuneaInteracţiunea pepe WebWeb implicăimplică douădouăcomponentecomponente::�� unun webweb serverserver şişi�� unun browserbrowser..
�� ServerulServerul esteeste unun procesproces "daemon""daemon"întreţinutîntreţinut dede administratoruladministratorul dede sistemsistem şişidede webweb..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Pentru a utiliza WebPentru a utiliza Webeste nevoie în este nevoie în principal de două principal de două lucruri:lucruri:
�� UtilizatorulUtilizatorul trebuietrebuie săsă aibăaibă accesacces lala InternetInternet;;accesulaccesul lala InternetInternet sese poatepoate realizarealiza prinprinintermediulintermediul universităţilor,universităţilor, liceelor,liceelor, societăţilorsocietăţilorcomerciale,comerciale, instituţiiinstituţii guvernamentaleguvernamentale sausau prinprinintermediulintermediul furnizorilorfurnizorilor dede serviciiservicii InternetInternet..
�� UtilizatorulUtilizatorul trebuietrebuie săsă aibăaibă accesacces lala WWWWWW printrprintr--unun clientclient--softwaresoftware (Mozila(Mozila Firefox,Firefox, GoogleGoogleChrome,Chrome, InternetInternet Explorer)Explorer)..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
ProtocoaleProtocoale
ÎnÎn timptimp cece serverservereleele WWWWWW utilizeazăutilizeazăprotocolulprotocolul HTTPHTTP pentrupentru aa transmitetransmitedocumenteledocumentele HTML,HTML, legăturilelegăturile prinprinhyperlinkshyperlinks permitpermit conectareaconectarea lala informaţiiinformaţiiaflateaflate pepe servereservere carecare utilizeazăutilizează diferitediferiteprotocoaleprotocoale:: FTP,FTP, etcetc..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
BrowserBrowser
�� carecare permitepermite găsireagăsireaşişi vizualizareavizualizarea informaţieiinformaţiei dede pepe WWWWWW..�� AcestaAcesta nunu esteeste nicinici informaţie,informaţie, nicinici serviciulserviciul
dede informaţie,informaţie, nicinici reţeauareţeaua..
un programun program
engl. engl. to browse to browse = = a răsfoi, a parcurgea răsfoi, a parcurge
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
BrowserBrowser
FiecareFiecare browserbrowser areare proprietăţiproprietăţi specificespecifice şişi numenumediferitediferite pentrupentru funcţiilefuncţiile pepe carecare lele punpunee lala dispoziţiadispoziţiautilizatorului,utilizatorului, dardar toatetoate auau aceleaşiaceleaşi funcţiifuncţii dede bazăbază::
�� accesulaccesul lala siturisituri prinprin precizareaprecizarea adreseiadresei dede URLURL;;�� tipărireatipărirea conţinutuluiconţinutului situluisitului curentcurent�� deplasareadeplasarea înainte/înapoiînainte/înapoi întreîntre siturilesiturile vizitatevizitate�� reîntoarcereareîntoarcerea înîn punctulpunctul dede plecareplecare ("Home")("Home") înîn oriceorice
momentmoment alal navigăriinavigării�� conexiuneaconexiunea întreîntre paginipagini prinprin intermediulintermediul textuluitextului scosscos
înîn evidenţăevidenţă (highlighted)(highlighted) sausau subliniatsubliniat;;�� memorareamemorarea adreseiadresei dede URLURL�� ……
15.10.2013
8
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
BrowserBrowserExempleExemple dede browserbrowser--ee:: MozillaMozilla FirefoxFirefox,,
GoogleGoogle Chrome,Chrome, MicrosoftMicrosoft InternetInternetExplorerExplorer..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Motoare de căutareMotoare de căutare�� PePe WWWWWW existăexistă disponibilădisponibilă oo cantitatecantitate maremare
dede informaţieinformaţie carecare poatepoate devenideveni covârşitoarecovârşitoare..
�� PentruPentru aa puteaputea găsigăsi informaţiiinformaţii despredespre ununanumitanumit subiectsubiect ss--auau dezvoltatdezvoltat mecanismemecanisme dedelocalizarelocalizare aa acestuiaacestuia:: motoarelemotoarele dede căutarcăutaree..
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Comunicare/socializareComunicare/socializare
Blog (weblog); jurnal onBlog (weblog); jurnal on--lineline
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Comunicare/socializareComunicare/socializare�� WikiWiki (repede)(repede) -- un site construit pe un software wiki care un site construit pe un software wiki care
permite crearea rapid㠺i editarea de pagini web. permite crearea rapid㠺i editarea de pagini web. �� creare de sitecreare de site--uri colaborative; pentru grupuri de persoane uri colaborative; pentru grupuri de persoane
care lucrează împreună oncare lucrează împreună on--lineline
"What I Know Is"
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
LinkedinLinkedin
15.10.2013
9
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
TwitterTwitter
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
PodcastingPodcasting�� ppunerea la dispounerea la dispoziţie a fişierelor ziţie a fişierelor multimedimultimedia a
�� onon--line sau descărcateline sau descărcate�� RSS (Really Simple Syndication) RSS (Really Simple Syndication) -- familie de formate de familie de formate de
fluxuri web specificate în XMLfluxuri web specificate în XML�� primite automat (RSS feed)primite automat (RSS feed)
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
••RSS (Really Simple Syndication) RSS (Really Simple Syndication) --familie de formate de fluxuri web familie de formate de fluxuri web specificate în XMLspecificate în XML•• primite automat (RSS feed)primite automat (RSS feed)
Introducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
FacebookFacebook
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Sumar
�Fazele rezolvării unei probleme cu calculatorul� Ingineria programării�Analiza problemei şi proiectarea soluţiei� Implementarea� Exploatarea şi întreţinerea programului� Proiectarea ascendentă şi descendentă.
�Alte tipuri de calculatoareLăcrămioara STOICU-TIVADAR, 2013
Introducere în programarea calculatoarelor
1.6. Fazele rezolvării unei probleme cu calculatorul
Ingineria programării
15.10.2013
10
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Ingineria programării
Se ocupă de problemele legate deelaborarea unui produs-program pebaza unor reguli, incluzând toateactivităţile pornind de la enunţulproblemei până la obţinerea rezultatuluiaplicării sale:� specificarea,� proiectarea,� implementarea,� scrierea documentaţiei� întreţinerea produsului program.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Ingineria programării
� precizarea cerinţelor beneficiarului;� specificarea problemei;� proiectare algoritmului de rezolvare a
problemei;� programarea propriu-zisă;� testarea produsului obţinut;� exploatarea şi întreţinerea produsului� redactarea documentaţiei pentru fiecare fază.
Rezolvarea unei probleme cu ajutorul calculatoruluipresupune parcurgerea următoarelor faze :
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
1.6.1. Analiza problemei şi proiectarea soluţiei
� De obicei, beneficiarul dă un enunţ vag, incompletsau inexact, iar executantul trebuie să obţină de laclient enunţul cât mai exact şi condiţiile pentruexecuţia programului.
� Specificarea problemei
este faza în care cerinţeleclientului sunt analizate şi se generează un document care precizează exact ce trebuie săfacă produsul-program cerut.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Analiza problemei şi proiectarea soluţiei
Specificarea problemei poate fi făcutăîn limbaj natural sau în limbajmatematic.
Documentaţia-specificaţie trebuie săconţină:
� sarcinile exacte pe care trebuie să lerealizeze produsul;
� datele de intrare;� rezultatele cerute;� restricţiile la care este supus
programul.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Analiza problemei şi proiectarea soluţiei
� După stabilirea specificaţiei urmează modelareamatematică şi căutarea unei metode pentrurezolvarea problemei.
� Aceste activităţi rezultă în conceperea algoritmuluişi constituie etapa de proiectare a programului.
� În această etapă echipa de proiectare� va defini structura produsului
care trebuie realizat: componente,module)
� va stabili:� structurile de date� algoritmii folosiţi
15.10.2013
11
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Analiza problemei şi proiectarea soluţiei
� Există două sub-etape în cadrulproiectării:� proiectarea în ansamblu – unde se
decide structura produsului pornind dela specificaţii. Aceasta se descompuneîn module şi se precizează scopulfiecăreia şi interfaţa dintre module(adică datele care sunt transferate întremodule).
� proiectarea în detaliu – se referă lafiecare modul (sub-algoritm) în parte.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Analiza problemei şi proiectarea soluţiei
Algoritmii sunt descrişi:� prin scheme logice (reprezentarea
grafică a algoritmului cu operaţiilereprezentate sub forma unor blocuriunite prin linii cu săgeţi care indicăsuccesiunea lor - expresivă);
� prin limbaj pseudo-cod (limbajalgoritmic derivat din limbajulmatematic).
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
1.6.2. Implementarea� Această etapă constă în
traducerea algoritmului într-un limbaj de programare şiinclude:� alegerea limbajului de
programare (dacă este cazul);� editarea programului - cu
ajutorul mediilor de programarecu care se va compila sau cuun editor oarecare;
� compilarea programului: setrece de la programul-sursă laprogramul-obiect (în limbajcod-maşină) şi se corecteazăerorile de sintaxă.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Implementarea− testarea programului: pune în
evidenţă erorile de proiectare(atunci când există) datorităcărora apar rezultate eronatedin fazelor anterioare. Acesteasunt puse în evidenţă laexecuţia programului cu date detest.
“Testarea programelor poate fi unmijloc eficient de a indica prezenţaerorilor, dar din păcate nu şi unmijloc de a demonstra absenţalor”.
− depanarea programului:descoperirea erorilor.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
1.6.3. Documentarea procesului� Scrierea documentaţiei
programului cuprinde:� documentaţia de realizare
- documentaţia care explică modul în care a fost conceput programul
� documentaţie de exploatare sau utilizare -documentaţia prin care se explică modul de funcţionare al programului.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
1.6.4. Exploatarea şi întreţinerea programului
� Exploatarea este faza în care execuţiaprogramului
se face cu date reale.
� În timpul ciclului de viaţă al unui program apardiferite modificări ale acestuia determinate de:� unele erori rămase nedescoperite în faza de validare;� dezvoltarea programului prin cerinţe noi;� perfecţionarea programului.
Acestea constituie împreună faza de întreţinere.
15.10.2013
12
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Exploatarea şi întreţinerea programului
� Ultima fază din existenţa unuiprogram este “pensionarea” sa.
� După un număr de ani de folosireprogramul nu mai corespunde:� s-au modificat condiţiile în care lucrează
beneficiarul,� a fost cumpărat un nou calculator sau� modificările ar costa mai mult decât un
program nou.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
1.6.5. Proiectarea ascendentă şi descendentă
Există două metode generale deproiectare a algoritmilor, a cărordenumire provine din modul deabordare a rezolvării problemelor:
� metoda descendentă şi� metoda ascendentă.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Proiectarea descendentă
� Proiectarea descendentă (top-down) porneşte de la problemacare trebuie rezolvată pe care odescompune în sub-problemeindependente, care la rândul lor potfi descompuse în sub-probleme.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Proiectarea descendentă(top-down)
Step-wise refinement (metodarafinării succesive) este un procesde detaliere pas cu pas aspecificaţiei şi are următoareleavantaje:� amână detaliile de programare (nu ne
gândim cum se vor rezolva sub-problemele, ci care sunt ele şiconexiunile dintre ele;
� permite lucrul în echipe mari, fiecarecu sub-problema ei.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Proiectarea ascendentă (bottom-up)
� porneşte de la sub-algoritmii existenţi pe care îi asamblează în alţi sub-algoritmi pentru a ajunge în final la algoritmul dorit. Se va scrie mai întâi sub-algoritmul apelat şi apoi cel care apelează.
� Dezavantaj: erorile de integrare vor fi detectate târziu, abia în faza de integrare.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
2. Alte tipuri de calculatoare
15.10.2013
13
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Calculatoare de proces
�Calculatoarele de proces (sauindustrial PCs), sunt adaptateoperaţiilor de control al proceselorcare, în general, nu necesită capacitatemare de memorare şi nici echipamenteperiferice complexe şi numeroase.
�Calculatoarele de proces suntcalculatoarele specializate perezolvarea problemelor legate deconducerea automată a proceselor.
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Noţiuni despre calculatoare de
procesÎn cazul proceselor din realitatea înconjurătoare
apare necesitatea controlării acestora.Unui proces i se pot asocia:� mărimi de intrare - mărimi care acţionează
asupra procesului;� mărimi de ieşire - mărimi furnizate de proces;� structura - model care caracterizează procesul
(model matematic în timp sau operaţional).
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Schema simplificată a elementelor asociate unui proces
Proces
(structură)
IeşireIntrare
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
StimMaster � Bucla de reglare şi controlul adaptiv au ca rezultat diminuarea atrofierii musculaturii, îmbunătăţirea circulaţiei şi dispariţia spasmelor musculare (Petrofsky).
� StimMaster conţine senzori localizaţi în ergometru, care furnizează feedback continuu către calculator. Acesta controlează ritmul de pedalare prin stimularea la nivelul muşchilor ducând la o mişcare de pedalare ritmată.
� Calculatorul cuprins în StimMaster monitorizează continuu evoluţia pacientului la un interval de 1/40 dintr-o secundă şi comandă valorile mărimilor în aşa fel încât acestea să corespundă nevoilor pacientului.Exemplu de calculator de
proces medicalLăcrămioara STOICU-TIVADAR, 2013
Introducere în programarea calculatoarelor
Dispozitive mobile
15.10.2013
14
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
SmartphoneSmartphone
Samsung Galaxy S4
HTC One …
HuaweiAscend P1 S
AlcatelOT-991
NokiaLumia 900
LGOptimus Vu
GoogleNexus 4 Lăcrămioara STOICU-TIVADAR, 2013
Introducere în programarea calculatoarelor
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
IPhoneIPhone 5
http://www.youtube.com/watch?v=cVGprD-o8Ik iOS 7iOS 7Lăcrămioara STOICU-TIVADAR, 2013
Introducere în programarea calculatoarelor
BlackBerryBlackBerry� Trackpad navigation � Bright, hi-resolution screen � Full QWERTY keyboard � 3G technology � Wi-Fi® and Bluetooth®
enabled � 256MB flash Memory � 3.2 MP digital Camera with
Video Camera � Multimedia Player � Wireless Email � Organiser � Browser � Phone � SMS/MMS � MicroSD card Reader
- popular în mediul de afaceri - marile companii- mesaje/organizator
- sisteme de operare specifice modelului
http://www.connect.ro/telefon/blackberry/curve-9320/
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Samsung: Galaxy Round -primul telefon cu ecran curbat
http://www.youtube.com/watch?v=UIEExKSjWi4
10.10.2013 – lansare în Coreea
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Filip smartwatch
15.10.2013
15
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
iPad Mini - Apple
Samsung GalaxySurface - Microsoft
Nexus - Google
Tablete
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Myo măsoară activitatea electrică pentru a detecta mișcări fine ale brațului; poate comunica cu calculatoare, telefoane sau tablete.
http://www.youtube.com/watch?v=oWu9TFJjHaM
Lăcrămioara STOICU-TIVADAR, 2013Introducere în programarea calculatoarelor
Google glassGoogle glass
http://www.bloomberg.com/video/osu-live-streams-first-surgery-using-google-glass-oR_hHqPBSdWfMXAq2fOwDQ.html
http://www.kpho.com/story/22694926/surgical-first-scottsdale-doc-uses-google-glass-during-procedure
http://www.youtube.com/watch?v=iezGtRv2jjMIntroducere în pIntroducere în programarearogramarea calculatoarelorcalculatoarelor 20132013
LLăcrămioara STOICUăcrămioara STOICU--TIVADARTIVADAR
Sumar C5Sumar C5
Probleme de etică în programare, responsabilitateProbleme de etică în programare, responsabilitateIntroducere în CIntroducere în C
�� Stil de programareStil de programare�� SecSecţiuneaţiunea “#”“#”�� DeclaraţiiDeclaraţii (identificatori,(identificatori, cuvintecuvinte rezervate,rezervate, cuvintecuvinte utilizator,utilizator, variabile,variabile,
constante)constante)�� InstrucţiuniInstrucţiuni�� Tipuri de dateTipuri de date�� Tipuri standardTipuri standard
�� ModificatoriModificatori�� Tipul întreg (definire, operaţii, funcţii standard)Tipul întreg (definire, operaţii, funcţii standard)�� Tipul real (id.)Tipul real (id.)�� TipulTipul caractercaracter –– tip standardtip standard
�� TTipul logic ipul logic -- definit definit de utilizatorde utilizator