result_compare.html 5.32 KB
Newer Older
1
2
3
{% extends 'base.html' %}

{% block header %}
4
    <h1>Výsledek porovnání</h1>
5
6
7
{% endblock %}

{% block content %}
8
9
10
11
12
13
14
    <br>
    <div style="text-align:center"><h2>Celkový výsledek:
        {% if ok %} správné řešení.
        {% else %} nesprávné řešení.
        {% endif %} </h2><br>

        {% if alphabets != "" %}<b>{{ alphabets }}</b><br><br>{% endif %}
15

16
17
        {% if task_solved == "" %}
            Odpověď splňuje požadavky kladené na formalismus.
18
        {% else %}
19
            Odpověď <b>nesplňuje požadavky</b> kladené na formalismus. {{ task_solved }}
20
21
        {% endif %}<br>

22
23
24
25
26
27
28
29
30
31
32
33
34
        {% if extra_word_ce or missing_word_ce or alphabets != "" %}
            Jazyky popisované oběma formalismy <b>nejsou ekvivalentní</b>.
        {% else %}
            Jazyky popisované oběma formalismy jsou ekvivalentní.
        {% endif %}</div><br>

        <div>
            <div style="float:left;">
                <label for="teacher_string"><h3 style="text-align:center">Jazyk zadání</h3></label>
                <div style="width:400px;" name="teacher_string" id="teacher_string">
                    <b>Charakteristika:</b> {{ teacher.sizename }}<br><br>
                    <b>Příklad slova z jazyka:</b> {{ teacher.example }}<br><br>
                    <b>Původní popis:</b> <br>
35
                    {{ teacher_type_string }}: <code>{{ teacher.string }}</code><br><br>
36
                    <b>Popis pomocí minimálního DFA:</b> <br>
37
                    <code>{{ teacher.minimal }}</code><br>
38
39
40
41
42
43
44
45
46
                </div><br>
            </div>

            <div style="float:right;"><label for="student_string"><h3 style="text-align:center">
                Jazyk řešení</h3></label>
                <div style="width:400px;" name="student_string" id="student_string">
                    <b>Charakteristika:</b> {{ student.sizename }}<br><br>
                    <b>Příklad slova z jazyka:</b> {{ student.example }}<br><br>
                    <b>Původní popis:</b> <br>
47
                    {{ student_type_string }}: <code>{{ student.string }}</code><br><br>
48
                    <b>Popis pomocí minimálního DFA:</b> <br>
49
                    <code>{{ student.minimal }}</code><br>
50
51
52
53
54
55
56
57
58
                </div><br>
            </div>
        </div>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><hr>
    <p>
    <h3>Porovnání jazyků</h3>

        {% if img_src %}
59
          <img style="float:left; margin:10px 30px;" src="/static/img/{{ img_src }}.png" alt="{{ img_src }}"><br>
60
        {% endif %}
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

        {% if not ok and (extra_word_ce or missing_word_ce) %}
            {% if extra_word_ce %}
                Příklad slova, které je ve studentově řešení a není v zadaném jazyce: {{ extra_word_ce }}
            {% else %}
                Studentovo řešení je podmnožinou zadaného jazyka.
            {% endif %}<br>

            {% if missing_word_ce %}
                Příklad slova, které chybí ve studentově řešení a je v zadaném jazyce: {{ missing_word_ce }}
            {% else %}
                Studentovo řešení je nadmnožinou zadaného jazyka.
            {% endif %}<br>

            {% if inf %}Rozdíl porovnávaných jazyků je nekonečný.
            {% else %}Rozdíl porovnávaných jazyků je konečný.
            {% endif %}
        {% else %}
            {% if ok %}
            Jazyky jsou ekvivalentní.
            {% endif %}
82
        {% endif %}
83
    </p>
84

85
86
87
<div>
    {% if langs[0] %}
    <table>
88
89
90
91
92
93
94
95
96
        <tr>
            <th>Jazyk</th><th>Charakteristika</th><th>Slovo z jazyka</th><th>Automat</th>
        </tr>
        <tr>
            <td>0</td>
            <td>{{ langs[0].sizename }}</td>
            <td>{{ langs[0].example }}</td>
            <td>
                <button onclick="toggleDFA('.dfa_0')">Automat</button>
97
                <div class="dfa_0" style="display: none;"><code>{{ langs[0].minimal }}</code></div>
98
99
100
101
102
103
104
105
106
            </td>
        </tr>
    {% if langs[1] %}
        <tr>
            <td>1</td>
            <td>{{ langs[1].sizename }}</td>
            <td>{{ langs[1].example }}</td>
            <td>
                <button onclick="toggleDFA('.dfa_1')">Automat</button>
107
                <div class="dfa_1" style="display: none;"><code>{{ langs[1].minimal }}</code></div>
108
109
110
111
112
113
114
115
116
            </td>
        </tr>
    {% if langs[2] %}
        <tr>
            <td>2</td>
            <td>{{ langs[2].sizename }}</td>
            <td>{{ langs[2].example }}</td>
            <td>
                <button onclick="toggleDFA('.dfa_2')">Automat</button>
117
                <div class="dfa_2" style="display: none;"><code>{{ langs[2].minimal }}</code></div>
118
119
120
121
122
123
124
125
126
            </td>
        </tr>
    {% if langs[3] %}
        <tr>
            <td>3</td>
            <td>{{ langs[3].sizename }}</td>
            <td>{{ langs[3].example }}</td>
            <td>
                <button onclick="toggleDFA('.dfa_3')">Automat</button>
127
                <div class="dfa_3" style="display: none;"><code>{{ langs[3].minimal }}</code></div>
128
129
130
131
132
            </td>
        </tr>
    {% endif %}
    {% endif %}
    {% endif %}
133
134
135
136
137
138
    </table>
    {% endif %}
</div>

<script>
function toggleDFA(dfa){
139
    el = document.querySelector(dfa);
140

141
142
143
144
145
    if(el.style.display == 'none'){
        el.style.display = 'block'
    } else {
        el.style.display = 'none'
    }
146
147
148
}
</script>

149
<br><br><br><br><br>
150
    {% include "genodp.html" %}
151
{% endblock %}