4. Funciones
con arrays bidimensionales
En
realidad, los arrays de cadenas son arrays bidimensionales lo que sucede es que en su tratamiento pocas
veces es necesario el doble bucle for. Solamente cuando es necesario el
tratamiento carácter a carácter como hemos podido ver en las funciones 2.2.16 y
2.2.17. Otro ejemplo de tratamiento de datos que formalmente son arrays
bidimensionales pero que su tratamiento no lo parece, lo tenemos en el
siguiente ejemplo.
4.1 Estructura de Datos Polígono
Un
Punto es un vector de coordenadas que puede ser representado como un array de
reales. El tamaño del array nos indicará la dimensión en la que se encuentra el
Punto. Si el array tiene dos coordenadas el Punto estará en el plano, si su
tamaño es tres, entonces será un punto en el espacio, y así sucesivamente. Una
vez definido el tipo Punto podemos definir el tipo Poligono como un array de
Punto. El tamaño del array nos dirá el número de puntos que conforma el
polígono. De esta manera un Poligono es entonces un array bidimensional de np
filas y n columnas, donde np es el número de puntos que forman el polígono
(tres indica triangulo, cuatro cuadrilátero, etc) y n la dimensión del espacio.
Cada fila del array bidimensional son las coordenadas de un punto. De esta
manera el valor (i,j) del array bidimensional es la coordenada j del punto i.
4.1.1 Declare las estructuras Punto y Poligono para guardar como máximo 10 puntos en 5 dimensiones:
4.1.2 Función tal que dado un entero n, lee un Punto de n coordenadas
4.1.3 Función que lee un entero n y posteriormente un Punto de n coordenadas. Nótese como es necesario devolver las dimensiones del Punto o tamaño del array leído.
4.1.4 Función tal que dados dos puntos devuelve el punto medio de ambos.
4.1.5 Función tal que dados dos puntos devuelve la distancia euclidea entre ambos. Nótese las diferencias con la función 1.2.2 que resuelve un caso particular para dos dimensiones.
4.1.6 Función tal que dado un punto imprime en pantalla entre corchetes sus coordenadas separadas por blancos.
4.1.7 Función tal que dados dos enteros nv y nd y reusando la función 3.1.2 lea un Poligono formado por nv vértices en nd dimensiones.
4.1.8 Función tal que dados dos enteros nv y nd y reusando la función 3.1.6 imprima en pantalla las coordenadas de un Poligono de nv vértices en nd dimensiones.
4.1.9 Función tal que dado un Poligono devuelve su perímetro. Es evidente que como pasa en los arrays bidimensionales es necesario incluir como argumentos de entrada, el número de puntos o vértices (np) que constituyen el polígono y la dimensión o número de coordenadas de los mismos (n). El perímetro se calculará como la suma de las distancia entre el punto 0 y el punto 1, más la distancia del punto 1 al 2, más la distancia del 2 al 3 y así sucesivamente más la distancia entre el punto np-2 y np-1 (último punto). Para finalizar habrá que sumar la distancia entre el último punto y el primero, esto es la distancia entre el punto np-1 y el punto 0:
4.1.1 Declare las estructuras Punto y Poligono para guardar como máximo 10 puntos en 5 dimensiones:
4.1.2 Función tal que dado un entero n, lee un Punto de n coordenadas
4.1.3 Función que lee un entero n y posteriormente un Punto de n coordenadas. Nótese como es necesario devolver las dimensiones del Punto o tamaño del array leído.
4.1.4 Función tal que dados dos puntos devuelve el punto medio de ambos.
4.1.5 Función tal que dados dos puntos devuelve la distancia euclidea entre ambos. Nótese las diferencias con la función 1.2.2 que resuelve un caso particular para dos dimensiones.
4.1.6 Función tal que dado un punto imprime en pantalla entre corchetes sus coordenadas separadas por blancos.
4.1.7 Función tal que dados dos enteros nv y nd y reusando la función 3.1.2 lea un Poligono formado por nv vértices en nd dimensiones.
4.1.8 Función tal que dados dos enteros nv y nd y reusando la función 3.1.6 imprima en pantalla las coordenadas de un Poligono de nv vértices en nd dimensiones.
4.1.9 Función tal que dado un Poligono devuelve su perímetro. Es evidente que como pasa en los arrays bidimensionales es necesario incluir como argumentos de entrada, el número de puntos o vértices (np) que constituyen el polígono y la dimensión o número de coordenadas de los mismos (n). El perímetro se calculará como la suma de las distancia entre el punto 0 y el punto 1, más la distancia del punto 1 al 2, más la distancia del 2 al 3 y así sucesivamente más la distancia entre el punto np-2 y np-1 (último punto). Para finalizar habrá que sumar la distancia entre el último punto y el primero, esto es la distancia entre el punto np-1 y el punto 0:
No hay comentarios:
Publicar un comentario