Ejercicios de Programación en Java: Cálculo de Pi, Clases Punto y Vector, Sumatorios y Arrays
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,58 KB
Ejercicios de Programación en Java
Cálculo de Pi mediante la serie de Leibniz
El siguiente método calcula el valor de Pi utilizando la serie de Leibniz:
public static float piLeibniz(long n){
if (n<0) return -1.0;
float pi = 0;
for (int k = 0; k <= n; k++){
int signo = (k%2 == 0)?1:-1;
pi += (signo /((2.0*k)+1));
}
return pi*4;
}
Clase Punto
Implementación de la clase Punto
Esta clase modela una posición en un espacio de dos dimensiones.
class Punto {
private double x = 0, y = 0;
public Punto(double x, double y){
this.x = x;
this.y = y;
}
public double getX() { return x; }
public double getY() { return y; }
public double distancia(Punto p){
double dx = p.x - x;
double dy = p.y - y;
return Math.sqrt(dx*dx + dy*dy);
}
}
Uso de la clase Punto
en el método main
public static void main(String [] args){
System.out.print("Introduzca coordenada x del punto A:");
double Ax = Teclado.readDouble();
System.out.print("Introduzca coordenada y del punto A:");
double Ay = Teclado.readDouble();
System.out.print("Introduzca coordenada x del punto B:");
double Bx = Teclado.readDouble();
System.out.print("Introduzca coordenada y del punto B:");
double By = Teclado.readDouble();
Punto A = new Punto(Ax,Ay);
Punto B = new Punto(Bx,By);
System.out.print(A.distancia(B));
}
Clase Vector
Implementación de la clase Vector
Esta clase modela un vector en el espacio de dos dimensiones.
class Vector {
private Punto origen;
private Punto extremo;
public Vector(Punto or, Punto extr){
origen = or;
extremo = extr;
}
public Punto getOrigen() { return origen; }
public Punto getExtremo() {
return extremo;
}
public double modulo(){
return origen.distancia(extremo);
}
}
Uso de la clase Vector
en el método main
public static void main(String [] args){
Punto O = new Punto(10.0,10.0);
Punto E = new Punto(150.0, 150.0);
Vector v = new Vector(O,E);
System.out.println(v.modulo());
}
Cálculo de la suma de F(i)
Implementación de un método que calcula la suma de todos los F(i) mediante una fórmula.
public static int sumaF (int n){
if (n<1) return -1;
int sumatorio=0;
for (int i=1; i<=n;i++){
sumatorio+=i*(i+1)/2;
System.out.println(i*(i+1)/2);
}
return sumatorio;
}
Detección de elementos repetidos en un array
Método que devuelve true
si un array de enteros contiene elementos repetidos, y false
en caso contrario.
public static boolean hayRepetidos(int a []){
if (a == null || a.length == 1 || a.length == 0){
return false;
}
for(int i = 0; i < a.length; i++){
for (int j = i+1; j < a.length; j++){
if (a[i] == a[j]){
return true;
}
}
}
return false;
}
Obtención de los índices de un número en un array
Método que devuelve un array con los índices de un número entero dado dentro de otro array de enteros.
public static int [] indices(int [] a, int n){
if (a==null) return null;
int cont = 0;
for (int i=0; i<a.length; i++)
if (a[i]==n) cont++;
if (cont==0) return null;
int [] resultado = new int[cont];
int j=0;
for (int i=0; i<a.length; i++){
if (a[i]==n) {
resultado[j]=i;
j++;
};
}
return resultado;
}