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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios Recursividad muy completos con solución MATLAB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicios Recursividad muy completos con solución MATLAB  (Leído 3,492 veces)
halconmilenario

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ejercicios Recursividad muy completos con solución MATLAB
« en: 16 Diciembre 2019, 10:23 am »

Hola, os traigo un listado de ejercicios de recursividad con su solución. A nivel de recursividad es muy importante conocer su funcionamiento baso en fórmulas recursivas y casos bases. Estos ejercicios son ideales para exámenes de cualquier asignatura de programación.


EJERCICIO 1: MCD EUCLIDES RECURSIVO

Dados 2 números enteros positivos m y n, tal que m>n, para encontrar su máximo común divisor (mayor entero positivo que divide a ambos):

•   Dividir m por n para obtener el resto r (0 <= r <n)
•   Si r=0, el MCD es m
•   Sino, el máximo común divisor es MCD(n,r)
_________________________________________
SOLUCIÓN

function r = MCD_Euclides_rec (a,b)

    if (b == 0)
        r = a;
    else
        r = MCD_Euclides_rec(b, rem(a,b));
    end
end




EJERCICIO 2: POTENCIA RECURSIVA

Programar un algortimo recursivo que calcule la potencia de un número elevado a un exponente determinado.
Ejemplo: potencia_rec(2,3) devolverá como resultado 8

____________________________________________
SOLUCIÓN

function n = potencia_rec(b,e)
    if(e==0)
        n=1;
    elseif (e==1)
        n=b;
   
    %FÓRMULA RECURSIVA
    else
        n = b*potencia_rec(b,e-1);
    end
end

EJERCICIO 3: SUCESIÓN DE JACOBSTHAL

Programar un algoritmo recursivo que permita calcular la sucesión de Jacobsthal (más info en Wikipedia)
_______________________________________
SOLUCIÓN

function m = jacobsthal(n)
    if n==0
        m=0
    elseif n==1
        m=1
    else
        m=jacobsthal(n-1)+2*jacobsthal(n-2);
    end

end

EJERCICIO 4: NÚMERO DE FRANÇOIS É. ANATOLE LUCAS

Realizar la implementación de un algoritmo recursivo que permita obtener el número de François É. Anatole Lucas dada una posición concreta. De manera similar a los números de Fibonacci, cada número de Lucas se define como la suma de sus dos inmediatos anteriores, formando así una secuencia de enteros de Fibonacci. Los dos primeros números Lucas son L0 = 2 y L1 = 1 en contraposición a los dos primeros números de Fibonacci que son F0 = 0 y F1 = 1. Aunque estrechamente relacionado en la definición, los números de Lucas y de Fibonacci presentan propiedades distintas.

La secuencia de números Lucas es: 2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123

Por tanto, si el programa toma un 0, la salida será 2; si toma un 1, será 1; si toma un 2, será 3.

_____________________
SOLUCIÓN

Idem que fibonacci cambiando los casos base


« Última modificación: 16 Diciembre 2019, 10:34 am por halconmilenario » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
bajar juegos completos
Juegos y Consolas
bigbang350 3 2,795 Último mensaje 12 Junio 2007, 12:02 pm
por Vagueza
ejercicios basicos para recursividad en java « 1 2 3 »
Java
bengy 24 28,388 Último mensaje 27 Marzo 2012, 07:53 am
por xyiyox
Ejercicios python con solucion
Programación General
bichotg 0 2,903 Último mensaje 17 Febrero 2012, 00:33 am
por bichotg
Matlab
Programación General
Gm3z 0 2,395 Último mensaje 26 Noviembre 2012, 18:33 pm
por Gm3z
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines