Sunteți pe pagina 1din 12

Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare

An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 1 Subiect de examen numărul: 2

Realizati un program pentru conversia distantelor din kilometri in Definiti notiunile: algoritm, limbaj pseudocod. Pentru calculul
mile marine (1 mila marina = 1,852 metri). Programul va cere celui mai mic divizor comun (sau a numerelor Fibonacci, etc),
distanta (un numar intreg), apoi va intreba daca este vorba de mile imaginati constructia unui algoritm in pseudocod. Scrieti apoi si
sau de kilometri, pe urma va afisa conversia. Folositi-va de urmatorul testati programul echivalent Java.
cod:
InputStreamReader stdin = new InputStreamReader (System.in);
BufferedReader console = new BufferedReader (stdin);

String s;
float a = 0, b = 0;

try
{
System.out.print ("Introduceti a: ");
s = console.readLine ();
a = Float.parseFloat (s);
System.out.print ("Introduceti b: ");
s = console.readLine ();
b = Float.parseFloat (s);
}
catch (IOException ioex)
{
System.out.println ("Input error");
System.exit (1);
}
catch (NumberFormatException nfex)
{
System.out.println ("\"" + nfex.getMessage () + "\"" +
" is not numeric");
System.exit (1);
}

System.out.print (a + " + " + b + " = ");


String result = String.format ("%1$07.3f", a+b);
System.out.println (result);
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 3 Subiect de examen numărul: 4

Un iepure merge prin padure culegind ciuperci. Ciupercile cresc cate Realizati o metoda pentru calculul impartirii a doua numere. Metoda
doua pe fiecare fata a unui copac, una pe fata dinspre nord cealalta va trebui sa intoarca rezultatul obtinut sau, in cazul impartirii cu zero,
spre fata dinspre sud. Consideram urmatoarele operatii elementare: sa genereze exceptia IllegalArgumentException. Folositi-va de codul:
● deplasarea iepurasului intre 2 copaci vecini;
● culegerea ciupercii de catre iepuras; InputStreamReader stdin = new InputStreamReader (System.in);
BufferedReader console = new BufferedReader (stdin);
● pregatirea ciupercilor pentru consum.
String s;
Mai presupunem ca in padure sunt N copaci, asezati in linie. Care float a = 0, b = 0;
este ordinul de timp al tuturor operatiilor facute de iepuras, daca el se
try
comporta in urmatoarele feluri: {
System.out.print ("Introduceti a: ");
1. pleaca de acasa, viziteaza toti copacii, culegand ciupercile de s = console.readLine ();
pe partea de nord, apoi se intoarce, vizitand iarasi aceiasi a = Float.parseFloat (s);
System.out.print ("Introduceti b: ");
copaci, culegand ciuperca de pe partea de sud; s = console.readLine ();
2. pleaca de acasa, viziteaza toti copacii o data, culege ambele }
b = Float.parseFloat (s);

ciuperci de pe fiecare copac, iar odata ajuns la capatul padurii, catch (IOException ioex)
{
se intoarce cu autobuzul; System.out.println ("Input error");
3. il trimite pe raton sa culeaga ciupercile in locul sau. System.exit (1);
}
catch (NumberFormatException nfex)
{
System.out.println ("\"" + nfex.getMessage () + "\"" +
" is not numeric");
System.exit (1);
}

System.out.print (a + " + " + b + " = ");


String result = String.format ("%1$07.3f", a+b);
System.out.println (result);
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 5 Subiect de examen numărul: 6

Realizati un program care foloseste doua bucle for imbricate si Realizati un pachet care sa contina o clasa care contine un constructor
operatorul modulo ( % ) pentru a detecta primele o suta de numere default (un constructor fara parametri). Constructorul va tipari un
prime (numerele intregi care nu sunt divizibile cu nici un numar in mesaj. Creati un obiect de acest tip, folosind pachetul astfel creat.
afara de 1 si de numarul insusi). Ulterior, mai adaugati un constructor care primeste ca parametru un
String, pe care il va tipari odata cu mesajul.
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 7 Subiect de examen numărul: 8

Realizati un program ce contine o clasa denumita “Animal”, Realizati un program cu ajutorul caruia sa ilustrati diferenta intre
abstractizind o gradina zoologica. Clasa va contine doua variabile operatorul “==” si metoda equals(). Programul trebuie sa creeze o
membre – una denumita “nume”, ce contine numele animalului, alta clasa ce implementeaza metoda equals(). De exemplu, puteti utiliza o
“count” ce numara cate obiecte de acest tip (“Animal”) sunt create. variabila membru de tip String ce pastreaza denumirea unui obiect
Constructorul clasei va trebui sa permita initializarea campului (masa, scaun etc.). Pe urma creati mai multe obiecte de acest tip si
“nume” cu denumirea animalului respectiv, la creare. Realizati si comparati-le intre ele folosind cele doua posibilitati. Comparati si
metoda toString() pentru a afla denumirea obiectului in timpul rularii. obiecte cu continut identic. Explicati si ilustrati diferentele dintre cele
Programul principal trebuie sa creeze doua obiecte si sa tipareasca doua posibilitati de comparare.
campurile obiectelor create. De asemenea, interogind variabila
membra “count”, (variabila statica), aceasta trebuie sa contina
numarul de obiecte de tip “Animal”create in total.
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 9 Subiect de examen numărul: 10

Realizati un program ce contine un array de 100 valori intregi. Realizati un program ce contine o metoda care primeste ca parametru
Completati pozitiile, de la 0 la 99, cu numerele de la 100 la 1. Creati un array de intregi. Metoda va trebui sa gaseasca cel mai mare numar
un al doilea array, de 200 de elemente, in care, incepind de la pozitia din array si sa-l inlocuiasca cu valoarea 0. Array-ul original va fi
50, trebuie sa se regaseasca elementele primului array. Restul returnat drept rezultat. Programul va afisa atat array-ul modificat cat
elementelor trebuie sa aiba valoarea -1. Folositi functia si cel returnat ca rezultat al metodei.
System.arraycopy (sursa, idx_sursa, dest, idx_dest, numar).
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 11 Subiect de examen numărul: 12

Realizati un program care sa realizeze reuniunea a doua multimi. Realizati un program care sa faca suma a doua numere cu sute de
Multimile sunt realizate cu ajutorul a doua array-uri de intregi. cifre zecimale. Cifrele numerelor vor fi stocate in doua array-uri de
Procesul de reuniune trebuie sa genereze un al treilea array, unde sa intregi. Programul trebuie sa afiseze cele doua numere alese precum
regasim o singura copie dupa toate elementele din cele doua array-uri si suma lor. Pentru exemplificare, folositi numere cu 5-10 cifre.
sursa, fara a avea elemente duplicate.
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 13 Subiect de examen numărul: 14

Realizati un program care implementeaza o clasa de tip nod al unei Realizati un program care implementeaza o clasa de tip nod al unei
liste simplu inlantuite. Clasa va contine doua variabile membre: liste simplu inlantuite. Clasa va contine doua variabile membre:
“valoare” si “nod” (legatura spre nodul urmator). Programul trebuie “valoare” si “nod” (legatura spre nodul urmator). Programul trebuie
sa creeze o lista cu trei noduri, legate unul dupa altul. Pe urma, sa contina o metoda care sa primeasca drept parametru primul nod al
parcurgind lista de la inceput, programul va afisa valorile nodurilor. unei liste si sa returneze ca rezultat un array format cu toate
elementele listei.
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 15 Subiect de examen numărul: 16

Realizati un program care sa implementeze o stiva de intregi. Stiva va Realizati un program care sa implementeze o lista circulara sub forma
fi implementata cu ajutorul unui array de 20 de caractere. Clasa va unui array de 10 intregi. Lista trebuie sa ofere metode pentru
contine metode pentru “void push(int)” si respectiv “int pop()”, iar inserarea si stergerea elementelor din coada. Inserarea se face printr-
pentru cazul in care cele doua metode intorc eroare, se va arunca un capat, respectiv stergerea se face de la celalalt capat. Pentru a tine
exceptia “IllegalArgumentException”. Programul va realiza afisarea evidenta elementelor din coada, folositi doua variabile membre,
unui sir de caractere invers (de la coada spre cap). Folositi metodele “head” si “tail”, care memoreaza indexul primului element din coada
clasei String, charAt(int x), care intoarce caracterul de pe pozitia x, respectiv indexul primei locatii libere dupa ultimul element din
respectiv length(), care intoarce lungimea sirului. coada. Elementele se adauga cu incrementarea lui “tail”, respectiv se
sterg prin incrementarea lui “head”. Conditia de coada vida este
“head == tail”. Programul trebuie sa introduca in coada 4 elemente,
pe urma sa scoata 3 si sa le afiseze pe acestea din urma.
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 17 Subiect de examen numărul: 18

Realizati un program ce contine o metoda recursiva. Metoda primeste Ce se afiseaza pentru apelul f(3) in urmatoarele cazuri:
ca parametru un numar intreg si scrie acest numar invers, pornind de
la ultima cifra catre prima. Pentru aceasta, ea va returna numarul a)
public static void f(int n)
format din concatenarea cifrei (nr mod 10) cu rezultatul apelului {
aceleiasi metode aplicata pentru (nr div 10). System.out.println (n);
if (n < 8)
f(n * 2);
}

b)
public static void f(int n)
{
if (n < 8)
f(n * 2);
System.out.println (n);
}

c)
public static void f(int n)
{
System.out.println (n);
if (n < 8)
f(n * 2);
System.out.println (n);
}
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 19 Subiect de examen numărul: 20

Se defineste urmatoarea structura de fractal: Creati doua clase A si B, cu constructori default, care tiparesc un
1. se traseaza o linie orizontala anunt la apelul constructorului. Derivati o noua clasa C din A si
2. linia se imparte in trei segmente adaugati un obiect variabila-membra de tip B in interiorul lui A. Nu
3. pe segmentul din mijloc se construieste un triungi echilateral, creati constructor pentru C. Creati un obiect de tip C si explicati ce se
considerind segmentul initial ca baza intampla.
4. se sterge baza triunghiului (segmentul initial)
5. considerind fiecare din cele 4 linii obtinute, se trece la
realizarea pasilor 2 – 5 pentru fiecare dintre ele

Desenati structura obtinuta daca iteram pasul 5 de trei ori.


Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 21 Subiect de examen numărul: 22

Creati o clasa cu trei metode supraincarcate (metodele vor avea Realizati o clasa de baza “A” cu o variabila membra denumita
acelasi nume dar lista de parametri diferita). Fiecare din metode va “contor” si doua metode denumite “up” si “down”, care pot primi un
trebui sa afiseze un text distinct, precum si parametrii primiti. Apelati parametru intreg. Variabila membra este incrementata sau
din program fiecare din cele trei metode. decrementata cu valoarea acelui parametru. Realizati o alta clasa “B”
derivata din “A” care sa suprascrie cele doua metode,
adunind/scazind de doua ori valoare data ca parametru. In program,
creati un obiect de tip B. Chemati, pentru acest obiect, atat metodele
din B cat si cele originale, din A. Tipariti rezultatele obtinute
(sugestie: suprascrieti metoda “toString”).
Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare Universitatea Transilvania Braşov Catedra de Electronică şi Calculatoare
An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II An universitar: 2007 – 2008 Specializarea: Electronică Aplicată, an II

Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely Titular: ş.l. Honorius Gâlmeanu Şef catedră: prof. dr. ing. Iuliu Szekely

Disciplina: Structuri de Date in Java Disciplina: Structuri de Date in Java


Subiect de examen numărul: 23 Subiect de examen numărul: 24

Realizati o clasa abstracta, denumita “Rozator”, cu o variabila Realizati o interfata care contine constanta reala PI (3.1415..) precum
membra denumita “culoare” de tip String. Clasa contine o metoda si doua metode “int aria()” si respectiv “int perimetru()”.
abstracta denumita “String nume()” care va specifica, ulterior, tipul Implementati aceasta interfata pentru doua clase distincte, denumite
de rozator (iepure, soarece etc). Clasa va mai contine o metoda “Cerc” respectiv “Patrat”. Clasa “Cerc” va contine o variabila
toString() care va returna aceasta variabila membru “culoare” membra denumita “raza” iar clasa “Patrat” o variabila membre
concatenata cu rezultatul metodei “nume()”. Derivati clase precum denumita “latura”. Ambele clase vor implementa interfata respectiva.
“Soarece”, “Iepure”, “Veverita” din casa “Rozator” care Realizati un program care creaza obiecte de tip “Patrat” respectiv
implementeaza corespunzator metoda “nume()”. Utilizati clasele “Cerc” si cheama metodele respective.
pentru a crea obiecte diferite si apelati pentru fiecare dintre ele
metoda “toString()”.

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