FUNDAMENTELE PROGRAMĂRII
|
|
- Kory Austin
- 5 years ago
- Views:
Transcription
1 UNIVERSIE BBEŞ-BOLYI acultatea de Matematică şi Informatică UNMENELE ROGRMĂRII ipuri definite de utilizator Laura ioşan
2 2 Conținut curs rogramming in the large Introducere în procesul de dezvoltare software rogramare procedurală rogramare modulară ipuri definite de utilizator rincipii de dezvoltare a softului estarea și inspectarea programelor rogramming in the small Recursivitate Complexitatea algoritmilor lgoritmi de căutare lgoritmi de sortare Metode de rezolvare a problemelor Recapitulare
3 3 Sumar ipuri de date e ce? în ython rincipii necesare la definirea unui Unified Modeling Language (UML)
4 4 ipuri de date ipul unei variabile omeniu de valori posibile Operații posibile rogramarea orientată obiect aradigmă de programare care folosește obiecte care stochează date și comunică unele cu altele Reluăm exemplul cu numere raționale
5 5 ipuri definite de utilizator / ipuri abstracte de date Exportarea unui nume (unui tip de date) efinirea unui domeniu de valori pentru date efinirea unei interfaţe (operaţiile -ului) Restricţionarea accesului la componentele ului (acces doar prin intermediul operaţiilor) scunderea implementării unui
6 6 ipuri definite de utilizator exemplu Număr rațional Nume: Rațional omeniu: {(a,b), a,b Z, b <> 0, cmmdc(a,b) = 1} Operații: Inițializare cces la componente (numărător, numitor) Copiere Comparare dunare/scădere/înmulțire/împărțire/etc....
7 7 ipuri definite de utilizator exemplu loare Nume: loare omeniu: {(denumire, înălțime, tip), denumire, tip string, înălțime N} Operații: Inițializare cces la componente (denumire, înălțime, tip) Copiere Comparare...
8 8 ipuri definite de utilizator în ython clase Clasă escrie obiecte care respectă acceași specificație și care au aceleași caracteristici (comportament) tribute datele efective Metode operațiile efectuate asupra datelor efinire Instrucțiunile dintr-o clasă pot fi: uncții lt tip de instrucțiuni class ClassName: #statement1 #... #statement n class Rational: rational number is composed by 2 numbers: numerator and denominator > 0 denominator <> 0, gcd(numerator, denominator) == 1 def init (self, num, denom): creates a new instance of Rational self.numerator = num self.denominator = denom
9 9 ipuri definite de utilizator în ython clase Obiect O instanță a unei clase Variabilă de tip clasă Când se creează o variabilă obiect trebuie precizat tipul acelui obiect (eg. Rational) class Rational: rational number is composed by 2 numbers: numerator and denominator > 0 denominator <> 0, gcd(numerator, denominator) == 1 def init (self, num, denom): creates a new instance of Rational self.numerator = num self.denominator = denom... r1 = Rational(2,3)
10 10 ipuri definite de utilizator în ython clase Observații efinirea unei clase implică crearea unui nou spațiu de nume (folosit ca scop local variabilele locale și funcțiile definite în clasă vor aparține acestui spațiu de nume) iecare obiect (ca instanță a unei clase) are propriul spațiu de nume / tabelă de simboluri care conține toate atributele și funcțiile obiectului entru inițializarea unui obiect clasa poate avea o metodă init care: este apelată automat atunci când se creează un obiect nou trebuie să aibă cel puțin un parametru (self) care referă obiectul creat poate avea și alți parametri (numerator, denominator) ot avea valori implicite class Rational: rational number is composed by 2 numbers: numerator and denominator > 0 denominator <> 0, gcd(numerator, denominator) == 1 def init (self, num = 0, denom = 1): creates a new instance of Rational self.numerator = num self.denominator = denom r1 = Rational(2,3) #r1 = 2/3 r2 = Rational(3) #r2 = 3/1 r3 = Rational() #r3 = 0/1
11 11 ipuri definite de utilizator în ython clase tribute Variabile care stochează date specifice unei anumite instanțe ot fi de diferite tipuri Ce creează atunci când primesc prima dată valori class Rational: # rational number is composed by 2 numbers: #numerator and denominator > 0, denominator <> 0, #gcd(numerator, denominator) == 1 def init (self, num = 0, denom = 1): #creates a new instance of Rational self.numerator = num self.denominator = denom def getnumerator(self): # getter method # return the numerator of the rational number return self.numerator def getenominator(self): #getter method #return the denominator of the rational number return self.denominator def test_create(): r1 = Rational(2,3) assert r1.getenominator() == 2 assert r1.getnumerator() == 3 r2 = Rational(5,4) assert r2.getenominator() == 5 assert r2.getnumerator() == 4 r1 = Rational(2,3) #r1 = 2/3 print("r1 = ", r1.getnumerator(), "/", r1.getenominator()) #r1 = 2/3
12 12 ipuri definite de utilizator în ython clase Metode uncții definite în interiorul claselor care pot accesa datele (valorile, atributele) clasei Orice metodă are ca prim parametru instanța curentă (obiectul curent) self Metodele pot avea și alți parametri (fără sau cu valori implicite) Metodele se apelează prin numeobiect.numemetodă(listaarametri) Obs.: la apel nu se trece si parametrul self, ci doar ceilalți (dacă există) class Rational: # rational number is composed by 2 numbers: #numerator and denominator > 0, denominator <> 0, #gcd(numerator, denominator) == 1 def init (self, num = 0, denom = 1): #creates a new instance of Rational self.numerator = num self.denominator = denom def getnumerator(self): # getter method # return the numerator of the rational number return self.numerator def getenominator(self): #getter method #return the denominator of the rational number return self.denominator def test_create(): r1 = Rational(2,3) assert r1.getenominator() == 2 assert r1.getnumerator() == 3 r2 = Rational(5,4) assert r2.getenominator() == 5 assert r2.getnumerator() == 4 r1 = Rational(2,3) #r1 = 2/3 print("r1 = ", r1.getnumerator(), "/", r1.getenominator()) #r1 = 2/3
13 ipuri definite de utilizator în ython clase Metode uncții definite în interiorul claselor care pot accesa datele (valorile, atributele) clasei Orice metodă are ca prim parametru instanța curentă (obiectul curent) self Metodele pot avea și alți parametri (fără sau cu valori implicite) Metodele se apelează prin numeobiect.numemetodă(listaarametri) Obs.: la apel nu se trece si parametrul self, ci doar ceilalți (dacă există) from utils import gcd class Rational:... def init (self, num = 0, denom = 1):... def getnumerator(self):... def getenominator(self):... def add(self, other): add two rational numbers (self + other) return a new rational number self=self+other def test_add(): r1 = Rational(2,3) r2 = Rational(5,4) r3 = r1.add(r2) assert r3.getnumerator() == 23 and r3.getenominator() == 12 a = self.numerator * other.denominator + self.denominator * other.numerator b = self.denominator * other.denominator d = gcd(a, b) self.numerator = a // d self.denominator = b // d return self 13
14 ipuri definite de utilizator în ython clase Metode speciale from utils import gcd Conversie la string utilă pentru afișări Comparări Operatori supraîncărcați add (self, other), mul (self, other) setitem (self.index, value), getitem (self.index) len (self) getslice (self, low, high) call (self, arg) class Rational:... def str (self): ' provides a string representation of a rational number return a string return str(self.numerator) + "/" + str(self.denominator) def eq (self, other): ' compares 2 rational numbers: self and other return rue, if self == other alse, otherwise if ((self.numerator == other.numerator) and (self.denominator == other.denominator)): return rue else: return alse def test_str(): r1 = Rational(2,3) assert r1. str () == "2/3" def test_eq(): r1 = Rational(2,3) r2 = Rational(2,3) assert r1 == r2 r3 = Rational(5,3) assert r1!= r3 14
15 15 ipuri definite de utilizator def test_create(): r1 = Rational(2,3) în ython clase Metode Respectarea specificațiilor class Rational: rational number is composed by 2 numbers: numerator and denominator, denominator <> 0, gcd(numerator, denominator) == 1 '' def init (self, num = 0, denom = 1): creates a new instance of Rational if (denom == 0): raise ValueError("0 denominator not allowed") if (num < 0) or (denom < 0): raise ValueError("numerator and denominator must be positive numbers") d = gcd(num, denom) self.numerator = num // d self.denominator = denom // d def getnumerator(self):... def getenominator(self):... assert r1.getnumerator()==3andr1.getenominator()==2 r2 = Rational(5,4) assert r2.getnumerator()==4andr2.getenominator()==5 r3 = Rational(25, 15) assert r3.getnumerator()==5andr3.getenominator()==3 try: r4 = Rational(2, 0) assert alse except ValueError as er: print("something goes wrong...", er) assert rue try: r5 = Rational(2, -3) assert alse except ValueError as er: print("something goes wrong...", er) assert rue try: r6 = Rational(-2, 3) assert alse except ValueError as er: print("something goes wrong...", er) assert rue try: r7 = Rational(-2, -3) assert alse except ValueError as er: print("something goes wrong...", er) assert rue
16 16 ipuri definite de utilizator în ython clase Scop și spații de nume Un spațiu de nume mapează nume în obiecte Spațiile de nume sunt implementate ca dicționare ython Cheie: nume Valoare: obiect mintiți-vă de globals() și locals() O clasă introduce un spațiu de nume Metodele și atributele unei clase sunt într-un spațiue de nume separat
17 17 ipuri definite de utilizator în ython clase tributele clasei versus atributele instanței tributele unei instanțe (unui obiect) Self atributele cărui obiect sunt folosite iecare instanță are propriile sale valori ale atributelor tributele clasei tribute unice pentru toate instanțele unei clase Elemente statice Metodele statice nu sunt referite cu self
18 18 ipuri definite de utilizator rincipii necesare la definirea unui Încapsulare Starea unui obiect date pe care le reprezintă (atributele) Comportamentul metode Încapsulare = starea și comportamentul se păstrează împreună, într-o unitate coezivă scunderea informației Reprezentarea internă a unui obiect este ascunsă pentru a proteja integritatea datelor Stări invalide sau inconsistente Separă codul în interfață publică și implementare privată
19 19 Unified Modeling Language (UML) UML Un limbaj general de modelare in domeniul OO Include un set de tehnici de notații grafice pentru construirea modelelor vizuale ale aplicațiilor OO iagrame de clasă UML escriu structura unui sistem precizând Clasele (atributele și metodele) Relațiile între clase
20 20 Unified Modeling Language (UML) iagrama de clasă Specificarea unei clase Numele clasei Secţiunea de date - protecţie - numele datelor - tipul datelor Secţiunea de metode - protecţia - numele metodei - parametrii metodei - tipul metodei lower - name : String - price : Integer init () <<constructor>> setname(string) setrice(integer) getname() : String getrice() : Integer tostring() : String compare(lower) : Boolean rotecţia: + - public - private # - protected
21 21 Unified Modeling Language Relaţii între clase asociere (colaborare) utilizează B Grădinarul utilizează Stropitoarea B agregare conţine 1/mai multe B-uri B există fără Gradina conţine lori B compoziţie conţine 1/mai multe B-uri B este creat de către loarea este compusă din mai multe etale B dependenţă depinde (într-un anumit fel) de B orma depinde de un Contexteesenare B moştenire este un B loarea este o lantă B
22 22 Recapitulare ipuri de date e ce? în ython Clase tribute Metode Spații de nume rincipii necesare la definirea unui Unified Modeling Language (UML) iagrama unei clase Relații între clase
23 23 Cursul următor rogramming in the large Introducere în procesul de dezvoltare software rogramare procedurală rogramare modulară ipuri definite de utilizator rincipii de dezvoltare a softului estarea și inspectarea programelor rogramming in the small Recursivitate Complexitatea algoritmilor lgoritmi de căutare lgoritmi de sortare Metode de rezolvare a problemelor Recapitulare
24 24 Materiale de citit şi legături utile 1. Limbajul ython 2. Biblioteca standard ython 3. utorial ython 4. rentiu, M., H.. op, undamentals of rogramming, Cluj University ress, 2006, 220 pagini 5. Kent Beck.est riven evelopment: By Example. ddison- Wesley Longman, Martin owler. Refactoring. Improving the esign of Existing Code. ddison-wesley,
25 25 Informaţiile prezentate au fost colectate din diferite surse de pe internet, precum şi din cursurile de undamentele rogramării ţinute în anii anteriori de către: Lect. r. driana Guran rof. r. Istvan Czibula - Conf. r. ndreea Vescan - Lect. r. Ioan Lazăr - Lect. r. Molnar rthur
Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte
Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte Probleme rezolvate: Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Programul urmator (LotoConstante.java)
More informationIngineria Sistemelor de Programare. UML Diagrama Cazurilor de Utilizare 2016
Ingineria Sistemelor de Programare UML Diagrama Cazurilor de Utilizare mihai.hulea@aut.utcluj.ro 2016 Introducere UML UML UML = Unified Modeling Language Dezvoltat in cadrul Object Management Group In
More informationLaborator 5 Instrucțiunile repetitive
Laborator 5 Instrucțiunile repetitive Instrucțiunea for Instrucțiunea for permite repetarea unei secvențe de instrucțiuni atâta timp cât o condiție este îndeplinita. În plus, oferă posibilitatea execuției
More informationUtilizarea formularelor in HTML
Utilizarea formularelor in HTML Formulare Un formular este constituit din elemente speciale, denumite elemente de control (controls), cum ar fi butoane radio, butoane de validare, câmpuri text, butoane
More informationTehnici avansate de programare
Tehnici avansate de programare Curs - Cristian Frăsinaru acf@infoiasi.ro Facultatea de Informatică Universitatea Al. I. Cuza Iaşi Adnotarea elementelor Tehnici avansate de programare p.1/1 Cuprins Ce sunt
More informationJavaScript - Intorducere. Și nu numai...
JavaScript - Intorducere Și nu numai... Ce facem azi Nu o sa va vină să credeți. Pe foaia albă vă scrieți numele și prenumele ȘI Povestim despre JavaScript Exemple de aplicare discutii și surprize mici
More informationBirotică Profesională. Cursul 12
Birotică Profesională Cursul 12 Sumar Visual Basic for Applications (VBA) Tipuri de date Structuri de control Funcţii si proceduri Obiecte si colecţii VBA Mediu de programare destinat in special realizării
More informationProiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP De ce ebgp? De ce ibgp?
More informationCurs 3 Clase și obiecte. Limbajul de programare C++ Programare orientată obiect
Curs 3 Clase și obiecte Limbajul de programare C++ Programare orientată obiect Limbajul de programare C++ Urmașul limbajului C apărut în anii 80, dezvoltat de Bjarne Stroustrup Bibliografie: B. Stroustup,
More informationProgramare Orientata spre Obiecte (Object-Oriented Programming)
UPB - Facultatea ETTI - Curs POO - an II - seria E 2011-2012 Programare Orientata spre Obiecte (Object-Oriented Programming) a.k.a. Programare Obiect-Orientata Titular curs: Eduard-Cristian Popovici Suport
More informationDynamic binding vs static binding. Programare Orientată pe Obiecte
Dynamic binding vs static binding Programare Orientată pe Obiecte Ce va afişa următorul program? class TestEgal{ public boolean equals ( TestEgal other ) { System.out.println( "In equals din TestEgal"
More informationOverview of the OOA Process...
Object-oriented analysis (OOA)! What are the relevant objects? How do they relate to one another? Object-Oriented Analysis and Modeling! How do we specify/model a problem so that we can create an effective
More information1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului n.
Observatii: Codul de mai jos a fost realizat si testat pe pagina online: https://www.tutorialspoint.com/compile_pascal_online.php 1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului
More informationFUNDAMENTELE PROGRAMĂRII
UNIVERSITATEA BABEŞ-BOLYAI Facultatea de Matematică şi Informatică FUNDAMENTELE PROGRAMĂRII INTRODUCERE Laura Dioşan Octombrie, 2013 Fundamentele programării - Introducere 2 Sumar Elemente organizatorice
More informationMetode avansate de programare
Metode avansate de programare Informatică Română, 2017-2018, Curs 1 Noțiuni introductive If builders built houses the way programmers built programs, first woodpecker to come along would destroy civilization.
More informationIngineria Sistemelor de Programare
Ingineria Sistemelor de Programare Interfete grafice (Swing) mihai.hulea@aut.utcluj.ro 2017 Scurt istoric AWT: Abstract Windowing Toolkit import java.awt.* Swing Java FX Swing Demo Libraria Swing Swing
More informationFişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct.
Fişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct. Avantajul lucrului cu fisiere este evident, datele rezultate în urma
More informationOperatori. Comentarii. Curs 1
Operatori atribuirea: = operatori matematici: +, -, *, /, % Este permisa notatia prescurtata de forma lval op= rval (ex: n += 2) Exista operatorii pentru autoincrementare si autodecrementare (post si pre)
More informationBibliografie. * * *, Java Development Kit ndex.html
Bibliografie * * *, Java Development Kit http://www.oracle.com/technetwork/java/javase/downloads/i ndex.html Java programming: from problem analysis la program design, D.S. Malik, 2010 Java de la 0 la
More informationCurs 5. Programare Paralela si Distribuita. Forme de sincronizare - Java. Curs 5 - PPD 1
Curs 5 Programare Paralela si Distribuita Forme de sincronizare - Java Curs 5 - PPD 1 Monitor in Java Fiecare obiect din Java are un mutex care poate fi blocat sau deblocat in blocurile sincronizate: Bloc
More information1. Clase. Abstractizarea datelor
1. Clase. Abstractizarea datelor Vom face în cursul de Programarea calculatoarelor şi limbaje de programare II o introducere în programarea orientată pe obiecte, cu aplicaţii în limbajul de programare
More informationOverview of the OOA Process...
Object-Oriented Analysis and Modeling Object-oriented analysis (OOA) What are the relevant objects? How do they relate to one another? How do we specify/model a problem so that we can create an effective
More informationProgramare orientată obiect
UNIVERSITATEA BABEŞ-BOLYAI Facultatea de Matematică şi Informatică Programare orientată obiect Curs 01 Laura Dioşan 2 Conţinut Introducere Programare structurată la nivel inferior Programare structurată
More informationRezolvarea exceptiilor
PL/SQL SECTIUNE 6 Rezolvarea exceptiilor Entering an incorrect username and/or password Forgetting to include the @ in an email address Entering a credit card number incorrectly Entering an expiration
More informationCurs practic de Java
Curs practic de Java Curs - Cristian Frăsinaru acf@infoiasi.ro Facultatea de Informatică Universitatea Al. I. Cuza Iaşi Internaţionalizarea Curs practic de Java p.1/1 Cuprins Introducere Clasa Locale Formatarea
More informationAppOBP > PrOBPT > class Timp import java.text.decimalformat;
AppOBP > PrOBPT > class Timp import java.text.decimalformat; public class Timp { private int hour; // 0-23 private int minute; // 0-59 private int second; // 0-59 // constructorul Timp initializeaza fiecare
More informationCapitolul 8 Funcţii în limbajul C
Obiectiv: stabilirea avantajelor pe care le aduce în programarea structurată folosirea funcţiilor. Activităţi: - Prezentarea funcţiilor definite de utilizator - Descrierea parametrilor formali şi a parametrilor
More informationAlocarea memoriei în C sub Linux
Costel Aldea Alocarea memoriei în C sub Linux Sunt trei funcţii C standard care se pot folosi pentru a aloca memorie: malloc(), calloc(), si realloc(). Prototipurile lor, după cum sunt definite în stdlib.h:
More informationProgramare avansată Tipuri generice Colecții de date
Programare avansată Tipuri generice Colecții de date Problema Construiți o structură de date: o stivă de date, o listă înlănțuită, un vector, un graf, un arbore, etc. Care este tipul de date pe care îl
More informationProiectarea bazelor de date. PL/SQL Proceduri în PL/SQL(partea II-a) # 9. Adrian Runceanu
Proiectarea bazelor de date # 9 PL/SQL Proceduri în PL/SQL(partea II-a) 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 9 Proceduri în PL/SQL Proiectarea bazelor de date 2 Cuprins Proceduri în PL/SQL
More information13. Java si XML Fisiere XML în aplicatii Java... XML si orientarea pe obiecte... Utilizarea unui parser SAX... Utilizarea unui parser DOM...
CUPRINS 1. Java ca limbaj de programare cu obiecte Diferente între limbajele Java si C................................... Tipuri clasã si tipuri referintã....................................... Structura
More informationProgramare orientată pe obiecte. 1. Clase şi obiecte (continuare) 2. Tablouri
Programare orientată pe obiecte 1. Clase şi obiecte (continuare) 2. Tablouri // Autor : Fred Swartz import javax.swing.*; public class KmToMiles { Metode: cum funcţionează un apel private static double
More information-modificatorul unei interfeţe este public sau abstract (implicit)
6.1. Interfeţe Java - interfeţele Java abstractizează complet metodele unei clase (interfaţa clasei) faţă de orice implementare; - folosind cuvântul rezervat interface (în loc de class) specificăm ce poate
More informationConcepte fundamentale ale limbajelor de programare. Limbaje de programare orientate pe obiecte Curs 10 conf. dr. ing. Ciprian-Bogdan Chirila
Concepte fundamentale ale limbajelor de programare Limbaje de programare orientate pe obiecte Curs 10 conf. dr. ing. Ciprian-Bogdan Chirila Cuprins programarea orientata pe obiecte mostenire legarea dinamica
More informationRezolvare fişă de laborator Java Iniţiere în limbajul Java
Rezolvare fişă de laborator Java Iniţiere în limbajul Java Ex 1: Scrie următorul program Java folosind JCreator apoi încercă să-l înţelegi. public class primulprg System.out.println("Acesta este primul
More informationProiectarea bazelor de date
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Proiectarea bazelor de date Lect.dr. Adrian
More informationProiectarea Rețelelor 1. Componentele hardware ale unui sistem de calcul
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Rețelelor 1. Componentele hardware ale unui sistem de calcul Integrated IS-IS 25 Noiembrie 2010 Proiectarea
More informationLaborator 2 - Introducere in limbajul Java.Pachete.Interfete.Tratarea exceptiilor. Pachete
Laborator 2 - Introducere in limbajul Java.Pachete.Interfete.Tratarea exceptiilor. 1. Pachete 2. Interfete 3. Tratarea exceptiilor Pachete Crearea unui pachet Folosirea membrilor unui pachet Importul unei
More informationCONFIGURAREA UNUI SERVER IRC IN LINUX. Bica Bogdan *
CONFIGURAREA UNUI SERVER IRC IN LINUX Bica Bogdan * In this exemple i show how to configure an irc server based on ircd dameon named ircu.this is the main file name ircd.conf and the most important.configure
More informationInginerie Software pentru Comunicatii (ISC / RST)
UPB - Facultatea ETTI - Curs ISC - an IV Specializarea RST 2009-2010 Inginerie Software pentru Comunicatii (ISC / RST) Titular curs: Eduard-Cristian Popovici Suport curs: http://discipline.elcom.pub.ro/isc/
More informationQuartz. ArcGIS Runtime SDK for Android
Quartz ArcGIS Runtime SDK for Android Quartz (beta) Ce ofera? Utilizarea OpenGL controale si functionalitati de performanta inalta; utilizarea de Vector Tile Package utilizarea Map Package; biblioteci
More informationCurs 4 Programare Orientată pe Obiecte în limbajul Java. Programare Orientată pe Obiecte
Curs 4 Programare Orientată pe Obiecte în limbajul Java Programare Orientată pe Obiecte Cuprins Exemplu clasa Complex Variabie şi metode de instanţă/clasă Blocuri statice Clasa Object Polimorfism Tipul
More informationAplicații JAVA. Lect.dr. Adrian Runceanu
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Aplicații JAVA Lect.dr. Adrian Runceanu Curs 6 Colecții în Java 01.04.2015 Curs - Aplicatii
More informationProgramare orientată pe obiecte. 1. Pachete (packages) 2. Moştenire
Programare orientată pe obiecte 1. Pachete (packages) 2. Moştenire Organizarea claselor înrudite în pachete Pachet (package): set de clase înrudite Pentru a pune o clasă într-un pachet, trebuie scrisă
More informationLucrarea nr. 2. Funcţii şi structuri în C++
Lucrarea nr. 2 Funcţii şi structuri în C++ Pe măsură ce programele cresc in complexitate şi dimensiune, ele trebuiesc împărţite în fragmente mai mici şi mai uşor de gestionat numite funcţii. Funcţiile
More informationLaborator 3 Java. Introducere in programarea vizuala
Laborator 3 Java Introducere in programarea vizuala 1. Pachetele AWT si Swing. 2. Ferestre 3.1. Introduceti urmatorul program JAVA: public class Pv public static void main(string args[ ]) JFrame fer=new
More information8. Tablouri. 8.1 Tipuri de dată simple şi tipuri de dată structurate
8. Tablouri Tablourile (arrays) reprezintă un tip important de structură de date şi sunt colecţii de obiecte de acelaşi tip reunite sub un singur nume. Uneori este necesar să referim anumite variabile
More informationVariabile predefinite
Php(2) Variabile predefinite Variabile predefinite $GLOBALS = pot fi accesate toate variabilele globale care sunt accesibile scriptului PHP curent $_SERVER = contine o serie de variabile ale caror valori
More informationProgramare Orientată pe Obiecte în limbajul Java
Curs 4 Programare Orientată pe Obiecte în limbajul Java Programare Orientată pe Obiecte Cuprins Tipul enumerare Clase imbricate Clase şi metode abstracte Excepţii Tipuri de date enumerare enum public class
More informationOperații de intrare/ieșire în C++
Operații I/O în limbajul C++ Operații de intrare/ieșire în C++ Mihai Gabroveanu Limbajul C++ moștenește de la C funcțiile de I/O Dezavantaj: permit manipularea doar a tipurilor de bază Limbajul C++ introduce
More informationGHID DE UTILIZARE A APLICAȚIEI MINISTRA PLAY PE SMART TV
GHID DE UTILIZARE A APLICAȚIEI MINISTRA PLAY PE SMART TV TV Deschide aplicația Ministra Play din bara de jos a interfeței TV. Selectează aplicația Ministra Play utilizând cursorul telecomenzii. Apar 4
More informationSe cer 2 variante: una cu implementarea statica si a doua cu implementarea dinamica a structurilor de date necesare. Comentati variantele.
Lucrarea 1 SDA 03.04.2017 Sa se realizeze urmatoarele programe, in limbaj C: 1. Se primesc de la intrarea standard: un numar k si un sir infinit de numere naturale a i. Se afiseaza la iesirea standard,
More informationThe Reuse of the Components on the Java 2 Enterprise Edition Platform
140 The Reuse of the Components on the Java 2 Enterprise Edition Platform Lect.dr. Marian CRISTESCU Catedra de Informatică Economică, Universitatea "Lucian Blaga" Sibiu Reusable components are simply pre-built
More informationFisiere text in Java.
Fisiere text in Java. Doru Anastasiu Popescu Prelucrarea fisierelor text in Java Aspecte teoretice: http://cursuri.cs.pub.ro/~poo/wiki/index.php/input/output http://upm.ro/intranet/ecalin/cd_educational/cd/javac/cap3.htm
More informationLaborator 4 Java Colectii
Laborator 4 Java Colectii Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Urmatorul exemplu foloseste diferite clase de colectii si adauga cate un element in aceste colectii import
More informationGestionarea memoriei dinamice. Tablouri şi şiruri de caractere. Conversii de date. Operaţii de intrare / ieşire
Lucrarea 3 Gestionarea memoriei dinamice. Tablouri şi şiruri de caractere. Conversii de date. Operaţii de intrare / ieşire Cuprins Simbolul this...1 Colectorul de reziduuri (Garbage Collector)...4 Transmiterea
More informationLenuta Alboaie Reţele de calculatoare
Programarea in retea - OOB- Lenuta Alboaie adria@info.uaic.ro 1 Cuprins Trimiterea si receptarea datelor in regim 2 Ideea: in timpul unei conexiuni cind sunt transmise date ( inband data ), si daca la
More informationCursul 4 7 Martie
Cursul 4 7 Martie adiftene@infoiasi.ro 1 Din Cursurile trecute Forward Engineering Reverse Engineering Diagrame de Interacţiuni Diagrame de Secvenţă Diagrame de Colaborare 2 Diagrame Diagrame UML Diagrame
More informationSerializarea. Transformarea datelor în secvenţe de octeţi astfel încât să poată fi transmise pe un flux de ieşire. Deserializare - procesul invers
Serializarea Transformarea datelor în secvenţe de octeţi astfel încât să poată fi transmise pe un flux de ieşire Deserializare - procesul invers Scopul serializării transmiterea datelor la distanţă. RMI
More informationLaborator 1 Tehnologia Java
Laborator 1 Tehnologia Java Tehnologia Java este alcatuita dintr-un conglomerat de concepte dintre care amintim: limbajul de programare Java dezvoltat pe baza paradigmei obiect orientate; platforma de
More informationProgramare orientată obiect Limbajul C++
Programare orientată obiect Limbajul C++ Evoluția limbajelor de programare Cod mașină programul în format binar, executat direct de processor Limbaj de asamblare instrucțiuni in format binar înlocuit cu
More informationProgramare orientata-obiect
Programare orientata-obiect Virginia Niculescu vniculescu@cs.ubbcluj.ro www.cs.ubbcluj.ro/~vniculescu 1 Structura cursului Programare orientata-obiect paradigma de programare notiuni de baza concepte principii
More informationla Microsoft Office Communicator pentru ca modificarea selecţiei dispozitivului telefonic să se actualizeze.
QUICK START GUIDE Plug-in de selec ie a telefonului pentru caracteristica de control al apelurilor din Microsoft Office Communicator pentru Cisco Unified Presence versiunea 7.0(3) Prezentare generală 2
More informationMemorator funcţii predefinite C++ Funcţii matematice
Funcţii matematice Funcţia Prototipul funcţiei Fişierul pow(x,y) double pow (double x,double y); long double pow ( long double x, long double y); float pow (float x,float y); double pow (double x, int
More informationCunoașterea și înțelegerea conceptelor specifice programării orientate obiect. Abilități de programare în limbajele de programare C și C++
Programare orientată obiect Obiective Cunoașterea și înțelegerea conceptelor specifice programării orientate obiect Abilități de programare în limbajele de programare C și C++ Obiectivele specifice: Scrierea
More informationGPS SOLUTIONS FOR ROADS: DIFFERENT GPS OPERATION TYPES AND APPLICATIONS SOLUTII GPS PENTRU DRUMURI: DIFERITE TIPURI DE OPERATII GPS SI APLICATII
GPS SOLUTIONS FOR ROADS: DIFFERENT GPS OPERATION TYPES AND APPLICATIONS SOLUTII GPS PENTRU DRUMURI: DIFERITE TIPURI DE OPERATII GPS SI APLICATII Abstract: All GPS Surveying is carried out using differential
More informationTRANSFORMATOARE DE CURENT
MAK 140/80 TRANSFORMATOARE DE CURENT Aceste transformatoare de curent pot fi utilizate pentru curenţi de la 200 A la 2000 A. Ele sunt transformatoare de curent de tip inel. Sunt fabricate conform standardelor
More informationUniversitatea Constantin Brâncuşi din Târgu-Jiu. Aplicații JAVA. Lect.dr. Adrian Runceanu
Universitatea Constantin Brâncuşi din Târgu-Jiu Aplicații JAVA Lect.dr. Adrian Runceanu Curs 4 Applet-uri în Java 10.03.2016 Curs - Aplicatii Java 2 Applet-uri în Java 1. Ce este un applet? 2. Crearea
More informationDesign patterns. Conf. univ. dr. Catalin Boja
Design patterns Conf. univ. dr. Catalin Boja catalin.boja@ie.ase.ro http://acs.ase.ro/software-quality-testing Calitate cod sursă Principii urmărite în scrierea codului: Ușor de citit/înțeles clar Ușor
More informationPROGRAMARE ORIENTATĂ PE OBIECTE
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu PROGRAMARE ORIENTATĂ PE OBIECTE Lector dr. Adrian Runceanu 03.01.2014 1 Curs 15 Limbajul
More informationThread-uri. Continut. Thread-uri 1
Thread-uri Continut 1 Prezentare teoretică 1.1 Introducere 1.1.1 Diferente dintre thread-uri şi procese 1.2 Avantajele thread-urilor 1.3 Tipuri de thread-uri 1.3.1 Kernel Level Threads 1.3.2 User Level
More informationTehnologii Java. Curs - Cristian Frăsinaru. Facultatea de Informatică Universitatea Al. I. Cuza Iaşi.
Tehnologii Java Curs - Cristian Frăsinaru acf@infoiasi.ro Facultatea de Informatică Universitatea Al. I. Cuza Iaşi Introducere Tehnologii Java p.1/2 Tehnologii Java p.2/2 Informatii despre curs Scopul
More informationCursul 4 9,10 Martie
Cursul 4 9,10 Martie adiftene@infoiasi.ro 1 Din Cursurile trecute Forward Engineering Reverse Engineering Diagrame de Interacţiuni Diagrame de Secvenţă Diagrame de Colaborare 2 Diagrame Diagrame UML Diagrame
More informationProgramarea orientata pe obiecte. Curs 2 addon -Clase si obiecte in Java -Interfetele ca abstractizare
Programarea orientata pe obiecte Curs 2 addon -Clase si obiecte in Java -Interfetele ca abstractizare 1 Clase si obiecte ex din lumea reala Card bancar: Concept abstract Asigura functionalitate: verifica
More informationProprietati CSS pentru margini - BORDER
Proprietati CSS pentru margini - BORDER Property Values Description border border-bottom border-width border-bottom-width O proprietate pentru setarea celor 3 proprietati intr-o singura linie O proprietate
More informationDesign patterns. Assoc. prof. Catalin Boja, PhD
Design patterns Assoc. prof. Catalin Boja, PhD catalin.boja@ie.ase.ro http://acs.ase.ro/software-quality-testing Source code quality Principles for writing the code: Easy to read / understand - clear Easy
More information7. Exploatarea vulnerabilităńilor
7. Exploatarea vulnerabilităńilor Exploit-uri de securitate Program special conceput pentru a exploata vulnerabilităńile de securitate existente pe sistemele de calcul cu scopul compromiterii securităńii
More informationÎmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect).
Îmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect). Supraîncărcarea numelui de funcţii (overloading) In C nu este permisa
More information2) Fiecare apel relativ la un obiect este transformat într-un apel obişnuit. Exemplu: myscreen.home(); devine home Screen( &myscreen );
6 Clase C++ (II) 6.1 Pointerul implicit this Fiecare obiect al unei clase conţine câte o copie a datelor membre. Screen myscreen, bufscreen; // fiecare are propriul numar de linii (row), de coloane(col),
More informationinsert update delete INSERT, UPDATE DELETE
DECLANŞATOARE Un declanşator (trigger) este o procedură care este executată în mod implicit când asupra tabelului asociat se execută o comandă insert, update sau delete. Declanşatoarele sunt medii prin
More informationNivelul inferior de prelucrare a fişierelor
INTRĂRI ŞI IEŞIRI Operaţiile de I/E în limbajul C se realizează prin intermediul unor funcţii din biblioteca standard a limbajului. Majoritatea operaţiilor de I/E se realizează în ipoteza că datele sunt
More informationCapitolul 4. Fisiere de date si Tablespace. F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5.
Capitolul 4 Fisiere de date si Tablespace 1 Continut capitol Ca structura fizica, baza de date contine fisiere de control, de date si de Redo log. Ca structura logica o baza de date se compune din: Tablespace
More informationStructura unui program in C++
Structura unui program in C++ Programare = implementarea / rezolvarea unei probleme (sarcini) cu ajutorul calculatorului. Cod sursă = Editarea utilizând sintaxa unui limbaj de programare (implementare)
More informationOperatori. Programare orientată pe obiecte. Despre precedenńa operatorilor. Sugestii pentru if
Operatori Programare orientată pe obiecte 1. Câteva observańii despre operatori 2. Structuri de control în Java 3. Clase şi Obiecte Sunt tratańi în detaliu la laborator Câteva diferenńe fańă de C: Operatorul
More informationCYBERPRIVACY VS CYBERSECURITY. Intimitatea vs securitatea informatiilor in industria medicala. Daniel Nistor, Director Executiv
CYBERPRIVACY VS CYBERSECURITY Intimitatea vs securitatea informatiilor in industria medicala Daniel Nistor, Director Executiv 1 Statistici Cybersecurity este sectorul tehnologic cu cea mai mare rata de
More informationCe este o clasă? Programare orientată pe obiecte. Ce este o clasă? Clase
Ce este o clasă? Programare orientată pe obiecte 1. Recapitulare 2. InformaŃii despre examen O clasă este în primul rând o descriere a obiectelor (instanńelor), clasei respective Clasa conńine unul sau
More informationAlgorithms and Programming
Algorithms and Programming Lecture 6 Classes, UML, NumPy Camelia Chira Course content Introduction in the software development process Procedural programming Modular programming Abstract data types Software
More information1. Funcţii referitoare la o singură înregistrare (single-row functions)
Laborator 4 Limbajul SQL 1. Funcţii referitoare la o singură înregistrare (single-row functions) 2. Funcţii referitoare la mai multe înregistrări (multiple-row functions) 1. Funcţii referitoare la o singură
More informationCurs 10 Applet-uri. Ce este un applet? Crearea unui applet. Curs 10
Curs 10 Applet-uri Ce este un applet? Crearea unui applet simplu Ciclul de viata al unui applet Interfata grafica cu utilizatorul Definirea si folosirea parametrilor Tag-ul Folosirea firelor de
More informationProiectarea bazelor de date. PL/SQL Pachete în PL/SQL # 12. Adrian Runceanu
Proiectarea bazelor de date # 12 PL/SQL Pachete în PL/SQL 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 12 Pachete în PL/SQL Proiectarea bazelor de date 2 Cuprins Pachete în PL/SQL 1. Crearea pachetelor
More informationDesign patterns. Conf. univ. dr. Catalin Boja
Design patterns Conf. univ. dr. Catalin Boja catalin.boja@ie.ase.ro Calitate cod sursă Principii urmărite în scrierea codului: Ușor de citit/înțeles clar Ușor de modificat structurat Ușor de reutilizat
More informationPNI SmartCAM. versiune Android. - manual de utilizare-
PNI SmartCAM versiune Android - manual de utilizare- Introducere: Acest manual se refera la instalarea si utilizarea aplicatiei PNI SmartCAM, software necesar monitorizarii atat camerei cu IP PNI 631W,
More informationPROGRAMAREA ORIENTATĂ OBIECT CURS 13 - PROGRAMARE II
1 PROGRAMAREA ORIENTATĂ OBIECT CURS 13 - PROGRAMARE II 2 CURS ANTERIOR Introducere în Standard Template Library Containere secvenţiale Containere asociative Adaptori ai containerelor Algoritmi String 3
More informationMoștenire Polimorfism Metode pur virtuale, Clase abstracte Operații de intrări ieșiri în C++ Fișiere
Curs 7 Moștenire, Polimorfism Moștenire Polimorfism Metode pur virtuale, Clase abstracte Operații de intrări ieșiri în C++ Fișiere Curs 6 Gestiunea memoriei in C++ Alocare dinamica. Destructor. RAII. Rule
More informationLucrarea 5 Fire de Execuţie în Java. Mecanisme de Sincronizare.
Lucrarea 5 Fire de Execuţie în Java. Mecanisme de Sincronizare. În această lucrare vor fi prezentate mecanismele Java pentru programarea concurentă. Fire de Execuţie Există două moduri în care pot fi create
More informationSECTION 5 L1 - Group By and Having Clauses
SECTION 5 L1 - Group By and Having Clauses Clauza Group By 1. SELECT department_id, AVG(salary),MAX(salary) 2. SELECT job_id, last_name, AVG(salary) GROUP BY job_id; ORA-00979: not a GROUP BY expression
More informationProgramarea calculatoarelor
Programarea calculatoarelor #3 C++ Elemente introductive ale limbajului C++ 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 3 Elemente introductive ale limbajului C++ 02.11.2016 Curs - Programarea calculatoarelor
More informationDesign patterns. Conf. univ. dr. Catalin Boja
Design patterns Conf. univ. dr. Catalin Boja catalin.boja@ie.ase.ro Calitate cod sursă Principii urmărite în scrierea codului: Ușor de citit/înțeles clar Ușor de modificat structurat Ușor de reutilizat
More informationProgramare avansată Introducere
Programare avansată Introducere Desfășurarea cursului Scopul Motivația Modul de lucru Platforma de programare Documentația Evaluarea Laborator: probleme, proiecte, referate ușor Examen: test scris greu
More informationLaboratorul 6 Mediul de dezvoltare Eclipse
Laboratorul 6 Mediul de dezvoltare Eclipse Ce ne propunem astăzi? În laboratorul de astăzi ne propunem familiarizarea cu mediul de dezvoltare Eclipse, crearea unei aplicańii simple de tip Hello World,
More information