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

(Die Seite wurde neu angelegt: „Mit den beiden Funktionen succ und neg ist es möglich alle bekannten Operationen zu erstellen. Die Funktion succ liefert den Nachfolger einer übergebenen Zahl. ...“)
 
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Mit den beiden Funktionen succ und neg ist es möglich alle bekannten Operationen zu erstellen.
+
==Aufgabe==
Die Funktion succ liefert den Nachfolger einer übergebenen Zahl. Neg dreht das Vorzeichen eines übergebenen Wertes um.
+
Mit den beiden Funktionen succ() und neg() ist es möglich alle bekannten Operationen zu erstellen.<br>
Im unten angegebenen Quelltext seht ihr die Funktionen add, sub, mult, div, mod und pot, die ihr aus succ und neg basteln sollt.
+
 
Dafür werdet ihr mit Variablen, Schleifen/Rekursion, Fallunterscheidungen und natürlich Funktionen arbeiten dürfen.
+
* Die Funktion succ() liefert den Nachfolger einer übergebenen Zahl.<br>
 +
* neg() dreht das Vorzeichen eines übergebenen Wertes um.<br>
 +
 
 +
Im unten angegebenen Quelltext seht ihr die Funktionen add(), sub(), mult(), div(), mod() und pot(), die ihr aus succ() und neg() nachbilden sollt.
 +
Dafür könnt ihr mit Variablen, Schleifen/Rekursion, Fallunterscheidungen und natürlich Funktionen arbeiten.
 
Verwendet bitte keine Operatoren, die bereits in C definiert sind - sonst wird's langweilig ;)
 
Verwendet bitte keine Operatoren, die bereits in C definiert sind - sonst wird's langweilig ;)
  
 
Wenn ihr Lust habt, könnt ihr euch noch weitere Funktionen überlegen, die ihr aus succ und neg aufbauen könnt.
 
Wenn ihr Lust habt, könnt ihr euch noch weitere Funktionen überlegen, die ihr aus succ und neg aufbauen könnt.
 
+
==Vorgabe==
 
<pre>
 
<pre>
 
#include <stdio.h>
 
#include <stdio.h>
Zeile 24: Zeile 28:
 
}
 
}
  
//--------------Ab hier durch C-Kurs Teilnehmer -----------------------
+
/*--------------Ab hier durch C-Kurs Teilnehmer -----------------------*/
  
 
/*
 
/*
Zeile 63: Zeile 67:
  
 
int main(){
 
int main(){
printf("%i\n", add(-3,-7);
+
printf("add(-3,-7)  = %i\n", add(-3,-7));
printf("%i\n", sub(-3,7));
+
printf("sub(-3,7)  = %i\n", sub(-3,7));
printf("%i\n", mult(-3,-7));
+
printf("mult(-3,-7) = %i\n", mult(-3,-7));
printf("%i\n", div(3,-7));
+
printf("div(21,-7) = %i\n", div(21,-7));
printf("%i\n", pot(-7,3));
+
printf("mod(21,8)  = %i\n", mod(21,8));
 +
printf("pot(-7,3)  = %i\n", pot(-7,3));
 
   
 
   
 
return 0;
 
return 0;
 
}
 
}
 
</pre>
 
</pre>

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

Aufgabe

Mit den beiden Funktionen succ() und neg() ist es möglich alle bekannten Operationen zu erstellen.

  • Die Funktion succ() liefert den Nachfolger einer übergebenen Zahl.
  • neg() dreht das Vorzeichen eines übergebenen Wertes um.

Im unten angegebenen Quelltext seht ihr die Funktionen add(), sub(), mult(), div(), mod() und pot(), die ihr aus succ() und neg() nachbilden sollt. Dafür könnt ihr mit Variablen, Schleifen/Rekursion, Fallunterscheidungen und natürlich Funktionen arbeiten. Verwendet bitte keine Operatoren, die bereits in C definiert sind - sonst wird's langweilig ;)

Wenn ihr Lust habt, könnt ihr euch noch weitere Funktionen überlegen, die ihr aus succ und neg aufbauen könnt.

Vorgabe

#include <stdio.h>

/*
 * Gibt Nachfolger des uebergebenen Wertes zurueck
 */
int succ(int x){
	return ++x;
}

/*
 * Gibt den inversen Wert eines uebergebenen Wertes zurueck
 */
int neg(int x){
	return -x;
}

/*--------------Ab hier durch C-Kurs Teilnehmer -----------------------*/

/*
 * Addition zweier Zahlen
 */
int add(int x, int y){	
}

/*
 * Subtraktion
 */
int sub(int x, int y){
}

/*
 * Multiplikation
 */
int mult(int x, int y){
}

/*
 * Division
 */
int div(int x, int y){
}

/*
 * Modulo
 */
int mod(int x, int y){
}

/*
 * Potenziert eine angegebene Zahl mit dem angegebenen Exponenten
 */
int pot(int x, int y){
}

int main(){
	printf("add(-3,-7)  = %i\n", add(-3,-7));
	printf("sub(-3,7)   = %i\n", sub(-3,7));
	printf("mult(-3,-7) = %i\n", mult(-3,-7));
	printf("div(21,-7) = %i\n", div(21,-7));
	printf("mod(21,8)   = %i\n", mod(21,8));
	printf("pot(-7,3)   = %i\n", pot(-7,3));
		   
	return 0;
}