Model Examen IP

Posted in Facultate with tags , , on 9 June 2012 by Alina

2012, multumiri Georgiana-Ramona Turcsanyi

1. GRASP – caract principale [intrebare cu -10 puncte]
2. Trasatura importanta a patternului Mediator
3. Ce inseamna o iteratie in usability testing
4. Ierarhia intr-o firma de dezv software
5. Ce design pattern ar trebui folosit intr-o aplicatie ce va emite facturi
6. Rolul incapsularii [-10]
7. Pasii din ciclul de viata al unui bug dpdv al unui QA [semi trick question, pentru ca lucruri gen stabilirea prioritatii o face QA managerul, nu QA-ul in sine. aveti grija la nuante]
8. Paradigma RUP: scop si trasaturi
9. Rolul prototipizarii
10. Ce etapa e o sursa semnificativa de erori [era grila, nu-mi amintesc variantele. Raspunsul corect era discutia cu clientul]
11. Activity diagram: elementele
12. La ce etape din proiect participa clientul
13. Este posibil ca un soft sa inceteze sa functioneze pentru un client? De ce?

Advertisements

Model Examen TAP

Posted in Facultate with tags , , on 7 June 2012 by Alina

2011, multumiri pt Ana-Maria Daneliuc

Model examen BDA

Posted in Facultate with tags , , on 7 June 2012 by Alina

Multumim, Sterpu Mihai

1. Sa se creeze tabela de obiecte xml temp1. Pe baza informatiilor din tabelele case_filme, filme, distributie, actori, sa se insereze in aceasta tabela cate un document xml pentru fiecare casa de filme. De exemplu, pentru casa de filme cu id-ul “11” documentul va fi:

<CASE_FILME idcasa=”11″>
<numecasa>CASA1</numecasa>
<LISTFILME nr_filme=”2″>
<FILM codf=”1″>
<denfilm>film1</denfilm>
<LIST_ACTORI nr_actori=”3″>
<ACTOR coda=”1″ pret=”20″>
<nume>actor1</nume>
</ACTOR>
<ACTOR coda=”2″ pret=”200″>
<nume>actor2</nume>
</ACTOR>
<ACTOR coda=”3″ pret=”150″>
<nume>actor3</nume>
</ACTOR>
</LIST_ACTORI>
</FILM>
<FILM codf=”2″>
<denfilm>film2</denfilm>
<LIST_ACTORI nr_actori=”3″>
<ACTOR coda=”1″ pret=”20″>
<nume>actor1</nume>
</ACTOR>
<ACTOR coda=”4″ pret=”120″>
<nume>actor4</nume>
</ACTOR>
<ACTOR coda=”6″ pret=”240″>
<nume>actor6</nume>
</ACTOR>
</LIST_ACTORI>
</FILM>
</LISTFILME>
</CASE_FILME>

Atributele nr_filme si nr_actori reprezinta numarul de actori pe care il are casa respectiva/filmul respectiv.

2. Creati tabela normala temp2 ( idcasa, listfilme), unde idcasa reprezinta id-ul casei de filme iar listfilme obiect de tip xml. Pe baza informatiilor din tabelele case_filme si temp1, populati tabela temp2. O linie din aceasta tabela va contine id-ul unei case de filme si fragmentul xml LISTFILME asociat, din temp1.

3. Creati tabelele normale case_filme1 (idcasa, numec), filme1(codf,casa,den) si distrib1(codf, coda, nume, pret). Folosind doar tabela temp2, inserati datele corespunzatoare in aceste tabele.

4. Afisati datele din tabelele mai sus create.

5. Stergeti tabelele si tipurile de date create.

Rezolvare
———

set long 10000;
set serveroutput on;
clear screen;

drop table temp1 force;
drop table temp2 force;
drop table case_filme1;
drop table filme1;
drop table distrib1;

create table case_filme1(
idcasa number(3),
numec varchar2(10)
);

create table filme1(
codf number(3),
casa number(3),
den varchar2(20)
);

create table distrib1(
codf number(3),
coda number(3),
nume varchar2(10),
pret number(5)
);

create table temp1 of xmltype;

create table temp2(
idcasa number(3),
listfilme xmltype
);

— cerinta 1

declare
cursor c1 is
select xmlelement
(
“CASE_FILME”,
xmlattributes
(
cf.idcasa as “idcasa”
),
xmlconcat
(
xmlelement
(
“numecasa”,
trim(cf.numec)
),
xmlelement
(
“LISTFILME”,
xmlattributes
(
(
select count(*)
from filme f
where cf.idcasa = f.casa
)
as “nr_filme”
),
(
select xmlagg
(
xmlelement
(
“FILM”,
xmlattributes
(
f1.codf as “codf”
),
xmlconcat
(
xmlelement
(
“denfilm”,
trim(f1.den)
),
xmlelement
(
“LIST_ACTORI”,
xmlattributes
(
(
select count(*)
from distributie d
where f1.codf = d.codf
) as “nr_actori”
),
(
select xmlagg
(
xmlelement
(
“ACTOR”,
xmlattributes
(
dd.coda as “coda”,
dd.pret  as “pret”
),
xmlelement
(
“nume”,
trim(aa.nume)
)
)
)
from actori aa, distributie dd
where f1.codf = dd.codf and dd.coda = aa.coda
)
)
)
)
)
from filme f1
where f1.casa = cf.idcasa
)
)
)
)
from case_filme cf;
var xmltype;
begin
open c1;
loop
fetch c1 into var;
exit when c1%notfound;

insert into temp1 values(var);

end loop;
close c1;
end;
/

— cerinta 2

declare
cursor c2 is
select idcasa from case_filme;
cursor c3 (p_id number) is
select extract
(
t1.OBJECT_VALUE,
‘/CASE_FILME[@idcasa=”‘ || to_char(p_id) ||'”]/LISTFILME’
)
from temp1 t1
where existsNode
(
t1.OBJECT_VALUE,
‘/CASE_FILME[@idcasa=”‘ || to_char(p_id) ||'”]/LISTFILME’
) = 1;
v_idcasa number;
var xmltype;
begin
open c2;
loop
fetch c2 into v_idcasa;
exit when c2%notfound;

–dbms_output.put_line(‘idcasa curenta este ‘ || v_idcasa);

open c3(v_idcasa);

fetch c3 into var;
exit when c3%notfound;
/*
if var is null
then
dbms_output.put_line(‘e null’);
end if;
*/
–dbms_output.put_line(var.getClobVal());

insert into temp2 values(v_idcasa, var);
–dbms_output.put_line(‘Am inserat pentru ‘ || v_idcasa);
close c3;

end loop;
close c2;
end;
/

— cerinta 3

declare
cursor c4 is
select idcasa
from temp2 t2;
/*
cursor c5 is
select t2.idcasa,
extract
(
t2.listfilme,
‘/LISTFILME/FILM/@codf’
).getNumberVal(),
extract
(
t2.listfilme,
‘/LISTFILME/FILM/denfilm/text()’
).getStringVal()
from temp2 t2;*/

cursor c6 is
select t2.idcasa,
extract
(
t2.listfilme,
‘/LISTFILME’
) from temp2 t2;

–cursor c7 is

v_idcasa number;
v_numecasa string(10);
v_codf number;
v_denfilm string(20);
v_coda number;
v_denactor string(10);
v_pret number;
var xmltype;
v_nrfilme number;
v_nractori number;
i number;
j number;
var2 xmltype;
begin
open c4;
loop
fetch c4 into v_idcasa;
exit when c4%notfound;

— nu exista informatia numec in temp2, completam doar idcasa
insert into case_filme1(idcasa) values(v_idcasa);

end loop;
close c4;

/*
open c5;
loop
fetch c5 into v_idcasa, v_codf, v_denfilm;
exit when c5%notfound;

dbms_output.put_line(v_idcasa || ‘ ‘ || v_codf || ‘ ‘ || v_denfilm);

end loop;
close c5;*/

open c6;
loop
fetch c6 into v_idcasa, var;
exit when c6%notfound;

/*
dbms_output.put_line(v_idcasa);*/
/*
dbms_output.put_line(var.getClobVal());
dbms_output.put_line(‘Am citit’);
*/

select extract(var, ‘/LISTFILME/@nr_filme’).getNumberVal() into v_nrfilme from dual;

–dbms_output.put_line(‘Sunt ‘ || v_nrfilme);

/*
v_codf number;
v_denfilm string(20);
*/

for i in 1..v_nrfilme
loop
select extract(var, ‘/LISTFILME/FILM[‘|| i ||’]/@codf’).getNumberVal() into v_codf from dual;
select extract(var, ‘/LISTFILME/FILM[‘|| i ||’]/denfilm/text()’).getStringVal() into v_denfilm from dual;
–dbms_output.put_line(‘codul e ‘ || v_codf || ‘ ‘ || v_denfilm);

insert into filme1 values(v_codf, v_idcasa, v_denfilm);

select extract
(
t2.listfilme,
‘/LISTFILME/FILM[@codf=”‘ || v_codf || ‘”]/LIST_ACTORI’
)into var2
from temp2 t2
where existsNode(
t2.listfilme,
‘/LISTFILME/FILM[@codf=”‘|| v_codf ||'”]/LIST_ACTORI’
) = 1;

select extract(var2, ‘/LIST_ACTORI/@nr_actori’).getNumberVal() into v_nractori from dual;

–dbms_output.put_line(‘Sunt ‘ || v_nractori);

/*
v_coda number;
v_denactor string(10);
v_pret number;
*/

for j in 1..v_nractori
loop
select extract(var2, ‘/LIST_ACTORI/ACTOR[‘|| j || ‘]/@coda’).getNumberVal() into v_coda from dual;
select extract(var2, ‘/LIST_ACTORI/ACTOR[‘|| j || ‘]/@pret’).getNumberVal() into v_pret from dual;
select extract(var2, ‘/LIST_ACTORI/ACTOR[‘|| j ||’]/nume/text()’).getStringVal() into v_denactor from dual;

insert into distrib1 values(v_codf, v_coda, v_denactor, v_pret);

end loop;

end loop;

end loop;
close c6;

end;
/

— cerinta 4

declare
cursor c10 is
select * from case_filme1;
cursor c11 is
select * from filme1;
cursor c12 is
select * from distrib1;

v_idcasa number(3);
v_numec string(10);
–fetch c12 into v_codf, v_coda, v_nume, v_pret;

v_codf number(3);
v_coda number(3);
v_nume varchar2(20);
v_pret number(3);
v_casa number(3);
v_den varchar2(20);
begin
open c10;
loop
fetch c10 into v_idcasa, v_numec;
exit when c10%notfound;

dbms_output.put_line(v_idcasa);

end loop;
close c10;

open c11;
loop
fetch c11 into v_codf, v_casa, v_den;
exit when c11%notfound;

dbms_output.put_line(v_codf || ‘ ‘ || v_casa || ‘ ‘ || v_den);

end loop;
close c11;

open c12;
loop
fetch c12 into v_codf, v_coda, v_nume, v_pret;
exit when c12%notfound;

dbms_output.put_line(v_codf || ‘ ‘ || v_coda || ‘ ‘ || v_nume || ‘ ‘ || v_pret);

end loop;
close c12;
end;
/

drop table temp1 force;
drop table temp2 force;
drop table case_filme1;
drop table filme1;
drop table distrib1;

Model Examen Programare Functionala

Posted in Facultate with tags , , on 6 June 2012 by Alina

iunie 2011

testPF_Iunie2011

Model Examen SO

Posted in Felicitari with tags , , , on 5 June 2012 by Alina

al doilea test practic, 2012

Multumim, Diaconescu Stefan

                                                                     
/*******************************************************************************************************
Enunt prima problema:

a) Care este semnificatia celui de-al treilea argument al functiei fcntl in cazul in care este apelata cu modul F_SETLK? 
b) Scrieti fragmentul de cod pentru apelul care pune un blocaj in scriere pe descriptorul de fisier fd incepand cu pozitia 100 fata de inceputul fisierului,
 pe o lungime de 10 octeti. Se presupune ca fd exista deja (nu e necesar sa il declarati, deschideti, etc).

NOTA: pastrati enuntul in acest comentariu si scrieti rezolvarea mai jos.
*******************************************************************************************************/

Enunt a doua problema:

Programul de mai jos contine trei erori sintactice (adica, detectabile la compilare), si ar trebui sa ofere
urmatoarea functionalitate: citeste numerele aflate in fisierul specificat prin primul argument de la linia de 
comanda, calculeaza valoarea factorialului pentru fiecare numar si il scrie in fisierul specificat prin al doilea argument.

Corectati in programul de mai jos cele trei erori introduse voluntar in asa fel incat sa obtineti un program corect.
Dupa linia pe care ati facut o corectie, includeti si o explicatie ca si comentariu pentru a obtine punctajul integral.

NOTA: pastrati enuntul in acest comentariu si scrieti rezolvarea mai jos.
*******************************************************************************************************/

#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
int factorial(int);
int main( int argc, char *argv[] )
{
    int fd1, fd2;
    int n,fact;

    if ( argv <  3) 

    // nu este corect argv<3 pt ca se cer 2 argumente
    {
        perror( "not sufficient arguments" );
        return -4;
    }

    if ( (fd1=open( argv[1], O_RDONLY)) == -1 )
    {
        perror( "could not open file specified in first argument\n" );
        return -3;
    }

    if ( (fd2=open( argv[2], O_WRONLY | O_CREATE,0600 )) == -1 )

    //este gresit O_CREATE if( (fd2=open( argv[2], O_WRONLY | O_CREATE,0600 )) == -1 ) este corect O_CREAT
    {
        perror( "could not open file specified in second argument\n" );
        return -2;
    }

    while ( read( fd1,&n, sizeof(int) )>  0 )
    {
	fact=factorial(n);
        write( fd2,&fact, sizeof(int) );
    }

    close( fd1 );
    return 0;
}
int factorial(int nr)
{
int i, f=1;

for (i = 2;i<=nr;i++)
	f=f*i;

return f;
}

*******************************************************************************************************/

/*******************************************************************************************************
Enunt a treia problema:

Sa se scrie un program C care va crea 2 procese fii si va citi o secventa 
de N numere de la tastatura. Procesul initial, P0, va transmite fiecaruia dintre 
cele 2 procese fii, P1 si P2, cate jumatate din secventa de numere. Fiecare proces 
fiu va calcula media aritmetica a numerelor din secventa primita si va 
transmite valoarea calculata procesului parinte. Procesul P0 va afisa 
media aritmetica a valorilor primite de la cele doua procese fii.

Comunicarea intre procese se va realiza prin intermediul a 3 canale de comunicatie 
interna astfel: se vor utiliza doua canale de comunicatie pentru transmiterea datelor 
de la procesul parinte catre procesele fii, cate unul pentru fiecare proces fiu, 
si un al treilea canal de comunicatie pentru transmiterea datelor de la procesele 
fii catre procesul parinte.

Fiecare proces va afisa identitatea sa si pe cea a procesului parinte.

Se vor trata toate cazurile de exceptie ce pot apare.

NOTA: pastrati enuntul in acest comentariu si scrieti rezolvarea mai jos.
*******************************************************************************************************/

Model Examen Probabilitati si statistica

Posted in Facultate with tags , on 4 June 2012 by Alina

2012, multumiri lui Cristian Rotaru

test2

Model Examen Ingineria Programarii

Posted in Facultate with tags , , on 28 May 2012 by Alina

Ingineria Programarii anul 2 examen final 28 mai 2012 semian B

1) cui ii este util blueprint
2) patternuri structurale
3) vizitor
4) la ce folosesc design patternurile la client
5) se poate face reverse engeneering in argo UML?
6) de ce are nevoie o firma de software pentru a folosi SCRUM?
7) ce este o eroare fatala?
8) desenati structura unei firme software si explicati relatiile dintre acestea
9) cand un program software a esuat?
10) dati exemplu de un program sigur si de unul nesigur
11) diferenta dintre asincron si sincron
12) ISO 9000
13)se poate evalua calitatea unui proiect in functie de codul sursa?
14)GOF si GRASP
15)instalarea produsului la client

Multumim, Adela Alexandru.