Primitive Datentypen in Haskell
|
|
- Oswalda Beltz
- vor 7 Jahren
- Abrufe
Transkript
1 Primitive Datentypen in Haskell Der Datentyp Bool Der Datentyp Bool dient zur Beschreibung von Wahrheitswerten und zum Rechnen mit solchen Werten. Bool hat nur zwei mögliche Werte True und False. Als Operationen sind die Negation not sowie Konjunktion && und Disjunktion vordefiniert, wobei letztere als echte zweistellige Operationen in Infix-Notation anzuwenden sind oder alternativ als Funktionen ( ), (&&) :: Bool -> Bool -> Bool verwendet werden können. Wie in der Aussagenlogik bindet die Konjunktion stärker als die Disjunktion, d.h. im Ausdruck (x && y) z kann man auf die Klammern verzichten aber der Ausdruck (x y) && z würde ohne Klammern eine andere Bedeutung erhalten. Der Datentyp Bool tritt bei der Auswertung von Bedingungen auf, vor allem als Rückgabetyp von Vergleichsoperationen wie z.b. i <= n oder k == n auf. Der Datentyp Int Der Datentyp Int ist der Standardtyp zur Darstellung von (positiven und negativen) ganzen Zahlen. Darstellbar sind alle Zahlen aus dem Bereich [ 2 31, ]. Für Anwendungen, bei denen dieser Bereich überschritten werden könnte, sollte man den Datentyp Integer verwenden. Da einige Effekte, die bei der Verwendung von Int auftreten, nur durch genauere Kenntnisse der internen Darstellung von ganzen Zahlen zu verstehen sind, stellen wir dieses Thema an den Anfang unserer Betrachtungen. Darstellung negativer Zahlen Wie wir bereits wissen, kann man mit n Bits jede natürliche Zahl aus dem Bereich von 0 bis 2 n 1 darstellen. Zur Darstellung negativer Zahlen wird ein zusätzliches Bit verwendet, das man üblicherweise wie ein Minuszeichen an den Anfang der Darstellung stellt. Bei insgesamt n-bits bleiben also noch n 1 Bits für die Darstellung positiver Zahlen womit der Bereich von 0 bis 2 n 1 1 abgedeckt werden kann. Für die Darstellung einer negativen Zahl z kann man die folgenden Ideen verwenden: Naiver Ansatz: Mit einer 1 im Vorzeichenbit wird ein Minus codiert, die verbleibenden Bits dienen zur Codierung des Betrags von z. 1 Komplement: Man codiert zuerst die positive Zahl z = z mit einer Null im Vorzeichenbit und bildet dann das Komplement dieser Darstellung, d.h. alle Bits b werden durch ihr Gegenteil (Komplement) b ersetzt, insbesondere wird das Vorzeichenbit zur 1. 2 Komplement: Das Vorzeichenbit steht für 2 n 1 und alle anderen Bits haben die übliche Bedeutung wie bei der Darstellung einer positiven Zahl, d.h. eine Folge
2 von n Bits b n 1 b n 2... b 1 b 0 ist die Darstellung der Zahl z = b n 1 2 n 1 + b n 2 2 n b b 0 Obwohl die dritte Variante zunächst als ein unnötig komplizierter Ansatz erscheint, wird sie sehr häufig verwendet, insbesondere liefert sie die Darstellung für den Haskell- Datentyp Int. Genauer gesagt werden in Haskell Zahlen des Typs Int mit 32 Bits dargestellt und daraus ergibt sich [ 2 31, ] als darstellbarer Bereich. Bei der Suche nach Gründen, die gegen die ersten zwei Varianten sprechen, fällt zuerst auf, dass die Zahl 0 keine eindeutige Darstellung hat. Das 2 Komplement hat aber einen weiteren Vorteil, der erst bei genauerer Betrachtung der Addition zu Tage tritt. Berechnung der 2 Komplement Darstellung von negativen Zahlen Wir beschäftigen uns zuerst mit der Frage, wie man aus der Darstellung einer positiven Zahl z die Darstellung von z im 2 Komplement bestimmen kann. Man verfährt dazu nach der folgenden Regel, die auch gleichzeitig eine Erklärung dafür gibt, warum diese Darstellung als Komplement bezeichnet wird: Bilde zuerst das 1 Komplement von z und addiere dazu eine 1. Zuerst kann man sich leicht davon überzeugen, dass 0 nach dieser Regel die gleiche Darstellung wie die 0 hat, denn das Komplement der Darstellung von 0 ist und durch Addition von 1 ergibt sich eigentlich , aber die führende 1 ist nur ein Übertrag auf eine nicht vorhandene Stelle, d.h. sie fällt aus der Darstellung heraus und übrig bleibt Die Dartellung von 1 ergibt sich aus plus 1, also , und man kann leicht nachrechen, dass das mit der Definition des 2 Komplements übereinstimmt. Zur Überprüfung des allgemeinen Falles z 1 ignorieren wir zunächst das Vorzeichenbit b 31 sehen wir uns die Bitfolge b 30 b b 1 b 0 aus der Darstellung von z an. Sei u die durch b 30 b b 1 b 0 dargestellte, positive Zahl. Da die Addition dieser beiden Bitfolgen die Folge ergibt, gilt offensichtlich z + u = und damit u + 1 = 2 31 z. Addiert man also nach obiger Regel zum 1 Komplement von z noch eine 1, wird mit den hinteren Stellen die positive Zahl u + 1 repräsentiert und das Vorzeichnenbit b 31 ist 1. Der Wert dieser Darstellung im 2-Komplement ist somit (u + 1) = (2 31 z) = z. Addition von Zahlen in 2 Komplement Darstellung Der Vorteil des 2 Komplements liegt darin, dass man die übliche Additionsmethode auch zur Addition eines positiven und eines negativen Summanden verwenden kann, während man bei den anderen Darsetllungen Fallunterscheidungen für die auszuführenden Operationen machen muss. Beim 2 Komplement reicht eine Fallunterscheidung in der Beweisfürung aus.
3 Fall 1: Angenommen a b 0 sind ganze Zahlen und es ist die Summe von a und b im 2 Komplement zu bestimmen. Dann ist in der Darstellung a 31 a a 1 a 0 von a das Bit a 31 = 0 und die restlichen Bits stellen die positive Zahl a dar. In der Darstellung c 31 c c 1 c 0 von b ist das Bit c 31 = 1 und die restlichen Bits stellen die positive Zahl c = 2 31 b dar. Bei der Addition der hinteren 31 Bits entsteht wegen a + c = a + (2 31 b) = (a b) 2 31 die Darstellung von a b und eine 1 im Überlaufbit, das zu a 31 + c 31 addiert wird und damit eine 0 im Vorzeichenbit erzeugt. Der Überlauf aus der Addition der Vorzeichenbits wird ignoriert und das Ergebnis ist wie beabsichtigt die Zahl a b. Fall 2: Angenommen b > a 0 sind ganze Zahlen und es ist die Summe von a und b im 2 Komplement zu bestimmen. Dann ist in der Darstellung a 31 a a 1 a 0 von a das Bit a 31 = 0 und die restlichen Bits stellen die positive Zahl a dar. In der Darstellung c 31 c c 1 c 0 von b ist das Bit c 31 = 1 und die restlichen Bits stellen die positive Zahl 2 31 b dar. Bei der Addition der hinteren 31 Bits entsteht wegen a + c = a + (2 31 b) = (a b) < 2 31 die Darstellung von (a b) und eine 0 im Überlaufbit, das zu a 31 + c 31 addiert wird und damit eine 1 im Vorzeichenbit erzeugt. Der Wert des Ergebnisses ist wie beabsichtigt die Zahl ( (a b)) = a b. Durch weitere Fallunterscheidungen kann man sich auch davon überzeugen, das Additionen von zwei positiven bzw. von zwei negativen Zahlen korrekt ausgeführt werden, solange das Ergebnis im darstellbaren Bereich liegt. Achtung: Liegt das Ergebnis einer Additionen von zwei positiven Zahlen nicht mehr im darstellbaren Bereich, so entsteht eine 1 im Vorzeichenbit und damit ein negatives Ergebnis. Ähnlich führt die Addition von zwei negativen Zahlen bei Überschreitung des darstellbaren Bereichs zu einem positiven Ergebnis. Wenn man diese unerwünschten Effekte vermeiden will, muss man zum Datentyp Integer wechseln, bezahlt das aber durch Laufzeitverluste. Die Funktionen div und mod Für die ganzzahlige Division sind die Funktionen div, mod :: Int -> Int -> Int vordefiniert. Im Gegensatz zur Programmiersprache Java stimmt die Haskell-Implementierung dieser Funktionen mit der mathematischen Definition überein, d.h. sie realisieren die Ausaage des folgenden Satzes. Satz: Für beliebige Zahlen n, d Z mit d > 0 existieren eindeutig bestimmte Zahlen q, r Z, so dass folgende Bedingungen erfüllt sind n = q d + r und r {0, 1,..., d 1} Man nennt q den ganzzahligen Quotienten und r den Rest aus n und d. Der Aufruf div n d berechnet q und der Aufruf mod n d berechnet r. In mathematischen Texten
4 verwendet man n für q und n mod d für r. d Welchen Wert mod für negative Werte von n liefern sollte, kann man sich am Beispiel n = 17 und d = 5 überlegen. Man beginnt mit dem positiven Fall n = 17, also 17 = und multipliziert beide Seiten mit 1. In der Gleichung 17 = ( 3) 5+( 2) ist der Rest aber nicht aus der zuläsigen Menge {0, 1, 2, 3, 4}. Man korrigiert das durch Addition und Subtraktion einer 5, wobei die subtrahierte 5 dem Produkt zugeschlagen wird:. 17 = ( 3) 5 + ( 2) = ( 4) folglich ist q = 4 und r = 3 Der Datentyp Float Der Datentyp Float ist der Standardtyp zur Darstellung von rellen Zahlen. Natürlich kann man mit einer beschränktem Anzahl von Bits nicht alle reellen Zahlen darstellen, man kann nur eine beschränkte Genauigkeit erreichen und auch nicht beliebig große Zahlen darstellen. Häufig gibt man die die Zahlen in der einfachen Notation mit einem Dezimalpunkt an, wie z.b.: Liegt der Dezimalpunkt aber sehr weit rechts (bei sehr großen Zahlen) oder stehen am Anfang sehr viele Nullen (bei Zahlen mit sehr kleinem Betrag), bietet sich auch die sogennante wissenschaftliche Notation an: e5 = = e6 = = e-6 = = Die wichtigsten Standardfunktionen wie Quadratwurzel sqrt, Exponential- und Logarithmusfunktion exp, log, Winkelfunktionen sin, cos,tan und die Betragsfunktion abs sind als Funktionen von Float nach Float implementiert. Dazu kommen die Funktionen floor, ceiling :: Float -> Int, die für einen gegeben Float-Wert r die größte bzw. kleinste ganze Zahl ausgeben die r bzw. r ist. Da die Operationen +, und sowohl für den Int- als auch für den Float-Typ definiert sind, muss der Interpreter durch Typanalyse feststellen, welcher Operationstyp zur Ausführung kommt. Deshalb ist es auch nicht möglich, einen Int- und einen Float- Wert zu addieren. Um dieses Problem zu umgehen, kann man vorher die Funktion fromintegral zur Typangleichung verwenden. Es ist zu beachten, dass die Eingabe einer ganzen Zahl ohne Dezimalpunkt wie z.b bei Bedarf auch als Float-Wert interpretiert wird.
5 Beispiel: floor 4.5 ERROR - Unresolved overloading fromintegral (floor 4.5) 7.5 Der Datentyp Char Mit dem Datentyp Char werden Zeichen beschrieben, die man auf der Tastatur finden kann oder die in einer normalen Textzeile angezeigt werden können. Haskell verwendet zur internen Darstellung von Zeichen den Unicode, einen 16-Bit-Code. Wir werden uns in der Regel aber mit einem sehr kleinen Teil dieses Codes begnügen, den ASCII- Zeichen. American Standard Code for Information Interchange (ASCII) Dieser Code ist schon relativ alt und wurde in den frühen Zeiten der Datenfernübertragung entwickelt. Es ist ein 7-Bit-Code bei dem ein achtes Bit als Prüfbit (Paritätsbit) verwendet wurde. Da die 128 darstellbaren Zeichen nicht ausreichten, um auch Umlaute oder andere Sonderzeichen aus dem skandinavischen Sprachraum aufzunehmen, wurde später das achte Bit zur Erweiterung auf 256 Zeichen verwendet, unter anderem entstand so der Code Latin1. Da aber auch diese Erweiterungen nicht einmal für alle europäischen Sprachen und schon gar nicht für chinesische und japanische Schriftzeichen ausreichten, wurde mit dem sogenannte Unicode eine wesentlich größere Erweiterung entwickelt. Unicode Der Unicode wurde ursprünglich als 16-Bit-Code konzipiert mit dem man Zeichen darstellen kann, aber bald zeigte sich, dass diese Zahl nicht für alle Schriftzeichen der Welt verbreiteten Sprachen ausreicht. Deshalb entschloss man sich, diesen Bereich um 16 weitere Bereiche der gleichen Göße aufzustocken. Da der ASCII-Standard schon weltweit verbreitet war, wurden die ersten 128 Zeichen des Unicodes für die ASCII-Zeichen reserviert. Für die Arbeit mit dem Datentyp Char in Haskell spielt die Dualität zwischen Zeichen und Zahl eine entscheidende Rolle: Jedes 16- Bit-Tupel kann sowohl als Zeichen als auch als Binärzahl interpretiert werden. Hier sind die wichtigsten Fakten, die man zu diesem Thema wissen sollte. Um die im Folgenden besprochenen Funktionen verwenden zu können, muss (für alle neueren Hugs-Versionen) das Modul Char.hs geladen werden. Das geschieht durch die Anweisung import Char in der.hs Datei, die diese Funktionen verwendet oder bei einfachen Testbeispielen auf der Hugs Kommandozeile durch :l Char. 1. Zur Übersetzung von Zeichen in Zahlen und von Zahlen in Zeichen gibt es die Fuktionen ord :: Char -> Int
6 chr :: Int -> Char 2. Dadurch wird auch eine Ordnung auf Char definiert, die mit der lexikalischen Ordnung unseres Alphabet übereinstimmt, insbesondere bilden die Großbuchstaben einen zusammenhängenden Abschnitt von 65 bis 90, ebenso wie die Kleinbuchstaben von 97 bis 122 und die Ziffern von 48 bis Um Zeichen, also Elemente von Char, von Namen für Variable oder Funktionen zu unterscheiden, werden sie in Hochkommata eingefasst, wie z.b. a, X oder 3. Man kann Zeichen aber auch mit einem backslash und ihrer Nummer angeben, wie z.b. \51 für Man kann diese Umrechnungen auch nutzen, um einige der in Char.hs vordefinierten Funktionen oder Abwandlungen davon selbst zu implementieren. Als Beispiel betrachten wir die Funktion toupper :: Char -> Char mit der Kleinbuchstaben in die entsprechenden Großbuchstaben umgewandelt werden: offset :: Int -- Verschiebeabstand der Bloecke, ist ein Int-Wert offset = ord A - ord a -- Wert kann jetzt verwendet werden toupper ch = chr (ord ch + offset) 5. In Char.hs sind auch schon die Ordnungsrelationen <, <=, >, >= vordefiniert, man muss also nicht den Umweg über die Funktion ord gehen, um Zeichen vergleichen zu können. Zum Beispiel kann man eine Funktion iscapital :: Char -> Bool für den Test, ob ein Zeichen ein Großbuchstabe ist, wie folgt definieren: iscapital ch = ( A <= ch) && (ch <= Z ) Das ist doch etwas kürzer und einfacher als: iscapital ch = (ord A <= ord ch) && (ord ch <= ord Z )
2.5 Primitive Datentypen
2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",
MehrPrimitive Datentypen und Felder (Arrays)
Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste
MehrInformationsdarstellung 2.2
Beispiele für die Gleitkommadarstellung (mit Basis b = 2): 0,5 = 0,5 2 0-17,0 = - 0,53125 2 5 1,024 = 0,512 2 1-0,001 = - 0,512 2-9 3,141592... = 0,785398... 2 2 n = +/- m 2 e Codierung in m Codierung
MehrAbschnitt 2: Daten und Algorithmen
Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrEinheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen
Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik
MehrKapitel 3. Grunddatentypen, Ausdrücke und Variable
Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen
MehrOperatoren und Ausdrücke
Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung
MehrInhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen Darstellung ganzer Zahlen
3 Zahlendarstellung - Zahlensysteme - b-adische Darstellung natürlicher Zahlen - Komplementbildung - Darstellung ganzer und reeller Zahlen Inhaltsangabe 3.1 Zahlensysteme und Darstellung natürlicher Zahlen......
MehrKapitel 5: Darstellung von Daten im Rechner
Kapitel 5: Darstellung von Daten im Rechner Kapitel 5 Darstellung von Daten im Rechner und Rechnerarithmetik Literatur: Oberschelp/Vossen, Kapitel 5 Kapitel 5: Darstellung von Daten im Rechner Seite Kapitel
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
MehrInformationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit
Informationsmenge Maßeinheit: 1 Bit Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit 1 Byte Zusammenfassung von 8 Bit, kleinste Speichereinheit im Computer, liefert
Mehr2.1 Fundamentale Typen
2. Elementare Typen 2.1 Fundamentale Typen C++ stellt die wichtigsten Datentypen mit passender Form der Abspeicherung und zugehörigen Rechenoperationen zur Verfügung : Boolscher Datentyp (bool) für logische
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
MehrRechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16
Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 15/16 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht
MehrBinäre Darstellung ganzer Zahlen
Vorlesung Objektorientierte Softwareentwicklung Exkurse use Binäre Darstellung ganzer Zahlen Binärdarstellung natürlicher Zahlen Ganze Zahlen im Einerkomplement Ganze Zahlen im Zweierkomplement Elementare
Mehr2 Repräsentation von elementaren Daten
2 Repräsentation von elementaren Daten Alle (elemtaren) Daten wie Zeichen und Zahlen werden im Dualsystem repräsentiert. Das Dualsystem ist ein spezielles B-adisches Zahlensystem, nämlich mit der Basis
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrCrashkurs Haskell Mentoring WiSe 2016/17. Anja Wolffgramm Freie Universität Berlin
Crashkurs Haskell Mentoring WiSe 2016/17 Anja Wolffgramm Freie Universität Berlin 02/11/2016 , Inhalt Kommandozeile Haskell installieren & starten Ein 1. Haskell-Programm Funktionsdefinition Primitive
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrPraktische Informatik II FSS 2012 Programmierklausur
Praktische Informatik II FSS 2012 Programmierklausur Prof. Dr. Heiner Stuckenschmidt 20.04.2012 Name, Vorname: Matrikelnummer: CVS-Username: CVS-Password: automatisch generierter Benutzername automatisch
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrZahlensysteme und Kodes. Prof. Metzler
Zahlensysteme und Kodes 1 Zahlensysteme und Kodes Alle üblichen Zahlensysteme sind sogenannte Stellenwert-Systeme, bei denen jede Stelle innerhalb einer Zahl ein besonderer Vervielfachungsfaktor in Form
MehrKapitel 5: Daten und Operationen
Kapitel 5: Daten und Operationen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2007 Folien nach einer Vorlage von H.-Peter
Mehr3. Datentypen, Ausdrücke und Operatoren
3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrRückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8
Rückblick Zahlendarstellung zu einer beliebigen Basis b (214) 5 = Umwandlung zwischen Zahlendarstellung (278) 10 =(?) 8 25 Rückblick Schnellere Umwandlung zwischen Binärdarstellung und Hexadezimaldarstellung
MehrProgrammierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.
MehrRückblick. Addition in der b-adischen Darstellung wie gewohnt. Informatik 1 / Kapitel 2: Grundlagen
Rückblick Addition in der b-adischen Darstellung wie gewohnt 5 0 C E + D 4 2 D = 44 Rückblick Multiplikation in der b-adischen Darstellung wie gewohnt 1 0 1 0 1 0 1 = 45 Rückblick Darstellung negativer
MehrKapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp
MehrDie einfachsten Anweisungen
2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser
MehrBasiskonstrukte von Haskell
Basiskonstrukte von Haskell PD Dr. David Sabel Goethe-Universität Frankfurt am Main 29. September 2015 Basistypen und Operationen Ganzzahlen: Int = Ganzzahlen beschränkter Länge Integer = Ganzzahlen beliebiger
MehrDipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme
Dipl.-Ing. Halit Ünver 7.. Datenbanken/Künstliche Intelligenz FAW/n Zahlensysteme Seite Zahlensysteme Dipl.-Ing. Halit Ünver 7.. Inhalt I. Informatik und Zahlen für Wirtschaftswissenschaftler? II. III.
MehrEinstieg in die Informatik mit Java
1 / 30 Einstieg in die Informatik mit Java Datentypen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 30 1 Überblick 2 Ganzzahlige Typen 3 Gleitkommatypen 4 Zeichen, char
MehrBeispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen
Beispiele elementarer Datentypen Ganze Zahlen (integer) - Werte sind ganze Zahlen in vorgegebenen Bereich (z. B. -2 31 bis 2 31-1) - Übliche Operationen: Arithmetik (z. B. +,-,*, Division mit Rest, Rest
MehrKapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1
Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2
MehrHaDePrak WS 05/ Versuch
HaDePrak WS 05/06 10. Versuch 1 Das IEEE-Format Das Ziel dieser letzten Übung ist es, ein Fließkommapaket für die DLXzu implementieren. Der Einfachheit halber vernachlässigen wir hier im Praktikum jeglichen
MehrDie Zahl ist: (z 2, z 1, z 0 ) (z ) : 7 = 0 Rest z 2
Übungen zur Vorlesung Technische Informatik I, SS Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 4 Rechnerarithmetik Aufgabe : a) Bestimmen Sie die Darstellung der Zahl 3 zur Basis 7. 3 = 7 (Sehen Sie
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
Mehr4. Zahlendarstellungen
121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;
MehrElementare Konzepte von
Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner
MehrDatentypen: integer, char, string, boolean
Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,
MehrFehlererkennende und fehlerkorrigierende Codes
Fehlererkennende und fehlerkorrigierende Codes Claudiu-Vlad URSACHE, 5AHITN Inhalt 1. Codes... 2 2. Hammingdistanz... 3 3. Fehlererkennende Codes... 4 4. Fehlerkorrigierende Codes... 5 1. Codes a 2 a 00
MehrII. Grundlagen der Programmierung
II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123
MehrInhalt. Zahlendarstellungen
Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen
MehrVorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken
Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean
MehrZahlensysteme: Oktal- und Hexadezimalsystem
20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen
Mehr5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)
5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im
MehrRepräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen
Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung
MehrMusterlösung zur 2. Aufgabe der 4. Übung
Musterlösung zur 2. Aufgabe der 4. Übung Da viele von Euch anscheinend noch Probleme mit dem Entfalten haben, gibt es für diese Aufgabe eine Beispiellösung von uns. Als erstes wollen wir uns noch einmal
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
Mehr2.Vorlesung Grundlagen der Informatik
Christian Baun 2.Vorlesung Grundlagen der Informatik Hochschule Darmstadt WS1112 1/16 2.Vorlesung Grundlagen der Informatik Christian Baun Hochschule Darmstadt Fachbereich Informatik christian.baun@h-da.de
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 06.03.09 2-1 Heutige große Übung Allgemeines
MehrProgrammierkurs C++ Variablen und Datentypen
Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 2 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Vorbesprechung Übung 2 Variablen + Scopes Zahlensysteme Bits&Bytes Datentypen
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 27 4. Vorlesung Inhalt Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag 2er-Komplement BCD Addition und Subtraktion binär dargestellter Zahlen Carry und Overflow Little Endian
MehrZahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär
Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten
Mehr5 Zahlenformate und deren Grenzen
1 5 Zahlenformate und deren Grenzen 5.1 Erinnerung B-adische Zahlendarstellung Stellenwertsystem: Jede Ziffer hat ihren Wert, und die Stelle der Ziffer in der Zahl modifiziert den Wert. 745 = 7 100 + 4
MehrTag 2 Repetitorium Informatik (Java)
Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while
MehrMotivation und Überblick
Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ
MehrLangzahlarithmetik implementieren Ac 1990 bis 2016
Langzahlarithmetik implementieren Ac 1990 bis 2016 Wie konstruiert man einen BigInteger-Typ (Langzahlarithmetik)? Zur Berechnung von sehr großen Ganzzahlen ( Big Integers ) kann man Register verwenden,
Mehr2 ARITHM. UND LOG. AUSDRÜCKE ZAHLEN
2 ARITHM. UND LOG. AUSDRÜCKE ZAHLEN Leitidee: Die Darstellung von Zahlen durch eine feste Zahl von Bits erfordert eine Reihe von Kompromissen Ganzzahl- oder Gleitpunktarithmetik? Dual- und Hexadezimalzahlsystem
MehrInstitut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 20. November 2017 Programmieren I 4. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrDas Rechnermodell - Funktion
Darstellung von Zahlen und Zeichen im Rechner Darstellung von Zeichen ASCII-Kodierung Zahlensysteme Dezimalsystem, Dualsystem, Hexadezimalsystem Darstellung von Zahlen im Rechner Natürliche Zahlen Ganze
MehrNoch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean
01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2
Mehr2.1 Java. Er fand jedoch heraus, dass es bereits eine Programmiersprache mit dem Namen Oak gab.
2.1 Java Java sollte ursprünglich Oak (= Eiche) heißen, nach den Bäumen, die vor dem Büro des wichtigsten Entwicklers von Java, James Gosling, standen. Er fand jedoch heraus, dass es bereits eine Programmiersprache
MehrAlgorithmen & Programmierung. Felder (2) Zeichenketten
Algorithmen & Programmierung Felder (2) Zeenketten Zeenketten Verarbeitung von Textdaten in C In C gibt es keinen vordefinierten Datentyp zur Verarbeitung von Textdaten. Es existiert ledigl ein Datentyp
MehrAnleitung zum Ausführen der vier Grundrechenarten mit dem russischen Abakus ( Stschoty )
Zahlen darstellen 1 Anleitung zum Ausführen der vier Grundrechenarten mit dem russischen Abakus ( Stschoty ) 1 Zahlen darstellen 1.1 Stschoty in Grundstellung bringen Der Stschoty wird hochkant gehalten
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter
Mehr8 Typwandlungen. 8.1 Automatische Typkonvertierungen
8 Typwandlungen Hier geben wir Ihnen weitere Informationen zu Goto Java 2, die Sie ergänzend zu Hausaufgabe 3 lesen sollten. Sie sollten für die weiteren Ausführungen zunächst in Go To Java Kapitel 4.6
MehrALGEBRA Lineare Gleichungen Teil 1. Klasse 8. Datei Nr Friedrich W. Buckel. Dezember 2005 INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK
ALGEBRA Lineare Gleichungen Teil Klasse 8 Lineare Gleichungen mit einer Variablen Datei Nr. 40 Friedrich W. Buckel Dezember 005 INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK Inhalt DATEI 40 Grundlagen und ein
MehrJava-Applikationen (Java-Programme)
Java-Applikationen (Java-Programme) Eine erste Applikation: 1 2 3 4 5 6 7 8 9 10 // Quelltext HalloWelt.java // Programm gibt den Text Hallo Welt aus public class HalloWelt public static void main(string[]
MehrProgrammieren in Haskell Einstieg in Haskell
Programmieren in Haskell Einstieg in Haskell Peter Steffen Universität Bielefeld Technische Fakultät 24.10.2008 1 Programmieren in Haskell Was wir heute machen Umfrage: Wer hat den Hugs ausprobiert? Ausdrücke
MehrGrundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke
Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii
MehrAlgorithmen und Programmieren 1 Funktionale Programmierung - Musterlösung zu Übung 1 -
Algorithmen und Programmieren 1 Funktionale Programmierung - Musterlösung zu Übung 1 - Dozent: Prof. Dr. G. Rote Tutoren: J. Fleischer, T. Haimberger, N. Lehmann, C. Pockrandt, A. Steen 18.10.2011 Ziele
MehrPrinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert
Binäre Repräsentation von Information Bits und Bytes Binärzahlen ASCII Ganze Zahlen Rationale Zahlen Gleitkommazahlen Motivation Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert
MehrProgrammieren in Haskell
Programmieren in Haskell Wir steigen ein... Programmieren in Haskell 1 Was wir heute machen Umfrage: Wer hat den Hugs ausprobiert? Ausdrücke und Werte Datentypen Funktionen Aufgabe für diese Woche Programmieren
MehrAbschnitt 11: Korrektheit von imperativen Programmen
Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961
MehrÜbungsblatt 1. Java Vorkurs (WS 2017)
Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die
MehrZahlen im Computer (Klasse 7 Aufbaukurs Informatik)
Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller
Mehrfloat: Fließkommazahl nach IEEE 754 Standard mit 32 bit
Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen
MehrWandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.
Digitaltechnik Aufgaben + Lösungen 2: Zahlen und Arithmetik Aufgabe 1 Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen a) 4 D b) 13 D c) 118 D d) 67 D Teilen durch die Basis des Zahlensystems.
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Variablen Datentypen Werte Ausdrücke Operatoren
MehrMathematik 1 -Arbeitsblatt 1-4: Rechnen mit Brüchen. 1F Wintersemester 2012/2013 Unterlagen: LehrerInnenteam GFB RECHNEN MIT BRÜCHEN
RECHNEN MIT BRÜCHEN. Arten von Brüchen und Definition Beispiel: 3 5 Zähler Bruchstrich Nenner Definition: Jeder Bruch hat folgendes Aussehen: Zähler Nenner. Der Nenner gibt an, in wie viele gleich große
Mehr6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N. 6.1 von wörtern zu zahlen und zurück Dezimaldarstellung von Zahlen Num 10
6 Ü B E R S E T Z U N G E N U N D C O D I E R U N G E N 6.1 von wörtern zu zahlen und zurück 6.1.1 Dezimaldarstellung von Zahlen Num 10 Num10(ε) = 0 (6.1) für jedes w Z 10 für jedes x Z 10 Num 10 (wx)
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Darstellung von Text Plain Text Abstraktion: Text wird durch eine Folge von Symbolen (Buchstaben, Zahlen, Interpunktion) dargestellt Verzicht auf Informationen über
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrSchleifeninvarianten. Dezimal zu Binär
Schleifeninvarianten Mit vollstandiger Induktion lasst sich auch die Korrektheit von Algorithmen nachweisen. Will man die Werte verfolgen, die die Variablen beim Ablauf eines Algorithmus annehmen, dann
MehrJava Kurs für Anfänger Einheit 2 Datentypen und Operationen
Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis
MehrVariablen, Konstanten und Datentypen
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick
MehrInhalt. 2.1 Darstellung von Zahlen. 2.2 Darstellung von Zeichen. 2.3 Boolesche Algebra. 2.4 Aussagenlogik. Informatik 1 / Kapitel 2: Grundlagen
2. Grundlagen Inhalt 2.1 Darstellung von Zahlen 2.2 Darstellung von Zeichen 2.3 Boolesche Algebra 2.4 Aussagenlogik 2 2.1 Darstellung von Zahlen Im Alltag rechnen wir gewöhnlich im Dezimalsystem, d.h.
MehrÜbungen zu Algorithmen
Institut für Informatik Universität Osnabrück, 08.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 16.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen
MehrD A T E N... 1 Daten Micheuz Peter
D A T E N.....! Symbole, Alphabete, Codierung! Universalität binärcodierter Daten! Elementare Datentypen! Speicherung binärcodierter Daten! Befehle und Programme! Form und Bedeutung 1 Daten Micheuz Peter
MehrBasisinformationstechnologie I
Basisinformationstechnologie I Wintersemester 2012/13 24. Oktober 2012 Grundlagen III Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f
Mehr