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 - javi in the sky

Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 ... 20
121
Hola jupertivo, el problema pienso que está un poco en las definiciones internas de java y el enfoque que le da java al tratamiento numérico, no en que los valores que introduces sean grandes. Cuando se introduce un valor numérico en java como 3.256 java por defecto lo considera double. ¿Por qué? Porque para java double es el tipo numérico decimal por defecto, no tiene en consideración si es grande o si es pequeño, simplemente toma el tipo numérico universal decimal de java, el double. Si en el método sobre el que se aplica se requiere un float, avisa de que puede haber una pérdida de precisión desde el más preciso (double) al menos preciso (float). Para indicarle a java que el valor numérico introducido queremos que se trate como un float tendríamos que introducir 3.256f

Cuando introduces valores enteros java hace una conversión automática de tipos y transforma por ejemplo un 3 en 3.0f si tiene que pasarlo a float ó 3.0 si tiene que pasarlo a double.

Todo esto son detalles propios de java que en otros lenguajes puede ser de otra manera. Una forma de evitar problemas con esto es trabajar siempre con double. Saludos  :D

122
Hola me lo he descargado para tenerlo en mi pc. Buen aporte nbeccag!!!

123
Hola fedegaray yo tampoco sabría decirte con exactitud cómo continuar. Posiblemente te recomendaría que busques un tutorial de interfaces gráficas en Java con swing, aunque no sabría decirte cuál. Oracle mismo tiene un tutorial http://docs.oracle.com/javase/tutorial/uiswing/ pero no sé si es lo mejor...  ::)

Saludos

124
Hola, el cambio que has hecho no es bueno. Quizás es un poco difícil de explicar, pero con la primera forma el objeto salonCasa de la clase es un nuevo objeto (independiente, lo cual es mejor, ya que no depende de si se hace alguna modificación al objeto que llega por parámetro).

De la segunda forma, hay un solo objeto SalonCasa, el objeto que llegó por parámetro. Pero con esto puede haber problemas, porque si modificamos ese objeto, que puede estar "en otro lugar", también estaremos afectando al objeto que tenemos en la clase.

Recomendación: en estos casos mantener siempre los objetos independientes.

Por el mismo motivo este no es un buen código:

public void setSalonCasa(SalonCasa valorSalonCasa){
        salonCasa=valorSalonCasa; }

Revisa este hilo donde se explica la forma correcta de solucionarlo - > www.aprenderaprogramar.com/foros/index.php?topic=1238

Saludos

125
Citar
Al momento de que me entreguen un proyecto para el desarrollo de un Software que modelo se ajustaría mejor y por que ?¿ cual seria el mas eficaz, rápido, y con menos margen de errores ?¿   si el de  Modelo de cascada, Modelo en v, Modelos de proceso incremental, Modelos de proceso evolutivo  basado en prototipos y modelo espiral, Modelos concurrentes.

Hola en general habrá que decidir el modelo a aplicar dependiendo del proyecto a desarrollar: características, tamaño, etc.

Para desarrollos de gran o mediano tamaño hay que optar por desarrollos iterativos como el modelo espiral. Dentro de los modelos iterativos hay una corriente fuerte que aboga por el "desarrollo ágil" (que al final viene siendo un tipo de desarrollo iterativo, aunque algunos partidarios del desarrollo ágil juran y perjuran que lo que ellos hacen es totalmente novedoso e inmejorable). Modelos como cascada tienden a considerarse obsoletos, sólo podrían aplicarse en desarrollos pequeños y casos muy concretos. No obstante, parte de los planteamientos de la cascada se encuentran dentro de otros modelos.

Saludos!!

126
Hola Mac

Naturaleza iterativa de los modelos evolutivos: algunos modelos como el de cascada van pasando de fase linealmente hasta la entrega final. Los modelos evolutivos son modelos en los que los ciclos de desarrollo de software se repiten y en cada ciclo se genera un incremento (mejora) del software.

Ejemplo: en el primer ciclo o iteración se crean los menús. En el segundo ciclo o iteración se desarrolla la opción de insertar datos. En el tercer ciclo o iteración se desarrolla la opción de modificar datos... y así sucesivamente


2. Sí, los ciclos del modelo espiral aproximadamente comprenden las tareas del modelo en cascada. La diferencia es que el modelo en cascada realiza todo el programa en un solo ciclo mientras que con el modelo en espiral el desarrollo se hace en muchos ciclos y el resultado de un ciclo no es un programa completo, sino un incremento del software.

3. Un hito esperado es algo que se señala debe ocurrir. Por ejemplo: para el 20 de junio debemos tener operativa la funcionalidad de insertar datos y modificar datos.

Ejemplo condiciones necesarias: cuando esté preparado el módulo de gestión de clientes, el programa deberá soportar el text XX-AA consistente en la inserción, modificación y borrado de miles de registros (según la especificación del test).

4. La imagen describe lo que es un ciclo del modelo espiral: un ciclo consta de cinco etapas. Planeamiento: se prepara el trabajo. Modelado: se hace el análisis y diseño de lo que se va a desarrollar. Construcción: se crea el código y se hacen pruebas. Despliegue: se entrega el fragmento de software creado (un incremento de software) al cliente, y se obtiene la valoración (retroalimentación) del cliente.
Comunicación: a la vista de los resultados y de los objetivos planteados, se vuelve a discutir con el cliente si todo va bien, o si es necesario que se introduzcan algunos cambios, nuevas cosas a tener en cuenta, etc.

5. Coste es coste económico. Iteraciones son el número de ciclos de desarrollo de software que deberán realizarse. Costes cerrados es que puedas decir que el proyecto software va a costar $USD 10000 y no te muevas un céntimo arriba ni abajo.

Metódico: se sigue una metodología precisa (similar a la de cascada)

Flexible: en cada repetición de ciclo se vuelve a comunicar con el cliente y a planear

Incremental: no desarrolla todo el software de golpe, sino poco a poco.

Ausencia de plan fijo: en cada ciclo se vuelve a hacer planeamiento, entonces si a los empleados les habías dicho que ibas a trabajar con una base de datos MySql en el siguiente planeamiento pueden haber cambios y decidir que se va a trabajar con una base de datos PostgreSQL. Esto puede desorientar a las personas que trabajan en el proyecto, que pensarán que no se tienen las cosas claras o no se sabe lo que se quiere hacer.

Disculpado aquí estamos tratando de ayudar y aprender

Saludos.

127
Hola  ;D  se llama proceso del software a la definición y organización de actividades, acciones y tareas necesarias para generar software de alta calidad.

Un proceso es "un enfoque"  y dentro de la ingeniería del software existen diferentes procesos, cada uno con sus ventajas e inconvenientes.

Se llama flujo del proceso a la forma en que se organizan las actividades estructurales en el tiempo. En este sentido tenemos flujos lineales (principio a fin) o iterativo (lineal con vuelta atrás) o evolutivo (circular con un incremento de softwre en cada ciclo), etc.

Entre los modelos del proceso prescriptivos o tradicionales tenemos:

- Modelo de cascada y modelo en v

- Modelos de proceso incremental

- Modelos de proceso evolutivo: basado en prototipos y modelo espiral

- Modelos concurrentes


El modelo espiral combina la naturaleza iterativa de los modelos evolutivos con la sistemática del modelo de cascada, dando lugar a un "desarrolla rápido de versiones"

El modelo en espiral:

- Incorpora el análisis de riesgo en la actividad de planeamiento. En cada ciclo el sistema evoluciona incrementalmente y disminuye el riesgo.

- Incorpora puntos de referencia para señalar hitos esperados, condiciones necesarias, etc.


A diferencia de otros modelos el modelo espiral se usa también una vez entregado el software (para su mantenimiento).

En el modelo espiral no hay un número de iteraciones ni costes cerrados, ya que esto se revisa en cada paso por la actividad de planeamiento.

El modelo en espiral es realista para el desarrollo de software a gran escala. Ejemplos:

- Sofware para gestión de las subvenciones agrarias de un país

- Software para gestión de la actividad de negocio de una empresa (nóminas, facturación, etc.)


Ventajas: combina el ser metódico con el ser flexible e incremental.

Inconvenientes:

- Dificultades para guiar adecuadamente el riesgo

- Percepción de excesivos cambios por parte del cliente (debido a la repetición de planeamiento en cada ciclo)

- La ausencia de un plan fijo puede desorientar o causar mala impresión entre la dirección del proyecto y los empleados del mismo.

Saludos.

128
Hola, in es un atributo de la clase System del api de java cuyo tipo es InputStream.

Un InputStream representa "una entrada para el sistema" y podría ser desde un fichero, desde teclado, un archivo de audio

En la documentación de la clase System del api Java dice lo siguiente sobre System.in: The "standard" input stream. This stream is already open and ready to supply input data. Typically this stream corresponds to keyboard input or another input source specified by the host environment or user.

Por tanto System.in es para entrada de datos por teclado porque esta se considera la entrada estándar, si la entrada estándar fuera otra sería de otra manera pero no tenemos por qué pensar que vaya a ser otra. Para leer datos desde ficheros o de otra manera, habrá que usar otras clases del API de Java. Por ejemplo lo que se usa en https://www.aprenderaprogramar.com/foros/index.php?topic=712

Como tú dices, no tenemos acceso al código del api Java, por tanto hay algunos detalles que no podemos conocer sobre cómo está hecho.

Saludos

130
¡Pega el código con la solución! ¡Puede ayudar a otras personas! Saludos

131
Hola la idea es introducir un bucle while. Si no te sale prueba a hacer pequeños programas probando el while antes del programa en sí:

Código: [Seleccionar]
program portas;
USES Crt;

var
numporta: string;
quiereReptir: string;

begin
quiereRepetir:='s';
WHILE (quiereRepetir=('s')) DO
writeln ('Escribe el numero del porta, matricula o nombre del conductor (mayuscula)...');
writeln ('');
readln(numporta);


//Portavehiculos 001
if (numporta = ('001')) or (numporta = ('0000XXX')) or (numporta = ('NOMBRE1'))
   then
   begin
        writeln('NOMBRE1');
        writeln('Portavehiculos 001');
        writeln('Matricula: 0000-XXX');
        writeln('EXT:00001');
        writeln('Movil: 666666666');
        writeln ('=============================');
   end

//Portavehiculos 002
else if (numporta = ('002')) or (numporta = ('0000ZZZ')) or (numporta = ('NOMBRE2'))
   then
   begin
        writeln('NOMBRE2');
        writeln('Portavehiculos 002');
        writeln('Matricula: 0000-ZZZ');
        writeln('EXT:00002');
        writeln('Movil: 666666667');
        writeln ('=============================');
   end


//Portavehiculos 003
else if (numporta = ('003')) or (numporta = ('0000VVV')) or (numporta = ('NOMBRE3'))
   then
   begin
        writeln('NOMBRE3');
        writeln('Portavehiculos 003');
        writeln('Matricula: 0000-VVV');
        writeln('EXT:00003');
        writeln('Movil: 666666668');
        writeln ('=============================');
   end

writeln;
writeln ('¿Quiere repetir (s/n)');
writeln ('');
readln(quiereRepetir);
END;
end.

132
Hola, si no ves el color del h1 puede deberse a tu monitor y a que has puesto brown en lugar de red:

#novedades h1{color:red;}

A mí me funciona bien.

Para establecer el color verde como pide el enunciado sería #X-FASHION h3, #T-MOTION h3{color:green;}

Para establecer el color de fondo que pide el enunciado: #novedades{background-color:yellow; }

El ejercicio quedaría así (he unido todo en un mismo archivo):

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Portal web - aprenderaprogramar.com</title>
<style type="text/css">
#novedades h1{color:red;}
#xFashion h3, #tMotion h3{color:green;}
#novedades{background-color:yellow; }
</style>
<meta name="description" content="Portal web aprenderaprogramar.com">
<meta name="keywords" content="aprender, programar, cursos, libros">
<meta charset="utf-8">
</head>
<body>
<div id = "novedades">
<h1> Novedades </h1>
<p>Aquí presentamos las novedades del sitio.</p>
</div>
<div id="xFashion">
<h3>Lanzamos el producto xFashion</h3>
<p>Este producto permite estirar la piel hasta dejarla como la de un bebé.</p>
<p><img src="http://i.imgur.com/tq5Bs.png" title="Imagen del producto" alt="imagen producto xFashion" /></p>
</div>
<div id="tMotion">
<h3>Mejoramos el producto tMotion</h3>
<p>Hemos lanzado una nueva versión del producto tMotion</p>
<p><img src="http://i.imgur.com/SpZyc.png" title="Imagen del proudcto tmotion" alt="imagen producto tmotion" /></p>
</div>
</body>
</html>

Saludos

133
Hola este problema se llama típicamente "problema del cambio de monedas" y no es un problema sencillo de resolver... puedes encontrar mucha información sobre este problema en internet.

Este es el código en java (que es muy similar a c++):

Código: [Seleccionar]
public class Cambio
{
    private int[][] matrizCambio;
    private int[] vectorMonedas;
    private int cantidad;
    private int[] vectorSeleccion;

    Cambio(int cantidad, int[]  monedas){
        this.cantidad = cantidad;
        this.vectorMonedas = monedas;
        matrizCambio = calcularMonedas(cantidad, monedas);
        vectorSeleccion = seleccionarMonedas(cantidad, monedas, matrizCambio);
    }

    public int[] getVectorSeleccion(){
        return this.vectorSeleccion;
    }

    private int[][] calcularMonedas(int cantidad, int[]  monedas){

        int[][] matrizCambio = new int[monedas.length + 1][cantidad + 1];

        for (int i = 0; i < monedas.length; i++)
            matrizCambio[i][0] = 0;

        for (int j = 1; j <= cantidad; j++)
            matrizCambio[0][j] = 99;

        for (int i = 1; i <= monedas.length; i++)
            for (int j = 1; j <= cantidad; j++) {
                if (j < monedas[i - 1]) {

                    matrizCambio[i][j] = matrizCambio[i - 1][j];
                } else {

                    int minimo = 0;

                    minimo = min(matrizCambio[i - 1][j] , matrizCambio[i][j- monedas[i - 1]] + 1);
                    matrizCambio[i][j] = minimo;

                }
        }

        return matrizCambio;
    }

    private int[] seleccionarMonedas(int c, int[] monedas, int[][]tabla ){
        int i,j;
        int[] seleccion = new int[monedas.length];
        for(i = 0; i< monedas.length; i++){             seleccion[i]=0;         }         i= monedas.length;         j= c;         while(j>0){
            if(i>1 && tabla[i][j]==tabla[i-1][j]){
                i--;
            }
            else{
                seleccion[i-1]++;
                j = j - monedas[i-1];
            }
        }

        return seleccion;
    }

    private int min(int a, int b){
        if(a<b)
            return a;

        else
            return b;
    }

}

Obtención de resultados:

Código: [Seleccionar]
public class TestCambio {

    public static void main(String[] args) {
        System.out.println ("¿Cuántos billetes hacen falta para cambiar un cheque de 32?" );
        Cambio c = new Cambio(32, new int[]{20,10,5,1});

        System.out.println("Billetes de 20: "+c.getVectorSeleccion()[0]);
        System.out.println("Billetes de 10: "+c.getVectorSeleccion()[1]);
        System.out.println("Billetes de 5: "+c.getVectorSeleccion()[2]);
        System.out.println("Billetes de 1: "+c.getVectorSeleccion()[3]);
    }
}

En este ejemplo el resultado es:

¿Cuántos billetes hacen falta para cambiar un cheque de 32?

Billetes de 20: 1
Billetes de 10: 1
Billetes de 5: 0
Billetes de 1: 2

Saludos

134
Hola usa un bucle while para controlar cuándo el usario ha respondido que quiere continuar.

Ejemplo

Código: [Seleccionar]
PROGRAM CUADRADOS;
VAR
n, c : INTEGER;
BEGIN
WRITELN('Introduzca un numero entero: ');
READLN(n);
WHILE (n<>0) DO
BEGIN
c := n * n;
WRITELN('El cuadrado de ', n, ' es ', c);
WRITELN('Introduzca un n umero entero: ');
READLN(n);
END;
WRITELN('PULSA ENTER PARA FINALIZAR');
READLN;
END.

Saludos

135
Hola Martín ¡nunca los comienzos son fáciles, a todos nos ha costado al principio! Empieza por leerte esto https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0 y vete consultando las dudas que te surjan, por suerte aquí hay mucha gente dispuesta a echar una mano. Saludos

136
Hola tienes que tener en cuenta las diferencias entre tipos numéricos como real y tipos alfanuméricos como String. Un tipo numérico toma valor sin necesidad de comillas, por ejemplo vehiculos = 33;

Sin embargo un tipo alfanumérico hay que envolverlo en comillas: por ejemplo veciculos ='33 modelo hht';

Puedes realizar comparaciones con Strings, pero siempre tendrás que envolverlos en comillas


Código: [Seleccionar]
program String1;
 
var
    saludo: string;
 
begin
    saludo := 'Bienvenidos';
    writeLn( saludo );
end.

Ejemplos de comparaciones entre Strings:

     'A' < 'B'           TRUE
     'Z' < 'a'           TRUE
     'a' < 'B'           FALSE
     'TURBO' ='TURBO'    TRUE
     'TURBO' = 'Turbo'   FALSE
     'turbo ' = 'turbo'  FALSE
     'turbo ' > 'turbo'  TRUE

Saludos

138
Aprender a programar desde cero / Re:Estudiar ing software
« en: 20 de Febrero 2015, 17:02 »
Hola, yo estoy en España ¿cómo se interpreta la malla? ¿01 y 02 corresponde al primer año, 03 y 04 al segundo año y así sucesivamente hasta completar cinco años de estudios? ¿Cada semestre se estudian las cinco materias que se indican para cada uno de los diez semestres?

Saludos

139
De todo un poco... / Re:Que estudiar para este fin .....
« en: 20 de Febrero 2015, 12:43 »
Hola, para montar un servidor lo que tienes que estudiar es administración de servidores, lo que se suele llamar administración de sistemas.

140
De todo un poco... / Re:Que estudiar para este fin .....
« en: 20 de Febrero 2015, 11:48 »
Hola FitStuff, lo primero que tienes que tener en cuenta que hoy día los juegos no los crea una persona, sino equipos compuestos por varias personas (a veces cientos de personas). En un juego tienes muchas partes: diseño gráfico, animación, guiones, programación, y para los servidores en sí, administración de sistemas, administración de bases de datos, etc. Todo esto es imposible que lo haga una sola persona. Lo primero que tendrías que pensar es en qué te gustaría hacer...

Puedes leer algo relacionado en https://www.aprenderaprogramar.com/foros/index.php?topic=1570

Saludos

Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 ... 20

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".