Wstęp do programowania / Ćwiczenia 3: Różnice pomiędzy wersjami
(Nie pokazano 2 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 9: | Linia 9: | ||
<span class="mw-collapsible-toogle-default mw-collapsible-toogle-default mw-collapsible-toogle-default">Rozwiązanie 1</span> | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<span class="mw-collapsible-toogle-default mw-collapsible-toogle-default mw-collapsible-toogle-default">Rozwiązanie 1</span></div> | |||
==Zadanie 1 (palindromy)== | ==Zadanie 1 (palindromy)== | ||
Napisz gramatykę generującą wszystkie palindromy nad alfabetem {0,1}. | Napisz gramatykę generującą wszystkie palindromy nad alfabetem {0,1}. | ||
Linia 193: | Linia 197: | ||
Podaj gramatykę generującą słowa nad alfabetem {0,1}, w których nie występuje podsłowo 000. | Podaj gramatykę generującą słowa nad alfabetem {0,1}, w których nie występuje podsłowo 000. | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie 1</span> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
S<sub>0</sub> → ε | S<sub>0</sub>1 | S<sub>1</sub>1 | S<sub>2</sub>1 | S<sub>0</sub> → ε | S<sub>0</sub>1 | S<sub>1</sub>1 | S<sub>2</sub>1 | ||
Linia 206: | Linia 212: | ||
Zgodność i pełność tej gramatyki wynika z faktu, że S<sub>j</sub> generuje wszystkie słowa w nie zawierające 000 i kończące się na j zer. | Zgodność i pełność tej gramatyki wynika z faktu, że S<sub>j</sub> generuje wszystkie słowa w nie zawierające 000 i kończące się na j zer. | ||
</div> | </div> | ||
</div> | </div> | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie 2</span> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
S<sub>0</sub> → ε | S<sub>0</sub>1 | S<sub>0</sub>01 | S<sub>0</sub>001 | S<sub>0</sub> → ε | S<sub>0</sub>1 | S<sub>0</sub>01 | S<sub>0</sub>001 | ||
Linia 217: | Linia 225: | ||
Ta gramatyka powstała z poprzedniej przez usunięcie symboli S<sub>1</sub> i S<sub>2</sub> i włączenie ich (pojedynczych) produkcji do produkcji pozostałych symboli. | Ta gramatyka powstała z poprzedniej przez usunięcie symboli S<sub>1</sub> i S<sub>2</sub> i włączenie ich (pojedynczych) produkcji do produkcji pozostałych symboli. | ||
</div> | </div> | ||
</div> | </div> | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie 3</span> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
Z → ε | 0 | 00 | Z → ε | 0 | 00 | ||
Linia 230: | Linia 240: | ||
S - ciąg krótkich ciągów zer poprzedzielanych jedynkami | S - ciąg krótkich ciągów zer poprzedzielanych jedynkami | ||
</div> | </div> | ||
</div> | </div> | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"> |
Aktualna wersja na dzień 22:24, 1 cze 2020
<<< Powrót do modułu Gramatyki - definiowanie składni i semantyki wyrażeń
To są ćwiczenia z gramatyk bezkontekstowych.
Oglądaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__
Rozwiązanie 1
Zadanie 1 (palindromy)
Napisz gramatykę generującą wszystkie palindromy nad alfabetem {0,1}.
Rozwiązanie 1
Zadanie 2
Napisz gramatykę generującą język wszystkich słów nad alfabetem {0,1} postaci .
Rozwiązanie 1
Zadanie 3 (wyrażenia nawiasowe)
Napisz gramatykę generującą wszystkie poprawne wyrażenia nawiasowe.
Rozwiązanie 1
Rozwiązanie 2
Zadanie 4
Podaj gramatykę języka słów w nad alfabetem {0,1} takich, że
Rozwiązanie 1
Rozwiązanie 2
Zadanie 5
Podaj gramatykę języka słów w nad alfabetem {0,1} takich, że
Rozwiązanie 1
Zadanie 6 (liczby podzielne przez 3)
Podaj gramatykę generującą liczby w zapisie binarnym, które są podzielne przez 3.
Rozwiązanie 1
Ćwiczenie 1
Odpowiedź
Zadanie 7
Podaj gramatykę generującą słowa nad alfabetem {0,1}, w których nie występuje podsłowo 000.
Rozwiązanie 1
Rozwiązanie 2
Rozwiązanie 3
Dla ciekawskich