Cuestionario U2
Cuestionario U2
Cuestionario U2
Una función es un bloque de código que realiza alguna operación. Una función
puede definir opcionalmente parámetros de entrada que permiten a los
llamadores pasar argumentos a la función. Una función también puede
devolver un valor como salida.
• Declaración
• Tipo
• Entrada
• Salida
• Llamada
• Variables de método
4.- ¿Qué son los parámetros o entradas de una función? Y cuál es su utilidad.
Cada método puede tener entradas, parámetros, argumentos.
La entrada es una secuencia de variables separadas por comas.
La entrada puede ser vacía, es decir, 0 entradas.
No deben inicializarse las variables de entrada, dado que, al realizar la llamada a la
función si posee parámetros, deben enviarse cargados con valores específicos.
5.- ¿Cuáles son las condiciones necesarias para utilizar parámetros?
Necesita que tenga un retorno de valor además la función debe de estar declarada
parámetro.
6. Indique qué es un prototipo de función.
Un prototipo es una declaración de una función. Consiste en una presentación de la
función, exactamente con la misma estructura que la definición, pero sin cuerpo y
terminada con un «;».
7. ¿Cuándo y para qué y se emplea la palabra clave return?
Se emplea cuando la función necesita retornar un valor.
8. ¿Cómo se define el tipo de una función?
Se define si necesita parámetros o no, o retorno de valor o no se da atreves de la
declaración y de lo que pide el ejercicio.
9. Explique el significado de cada uno de los siguientes prototipos de funciones:
a) int f(int a);
Es una función entera y posee un parámetro entero.
b) double f(double a, int b);
Una función de double con parámetro a y con un parámetro entero b.
c) long int f(int x, float y);
Función de tipo long con parámetro entero x y parámetro flotante y.
10. ¿A qué se refiere al paso de parámetros por valor y por referencia?
Parámetro por referencia significa que se pasa la posición de memoria donde esta
guardada la variable, por lo que la función puede saber cuánto vale, pero además
puede modificarla de cualquier manera.
11-Explique las formas de llamada a una función con retorno de valor o tipo
específico
La sentencia return tiene dos usos importantes. Primero, fuerza una salida inmediata
de la función en que se encuentra. O sea, hace que la ejecución del programa vuelva al
código que llamó a la función. En segundo lugar, se puede utilizar para devolver un
valor.
12-Explique en qué casos es útil y necesario usar una función vacía en un programa.
• Marcador de posición para cuando algo espere un comando obligatorio, por ejemplo,
while some_condtion
do :
done
: ${myvar=foo}
13- Explique en qué casos es útil y necesario usar una función con retorno de valor o
tipo específico en
un programa.
- Los casos base: Son aquellos que para su solución no requieren utilizar la función
que se está definiendo.
- Los casos recursivos: Son aquellos que sí que requieren utilizar la función que se
está definiendo.
-Una función es recursiva final cuando tras la llamada recursiva no hay que realizar
ningún cómputo adicional. Es decir, el valor devuelto en la llamada recursiva es igual al
valor que debe devolver la función.
16- Indique las diferencias entre recursión e iteración.
Recursividad se refiere a una situación en la que una función se llama a sí misma una y
otra vez. Iteración permiten repetir una sentencias o conjunto de ellas.
Ventajas:
1. Soluciones a problemas complejos de una manera más fácil, simple, clara y
elegante.
2. No es necesario definir la secuencia de pasos exacta para resolver el problema.
3. Podemos considerar que “tenemos resuelto el problema” (de menor tamaño).
4. La eficiencia de la recursividad reside en el hecho de que se puede usar para
resolver problemas de difícil solución iterativa.
5. Algunos problemas son mas sencillos de implementar usando la recursividad.
6. Presenta una facilidad para comprobar y verificar que la solución es correcta.
Desventajas:
1. Ineficiencia.
2. Sobrecarga asociada con las llamadas a subalgortimos.
3. Una simple llamada puede generar un gran número de llamadas recursivas.
(Fact(n) genera n llamadas recursivas).
4. Puede que la claridad del algoritmo no compense la sobrecarga del mismo
5. Algoritmos recursivos ineficientes.
6. Es necesario la creación de muchas variables lo que puede ocasionar problemas en
memoria.
7. En general, una función recursiva toma más tiempo en generarse que una iterativa.
8. Debido a las llamadas constantes a métodos, a la creación de variables dinámicas
en la pila y la duplicación de las variables.
18- Explique el ámbito en el que puede trabajar una variable.