-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIntegrales.java
More file actions
81 lines (65 loc) · 2.37 KB
/
Integrales.java
File metadata and controls
81 lines (65 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import java.util.Scanner;
public class Integrales {
public static void main(String[] args) {
int grado;
Scanner entrada= new Scanner(System.in);
System.out.println("¡Hola! este programa escribirá un polinomio del grado que indiques, y con los coeficientes que gustes uwu");
System.out.println("Inserte el grado del polinomio.");
grado= entrada.nextInt();
int [] polinomio= new int [grado+1];
for(int i=0; i<grado+1 ; i++){
System.out.println("Inserte el coeficiente del monomio de grado "+(i)+ ":");
polinomio[i]= entrada.nextInt();
}
System.out.println("Tu polonomio de grado "+grado+" es:");
for(int i=0; i<polinomio.length; i++){
if(i==0&&polinomio[i]!=0) System.out.print(polinomio[i]+" "); //término independiente
else if(i==1&&polinomio[i]!=0){ //término lineal
if(polinomio[i]>0&&polinomio[i-1]!=0) System.out.print("+ "); //excepciones para que se imprima correctamente el polinomio
if(polinomio[i]==1) System.out.print(" x ");
if(polinomio[i]==-1) System.out.print("- x ");
else if(polinomio[i]!=0&&polinomio[i]!=1){
System.out.print(" "+polinomio[i]+"x ");
}
}
else{ //demás términos
if(polinomio[i]==1) System.out.print("+ x^"+(i)+" ");
else if(polinomio[i]==-1) System.out.print("- x^"+(i)+" ");
else if(polinomio[i]!=0){
if(polinomio[i]>0) System.out.print("+ ");
System.out.print(" "+polinomio[i]+"x^"+(i)+" ");
}
}
}
int n=1;
int xn=0;
double poli=0;
int a, b, delta;
poli= evaluarpoli(polinomio, n);
System.out.println("");
System.out.println("Ingresa el límite superior en el que quieres evaluar la integral:");
b=entrada.nextInt();
System.out.println("Ingresa el límite inferior en el que quieres evaluar la integral:");
a=entrada.nextInt();
System.out.println("Ingresa el numero de divisiones n que deseas:");
n=entrada.nextInt();
delta=(b-a)/n;
for(int i=1; i<n; i++){
xn= (Math.abs((polinomio[i-1]-polinomio[i])))/2;
poli=poli+evaluarpoli(polinomio,xn);
}
System.out.println(poli*delta);
}
static double evaluarpoli(int [] polinomio, int n){
int xp=xn;
double poli=0;
for(int j=1;j<polinomio.length; j++){ //potencia para el polinomio evalauado
n= n*j;
n=xp;
}
for(int k=0; k<polinomio.length; k++){ //polinomio siendo evaluado
poli= poli + polinomio[k]*xp;
}
return poli;
}
}