From 1036c68e210008fd38d607913899e95640c656f6 Mon Sep 17 00:00:00 2001 From: Ivaylo Ivanov Date: Wed, 3 Nov 2021 18:06:56 +0100 Subject: [PATCH] Initial commit for UE3 --- code/Angabe3.lhs | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 code/Angabe3.lhs diff --git a/code/Angabe3.lhs b/code/Angabe3.lhs new file mode 100644 index 0000000..8c1f163 --- /dev/null +++ b/code/Angabe3.lhs @@ -0,0 +1,60 @@ +> module Angabe3 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 Nat1 = Int +> type Zeile = [Int] + +Matrizen konzeptuell als Listen von Zeilen dargestellt: + +> newtype Matrix = M [Zeile] + +> fehlerwert = M [] :: Matrix + +> data Matrixtyp = Mat (Nat1,Nat1) | KeineMatrix deriving (Eq,Show) + + +Aufgabe A.1 + +> instance Show Matrix where +> ... + +Knapp, aber gut nachvollziebar geht die Instanzdeklaration fuer Show folgendermassen vor: + + + +Aufgabe A.2 + +> matrixtyp :: Matrix -> Matrixtyp +> ... + +Knapp, aber gut nachvollziehbar geht matrixtyp folgendermassen vor: +... + + + +Aufgabe A.3 + +> instance Eq Matrix where +> ... + +Knapp, aber gut nachvollziebar geht die Instanzdeklaration fuer Eq folgendermassen vor: +... + + + +Aufgabe A.4 + +> instance Num Matrix where +> ... + +Knapp, aber gut nachvollziebar geht die Instanzdeklaration fuer Num folgendermassen vor: +... + + + + +