[ifmp10] Kommentare zur Uebung 5

  • From: Hermann Lehner <hermann.lehner@xxxxxxxxxxx>
  • To: IFMP Mailinglist <ifmp10@xxxxxxxxxxxxx>
  • Date: Wed, 27 Oct 2010 09:56:07 +0200

Hallo J-Menschen,

Hier noch ein paar Kommentare zum Loesen der Aufgabe 5.

Handwerk:
---------------
- Verwendet keine Leerzeichen im Dateinamen, sonst klappt die Compilierung nicht!
- Speichere die Dateien im 'progs' Ordner
- Verwende Emacs und 'F9' zum Compilieren. Wenn dies nicht klappt, oder du es nicht magst, verwende einen beliebigen TEXT-Editor, (also nicht Word :), und compiliere die Datei mittels dem Befehl 'make xxx' wobei xxx fuer den Namen der Datei steht ohne '.cpp'. Bearbeitet ihr also cole.cpp, koennt ihr das mit 'make cole' kompilieren. - Ausfuehren im 'progs' verzeichnis mittels dem Befehl "./xxx" wobei xxx wieder fuer den programmnamen steht. - Ihr koennt auf der Linux Konsole fast immer die TAB taste benuetzen fuer auto-completion. Wenn er nicht weiter weiss, einfach den naechsten buchstaben tippen und nochmals TAB.


Uebliche Fehler:
----------------------
- Verwechseln von Vergleich (a == b) und Zuweisung (a = b). In der Regel akzepiert der Compiler beides, jedoch hat's natuerlich eine komplett unterschiedliche Bedeutung. - Endlosschleifen (passiert haeuffiger beim Verwenden von while schleifen. Bei for schleifen kann es aber auch passieren, dass die Abbruchbedingung nie erreicht wird. Haeuffig ist dies der Fall bei extrem-Werten, also z.B. kein input, input = 0 oder negativ, etc.. Ueberlegt immer, was die Spezialfaelle sein koennen.

Cole:
-------
Ich hatte ne Diskussion mit ein paar von euch, dass die Wurzel benoetigt wird, um die Berechnung in der Mitte abzubrechen (dann wird der zweite Teiler kleiner). Wenn man es etwas geschickt programmiert, ist dies nicht noetig, denn die Berechnung wird ja zuerst auf den kleineren der beiden Teiler stossen, und zu diesem Zeitpunkt koennt ihr die Berechnung-Schlaufe mit 'break;' abbrechen.

Das Programm benoetigt ca 5min, um den Teiler auszufinden, ich wuerde deshalb zuerst mit einem kleineren Beispiel starten (mit einer Zahl mit zwei maessig grossen Teilern), um zu schauen, ob die Berechnung ueberhaupt funktioniert. Sonst muesst ihr immer 5 min warten um zu sehen, ob ihr was falsch gemacht habt.

Gruess
  Hermann

--
http://www.hermann-lehner.com


Other related posts:

  • » [ifmp10] Kommentare zur Uebung 5 - Hermann Lehner