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: Unterschied zwischen den Versionen

(Aufgabenstellung: vorgabe für fac.c verlinkt)
K (verschob „Ckurs/Code Layout“ nach „C-Kurs/Code Layout“)
 
(6 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
 
== sum.c ==
 
== 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
+
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
 
  #define klaus jonny
Zeile 29: Zeile 29:
  
 
Hier ist die Vorlage: [[http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2009/vorgaben/sum_refactor.c sum_refactor.c]]
 
Hier ist die Vorlage: [[http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2009/vorgaben/sum_refactor.c sum_refactor.c]]
 +
 +
So wird das Programm benutzt:
 +
 +
$ gcc sum_refactor.c -o sum
 +
$ ./sum 23 42
 +
65
  
 
== fac.c ==
 
== 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.
+
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){
 
  int faculty(int n){
 
   if (n < 2) return 1;
 
   if (n < 2) return 1;
Zeile 48: Zeile 59:
  
 
Hier ist die Vorlage: [[http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2009/vorgaben/fac_refactor.c fac_refactor.c]]
 
Hier ist die Vorlage: [[http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2009/vorgaben/fac_refactor.c fac_refactor.c]]
 +
 +
So wird das programm benutzt:
 +
 +
$ gcc fac_refactor.c -o fac
 +
$ ./fac 4
 +
4! = 24
  
 
= Kommentare =
 
= Kommentare =

Aktuelle Version vom 5. März 2013, 17:37 Uhr

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