Programa Que Calcula Distancia Entre Dos Puntos

Páginas: 11 (2709 palabras) Publicado: 3 de noviembre de 2012
DISEÑO DE UN PROGRAMA PARA CALCULAR LA DISTANCIA ENTRE DOS PUNTOS DE LA TIERRA
Maira Estefanía Torres González (20101005074), Krystian Julian Marentes Urbano (20101005020), Jeisson Sebastián Zambrano Niño (20101005050).
Universidad Distrital Francisco José de Caldas. Ingeniería Electrónica.

1. PLANTEAMIENTO DEL PROBLEMA
En ésta primera práctica de laboratoriode la asignatura Diseño Digital con Microcontroladores, se pretende conocer las herramientas de trabajo, y en especial, el software con el que se desarrollarán los programas que serán implementados a lo largo de los laboratorios. El ejercicio para familiarizarnos con la herramienta es el siguiente: Diseñar un programa que calcule la distancia entre dos puntos sobre la tierra (suponga lasuperficie de la tierra plana y la distancia a medir máximo de 10000 m). Las coordenadas en cada punto tendrán el siguiente formato: Latitud 2 dígitos enteros 5 dígitos decimales (ej. 04.74448), Longitud 3 dígitos enteros 5 dígitos decimales (ej. 074.03173). Las coordenadas se almacenan en la memoria del microcontrolador en formato ASCII. El valor de la distancia debe darse en metros (como un valorentero) en posiciones de memoria individuales también en formato ASCII.
2. ANÁLSIS DEL PROBLEMA
Al leer por primera vez el ejercicio número 1, la primera idea que se nos ocurrió fue transformar el número que se nos estaba dando en ASCII a un formato en el que se pudiera hacer operaciones normalmente (Formato decimal) donde cualquier algoritmo para sacar la raíz funcionaría normalmente; pero de estaforma, al dimensionar la cantidad de recursos y de operaciones necesarias, se tuvo la dificultad de multiplicar por números que ocupaban registros de 16 bits.
Al observar que la complejidad era alta al hacer la conversión de ASCII a decimal, revisamos la complejidad que existía si realizábamos todo el proceso operando números en formato BCD. Al encontrar un algoritmo que daba como resultado laaplicación del teorema de Pitágoras entre dos números, al hacer solo operaciones de corrimientos y comparaciones, decidimos que era menos compleja la realización del programa de esta manera y además que podíamos plasmar en el código todos los algoritmos que aprendimos de niños para realizar las operaciones básicas.
Al tener claro en que formato se realizarían las operaciones, el análisis delproblema concluyó conque era necesario seguir los siguientes pasos
1. Conversión del numero ASCII a BCD sin punto ni signo y almacenamiento
2. Suma o diferencia de longitudes y latitudes según el signo
3. Aplicación del algoritmo de a2+b2≈Máx 0.875x+0.5y , x
4. Conversión del resultado nuevamente a formato ASCII

3. DISEÑO Y MODELO DE LA SOLUCIÓN

Inicialmente lascoordenadas de longitud y latitud están dadas como cadenas en formato ASCII, cada una almacenada en la memoria en una tabla diferente enumeradas del uno al cuatro, dadas estas condiciones el primer paso fue trasladar los valores de las coordenadas a variables conformadas de forma similar a arreglos en los que cada posición corresponde a un registro, de manera que se guardase toda la coordenada salvo susigno y su punto, para simplificar el cálculo, para lo cual también fue necesario enmascarar el dato realizando la operación AND #FF a cada valor para pasar de formato ASCII a formato natural.

El siguiente paso es realizar una resta de magnitudes entre la latitud 1 y la latitud 2 además de la longitud 1 y la longitud 2, para ello fue necesario crear un algoritmo que detectara inicialmente elsigno de cada coordenada y procediera a sumar si eran signos diferentes o restar si eran signos iguales, para la resta realizamos un procedimiento idéntico al que se hacía en primaria para la resta pero dicho proceso solo era aplicable en el caso de que la magnitud del número que resta fuera menor a la del otro, dicho esto primero fue necesario ordenar las variables según su magnitud para luego...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Distancia entre dos puntos
  • distancia entre dos puntos
  • Distancia entre dos puntos
  • Distancia entre dos puntos
  • Distancia entre dos puntos
  • Distancia entre dos puntos
  • DISTANCIA ENTRE DOS PUNTOS EN EL R3
  • distancia entre dos puntos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS