Você está na página 1de 8

UNIVERSIDADE PAULISTA (UNIP)

LINGUAGEM DE PROGRAMAO ORIENTADA A OBJETOS (LPOO)


PROF. MSC. VLADIMIR

Resoluo do Exerccio

package Programas;
import javax.swing.JOptionPane;

SO PAULO, 2009

import br.com.unip.Calculo.*;
import br.com.unip.Geometria.*;
public class Calcular {
private static String
private static double
private static double
private static Multiplicacao
private static Divisao
private static ParImpar
private static Primos
private static Raizes
private static Potenciacao
private static Tangente
private static Cosseno
private static Seno
private static Conversao
private static Pontos
private static Quadrados
private static Triangulos
private static Equilatero
private static Escaleno
private static Isosceles
private static Circulos

msg;
num1, num2;
x1, x2, y1, y2, z1, z2;
multiplicacao = new Multiplicacao();
divisao = new Divisao();
parimpar = new ParImpar();
primos = new Primos();
raiz = new Raizes();
potenciacao = new Potenciacao();
tangente = new Tangente();
cosseno = new Cosseno();
seno = new Seno();
conversao = new Conversao();
pontos = new Pontos();
quadrados = new Quadrados();
triangulos= new Triangulos();
eqiltero = new Equilatero();
escaleno = new Escaleno();
isosceles = new Isosceles();
circulo = new Circulos();

public static void main(String[] args) {


montaMenu();
int opt = 0;
while(opt!=16){
opt = new Double(getNum(msg)).intValue();
switch(opt){
case 1:
num1 = getNum("Informe o Nmero!");
num2 = getNum("Informe o Nmero!");
mostraMsg("Resultado = " + multiplicacao.multiplicar(num1, num2));
break;
case 2:
num1 = getNum("Informe o Nmero!");
num2 = getNum("Informe o Nmero!");
if(num2==0) mostraMsg("Divisor invlido!");
else
mostraMsg("Resultado = " + divisao.dividir(num1, num2));
break;
case 3:
num1 = getNum("Informe o Nmero!");
if(parimpar.isPar(num1))
mostraMsg("O nmero informado PAR!");

case

case

case

case

case

case

case

case

case

case

else
mostraMsg("O nmero inofrmado IMPAR!");
break;
4:
num1 = getNum("Informe o Nmero!");
if(primos.isPrimo(num1))
mostraMsg("O nmero informado PRIMO!");
else
mostraMsg("O nmero informado no PRIMO!");
break;
5:
num1 = getNum("Informe o Nmero!");
mostraMsg("Resultado = " + raiz.quadrada(num1));
break;
6:
num1 = getNum("Informe o Nmero!");
mostraMsg("Resultado = " + potenciacao.getPow(num1));
break;
7:
num1 = getNum("Informe o Nmero!");
mostraMsg("Resultado = " + tangente.getTangente(num1));
break;
8:
num1 = getNum("Informe o Nmero!");
mostraMsg("Resultado = " + cosseno.getCosseno(num1));
break;
9:
num1 = getNum("Informe o Nmero!");
mostraMsg("Resultado = " + seno.getSeno(num1));
break;
10:
num1 = getNum("Informe o Nmero!");
mostraMsg("Resultado = " + conversao.getBinario(num1));
break;
11:
x1 = getNum("Informe a coordenada X do Ponto A");
y1 = getNum("Informe a coordenada Y do Ponto A");
z1 = getNum("Informe a coordenada Z do Ponto A");
x2 = getNum("Informe a coordenada X do Ponto B");
y2 = getNum("Informe a coordenada Y do Ponot B");
z1 = getNum("Informe a coordenada Z do Ponto B");
mostraMsg("Resultado = " + pontos.getDistance(x1, y1, z1, x2, y2, z2));
break;
12:
num1 = getNum("Informe a medida de um dos Lados do Quadrado!");
mostraMsg("Resultado = " + quadrados.getArea(num1));
break;
13:
num1 = getNum("Informe o Nmero!");

num2 = getNum("Informe o Nmero!");


mostraMsg("Resultado = " + triangulos.getArea(num1, num2));
break;
case 14:
equilatero.getRetas();
isosceles.setRetas(equilatero.getReta1(), equilatero.getReta2(), equilatero.getReta3());
escaleno.setRetas(equilatero.getReta1(), equilatero.getReta2(), equilatero.getReta3());
if(equilatero.isEquilatero())
mostraMsg("O Tringulo informado um Tringulo Equiltero!");
else
if(isosceles.isIsosceles())
mostraMsg("O Tringulo informado um Tringulo Isosceles!");
else
if(escaleno.isEscaleno())
mostraMsg("O Tringulo informado um Tringulo Escaleno!");
else
mostraMsg("O Tringulo informado Desconhecido!");
break;
case 15:
num1 = getNum("Informe o Raio!");
mostraMsg("Resultado = " + circulo.getDiametro(num1));
break;
case 16:
mostraMsg("Fim do programa!");
break;
default:
mostraMsg("Opo no encontrada!"); break;

}
private static double getNum(String strmsg){
double res = 0;
while(true){
try{
res = Double.parseDouble(JOptionPane.showInputDialog(strmsg));
return res;
}
catch(Exception err){
mostraMsg("Informe um nmero vlido!"); }
}
}
private static void mostraMsg(String strmsg){
JOptionPane.showMessageDialog(null, strmsg);
}
private static void montaMenu(){
msg = "
.::Projeto Calcular::. \n";

msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg
msg

+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=
+=

"-------------------------Calculo-------------------------\n";
" 1 )- Multiplicao\n";
" 2 )- Diviso\n";
" 3 )- Par ou Impar\n";
" 4 )- Primo\n";
" 5 )- Raiz quadrada\n";
" 6 )- Exponencial\n";
" 7 )- Tangente\n";
" 8 )- Cosseno\n";
" 9 )- Seno\n";
" 10 )- Binrio\n";
"-------------------------Geometria-----------------------\n";
" 11 )- Distncia entre dois pontos A[X,Y,Z] e B[X,Y,Z] \n";
" 12 )- rea de um Quadrado\n";
" 13 )- rea de um Tringulo\n";
" 14 )- Verificar Tringulo Issceles, Escaleno ou Equiltero\n";
" 15 )- Dimetro de uma Circunferncia\n";
" 16 )- Sair";

}
Pacote Calculo
package br.com.unip.Calculo;
public class Conversao {
public String getBinario(double num){
String res = "";
res = Integer.toBinaryString((int)num);
return res;
}
}
package br.com.unip.Calculo;
public class Tangente {
public double getTangente(double num){
double res = Math.tan(num);
return res;
}
}
package br.com.unip.Calculo;
public class Seno {
public double getSeno(double num){
double res = Math.sin(num);
return res;
}
}
package br.com.unip.Calculo;

public class Raizes {


public double quadrada(double num){
double res = Math.sqrt(num);
return res;
}
}
package br.com.unip.Calculo;
public class Primos {
public boolean isPrimo(double num){
for(int cnt=2;cnt<num;cnt++){
if(num%cnt==0)
return false;
}
return true;
}
}
package br.com.unip.Calculo;
public class Potenciacao {
public double getPow(double num){
double res = Math.exp(num);
return res;
}
}
package br.com.unip.Calculo;
public class ParImpar {
public boolean isPar(double num){
if(num % 2 == 0) return true;
else
return false;
}
}
package br.com.unip.Calculo;
public class Multiplicacao {
public double multiplicar(double num1, double num2){
double res = num1 * num2;
return res;
}
}
package br.com.unip.Calculo;
public class Divisao {
public double dividir(double num1, double num2){
double res = num1 / num2;
return res;
}

}
package br.com.unip.Calculo;
public class Cosseno {
public double getCosseno(double num){

double res = Math.cos(num);


return res;

}
Pacote Geometria
package br.com.unip.Geometria;
public class Triangulos {
public double getArea(double base, double altura){
double res = (base * altura) / 2;
return res;
}
}
package br.com.unip.Geometria;
import javax.swing.JOptionPane;
public class Triangulo {
public double reta1 = 0.0D;
public double reta2 = 0.0D;
public double reta3 = 0.0D;
public void getRetas(){
reta1 = Double.parseDouble(JOptionPane.showInputDialog("Informe a medida da primeiro reta: "));
reta2 = Double.parseDouble(JOptionPane.showInputDialog("Informe a medida da segundo reta: "));
reta3 = Double.parseDouble(JOptionPane.showInputDialog("Informe a medida da terceiro reta: "));
}
public void setRetas(double reta1, double reta2, double reta3 ){
this.reta1 = reta1;
this.reta2 = reta2;
this.reta3 = reta3;
}
public double getReta1(){
return reta1;
}
public double getReta2(){
return reta2;
}
public double getReta3(){
return reta3;
}

}
package br.com.unip.Geometria;
public class Quadrados {
public double getArea(double lado1){
double res = Math.pow(lado1, 2);
return res;
}
}
package br.com.unip.Geometria;
public class Pontos {
public double getDistance(double x1, double y1, double z1, double x2, double y2, double z2){
double mod = Math.pow((x2-x1),2);

mod +=
mod +=
double
return

Math.pow((y2-y1),2);
Math.pow((z2-z1),2);
res = Math.sqrt(mod);
res;

}
}
package br.com.unip.Geometria;
public class Isosceles extends Triangulo{
public boolean isIsosceles(){
if(reta1==reta2 && reta2!=reta3 || reta1==reta3 && reta3!=reta2)
return true;
else
return false;
}
}
package br.com.unip.Geometria;
public class Escaleno extends Triangulo{
public boolean isEscaleno(){
if(reta1!=reta2 && reta2 != reta3 && reta3 != reta1)
return true;
else return false;
}
}
package br.com.unip.Geometria;
public class Equilatero extends Triangulo{
public boolean isEquilatero(){
if(reta1 == reta2 && reta2 == reta3)
return true;
else return false;
}
}
package br.com.unip.Geometria;
public class Circulos {
public double getDiametro(double raio){
double res = raio * 2;
return res;
}
}

Você também pode gostar