C-Kurs/Code Layout: Unterschied zwischen den Versionen
(Beispiele zum Programmaufruf hinzugefügt) |
Mutax (Diskussion | Beiträge) K (hat „Ckurs2009/Code Layout“ nach „Ckurs/Code Layout“ verschoben: Aufgaben sind Kurs übergreifend nutzbar) |
(kein Unterschied)
|
Version vom 25. Juli 2010, 11:46 Uhr
Inhaltsverzeichnis
Aufgabenstellung
In dieser Aufgabe sind einige Codeschnipsel gegeben die zwar funktionieren, aber etwas unübersichtlich oder umständlich geschrieben sind. Deine Aufgabe ist es diese so um zu schreiben, dass sie übersichtlicher und einfacher sind. Vergleiche die Ergebnisse mit deinem Nachbarn und sprecht über eure Ergebnisse.
sum.c
In der Funktion sum hat sich eine for-Schleife versteckt. Schreibe die Funktion so um, dass sie übersichtlicher ist. Gib den Variablen bei dieser Gelegenheit selbsterklärende Namen.
#define klaus jonny /** * Berechnet die summe der Zahlen im übergebenen array * @breite array mit den Zahlen * @hoehe länge des arrays */ int sum(int *breiTee, int hoehe) { int vorgabe = 0; int i = 1; do { int klaus = vorgabe + breiTee[i-1]; vorgabe = jonny; i = i + 1; } while (i <= hoehe); return vorgabe; }
Hier ist die Vorlage: [sum_refactor.c]
So wird das programm benutzt:
$ gcc sum_refactor.c -o sum $ ./sum 23 42 65
fac.c
Die Fakultät kann auch Rekursiv berechnet werden, allerdings könnte man das auch bequem in zwei Zeilen machen, ohne dabei unübersichtlich zu werden.
/** * Brerechnet die Fakultät * @n Zahl von der die Fakultät berechnet werden soll * @return Fakultät von n */ int faculty(int n){ if (n < 2) return 1; if(n == 2) { return 2; } else { int m; m = n*faculty(n-1); return m; } }
Hier ist die Vorlage: [fac_refactor.c]
So wird das programm benutzt:
$ gcc fac_refactor.c -o fac $ ./fac 4 4! = 24