Informatik-Abitur-Wiederholung: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
Zeile 7: Zeile 7:


=Modellierung=
=Modellierung=
# '''<code>PriorityQueue</code>''':<br>
 
Es soll eine Klasse <code>PriorityQueue</code> erstellt werden, in der Objekte nach einer Priorität gespeichert werden sollen. Die Klasse soll u.a. über die Methoden <code>public Object getFirst()</code> und <code>public void insert(Object pObject, int pPriority)</code> verfügen. Die Klasse <code>PriorityQueue</code> soll auf der Basis der Klasse <code>List</code> oder <code>Queue</code> implementiert werden. <br>
==PriorityQueue==
Es soll eine Klasse <code>PriorityQueue</code> erstellt werden, in der Objekte nach einer Priorität gespeichert werden sollen. Die Klasse soll u.a. über die Methoden <code>public Object getFirst()</code> und <code>public void insert(Object pObject, int pPriority)</code> verfügen. Die Klasse <code>PriorityQueue</code> soll auf der Basis der Klasse <code>List</code> oder <code>Queue</code> implementiert werden.  
 
'''Entscheide dich für eine der folgenden Möglichkeiten und begründe:'''
'''Entscheide dich für eine der folgenden Möglichkeiten und begründe:'''
##<code>PriorityQueue</code> erbt von <code>List</code>
#<code>PriorityQueue</code> erbt von <code>List</code>
##<code>PriorityQueue</code> erbt von <code>Queue</code>
#<code>PriorityQueue</code> erbt von <code>Queue</code>
##<code>PriorityQueue</code> hat ein Objekt vom Typ <code>List</code>
#<code>PriorityQueue</code> hat ein Objekt vom Typ <code>List</code>
##<code>PriorityQueue</code> hat ein Objekt vom Typ <code>Queue</code>
#<code>PriorityQueue</code> hat ein Objekt vom Typ <code>Queue</code>
 
==Monopoly==
Bei Monopoly gibt es 40 Felder. Das sind z.T Straßen (wie z.B. die Poststraße) und z.T. Bahnhöfe (wie z.B. der Westbahnhof). Die anderen Felder werden hier der Einfachheit halber nicht betrachtet. Wenn man auf ein Feld kommt, dann kann man es kaufen, wenn es noch nicht verkauft ist. Wenn man auf einen Bahnhof oder eine Straße eines anderen Spielerst tritt, dann muss man bezahlen. Bei den Straßen hängt das davon ab, wie viele Häuser schon gebaut wurden. Bei den Bahnhöfen hängt es davon ab, wie viele Bahnhöfe der Besitzer hat. Wenn man auf eine eigene Straße tritt, dann kann man ein Haus bauen und muss dafür bezahlen.
 
# '''Entscheide dich begründet für eine Datenstruktur für die 40 Felder des Monopoly-Spiels.'''
# '''Zeichne ein Klassendiagramm mit den Klassen <code>MonopolyFeld</code>, <code>Strasse</code> und <code>Bahnhof</code> und einer weiteren sinnvollen Klasse, die du selber einführst. Gib für die Klassen <code>Strasse</code>, <code>Bahnhof</code> und die von dir eingeführte Klasse auch die Attribute und Methoden an.'''
 
=lineare Datenstrukturen=
 
==eine Liste durchlaufen==
[[Datei:Klassendiagramm_Buch.png|405px|thumb|right|Klassendiagramm der Klasse Buch]]
 
Die Klasse <code>Bibliothek</code> hat ein Attribut <code>buecherListe</code> vom Typ <code>List</code>. In <code>buecherListe</code> sind die Bücher gespeichert und zwar alphabetisch nach Titel sortiert.
 
'''Implementiere die folgenden Methoden. Verwende, wenn möglich, eine for-Schleife. Erläutere, welche Rolle Casting hier spielt.'''
 
# <code>public Bibliothek()</code>: Der Konstruktor erzeugt eine Bibliothek; die <code>buecherListe</code> ist zu Anfang leer. ''Das hat nichts mit Listendurchlauf zu tun, ist aber trotzdem wichtig...''
# <code>public boolean enthaelt(String pTitel)</code>
# <code>public void einfuegen(Buch pBuch)</code>: Fügt <code>pBuch</code> an der richtigen Stelle in die Bibliothek ein.
 
==eine Methode erläutern==
'''Erläutere die Methode <code>einfuegen</code> (s.o.) unter Verwendung der wesentlichen Fachbegriffe.'''


# '''Monopoly''':<br>
Ein Beispiel dafür findet sich unter [[Quelltextanalyse (Java)]].
Bei Monopoly gibt es 40 Felder. Das sind z.T Straßen (wie z.B. die Poststraße) und z.T. Bahnhöfe (wie z.B. der Westbahnhof). Die anderen Felder werden hier der Einfachheit halber nicht betrachtet. <br>
Wenn man auf ein Feld kommt, dann kann man es kaufen, wenn es noch nicht verkauft ist. Wenn man auf einen Bahnhof oder eine Straße eines anderen Spielerst tritt, dann muss man bezahlen. Bei den Straßen hängt das davon ab, wie viele Häuser schon gebaut wurden. Bei den Bahnhöfen hängt es davon ab, wie viele Bahnhöfe der Besitzer hat. Wenn man auf eine eigene Straße tritt, dann kann man ein Haus bauen und muss dafür bezahlen.
## '''Entscheide dich begründet für eine Datenstruktur für die 40 Felder des Monopoly-Spiels.'''
## '''Zeichne ein Klassendiagramm mit den Klassen <code>MonopolyFeld</code>, <code>Strasse</code> und <code>Bahnhof</code> und einer weiteren sinnvollen Klasse, die du selber einführst. Gib für die Klassen <code>Strasse</code>, <code>Bahnhof</code> und die von dir eingeführte Klasse auch die Attribute und Methoden an.'''

Version vom 9. April 2015, 09:29 Uhr


Auf dieser Seite werden Fragen zusammengestellt, die auf die "Basics" im Informatik-Abitur abzielen.

Keine Garantie für Vollständigkeit!

Modellierung

PriorityQueue

Es soll eine Klasse PriorityQueue erstellt werden, in der Objekte nach einer Priorität gespeichert werden sollen. Die Klasse soll u.a. über die Methoden public Object getFirst() und public void insert(Object pObject, int pPriority) verfügen. Die Klasse PriorityQueue soll auf der Basis der Klasse List oder Queue implementiert werden.

Entscheide dich für eine der folgenden Möglichkeiten und begründe:

  1. PriorityQueue erbt von List
  2. PriorityQueue erbt von Queue
  3. PriorityQueue hat ein Objekt vom Typ List
  4. PriorityQueue hat ein Objekt vom Typ Queue

Monopoly

Bei Monopoly gibt es 40 Felder. Das sind z.T Straßen (wie z.B. die Poststraße) und z.T. Bahnhöfe (wie z.B. der Westbahnhof). Die anderen Felder werden hier der Einfachheit halber nicht betrachtet. Wenn man auf ein Feld kommt, dann kann man es kaufen, wenn es noch nicht verkauft ist. Wenn man auf einen Bahnhof oder eine Straße eines anderen Spielerst tritt, dann muss man bezahlen. Bei den Straßen hängt das davon ab, wie viele Häuser schon gebaut wurden. Bei den Bahnhöfen hängt es davon ab, wie viele Bahnhöfe der Besitzer hat. Wenn man auf eine eigene Straße tritt, dann kann man ein Haus bauen und muss dafür bezahlen.

  1. Entscheide dich begründet für eine Datenstruktur für die 40 Felder des Monopoly-Spiels.
  2. Zeichne ein Klassendiagramm mit den Klassen MonopolyFeld, Strasse und Bahnhof und einer weiteren sinnvollen Klasse, die du selber einführst. Gib für die Klassen Strasse, Bahnhof und die von dir eingeführte Klasse auch die Attribute und Methoden an.

lineare Datenstrukturen

eine Liste durchlaufen

Klassendiagramm der Klasse Buch

Die Klasse Bibliothek hat ein Attribut buecherListe vom Typ List. In buecherListe sind die Bücher gespeichert und zwar alphabetisch nach Titel sortiert.

Implementiere die folgenden Methoden. Verwende, wenn möglich, eine for-Schleife. Erläutere, welche Rolle Casting hier spielt.

  1. public Bibliothek(): Der Konstruktor erzeugt eine Bibliothek; die buecherListe ist zu Anfang leer. Das hat nichts mit Listendurchlauf zu tun, ist aber trotzdem wichtig...
  2. public boolean enthaelt(String pTitel)
  3. public void einfuegen(Buch pBuch): Fügt pBuch an der richtigen Stelle in die Bibliothek ein.

eine Methode erläutern

Erläutere die Methode einfuegen (s.o.) unter Verwendung der wesentlichen Fachbegriffe.

Ein Beispiel dafür findet sich unter Quelltextanalyse (Java).