Sunteți pe pagina 1din 33

PCLP

Curs 1
Obiective
Probleme organizatorice la început de semestru
Participanți
Activități

Aspecte didactice privind cursul de Programarea


Calculatoarelor și Limbaje de Programare
(PCLP)
Tematică
Bibliografie Recomandată

Elemente de bază în informatică


Calculatorul numeric programabil
Date + Algoritm = Program
Partea I
Probleme organizatorice

● Participanți
− Cadre didactice: Ș.L. Marian CRĂCIUN
Marian.Craciun@ugal.ro
− Studenți: anul I, FAN
www.student.ugal.ro
● Activități – 2 semestre, 4 credite/sem.
− Curs – 2 ore/saptămână
− Laborator – 1 ora/saptămână
− Examen – sesiune iarnă/vară/toamnă/...
Distribuția fondului de timp

● Total ore din planul de învățământ – 42


● Total ore studiu individual – 100
− Suport de curs, bibliografie și notițe – 40
− Documentare suplimentară – 10
− Pregătire laboratoare – 20
− Tutoriat – 10
− Examinare – 10
Evaluare

● Curs
− Examen final – test grilă – 60%

● Laborator
− Analiza eficienței în activitatea practică de
programare – 30%

● Participare activă la curs/laborator – 10%


Partea a II-a
Tematică

● Elemente de bază în informatică

● Introducere în programarea orientată pe


obiecte

● Introducere în limbajul Java


Bibliografie recomandată

Curs
● Bumbaru, Severin, “Programarea Orientata pe Obiecte in
Limbajul Java”, Editura Fundatiei Universitare, 2002
● Gosling, J., Joy, B., Steele, G., Bracha, G. “The Java
Language Specification”, 3rd Edition, Adisson-Wesley,
2005
http://docs.oracle.com/javase/specs/jls/se5.0/jls3.pdf
● Horstmann, C., Cornell, G., “Core Java Volume I –
Fundamentals”, 8th Edition, Prentice Hall, 2008
● Horstmann, C., Cornell, G., “Core Java Volume II –
Advanced Features”, 8th Edition, Prentice Hall, 2008
Bibliografie recomandată

Laborator
● Eckel, B., “Thinking in Java”, 4th Edition, Prentice Hall,
2006
● Bloch, J., “Effective Java”, 2nd Edition, Addison-Wesley,
2008
Cuprins

Elemente de bază în informatică


●Prelucrarea automată a datelor
●Structura unui calculator

●Algoritmi

●Limbaje de programare
●Rezolvarea problemelor cu ajutorul

calculatorului

11
Data

● DEX
− fiecare dintre mărimile, relațiile etc. care
servesc pentru rezolvarea unei probleme sau
care sunt obținute în urma unei cercetări și
urmează să fie supuse unei prelucrări.

● Prin interpretarea datelor se obtin


informațiile.

12
Informația

● Este un mesaj obiectiv, concret care elimină


nedeterminările în cunoaștere
● Are o sursă (emițător) și o destinație
(receptor)
● Se transmite pe un canal
● Teoria informației (DEX)
− teoria matematică a proprietăților generale
ale surselor de informație, ale canalelor de
transmisie și ale instalațiilor de păstrare și de
prelucrare a informațiilor. 13
Algoritm

● Este un concept important al informaticii


● Reprezintă un set de pași care definește
modul în care poate fi dusă la îndeplinire o
anumită sarcină.
● Descrierea unui algoritm se poate face
folosind diverse limbaje artificiale:
− pseudocod
− schemă logică
− limbaje de programare – riguros formalizate
14
Proprietăți fundamentale ale
algoritmilor
● Caracterul finit
− orice algoritm bine proiectat se termină într-un număr finit de
pași
● Caracterul unic și universal
− orice algoritm trebuie să rezolve toate problemele dintr-o clasă
de probleme
● Caracterul realizabil
− orice algoritm trebuie să poată fi codificat într-un limbaj de
programare
● Caracterul discret
− fiecare acțiune se execută la un moment dat în timp
● Caracterul determinist
15 de rezultatele
− ordinea acțiunilor este determinată în mod unic
obținute la fiecare moment de timp
Program
● Este un ansamblu de instrucțiuni pe care le
execută calculatorul pentru rezolvarea unei
probleme.
● Conține atât informații despre datele ce vor fi
prelucrate cât și despre algoritmul de
prelucrare a acestora.
● De obicei este scris pentru un calculator
abstract – un model care elimină detaliile.

PROGRAM = DATE + ALGORITM


16
Calculatorul

● Reprezintă un sistem electronic complex de


prelucrare a datelor care
− preia (citește) datele inițiale ale unei
probleme
− efectuează diverse operații (prelucrări)
asupra acestora conform instrucțiunilor unui
program
− furnizează (scrie, afișează) rezultatele
obținute

17
Componentele unui sistem de calcul

● Hardware – totalitatea echipamentelor și


dispozitivelor fizice
● Software – totalitatea programelor care ajută
utilizatorul în rezolvarea problemelor
− Sistemul de operare
● coordoneazaă întreaga activitate a
echipamentului de calcul
● gestionează resursele
● interfațează cu utilizatorul
● asigură suportul pentru dezvoltarea aplicațiilor
18
− Sistemul de aplicații de programe
Sistemul de calcul

19
Unitățile funcționale ale unui sistem
de calcul

20
Unitatea de intrare

● Are funcția de citire a datelor de intrare și de


convertire a acestora din formatul extern 

într-un format intern.
● Într-un calculator toată informația (numere,
text, imagini, suntete, etc.) se va reprezenta
sub forma numerică.
● Exemple:
− tastatura, mouse-ul, scanner-ul, etc.

21
Unitatea de ieșire

● Are funcția de scriere/afișare a datelor de


ieșire.
● Realizează conversia inversă din forma de
reprezentare internă în cea externă.
● Exemple:
− monitorul, imprimanta, plotter-ul

22
Memoria
● Este folosită pentru stocarea/înregistrarea
datelor.
● Capacitatea unei memorii este dată de număul
de locații pe care le conține
− se măsoară în biți sau octeți (bytes)
● Memoria internă
− ROM – memorie permanentă
− RAM – memorie volatilă
● Memoria externă
− hard-disk, CD/DVD ROM, USB 23 flash drive,
SD card, benzi magnetice, floppy-disk, etc.
Unitatea centrală
● CPU
− prelucrează datele din memoria internă,
conform instrucțiunilor programului stocat tot
în memoria internă
− extrage instrucțiunile, le decodifică, le execută
− efectuează operații aritmetice și logice asupra
datelor
− coordonează activitatea tuturor
componentelor fizice ale unui sistem de calcul
− este însoțit de un coprocesor matematic
pentru efectuarea cu viteză sporită a
24
operațiilor cu numere reale
Structura fizică a unui calculator

25
Reprezentarea algoritmilor prin
scheme logice

26
Reprezentarea algoritmilor prin
scheme logice

27
Structuri repetitive

Cu test inițial Cu test final

Cu număr cunoscut de pași

28
Reprezentarea algoritmilor prin
pseudocod

29
Limbaje de programare
● Sunt limbaje artificiale care permit o descriere
riguros formalizată a datelor și a algoritmului
într-un program înțeles de calculator.

Generația I
− limbaje mașină (cod mașină) – formă binară
specifică mașinii care execută programul

Generația a II-a
− limbaje de asamblare – folosesc mnemonice pentru
instrucțiunile limbajului mașină și nume descriptive
pentru operanzi
● Generația a III-a
− limbaje de nivel înalt – apropiate de limbajele
30 umane
naturale
Limbajul Java
● un limbaj de programare, ale cărui calităţi i-au permis
răspândirea rapidă, fiind în prezent unul din limbajele cele mai
larg folosite.
− limbajul este simplu, orientat pe obiecte, robust, sigur, portabil,
interpretat, neutru faţă de arhitectură, concurent, dinamic si
distribuit;
● un mediu de execuţie pentru aplicaţiile Java, numit în prezent
în engleză "Java Runtime Environment", care conţine maşina
virtuală Java şi un nucleu al bibliotecilor de clase Java;
● o platformă pentru dezvoltarea de aplicaţii în care se foloseşte
limbajul Java, ce conţine:
− compilatorul Java (Java Compiler); maşina virtuală Java (Java
Virtual Machine); bibliotecile de clase Java (Java Class
Libraries); vizualizatorul de appleturi Java (Java AppletViewer);
depanatorul Java (Java Debbuger) şi alte instrumente
31 de
dezvoltare; documentaţia;
Rezolvarea problemelor cu ajutorul
calculatorului

Analiza problemei – ce trebuie să facem
− înțelegerea problemei și specificarea cerințelor
− se stabilesc datele de intrare și obiectivele
● Proiectarea – cum trebuie să facem
− conceperea metodei de rezolvare printr-un algoritm

Implementarea
− codificarea algoritmului într-un limbaj de programare
● Testarea
− verificarea corectitudinii programului
● Exploatarea și întreținerea (mentenanța)
32
− Modificarea la cerere sau dacă este cazul (deficiențe)
Abordări în rezolvarea problemelor

● Rezolvarea orientată pe algoritm (pe acțiune)


− organizarea datelor este mai puțin esențială
− exemple:
● Metoda de proiectare top-down
● Metoda programării structurate
● Metoda rafinării suucesive
● Rezolvarea orientată pe date
− acțiunile sunt determinate de organizarea
datelor
● Rezolvarea orientată obiect 33
− combină primele două abordări

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