Sie sind auf Seite 1von 2

Programmierparadigma: imperativ oder deklarativ (funktional, logisch)

Programmierparadigmen unterscheiden sich durch ihre Konzepte fr die Reprsentation von


statischen (wie beispielsweise Objekte, Methoden, Variablen, Konstanten) und dynamischen
(wie beispielsweise Zuweisungen, Kontrollfluss, Datenfluss) Programmelementen.
Entstehung:
Editieren Parsen Compilieren/Linken oder Interpretieren Test/Ausfhren
Compilieren Maschinen Code vs. Interpretieren Just-in-Time Compilation vs.
Virtual Machine AOT-Compile to ByteCode and JIT Compilation to Machine Code
Arbeiten:
Spezifikation - genaue Beschreibung der Anforderungen
Algorithmus - einen Programmablauf
Datenstruktur - wie wird mit welchen Daten gearbeitet
Elementen:
Datentypen - primitive (byte,int, float, char, bool), zusammengesetzte (array, string), abstrakte
Variablen - stehen stellvertretend fr einen gespeicherten Wert eines Typs
Funktionen - fr bestimmte Argumente wird ein Funktionswert erzeugt
Operationen - sind funktionen die kleiner geschrieben werden knnen
(string1.add(string2) string1 + string2). Einige Operationen; +,-,*,!,==,<=.
Operators knnen auch berladen werden fr bestimmte Datentypen (Operator
Overloading).
Sprachkern:
Zuweisungen - a = 10
Block/Sequenz - von Zuweisungen die nacheinander ausgefhrt werden
bedingte Schlaufe - while(Bedingung) { }
Verzweigung - if(Bedingung) then { } else { }
Erweiterungen:
Switch - fancy if statement
Do and For - fancy While statement, Do luft unbedint n-mal durch, For hchstens n-mal.
break - bricht eine Schlaufe ab
Ausdrcke sind erlaubte und sinnvolle Termen (v=a+3b-2c), eine Zusammenfhrung der Obigen
elementen.
Kontext - Wo das variablen definiert sind (lokal oder global)
Call by Reference (gesammte Variable wird bergeben) vs Call by Value (nur der Wert wird
bergeben)
Rekursion:
Funktion ruft sich selbst auf bis die gegeben Argumenten einen Wert haben fr die der
Funktionswert bekannt ist.
Iterativ:
wird einmal aufgerufen, hat dafr eine Schlaufe

Lineare Suche
alle Werten von anfang bis ende durchgehen und terminieren wenn der gewnschte Wert
gefunden wird oder das Ende erreicht ist.
Binre Suche
bedingt sortierte Daten
man vergleicht das mittlere Element mit dem gesuchte Wert, falls er kleiner ist wird bei der
linken Hlfte den Mittleren Wert genommen, usw.
maximal k durchlufe, wobei 2k =n
Selection Sort
Das kleinste Element suchen (LinSearch) und mit dem Element am Anfang vertauscht, usw.
n 1
n(n1) n 2
Anzahl Vergleiche: V (n)= ni=n(n1)
i =1 2 2
Anzahl Austauschungen: A (n)=n1 n
Insertion Sort
Das 2. Element wird genommen und mit dem ersten Element verglichen und einplatziert, dann
das 3. Element und mit dem 1. und 2. Element vergliichen und einplatziert, usw.
Es wird nur links vom Wert, bei den sortierten Elementenm, geschaut wo das es hineinpasst,
sonst wird es am Platz gelassen.
n1 2
n
Vertausch- bzw Vergleichsschritte: V (n)= A (n)= i
i=1 4
Quick Sort
Ein element (Pivot) whlen und dann zwei Teillisten herstellen die entweder alle Elemente die
grsser oder kleiner als der Pivot enthlt. Dies weiterfhren bis die Listen nicht mehr teilbar
sind.
Nur Vergleiche wichtig: V (n) mind . nlog (n)< mit tl .2nlog (n)<max . n2 /2