6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni
|
|
- Sophia Rodgers
- 5 years ago
- Views:
Transcription
1 6. Excepţii şi aserţiuni 1 6. Excepţii şi aserţiuni Tipuri excepţii Clauza throws Generarea excepţiilor Clauzele try, catch şi finally Recomandări pentru utilizarea excepţiilor Aserţiuni 2
2 Introducere Motive pentru eşuarea programelor la execuţie: Testare insuficientă înainte de livrare Nu s-au anticipat la proiectare toate cazurile speciale Fenomene din afara controlului programului: date greşite, erori hardware Testarea situaţiilor speciale se poate face cu construcţii condiţionale: if (! (ref.metoda()) == null){ // secv.normala else{ // secv. de eroare Prea multe astfel de construcţii fac programul greu de înţeles Se acceptă frecvent un compromis între corectitudinea (robusteţea) programului şi claritate Deja la C++ a apărut un mecanism care face posibilă verificarea erorilor fără a afecta lizibilitatea: excepţiile, care, în plus, semnalează dirct erorile, fără valori speciale(fanioane) Java: excepţiile sunt obiecte care fac parte din contractul metodelor Un obiect excepţie este generat în situaţia de eroare şi poate fi interceptat (în metoda unde a fost generat sau mai sus în stiva de apeluri) Pentru excepţii neinterceptate rezultatul este, de regulă, terminarea firului de execuţie curent Aserţiuni: condiţii care trebuie să fie satisfăcute într-un punct din program; dacă nu, se semnalează eroare (prin generarea unei excepţii); depind numai de logica internă a programului Tipuri excepţii (1) Excepţiile fiind obiecte, Java are o clasă de bază din care pot fi derivate excepţii corespunzătoare oricărei situaţii deosebite Clasa de bază este Throwable, derivată din Object Are 3 constructori: public Throwable (String message) public Throwable (String message, Throwable cause) public Throwable(Throwable cause) Una dintre metode: public void printstacktrace() Două categorii de excepţii: Verificabile- se poate verifica la compilare că o metodă generează numai excepţii declarate în contract Neverificabile erori ce nu pot fi interceptate Excepţiile def. de programatori într-o aplicaţie sunt obligatoriu verificabile, derivate din Exception, subclasă a lui Throwable Pachetele platformei Java definesc multe excepţii verificabile, ex. IOException, ClassNotFoundException, NoSuchMethodException Excepţiile neverificabile: Erori Excepţii în suportul de execuţie Erorile sunt derivate din clasa Error şi reprezintă condiţii anormale serioase: AssertionError, VirtualMachineError Excepţiile în suportul de execuţie sunt derivate din RuntimeException şi reprezintă condiţii speciale la funcţionarea normală a maşinii virtuale: NullPointerException, ClassCastException 4
3 6.1. Tipuri excepţii (2) Clauza throws Trebuie să conţină excepţiile verificabile care pot fi generate într-o metodă şi nu sunt tratate în acea metodă public void ometoda()throws Exceptia1, Exceptia2 { // corpul metodei Utilizatorii metodei sunt informaţi despre excepţiile asupra cărora trebuie să acţioneze Compilatorul Java poate verifica dacă metoda generează (şi nu tratează) doar excepţiile declarate Este permis ca o metodă să genereze excepţii de tipuri extinse din cele declarate în clauza throws Nu se recomandă declararea unor tipuri generale de excepţii: se pierde informaţie importantă pentru utilizator Constructorii, ca şi metodele, pot genera excepţii verificabile din clauza lor throws; la fel, blocurile de iniţializare nestatice, dacă excepţiile sunt declarate în fiecare constructor Iniţializatorii şi blocurile de iniţializare statice nu pot genera excepţii, nici direct, nici prin apelarea unor metode Un utilizator al unei metode cu clauză throws poate: Să intercepteze excepţia şi să o trateze Să intercepteze excepţia şi să o pună în corespondenţă cu una din excepţiile propriei clauze throws Să declare excepţia în propria clauză throws Clauza throws a unei metode înlocuitoare a uneia moştenite sau care implementează o metodă abstractă trebuie să fie compatibilă cu clauza throws a metodei moştenite Explicaţie: regiunile de cod scrise pentru a utiliza metode din superclasă trebuie să rămână valide şi când la execuţie se folosesc metode înlocuitoare Dacă o metodă este moştenită multiplu (din superclasă şi o interfaţă), clauza metodei înlocuitoare trebuie să fie compatibilă cu toate clauzele throws moştenite 6
4 6.3. Generarea excepţiilor Se foloseşte instrucţiunea throw: throw expression; expression trebuie să conducă la o valoare care poate fi atribuite unei referinţe Throwable; de regulă, constă în generarea unui obiect cu new Exemplu de utilizare: public void debitcont(double suma)throws SoldInsuficient{ if (sold < suma) throw new SoldInsuficient(); else sold -= suma; Aplicaţia unde apare metoda trebuie să conţină şi definiţia clasei SoldInsuficient, cel puţin sub forma: public class SoldInsuficient{ Fără clauza throws, codul metodei debitcont nu ar fi acceptat de compilatorul Java Când se generează o excepţie, expresia sau instrucţiunea unde se produce este terminată abrupt şi controlul trece imediat la blocul sau apelul de metodă imediat anterior, până se ajunge la interceptarea excepţiei sau la terminarea firului de execuţie Excepţiile generate prin throw sunt excepţii sincrone, fiind produse ca rezultat al unei acţiuni directe în program; la fel sunt excepţiile neverificabile produse în suportul de execuţie (ex. la o împărţire cu zero) Excepţiile asincrone se produc ca rezultat al unor evenimente din afara programului, ex. erori interne în maşina virtuală Java; nu pot fi tratate în program Clauzele try, catch şi finally (1) Cod pentru interceptarea şi tratarea unor excepţii: try{ // instructiuni catch (tipexceptie1 ident1){ // instructiuni catch (tipexceptie2 ident2){ // instructiuni... finally { // instructiuni Corpul clauzei try este executat până la terminarea cu succes sau până la generarea unei excepţii Dacă s-a generat excepţie, se examinează, pe rând, clauzele catch pentru a vedea dacă tipul obiectului excepţie generat poate fi atribuit tipului din clauza catch Dacă se poate face atribuirea, se execută blocul ataşat clauzei catch respective, restul clauzelor catch fiind omise O clauză try poate avea asociate oricâte clauze catch (inclusiv zero), toate cu tipuri excepţie diferite Dacă excepţia generată nu corespunde nici unei clauze catch, ea se va propaga spre clauze try exterioare Dacă este prezentă finally, obligatoriu ultima, codul ei se execută după ce celelalte prelucrări legate de try au fost terminate, indiferent dacă s- a generat sau nu excepţie În particular, codul lui finally se execută şi dacă înainte s-a executat o instrucţiune return sau break Generarea excepţiei poate avea loc direct în corpul lui try sau într-o metodă apelată din corpul lui try 8
5 6.4. Clauzele try, catch şi finally (2) O clauză catch este asemănătoare unei metode şi este prevăzută cu un parametru, excepţia interceptată În corpul clauzei catch apar instrucţiunile de tratare a excepţiei, dar este posibil şi să fie generată din nou excepţia, care se propagă astfel spre cod situat mai sus în stiva de apeluri Dacă excepţiile interceptate formează o ierarhie, cele mai specifice trebuie să apară primele (altfel nu vor mai fi examinateî), compilatorul Java sesizând eroare în caz contrar O construcţie try-catchfinally tratează o singură excepţie:dacă într-o clauză catch sau în finally se generează excepţie, va fi propagată Exemplu de utilizare: rescrierea metodei debitcont cu tratarea excepţiei SoldInsuficient: public void debitcont (double suma) { try{ if (sold < suma) throw new SoldInsuficient(); else sold -= suma; catch (SoldInsuficient e){ System.out.println("S oldul "+sold+"este insuficient."); System.exit(); Detalii despre finally (1) Clauza finally se ataşează la try dacă logica aplicaţiei cere o secvenţă de acţiuni indiferent cum se termină try: refacerea stării unui obiect, eliberarea unor resurse non-obiect (ex. fişiere) Există două idiomuri de programare pentru utilizarea corectă a clauzei finally, fiecare implicând două acţiuni: pre şi post Primul idiom: dacă apare pre, obligatoriu trebuie să apară şi post: pre(); try { //instructiuni finally { post(); Dacă în pre se generează excepţie, nu se execută nici post Al doilea idiom: pre returnează o valoare, iar post trebuie să aibă loc numai dacă acea valoare arată că pre s-a terminat cu succes: Object val = null; try { val = pre(); // alte actiuni finally { if (val!= null) post(); Şi aici s-ar putea folosi secvenţa de la primul idiom, dar, prin plasarea lui pre() în blocul try se pot intercepta şi excepţiile generate de pre() Cu pre() în afara blocului try, ar fi fost necesar un try extern celui curent, deci s-ar lucra cu blocuri try încuibate, ceea ce ar complica structura programului 10
6 Detalii despre finally (2) O clauză finally poate fi folosită şi pentru acţiuni de curăţire după return, break, continue, dacă acestea se includ într-un try; astfel apar blocuri try fără catch Motivele intrării într-o clauză finally: Terminarea normală a corpului lui try Execuţia unei instrucţiuni de control a fluxului (return, break etc) Generarea unei excepţii în corpul lui try Motivul intrării rămâne valid dacă terminarea clauzei finally se face normal; altfel, motivul iniţial este înlocuit cu cel din finally Exemplu: class FinallyTest{ public static int tryreturn(){ try{ return 1; finally { return 2; public static void main(string[] args) { System.out.println( "Valoarea returnata: +tryreturn()); Programul va tipări valoarea 2, deşi în blocul try s-a executat return 1; Recomandări pentru utilizarea excepţiilor Excepţiile trebuie să indice condiţii neaşteptate în execuţia unui program, nu condiţii speciale, dar previzibile Exemplu: la citirea unui fişier este previzibil să se ajungă la sfârşitul fişierului, dar e neaşteptat să se citească dincolo de sfârşit Alt exemplu: parcurgerea unui tablou se face cu: for (int i = 0; i <tab.length; i++){ //operatii cu elementele tabloului nu cu: try { int i = 0; while (true){ //operatii cu elementele tabloului catch (IndexOutOfBoundsException e) { Se preferă excepţii verificabile pentru situaţiile în care se poate interveni prin program pentru corecţii şi cele neverificabile pentru erori unde nu e posibilă (sau necesară) intervenţia Pentru excepţiile verificabile se recomandă metode în clasa excepţiei care să furnizeze informaţii utile pentru tratare Se recomandă utilizarea excepţiilor neverificabile predefinite în pachetele Java (se reduce numărul de clase din aplicaţii) 12
7 6.6.Aserţiuni Sintaxa şi semantica aserţiunilor (1) Aserţiuni: expresii ce reprezintă condiţii considerate ca trebuind să fie adevărate în anumite puncte de program Dacă o astfel de condiţie nu e satisfăcută, se semnalează eroare la execuţie Două forme sintactice pentru instrucţiunea assert: assert expression1; assert expression1: expression2; expression1: expresie cu valoare booleană expression2: orice expresie care are valoare (nu poate fi apel de metodă care returnează void) Dacă la execuţia lui assert valoarea expression1 este true, execuţia continuă normal, altfel se generează excepţia neverificabilă AssertionError Excepţia AssertionError poate fi interceptată în program; dacă nu, se va afişa un mesaj de forma: Exception in thread main java.lang.assertionerror at ProgramName.main(ProgramName.java :23) Dacă este prezentă expression2, reprezentarea ei ca String se adaugă după AssertionError în mesajul de eroare (explică mai complet natura erorii) Exemplu: public class Assert{ public static void main(string[] args){ double number = Double.parseDouble(args[0]); assert number >= 0: "numar < 0"; System.out.print("Radical din: " + number + " este: "); System.out.println(Math.sqrt(numb er)) Aserţiuni Sintaxa şi semantica aserţiunilor (2) Rularea programului în forma: java Assert -7 conduce la rezultatul: Radical din: -7 este: NaN Dacă programul este rulat cu: java ea Assert -7 rezultatul va fi: Exception in thread main java.lang.assertionerror: numar < 0 at Assert.main(Assert.java:4 ) Obs. Aserţiunile sunt implicit dezautorizate în maşina virtuală Java Chiar dacă AssertionError este interceptată într-o metodă, ca mai jos, este necesară autorizarea explicită a aserţiunilor public class AssertTC{ public static void main(string[] args){ double number = Double.parseDouble(args[0]); try{ assert number >= 0: "numar < 0"; System.out.print("Radical din: " + number + " este: "); System.out.println(Math.sqrt(nu mber)); catch(assertionerror e){ System.out.println("Eroare: numar negativ"); e.printstacktrace(); 14
8 6.6. Aserţiuni Utilizarea aserţiunilor Aserţiunile permit programare defensivă: reducerea efectului erorilor chiar când nu e cunoscută localizarea acestora Se folosesc în mod normal numai pentru faza de testare a unei aplicaţii nu trebuie să aibă efecte secundare Trei forme principale de utilizare: La începutul unei metode, pentru a verifica dacă e apelată conform contractului (precondiţie) La sfârşitul unei metode, pentru a verifica dacă rezultatul e plauzibil (postcondiţie) În corpul unei metode, pentru a verifica dacă anumite proprietăţi sunt afectate (invarianţi) Variantă de program cu postcondiţie: public class AssertPrePost{ public static void main(string[] args){ double number = Double.parseDouble(args[0]); assert number >= 0: "numar negativ"; double rez = Math.sqrt(number); assert Math.abs(rez*rez - number) <= 1e-6 : "imprecis"; System.out.print("Radical din: " + number + " este: "); System.out.println(rez); 15
Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice
Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice "Îmbunătăţirea proceselor şi activităţilor educaţionale în cadrul programelor de licenţă şi masterat în domeniul
More informationMetrici LPR interfatare cu Barix Barionet 50 -
Metrici LPR interfatare cu Barix Barionet 50 - Barionet 50 este un lan controller produs de Barix, care poate fi folosit in combinatie cu Metrici LPR, pentru a deschide bariera atunci cand un numar de
More informationVersionare - GIT ALIN ZAMFIROIU
Versionare - GIT ALIN ZAMFIROIU Controlul versiunilor - necesitate Caracterul colaborativ al proiectelor; Backup pentru codul scris Istoricul modificarilor Terminologie și concepte VCS Version Control
More informationTratarea excepţiilor
Lucrarea 6 Tratarea excepţiilor Cuprins Tratarea clasică a excepţiilor...1 Mecanismul de emitere-captare a excepţiilor...3 Instrucţiunea throw...5 Clauza throws...5 Care tipuri de excepţie vor apărea într-o
More informationReflexia şi refracţia luminii. Aplicaţii. Valerica Baban
Reflexia şi refracţia luminii. Aplicaţii. Sumar 1. Indicele de refracţie al unui mediu 2. Reflexia şi refracţia luminii. Legi. 3. Reflexia totală 4. Oglinda plană 5. Reflexia şi refracţia luminii în natură
More informationStructura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin
Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin Chapter 3 ADUNAREA ȘI SCĂDEREA NUMERELOR BINARE CU SEMN CONȚINUT Adunarea FXP în cod direct Sumator FXP în cod direct Scăderea
More informationSubiecte Clasa a VI-a
(40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii
More informationProgramare orientată pe obiecte. 1. Erori şi excepţii în Java
Programare orientată pe obiecte 1. Erori şi excepţii în Java De ce mecanisme de tratare a erorilor? Costul de remediere a unei erori nerezolvate poate crește exponențial odată cu timpul: Cost Eroare Timp
More informationTratarea excepţiilor
Tratarea excepţiilor 1. Scopul lucrării Obiectivele de învățare ale acestei sesiuni de laborator sunt: Înțelegerea noțiunii de excepție și învățarea modului corect de folosire a excepțiilor Acumularea
More information2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N
Pentru a putea vizualiza imaginile unei camere web IP conectată într-un router ZTE H218N sau H298N, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe
More informationSemnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)
Semnale şi sisteme Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) http://shannon.etc.upt.ro/teaching/ssist/ 1 OBIECTIVELE CURSULUI Disciplina îşi propune să familiarizeze
More informationCERERI SELECT PE O TABELA
SQL - 1 CERERI SELECT PE O TABELA 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325
More informationLucrarea de laborator nr. 4
Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri
More informationAuditul financiar la IMM-uri: de la limitare la oportunitate
Auditul financiar la IMM-uri: de la limitare la oportunitate 3 noiembrie 2017 Clemente Kiss KPMG in Romania Agenda Ce este un audit la un IMM? Comparatie: audit/revizuire/compilare Diferente: audit/revizuire/compilare
More informationINTEROGĂRI ÎN SQL SERVER
INTEROGĂRI ÎN SQL SERVER Principala operaţie efectuată într-o bază de date este operaţia de extragere a datelor, care se realizează cu ajutorul unei clauze SELECT. SELECT Clauza SELECT are o sintaxă foarte
More informationModalitǎţi de clasificare a datelor cantitative
Modalitǎţi de clasificare a datelor cantitative Modul de stabilire a claselor determinarea pragurilor minime şi maxime ale fiecǎrei clase - determinǎ modul în care sunt atribuite valorile fiecǎrei clase
More informationProcesarea Imaginilor
Procesarea Imaginilor Curs 11 Extragerea informańiei 3D prin stereoviziune Principiile Stereoviziunii Pentru observarea lumii reale avem nevoie de informańie 3D Într-o imagine avem doar două dimensiuni
More informationMecanismul de decontare a cererilor de plata
Mecanismul de decontare a cererilor de plata Autoritatea de Management pentru Programul Operaţional Sectorial Creşterea Competitivităţii Economice (POS CCE) Ministerul Fondurilor Europene - Iunie - iulie
More informationGHID DE TERMENI MEDIA
GHID DE TERMENI MEDIA Definitii si explicatii 1. Target Group si Universe Target Group - grupul demografic care a fost identificat ca fiind grupul cheie de consumatori ai unui brand. Toate activitatile
More informationGhid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows
Ghid identificare versiune AWP, instalare AWP 4.5.4 şi verificare importare certificat în Store-ul de Windows Data: 28.11.14 Versiune: V1.1 Nume fişiser: Ghid identificare versiune AWP, instalare AWP 4-5-4
More informationOlimpiad«Estonia, 2003
Problema s«pt«m nii 128 a) Dintr-o tabl«p«trat«(2n + 1) (2n + 1) se ndep«rteaz«p«tr«telul din centru. Pentru ce valori ale lui n se poate pava suprafata r«mas«cu dale L precum cele din figura de mai jos?
More informationARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)
ARBORI AVL (denumiti dupa Adelson-Velskii si Landis, 1962) Georgy Maximovich Adelson-Velsky (Russian: Гео ргий Макси мович Адельсо н- Ве льский; name is sometimes transliterated as Georgii Adelson-Velskii)
More informationAspecte controversate în Procedura Insolvenţei şi posibile soluţii
www.pwc.com/ro Aspecte controversate în Procedura Insolvenţei şi posibile soluţii 1 Perioada de observaţie - Vânzarea de stocuri aduse în garanţie, în cursul normal al activității - Tratamentul leasingului
More informationProiectarea Sistemelor Software Complexe
Proiectarea Sistemelor Software Complexe Curs 3 Principii de Proiectare Orientată pe Obiecte Principiile de proiectare orientată pe obiecte au fost formulate pentru a servi ca reguli pentru evitarea proiectării
More informationMods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip
Mods euro truck simulator 2 harta romaniei by elyxir Mods euro truck simulator 2 harta romaniei by elyxir.zip 26/07/2015 Download mods euro truck simulator 2 harta Harta Romaniei pentru Euro Truck Simulator
More informationR O M Â N I A CURTEA CONSTITUŢIONALĂ
R O M Â N I A CURTEA CONSTITUŢIONALĂ Palatul Parlamentului Calea 13 Septembrie nr. 2, Intrarea B1, Sectorul 5, 050725 Bucureşti, România Telefon: (+40-21) 312 34 84; 335 62 09 Fax: (+40-21) 312 43 59;
More informationArbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }
Arbori Arborii, ca şi listele, sunt structuri dinamice. Elementele structurale ale unui arbore sunt noduri şi arce orientate care unesc nodurile. Deci, în fond, un arbore este un graf orientat degenerat.
More informationClase si obiecte. 1. Scopul lucrării. 2. Clase simple
Clase si obiecte 1. Scopul lucrării Obiectivele de învățare ale acestei sesiuni de laborator sunt cunoașterea și stăpânirea: Învățarea modului corect de declarare a claselor, definirea si instantierea
More informationMetoda BACKTRACKING. prof. Jiduc Gabriel
Metoda BACKTRACKING prof. Jiduc Gabriel Un algoritm backtracking este un algoritm de căutare sistematică și exhausivă a tuturor soluțiilor posibile, dintre care se poate alege apoi soluția optimă. Problemele
More informationD în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm
Preparatory Problems 1Se dau punctele coliniare A, B, C, D în această ordine aî AB 4 cm, AC cm, BD 15cm a) calculați lungimile segmentelor BC, CD, AD b) determinați distanța dintre mijloacele segmentelor
More informationPlatformă de e-learning și curriculă e-content pentru învățământul superior tehnic
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul
More informationTextul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND
Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document
More information6. Bucle. 6.1 Instrucţiunea while
6. Bucle În capitolul trecut am văzut cum putem selecta diferite instrucţiuni pentru execuţie folosind instrucţiunea if. O buclă este o structură de control care provoacă executarea unei instrucţiuni sau
More informationCAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET
CAIETUL DE SARCINI Organizare evenimente VS/2014/0442 Euro network supporting innovation for green jobs GREENET Str. Dem. I. Dobrescu, nr. 2-4, Sector 1, CAIET DE SARCINI Obiectul licitaţiei: Kick off,
More informationUpdate firmware aparat foto
Update firmware aparat foto Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încredere că puteţi realiza acest update cu succes, acesta
More information1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample.
Aplicaţia MdiExample Aplicaţia implementează: Deschiderea şi închiderea ferestrelor child. Minimizarea şi maximizarea ferestrelor. Aranjarea ferestrelor. Tratarea mesajului de atenţionare la ieşirea din
More informationREVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC
REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul II Nr. 7 aprilie 2013 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din
More informationLaborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog
Laborator 1 Programare declarativă O paradigmă de programare în care controlul fluxului de execuție este lăsat la latitudinea implementării limbajului, spre deosebire de programarea imperativă în care
More informationINFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )
FLEXIMARK FCC din oțel inoxidabil este un sistem de marcare personalizată în relief pentru cabluri și componente, pentru medii dure, fiind rezistent la acizi și la coroziune. Informații Included in FLEXIMARK
More informationExcel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.
Excel Advanced Curriculum Școala Informală de IT Tel: +4.0744.679.530 Web: www.scoalainformala.ro / www.informalschool.com E-mail: info@scoalainformala.ro Cuprins 1. Funcții Excel pentru avansați 2. Alte
More informationCandlesticks. 14 Martie Lector : Alexandru Preda, CFTe
Candlesticks 14 Martie 2013 Lector : Alexandru Preda, CFTe Istorie Munehisa Homma - (1724-1803) Ojima Rice Market in Osaka 1710 devine si piata futures Parintele candlesticks Samurai In 1755 a scris The
More informationCERERI SELECT PE MAI MULTE TABELE
SQL - 2 CERERI SELECT PE MAI MULTE TABELE 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890
More informationMetoda de programare BACKTRACKING
Metoda de programare BACKTRACKING Sumar 1. Competenţe............................................ 3 2. Descrierea generală a metodei............................. 4 3......................... 7 4. Probleme..............................................
More informationProiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu
Proiectarea bazelor de date # 11 PL/SQL Funcții în PL/SQL (partea a II-a) 2018 Adrian Runceanu www.runceanu.ro/adrian Curs 11 Funcţii în PL/SQL (partea II) Proiectarea bazelor de date 2 Cuprins Funcţii
More informationDocumentaţie Tehnică
Documentaţie Tehnică Verificare TVA API Ultima actualizare: 27 Aprilie 2018 www.verificaretva.ro 021-310.67.91 / 92 info@verificaretva.ro Cuprins 1. Cum funcţionează?... 3 2. Fluxul de date... 3 3. Metoda
More informationThe First TST for the JBMO Satu Mare, April 6, 2018
The First TST for the JBMO Satu Mare, April 6, 08 Problem. Prove that the equation x +y +z = x+y +z + has no rational solutions. Solution. The equation can be written equivalently (x ) + (y ) + (z ) =
More informationMS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila
MS POWER POINT s.l.dr.ing.ciprian-bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Pornire PowerPoint Pentru accesarea programului PowerPoint se parcurg următorii paşi: Clic pe butonul de
More informationPlatformă de e-learning și curriculă e-content pentru învățământul superior tehnic
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul
More informationCHAMPIONS LEAGUE 2017 SPONSOR:
NOUA STRUCTURĂ a Ch League Pe viitor numai fosta divizie A va purta numele Champions League. Fosta divizie B va purta numele Challenger League iar fosta divizie C se va numi Promotional League. CHAMPIONS
More informationUtilizarea firelor de executie în Java si C#
Revista Informatica Economica, nr. 1(29)/2004 77 Utilizarea firelor de executie în Java si C# Lect.dr. Paul POCATILU Catedra de Informatica Economica, A.S.E. Bucuresti Using multithreading programming
More informationLa fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",
La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - (ex: "9", "125", 1573" - se va scrie fara ghilimele) Parola: -
More informationNume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final
Enunt si descriere aplicatie. Se presupune ca o organizatie (firma, banca, etc.) trebuie sa trimita scrisori prin posta unui numar (n=500, 900,...) foarte mare de clienti pe care sa -i informeze cu diverse
More informationMai bine. Pentru c putem.
1 CUPRINS: 1. SUMAR APLICAŢIE...... 3 1.1 Introducere... 3 1.2 Tipul de aplicaţie... 3 2. SPECIFICAŢII FUNCŢIONALE... 3 3. INSTALARE... 3 3.1 Introducere... 3 3.2 Ce trebuie să verificaţi înainte de a
More informationLa fel ca şi noţiunile de abstractizare şi încapsulare, ierarhizarea este un concept fundamental
Lecţia 5 Relaţia de moştenire Între obiectele lumii care ne înconjoară există de multe ori anumite relaţii. Spre exemplu, putem spune despre un obiect autovehicul că are ca şi parte componentă un obiect
More informationProiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu
Proiectarea bazelor de date # 13 PL/SQL Înregistrări și Colecții 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 13 Înregistrări și Colecții Proiectarea bazelor de date 2 Înregistrări și Colecții în PL/SQL
More informationPropuneri pentru teme de licență
Propuneri pentru teme de licență Departament Automatizări Eaton România Instalație de pompare cu rotire în funcție de timpul de funcționare Tablou electric cu 1 pompă pilot + 3 pompe mari, cu rotirea lor
More informationPlatformă de e-learning și curriculă e-content pentru învățământul superior tehnic
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul
More informationMulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii
Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii ilincamircea@yahoo.com TEMA III.1 v1 : ORGANIZAREA DATELOR UNUI PROGRAM C/C++ ÎN MO postat 02.11.2016 (sinteză) Coținutul
More informationSubiectele pentru proba practică din cadrul examenului de Paradigme de Programare Sesiunea iunie 2015
Subiectele pentru proba practică din cadrul examenului de Paradigme de Programare Sesiunea iunie 2015 Considerații generale cu privire la proba practică: La examen studentul va avea acces la cursurile
More informationEN teava vopsita cu capete canelate tip VICTAULIC
ArcelorMittal Tubular Products Iasi SA EN 10217-1 teava vopsita cu capete canelate tip VICTAULIC Page 1 ( 4 ) 1. Scop Documentul specifica cerintele tehnice de livrare pentru tevi EN 10217-1 cu capete
More informationManagementul referinţelor cu
TUTORIALE DE CULTURA INFORMAŢIEI Citarea surselor de informare cu instrumente software Managementul referinţelor cu Bibliotecar Lenuţa Ursachi PE SCURT Este gratuit Poţi adăuga fişiere PDF Poţi organiza,
More informationUpdating the Nomographical Diagrams for Dimensioning the Concrete Slabs
Acta Technica Napocensis: Civil Engineering & Architecture Vol. 57, No. 1 (2014) Journal homepage: http://constructii.utcluj.ro/actacivileng Updating the Nomographical Diagrams for Dimensioning the Concrete
More informationÎn continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.
O condiţie necesară şi suficientă ca un număr să fie număr Fibonacci Autor: prof. Staicu Ovidiu Ninel Colegiul Economic Petre S. Aurelian Slatina, jud. Olt 1. Introducere Propuse de Leonardo Pisa în 1202,
More informationFuncţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.
Baze de date-anul 2 Laborator 4 SQL Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. I. [Funcţii grup şi clauza GROUP BY] Clauza GROUP BY este utilizată pentru a diviza liniile unui
More informationCapitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL
Capitolul 4 SUBCERERI 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325 VASILE 2
More informationClean Code * Asist. dr. Bogdan Iancu. Asist. dr. Alin Zamfiroiu. * sau de ce e mai important felul în care scriem cod decât ceea ce scriem
Clean Code * * sau de ce e mai important felul în care scriem cod decât ceea ce scriem Asist. dr. Bogdan Iancu Asist. dr. Alin Zamfiroiu Despre ce vom discuta De ce clean code? Principii Convenții de nume
More informationTema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell
Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Termen de trimitere a temei: Luni, 31 martie 2008, ora 23:55 1. Specificatii functionale O arhitectura de tip Cell consta din urmatoarele
More informationIerarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală
Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple Memoria cache Memoria virtuală 1 Memorii RAM: datele sunt identificate cu ajutorul unor adrese unice Memorii asociative:
More informationCurs 1 17 Februarie Adrian Iftene
Curs 1 17 Februarie 2011 Adrian Iftene adiftene@info.uaic.ro 1 Limbajele calculatorului Compilate Interpretate Scripting P-cod Orientate pe aspect Orientate spre date 2 Cum lucrează? Orice program trebuie
More informationSubprograme şi pachete PL/SQL
Subprograme şi pachete PL/SQL Subprograme PL/SQL Subprogramele sunt blocuri PL/SQL care au nume, acceptă parametri şi pot fi apelate din alte blocuri PL/SQL. Subprogramele pot fi declarate ca proceduri
More informationISBN-13:
Regresii liniare 2.Liniarizarea expresiilor neliniare (Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, 3rd ed, ISBN-13:978-0-07-340110-2 ) Există cazuri în care aproximarea
More informationProceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.
Proceduri stocate Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. 1 Odată cu deschiderea editorului SQL, apare și bara de instrumente
More informationX-Fit S Manual de utilizare
X-Fit S Manual de utilizare Compatibilitate Acest produs este compatibil doar cu dispozitivele ce au următoarele specificații: ios: Versiune 7.0 sau mai nouă, Bluetooth 4.0 Android: Versiune 4.3 sau mai
More informationFigura x.1 Ecranul de pornire al mediului de dezvoltare
x. Mediul de dezvoltare MICROSOFT VISUAL C++ În cadrul acestui capitol vom prezenta Microsoft Visual C++, din cadrul suitei Microsoft Visual Studio 2012, care este un mediu de programare care suportă dezvoltarea
More informationFundamentele Programării Limbajul de programare PYTHON
Fundamentele Programării Limbajul de programare PYTHON Ce este programarea Hardware / software Hardware - computere(desktop,laptop, etc) și alte dispozitive (mobile, atm, etc) Software - programe sau sisteme
More informationGrafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB
Grafuri bipartite Lecție de probă, informatică clasa a XI-a Mihai Bărbulescu b12mihai@gmail.com Facultatea de Automatică și Calculatoare, UPB Colegiul Național de Informatică Tudor Vianu București 27 februarie
More informationSAG MITTIGATION TECHNICS USING DSTATCOMS
Eng. Adrian-Alexandru Moldovan, PhD student Tehnical University of Cluj Napoca. REZUMAT. Căderile de tensiune sunt una dintre cele mai frecvente probleme care pot apărea pe o linie de producţie. Căderi
More informationINTERPRETOARE DE COMENZI
Rularea lui determin afişarea mesajului hello world la consola 3.2. Facilităţi ale interpretoarelor de comenzi 3.1. Introducere Capitolul 3 INTERPRETOARE DE COMENZI Interpretorul de comenzi este un program
More informationBaze de date distribuite și mobile
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Baze de date distribuite și mobile Lect.dr. Adrian Runceanu Curs 3 Model fizic şi model
More informationBehavioral design patterns (comportamentale) ALIN ZAMFIROIU
Behavioral design patterns (comportamentale) ALIN ZAMFIROIU Behavioral design patterns Furnizează soluții pentru o mai bună interacțiune între obiecte și clase. Aceste design pattern-uri controlează relațiile
More informationCurs 5. Programare Delphi
Programare Delphi Curs 5 Elementele de bază ale limbajului Delphi (III). A. Declaraţii şi instrucţiuni http://docwiki.embarcadero.com/radstudio/en/declarations_and_statements Un program Pascal constă dintr-o
More informationearning every day-ahead your trust stepping forward to the future opcom operatorul pie?ei de energie electricã și de gaze naturale din România Opcom
earning every day-ahead your trust stepping forward to the future opcom operatorul pie?ei de energie electricã și de gaze naturale din România Opcom RAPORT DE PIA?Ã LUNAR MARTIE 218 Piaţa pentru Ziua Următoare
More informationINSTRUMENTE DE MARKETING ÎN PRACTICĂ:
INSTRUMENTE DE MARKETING ÎN PRACTICĂ: Marketing prin Google CUM VĂ AJUTĂ ACEST CURS? Este un curs util tuturor celor implicați în coordonarea sau dezvoltarea de campanii de marketingși comunicare online.
More informationCalculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-
Universitatea Politehnica Bucureşti Facultatea de Automaticăşi Calculatoare Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-
More informationM. Joldoş Îndrumător de laborator 7. Moştenire. Moştenirea
Moştenirea 1 super(...) constructorul superclasei (părintelui) Un obiect are câmpurile propriei clase plus câmpurile clasei părinte, ale clasei bunic ş.a.m.d. până sus la la clasa rădăcină, clasa Object.
More informationI. Instrucţiuni PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE
PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE I. Instrucţiuni Contextul de condiţii în care se realizează diverse prelucrări se descrie prin instrucţiuni. Acestea permit înscrierea
More information9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.
9. CURSOARE Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. Cursoare sunt zone de memorie care ne permit să alocam o zonă de memorie
More informationEvoluția pieței de capital din România. 09 iunie 2018
Evoluția pieței de capital din România 09 iunie 2018 Realizări recente Realizări recente IPO-uri realizate în 2017 și 2018 IPO în valoare de EUR 312.2 mn IPO pe Piața Principală, derulat în perioada 24
More informationPROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV)
PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV) Instrucţiuni condiţionale Instrucţiunea reprezintă o formă de ramificare a ordinii de execuţie a instrucţiunilor programului. Ramificarea se face
More informationVizualizarea documentelor xml
Vizualizarea documentelor xml Fără un fişier de stil asociat: browserul vizualizează conținutul documentului xml, cu posibilitatea de a vedea/ascunde descendenții unui nod din structura arborescentă Exemplu:
More informationLucrarea Nr.1. Sisteme de operare. Generalitati
Lucrarea Nr.1 Sisteme de operare. Generalitati Scopul lucrarii Lucrarea îsi propune familiarizarea studentilor cu sistemele de operare disponibile în laborator, respectiv acele sisteme de operare cu ajutorul
More informationCrearea aplicaţiilor consolă
Crearea aplicaţiilor consolă Pentru a realiza aplicaţii consolă (ca şi cele din Borland Pascal sau Borland C) în mediul de dezvoltare Visual Studio, trebuie să instalăm o versiune a acestuia, eventual
More information3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER
3.2 Arhitectura setului de instrucţiuni ISA Copyright Paul GASNER Programarea CPU Programele scrise în limbaje de nivel înalt trebuie compilate pentru a obţine un program executabil Din punctul de vedere
More informationCurs 12. Dezvoltarea orientată pe aspecte. AspectJ.
Curs 12. Dezvoltarea orientată pe aspecte. AspectJ. Aspect Oriented Programming (AOP). Programarea orientată obiect este metodologia de bază astăzi pentru implementarea programelor software. Paradigma
More informationGeneratorul cu flux axial cu stator interior nemagnetic-model de laborator.
Generatorul cu flux axial cu stator interior nemagnetic-model de laborator. Pentru identificarea performanţelor la funţionarea în sarcină la diferite trepte de turaţii ale generatorului cu flux axial fară
More informationARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.
ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. I. SCOPUL LUCRĂRILOR Lucrările prezintă reprezentarea
More informationColegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL
LIMBAJUL SQL Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Este un limbaj neprocedural
More informationPrima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on
Prima Evadare Ac9vity Report 2015 The biggest MTB marathon from Eastern Europe 7th edi9on Prima Evadare in numbers Par%cipants subscribed 3.228, 2.733 started the race and 2.400 finished the race 40 Photographers
More informationSISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul
SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM I. Sisteme de calcul 1. Arhitectura generală a unui sistem de calcul DPI UCC MEM Canale I/E DPI/E, MEM externe UAL DPE UCP UC Fig.1. Structura
More informationCe pot face pe hi5? Organizare si facilitati. Pagina de Home
Ce este Hi5!? hi5 este un website social care, în decursul anului 2007, a fost unul din cele 25 cele mai vizitate site-uri de pe Internet. Compania a fost fondată în 2003 iar pana in anul 2007 a ajuns
More information