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

Páginas: [1] 2
1
Hola Ogramar.

Si está, aparece después del tercer cuadro de captura y emisión de datos, al final de la página y luego aparece otra vez antes del primer cuadro de proceso, al principio de la página siguiente, pero creo que es un conector por haberse interrumpido el diagrama de flujo al finalizar la página. Es así?


2
Gracias Ogramar, intento afianzar conceptos antes de seguir avanzando.

Por cierto ni para ti, ni para mi, el ejercicio es el de la unidad CU00137A.  :D :D :D

Saludos.

3
Buenos días Mario.

Gracias de nuevo por tus comentarios, ahora me quedo mas tranquilo de ver que lo que me sucede entra dentro de lo normal a estos niveles.

Un saludo.

4
Buenas tardes

Tengo una duda con respecto al ultimo ejercicio de esta unidad.

Por que aparece un circulo con un 1 en el diagrama de flujo del ejercicio de calculo del tiempo de llenado de un deposito?

5
Buenas tardes.

Quisiera saber si esta opción de pseudocódigo del ejercicio nº 1 de la unidad CU00138A es válida

 1. [Inicio del Pseudocódigo]
     2. [Petición de datos]
         3. Mostrar "La altura del cilindro es": Pedir Altura
         4. Mostrar "El diámetro del cilindro es": Pedir Diametro
         5. PI = 3,141593
     6. [Fin petición de datos]
     7. [Cálculo y muestra de resultados]
         8. Radio = Diametro/2
         9. Volumen = PI *(Radio^2)*Altura
       10. Mostrar "El Volumen del cilindro es" + Volumen + "metros cúbicos"
   11. [Fin Cálculo y muestra de resultados]
12. [Fin pseudocódigo]

Un saludo.

6
Hola de nuevo Mario.

Creo que no he explicado bien lo que quiero decir.

Como ya te dije en el mensaje anterior los pasos que se siguen en el enlace que me has vuelto a enviar, los comprendo perfectamente

Lo que no se es leer el esquema del método.

Si tu me dices desarrolla el proceso de ordenar una lista de números, pues te explico todos los pasos como lo pone tu enlace, de principio a fin, sin ningún problema porque se cual es el proceso lógico que hay que seguir para llegar a ordenar la lista de números.

Ahora me dices, en base al esquema que representa el método para ordenar una lista de números, aplícalo y ordena los números, no sé identificar las expresiones del esquema con los pasos a seguir, es como ya te dije, como si estuviese escrito en un idioma que no entiendo. No se interpretar por ejemplo la expresión "extraemos desde a hasta m+1 con descensos de -1:Actual e
o(e)=o(e-1)
aunque se perfectamente que se refiere a que si el número posterior es mayor al anterior hay que moverlo a la posición del anterior, pero no entiendo porque se expresa de esa forma como forma genérica.

Mi intención ahora, como es evidente, no es saber representar un método en un esquema, sino por lo menos saber leer el esquema que representa un método, me he explicado ahora?

7
Mi problema precisamente es que si tu me das el esquema en cuestión y una lista de números para ordenar, no sé interpretar lo que dice el esquema, es como si tuviese que leer un texto en inglés, no lo entiendo.

Tengo mas dudas sobre el ejercicio CU00119A pero creo que lo voy a dejar y voy a seguir con el tema siguiente a ver si se me van aclarando un poco las ideas.

Quizá sea que yo tengo una idea preconcebida de como debieran de ser las cosas, siempre he pensado que para programar tiene que haber una forma standard de plantear las cosas, aunque cada uno le de su matiz, pero algo uniforme para todos. A modo de ejemplo es como escribir una palabra, si conozco las letras pero no se como encadenarlas para expresar lo que quiero decir, pues no me sirve para nada.

Tu crees que es buena idea avanzar en el temario y seguir intentándolo? 

Saludos.

8
Buenos días Mario.

No se si es que estoy pretendiendo ir mas lejos de lo que me puedan permitir mis conocimientos en el momento actual, pero sigo sin ver claro como se construyen e interpretan los esquemas, aunque si entiendo lo que representan.

Te paso un planteamiento que me he hecho yo para intentar entender el proceso de construcción, ni mucho menos he intentado construir un método pero era para ver si aclaraba un poco mas las ideas

paso1

a=1 =>                        o(a) = v(a)             o(1) = v(1)                o(1) = 33
buscamos el siguiente valor de a

Paso 2
a=2  ; m=a-1 ; m=1                       
                                Si V(a) > o(m)         Si v(2) > o(1)              Si 2 > 33
                                           |                                |                              |
                                          No                             No                            No
                                           |                                |                              |
                                   o(a) = V(a)               o(2) = v(2)             o(2) = 2
buscamos el siguiente valor de a

Paso 3
a=3   ; m=a-1   ; m=2
                                Si V(a) > o(m)          Si v(3) > o(2)             Si 17 > 2
                                          |_________________|______________|
                                                                           Si                           
                                                                             |
                                                                 Desplazamiento
                                           ________________________________
                                          |                                  |                            |
                                      o(m) = V(a)         o(2) = V(3)               0(2) = 17

Me queda un poco en el aire las expresiones del esquema del método de los desplazamientos.

Con respecto al otro enlace, como ya te he dicho entiendo perfectamente el proceso de ordenación pero mi gran problema e el proceso de construcción de los métodos.

9
Gracias Mario. voy a ver con detenimiento los dos enlaces y si tengo dudas me vuelvo a poner en contacto contigo.

Un saludo

10
Gracias Mario.

Voy a verlo con detenimiento y con las dudas que tenga te contesto

11
Buenas tardes.

Mi duda es la siguiente:

Quisiera que alguien me explicase el planteamiento del punto 5º) de la unidad CU00118A, no llego a entender bien el esquema de como se hace el planteamiento del procedimiento general de resolución, ¿Que quiere decir cuando dice "Extraemos desde... hasta...: actual ..., en todos los casos y luego el planteamiento?.
¿Y del procedimiento para desplazar cuando dice "Extraemos desde a hasta m+1 con descensos de -1: actual e y luego el planteamiento?

No entiendo como se llegan a plantear ambos procedimientos en base a las relaciones observadas con anterioridad a lo largo del proceso de ordenación de los números.

Saludos.

12
Hola de nuevo Mario.

Hasta ahora no había reparado en que el método servía para cualquier ecuación de este tipo, de ahí mi incomprensión del porque de resolver la ecuación a mano.

Ahora entiendo perfectamente el porque de tu explicación del 12/03 de 2012, en la que vas enumerando cada uno de los pasos del método y a su vez dándole valores reales, hasta conseguir el valor buscado.

Esto, aunque no es el momento, también se podría hacer aplicando este mismo método a otra ecuación distinta del mismo tipo para ver si nos da el resultado esperado, no es así?

Bueno, creo que por el momento he comprendido todo lo que tenía que comprender.

Gracias de nuevo por tu paciencia y perdona mi insistencia en el tema, esto sera cosa de la edad  ;D ;D ;D ;D ;D ;D

Un saludo.

13
Buenas tardes Mario, gracias por contestar a mis opiniones, lo que yo quiero decir es lo siguiente.

Tu dices "El interés de resolver el problema con datos concretos es precisamente PROBAR EL MÉTODO", pero realmente no se está probando ningún método dándole valores a la x en una formula ya existente, como mucho, a base de darle múltiples valores a la x, podemos recabar información para fijar las reglas a la hora de definir el método, como por ejemplo el intervalo de búsqueda entre 1 y 10 para que no sea muy largo, o la desviación de 0,01, etc.

Una vez fijadas las reglas y definido el método con los pasos exactos a dar para poder programarlo, hay que determinar si es correcto y como tu dices "Una forma para hacerlo es precisamente probándolo a mano", pero estaríamos probando el método con sus reglas, no una formula,¿Entiendes lo que quiero llegar a decir?

Vaya tela como le doy vueltas al coco, estoy que me mareo!!!!  :o :o :o :o :o :o :o


14
Aprender a programar desde cero / Re:ESTRATEGIAS DE RESOLUCIÓN
« en: 06 de Febrero 2015, 18:08 »
Hola Mario.

Te agradezco que hayas contestado a mi pregunta, pues la verdad necesitaba que alguien me dijera algo al respecto.

He leído el hilo que me recomendaste y tiene toda la razón, ademas dice algo que habitualmente me pasa a mi en las cosas que hago. Yo soy una persona que aunque en un principio piense realizar algo por el camino mas corto, me es imposible realizarlo ya que necesito saber realmente lo que estoy haciendo, es decir, siguiendo con el ejemplo del rascacielos, me sería imposible ponerme a construir el rascacielos sin primero saber como se hace el hormigón, como se ponen los ladrillos, etc.

Con Java desde cero, no pensaba que había que tener unas bases de programación previas, por eso comencé a realizar el curso.

Por mi parte me esfuerzo en intentar resolver cualquier duda antes de plantearla en el foro, porque como ya he dicho mas arriba, tengo la necesidad de comprender lo que hago y de nada me sirve aprenderme las cosas de memoria sin comprenderlas.

Bueno, ya corto que me estoy enrollando en un lugar que no corresponde, volveré a estudiar el ejercicio mencionado y abriré un hilo nuevo si sigo con las mismas dudas.

Gracias de verdad y un saludo

PD: a lo mejor como tu dices, no estoy hecho para la programación...¡¡Yo creo que si aunque me cueste al principio!!  ;D ;D ;D ;D ;D ;D


15
Buenas tardes.

No hace mucho comencé el curso de "programación Java inicial" y todo iba bien hasta el ejercicio cu00644b en el que me tuve que parar porque no sabía plantear el problema. Tenía la solución de los foros pero no me sirvió de nada porque seguía sin saber porque se planteaba así el problema, tenía la sensación de que me faltaban conocimientos y fue en ese momento cuando decidí comenzar el curso de "Bases de programación nivel I" para ver si así podía continuar con el curso de Java.

Una vez comenzado el curso todo iba bien hasta llegar al ejercicio Cu00119A en el que a pesar de tener la solución no entendía el planteamiento realizado y de nuevo me volvió a pasar lo mismo que con el curso de JAVA, ¿tendría que tener otros conocimientos previos a la realización del curso? En fin, ahora mismo estoy estancado.
Tengo 50 años, estoy en paro y me gustaría aprender a programar para tener mas opciones a la hora de encontrar un trabajo, por eso quisiera que, sin menospreciar a nadie, me contestase un experto a esta cuestión para ver si me da un poco de luz y se por donde tirar, no se si es que necesito un nivel superior a BUP.
Espero vuestras respuestas.

Muchas gracias.

16
Buenas tardes.
Buscando en algún foro algo referente al tema de estrategias de resolución, he visto de casualidad este tema en el que se resuelve el ejercicio CU00111A y me surgen varias preguntas ya que me ha extrañado ver ejercicios resueltos por varios miembros de los foros y que a mi entender no había que resolver ya que en este caso, creo yo, el resultado no es la prioridad de dicho ejercicio y me gustaría que me contestaseis al respecto.

El ejercicio no consiste en que sepamos como plantear el problema para finalmente llegar a un procedimiento, método, fórmula, etc. que nos dé el resultado con solo indicarle los datos?

No es en este caso irrelevante el resultado puesto que lo estamos calculando como diríamos "a la cuenta de la vieja" y lo importante es que nos quedemos con la idea de como plantear un problema de cara a programarlo?

Lo importante, desde mi punto de vista y desde mi ignorancia, es que vayamos aprendiendo los pasos a seguir para poder plantear un problema con iteración para búsqueda de soluciones y no creo que se deba divagar intentando buscar la solución, sino centrarse en buscar la forma de programar una respuesta que nos dé el resultado a dicho problema, no es asi?

En fin, no se si estoy equivocado, pero me ha extrañado mucho que las respuestas a las preguntas de los foros se centren en explicar como ir probando para calcular el resultado.

Decir que soy totalmente novato en el tema de programación y que hace poco que comencé el curso y no es mi intención para nada rectificar a nadie, solo que viendo de donde venían las respuestas me ha extrañado bastante, de todas formas si he dicho algo que pueda molestar a alguien pido perdón de antemano y eso si, me gustaría que me contestaseis si mi razonamiento es correcto o no.

Un saludo. 

17
Muchas gracias por responder a mi solicitud, he estado una temporada sin realizar el curso por eso mi tardanza.

Adjunto de nuevo el código de la clase casa rectificado a ver si así estuviera correcto.

Como podrás observar los métodos getter de SalonCasa y CocinaCasa son diferentes y los he realizado así a propósito para ver que diferencia hay entre uno y otro. Al ejecutar los métodos veo que el de SalonCasa me devuelve los datos por defecto del constructor y el de CocinaCasa devuelve los datos que he ido introduciendo en el método setter. No se tienes algo que comentar al respecto.

Por otro lado comentarte cosas que he visto en los enlaces que me indicaste. Por un lado había cosas que me han servido pero había otras que me hacían que me liara todavía mas de lo que estaba, siento también dicho motivo el origen de mi retraso en la respuesta.

Hasta la fecha en lo que llevo realizado de curso para realizar los métodos siempre se han utilizado los nombres de los atributos o en este caso los de los objetos. ¿Como puede ser que en la clase casa uno de los objetos se denomine salonCasa y al utilizarlos en los métodos los nombra como salón? ¿no hay que utilizar el nombre del objeto o del atributo en su caso?

A ver si me resuelves la duda porque sobre todo me lío con la denominación del código.

Otra cosa que tampoco entiendo es porque se pone "objetoSalonCasa" ¿Es un nombre aleatorio o para que entienda que se refiere a un objeto hay que ponerlo así. Si le quito la palabra objeto y dejo solo salonCasa, como se llama realmente el objeto, no funciona.

En fin, a ver si me aclaras las dudas


Código: [Seleccionar]
//Ejercicio 642
public class Casa{ //Nombre de la clase

    public double superficie;
    public String direccion;
    public SalonCasa salonCasa;
    public CocinaCasa cocina;

    //Constructor 1: sin parametros
    public Casa (){
        superficie=0.00;
        direccion="Desconocida";
        salonCasa=new SalonCasa();//Creamos un objeto SalonCasa con el constructor general de SalonCasa
        cocina=new CocinaCasa();//Creamos un objeto CocinaCasa con el constructor general de CocinaCasa
    }

    //Constructor 2: Con parametros
    public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa){
        superficie=valorSuperficie;
        direccion=valorDireccion;
        //Creamos un objeto SalonCasa con los mismos datos del objeto SalonCasa recibido como parametro
        salonCasa=new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon());
        //Creamos un objeto CocinaCasa con los mismos datos del objeto CocinaCasa recibido como parametro
        cocina=new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos());
    }

    //Metodo para establecer la superficie de un objeto Casa
    public void setSuperficie (double valorSuperficie){
        superficie=valorSuperficie;
    }
    //Metodo para establecer la Direccion de un objeto Casa
    public void setDireccion (String valorDireccion){
        direccion=valorDireccion;
    }

    //Metodo para establer salonCasa
    public void setSalonCasa (SalonCasa objetoSalonCasa){
        salonCasa=new SalonCasa(objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon());
    }

    //Metodo para establecer cocina
    public void setCocina (CocinaCasa valorCocina){
        cocina=new CocinaCasa();
        cocina.setEsIndependiente(valorCocina.getEsIndependiente());
        cocina.setNumeroDeFuegos(valorCocina.getNumeroDeFuegos());
    }

    //Metodo para obtener la superficie de un objeto Casa
    public double superficie () {return superficie;}
    //Metodo para obtener la dierección de un objeto Casa
    public String dirección () {return direccion;}

    //Metodo para obtener el salonCasa de un objeto Casa
    public SalonCasa getSalonCasa (){
        salonCasa=new SalonCasa();
        salonCasa.getNumeroDeTelevisores();
        salonCasa.getTipoSalon();
        return salonCasa;
    }
   
    //Metodo para obtener la cocina de un objeto Casa
    public CocinaCasa getCocina (){
        cocina=new CocinaCasa(cocina.getEsIndependiente(), cocina.getNumeroDeFuegos());
    return cocina;
}
           

    //Metodo para obtener la información sobre el objeto Casa
    public String getDatosCasa(){
        int numeroDeTelevisores=salonCasa.getNumeroDeTelevisores();
        String tipoSalon=salonCasa.getTipoSalon();
        boolean esIndependiente=cocina.getEsIndependiente();
        int numeroDeFuegos=cocina.getNumeroDeFuegos();

        String datosCasa= "El objeto Casa presenta estos datos. Superficie: " + superficie + " Dirección: " + direccion + " Número de televisores: " + numeroDeTelevisores + " Tipo de salon: " + tipoSalon + " ¿es independiente?: " + esIndependiente + " numero de fuegos: " + numeroDeFuegos;

        System.out.println (datosCasa);
        return datosCasa;
    }//Cierre del metodo

}//Cierre de la clase



18
Hola a todos.

Como es habitual os envío el resultado del ejercicio CU00642 para su corrección.

Saludos.

Código: [Seleccionar]
//Ejercicio CU00642
public class CocinaCasa {

    public boolean esIndependiente;
    public int numeroDeFuegos;

    //Constructor 1
    public CocinaCasa (){
        esIndependiente=false;
        numeroDeFuegos=0;
    }
   
    //Constructor 2: recibiendo parametros
    public CocinaCasa (boolean esIndependiente, int numeroDeFuegos){
        esIndependiente=false;
        numeroDeFuegos=0;
    }

    public void setEsIndependiente (boolean valorEsIndependiente){
        esIndependiente=valorEsIndependiente;
    }

    public void setNumeroDeFuegos (int valorNumeroDeFuegos){
        numeroDeFuegos=valorNumeroDeFuegos;
    }

    public boolean getEsIndependiente ()
    {return esIndependiente;}

    public int getNumeroDeFuegos ()
    {return numeroDeFuegos;}
}

Código: [Seleccionar]
//Ejercicio CU00642
public class SalonCasa {

    public int numeroDeTelevisores;
    public String tipoSalon;

    //Constructor 1
        public SalonCasa () {
        numeroDeTelevisores=0;
        tipoSalon="Desconocido";
    }
   
    //Constructor 2: recibiendo parametros
    public SalonCasa (int numeroDeTelevisores, String tipoSalon){
        numeroDeTelevisores=0;
        tipoSalon="Desconocido";
    }
   
    public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
        numeroDeTelevisores=valorNumeroDeTelevisores;
    }
   
    public void setTipoSalon (String valorTipoSalon){
        tipoSalon=valorTipoSalon;
    }
   
    public int getNumeroDeTelevisores () {
        return numeroDeTelevisores;
    }
   
    public String getTipoSalon (){
        return tipoSalon;
    }
}

Código: [Seleccionar]
//Ejercicio CU00642
public class Casa{

    public double superficie;
    public String direccion;
    public SalonCasa salonCasa;
    public CocinaCasa cocina;

    //Constructor 1
    public Casa (){
        superficie=0.00;
        direccion="Desconocida";
        salonCasa= new SalonCasa ();
        cocina=new CocinaCasa ();
    }

    //Constructor 2: recibe parametros
    public Casa(double superficie, String direccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa){
        superficie=0.00;
        direccion="desconocida";
        salonCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon());
        cocina = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos());
    }

    public void setSuperficie (double valorSuperficie){
        superficie=valorSuperficie;
    }

    public void setDirección (String valorDireccion) {
        direccion=valorDireccion;
    }

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

    public void setTipoSalon (String valorTipoSalon){
        salonCasa.setTipoSalon (valorTipoSalon);
    }
   
    public void setEsIndependiente (boolean valorEsIndependiente) {
        cocina.setEsIndependiente (valorEsIndependiente);
    }
   
    public void setNumeroDeFuegos (int valorNumeroDeFuegos) {
        cocina.setNumeroDeFuegos (valorNumeroDeFuegos);
    }
   
    public String getDatosCasa () {
        double superficie=0.00;
        String direccion="desconocida";
        int numeroDeTelevisores=salonCasa.getNumeroDeTelevisores ();
        String tipoSalon=salonCasa.getTipoSalon ();
        boolean esIndependiente=cocina.getEsIndependiente ();
        int numeroDeFuegos=cocina.getNumeroDeFuegos ();
       
        String datosCasa = "El objeto Casa presenta estos datos. Superficie: " + superficie + " Dirección: " + direccion + " Numero de televisores: " + numeroDeTelevisores + "¿Es la cocina independiente?: " + esIndependiente + " Numero de fuegos: " + numeroDeFuegos;
       
        System.out.println (datosCasa);
        return datosCasa;
    }   
}

19
Hola otra vez Papipanchi.

Respecto al constructor con parámetros te digo lo mismo que en el anterior ejercicio. Debes incluir parámetros para los atributos booleanos. Por lo demás el ejercicio esta perfectamente desarrollado.

Además, aunque el ejercicio no lo pida o no lo indique, acostumbrate a crear siempre un constructor que no reciba parámetros e inicialice los atributos por defectos. No siempre será utilizado, pero nunca esta demás tenerlo declarado.

Un saludo!

Gracias por el consejo Gilding. Lo tendré en cuenta en adelante.

Saludos

20
Hola Papipanchi.

El ejercicio cumple con todo lo que solicita el enunciado del problema y funciona correctamente. El único apunte que te hago es que no era necesario denominar la clase de otra forma. Si lo que querías era ponerle un nombre que la diferenciara de la clase de otro ejercicio o para futuras revisiones, podrías haberle puesto un nombre más descriptivo como "BombaMotor", "MotorBomba", "MotorFluidos", "BombaFluidos", etc etc. Algo que con solo ver el nombre te permita saber que clase es, o de que ejercicio se trata.

Un saludo!.

Gracias por tu apunte Gilding.

Un saludo.

Páginas: [1] 2

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