P01c-Clases y Objetos en Java

10
Instituto Tecnológico de la Laguna Ingeniería en Sistemas Computacionales TOPICOS AVANZADOS DE PROGRAMACION SEMESTRE: Ene - Jun / 2013 GRUPO: “B” 17 – 18 Hrs UNIDAD: 1 PRACTICA No.: 1c EJERCICIO DE ORDENAMIENTO BURBUJA ALUMNO: 11130036 Eduardo Díaz Salazar PROFESOR: Ing. Luis Fernando Gil Vázquez Torreón, Coah. a 15 de Febrero de 2013

Transcript of P01c-Clases y Objetos en Java

Page 1: P01c-Clases y Objetos en Java

Instituto Tecnológico de la Laguna Ingeniería en Sistemas Computacionales

TOPICOS AVANZADOS DE PROGRAMACION

SEMESTRE: Ene - Jun / 2013 GRUPO: “B” 17 – 18 Hrs UNIDAD: 1 PRACTICA No.: 1c

EJERCICIO DE ORDENAMIENTO BURBUJA

ALUMNO:

11130036 Eduardo Díaz Salazar

PROFESOR: Ing. Luis Fernando Gil Vázquez

Torreón, Coah. a 15 de Febrero de 2013

Page 2: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 2

Ejercicio 1

Diseñar una clase Java que modele un círculo caracterizado por su radio y que proporcione información de su diámetro, área y

circunferencia. Haga una aplicación de consola en Java que solicite al usuario el radio del circulo y despliegue los valores de su

diámetro, area y circunferencia.

Ejercicio 2 Diseñar una clase Java que modele un triangulo rectángulo caracterizado por su base y altura y que proporcione métodos que

calculen el área, perímetro e hipotenusa del mismo. Haga una aplicación de consola en Java que solicite al usuario los datos del

triangulo e imprima los valores de su area, perímetro y circunferencia.

Ejercicio 3 Diseñar una clase Java que modele un trapecio, caracterizado por su base mayor, base menor y altura, la clase debe proporcionar

información del área, perímetro y diagonal del mismo. Haga una aplicación de consola Java que solicite al usuario los datos del

trapecio e imprima los valores de sus parámetros.

Análisis Ejercicio 1

Para la solución de este problema se platearan 2 clases: la clase Circulo y la clase CirculoApp. La clase Circulo tendrá de

atributos radio, un constructor que recibirá de parámetro el radio del circulo, utilizara los métodos diametro(), área() y

circunferencia() y unos métodos set/get que asigna y regresa el valor al radio. La clase CirculoApp utiliza la clase Circulo para

mostrar los valores de sus métodos.

Ejercicio 2

En este problema se plantearan 2 clases la clase TrianguloRec y la claseTrianguloRecApp. La primera tendrá de atributos base y

altura, se utilizaran los métodos área(), perímetro() e hipotenusa() para calcular tamben al igual que la clase circulo tendra los

métodos set y get.

Page 3: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 3

Ejercicio 3

Tendremos 2 clases, la clase Trapecio que servirá como calcular el área, perímetro y la diagonal; sus atributos serán la base

mayor, base menor y altura. La otra clase es TrapecioApp que utilizara la clase trapecio para mostrar los resultados sus métodos.

Diseño

Ejercicio 1

Ejercicio 2

Ejercicio 3

CirculoApp

+ Main ( string [] args)

Circulo

- radio : double

+ Circulo ( doublé radio)

+ area() :double

+ diametro() :double

+ circunferencia () :doublé

+ setRadio(doublé radio)

+ getRadio() :double

TrianguloRecApp

+ Main ( string [] args)

TrianguloRec

- base : double

- altura :double

+ TrianguloRec ( double b, double h )

+ area () :double

+ perimetro() :double

+ hipotenusa() :double

+ setBase ( double ba)

+ setAltura( double alt)

TrapecioApp

+ Main ( string [] args)

Trapecio

- baseMayor : double

- baseMenor :doublé

- altura

+ Trapecio ( double b, double B, double a )

+ area () :double

+ perimetro() :double

+ diagonal() :doublé

+ setBaseMenor ( double b)

+ setBaseMenor ( double B)

+ setaltura( double alt)

Page 4: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 4

Código Ejercicio 1 Clase Circulo,java /*------------------------------------------------------------------------------------------

:* INSTITUTO TECNOLOGICO DE LA LAGUNA

:* INGENIERIA EN SISTEMAS COMPUTACIONALES

:* TOPICOS AVANZADOS DE PROGRAMACION "B"

:*

:* SEMESTRE: ENE-JUN/2013 HORA: 17-18 HRS

:*

:* Clase que modela al un circulo

:*

:* Archivo : Circulo.java

:* Autor : Eduardo Díaz Salazar 11130036

:* Fecha : 15/Feb/2013

:* Compilador : JAVA J2SE v1.7.0_11

:* Descripción : Tiene de atributo radio, tiene metodos que calculan el area, circunferencia

:* y diagonal del circulo. Tambien tiene un metodo setRadio () que asigna valor

:* al radio.

:*

:*------------------------------------------------------------------------------------------*/

public class Circulo {

//---------------------------------------------------------------------------------------------------------

-

//Atributos

private double radio;

//---------------------------------------------------------------------------------------------------------

-

// Constructor

public Circulo ( double r ) {

setRadio ( r );

}

//---------------------------------------------------------------------------------------------------------

-

// Metodo que calcula el area del circulo

public double area () {

return Math.PI * Math.pow ( radio, 2 );

}

//---------------------------------------------------------------------------------------------------------

-

//Metodo que calcula el diametro del circulo

public double diametro () {

return 2 * radio;

}

//---------------------------------------------------------------------------------------------------------

-

// Metodo que calcula la circunferencia del circulo

public double circunferencia () {

return Math.PI * diametro ();

}

//---------------------------------------------------------------------------------------------------------

-

// Propiedad set que asigna valor al radio

public void setRadio ( double r ) {

radio = r;

}

//---------------------------------------------------------------------------------------------------------

-

Page 5: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 5

// Propiedad get que regresa el valor del radio

public double getRadio () {

return radio;

}

}

Clase CirculoApp.java

/*------------------------------------------------------------------------------------------

:* INSTITUTO TECNOLOGICO DE LA LAGUNA

:* INGENIERIA EN SISTEMAS COMPUTACIONALES

:* TOPICOS AVANZADOS DE PROGRAMACION "B"

:*

:* SEMESTRE: ENE-JUN/2013 HORA: 17-18 HRS

:*

:* Clase tiene un metodo main

:*

:* Archivo : CirculoApp.java

:* Autor : Eduardo Díaz Salazar 11130036

:* Fecha : 15/Feb/2013

:* Compilador : JAVA J2SE v1.7.0_11

:* Descripción : En esta clase se crea una instancia de la clase Circulo para usar sus metodos

:* y mostrar los resultados del area, circunferencia y diagonal

:*

:*

:*------------------------------------------------------------------------------------------*/

import java.util.Scanner;

public class CirculoApp {

//-----------------------------------------------------------------------------------------

public static void main ( String [] args ) {

Scanner sc = new Scanner ( System.in );

System.out.println ( "-------------- Circulo --------------" );

System.out.print ( "Ingrese el radio: " );

double rad = sc.nextDouble ();

Circulo cir = new Circulo ( rad );

System.out.println ( "" );

System.out.println ( "El area : " + cir.area () );

System.out.println ( "La circunferencia es : " + cir.circunferencia () );

System.out.println ( "El diametro es : " + cir.diametro () );

}

}

Ejercicio 2

Clase TrianguloRec.java

/*------------------------------------------------------------------------------------------

:* INSTITUTO TECNOLOGICO DE LA LAGUNA

:* INGENIERIA EN SISTEMAS COMPUTACIONALES

:* TOPICOS AVANZADOS DE PROGRAMACION "B"

:*

:* SEMESTRE: ENE-JUN/2013 HORA: 17-18 HRS

:*

:* Clase que modela un Triangulo Rectangulo

:*

:* Archivo : TrianguloRec.java

:* Autor : Eduardo Díaz Salazar 11130036

:* Fecha : 15/Feb/2013

:* Compilador : JAVA J2SE v1.7.0_11

:* Descripción : En esta clase tiene de atributos base y altura, los cuales usa para

:* calcular el area, hipotenusa y perimetro del triangulo rectangulo.

:*

:*

:*------------------------------------------------------------------------------------------*/

Page 6: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 6

public class TrianguloRec {

//-----------------------------------------------------------------------------------------------

//Atributos

private double base;

private double altura;

//-----------------------------------------------------------------------------------------------

//Constructor

public TrianguloRec ( double b, double h ) {

setBase ( b );

setAltura ( h );

}

//-----------------------------------------------------------------------------------------------

//Metodo set de la base

public void setBase ( double ba ) {

base = ba;

}

//-----------------------------------------------------------------------------------------------

//Metodo set de la altura

public void setAltura ( double al ) {

altura = al;

}

//-----------------------------------------------------------------------------------------------

//Metodo get de la altura

public double getAltura () {

return altura;

}

//-----------------------------------------------------------------------------------------------

//Metodo que calcula el area

public double area () {

return base * altura / 2;

}

//-----------------------------------------------------------------------------------------------

//Metodo que calcula el perimetro

public double perimetro () {

return hipotenusa () + base + altura;

}

//-----------------------------------------------------------------------------------------------

//Metodo que calcula la hipotenusa

public double hipotenusa () {

return Math.sqrt ( Math.pow ( base, 2 ) + Math.pow ( altura, 2 ) );

}

//-----------------------------------------------------------------------------------------------

}

Page 7: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 7

Clase TrianguloRecApp.java

/*------------------------------------------------------------------------------------------

:* INSTITUTO TECNOLOGICO DE LA LAGUNA

:* INGENIERIA EN SISTEMAS COMPUTACIONALES

:* TOPICOS AVANZADOS DE PROGRAMACION "B"

:*

:* SEMESTRE: ENE-JUN/2013 HORA: 17-18 HRS

:*

:* Clase que modela un Triangulo Rectangulo

:*

:* Archivo : TrianguloRecApp.java

:* Autor : Eduardo Díaz Salazar 11130036

:* Fecha : 15/Feb/2013

:* Compilador : JAVA J2SE v1.7.0_11

:* Descripción : En esta clase se crea una instancia de la clase TrianguloRec para

:* mostrar los resultados del area perimetro e hipotenusa del triangulo.

:*

:*

:*------------------------------------------------------------------------------------------*/

import java.util.Scanner;

public class TrianguloRecApp {

//-----------------------------------------------------------------------------------------

public static void main ( String [] args ) {

Scanner sc = new Scanner ( System.in );

System.out.println ( "-------------- Triangulo rectangulo --------------" );

System.out.print ( " Ingrese la base: " );

double base = sc.nextDouble ();

System.out.print ( "Ingrese la altura: " );

double altura = sc.nextDouble ();

TrianguloRec rec = new TrianguloRec ( base, altura );

System.out.println ( "" );

System.out.println ( "El area es : " + rec.area () );

System.out.println ( "El perimetro es : " + rec.perimetro () );

System.out.println ( "La hipotenusa es : " + rec.hipotenusa () );

}

} Ejercicio 3 Clase Trapecio.java

/*------------------------------------------------------------------------------------------

:* INSTITUTO TECNOLOGICO DE LA LAGUNA

:* INGENIERIA EN SISTEMAS COMPUTACIONALES

:* TOPICOS AVANZADOS DE PROGRAMACION "B"

:*

:* SEMESTRE: ENE-JUN/2013 HORA: 17-18 HRS

:*

:* Clase que modela un Trapecio

:*

:* Archivo : Trapecio.java

:* Autor : Eduardo Díaz Salazar 11130036

:* Fecha : 15/Feb/2013

:* Compilador : JAVA J2SE v1.7.0_11

:* Descripción : Esta clase tiene los metodos baseMayor, baseMenor y altura, con los

:* cuales se calcula el area, la diagolnal y perimetro del trapecio

:*

:*

:*------------------------------------------------------------------------------------------*/

public class Trapecio {

//------------------------------------------------------------------------------------------

//Atributos

private double baseMayor;

private double baseMenor;

private double altura;

Page 8: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 8

//------------------------------------------------------------------------------------------

//Constructor

public Trapecio ( double b, double B, double a ) {

setbaseMayor ( B );

setbaseMenor ( b );

setaltura ( a );

}

//------------------------------------------------------------------------------------------

//Metodo set de la base Mayor

public void setbaseMayor ( double B ) {

baseMayor = B;

}

//------------------------------------------------------------------------------------------

//Metodo set base Menor

public void setbaseMenor ( double b ) {

baseMenor = b;

}

//------------------------------------------------------------------------------------------

//Metodo set de la altura

public void setaltura ( double a ) {

altura = a;

}

//------------------------------------------------------------------------------------------

//Metodo que calcula el area

public double area () {

return ( ( baseMayor - baseMenor ) * altura ) / 2;

}

//------------------------------------------------------------------------------------------

//Metodo que calcula el perimero

public double perimetro () {

return baseMayor + baseMenor + 2 * diagonal ();

}

//------------------------------------------------------------------------------------------

//Metodo que calcula la diagonal

public double diagonal () {

double c = ( baseMayor - baseMenor ) / 2;

return Math.sqrt ( Math.pow ( c , 2 ) + Math.pow ( altura , 2 ) );

}

//------------------------------------------------------------------------------------------

}

Clase TrapecioApp.java /*------------------------------------------------------------------------------------------

:* INSTITUTO TECNOLOGICO DE LA LAGUNA

:* INGENIERIA EN SISTEMAS COMPUTACIONALES

:* TOPICOS AVANZADOS DE PROGRAMACION "B"

:*

:* SEMESTRE: ENE-JUN/2013 HORA: 17-18 HRS

:*

:* Clase que modela un Triangulo Rectangulo

:*

:* Archivo : TrianguloRecApp.java

:* Autor : Eduardo Díaz Salazar 11130036

:* Fecha : 15/Feb/2013

:* Compilador : JAVA J2SE v1.7.0_11

:* Descripción : En esta clase se crea una instancia de la clase TrianguloRec para

:* mostrar los resultados del area perimetro e hipotenusa del triangulo.

:*

:*

:*------------------------------------------------------------------------------------------*/

Page 9: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 9

import java.util.Scanner;

public class TrapecioApp {

//------------------------------------------------------------------------------------------

public static void main ( String [] args ) {

System.out.println ( "---------------- Trapecio ----------------" );

Scanner sc = new Scanner ( System.in );

System.out.print ( "Ingrese la base mayor: " );

double bmayor = sc.nextDouble ();

System.out.print ( "Ingrese la base menor: " );

double bmenor = sc.nextDouble ();

System.out.print ( "Ingrese la altura: " );

double altura = sc.nextDouble ();

Trapecio tra = new Trapecio ( bmenor, bmayor, altura);

System.out.println ( "" );

System.out.println ( "El area es : " + tra.area() );

System.out.println ( "El perimetro es : " + tra.perimetro() );

System.out.println ( "La diagolnal es : " + tra.diagonal() );

}

} Prueba de Ejecución

Ejercicio 1

Se puede apreciar en esta toma que se le pide al usuario el valor del radio y se muestra el area, circunferencia y diametro.

Ejercicio 2

En este problema se pide al usuario la base y la altura. Y se muestra el area perimetro e hipotenusa.

Page 10: P01c-Clases y Objetos en Java

ITL Tópicos Avanzados de Programación Ene-Jun/2013

Pag. 10

Ejercicio 3

Como se puede apreciar se le pide al usuario la base menor , mayor y la altura del trapecio, para calcular el área, perímetro y

diagolnal.