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 ... 24 25 26 27 28 [29] 30 31 32 33 34 ... 93
561
Hola, mi recomendación: coge 5 cajitas y escribe por fuera v(1), v(2), v(3), v(4) y v(5). Dentro de cada cajita pon un papel con los números.

Coge otras 5 cajitas y escribe por fuera o(1), o(2), o(3), o(4) y o(5). Dentro de cada cajita pon un papel.

Ahora sigue el ejemplo según https://www.aprenderaprogramar.com/foros/index.php?topic=694.0 consultando las cajitas y escribiendo de las cajas o(...) en cada momento lo que vaya correspondiendo. Ten en cuenta que las cajas v(...) siempre tendrán lo mismo, los números iniciales. En cambio en las cajas o(...) tendrás que ir tachando (o moviendo papeles de una a otra) cada vez que haya cambios.

Saludos

562
Hola, es importante que leas y sigas las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Respecto al curso, tienes que ir siguiendo paso a paso las indicaciones. Cuando no sepas o no puedas avanzar, indica la referencia de la entrega en que te encuentras (por ejemplo CU00623B) y el punto concreto del curso (por ejemplo "donde dice tal cosa" ó "al intentar hacer tal cosa") para poder ayudarte.

Saludos

563
Hola Agente007

Para ir introduciendo principios de diseño en tu código debes tener en cuenta lo siguiente:

Un método set tiene un fin: establecer el valor del atributo. Y nada más. No debe mostrar mensajes por pantalla (a no ser que específicamente lo pida el ejercicio). Esto es un principio de programación denominado principio de cohesión: cada método debe encargarse de su cometido, y no de otras cosas (como mostrar mensajes por pantalla).

Esto se extiende a todos los métodos. Cada método se encarga de una cosa.

Por otro lado, tu ejercicio no está bien resuelto. El ejercicio pedía: "Crea un método denominado comprobarDimensiones..."

Este método debe encargarse de comprobar las dimensiones. No has creado el método.

No tiene sentido que un método se llame getComprobarDiametro. get significa recuperar. El prefijo get se usa para recuperar algo, normalmente atributos de una clase. Por ejemplo getDiametro es correcto, es el método para recuperar el diámetro.

En este hilo puedes ver una solución al ejercicio: https://www.aprenderaprogramar.com/foros/index.php?topic=1214.0

Si te quedan dudas sobre algún aspecto consulta de nuevo.

Saludos

564
Hola Agente007 tu código como idea está bien. Habría que comentar distintas cuestiones sobre el diseño, pero los aspectos de diseño se trabajan más adelante en el curso por lo que no voy a entrar en ello.

En este ejercicio básicamente se trataba de reflexionar sobre los resultados que se debían obtener, no de escribir código. El motivo por el que es bueno reflexionar es que un buen programador debe ser capaz de analizar mentalmente el resultado esperado sin necesidad de escribir o probar código, y de esa manera ser capaz de analizar y escribir código de forma más eficiente.

En este hilo puedes ver un ejemplo de lo que se pedía: https://www.aprenderaprogramar.com/foros/index.php?topic=2207.0

Saludos

565
Hola

En el paso 1 se establece que o(1) vale 47, correcto.

En el paso 2 se compara si 47 es mayor que 25, y al ser así en segunda posición queda el 25, correcto.

En el paso 3 se compara si 47 es mayor que 91. La respuesta es que no.

Sin embargo tú has puesto que sí con lo cual no tienes bien el ejercicio

PASO 3

o(1)>v(3) ? --> si


Aquí hay una explicación que creo te aclarará: https://www.aprenderaprogramar.com/foros/index.php?topic=694.0, si no te aclara vuelve a consultar

Saludos

566
Hola, la línea a editar o modificar tendrá que ser elegida en base a algún criterio, por ejemplo contener algo que deba ser reemplazado (quizás la línea entera podría reemplazarse).

Hay distintas alternativas para hacer esto:

Escribir el contenido en un nuevo fichero y reemplazar el viejo fichero con el nuevo:

Código: [Seleccionar]
from tempfile import mkstemp
from shutil import move
from os import remove, close

def replace(file_path, pattern, subst):
    #Create temp file
    fh, abs_path = mkstemp()
    with open(abs_path,'w') as new_file:
        with open(file_path) as old_file:
            for line in old_file:
                new_file.write(line.replace(pattern, subst))
    close(fh)
    #Remove original file
    remove(file_path)
    #Move new file
    move(abs_path, file_path)

Añadir contenido a líneas en el fichero que se quiere editar (en este ejemplo se añade el número de línea):

Código: [Seleccionar]
import fileinput

for line in fileinput.input("test.txt", inplace=True):
    print "%d: %s" % (fileinput.filelineno(), line),

Reemplazar un patrón en el fichero usando expresiones regulares, se usaría como por ejemplo replaceAll("/ejemplo.txt","Hola\sMundo!$","Adios\sMundo."):

Código: [Seleccionar]
import fileinput
import sys

def replaceAll(file,searchExp,replaceExp):
    for line in fileinput.input(file, inplace=1):
        if searchExp in line:
            line = line.replace(searchExp,replaceExp)
        sys.stdout.write(line)

Reemplazo:

Código: [Seleccionar]
import fileinput

# Does a list of files, and
# redirects STDOUT to the file in question
for line in fileinput.input(files, inplace = 1):
      print line.replace("foo", "bar"),

Reemplazo masivo:

Código: [Seleccionar]
import re

def replace(file, pattern, subst):
    # Read contents from file as a single string
    file_handle = open(file, 'r')
    file_string = file_handle.read()
    file_handle.close()

    # Use RE package to allow for replacement (also allowing for (multiline) REGEX)
    file_string = (re.sub(pattern, subst, file_string))

    # Write contents to file.
    # Using mode 'w' truncates the file.
    file_handle = open(file, 'w')
    file_handle.write(file_string)
    file_handle.close()

Saludos

567
Hola carlossauco gracias por compartir la forma de solucionarlo que has encontrado. Si estás trabajando con programación web te recomiendo veas los cursos disponibles en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86 en especial el de JavaScript y Ajax.

Saludos

568
Hola kastilloh, mira este hilo donde se comenta más sobre este problema: https://www.aprenderaprogramar.com/foros/index.php?topic=1842.0

Saludos

569
Hola ejercicio bien resuelto. Tu código en el main es breve y efectivo. Como comentario de detalle lee este hilo donde se comenta el uso de índices en bucles for each de java: https://www.aprenderaprogramar.com/foros/index.php?topic=3210.0

Saludos

570
Hola Danilo, no hay ningún problema por postear, de hecho recomendamos ir posteando los ejercicios de los cursos para así poder obtener orientación, consejos, etc.

Tampoco hay problema con postear dudas, lo único que pedimos es seguir las pautas indicadas para mantener los foros ordenados

Saludos

571
Hola Danilo

Veo que tú mismo has detectado dónde estaba el problema

Aprovecho para comentarte:

Para pegar código en el foro y poner título a los temas hazlo como se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0, esto facilita que sepamos a qué ejercicio te refieres. Por ejemplo en este ejercicio es adecuado incluir en el título del tema del foro: CU00511F declarar variables y mostrar mensajes en C, para poder localizarlo rápidamente.

Para pegar código hazlo como se indica en ese mismo hilo usando [ code ] ... [ / code], así el código queda bien formateado en el foro y se puede copiar y pegar para comprobarlo con mayor rapidez

Saludos

572
Hola Amateu el ejercicio está muy bien resuelto.

Recomendamos no usar eñes ni tildes como nombres de métodos o de clases. getTamaño sería getTamanno. Aunque Java lo admita lo recomendamos para no tener problemas a posteriori.

Saludos

573
Hola

Revisión

1) Correcto

2) Correcto

3) Correcto

4) Mejor que setCancion utilizaríamos addCancion, ya que lo que queremos es añadir, no establecer

Citar
Un método tipo Función nos devuelve un tipo de inf verdad? Entonces el return tendría q colocarse cierto?... Ya q return=Devolución ... Los getters no siempre van acompañados del {return ....;}

Sí, los métodos tipo función llevan return. Los getters normalmente llevan un return. Todo esto se irá estudiando y practicando a medida que avances con el curso.

Por ahora basta con que te quedes con estas ideas:

Los getters se usan para recuperar algo (devuelven algo) y llevan return. Son funciones.

Los setters se usan para establecer algo (no devuelven nada) y no llevan return. Son procedimientos.

Además de los getters y setters puede haber muchos más métodos tipo procedimiento y muchos más métodos tipo función.

Quédate con estas ideas y continua avanzando con el curso, a medida que avances se irá aclarando todo.

Saludos

574
Hola Ariel

Citar
En donde dice crear dos productos congelados por agua y otros dos por agua, asumí que se refería a dos por agua y dos por aire.

Tienes razón ahí, se trata de una pequeña errata.

Tu código tiene un problema de fondo que es el diseño de la herencia, que deberías corregir.

Es recomendable que leas este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=2969.0

También puedes buscar el código CU00687B en el buscador del foro para ver cómo mejorar tu ejercicio.

Según tu diseño un ProductoCongelado es un tipo de ProductoFresco. Esto no tiene sentido pues contraviene el modelo del mundo real. Es cierto que no tiene que haber una adaptación perfecta entre mundo real y código, por ejemplo se pueden introducir en el código algunas clases intermedias que no existan en el mundo real para facilitarnos el trabajo. Pero un diseño debe ser coherente y explicar el mundo real, hacerlo de otra manera sería no hacer lo que se hace por parte de todas las empresas de programación y programadores del mundo, sería como decir que todos están equivocados menos tú, cuando más bien será al revés. En resumen, un diseño debe explicar el mundo real (y quizás ampliarlo un poco para nuestra comodidad) pero no ser contrario al mundo real ni introducir incoherencias.

Te recomiendo que leas en el foro las distintas soluciones, comentarios, etc. y teniendo todo ello en cuenta, vuelvas a crear el código para tu ejercicio. Esto te servirá para asentar ideas y conocimientos.

Saludos

575
Hola Jonathan ya te he comentado en otras ocasiones esto:

Citar
Para poder localizar los ejercicios y poder revisarlos otras personas es importante incluir en el título del tema del foro el código del ejercicio, en este caso CU01058D, junto con las sentencias principales que se usan, en este caso fopen, etc. esto facilita todo.

Por favor colabora incluyendo el código en el título del tema.

Es preferible que en las urls dentro de los ejercicios como src="img/check-yes-1.png" pongas rutas http accesibles desde internet, ya que si pones rutas locales no podemos ver las imágenes (las puedes subir tú mismo a imgur o similar, o capturar la ruta de otra página web, o capturar la ruta de tu servidor, etc. puedes ver un ejemplo en https://www.aprenderaprogramar.com/foros/index.php?topic=3793.0). En tu caso como tienes el ejercicio en un servidor bastaría con capturar la ruta, por ejemplo http://utilities.byethost3.com/cursoCSS/img/check-yes-1.png es la ruta completa que nos permite visualizar el ejercicio.

Tu ejercicio está bien. Se puede intentar acercar más el resultado a la imagen propuesta en el curso, por ejemplo esta propuesta resulta más aproximada: https://www.aprenderaprogramar.com/foros/index.php?topic=3234.0

Saludos

576
Hola Gianz

Para poder ayudarte es deseable que intentes desarrollar el código y pegues en el foro el código hasta donde hayas podido llegar indicando dónde está el problema o error.

Mira este hilo donde se dan orientaciones sobre cómo participar en el foro: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Citar
Antes de hacer una consulta, intenta resolver tú mismo el problema. Cuando no sepas cómo avanzar, prepara el código o pseudocó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

Link a curso de pseudocódigo: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Link a curso de C: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210

Saludos

577
Hola julian.delsol

Para plantear una solución a un ejercicio crea un nuevo hilo (un nuevo tema o conversación en el foro), de esa manera se mantienen las distintas propuestas ordenadas y podemos responderlas de una en una

Para pegar código en el foro (y para otras cuestiones) sigue las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Un método que comienza por set es un método para establecer algún atributo de la clase, por ejemplo setGrosor. No debes nombrar a un método comenzando por set si no tiene este fin. Bueno, poder puedes hacerlo, pero estarás llevándole la contraria a millones de programadores que sólo usan set para establecer atributos

Saludos

578
Hola 3skai, cuando pongas un ejercicio o una consulta relacionada con una entrega de un curso escribe por favor en el título del tema el código de la entrega, por ejemplo en este caso CU00726B

Tu código excede lo que se pedía en el ejercicio. En el curso no se ha explicado el uso de bootstrap ni jQuery, CSS, etc. Para aprender CSS y JavaScript te recomiendo seguir los cursos sobre estos lenguajes disponibles en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86

Al cargar el código aparece el error: Error: Bootstrap's JavaScript requires jQuery

Esto se debe al orden de carga de los elementos, para que no aparezca ese error deben ponerse estas líneas antes de la carga de bootstrap (es decir, en la parte inicial del head):

Código: [Seleccionar]
  <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <!-- Include all compiled plugins (below), or include individual files as needed -->
  <script src="js/bootstrap.min.js"></script>


Saludos

579
Hola 3skai, cuando pongas un ejercicio o una consulta relacionada con una entrega de un curso escribe por favor en el título del tema el código de la entrega, por ejemplo en este caso CU00725B

Con ese código resulta fácil localizar la entrega tanto en el índice del curso como en el buscador de los foros.

El ejercicio está bien resuelto, te indico únicamente: cuando escribas código es preferible hacer todos los cierres /> en las etiquetas que lo precisen (o dejarlos todos sin cierre) pero no poner algunos con cierre y otros sin cierre.

Ejemplo

<input type="file" name="imagen" /> has puesto el cierre (nosotros recomendamos ponerlo)

<input type="text" name="nombre" id="nombre"> no has puesto el cierre


Saludos

580
Hola Gared, cuando plantees una consulta debes indicar el lenguaje de programación que estés utilizando (e información adicional como IDE, versión, compilador o lo que se considere necesario). El lenguaje de programación debe aparecer en el título del tema, así la persona que ve el título sabrá a qué se refiere. Por favor indícalo para revisarlo. Saludos.

Páginas: 1 ... 24 25 26 27 28 [29] 30 31 32 33 34 ... 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".