Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

C-Kurs/Code Layout

< C-Kurs(Weitergeleitet von Ckurs/Code Layout)

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 Rekursiv berechnet werden, allerdings könnte man das auch sauber in zwei Zeilen machen, ohne dabei so 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

Kommentare