Implementación en Java de Operaciones con Vectores, Cálculo de Coseno y Seno Hiperbólico

Clasificado en Matemáticas

Escrito el en español con un tamaño de 5,83 KB

Este documento presenta un programa en Java que realiza diversas operaciones matemáticas, incluyendo la manipulación de vectores (verificación de capicúa, cálculo de la media y suma) y el cálculo del coseno y seno hiperbólico.

```java import java.util.*;

public class MENU { public static void main() { Scanner sc = new Scanner(System.in); int opcion;

// v --> vector capicúa int v[] = new int[5];

// v2 --> vector media double v2[] = new double[5];

// u, w --> vectores suma y "v3" es el vector suma double[] u = new double[5]; double[] w = new double[5]; double[] v3 = new double[5];

do { mostrar_menu(); System.out.print("Opción: "); opcion = sc.nextInt();

switch (opcion) { case 1: System.out.print("Introduce un vector: "); int n = sc.nextInt(); introducir(n, v); boolean b = capicua(v); System.out.print("Capicúa: " + b); break;

case 2: System.out.println("Introduce 5 vectores: "); leer_vector(v2); double media = media_vector(v2); System.out.println("Media= " + media); break;

case 3: System.out.println("Introduce 5 vectores, u: "); cazar_vector(u); System.out.println("Introduce 5 vectores, w: "); cazar_vector(w); sumar_vectores(u, w, v3); mostrar_vector(v3); break;

case 4: System.out.print("x= "); double x = sc.nextDouble(); System.out.print("precisión= "); double precision = sc.nextDouble(); double cos = coseno(x, precision); System.out.println("Coseno de " + x + "= " + cos); break;

case 5: System.out.print("x2 = "); double x2 = sc.nextDouble(); System.out.print("precision2 = "); double precision2 = sc.nextDouble(); double seno = senoh(x2, precision2); System.out.println("Seno h de " + x2 + " = " + seno); break;

case 0: break;

default: System.out.print("Opción no válida "); } } while (opcion != 0); }

// CAPICUA

static void introducir(int n, int v[]) { int i = v.length - 1; while (i >= 0) { v[i] = n % 10; n = n / 10; i--; } }

static boolean capicua(int v[]) { int i = 0; int j = v.length - 1; while ((i < j) && (v[i] == v[j])) { i++; j--; }

if (i >= j) { return true; } else { return false; } }

// MEDIA VECTORES

static void leer_vector(double[] v2) { Scanner sc = new Scanner(System.in); for (int i = 0; i < v2.length; i++) { v2[i] = sc.nextDouble(); } }

static double media_vector(double[] v) { double suma = 0.0; for (int i = 0; i < v.length; i++) { suma = suma + v[i]; } double media = suma / v.length; return media; }

// SUMA VECTORES

static void mostrar_vector(double[] v3) { for (int i = 0; i < v3.length; i++) { System.out.println("v3[" + i + "]=" + v3[i]); } }

static void sumar_vectores(double[] a, double[] b, double[] suma) { for (int i = 0; i < a.length; i++) { suma[i] = a[i] + b[i]; } }

static void cazar_vector(double[] v3) { Scanner sc = new Scanner(System.in); for (int i = 0; i < v3.length; i++) { v3[i] = sc.nextDouble(); } }

// COSENO

static double coseno(double x, double precision) { double numerador, denominador, termino, i; double suma = 1.0; i = 1.0; numerador = 1.0; denominador = 1.0; termino = 1.0;

while (Math.abs(termino) > precision) { numerador = -numerador * x * x; denominador = denominador * (2.0 * i) * (2.0 * i - 1.0); termino = numerador / denominador; suma = suma + termino; i = i + 1.0; } return suma; }

// SENO HIPERBOLICO

static double senoh(double x2, double precision2) { double termino, numerador, denominador, n; numerador = x2; denominador = 1.0; termino = numerador / denominador; double suma = x2; n = 1.0; while (Math.abs(termino) > precision2) { numerador = numerador * x2 * x2; denominador = (2 * n + 1.0) * (2 * n) * denominador; termino = numerador / denominador; suma = suma + termino; n = n + 1.0; } return suma; }

// MENU

static void mostrar_menu() { System.out.println(""); System.out.println(""); System.out.println(""); System.out.println(" MENU"); System.out.println(" ===="); System.out.println(""); System.out.println("Elige una opción: "); System.out.println(""); System.out.println("1. Problema vectores. Capicúa "); System.out.println("2. Problema vectores. Media "); System.out.println("3. Problema vectores. Suma "); System.out.println("4. Calculo Coseno "); System.out.println("5. Calculo Seno hiperbólico "); System.out.println("0. Terminar "); System.out.println(""); } } ```

Funcionalidades Implementadas

  • Capicúa: Determina si un vector es capicúa (se lee igual de izquierda a derecha que de derecha a izquierda).
  • Media de Vectores: Calcula la media de los elementos de un vector.
  • Suma de Vectores: Suma dos vectores elemento a elemento.
  • Cálculo de Coseno: Calcula el coseno de un valor dado utilizando una serie de Taylor.
  • Cálculo de Seno Hiperbólico: Calcula el seno hiperbólico de un valor dado utilizando una serie.

Estructura del Código

  1. Método main: Contiene el menú principal y la lógica para interactuar con el usuario.
  2. Métodos para Vectores: Incluyen funciones para leer, mostrar, sumar y verificar si un vector es capicúa.
  3. Métodos para Cálculo: Implementan el cálculo del coseno y seno hiperbólico utilizando series.
  4. Menú: Presenta las opciones disponibles al usuario.

Uso del Programa

El programa presenta un menú con las siguientes opciones:

  1. Verificar si un vector es capicúa.
  2. Calcular la media de un vector.
  3. Sumar dos vectores.
  4. Calcular el coseno de un valor.
  5. Calcular el seno hiperbólico de un valor.
  6. Terminar el programa.

El usuario puede seleccionar una opción ingresando el número correspondiente.

Entradas relacionadas: