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 - Alex Rodríguez

Páginas: 1 ... 66 67 68 69 70 [71] 72 73 74 75 76 ... 93
1401
Después de consultarlo y con vistas a simplificar el ejercicio, lo hemos modificado quedando después de los apartados a) y b) un único apartado que dice lo siguiente:

c) Declara los arrays como arrays asociativos (un ejemplo de cómo declarar un elemento sería por ejemplo: $equipos['Mexico']['Equipo1']['defensa']="koltz"; ). A continuación usando un bucle foreach recorre los elementos del array mostrando la información del país, equipo, posiciones y jugadores de cada equipo.

A continuación dejo el código de una posible solución (aunque lo interesante no es ver este código, sino intentar hacerlo uno mismo para comprobar si se puede resolver o si surgen dudas):

Código: [Seleccionar]
<html>
<head>
<meta charset ="utf-8" />
</head>
<body>
<?php
//equipo español, equipo 1, posicion_jugador =
$equipos['Spain']['Equipo1']['portero']="Frank";
$equipos['Spain']['Equipo1']['defensa']="Pepe";
$equipos['Spain']['Equipo1']['medio']="Luis";
$equipos['Spain']['Equipo1']['delantero']="Raul";
//equipo español, equipo 2, posicion_jugador =
$equipos['Spain']['Equipo2']['portero']="Tiger";
$equipos['Spain']['Equipo2']['defensa']="Mourin";
$equipos['Spain']['Equipo2']['medio']="Katz";
$equipos['Spain']['Equipo2']['delantero']="Alberto";
//equipo Mexico, equipo 1, posicion_jugador =
$equipos['Mexico']['Equipo1']['portero']="Suarez";
$equipos['Mexico']['Equipo1']['defensa']="koltz";
$equipos['Mexico']['Equipo1']['medio']="Fernandez";
$equipos['Mexico']['Equipo1']['delantero']="Ramirez";
//equipo argentino, equipo 1, posicion_jugador =
$equipos['Argentina']['Equipo1']['portero']="Higuita";
$equipos['Argentina']['Equipo1']['defensa']="Mel";
$equipos['Argentina']['Equipo1']['medio']="Rubens";
$equipos['Argentina']['Equipo1']['delantero']="Messi";
//equipo argentino, equipo 2, posicion_jugador =
$equipos['Argentina']['Equipo2']['portero']="Kostenmeiner";
$equipos['Argentina']['Equipo2']['defensa']="Lenkins";
$equipos['Argentina']['Equipo2']['medio']="Marash";
$equipos['Argentina']['Equipo2']['delantero']="Juanes";

foreach (
$equipos as $clave => $valor){

//pais del equipo
if($clave=='Spain'){
echo "<br/><br/>Equipos del país: España.<br/>";
}
else if($clave=='Mexico'){
echo "<br/><br/>Equipos del país: México.<br/>";
}
else{
echo "<br/><br/>Equipos del país: Argentina.<br/>";
}
foreach ($valor as $clave2 => $valor2){
//numero de equipo
echo "<br/>Equipo $clave2:<br/> ";
foreach ($valor2 as $clave3 => $valor3){
//Dependiendo del numero en la tercera posicion el jugador tendra una posicion o otra.
if($clave3=='portero'){
echo "Portero:"$valor3." <br/>";
}
else if($clave3=='defensa'){
echo "Defensa:".$valor3."<br/>";
}
else if($clave3=='medio'){
echo "Medio:".$valor3."<br/>";
}
else if($clave3=='delantero'){
echo "Delantero:".$valor3."<br/>";
}
}
}
}
?>

</body>
</html>

Si te fijas todo se basa en el uso de índices de tipo asociativo y variables.

Lo interesante de estos ejercicios es comprender la lógica de los arrays y su recorrido.

Si te cuesta entender alguno de estos códigos, revisa el texto del curso y trata de ponerte ejercicios que tengan cierta similitud tú mismo y tratar de resolverlos. Sólo cuando seas capaz de resolverlos por tí mismo podrás decir que has asimilado los conceptos.

Saludos!

1402
Hola, al menos en el apartado d) parece que hay una errata, puesto que no puede ser "d) Haz lo que se pide en el apartado d)..."

De cualquier forma, voy a revisar los apartados c) y d) por si estuvieran mal planteados y cuando haya concluido la revisión pegaré aquí las conclusiones.

Saludos

1403
Aprender a programar desde cero / Re:CU00669B
« en: 23 de Septiembre 2014, 11:33 »
Otra observación momo: la forma de salida del bucle no es la más adecuada (al menos desde el punto de vista de un buen estilo de programación).

La condición de entrada al bucle es:  while(intentos==true)

Sin embargo esta condición no controla el funcionamiento verdadero del bucle, ya que la variable intentos siempre vale true (mal diseño de código: el bucle no evoluciona, tiene diseño de bucle infinito).

En realidad la salida del bucle la controlas con:

if(entrada.equalsIgnoreCase(mesSecreto))
            {
                System.out.println("Ha Acertado..!!");
                break;
            }

Mal diseño: controlar la salida de un bucle con un break cuando puedes hacerlo sin problemas mediante la condición del bucle.

La idea de usar un booleano es buena, pero fíjate cómo está hecho aquí: https://www.aprenderaprogramar.com/foros/index.php?topic=1355

El booleano debe evaluarse dentro del bucle y cambiar cuando se cumple una determinada condición, de modo que el bucle se cierre "de forma natural" y no a través de un break (forma forzada).

Saludos

1404
Aclaración: este ejercicio está revisado y es correcto, aparece aquí porque se ha desdoblado un tema que trataba sobre dos ejercicios y se ha dejado cada ejercicio por separado. Saludos.

1405
Nota: este tema se ha desdoblado para mantener un ejercicio por tema.

Respusta de toni_apr al ejercicio CU00669B:

EJERCICIO CU00669B main manipulando array.
Dos clases. La primera con el main
clase EjemploArray
Código: [Seleccionar]
/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class EjemploArray {   
    public static void main (String [] args) {
        String [] mesEA = {"enero","febrero","marzo","abril","mayo","junio",
                "julio","agosto","septiembre","octubre","noviembre","diciembre"};
        String mesSecreto = mesEA[(int)(Math.random() * 12)];
        boolean probarOtraVez = true;
        String respuesta = "", separacion = "";
        Mensaje mensaje = new Mensaje("Propuesta: Adivina el mes que he escogido. Escríbelo (todo en minúsculas).");
        do {
            for (int i = 0; i < mesEA.length; i++) {
                if (i < mesEA.length - 1) { separacion = ","; } else { separacion = ".\n"; }
                mensaje.muestra (mesEA[i] + separacion,0);
            } // fin del for
            respuesta = mensaje.responde ("\tEscribe tu mes:",0);
            if ( respuesta.length() == 0) {
                mensaje.muestra ("Con una entrada vacía. Salimos corriendo.");
                probarOtraVez = false;
            } else if (respuesta.equals(mesSecreto)) {
                mensaje.muestra ("Has acertado. Me retiro, hasta luego.");
                probarOtraVez = false;
            } else if (respuesta.equals("?")) { // Caracter espía
                mensaje.muestra ("\tLa respuesta es: " + mesSecreto + " Tariro rariro...");
            } else {
                mensaje.muestra ("Frio, frio. Inténtalo otra vez.");
            } // fin del if
        } while (probarOtraVez); // fin del while
    } // fin del main
} // Fin de la clase EjemploArray
La segunda para entradas de teclado y mensajes
Clase Mensaje
Código: [Seleccionar]
import java.util.Scanner;
/**
 * Detalles de la clase. El método presenta mensajes por pantalla... y devuelve entradas de teclado
 * @author (Toni)
 * @version (0)
 */
public class Mensaje { // Atributos de la clase Mensaje
    private String texto;
    private int valor;
    /**
     * Mostrará el texto con salto de línea final.
     */
    public Mensaje (String frase) { //Constructor 1 parámetro para objetos de la clase Mensaje. Inicializa atributos
        texto = frase;
        valor = 1;
        muestra (texto, valor);
    }

    /**
     * Valores param:
     * 0 = Sin salto de línea.
     * 1, u otro valor = Con salto de línea.
     */ 
    public Mensaje (String frase, int param) {
        texto = frase;
        valor = param;
        muestra (texto, valor);
    }
    // Siguen los setters para los atributos de la clase Mensaje
    public void setTexto (String texto) { this.texto = texto; }

    public void setValor (int valor)    { this.valor = valor; }
    // Ahora los getters para los atributos de la clase Mensaje
    public String getTexto ()           { return texto; }

    public int getValor ()              { return valor; }

    // Y seguidamente, procedimientos y funciones varios.
    /**
     * Mostrar el texto con salto de línea (sin segundo parámetro)
     */   
    public void muestra (String frase) {
        muestra (frase, 1);
    }// fin de muestra 1 parámetro

    /**
     * Valores param:
     * 0 = Sin salto de línea.
     * 1, u otro valor = Con salto de línea.
     */   
    public void muestra (String frase, int param) {
        texto = frase;
        valor = param;
        if (valor == 0) { System.out.print (texto + " ");
        }          else { System.out.println (texto); }
    }// fin de muestra 2 parámetros

    /**
     * Sin segundo parámetro el mensaje incluirá salto de línea. Devuelve entrada de teclado
     */
    public String responde (String frase) {
        return responde (frase, 1);
    }// fin de responde 1 parámetro

    /**
     * Valores param:
     * 0 = Sin salto de línea + entrada por teclado.
     * 1, u otro valor = Con salto de línea + entrada por teclado.
     */
    public String responde (String frase, int param) {
        texto = frase;
        valor = param;
        muestra (texto, valor);
        Scanner entradaEscaner = new Scanner(System.in);
        return entradaEscaner.nextLine();
    }// fin de responde 2 parámetros
} // Fin de la clase Mensaje
Espero vuestros comentarios. Saludos.

1406
El problema que veo es que al no tener ningún mensaje de error específico es difícil determinar dónde está el problema. Simplemente "access denied" dice bastante poco. Si entras en el registro de Windows, ¿qué claves te aparecen en Software/Javasoft? Si pinchas en cada una de las claves, ¿te aparece algún  mensaje avisándote de error o falta de permisos?

1407
Una posibilidad es que haya problemas con el directorio sun. Para descartarlo, corta dicho directorio y pégalo en otro sitio (por ejemplo en tu escritorio).

Luego reinicia el computador.

Luego intenta la desinsatalación desde http://www.java.com/en/download/uninstallapplet.jsp

Luego intenta la instalación desde http://www.java.com/es/download/windows_offline.jsp

Y a ver si hay suerte...

1408
¿A qué te refieres con el informático del sitio en cuestión? ¿De qué sitio?

Prueba a abrir el explorarador de Windows, vete a Herramientas -- > Opciones de carpeta -- > Ver --> Archivos y carpetas ocultos, elige "Mostrar todos los archivos y carpetas ocultos"

Luego vete a la ruta C:\Users\TuNombreDeUsuario\AppData\LocalLow ¿qué carpetas tienes ahí?

1409
Si accedes a http://www.java.com/es/download/windows_offline.jsp

Descargas java e intentas instalarlo

¿Qué mensaje de error es exactamente el que te aparece?

1410
¿Sólo aparece "Acceso denegado"?

¿No te aparece un mensaje del tipo Error HKEY_LOCAL_MACHINE\SOFTWARE\AVG\AVG 2013\LinkScanner\Prevalence
No se puede eliminar: error al eliminar la clave. Acceso denegado.?

¿Qué es lo que va haciendo el ordenador cuando entras en http://www.java.com/en/download/uninstallapplet.jsp? ¿Cuáles son los mensajes que te van apareciendo?

1411
¿Necesitas java para programación o sólo como usuario (por ejemplo para la declaración de la renta)? ¿Sabes qué versión de java era la que tenías instalada anteriormente?

Cierra todas las ventanas y programas. Abre el navegador y accede a la herramienta de desinstalación disponible en http://www.java.com/en/download/uninstallapplet.jsp

¿Qué información te aparece cuando tratas de avanzar?

1412
Hola, dado todo lo que has hecho posiblemente ya es difícil saber qué tipo de daños tienes en el pc. Para conocer algo sobre el problema, ¿para qué querías actualizar java? ¿vas a utilizar java como programadora o sólo como usuaria?

El acceso al registro, borrado, etc. sólo está recomendado para usuarios avanzados precisamente porque puede generar daños en el ordenador. La primera recomendación es que no accedas ni modifiques el registro.

Si vas a Inicio -- > Panel de control -- > Programas -- > Desinstalar un programa ¿Te aparece algo relacionado con Java?

En la ruta C:\Program Files ¿tienes alguna carpeta que se llame Java? Si la tienes, ¿qué hay dentro de ella?

Saludos

1413
Hola Carlos, a la hora de poner un título a un hilo del foro trata de poner algo descriptivo del problema que quieres resolver. Por ejemplo: "hacer test de una función recursiva sencilla en java" ó "comprobar resultados que devuelve una función java". De esa manera podremos localizar y responder la consulta con mayor facilidad.

Sobre el código que has puesto, parece java, aunque no has indicado en qué lenguaje estás trabajando.

Del código que has puesto: es una función recursiva y por eso resulta un poco difícil de entender, pero en realidad lo que hace es simplemente sumar a y b.

Aquí un ejemplo de prueba de escritorio:

Código: [Seleccionar]
public class Test {
    private Test test;
    public static void main(String[] Args) {
        Test test1 = new Test();
        System.out.println("Resultado con a=8 y b=6 es: "+test1.funcion(8,6));

    }
    int funcion(int a, int b) {
        if (b==0)
            return a;
        else
            return 1+funcion(a,b-1);
    }
}

El resultado que muestra por pantalla es:

Resultado con a=8 y b=6 es: 14

A ver si te sirve...

1414
Hola, ¿lo que has incluido es el código Visual Basic de tu proyecto? ¿Con qué versión de Visual Basic estás trabajando?

Lo digo porque lo llamas "Base de datos" pero en realidad no veo una base de datos, sino el código de un proyecto Visual Basic.

¿En qué línea te marca el error exactamente?

Saludos

1415
Aprender a programar desde cero / Re:Entrega Aviones (CU00619B)
« en: 13 de Septiembre 2014, 23:28 »
Hola tinezmatias, ánimo y a seguir avanzando con el curso. Para comprender mejor lo que te indica toni te recomiendo que leas este hilo del foro relacionado con este ejercicio, pues leyéndolo vas a obtener información que te puede ser complementaria y útil: https://www.aprenderaprogramar.com/foros/index.php?topic=940

Si te quedas con alguna duda consúltala

Saludos!

1416
Para quienes lean este mensaje, informar que el curso de Visual Basic ha sido actualizado y renovado.

Está disponible aquí: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Saludos

1417
Hola, si el factor económico te resulta limitante te recomiendo que empieces por https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Empieza leyendo y estudiando hasta la entrega CU00111A y si te surgen dudas consúltalas en el foro. Una vez llegues a CU00111A vuelve a consultar para darte orientación sobre cómo continuar. Para cada consulta abre un nuevo tema dentro del foro "Aprender a programar desde cero".

Me preguntas sobre qué te recomiendo para dentro de seis meses o un año... Demasiado tiempo para hacer especulaciones. Quizás lo que te debas plantear cuando hayas avanzado varios meses es si cursar estudios reglados. De cualquier forma, te recomiendo que expongas tus dudas y avances en estos foros (y en cualquier lugar donde obtengas información de calidad) y que tú mismo con la ayuda de personas más experimentadas vayas dando respuestas a todas tus inquietudes.

Saludos a Argentina

1418
Respuesta a una consulta recibida, que es extensa, pero que hemos resumido en el título ¿Son importantes los fundamentos de programación? ¿Por qué? ¿Por dónde empezar? y que pensamos puede ser de interés para muchas personas que se plantean formarse como programadores.

Gracias por escribirnos y por tus comentarios. Lo que nos cuentas sobre tu web de clasificados para tu ciudad y una persona que supuestamente es experta y luego no lo es es más común de lo que te imaginas. La realidad es que ser experto en desarrollo web requiere muchos años de dedicación y una capacidad innata para la programación y análisis de problemas que muy poca gente llega a conseguir. La consecuencia es que mucha gente dice ser experta pero luego hay muy pocos verdaderos expertos. También hay que tener en cuenta la complejidad de los desarrollos web. Esta complejidad es tal que las grandes empresas dividen el trabajo: diseñadores, maquetadores, programadores, analistas, consultores de bases de datos, etc. crean los desarrollos web. Es difícil conseguir una persona que sepa de todas estas materias al mismo tiempo (por eso no se encuentran a los supuestos expertos).

Las oportunidades de negocio en internet son muchas, pero tienes que tener en cuenta que al igual que tú hay miles de personas que lo intentan o han intentado montar sitios web con éxito y la realidad es que sólo 1 de cada mil lo consigue, y no sólo debido a que la idea sea buena o mala o que se disponga de un programador bueno o malo, influyen muchos factores.

Aprender programación como reconoces requiere mucho tiempo.

La pregunta de si es adecuado empezar con fundamentos de programación te voy a dar una idea para que la respondas tú mismo. Imagina que te apasionan los rascacielos (la programación web) pero no sabes nada de construcción (fundamentos de programación). Te planteas aprender a construir rascacielos, pero no sabes lo que es el hormigón, ni un cimiento, ni un pilar, ni el momento en sentido físico, ni la torsión, ni la esbeltez, ni el pandeo... Empezarás a estudiar cómo construir un rascacielos y cuando te hablen del pandeo no sabrás bien a qué se refiere. Podrás resolver un problema concreto, pero no entenderás del todo bien qué es lo que hay detrás: el por qué, el cuándo es adecuado aplicar un método u otro. No tendrás una visión de conjunto. Podrás aprender a construir rascacielos, quizás lo consigas y seas muy bueno, pero lo más probable es que la falta de base haga que no tengas una comprensión global de lo que haces, y esto probablemente te lleve a ser un profesional normal o mediocre, no un experto reconocido. A todo esto le ponemos el <<probablemente>>. Mark Zuckerberg, el fundador de Facebook, abandonó los estudios y se dedicó a hacer lo que quería hacer y punto. El quizás no dedicó demasiado tiempo a los fundamentos y fue al grano. Pero estas historias <<probablemente>> no son aplicables a la mayoría de la gente. En la vida diaria son raros casos de este tipo.

Nuestra opinión es que para ser eficientes en programación web hacen falta fundamentos, o al menos a la mayor parte de la gente nos hacen falta fundamentos. Es verdad que no hay que entretenerse en conocer el origen del universo y los fundamentos físicos de la electricidad porque eso nos puede quitar mucho tiempo y tener poca aplicación práctica. Pero los fundamentos básicos... son básicos. Sin cimientos no hay edificios.

Nos planteas <<son mas de 6 meses que debo pasar leyendo cosas para recién ahí, entrar en el tema que me gusta...>> Aquí quizás te equivoques: el conocimiento en programación es acumulativo. Desde que empieces a trabajar con programación y sus fundamentos estarás adquiriendo conocimientos que te serán útiles para los desarrollos web. Y llegar a tener un nivel de experto en desarrollos web no se mide en meses, sino en años (para la mayoría de las personas).

Has hecho una consulta extensa y bien escrita y hemos tratado de responder de la misma manera.

Ahora la recomendación. Nosotros recomendamos nuestros libros y nuestros cursos (de la misma manera que cualquier web, centro educativo, etc.).

Para aquellas personas que puedan costeárselo recomendamos empezar con el curso tutorizado on-line "Fundamentos de programación nivel I". Con un curso de este tipo tienes la ventaja de estar tutorizado por un profesor experto (o quizás no experto como Marck Zuckerberg, digamos simplemente con muchos años de experiencia) y esto supone que alguien te coge de la mano cuando vas ciego y te dice por dónde debes ir. Para empezar pensamos que va muy bien, pero es un curso de pago y mucha gente piensa que no resultará una inversión con retorno (sin referirnos a este curso en concreto, nuestra opinión va en sentido contrario, la formación de calidad es la inversión con mejor retorno). La inscripción e información sobre ese curso está disponible aquí: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87

Para quien prefiera ir por libre puede optar por empezar con un libro físico o ebook (https://aprenderaprogramar.com/index.php?option=com_content&view=article&id=693:libro-y-ebook-qaprende-a-programar-con-pseudocodigo-diagramas-de-flujo-y-ejercicios-de-ejemplo-resueltos-en-cq&catid=25&Itemid=211) ó seguir el curso disponible en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59. En estos casos recomendamos utilizar los foros (http://aprenderaprogramar.com/foros) para obtener orientación y ayuda.

Y como es normal, también recomendamos oír más opiniones, tomar en consideración la posibilidad de tomar estudios reglados (que por desgracia muchas veces no tienen la suficiente orientación práctica, pero pueden ser una buena opción para muchas personas) y tener en cuenta que nadie tiene la verdad absoluta (ni Marck Zuckerberg, ni Bill Gates, ni lo aquí expuesto, ni...)

Esperamos que lo aquí escrito ayude a quienes se plantean formarse como programadores.


1419
No vuelve a la pantalla inicial porque el bucle no le deja, parece que debiera detenerse con el msgbox, pero aunque se detuviera sería para volver a mostrarlo inmediatamente porque el bucle no tiene condición de salida. Con tres repeticiones se supone que se muestra un mensaje pero al no haber condición de salida se repite y se repite y se repite hasta el infinito...

1420
No estoy seguro, pero el problema parece ser el mismo que comentamos sobre el ejercicio 6 en https://www.aprenderaprogramar.com/foros/index.php?topic=1294.0

Es decir, que usando un textbox no hay detención para introducir el dato.

Si en vez de usar un textbox usas inputbox (míralo en el ejercicio 6) debería detenerse, pedir el dato y funcionar como se espera. Es decir, elimina los textbox y usa sólo inputbox.

Saludos!

Páginas: 1 ... 66 67 68 69 70 [71] 72 73 74 75 76 ... 93

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