PUERTA | GATE-CS-2014-(Conjunto-3) | Pregunta 28

¿Cuál de las siguientes afirmaciones son correctas?

1) Static allocation of all data areas by a compiler
   makes it impossible to implement recursion.
2) Automatic garbage collection is essential 
   to implement recursion.
3) Dynamic allocation of activation records is 
   essential to implement recursion.
4) Both heap and stack are essential to implement
   recursion.

(A) 1 y 2 solamente
(B) 2 y 3 solamente
(C) 3 y 4 solamente
(D) 1 y 3 solamente

Respuesta: (D)
Explicación: 1) La asignación estática de todas las áreas de datos por un compilador hace que sea imposible implementar la recursividad.
Es cierto que se requiere una asignación dinámica de memoria para la pila de llamadas de funciones, ya que no se conoce el número de llamadas por adelantado para las funciones recursivas.

2) La recolección automática de basura es esencial para implementar la recursividad.
Falso, la recolección automática de basura no es esencial.

3) La asignación dinámica de registros de activación es esencial para implementar la recursividad.
Cierto, como el número de llamadas o el número de registros de activación no se conoce por adelantado para las funciones recursivas.

4) Tanto el montón como la pila son esenciales para implementar la recursividad.
El montón no es necesario para las llamadas a funciones. Generalmente se usa para la asignación dinámica de memoria por parte del usuario (o programador).

Consulte Disposición de la memoria de los programas en C para obtener más información.

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *