Proyecto Log
August 8, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Proyecto Log...
Description
PROGRAMA PARA CALCULAR UNA POLIGONAL CERRADA POR CEROS ATRAS
MIGUEL ÁNGEL TORRES 20171032060
FERNANDO ARIAS GIRALDO 20171032047
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS (SEDE VIVERO) FACULTAD DEL MEDIO AMBIENTE Y RECURSOS NATURALES INGENIERÍA TOPOGRÁFICA, LÓGICA DE PROGRAMACIÓN BOGOTÁ D.C. 2017
PROGRAMA PARA CALCULAR UNA POLIGONAL CERRADA POR CEROS ATRAS
MIGUEL ANGEL TORRES SILVA 20171032060 FERNANDO ARIAS GIRALDO 20171032047
PRESENTADO A: ING. CAMILO ANDRES GONZÁLEZ PARRA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS (SEDE VIVERO) FACULTAD DEL MEDIO AMBIENTE Y RECURSOS NATURALES INGENIERÍA TOPOGRÁFICA, LÓGICA DE PROGRAMACIÓN BOGOTÁ D.C. 2017
TABLA DE CONTENIDO 1. INTRODUCCION ......................................................................................................................... 4 2. RESUMEN ...................................................................................................................................... 5 3. OBJETIVOS ................................................................................................................................... 6 4. MARCO TEORICO ........................................................................................................................ 7 5. MARCO CONCEPTUAL ............................................................................................................. 10 6. METODOLOGIA ......................................................................................................................... 12 7. CONCLUSIONES ........................................................................................................................ 14 8. RECOMENDACIONES ............................................................................................................... 15 9. ANEXOS ....................................................................................................................................... 16 10. BIBLIOGRAFIA ......................................................................................................................... 23
TABLA DE FIGURAS figura 1. Tomado Tomado de (Perry, (Perry, 2012) ..................................................................................................... 8
1. INTRODUCCION Se diseño un programa que permitiera realizarlos cálculos de una poligonal cerrada por ceros atrás con ángulos externos, en el software para computadores Eclipse, en el cual se incluyeron diferentes códigos para que el usuario pudiera introducir los datos tomados en campo y este le realizara los respectivos cálculos de errores y coordenadas. Teniendo en cuenta que los cálculos para p ara realizar una poligonal cerrada por ceros atrás llevan un poco de tiempo y queriendo mejorar este problema se crea el programa que además facilita el tener que aprenderse las fórmulas para cada cálculo de error, ya que este las lleva incluidas en su código y el usuario no deberá mas que q ue introducir los datos tomados en campo y el programa en minutos le mostrara las coordenadas obtenidas a partir de la corrección de la poligonal. Por otro lado, también en el presente trabajo se muestran los ítems importantes que se tuvieron en cuenta a la hora de realizar el programa incluyendo las investigaciones realizadas, los objetivos a los que se deseó llegar, y las conclusiones a las que se llegan luego de terminado y compilado el programa.
2. RESUMEN RESUMEN El programa fue desarrollado para facilitar los procedimientos de oficina de una poligonal cerrada por ceros atrás con ángulos externos, y esto en principio para una poligonal con 3 vértices; a través de códigos en los cuales se ingresan los valores que se obtienen de la poligonal con el procedimiento en campo, campo , como lo son los ángulos tomado tomadoss y las distancias entre deltas. Para que el programa funcione de manera adecuada se deben poner los datos datos en los espacios que fueron destinados para ello, ya que hay que tener en cuenta cu enta que el programa va a sugerir que se ingrese el número de vértices que se han planteado en campo como requ requisito isito principal para empezar a realizar los cálculos, una vez ingresados el número de vértices se deben ingresar los ángulos observados de los vértices para realizar la sumatoria de ángulos observados, después hará el cálculo para obtener la sumatoria teórica y luego restara los valores de la sumatoria observada y la sumatoria teórica, y el resultado de esta resta brindara el error angular, de allí en adelante el programa dividirá el número de deltas con el error angular y sumara o restara el valor según corresponda a cada ángulo observado. Posteriormente se ingresarán las coordenadas conocidas o arbitrarias de inicio y amarre, y el programa mostrara rápidamente las coordenadas de todos los deltas que conformen la poligonal. De igual forma el programa permite una interacción rápida y clara con el usuario y proporciona todos los datos estadísticos importantes o a tener en cuenta de la poligonal.
3. OBJETIVOS
OBJETIVO GENERAL: Crear un programa en el software Eclipse que facilite la realización de los cálculos cál culos de una poligonal cerrada por ceros atrás con ángulos externos.
OBJETIVOS ESPECÍFICOS: - Crear un programa que corrija una poligonal cerrada por ceros atrás y proporciones las coordenadas. - Disminuir el tiempo que se necesita para calcular una poligonal. - Poner en practica todos los conocimientos adquiridos durante la clase de programación y los trabajos realizados. - Realizar todos los cálculos de la poligonal por medio del programa. - Ofrecer un programa que sea claro para las personas que quieran realizar los respectivos cálculos de la poligonal cerrada por ceros atrás.
4. MARCO TEORICO JAVA SCRIPT: Es un lenguaje interpretado que tiene uso en páginas web y aplicaciones del mundo. Cuando se habla de Java Script se tiene la idea de que es Java interpretativo, pero esto no es cierto ya que Java Script en un lenguaje de programación dinámica que soporta la construcción de objetos basados en prototipos; cuenta con una sintaxis básica que es similar en Java y en C++, en donde el propósito principal es disminuir la cantidad de conceptos requeridos para entender el lenguaje en donde la construcción del lenguaje como if, bucles for y while, y bucles switch y try catch funcionan igual en los dos lenguajes de programación de Java y C++. (APR, 2016) Java puede ser manejado como lenguaje procedimental p rocedimental o como lenguaje orientado a o objetos, bjetos, donde los objetos se crean programando y a esto se le agregan métodos y propiedades que son objetos vacíos en tiempo de ejecución; los navegadores modernos interpretan el código Java Script integrado en los servidores. Java cuenta con la ventaja de estar alojado en el ordenador lo cual representa rapidez y dinamismo por lo que es un lenguaje de programación que permite obtener potencia en la programación con el uso de variables, condicionales, bucles, entre otros. Java J ava cuenta con co n su propia estructura, reglas de sintaxis y paradigmas de programación, Java es un derivado de C por lo cual tiene muchos parecidos de sintaxis y por esto las variables deben ser dichas antes de usarlo; empieza estructuralmente el lenguaje de Java con paquetes que son mecanismos de espacio para el nombre del lenguaje Java, y estos paquetes vamos a encontrar clases dentro de las cuales encontraremos métodos, variables, constantes, y demás. (Perry, 2012) El entorno de desarrollo de eclipse cuenta con cuatro componentes principales: espacios de trabajo, proyectos, perspectivas y vistas. La perspectiva de Java tiene herramientas necesarias para realizar las las aplicaciones, eclipse tiene un alto grado grado de configuración, Package Explorer y Outline son dos vistas muy útiles.
figura 1. Tomado de (Perry, 2012)
Después de conocer un poco lo que es el lenguaje de programación en java es también importante definir las características del software Eclipse en el cual fue realizado el programa: Eclipse es una plataforma de software compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados, como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. (eclise.org, 2017)
API DE JAVA: El api de java es una interfaz inte rfaz de programación de aplicaciones es de decir cir proporciona al usuario las herramientas necesarias para poder realizar un programa, ya que incluye diferentes clases.
5. MARCO CONCEPTUAL CONCEPTUAL
PROGRAMCION: PROGRAMCION: Es el proceso de crear, diseñar y codificar código fuente de un programa de computadora. El código fuente es escrito en un lenguaje de d e programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en e n el desarrollo de pequeñas aplicaciones. (ABC, 2011).
PORGRAMCION ORIENTADA A OBJETOS: Es una forma de realizar programación en donde los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, y asi cada objeto ofrece una funcionalidad especial. Muchos de los objetos pre-diseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas. (Coad & Yourdon, 1991)
CODIGO FUENTE: Es el código o especificaciones que le dice a la computadora los pasos que debe seguir para ejecutar un programa.
CLASE: Es una plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el lenguaje. Cada clase es un modelo que define un conjunto de variables, el estado y métodos apropiados para operar con dichos datos, así como también el comportamiento de cada objeto creado a partir de la clase se denomina instancia de la clase. clase. Las clases son un pilar fundamental de la programación orientada a objetos. Permiten abstraer los datos y sus operaciones asociadas al modo de una caja negra. Los lenguajes de programación que soportan clases difieren sutilmente en su soporte para diversas características relacionadas con clases. La mayoría soportan diversas formas de herencia. Muchos lenguajes también soportan características para proporcionar encapsulación, como especificadores de acceso. (APR, 2016)
PAQUETE: Un Paquete en Java es un contenedor de clases que permite agrupar las distintas partes de un programa y que por lo general tiene una funcionalidad y elementos comunes, definiendo la ubicación de dichas clases en un directorio de estructura jerárquica. (APR, 2016)
6. METODOLOGIA El programa esta codificado para calcular la sumatoria de ángulos observados, la sumatoria teórica, el error angular, el azimut inicial, los azimuts, las proyecciones, la corrección de las proyecciones y las coordenadas; por esta razón se necesitó de un computador con eclipse instalado para poder realizar la programación correspondiente, ya que debido a la cantidad de códigos usados la programación se hace bastante extensa y esto se puede evidenciar en los anexos que se han puesto en el documento. En primer lugar, se creó una nueva clase y así poder empezar el proyecto, una vez creada la clase se empezaron a escribir los códigos teniendo en cuenta los distintos ejemplos y definiciones presentes en el libro de planimetría de, Mario Arturo Rincón Villalba, Wilson Ernesto Vargas, y Carlos Javier Gonzales Vergara. El programa en primera instancia da la bienvenida y posteriormente pide ingresar in gresar la cantidad de vértices que tiene la poligonal a calcular y una vez digitados los vértices pasará a la corrección de la poligonal donde pide ingresar el número de ángulos a corregir y el prog programa rama dará el error angular, el programa va a pedir que ingresemos los ángulos observados (en grados, minutos y segundos) de cada delta para obtener obt ener la suma de los ángulos que se obtiene haciendo la sumatoria de los ángulos observados, esta será la suma observada para poder obtener el error angular y así se resta la suma observada con la suma teórica para hallar el error angular y de esta forma saber la exactitud de la poligonal en donde el error obtenido va a ser dividido en el número de deltas y así saber distribuir el error en cada delta para tener una exactitud mayor. Los códigos que han sido usados para el programa son verificados paso a paso, y se hacen pruebas para tener la certeza de que el programa está funcionando funcionando de manera adecuada y que los códigos van a proporcionar los datos indicados para garantizar la calidad y confiabilidad de la programación; la intención es reducir los tiempos que se necesitan para realizar los cálculos de una poligonal, además de reducir tiempo será de gran utilidad para hacer una poligonal con el menor error posible. Ya que también están los códigos en los cuales se hallara el azimut inicial y los demás azimut, se procede a programar p rogramar los códigos para obtener
las proyecciones, y esto nos lleva a lo último de nuestro programa ya que con las proyecciones obtendremos las coordenadas.
7. CONCLUSIONES Durante la realización del programa es posible concluir que se llego al objetivo propuesto en principio y se creo un programa no totalmente con las especificaciones que se desearon de calcular cualquier tipo de poligonal cerrada por ceros atrás, sino que en el transcurso del desarrollo del programa fue posible darse cuenta que no se tenían aun los conocimientos necesarios para realizar un programa de esa índole pero de igual forma se pudo realizar para una poligonal poligonal con tres o mas vértices, vértices, esto debido también al poco tiempo de aprendizaje que se tuvo en el aula y lo difícil de entender que es la información que esta en internet cuando en el desarrollo de las clases se utiliza una forma de programar y en la información encontrada otra diferente. El programa creado es un programa que permite realizar efectivamente todos los cálculos de una poligonal cerrada por ceros atrás desde su corrección hasta el calculo de coordenadas, y todo esto en un tiempo menos a 5 minutos o menos. Este programa le dice al usuario claramente que datos debe ingresar y así mismo va mostrando el resultado de cada operación realizada, para que el usuario pueda tenerla en cuenta o por si la necesita. De igual manera con la investigación realizada y el interés de nuestra parte fue posible aprender nuevas técnicas para programar y reforzar los conocimientos que se adquirieron a lo largo del semestre. También ahora es posible decir que la forma de crear una clase, realizar un programa básico que ayude a algo de la carrera esta mucho mas clara y que los conocimientos adquiridos se seguirán utilizando muy seguramente para crear otros programas que faciliten tareas que se propongan en el desarrollo de la carrera.
8. RECOMENDACIONES Para iniciar con el manejo del programa es importante tener en cuenta que este programa solo realiza y garantiza unos buenos cálculos para una poligonal con 3 vértices y que los ángulos a ingresar deben ser ángulos externos de la poligonal. En la parte de la realización del código para cualquier programa es fundamental la organización de las variables y cualquier tipo de condición que se desee ingresar. Así como también se debe ir verificando que las operaciones puestas en el código sean las correctas, que el programa compile y que no reporte errores. Se debe tener claro en cada punto que es lo que se esta haciendo y a donde se desea llegar y así también poder, ahorrarse pasos en la programación utilizando la lógica y entrelazando variables u operaciones.
9. ANEXOS CODIGO DEL PROGRAMA: package PROPRO; import java.io.*; public class class POLIGONAL POLIGONAL { public static static void main(String[] main(String[] args) args) { // TODO Auto-generated Auto-generated method stub BufferedReader lin = new BufferedReader(new InputStreamReader(System.in)); String cadena; double B,C,a,d,e,f,g,h,i,j,k,l,m,n,o,p; try { System.out.print("\n\t\t\t\t BIENVENIDO \n\t\nEl siguiente programa le ayudara a realizar los calculos de una poligonal cerrada por ceros atras, con angulos externos.\n "); System.out.print("\nIngrese el numero de vertices de la poligonal:"); cadena= lin.readLine(); B= Double.parseDouble(cadena); System.out.print("\t\t\t CORRECCION DE LA POLIGONAL"); System.out.print("\n ingrese el numero de angulos a corregir:"); cadena= lin.readLine(); C= Double.parseDouble(cadena); double g1,m1,s1,g2,m2,s2,g3,m3,s3,g4,m4,s4; double a1,a2,a3,a4,a5,a6,a7, sobs,steo, eang,cang; double d1,d2,d3,d4,sdist; d1,d2,d3,d4,sdist; System.out.print(" ingrese el angulo para el delta 1:\n "); System.out.print("ingre System.o ut.print("ingrese se los grados:"); cadena= lin.readLine(); g1= Double.parseDouble(cadena); System.out.print("ingrese los minutos:");
cadena= lin.readLine(); lin.readLine( ); m1= Double.parseDouble(cadena); System.out.print("ingre System.o ut.print("ingrese se los segundos:"); cadena= lin.readLine(); s1= Double.parseDouble(cadena); a=g1+(m1/60)+(s1/3600); System.out.print(" ingrese la distancia para el delta 1:\n "); cadena= lin.readLine(); d1= Double.parseDouble(cadena); System.out.print(" ingrese el angulo para el delta 2:\n"); System.out.print("ingre System.o ut.print("ingrese se los grados:"); cadena= lin.readLine(); g2= Double.parseDouble(cadena); System.out.print("ingrese los minutos:"); cadena= lin.readLine(); m2= Double.parseDouble(cadena); System.out.print("ingrese los segundos:"); cadena= lin.readLine(); s2= Double.parseDouble(cadena); a1=g2+(m2/60)+(s2/3600); System.out.print(" ingrese la distancia para el delta 2:\n "); cadena= lin.readLine(); d2= Double.parseDouble(cadena); System.out.print(" ingrese el angulo para el delta 3:\n"); System.out.print("ingre System.o ut.print("ingrese se los grados:"); cadena= lin.readLine(); g3= Double.parseDouble(cadena); System.out.print("ingrese los minutos:"); cadena= lin.readLine();
m3= Double.parseDouble(cadena) Double.par seDouble(cadena);; System.out.print("ingre System.o ut.print("ingrese se los segundos:"); cadena= lin.readLine(); s3= Double.parseDouble(cadena); a2=g3+(m3/60)+(s3/3600); System.out.print(" ingrese la distancia para el delta 3:\n "); cadena= lin.readLine(); d3= Double.parseDouble(cadena); System.out.print(" ingrese el angulo para el delta 4:\n"); System.out.print("ingre System.o ut.print("ingrese se los grados:"); cadena= lin.readLine(); g4= Double.parseDouble(cadena); System.out.print("ingrese los minutos:"); cadena= lin.readLine(); m4= Double.parseDouble(cadena); System.out.print("ingre System.o ut.print("ingrese se los segundos:"); cadena= lin.readLine(); s4= Double.parseDouble(cadena); a3=g4+(m4/60)+(s4/3600); sobs= a+a1+a2+a3; a+a1+a2+a3; System.out.print("la suma de angulos es:"+sobs); steo=(B+2)*180; System.out.print("\nla sumatoria teorica es:"+steo); eang= steo-sobs; System.out.print("\nError System.o ut.print("\nError en angulo es:"+eang); cang=eang/C; System.out.print("\nCorreccion de angulos: \n"+cang); double scor1,scor2,scor3,scor4; scor1= (s1/3600)+cang; (s1/3600)+cang;
scor2= (s2/3600)+cang; (s2/3600)+cang; scor3= (s3/3600)+cang; (s3/3600)+cang; scor4= (s4/3600)+cang; (s4/3600)+cang; double ancor1, ancor2,ancor3,ancor4; ancor1= g1+(m1/60)+scor1; g1+(m1/60)+scor1; ancor2= g2+(m2/60)+scor2; g2+(m2/60)+scor2; ancor3= g3+(m3/60)+scor3; g3+(m3/60)+scor3; ancor4= g4+(m4/60)+scor4; g4+(m4/60)+scor4; System.out.print("\n\t\t\tANGULOS CORREGIDOS: \n"); System.out.print("\n"+ancor1); System.out.print("\n"+ancor2); System.out.print("\n"+ancor3); System.out.print("\n"+ancor4); System.out.print("\n\t\ System.o ut.print("\n\t\t\tAZIMUT t\tAZIMUT INICIAL"); double n1,e1,n2,e2,rumbo,azimut,ref; System.out.print("\n ingrese las coordenadas del punto de inicio:\nNORTE:"); cadena= lin.readLine(); n1= Double.parseDouble(cadena); System.out.print("\nESTE:"); cadena= lin.readLine(); e1= Double.parseDouble(cadena); System.out.print("\n ingrese las coordenadas del punto de amarre\nNORTE:"); cadena= lin.readLine(); n2= Double.parseDouble(cadena); System.out.print("\nESTE:"); cadena= lin.readLine(); e2= Double.parseDouble(cadena); rumbo=Math.atan((e2-e1)/(n2-n1)); ref=(rumbo*180)/Math.PI;
if(ref
View more...
Comments