Autor Tema: Ejercicio CU00630B diferencia entre función y procedimiento Java  (Leído 3048 veces)

KillerNemesis

  • Sin experiencia
  • *
  • Mensajes: 25
    • Ver Perfil
Buena tarde señores publico mi ejercicio aunque me demore un poco "mucho" en entender lo que debia hacer exactamente  ;D  espero lo puedan revisar y me puedan dar su punto de vista y en caso de tener errores me los hagan saber ya que me esta costando un poco de trabajo razonar como resolver el tipo de "problema" q se plantea en los ejercicios
Como saber si es Funcion ó Procedimiento
 
Get  Solo obtiene el dato y lo muestra. Asi que seria Funcion

Set Puede solicitar ó reasignar valores. Asi que seria un procedimiento

Código: [Seleccionar]
Obtener la duracion de una cancion expresada como un
numero decimal en minutos (por ejemplo podria ser 3,22
minutos) recibiendo como dato el numero de cancion dentro
del disco.

[b]public float getsongLenght (int songTrack)[/b]   [color=green]Función[/color]


2) Pedir a un administrador de una compañía discográfica
que introduzca la duración de todas las canciones (dichas
duraciones se almacenarán como información del objeto).
Es decir, el método se encargará de saludar al usuario
y pedirle que vaya introduciendo una por una la duración
de las canciones.

[b]public void setallsongLenght()[/b]   [color=orange]Procedimiento[/color]



3) Obtener la duración del disco completo (suma de las
duraciones de cada una de las canciones).

[b]public float getallDiscLeght()[/b]   [color=green]Funcion[/color]


4) Añadir una canción al disco recibiendo como
información para ello el título de la canción y su
duración (se añadirá como última canción en el disco.
Si el disco tenía por ejemplo 10 canciones, al añadirse
una canción pasará a tener 11).


[b]public void setnewSong (String Title, float songLeght)[/b]  [color=orange] Procedimiento[/color]

No supe como crear el procedimiento para que "Si el disco tenía por ejemplo 10 canciones, al añadirse
una canción pasará a tener 11)."

espero me puedan ayudar con ese detalle de antemano se los agradesco

Saludos!
« Última modificación: 28 de Septiembre 2014, 10:20 por Alex Rodríguez »

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Ejercicio CU00630B Función-Procedimiento Java
« Respuesta #1 en: 27 de Septiembre 2014, 09:52 »
Hola KillerNemesis
Tu respuesta al ejercicio
Definir las signaturas...
La has cumplido, pero te añado comentarios para clarificar.

Primero. Tu observación que los métodos get y set son  de tipo función y procedimiento son correctos.
Pero el uso de estos prefijos se usa solo para los métodos que manipulan los atributos de la clase, no para todos los métodos que creas en la clase

En este ejercicio no se especifica cuales son los atributos de la clase, así pues todos los métodos cuya signatura te pedimos no deberían incorporar esos prefijos

De esta forma tu método:
public float getsongLenght (int songTrack)
quedaria:
public float songLenght (int songTrack)

¿Cómo sabemos que el método es función o procedimiento?
Pues leyendo su signatura
Si incluye el tipo de valor devuelto 'float', será de tipo función
Si incluye la palabra clave 'void', será de tipo procedimiento

En las signaturas de tus métodos solo has de quitar los prefijos set y get

public void setallsongLenght()
public void allsongLenght()

public float getallDiscLeght()
public float allDiscLeght()

public void setnewSong (String Title, float songLeght)
public void newSong (String Title, float songLeght)

En cuanto a tu pregunta
¿Cómo hacer que la próxima canción sea la 11 si hay 10 ahora?

Eso no forma parte de la signatura del método. Esa es una información accesoria que tal vez te ha complicado entender lo que tienes que hacer.
Tu no tienes que hacer nada
El código interno del método ya se encargará de hacer ese trabajo

Aunque eso no es un problema serio.
Nuestra clase 'DiscoMusical' debería saber en todo momento cuantas canciones contiene, así pues al añadir otra sería algo como:
Si tengo 10 canciones, la próxima 10+1, si tengo 33 la próxima 33+1, ¿comprendes?

Saludos

KillerNemesis

  • Sin experiencia
  • *
  • Mensajes: 25
    • Ver Perfil
Re:Ejercicio CU00630B diferencia entre función y procedimiento Java
« Respuesta #2 en: 07 de Octubre 2014, 19:45 »
Citar
Primero. Tu observación que los métodos get y set son  de tipo función y procedimiento son correctos.
Pero el uso de estos prefijos se usa solo para los métodos que manipulan los atributos de la clase, no para todos los métodos que creas en la clase

En este ejercicio no se especifica cuales son los atributos de la clase, así pues todos los métodos cuya signatura te pedimos no deberían incorporar esos prefijos

Muchas gracias por tus observaciones y las aclaraciones antes mencionadas se me complica un poco dominar esas partes pero tu ayuda me ha servido  mucho para próximas referencias al hacer ejercicios de este tipo, agradezco tu ayuda!

Saludos!

 

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