TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: thecrow_94 en 09 de Febrero de 2005, 12:48:00
-
Una de ellas es q si por ejemplo en esta funcion float f (int x) le paso un valor negativo considera el signo menos la funcion o no. Y otra es un programilla q no me entero de lo q ace haber si me lo podeis explicar paso a paso gracias, aqui le pongo:
4ª Pregunta: (0,5 puntos)
Cual es el resultado,en pantalla, de ejecutar la siguiente funcion cuando el parametro que se le pasa es 6
funcion (int n){
static a=0;
if (n>0) {
a++;
n=n-a;
funcion(n);
printf ("n=%d
", n);
}
else
printf ("FIN
");
}
SOLUCION:
FIN
n=0
n=3
-
Que onda Invitad@, tu tuncion es una funcion recursiva(llamada de una funcion dentro de una funcion; este tipo de funciones no son permitidas en ccs)
Te falto poner static "int" a=0;
Asi es mas o menos como lo veria:
A)CON A=0
FUNCION(6){ /*n=6*/
static int a=0;if(6>0){ a++; n=6-1; 1)funcion(); printf ("n=%d
", n);} //7° imprime n=5
1)funcion(5);
static int a=0; if(5>0){ a++;n=5-1; 2)funcion(); printf ("n=%d
", n);//6° imprime n=4
2)funcion(4);
static int a=0; if(4>0){ a++;n=4-1; 3)funcion();printf ("n=%d
", n); //5° imprime n=3
3)funcion(3);
static int a=0; if(3>0){ a++;n=3-1; 4)funcion();printf ("n=%d
", n); //4° imprime n=2
4)funcion(2);
static int a=0; if(2>0){ a++;n=2-1; 5)funcion();printf ("n=%d
", n); //3° imprime n=1
5)funcion(1);
static int a=0; if(1>0){ a++;n=1-1; 6)funcion();printf ("n=%d
", n); //2° imprime n=0
6)funcion(0);
static int a=0; if(0>0){ ....} else printf ("FIN
"
;//1° imprime FIN
}
B) SIN A=0
FUNCION(6){ /*n=6*/
static int a ;if(6>0){ a++; n=6-1; 1)funcion(); printf ("n=%d
", n);} //4° imprime n=5
1)funcion(5);
static int a; if(5>0){ a++;n=5-2; 2)funcion(); printf ("n=%d
", n);//3° imprime n=3
2)funcion(3);
static int a; if(4>0){ a++;n=3-3; 3)funcion();printf ("n=%d
", n); //2° imprime n=0
3)funcion(0);
static int a; if(0>0){ ....} else printf ("FIN
"
;//1° imprime FIN
}
Salu2 pana
-
Muchas gracias, ya me he enterao