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 ... 20 21 22 23 24 [25] 26 27 28 29 30 ... 68
481
Hola!

En este ejercicio solo se pedía definir las signaturas de los métodos, no definir atributos ni contenido de los métodos. La signatura es simplemente la declaración indicando el tipo devuelto y parámetros necesarios.

Por tanto tu respuesta no se ajusta a lo que pedía el ejercicio.

Revisa este hilo, ahí puedes ver el formato de respuesta: https://www.aprenderaprogramar.com/foros/index.php?topic=956.0

También puedes revisar más hilos escribiendo CU00630B en el buscador del foro

Después intenta hacer el ejercicio tú solo

Saludos!

482
Hola xeta21!

Como hacemos siempre con las personas nuevas indicarte que para pegar código en los foros debes hacerlo según se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Tienes que considerar que si haces una extracción aleatoria de palabras es posible que la búsqueda se prolongue sobre manera. Imagina que extraes palabras hasta completar 29 caracteres. Ahora necesitas que al azar salga una palabra de longitud 1 carácter. Si tienes cien palabras tendrás una posibilidad entre 100 de acertar, si tienes 1000 palabras 1 posibilidad entre 1000. Si no tuvieras una palabra de longitud 1 carácter no podrías resolver el problema.

Además deberías considerar el rediseño del código. Hay cosas que no están planteadas de una forma correcta.

Recomendamos seguir este curso paso a paso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Este código se aproxima a lo que pretendes, pero habría que mejorarlo:

Código: [Seleccionar]
import java.util.Arrays;
import java.util.Random;

public class ObtenerPalabrasAlAzar {
    public static void main(String[] args) {
        ObtenerPalabrasAlAzar programa = new ObtenerPalabrasAlAzar();
        programa.diccionario();       
    }

    void diccionario(){

        int Totalpalabras = Total();
        String[] diccionario = diccionarioFinal();
        String[] palabrasNuevas = RandomPalabras(diccionario , Totalpalabras);
        probar (palabrasNuevas);
    }

    public String[] diccionarioFinal(){

        System.out.println("Programa que devuelve palabras al azar  ")   ;
        String[] diccionario = {
                "a","alcohol", "ana", "anis", "anita", "an", "anil", "oniel", "anillo", "america"
            };
        return diccionario;
    }

    public int Total(){

        int Totalpalabras=30;
        return Totalpalabras;

    }

    public String[] RandomPalabras(String[] diccionario , int Totalpalabras){
        Random random = new Random();
        String[] palabrasNuevas = new String[30];
        int total = diccionario.length;
        int indice = 0;
        int longitudCaracteres = 0;
        int longitudPalabraActual = 0;
        int intentos = 0;
        int i = 0;
        boolean insertar;

        while(longitudCaracteres < 30 && intentos <= 50){

            int numero = random.nextInt(total);
            longitudPalabraActual = diccionario[numero].length();
            if (longitudCaracteres < 30 && longitudPalabraActual + longitudCaracteres <= 30) {insertar = true;} else {insertar=false;}

            if (insertar) {
                palabrasNuevas[indice] = diccionario[numero];
                System.out.println ("Añadida: "+diccionario[numero] + " con una longitud "+longitudPalabraActual);
                longitudCaracteres += diccionario[numero].length();
                indice++;
            } else {System.out.println ("Rechazada: "+diccionario[numero]); }
            System.out.println ("Cuenta: "+longitudCaracteres);
            intentos++;

        }

        return palabrasNuevas;

    }

    public void probar(String [] palabrasNuevas){
        System.out.println() ;
        System.out.println("---------------------------------------------------");
        System.out.println("El resultado es: ");
        System.out.println(Arrays.toString(palabrasNuevas));
        System.out.println("---------------------------------------------------");
        System.out.println();
    }
}

Saludos!

483
Hola!

He visto tu consulta pero no he acabado de entender bien cuál es el objetivo. He visto los archivos adjuntos pero veo una consigna demasiado larga. Para obtener respuesta tienes que definir bien cuál es el problema y plantear las cuestiones de una en una, no dar una consigna extensa.

Recomendable leer https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 ahí se indica esto:

Recomendaciones generales para consultas: no hagas consultas sobre problemas muy extensos o fragmentos de código muy extensos. Antes de hacer una consulta, intenta resolver tú mismo el problema. Cuando no sepas cómo avanzar, prepara el código necesario y pégalo, indicando dónde obtienes un error o no sabes avanzar. Describe cuáles son los objetivos que persigues de una forma clara y breve. Ten en cuenta que las personas que participan respondiendo voluntariamente en los foros en general responden cuestiones concretas y bien definidas, pero no resuelven ejercicios completos ni analizan consignas, enunciados o código de gran extensión porque sería demasiado costoso.

Saludos!

485
Hola Juan!

La respuesta al apartado 1) es correcta, has definido un método que recibe como dato el número de canción (int numCancion) y devuelve un valor de duración de canción float duracionCancion

La respuesta al apartado 2) no está bien. Has escrito float canciones, pero el método no tiene que devolver nada. Tú has puesto que devuelve un valor numérico decimal (float), pero si no devuelve nada tendrá que ser void pedirDuracionCanciones.

La respuesta al apartado 3) tampoco está bien. La duración de las canciones será información que estará en el objeto, no tienes que pasársela como parámetros porque a la información que ya está en el objeto se puede acceder directamente.

La respuesta al apartado 4) tampoco está bien, este método no ha de devolver nada y tú has puesto que devuelve un String.

Escribe CU00630B en el buscador del foro y mira los comentarios a otros compañeros, puedes tomar este como referencia de respuesta correcta: https://www.aprenderaprogramar.com/foros/index.php?topic=956.0

Saludos!

486
Hola!

Si el código es el mismo no debe haber diferencias en la visualización cuando se tiene en dos archivos (html por un lado y css por otro) respecto a cuando se tiene en uno.

En la imagen que has puesto con cómo visualizas el ejercicio, lo que se ve es lo que pedía el ejercicio.



Pero en mi navegador no se ve así. Para asegurarte de la corrección del código, es conveniente que lo pruebes al menos en dos navegadores.

Hay una cosa que no está bien en tu código: estás usando <br/> como forma de colocar los elementos. Esto no es aconsejable ya que no se trata de maquetación basada en css.

Cuando se usa float puede haber problemas con height por lo que se explica en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=740:clear-css-both-ifloat-no-funciona-iel-texto-no-envuelve-una-imagen-html-por-que-de-problemas-cu01035d&catid=75:tutorial-basico-programador-web-css-desde-cero&Itemid=203 pienso que ahí puede estar el problema ya que distintos navegadores pueden interpretarlo distinto

Saludos!

487
Hola pre!

En el código que has pegado se observan algunas cosas mal escritas como method=post en lugar de method="post" y también algunas cosas que se consideran obsoletas (ya no se usan) como <tr bgcolor=#cccccc>

Añadir un campo address es tan sencillo como añadir esto:

Código: [Seleccionar]
<tr>
            <td>Address</td>
            <td align="center"><input type="text" name="address"></td>
        </tr>

Para aprender este tipo de programación te recomiendo los cursos HTML, CSS, JavaScript y PHP disponibles en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86

El curso adecuado para empezar desde cero con programación web es el de HTML.

Saludos!

488
Comunidad / Re:Presentándome
« en: 29 de Octubre 2015, 08:21 »
Hola Bea! Si has leido en otros hilos del foro hay algo que solemos repetir mucho y es que aprender a programar requiere tiempo y esfuerzo, así que lo de mucha paciencia es totalmente aplicable. Pero no te creas que te vas a aburrir, también es algo que entusiasma :)

Si no tienes ningún conocimiento previo de programación te puede venir bien leer algunas cosas:

Orientación general: https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0

Cursos tutorizados: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87

Sobre Java: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=373:ies-java-el-mejor-lenguaje-para-aprender-a-programar-desde-cero-ce00107b&catid=23:lo-mas-basico&Itemid=80

Y si finalmente te decidieras con Java, seguir este curso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Por último, aprovecha que en los foros hay gente que atiende (o atendemos) consultas (voluntariamente a medida que podemos) para ir obteniendo la orientación que sea necesaria

Saludos!

489
Hola Oscar!

Si necesitas las bases del lenguaje C recomendamos el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210

El siguiente código es un ejemplo de uso de punteros con cadenas de caracteres en C, puedes usarlo para orientarte en la resolución del problema que comentas:

Código: [Seleccionar]

 #include<stdio.h>
int main(){
  int i=0,j=0;
  char *str1,*str2,*str3;
  puts("Introduzca la primera cadena");
  gets(str1);
  puts("Introduzca la segunda cadena");
  gets(str2);
  printf("Antes de la concatenación las cadenas son \n");
  puts(str1);
  puts(str2);
  while(*str1){
      str3[i++]=*str1++;
  }
  while(*str2){
      str3[i++]=*str2++;
  }
  str3[i]='\0';
  printf("Después de la concatenación tenemos \n");
  puts(str3);
  return 0;
}

Saludos!

490
Hola Juan! Es preferible inicializar a 0 valores numéricos, cadena vacía cadenas de texto y false los booleanos, por ello preferible casado=false;

De resto el ejercicio está perfecto.

Saludos!

491
Hola!

¿Por qué tienes comentada la línea esta?

<!--Artículo sobre Gimp, un programa de software libre para el diseño gráfico. -->


Al probar a visualizar no se veía bien como pedía el ejercicio, para lograr que se vea como pedía el ejercicio he tenido que cambiar el clear de #cajaContacto dejándolo así:

#cajaContacto{
   width:50%;
   height:5%;
   background-color:#DDA0DD;
   clear:both;
   float:left;   
}

Hay algunas cosas que no se visualizan bien al menos en mi navegador por ejemplo la cajaContenido2

En #cajaContenido2 definir height parece que no tiene ningún efecto

Este es el código que he probado

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style>

*{
margin:0px;
padding:0px;
font-family:arial;
font-size:20px;
}

#cajaCabecera{
width:100%;
height:20%;
background-color:#DEB887;
text-align:center;
}

#cajaMenu{
width:20%;
height:75%;
background-color:#FBE13A;
float:left;
}

#cajaContenido1{
background-color:#ADD8E6;
width:60%;
height:37.5%;
float:left;
text-align:center;
}

#cajaPublicidad{
width:20%;
height:75%;
background-color:green;
float:right;
text-align:center;
}


#cajaContenido2{
width:60%;
/*height:37.5%;*/
background-color:#90EE90;
float:right;
}

#cajaContacto{
width:50%;
height:5%;
background-color:#DDA0DD;
clear:both;
float:left;
}

#cajaFooter{
width:50%;
height:5%;
float:left;
background-color:grey;
}


</style>

</head>
<body>
<div id="cajaCabecera">
<br> <br> <br>
Bienvenidos a aprenderaprogramar.com
</div>

<div id="cajaMenu">
Menu:
<br> <br>
- Cursos
<br> <br>
- Humor
<br> <br>
- Divulgacion
<br> <br>
- Etc
</div>

<div id="cajaPublicidad">
<br> <br> <br> <br> <br> <br>
Espacio reservado para publicidad
</div>

<div id="cajaContenido1">
<br> <br> <br>
Conoce las últimas novedades del lenguaje JavaScript.
</div>

<div id="cajaContenido2">
Artículo sobre Gimp, un programa de software libre para el diseño gráfico.

</div>

<div id="cajaContacto" style="font-size:15px;">
Contacta con nosotros
</div>

<div id="cajaFooter">Aviso legal</div>
</body>
</html>

Revisa hilos de otros compañeros para obtener ideas:

https://www.aprenderaprogramar.com/foros/index.php?topic=2585.0

https://www.aprenderaprogramar.com/foros/index.php?topic=2870.0

https://www.aprenderaprogramar.com/foros/index.php?topic=2453.0

https://www.aprenderaprogramar.com/foros/index.php?topic=1647.0

Saludos!

492
Hola!

Aquí parece que tienes un problema: i <= fin dentro del método private int diasLlovidosEnRango( int inicio, int fin )

Código: [Seleccionar]
    private int diasLlovidosEnRango( int inicio, int fin ){

        int total = 0;

        for( int i = inicio; i <= fin; i++ ) {

            if ( dias[i] ) {
                total++;

            }

        }

        return total;
    }

Los índices del array de días van de 0 a 364, si tú haces una llamada como cuatrimestres[2] = diasLlovidosEnRango(244 , 365);

al pasar el 365 no estás dentro de los índices del array y te tira un error.

Tienes que pensar si estos índices:

Código: [Seleccionar]
        cuatrimestres[0] = diasLlovidosEnRango(1 , 121);
        cuatrimestres[1] = diasLlovidosEnRango(121 , 243);
        cuatrimestres[2] = diasLlovidosEnRango(244 , 365);

Debes cambiarlos

Código: [Seleccionar]
        cuatrimestres[0] = diasLlovidosEnRango(0 , 120);
        cuatrimestres[1] = diasLlovidosEnRango(121 , 242);
        cuatrimestres[2] = diasLlovidosEnRango(243 , 364);

Habría que revisar todos los índices y hacer pruebas.

Saludos!

493
Hola!

Mismo comentario que en ejercicio CU01147E

¿ this.obtenerRadio = function(diametro){return diametro/(2*3.1416)}; ?

El radio es la mitad del diámetro... por tanto debe ser Meteorito.obtenerRadio = function (diametro){return diametro/(2);}

De resto todo bien

Saludos!

494
Hola!

¿ this.obtenerRadio = function(diametro){return diametro/(2*3.1416)}; ?

El radio es la mitad del diámetro... ¿por qué divides por 2*3.1416?  ???

495
Ok, gracias por poner la solución así ayudas a otras personas que puedan tener el mismo problema

Saludos!

496
Hola! esos for lo que hacen es dibujar la forma de diamante o rombo, lo que contienen es la lógica para ir introduciendo asteriscos o espacios de manera que se dibuje un diamante o rombo de cierta manera.

Hay dos for, uno dibuja parte superior del diamante y otro la parte inferior, si ejecutas este código ves lo que hace cada for:

Código: [Seleccionar]
#include <stdio.h>

int main() {
    int NFILAS = 4;
    int NCOLUMNAS = 4;
    int n, c, k, space = 1;

    //n es el numero de filas del rombo
    n = NFILAS;

    space = n - 1;

    for (k = 1; k <= n; k++) {
        for (c = 1; c <= space; c++)
            printf(" ");

        space--;

        for (c = 1; c <= 2*k-1; c++)
            if (c%2 ==0) {
                printf("*");
            } else {
                printf(" ");
            }

        printf("\n");
    }
    printf("Esto es lo que ha dibujado el primer for\n");
    space = 1;

    for (k = 1; k <= n - 1; k++) {
        for (c = 1; c <= space; c++)
            printf(" ");

        space++;

        for (c = 1 ; c <= 2*(n-k)-1; c++)
            if (c%2 ==0) {
                printf("*");
            } else {
                printf(" ");
            }

        printf("\n");
    }
    printf("Esto es lo que ha dibujado el segundo for\n");

    return 0;
}

Saludos!

497
Hola lorenzo ¿a qué o quién te refieres con han debido modificar algo? ¿A un cambio en la especificación de la versión de java debido a una nueva versión?

498
Hola Ismael!

Pega el código que estés utilizando para que podamos entender y hacer pruebas, tienes las indicaciones de cómo hacerlo en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Saludos!

499
Hola!

Puedes tomar como punto de partida este programa que dibuja un rombo como el que necesitas con asteriscos, lo que te faltaría es introducir la gestión de índices para que en lugar de asteriscos te imprima los números deseados:

Código: [Seleccionar]
#include <stdio.h>

int main() {
    int NFILAS = 4;
    int NCOLUMNAS = 4;
    int n, c, k, space = 1;

    //n es el numero de filas del rombo
    n = NFILAS;

    space = n - 1;

    for (k = 1; k <= n; k++) {
        for (c = 1; c <= space; c++)
            printf(" ");

        space--;

        for (c = 1; c <= 2*k-1; c++)
            if (c%2 ==0) {
                printf("*");
            } else {
                printf(" ");
            }

        printf("\n");
    }

    space = 1;

    for (k = 1; k <= n - 1; k++) {
        for (c = 1; c <= space; c++)
            printf(" ");

        space++;

        for (c = 1 ; c <= 2*(n-k)-1; c++)
            if (c%2 ==0) {
                printf("*");
            } else {
                printf(" ");
            }

        printf("\n");
    }

    return 0;
}

Saludos!

500
Hola Pedro!!

Revisando tu código y respuestas (después de discutirlo un rato) hemos visto que además de que tu código está bien planteado para los objetivos del ejercicio, que era comprobar cómo el uso de métodos de objetos permite evitar el conflicto de nombres respecto a funciones definidas en el ámbito global, convenía modificar la redacción del ejercicio para que quedara más clara.

La redacción inicial era:

Crea un objeto vacío denominado GestionDeUsuarios y añádele dos métodos: un método preguntarNombre y un método despedir. Al invocar GestionDeUsuarios.preguntarNombre(user) se debe crear un objeto de tipo usuario con id de usuario user y almacenar su nombre e id de usuario. Al invocar el método GetionDeUsuarios.despedir(user) se debe mostrar un mensaje de despedida “Hasta luego nombreDeUsuario” donde nombreDeUsuario será el nombre correspondiente.


Ahora la hemos dejado:

Crea un objeto vacío denominado GestionDeUsuarios y añádele dos métodos: un método preguntarNombre y un método despedir. Al invocar GestionDeUsuarios.preguntarNombre() se debe establecer la propiedad nombre del objeto con un nombre introducido por el usuario y un id de usuario introducido también por el usuario. Al invocar el método GestionDeUsuarios.despedir() se debe mostrar un mensaje de despedida “Hasta luego nombreDeUsuario” donde nombreDeUsuario será el nombre correspondiente.

Teniendo en cuenta estos cambios hemos modificado ligeramente tu código para dejar la respuesta así.

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style>
#pulsador {padding:15px; width: auto; display: inline-block; margin: 25px; cursor: pointer; color: yellow; border-radius: 40px; background: purple;}
</style>
<script type="text/javascript">
var gestionDeUsuarios = {};
Object.defineProperty(gestionDeUsuarios,'usuario',{value:'',writable:true},'idUsuario',{value:0,writable:true});
gestionDeUsuarios.preguntarNombre = function(){
var usuario = prompt('Introduzca el nombre del usuario: ');
var idUsuario = prompt('Introduzca el id del usuario: ');
gestionDeUsuarios.usuario=usuario;
gestionDeUsuarios.idUsuario=idUsuario;
}
gestionDeUsuarios.despedir = function(){
alert('(Desde método despedir) Hasta luego ' + gestionDeUsuarios.usuario);
}

function despedir(){
alert('(Desde función despedir()) ... Hasta luego ' + gestionDeUsuarios.usuario);
}

function testObjetos() {
gestionDeUsuarios.preguntarNombre();
gestionDeUsuarios.despedir();
alert ('Tenemos un objeto gestionDeUsuarios con propiedades nombre: '+gestionDeUsuarios.usuario + 'e id: '+gestionDeUsuarios.idUsuario);
despedir();
}

</script>
</head>
<body>
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2></div>
<div id ="pulsador" onclick="testObjetos()"> Probar </div>
</body>
</html>

Hemos trasladado la ejecutoria a una función testObjetos para que se vea más clara la traza. Perdona las molestias, si te queda alguna duda consúltala.

Saludos!!

Páginas: 1 ... 20 21 22 23 24 [25] 26 27 28 29 30 ... 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".