Foro de elhacker.net

Programación => Java => Mensaje iniciado por: jpmarti91 en 2 Octubre 2015, 16:14 pm



Título: Duda Ejercicio básico java
Publicado por: jpmarti91 en 2 Octubre 2015, 16:14 pm
Buenas! Acabo de empezar dam y nos han planteado un ejercicio, del cual espero me podáis iluminar, orientar a la manera más lógica y limpia de resolverlo.
Os escribo el enunciado: Un programa tendrá los datos de dos piscinas rectangulares,
1: ancho:300                      2: ancho: 300
    largo: 150                          largo: 80
   Profundidad 20                     profundidad: 35

El programa deberá calcular y mostrar por pantalla los siguientes datos:
1- area de cada una.
2- Volumen de cada una
3- Valores de ancho i largo si ponemos las piscinas una al lado de la otra (Compartiendo un lado)
4- El area que ocupan una al lado de la otra
5- Volumen que tienen entre las dos piscinas
6- Intercambiando el valor de profundidad de las piscinas, sus nuevas dimensiones i el volumen que tendrian entonces
 (piscina 1 quedaria ancho 300//largo150//profundidad 35)

Y esta es la manera que a mi se me ha ocurrido (os transcribo el código ya que no me manejo bien con las imágenes en el foro...)


Código:
//Aquest programa farà diversos càlculs partint de les dades proposades
public class S2_1_PerezM {
      
public static void main (String []args){
 //Dividim el codi en dos blocs, en el primer, assignem les dades a variables i en el segón les cridarem.
    int amplada = 300, llarg1=150, llarg2 = 80, prof1=20, prof2=35;
    
 //Les variables següents operen amb les anteriors i substitueixen fórmules.
    int area1 = amplada*llarg1, area2 = amplada*llarg2;
    int volum1 = area1*prof1, volum2 = area2*prof2;
 
    //Cridem les variables en lloc de fer càlculs
    System.out.print("Piscina 1:\n\t Àrea: " +area1+"\n\t Volum: "+volum1+".\n");
    System.out.println("Piscina 2:\n\t Àrea: "+area2+".\n\t Volum: "+volum2+".\n");
  
    System.out.print("Les dimensions d'una al costat del altre són: "
      +(llarg1+llarg2)+" de llarg i "+amplada+" d'ample.\n");
    
    //Per obtenir l'area de les dues piscines juntes haurem de sumar primer les dues llargàries   i després multiplicar.
    System.out.println("L'àrea total d'una piscina al costat de l'altre és de: "+((llarg1+llarg2)*amplada)+".");
    System.out.println("El volum de totes dues és: "+(volum1+volum2)+".");
    
    //Per acabar, mostrem les dimensions amb el volum intercanviat de totes dues amb salts de línea i tabulant.
    System.out.println("\nSi intercambiem la profunditat les dimensions són:");
    System.out.println("Piscina 1:\n\t Ample: "+amplada+"\n\t Llarg: "+llarg1+"\n\t Profunditat: "+prof2+"\n\t Volum: "+(area1*prof2));
    System.out.println("Piscina 2:\n\t Ample: "+amplada+"\n\t Llarg: "+llarg2+"\n\t Profunditat: "+prof1+"\n\t Volum: "+(area2*prof1));
    }
}

Aunque esté en catalán son palabras muy sencillas. Cridar es llamar, i lloc es lugar, el resto es muy fácil deducir.  No pido que me resuelvan el ejercicio ni mucho menos, sino entender la forma en que un programador experimentado abordaría el problema para aprender de él. Cualquier consejo será bien recibido. Gracias por leerlo. Un saludo.

(http://i1042.photobucket.com/albums/b425/jpmarti91/e0ff0899-1589-47a1-bfd1-cfd7ab84989b_zpshhx9xrrq.png) (http://s1042.photobucket.com/user/jpmarti91/media/e0ff0899-1589-47a1-bfd1-cfd7ab84989b_zpshhx9xrrq.png.html)

PS: Está bien indentado?
PS2: Pido disculpas si estoy infriniendo alguna de las normas del foro, no estoy muy familiarizado y si he cometido algún error es totalmente involuntario.