Midterm 2024 šablóna

Slovíčka z nemčiny

Evaluátor používa metódy pridajNaZaciatok a toString. Tieto metódy nemodifikujte. Tiež nemodifikujte vnútornú triedu Uzol – ale môžete si premenovať túto triedu a premenné ak potrebujete.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class SpajanyZoznam {

    private static class Uzol {
        int hodnota;
        Uzol dalsi;
    }

    private Uzol prvy = null;

    public void pridajNaZaciatok(int hodnota) {
        Uzol pridavany = new Uzol();
        pridavany.hodnota = hodnota;
        pridavany.dalsi = prvy;
        prvy = pridavany;
    }

    @Override
    public String toString() {
        String vysledok = "[";
        Uzol aktualny = prvy;
        while (aktualny != null) {
            if (aktualny != prvy)
                vysledok += ", ";

            vysledok += aktualny.hodnota;
            aktualny = aktualny.dalsi;
        }
        return vysledok + "]";
    }


    public void odstranFake() {

    }
}

Rodokmene z dejepisu

Evaluátor používa konštruktor a metódy pridajDieta a toString. Tieto metódy nemodifikujte. Metóda vypisRodostrom je iba pre pomocný výpis (ak to potrebujete).


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.util.ArrayList;
import java.util.List;

public class Osoba {
    private String meno;
    private List<Osoba> deti = new ArrayList<>();

    public Osoba(String meno) {
        this.meno = meno;
    }

    public void pridajDieta(Osoba dieta) {
        deti.add(dieta);
    }

    public void vypisRodostrom() {
        vypisRodostrom(0);
    }

    public void vypisRodostrom(int level) {
        for (int i = 0; i < level; i++)
            System.out.print(' ');
        System.out.println(meno);
        for (Osoba dieta : deti)
            dieta.vypisRodostrom(level + 1);
    }

    @Override
    public String toString() {
        String result = meno;
        if (!deti.isEmpty()) {
            result += "(";
            boolean f = true;
            for (Osoba dieta : deti) {
                if (!f)
                    result += " ";
                result += dieta.toString();
                f = false;
            }
            result += ")";
        }
        return result;
    }

    public int najstastnejsiDedo() {
        return 0;
    }
}

Logické výrazy

Do moodle odovzdávate iba triedu LogickeVyrazy. Triedu Eval si môžete prepísať ľubovoľne a slúži len na to, aby ste si mohli svoje riešenie skompilovať, spustiť a overiť ešte pred odoslaním.


1
2
3
4
5
6
public class LogickeVyrazy {

    public boolean jeTautologia(int n) {
        return false;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Eval {

    public static boolean overVyraz(boolean[] vstup) {
        if (vstup.length == 4) {
            // je tautologia
            return (vstup[0] || vstup[1] || vstup[2] || vstup[3]) || !vstup[0];
        }
        if (vstup.length == 5) {
            // nie je tautologia
            return (vstup[0] && vstup[1] && vstup[2] && vstup[3] && vstup[4]);
        }
        return true;
    }

}