Alle Fragen Video PDF

Title Alle Fragen Video
Author Nick Brä
Course Einführung in die objektorientierte Programmierung für die Wirtschaftsinformatik
Institution FernUniversität in Hagen
Pages 4
File Size 92.5 KB
File Type PDF
Total Downloads 690
Total Views 837

Summary

KEWas sind die Phasen der Softwareentwicklung? Untersuchung des Problems: Ermittlung der Details der Domäne und der Anwendungsfälle; Bedarf Kommunikation mit Experten der Domäne. Analyse der Anforderungen und Erstellen eines Pflichtenheftes Design des Systems: Struktur und Verhalten Programmierung (...


Description

KE1 Was sind die Phasen der Softwareentwicklung? Untersuchung des Problems: Ermittlung der Details der Domäne und der Anwendungsfälle; Bedarf Kommunikation mit Experten der Domäne. Analyse der Anforderungen und Erstellen eines Pflichtenheftes Design des Systems: Struktur und Verhalten Programmierung (von Hand und teilweise automatisch) Übersetzung des Programms in Maschinensprache (automatisch, Compiler) Verifikation oder Test Wozu dienen Anwendungsfall-Diagramme? Um alle möglichen Aktionen, die reguläre oder irreguläre Abläufe beschreiben, zu prüfen. Warum ist die Analyse-Phase in der Software-Entwicklung von zentraler Bedeutung?

KE2 Aus welchen Bestandteilen besteht eine Klasse? Attribute und Methoden. In welchem Zusammenhang stehen die Begriffe „Klasse“ und „Objekt“? Eine Klasse ist ein „Bauplan“ für ein gleichartiges Objekt. Was ist der Unterschied zwischen den Begriffen „effizient“ und „effektiv“? Effektiv ist es „Die richtigen Dinge zu tun.“ Effizient ist es, „Die Dinge richtig tun.“ (=Wirtschaftlichkeit) KE3 Erläutern Sie die Scharnierfunktion moderner Programmiersprachen zwischen Maschinencode und natürlicher Sprache. Maschinen (wie Computer) können mit natürlicher Sprache nichts anfangen, da diese zu ambig und unverständlich ist. Andersherum ist aber auch die binäre Codierung von Maschinensprachen für den Menschen schwer lesbar. Die modellorientierten Strukturbefehle, die auf bestimmte Denkweisen optimiert sind, sind quasi der Zwischenschritt (oder das Scharnier) zwischen Mensch und Maschine. Wie ist nach dem Neumann-Rechnermodell ein Computer aufgebaut? Das Neumann-Rechnermodell besteht aus folgenden Elementen: Eingabewerk, Ausgabewerk, Rechenwerk, Steuerwerk und dem Speicher. Eingehende Datensignale werden vom Eingabewerk weiter an den Speicher, von dort weiter an das Ausgabewerk geleitet. Der Speicher steht zusätzlich noch über Datensignale mit dem Rechenwerk in wechselseitigem Austausch und schickt auch noch Datensignale zum Steuerwerk. Auch das Rechenwerk schickt Datensignale zum Steuerwerk. Steuersignale werden vom Steuerwerk an jeden der anderen vier Akteure geschickt. Welchem Zweck dient die virtuelle Maschine? Die virtuelle Maschine führt den Java-Bytecode als Programm aus und bietet eine PlattformUnabhängigkeit. KE4 Welche Datentypen und Operatoren gibt es für Zahlen? byte (-27...0...27…-1) (-128 - 127) short (-215…0…215-1) (-32.768 – 32.767) int (-231…0…231-1) (2.147.483.648 – 2.147.483.647) 63 63 long (-2 …0…2 -1) (-9.223.372.036.854.775.808 - 9.223.372.036.854.775.807)

float (Gleitkommazahlen mit einfacher Genauigkeit) double (Gleitkommazahlen mit doppelter Genauigkeit) Einstellige Operatoren: +, - bestimmen den positiven/negativen Wert eines arithmetischen Ausdrucks Zweistellige Operatoren: +, -, *, /, % (dafür braucht man zwei Werte) Wie können Werte von einem Datentyp in einen anderen überführt werden? Durch implizite (falls der Wertebereich des neuen Typs den des alten Typs einschließt) (Reihenfolge: byte, short, int, long, float, double) oder explizite Typanpassung. Was ist der Unterschied zwischen den Operatoren & und &&? Der Operator & wertet vollständig aus, der Operator && nur unvollständig. KE5 In welchem Zusammenhang stehen Blöcke und Gültigkeitsbereich einer Variablen? Welche Schleifen gibt es in Java und wie unterscheidet sich deren Semantik? Welche Variablenrollen haben wir kennen gelernt? KE6 Was ist der Unterschied zwischen Wert- und Verweisvariablen? Wie funktioniert ein Konstruktor? In welchem Zusammenhang stehen Klassenhierarchie und Objekttyp? KE7 Was bedeutet es, wenn ein Attribut oder eine Methode als static gekennzeichnet wird? In welchen Fällen muss eine Variable vor ihrer Verwendung initialisiert werden um einen Compilefehler zu vermeiden? Was bedeutet Überladung? KE8 Welche Möglichkeiten gibt es ein Feld zu initialisieren? Wie definiert man ein mehrdimensionales Feld? Warum wirft folgende Befehlsfolge einen Fehler: Int[] intarray = new[5]; System.out.println(intarray[5]); KE9 Was ist der Unterschied zwischen dynamischer und statischer Bindung? Wozu dient Überschreiben von Methoden? Wie verhindert man, dass eine Methode überschrieben wird? KE10 Wozu sollte man Zugriffsbeschränkungen vornehmen? Von welchen Klassen aus kann auf ein Member mit Standardzugriff zugegriffen werden? Was ist der Unterschied zwischen der UML- und der Java-Interpretation der Zugriffsklasse protected? KE11 Was ist der Unterschied zwischen abstrakten Klassen und Schnittstellen? Wozu gibt es abstrakte Methoden?

Wie geht Java mit Methoden um, die von zwei verschiedenen, unabhängigen Interfaces übernommen wurden und jeweils eine Standard-Implementation bieten? KE12 Wieso ist es vorteilhaft einen StringBuilder zu verwenden? Wieso kann jedes beliebige Objekt mit System.out.println() ausgegeben werden, obwohl die Methode einen String erwartet? Probieren Sie den folgenden Code aus und erläutern Sie die Ausgaben: String s1 = „Hagen“; String s2 = „Hagen“; System.out.println(s1 == s2); String s3 = “FernUni Hagen”.substring(8, 13); System.out.println(s1 == s3); System.out.println(s1.equals(s2)); KE13 Was ist der Vorteil von Javadoc-Kommentaren gegenüber sonstigen Kommentaren? Wann bietet es sich an, Code mit // zu kommentieren? An welche Programmierer richten sich Javadoc-Kommentare und an welche Programmierer solche mit // oder mit /* */? KE14 Wann benötigt man einen try-Block? Für welche unbehandelte Exceptions benötigt man das Schlüsselwort throws? Wie setzt man die Fehlermeldung, die bei der String-Ausgabe einer Ausnahme ausgegeben wird? KE15 Wie wird die lineare Suche und die Suche nach Maximum/Minimum durch sortierte Felder beschleunigt? Welche Rolle spielt die Variable minimum beim Algorithmus zur Suche nach dem Minimum? Wie funktioniert Bubblesort? KE16 Wie entwickelt sich der Kontrollfluss in einem rekursiven Algorithmus? Welche Vor- und Nachteile bieten rekursive Algorithmen im Vergleich zu iterativen Algorithmen? Wie funktionieren die rekursiven Such- und Sortieralgorithmen? KE17 Was sind die vier Schritte um einen Algorithmus mittels dynamischer Programmierung zu entwerfen? Welche Eigenschaften muss ein Problem erfüllen, um durch dynamische Programmierung gelöst zu werden? Wie funktioniert der Beweis durch Cut & Replace? KE18 Wie fügt man Elemente zu einer einfach verketteten Liste hinzu und entfernt sie? Welchen Vorteil haben die hier vorgestellten Datenstrukturen im Vergleich zu einem Feld? Was bedeuten LIFO und FIFO? KE19

Welche Durchlaufstrategien für Bäume gibt es? Wie fügt man einen neuen Knoten in einen AVL-Baum ein? Wie findet man den kürzesten Weg zwischen zwei Knoten in einem Graphen? KE20 Wieso verwendet man Generics anstatt des Typen Object? Wann kann eine Datenstruktur mit der verallgemeinerten for-Schleife durchlaufen werden? Wird durch Generics die Typprüfung durch den Compiler untergraben? KE21 Wozu dienen BufferedReader? Diese Klasse ermöglicht es uns ganze Zeilen in Java einzulesen. Wie konvertiert man einen String in eine Ganzzahl? Warum müssen Pakete der Java-API vor der Verwendung eingebunden werden? KE22 Welche drei Methoden gibt es, die Fehlerfreiheit eines Programms zu gewährleisten? Rückmeldungen erzeugen (im Quelltext mit sout ausgeben lassen) Programmausführung begrenzen (einzelne Methoden auskommentieren und prüfen, ob der Fehler nach wie vor existiert) Den Debugger verwenden Warum sind Felder zur Compilezeit gegenüber solchen zu Laufzeit zu bevorzugen? Was sind die vier Schritte zur Identifikation von Fehlern? Fehler reproduzieren Fehlerstelle lokalisieren Fehler erkennen Fehler verstehen...


Similar Free PDFs