From 44f00d0e7ea51230f366e4fed50dba534b3be662 Mon Sep 17 00:00:00 2001 From: Ivaylo Ivanov Date: Fri, 15 Oct 2021 16:11:06 +0200 Subject: [PATCH] finish UE1 A.1 --- code/Aufgabe1.hs | 71 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/code/Aufgabe1.hs b/code/Aufgabe1.hs index e69de29..fd2314e 100644 --- a/code/Aufgabe1.hs +++ b/code/Aufgabe1.hs @@ -0,0 +1,71 @@ +module Angabe1 where + +{- 1. Vervollstaendigen Sie gemaess Angabentext! + 2. Vervollständigen Sie auch die vorgegebenen Kommentaranfänge! + 3. Loeschen Sie keine Deklarationen aus diesem Rahmenprogramm, auch nicht die Modulanweisug! + 4. Achten Sie darauf, dass `Gruppe' Leserechte fuer Ihre Abgabedatei hat! +-} + + +type Nat0 = Int +type Zeichenreihe = String +type Teilzeichenreihe = String +type IstTeilzeichenreihe = Bool +type Zerlegungszeuge = (Zeichenreihe,Zeichenreihe,Zeichenreihe) +type Zerlegungszeugen = [Zerlegungszeuge] + + +-- Aufgabe A.1 + +ist_tzr :: Zeichenreihe -> Teilzeichenreihe -> IstTeilzeichenreihe + +{- + Solution: + - if both strings are the same, True + - if the second string is empty, True + - if the second string is longer than the first, False + - otherwise, compare the first characters of both strings and call the function recursively again. + If the second string is contained in the first string, it will get equal to [] eventually and the function will return True. + If it is not, the first string will get smaller than the second eventually and the function will return False +-} + +ist_tzr x y + | y == x = True + | y == [] = True + | length y > length x = False + | otherwise = + if head x == head y then + ist_tzr (tail x) (tail y) + else + ist_tzr (tail x) y + + + +-- Aufgabe A.2 + +--tzr_zeuge :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeuge + +{- Knapp, aber gut nachvollziehbar geht tzr_zeuge folgendermassen vor: + ... +-} + +-- Aufgabe A.3 + +--tzr_zeugen :: Zeichenreihe -> Teilzeichenreihe -> Zerlegungszeugen + +{- Knapp, aber gut nachvollziehbar geht tzr_zeugen folgendermassen vor: + ... +-} + + +-- Aufgabe A.4 + +--wieOft :: Zeichenreihe -> Teilzeichenreihe -> Nat0 + +{- Knapp, aber gut nachvollziehbar geht wieOft folgendermassen vor: + ... +-} + + + +