ϵ">]>
Module |
Remark
Test pozostáva zo štyroch úloh. Zadania pozri dole. POKYNY
POČET BODOV:
|
Remark
1. ÚLOHA (10 bodov) Definujte funkciu chvostovou rekurziou (tail-recursion), t. j. pomocou simulácie cyklu while alebo for (podľa vášho výberu). Musíte zadefinovať dve funkcie :
|
Remark
Poznámka k 2. úlohe. (Zadanie pozri nižšie.) Binárne konštruktory S0( ) = (nulový bit) a S1( ) = (jednotkový bit) sú zabudované. Na definovanie funkcií pomocou rekurzie na binárnej notácii používame binárnu diskrimináciu : pričom v rekurzívne volanie má tvar . |
Remark
2. ÚLOHA (10 bodov) Zadefinujte umocňovanie pomocou rekurzie na binárnej notácii čísel (viď poznámka vyššie). Môžete použiť zabudované násobenie *. |
Remark
Poznámka k 3. a 4. úlohe. (Zadania pozri nižsie.) Diadické regulárne výrazy. Regulárne výrazy sa používajú na zápis vzorov , s ktorými porovnávame reťazce. Obmedzíme sa na diadické reťazce. Regulárnymi výrazmi pre diadické reťazce sú
Matematickejšie sa na regulárne výrazy môžeme pozerať ako na množiny reťazcov:
Regulárne výrazy zakódujeme do čísel v pentadickej sústave nasledujúcimi funkciami, ktoré nazývame konštruktory . |
Remark
3. ÚLOHA (6 bodov) a) (2 body) Definujte funkciu , ktorá vráti počet argumentov toho konštruktora regulárnych výrazov, ktorý je zakódovaný pentadickou číslicou . |
Remark
b) (4 body) Definujte funkcie a tak, aby platilo: ak je zreťazením kódov regulárnych výrazov, , tak je zreťazenie prvých kódov v a je zreťazenie posledných kódov v . Použite funkciu a diskrimináciu |
Query: |
|
Results: |
|