Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: emma en 14 de Marzo 2015, 03:13

Título: Ejemplo diferencias entre función y procedimiento en Java CU00630B
Publicado por: emma en 14 de Marzo 2015, 03:13
Les dejo mi interpretación del ejercicio.

Código: [Seleccionar]
public class DiscoMusical
{
   
    //Atributos
   
    //  ...
   
   
    //Constructor
   
    //  ...
   
    //Getters y Setters
   
    //  ...
   
        //Métodos
   
        public String CargaDuracPistas(String nombrePista){
           
            /**
             * 2)
             * Siempre que el método devuelva algo, es tratado como una función, en este caso
             * las duraciones se almacenarán en el atributo correspondiente, suponiendo que exista un
             * límite con respecto a las duraciones de las canciones podría retornar un mensaje indicando que se
             * superó el límite.
             */
        }
   
        public void CalculaTotalDurac(){
           
            /**
             * 3)
             * Procedimiento.
             *
             * Solamente calcula el total de duraciones, de las canciones y posteriormente puede
             * almacenarlo en alguna variable local o de instancia.
             */
        }
       
        public void getDiscTime(){
           
            /**
             * 1)
             * En este caso, es un procedimiento, ya que no necesita devolver ningún valor,
             * la duración de la canción podría obtenerla del atributo específico de la clase.-
             */
        }
       
        public void AgregarCancion(String tituloCancion, float durac){
           
            /**
             * 4)
             * Procedimiento.
             * Funcionaría pidiendo los parámetros al usuario y resolviendo la posición de
             * la canción.
             *
             * Supongamos que sea una función, podría avisar al usuario, que las canciones fueron
             * agregadas correctamente como valor de retorno.
             */
       
        }
       
    }//

Gracias.!!  ;)
Título: Re:Ejercicio COD. CU00630B "Aprender programación en java desde Cero"
Publicado por: toni_apr en 16 de Marzo 2015, 15:41
Hola emma

Veo que tienes claro que una signatura se compone de la totalidad del método excepto de las llaves y del código dentro de ellas.

Quiero comentarte para posteriores usos, que los comentarios para un método dentro de la clase, se añaden antes del método en cuestión.
Dentro del método se colocan los comentarios a líneas o bloques de código, y también antes del código en cuestión.

Comento tu respuesta:

1) public void getDiscTime()
Este método debería devolver un float, y como pide de una canción, tal vez será mejor getSongTime. Y dentro de los paréntesis, de que canción queremos la duración, resumiendo:
    public float getSongTime(int numeroCancion)

2) public String CargaDuracPistas(String nombrePista)
En el enunciado no se pide que este método devuelva nada, por lo tanto devolverá void (procedimiento). Y como nombre de método podría ser: tomaTituloYDuracionTodasLasCanciones. Y no recibe ningún parámetro, resumiendo:
    public void tomaTituloYDuracionTodasLasCanciones()

3) public void CalculaTotalDurac()
El nombre del método está bien, pero ese cálculo es el que ha de devolver el método, ha de devolver un float, resumiendo:
    public float calculaTotalDurac()
Nota: los métodos por convención empiezan siempre con minúscula.

4) public void AgregarCancion(String tituloCancion, float durac)
Esta signatura está perfecta, excepto que debería empezar con minúscula.

Cuando se habla de signaturas, se habla de la parte visible y pública del método, no de su contenido, del código que incluye, es decir:

Para el método: public float getSongTime(int numeroCancion)
ambito del método: public
retorno del método: float
nombre del método: getSongTime
parámetros del método: int numeroCancion

Y eso es todo.

Saludos
Título: Re:Ejemplo diferencias entre función y procedimiento en Java CU00630B
Publicado por: emma en 17 de Marzo 2015, 22:35
Gracias por las correcciones, !!