0% encontró este documento útil (0 votos)
10 vistas5 páginas

Calculadora de Polinomios en Java

El documento es un código Java que implementa un programa para resolver ejercicios básicos de polinomios de grado 1 y 2. Permite al usuario ingresar coeficientes y calcular valores del polinomio, mostrar su gráfica y tabla de valores. Incluye un menú interactivo para realizar diferentes operaciones con el polinomio ingresado.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas5 páginas

Calculadora de Polinomios en Java

El documento es un código Java que implementa un programa para resolver ejercicios básicos de polinomios de grado 1 y 2. Permite al usuario ingresar coeficientes y calcular valores del polinomio, mostrar su gráfica y tabla de valores. Incluye un menú interactivo para realizar diferentes operaciones con el polinomio ingresado.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Trabajo2.

java lunes, 9 de junio de 2025, 12:08

1 package polinomios;
2
3 import [Link];
4
5 public class Trabajo2 {
6
7 public static void main(String[] args) {
8 Scanner sc = new Scanner([Link]);
9
10 [Link]("Este codigo resuelve Ejercicios basicos de polinomios de grado 1 y
2");
11 [Link]("De qué grado será el polinomio.");
12
13 int orden = 0;
14
15 // Pedir el grado hasta que sea 1 o 2, no acepto otra cosa
16 do {
17 [Link]("Escribe 1 para polinomio de primer grado, o 2 para segundo
grado: ");
18 orden = leerEntero(sc);
19 if (orden != 1 && orden != 2) {
20 [Link]("Solo se puede poner 1 o 2, prueba otra vez.");
21 }
22 } while (orden != 1 && orden != 2);
23
24 // Variables para los coeficientes
25 double a = 0, b = 0, c = 0;
26
27 // Si es grado 2, pedimos el coeficiente para x^2
28 if (orden == 2) {
29 [Link]("Pon el numero que va con x^2 (coeficiente a): ");
30 a = leerDouble(sc);
31 }
32
33 // Coeficiente para x
34 [Link]("Pon el numero que va con x (coeficiente b): ");
35 b = leerDouble(sc);
36
37 // Termino independiente
38 [Link]("Pon el numero que es constante (coeficiente c): ");
39 c = leerDouble(sc);
40
41 // Creo el polinomio con esos numeros
42 Polinomio p = new Polinomio(a, b, c);
43
44 int opcion = 0;
45
46 // menu principal, se repite hasta que pongas salir (3)
47 do {
48 [Link]("\n=== MENU PRINCIPAL ===");
49 [Link]("1. Calcular cuanto vale el polinomio en un numero");
50 [Link]("2. Mostrar la grafica del polinomio");
51 [Link]("3. Mostrar tabla de valores del polinomio");
52 [Link]("4. Ver coeficientes que pusiste");
53 [Link]("5. Salir");
54 [Link]("Escoge lo que quieres hallar (1-5): ");
55

Page 1
[Link] lunes, 9 de junio de 2025, 12:08

56 opcion = leerEntero(sc);
57
58 switch (opcion) {
59 case 1:
60 [Link]("Escribe el numero donde quieres calcular el polinomio:
");
61 double x = leerDouble(sc);
62 double resultado = [Link](x);
63 [Link]("El polinomio evaluado en " + x + " da: " + resultado);
64 pausa(sc);
65 break;
66
67 case 2:
68 [Link]("Aqui va la grafica (con * en la consola):");
69 [Link](p);
70 pausa(sc);
71 break;
72
73 case 3:
74 [Link]("Vamos a mostrar una tabla con varios valores:");
75 mostrarTablaValores(p, sc);
76 pausa(sc);
77 break;
78
79 case 4:
80 [Link]("Tus coeficientes son:");
81 [Link]("a (x^2) = " + [Link](2));
82 [Link]("b (x) = " + [Link](1));
83 [Link]("c (constante) = " + [Link](0));
84 pausa(sc);
85 break;
86
87 case 5:
88 [Link]("Gracias por usar el programa, chao!");
89 break;
90
91 default:
92 [Link]("Esa opcion no existe, intenta otra vez.");
93 pausa(sc);
94 break;
95 }
96 } while (opcion != 5);
97
98 [Link]();
99 }
100
101 // leer enteros
102 public static int leerEntero(Scanner sc) {
103 while (![Link]()) {
104 [Link]("Eso no es un numero entero, intenta otra vez:");
105 [Link]();
106 }
107 return [Link]();
108 }
109
110 // leer double
111 public static double leerDouble(Scanner sc) {

Page 2
[Link] lunes, 9 de junio de 2025, 12:08

112 while (![Link]()) {


113 [Link]("Eso no es un numero valido, intenta otra vez:");
114 [Link]();
115 }
116 return [Link]();
117 }
118
119 // hacer pausa
120 public static void pausa(Scanner sc) {
121 [Link]("\nPresiona enter para seguir...");
122 try {
123 [Link]();
124 } catch (Exception e) {
125 }
126 [Link](); // para limpiar el buffer
127 }
128
129 // mostrar tabla de valores
130 public static void mostrarTablaValores(Polinomio p, Scanner sc) {
131 [Link]("Desde que valor de x quieres empezar?: ");
132 double inicio = leerDouble(sc);
133 [Link]("Hasta que valor de x quieres llegar?: ");
134 double fin = leerDouble(sc);
135
136 while (fin <= inicio) {
137 [Link]("El valor final debe ser mayor que el inicial, intenta otra
vez.");
138 [Link]("Hasta que valor de x quieres llegar?: ");
139 fin = leerDouble(sc);
140 }
141
142 [Link]("Cada cuanto quieres aumentar x?: ");
143 double paso = leerDouble(sc);
144
145 while (paso <= 0) {
146 [Link]("El paso debe ser positivo y mayor que cero.");
147 [Link]("Cada cuanto quieres aumentar x?: ");
148 paso = leerDouble(sc);
149 }
150
151 [Link]("\n x | valor del polinomio");
152 [Link]("--------------------------------");
153
154 for (double x = inicio; x <= fin; x += paso) {
155 double val = [Link](x);
156 [Link]("%-8.2f | %-15.4f\n", x, val);
157 }
158 }
159
160 // representar un polinomio simple
161 static class Polinomio {
162 private double a;
163 private double b;
164 private double c;
165
166 // Constructor
167 public Polinomio(double a, double b, double c) {

Page 3
[Link] lunes, 9 de junio de 2025, 12:08

168 this.a = a;
169 this.b = b;
170 this.c = c;
171 }
172
173 // calcular valor del polinomio en x
174 public double evaluar(double x) {
175 return a * x * x + b * x + c;
176 }
177
178 // obtener coeficiente por grado
179 public double getCoeficiente(int grado) {
180 if (grado == 2) return a;
181 else if (grado == 1) return b;
182 else if (grado == 0) return c;
183 else return 0;
184 }
185 }
186
187 // grafica en consola usando *
188 static class Graficador {
189 public static void mostrarGrafica(Polinomio p) {
190 int ancho = 40; // cuantos puntos en x
191 int alto = 20; // filas para y
192
193 double xMin = -10;
194 double xMax = 10;
195
196 double[] valoresY = new double[ancho];
197 double yMax = -9999999;
198 double yMin = 9999999;
199
200 // hallar los valores de y para cada x para ver hasta donde sube o baja la grafica
201 for (int i = 0; i < ancho; i++) {
202 double x = xMin + i * (xMax - xMin) / (ancho - 1);
203 double y = [Link](x);
204 valoresY[i] = y;
205 if (y > yMax) yMax = y;
206 if (y < yMin) yMin = y;
207 }
208
209 // Por si todos los valores son iguales (para evitar division por cero)
210 if (yMax == yMin) {
211 yMax += 1;
212 yMin -= 1;
213 }
214
215 // Dibujo fila por fila (de arriba a abajo)
216 for (int fila = alto; fila >= 0; fila--) {
217 double yLinea = yMin + (yMax - yMin) * fila / alto;
218
219 // Muestro la escala del eje y a la izquierda
220 [Link]("%7.2f |", yLinea);
221
222 for (int i = 0; i < ancho; i++) {
223 double y = valoresY[i];
224

Page 4
[Link] lunes, 9 de junio de 2025, 12:08

225 // Si el punto está cerca de la línea actual, dibujo *


226 if ([Link](y - yLinea) < (yMax - yMin) / alto / 2) {
227 [Link]("*");
228 }
229 // Dibujo eje x (linea en y=0) con guion si toca aqui
230 else if ([Link](yLinea) < (yMax - yMin) / alto / 2
231 && i == (int) ((0 - xMin) * (ancho - 1) / (xMax - xMin))) {
232 [Link]("-");
233 } else {
234 [Link](" ");
235 }
236 }
237 [Link]();
238 }
239
240 // Muestro escala del eje x debajo
241 [Link](" ");
242 for (int i = 0; i < ancho; i += 5) {
243 double x = xMin + i * (xMax - xMin) / (ancho - 1);
244 [Link]("%-5.1f", x);
245 }
246 [Link]("\n");
247 // POR: PARICAHUA LAURA SAIRI RICARDO
248 // MAMANI TITO FREDDY CELESTINO
249 // QUISPE CONDORI SOSKY EMANUEL
250 // QUISPE PANDIA JHOEL ANTONY
251 }
252 }
253 }
254

Page 5

También podría gustarte