Semana03 prog ii
description
Transcript of Semana03 prog ii
PROGRAMACIÓN - II
Facultad de Ingeniería de Sistemas
Ing. Alberto Moreno C.
Semana 3
Funciones Matemáticas
La Clase Math
La clase Math representa la librería matemática de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propósito de agrupación, por eso se encapsulan en Math, y lo mismo sucede con las demás clases que corresponden a objetos que tienen un tipo equivalente (Character, Float, etc.). El constructor de la clase es privado, por los que no se pueden crear instancias de la clase. Sin embargo, Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla.
CLASE MATH
Funciones matemáticas y Manejo de cadenas
La clase Math define dos constantes muy útiles, el número p y el número e.
final double E= 2.7182818284590452354;final double PI = 3.14159265358979323846;
System.out.println("Pi es " + Math.PI); System.out.println("e es " + Math.E);
CLASE MATH
Función Tipo de Datos Descripción
Math.abs( x ) para int, long, float y double Valor Abosuluto
Math.sin( double ) Valor Seno
Math.cos( double ) Valor Coseno
Math.tan( double ) Valor Tangente
Math.asin( double ) Valor Arco Seno
Math.acos( double) Valor Arco Coseno
Math.atan( double ) Valor Arco Tangente
Math.exp( double ) Logaritmo Neperiano
Math.log( double ) Logaritmo natural
Math.sqrt( double ) Raiz Cuadrada
Math.ceil( double ) redondeo hacia arriba
Math.floor( double ) redondeo hacia abajo
Math.rint( double ) Redondear
Math.pow( a,b ) Potencia
Math.round( x ) para double y float Redondear
Función Tipo de Datos Descripción
Math.random()
devuelve un double Valor Aleatorio
Math.max( a,b ) para int, long, float y double
Valor Maximo
Math.min( a,b) para int, long, float y double
Valor minimo
Math.E para la base exponencial
Math.PI para PI
CLASE MATH
double x=4.0;double r=Math.sqrt(x); // raiz cuadradaJOptionPane.showMessageDialog(null, “La raíz cuadrada de “+ x + “es " + r);
int x=5, y=9 ;int max=Math.max(x,y) ; // mayor de de dos enterosJOptionPane.showMessageDialog(null, “El mayor es " + max);
int i = -9;double x = 0.3498; JOptionPane.showMessageDialog(null,"|" + i + "| es " + Math.abs(i)+”\n”+"|" + x + "| es " + Math.abs(x));
double n=5.65, resul;resul=Math.ceil(n); // resul=6.0resul=Math.floor(n);//resul=5.0
Ejemplo rint:System.out.println(Math.rint(1.2345)); // 1.0System.out.println(Math.rint(0.891));// muestra 1.0Si se quisiera aproximar a dos decimales:System.out.println(Math.rint(0.891*100)/100);// muestra 0.89
Ejemplo ceil: (redondeo hacia arriba)System.out.println(Math.ceil(2.3);// muestra 3.0System.out.println(Math.ceil(0.895);// muestra 1.0System.out.println(Math.ceil(-1.87);// muestra –1.0System.out.println(Math.ceil(-0.9);// muestra –0.0
Ejemplo floor: (redondeo hacia abajo)System.out.println(Math.floor(2.3);// muestra 2.0System.out.println(Math.floor(0.895);// muestra 0.0System.out.println(Math.floor(-1.87);// muestra –2.0System.out.println(Math.floor(-0.9);// muestra –1.0
Ejemplo round: System.out.println(Math.round(1.2345)); // 1.0 System.out.println(Math.round(9.876)); //10.0
Expresiones Aritméticas
Métodos matemáticos
Álgebra Método Java
nm Math.pow(n, m)
Math.sqrt(n)n
U N IV E R S ID A D D E S A N M A R T ÍN D E P O R R E S
P R O F . IN G . IV E T H M A R C E L IN O P O N C E
A L G O R IT M O Y E S T R U C T U R A D E D A T O S I I - M IA G E
bccba
cbaa8
77
23 3
5 624
+−+
+++
Expresiones Aritméticas
U N IV E R S ID A D D E S A N M A R T ÍN D E P O R R E S
P R O F . IN G . IV E T H M A R C E L IN O P O N C E
A L G O R IT M O Y E S T R U C T U R A D E D A T O S I I - M IA G E
1.- Desarrollar un programa en Java que permita ingresar 5 números enteros a través del teclado. Determinar y mostrar cual de ellos es el número mayor.
2.- Desarrollar un programa en Java que permita ingresar 7 números enteros a través del teclado. Determinar y mostrar cual de ellos es el número menor.
3.- Desarrollar un programa en Java que permita generar “n” números aleatorios. Los números aleatorios generados deberán estar entre 5 y 15. Mostrar el número generado aleatoriamente, la suma de dichos números.
min + (int)(Math.random()*(max – min +1) )
4.- Desarrollar un programa en Java que permita generar “n” números aleatorios de dos dígitos. Mostrar los número aleatorios que son pares y múltiplos de 5 ó 6.
5.- Desarrollar un programa en Java que permita generar 20 números aleatorios en el rango [10 - 1000]. Mostrar en una lista los número aleatorios que son pares y en otra lista los números impares, además se sesea saber cual es el numero mayor y el menor de cada lista.
6.- Desarrollar un programa en Java que permita ingresar u número entero y un exponente. Mostrar el resultado de calcular la potencia de todos los números menores que el número ingresado elevado al exponente ingresado.
7.- Desarrollar un programa en Java que permita ingresar u número entero y un exponente. Mostrar el resultado de calcular la raíz cuadrada de todos los números menores que el número ingresado.
Manejo de Cadenas: La Clase String
Una String es una variable referenciada asociada a un objeto de la clase java.lang.String. Se emplea para almacenar cadenas de caracteres.
Las Strings tienen una característica que las diferencia del resto de objetos: son inmutables, es decir, cuando se intenta modificarlas, por ejemplo al aplicarles un método, no se modifican sino que se crea otra String nueva.
Otras dos características de las Strings son:
Una String está indexada, es decir, cada uno de sus caracteres tiene asociado un índice: 0 para el primero, 1 para el segundo, etc.
La cadena de caracteres almacenada por una String siempre se escribe entre comillas dobles.
String nombre=”ANA MARIA”;
A N A M A R I A0 1 2 3 4 5 6 7 8
Método Tipo de Dato Descripción
length() Devuelve int Longitud de la cadena
charAt(int) Devuelve char Carácter dada una posición
equals(Object obj) Devuelve boolean
Si es igual
equalsIgnoreCase(Object obj)
Devuelve boolean
Si es igual sin considerar May o Min
compareTo(String)
Devuelve int Devuelve un entero menor que cero si la cadena es
léxicamente menor que str2. Devuelve cero si las dos cadenas son léxicamente iguales y un entero mayor que cero si la cadena es
léxicamente mayor que str2.
startsWith(String) Devuelve boolean Si comienza o termina con
esta cadenaendsWith(String) Devuelve boolean
Método Tipo de Dato Descripción
indexOf( int ) Devuelve int Devuelve si esta cadena comienza o termina con un
cierto prefijo o sufijolastIndexOf( int ) Devuelve int
substring( int inicio ) Devuelve String
Devuelve el primer/último índice de un carácter/cadena empezando la búsqueda a partir de un determinado desplazamiento.
substring(int inicio, int fin);
Devuelve String
concat( String); Devuelve String
replace(char antigua, char nueva);
Devuelve String
toLowerCase(); Devuelve String
toUpperCase(); Devuelve String
trim(); Devuelve String
String.valueOf(x) x : int, double, float,longDevuelve String
Convierte un tipo de dato a String
String nombre=”Juan Pedro”;
int cantidad=nombre.length(); // 10
String nomMay = nombre.toUpperCase(); // JUAN PEDRO
String nomMin = nombre.toLowerCase(); // Juan pedro
char c=nombre.charAt(0); // J
Diseñe un programa que me permita ingresar el nombre y los apellidos y muestre las iníciales en mayúscula.
Diseñe un programa que me permita ingresar el nombre y los apellidos y muestre las iníciales en mayúscula y el resto en minúscula.
Contar cuantas veces se repite la vocal “a” en una cadena de nombres y apellidos.
Diseñe un programa que lea un texto y los separe en dos textos de igual tamaño y compare cual de los texto es mayor alfabéticamente
Ejercicios Propuestos1.- Desarrollar un programa en Java que permita ingresar el nombre de un alumno. Mostrar el primer carácter del nombre ingresado en mayúscula y el resto en minúscula. 2.- Diseñe un programa que se ingrese primer nombre, segundo nombre y apellido y muestre sus iniciales 3.- Desarrollar un programa en Java que permita ingresar el nombre completo de un alumno (nombres y apellidos en una sola variable). Mostrar el primer carácter de cada palabra del nombre en mayúscula y el resto en minúscula. 4.- Desarrollar un programa en Java que permita ingresar el nombre de un alumno. Mostrar el número de vocales que hay en el nombre ingresado. 5.- Desarrollar un programa en Java que permita ingresar el nombre de dos alumnos. Mostrar si los nombre ingresados son iguales o no.6.- Desarrollar un programa en Java que permita ingresar el nombre de un alumno. Mostrar el nombre ingresado, de tal forma que se lea se izquierda a derecha (nombre mostrado al revés). 7. Solicitar el nombre de dos personas y determinar si son tocayas (os) . 8. Determinar el carácter del centro de una cadena. 9. Diseñe un programa que lea una cadena y reemplace los espacios en blanco por asteriscos.
Ejercicios Propuestos
10. Solicitar el nombre de dos personas y determinar si son tocayas (os) .
11. Determinar el carácter del centro de una cadena.
12. Diseñe un programa que lea una cadena y reemplace los espacios en blanco por asteriscos.