Model Examen TAP


2011, multumiri pt Ana-Maria Daneliuc

2 Responses to “Model Examen TAP”

  1. Sterpu Mihai Says:

    In primul rand, semnalez eroarea din titlul acestui post. Materia se numeste TAP, nu TPA ( atentie la confuzia cu TPAA, anul 3).

    In al doilea rand, redau mai jos rezolvarea integrala a acestui test (intrucat multe variantele bifate in fotografii sunt gresite).
    De asemenea, propun mutarea rezolvarii in cadrul postului.

    1) c,d

    10s – prefixul “s” nu exista in Java
    ( a se studia prefixele pentru tipuri numerice :”d”,”D”,”L”,”l”,”f”,”F”)
    String goto – “goto” e cuvant cheie, var. nu pot purta numele cuvintelor cheie din limbaj
    char firstOne = (char)65; – cast perfect valid, desi ne-necesar
    1E2 – forma stiintifica a numarului 100 ( atentie, forma stiintifica este evaluata la double automat)

    2) 4

    atentie la operatorii pre/post-fixati

    3) a

    Java nu permite mostenirea multipla, doar implementarea mai multor interfete.

    4) nu functioneaza pentru numere impare negative

    atentie la definirea operatorului %:

    [X/2] * 2 + (x%2) = x ( am notat [] partea intreaga)

    x%2 = x – [X/2] * 2

    exemplu: -7%2 = -7 – (-3)*2 = -7 + 6 = -1

    -1 != 1

    5) d), nu putem face nicio presupunere legata de activitatea GC-ului, nu stim cand va dealoca memoria

    6) Se va intra intr-o bucla infinita, cauzata de crearea continua de obiecte de tip Test.

    de vina este campul privat Test a.
    La crearea obiectului t din main(), se va crea o noua instanta a clasei Test insa inainte de apelul constructoului, se va initializa membrul “a” samd.

    7) Scriem o clasa care implementeaza interfata Comparator. In cadrul acesteia, folosim o variabila membra care va fi verificata in metoda compare si se va decide daca se vor compara valorile a doua facturi ori datele la care au fost emise.

    8) O adnotare pentru o metoda.

    Exemplu

    @Incorrect
    public int sum(int a, int b){
    return a+b+7;
    }

    9) Varianta 1 este cea corecta

    Se discuta intai lipsa clasei Test din fisierul Test.java
    Regula este urmatoarea: DACA fisierul Test.java contine o clasa publica, ea trebuie sa se numeasca Test.
    (atentie, un fisier java poate contine MAXIM o clasa publica)

    Compilatorul nu se plange, metoda() fiind deja implementata in clasa A.

    10) Eroare de sintaxa

    operatorul “+” nu este supraincarcat “din fabrica” pentru tipul BigInteger .
    Atentie, in Java supraincarcarea operatilor NU exista.
    Operatorii aritmetici pot fi folositi doar pe tipuri primitive cu EXCEPTIA claselor wrapper Integer, Float, Double, Character.

    11)

    try{
    throw new Exception();
    }
    catch(Exception ex){
    throw ex;
    }

    12) public Alg load(String clazz) throws Exception{
    return (Alg)Class.forName(clazz).newInstance();
    }

    13) Nu se poate afla direct aceasta informatie deoarece un obiect de tipul ResultSet nu este decat un pointer catre informatii care nici macar nu au fost aduse din baza de date.

    int count = 0;

    while(rs.next()){
    count++;
    }

    Atentie. Subiectul mai poate apare si sub forma: cum putem afla numarul de coloane? Pentru aceasta,vom folosi clasa ResultSetMetaData:

    ResultSetMetaData md = rs.getMetaData();
    md.getColumnCount() – ne da nr. de coloane

    14) Se include in classPath parser.jar

    15) 2

    16) fluxurile I/O standard din java.io.*

    17) d), prin eliminare
    Nu se intampla nimic la runtime, dpv. sintactic oricum nu s-ar putea face o astfel de verificare la compilare.

    18)
    public static HashMap metoda(char[][] matrix){
    HashMap result = new HashMap();

    for (int i=0; i < matrix.length;i++){
    for (int j =0; j < matrix[0].length;j++){
    Integer count = result.get(matrix[i][j]);
    if ( count == null){
    result.put(matrix[i][j], 1);
    }
    else{
    result.put(matrix[i][j], count + 1);
    }
    }
    }

    return result;
    }

    public static void main(String[] Integer){
    char[][] matrix = new char[2][2];
    matrix[0][0] = 'a';
    matrix[0][1] = 'b';
    matrix[1][0] = 'c';
    matrix[1][1] = 'b';
    HashMap map = metoda(matrix);

    for ( Character c : map.keySet()){
    System.out.println(c + ” – ” + map.get(c));
    }

    }

  2. Ana-Maria Daneliuc Says:

    Nu e facuta de mine fotografia, deci scuze pentru raspunsurile gresite­čśŤ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: