Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMESTRE:
GRUPO: B 17 18 Hrs
UNIDAD:
PRACTICA No.: 1b
Torren, Coah. a 03 de
Febrero de 2013
ITL
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
+ 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
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
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
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
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
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.
ITL
Ene-Jun/2013
Opcion numero 3.
Opcin numero 4.
Pag. 8
ITL
Ene-Jun/2013
Opcin nmero 5.
Opcin numero 6.
Pag. 9
ITL
Ene-Jun/2013
Opcin nmero 7.
Opcin nmero 8
Pag. 10
ITL
Ene-Jun/2013
Opcin 9.
Opcin 10.
Pag. 11