Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat...
-
Upload
erna-stommel -
Category
Documents
-
view
102 -
download
0
Transcript of Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat...
![Page 1: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/1.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1
Einführung
Wat jibt´s denn? Mit Computa kenn´ ick mir aus!
Guten Tag, darf ich Ihnen mal eine Frage stellen?
Kapitel 1
![Page 2: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/2.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 2
integers, reals, arrays, records, stacks, files, characters, ...
Was ist ein „Datentyp“?
![Page 3: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/3.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 3
Definition erforderlich!
Beachte: Nutzerdefinierte Datentypen
in vielen Programmiersprachen
„Ein Datentyp legt die Menge der Werte fest, die eine Variable annehmen kann.“
( Pascal User Manual)
![Page 4: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/4.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 4
?stacks = queues
alles sequences
Na ja, na ja, ...
Zugriffsmechanismen:
filo vs. fifo
![Page 5: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/5.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 5
Datentyp:• Menge von Objekten• Operationen über diesen Objekten
= Algebra
Datentypen sind
Algebren ?
!
![Page 6: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/6.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 6
Mathematik
Algebra
= universelle Algebra
= algebraische Struktur
------------------• Trägermenge• Operationenfamilie
Informatik
z.B.: real array benötigt
real, array, integer
------------------
Algebra
=> Begriff erweitern !
------------------• mehrere Trägermengen• Operationenfamilie
Algebra und Informatik
![Page 7: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/7.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 7
Homogene oder einsortige Algebra
• Gruppe• Monoid• Ring• Boolesche Algebra• Verband
Heterogene oder mehrsortige
Algebra
• Datentyp• Vektorraum
• endlicher Automat• Syntax einer Programmiersprache
• Semantik - “ -
Algebra und Informatik
![Page 8: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/8.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 8
Problem:Partialität vieler Operationen:Selektion, Division, Überlauf/Unterlauf,
Lesen aus leerem Keller,
Aufruf nichtdeklarierter Prozedur
mehrsortige, partielle Algebren
Theorie kompliziert
partielle Operation totale Operationerror
Algebra und Informatik
![Page 9: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/9.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 9
Datentyp „Zeichenkeller“ (stacks of characters):• (mindestens) drei Trägermengen
Char = {a, b, c, ..., z}Stack = Char *Bool = {true, false}
• vier Operationen zweckmäßig
push : Char Stack Stack top : Stack Char pop : Stack Stack empty? : Stack Bool
Beispiel
![Page 10: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/10.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 10
Definition der Operationen:Sei - leerer Keller
sx - Füllung (Verkettung) des Kellers s mit Zeichen x
push(x,s) = sx top(sx) = x pop(sx) = s true , falls s = empty?(s) = false , falls s
top() = ? pop() = ? Einführung von error-Elementen
Beispiel (Forts.)
![Page 11: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/11.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 11
Definition der Operationen:Sei - leerer Keller
sx - Füllung (Verkettung) des Kellers s mit Zeichen x
push(x,s) = sx top(sx) = x pop(sx) = s top() = char-err pop() = stack-err true , falls s = empty?(s) = bool-err, falls s = stack-err false , sonst
Beispiel (Forts.)
![Page 12: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/12.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 12
Trägermengen erweitern:
Charp = {a, b, c, ..., z}
Char = Charp {char-err}
Stack = Charp * {stack-err}
Bool = {true, false} {bool-err} Operationen - „strikt“ vervollständigen
push : Char Stack Stack top : Stack Char pop : Stack Stack empty? : Stack Bool
Beispiel (Forts.)
![Page 13: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/13.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 13
• Erweiterung um Boolesche Operationen oft nützlich:
vel : Bool Bool Bool et : Bool Bool Bool non : Bool Bool (alle strikt vervollständigt)• Ergänzung des Datentyps „Zeichenkeller“ um neue Sorte
Int möglich, um z.B. die „Kellertiefe“ zu erfassen:
depth : Stack Int• Dann evtl. zweckmäßig, Rechnen über Int hinzuzunehmen:
arithmetische ( +, - ) und Vergleichsoperationen < usw.
Algebra mit vier Trägermengen und Operationen zwischen ihnen
Beispiel (Forts.)
![Page 14: Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 1 Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,](https://reader035.fdocument.pub/reader035/viewer/2022070310/55204d6649795902118bb871/html5/thumbnails/14.jpg)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 1 / 14
ZeichenkellerSignatur
Char Stack Bool
Int
top empty?non
vel
et
pop
depthpush
- <
+
Beispiel (Forts.)