Einführung Programmieren Flashcards

1
Q

Was ist ein Algorithmus?

A

Eine eindeutige Handlungsvorschrift zum Lösen eines Problems - Eingabe wird zur Ausgabe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Auf welcher Architektur basieren die meisten Computer? Nenne auch die einzelnen Bestandsteile.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist der Ablauf eines Programms bei einem Computer?

A

Programm lädt Informationen in die Register der CPU - dort finden dann Berechnungen statt und anschließend wird das Ergebnis im Speicher gespeichert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist ein Interpreter? Nenne Interpreter-Programmiersprachen.

A

Übersetzt Computerprogramm zur Laufzeit in Maschinencode (Ruby, PHP, Javascript)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist Bytecode? Nenne Bytecode-Programmiersprachen.

A

Zwischenstufe zwischen kompiliertem und interpretiertem Code - Java, C#

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind kompilierte Programmiersprachen?

A

C, C++

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Bitweise-Verknüpfungen gibt es?

A

Komplement (~)
UND (&)
ODER (|)
XOR(^)
Shiften (<<, >>)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche Logische Verknüpfungen gibt es?

A

&& –> AND
|| –> OR
^ –> XOR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wofür wird die Epsilon-Gleichheit verwendet?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Arten von Schleifen gibt es? Beschreibe diejenige, die am seltensten genutzt wird.

A

For-Schleifen, While-Schleifen, Do-While-Schleifen –> do {} while (condition);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welche Arten von Bugs gibt es?

A

Syntax-Fehler (x = 5 vs. x == 5)
Arithmetische Fehler (Overflow, Division by Zero)
Logische Fehler (Infinite Loops)
Semantische Fehler (Vertauschen von Methodenargumenten)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist das EVA-Prinzip?

A

Eingabe-Verarbeitung-Ausgabe - heißt wir werfen etwas in eine Methode, die Methode verarbeitet dies und gibt uns ein Ergebnis zurück.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was sind Jagged Arrays?

A

Array von Arrays (mit unterschiedlicher Länge)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind die Grundprinzipien von OOP? Beschreibe diese.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind Abstrake Klassen?

A

Abstrakte Klassen erlauben das Teilen von Code über mehrere Klassen, können aber nicht instanziiert werden - abstrake Methoden müssen implementiert werden (abstract)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly