2. La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera
que contiene otra muñeca más pequeña dentro de sí. Y así, una dentro de
otra.
3. El programa se
fracciona en
muchos módulos
que produce
muchos
beneficios
(Jayanes Aguilar)
En programación,
una función designa
una parte del
código que se
ejecuta al
momentos de las
llamadas
(Juganaru Mathieu)
Aislar mejor los
problemas.
Escribir programas
correctos más
rápidos
4. La declaración de una función de hace con :
Tipo nombre_función(lista parámetros con tipos) { }
Código
Donde tienen
declaraciones de
variables
Return expresion;
El return se utiliza en las funciones se tipo void.
Return;
A continuación se presenta algunos ejemplos de función:
void nada ( )
{
}
void nada 2 ( )
{
return;
}
int min (int a, int b)
{
If (a<=b)
return;
else
return b;
}
5. double sin(doublé x)
double cos(doublé x)
double tan(doublé x)
Para las funciones trigonométricas.
double exp(doublé x) que significa 𝑒 𝑥
.
double pow(x, y) que es la potencia 𝑥 𝑦
.
double sqrt(doublé x) que significa 𝑥.
Int abs(int n): valor absoluto.
En la biblioteca < stdio.h > de estándares
de entrada y otro de salida
Teclado pantalla
respectivamente
6. int
char
double
void
Son de tipo entero (abc
y ABC)
Caracteres
almacenados al inicio
del argumento.
Notación decimal con
signo y punto decimal
Impresión apuntador
7. La recursividad
es un concepto
fundamental en
matemáticas y
en computación.
Es una alternativa
diferente para
implementar estructuras
de repetición (ciclos). Los
módulos se hacen
llamadas recursivas.
Se puede usar en toda
situación en la cual la solución
pueda ser expresada como una
secuencia de movimientos,
pasos o transformaciones
gobernadas por un conjunto de
reglas no ambiguas.
8. R. DIRECTA R. INDIRECTA
El código de la función P( ) contiene una
sentencia que invoca a P( ).
invoca a la función a P( ), que
invoca a su vez a la función Q( ).
Las funciones recursivas son precisamente las funciones que pueden ser
calculados, con el.
9. Las funciones se
pueden implementar
de modo
Recursivo
Iterativo
Se basa en una
estructura de un
control y selección.
Utiliza una estructura
repetitiva.
10. Las funciones recursivas se componen de casos:
una solución simple para un caso particular (puede haber más de
un caso base).
una solución que involucra volver a utilizar la función original,
con parámetros que se acercan más al caso base. Los pasos
que sigue el caso recursivo son los siguientes:
1.El procedimiento
se llama a sí mismo
2. El problema se
resuelve, tratando
el mismo
problema pero de
tamaño menor
3.La manera en la cual
el tamaño del problema
disminuye asegura que
el caso base
eventualmente se
alcanzará
11. Escribe un programa que calcule el factorial (!) de un entero no negativo.
He aquí algunos ejemplos de
factoriales:
•1! = 1
• 2! = 2 2 * 1
• 3! = 6 3 * 2 * 1
• 4! = 24 4 * 3 * 2 * 1
• 5! = 120 5 * 4 * 3 * 2 * 1
13. Solución:
Aquí podemos ver la secuencia que toma el factorial
N ! =
1
N * (N – 1) !
si N = 0 (base)
si N > 0 (recursión)
Un razonamiento recursivo tiene dos partes: la base y la regla
recursiva de construcción. La base no es recursiva y es el punto
tanto de partida como de terminación de la definición.
Organicemos
nuestro diagrama
de flujo tanto
iterativo, como
recursivo
14. public int factorial (int n) {
int fact = 1;
for (int i = 1; i <= n; i++)
fact = i * fact;
return fact;
}
int factorial (int n)
comienza
fact ← 1
para i ← 1 hasta n
fact ← i * fact
Regresa fact
termina
A continuación
veremos como
funciona en el
programa C++
15. public int factorial (int n) {
if n == 0 return 1;
Else
return factorial (n-1) * n;
}
int factorial (int n)
Comienza
si n = 0 entonces
regresa 1
Otro
regresa factorial (n-1)*n
termina
Es importante determinar un
caso base, es decir un
punto en el cual existe una
condición por la cual no se
requiera volver a llamar a la
misma función.
16. Cada término de la serie suma los 2 anteriores. Fórmula
recursiva
fib(n) = fib (n - 1) + fib (n - 2)
Caso base: Fib (0)=0; Fib (1)=1
Caso recursivo: Fib (i) = Fib (i -1) + Fib(i -2)
public static int fib(int n){
if (n <= 1) return n; //condición base
else
return fib(n-1)+fib(n-2); //condición recursiva
}
Valores: 0, 1, 1, 2, 3, 5, 8...
19. La razón fundamental es que existen numerosos
problemas complejos que poseen naturaleza
recursiva y consecuencia, son mas fáciles de
implementar con algoritmos de este tipo.
20. Primera: Podemos concluir que la función está definida por su nombre, que
debe ser un identificador único, ya que es la aplicación que se refiere a
una regla que se asigna a cada elemento de un conjunto.
Segundo: La recursividad es una alternativa diferente para implementar
estructuras de repetición, se puede usar en toda situación en la cual la
solución pueda ser expresada como una secuencia de movimientos.
Tercera: Por último, una función recursiva puede invocarse así misma en
forma directa o indirecta, donde puede dar origen a una recursión infinita.