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 - Ogramar

Páginas: 1 ... 64 65 66 67 68 [69] 70 71 72 73 74 ... 100
1361
Hola, tú puedes controlar lo que hace el usuario en tu web, pero no puedes registrar datos de lo que hace el usuario en otras webs, por ejemplo en la web de hotmail. Eso iría en contra de las políticas de privacidad de los navegadores (sería como espiar al usuario, eso no está permitido y los navegadores impiden que se pueda hacer). La única forma que se me ocurre para hacer esto sería con una aplicación de escritorio que de alguna manera capture los datos de lo que ocurre en el computador del usuario, pero esto tendría que ser con el permiso del usuario, si lo intentas hacer sin permiso será calificado como spyware o programa malicioso.

Salu2

1362
Hola, hay varios enfoques para hacer eso:

- Google analytics y otros capturadores de estadística te informa del tiempo medio de visualización de las páginas

- Podrías hacerlo del lado del servidor analizando cookies de sesión (con un lenguaje como php)

- Puede hacerse combinando javascript (para detectar lo que hace el usuario) y ajax (para enviarlo y registrarlo en segundo plano en tu base de datos).

Aquí tienes un curso completo JavaScript: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Puedes usar jQuery con esta idea:

Código: [Seleccionar]
var start;

$(document).ready(function() {
  start = Date.getTime();

  $(window).unload(function() {
      end = Date.getTime();
      $.ajax({
        url: "log.php",
        data: {'timeSpent': end - start}
      })
    });
}

Si quieres algo hecho puedes mirar https://github.com/jasonzissman/TimeMe.js, librería para hacer lo que planteas.

Salu2

1363
Hola RAlph, tu código está bien, no obstante hay un detalle a mejorar:

        if (getDiametro() > 1.4){
        System.out.println ("La rueda es para un vehículo grande");
    }

En lugar de usar getDiametro() es más sencillo usar diametro. Esto lo puedes usar directamente porque se trata de un atributo de la clase y los métodos de la clase pueden acceder directamente. Si puedes acceder directamente, ¿para qué dar un rodeo?

        if (diametro > 1.4){
        System.out.println ("La rueda es para un vehículo grande");
    }

Salu2

1364
Hola arcanFAC, el código de la clase SalonCasa está bien. También está bien el código de la clase CocinaCasa.

El código de la clase Casa es el que presenta problemas.

1)   El número de televisores es un atributo de los objetos SalonCasa, por tanto no debe existir un set para numeroTelevisores en ninguna clase que no sea SalonCasa. Cada clase es responsable de sus atributos. Una clase no hace set sobre atributos de otras clases.


Mal:

  public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
    }

2) Lo mismo para todos los atributos que no pertenecen a la clase Casa

3) Todo atributo, sea de tipo primitivo o sea objeto, debe tener sus getters y sus setters. En tu clase Casa faltan los getters y setters para salonCasa y cocina.

Para comprender mejor esto consulta https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0

Tu método getDatosCasa está muy bien.

Salu2

1365
Hola Dan, tu código está muy bien. Como única recomendación te diría que pongas antes el constructor sin parámetros y después el constructor con parámetros. No es importante, pero es una forma de mantener un orden (primero lo que está vacío o tiene menos cosas, luego lo que tiene más cosas).

Salu2

1367
Hola Ramón, no te has ajustado al enunciado.

Se pide una clase cuyo constructor esté vacío, en tu código hay dos constructores, uno vacío y otro que no está vacío.

En vez de tener las 3 cadenas como atributos de clase, debes definirlas como parámetros del método. El método debe tener un nombre más descriptivo, por ejemplo combinarCadenas, y la salida será con un return porque el enunciado dice que debe ser tipo función. En tu caso el método es tipo procedimiento.

Fíjate en cómo está resuelto aquí para ver los errores cometidos, que deben servir para mejorar. https://www.aprenderaprogramar.com/foros/index.php?topic=1258

Salu2

1368
Hola, hay varias cosas que deberías mejorar. Una es no escribir líneas que no sean necesarias o utilizar variables simplemente como transmisoras de valores.

$arch=$ruta; no hace nada útil, por tanto mejor trabajar con $ruta directamente

Esto también es no útil:

$cont1=$cont+1;
$cont=$cont1;

Ahí debes trabajar directamente con $cont, añadir más variables no resulta útil.

Esto está mal planteado: $Arr[$cont]=array($linea);, estás creando una definición según la cual cada elemento de $Arr es un array a su vez

Este código puede ser una solución:

Código: [Seleccionar]
<?php
function LeerCrearArr($ruta){
$fp fopen($ruta,"r");
$cont=0;
while(!
feof($fp)){
$linea fgets($fp);
$Arr[$cont]=$linea;
$cont=$cont+1;
}
return 
$Arr;
}
$resulLeerCrearArr('prueba.txt');
echo 
'Hay '.count($resul). ' elementos en el array <br/>';

for(
$i=0$i<count($resul);$i++){
echo 
'El contenido de la posicion'$i .' es:  ' $resul[$i].'<br/>';
}

?>

Salu2

1369
Hola, he leído lo que planteas y me parece algo relativamente complejo y que posiblemente excede las posibilidades de un foro por su complejidad (aunque siempre es posible que algún experto pueda ayudar parece que es un problema que requiere tiempo). Antes de nada he tenido que leer una explicación más detallada del problema porque con lo que dices en el mensaje no me quedaba claro. Me parece que aquí hay una explicación bastante buena: http://cvb.ehu.es/open_course_ware/castellano/tecnicas/investigacion_operativa/materiales/6._transporte_asignacion.pdf

Citar
Crear una matriz que se llene de los costos ingresados por el usuario, con respecto a esta matriz no le veo mucho sentido... porque en si lo que necesito hacer es el camino que se muestra en el ejemplo.

Lo primero que habría que hacer es entender bien la metodología que hay que aplicar y el significado de cada uno de los valores numéricos y matrices que intervienen en el problema, para después programarlo. Si tienes dudas respecto al significado de las matrices o al método a aplicar no vas a poder programarlo.

A primera vista pienso que esto puede suponer quizás dos, tres o más días de trabajo, depende del nivel en programación que tenga la persona. No sé si habrá alguien que pueda aportar otro puento de vista  ::) ::) ::)

Salu2

1370
Paso al análisis de la segunda forma normal. Una relación está en segunda forma normal o 2FN si está en primera forma normal y los atributos que no son clave primaria ni candidata dependen funcionalmente y de manera completa de la clave primaria.

No puede haber grupos de atributos que dependan de la clave primaria y otros que dependan de una clave candidata.

La tabla que se plantea en el ejercicio es una tabla donde aparecen actividades con un código de actividad y un nombre de actividad, e información asociada a dicha actividad (dni de monitores para esa actividad, nombre de monitores para esa actividad, sala donde se imparte, fecha, hora de inicio, hora de finalización).

Yo lo plantearía así: Supongamos (como podría ser) que la clave primaria es el código de actividad. ¿Depende el nombre de actividad funcionalmente y de manera completa de la clave primaria? Sí, luego se mantiene.

¿Depende el dni de monitor funcionalmente y de manera completa de la clave primaria? No, luego creamos una nueva tabla a la que llamaremos monitores que constará de estos campos:

DNI_Monitor, Nombre_Monitor. En esta tabla o bien introducimos un id monitor o bien usamos el dni_monitor como clave primaria. Voy a optar por introducir un id_monitor.

¿Depende la sala funcionalmente y de manera completa de la clave primaria? Entendemos que no (por ejemplo podría haber un cambio de salas).

Creamos otra tabla denominada salas con los siguientes atributos:

id_sala, nombre_Sala

La fecha, hora de inicio y hora de fin tampoco dependen de la clave primaria.

Creamos otra tabla con:

id_actividad_fecha, fecha, Hora_I, Hora F.

Ahora en segunda forma normal tendríamos estas tablas:

Tabla actividades: Cod_actividad, Nombre_actividad

Tabla monitores: DNI_Monitor, Nombre_Monitor.

Tabla salas: id_sala, nombre_Sala

Tabla actividad_fecha: id_actividad_fecha, fecha, Hora_I, Hora F.

Salu2

1371
Hola, la tabla que presentas adjunta tiene estas columnas:

Cod_Actividad   Nombre_Actividad   DNI_Monitor   Nombre_Monitor   Sala   Fecha   Hora_I   Hora_F


Ejemplos de valores de una fila:

01   Pilates   54332221   J. Luis Hernández   Pabellón polideportivo   9/9/2007   10:00   11:00

En esta representación no hay grupos repetidos. Constituirían grupos repetidos alguna de estas situaciones:

Poner valores no atómicos para datos de columnas, por ejemplo una lista de profesores separadas por coma no es atómica

01   Pilates   54332221   J. Luis Hernández, A. Pérez   Pabellón polideportivo   9/9/2007   10:00   11:00

Poner columnas que son enumeraciones o valores n-ésimos de otras columnas, por ejemplo:

Cod_Actividad   Nombre_Actividad   DNI_Monitor_1   DNI_Monitor_2   Nombre_Monitor_1   Nombre_Monitor_2      Sala   Fecha   Hora_I   Hora_F


Esta situación no se produce en la tabla, luego la tabla ya está en primera forma normal.

Salu2

1372
Hola para insertar código en los foros por favor lee esto: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Sobre paginación hay un tema que quizás te pueda ayudar: https://www.aprenderaprogramar.com/foros/index.php?topic=1291

Salu2!

1373
Hola la primera pregunta está correcta la respuesta pero la segunda no. No estás interpretando bien la pregunta. Lo que tú dices es verdad, al declarar los atributos ya tienen nombre y esos atributos ya no son anónimos. Pero lo que te pregunta no es eso, lo que pregunta es si se pueden inicializar usando objetos anónimos. Leyendo esto creo que te quedará claro: www.aprenderaprogramar.com/foros/index.php?topic=1785

Salu2

1374
Hola la clase con el main en vez de TextListaCantantesFamosos (text=texto) debe llamarse TestListaCantantesFamosos (Test=prueba). La clase CantanteFamoso está perfecta lo único que podrías haberle añadido es un constructor sin parámetros, siempre suele resultar útil tenerlo.

La clase ListaCantantesFamosos también está muy bien. Para que cuando pides datos el cursor se quede en la misma línea puedes usar System.out.print("Por favor, introduzca otro cantante: \nNombre:"); en vez de System.out.println("Por favor, introduzca otro cantante: \nNombre:");

println hace que se salte a la siguiente línea, mientras que print mantiene en la misma línea.

En el main todo está bien. Usas como nombres de objetos newCantante1 y newCantante2, esos nombres te recomendaría que no los usaras porque new es una palabra reservada java y usar new dentro de un nombre puede confundir.

Salu2

1375
Hola Xerelo, para comprender el polimorfismo hace falta un poco de tiempo (no es un concepto que se explique y se entiende a la primera) y programar para ir viendo cómo se aplica.

Lo que tú comentas es cierto, si instancias un objeto declarado como A en un objeto de tipo B, al invocar el método DimeEdad() se mostraría 4.

Son ventajas del polimorfismo:

- Te permite crear y recorrer colecciones de objetos de superclase A y subclase B, C, D, E siempre que hereden de A. Si no hubiera polimorfismo no podrías agrupar todos los objetos en una colección porque al ser de distintos tipos no sería posible. En cambio con el polimorfismo defines la colección como de tipo A, y como los objetos son al mismo tiempo tipo A-B, A-C, A-D, A-E puedes mantenerlos en una misma colección.

- Te permite definir interfaces que al mismo tiempo que definen un tipo, obligan a seguir una convención. Esto no es fácil de entender, pero ten en cuenta por ejemplo que distintas clases del api de Java tienen los mismos nombres de métodos, por ejemplo clear, porque implementan una interfaz que define que las clases deben tener un método clear cuyo cometido es el mismo para todas las clases. Esto facilita el trabajo de los programadores, que no tienen que estar buscando en cada clase a ver qué nombre tienen que utilizar, sino que ya lo saben si implementa una determinada interfaz.

Como te decía todo esto no es fácil de entender y hay que irlo entendiendo "poco a poco". Te recomiendo ir siguiendo y haciendo los ejercicios en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188, eso facilitará la comprensión de conceptos.

Salu2

1377
Con las averiguaciones que has hecho pienso que el asunto puede estar en cómo trabaja internamente el navegador. Cuando tú insertas información en el documento HTML el navegador no inserta texto, lo que hace es trabajar con nodos del DOM (ver http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=801:dom-o-document-object-model-javascript-ique-es-para-que-sirve-w3c-nodos-child-ejemplos-cu01123e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206)



Cuando llamas a esto:

var mostrarcapa23=document.getElementById('capa23232').innerHTML;
alert(mostrarcapa23);

Lo que estás rescatando es cómo ha organizado el navegador internamente la información, eso lo hace para tratar la información del modo más eficiente posible, es decir, no almacenará las cosas como tú las escribas sino como él considere que es más eficiente.

Eso explicaría por qué te cambia el orden con que escribes las cosas. No estoy seguro, pero es una posibilidad.

Salu2

1378
Hola mi impresión es que el problema puede estar relacionado con:

- Qué es lo que tienes en el XML (¿está en un formato adecuado?)

- Cómo se importa lo que tienes en el XML (una vez te traes el contenido del XML, prueba a mostrarlo con un alert a ver si coincide con lo que tú esperas)

Salu2


1379
Hola la clase en principio está bien. Una clase debe llevar los métodos adecuados para cumplir unos objetivos de programación, por tanto está bien en la medida en que cumpla esos objetivos. A simple vista diría que se ve un poco extraña (por ejemplo, carece de getters y setters, de método toString, etc.), pero para dar una valoración general tendría que verla en el contexto de un programa o proyecto en el que vaya a ser usada. Salu2

1380
Hola, mi recomendación: sigue este curso, ahí se explican todos los conceptos -- > http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Los getters y setters son una convención, no una obligación.

Esto que tú llamas un getter

public String Pelicula_Entrada_Lectura(){ // Getter

Según la convención de todos los programadores no es un getter, ahora bien, nadie te prohibe que lo llames getter si quieres llamarlo getter

Salu2

Páginas: 1 ... 64 65 66 67 68 [69] 70 71 72 73 74 ... 100

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