Practica 1 Entrega individual: deberá enviarla al sistema moodle en un archivo compreso. Recuerde que es indispensable que sus códigos estén documentados. Objetivo practico: El alumno demostrara el domino en las diversas estructuras de control y en el flujo de entrada/salida para resolver problemas de mediana complejidad que incorporen la implementación y manipulación de referencias dinámicas y métodos estáticos. Programación: Resuelva los siguientes problemas, recuerde que debe emplear los objetos incorporados en System.out y Scanner para manejar el flujo de salida/entrada respectivamente. Además de emplear los operadores new para el diseño de arreglos dinámicos. Recuerde construir métodos estáticos que le permitan elevar el potencial a nivel de programación, generando programas altamente independientes de los datos. 1. Escriba un programa que calcule y visualice las n filas del triángulo de Pascal (n es introducida desde teclado). Realice para su construcción dos versiones una sin emplear arreglos y otra empleándolos. 1 1 1 1 1 1 2 3 4 1 3 6 1 4 1 Cada fila comienza y termina con un 1 y, para el resto de los elementos, su valor es la suma de los dos elementos que están justo encima de él. Si esta forma de visualización le parece demasiado compleja, puede visualizarse el triangulo como: 1 1 1 1 1 1 2 1 3 3 1 4 6 4 1 Las filas de el triangulo de Pascal son convencionalmente enumeradas comenzando con la fila 0, y los numero en las filas impares son por lo general relativamente escalonados a los números de las filas pares. La construcción está relacionada con el coeficiente binomial (combinaciones de n en k) establecido por: Para cualquier entero no negativo n y cualquier entero k entre 0 y n. 2. Realice un programa que lea una cadena de caracteres, la escriba al revés transformando las mayúsculas en minúsculas y viceversa, además mostrará el número de veces que aparecen los dígitos en la cadena. Por ejemplo: Ingresa -> Buenos Aires 115B Salida -> b511 SERIa SONEUb digitos -> 3 3. Realice una función, a la cual se le pasen como parámetro dos cadenas de caracteres de tamaño variable (s1 y s2), la función deberá de regrese el número de veces que aparece la cadena s1 en la cadena s2. Por ejemplo: Ingresa cadena s1-> si Ingresa cadena s2 -> si y solo si Salida -> total 2 4. Desarrolle un programa que genere un número aleatorio (entre 30 y 60) y que nos permita adivinar el número del que se trata en 5 intentos, para esto deberá de permitir al usuario capturar desde teclado valores que permitan corroborar nuestra suposición del número que se trata. Al final, en caso de haber acertado nos deberá informar el número de intentos fallidos, y en caso contrario nos informara los intentos y el valor del número que se trato de adivinar. 5. Construya un programa que capture un numero y de cómo resultado el valor del numero en Romano. La numeración romana utiliza siete letras mayúsculas a las que corresponden los siguientes valores. Letras Valores I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Los múltiples símbolos pueden ser combinados para producir cantidades entre estos valores, siguiendo ciertas reglas en la repetición. En los casos en que sea más pequeño, se permite a veces colocar un valor menor (sustrayendo), el símbolo con un valor menor colocado antes que un valor más alto, de manera que, por ejemplo, se puede escribir IV para cuatro, IX para nueve, mientras que XXX representa el 30. Ejemplos: XVI = 16, LXVI = 66, MCMXCVIII = 1998 6. Elabore un programa empleando funciones y parámetros de manera que solucione ecuaciones de segundo grado, recuerde que los valores para a, b y c serán ingresados por el usuario. Dada la ecuación de segundo grado: Se pueden presentar tres casos distintos: discr >0.0 las dos hay que calcular el discriminante: o Si raíces son reales y distintas, y valen: o Si discr = 0.0 las dos raíces son reales e iguales, y valen: o Finalmente, si discr < 0.0 las dos raíces son complejas conjugadas. Las partes real e imaginaria valen: 7. Realice un programa empleando funciones y parámetros que sea capaz de leer como entrada una cantidad entera comprendida entre 0 y 1100; y de cómo resultado la cantidad con letra, por ejemplo: valore de entrada -> 16 valor de salida “dieciséis“ valore de entrada -> 1022 valor de salida “un mil veintidós“ 8. Kitty envía un tipo de mensajes originales a su amigo Garf. Para escribir un mensaje, ella elije una palabra W y un numero n, y replica W n veces de manera horizontal. De manera que repite esta cadena en la siguiente línea pero rotando un carácter a la izquierda. Y ella repite este proceso de salida rotada hasta que la palabra W aparece desplegada en la primer columna del patrón rectangular que ella produce. Como ejemplo, ella proporciona la palabra “Hello” y el numero 3, por lo que obtiene: HelloHelloHello elloHelloHelloH lloHelloHelloHe loHelloHelloHel oHelloHelloHell Diseñe un programa empleando funciones y parámetros que reciba de entrada varios casos de prueba de manera iterativa. Cada caso de prueba tiene una palabra y un entero positivo que debería de generar el correspondiente patrón rectangular. La cadena son caracteres de la A a la Z (mayúsculas/minúsculas) y el numero es un digito de 1 a 9. La entrada será leída desde teclado y la salida será un patrón rectangular correspondiente a la entrada que se halla procesado. Punto en una entrada indica el fin de la captura.