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 - César Krall

Páginas: 1 ... 49 50 51 52 53 [54] 55 56 57 58 59 ... 68
1061
He borrado el mensaje que indicabas erróneo

1062
Hola, he probado el programa 2 y me sale un error:


Parse error: syntax error, unexpected '<' on line 56


La línea la tienes así:

$promedioVentas = ($venta1+$venta2+$venta3+$venta4)/4;<---ventas promedio


Los comentarios en php se ponen con // ó con /* ... */ por lo que tendrías que dejarla así:

$promedioVentas = ($venta1+$venta2+$venta3+$venta4)/4;//<---ventas promedio


También aparece un hr al final que hay que borrar


El cálculo de los pagos creo que lo tienes mal hecho. Lo que tienes que pagar sería:

Neto: 400000

Total = neto + bono

Ahora mismo tienes puesto que el pago es la suma de las ventas más el bono ¿Y eso por qué?


Para el tercer programa: usar una base de datos no lo veo como solución mágica, ya que los precios de productos los puedes fijar dentro del archivo igualmente y el problema está en la indefinición del número de clientes y número de productos. Aquí lo que se me ocurre sería usar bucles: un bucle exterior para clientes (de forma que en cada ocasión se da opción a añadir un nuevo cliente o a dar por concluida la adición de clientes) y un bucle interior para productos (de forma que en cada ocasión se mete el precio del producto 1, producto 2, ... para el cliente correspondiente). Los datos lo normal sería guardarlos en arrays, en archivo o en base de datos. Para guardarlos en arrays que es quizás lo más simple podrías trabajar con variables de sesión, que te mantienen la información mientras dura la sesión del usuario, aunque esto habría muchas formas de plantearlo y de hacerlo. El enunciado no está tampoco demasiado claro.

1063
Hola, te respondo a lo que planteabas:

1. Significado de esta parte del código


"if ($_POST) {
   
   echo '<br/>';
   echo 'Datos: <br/>';
   echo 'Sexo: '.$sexo.'<br/>';
   echo 'Edad: '.$edad.'<br/>';
   echo 'Tiempo anterior: '.$tiempo.' minutos <br/>';
   }"


if ($_POST) es un condicional que lo que hace es comprobar si se está recibiendo información mediante el método post, es decir, cuando se carga la página por primera vez no se recibe información puesto que el usuario no ha rellenado los datos del formulario y pulsado enviar. En cambio, después de cargar la página cuando el usuario rellena el formulario y pulsa enviar ya se están enviando datos. Cuando llegan datos $_POST toma valor true (verdadero). Cuando no llegan datos $_POST toma valor false (falso).

echo '<br/>'; La sentencia genera el código HTML de aquello que va entre las comillas. En este caso estamos añadiendo en el código HTML de la página una etiqueta <br/> que introduce un salto de línea.

Las siguientes líneas lo que hacen es mostrar los datos. Por ejemplo si el usuario introduce como datos edad 45 años, sexo hombre y tiempo anterior 155 minutos a través de este código se muestra por pantalla lo siguiente:

Datos:
Sexo: Hombre
Edad: 45
Tiempo anterior: 155 minutos



2. ¿Cómo se corre en el servidor?

Primero tienes que colocar el archivo php dentro de la carpeta www en la ruta de wampserver. Por ejemplo: C:\wampserver\maraton.php

Luego tienes que abrir tu navegador (firefox, internet explorer, chrome o el que sea) y escribir http://localhost y comprobar que te muestra la página de inicio del servidor. Si no te la muestra puede que tengas un problema con wampserver.

Finalmente para visualizar la página escribes http://localhost/maraton.php y la página se ejecutará en tu navegador. Si lo hubieras puesto dentro de una carpeta por ejemplo programas, tendrás que escribir la ruta que tengas, por ejemplo http://localhost/programas/maraton.php


3. ¿por que cuando voy a la carpeta del servidor,'www' y abro el archivo .php, se va a Dreaweaver y cuando lo corro con F12 vuelven los errores?

Para ver un archivo php debes hacerlo como te he indicado escribiendo la ruta en el navegador. Si te abre con dreamweaver posiblemente se debe a que en tu configuración local tienes indicado que se asocien los archivos php a dreamweaver. Sobre la aparición de errores, php tiene distintos modos de ejecución y debugging (depuración). php es capaz de correr páginas web "tragándose" algunos warnings o errores poco relevantes sin mostrar ninguna advertencia, pero hay configuraciones para que te muestre los mensajes de error aunque sean poco relevantes. Yo no me preocuparía de los pequeños errores sino de que las cosas funcionen cuando se escribe la dirección en el navegador y ya está.


4. Para el segundo programa y los cálculos matemáticos te pongo cómo serían con un ejemplo. Ahora lo que tienes que ver es qué nombre le has dado tú y adaptarlo.

$sueldoBase = 400000;
$nombreVendedor;
$venta1;
$venta2;
$venta3;
$venta4; (Estos 4 datos será los que vengan del formulario)
$promedioVentas = ($venta1+$venta2+$venta3+$venta4);
$bono=0.25 * $promedioVentas;


1064
Ya he revisado el código. Una cuestión básica en la que has fallado en alguna ocasión: cada vez que aparezca una variable tienes que ponerla con el signo $ delante. Por ejemplo no puedes escribir if (tiempo < 175), tienes que escribir if ($tiempo < 175).


Aquí te dejo el código funcionando bien (recuerda que tienes que guardarlo en un archivo con extensión php y ejecutarlo en un servidor):

Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Marat&oacute;n</title>
</head>
<body>

<form id="form1" name="form1" method="post" action="">
  <label>Edad
  <input type="text" name="textedad" />
  </label>
  <p>
    <label>Tiempo Anterior (minutos):
      <input type="text" name="textta" />
    </label>
  </p>
  <p>
    <label>Sexo:
      <select name="Sexo">
        <option>Hombre</option>
        <option>Mujer</option>
      </select>
    </label>
  </p>
  <p>
    <label>Evaluar:
      <input type="submit" value="Enviar" />
    </label>
  </p>
</form>

<?php
$edad=$_POST['textedad'];
$tiempo=$_POST['textta'];
$sexo=$_POST['Sexo'];
if ($_POST) {

echo '<br/>';
echo 'Datos: <br/>';
echo 'Sexo: '.$sexo.'<br/>';
echo 'Edad: '.$edad.'<br/>';
echo 'Tiempo anterior: '.$tiempo.' minutos <br/>';
}

if($sexo=="Mujer")
{
if ($tiempo<=180)
{
echo "Esta Seleccionada para el Maraton de La Yaguara";
}
else
{
echo "Lo Sentimos pero No Fue Seleccionada";
}
}

if ($sexo=="Hombre")
{
//Si es menor de 40
if ($edad<=40)
{
if($tiempo<=150)
{
echo "Esta Seleccionado para el Maraton de La Yaguara";
}
else
{
echo "No esta seleccionado";
}
}

//Si es mayor de 40
if ($edad>40)
{
if($tiempo<=175)
{
echo "Esta Seleccionado para el Maraton de La Yaguara";
}
else
{
echo "No esta seleccionado";
}
}

}
?>

</body>
</html>

1065
Hola Alejandro, igualmente Feliz Navidad.

Para consultar cuestiones sobre las que te puedan surgir dudas de HTML y PHP:

Curso de HTML: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=69&Itemid=192

Curso de PHP: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193


Para preparar los programas que te han encargado: intenta hacerlo por partes. Haz una parte, y cuando estés seguro de que una parte funciona, continúa con la siguiente parte. Tienes que ir comprobando poco a poco la ejecución del programa.

Sobre lo de poner el archivo php en la carpeta www de wampserver, esto es para que tu ordenador funcione como servidor y ejecute el intérprete de php, de modo que los archivos con código php puedan ser ejecutados y mostrados sus resultados. No significa que necesites base de datos (aunque cuando se trabaja con php es muy común usar base de datos, no es obligatorio; no sé si en algún ejercicio la necesitarás, pero al menos en el primero parece que no). Por cierto, al archivo tienes que ponerle extensión php para que funciones, de la misma forma que si solo fuera código html tendrías que ponerle extensión html. Si miras el curso de php ahí está bien explicado.


He empezado a mirar el código del primer programa.

Escribes por un lado:

<label>Tiempo Anterior:
      <input type="text" name="textta" />
    </label>

Y por otro:

$tiempo=$_POST['texta'];


Aquí tienes una errata, si pones texta en lugar de textta el intérprete php no entiende lo que quieres decir y supone que texta es una variable nueva de la que no tiene información y por tanto $tiempo vale cero.

Tendrás que cambiarlo por :

$tiempo=$_POST['textta'];


Parece una tontería, pero no te puedes equivocar ni en una letra al escribir código.



Después escribes:
     
      <label>Sexo:
      <select name="select">
        <option>Hombre</option>
        <option>Mujer</option>
      </select>


Cuando envías la información si lo haces por get en lugar de por post obtienes algo así: .php?textedad=34&textta=22&select=Hombre&Submit=Enviar

Luego en el código php tienes esto:

$sexo=$_POST['Sexo'];

Pero Sexo no es un campo del formulario, ya que el campo lo defines con el nombre que le pones en name, en este caso el campo lo has llamado select, lo cual no es un nombre muy recomendable. Por tanto lo más lógico es cambiar en el código HTML y dejarlo así:

      <label>Sexo:
      <select name="Sexo">
        <option>Hombre</option>
        <option>Mujer</option>
      </select>

De este modo el campo ya se llama Sexo y así tiene sentido la línea $sexo=$_POST['Sexo'];

Esto es lo que he visto, por ahora... (voy a seguir mirándolo)

Por cierto, no escribas en mayúsculas ni URGENTE!!!!!!! porque parece que estuvieras gritando.

Saludos.

1066
Aprender a programar desde cero / Re:super noob :D, necesito ayuda
« en: 17 de Diciembre 2013, 00:41 »
De nada, para eso estamos. Saludos.

1067
Aprender a programar desde cero / Re:super noob :D, necesito ayuda
« en: 16 de Diciembre 2013, 11:28 »
Hola, es normal que te surjan dudas, pero estoy seguro que con la ayuda que te demos y con un poco de paciencia no tendrás problema para comprender cómo resolver estos ejercicios.

Te explico con un poco más de detalle el procedimiento para el ejemplo "Caso 1".

 Caso 1   33   -   88   -   57   -   22   -   15


Vamos a trabajar con dos listas, una lista con los valores iniciales que tenemos, que son v(1) = 33, v(2) = 88, v(3) = 57, v(4) = 22 y v(5) = 15. Estos son los valores originales.

En otra lista vamos a tener los números ordenados, podríamos decir que o(1) será el valor más grande, o(2) el siguiente valor, ... hasta o(5) que será el valor más pequeño, ya que vamos a ordenar de mayor a menor.

Inicialmente la lista de órdenes suponemos que está vacía, o para facilitar las comparaciones, diremos que o(1) = - 9999999 , o(2) = - 9999999, ... o(5) = - 9999999  Esto lo que significa es que la lista de números ordenados no tiene valores asignados, pero como vamos a hacer comparaciones con operadores matemáticos suponemos que los elementos contienen valores muy pequeños de forma que en cualquier comparación que hagamos o(x) va a ser más pequeño que v(x)


 
Paso 1)

Empezamos comparando el valor 1 de la lista original (33) con el orden 1 de la lista de números ordenados (-9999999). v(1) resulta mayor que o(1) porque cualquier número será mayor que o(1). Como v(1) es el mayor número que hemos visto por el momento, decimos que o(1) toma el valor de v(1), es decir o(1) ahora vale 33. Ahora el mayor número que hemos visto está en o(1) y marcamos como previsto para eliminar de la lista original v(1). Si se confirma que v(1) es el mayor valor lo eliminaremos al final, pero si aparece otro número mayor no eliminaremos v(1), sino aquel que resulte mayor. El número que eliminaremos de la lista original será el mayor entre los que queden.
   
v(1) > o(1) ? -> Sí -> o(1) = v(1) ; Previsto eliminar: v(1)
 
Ahora comparamos el valor 2 de la lista original con el mayor número que hemos visto hasta ahora, que está almacenado en o(1) y es 33

   
v(2) > o(1) ? -> Sí -> o(1) = v(2) ; Previsto eliminar: v(2)

v(2) es 88 y resulta mayor que 33, por eso ahora ponemos el mayor número que hemos visto, que es 88, en o(1) y decimos que el número que tenemos previsto eliminar de la lista original es v(2) porque es el mayor entre los números existentes en la lista de v´s.
 
   
v(3) > o(1) ? -> No ya que 57 no es mayor que 88
 
   
v(4) > o(1) ? -> No ya que 22 noes mayor que 88
 
   
v(5) > o(1) ? -> No ya que 15 no es mayor que 88
 
   
o(1) = v(2)        Eliminado v(2)

De forma definitiva o(1) = 88, es decir, el mayor número es 88 y lo guardamos en o(1). A su vez, eliminamos v(2) de la lista de v´s porque ya lo hemos ordenado y no queremos volver a repetir comparaciones con él.

En el paso 2 operamos de la misma manera. La única diferencia es que los valores de v que ya estén eliminados (lo cual significa que ya están ordenados) no los tendremos en cuenta, simplemente indicaremos que ya están ordenados.

En el paso 2 tenemos para ordenar v(1), v(3), v(4) y v(5) ya que v(2) ya ha sido eliminado.

Ahora vamos a buscar el número más grande entre los valores de la lista v actual y asignárselo a o(2). El valor más grande resulta ser 57 que es v(3), por lo que hacemos o(2) = 57 y eliminamos v(3).

El proceso continua hasta que todos los valores v quedan eliminados, y la lista ordenada la tenemos en o(1), o(2), ... o(5).

Intenta hacerlo tú mismo, si tienes problemas en algún paso indica en cuál. Saludos.

1068
Léete lo que se comentó aquí, es posible que te sirva de ayuda: https://www.aprenderaprogramar.com/foros/index.php?topic=650.0

1069
Al escribir "cd C:\Ejercicios" debería aparecerte C:\Ejercicios en la ventana de consola como ruta de la ubicación en que te encuentras, pero antes de poder hacer esto debes haber creado la carpeta "Ejercicios" en C: usando el explorador de Windows u otra opción ¿Has hecho esto?

1070
Hola ale ¿qué sistema operativo estás usando? ¿A qué te refieres con que la variable no existe? (Es decir, hasta qué punto del curso exactamente es hasta donde llegas?) Saludos

1071
Hola Anny, aquí te dejo un ejemplo de cómo se puede hacer embebiendo código php dentro de código HTML. Según la variable valga "fondoA" o "fondoB" aparecerá un fondo u otro en la página. Si quieres inserta tu código y lo revisamos (para ello usa el icono # del editor de forma que el código quede entre las etiquetas [ code ] y [ / code] Recuerda que el código debes guardarlo como un archivo con extensión php y colocarlo en un servidor para poder verlo en un navegador. Saludos.

Código: [Seleccionar]
<?php
// VALOR DE LA VARIABLE QUE DETERMINA EL FONDO
$determinadorFondo "fondoA";
?>



<html>
<head>
<title>Portal web - aprenderaprogramar.com</title> <meta charset="utf-8">
<style type="text/css">
* {font-family: arial;}
h1 {margin: 0 auto; width: 800px; font-size: 52px; text-align: center; color:yellow;}
</style>
</head>
<body <?php if ($determinadorFondo =="fondoA") { ?>
style =" background-image: url(http://2.bp.blogspot.com/-WLgMgyrl-p0/TyqmaQzwRvI/AAAAAAAAQdA/YUNHPSicp3U/s1600/oldpaperscrolls5+BackgroundFairy.jpg);">
<?php } else if ($determinadorFondo=="fondoB") { ?>
style =" background-image: url(http://4.bp.blogspot.com/-RM_RbP9K90A/TwN9k05TMfI/AAAAAAAAQDM/6T5nDw7V6ss/s1600/magentafloral+BackgroundFairy.jpg);">
 <?php ?>
<h1>Ejemplo</h1>
</body>
</html>

1072
De todo un poco... / Re:primeros pasos
« en: 26 de Noviembre 2013, 23:01 »
Hola, en relación a esto que comentas puedes hacerlo con PHP; no parece una cosa excesivamente complicada, pero tampoco sencilla, aunque habría que entrar en detalles para hacer una valoración más precisa. Con PHP puedes automatizar la carga de datos obtenidos de páginas web, verificación de condiciones, envío de correos electrónicos, etc. Esto no significa que no haya otros lenguajes, también podrías hacerlo con otros como asp, en general una tarea se puede desarrollar con diferentes lenguajes. Saludos.

1073
Java es un lenguaje de programación orientado a objetos y esto lo hace distinto de otros lenguajes de programación. En Java no es normal tener varios métodos main, dado el sentido que tiene este método dentro de la programación orientada a objetos. Estos son conceptos que requieren bastante tiempo de estudio para comprender. Aquí te dejo la url del curso de programación java donde está todo explicado paso a paso (pero requiere tiempo para su estudio): https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Para el caso que planteas, la solución sería poner el método main en una clase (yo he optado por dejarlo en la clase "MenuEscribirLeer") y tratar a las otras dos clases como objetos que usa la clase con el método main. Aquí te dejo el código:

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

public class MenuEscribirLeer {

    public static void main(String[] args) throws IOException{

        String menu="MENU DE Escribir y Leer\n";
        int n1,n2,n3;
        int op=0;

        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";

        while (op!=3){

            op=Integer.parseInt(JOptionPane.showInputDialog(menu));

            switch (op){

                case 1:

                ObjetoEscribir objeto1 = new ObjetoEscribir();
                objeto1.crearCodigoEscribir();

                break;

                case 2:
                ObjetoLeer objeto2 = new ObjetoLeer();
                objeto2.crearCodigoLeer();

                break;

                case 3:

                break;

            }
        }

    } // cierre del  public static void main Ojo !!!! //------------------

    public static void escribir ()throws IOException{
        // TODO code application logic here

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     

        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");

        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();

    }
}

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoEscribir {

    public void crearCodigoEscribir() throws IOException {
        // TODO code application logic here (algoritmo que escribe archivo)

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     

        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");

        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();

    }
}

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoLeer {

    public void crearCodigoLeer() throws IOException {

        // TODO code application logic here (algoritmo que lee archivo)

        FileReader fr = new FileReader("nombre.txt");
        BufferedReader br=  new BufferedReader(fr);
        String linea="";
        linea=br.readLine();
        while(linea!=null){

            String vector[]= linea.split("--__--");
            JOptionPane.showMessageDialog(null,"Nombre"+vector[0]+"\nsueldo1:"+vector[1]+"\nsueldo1:"+vector[2]);
            linea=br.readLine();

        }
    }
}

1074
Aquí te dejo un ejemplo de cómo implementar un menú, no está completo pero creo que te servirá de ayuda. Saludos!

Código: [Seleccionar]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class ventanaConMenu extends JFrame {
//Variables de clase
private static Container contents;

   
/**
* Constructor.
*/

ventanaConMenu(int alto, int ancho) {
   
setTitle("Ventana");
setLocation(380, 50); //Colocación de la ventana
JPanel panel = new JPanel();
contents = getContentPane();
contents.add(panel, BorderLayout.CENTER);  //Espacio central
construirMenu();
//panel.requestFocusInWindow();
pack();
setVisible(true);
}//Cierre del constructor www.aprenderaprogramar.com
       
   
/**
* Método que construye el menú e implementa acciones de respuesta
*/

public void construirMenu(){

// CREACION DE LA BARRA DE MENÚ
JMenuBar barraMenu = new JMenuBar();
setJMenuBar (barraMenu);
JMenu menuOpciones = new JMenu ("Opciones Menu");
barraMenu.add (menuOpciones);


// CREACION DE LOS ITEMS DE MENÚ
JMenuItem itemDetener = new JMenuItem("Detener");
menuOpciones.add (itemDetener);

JMenuItem itemContinuarPartida = new JMenuItem("Continuar");
menuOpciones.add (itemContinuarPartida);

JMenuItem itemNuevoJuego = new JMenuItem("Nuevo Juego");
menuOpciones.add (itemNuevoJuego);

JMenuItem itemCerrarPrograma = new JMenuItem("Cerrar Programa");
menuOpciones.add (itemCerrarPrograma);

//ACCIONES DE RESPUESTA A ELECCIÓN DE ITEMS DEL MENÚ IMPLEMENTADOS COMO MÉTODOS INTERNOS ANÓNIMOS

itemDetener.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 1");  }  }  );
                                                     
itemContinuarPartida.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 2");  }  }  );
                                                     
itemNuevoJuego.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 3");  }  }  );
                                                                                         
itemCerrarPrograma.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 4");  }  }  );
}// Cierre del método construirMenu
   
} //Cierre de la clase

Para ejecutarlo:

Código: [Seleccionar]
public class TestVentana {
    public static void main(String[] Args) {
        ventanaConMenu ventana1 = new ventanaConMenu(10,10);
        /*www.aprenderaprogramar.com*/
        }
    }

1075
Hola, para establecer las variables del sistema sigue las instrucciones que se dan dentro del curso de java desde cero, en concreto la entrega CU00610B que puedes ver en este enlace: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=389:configurar-java-en-windows-variables-de-entorno-javahome-y-path-cu00610b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Al modificar las variables del sistema afectas al sistema, pero si lo haces bien no tiene ninguna consecuencia negativa, simplemente servirá para permitirte ejecutar java en tu computador. Saludos,


1076
Hola Mayam, las interfaces son un poco complicadas de entender hasta que no se ha trabajado y practicado un poco con ellas. Las interfaces tienen distintos usos:

a) Sirven para declarar variables globales que implementando la interfaz en otras clases pueden ser conocidas por todas las clases que la implementen.

b) Sirven para declarar un tipo no implementable directamente pero sí indirectamente por varias otras clases. De este modo, por ejemplo puedes construir métodos donde el tipo de un parámetro sea el tipo de la interface pero luego en realidad le pasas un objeto que es de un tipo que implementa la interfaz. A esto se le llama polimorfismo: un objeto puede ser de varios tipos al mismo tiempo. Por ejemplo imagina una interface denominada Figura que es implementada en una clase Circulo. Ahora un objeto de tipo Circulo es al mismo tiempo de tipo Circulo y de tipo Figura, por eso se dice que es polimórfico.

c) Sirven a nivel de organización del código para separar la definición de qué hace un objeto respecto de su implementación (código específico). De este modo el nombre de los objetos y métodos permanece invariable pero la implementación puede cambiar sin afectar a todo el programa. Es algo que facilita el mantenimiento de programas.

Para avanzar lo que te recomendaría es que dividas el problema en pequeños mini-problemas y vayas resolviendo uno a uno, no trates de abarcarlo todo de golpe porque así es mucho más difícil. También si es necesario haz pruebas con un problema simplificado en vez de con el problema real y cuando tengas claro cómo resolver el problema simplificado ataca la parte correspondiente del problema real.

Saludos.

1077
Hola! He leído lo que planteas y lo primero que te diría es que el problema que pretendes resolver va bastante más allá de lo que sería una "iniciación a java" pues tiene distintos factores de complejidad.

Inicialmente el problema lo plantearía enfocándolo aproximadamente de la siguiente manera:

- Definiría una clase "Caja" que tenga tres atributos, por ejemplo celda1, celda2 y celda3. En cada momento una celda puede estar ocupada o no.

- Definiría una clase "Elemento" que represente un objeto de los que tienes que meter en cajas, la clase Elemento tendría un atributo que es el espacio ocupado y otros atributos que puedan ser necesarios

- Definiría una clase "Contenedor" que representa el lugar donde colocas las cajas de cara a la carga y descarga.

Una vez definidas clases, métodos, etc. empezaría la definición de la algoritmia del problema, que tampoco es nada sencilla.

Lo primero sería saber concebir clases, definir métodos de ordenación, etc. para lo cual te recomiendo que mires los cursos disponibles:

Curso básico Java: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Curso avanzado Java: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180

Aunque el problema no se resuelve sólo sabiendo Java, tiene un componente de algoritmia también importante.

1078
Aprender a programar desde cero / Re:Se usa actualmente Canvas
« en: 30 de Octubre 2013, 08:38 »
Hola tata, canvas puede significar distintas cosas. Una de ellas es una api javascript para navegadores, un conjunto de funciones que está disponible para todos los programadores. La API Canvas permite generar e imprimir gráficos en pantalla, crear animaciones o manipular imágenes y videos usando javascript. Es algo que se usa y se supone que cada vez se va a usar más.

1079
Aprender a programar desde cero / Re:Curso online
« en: 20 de Octubre 2013, 19:01 »
Hola, aquí te dejo los links:

Cursos gratuitos disponibles (sin tutor): https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86

Cursos tutorizados on-line disponibles (con tutor y materiales): https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87

Saludos!

1080
Aprender a programar desde cero / Re:Lenguaje C
« en: 13 de Octubre 2013, 13:42 »
Hola Felipe, sobre cuál es la forma más adecuada de aprender a programar encontrarás muchas y diferentes opiniones.

Nosotros recomendamos comenzar con un curso de fundamentos. Aquí hay algunos artículos que recomendamos leer: https://www.aprenderaprogramar.com/index.php?option=com_content&view=section&layout=blog&id=4&Itemid=18

A la hora de plantearse un itinerario formativo aquí hay indicaciones: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=88&Itemid=176

Por último la pregunta concreta de por dónde empiezo exactamente sería por aquí: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Como te digo esto son nuestras recomendaciones y con este material tratamos de ayudar a todo el que lo sigue, pero podrás oir todo tipo de opiniones respecto a por dónde se debe empezar. Saludos!

Páginas: 1 ... 49 50 51 52 53 [54] 55 56 57 58 59 ... 68

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