allgemeine Programmierung-Fragen Flashcards
3 allgemeine HTTP-Status-Code
2XX
: erfolgreich4XX
: Client-Fehler5XX
: Server-Fehler
Bubblesort
bubblesortMethode(array, vergleiche-methode)
for ( i=0; i < array.lenght - 1; i++ )
for ( j=0; j < array.lenght -i - 1; j++ )
if ( vergleiche(array[j], array[j+1]) > 0)
temp t = array[j]
array[j] = array[j+1]
array[j+1] = t
ende if
ende for
ende for
ende sort
Programmiersprachen 3 Arten (nach dem Abstraktionslevel)
Maschinensprache
Assemblersprache
Hochsprache
was ist protected und entsprechendeZeichn in Klassendiagramm
bei Vererbung, private attribute sind trotz Vererbung nicht sichtbar, deswegen ‘protected’
Zeichen: #
Interface
hat keine Attribute nur Methoden (ohne Körper)
abstrakte Klasse
damit kann kein Objekt erzeugt werden
wie Klasse Fahrzeug von der Auto, Motorad, Fahrrad erben. Es macht kein Sinn von Basis Klasse Fahrzeug, Objekte erzeugen,
zwei Arten von Klassen die nich davon Objekte erzeugen kann
static und abstract
(statische und abstrakte Klassen)
2 Suchalgorithmen
- Lineare Suche (Linear Search):
Der einfachste Suchalgorithmus. Dabei wird jedes Element einer Liste nacheinander geprüft, bis das gesuchte Element gefunden wird. - Binäre Suche (Binary Search):
Funktioniert nur auf sortierten Listen. Der Suchbereich wird immer wieder halbiert. Zuerst wird das mittlere Element überprüft, und dann wird entschieden, ob das gesuchte Element links oder rechts des mittleren Elements liegt. Dieser Vorgang wird rekursiv wiederholt.
viel effizienter ist als die lineare Suche
Unterschied zwischen Anweisüberdeckung, Zweigüberdeckung und Pfadüberdeckung?
Anweisüberdeckung prüft, ob jede einzelne Anweisung ausgeführt wird, Zweigüberdeckung stellt sicher, dass jeder Entscheidungspunkt (z.B. if-Bedingungen) mindestens einmal wahr und einmal falsch ist, und Pfadüberdeckung testet, ob jeder mögliche Ausführungspfad im Programm mindestens einmal durchlaufen wird.
Äquivalenzklasse in Test
Im Kontext von Tests ist eine Gruppe von Eingabewerten, die vom System auf die gleiche Weise verarbeitet werden und bei denen das gleiche Verhalten oder Ergebnis zu erwarten ist.
verwendet um die Anzahl der Testfälle zu reduzieren, ohne die Testabdeckung zu verringern.
Angenommen, test ein Programm, das nur positive ganze Zahlen akzeptiert.
Die Äquivalenzklassen wie folgt aussehen:
Gültige Eingaben (gültige Äquivalenzklasse):
Alle positiven ganzen Zahlen (z.B. 1, 2, 3, 100, 999).
Ungültige Eingaben (ungültige Äquivalenzklasse):
Alle negativen Zahlen und Null (z.B. -1, -100, 0).
Alle nicht-ganzzahligen Zahlen (z.B. 1.5, 3.14).
für Testfall reicht eine positive Zahl, eine 0, eine negative Zahl und eine Dezimalzahl
Modulo und Div
Modulo: der Rest eine Division
53 mod 10 = 3
Div: division ohne Rest