elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda función recursiva
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda función recursiva  (Leído 1,995 veces)
fernaEDLP

Desconectado Desconectado

Mensajes: 48


Ver Perfil
duda función recursiva
« en: 30 Mayo 2019, 17:09 pm »

hola gente todo tranquui?, espero que todo en orden, necesito que me digan si esta bien hecho esto:
el problema dice: realice la traza de la sguiente funcion recursiva, y diga cual es el resultado para fun(6),
el codigo es este:

Código
  1. void fun(int a);
  2.  
  3. int main()
  4. {
  5. int N;
  6. scanf("%d",&N);
  7. fun(N);
  8.  return 0;
  9. }
  10. void fun(int a)
  11. {
  12.    if(a>0)
  13.        {
  14.            printf("%d\n",a);
  15.            fun(a-1);
  16.        }
  17.        else
  18.            {
  19.                printf("fin\n");
  20.                printf("%d\n",a);
  21.                printf("fin de verdad\n");
  22.            }
  23.  
  24.  
  25.  
  26. }
  27.  
  28.  
  29.  

la salida es sencilla imprimiria esto:
6
5
4
3
2
1
Fin
0
Fin de verdad
ahora bien para realizar la traza estaria bien esto asi:

1 6
2 fun(5)
1 5
2 fun(4)
1 4
2 fun(3)
1 3
2 fun(2)
1 2
2 fun(1)
1 1
2 fun(0)
Fin
0
Fin de verdad

Aclaracion la parte que me dan en el problema es solo la funcion, todo el codigo que pegue ahi lo hice para compilarlo y verificar que imprime eso, osea el problema solo me da esta parte:
Código
  1. void fun(int a)
  2. {
  3.    if(a>0)
  4.        {
  5.            printf("%d\n",a);
  6.            fun(a-1);
  7.        }
  8.        else
  9.            {
  10.                printf("fin\n");
  11.                printf("%d\n",a);
  12.                printf("fin de verdad\n");
  13.            }
  14.  
  15.  
  16.  
  17. }
  18.  
  19.  
  20.  
  21.  
  22.  


En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: duda función recursiva
« Respuesta #1 en: 30 Mayo 2019, 18:10 pm »

No sé lo que quieres representar exactamente con "la traza", pero si lo que quieres es mostrar en que orden se van haciendo las sucesivas llamadas y cuales son las salidas que se obtienen, en tal caso, es correcto.
En el fondo es como la salida en sí misma, añadiendo las sucesivas llamadas a la función.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
fernaEDLP

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: duda función recursiva
« Respuesta #2 en: 30 Mayo 2019, 18:24 pm »

hola amigo! graciass, o sea si viste en general cuando te dicen realice la traza de una funcion, o sea los valores que van adquiriendo las variables etc..
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: duda función recursiva
« Respuesta #3 en: 30 Mayo 2019, 18:41 pm »

Citar
La traza de un algoritmo (o programa) indica la secuencia de acciones (instrucciones) de su ejecución, así como, el valor de las variables del algoritmo (o programa) después de cada acción (instrucción).
Siguiendo esta definición de traza, como no hay variables sólo habría que indicar las instrucciones que se ejecutan. Yo en la traza mostraría la instrucción completa, no solo la salida por pantalla.
Código:
printf(6)
fun(5)
printf(5)
...
printf(1)
fun(0)
printf("fin")
printf(0)
printf("fin de verdad")
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
fernaEDLP

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: duda función recursiva
« Respuesta #4 en: 30 Mayo 2019, 20:55 pm »

perfecto gracias!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con función recursiva « 1 2 »
Programación C/C++
DickGumshoe 16 7,755 Último mensaje 8 Junio 2012, 05:02 am
por Ferno
Pequeña duda con funcion recursiva
Programación C/C++
CCross 9 4,953 Último mensaje 19 Mayo 2013, 17:41 pm
por CCross
Funcion recursiva
Programación C/C++
Albertocn 9 3,912 Último mensaje 19 Febrero 2014, 19:50 pm
por leosansan
Función recursiva en C++
Programación C/C++
david2015 4 2,753 Último mensaje 22 Mayo 2015, 03:14 am
por Gunhack
Funcion recursiva
Programación C/C++
Kinamox 2 2,369 Último mensaje 8 Abril 2018, 11:50 am
por dijsktra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines