Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: KillerNemesis en 26 de Septiembre 2014, 23:31
-
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
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!
-
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
-
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!