Programación (Orientada a Objetos en Java)

Anuncio
Programación (Orientada a Objetos en Java)
Laboratorio nº1
Dr. Eric Jeltsch F.
Suposición: Ud. ha leído los primeros capítulos del libro guía.
Objetivo: Aprender a utilizar y aplicar clases dada, escribir un método y finalmente escribir un
método principal main() que testee el método anterior.
Actividades:
a) Dada la clase Leer.java. Se le pide, testear la clase Leer. Es decir construirse una clase
principal que la invoque.
b) Escribir un programa que calcule la serie exponencial
ex = 1 + x/1! + x2/2! +
x3/3! + …..,
para un valor x entregado por el usuario a través del teclado. Para el cálculo del valor
correspondiente se deben sumar los términos sucesivos de la serie hasta que el término sumado
(o que se incluya en la suma) sea menor o igual que una constante de error predeterminada (Por
ejemplo, 1e-7, es decir e-7.) Observe que cada término es igual al anterior salvo el factor x/n,
para n = 1, 2 , 3, ..etc.. Notar que el primer término es 1. Para ello entonces se pide
(i)
Escribir un método que tenga el prototipo
static double exponencial(float x);
A lo que este método debe devolver como resultado el valor aproximado de ex.
(ii)
Además escribir el método principal main() para que invoque al método
exponencial() y compruebe (o testee) que para cualquier valor ingresado le entrega
el resultado esperado. La implementación de main() debe hacer uso de la clase
Leer.java
Nota: A continuación se da la clase a utilizar Leer.java.
// clase Leer
import java.io.*;
public class Leer
{
public static String dato()
{
String sdato = "";
try
{
// Definir un flujo de caracteres de entrada: flujoE
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader flujoE = new BufferedReader(isr);
// Leer. La entrada finaliza al pulsar la tecla Entrar
_________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
Programación (Orientada a Objetos en Java)
Laboratorio nº1
Dr. Eric Jeltsch F.
sdato = flujoE.readLine();
}
catch(IOException e)
{
System.err.println("Error: " + e.getMessage());
}
return sdato; // devolver el dato tecleado
}
public static short datoShort()
{
try
{
return Short.parseShort(dato());
}
catch(NumberFormatException e)
{
return Short.MIN_VALUE; // valor más pequeño
}
}
public static int datoInt()
{
try
{
return Integer.parseInt(dato());
}
catch(NumberFormatException e)
{
return Integer.MIN_VALUE; // valor más pequeño
}
}
public static long datoLong()
{
try
{
return Long.parseLong(dato());
}
catch(NumberFormatException e)
{
return Long.MIN_VALUE; // valor más pequeño
}
}
public static float datoFloat()
{
try
{
Float f = new Float(dato());
return f.floatValue();
}
catch(NumberFormatException e)
{
return Float.NaN; // No es un Número; valor float.
}
_________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
Programación (Orientada a Objetos en Java)
Laboratorio nº1
Dr. Eric Jeltsch F.
}
public static double datoDouble()
{
try
{
Double d = new Double(dato());
return d.doubleValue();
}
catch(NumberFormatException e)
{
return Double.NaN; // No es un Número; valor double.
}
}
}
//fin de la clase Leer.
_________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
Descargar