Guía 3: Arreglos ING1310 Pregunta 1 Cree un arreglo de Strings que guarde las siguientes palabras: Rojo, Amarillo, Azul, Violeta. Luego imprima en pantalla los elementos de este arreglo. Pregunta 2 Hacer un programa que pregunte 5 números y luego los imprima en orden inverso. Pregunta 3 Cree un arreglo con cinco elementos dados por el usuario. Luego intercambie el primer elemento con el último. Finalmente, imprima en pantalla los elementos del arreglo. Pregunta 4 Hacer un programa que pregunte los ponderadores de un polinomio (a0, a1, a2, a3, a4 , a5… ) de cualquier grado (hasta 10): (a0 + a1x + a2x2 + a3x3 + a4x4 + a5x5) y luego permita evaluar el polinomio para cualquier valor de x. Para cuando se ingrese el grado, debe tomar en cuenta que el usuario puede ingresar un número mayor que 10 o menor que 0, en cuyo caso debe indicar que el grado debe estar entre 0 y 10 y luego preguntar nuevamente. También debe tomar en cuenta que el usuario puede ingresar un número con decimales, en cuyo caso debe indicar que el grado debe ser entero y luego preguntar nuevamente. Pregunta 5 En la industria papelera existe una máquina que debe alcanzar una temperatura de 150 º C en un lapso de 20 minutos. Debido a razones de seguridad la máquina debe alcanzar la temperatura en forma controlada por lo que esta se registra minuto a minuto. Se considera sospechoso si dos aumentos (exactamente 2, ni más ni menos) consecutivos son mayores (o iguales) que 11 grados. Escriba un programa que registre estas temperaturas, las cuales son dadas por el usuario, y luego diga si hubo un aumento sospecho especificando en que minuto comenzó. Tome en cuenta que puede haber más de un aumento sospechoso dentro de los veinte minutos.
Solución Pregunta 1 class Colores { public static void main(String[] args) { String[] colores = {"Rojo", "Amarillo", "Azul", "Violeta"}; for(int i=0; i
Solución Pregunta 2 class Numeros { public static void main(String[] args) { double[] numeros = new double[5]; int i; for (i=0; i < numeros.length ; i++) { System.out.println("Ingrese un numero"); numeros[i]= In.readDouble(); } for( i = 4; i >= 0; i--) System.out.println(numeros[i]); } }
Solución Pregunta 3 class Intercambiar { public static void main(String[] args) { double[] numeros = new double[5]; int i; double temporal; for (i=0; i < numeros.length ; i++) { System.out.println("Ingrese un numero"); numeros[i]= In.readDouble(); } temporal = numeros[0]; numeros[0]= numeros[4]; numeros[4]= temporal; for (i=0; i < numeros.length ; i++)
System.out.println(numeros[i]); } }
Solución Pregunta 4 class Polinomio { public static void main(String[] args) { //Debe ser hasta 11, pues en el caso //de que el polinomio sea de grado //10 tendremos 11 poderadores //de a0 hasta a11 double[] pond = new double[11]; //Aca le damos un valor a "grado" solo //porque al compilar me da un error //diciendo que no inicializamos "grado" //pues se inicializa dentro de un while //y el programa asume que existe la posibilidad de // que nunca se ingrese al while int i; double grado=0; double x; double resultado=0; boolean preguntar = true; while (preguntar == true) { System.out.println("¿De que grado quiere que sea "+ "el polinomio (de 0 a 10)?"); grado=In.readDouble(); if ( grado >10 || grado < 0) System.out.println("El grado debe estar entre 0 y 10"); //Para ver si el usuario ingreso un numero //con decimales. No podemos tener un polinomio //con grado decimal else if ( (grado*10)%10!= 0 ) System.out.println("Debe ingresar un numero entero"); //Si el usuario ingresa correctamente el grado //podemos dejar de preguntar y salimos del while else preguntar = false; } //Aca fijense que i llega hasta grado //dado que si es por ejemplo grado 3 //necesitamos 4 ponderadores: // a0, a1, a2, a3
for(i=0; i<= grado; i++) { System.out.println("Ingrese a" + i); pond[i] = In.readDouble(); } //Aca le pregunto al usuario independiente de si el grado que ingreso //(el grado podria ser 0) System.out.println("Ingrese el valor de x "+ "para el cual desea evaluar " + "el polinomio"); x=In.readDouble(); //Dado que no sabemos de antemano el grado //del polinimio debemos usar un while for (i=0; i <= grado; i++) { resultado = resultado + pond[i]*Math.pow(x,i); } System.out.println("El resultado de evaluar el polinomio es: "+resultado);
} }
Solución Pregunta 5 class TemperaturaSospechosa { public static void main(String[] args) { double[] temp= new double[20]; int i; for(i=0; i< temp.length; i++) { //Aqui para imprimir i+1 deben //usar parentesis, si no, imprime // el valor de i pegado a un 1 System.out.println("Ingrese la temperatura " + "al minuto "+ (i+1)); temp[i]=In.readDouble(); } i=0; //Solo chequeamos hasta el minuto //18 (o sea indice 17),pues de lo //contrario al usar i+2 //produciriamos un error while (i<(temp.length -2)) { if(temp[i+1]-temp[i] >= 11)
{ if(temp[i+2]-temp[i+1] >= 11) System.out.println("Hubo un aumento sospechoso"+ " al minuto "+ (i+1)); } i++; } } }