Skip to content

Commit

Permalink
Agregando el ejercicio 12
Browse files Browse the repository at this point in the history
  • Loading branch information
Fabian-Martinez-Rincon committed May 24, 2023
1 parent 938dbe2 commit ef8f696
Show file tree
Hide file tree
Showing 10 changed files with 200 additions and 74 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package ar.edu.unlp.info.oo1.Ejercicio_12_Volumen_y_superficie_con_solidos;

public class Cilindro extends Pieza{
private int radio;
private int altura;

public Cilindro(int radio, int altura, String material, String color) {
super(material,color);
this.radio=radio;
this.altura=altura;
}

public double getVolumen(){
return (int) Math.round(Math.PI*(Math.pow(this.radio,2))*this.altura);
}
public double getSuperficie(){
return (int) Math.round(2*Math.PI*this.radio*this.altura+2*Math.PI*Math.pow(this.radio,2));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package ar.edu.unlp.info.oo1.Ejercicio_12_Volumen_y_superficie_con_solidos;

public class Esfera extends Pieza{
private int radio;

public Esfera(int r, String m, String c) {
super(m,c);
this.radio = r;
}

public int getRadio() {
return radio;
}

public void setRadio(int radio) {
this.radio = radio;
}

public double getVolumen() {
return 1.33333333333 * Math.PI * Math.pow(this.getRadio(), 3);
}

public double getSuperficie() {
return 4 * Math.PI * Math.pow(radio, 2);
}

}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package ar.edu.unlp.info.oo1.Ejercicio_12_Volumen_y_superficie_con_solidos;

public abstract class Pieza {
private String material;
private String color;

public String getMaterial() {
return material;
}
public void setMaterial(String material) {
this.material = material;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public Pieza(String material, String color) {
this.material = material;
this.color = color;
}

public abstract double getVolumen();
public abstract double getSuperficie();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package ar.edu.unlp.info.oo1.Ejercicio_12_Volumen_y_superficie_con_solidos;

public class PrismaRectangular extends Pieza{
private int ladoMayor;
private int ladoMenor;
private int altura;

public PrismaRectangular(int lMa, int lMe, int h, String m, String c) {
super(m,c);
this.ladoMayor = lMa;
this.ladoMenor = lMe;
this.altura = h;
}

public int getLadoMayor() {
return ladoMayor;
}
public void setLadoMayor(int ladoMayor) {
this.ladoMayor = ladoMayor;
}
public int getLadoMenor() {
return ladoMenor;
}
public void setLadoMenor(int ladoMenor) {
this.ladoMenor = ladoMenor;
}
public int getAltura() {
return altura;
}
public void setAltura(int altura) {
this.altura = altura;
}

public double getVolumen() {
return this.getLadoMayor() * this.getLadoMenor() * this.getAltura();
}

public double getSuperficie() {
return 2 * (ladoMayor * ladoMenor + ladoMayor * altura + ladoMenor * altura);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package ar.edu.unlp.info.oo1.Ejercicio_12_Volumen_y_superficie_con_solidos;

import java.util.ArrayList;
import java.util.List;

public class ReporteDeConstruccion {
private List<Pieza> piezas;

public ReporteDeConstruccion() {
this.piezas = new ArrayList<Pieza>();
}

public void addPieza(Pieza pieza) {
this.piezas.add(pieza);
}

public double getVolumenDeMaterial(String material) {
return this.piezas.stream()
.filter(p -> p.getMaterial().equals(material))
.mapToDouble(p -> p.getVolumen())
.sum();
}

public double getSuperficieDeColor(String color) {
return this.piezas.stream()
.filter(p -> p.getColor().equals(color))
.mapToDouble(p -> p.getSuperficie())
.sum();
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package ar.edu.unlp.info.oo1.Ejercicio_12_Volumen_y_superficie_con_solidos;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.time.LocalDate;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

public class PiezasTest {

ReporteDeConstruccion reporte;
Cilindro cilindro;
Esfera esfera;
PrismaRectangular prisma;

private void initialize() {
reporte = new ReporteDeConstruccion();
cilindro = new Cilindro(10,20,"Hierro","Rojo");
esfera = new Esfera(8,"Hierro","Azul");
prisma = new PrismaRectangular(10,5,30,"Metal","Azul");
}

@BeforeEach
public void setUp() {
this.initialize();
}

@Test
public void testInicial() {
assertEquals(6283.185,cilindro.getVolumen(),1e-3);
assertEquals(1884.955,cilindro.getSuperficie(),1e-3);
assertEquals(2144.660,esfera.getVolumen(),1e-3);
assertEquals(804.247,esfera.getSuperficie(),1e-3);
assertEquals(1500,prisma.getVolumen());
assertEquals(1000,prisma.getSuperficie());
}

@Test
void testReportes() {
reporte.addPieza(cilindro); reporte.addPieza(esfera);
reporte.addPieza(prisma);
assertEquals(8427.845,reporte.getVolumenDeMaterial("Hierro"),1e-3);
assertEquals(1500,reporte.getVolumenDeMaterial("Metal"));
assertEquals(1884.955,reporte.getSuperficieDeColor("Rojo"),1e-3);
assertEquals(1804.247,reporte.getSuperficieDeColor("Azul"),1e-3);
}
}
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -648,8 +648,12 @@ Cuando se quiere saber cuánto dinero representan las inversiones del inversor,

<img src= 'https://i.gifer.com/origin/8c/8cd3f1898255c045143e1da97fbabf10_w200.gif' height="20" width="100%">



- [ReporteDeConstruccion](/Practica/Ejercicio%2012%20Volumen%20y%20superficie%20con%20s%C3%B3lidos/Ejercicio-12-Volumen-y-superficie-con-solidos/src/main/java/ar/edu/unlp/info/oo1/Ejercicio_12_Volumen_y_superficie_con_solidos/ReporteDeConstruccion.java)
- [Pieza](/Practica/Ejercicio%2012%20Volumen%20y%20superficie%20con%20s%C3%B3lidos/Ejercicio-12-Volumen-y-superficie-con-solidos/src/main/java/ar/edu/unlp/info/oo1/Ejercicio_12_Volumen_y_superficie_con_solidos/Pieza.java)
- [Cilindro](/Practica/Ejercicio%2012%20Volumen%20y%20superficie%20con%20s%C3%B3lidos/Ejercicio-12-Volumen-y-superficie-con-solidos/src/main/java/ar/edu/unlp/info/oo1/Ejercicio_12_Volumen_y_superficie_con_solidos/Cilindro.java)
- [Esfera](/Practica/Ejercicio%2012%20Volumen%20y%20superficie%20con%20s%C3%B3lidos/Ejercicio-12-Volumen-y-superficie-con-solidos/src/main/java/ar/edu/unlp/info/oo1/Ejercicio_12_Volumen_y_superficie_con_solidos/Esfera.java)
- [PrismaRectangular](/Practica/Ejercicio%2012%20Volumen%20y%20superficie%20con%20s%C3%B3lidos/Ejercicio-12-Volumen-y-superficie-con-solidos/src/main/java/ar/edu/unlp/info/oo1/Ejercicio_12_Volumen_y_superficie_con_solidos/PrismaRectangular.java)
- [PiezaTest](/Practica/Ejercicio%2012%20Volumen%20y%20superficie%20con%20s%C3%B3lidos/Ejercicio-12-Volumen-y-superficie-con-solidos/src/test/java/ar/edu/unlp/info/oo1/Ejercicio_12_Volumen_y_superficie_con_solidos/PiezasTest.java)

---

Expand Down Expand Up @@ -691,6 +695,8 @@ Asegúrese de proveer tests de unidad para todo el comportamiento desarrollado.

Probablemente note una similitud entre este ejercicio y el ejercicio de "Figuras y cuerpos” que hizo anteriormente. En ambos ejercicios usted podía construir cilindros y prismas rectangulares. Sin embargo las implementaciones varían. Discuta diferencias y similitudes con el ayudante.

![](/Practica/Ejercicio%2012%20Volumen%20y%20superficie%20con%20s%C3%B3lidos/12.jpg)

<img src= 'https://i.gifer.com/origin/8c/8cd3f1898255c045143e1da97fbabf10_w200.gif' height="20" width="100%">

<h1 align="center"> 📝 Ejercicio 13. Cliente de correo con adjuntos</h1>
Expand Down

0 comments on commit ef8f696

Please sign in to comment.