Einführung Programmieren

Description

Karteikarten zur VO Einführung Programmieren"
Aaron Welther
Flashcards by Aaron Welther, updated more than 1 year ago
Aaron Welther
Created by Aaron Welther almost 5 years ago
21
0

Resource summary

Question Answer
Was ist ein Compiler? Was ist ein Editor? COMPILER: spezielles Programm zur Übersetzung von Quellcode in Bytecode im EDITOR wird Code eingegeben, er erzeugt Quellcode
Was ist ein Bytecode? "Maschinencode" (d. h. vom Prozessor lesbarer Code) für einen "virtuellen" Prozessor (Maschine)
Wozu werden Bezeichner (identifier) verwendet und wie müssen gültige Bezeichner aufgebaut sein? Bezeichner bezeichnen z. B. Programmname, Variablen, Konstanten, Typen, Methoden, … Sie bestehen aus Buchstaben, Ziffern, _ (Unterstrich) oder $ (Dollarzeichen), dürfen aber nicht mit einer Ziffer anfangen. Groß- und Kleinschreibung wird unterschieden.
Was ist die Bedeutung von Schlüsselwörtern? Schlüsselwörter sind reservierte Wörter, die Programmteile bezeichnen und in Java fix definiert sind. Sie dürfen nicht als eigene Namen verwendet werden.
Welche Arten von Kommentaren sind in Java möglich? Zeilenkommentar: beginnt mit // und reicht bis zum Ende der Zeile Blockkommentar: begrenzt durch /* … */ und kann sich über mehrere Zeilen erstrecken
Wozu werden Variablen in Programmen verwendet? Variablen dienen zur Speicherung von Daten.
Variable müssen vor der ersten Verwendung deklariert werden. Was wird dabei festgelegt? Name und Typ
Was sind binäre und was unäre Operatoren? Binäre Operatoren sind zweistellig (z. B. Operatoren für Grundrechnungsarten), unäre sind einstellig (z. B. +/- Vorzeichen).
Wie wird eine Anweisung genannt, die einen Wert in einer Variable speichert? Zuweisung (assignment)
Was muss erfüllt sein, damit eine Zuweisung möglich ist? Typ der linken und rechten Seite ist gleich (oder, bei primitiven Typen, Typ auf der rechten Seite ist weiter links als der Typ auf der linken Seite in der Liste byte -> short -> int -> long -> float -> double)
Was bedeutet "Initialisierung einer Variablen"? Variable erhält schon bei Deklaration einen Wert zugewiesen
Erklären Sie die Begriffe Syntax und Semantik. Syntax: Regelwerk für den korrekten Aufbau von Programmen oder Programmteilen Semantik gibt die Bedeutung von syntaktisch richtigen Programmteilen an, beschreibt Wirkung bei der Ausführung
Was ist ein Algorithmus? schrittweises, präzises Verfahren zur Lösung eines Problems
Eine if-Anweisung wird auch Verzweigung genannt - warum? Eine if-Anweisung prüft eine Bedingung. Abhängig davon, ob die Bedingung wahr (true) oder falsch (false) ist, werden verschiedene Anweisungen ausgeführt.
Eine if-Anweisung enthält eine Bedingung. Welche möglichen Wetre kann die Auswertung der Bedingung ergeben? true (wahr) oder false (falsch)
Wozu werden bei einer if-Anweisung die geschwungenen Klammern benötigt? um einen Anweisungsblock zu kenzeichnen
Was ist ein Vergleichsoperator und welche Ergebnisse kann ein Vergleich haben? Vergleichsoperatoren: ==, !=, >, >=, <, <= Ausgabe: nur true oder false
Aus welchen Teilen besteht eine while-Schleife (neben dem reservierten Wort while)? Schleifenbedingung und Schleifenrumpf
Was ist der Unterschied zwischen einner Schleifenbedingung und der Bedingung in einer if-Anweisung? Solange die Schleifenbedingung wahr ist, wird der Rumpf ausgeführt. Bei einer if-Bedingung wird nur einmal entschieden, welche Anweisung ausgeführt wird.
Wozu werden Schleifen in Programmen benötigt? um Anweisungen (eine bestimmte Zahl oft) zu wiederholen
Wie oft kann der Schleifenrumpf einer while-Schleife ausgeführt werden? theoretisch unendlich oft, wenn die Bedingung immer "true" ist
Warum sind Methoden ein wichtiges Konzept bei der Strukturierung von Programmen? Sie ermöglichen die Aufteilung in kleinere Anweisungsfolgen.
Was sind wichtige Bestandteile einer Methode? Methodenkopf (Header) und Methodenrumpf (Body)
Welche Funktion hat ein Parameter in einer Methode? Parameter dienen der Übergabe von Werten an die Methode
Was ist eine Methode mit Rückgabewert? Methoden können einen Ergebniswert an den aufrufenden Programmteil zurückgeben.
Wie können Methoden aufgerufen werden und was ist dabei zu beachten? ohne Rückgabewert: Aufruf als Anweisung, abgeschlossen mit ; mit Rückgabewert: überall einsetzbar, wo ein wert des Typs des Rückgabewerts verwendet werden darf
Was ist der Unterschied zwischen einer lokalen und einer globalen Variablen? Globale Variablen werden außerhalb einer Methode deklariert, lokale innerhalb.
Welche Arten von Fehlern können beim Programmieren vorkommen? Syntaxfehler (Verstoß gegen die Sprachregeln) Laufzeitfehler (tritt während des Programmlaufs auf) logischer Fehler (Fehler im zugrunde liegenden Algorithmus)
Was sind primitive Typen in Java? einfache Werte wie Zahlen, Zeichen oder Wahrheitswerte byte, short, int, long, float, double, char, boolean
Was ist eine Typkonversion (type cast) und welche Arten davon existieren in Java? die Umwandlung eines Wertes in einen anderen Typ bei einem Operator mit verschiedenen Operandentypen wird der gemäß Zuweisungkompatibilität "weiter links" stehende Typ in den anderen beteiligten Typ konvertiert. byte -> short -> int -> Long -> float -> double eine Typenkonversion kann auch im Programm (Eyplizite Typenkonversion) festgelegt werden; allgemeine Form: (type) expression
Was sind geschachtelte if-Anweisungen, was sind Mehrfachverzweigungen? Eine if-Anweisung ist eine zusammengesetzte Anweisung, d. h. ihre Teile sind auch wieder Anweisungen. Wenn diese Teile wieder if-Anweisungen sind, wird von einer geschachtelten if-Anweisung gesprochen. if-Anweisungen sind beliebig tief verschachtelbar, was zu Mehrfachverzweigungen führt.
Welche Werte gehören zum Datentyp boolean und wo tritt dieser beispielsweise auf? Werte: true oder false z. B. Vergleiche, Bedingungen
Was sind logische Operatoren? Boolesche Werte können mit logischen Operatoren zu Booleschen Ausdrücken verknüpft werden. logische Operatoren: && (logisches Und) || (logisches Oder) ! (Negation)
Logische Operatoren arbeiten mit teilweiser Auswertung (lazy Evaluation) - was ist damit gemeint? Bei einer Verknüpfung mit den logischen Operatoren && und || wird abgebrochen, wenn das Ergebnis schon feststeht. Beispiel: state1 && state2 -> wenn 1 schon false, wird 2 gar nicht erst ausgewertet und Gesamtausdruck ist false
Welchen Datentyp sieht Java für einzelne Zeichen vor? char
Wozu werden ASCII und Unicode verwendet? Zeichen werden durch Zahlen codiert, es existieren verschiedene Standards: - ASCII (American Standars Code for Information Interchange): 1 Zeichen - 1 Byte - Unicode: 1 Zeichen - 2 Bytes (ASCII ist Teilmenge davon)
Literale von welchem Typ werden in Java mittels "..." dargestellt? Strings
Der Typ String gehört nicht zu den primitiven Typen von Java - was sind die wesentlichen, unterschiedlichen Merkmale? Stringvariable sind Zeiger (Referenzen) auf Stringobjekte, d. h. Sytringvariablen werden Zeigerwerte und nicht eigentliche Werte zugewiesen.
Wie lautet die Operation um Strings zusammenzufügen und welcher Operator wird dazu verwendet? Konkatenation +
Warum sollen Strings nicht mit dem Vergleichsoperator == verglichen werden und womit sollen sie verglichen werden? Stringvariable enthalten Zeiger Methode equals s1.equals(s2) vergleicht die Inhalte von s1 und s2
Welche String-Operationen sind bekannt? length-Methode liefert Anzahl der Zeichen des Strings (Ergebnistyp: int) charAt-Methode nennt Zeichen an angegebener Position (Ergebnistyp: char) compareTo-Methode: lexikographischer Vergleich von zwei Strings (Ergebnistyp: int)
Was sind die wesentlichen Unterschiede zwischen einer switch- und einer if-Anweisung? switch: Mehrwegverzeigung if: Zweiwegverzweigung
Wie lautet das Prinzip einer Schleife Allgemein? Es wird solange wiederholt, bis eine bestimmte Bedingung nicht mehr gültig ist.
Kann ein Schleifenrumpf auch gar nicht ausgeführt werden? Ja, z. B. wenn in einer while-Schleife die Bedingung von Anfang an false ist.
Was ist ein Inkrement-Operator? Mit dem Inkrement-Operator wird der Wert einer Variable um 1 erhöht.
Was bedeutet Endlosschleife und wie entsteht diese meistens? Eine Schleife, die unendlich oft wiederholt wird, da die Bedingung immer wahr (true) ist.
Wie lauten die drei Teile des Schleifenkopfs einer for-Schleife und was sind ihre jeweiligen Aufgaben/Funktionen? Der Initialisierungsteil wird vor dem Betreten der Schleife durchgeführt. Die Schleifenbedingung wird jedesmal vor einem neuen Schleifendurchlauf geprüft. Der Inkrementierungsteil wird am Ende jedes Schleifendurchlaufs ausgeführt.
Was unterscheidet eine for- von einer while-Schleife? Eine for-Schleife ist eigentlich eine kompakte Form einer while-Schleife. (Also nicht wirklich viel.)
Wann wird von geschachtelten Schleifen gesprochen? Wenn sich eine Schleife im Rumpf einer Schleife befindet.
Was bewirkt eine break-Anweisung in einer Schleife? beendet eine Schleife
Was ist ein Array? Ein Array ist eine "Tabelle" von Elementen eines ganz bestimmten Typs, wobei einzelne Elemente mittels ganzzahliger Indizes angesprochen werden.
Welche Angaben sind bei der Deklaration einer Array-Variablen nötig? Typ und Name
Wie wird ein Array erzeugt? Bei Deklaration: int[] a = new int[7] Nach Deklaration: a = new int[7]
Wozu diene Indizes bei einem Array und wie lautet ihr Wertebereich? Elemente sind ansprechbar über Indizes Wertebereich: ganze Zahlen
Wie kann die Anzahl der Arrayelemente abgefragt werden? mit dem Attribut length a.length liefert die Anzahl der Elemente von a
Ist die Anzahl der Arrayelemente für ein erstelltes Array änderbar? nein
Wie funktioniert das "Durchlaufen" eines ganzen Arrays? z. B. mit einer for-Schleife for (int i = 0; i < a.length; i++)
Was ist der wesentliche Unterschied zwischen einer Array-Variablen und einer Variablen für einen primitiven Datentyp? Arrays werden Zeigerwerte zugewiesen
Was ist ein zweidimensionales Array? ein Array in einem Array
Sind auch Arrays mit mehr als zwei Dimensionen möglich? Ja, Deklaration, Erzeugung und Zugriff verlaufen analog.
Was ist eine for-each-Schleife und worauf ist bei deren Verwendung zu achten? Eine for-each-Schleife erlaubt den sequenziellen Durchlauf aller Elemente, beginnend beim ersten. Der Zugriff ist dabei nur lesend. Sie kann nur ein Array durchlaufen (nicht zwei Arrays parallel).
Was ist die Idee des besprochenen Minimum-Sort-Algorithmus zur Sortierung eines Arrays (von Zahlen)? 1. Suche im gesamten Array das Minimum und tausche es an Position 0. 2. Suche das Minimum ab Position 1 und tausche es an Position 1. 3. Wiederhole dies mit allen weiteren Positionen bis das Ende des Arrays erreicht ist.
Auf welchen wesentlichen (Teil-)Operationen beruht der Minimum-Sort? < (?)
Was ist ein Parameter in der Kommandozeile? ???
Binäre Suche funktioniert nur unter einer bestimmten Voraussetzung - welcher? geordnete Werte
Warum erfordert eine binäre Suche i. A. deutlich weniger Schritte verglichen mit linearer Suche? Weil der Suchbereich schnell stark verkleinert werden kann.
Wie werden die in einer Klasse deklarierten Variablen genannt? Attribute oder Instanzvariablen (instance variables, fields)
Eine Klasse definiert auch einen Typ - welche praktischen Folgerungen hat dies? es könne Objekte erzeugt werden (?)
Was ist die Gemeinsamkeit von Array-Variablen und variablen von Klassentypen? Sie speichern keine Werte sondern Zeiger auf Objekte.
Was ist ein Objekt? Objekte sind Instanzen einer Klasse.
Was wird in Java benötigt, um ein Objekt zu erzeugen? Das reservierte Wort new, der Name der Klasse und ()
Wie kann auf Instanzvariablen zugegriffen werden? mittels Dot-Notation: Variable.Instanzvariable
Warum sollten i. A. Klassen auch Methoden enthalten? Daten und "ihre" Operatoren gehören zusammen, sie sollen in einem Sprachkonstrukt definiert werden.
Welche Arten von Methoden erlaubt Java und wie werden diese unterschieden? Methoden mit und ohne Rückgabewert mit: Typ des Rückgabewerts statt void vor Methodenname sowie mindestens eine return-Anweisung (sonst wie ohne)
Können Methoden auf Instanzvariablen der selben Klasse zugreifen? ja
Wie können in Java Methoden einer Klasse aufgrufen werden? M. o. R.: Methodenaufruf mit ; abgeschlossen ergibt eine Anweisung M. m. R.: überall einsetzbar, wo ein Wert des Typs des Rückgabewerts verwendet werden darf
Wozu dient eine return-Anweisung? bestimmt den Rückgabewer der Methode und beendet den Methodenaufruf
Kann eine return-Anweisung auch in einer void-Methode verwendet werden? ja, beendet aber nur den Methodenaufruf (ist aber nicht zwingend erforderlich)
Was sind formale, was sind aktuelle Parameter? Mittels Parametern werden einer Methode vom aufrufenden Programmteil Werte übergeben. Formale Parameter werden im Methodenkopf definiert und sind Variablen für die Methode. Aktuelle Parameter werden beim Methodenaufruf festgelegt und sind spezielle Werte, Variablen oder Ausdrücke.
Was bedeutet call-by-value im Rahmen einer Parameterübergabe? formale Parameter enthalten Kopien der Werte der aktuellen Parameter
Wie werden Variable genannt, die in einem Block deklariert werden? lokale Variable
Wie lange existieren Instanzvariable und von wo kann auf sie zugegriffen werden? Sie existieren für die gesamte Lebensdauer des Objekts und können von Methoden des Objekts (der Klasse) verwendet werden.
Wozu werden sogenannte Modifikatoren (modiefiers) verwendet? Sie steuern Zugriffsrechte. private: Zugriff nur innerhalb der Klassendefinition public: freier Zugriff von allen Klassen aus keine Angabe: Zugriff möglich für Objekte von Klassen, die sich im selben Verzeichnis befinden
Was sagt das Prinzip der Datenkapselung? Keine Ahnung...
Wozu wird ein Konstruktor verwendet und wie ist er gekennzeichnet (in Java)? Erzeugung von Objekten einer Klasse mit "new"
Was ist ein Default-Konstruktor? Wird in der Klasse kein Konstruktor definiert, setzt Java automatisch den Default-Konstruktor ein. Er besitzt keine Parameter und führt im wesentlichen keine Anweisungen aus (neben Objekterzeugung).
Was sind static-Methoden und wie werden sie verwendet? gehören zu einer Klasse und sind nicht auf ein bestimmtes Objekt bezogen Verwendung ohne Instanziierung einer Klasse, Definition mit reserviertem Wort static, Methodenaufruf mit Klassenname.Bezeichner
Überladen (overloading) von Methoden ist möglich - was ist damit gemeint? Methoden mit dem selben Namen in einer Klasse
In welchem Zusammenhang stehen die Begriffe Ober-, Unterklasse und Vererbung? Eine Unterklasse erbt Eigenschaften der Oberklasse, kann weitere Eigenschaften hinzufügen und vorhandene Eigenschaften überschreiben. Dieses Konzept wird Vererbung genannt.
Wann wird von Spezialisierung im Rahmen von Vererbung gesprochen? Eine Unterklasse ist spezieller als ihre Oberklasse.
Was bedeutet überschreiben (overriding) von Methoden? vorhandene Methoden werden semantisch angepasst
Was ist ein Klassendiagramm? graphische Darstellung von Klassenhierarchien
Kann in einer Unterklasse der Konstruktor einer Oberklasse aufgerufen werden? ja, mittels super (muss die erste Anweisung in der Unterklasse sein)
Was ist eine weitere Verwendung von super bei Vererbung? für den Zugriff auf überschriebene Methoden in der Unterklasse
In Java spielt die Klasse Object eine zentrale Rolle - was ist dabei zu beachten? Wird keine Klasse angegeben, dann ist Object die direkte Oberklasse. Sie enthält Methoden, die von allen Klassen automatisch geerbt werden. Diese Methoden sind i. A. ohne Änderung nicht nützlich - sie müssen bei Bedarf überschrieben werden.
Polymorphismus bedeutet "Vielgestaltigkeit" und ist ein wichtiger Aspekt von objektorientierter Programmierung. Welche praktische Bedeutung hat dieser Begriff in Java? mehrere Typen sind im selben Kontext erlaubt, jedoch mit möglicherweise unterschiedlicher Wirkung
Kann eine Referenz auf ein Objekt der Oberklasse auch einer Variablen einer Unterklasse zugeordnet werden? nein
Wozu wird der instanceof-Operator verwendet? um zu schauen, ob eine Variable zu einer bestimmten Klasse gehört (?)
Was bedeutet dynamische Bindung? Der spezifische Typ des referenzierten Objekts ist erst zur Laufzeit bekannt. Damit kann die entsprechende Ausprägung der Methode auch erst zur Laufzeit ermittelt und mit dem Aufruf verbunden werden.
Wie kann Rekursion im Zusammenhang mit Programmierung kurz erläutert werden? Rekursion tritt auf, wenn eine Methode sich selbst aufruft.
Welche beiden Varianten von Rekursion existieren? Seien m() und n() zwei Methoden. direkte R.: m() ruft auf m() indirekte R.: m() ruft auf n() ruft auf m()
Warum kann eine rekursive Lösung zu einem Speicherüberlauf (stack Overflow) führen? der Basisfall (nicht rekursive Lösung für ein Problem, das "klein genug" ist) wird nicht erreicht
Wie lautet eine rekursive Lösungsidee für "Türme von Hanoi"? Es wird angenommen, die Lösung für n-1 Stangen ist bekannt, dann: - löse die Aufgabe für n-1 Scheiben mit dem Ziel zweite Stange - versetze größte Scheibe auf dritte Stange - löse die Aufgabe für n-1 Stangen, wobei der Start die zweite Stange und das Ziel die dritte Stange ist
Welche Eigenschaften soll eine gute Fehlerbehebung aufweisen? 1 Tritt ein Fehler auf, soll eine beliebige Methode in der Aufrufkette darauf reagieren. 2 Die Fehlermeldung soll nicht mittels Rückgabewert erfolgen. 3 Möglichst gute Trennung von fehlerfreiem Programmablauf und Fehlerbehandlung. 4 Jeder mögliche Fhler soll von irgendeiner Methode in der Aufrufkette behandelt werden - es darf keiner ignoriert werden.
Was ist eine Ausnahmebehandlung (exception handling)? Das Konzept besteht aus... - geschütztem Block: gekennzeichnete Anweisungsfolge; tritt darin (oder in aufgrufenen Methoden) ein Fehler auf, wird sichergestellt, dass er behandelt wird - Ausnahmebehandler: Anwesungsfolge, die im Falle eines Fehler ausgeführt wird (Reaktion auf Fehler) - Ausnahme: signalisiert das Auftreten eines Fehlers - es wird ein passender Ausnahmebehandler gesucht und ausgeführt, dann nach dem entsprechenden try-Block fortgesetzt
Welche Rolle spielen die Klassen Exception und RunTimeException bei der Ausnahmebehandlung in Java? Exception ist die Basisklasse der Ausnahmen, RunTimeException eine ihrer Unterklassen. RTE wird vom Java-System (VM) ausgelöst. Ausnahmebehandlung ist nicht erforderlich, dann erfolgt jedoch ein Programmabsturz mit Fehlermeldung.
Was sind die Bedeutungen von throw und (throws) bei einer Ausnahmebehandlung? throw-Anweisung bewirkt: - Suche nach einer catch-Klausel mit passendem Ausnahmetyp in allen gerade laufenden Medien - Abbruch der aktuellen Anweisungsfolge und Sprung zur catch-Klausel mit dem Ausnahmeobjekt als Parameter - Abarbeitung der catch-Klausel und anschließender Fortsetzung der dazugehörigen try-Anweisung
Was sind die Bedeutungen von (throw) und throws bei einer Ausnahmebehandlung? throws …???
Was ist eine abstrakte Klasse? Abstrakte Klassen enthalten mindestens eine abstrakte Methode, d. h. eine Methode ohne Implementierung (ohne Rumpf).
Eine abstrakte Klasse definiert einen Typ - welche Bedeutung hat dies? Variable, Parameter, … können deklariert werden.
Show full summary Hide full summary

Similar

ein kleines Informatik Quiz
AntonS
Wie gut kennst du Linux?
Hans Peter
Java
info3027
Das unbekannte Wesen: Computer
Stefan Schmid
Der Computer - Einstieg
Stefan Schmid
Einführung Anwendungsentwicklung
G. E.
Quiz-Online Grundlagen
Marvin Kasperkowitz
Bewegtes Bild (Film)
Thomas Bruhin
League of Legends Quiz
Laura O
Unterricht 15
Damian Wierzchowski
Java Grundlagen Fragen Semester 2
Fabian M.