GUIÓN 6 El tipo String y Estructuras Informática 2009 - 2010 1. Implemente una función que indique si una palabra es un palíndrome (se lee igual de izquierda a derecha que de derecha a izquierda). 2. Implemente una función que reciba un string S y una letra x, y ponga en mayúsculas cada ocurrencia de x en S. La función debe modificar la variable S. 3. Defina una función que reciba un string y lo muestre en orden inverso. 4. Defina una función que reciba un string S y devuelva el mismo string, S, al que se le han eliminado los espacios. 5. Defina un tipo de datos llamada fecha. Luego, implemente un programa que pida al usuario la fecha actual y su fecha de nacimiento e informe la edad que tiene. 6. Dado un vector de tipo Punto2D, implemente una función que permita obtener el rango (valor mínimo y máximo) para las variables x e y. El tipo Punto2D está definido de la siguiente forma: struct Punto2D{ int x,y; }; 7. Para realizar operaciones con números complejos, podemos definir el siguiente tipo: struct Complex{ float real; float imaginaria; }; Implementa funciones que realicen las operaciones de suma, resta, multiplicación y división de números complejos definidos con el tipo anterior. 8. Supongamos que deseamos evaluar a un determinado número de alumnos siguiendo el criterio de que aprobará aquel que supere la nota media de la clase. Escriba un programa que lea un número indeterminado (hasta que el usuario diga que ya no quiere introducir otro) de alumnos, máximo 20, y las notas de tres evaluaciones. Como resultado, se debe emitir un informe indicando para cada alumno las evaluaciones que tiene aprobadas y suspensas. Ejemplo de la salida que se debe obtener: Alumno Juan Lopez Luis Garcia Pedro Ruiz Nota-1 Aprobado Suspenso Aprobado Nota-2 Suspenso Aprobado Aprobado Nota-3 Aprobado Aprobado Aprobado 9. Realiza un programa para gestionar intervalos. Un intervalo se define a partir de dos reales, un extremo inferior y un extremo superior. Primero, se tiene que definir la estructura de datos Intervalo y después tiene que realizar las siguientes tareas: • Una función para leer un intervalo. • Una función que, dados dos intervalos, devuelva true si el primero está dentro del segundo y false en caso contrario. Un intervalo, I1, está dentro de otro, I2, cuando el extremo inferior de I1 es mayor o igual que el de I2 y el extremo superior de I1 es menor o igual que el de I2. • Un procedimiento para mostrar, por pantalla, un intervalo. • Una función que, dado un intervalo, I, devuelva su longitud. Definimos la longitud de I como la diferencia entre su extremo superior y su extremo inferior. • Usando las funciones anteriores, realiza un programa que lea un vector de intervalos y muestre por pantalla los intervalos con longitud mayor a 10 que incluyen al intervalo [0, 1].