Remove special case handling for UE1 A.3, add comments
This commit is contained in:
parent
64bb0164c9
commit
e1614ad91f
@ -1,5 +1,7 @@
|
|||||||
module Angabe1 where
|
module Angabe1 where
|
||||||
|
|
||||||
|
import Data.List
|
||||||
|
|
||||||
{- 1. Vervollstaendigen Sie gemaess Angabentext!
|
{- 1. Vervollstaendigen Sie gemaess Angabentext!
|
||||||
2. Vervollständigen Sie auch die vorgegebenen Kommentaranfänge!
|
2. Vervollständigen Sie auch die vorgegebenen Kommentaranfänge!
|
||||||
3. Loeschen Sie keine Deklarationen aus diesem Rahmenprogramm, auch nicht die Modulanweisug!
|
3. Loeschen Sie keine Deklarationen aus diesem Rahmenprogramm, auch nicht die Modulanweisug!
|
||||||
@ -70,15 +72,18 @@ find_tzr_position (z:zs) t n
|
|||||||
| otherwise = find_tzr_position zs t (n + 1)
|
| otherwise = find_tzr_position zs t (n + 1)
|
||||||
|
|
||||||
-- Aufgabe A.3
|
-- Aufgabe A.3
|
||||||
{- Knapp, aber gut nachvollziehbar geht tzr_zeugen folgendermassen vor:
|
{- Solution:
|
||||||
...
|
- the base cases are as follows:
|
||||||
|
- both strings are empty, return an empty array
|
||||||
|
- the second string is not a substring of the first, return an empty array
|
||||||
|
- for handling the other cases:
|
||||||
|
- find a possible split and add it to the results array
|
||||||
-}
|
-}
|
||||||
|
|
||||||
tzr_zeugen :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen
|
tzr_zeugen :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen
|
||||||
tzr_zeugen [] [] = []
|
tzr_zeugen [] [] = []
|
||||||
tzr_zeugen z t
|
tzr_zeugen z t
|
||||||
| not (ist_tzr z t) = []
|
| not (ist_tzr z t) = []
|
||||||
| wieOft z t == 1 = [tzr_zeuge z t]
|
|
||||||
| otherwise = get_all_substring_variants z t []
|
| otherwise = get_all_substring_variants z t []
|
||||||
|
|
||||||
get_all_substring_variants :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen -> Zerlegungszeugen
|
get_all_substring_variants :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen -> Zerlegungszeugen
|
||||||
|
Reference in New Issue
Block a user