Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - :ohk<any>

#701
Ejercicios / Re: De forma recursiva
4 Septiembre 2008, 04:46 AM
Le encuentran un pero a todo no?

Bueno si, en caso de que quieran meter un número negativo para "b" pues si.

Pero:

Citar
2do. Realizar un programa en Java que de forma recursiva sume 2 números naturales.

es.wikipedia.org/wiki/Número natural

Bueno, igual el ejercicio esta bien resuelto.
Lo de verificar si un número es positivo lo posteo luego, ya tengo sueño :P

Un saludo

#702
Ejercicios / Re: De forma recursiva
4 Septiembre 2008, 03:34 AM
Cita de: carlitos.dll en  4 Septiembre 2008, 03:09 AM
No me ofendo, pero en el primer ejercicio, donde esta la recursividad?


Pues, cuando encuentres la recursividad habrás resuelto el ejercicio.

Citar
Y en tu segundo código, si quieres sumar 3 + -2, queda recursando infinitamente, y se cae por StackOverflowError.

no estoy sumando 3 + -2, analiza nuevamente el código y te darás cuenta que no sumo la 2da variable.

Código (java) [Seleccionar]
return sumar(a, b-1) + 1;

Lo que en verdad sumo es a + el contador
Citarreturn sumar(a, b-1) + 1;
, ese +1 esta incrementando cada ves que el número dentro la variable b se va reduciendo.

Ahora claro está de que si no existiera el axioma

Código (java) [Seleccionar]
if(b==0) return a;

nada tendría sentido.
Pero ese if, es el encargado de para el proceso y lanzar un resultado.
Mira, cuando a mi me dijeron que lo haga, yo lo creí loco a mi docente, porque pensaba lo mismo que tu, pero a tanta insistencia me hizo pensar un poco y alcancé el resultado.

Un saludo
#703
Ejercicios / Re: De forma recursiva
4 Septiembre 2008, 02:28 AM
Cita de: ArcheritONE en  3 Septiembre 2008, 23:38 PM
¿Con un if de pormedio?

Si, el if es la condicionante que determina el axioma.
Mira, voy a resolver la suma de dos números de forma recursiva.

Código (java) [Seleccionar]

    static int sumar(int a, int b)
    {
        if(b==0) return a;
        else
            return sumar(a, b-1) + 1;
    }


Explicando un poco

Código (java) [Seleccionar]
if(b==0) return a;

Osea si uno de los dos números, en mi caso el que este en la variable "b" es cero entonces no tiene caso sumar nada, asi que retornamos el número de la otra variable, ejemplo:

a = 5;  b = 0;

sumar = a;

Código (java) [Seleccionar]
else
            return sumar(a, b-1) + 1;


ahora, por falso, lo que hacemos es reducimos el segundo parámetro que esta en nuestra variable "b" la cantidad de veces que se pueda hasta que llegue a cero.

Y una ves que llegue a cero que hacemos?
Pues, necesitamos un contador que nos diga cuantas veces se ha reducido el número y eso nos dará como resultado el número introducido.

Entonces en lo que haya sumado el contador le aumentamos a; que esta fijado en el axioma, lo cual nos devuelve a + b, pero de forma recursiva.

Nose si está claro, a veces no soy bueno explicando.

Un saludo


#704
Cita de: Winder en  4 Septiembre 2008, 00:28 AM
Seguro que el 90% de los que estamos aquí NUNCA hemos leido ni el 50% de las reglas... ¿quienes de aquí se han aprendido todas las reglas?  :rolleyes:

yo si :D

Citar¿alguien se ha leido todos los articulos de la constitución de su pais?

de hecho, también me he leído la constitución de mi país :D

Citarhemos sido de los tipicos que hemos preguntado por lo del hackeo de hotmail en tiempos pasados

Estoy de acuerdo contigo, por eso pedí que no borraran este post, y agradezco al admin porque no lo hizo.

Un saludo

#705
Juegos y Consolas / Spore: jugando a ser Dios
3 Septiembre 2008, 17:58 PM
El creador de "Los Sims" presenta un nuevo juego en el que el jugador tiene total libertad para diseñar sus propias criaturas y controlar su evolución.

Uno de los videojuegos más revolucionarios de los últimos años, creador de toda una secuela de juegos basados en el mismo planteamiento, ha sido "Los SIms". En él, el jugador controlaba al detalle las actividades de las criaturas cibernéticas, convirtiéndose en una especie de ojo todopoderoso que controlaba su vida virtual.

Ahora, el creador de "Los SIms" Will Wright, ha ido un paso más allá con "Spore", en el que el jugador tiene todavía mayor libertad para crear y decidir el destino de las criaturas ideadas por él.

El juego sigue todos los pasos de la evolución: unas esporas se convierten en células, que desde su origen acuático evolucionan hacia una especie sensible. Después, se van generando organismos cada vez más complejos durante otras cuatro fases, como criaturas, tribus, civilizaciones y viajes espaciales, con distintos desafíos y metas en cada fase.

Aunque se trata de un juego para un único jugador, se pueden compartir las creaciones con las de otros jugadores, aumentando así el número de mundos para explorar. También pueden tomarse prestados otros seres para que formen parte del universo de cada jugador.

Video

Según ha desvelado Will Wright durante la presentación del juego en España, hay ya más de 3 millones de criaturas, una cifra que avala el éxito del juego, número uno en todos los ránkings de popularidad desde que estuviera disponible en Internet la primera demo del juego.

Wirght destacó la posibilidad de que los jugadores puedan "reconstruir su propia historia y ser creativos de una manera sencilla y también divertida". Según él, "con 20 clics podemos darle una capacidad creativa a los jugadores que antes sólo estaba al alcance de los diseñadores profesionales".

El juego se puede descargar desde la web de Electronic Arts, al precio de 56,95 euros. Sin duda hará, las delicias tanto de creacionistas como de darwinistas, pues los primeros podrán diseñar criaturas a su antojo, mientra que los segundos serán testigo de los avatares de su evolución como especie.

Fuente:
http://www.baquia.com/noticias.php?id=14082
#706
Ejercicios / Re: De forma recursiva
3 Septiembre 2008, 04:55 AM
Cita de: carlitos.dll en  3 Septiembre 2008, 00:06 AM
No me parecen tareas recursivas.

Código (java) [Seleccionar]

public boolean esPositivo(int numero)
{
    return numero >=0;
}


Lamento decirte que tu ejercicio esta mal.
Cualquiera, uno de 1ro puede hacer lo que hiciste, no te ofendas pero yo lo pedí de forma recursiva.
Mira, cuando me plantearon el ejercicio creí lo mismo que tú.

CitarOsea para que lo hago de forma recursiva si es muy simple sacarlo.

Pero te pido que intentes hacerlo de forma recursiva, haber si es tan sencillo.




Ahora, lo de sumar dos números, de la misma forma, se puede hacer muy simple sin recursividad, pero yo lo estoy pidiendo recursivo, porque te hace analizar un poco mas el ejercicio, no digo que sea difícil, pero al menos el procedimiento cambia, con solo decirte que para sumar dos números, debes utilizar la resta.

Espero lo resuelvan de forma recursiva.

Un saludo
#707
Ejercicios / De forma recursiva
2 Septiembre 2008, 23:45 PM
Hola foro :D

Aquí dos ejercicios.

1ro. Realizar un programa en Java que de forma recursiva verifique si un número es positivo. El método debe ser booleano, osea devolver true o false, dependiendo del número introducido.

2do. Realizar un programa en Java que de forma recursiva sume 2 números naturales.

Sencillo cierto?
Espero sus respuestas.

Un saludo
#708
Esto ya esta un poco trillado, pero...  :rolleyes:
si se lo quieres mandar a Isirius pues, te digo que su bandeja esta llena, asi que él no puede recibir mensajes, por eso tu no puedes mandarlos :P

en caso de que sea a otro, puede que este pasando lo mismo.

Un saludo
#709
No borren el post porfavor

dice cosas muy ciertas, normalmente cuando alguien pregunta una lamerada de esas de que "quiero hackear hotmail" lo primero que hacemos es ofenderles diciéndoles Lammer, hasta que no un moderador se apiada y eliminar el tema.

Espero que lo lean muchos usuarios, pero que no lo tomen a mal, mas bien que sirva para reflexionar un poco.

Un saludo

Santa Muerte
#710
Ejercicios / Re: Ayuda con este ejercicio
2 Septiembre 2008, 06:17 AM
Código (java) [Seleccionar]


public class Magico
{


    public static void main (String [] args)
    {
        int fil = 0;
        int n = 4;
        int colmedio = n / 2;
        int c = 1;
        int mat [] [] = new int [n] [n];

        magico1 (mat, fil, colmedio, c, n);
        mostrar (mat, n);
    }
    static void magico1 (int mat [] [], int fil, int colmedio, int c, int n)
    {
        if (c == n * n)
            mat [n-1] [colmedio] = c;
        else
        {
            if (fil < 0 && colmedio == n)
                magico1 (mat, fil + 2, n - 1, c, n);
            else
            {
                if (fil < 0)
                    magico1 (mat, n - 1, colmedio, c, n);
                else
                {
                    if (colmedio == n)
                        magico1 (mat, fil, 0, c, n);
                    else
                    {
                        if (mat [fil] [colmedio] == 0)
                        {
                            mat [fil] [colmedio] = c;
                            magico1 (mat, fil - 1, colmedio + 1, c + 1, n);
                        }
                        else                           
                            magico1 (mat, fil + 2, colmedio - 1, c, n);
                    }
                }
            }

        }
    }


    static void mostrar (int mat [] [], int n)
    {
        for (int j = 0 ; j < n ; j++)
        {
            System.out.println ();
            for (int i = 0 ; i < n ; i++)
            {
                System.out.print ("\t" + mat [j] [i]);
            }
        }
    }
}


::) ::)