Mostrar Mensajes

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


Mensajes - bartvander

Páginas: [1]
1
Aprender a programar desde cero / Re:Algoritmo recursivo
« en: 14 de Marzo 2013, 15:13 »
Ok ya lo entendí.

hace:

n*factorial de (n-1) = 5 y hace la función otra vez que quedará 5*4*FACTORIAL (n-1)... y así hasta que llega a n=0 que sería 1 y por o tanto quedaría 5*4*3*2*1.

Es el primer algoritmo que veo recursivo y me ha costado comprenderlo.

2
Aprender a programar desde cero / Re:Algoritmo recursivo
« en: 14 de Marzo 2013, 15:02 »
lo de los resultados lo entiendo que salga 5*4*3*2*1, pero cuando n=0 lo que devuelve es 1, este sería el último resultado que devuelve no? no veo ninguna varible que acumule este resultado y que luego devuelva ese valor. En algún sitio estoy perdido.

3
Bueno pues estoy con los algoritmo recursivos y no soy capaz de saber como función. Pongo un ejemplo:

int factorial (int n)
    if (n==0) return 1;
    else return n*factorial(n-1)

yo entiendo que le metes un número n y como llama a la misma función dentro del metodo se va llamando recursivamente. Mi duda es cuando llega a n=0 tendría que devolver 1 y sin en cambio devuelve el factorial de n. Me podrías explicar como va funcionando este bucle. Otra de las dudas que me surgen es se realiza el primer bucle y donde se guarda el resultado de ese bucle, por ejemplo:

si queremos el factorial de 5, en la primera vuelta sería:

return 5 + factorial (n-1) que es 4= 20. devuelve ese valor, pero no lo almacena para sumar el siguiente resultado.

4
Aprender a programar desde cero / Re:Listas enlazadas
« en: 11 de Marzo 2013, 16:01 »
El código es Java y está sacado del libro tal cual. Es el capitulo donde se estudian listas enlazadas. Pero según lo explican... ahora mismo no se como funcionaría una lista enlazada. Porque estoy totalmente perdido. Los ejemplos que pone la verdad que me tienen muy confundido.

Si pudieras darme algún enlace de un tutorial donde lo explique algo mejor, le echo un vistazo.

5
Estoy mirando por internet intentando encontrar la deficion de que es pasar parametros en Java por valor y por referencia y como se utilizan dentro de Java. Lo que he encontrado, no lo entiendo muy bien. Alguien podría explicarme esto.

Gracias de nuevo por vuestra ayuda.

6
Aprender a programar desde cero / Listas enlazadas java
« en: 08 de Marzo 2013, 17:18 »
Estoy estudiando las listas en lazadas y me gustaría que me ayudaseis a resolver estas dudas:

tengo este trozo de código de un constructor para una lista y actual sería el primer elemento a menos que la lista este vacía.

public ListaEnlazarIter (ListaEnlazada unaLista)
{
      laLista = unaLista;
      actual = laLista.esVacia() ?
                 unalista.cabecera  :  unaLista.cabecera.siguiente;
}

Tengo dudas sobre como funcionaría este código. No se que significa el símbolo interrogación en el código. Los : de la linea final se que se utilizan en iteradores, pero no se que es lo que hace en esa última linea.

A ver si podéis aclarare un poco. Gracias.


7
Aprender a programar desde cero / Re:Bucles anidados funcionamiento
« en: 28 de Febrero 2013, 19:09 »
No hay nada como saber. Nosferacento, da gusto encontrarse gente como tu por el foro, sin olvidarme de javi in the sky. Sois unos cracks.

8
Aprender a programar desde cero / Re:Bucles anidados funcionamiento
« en: 28 de Febrero 2013, 16:41 »
En primer lugar gracias por la respuesta. estoy practicando con los bucles a ver si soy capaz de aclararme como funcionan. He creado este sencillo código:

public void bucle(){
       
        for (int i = 0; i < 10; i++){
            for(int j = 0; j < 10; j++){
            System.out.println(j + "zz");
            }
        }
    }

Yo entiendo que debería escribir 10 veces la secuencia del 0 al 9 acompañado de las zz, pero me escribe esto:


3zz
4zz
5zz
6zz
7zz
8zz
9zz
0zz
1zz
2zz
3zz
4zz
5zz
6zz
7zz
8zz
9zz
0zz
1zz
2zz
3zz
4zz
5zz
6zz
7zz
8zz
9zz
0zz
1zz
2zz
3zz
4zz
5zz
6zz
7zz
8zz
9zz
0zz
1zz
2zz
3zz
4zz
5zz
6zz
7zz
8zz
9zz

Cuando pongo un i muy alta no me salen todos los valores. estoy utilizando bluej

9
Aprender a programar desde cero / Re:Bucles anidados funcionamiento
« en: 28 de Febrero 2013, 09:29 »
Este es un ejemplo de un método que hay en el libro de estructuras de datos de Java, el libro que se utiliza en la UNED. No hay programa completo, solo este trozo. Se supone que este algoritmo calcula la mayor suma secuencial. O sea va sumando números secuencialmente dentro del vector y devuelve la suma consecutiva mas alta que haya en el vector. Mi duda y mi pregunta es que no se muy bien como funcionan los bucles anidados y por eso no logro comprende este código. Así que me valdría este código o cualquier otro donde me podáis explicar como funcionan los bucles anidados.

10
Tengo una duda en java en cuanto a bucles anidados. Expongo en problema y seguro que debe de ser sencillo, pero yo no logro averiguar como funciona. se trata del ejemplo de subsecuencia de suma máxima. Un algoritmo que busca la máxima suma consecutiva.

Uno de los algoritmos con eficiencia N cubo.

public stactic int subsecuenciaSumaMaxima ( int [] a)
{
     int sumaMax = 0;
     for( int i = 0; i < a.length; i++)   lo tengo claro recorre el vector "a"
          for( int j = i; j < a.length; j++)   por lo que yo entiendo vuelve a recorrer el vector.
          {
                  int sumaActual = 0;
   
                  for (int k = i; k <= j; k++)  coge k el valor de i y va hasta el valor de j y luego el valor de k lo utiliza como posición de vector.
                        sumaActual += a[k];

                  if ( sumaActual < sumaMax)
                  {
                             sumMax = sumaActual;
                             secIni = i;
                             secFin = j;

        }
    }
  return sumaMax;
}


Mi duda es sobre como funciona el anudamiento. En el primer for, coge la i el valor 0. Pasa al segundo vector y la j debe de coger el valor 0 que tiene la i. en el último for la k coge el valor de i que es 0 y lo compara con el valor de j que debe de ser 0. Por lo que no entiendo muy bien como funciona este algoritmo. Si alguien me pudiera explicar como funcionan los anidamiéntos se lo agradecería porque es donde creo que fallo que no se como funcionan, porque el algoritmo es correcto.

11
Bueno pues ayer salieron las notas de Poo. Quiero dar mil gracias a nosferacento, ya que tiene su parte de culpa en  mi aprobado.


!!!GRACIAS, GRACIAS y GRACIAS!!!

13
Ok nosfe.Me di cuenta de los últimos casos que declaraba como double. La verdad que tus post me están sirviendo para fijarme en cosas que antes no me fijaba y sobre todo para tener las cosas mucho más claras. En cuanto al tema que comentas del ordenador y libro, empezaré a estudiar así a ver si soy capaz y voy asimilando esa forma de estudiar. Como has visto tengo otras dudas que he ido poniendo según me surgían y que buscando en el libro no me quedan claras.

14
Otra duda que me corroe es esta. No entiendo yo lo que es un float. En mi mente esta grabado que un float es de esta forma:

numero.mas números ejemplo 3.5, 1.0...
numero.mas numeros y letras ejemplo 3.43F

Ahora bien:


float foo = -1;  No entiendo por que es un float si no tiene el punto no es decimal.
float foo1 = 1.0; No entiendo por no es float si es decimal.
float foo2 = 42e1; Correcto no es float por que no es decimal
float foo3 = 2.02f; no se porque no es float
float foo4 = 3.03d; no se porque no es float
float foo5 = 0x0123; No se porque es float
double foo6 = 3.03d; no se porque no es float
double foo7 = 0x0123; No se porque es float
double foo8 = 0x012345; No se porque es float
double foo9 = 0x012345678; No se porque es float
double foo10 = 0x0123456789; No se porque es float

15
Nosferacento gracias a ti los foros tienen sentido, eres un crack muchas gracias por hacernos la vida más fácil. Con gente como tu la vida sería mucho mejor. Sigue poniendo ejemplo y preguntas con sus respuestas, ya que creo que es la mejor manera de ayudar a personas ceporrinas como yo jajaja.

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".