Practica Calificada Grupo A Programación en C++ Pág. 1 ÍNDICE ÍNDICE .............................................................................................................................................1 1. INTRODUCCIÓN. ......................................................................................................................1 1.1 Ejercicio 1: Medir Distancias entre Puntos (0.4pts) ......................................................1 1.2 Ejercicio 2: Convertir de C. Rectangulares a Polares y viceversa (0.3pts) ..................2 1.3 Ejercicio 3: Contar vocales repetidas en un texto (0.3pts) ............................................3 1. Introducción. Para la realización de esta practica, debe verificar que tiene creada la carpeta Abril03 en el disco G:\. Allí es donde debe dejar todos los ejercicios, cada uno en su respectivo directorio, es decir el Ejercicio 1 en Abril03\Ejer1 y así sucesivamente. Al finalizar la practica debe verificar (con el Windows Explorer) que todos los ejercicios se encuentran es esta carpeta. En los tres ejercicios se da la estructura de main(). Se debe respetar esta estructura y hacer los ejercicios con las funciones que se ponen (con el mismo nombre). Dentro de las funciones cada uno puede poner el código que desee y usar la variables que necesite. No debe usar variables globales. 1.1 Ejercicio 1: Medir Distancias entre Puntos (0.4pts) El objetivo de este ejercicio es el de calcular las distancias entre varios puntos de un plano cartesiano x e y (dados por el usuario) y al final imprimir los dos puntos que están más cercanos, con la distancia que les separa. En la figura adjunta se pueden observar las entradas y salidas del programa. La estructura general del programa es la siguiente: #include <iostream.h> #include <math.h> float *PedirPuntos(int &); void DistanciasEntrePuntos(float *,int); void main() { float *v; int num; v = PedirPuntos(num); //aqui crear el vector DistanciasEntrePuntos(v,num); delete [] v; //liberar memoria } A continuación se le dará una breve explicación de cada una de las funciones: • La función PedirPuntos debe pedir en primer lugar el número de puntos que desea introducir el usuario, y debe devolver: Informática II – Fundamentos de Programación - Tecnun Practica Calificada Grupo A Programación en C++ Pág. 2 o El vector con los puntos (intercalados, es decir v[i]=x v[i+1]=y) o El número de puntos que ha introducido el usuario, por medio de la variable num. En esta función se debe reservar la memoria para el vector. Nota: al usar un solo vector, los puntos se deben intercalar, entonces el tamaño del vector será de 2 veces num. • La función DistanciasEntrePuntos recibe el vector con los puntos y el número de puntos introducidos. Esta función es la que se encarga de imprimir en la consola la distancia que hay entre cada uno de los puntos y de calcular cuales son los puntos que se encuentran más cercanos, así como su distancia que les separa. Distancia entre dos puntos: (x2 − x1)2 + ( y 2 − y1)2 En las funciones puede usar las variables que crea conveniente. No olvide que este ejercicio debe estar en la carpeta Abril03\Ejer1. 1.2 Ejercicio 2: Convertir de C. Rectangulares a Polares y viceversa Este ejercicio consiste en hacer un programa que le permita al usuario hacer conversiones de coordenadas rectangulares a polares y viceversa, para lo cual debe hacer un menú donde el usuario elija la opción deseada (ver figura). Según la opción que el usuario elija, debe pedir los datos: x e y o r y el ángulo. (0.3pts) Las conversiones se deben realizar por medio de dos funciones, según vemos a continuación en la estructura general del programa: #include <iostream.h> #include <math.h> void PolarToCartesianas(float r, float ang,float &x, float &y); void CartesianasToPolar(float x, float y, float &r, float &ang); void main() { //declarar variables while(true){ //menú //llamada a CartesianasToPolar(x,y,r,ang); según opcion //llamada a PolarToCartesianas(r,ang,x,y); según opcion } } En el programa se deben llamar a las funciones según la opción que el usuario ha elegido, es decir que si ha elegido la opción 1 (como en la figura), pedirá los valores de x e y y llamará a la función CartesianasToPolar(). Debe observar que cada función recibe dos valores y devuelve dos, por medio de los argumentos que se le pasan a la función. Al igual que en el ejercicio 1, no olvide que este ejercicio debe estar en la carpeta Abril03\Ejer2. Informática II – Fundamentos de Programación - Tecnun Practica Calificada Grupo A Programación en C++ Pág. 3 1.3 Ejercicio 3: Contar vocales repetidas en un texto (0.3pts) Este ejercicio consiste en hacer un programa sencillo que cuente cuantas veces se repiten las vocales en un texto, el cual es dado por el usuario. Ver figura para entender mejor el funcionamiento del programa. La estructura del programa debe ser la siguiente: #include <iostream.h> #include <string.h> char *PideTexto(); void ContarVocales(char *, int []); void Imprime(int []); void main() { char *texto; int Num[5]; texto = PideTexto(); ContarVocales(texto,Num); Imprime(Num); delete [] texto; //libera memoria } La estructura de main debe ser como se muestra más arriba. Existen 3 funciones que realizan el trabajo, las cuales son llamadas desde main. A continuación se da una explicación de lo que realiza cada una de ellas: • La función PideTexto devuelve un puntero a la cadena que el usuario ha escrito. • La función ContarVocales recibe el array que contiene el texto y otro array de enteros, en el cual va a devolver cuantas veces se repite cada una de las vocales, es decir, en Num[0] vendrán las veces que se repite la vocal a (igual a 9 en el ejemplo de la figura), en Num[1] la vocal e y así sucesivamente. • La función Imprime recibe el array de enteros e imprime en la consola lo que ha encontrado, según se puede ver en la figura. Nota: debe contar las mayúsculas y las minúsculas, como se ve en la figura. Al igual que en los dos ejercicios anteriores, no olvide que este ejercicio debe estar en la carpeta Abril03\Ejer3. Suerte!! Informática II – Fundamentos de Programación - Tecnun