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
Version vom 25. Juli 2010, 11:46 Uhr von Mutax (Diskussion | Beiträge) (hat „Ckurs2009/Code Layout“ nach „Ckurs/Code Layout“ verschoben: Aufgaben sind Kurs übergreifend nutzbar)

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

Kommentare