3.4 a) : Deklarationen?

inf0rmatik0r
Erstie
Erstie
Beiträge: 16
Registriert: 24. Apr 2015 18:50

3.4 a) : Deklarationen?

Beitrag von inf0rmatik0r »

Hallo zusammen,
sind Variablendeklarationen der Form int i = xxx , beispielsweise in der for-Schleife, auch als Rechenschritt zu werten? Wenn ja, als 1 Rechenschritt oder als 2 (Deklaration/Zuweisung getrennt)?
VG

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: 3.4 a) : Deklarationen?

Beitrag von R_Egert »

Ich nehme an es ist hierbei das i++ gemeint was man auch als i = i+1 schreiben könnte womit man eine Zuweisung + Berechnung hätte. Ich selbst habe im Falle von i++ tatsächlich nur eine Operation gezählt, bei den offensichtlichen anderen Fällen jeweils die Zuweisungen und Berechnungen separat.

VG,

Rolf
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

inf0rmatik0r
Erstie
Erstie
Beiträge: 16
Registriert: 24. Apr 2015 18:50

Re: 3.4 a) : Deklarationen?

Beitrag von inf0rmatik0r »

Nein,ich meinte tatsächlich wenn eine Variable deklariert wird (und initialisiert)...

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: 3.4 a) : Deklarationen?

Beitrag von R_Egert »

Ah ok, um welche Art von Operation soll es sich bei der Deklaration einer Variable denn handeln wenn die zu zählenden Komponenten Zuweisungen, arithmetische Operationen, Methodenaufrufe und Vergleiche sind?

Viele Grüße,

Rolf
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

inf0rmatik0r
Erstie
Erstie
Beiträge: 16
Registriert: 24. Apr 2015 18:50

Re: 3.4 a) : Deklarationen?

Beitrag von inf0rmatik0r »

das ist ja eigentlich auch eine zuweisung wenn ich eine neue variable erstelle und ihr einen wert zuweise

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: 3.4 a) : Deklarationen?

Beitrag von R_Egert »

Ja dann aber bitte Deklaration und Initialisierung genau unterscheiden. Somit sollte dann auch klar sein als wieviele Operationen z.b. int x = 3 gezählt wird. 8)
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

kurzeFrage()
Windoof-User
Windoof-User
Beiträge: 25
Registriert: 13. Mai 2015 21:06

Re: 3.4 a) : Deklarationen?

Beitrag von kurzeFrage() »

Hallo,

zum selben Aufgabentypen:

Zaehlt if als methode, sind also
if (a<b) zwei Operationen?

Ausserdem: wenn ich swap aufrufe, zaehlt dann die zuweisung von array, a und b zusaetzlich als zuweisung, wuerde also
swap (array, i, j) als 4 operationen zaehlen?

Ich empfinde dies alles als ein bisschen unklar. Persoenlich muss ich sagen, dass ich diesen Aufgabentyp nicht sehr schaetze. Er erfodert keine Denkleistung sondern blosses Abzaehlen, zudem ist, wie man an den oberen Antworten sehen kann, die Zaehlweise nicht klar/deutlich. (r_egert zaehlt einmal i++ als eine opration, an anderen stellen wuerde man sie als 2 zaehlen, etc.). Ich wuerde mir stattdessen lieber Aufgaben wie 3.1-3.3 wuenschen, wenn mir diese konstruktiv gemeinte Kritik erlaubt ist.

LG

Benutzeravatar
felicis
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 114
Registriert: 14. Apr 2015 20:25

Re: 3.4 a) : Deklarationen?

Beitrag von felicis »

...Versuchen wir doch lieber alles klar zu stellen, sodass wenigstens die nächsten zu Testierenden etwas davon haben :)

Ganz Konkrete Fragen, die mit (natürlichen) Zahlen beantwortet werden können:
Wie viele zu zählende Operationen haben diese Codezeilen ...:
  • int i = 234 / 49;
  • for(i = 0; i < 10 ; i++){};
  • return i + 2;
  • int i = computeNumber() mit private int computeNumber(){return 4;}
  • swap({1,2},0,1); ->aus dem Übungsblatt
  • array=5;
  • array=array[j];


Ich glaube ich habe alle nichttrivialen Fälle aufgelistet. Ich hoffe so können wir möglichst vieles ohne Streit klarstellen ;)

felicis

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: 3.4 a) : Deklarationen?

Beitrag von R_Egert »

felicis hat geschrieben:...
  • int i = 234 / 49;
  • for(i = 0; i < 10 ; i++){};
  • return i + 2;
  • int i = computeNumber() mit private int computeNumber(){return 4;}
  • swap({1,2},0,1); ->aus dem Übungsblatt
  • array=5;
  • array=array[j];


Ich glaube ich habe alle nichttrivialen Fälle aufgelistet. Ich hoffe so können wir möglichst vieles ohne Streit klarstellen ;)

felicis


Vorweg: Man kann sich über sämtliche zählweisen streiten ;) das ist auch nicht wirklich Sinn der Sache und ihr werdet dabei auch nicht auf einem exakten Wert festgenagelt sondern der Wert sollte sich in einem sehr großzügig angesetzten Intervall bewegen ;)

Zu der Liste absteigend von oben Nach unten beantwortet in natürlichen Zahlen wie ich es gezählt habe: 2, 22, 2, 3, 1, 1, 1 8)

Hoffe damit ist das soweit beantwortet :)

Um es nochmals zu erwähnen ;) Je nachdem wie man argumentiert sind natürlich auch andere Zählweisen okay, diese sollten dann aber ggfs auch begründbar sein ;)

Viele Grüße,

Rolf
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

Benutzeravatar
felicis
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 114
Registriert: 14. Apr 2015 20:25

Re: 3.4 a) : Deklarationen?

Beitrag von felicis »

Sehr gut, vielen Dank :)

Damit lösen sich einige Fragen bezüglich der Zählweise bzw. vor allem der Bewertung ;)

felicis

h_ar
Mausschubser
Mausschubser
Beiträge: 99
Registriert: 16. Apr 2015 19:56

Re: 3.4 a) : Deklarationen?

Beitrag von h_ar »

Nur damit ich nicht komplett daneben liege:

Bei meiner Zählweise habe ich im Worst-Case das 1,5 fache. Das ist bei dreistelligen Beträgen ein großer Unterschied.

Ist das möglich oder sollte ich meine Zählweise überdenken?

R_Egert
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 180
Registriert: 8. Sep 2009 23:27

Re: 3.4 a) : Deklarationen?

Beitrag von R_Egert »

h_ar hat geschrieben: Bei meiner Zählweise habe ich im Worst-Case das 1,5 fache. Das ist bei dreistelligen Beträgen ein großer Unterschied.
Das 1,5 fache von was? :) In Aufgabe a) sollen die Operationen des gesamten algos gezählt werden, in Aufgabe b) eine Worst-Case-Angabe gemacht werden wieviele Operationen bei Variablen Eingabelängen von der Funktion Partition ausgeführt werden.

VG,

Rolf
Tutor:
  • Einführung in Trusted Systems WS11/12, WS12/13, WS13/14, WS14/15
  • GDI II SS11, SS12, SS13, SS14
  • Einführung in die Kryptographie WS14/15

h_ar
Mausschubser
Mausschubser
Beiträge: 99
Registriert: 16. Apr 2015 19:56

Re: 3.4 a) : Deklarationen?

Beitrag von h_ar »

1,5 fache von den Ergebnis der a :s

hololol2
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 154
Registriert: 27. Apr 2015 14:13

Re: 3.4 a) : Deklarationen?

Beitrag von hololol2 »

Wie Rolf doch aber schon gesagt ist die Aufgabenstellung ganz anders. Bei a) sollst du für ein gegebenes Beispiel die Schritte des ganzen Algorithmus zählen.

Bei b) sollst du nur die Schritte bei einem Worst-Case-Aufruf von partition() zählen. Logischweise in Abhängigkeit der Parameter left und right.

Antworten

Zurück zu „Archiv“