Ejercicios Unidad 5 Arreglos Resuelva cada problema a través de Arreglos y usando métodos: 1. Escribir un programa que mediante arreglos transforme un número romano (cadena de caracteres) en número arábigo. 2. Escribir un programa que invierta el orden de n números almacenados en un arreglo. El primero se pone en la última posición, el segundo en penúltima, etc. 3. Un número entero es primo si ningún primo más pequeño que él es divisor suyo. A continuación escribir un programa que rellene una tabla con los 80 primeros números primos y los visualice. 4. El juego del ahorcado se juega con dos personas (o una persona y una computadora). Un jugador selecciona una palabra y el otro jugador trata de adivinar la palabra averiguando letras individuales. Diseñar un programa para jugar al ahorcado. Sugerencia: Almacenar una lista de palabras en un array y seleccionar palabras aleatoriamente. 5. Escribir un programa que lea una matriz y a continuación encuentre el mayor y el menor elemento de la matriz y sus posiciones. 6. Si x representa la media de los números x1,x2,…,xn, entonces la varianza es la media de los cuadrados de las desviaciones de cada número respecto la media y la desviación estándar es la raíz cuadrada de la varianza. Escribir un programa que lea una lista de números reales, los cuente y a continuación calcule e imprima su media, varianza y desviación estándar. 7. Una matriz cuadrada se dice que es simétrica cuando A(i,j) es igual que A(j,i) para todo par de índices i y j dentro de los límites de la matriz. Escribir un programa que indique si una matriz cuadrada es simétrica o no. 8. Escribir un programa que tenga un procedimiento que acepte como parámetro un vector que puede contener elementos duplicados. El procedimiento debe sustituir cada valor repetido por -5 y devolver al punto donde fue llamado el vector modificado y el número de entradas modificadas. 9. Los resultados de las últimas elecciones municipales correspondientes a varios distritos y candidatos se almacenan en un array de dos dimensiones. Diseñar un programa que realice las siguientes tareas: a) Imprimir la tabla de votos por distrito y candidato. b) Calcular e imprimir el número total de votos recibidos por cada candidato y el porcentaje del total de votos emitidos. Asimismo visualizar el candidato más votado. c) Si algún candidato recibe más del 50 por 100 de los votos declararle ganador. d) Si ningún candidato recibe más del 50 por 100 de los votos, imprimir los dos más votados, que son los que pasarán a la segunda vuelta de elecciones. 10. Escribir un programa que lea una colección de cadenas de caracteres de longitud arbitraria. Por cada cadena leída, su programa hará lo siguiente: a) Imprimir la longitud de la cadena. b) Contar el número de ocurrencias de palabras de cuatro letras. c) Sustituir cada palabra de cuatro letras por una cadena de cuatro asteriscos e imprimir la nueva cadena. 11. Una agencia de venta de vehículos automóviles distribuye quince modelos diferentes y tiene en su planilla diez vendedores. Se desea un programa que escriba un informe mensual de ventas por vendedor y modelo, así como el número de automóviles vendidos por cada 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. vendedor y el número total de cada modelo vendido por todos los vendedores. Asimismo, para entregar el premio al mejor vendedor, necesita saber cuál es el vendedor que más coches ha vendido. Calcular la media aritmética de una lista de números reales. Calcular el mayor de una lista de números. Diseñar un programa que determine la frecuencia de aparición de cada letra mayúscula en un texto escrito por el usuario. Escribir un programa que lea una cadena de caracteres y la visualice en forma de cuadro. Escribir un programa que lea una frase, sustituya todas las secuencias de dos o más blancos por un solo blanco y visualice la frase resultante. Escribir un programa que lea una frase y a continuación visualice cada palabra de la frase en columna, seguido del número de letras que compone cada palabra. Escribir un programa que desplace una palabra leída del teclado desde la izquierda hasta la derecha de la pantalla. Escribir un programa que visualice en forma codificada la cadena de caracteres leída del teclado. Escribir un programa que calcule la frecuencia de aparición de las vocales de un texto proporcionado por el usuario. Esta solución debe presentarse en forma de histograma. Escribir un programa que lea una serie de cadenas, a continuación determine si la cadena es un identificador valido para Visual Basic. Sugerencias: utilizar los siguientes subprogramas: longitud (tamaño del identificador en el rango permitido); primero (determinar si el nombre comienza con un símbolo permitido); restantes (comprueba si los restantes son caracteres permitidos). Escribir un procedimiento conversión que reciba como parámetro una cadena representando una fecha en formato ‘dd/mm/aa’ como 17/11/01 y la devuelva en formato de texto: 17 de noviembre de 2001. Escriba un procedimiento sort que ordene un conjunto de cadenas en orden alfabético. Diseñar un programa que determine la media del número de horas trabajadas durante todos los días de la semana. Escriba un procedimiento que ordene los n primeros elementos de un array de cadenas basado en las longitudes de las cadenas. Por ejemplo, ‘bibi’ vendrá antes que ‘Ana’. Se introduce una frase por teclado. Se desea imprimir cada palabra de la frase en líneas diferentes y consecutivas. Escribir un programa que determine si una frase o una palabra es un palíndromo. Un palíndromo es una cadena de caracteres que se leen igual en ambos sentidos; por ejemplo: ana. Escribir un programa que permita escribir en sentido inverso una cadena de caracteres. Escribir un programa que permita buscar si un carácter existe en una cadena de caracteres y calcular la frecuencia de aparición de un carácter en la cadena. Buscar una palabra en una cadena y calcular su frecuencia de aparición.