Do Gruppe 2Test

Hat irgendjemand eine Ahnung was in den letzten Jahren so gekommen ist. Der erste Test war ja laut Franz fast der gleiche wie letztes Jahr.
Ich weiß nur nicht ob wir vielleicht weniger Stoff gemacht haben als in den letzten Jahren, in den geamt C++ Folien sind ja noch verschiedenen nicht gemachte Themenbereiche enthalten.

mfg Philipp

Das habe ich im Ph-Forum gefunden.
Ich weiß aber nicht ob die heuer wieder die Di Gruppe haben.

Beitrag Jan 18 2005, 07:58 PM

himmel das war was…

Unser Test war grob gesagt (di gruppe)

Klasse für Rationale zahlen deren objekte naheliegender weise als bruch 2er integer dargestellt werden, ausgabe der werte in double und zusätzlich + und - operatoren erstellen.

punkt 2 war identifizierung und syntax von operatoren und memberfunktions

punkt 3 war fehlersuche in einem vorgeschrieben programm, war diesmal nicht sooo einfach. Ich denke die hauptfehler bei uns waren zugrioffsverletzungen in den private bereich und falsche eingabe parameter.

punkt 4 war beschreibung aller möglicher beziehungen zwischen klassen


ich weiss eh das die gruppens ehr unterschiedlich sind, aber vielleicht gibt das einigen zumindest einen anstoss in die richtige richtung

http://www.ph-forum.org/index.php?showtopic=210

Klingt einmal nicht so schlimm.

mfg Philipp

Hier hat jemand, der voriges Jahr in der Donnerstaggruppe war, seine Programme online gestellt. Da könnt ihr ungefähr abschätzen, wie weit wir im Vergleich zum letzten Jahr sind:
http://members.aon.at/cundcpp/

Ich weiß leider nur, was voriges Jahr am Mittwoch kam:
Erstelle eine abstrakte Klasse Figur mit der Eigenschaft Name und der virtuellen Methode Info.
Davon abgeleitet eine Klasse Quadrat (=Name), die zusätzlich die Eigenschaft Länge und die Methode Flächeninhalt hat. Die Methode Info wird so überladen, daß sie Name (Quadrat) und Flächeninhalt ausgibt.
Davon wiederum abgeleitet eine Klasse Würfel (=Name), die zusätzlich die Methode Volumen hat. Info gibt diesmal Name und Volumen aus.

Die Gruppe b hatte das gleiche Beispiel mit Kreis und Kugel. Flächen- und Rauminhaltsformeln wurden glaub ich angegeben, ansonsten zur Hilfestellung:
A_{Quadrat}=\int_{x=0}^{x=a} \int_{y=0}^{y=a}dx dy = a^2

V_{Wuerfel}=\int_{x=0}^{x=a} \int_{y=0}^{y=a} \int_{z=0}^{z=a}dx dy dz = a^3

A_{Kreis}=\int_{r=0}^{r=R} \int_{\phi=0}^{\phi=2\pi}r dr d\phi = R^2 \pi

V_{Kugel}=\int_{r=0}^{r=R} \int_{\phi=0}^{\phi=\pi} \int_{\theta=0}^{\theta=2\pi}r^2 sin(\theta) dr d\phi d\theta = \frac{4}{3} \pi R^3

Und jetzt das ganze bitte als C++ Code duck und renn

Die Gruppen sind heuer exakt so wie letztes Jahr.
Bei Dat2 wird sich allerdings was ändern. Prof. Kahl, der voriges Jahr in der Do-Gruppe war, ist heuer nicht mehr dabei.

So, hier kommen die Angaben von heute.

Lösungen werden auch noch kommen, aber im Gegensatz zum letzten Mal hab ich die nicht schon vor dem Test geschrieben, kann also ein wenig dauern.
Sollte aber spätestens übermorgen da sein.
test2b.pdf (39.4 KB)
test2a.pdf (39.1 KB)

Ist doch schneller gegangen, da ich keine Lust gehabt hab Methoden zu lernen. :wink:

Getestet am Praktikumserver sowie daheim mit gcc (Cygwin / Windows XP).

Falls wer Fehler findet bitte melden!

Ansonsten: Schöne Ferien an alle, und hoffentlich sehn wir uns in Dat II wieder!
Loesung_2b.pdf (4.43 KB)
Loesung_2a.pdf (4.51 KB)

Für die die lieber den Quelltext als cpp-Datei haben …
Loesung_2b.cpp (1.42 KB)
Loesung_2a.cpp (1.43 KB)

oi… du hast das mit pushback gemacht… griegt man da abzüge wenn mans nicht mit damit gemacht hat??

kannst bitte auch die loesung für das zweierbsp reinhaun? beim c hab i net gwusst warum des so is.

Nein, Du hättest es auch mit einem ganz normalen Feld machen können. Darüber ist in der Angabe eh nix gestanden, ich habs halt genommen, weils bequemer ist.

Ok, dann stell ich gleich alles rein. :wink:

Gruppe A:

  1. a) int *ii = new int[5];
    b) Wenn ein Vorgabeparameter existiert, kann beim Funktionsaufruf für diesen Parameter ein Wert übergeben werden, es ist aber nicht notwendig.
    Wird kein Wert übergeben, dann wird der Vorgabeparameter verwendet.
    c) http://www.cppreference.com/keywords/protected.html
    d) http://www.cppreference.com/keywords/virtual.html

  2. a) http://www.cppreference.com/keywords/using.html
    b) einfach mit string. std::string ist aufgrund von a)nicht nötig.
    c) cystring ist von string abgeleitet, verwendet also die Methoden dieser Klasse.
    Für die Klasse string ist der << Operator definiert.

Gruppe B:

  1. a) delete ii;
    b) Eine Funktion, die bereits existiert, wird nocheinmal definiert, z.B. mit anderen Übergabeparametern.
    Je nachdem welche (und wieviele) Parameter beim Aufruf übergeben werden, wird die eine oder die andere Funktion verwendet.
    c) http://www.cppreference.com/keywords/friend.html
    d) Falls im Konstruktor (z.B. durch Anlage von Feldern) Speicher reserviert wird, sollte dieser Speicher im Destruktor wieder freigegeben werden.
    Ansonsten könnte es passieren, daß das Programm immer mehr Speicher anfordert und den nie mehr freigibt.
    e) Eine Liste mstr wird angelegt, die als Elemente lauter strings enthält.

  2. a) siehe 1a
    b) Aus dem namespace std (links der 2 Doppelpunkte) wird die Klasse string (rechts der 2 Doppelpunkte) verwendet.
    c) Der Konstruktor will als ersten Parameter einen string haben.
    Da crystring von string abgeleitet ist, ist A auch ein String.

Die Lösungen sind von mir, müssen also nicht unbedingt stimmen.

gibts eigentlich schon Noten?

i hab no keine email gekriegt, bis jetzt halt. bin aba a sehr neugierig :wink:

Ich auch. :slight_smile:

Für alle die nicht regelmäßig im TUWIS nachschauen und kein E-Mail bekommen haben. Es gibt die Ergebnisse, sogar eine Liste im TUWIS.
Für alle Fälle häng ich die Liste noch an den Beitrag an.

Der Durchschnitt bei den einzelnen Bsp ist:

  • 08/10
    03/05
    11/15

23/30Pkt.

mfg Philipp
Do_Test2_Ergebnisse.pdf (21.9 KB)