Subiectele pentru proba practică din cadrul examenului de Paradigme de Programare Sesiunea iunie 2015

Similar documents
Procesarea Imaginilor

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Metrici LPR interfatare cu Barix Barionet 50 -

Subiecte Clasa a VI-a

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Versionare - GIT ALIN ZAMFIROIU

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Olimpiad«Estonia, 2003

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Modalitǎţi de clasificare a datelor cantitative

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Mecanismul de decontare a cererilor de plata

X-Fit S Manual de utilizare

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Update firmware aparat foto

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

EN teava vopsita cu capete canelate tip VICTAULIC

Auditul financiar la IMM-uri: de la limitare la oportunitate

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

Propuneri pentru teme de licență

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

ISBN-13:

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

HEAPSORT I. CONSIDERAŢII TEORETICE

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

Managementul referinţelor cu

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Metoda de programare BACKTRACKING

Behavioral design patterns (comportamentale) ALIN ZAMFIROIU

Metoda BACKTRACKING. prof. Jiduc Gabriel

6. Bucle. 6.1 Instrucţiunea while

Itemi Sisteme de Operare

Lucrarea de laborator nr. 4

GHID DE TERMENI MEDIA

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Utilizarea firelor de executie în Java si C#

INTEROGĂRI ÎN SQL SERVER

Planificarea anuala a activitatii de invatare clasa a 9-a (L3) Manualul: ENTERPRISE 2

CHAMPIONS LEAGUE 2017 SPONSOR:

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

CERERI SELECT PE O TABELA

The First TST for the JBMO Satu Mare, April 6, 2018

Constructii sintetizabile in verilog

Evoluția pieței de capital din România. 09 iunie 2018

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample.

Proiectarea Sistemelor Software Complexe

Prelucrarea numerică a semnalelor

Microsoft Excel Platforma 4

CERERI SELECT PE MAI MULTE TABELE

Lucrarea Nr.1. Sisteme de operare. Generalitati

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

Class D Power Amplifiers

2. In the pattern below, which number belongs in the box? 0,5,4,9,8,13,12,17,16, A 15 B 19 C 20 D 21

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL

Baze de date distribuite și mobile

Universitatea George Bariţiu, Braşov

Managementul Proiectelor Software Metode de dezvoltare

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Multicore Multiprocesoare Cluster-e

KAJOT V.RO BLACK PLANET JOC DE NOROC CU RISC LIMITAT

Clean 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

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

Internet-ul a apărut în 1960 când, în SUA, Ministerul Apărării a creat Agenţia pentru proiecte de Cercetare Avansată (ARPA), care are ca obiectiv

COMUNICAȚII INFORMATIZARE

PACHETE DE PROMOVARE

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice

The driving force for your business.

Reţele Neuronale Artificiale în MATLAB

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

Actualizarea firmware-ului pentru aparatul foto digital SLR

Figura x.1 Ecranul de pornire al mediului de dezvoltare

Documentaţie Tehnică

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

Aplicaţia nr. 1. Proiectarea unei aplicaţii în LabWindows/CVI

Lucrarea nr. 7. Configurarea reţelelor în Linux

Capitolul IV Utilizarea bazelor de date în Internet

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

HTML Reference Prof. Marius Măciucă

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:

Informaţie privind condiţiile de eliberare a creditelor destinate persoanelor fizice - consumatori a BC MOBIASBANCĂ Groupe Société Generale S.A.

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

TCP (Transmission Control Protocol)

Universitatea Lucian Blaga din Sibiu Facultatea de inginerie Hermann Oberth Catedra de Calculatoare şi automatizări

4. Asignarea adreselor IP

Drumuri minime în graf Manualul profesorului

6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

Internet si comunicare pentru studiu

Transcription:

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 de Paradigme de Programare și la documentația Java SE 8 care poate fi descărcată de la adresa: http://www.oracle.com/technetwork/java/javase/documentation/jdk8 doc downloads 2133158.html. Accesul la Internet va fi blocat. Biletul va fi compus din două subiecte din lista de mai jos. Combinația de două subiecte va fi generată în mod aleatoriu. Timpul de rezolvare pentru ambele subiecte va fi de 2 ore. Pentru a promova proba de laborator trebuie îndeplinite următoarele: Măcar una din problemele de pe bilet trebuie rezolvată complet în decursul celor două ore. Studentul trebuie să fie capabil să răspundă la întrebări cu privire la rezolvarea problemei. În cazul în care studentul primește o notă mai mică ca 5 la proba de laborator nu va mai susține proba teoretică, examenul considerându se picat. Pentru studenții care au rezolvat o problemă complet se mai poate extinde cu maxim jumătate de oră examinarea practică în cazul în care mai au nevoie de timp ca să termine ce a de a doua problemă de pe bilet. Lista de subiecte 1. Creați o ierarhie de clase în C++ formată din clasa abstractă Mamifer cu atributele tip (evil,divine) și data nașterii, și metodele: mănâncă, merge la baie, hrănește animalele. Să se deriveze o clasă Bunica și clasele PisicaDeCartier, PisicaSiameza și PisicaEgipteana. Acestea din urma mai au metoda miauna unde se aplică polimorfismul și fiecare miaună diferit. Acțiunile în acest caz sunt implementate prin mesaje afișate la consolă. 2. Să se scrie un program ASM care calculează factorialul și suma. Procesorul țintă va fi x286. Variabilele vor fi definite 3. Să se scrie un program ASM care calculează suma elementelor unui vector de întregi. Variabilele vor fi definite 4. Să se implementeze în ASM ordonarea unui vector folosind metoda swap din curs. Variabilele vor fi definite 5. Să se implementeze în ASM ordonarea unui vector folosind metoda insertion sort. Variabilele vor fi definite 6. Să se implementeze în C++ folosind template o stiva cu rezervarea dinamică a memoriei. Se vor prezenta și diagramele de clase de 7. Să se implementeze în C++ folosind template o lista circulară cu rezervarea dinamică a memoriei. Se vor prezenta și diagramele de clase de 8. Să se implementeze în C++ folosind template o lista de numere complexe precum și operatori supraîncărcați ca în curs, cu rezervarea dinamică a memoriei. Se vor prezenta și diagramele de clase de 9. Să se implementeze în C++ problema hambarului din curs la care se adaugă câteva reguli de interacțiune între elementele din hambar: instanțieri aleatorii ale unui număr și tip de animale se execută/interacționează în clasa Curte pe baza regulilor. 1

10. Să se implementeze în Java folosind interfețe o stiva cu rezervarea dinamică a memoriei. Se vor prezenta și diagramele de clase de 11. Să se implementeze în Java folosind interfețe o lista circulară cu rezervarea dinamică a memoriei. Se vor prezenta și diagramele de clase de 12. Să se implementeze în Java aplicația ceasului digital după modelul din curs. 13. Să se implementeze în Java, folosind oricare din cele două metode prezentate la curs, un program care să implementeze funcționarea automatului prezentat mai jos prin graful său de fluența. Se vor prezenta și diagramele de clase de 14. Să se scrie o aplicație în Java care definește o clasă Numărător care, la schimbarea valorii, generează un eveniment CounterEvent. Acest eveniment va fi receptat de o clasă Receptor care, la apariția evenimentelor, afișează valoarea numărătorului. Se vor prezenta și diagramele de clase de 15. Să se scrie o aplicație Java folosind AWT care afișează o fereastră având o caseta text și trei butoane având etichetele 1,2,3. La apăsarea butoanelor în caseta text să apară eticheta butonului apăsat. Se vor prezenta și diagramele de clase de 16. Să se scrie o aplicație Java folosind Swing care afișează o fereastră având o caseta text și trei butoane având etichetele 1,2,3. La apăsarea butoanelor în caseta text să apară eticheta butonului apăsat. Se vor prezenta și diagramele de clase de 17. Să se scrie o aplicație Java folosind Swing care se rulează într o fereastră și la apăsarea mouse ului în zona ferestrei să apară o eticheta care să conțină coordonatele apăsării mouse ului. Se vor prezenta și diagramele de clase de 18. Să se scrie o aplicație Java folosind AWT care se rulează într o fereastră și la apăsarea mouse ului în zona ferestrei să apară o eticheta care să conțină coordonatele apăsării mouse ului. Se vor prezenta și diagramele de clase de 19. Să se scrie o aplicație Java care implementează în mod grafic folosind un Canvas jocul spânzurătoarea. Se va folosi un dicționar cu zece cuvinte definit intern sau preluat dintr un fișier. Se vor prezenta și diagramele de clase de 20. Să se scrie o aplicație Java care implementează în mod grafic folosind un JPanel jocul spânzurătoarea. Se va folosi un dicționar cu zece cuvinte definit intern sau preluat dintr un fișier. Se vor prezenta și diagramele de clase de 21. Să se scrie o aplicație Java care implementează în AWT un editor de tip Notepad (avem unde edita, bare de scroll și butoane control). Se vor prezenta și diagramele de clase de 22. Să se scrie o aplicație Java care implementează în Swing un editor de tip Notepad (avem unde edita, bare de scroll și butoane control). Se vor prezenta și diagramele de clase de 23. Pornind de la fabrica de forme prezentată în curs, să se construiască în Java o fabrică de nave spațiale: una pătrat, una triunghi și una cerc care să fie desenate pe Canvas. Se vor prezenta și diagramele de clase de 2

24. Pornind de la fabrica de forme prezentata în curs, să se construiască în Java o fabrica de nave spațiale una pătrat, una triunghi și una cerc care să fie desenate pe JPanel. Se vor prezenta și diagramele de clase de 25. Pornind de la fabrica de forme prezentata în curs, să se implementeze în Java pentru o navă pătrat desenată în Canvas, o fabrica de foc în care Să se obțină trei tipuri de foc: linear (mitraliera), blast (o minge de foc) și rachete (mai multe linii). Se vor prezenta și diagramele de clase de 26. Pornind de la exemplul din curs, să se creeze și să se testeze în Java (cu acțiuni modelate prin mesaje consolă) un Adapter între clasa Bunica și oricare din clasele Pisica, Caine și Purcel. Se vor prezenta și diagramele de clase de 27. Să se creeze în Java o aplicație pentru rezervarea unei camera de hotel. Camerele (cu atributele și operatorii lor) tratare a listei de așteptare în caz de cerere de rezervare care nu poate fi satisfăcută imediat. Se vor prezenta și diagramele de 28. Să se creeze în Java o aplicație pentru rezervarea unei camera de hotel. Camerele (cu atributele și operatorii lor) tratare plății următorului serviciu suplimentar: consum din barul camerei când se generează nota de plată. Se vor prezenta și diagramele de 29. Să se creeze în Java o aplicație pentru rezervarea unei camera de hotel. Camerele (cu atributele și operatorii lor) tratare plății următorului serviciu suplimentar: plata servicii SPA când se generează nota de plată. Se vor prezenta și diagramele de 30. Să se implementeze un program Java care va implementa un scheduler pentru thread pool (ferma de fire de execuție) în conformitate cu algoritmul FCFS prezentat la curs. 31. Pornind de la exemplul de buffer implementat cu producător consumator din curs (cu eliminarea blocajului) Să se implementeze în Java o coadă folosită în transmiterea și recepția de șiruri de caractere între mai multe thread uri (un fel de chat unde fiecare client este pe câte un thread). 32. Să se construiască în Java un pool de thread uri care să facă niște calcule simple (gen sume, inducție. etc) să pună în evidență hazardul de curse (vezi în curs). 33. Să se implementeze în Java un calcul cu 4 thread uri simultane care fiecare calculează pe un subinterval folosind modelul master/slave. 34. Să se proceseze în Java calculul simultan pentru 4 valori diferite ale lui n luate dintr o coadă de către 4 taskuri diferite (model peer). 35. Să se realizeze în Java o procesare după model pipeline a unui tablou de întregi. Primul thread din pipe înmulțește toate elementele vectorului V cu o constantă alpha, următorul thread din pipe va ordona vectorul, iar final ultimul thread îl va afișa în coordonate x și y. 36. Să se implementeze în Java mai multe cozi de thread uri (care execută în bucla calcule matematice complicate) cu priorități diferite și să se implementeze mecanismul de prevenire a înfometării (cel de îmbătrânire). 37. Pentru sincronizarea unor thread uri, să se implementeze în Java protocolul cu simularea limitării priorității (highest locker). 38. Să se scrie în Java un program simplu cu thread uri (pornind de la exemplul din curs) care să folosească atât lockul pe instanță cât și cel static. 39. Pe baza exemplului de la curs (sursa modulului de simulator clc: openbookproject.net/py4fun/logic/logic.py), să 3

40. Pe baza exemplului de la curs (sursa modulului de simulator clc: openbookproject.net/py4fun/logic/logic.py), să 41. Pe baza exemplului de la curs (sursa modulului de simulator clc: openbookproject.net/py4fun/logic/logic.py), să 42. Folosind exemplul din curs, să se implementeze în Python următorul automat finit: 43. Să se creeze un program Python care primește un fișier oarecare (exe, dll, doc etc) la intrare și produce într un fișier text cu același nume un hash cu md5 peste el. 44. Pe baza exemplului (folosind TCP) din curs. Să se realizeze în Python o aplicație de chat simplu între doi parteneri. 45. Să se scrie un program Haskell care să inverseze o listă cu foldr și apoi să calculeze factorialul pentru lungimea listei respective. 4

46. Să se scrie un program Haskell care să sorteze un text folosind implementarea quicksort din curs și apoi să calculeze factorialul pentru lungimea textului respectiv. 47. Să se scrie un program Haskell care să verifice dacă un număr este număr. 48. Să se scrie un program Haskell care să citească un text și să pună cuvintele într un arbore binar. Apoi să fie folosit pe post de dictionary. 5