Informatik: Wissenschaft von der systematischen Darstellung, Speicherung, Verarbeitung und Übertragung von Informationen (Computer Science) Hardware: Menge aller technischen Geräte einer Rechenanlage Software: leicht veränderliche Teile (Informationen (Daten), Verarbeitungsweise der Informationen (Programme), Dokumentation) Programm: spezifische Formulierung einer Verarbeitungsweise (Was heißt hier „spezifisch“? ‰ bezogen auf eine bestimmte Rechenanlage – „Maschinenprogramm“ „ elementare Formulierung, sehr umständlich ‰ bezogen auf eine bestimmte (höhere) Programmiersprache) Maschinenprogramm: (machine program) Programm, welches in einer Maschinensprache formuliert ist und von einer Rechenanlage direkt ausgeführt werden kann auch: Objektprogramm (object code) Übersetzer: (compiler) Programm, das Programme aus einer Programmiersprache (Quellsprache) in eine andere Programmiersprache (Zielsprache) übersetzt Binder: (linker) Programm, das die Objektcodes verschiedener Programme zu einem Maschinenprogramm zusammensetzt ? Prozess: (process) Ablauf eines Programms Lader: (loader) Programm, welches ein Maschinenprogramm zur Ausführung bringt Algorithmus: (algorithm) Verarbeitungsvorschrift, die so präzise formuliert ist, dass sie von einem mechanisch oder elektronisch arbeitenden Gerät durchgeführt werden kann Schreibprogramm: (editor) Programm zur Erstellung, Veränderung, Löschung und Durchsuchung von Texten Spezifikation: Präzise abstrakte Darstellung und Beschreibung der Eigenschaften, der Verhaltensweisen, des Zusammenwirkens und des Aufbaus von Programmen - Problemspezifikation - Aufforderungspezifikation - Entwurfsspezifikation Intermediale Language (IL): Zwischensprache (Plattformunabhängig) Just-In-Time-Compiler (JIT): Kompiliert IL → echte Maschinensprache Single Source Prinzip jeder Algorithmus steht nur einmal im Programm → Übersichtlichkeit, Wartbarkeit, Wiederverwendbarkeit Prozedur als Programm formulierbare Vorschrift, die als Funktionen - ohne Rückgabewert → Verb - bool-Rückgabewert → Adjektiv - sonst → Substantiv Algorithmik Lehre der Algorithmen - Beschreibung von Algorithmen - Qualitätsmessung von Algorithmen - Ressourcenverbrauch - Laufzeit,Speicher Maximumsuche Suche nach höchstem Wert lineare Suche Suche (nacheinander) nach gesuchtem Wert Komplexität Aufwand eines Algorithmus (insb. Zeit, Speicher) Rechenzei: Zahl der Rechenschritte best / worst / avarage case … *lineare Komplexität abhängig von Arraylänge *konstante Komplexität unabhängig von Arraylänge binäre Suche in jedem Schritt die Hälfte der Elemente ausschließen ( 2k-1 = k Schritte )