Dateianhang 'pot.c'
Herunterladen 1 /* Sysprog, 30. November 2017
2 *
3 * Rekursives Potenzieren von ganzen Zahlen
4 */
5
6 /* Aufgaben:
7 *
8 * 1. Kompilieren Sie das Programm mit
9 * gcc -g -o pot pot.c
10 * und testen Sie es z.B. mit "./pot 5".
11 *
12 * 2. Was passiert, wenn man das Programm ohne Argument aufruft?
13 * Wie könnte man das Programm robuster machen?
14 *
15 * 3. Ab welcher Potenz n uebersteigt das Ergebnis den Wertebereich?
16 *
17 * 4. Schreiben Sie das Programm in Assembler. Verwenden Sie bei
18 * pow() wie ueblich Prolog, Epilog und den Framepointer.
19 * Linken Sie das Programm gegen die libc, so dass Sie die
20 * atoi() und printf() Funktion verwenden können.
21 */
22
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include <math.h>
26
27
28 /* Berechne x^n rekursiv */
29 int pot(int x, int n)
30 {
31 if (n == 1) {
32 return x;
33 }
34 else {
35 return x * pot(x, n-1);
36 }
37 }
38
39
40 int main(int argc, char *argv[])
41 {
42 int n = atoi(argv[1]);
43 printf("%d\n", pot(2, n));
44
45 return 0;
46 }
Gespeicherte Dateianhänge
Um Dateianhänge in eine Seite einzufügen sollte unbedingt eine Angabe wie attachment:dateiname benutzt werden, wie sie auch in der folgenden Liste der Dateien erscheint. Es sollte niemals die URL des Verweises ("laden") kopiert werden, da sich diese jederzeit ändern kann und damit der Verweis auf die Datei brechen würde.Sie dürfen keine Anhänge an diese Seite anhängen!