Offtopicalia

Miscelánea => Hardware y software => Mensaje iniciado por: NullPointerException en 02 de Mayo de 2007, 23:52:01 PM

Título: Existe algo peor...
Publicado por: NullPointerException en 02 de Mayo de 2007, 23:52:01 PM
...que los programas recursivos? La verdad es que cada vez que me miro los apuntes sobre esta cosa  es que me pongo de los nervios, y es que es una tocada de cojones impresionante.

En Java está tiradísimo ahcer estas cosas, pero joder, un programa recursivo toca bastante la moral.

Ale, ya me he desahogado, si alguien ha tenido el valor de leer esto, le doy un pin

Salu2 de un forero
Título: Existe algo peor...
Publicado por: PES Hero en 03 de Mayo de 2007, 00:48:04 AM
Explica un poco qué es, para los no curtidos en la materia.
Título: Existe algo peor...
Publicado por: NullPointerException en 03 de Mayo de 2007, 01:02:27 AM
Cita de: PES HeroExplica un poco qué es, para los no curtidos en la materia.

Si sabes programar, quizás entiendas algo de lo que explicaré, pero créeme, es lo peor de lo peor.

En una funcion nos dan una Precondicion y una postcondicion para que podamos ahcer el programa recursivo. Por ejemplo, tenemos la funcion factorial, pues recursivamente la escriviriamos así:

funcion fact(n:natural) devuelve r: natural

Pre: {Cierto}
Post: {r=fact(n)}

[ fact(0)->r:=1  //caso base
[] fact(1)-> r:=1  //caso base
[] fact(n)-> r:=fact(n-1)      //caso recursivo
                       r:=r*n

Ahora viene lo peor, verificarlo.

{r=fact(n-1)}->{r=fact(n)}[r<-r*n]

r*n=fact(n) //sustituimos la r por r*n

fact(n-1)*n=fact(n) //sustituimos la r por fact(n-1)

Y efectivamente obtenemos el resultado que queremos.
Este era uno de los casos sencillos, si me hablas de vectores, matrices o de árboles binarios, ya te puedes cagar.

Salu2 de un forero
Título: Existe algo peor...
Publicado por: monstruo de las galletas en 03 de Mayo de 2007, 09:24:18 AM
"NIVEL USUARIO", son mis dos palabras preferidas :)
Título: Existe algo peor...
Publicado por: pika en 03 de Mayo de 2007, 10:42:35 AM
¿Algo peor? el widows vista, valla bazofia de SO.

Sobre el tema, no conozco ningun lenguaje de programacion y eso que mi padre es un pedazo programador,trabajo para la IBM asta que monto su propia empresa, ya no vivo con el si no le pedia ayuda, pero creo recordar que siempre trabajaba en lenguaje del basic.
Título: Existe algo peor...
Publicado por: NullPointerException en 03 de Mayo de 2007, 14:14:51 PM
El lenguaje que se utiliza para esta cosa es el Haskell, vamos, que no lo conoce ni Dios

Salu2 de un forero