Untitled Deck Flashcards

(163 cards)

1
Q

Was ist eine Programmiersprache?

A

Eine Programmiersprache ist eine künstliche, formale Sprache, die Menschen nutzen, um Computern Anweisungen zu geben.

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

Worin unterscheidet sich eine Programmiersprache von einer natürlichen Sprache?

A

Programmiersprachen sind eindeutig und formal, während natürliche Sprachen oft mehrdeutig sind.

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

Nenne die fünf Generationen von Programmiersprachen.

A
  1. Maschinensprache, 2. Assemblersprache, 3. Höhere Programmiersprachen, 4. Deklarative Sprachen, 5. Wissensbasierte Sprachen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wofür steht Syntax in der Programmierung?

A

Syntax legt die Regeln fest, wie Code richtig geschrieben werden muss.

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

Was beschreibt die Semantik in einer Programmiersprache?

A

Sie beschreibt die Bedeutung des Codes, also was beim Ausführen tatsächlich passiert.

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

Erkläre Pragmatik mit einem Beispiel.

A

Pragmatik fragt nach dem Zweck des Codes, z. B. warum jemand einen bestimmten Befehl nutzt – zum Debuggen oder zur echten Anwendung.

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

Was ist Kotlin?

A

Kotlin ist eine moderne, objektorientierte und funktionale Programmiersprache, die auf der JVM läuft.

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

Warum gilt Kotlin als sicherer als Java?

A

Weil es eingebaute Mechanismen zur Null-Sicherheit hat, die NullPointerExceptions verhindern.

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

Auf welchen Plattformen läuft Kotlin?

A

Android, JVM, JavaScript, Kotlin Native (z. B. iOS).

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

Was passiert beim Kompilieren in Android?

A

Kotlin-Code wird zuerst zu .class-Dateien (Bytecode), dann zu .dex-Dateien für die Android Runtime konvertiert.

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

Nenne die Phasen des Software-Lebenszyklus.

A

Analyse, Entwurf, Implementierung, Einführung, Betrieb und Wartung.

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

Was bedeutet Polymorphismus in der OOP?

A

Ein und dieselbe Methode kann in verschiedenen Klassen unterschiedlich ausgeführt werden.

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

Erkläre den Unterschied zwischen einer Klasse und einem Objekt.

A

Eine Klasse ist der Bauplan, ein Objekt ist die konkrete Ausführung dieses Plans.

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

Was macht die Funktion println() in Kotlin?

A

Sie gibt einen Text auf dem Bildschirm (Konsole) aus.

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

Was bedeutet abstract bei einer Kotlin-Klasse?

A

Die Klasse ist nur ein Bauplan und kann nicht direkt als Objekt erstellt werden.

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

Was ist Debugging?

A

Das Schritt-für-Schritt-Ausführen eines Programms, um Fehler zu finden.

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

Was bewirkt Code-Obfuscation?

A

Sie verschleiert den Code, damit andere ihn schwerer lesen oder kopieren können.

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

Was ist ein Framework?

A

Ein Framework ist ein Gerüst aus Code und Regeln, das vorgibt, wie Software aufgebaut sein muss.

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

Was bedeutet Bytecode?

A

Das ist der Maschinencode, der nach dem Kompilieren ausgeführt wird, z. B. auf der JVM.

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

Was ist eine Entwicklungsumgebung?

A

Eine Software, die beim Schreiben, Testen und Debuggen von Programmen hilft (z. B. Android Studio).

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

Was bedeutet in Kotlin ‘open fun’?

A

Es erlaubt, dass eine Methode in einer Unterklasse überschrieben werden kann.

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

Was ist eine Aggregation in der UML?

A

Eine Aggregation ist eine Teil-Ganzes-Beziehung, bei der Teile unabhängig vom Ganzen existieren können.

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

Wie unterscheidet sich Komposition von Aggregation?

A

Bei der Komposition ist das Teil vollständig vom Ganzen abhängig und existiert nicht ohne dieses.

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

Was bedeutet ‘is a’ in der Vererbung?

A

Es bezeichnet, dass eine Klasse eine Spezialisierung einer anderen ist, z. B. ist ein Hund ein Tier.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Warum führt 'override fun geheVor() { geheVor() }' zu einem Problem?
Weil die Methode sich selbst aufruft und dadurch eine Endlosschleife entsteht (Rekursion).
26
Welche Sichtbarkeiten gibt es in Kotlin?
public, internal, protected und private.
27
Was ist ein Runnable in Kotlin?
Ein Interface für nebenläufige Aufgaben, das mit Threads verwendet wird.
28
Warum ist eine ArrayList auch eine List?
Weil sie von AbstractList erbt, die das List-Interface implementiert.
29
Was ist die Bedeutung der Multiplizität 1..* in UML?
Es bedeutet, dass mindestens ein Objekt vorhanden sein muss, aber beliebig viele erlaubt sind.
30
Was prüft 'if (x is Y)' in Kotlin?
Ob das Objekt x vom Typ Y ist oder davon erbt.
31
Was ist die Aufgabe eines HerdenManagers im Beispielprojekt?
Kühe verwalten, Gräser wachsen lassen und Kalb aufstellen.
32
Wie kann man zwei Variablen in Kotlin ohne Hilfsvariable tauschen?
Mit x = x + y - x.also { y = it }.
33
Welche Methode frisst Gras nur, wenn Gras vorhanden ist?
if (acker.istDaGras(vera.position)) vera.frissGras().
34
Was ist ein Set in Kotlin?
Eine Sammlung ohne doppelte Einträge.
35
Was bedeutet 'enum class Qualität' in Kotlin?
Eine Aufzählung fester Werte, z. B. GutesHigh oder MieseHecke.
36
Wie funktioniert die Berechnung des GGT nach Euklid?
Man zieht jeweils die kleinere Zahl von der größeren ab, bis beide gleich sind.
37
Wie funktioniert Matrizenmultiplikation in Kotlin?
Zeile von Matrix A wird mit Spalte von Matrix B multipliziert und summiert.
38
Was passiert, wenn man einem Set ein doppeltes Element hinzufügt?
Es bleibt unverändert, Duplikate werden ignoriert.
39
Wie kann man Funktionen im Code schnell erkennen?
Sie enden auf Klammern, z. B. frissGras().
40
Was ist eine typische Anwendung von 'val x = 'a' + 9' in Kotlin?
Das ergibt ein Zeichen weiter im Alphabet (z. B. 'k' + 9 = 't').
41
Was bezeichnet 'is a' in der Vererbung?
Es bezeichnet, dass eine Klasse eine Spezialisierung einer anderen ist, z. B. ist ein Hund ein Tier.
42
Welche Sichtbarkeiten gibt es in Kotlin?
public, internal, protected und private ## Footnote Sichtbarkeiten definieren den Zugriff auf Klassen und deren Mitglieder in Kotlin.
43
Was ist ein Runnable in Kotlin?
Ein Interface für nebenläufige Aufgaben, das mit Threads verwendet wird ## Footnote Runnable wird oft für die Implementierung von Aufgaben in einem separaten Thread genutzt.
44
Warum ist eine ArrayList auch eine List?
Weil sie von AbstractList erbt, die das List-Interface implementiert ## Footnote ArrayList bietet dynamische Größe und ist eine häufig verwendete Implementierung von List.
45
Was ist die Bedeutung der Multiplizität 1..* in UML?
Es bedeutet, dass mindestens ein Objekt vorhanden sein muss, aber beliebig viele erlaubt sind ## Footnote Dies beschreibt die Beziehung zwischen Objekten in einem UML-Diagramm.
46
Was prüft 'if (x is Y)' in Kotlin?
Ob das Objekt x vom Typ Y ist oder davon erbt ## Footnote Dies ist eine Typüberprüfung, die zur Laufzeit erfolgt.
47
Was ist die Aufgabe eines HerdenManagers im Beispielprojekt?
Kühe verwalten, Gräser wachsen lassen und Kalb aufstellen ## Footnote Der HerdenManager ist eine zentrale Komponente im Beispielprojekt.
48
Wie kann man zwei Variablen in Kotlin ohne Hilfsvariable tauschen?
Mit x = x + y - x.also { y = it } ## Footnote Dies ist eine elegante Methode, um Werte ohne temporäre Variablen zu tauschen.
49
Welche Methode frisst Gras nur, wenn Gras vorhanden ist?
if (acker.istDaGras(vera.position)) vera.frissGras() ## Footnote Diese Bedingung stellt sicher, dass die Aktion nur unter bestimmten Bedingungen ausgeführt wird.
50
Was ist ein Set in Kotlin?
Eine Sammlung ohne doppelte Einträge ## Footnote Sets sind nützlich, um einzigartige Elemente zu speichern.
51
Was bedeutet 'enum class Qualität' in Kotlin?
Eine Aufzählung fester Werte, z. B. GutesHigh oder MieseHecke ## Footnote Enums helfen, eine feste Menge von Werten zu definieren.
52
Wie funktioniert die Berechnung des GGT nach Euklid?
Man zieht jeweils die kleinere Zahl von der größeren ab, bis beide gleich sind ## Footnote Dies ist ein klassischer Algorithmus zur Bestimmung des größten gemeinsamen Teilers.
53
Wie funktioniert Matrizenmultiplikation in Kotlin?
Zeile von Matrix A wird mit Spalte von Matrix B multipliziert und summiert ## Footnote Matrizenmultiplikation ist ein grundlegendes Konzept in der linearen Algebra.
54
Was passiert, wenn man einem Set ein doppeltes Element hinzufügt?
Es bleibt unverändert, Duplikate werden ignoriert ## Footnote Dies ist eine wichtige Eigenschaft von Sets zur Wahrung der Einzigartigkeit.
55
Wie kann man Funktionen im Code schnell erkennen?
Sie enden auf Klammern, z. B. frissGras() ## Footnote In Kotlin sind Funktionen durch ihre Klammern deutlich erkennbar.
56
Was ist eine typische Anwendung von 'val x = 'a' + 9' in Kotlin?
Das ergibt ein Zeichen weiter im Alphabet (z. B. 'k' + 9 = 't') ## Footnote Dies zeigt die Verwendung von Zeichenoperationen in Kotlin.
57
Was bedeutet in Kotlin 'open fun'?
Es erlaubt, dass eine Methode in einer Unterklasse überschrieben werden kann ## Footnote Standardmäßig sind Funktionen in Kotlin final, es sei denn, sie werden als open deklariert.
58
Was ist eine Aggregation in der UML?
Eine Aggregation ist eine Teil-Ganzes-Beziehung, bei der Teile unabhängig vom Ganzen existieren können ## Footnote Dies zeigt, wie Objekte in UML miteinander verbunden sind.
59
Wie unterscheidet sich Komposition von Aggregation?
Bei der Komposition ist das Teil vollständig vom Ganzen abhängig und existiert nicht ohne dieses ## Footnote Komposition stellt eine stärkere Beziehung zwischen Objekten dar.
60
Was bedeutet 'is a' in der Vererbung?
Es bezeichnet, dass eine Klasse eine Spezialisierung einer anderen ist, z. B. ist ein Hund ein Tier ## Footnote Dies ist ein grundlegendes Konzept der objektorientierten Programmierung.
61
Warum führt 'override fun geheVor() { geheVor() }' zu einem Problem?
Weil die Methode sich selbst aufruft und dadurch eine Endlosschleife entsteht (Rekursion) ## Footnote Dies ist ein häufiges Problem bei der Implementierung von rekursiven Funktionen.
62
Was ist ein Objekt?
Ein Objekt ist ein Ding mit Eigenschaften, Verhalten und Identität.
63
Was ist eine Klasse?
Eine Klasse ist ein Bauplan für Objekte.
64
Welche Klassen tauchen im Herdenmanagement auf?
Acker, Gras, Kalb, Rindvieh, HerdenManager, Scheune, Traktor.
65
Was ist die Aufgabe der Klasse Rindvieh?
Sie beschreibt ein Rind mit Methoden wie geheVor() und frissGras().
66
Was bedeutet Aggregation in UML?
Eine Teil-Ganzes-Beziehung, bei der Teile unabhängig existieren.
67
Was bedeutet Komposition in UML?
Eine stärkere Teil-Ganzes-Beziehung, bei der Teile nur mit dem Ganzen existieren.
68
Was beschreibt die Multiplizität 1..*?
Es muss mindestens ein Objekt geben, es können viele sein.
69
Was bedeutet die Multiplizität 0..1?
Es kann null oder genau ein Objekt geben.
70
Was sind die Bestandteile eines Aktivitätsdiagramms?
Aktivitäten, Übergänge, Startpunkt, Endpunkt.
71
Was ist eine Action in einem Aktivitätsdiagramm?
Ein Schritt, der etwas ausführt oder verändert.
72
Was ist ein Activity Edge?
Eine Verbindung zwischen zwei Aktivitäten.
73
Welche Klassen sind für die Bewegung des Rindviehs verantwortlich?
Rindvieh, Acker.
74
Welche Beziehung besteht zwischen Acker und Gras?
Ein Acker enthält viele Gräser.
75
Was bedeutet „override fun“?
Eine Methode wird in einer Unterklasse neu definiert.
76
Was macht die Funktion println()?
Gibt Text in der Konsole aus.
77
Was ist ein Set in Kotlin?
Eine Sammlung ohne doppelte Einträge.
78
Was ist ein Map in Kotlin?
Eine Sammlung aus Schlüssel-Wert-Paaren.
79
Was bedeutet „val“ in Kotlin?
Eine unveränderbare Variable.
80
Was bedeutet „var“ in Kotlin?
Eine veränderbare Variable.
81
Was ist der Unterschied zwischen List und MutableList in Kotlin?
List ist unveränderbar, MutableList erlaubt Änderungen.
82
Was prüft „if (x is Y)“ in Kotlin?
Ob x vom Typ Y ist oder davon erbt.
83
Was ist eine abstrakte Klasse?
Eine Klasse, die nicht direkt instanziiert werden kann.
84
Was ist die Besonderheit von „abstract fun“?
Diese Funktion muss von Unterklassen überschrieben werden.
85
Was bedeutet Polymorphismus?
Die Möglichkeit, dass dieselbe Methode in verschiedenen Klassen unterschiedlich funktioniert.
86
Was ist die Funktion einer Entwicklungsumgebung?
Sie unterstützt beim Schreiben, Testen und Debuggen von Code.
87
Was ist Bytecode?
Übersetzter Code, der von der JVM ausgeführt wird.
88
Was ist Obfuscation?
Verschleierung von Code, um ihn schwerer lesbar zu machen.
89
Was bedeutet Debugging?
Fehler im Code finden und beheben.
90
Was ist die JVM?
Die Java Virtual Machine, die Bytecode ausführt.
91
Was ist die Android Runtime (ART)?
Die Laufzeitumgebung für Android, die .dex-Dateien ausführt.
92
Was beschreibt das Paradigma in der Programmierung?
Ein Denkmuster, das die Art des Programmierens bestimmt (z. B. objektorientiert).
93
Was ist die Bedeutung von „inheritance“ (Vererbung)?
Eine Klasse erbt Eigenschaften und Verhalten einer anderen Klasse.
94
Was ist ein Interface in Kotlin?
Eine Sammlung von Methoden, die eine Klasse implementieren muss.
95
Was macht die Funktion „gibMilch()“?
Sie simuliert, dass eine Kuh Milch gibt.
96
Was beschreibt die Assoziation zwischen Bauer und Kuh?
Ein Bauer kann viele Kühe haben.
97
Was bedeutet Multiplizität in UML?
Gibt an, wie viele Objekte an einer Beziehung beteiligt sein können.
98
Was ist eine UML-Klasse?
Eine grafische Darstellung einer Klasse mit Attributen und Methoden.
99
Was beschreibt ein Klassendiagramm?
Zeigt Klassen und ihre Beziehungen zueinander.
100
Was beschreibt ein Aktivitätsdiagramm?
Zeigt Abläufe und Aktionen in einem Prozess.
101
Was ist eine Initial Node in UML?
Der Startpunkt eines Aktivitätsdiagramms.
102
Was ist eine Final Node in UML?
Der Endpunkt eines Aktivitätsdiagramms.
103
Was ist ein Package in UML?
Eine Gruppierung von Klassen oder anderen UML-Elementen.
104
Was bedeutet die Notation „1..*“ in UML?
Eine Beziehung zu mindestens einem, beliebig vielen Objekten.
105
Was beschreibt die Beziehung Kuh und Kalb?
Eine Kuh kann ein Kalb haben.
106
Was ist ein Attribut?
Eine Eigenschaft einer Klasse oder eines Objekts.
107
Was ist eine Methode?
Eine Funktion, die zu einer Klasse gehört.
108
Was ist eine Instanz?
Ein konkretes Objekt, das aus einer Klasse erzeugt wurde.
109
Was ist der Zweck von Getter- und Setter-Methoden?
Zugriff auf private Attribute von außen ermöglichen.
110
Was bedeutet „this“ in Kotlin?
Verweist auf das aktuelle Objekt.
111
Was macht „super“ in Kotlin?
Ruft Methoden oder Eigenschaften der Oberklasse auf.
112
Wo ist hier das Objekt?
Das Objekt ist z. B. „vera“, ein konkretes Rindvieh-Objekt in der Klasse HerdenManager.
113
Welche Methode sorgt dafür, dass Gras wächst?
Die Methode lassGrasWachsen() in der Klasse Acker.
114
Wo findet man die Klasse Rindvieh?
Im Paket herdenmanagement.model.
115
Welche Objekte werden in manageHerde() erzeugt?
Vera, Gras, Kalb.
116
Welche Aufforderung gibt die Methode ändereMilchMenge()?
Das Rind soll sich drehen, vorgehen und Gras fressen.
117
Wo ist hier das Attribut?
Das Attribut „name“ in der Klasse Rindvieh.
118
Was macht die Methode gibMilch()?
Sie liefert die Menge an Milch zurück, die das Rind gibt.
119
Was beschreibt die Assoziation zwischen Rindvieh und Acker?
Das Rindvieh lebt auf einem Acker und nutzt dessen Methoden.
120
Wo wird Call by Reference gezeigt?
In der Methode ändereMilchMenge(), wo vera und rind dieselbe Referenz haben.
121
Wo ist hier eine Vererbung?
In der Klasse MarihuanaRind, die von Rindvieh erbt.
122
Welche Methode ruft manageHerde() auf?
MainActivity ruft manageHerde() auf.
123
Wo ist hier das Paket?
Das Paket herdenmanagement.model enthält die relevanten Klassen.
124
Was macht die Methode dreheDichRechtsRum()?
Das Rind dreht sich nach rechts.
125
Welche Objekte sind in der Klasse Acker enthalten?
Listen von Rindvieh und Gras.
126
Was bedeutet die Multiplizität 1..* zwischen Wald und Baum?
Ein Wald muss mindestens einen Baum enthalten.
127
Wo sieht man eine Komposition?
Bei der Beziehung Wald-Baum, da der Baum ohne Wald nicht existiert.
128
Welche Methode lässt ein Rind auf dem Acker erscheinen?
lassRindWeiden().
129
Woher bekommt vera ihre Position?
Aus der Position-Klasse, die als Parameter übergeben wird.
130
Was ist hier die Initialisierung?
Die Erzeugung von vera mit lassRindWeiden("Vera").
131
Wo ist hier eine Referenz auf ein Objekt?
Die Variable vera speichert die Referenz auf das Rindvieh-Objekt.
132
Welche Eigenschaft muss eine Klasse haben, um vererbt zu werden?
Sie muss mit open deklariert sein.
133
Wo wird eine neue Instanz von Rindvieh erzeugt?
In erzeugeEineKuh().
134
Welche Methode verändert die Milchmenge indirekt?
ändereMilchMenge() durch Gras fressen.
135
Wo ist hier die Methode manageHerde() definiert?
In der Klasse HerdenManager.
136
Wo erkennt man den Constructor?
An der Klasse Rindvieh(val name: String), dort wird das Objekt gebaut.
137
Welche Beziehung besteht zwischen HerdenManager und Scheune?
HerdenManager besitzt eine Set als Attribut.
138
Was passiert beim Aufruf von vera.frissGras()?
Das Rind „isst“ Gras vom Acker.
139
Wo ist hier eine abstrakte Klasse?
Die Oberklasse Rindvieh könnte als abstrakte Klasse konzipiert werden.
140
Was ist hier das Interface?
Runnable, wenn nebenläufige Prozesse entstehen sollen.
141
Welche Methode ist für die Milchabgabe verantwortlich?
gibMilch().
142
Welche Objekte sind Teil der Collection API im Beispiel?
Liste von Rindvieh, Set von Gras.
143
Was beschreibt die Property gräser in Acker?
Eine ArrayList mit Objekten der Klasse Gras.
144
Wo wird ein Setter verwendet?
Wenn man eine neue Position an ein Rind zuweist, z. B. viecher[0].position = Position(0, 1).
145
Was macht die Methode fakultaetRekursiv()?
Sie berechnet die Fakultät einer Zahl rekursiv.
146
Welche Klasse ruft zeigeRinderNamenSortiert() auf?
HerdenManager.
147
Wo ist hier eine Schleife sichtbar?
In fakultaetIterativ() mit for (i in 1..n).
148
Was zeigt das UML-Diagramm für Acker?
Es hat Attribute gräser und kühe mit Multiplizität 1..*.
149
Wo erkennt man eine Assoziation mit Rollenbezeichnung?
Bei der Beziehung Acker–Rindvieh als kühe:List.
150
Was beschreibt der Begriff „Link“ in UML?
Die konkrete Ausprägung einer Assoziation auf Objektebene.
151
Welche Methode sorgt für die Bewegung des Rinds?
geheVor().
152
Wo wird eine Methode überschrieben?
In der Klasse C, die von B erbt und die Methode mache() überschreibt.
153
Was ist hier die finale Aufforderung?
Das Anzeigen des Milchwerts in der Konsole via toast.
154
Was beschreibt eine Activity Partition in UML?
Sie zeigt, welche Klasse oder Organisationseinheit welche Aktivität ausführt.
155
Wo ist hier eine Transition sichtbar?
Im Aktivitätsdiagramm zwischen zwei Aktionen.
156
Was ist die Aufgabe des Primary Constructor?
Er initialisiert die Properties beim Erstellen des Objekts.
157
Was zeigt die Multiplizität 0..1?
Optionales Vorhandensein eines Objekts, z. B. fahrer eines Traktors.
158
Wo ist eine Liste zu sehen?
In kühe:List in der Klasse Acker.
159
Welche Methode sorgt für die Anzeige des Namens eines Rinds?
toast() kombiniert mit vera.name.
160
Was bedeutet es, wenn eine Methode private ist?
Sie ist nur innerhalb der Klasse sichtbar.
161
Wo wird eine Methode mit Parameter aufgerufen?
ändereMilchMenge(vera).
162
Was ist die Aufgabe der Klasse Kalb?
Ein junges Rind darstellen und ggf. eigene Methoden haben.
163
Wo sieht man ein Beispiel für encapsulation?
Wenn Attributes wie name nur über Methoden verändert werden können.