Вы находитесь на странице: 1из 11

Instituto Tecnolgico de la Laguna

Ingeniera en Sistemas Computacionales


TOPICOS AVANZADOS DE PROGRAMACION

SEMESTRE:

Ene - Jun / 2013

GRUPO: B 17 18 Hrs

UNIDAD:

PRACTICA No.: 1b

EJERCICIO USANDO CONSTANTES Y MIEMBROS ESTATICOS


ALUMNO: 11130036 Eduardo Daz Salazar

PROFESOR: Ing. Luis Fernando Gil Vzquez

Torren, Coah. a 03 de

Febrero de 2013

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Ejercicio

Modificar Conversiones App. java para desplegar un men de opciones que permita elegir la conversin a realizar. La cantidad debe ser capturada por el usuario.

Anlisis
Para la solucin de este problema se plantearan 2 clases : la clase Converciones y la clase ConversionesApp. Donde se aplicaran constantes , variables y mtodos estticos, las constantes que se usaran son YRD_MTS = 0.9144, PUL_CMS = 2.54, LBS_KGS = 0.4535, LBS_KGS = 0.4535, GAL_LTS = 3.785 y se usaran algunos mtodos estticos para realizar las conversiones entras las diferentes unidades, por ejemplo de metros a yardas y viceversa. Para la clase ConversionesApp se implementara un men para que el usuario elija entre las diferentes conversiones, se usaran directamente los mtodos estticos de la clase Converciones sin necesidad de crear una instancia de la clase.

Diseo Ejercicio 1
Converciones YRD_MTS = 0.9144 PUL_CMS = 2.54 LBS_KGS = 0.4535 GAL_LTS = 3.785 ConversionesApp

+ Main ( string [] args)

:static :static :static :static

:doubl :doubl :doubl :doubl

+ yardas_metros ( double yrds ) + pulgs_cms ( double pulgs ) + libras_kgs ( double libras ) + double galones_litros ( double galones ) + metros_yardas ( double metros ) + cms_pulgadas ( double cms ) + kgs_libras ( double kgs ) + litros_galones ( double litros ) + bin_deci ( String binario ) + deci_bin ( int num_deci )

:static :static :static :static :static :static :static :static :static :static

:doubl :doubl :doubl :doubl :doubl :doubl :doubl :doubl :int :String

Pag. 2

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Cdigo
Clase Converciones.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 hace distintas conversiones a diferentes unidades y base 10 - base 2 :* :* Archivo : Converciones.java :* Autor : Eduardo Daz Salazar 11130036 :* Fecha : 10/Feb/2013 :* Compilador : JAVA J2SE v1.7.0_11 :* Descripcin : Esta clase tiene variables constantes estaticas y metodos estaticos, para :* realiazar las conversiones de yardas a metros, pulgadas a centimetros, :* galones a litros, de binario a decimal y viceversa. :* :* :*------------------------------------------------------------------------------------------*/

public class Converciones { static static static static public public public public final final final final double double double double YRD_MTS PUL_CMS LBS_KGS GAL_LTS = = = = 0.9144; 2.54; 0.4535; 3.785;

//----------------------------------------------------------------------------------------// Mtodo esttico que convierte de yardas a metros public static double yardas_metros ( double yrds ) { double metros = yrds * YRD_MTS; return metros; } //----------------------------------------------------------------------------------------// Mtodo esttico que convierte de pulgadas a centmetros public static double pulgs_cms ( double pulgs ) { double cms = pulgs * PUL_CMS; return cms; }

//----------------------------------------------------------------------------------------// Mtodo esttico que convierte de libras a kilogramos public static double libras_kgs ( double libras ) { double kgs = libras * LBS_KGS; return kgs; }

//----------------------------------------------------------------------------------------// Mtodo esttico que convierte de galones a litros public static double galones_litros ( double galones ) { double litros = galones * GAL_LTS; return litros; } //----------------------------------------------------------------------------------------// Mtodo esttico que convierte de metros a yardas Pag. 3

ITL

Topicos Avanzados de Programacion


public static double metros_yardas ( double metros ) { return metros / YRD_MTS; }

Ene-Jun/2013

//----------------------------------------------------------------------------------------// Mtodo esttico que convierte de centimetros a pulgada public static double cms_pulgadas ( double cms ) { return cms / PUL_CMS; } //----------------------------------------------------------------------------------------// Mtodo esttico que convierte de kilogramos a libras public static double kgs_libras ( double kgs ) { return kgs / LBS_KGS; } //----------------------------------------------------------------------------------------// Mtodo esttico que convierte de litros a galones public static double litros_galones ( double litros ) return litros / GAL_LTS; } //----------------------------------------------------------------------------------------// Mtodo esttico que convierte base2 a base10 public static int bin_deci ( String binario ) { int resultado = 0; for ( int i = 0; i < binario.length () ; i++ ) { char digito = binario.charAt ( i ); /* en general, resultado = resultado * base + digito */ try { int valdigito = Integer.parseInt( Character.toString ( digito ) ); resultado = resultado * 2 + valdigito; } catch ( Exception e ) { // TODO: Add catch code e.printStackTrace(); } } return resultado ; } //------------------------------------------------------------------------------------------// Mtodo esttico que convierte base10 a base2 public static String deci_bin ( int num_deci ) { int residuo = 0; String resultado = ""; while (num_deci != 0) { residuo = num_deci % 2; resultado = String.valueOf (residuo) + resultado; num_deci = num_deci / 2; } return resultado; } //------------------------------------------------------------------------------------------}

Pag. 4

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Clase ConversionesApp.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 contiene un metodo main que hace uso de la clase Converciones :* :* Archivo : ConversionesApp.java :* Autor : Eduardo Daz Salazar 11130036 :* Fecha : 10/Feb/2013 :* Compilador : JAVA J2SE v1.7.0_11 :* Descripcin : Esta clase tiene hace uso de la clase Converciones.java :* para convertir a diferentes unidades de yardas a metros, :* pulgadas a centimetros, galones a litros, de binario a decimal :* y viceversa. cuenta con un menu para elegir la conversion deceada :* y una opcion para salir. :* :*------------------------------------------------------------------------------------------*/

import java.util.Scanner; public class ConversionesApp { //-------------------------------------------------------------------------------------------public static void main ( String [] args ) { Scanner sc = new Scanner ( System.in ); int opcion; boolean band = true; while ( band ) { System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.println System.out.print ( ( " " ); ( "Eleja la conversin deceada: " ); ( " " ); ( "1.- De yardas a metros. " ); ( "2.- De pulgadas a centimetros. " ); ( "3.- De libras a kilogramos. " ); ( "4.- De galones a litros. " ); ( "5.- De metros a yardas. " ); ( "6.- De centimetros a pulgadas. " ); ( "7.- De kilogramos a libras. " ); ( "8.- De litros a galones" ); ( "9.- De binario a decimal" ); ( "10.- De decimal a binario" ); ( "0.- Salir" ); ( " " ); "Opcion nmero: " );

opcion = sc.nextInt (); System.out.println ( " " ); switch ( opcion ) { case 1: System.out.print ( "Ingrese las yardas:" ); double yardas = sc.nextDouble (); System.out.println ( "Son: " + Converciones.yardas_metros ( yardas ) + " metros." ); break; case 2: System.out.print ( "Ingrese las pulgadas:" ); double pulgadas = sc.nextDouble (); System.out.println ( "Son: " + Converciones.pulgs_cms centimetross." ); break; case 3: System.out.print ( "Ingrese las libras:" ); Pag. 5 ( pulgadas ) + "

ITL

Topicos Avanzados de Programacion


double libras = sc.nextDouble (); System.out.println ( "Son: " + kilogramos."); break; case 4:

Ene-Jun/2013

Converciones.libras_kgs

libras

"

System.out.print ( "Ingrese los galones :" ); double galones = sc.nextDouble (); System.out.println ( "Son: " + Converciones.galones_litros ( galones ) + " litros."); break; case 5: System.out.print ( "Ingrese los metros:" ); double metros = sc.nextDouble (); System.out.println ( "Son: " + Converciones.metros_yardas ( metros ) + " yardas."); break; case 6: System.out.print ( "Ingrese los centimetros:" ); double centimetros = sc.nextDouble (); System.out.println ( "Son: " + Converciones.cms_pulgadas ( centimetros ) + " pulgadas."); break; case 7: System.out.print ( "Ingrese los kilogramos:" ); double kilogramos = sc.nextDouble (); System.out.println ( "Son: " + Converciones.kgs_libras ( kilogramos ) + " libras."); break; case 8: System.out.print ( "Ingrese los litros:" ); double litros = sc.nextDouble (); System.out.println ( "Son: " + Converciones.pulgs_cms litros_galones"); break; case 9: System.out.print ( "Ingrese el numero en binario:" ); String binario = String.valueOf ( sc.nextInt () ); System.out.println ( "El numero en decimal es: " + Converciones.bin_deci ( binario ) ); break; case 10: System.out.print ( "Ingrese el numero en decimal:" ); int decimal = sc.nextInt (); System.out.println ( "El numero en binario es: " + Converciones.deci_bin ( decimal ) ); break; } if ( opcion > 0 && opcion < 11 ) band = true; else if ( opcion == 0 ) band = false; else System.out.println ( "Opcin invalida!!" ); } } } ( litros ) + "

Pag. 6

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Prueba de Ejecucin

Como se puede apreciar muestra primero el men y se espera una opcin que elegir el usuario, en este caso se usa la opcin numero 1.- De yardas a metros y muestra el resultado. Al final vuelve a mostrar de nuevo el men y terminar hasta que el usuario seleccione la opcin 0.

Aqu observamos cuando el usuario selecciona la opcin nmero 2.


Pag. 7

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Opcion numero 3.

Opcin numero 4.
Pag. 8

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Opcin nmero 5.

Opcin numero 6.

Pag. 9

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Opcin nmero 7.

Opcin nmero 8

Pag. 10

ITL

Topicos Avanzados de Programacion

Ene-Jun/2013

Opcin 9.

Opcin 10.

Pag. 11

Вам также может понравиться