Subido por capoelantonio

Ejercicios Propuestos Parte 2

Anuncio
Ejercicios Propuestos Parte 2 - Unidad I
Desarrollo.
1. Uso de la clase random.
La llamada a Math.random () devuelve un número aleatorio entre 0.0 y 1.0,
excluido este último valor, es decir, puede devolver 0.346442, 0.2344234,
0.98345,....
En muchas de nuestras aplicaciones no nos servirá este rango de valores. Por
ejemplo, si queremos simular una tirada de dado, queremos números entre 1 y
6 sin decimales. Debemos echar unas cuentas para obtener lo deseado.
En primer lugar, miramos cuántos valores queremos. En nuestro caso del dado
son 6 valores, del 1 al 6 ambos incluido. Debemos entonces multiplicar
Math.random() por 6. Si quisiéramos valores entre dos números cualquiera
ambos incluidos, por ejemplo, 5 y 10, la cuenta sería (maximo-minimimo)+1, es
decir, (10-5)+1 = 6, también multiplicaríamos por 6.
Math.random ()*6 // Esto da valores de 0.0 a 6.0, excluido el 6.0
Como nuestro primer valor es 1, le sumamos 1 al resultado. En el caso de que
quisiéramos entre 5 y 10, habría que sumar 5, es decir, el valor mínimo.
Math.random ()*6 + 1 // Esto da valores entre 1.0 y 7.0 excluido el 7.0
Finalmente, para conseguir un entero, quitamos los decimales usando la clase
Math.floor ()
Int valorDado = Math.floor (Math.random ()*6+1);
En general, para conseguir un número entero entre M y N con M menor que N
y ambos incluidos, debemos usar esta fórmula
Int valorEntero = Math.floor (Math.random ()*(N-M+1)+M); // Valor entre M y
N, ambos incluidos.
Si no queremos un valor entero sino doublé, la fórmula es sin el +1
Doublé valorAleatorio = Math.random ()*(N-M)+M;
Eso sí, recuerda que el valor N queda excluido y no saldrá nunca.
Uso de la clase math.
Todas las propiedades y métodos de la clase Math son estáticos y deben
llamarse utilizando la sintaxis Math.method (parameter) o Math.constant. En
ActionScript, las constantes se definen con la máxima precisión de números
con coma flotante IEEE-754 de doble precisión.
Algunos de los métodos de la clase Math utilizan radianes de un Angulo como
parámetro. Puede utilizar la ecuación siguiente para calcular valores en
radianes o sencillamente pasar la ecuación (introduciendo un valor para
grados) para el parámetro en radianes.
Para calcular un valor en radianes, utilice esta fórmula:
Radian = Math.PI/180 * grado
A continuación, se muestra un ejemplo para pasar una ecuación como
parámetro para calcular el seno de un ángulo de 45 grados:
Math.SIN(Math.PI/180 * 45) es lo mismo que Math.SIN (.7854)
La clase Math está totalmente admitida en Flash Player 5. En Flash Player 4,
puede utilizar los métodos de la clase Math, pero se emulan utilizando
aproximaciones y es posible que no sean tan precisos como las funciones
matemáticas no emuladas que se utilizan en Flash Player 5.
Resumen de métodos para la clase Math
Método
Descripción
Math.abs()
Math.acos()
Math.asin()
Math.atan()
Math.atan2()
Calcula un valor absoluto.
Math. Sin()
Calcula un arco coseno.
Calcula un arco seno.
Calcula un arco tangente.
Calcula un Angulo desde el eje x
hasta el punto.
Redondea un número al entero más
cercano hacia arriba.
Calcula un coseno.
Calcula un valor exponencial.
Redondea un número al entero más
cercano hacia abajo.
Calcula un logaritmo natural.
Devuelve el mayor de dos números
enteros.
Devuelve el menor de dos números
enteros.
Calcula x elevado a la potencia de y.
Devuelve un número seudoaleatorio
ente 0,0 y 1,1.
Redondea al número entero más
cercano.
Calcula un seno.
Math.sqrt()
Math. Tan()
Calcula una raíz cuadrada.
Calcula una tangente.
Math.ceil()
Math.cos()
Math.exp()
Math.floor()
Math.log()
Math.max()
Math.min()
Math.pow()
Math.random()
Math.round()
2.
Uso Clases, Métodos y Objetos en Java
Método:
Los métodos en java pueden tener parámetros, es decir, que un método puede
utilizar variables predefinidas para ser utilizadas en sus procesos, Veamos un
ejemplo de cómo hacer un método en el siguiente ejemplo.
En este ejemplo vemos un programa normal en el cual se ejecuta un ciclo while
que imprime números del 0 al 7, pero ¿es posible hacerlo utilizando un
método?
Ahora utilizaremos este mismo programa pero el ciclo se ejecutara en un método:
view source
01 package ciclos;
02
03 /**
04 *
05 * @author xymind
06 */
07 public class Main {
08
09 /**
10 * @param args the command line arguments
11 */
12 public static void main(String[] args) {
13
14 iniciarCiclo();//aquí estamos ejecutando el método escrito en
15 //la parte de abajo, se puede utilizar mas de 1 vez
16 }
17
18 /*Comienza el método
19 Este método no regresa valores, es un método que únicamente
20 realiza un procedimiento, por lo que se declara como "void" seguido del
21 nombre que tendrá el método*/
22 public void iniciarCiclo(){
23
24 int x=0;
25 while(x!=7)
26 {
27 System.out.println("X vale: "+x);
28 x++;
29
30 }
31 }
32
33 }
Objeto:
En este ejemplo hemos considerado que el problema consta de tres tipos de
vehículo: taxi, autobús y tranvía, y que esos tipos los denominamos clases.
¿Qué haríamos en Java para definir una clase? Indicar sus propiedades y
operaciones (métodos) disponibles, por ejemplo:
/* Ejemplo Clase Taxi - aprenderaprogramar.com */
Clase Taxi {
Propiedades:
Matrícula identificativa
Distrito en el que opera
Tipo de motor diesel o gasolina
Coordenadas en las que se ubica
Operaciones disponibles:
Asignar una matrícula
Asignar un distrito
Asignar un tipo de motor
Ubicar en unas coordenadas
}
El haber definido así el taxi significará que todo objeto de tipo Taxi que
creemos tendrá una matrícula identificativa, un distrito en el que opera, un tipo
de motor y unas coordenadas en las que se ubica. La creación de un objeto
sería algo así como: “Crear un objeto Taxi con matrícula BFG-7452, distrito
Norte, tipo de motor Diesel y coordenadas Desconocidas.”
El uso de una operación sobre un objeto sería algo así como: “Taxi BFG-7452 -> Ubicar en coordenadas (X = 128223, Y = 877533)”. Las operaciones en Java
se denominan métodos, veremos cómo se definen más adelante.
Decimos que un objeto es una instancia de una clase. Por ejemplo el taxi
matrícula BFG-7452 es una instancia de la clase Taxi. Varios objetos (p.ej.
taxis) de una misma clase decimos que constituyen instancias múltiples de la
clase. Más adelante veremos que tanto una clase como un objeto en Java
pueden representar otras cosas además de lo que ahora hemos explicado,
pero todo a su tiempo.
3. Uso del get y set
Los métodos get y set, son simples métodos que usamos en las clases para
mostrar (get) o modificar (set) el valor de un atributo. El nombre del método
siempre será get o set y a continuación el nombre del atributo, su modificador
siempre es public ya que queremos mostrar o modificar desde fuera la clase.
Por ejemplo, getNombre o setNombre.
Esta es la sintaxis de cada uno:
Public tipo_dato_atributo getAtributo (){
Return atributo;
}
Public void setAtributo (tipo_dato_atributo variable){
this.atributo = variable;
}
Si usamos Eclipse tenemos una manera aún mas sencilla de generarlos
automáticamente. Pinchamos en Source -> Generate Getters and Setters, nos
aparecerá una ventana donde elegiremos que atributos generar su get o set, al
pinchar en OK nos lo generara automáticamente estos métodos.
Getters and setters
Veamos un ejemplo:
Clase ejecutable
Public class EmpleadoApp {
Public static void main (String [] args) {
Empleado empleado1=new Empleado ("Fernando", "Ureña", 23, 800);
Empleado empleado2=new Empleado ("", "López", 50 ,1800);
//Mostramos el valor actual del salario del empleado1
System.out.println ("El salario del empleado1 es "+empleado1.getSalario ());
//Modificamos la edad del empleado1
empleado1.setEdad (43);
empleado1.plus (100);
//Mostramos el salario de nuevo, ahora tendrá 100 mas
System.out.println("El salario actual del empleado1 es
"+empleado1.getSalario());
//Modificamos el nombre del empleado2
empleado2.setNombre("Antonio");
empleado2.plus(100);
//Mostramos el salario de nuevo, ahora tendrá 100 mas
System.out.println("El salario del empleado2 es "+empleado2.getSalario());
}
}
Descargar