Autor
|
Tema: Necesito ayuda para realizar un ejercicio bastante complejo en CodeBlocks (Leído 3,890 veces)
|
galucas96
Desconectado
Mensajes: 3
|
Este es el enunciado:
El atunero Quicksilver ha salido a faenar. El arte de pesca que efectúa es artesanal, de manera que pescan uno a uno los atunes.
Si el atún no es lo suficientemente grande, lo devuelven al mar, y sino, lo congelan clasificándolo según su peso (kg) en las siguientes categorías:
(0) Los atunes de [5-10) kg, (1) Los atunes de [10-20) kg, (2) Atunes de [20-40) kg y (3) Los que pesan 40 kg o más.
Y cada categoría genera, respectivamente, las siguientes ganancias: 2.35€/kg, 2.98€/kg, 3.15€/kg y 1.50€/kg. (¡Ojo!, euros por kilogramo de atún).
La captura se da por finalizada cuando el atunero regrese a puerto.
Entrada de datos (0 para terminar, y los pesos en kg. Se muestran en negrita)
Pesos de las capturas: 26.8 35.1 2 51.9 …0
Con los datos registrados, se pide determinar:
1.¿Cuántas capturas ha realizado por cada categoría de atún? 2.¿Cuánta ganancia ha obtenido con la pesca realizada? 3.¿Cuál ha sido la categoría de atún que mas ganancia ha reportado al atunero? 4.Dada una categoría de atún, indicar el número de kilos capturados. Repetir el proceso mientras el número de categoría introducido sea válido.
Ejemplo de ejecución
Categorías de atún en función del peso: 0) [5-10) kg, 1) [10-20) kg, 2) [20-40) kg, 3) 40 kg o más. Dame una categoría (0..3): 2 Se han capturado 2343.7 kg de atún
Categorías de atún en función del peso: 0) [5-10) kg, 1) [10-20) kg, 2) [20-40) kg, 3) 40 kg o más. Dame una categoría (0..3): 3 Se han capturado 98.7 kg de atún
Categorías de atún en función del peso: 4) [5-10) kg, 5) [10-20) kg, 6) [20-40) kg, 7) 40 kg o más. Dame una categoría (0..3): 5
|
|
|
En línea
|
|
|
|
Orubatosu
|
Parece ligeramente laborioso, pero complejo... no, simplemente hay que montar acumuladores y usar por ejemplo un switch con 4 ramas
Ayudaría bastante que pusieras lo que tienes ya hecho
|
|
|
En línea
|
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness" Hideto Matsumoto 1964-1998
|
|
|
zShackra
|
Lee las normas del subforo, no se realizan tareas, sólo has puesto un enunciado, demuestra que has intentado solucionar algo y con seguridad recibirás orientación... repito que aquí NO SE RESUELVEN TAREAS.
P.D.: Sí es cierto, no es nada complejo. Sólo analiza con paciencia y desglosa el enunciado.
|
|
|
En línea
|
|
|
|
galucas96
Desconectado
Mensajes: 3
|
No pido la solución del ejercicio, preguntaba aver si podíais guiarme por donde tirar, ya que no se como hacer el programa, usando if, for, do-while, switch...
Controlo los principales comandos del programa pero a la hora de crear programas me atasco y no se por donde tirar.
Si me podríais dar algún consejo os lo agradecería.
|
|
|
En línea
|
|
|
|
zShackra
|
No pido la solución del ejercicio, preguntaba aver si podíais guiarme por donde tirar, ya que no se como hacer el programa, usando if, for, do-while, switch...
Controlo los principales comandos del programa pero a la hora de crear programas me atasco y no se por donde tirar.
Si me podríais dar algún consejo os lo agradecería.
Lo lamento pero si no logras descifrar un enunciado de un ejercicio, dudo mucho que recibas ayuda. Los foros se usan para buscar orientación en un punto de ofuscamiento, si no das de tu parte, nadie te dará todo en bandeja de plata. Si sientes que no puedes empezar por nada, que se te hace muy intrincado y casi imposible, es mejor que comiences a estudiar una rama que se llama Lógica, y si es posible... que leas un libro de matemática discreta. Son esos los libros y ramas los que desarrollan tu parte lógica más abstracta. Si no tienes mucho tiempo, por cualquier motivo... entonces busca ejercicios sobre lógica, de comprensión de enunciados, de resolución de problemas... con pseudocódigo al menos. No te lo digo por creerme más que tú ni nada por el estilo, si es orientación lo que buscas, la mejor que te puedo dar en lo personal, es decirte qué caminos tomar, está en ti si decides tomarlos o no. Programar no es solamente escribir código, es dar órdenes de forma lógica, eficiente y estructurada.
|
|
|
En línea
|
|
|
|
Orubatosu
|
El problema quizás es que crees que esto es mirar el enunciado y ponerte a picar código, y no, así no va el tema.
Como dijo Jack (el destripador) "vayamos por partes".
Divide tu problema en trozos, y ataca a cada uno por separado. No es lo mismo un problema grande que tres o cuatro pequeños. Por ejemplo plantea como capturas los datos, luego como los acumulas y finalmente como sacas los resultados.
Piensa en cuantas variables y de que tipo vas a usar. Luego puedes añadir o quitar, pero empieza organizando esto.
¿Que usar, un if-for-do-while?.. depende. ¿En que punto?
Son estructuras que se parecen, pero no hacen lo mismo
Por ejemplo, "coger los datos"... ¿Un For?... no, porque no sabes cuantos datos vas a capturar, como el mismo enunciado dice "hasta un peso 0"... pues un while obviamente, es la solución mas simple.
Capturas datos, a partir de UN dato (Un pez... atún, rico maguro mmmmm....) tienes 4 opciones en base a su peso.
¿Algo para múltiples opciones?... me viene a la cabeza un switch. Ya conoces la categoría, pues empieza a acumular datos según los necesites de pesos, numero de peces, etc... cuando termines solo tendrás que sacar un par de cálculos simples y hale... a correr.
No intentes hacer todo el programa de una sentada, hazlo por partes, pruebalo con pocos datos (uno de cada por ejemplo) y compila frecuentemente para asegurarte de que no se te están colando gazapos, que falte algún ";", etc...
Y como te han dicho, programar no es conocer los comándos, como hablar otro idioma no es solo conocer las palabras. Hay que conocer la "gramática" y sobre todo analizar el problema, incluso con papel y lápiz haciendo un diagrama de flujo general para tener las cosas mas claras. Un papel, lápiz y un pequeño diagrama, o unas pruebas en papel que cuestan cinco minutos pueden ahorrar mucho tiempo.
Y de nuevo, el problema puede ser laborioso, pero "complejo".... no, complejo no. Solo hay que tomar unas decisiones y sumar datos.
Un Switch te funcionaría, lo mismo que "If", solo que los if probablemente, dado que hay 4 opciones pueden hacer que te líes. Intenta ir siempre a la solución mas sencilla siempre que puedas.
|
|
|
En línea
|
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness" Hideto Matsumoto 1964-1998
|
|
|
galucas96
Desconectado
Mensajes: 3
|
Muchas gracias por los consejos y las pautas que has comentado, creo que me van a ser de gran utilidad. Os comentare como me ha quedado cuando lo acabe
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda para crear un BAT complejo
Scripting
|
elecktra
|
3
|
4,427
|
21 Enero 2010, 16:50 pm
por elecktra
|
|
|
Necesito ayuda con un serial bastante complejo, que esta desempacado con Telock
Ingeniería Inversa
|
manakagruya
|
4
|
3,688
|
1 Febrero 2012, 19:14 pm
por MCKSys Argentina
|
|
|
Ejercicio en C, COdeblocks
Programación C/C++
|
SonaArtica
|
1
|
4,242
|
27 Agosto 2012, 09:02 am
por do-while
|
|
|
Necesito bastante ayuda
Análisis y Diseño de Malware
|
yupiyu99
|
1
|
2,693
|
26 Noviembre 2015, 11:59 am
por .:UND3R:.
|
|
|
clase Complejo para definir un numero complejo y realizar las operaciones
Programación C/C++
|
angeljonh
|
4
|
8,801
|
1 Septiembre 2017, 04:21 am
por angeljonh
|
|