Einführung Programmieren Flashcards
Was ist ein Algorithmus?
Eine eindeutige Handlungsvorschrift zum Lösen eines Problems - Eingabe wird zur Ausgabe
Auf welcher Architektur basieren die meisten Computer? Nenne auch die einzelnen Bestandsteile.
Von-Neumann-Architektur - CPU ist die zentrale Recheneinheit, der Bus verbindet CPU mit anderen Komponenten (Datenübertragung), I/O ist die Schnittstelle zum User, der Speicher ist das Gedächtnis des Computers
Was ist der Ablauf eines Programms bei einem Computer?
Programm lädt Informationen in die Register der CPU - dort finden dann Berechnungen statt und anschließend wird das Ergebnis im Speicher gespeichert.
Was ist ein Interpreter? Nenne Interpreter-Programmiersprachen.
Übersetzt Computerprogramm zur Laufzeit in Maschinencode (Ruby, PHP, Javascript)
Was ist Bytecode? Nenne Bytecode-Programmiersprachen.
Zwischenstufe zwischen kompiliertem und interpretiertem Code - Java, C#
Was sind kompilierte Programmiersprachen?
C, C++
Welche Bitweise-Verknüpfungen gibt es?
Komplement (~)
UND (&)
ODER (|)
XOR(^)
Shiften (<<, >>)
Welche Logische Verknüpfungen gibt es?
&& –> AND
|| –> OR
^ –> XOR
Wofür wird die Epsilon-Gleichheit verwendet?
Bei Rechnungen mit floats kann es auf Grund des Computers zu Probleme kommen mit den Kommastellen, dass diese nicht richtig z.B. aufaddiert werden. Man macht dann einen Epsilon-Gleichheits-Check, mit dem man prüft, ob Zahlen ungefähr im richtig Wertebereich sind (num - 1 < epsilon), wir legen also einen Wertebereich fest und prüfen, ob das Ergebnis einer Berechnung im +- Epsilon liegt
Welche Arten von Schleifen gibt es? Beschreibe diejenige, die am seltensten genutzt wird.
For-Schleifen, While-Schleifen, Do-While-Schleifen –> do {} while (condition);
Welche Arten von Bugs gibt es?
Syntax-Fehler (x = 5 vs. x == 5)
Arithmetische Fehler (Overflow, Division by Zero)
Logische Fehler (Infinite Loops)
Semantische Fehler (Vertauschen von Methodenargumenten)
Was ist das EVA-Prinzip?
Eingabe-Verarbeitung-Ausgabe - heißt wir werfen etwas in eine Methode, die Methode verarbeitet dies und gibt uns ein Ergebnis zurück.
Was sind Jagged Arrays?
Array von Arrays (mit unterschiedlicher Länge)
Was sind die Grundprinzipien von OOP? Beschreibe diese.
Datenkapselung - mit Hilfe von Access-Modifiern kann bestimmt werden, welche Daten und Arbeitsweisen nach außen hin sichtbar sind
Abstraktion - Erweiterung der Datenkapselung, es wird nur angegeben, was ein Objekt macht, nicht, wie es etwas macht
Vererbung - Ziel von OOP ist es, wiederverwendbaren Code zu schreiben - deswegen vererbt die Basisklasse alle Eigenschaften und Methoden auf die Unterklasse
Polymorphimus - Vielgestaltigkeit, Klassen die von anderen Klassen erben, dürfen die Methoden überschreiben (virtual), hinter einem Datentyp kann also unterschiedliches Verhalten liegen
Was sind Abstrake Klassen?
Abstrakte Klassen erlauben das Teilen von Code über mehrere Klassen, können aber nicht instanziiert werden - abstrake Methoden müssen implementiert werden (abstract)