Ybadoo - Soluções em Software Livre
Tutoriais
Programação Orientada a Objetos

Desenvolva uma classe chamada SnubDodecahedron para representar um dodecaedro snub, ou seja, um poliedro semi-regular composto por doze pentágonos regulares e oitenta triângulos equiláteros, considerado um dos treze Sólidos de Arquimedes. A classe possui um único atributo denominado edge, do tipo double, que representa a aresta do dodecaedro snub e cujo valor deve ser maior ou igual a zero e menor ou igual a quarenta. A aresta do dodecaedro snub pode ser obtida e alterada pelo usuário por meio dos métodos getEdge() e setEdge(), respectivamente. A classe também apresenta os métodos area() e volume(), que retornam a área e o volume do dodecaedro snub, respectivamente. A área de um dodecaedro snub de aresta a é obtida pela fórmula (20 * √3 + 3 * √(25 + 10 * √5)) * a2. O volume de um dodecaedro snub de aresta a é obtido pela fórmula (12 * ξ2 * (3 * τ + 1) - ξ * (36 * τ + 7) - (53 * τ + 6)) / (6 * (√(3 - ξ2))3) * a3, sendo ξ obtido pela fórmula 3√(τ / 2 + 1 / 2 * √(τ - 5 / 27)) + 3√(τ / 2 - 1 / 2 * √(τ - 5 / 27)) e τ pela fórmula (1 + √5) / 2.