Please enable JavaScript.
Coggle requires JavaScript to display documents.
Informatik (Terminologie (Algorithmus
schematische Lösungen von Problemen…
Informatik
Terminologie
Algorithmus
schematische Lösungen von Problemen einer Klasse, nach endlichen, elementaren Schritten
teminierend: endliche Zeit
deterministisch: jeweils nächster Schritt bekannt
determiniert: gleiche Eingabe =>gleiches Ergebnis
-
-
-
-
Programmiersprache
Maschinensprache<>Höhere (portabel, flexibel)
-
Objects :red_cross:
Zeiger
- zeigt auf Variablen
- Zeiger entspricht Adresse im physikalischen Speicher wo Wert der Variablen steht.
- Equivalent zu eingebauten Feldern: Felder immer by reference übergeben :red_cross:
Notation:
- int∗ x Zeiger auf int Variablen (Initialisireung?)
- x = &n Zeiger auf Ort von n
- ∗x = 4 verändert Wert der Variable auf die gezeigt wird
- Den Typ eines Zeigers auf einen Datentyp X bezeichnet man mit X*“.
- Zeiger auf Zeiger int∗∗
- & ist der (einstellige) Adressoperator: x = &n“ ändert die Bindungstabelle so, dass
w(x) = n
- &-Operator verhindert die Anwendung von w.
- w(&x) = x :star: :!?:
- ∗ ist der (einstellige) Dereferenzierungsoperator: Wenn x = &n gilt, so weist ∗x = 4;“ dem Wert von n die Zahl 4 zu.
- ∗-Operator wendet die Abbildung w einmal auf das Argument rechts von ihm
an
-
Zeiger auf zusammengesetzte Datentypen:
( ∗ p ) . n = 5 ; // Zuweisung an Komponente n von q
p−>n = 5 ; // e i n e Abkuerzung
-
Situationen in denen man Zeiger als Argu-
mente von Funktionen einsetzt:
• Der Seiteneffekt ist explizit erwünscht wie in abheben (→ Objektorientierung).
• Man möchte das Kopieren großer Objekte sparen (→ const Zeiger).
:warning:
Speicher darf nur dann freigegeben werden, wenn keine Referenzen darauf mehr existieren.
->wichtig für dynamische Speicherverwaltung
Anwendung von Zeigern: einfach verkettete Liste
- Hauptvorteil gegenüber Feld: Einfügen und Löschen
von Elementen schneller
- Spezialfal eines Containers
Variablen
-
-
Dynamische Variablen :red_cross:
- erzeugt über new zerstört über delete
- können nur
indirekt über Zeiger bearbeitet werden
- werden gespeichert auf dem so genannten Heap
-notwendig, um Strukturen im Rechner zu erzeugen,
deren Größe sich während der Rechnung ergibt
Klassen
-
öffentliche Mitglieder
- können von jeder Funktion eines Programmes
benutzt werden
Privater Teil
- können nur von den Methoden der Klasse selbst benutzt werden
Destruktor
- eine Methode, deren Name mit einer Tilde ∼ beginnt, gefolgt vom Namen der Klasse
Konstructor:
- hat Aufgabe, die Datenmitglieder
des Objektes geeignet zu initialisieren
- Konstruktor ist eine Methode mit demselben Namen wie die Klasse selbst
-Default Version
-
Methode
- definiert durch <Klassenname>::<Methodenname>
-
-
-
-
Programmierung
Funktionale Programmierung
äquivalent zu TM (wenn unendlich Speicher)
Auswertung von Ausdrücken in Funktionen, jede Funktion eine Anweisung (return)
-
-
-
-
Object-Oriented
- Idee: Verbinde Daten und Funktionen zu einer Einheit
- Funktionen einer Klasse heißen Methoden
- methoden genügt den Kopf in der Klasse yu defineren
-
-
-