Semesterwoche 5 Flashcards
Wir werden Objektdiagramme formal korrekt gezeichnet?
Wie werden Klassendiagramm formal korrekt gezeichnet?
Welche Beziehungen zwischen Klassen gibt es im UML-Diagramm?
- enthält
- benutzt
- ist_ein
Was ist die Backus-Naur-Form?
Sie definiert syntaktische Strukturen per Nichtterminale und Terminale
Wie werden Nichtterminale notiert?
In spitzen Klammern
Wie werden Terminale notiert?
mit einfachen Anführungszeichen
Wie notiert man Wiederholbare (auch kein mal) Elemente in der EBNF?
mit geschweiften Klammern {}
Wie notiert man optionale Elemente in der EBNF?
in eckigen Klammern []
Welche Arten von Typen gibt es?
Primitive Datentypen und Referenztypen
Welche primitiven Datentypen gibt es in Java?
- byte
- short
- int
- long
- float
- double
- boolean
- char
Wann kommt es zu einer impliziten Typumwandung?
Hat der Zieltyp eine höhere Genauigkeit als der Typ des Ausdrucks, wird die Umwandlung automatisch (implizit) durchgeführt
Wann muss eine explizite Typumwandlung her?
Ist der Zieltyp hingegen „enger“ als der Ausdruck, muss eine explizite Umwandlung durch den Programmierer erzwungen werden, weil Genauigkeit verloren gehen kann
Was ist ein syntaktischer Fehler?
Ein syntaktischer Fehler ist ein Fehler, der die Syntaxregeln einer Programmiersprache verletzt.
In Java sind dies z.B. falsch geschriebene Schlüsselwörter, fehlende Semikolons, vergessene schließende Klammern, usw.
Was ist ein semantischer Fehler?
Ein semantischer Fehler ist ein Fehler, der die Syntaxregeln nicht verletzt, aber dennoch gegen die Sprachdefinition verstößt.
In Java sind dies z.B. die Verwendung von Variablen- oder Methodennamen, die nicht deklariert sind oder die Zuweisung inkompatibler Typen.
Was ist ein logischer Fehler?
Ein logischer Fehler ist ein Fehler, der dazu führt, dass ein Programm nicht das erwünschte / erwartete Ergebnis liefert.
Logische Fehler sind menschliche Fehler und können i.d.R. nicht vom (Java-)Compiler entdeckt werden.