Wohldefiniertheit

Bei Postings zu Aufgabe Nr. x auf Blatt Nr. y lassen Sie Ihr Betreff bitte mit "y.x: " beginnen, gefolgt von einer möglichst präzisen Überschrift, danke!

Moderator: Algorithmen und Datenstrukturen

Forumsregeln
Bei Postings zu Aufgabe Nr. x auf Blatt Nr. y lassen Sie Ihr Betreff bitte mit "y.x: " beginnen, gefolgt von einer möglichst präzisen Überschrift, danke!
alzeha
Erstie
Erstie
Beiträge: 13
Registriert: 13. Apr 2016 11:58

Wohldefiniertheit

Beitrag von alzeha » 13. Jul 2016 14:35

Hallo,

ich habe eine Frage zur Wohldefiniertheit. Wenn ich eine Implementierung auf die drei in der Vorlesung benannten Exceptions überprüfe, ist das dann in jedem Fall ausreichend für volle Punktzahl?

Vielleicht als Erläuterung, wie ich auf diese Frage komme:
In der Vorlesung wurde der Korrektheitsbeweis geführt und hierbei sprachen wir über Wohldefiniertheit. Hierbei fiel mir auf, dass a.length eine Integer ist, welche ebenfalls überlaufen kann, was dann eine "NegativeArraySizeException" (oder so ähnlich :lol: ) ergäbe. Dies würde passieren, wenn das Array mehr Einträge als Integer.MAX_VALUE hat. Daraufhin dachte ich, dass man ja quasi in jedem Methodenaufruf diese "Nadel im Heuhaufen" suchen könnte und kam zu der Frage, ob das dann in der Klausur auch so gefordert ist, oder ob die Überprüfung dieser drei Exceptions ausreichend ist.

Vielen Dank bereits im Voraus!

Prof. Karsten Weihe
Moderator
Moderator
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Wohldefiniertheit

Beitrag von Prof. Karsten Weihe » 13. Jul 2016 15:32

alzeha hat geschrieben: ich habe eine Frage zur Wohldefiniertheit. Wenn ich eine Implementierung auf die drei in der Vorlesung benannten Exceptions überprüfe, ist das dann in jedem Fall ausreichend für volle Punktzahl?
Falls nach Wohldefiniertheit gefragt wird, bekommen Sie - wie bei jeder anderen Teilfrage in Aufgabe 7 - Instruktionen, worauf Sie konkret einzugehen haben.

alzeha hat geschrieben: Vielleicht als Erläuterung, wie ich auf diese Frage komme:
Hierbei fiel mir auf, dass a.length eine Integer ist, welche ebenfalls überlaufen kann, was dann eine "NegativeArraySizeException" (oder so ähnlich :lol: ) ergäbe. Dies würde passieren, wenn das Array mehr Einträge als Integer.MAX_VALUE hat.
Zwei Antworten:

1. Das von Ihnen beschriebene Problem kann nicht in der von mir analysierten Methode auftreten, sondern müsste schon viel früher bei Einrichtung des Arrays passiert sein. Ein solcher Fall, bei dem das Programm gar nicht erst zur analysierten Methode kommt, muss natürlich im Korrektheitsbeweis für diese Methode nicht berücksichtigt werden.

2. Auch sonst fällt mir spontan kein Szenario ein, wie man überhaupt versuchen könnte, ein Array mit einem Wert > Integer.MAX_VALUE einzurichten. Sie könnten natürlich ein long dafür nehmen, aber das müssten Sie zuerst nach int konvertieren, bevor es für die Angabe der Arraylänge in der Konstruktion des Arrays mit new akzeptiert wird.

KW

alzeha
Erstie
Erstie
Beiträge: 13
Registriert: 13. Apr 2016 11:58

Re: Wohldefiniertheit

Beitrag von alzeha » 16. Jul 2016 20:21

Vielen Dank für die schnelle Antwort.

Mit freundlichen Grüßen

Antworten

Zurück zu „AuD: Theoretische Aufgaben“