[Progra] Übungsblatt 4, Aufgabe 2

[Progra] Programmierung
[DSAL] Datenstrukturen und Algorithmen
[SWT] Softwaretechnik
[DB] Datenbanken und Informationssysteme

Übungsblatt 4, Aufgabe 2

Beitragvon oLRi » 12.11.09 22:42

Hallo,

Als Hinweis steht auf dem Übungsblatt:
Speichern Sie die Häugkeit des Zeichens, dem der Unicode-Wert i zugeordnet ist, im Eintrag i des Arrays
ab. Das Array darf also gröÿer sein als die Anzahl der möglichen alphanumerischen Zeichen.


Demnach würde das Array erst ab Stelle 48 (Unicode 48 = 0) benutzt werden. In meiner Lösung der Aufgabe habe ich das Array jedoch nur von 0 bis 74 belegt und bei den Berechnungen und Ausgaben dann jeweils 48 hinzuaddiert oder subtrahiert. Somit wäre das Array von 0 bis 75 fast durchgängig benutzbar (einige Sonderzeichen ausgeschlossen). Ich denke dass ein Array der Größe 75 wesendlich speicherschonender als ein Array der Größe 123 ist.

Jetzt die Frage: Da das ja eigentlich nicht dem Arbeitsblatt entspricht: Ist das so ok, oder nicht? :)

Viele Grüße
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
Benutzeravatar
oLRi
 
Beiträge: 11
Registriert: 12.12.07 22:11
Wohnort: Hückelhoven

Beitragvon C-Otto » 12.11.09 23:40

Eher nicht, so genau kann ich mich aber auch nicht mehr an die Besprechung erinnern :)

Im Zweifel: kommentier dein Verhalten. Ansonsten kann es nie schaden, sich dumm zu stellen und das zu machen, was in Aufgabe bzw. Hinweisen steht.

Ciao,
Carsten
Dr. rer. nat. Carsten Otto
http://verify.rwth-aachen.de/otto/
Benutzeravatar
C-Otto
 
Beiträge: 568
Registriert: 10.08.06 00:20
Wohnort: Schwalbach am Taunus
Studiert seit: fertig
Anwendungsfach: BWL

Re: Übungsblatt 4, Aufgabe 2

Beitragvon thana » 13.11.09 01:22

oLRi hat geschrieben:Hallo,

Ich denke dass ein Array der Größe 75 wesendlich speicherschonender als ein Array der Größe 123 ist.

Es geht hier um Progra, nicht um irgendein sinnvolles Programm was tatsächlich eingesetzt werden soll. Und selbst da wäre dieser ungenutzte Platz meisten völlig irrelevant.
was du einzusparen versuchst sind in etwa schlappe 200 Byte. Who cares?
thana
 
Beiträge: 264
Registriert: 18.10.07 17:01

Re: Übungsblatt 4, Aufgabe 2

Beitragvon oLRi » 13.11.09 01:59

thana hat geschrieben:was du einzusparen versuchst sind in etwa schlappe 200 Byte. Who cares?

Es geht mir eher um generelles Verhalten beim programmieren. Ob man jetzt 200 Byte oder 200 Megabyte spart ist dabei nicht relevant für mich, sondern dass ich kleine wie große Programme möglichst "sauber" schreibe.

Aber nun gut, ich werde das Array anders belegen und in der Kommentierung auf eine potentielle Optimierung des Codes hinweisen. :)
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
Benutzeravatar
oLRi
 
Beiträge: 11
Registriert: 12.12.07 22:11
Wohnort: Hückelhoven

Re: Übungsblatt 4, Aufgabe 2

Beitragvon HE » 13.11.09 10:47

oLRi hat geschrieben:Es geht mir eher um generelles Verhalten beim programmieren. Ob man jetzt 200 Byte oder 200 Megabyte spart ist dabei nicht relevant für mich, sondern dass ich kleine wie große Programme möglichst "sauber" schreibe.


Das ist Quatsch. Beachte die folgende Auswahl von Zitaten von Leuten, die schon länger mit Programmieren zu tun haben, als Du vermutlich bisher gelebt hast:

Donald Knuth hat geschrieben:We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified”


W.A. Wulf hat geschrieben:More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity.


Michael A. Jackson hat geschrieben:The First Rule of Program Optimization: Don't do it.

The Second Rule of Program Optimization (for experts only!): Don't do it yet.
Benutzeravatar
HE
 
Beiträge: 453
Registriert: 09.03.07 12:20
Wohnort: Aachen
Studiert seit: WS 06/07
Anwendungsfach: Mathe

Re: Übungsblatt 4, Aufgabe 2

Beitragvon theTux » 13.11.09 13:22

HE hat geschrieben:Das ist Quatsch. Beachte die folgende Auswahl von Zitaten von Leuten, die schon länger mit Programmieren zu tun haben, als Du vermutlich bisher gelebt hast:

[...]


Nicht desto trotz ist es sicherlich nicht verkehrt, sich Gedanken über das Thema zu machen - gerade wenn man noch nicht so viel Programmiererfahrungen hat. Sonst setzt sich das Ich-Darf-Speicher-Verschwenden-So-Viel-Ich-Will-Denken fest...
Stur lächeln und... oh, falscher Pinguin.
Benutzeravatar
theTux
 
Beiträge: 577
Registriert: 15.01.06 16:41

Re: Übungsblatt 4, Aufgabe 2

Beitragvon Trinova » 13.11.09 19:22

Prinzipiell einfach an die Aufgabenstellung halten, dann können dir keine Punkte abgezogen werden. Widerstrebt einem Anfangs nen bisschen aber gewöhnt man sich dran. Zur Not im Tutorium nachfragen ob man das so optimieren kann oder ob man irgendwelche Seiteneffekte übersehen hat.



W.A. Wulf hat geschrieben:More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity.


YMMD
It's not a bug... It's a feature!

Iteration ist menschlich. Rekursion ist göttlich.
Benutzeravatar
Trinova
 
Beiträge: 196
Registriert: 24.09.08 11:27
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: E-Technik


Zurück zu Praktische Informatik