0% found this document useful (0 votes)
18 views11 pages

Asignacion 4 COTI

Uploaded by

Kevin Taboas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views11 pages

Asignacion 4 COTI

Uploaded by

Kevin Taboas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Kevin Y.

Padilla Taboas 841228470 Asignacion 4

import java.lang.Math;

// Definición de la clase αµπβΩ (FiguraGeometrica)


abstract class αµπβΩ {
protected String tipo;

public αµπβΩ(String tipo) {


this.tipo = tipo;
}

public abstract double calcularArea();

public abstract double calcularVolumen();


}

// Definición de subclases de FiguraGeometrica


class Circulo extends αµπβΩ {
private double radio;

public Circulo(double radio) {


super("Círculo");
this.radio = radio;
}

@Override
public double calcularArea() {
return Math.PI * Math.pow(radio, 2);
}

@Override
public double calcularVolumen() {
throw new UnsupportedOperationException("El círculo no tiene volumen");
}
}

class Cubo extends αµπβΩ {


private double lado;

public Cubo(double lado) {


super("Cubo");
this.lado = lado;
}

@Override
public double calcularArea() {
return 6 * Math.pow(lado, 2);
}
@Override
public double calcularVolumen() {
return Math.pow(lado, 3);
}
}

class Pyramid extends αµπβΩ {


private double length;
private double width;
private double height;

public Pyramid(double length, double width, double height) {


super("Pirámide");
this.length = length;
this.width = width;
this.height = height;
}

@Override
public double calcularArea() {
double baseArea = length * width;
double sideArea = length * Math.sqrt(Math.pow(width / 2, 2) +
Math.pow(height, 2));
return baseArea + 2 * sideArea;
}
@Override
public double calcularVolumen() {
return (length * width * height) / 3;
}
}

// Definición de la clase αµπβΩArrayPrintingApp


public class αµπβΩArrayPrintingApp {
private αµπβΩ[] figuras;

public αµπβΩArrayPrintingApp() {
figuras = new αµπβΩ[5]; // Cambia el tamaño según lo necesites
}

public void agregarFigura(αµπβΩ figura, int indice) {


figuras[indice] = figura;
}

public void mostrarDatos() {


for (int i = 0; i < figuras.length; i++) {
αµπβΩ figura = figuras[i];
if (figura != null) {
System.out.println("Figura " + (i + 1) + ":");
System.out.println("Tipo: " + figura.tipo);
System.out.println("Área: " + figura.calcularArea());
System.out.println("Volumen: " + figura.calcularVolumen());
System.out.println();
}
}
}

public static void main(String[] args) {


αµπβΩArrayPrintingApp app = new αµπβΩArrayPrintingApp();

// Agregar figuras al arreglo


app.agregarFigura(new Circulo(5), 0);
app.agregarFigura(new Cubo(3), 1);
app.agregarFigura(new Pyramid(2, 3, 4), 2);

// Mostrar datos de las figuras


app.mostrarDatos();
}
}
import java.util.ArrayList;
import java.util.Scanner;

// Definición de la clase αµπβΩ (FiguraGeometrica)


abstract class αµπβΩ {
protected String tipo;

public αµπβΩ(String tipo) {


this.tipo = tipo;
}

public abstract double calcularArea();


}

// Definición de subclases de FiguraGeometrica


class Circulo extends αµπβΩ {
private double radio;

public Circulo(double radio) {


super("Círculo");
this.radio = radio;
}

@Override
public double calcularArea() {
return Math.PI * Math.pow(radio, 2);
}
}

class Cubo extends αµπβΩ {


private double lado;

public Cubo(double lado) {


super("Cubo");
this.lado = lado;
}

@Override
public double calcularArea() {
return 6 * Math.pow(lado, 2);
}
}

class Pyramid extends αµπβΩ {


private double length;
private double width;
private double height;

public Pyramid(double length, double width, double height) {


super("Pirámide");
this.length = length;
this.width = width;
this.height = height;
}

@Override
public double calcularArea() {
double baseArea = length * width;
double sideArea = length * Math.sqrt(Math.pow(width / 2, 2) +
Math.pow(height, 2));
return baseArea + 2 * sideArea;
}
}

public class αµπβΩListApp {


private static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {


ArrayList<αµπβΩ> figuras = new ArrayList<>();

// Agregar algunas figuras al ArrayList


figuras.add(new Circulo(5));
figuras.add(new Cubo(3));
figuras.add(new Pyramid(2, 3, 4));

// Mostrar estadísticas
System.out.println("Suma de las áreas: " + calcSumArea(figuras));
System.out.println("Promedio de las áreas: " + calcAverageArea(figuras));
System.out.println("Área máxima: " + calcMaximumArea(figuras));
System.out.println("Área mínima: " + calcMinimumArea(figuras));

System.out.print("Ingrese un área específica: ");


double areaEspecifica = scanner.nextDouble();
filterByArea(areaEspecifica, figuras);
System.out.println("Lista de figuras con área mayor a " + areaEspecifica +
":");
for (αµπβΩ figura : figuras) {
System.out.println(figura.tipo + ": " + figura.calcularArea());
}
}

public static double calcSumArea(ArrayList<αµπβΩ> figuras) {


double sum = 0;
for (αµπβΩ figura : figuras) {
sum += figura.calcularArea();
}
return sum;
}

public static double calcAverageArea(ArrayList<αµπβΩ> figuras) {


double sum = calcSumArea(figuras);
return sum / figuras.size();
}

public static double calcMaximumArea(ArrayList<αµπβΩ> figuras) {


double max = Double.MIN_VALUE;
for (αµπβΩ figura : figuras) {
double area = figura.calcularArea();
if (area > max) {
max = area;
}
}
return max;
}

public static double calcMinimumArea(ArrayList<αµπβΩ> figuras) {


double min = Double.MAX_VALUE;
for (αµπβΩ figura : figuras) {
double area = figura.calcularArea();
if (area < min) {
min = area;
}
}
return min;
}

public static void filterByArea(double area, ArrayList<αµπβΩ> figuras) {


figuras.removeIf(figura -> figura.calcularArea() <= area);
}
}

You might also like