Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ATRAS
20171032060
20171032047
BOGOTÁ D.C.
2017
PROGRAMA PARA CALCULAR UNA POLIGONAL CERRADA POR CEROS
ATRAS
20171032060
20171032047
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 de (Perry, 2012) ..................................................................................................... 8
1. INTRODUCCION
Teniendo en cuenta que los cálculos para 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 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
Para que el programa funcione de manera adecuada se deben poner los datos en los espacios
que fueron destinados para ello, ya que hay que tener en cuenta que el programa va a sugerir
que se ingrese el número de vértices que se han planteado en campo como requisito 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:
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 o como lenguaje orientado a objetos,
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 cuenta con 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)
PROGRAMCION:
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.
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.
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
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.
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 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 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
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.
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
package PROPRO;
import java.io.*;
String cadena;
double B,C,a,d,e,f,g,h,i,j,k,l,m,n,o,p;
try {
cadena= lin.readLine();
B= Double.parseDouble(cadena);
cadena= lin.readLine();
C= Double.parseDouble(cadena);
double g1,m1,s1,g2,m2,s2,g3,m3,s3,g4,m4,s4;
double d1,d2,d3,d4,sdist;
cadena= lin.readLine();
g1= Double.parseDouble(cadena);
m1= Double.parseDouble(cadena);
cadena= lin.readLine();
s1= Double.parseDouble(cadena);
a=g1+(m1/60)+(s1/3600);
cadena= lin.readLine();
d1= Double.parseDouble(cadena);
cadena= lin.readLine();
g2= Double.parseDouble(cadena);
cadena= lin.readLine();
m2= Double.parseDouble(cadena);
cadena= lin.readLine();
s2= Double.parseDouble(cadena);
a1=g2+(m2/60)+(s2/3600);
cadena= lin.readLine();
d2= Double.parseDouble(cadena);
cadena= lin.readLine();
g3= Double.parseDouble(cadena);
cadena= lin.readLine();
m3= Double.parseDouble(cadena);
cadena= lin.readLine();
s3= Double.parseDouble(cadena);
a2=g3+(m3/60)+(s3/3600);
cadena= lin.readLine();
d3= Double.parseDouble(cadena);
cadena= lin.readLine();
g4= Double.parseDouble(cadena);
cadena= lin.readLine();
m4= Double.parseDouble(cadena);
cadena= lin.readLine();
s4= Double.parseDouble(cadena);
a3=g4+(m4/60)+(s4/3600);
sobs= a+a1+a2+a3;
steo=(B+2)*180;
eang= steo-sobs;
cang=eang/C;
double scor1,scor2,scor3,scor4;
scor1= (s1/3600)+cang;
scor2= (s2/3600)+cang;
scor3= (s3/3600)+cang;
scor4= (s4/3600)+cang;
ancor1= g1+(m1/60)+scor1;
ancor2= g2+(m2/60)+scor2;
ancor3= g3+(m3/60)+scor3;
ancor4= g4+(m4/60)+scor4;
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\t\tAZIMUT INICIAL");
double n1,e1,n2,e2,rumbo,azimut,ref;
cadena= lin.readLine();
n1= Double.parseDouble(cadena);
System.out.print("\nESTE:");
cadena= lin.readLine();
e1= Double.parseDouble(cadena);
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<0) {
azimut= ref+360;
System.out.print("\n\t\t\t\t AZIMUT'S");
double az1,az2,az3,az4,az5,az6,az7;
System.out.print("\n"+azimut);
az2=az1+180;System.out.print("\n"+az2);
az3=az2+ancor2;if(az3>360) {az3=az3-360;System.out.print("\n"+az3);
if(az3<180) {az4=az3+180;System.out.print("\n"+az4);
az5=az4+ancor3;if(az5>360) {az5=az5-360;System.out.print("\n"+az5);
if (az5>180) {az6=az5-180;System.out.print("\n"+az6);
az7=az6+ancor4;System.out.print("\n"+az7);
System.out.print("\n\t\t\t\t PROYECCIONES");
double proy1n,proy1e,proy2n,proy2e,proy3n,proy3e;
proy1n=d1*Math.cos(Math.toRadians(az1));
System.out.print("\nproyecion norte:"+proy1n);
proy1e=d1*Math.sin(Math.toRadians(az1));
System.out.print("\nproyecion este:"+proy1e);
proy2n=d2*Math.cos(Math.toRadians(az3));
System.out.print("\nproyecion norte:"+proy2n);
proy2e=d2*Math.sin(Math.toRadians(az3));
System.out.print("\nproyecion este:"+proy2e);
proy3n=d3*Math.cos(Math.toRadians(az5));
System.out.print("\nproyecion norte:"+proy3n);
proy3e=d3*Math.sin(Math.toRadians(az5));
System.out.print("\nproyecion este:"+proy3e);
double Spnorte,Speste,Sdistancia=d1+d2+d3;
Spnorte=proy1n+proy2n+proy3n;
Speste=proy1e+proy2e+proy3e;
System.out.print("\nSumatoria de la distancia:"+Sdistancia);
double proycor1n,proycor2n,proycor3n,proycor1e,proycor2e,proycor3e;
proycor1n=proy1n-((d1*Spnorte)/Sdistancia);
proycor1e=proy1e-((d1*Speste)/Sdistancia);
proycor2n=proy2n-((d2*Spnorte)/Sdistancia);
proycor2e=proy2e-((d2*Speste)/Sdistancia);
proycor3n=proy3n-((d3*Spnorte)/Sdistancia);
proycor3e=proy3e-((d3*Speste)/Sdistancia);
System.out.print("\n\t\t\t\t COORDENADAS");
coorNinicial=n1;
coorn1=n1+proycor1n;
coorn2=coorn1+proycor2n;
coorn3=coorn2+proycor3n;
System.out.print("\nNORTE:");
System.out.print("\n"+coorNinicial);
System.out.print("\n"+coorn1);
System.out.print("\n"+coorn2);
System.out.print("\n"+coorn3);
System.out.print("\nESTE:");
coorEinicial=e1;
coore1=e1+proycor1e;
coore2=coore1+proycor2e;
coore3=coore2+proycor3e;
System.out.print("\n"+coorEinicial);
System.out.print("\n"+coore1);
System.out.print("\n"+coore2);
System.out.print("\n"+coore3);
System.out.print("\n GRACIAS...");
}}}}}
catch(IOException W)
{System.out.print("ERROR");}
}}
10. BIBLIOGRAFIA
Coad, P., & Yourdon, E. (1991). porgramacion orientada a objetos. Hall International editions,.