Beruflich Dokumente
Kultur Dokumente
Inhaltsverzeichnis
Grundlegendes....................................................................................................................... 2
Informationsgehalt............................................................................................................... 2
Codierung............................................................................................................................ 2
Zahlensysteme.................................................................................................................... 3
Rechnen im Dualsystem......................................................................................................3
Rechnen mit negativen Zahlen............................................................................................3
Darstellung einer Gleitkommazahl nach IEEE 754 (Short Real; 32 Bit)...............................4
ASCII-Code......................................................................................................................... 4
Unicode............................................................................................................................... 5
UTF-8.................................................................................................................................. 5
Codierung von Zeit.............................................................................................................. 5
Codierung von Farben......................................................................................................... 5
Codierung von Grafiken.......................................................................................................5
Codierung von Audio........................................................................................................... 5
Modellierung........................................................................................................................... 5
Was ist ein Modell?............................................................................................................. 5
Kontext / Abgrenzung der Modellierung...............................................................................5
Beispiele für Modellierungen...............................................................................................5
Modellbildung...................................................................................................................... 6
Methoden der Modellbildung...............................................................................................6
Modelle und Codierung....................................................................................................... 6
Datenmodellierung mit der EBNF............................................................................................7
Erweiterte Backus-Naur-Form.............................................................................................7
Regeln / Zeichen der EBNF.................................................................................................7
Beispiel für eine vollständige EBNF.....................................................................................7
Zustandsdiagramme............................................................................................................... 7
Aufbau von Zustandsdiagrammen.......................................................................................8
Beispiel: Paketauslieferung.................................................................................................8
Grundlegendes
Informatik: Information & Automatik
o Informatik = „Wissenschaft von der systematischen Verarbeitung von Informationen,
besonders mit Hilfe von Digitalrechnern.“
Informatik ist eine Strukturwissenschaft
Weniger als 1% der Informatiker entwickeln heutzutage noch Rechner; Großteil
ist in der Softwareentwicklung beschäftigt
Algorithmus = Detaillierte Handlungsvorschrift zum (schrittweisen) Lösen eines Problems
Wichtige Personen / Pioniere der Informatik:
o Alan Turing (erschuf Großteil der theoretischen Grundlagen der Informatik,
Entschlüsselung der Enigma)
o Konrad Zuse (Erster vollautomatischer programmgesteuerter Computer: „Z3“)
o John von Neumann (Mathematiker, Schöpfer der „von Neumann Architektur“)
o Edsger W. Dijkstra (niederl. Informatiker; Mitentwicklung von
Programmiersprachen & Algorithmen)
Information = Erfolgreicher Transfer von Faktenwissen an einen Empfänger
o Z.B.: Herr Braun sagt etwas Mitschüler, wenn er es wusste -> kein erfolgreicher
Transfer
Weitergabe von Information → Vervielfältigung (Grenzkosten gleich null)
Materielle Dinge -> 1 Mal vorhanden
Energie Materielle Dinge > immaterielle Dinge
Syntax = Folge von Symbolen (verschiedene Interpretationen möglich)
Semantik = Bedeutung / Kontext der Informationen (kann bei der Repräsentation verloren
gehen)
Informationsgehalt
Informationsgehalt = Anzahl der (maximalen) ja/nein-Fragen, die man stellen muss
Einheit: Bit (z.B. Münzwurf 1 B it, Würfelwurf 3 Bit); (Achtung: Bits sind nicht teilbar!
Immer aufrunden!)
Mit n Bit kann man 2n verschiedene Symbole codieren
Informationsgehalt eines Symbols: log2(N)
Alpahbet = Menge aus Symbolen, die wir codieren wollen und die gleiche
Wahrscheinlichkeit haben : p= 1/N
Der Informationsgehalt eines Zeichens x mit der Auftrittswahrscheinlichkeit px: -log2(px)
Bei unterschiedlichen Wahrscheinlichkeiten der Symbole wird die Summe
berechnet (z.B. Würfel mit Kopf 0,8 & Zahl 0,2: −(0.8 · log2(0.8) + 0.2 ·
log2(0.2)) = ~ 0.7219)
Informationsgehalt von Wörtern analog dazu
o Die Codelänge ist variable, z.B.: Melissa
o Prefixcode, die Zahlen dürfen nicht gleich beginnen
o Dadurch eindeutig zuzuordnen
Je höher Wahrscheinlichkeit, desto geringer Informationsgehalt
Codierung
Feste Codelänge (z.B. 3 Bit Pro Buchstabe) →
Einfach, aber nicht optimal in der Nutzung
Variable Codelänge (z.B. 2 oder 3 Bit pro Buchstabe)
→ Insgesamt kürzer, schwerer zu erzeugen und zu
lesen
8 Bit = 1 Byte (256 Möglichkeiten),
Umrechnungsfaktor: 1024 (1024 Byte = 1 Kilobyte,
usw.)
Einheiten:
Zahlensysteme
Dezimalsystem:
o z.B. (2048)10 = 2· 103 + 0 · 102 + 4 · 101 + 8 · 100
Binärsystem / Dualsystem
o Erlaubte Ziffern: 0, 1
o Stellen entsprechen 2-er Potenzen
o z.B. (1101)2 = 1· 23 + 1 · 22 + 0 · 21 + 1 · 20
Umrechnungsverfahren (für Klausur muss eines davon sitzen!)
o Div / mod:
z.B. 28 als Binärzahl:
Mit der größten möglichen Potenz starten (hier 24=16, da nächste Potenz
32 wäre) 28 / 16 = 1 Rest 12
12 / 8 = 1 Rest 4
4 / 4 = 1 Rest 0 1=1
0 / 2 = 0 Rest 0
0 / 1 = 0 Rest 0 2 = 10
10 = 1010
5:101 , 10: 1010
11 = 1011
o Eine 0 rechts anhängen -> Zahl wird verdoppelt
o Eine 0 Rechts wegstreichen -> Zahl wird halbiert 12 = 1100
o Letzte Stelle gerade: ungerade Zahlen 13 = 1101
o Zb 7: 111
o Letzte Stelle ungerade: gerade Zahlen 14 = 1110
Rechnen im Dualsystem
Einfache Addition von Binärzahlen
ASCII-Code
7 Bit Code; es werden nur Zahlen 0 bis 127 verwendet
Das linkeste Bit im ASCII-Code wurde früher als Kontrollbit verwendet (Parität)
o Wird so gesetzt, dass die Anzahl der 1 gerade ist
o Bei einem Fehler in der Übertragung könnte man dies an einer ungeraden
Anzahl der 1 erkennen
Erweiterung des ASCII-Code:
o Hinzunahme eines weiteren Bit ermöglicht eine Verdopplung der codierbaren Zeichen
Unicode
Problem: sehr viele verschiedene ASCII-Erweiterung (praktisch für jede Sprache)
Versuch, ein gemeinsames Alphabet in 2 Byte zu finden (65536 Zeichen)
Unicode wurde zu Universal Character Set (UCS) weiterentwickelt (4 Byte = 140.000 Zeichen,
Maximal = 1,1 Millionen)
Modellierung
Was ist ein Modell?
= „simplified representation of an object“
- Ein Modell ist eine vereinfachte Repräsentation eines realen Dings/ Objekts
Definition Modellierung
- Modellierung ist das Identifizieren von relevanten Eigenschaften eines realen „Ding“ zur
Benutzung im Kontext einer bestimmten Anwendung.
Definition: =
Aufzählungen: ,
Ende einer Definition: ;
Alternative: |
Option: […]
Optionale Wiederholung: {…}
Kommentar: //
Kann man stark variieren, je nachdem wie man es möchte oder wie es verlangt ist
Am besten zunächst nach den möglichen Zuständen suchen, im Anschluss die Ereignisse,
welche die Zustände verursache
Bespiel Getränkeautomat
Grammatik
Herleitung aus der EBNF:
o Nicht Terminale (Platzhalter) : Großbuchstabe
o Terminale (Eingabe)
o Ableitungsregeln
o Startsymbol (Nicht-Terminal): in Einführungszeichen
Reguläre Grammatiken
Erlaubte Regeln haben folgenden Aufbau:
o A = a, B;
o A = a;
o A = ε („das leere Wort“)
A und B = Nicht-Terminale
A = beliebiges Terminal
Es darf mehrere Regeln für Nicht-Terminal geben
Alternativen „|“ sind auch erlaubt
Sprache
= Menge der Wörter, die von einer Grammatik erzeugt
wird Beispiel:
Endlicher Automat
Wird aus einem Zustandsdiagramm hergeleitet (→ Zustandsdiagramm ist quasi
die grafische Darstellung eines endlichen Automaten)
Endliche Menge von Zuständen
Inhalt:
S= State (Zustand)
S0 ist Element von S (Start-Zutstand)
Sigma
Delta: Kreuzprodukt von S und Sigma ergibt neues S, Übergangsfunkion: was macht
der Automat?
Teilmenge der Zustände, F (Final)
Endlichen Automaten erzeugen aus einem Zustandsdiagramm
• Endlicher Automat hat mehr Informationen las Zustandsdiagramm, Schleife mit Lang fehlt
Fehlerzustand (hier: S3) muss nicht extra benannt werden (ergibt sich als logische Folgerung)
Finaler Zustand wird unterstrichen
Verwendung eines Automaten zur Erkennung eines Wortes
Möchte man wissen, ob ein Wort in einer Sprache gültig ist, muss man einfach die
einzelnen Schritte mit dem Automaten durchspielen (Einsatzgebiet z.B. bei der Prüfung von
Web-Formularen)
Finaler Zustand
erreicht
→ Wort ist in der
Sprache vorhanden
Fehlerzustand erreicht
→ Wort ist in der
Sprache nicht
vorhanden
Genauer:
„Einfache“ Probleme
o Wir haben Lösung gefunden und trz steigernder Problemgröße werden wir in absehbarer Zeit
Lösung finden
Wie viel Zeit benötigen wir bei einem
größeren Problem?
o Linear: gleichmäßiger Anstieg: Doppelte
Problemgröße = doppelter Zeitaufwand
o Logarithmic: Computer wird bei größeren
Problemen schneller
o Constant laufzeit: egal ob kleines oder großes
Problem, Computer braucht immer gleiche
Schrittanzahl
o Quadratic: doppelt großes Problem, 4-mal
mehr Zeit
Beispiel für einen einfachen Algorithmus:
„Schwere“ Probleme
Beispiel: Planung einer Rundreise (12 Städte)
Um die beste Route zu bekommen müsste man ca. 480 Mio. möglichen Reisen
„durchprobieren“
(12! = 479.001.600 (Permutation))
Fakultäts-Funktion
Suche den schnellsten Vorteil→ Wir wählen immer die nächste Stadt vom Ausgangspunkt, die
noch nicht besucht wurde
Algorithmus ist deutlich schneller
Liefert nicht das optimale Ergebnis, aber eine gute Näherung (also durchaus praktikabel)
Das optimale Ergebnis wird (wenn überhaupt) nur durch Zufall erreicht
Travelig Salesman
Das Problem der optimalen Rundreise wird „Traveling Salesman“ genannt
Hat eine hohe praktische Bedeutung (z.B. für Logistik)
Man kennt keinen(!) Algorithmus, welcher das optimale Ergebnis ohne erschöpfende
Suche schafft (→Schweres Problem)
Schweres Problem: nicht effizient lösbar, sondern wir müssen alle Lösungmöglichkeiten
zählen und die beste aussuchen
Man glaubt auch, dass es keinen solchen Algorithmus gibt (wenn auch ohne es beweisen
zu könnem
o