Fecha y hora actual: Miércoles 19 Dic 2018 00:53
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Programando desde 0: 38- Ejercicios de recursividad.

Responder al Tema Ir a página Anterior1234

Índice del Foro > Programación en general > Programando desde 0: 38- Ejercicios de recursividad.

Autor Mensaje
daalpri
Usuario Inquieto


Registrado: 28 Dic 2014
Mensajes: 105

Mensaje Publicado: Lunes 08 Oct 2018 12:21

Título del mensaje: Programando desde 0: 38- Ejercicios de recursividad.

Responder citando

Es una solucion un poco extraña pero funciona

Ejercicio 11:
Código:

PROCEDURE MCD (A,B,PosibleMCD:CARDINAL):CARDINAL;

(*Pasamos como "PosibleMCD" el mismo valor que a "B", ya que en principio
si el resto de dividir"A/B" es cero, este sera el maximo comun divisor*)

VAR
 MaxComDiv:CARDINAL;

BEGIN

(*Si "B" es igual a 1, el maximo comun divisor sera 1*)
IF B=1 THEN
 MaxComDiv:=1;

(*Para ser el maximo comun divisor, la division de cualquiera de los dos numeros
tiene que dar como resto 0*)
ELSIF (A MOD PosibleMCD=0) AND (B MOD PosibleMCD=0) THEN
 MaxComDiv:=PosibleMCD;

(*Si no se cumple para "PosibleMCD=B", vamos probando con el anterior a "B"
hasta que se cumpla la condicion anterior*)
ELSE
 MaxComDiv:=MCD(A,B,PosibleMCD-1);

 END;

RETURN MaxComDiv;

END MCD;

Volver arriba
Ver perfil del usuario Enviar mensaje privado
daalpri
Usuario Inquieto


Registrado: 28 Dic 2014
Mensajes: 105

Mensaje Publicado: Domingo 21 Oct 2018 22:10

Título del mensaje: Programando desde 0: 38- Ejercicios de recursividad.

Responder citando

El ejercicio 12 no he sido capaz.
He tenido que mirar el resultado y seguirlo con lapiz y papel y aun asi me ha costado entenderlo.

El 13 en cambio me ha parecido bastante sencillo:
Código:

PROCEDURE MostrarAlreves(lista:LNat);

BEGIN

IF lista=NIL THEN
 WriteString('La lista esta vacia');
 WriteLn;

ELSE
 IF lista^.sig<>NIL THEN
  MostrarAlreves(lista^.sig);
  END;

 WriteCard(lista^.elem,1);

END;

END MostrarAlreves;

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Kyshuo Ayame
Moderador Global


Registrado: 07 Ene 2011
Mensajes: 1033

Mensaje Publicado: Viernes 02 Nov 2018 22:45

Título del mensaje: Programando desde 0: 38- Ejercicios de recursividad.

Responder citando

La recursividad tiene eso. No es del todo intuitiva, va contra nuestra forma habitual de pensar. Muy buen trabajo.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema Ir a página Anterior1234
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

hola!! los saludo desde argentina

mery Preséntate a la comunidad 2 Jueves 13 Dic 2018 17:28 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Llamada a web service desde form

mrrobot2 Programación Web en general 1 Martes 14 Nov 2017 00:50 Ver último mensaje
El foro no contiene ningún mensaje nuevo

[Duda] Ejercicios Archivo Binario - En C

Pedrolo C, C#, Visual C++ 1 Viernes 03 Nov 2017 04:17 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Crear web desde 0

javitc Programación Web en general 11 Sábado 30 Sep 2017 21:23 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Nuevo desde México!

MarioC Preséntate a la comunidad 1 Viernes 30 Dic 2016 19:39 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,