Universidad Del Quindío
PROGRAMACION EN BASIC PARA TOPOGRAFOS GONZALO JIMENEZ CLEVES
APLICADO A LA FX 880P DE CASIO INCLUYE APLICACIONES EN EXCEL
PROGRAMACIÓN EN BASIC PARA TOPOGRAFOS APLICADO A LA FX 880P DE CASIO INCLUYE APLICACIONES EN EXCEL
Basic para Topógrafos
PROGRAMACIÓN EN BASIC PARA TOPOGRAFOS APLICADO A LA FX 880P DE CASIO INCLUYE APLICACIONES EN EXCEL
Gonzalo Jimenez Cleves Topógrafo Especialista en Computación para la Docencia Profesor Universidad del Quindio
Basic para Topógrafos
PROGRAMACIÓN EN BASIC PARA TOPOGRAFOS APLICADO A LA FX 880P DE CASIO INCLUYE APLICACIONES EN EXCEL Prohibida la reproducción total o parcial de esta obra Copyright © MMI Colombia. Armenia 2001
Basic para Topógrafos
A Juan Felipe
Basic para Top贸grafos
TABLA DE CONTENIDO
1. Generalidades...................................................................................................
1
2. Estructura secuencial........................................................................................
31
3. Subprogramas...................................................................................................
45
4. Estructura de Decisi贸n......................................................................................
63
5. Estructura de Ciclos..........................................................................................
73
6. Estructura de Datos...........................................................................................
85
7. Aplicaciones para la FX 880p Casio................................................................
95
8. Aplicaciones en Excel.....................................................................................
115
Bibliograf铆a...........................................................................................................
139
Basic para Top贸grafos
Introducción Este libro enseña a programar en BASIC, orientado a los topógrafos, además se describe una serie de programas que efectúan una variedad de tareas comunes en la practica. Aunque este libro esta orientado a la Casio FX 880P, sus programas pueden ser adaptados a otras calculadoras con gran facilidad. También incluye aplicaciones en Excel, para diferentes procesos altimétricos y planimétricos, se recomienda para estos tener conocimientos básicos del uso de la hoja electrónica. Para la mejor comprensión de algunos programas se deben realizar lecturas complementarias de topografía.
Basic para Topógrafos
Justificación La calculadora le brinda la oportunidad al topógrafo de procesar la información en el sitio de trabajo, logrando con esto resultados mas rápidos y económicos.
La Universidad debe producir medios o programas que ayuden al egresado a mejorar su que hacer profesional.
La tecnología ha simplificado los procesos de calculo mediante la utilización de calculadoras programables que cada vez son mas completas.
La versatilidad cada vez mayor de los instrumentos de programación dan la oportunidad de mejorar los cálculos topográficos.
El topógrafo en la actualidad debe conocer al menos como programar en un instrumento común como lo es una calculadora.
Para procesos mas largos y de manejo de mayor información, la hoja electrónica Excel le ofrece esta posibilidad, además de la facilidad de la consecución en diferentes partes, ya que se ha convertido en un estándar de la industria.
Basic para Topógrafos
Objetivos
Diseñar programas en BASIC.
Usar la hoja electrónica Excel para cálculos topográficos de gran volumen.
Diseñar algoritmos de aplicación en topografía.
Conocer los elementos principales de un sistema computacional.
Producir software para uso de los topógrafos.
Facilitar el proceso de cálculo in-situ.
Basic para Topógrafos
GENERALIDADES
1. GENERALIDADES
1.1 RESEÑA HISTORICA La necesidad de aparatos de cómputo ha existido durante siglos, debemos recordar al hombre primitivo desde cuando necesitó contar y por consiguiente necesitó llevar registros, fue en ese momento cuando usó sus diez dedos como instrumento para contar; allí se inicia el sistema decimal. A continuación se hace una breve listado cronológico de los inventos y progresos de las máquinas de calcular: VIII a C. El ábaco, con el cual se pueden realizar sumas y restas. 1600 Jhon Napier, matemático descubre los logaritmos 1621 William Onhtred, inventa la regla de cálculo, por analogía con los logaritmos. 1642 Blaise Pascal, diseño la primera máquina de calcular que podría sumar y restar. 1694 Gottfried Wilhelm Leibniz. Matemático Alemán, amplia los estudios de Pascal. Diseña una calculadora que además de sumar y restar también multiplicaba, dividía e incluso extraía raíces cuadradas. 1822 Charles Babbage. Inventor Inglés, establece los principios de funcionamiento de los computadores electrónicos en un proyecto de máquina denomina "maquina diferencial", que podía resolver polinomios de hasta 8 términos. 1831 Babbage. Concibe una máquina que denomino la "máquina analítica", puede considerarse como un prototipo de los actuales computadores electrónicos. 1847 George Boole. Matemático Inglés, quien publica el "Análisis matemático de la lógica" una teoría del sistema tipo binario, conocido hoy como álgebra booleana. 1937 Howard H. Aiken, físico de la Universidad de Harvard. Con la máquina A.S.C.C. hizo realidad 112 años más tarde la máquina de Babbage.
Basic para Topógrafos
2
1944 Jhon Van Neuman, propone la idea de "programa interno" y desarrolla un fundamento teórico para la construcción de un computador electrónico. 1945 Entra en funcionamiento el ENIAC (Electronic Numerical Integrator And Calculator), su primera utilización fue para la construcción de tablas para el cálculo de la trayectoria de proyectiles.
Fig. 1.1 Eniac 1952 Se construyen los ordenadores MANIAC-I y MANIAC II, con lo que termina la prehistoria de la informática.
1956 Jhon Mc. Carthy, del MIT, da a conocer el concepto de la inteligencia artificial. 1957 Jhon Backus, de la IBM crea el primer lenguaje de programación FORTRAN. 1959 Se crea el segundo lenguaje llamado COBOL. 1965 Jhon Kemeny y Tom Kurtz, en la Universidad de Dortmouth, crea el lenguaje de programación BASIC. 1971 Federico Faggin, Físico Italiano inventa el microprocesador. Niklaus Wirth. Ingeniero Electrónico suizo crea el lenguaje PASCAL. 1976 Stephen Wozniak y Steven Jobs, funda la firma Apple Computer Company. Basic para Topógrafos
3
1979 Lanzan el procesador 8088, velocidad inicial 5 Mhz. 1981 IBM, introduce su computador personal PC y microsoft el sistema operativo MS-DOS para este. Además usaba un procesador 8088. 1982 TRON, película filmada íntegramente con la tecnología de la computación gráfica. Lanzan el procesador 80286, velocidad inicial 8 Mhz. 1985 Se trabaja en el perfeccionamiento de la llamada "Pantalla de Cristales Líquidos". Lanzan el procesador 80386, velocidad inicial 16 Mhz. Microsoft lanzo el Windows 1.0, un programa de computador que permitía manejar los PC del estándar IBM a través de un ambiente gráfico.
1986 Los Pcs se aceptan completamente en las empresas y colegios. El termino clave es software integrado.
1987 La mayoría de las aplicaciones se convierten en multiusuario. 1989 Lanzan el procesador 80486, velocidad inicial 25 Mhz. 1990 Microsoft lanza la versión 3.0 que marco el despegue del mercado. 1993 Lanzan el procesador Pentium, velocidad inicial 60 Mhz. 1995 Lanzan el procesador Pentium Pro, velocidad inicial 150 Mhz. Microsoft lanzó Windows 95.
Basic para Topógrafos
4
1998 Microsoft lanzó Windows 98 1999 Se lanza el Pentium III, velocidad inicial de Mhz.
1.2. HARDWARE
Componentes y dispositivos que constituyen el computador, es decir, la maquina en sí. EL COMPUTADOR Máquina que recibe datos, los procesa y proporciona el resultado, llevando a cabo el proceso de datos según las instrucciones. Analógicas. Representan a los números por medio de una magnitud física; es decir asigna valores numéricos midiendo físicamente alguna propiedad real como la longitud de un objeto, el ángulo creado por dos líneas o la corriente eléctrica que pasa a través de un punto en un circuito eléctrico. Digitales. Admite su programación por medio de lenguajes y manejan un alfabeto (código binario 0,1) mediante el cual a través de cadenas de ceros y unos, se puede representar cualquier carácter.
Fig. 1.2 Computador digital Híbridos.
Basic para Topógrafos
5
Es la unión de las características de los dos anteriores. La entrada de datos suele estar controlada por un convertidor analógico - digital, la información es procesada por un computador digital y la salida es canalizada a través de un convertidor digital - analógico. PARTES DE UN COMPUTADOR DIGITAL
Fig. 1.3 Partes de un computador digital UNIDAD DE ENTRADA. Permite introducir datos y programas a la memoria principal. Puede tomar varias formas de acuerdo con el medio que se utilice para almacenar los datos o programas, a saber: -
Teclado Pantalla Disquetes Cinta perforada Tarjetas perforadas Digitalizadora Módem Ratón Scanner
UNIDAD CENTRAL DE PROCESO (CPU). Es el cerebro de una computadora, el cual interpreta y ejecuta las instrucciones, se divide en: Unidad Lógico - Aritmética. La componente de la computadora que ejecuta las operaciones lógicas (Comparación de dos valores) y las operaciones aritméticas (suma, resta, multiplicación y división). Unidad de Control. La componente de la computadora que controla las acciones de los otros componentes para que se ejecuten las instrucciones (un programa) en secuencia. Basic para Topógrafos
6
Unidad de Memoria. El almacén interno de datos de una computadora. Memoria RAM. (Random Acces Memory) también se le denomina memoria de lectura o escritura, ya que en ella se puede leer o escribir información indistintamente. Esta memoria tiene las siguientes características: - Almacena siempre un número que puede significar una constante, una instrucción, o una secuencia de letras o caracteres. - Tiene un acceso de tipo aleatorio, es decir toma el mismo tiempo al procesar para localizar el contenido de cualquier dirección. - Su lectura no es destructiva; es decir, cuando el procesador lee de una área de la memoria, el contenido de esta área permanece intacta. - Su escritura es destructiva; es decir, cuando el procesador escribe en una área de la memoria, el contenido previo de la memoria se pierde. - La cantidad de memoria RAM disponible al usuario es lo que se llama de manera corriente los K's del computador. Si esta memoria es muy pequeña solo se podrá almacenar programas muy cortos y las aplicaciones se verán limitadas a juegos y asuntos personales.
Memoria ROM (Read Only Memory) solo permite operaciones de lectura, de modo que los programas grabados en ella por el fabricante pueden ser utilizada, pero nunca modificada. - Las memorias de este tipo no son volátiles, dado que su contenido es fijo y no puede reprogramarse. - La memoria ROM nunca se borra así no halla fluido eléctrico. - En la memoria ROM la mayoría de los fabricantes colocan el lenguaje BASIC. - En cuanto a las memorias EPROM, REPROM, PROM, BURBUJA son memorias ROM con diferentes características (pueden ser borradas y reprogramadas), algunos equipos las traen como opcionales. - Muchos de los juegos de video que conocemos funcionan mediante cartuchos que utilizan memoria ROM para almacenar los datos y los programas.
NOTA: Unidades para identificar la capacidad de almacenamiento de una computadora.
BITS: Contracción de la palabra dígitos binarios (BInary digiTS). Los ceros y unos de los formatos de almacenamiento utilizado en las computadoras.
Basic para Topógrafos
7
BYTE: Unidad de almacenamiento equivalente a un carácter de información (8 bits).
KILOBYTE: Consiste en 1024 Bytes.
MEGABYTE: Unidad de almacenamiento equivalente a 1'024.000 Bytes. GIGABYTE : Equivale a 1000 megabytes UNIDAD DE SALIDA. Permite sacar datos y programas de la memoria principal. Puede tomar varias formas de acuerdo con el medio externo que se utilice para almacenar los datos o programas, a saber: -
Pantalla Impresora Plotter Memoria Auxiliar: Discos duros, Disquetes Cinta magnética Cinta Perforada Módem
ELEMENTOS DEL HARDWARE
DISKETTE. Dispositivo magnético para almacenamiento de información basado en la lectura y escritura, dotado de gran flexibilidad, suelen tener 8", 5 1/4 y 3 1/2 de diámetro.
Para su correcta utilización hay varios aspectos a tener en cuenta: - Nunca toque ni limpie la ranura de un disco. - Mantenga alejados los discos de las fuentes magnéticas. - No los ponga al sol o al calor. - Jamas coloque objetos sobre ellos. - No borre ni escriba sobre él. - No los doble ni los someta a presión.
Tipos de disquetes Basic para Topógrafos
8
La siguiente tabla indica los tipos de disquetes mas utilizados para leer y grabar información.
Tamaño (pulgadas)
Descripción
Capacidad (bytes)
5.25
Una cara, doble densidad
160K/180K
5.25
Dos caras, doble densidad
320K/360K
5.25
Alta capacidad, doble densidad
1.2 MB
3.5
Dos caras
720 K
3.5
Dos caras
1.44 MB
3.5
Dos caras, alta densidad
2.88 MB
Fig. 1.4 Disquete 3.5 DISCOS DUROS. Disco magnético rígido caracterizado porque la cabeza de lectura no toca físicamente el disco, sino que por efecto aerodinámico se mantiene suspendido a una distancia de unas micras. Los tamaños más o menos son 100, 200, 500 megas y 1 gigabyte
Fig. 1.5 Unidad de Discos duros IMPRESORA. Un dispositivo de salida que transforma las señales procedentes del computador en una forma legible. De Bola. Basic para Topógrafos
9
Trabaja con una bola que contiene todos los caracteres que pueden ser escritos, la impresión en este tipo de periférico se realiza carácter a carácter y, por lo tanto, su velocidad suele ser baja. A cambio de esta lentitud, ofrece una escritura de alta calidad. De Banda. La impresión se realiza por medio de una banda de acero que contiene todos los caracteres generales. Esta gira continuamente a gran velocidad en forma que en el momento oportuno, un pequeño golpe producido por un martillo permite la impresión del carácter en el papel. De Margarita. El dispositivo de escritura es una rueda denominada margarita, cuyos brazos contienen los distintos caracteres, las impresoras de margarita son las que producen documentos de alta calidad, con una gran limitante en los caracteres gráficos. Ejemplo: letras griegas Matriz de Puntos. La escritura de cada carácter corre a cargo de una matriz de agujas. Activada y desactivando los distintos puntos de la matriz se obtendrá la impresión del carácter que se desee.
Láser. El elemento de impresión es un láser de baja potencia que genera un rayo que es modulado por un elemento permitiendo o bloqueando el paso de luz. Un disco de espejos desvía el rayo barriendo repentinamente el tambor fotoconductor. De esta forma, los caracteres quedan trazados eléctricamente sobre el tambor. Al girar este último se le aplica una tinta pulverizada que solo se adhiere a las zonas expuestas al rayo láser. Esta tinta es la que transfiere al papel plasmado la impresión de los diversos caracteres.
Fig. 1.6 Impresora láser BURBUJA Es uno de los mejores para la impresión, básicamente es un dispositivo que arroja la tinta sobre el papel con una gran precisión, son las impresoras líderes en el mercado. Permitieron acercar el color a todos los usuarios.
Basic para Topógrafos
10
Fig. 1.7 Impresora de burbuja
PLOTTER Son unos equipos informáticos que, en función de unas instrucciones dadas por programa, dibujan lo que se les ordene, bien sean curvas, rectas, gráficos, rotulaciones, etc. Hay que valorar en el "plotter" dos características: - Tamaño máximo del papel. - Precisión en el dibujo. Existen varios tipos de "plotter" que son: De Rodillo. En los cuales el mecanismo de impresión solamente se desplaza en sentido transversal, quedando el movimiento horizontal o longitudinal para los mecanismos de arrastre o cilindro, el cual se encarga de mover el papel. El precio de éstos varía en función de muchas características como su tamaño, precisión, tipo de cabeza de impresión, etc.
Fig 1.8 Plotter De Mesa. En éstos, el papel esta fijo y el mecanismo de impresión se desplaza en sentido longitudinal y transversal, pudiendo acceder a cualquier punto del tablero. Estos plotters suelen tener mayores precisiones que los anteriores, pero tienen la limitación del tamaño del papel y suelen ser más caros que los anteriores. Basic para Topógrafos
11
Electrostático. Estos equipos consisten en una mesa o tablero en el cual se sitúa el plano o mapa a digitalizar, para desplegar sobre él un mecanismo con una lupa y una serie de teclas de función, definiendo los puntos necesarios que, a su vez, definen o permiten representar dicho plano o mapa, de tal forma que se envían sus coordenadas X y Y de tablero al computador, tratándolas y pasando posteriormente a la memoria auxiliar (discos flexibles y duros).
DIGITALIZADORES. Como su nombre indica, son equipos que sirven para almacenar en soportes de masas los datos que definen un plano, mapa o gráfico. Estos equipos consisten en una mesa o tablero en el cual se sitúa el plano o mapa a digitalizar, para desplegar sobre él un mecanismo con una lupa y una serie de teclas de función, definiendo los puntos necesarios que, a su vez, definen o permiten representar dicho plano o mapa, de tal forma que se envían sus coordenadas X y Y de tablero al computador, tratándolas y pasando posteriormente a la memoria auxiliar (discos flexibles y duros).
Fig. 1.9 Digitalisadora TERMINALES GRAFICOS Estos terminales son muy interesantes para aplicaciones cartográficas y catastrales, suelen ser equipos bastantes caros debido a las características de sus videos, con grandes resoluciones, en color y normalmente con un software muy completo. Las pantallas suelen ser bien de láser o dispositivos (CTR) con emisión de tres haces con los colores básicos, rojo, azul y verde. El tamaño del vídeo es fundamental ya que su principal cometido es el gráfico y su resolución para una mejor calidad de la imagen. Suelen tener funciones de ampliación y disminución de imágenes, superposición de imágenes, borrado de parte de la pantalla, trabajan con ventanas virtuales, etc.
Basic para Topógrafos
12
Fig. 1.10 Monitor de pagina completa
MODEM (MODulador DEModulador). Es el equipo utilizado para la comunicación de un computador con otro equipo similar por medio de la línea telefónica. Hay módem inteligentes, que marcan números telefónicos, contestan llamadas, seleccionan las velocidades de transmisión. etc.
Fig. 1.11 Módem Entre los módem se dan dos estilos, aquellos que usan un acoplador acústico para el auricular telefónico, y los que son enchufados directamente en la línea telefónica.
Fig. 1.12 Fax-Modem
SINTETIZADORES DE VOZ
Basic para Topógrafos
13
Son circuitos que tienen fonemas pre-programados para la formación de palabras en cualquier idioma, pues a los diferentes fonemas se les puede dar entonación y timbre al gusto del usuario. RATON Dispositivo para manejar con la mano sobre la mesa de trabajo, el cual facilita la escogencia de opciones en un menú o para pintar, diseñar o crear dibujos en programas gráficos. Los ratones mas comunes son de dos y tres botones. Cada uno de los botones hace el papel de una función. Existe otro dispositivo muy similar al ratón que es el "TRACKBALLS" que ocupa menos espacio. Para manipular el cursor usted solamente mueve la esfera en lugar de todo el dispositivo. Cumple las mismas funciones que el ratón.
Fig. 1.13 Ratón
Fig. 1.14 Trackballs LAPIZ OPTICO Dispositivo de entrada de datos en un computador, especialmente para programas relacionados con gráficos en pantalla. Es una sonda con forma de lápiz, con la cual el usuario señala en la pantalla la línea que desea trazar, borrar o escoge una opción del menú. UNIDAD DE CD-ROM Es una unidad que permite solo leer discos (Compact Disc-Read Only Memory) , de gran capacidad almacenando música, vídeo, animaciones, texto, gráficos, fotos, programas de computador etc. Además hacen parte de esta unidad un sistema de bafles y micrófono.
Fig. 1.15 Unidad de CD-ROM SCANNER
Basic para Topógrafos
14
Lector óptico, Es una aparato que lee la imagen de una fotografía o gráfica y la convierte en una representación digital. Existen dos clases generales los que poseen características métricas para ser usados en mapas y los de características artísticas para ser usados en diseño
Fig. 1.16. Scanner
1.3. FX 880 P CASIO
Fig. 1.17 Fx 880p Casio CARACTERÍSTICAS
Basic para Topógrafos
15
COMO ESCRIBIR UN PROGRAMA
COMO EJECUTAR UN PROGRAMA
1.4. CONCEPTOS GENERALES Programa: Conjunto de Instrucciones estructuradas soluciones a problemas por computador. Pasos para la solución de un problema Para resolver es problema es necesario tener en cuenta lo siguiente
1.
Describir el problema
2.
Analizar el problema
3.
Diseñar la lógica general del programa
4.
Diseñar la 1ógica detallada
5.
Codificar el programa
6.
Evaluar y corregir e programa
7.
Documentar el programa
Basic para Topógrafos
16
Programa Fuente Programa escrito en lenguaje fuente Compilador Programa de computador que produce un lenguaje de maquina, de un programa fuente que generalmente esta escrito en un lenguaje de alto nivel ( convierte el programa fuente en programa objeto). Programa Objeto Programa en lenguaje de maquina
1.5. TIPOS DE DATOS Numérico: Símbolo empleado para representar un dígito decimal y con los cuales se puede efectuar operaciones aritméticas.
Alfanuméricos: Conjunto de letras o números, puntuación o carácter especial o de control.
VARIABLES signo de Son aquellos valores que pueden o no cambiar al resolver un problema. Las variables poseen su nombre y su valor, los nombres de las variables deben comenzar con un letra y pueden constar de un número de letras y dígitos. Las letras mayúsculas o minúsculas no son relevantes; es igual DH y dh. El Basic tiene reservadas varias palabras que no pueden ser usadas como nombres de variables.
Variables
Numéricas Cadenas de caracteres Numérico Variables arreglo De cadena de caracteres
Basic para Topógrafos
17
CONSTANTES Son aquellos valores que no cambian al resolver un problema. Las constantes numéricas pueden contener: Dígitos, un signo, punto decimal y E ( Notación exponencial, E significa potencia 1 de 10 ).
OPERADORES Operadores
Aritméticos
Suma Resta Multiplicación División Exponente División entera Resto ( modulo ) Negación
+ * / ^ \ MOD -
Relaciónales
Igual a Diferente Menor que Mayor que Menor igual Mayor igual
= ><, <> < > =<, <= =>, >=
Lógicos Operador de cadena de caracteres (+) ARITMÉTICOS EL Basic proporciona las ocho operaciones aritméticas Operador + * / ^ \ MOD
Basic para Topógrafos
Ejemplo 4+8 5-3 2*3 8/2 3^2 -(4) 5\2 5 MOD 2
Resultado 12 2 6 4 9 -4 2 1
18
RELACIONALES
Una expresión relacional, o condición consta de dos expresiones ( o bien ambas numéricas o ambas de cadena) que se separan por un operador relacional. Símbolo < > >= ó => <= ó =< >< ó <>
Ejemplo 4<2 3>1 5 >= 5 4 <= 3 3><3
Resultado Falso Verdadero Verdadero Falso Falso
LOGICOS En ocasiones se necesita expresar una condición que implica más de dos cantidades o una relación más compleja que la simple igualdad u orden.
Condición 1 Verdad Verdad Falso Falso
Condición 2 Verdad Falso Verdad Falso
AND Verdad Falso Falso Falso
OR Verdad Verdad Verdad Falso
XOR
NOT
Ejemplo Condición (2>1) AND (3>2) (2>1) AND (3=2) (2<1) AND (2=2) (2=3) AND (3<1) (2=2) OR (3>4) (3>1) OR (4=2) (2=1) OR (3>2) (2=7) OR (1>2) XOR XOR XOR XOR NOT NOT NOT NOT
Basic para Topógrafos
Valor Verdad Falso Falso Falso Verdad Verdad Verdad Verdad
19
OPERADORES DE CADENA DE CARACTERES (+) Las cadenas de caracteres pueden ser concatenados usando el signo +.
Operación “ingeniería” + “topográfica”
Resultado Ingeniería topográfica
JERARQUIA DE LAS OPERACIONES Las operaciones se efectúan de izquierda a derecha cuando el orden de precedencia es idéntico.
Prioridad 1 2 3 4 5 6 7 8
Operador () Funciones ^ - ( negación) */ ¥ MOD +-
Ejemplo Evaluar la siguiente expresión
A = 3*(7+1)+(3/(2+4*2+(1/3)+2)-1)^2 = 3*(7+1)+(3/(2+4*2+.33+2)-1)^2 = 3*(7+1)+(3/12.33-1)^2 = 3*8+(3/12.33-1)^2 = 3*8+(0.24-1)^2 = 3*8+(-0.75)^2 = 3*8+0.57 = 24.57
B =
Basic para Topógrafos
20
Ejemplo Conversión de expresiones algebraicas a Basic
Expresiones algebraicas
c D X c r D2 C 2L e S n A B C V 3 N CP L P K w S 3
Basic X= C/(C+R)*D C= D^2/(2*L) S = E / SQR(N) V=(A+B+C)/3 CP= DN/P*L W= S+ K/3
Al terminar de convertir una expresión algebraica con paréntesis, cuente el número de paréntesis a la derecha e izquierda; deben ser iguales.
EXPRESIÓN DE ASIGNACIÓN
Son las expresiones que asigna a las variables o a las constantes, un valor determinado. Este valor puede ser una constante, una variable o el resultado de un cálculo. Su forma general es: Variable = Expresión aritmética Ejemplo
Basic para Topógrafos
W = 12 D = K*S R = PI /180 * A S = (A+B+C)/2 P = E /D
21
Ejemplo a) Seleccionar las variables aceptadas y no aceptadas IT F2 Paso 3*5 %D Basic Z 7F /Q GR
_______________________ _______________________ _______________________ _______________________ _______________________ _______________________ _______________________ _______________________ _______________________ _______________________
b) Determinar el resultado de las siguientes operaciones relacionales y lógicas ( falso – Verdadero) 5>2 _______________________ (2=2) OR (3>1) _______________________ 4=3 _______________________ (1=1)AND(3<>5) _______________________ 7><7 _______________________ 3<>1 _______________________ 4>= 6 _______________________ (7>2) OR (3=1) _______________________ 1< 5 _______________________ (3=3) AND (4>7) _______________________ _______________________ _______________________ _______________________
c) Escriba cada una de las expresiones aritméticas en expresiones en Basic
S
A
a b c 2 s(s a)(s b)(s c)
D KSSen2
E Vm Vv
Basic para Topógrafos
22
So
V TV r
D hcr CR 100
2
d) Evaluar paso a paso las siguientes expresiones de asignación.
A B C D E
= = = = =
(3*4) +(9/3+5-3 (2+7*(2^3)+(8+5)^2)+1.23 2+(8^(1/3)+7.3 (5^(4+2)-2) +2.5/2 -2*6+(2^3+(5+4)/2+7)^3+(2/5)*5
e) Algunas de las siguientes expresiones en Basic poseen errores. Encuéntrelos y escriba en forma correcta cada expresión.
A=BxH/2 N – 4 = 180 * = +2/-6 1\ 3 = R / T& SEN(Y) = ( w/E) * -1 N = E *2 ^( 3+4) - 2
Basic para Topógrafos
23
ESTRUCTURA SECUENCIAL
32
Basic para Top贸grafos
2. ESTRUCTURA SECUENCIAL Esta se caracteriza porque cada acciรณn se ejecuta en orden estricto una detrรกs de otra. El flujo del programa coincide con el orden en que se encuentre escrito las instrucciones.
2.1. SINTAXIS PARA LOS ALGORITMOS Forma de presentaciรณn Algoritmo <nombre>
Comienzo
Fin
Comentarios
// Texto del comentario
Lectura de variables Leer (Variables de entrada)
Impresiรณn de variables y texto Escribir ( variables de salida y/o comentarios )
Basic para Topรณgrafos
33
Asignación
<identificador> = expresión
2.2. ESTRUCTURA SECUENCIAL EN BASIC
INPUT La instrucción que activa en Basic la función de entrada es INPUT. Esta instrucción asigna a las variables indicadas los valores leídos por le dispositivo de entrada.
Sintaxis INPUT [CADENA;] VARIABLE [,VARIBLE...]
DIAGRAMA DE SINTAXIS
Ejemplo:
INPUT a,b,c INPUT a, x$ INPUT ”Lado:”;a
34
Basic para Topógrafos
En la instrucción se puede suprimir el interrogante (emitido automáticamente sustituyendo ; por ,)
INPUT “Lado: ”,a
LET La instrucción de asignación más simple es LET, generalmente esta instrucción se omite.
Sintaxis LET nombre = valor
DIAGRAMA DE SINTAXIS
Por ejemplo, LET A = 4052 asigna el valor numérico 4052 en una posición de memoria que se denominara A, a partir de está instrucción se podrá usar la variable A como si fuera el valor numérico correspondiente.
Usando el símbolo = se puede realizar un cálculo cualquiera y memorizar su resultado en una variable, que a su vez puede ser utilizada para efectuar nuevos cálculos.
Ejemplo
LET W = 23 LET PI = 3.151592654 LET U = E/T + 0.25 PI = 4*ATN(1) E = 12504 R = W ^2 + 3/R Basic para Topógrafos
35
PRINT Esta sentencia proporciona un mecanismo para visualizar datos en la pantalla. Estos datos pueden ser constantes, variables o expresiones. Sintaxis PRINT [,...] [ Expresión [{ ;}]...][{;...}]
Ejemplo PRINT “INGENIERIA TOPOGRÁFICA” PRINT A,B,C, PRINT A;B PRINT “LADO”; L
SET Especifica la cantidad de enteros y decimales en la salida de datos
36
SET Fn
( n: {0...9} Números de posiciones decimales )
SET En
( n: {0...9} Números de posiciones decimales )
SET N
( Cancela las especificaciones anteriores )
Basic para Topógrafos
Ejemplo SET F3 SET E2 SET E
CLS Borra la pantalla posicionando el cursos en la esquina superior izquierda de la pantalla.
Ejemplo CLS REM Introduce un comentario en el programa. Este instrucciรณn y el texto siguiente no se ejecutan. Cumple la funciรณn de documentar el programa.
Ejemplo REM Programa REM Entrada REM Cรกlculos
END Con esta instrucciรณn se da fin a un programa.
Ejemplo END
Basic para Topรณgrafos
37
PROBLEMAS RESUELTOS Dados el valor de la distancia en el terreno y el denominador de la escala. Calcular la longitud en el papel ( P = T /D)
Algoritmo Algoritmo ESCALA // GJC // 2000-04-08 Comienzo // ENTRADA DE DATOS Leer ( T, D) // CALCULOS P = T/D // RESULTADOS Escribir (P) fin
Programa 10 REM ESCALA 20 REM GJC 30 REM 2000-04-08 40 REM ENTRADA DE DATOS 50 INPUT “TERRENO:”,T 60 INPUT “DENOMINADOR:”, D 70 REM CALCULOS 80 P = T/D 90 REM RESULTADOS 100 SET F2 110 PRINT “PAPEL:”;P 120 END
Cuantos centímetros hay en n pulgadas Algoritmo Algoritmo PULGADAS -> CENTIMETROS // GJC // 2000-04-08 Comienzo // ENTRADA DE DATOS leer (P) // CALCULOS C = P * 2.54 // RESULTADOS
38
Basic para Topógrafos
Escribir (C) Fin
Programa 10 REM PULGADAS -> CENTIMETROS 20 REM GJC 30 REM 2000-04-08 40 REM ENTRADA DE DATOS 50 INPUT “PULGADAS:”, P 60 REM CALCULOS 70 C=P*2.54 80 REM RESULTADOS 90 SET F2 100 PRINT “CENTÍMETROS:”;C 110 END
Dados los tres lados de un triangulo. Hallar su área. Algoritmo Algoritmo AREA DE UN TRIANGULO // GJC // 2000-04-08 Comienzo // ENTRADA DE DATOS Leer (A,B,C) // CALCULOS S = ( A + B + C )/2 R=SQR(S*(S*(S-A)*(S-B)*(S-C)) // RESULTADOS Escribir (R) Fin
Programa 10 REM AREA DE UN TRIANGULO 20 REM GJC 30 REM 2000-04-08 40 REM ENTRADA DE DATOS 50 INPUT “A:”,A 60 INPUT “B:”,B 70 INPUT “C:”,C 80 REM CALCULOS 90 S=(A+B+C)/2 Basic para Topógrafos
39
100 R=SQR(S*(S*(S-A)*(S-B)*(S-C)) 110 REM RESULTADOS 120 SET F2 130 PRINT “AREA:”;R 140 END
Dados dos puntos en el plano cartesiano. Calcular la distancia entre ellos. Algoritmo Algoritmo DISTANCIA // GJC // 2000-04-08 Comienzo // ENTRADA DE DATOS Leer (A,B,C,D) // CALCULOS E= ((C-A)^2+(D-B)^2)^(1/2) // RESULTADOS Escribir (E) Fin
Programa 10 REM DISTANCIA 20 REM GJC 30 REM 2000-04-08 40 REM ENTRADA DE DATOS 50 INPUT “X1:”,A 60 INPUT “Y1:”,B 70 INPUT “X2:”,C 80 INPUT “Y2:”,D 90 REM CALCULOS 100 E=SQR((C-A)^2+(D-B)^2) 110 REM RESULTADOS 120 SET F2 130 PRINT “DISTANCIA:”; E 140 END
40
Basic para Topógrafos
Algoritmo // PUNTO DE CEROS // GJC // 05-06-2000 // DATOS DE ENTRADA Comienzo Leer (C,R,D) // CALCULOS X=(C/(C+R))*D Escribir (X) Fin
Programa 10 REM PUNTO DE CEROS 20 REM GJC 30 REM 05-06-2000 40 REM DATOS DE ENTRADA 50 INPUT “Altura de corte:”,C 60 INPUT “Altura lleno:”,R 70 INPUT “Distancia:”,D 80 REM CALCULOS 90 X=(C/(C+R))*D 100 SET F2 110 PRINT “D.H:”;X 120 END
PROBLEMAS PROPUESTOS 1. Escriba un programa que calcule el error por tensión en una medición realizada con cinta.
2. Escriba un algoritmo que calcule la siguiente formula.
D Ctg
2
3. Escriba un programa que calcule la nota definitiva sabiendo que los porcentajes son: 20%, 20%,20%,10%,30% Basic para Topógrafos
41
4. Dado el siguiente algoritmo escriba el programa Algoritmo ejer3 Comienzo Leer (B,A) AR = (B*A)/2 Escribir (AR) Fin 5. Dado un ángulo en grados minutos y segundos convertirlos a radianes. 6. Escriba un programa que calcule el valor del rumbo dado un azimut en el tercer cuadrante. 7. Dado el siguiente programa escriba su algoritmo 10 REM COORDENDAS 20 REM GJC 30 REM 05-06-2000 40 INPUT “NORTE A:”,X 50 INPUT “ESTE A:”, Y 60 INPUT “AZMIUT:”,A 70 INPUT “D. H:”,L 80 A=INT A+INT(FRAC A*100)/60+FRAC(A*100)/36 90 XP = L *COS A + X: YP = l * SIN A + Y 100 SET F2 110 PRINT “NORTE:”;XP 120 PRINT “ESTE :”;YP 130 END
8. Dado la distancia geométrica y la altura (diferencia de nivel). Calculo por le método exacto y aproximado la distancia horizontal.
9. Escriba un algoritmo que la suma de los ángulos internos de un polígono de n lados.
10. El siguiente programa posee varios errores, encuéntrelos y corríjalos
10 INPUT “A1X:”,A 20 INPUT ”B1Y:”;B 30 IMPUT “C1 :”,C 40 INPUT “A2X:”,D
42
Basic para Topógrafos
50 INPUT “B2Y:”,F 60 INPUT “C2 :”,G 70 M= -(A/B) 80 L=-(D/F) 90 K= C/3 100 P=G/F 110 X=(P-K)/(M-L) 120 Y=M*X+K 130 SET F5 140 PRINT “X:”;X 150 PRINT “Y:”;Y 160 END
Basic para Topógrafos
43
SUBPROGRAMAS
SUBPROGRAMAS Conjunto de instrucciones que se invocan desde un programa principal.
a) De Biblioteca Conjunto de instrucciones del lenguaje. Las mas importantes se clasifican en:
Numéricas ( aritméticas, logarítmicas trigonométricas y aleatorias)
FUNCION ANGLE
ACCION
EJEMPLO
RESULTADO
ABS(X)
Devuelve el valor absoluto de x
ABS -10 ABS 40
10 40
SGN(X)
Si X > 0 devuelve 1, Si X = 0 devuelve 0, Si X < 0 devuelve –1
SGN 20 SGN -25
1 -1
INT(X)
Retorna el mayor entero
INT 42.6 INT -12.8
42 -13
SQR
Calcula la raíz cuadrada de X.
SQR 12504
111.824586
CUR
Calcula raíz cúbica
CUR 12504
23.21041942
LOG
Obtiene el logaritmo Decimal
LOG 10
1
LN
Obtiene el logaritmo natural
LN 10
2.302585093
SIN
COS
TAN Basic para Topógrafos
2
EXP
FIX
FRAC
ROUND
RAN#
PI
FACT
NPR
NCR
POL
REC
Basic para Top贸grafos
3
CHR$
ASC
STR$
VAL
VALF
MID$
RIGHT$
LEFT$
LEN
HEX$
&H
DEG
DMS$
Basic para Top贸grafos
4
b) Del Usuario Una subrutina es una parte de un programa que está situada fuera del cuerpo del programa principal. Las subrutinas pueden compararse a pequeños programas, introducidos dentro de otro programa mayor complejidad, pueden ser ejecutadas cuantas veces sea necesario.
GOSUB Transfiere el control del programa a la subrutina cuyo número de línea se especifica. Sintaxis GOSUB [número de línea] Diagrama de sintaxis
Ejemplo GOSUB 120
RETURN
Señala el final de una subrutina; devuelve el control del programa a la siguiente instrucción a la que se efectuó la llamada.
Sintaxis RETURN
Basic para Topógrafos
5
Diagrama de sintaxis
Ejemplo RETURN
Nota: la sentencia GOSUB sirve para llamar a una subrutina y RETURN para devolver el control de la subrutina al programa principal, en un programa normalmente existen mas sentencias GOSUB que RETURN
Basic para Top贸grafos
6
ESCRUCTURA DE DECISION
64
Basic para Top贸grafos
Basic para Top贸grafos
65
4. ESTRUCTURA DE DECISIÓN Uno de los aspectos que diferencia más notoriamente a los computadores de la extensa gana de maquinas electrónicas de calculo, es la posibilidad de tomar decisiones a partir de datos suministrados por el programa o por el usuario. Sin lugar a dudas, este es factor que proporciona a la maquina una gran versatilidad, convirtiéndola en un instrumento útil para resolver un ilimitado número de tareas. La estructura de decisión se clasifican en dos: SIMPLE MÚLTIPLE
4.1. SINTAXIS PARA LOS ALGORITMOS Estructura de decisión simple Si (expresión lógica) Entonces Secuencia 1 Secuencia 2 x Secuencia n De otro modo Secuencia 1 Secuencia 2 Secuencia n Fin Si
Estructura de decisión múltiple
Caso n (Expresión) X1: Secuencia 1 X2: Secuencia 2 x Xn: Secuencia n Fin Caso
66
Basic para Topógrafos
4.2. DECISIÓN SIMPLE IF...THEN...ELSE Esta sentencia evalúa una expresión lógica y ejecuta una de las dos secuencias posibles dependiendo de la verdad o falsedad de las expresiones lógicas. Si la condición es verdadera, el programa ejecutara las instrucciones encabezadas por THEN. Si es falsa continúa con las instrucciones encabezadas por ELSE, en caso de que no aparezca ELSE continua con las instrucciones siguientes. El contenido de las instrucciones de las sentencias THEN y ELSE puede ser de varias líneas.
Sintaxis IF <Condición> THEN <Instrucciones> ELSE <Instrucciones>
DIAGRAMA DE SINTAXIS
Ejemplo 30 IF X>Y THEN PRINT “X ES MAYOR” ELSE PRINT “Y ES MAYOR”
4.3. DECISIÓN MULTIPLE ON...GOSUB ON...GOTO Estas sentencias son una estructura de control que permiten la selección de un conjunto de acciones a partir de una lista de diferentes opciones. La instrucción IF permite solo dos alternativas, mientras ON permite más de dos.
Basic para Topógrafos
67
Sintaxis ON <Expresión aritmética> GOSUB Numero de línea, [Numero de línea] ON <Expresión aritmética> GOTO Numero de línea, [Numero de línea]
DIAGRAMAS DE SINTAXIS
Ejemplo 20 ON A GOSUB 100,200,300
20 ON A GOTO 100,200,300
PROBLEMAS RESUELTOS
Dada un nota de una evaluación determinar el gano o perdió el examen
Algoritmo Algoritmo NOTA // GJC // 2000-04-08 // ENTRADA DE DATOS Leer (N)
68
Basic para Topógrafos
// RESULTADOS Si A>=3 Entonces Escribir “GANO” De lo contrario “PERDIO” Fin si Fin
Programa 10 REM NOTA 20 REM GJC 30 REM 2000-04-08 40 REM ENTRADA DE DATOS 50 INPUT “NOTA:”,N 60 REM RESULTADOS 70 IF A>=3 THEN PRINT “GANO” ELSE “PERDIO” 80 END
Escriba un programa que calcule la distancias horizontal estadimetria ( taquimetría) Algoritmo Algoritmo DISTANCIA HORIZONTAL // GJC // 2000-07-29 Leer (S) Si S<=0 Entonces Leer (H,I) S=ABS(H-I) Fin si Leer (A) A=INTA+FRAC(A*100)/60+FRAC(A*100)/36 B=(SIN A)^2 D = S*B Escribir (D) Fin
Programa 10 REM DISTANCIA HORIZONTAL 20 REM GJC 30 REM 2000-07-29 40 INPUT ”D.O:”,S 50 IF S<=0 THEN INPUT “HS:”,H,”HI;”,I : S=ABS(H-I) Basic para Topógrafos
69
60 SET F2 70 INPUT “ANG. CEN:”,A 80 A=INTA+FRAC(A*100)/60+FRAC(A*100)/36 90 B=(SIN A)^2 100 D = S*B 110 PRINT “DH:”;D 120 END
Escriba un programa que calcule el rumbo y la distancia a partir de dos puntos con coordenadas. Algortimo AlgoritmoCOORDENADAS -> RB DH // GJC // 2000-08-02 Leer (N,E,M,F) Si N-M Entonces Escribir (N) De otro modo Escribir (S) Fin Si P=ABS((E-F)/(N-M)) W=ATN P X=INT (FRAC W*60) Y=60*FRAC(FRAC W*60) W = INT W Escirbir W;”º”;X;”´” Escribir Y Si E-F Entonces Escribir (E) De otro modo Escribir (W) Fin Si D=SQR((N-M)^2+(E-F)^2) Escribir (D) Fin
Programa 10 REM COORDENADAS -> RB DH 20 REM GJC 30 REM 2000-08-02 40 INPUT “N1:”,N,”E1:”,E 50 INPUT “N2;”,M,”E2:”,F 60 IF N-M THEN PRINT “N ”; ELSE PRINT “S ”; 70 P=ABS((E-F)/(N-M)) 80 W=ATN P 90 X=INT (FRAC W*60) 100 Y=60*FRAC(FRAC W*60)
70
Basic para Topógrafos
110 W = INT W 120 SET N 130 PRINT W;”º”;X;”´”; 140 SET F2 150 PRINT Y; 160 IF E-F >O THEN PRINT “E” ELSE PRINT “W” 170 D=SQR((N-M)^2+(E-F)^2) 180 PRINT “DH:”;D 190 END
Escriba un programa que convierte rumbos a azimutes Algortimo Algoritmo RB -> AZ // GJC // 2000-08-02 Leer (C,A) A=INTA+FRAC(A*100)/60+FRAC(A*100)/36 Caso C 1: CU1 2: CU2 3: CU3 4: CU4 Fin Caso Fin SubAlgortimo CU1 Escribir (A) Retorne SubAlgortimo CU2 R=180-A Escribir (A) Retorne SubAlgortimo CU3 R=180+A Escribir (A) Retorne
SubAlgortimo CU4 R=360-A Escribir (A) Retorne Basic para Topógrafos
71
Programa 10 REM RB -> AZ 20 REM GJC 30 REM 2000-08-02 40 INPUT “1:NE 2: SE 3:SW 4:NW”,C 50 INPUT “ANG:”,A 60 A=INTA+FRAC(A*100)/60+FRAC(A*100)/36 70 ON C GOSUB 100,200,300,400 80 END 100 PRINT “AZ:”;DMS$(A) 110 RETURN 200 R=180-A 210 PRINT “AZ:”;DMS$(R) 220 RETURN 300 R=180+A 310 PRINT “AZ:”;DMS$(R) 320 RETURN 400 R=360-A 410 PRINT “AZ:”;DMS$(R) 420 RETURN
PROBLEMAS PROPUESTOS 1. Escriba un algoritmo que calcule el valor absoluto de un numero 2. Escriba u programa, dados los tres lados de un triangulo determinar si forma un triangulo, 3. Escriba un algoritmo que convierta las calificaciones alfanuméricas A, B, C, D y E en las respectivas numéricas 5,4,3,2 y 1. 4. Se desea diseñar un programa que escriba los valores de los días de la semana en función del valor de una variable día introducido por teclado. 5. Modifique programa para convertir rumbos a azimutes para que convierte los rumbos Norte, Este, Oeste y Sur
72
Basic para Topógrafos
ESTRUCTURA DE CICLOS
74
Basic para Top贸grafos
5. ESTRUCTURA DE CICLOS A la hora de adelantarse en los conocimientos de programación hay que disponerse a conocer las estructuras de ciclos. Este es uno de los aspectos más importantes de la programación. En condiciones normales, las sentencias se van ejecutando ordenadamente , y una sola vez cada una de ellas, hasta llegar al final del programa. Sin embargo, en muchas ocasiones es necesario que algunas sentencias se ejecutan repetidamente en determinado número de veces, constituyendo lo que se denomina Bucle Este tipo de sentencias denominados iterativas, ciclos repetitivas, se ejecutan bajo el control de una condición impuesta, cuyo cumplimiento o no determina su repetición. En algunas ocasiones un bucle no se termina nunca porque nunca se cumple la condición. Un bucle que nunca termina se denomina un bucle infinito o sin fin. Los bucles sin fin no intencionados son perjudiciales para la programación y se deben evitar siempre.
El Basic cuenta con tres sentencias iterativas:
CONDICION AL COMIENZO CONDICION AL FINAL ITERATIVO
5.1. SINTAXIS PARA LOS ALGORTIMOS Condición al comienzo Hacer mientras (Expresión lógica) Secuencia 1 Secuencia 2 x Secuencia n Fin hacer Condición al final Repita Secuencia 1 Secuencia 2 x Secuencia n Hasta (expresión lógica)
Basic para Topógrafos
75
Iterativo Para <indice> = valor_inicial, Valor_final, Incremento Secuencia 1 Secuencia 2 x Secuencia n Fin para
Nota: Las sentencias al comienzo y al final no las posee el Basic de la Fx880p, por lo cual la simularemos utilizando la sentencias IF..THEN...ELSE y GOTO ( Ir a).
5.2. CONDICION AL COMIENZO WHILE...WEND El bucle WHILE ejecutan una sentencia repetidamente hasta que la condiciรณn del bucle se falsa. Si inicialmente la condiciรณn es falsa, nunca se ejecuta.
Sintaxis WHILE <Condiciรณn > Instrucciones WEND
Diagrama De Sintaxis
Simulaciรณn 20 IF A<B THEN 30 ELSE 60 30 A=A+1 40 PRINT A 50 GOTO 20 60 PRINT B
76
Basic para Topรณgrafos
5.3. CONDICION AL FINAL DO...LOOP UNTIL
La sentencia LOOP UNTIL es una estructura de control de bucles en la que se realizan las sentencias del interior del bucle hasta que se cumpla una condición, es decir, la condición es verdadera.
Sintaxis DO Instrucciones LOOP UNTIL <Condición>
Diagrama De Sintaxis
Simulación 30 A=A+1 40 PRINT A 50 IF A>B THEN 60 ELSE 30 60 PRINT B
5.4. ITERATIVO FOR…TO…STEP…NEXT
Ejecuta el bucle encerrado entre ambas instrucciones tantas veces como sea necesario; hasta que la variable inicial alcance el valor final, partiendo del valor inicial establecido y en incrementos sucesivos. Si el valor inicial de la variable es menor que el valor final, los incrementos deben ser positivos ya que en caso contrario la secuencia de instrucciones no se ejecutarían. De igual modo si el valor inicial es mayor que el valor final, el incremento debe ser en este caso negativo, es decir, decremento. Al incremento o decremento se le suele denominar paso. Basic para Topógrafos
77
Sintaxis
FOR Variable = Valor inicial TO Valor final STEP Paso Instrucciones NEXT Variable
Diagrama De Sintaxis
Ejemplo 10 FOR J =1 TO 10 20 PRINT J; 30 NEXT J
PROBLEMAS RESUELTOS Calcular el promedio de cinco notas ( 20% cada una) de N estudiantes Algoritmo Algoritmo NOTAS // GJC // 2000-04-08 // ENTRADA CALCULOS SALIDA Leer (n) Para I=1, N Leer (A,B,C,D,E) F=(A+B+C+D+E)/5 Escribir (F) Fin para Fin
78
Basic para Top贸grafos
Programa 10 REM NOTAS 20 REM GJC 30 REM 2000-04-08 40 REM ENTRADA CALCULOS SALIDA 50 INPUT “NUMERO DE ESTUDIANTES:”,N 60 FOR I=1 TO N 70 INPUT “NOTA 1:”,A 80 INPUT “NOTA 2:”,B 90 INPUT “NOTA 3:”,C 100 INPUT “NOTA 4:”,D 110 INPUT “NOTA 5:”,E 120 F=(A+B+C+D+E)/5 130 SET F2 140 PRINT “DEFINITIVA:”;F 150 NEXT I 160 END
Calcular las proyecciones paralela y meridana de n puntos Algoritmo Algortimo PROYECCIONES // GJC // 2000-04-08 // ENTRADA Leer (N) Para J=1,N Leer (D,A) G=INT A+INT(FRAC A*100)/60+FRAC(A*100)/36 M=D*COS G P= D*SIN G Escribir (M,P) Fin Para Fin
Programa 10 REM PROYECCIONES 20 REM GJC 30 REM 2000-04-08 40 REM ENTRADA 50 INPUT “NUMERO DE PUNTOS:”,N 60 FOR J=1 TO N 70 INPUT “DH:”,D 80 INPUT “AZ:”,A 90 G=INT A+INT(FRAC A*100)/60+FRAC(A*100)/36 Basic para Topógrafos
79
100 M=D*COS G 110 P= D*SIN G 120 SET F2 130 PRINT “PM:”;M 140 PRINT ”PP:”;P 150 NEXT J 160 END
Escriba un programa que calcule las proyecciones y coordenadas de un polígono abierto, sin ningún control a partir de azimutes y distancias horizontales.
Algoritmo Algoritmo PROYECCIONES // GJC // 2000-04-10 // ENTRADA Leer (M) // COORDENADAS INICIALES Leer (N,E) Para J=1, M Leer ( R) Para I=1,R: Z=Z+1 Leer (Q) Escribir (B) Vaya ANG C=Q X=B*COS C Y=B*SIN C Q=N+X U=E+Y Escribir (X,Y) Escribir (Q,U) Fin Para Leer (Q,D) Vaya ANG A=Q X=D*COS A Y=D*SIN A N=N+X E=E+Y Escribir (X,Y,N,E) Fin Para Fin
80
Basic para Topógrafos
Subalgoritmo ANG Q=INTQ+INT(FRAC Q*100)/60+FRAC(Q*100)/36 Retorne
Programa 10 REM PROYECCIONES 20 REM GJC 30 REM 2000-04-10 40 REM ENTRADA 50 PRINT “POLÍGONO ABIERTO”:CLEAR 60 INPUT “NUMERO DE ESTACIONES:”,M 70 PRINT “COORDENADAS INICIALES” 80 INPUT “NORTE :”,N:INPUT”ESTE :”,E 90 FOR J=1 TO M 100 PRINT “EST “;J 110 INPUT “# DE RADIACIONES:”,R : IF R<= O THEN 190 120 FOR I=1 TO R:Z=Z+1 130 PRINT “RAD “;Z: INPUT ”AZIMUT :”,Q 140 PRINT ”D.H :”,B: GOSUB 300:C=Q:SET F2 150 X=B*COS C: Y=B*SIN C: Q=N+X: U=E+Y: PRINT “PM:”;X 160 PRINT “PP:”;Y 170 PRINT “NORTE:”;Q 180 PRINT “ESTE :”;U:NEXT I 190 PRINT “EST “;J:INPUT ”AZIMUT :”,Q 200 INPUT “D. H :”,D:GOSUB 300:A=Q 210 X=D*COS A:Y=D*SIN A: N=N+X:E=E+Y:PRINT “PM:”;X 220 PRINT “PP:”;Y 230 PRINT “NORTE :”;N 240 PRINT “ESTE :”;E:NEXT J 250 END 300 REM ANGULO 310 Q=INTQ+INT(FRAC Q*100)/60+FRAC(Q*100)/36 320 RETURN
Escriba un programa que calcule: El perímetro, error de cierre y grado de precisión.
Algoritmo Algoritmo EC, P, GP // GJC // 2000-08-03 Leer (N) Basic para Topógrafos
81
Para J=1, N Leer (D, A) A=INTA+INT(FRAC A*100)/60+FRAC(A*100)/36 X=X+D*COS A Y=Y+D*SIN A P=P+D Fin Para F=SQR(X^2+Y^2) Escribir ( P, F, P/F) End
Programa 10 REM EC, P, GP 20 REM GJC 30 REM 2000-08-03 40 CLEAR 50 INPUT”NUMERO DE DELTAS”;N 60 FOR J=1 TO N 70 INPUT “DH:”,D 80 INPUT “AZ:”,A 90 A=INTA+INT(FRAC A*100)/60+FRAC(A*100)/36 100 X=X+D*COS A 110 Y=Y+D*SIN A 120 P=P+D 130 NEXT J 140 F=SQR(X^2+Y^2) 150 SET F2 160 PRINT ”PERIMETRO:”;P 170 PRINT “E C:”;F 180 SET F0 190 PRINT “GP = 1/”;P/F 200 END
PROBLEMAS PROPUESTOS 1. Escriba un programa que genere un tabla taquimétrica. 2. Escriba un programa que calcule los azimutes de una poligonal a partir del azimut de la línea 1-2 y todos sus ángulos horarios. 3.
82
Modifique el programa de grado de precisión para que trabaje con ángulos por deflexiones. Basic para Topógrafos
4. Escriba un programa que realice un ajuste angular de una poligonal por deflexiones
5. Modifique al algoritmo que calcula: El per铆metro, error de cierre y grado de precisi贸n, para que trabaje con 谩ngulos horarios
Basic para Top贸grafos
83
ESTRUCTURA DE DATOS
86
Basic para Top贸grafos
Basic para Top贸grafos
87
6. ESTRUCTURA DE DATOS Es una colección de datos, y la forma en que están relacionados unos con otros determina el tipo de estructura.
Clasificación El Basic soporta las siguientes estructuras
Formación
Vectores ( unidimensional ) Matrices ( Bidimensional ) Tridimensional
6.1. Formaciones Son una colección o conjunto de posiciones de memoria que tiene el mismos nombre de la variable, es decir, un conjunto de datos numéricos o de cadena que tiene el mismo nombre. Una formación puede ser de una dimensión ( vector) o de varias dimensiones ( matrices).
6.1.1. Formaciones Unidimensionales (Vectores) Es una lista de un número finito de datos del mismo tipo, que se referencia por un nombre común y un número de orden que son consecutivos 1,2,3,4,...n. Las variables que representan las formaciones se denominan variables de subíndice. Cada elemento puede tener asignado un valor y se puede manipular de igual forma que cualquier otra variable. La dimensión de un vector es el numero de elementos que componen el vector, una variable de subíndice tiene el formato general.
Variable(Subíndice)
Ejemplo: A(2) = 12504 G$(9) = “topografía”
Características
88
Basic para Topógrafos
Todo los elementos son del mismo tipo ( numérico o alfanumérico) El vector tiene un nombre único y los elementos están ordenados de acuerdo al subíndice
6.1.2. Formaciones Bidimensionales (Matriz)
Es una formación con filas y columnas que tiene dos dimensiones. Como antes se utilizaron variables subindicadas para representar los elementos individuales de los arreglos; en el caso de una matriz el primer subíndice representará la fila y el segundo subíndice indicará la columna, en forma A(3,4) representa el elemento de la cuarta fila, y la tercera columna del matriz A; es más se hará referencia a una matriz que tenga m filas y n columnas como una matriz m x n. Variable(Subíndice, Subíndice) Ejemplo O(3,4)=27828 M$(3,5) = “ingeniería”
DIM Dimensiona ( reserva) el tamaño máximo de una o varias variables de un conjunto.
Sintaxis DIM Variable(Límite de subíndice)
Diagrama de sintaxis
Basic para Topógrafos
89
Ejemplo Vector DIM A(30) Matriz DIM B(10,10) PROBLEMAS RESUELTOS
Escriba un programa que lea e imprima un vector Algortimo Algoritmo Vector // GJC // 2000-04-09 // ENTRADA Para I=1, 5 Leer (a(i)) Fin Para // RESULTADOS Para I=1, 5 Escribir (a(i)) Fin Para Fin
Programa 10 REM VECTOR 20 REM GJC 30 REM 2000-04-09 40 REM ENTRADA 50 FOR I=1 TO 5 60 PRINT “A(“;I;”) :”; 70 INPUT A(I) 80 NEXT I 90 REM RESULTADOS 100 SET F2 110 FOR I=1 TO 5 120 PRINT “A(“;I;”) :”;A(I) 130 NEXT I 140 END
90
Basic para Topógrafos
Escriba un programa que lea una matriz y la imprima
Algortimo Algortimo MATRIZ // GJC // 2000-04-09 // ENTRADA A(3,3) Para I=1, 3 Para J=1, 3 Leer A(I,J) Fin Para Fin Para // SALIDA Para I=1, 3 Para J=1, 3 Escribir A(I,J) Fin Para Fin Para Fin
Programa 10 REM MATRIZ 20 REM GJC 30 REM 2000-04-09 40 REM ENTRADA 50 DIM A(3,3) 60 FOR I=1 TO 3 70 FOR J=1 TO 3 80 PRINT “A(“;I;”,”;J;”) :”; 90 INPUT A(I,J) 100 NEXT J 110 NEXT I 120 REM SALIDA 130 FOR I=1 TO 3 140 FOR J=1 TO 3 150 PRINT “A(“;I;”,”;J;”) :”;A(I,J) 160 NEXT J 170 NEXT I 180 END
Basic para Topógrafos
91
Escriba un programa que calcule un área por coordenadas Algoritmo
Algoritmo AREA // GJC //2001-20-01 Leer (A) Para I =1,A Leer (N(I),E(I)) Fin Para N(A+1)=N(1):E(A+1)=E(1) Para I=1,A F=F+(N(I)+N(I+1))*(E(I)-E(I+1)) Fin Para G=ABS (F/2) H=G/10000 C=G/6400 Escribir (G,H,C) Fin
Programa 10 REM AREA 20 REM GJC 30 REM 2001-20-01 40 CLEAR:CLS:PRINT “AREA”:DIM N(100),E(100) 50 PRINT “NUMERO DE PUNTOS:”; 60 INPUT “”,A 70 FOR I =1 TO A 80 PRINT “PTO “;I:PRINT “NORTE:”; 90 INPUT “”,N(I) 100 PRINT “ESTE :”;:INPUT “” ,E(I) 110 NEXT I : N(A+1)=N(1):E(A+1)=E(1) 120 FOR I=1 TO A 130 F=F+(N(I)+N(I+1))*(E(I)-E(I+1)) 140 NEXT I 150 G=ABS (F/2):CLS:PRINT “AREA” 160 H=G/10000:C=G/6400 170 PRINT G;”M2” 180 PRINT INT H;” HA +”;:SET F2:PRINT FRAC H*10000 190 PRINT INT C;” CD +”;:SET F2:PRINT FRAC C*6400 200 END
92
Basic para Topógrafos
Escriba un programa que ajuste una poligonal por le método de la brújula
Algoritmo Algoritmo METODO DE LA BRUJULA // GJC // 2000-04-09 // ENTRADA Leer (NE) AZ(NE), D(NE) Para I=1, NE Leer (D(I),A) Vaya ANG AZ(I)=A SM=SM+D(I)*COS(AZ(I)) SP=SP+D(I)*SIN(AZ(I)) P=P+D(I) Fin Para EC= SQR(SM^2+SP^2) DG=P/EC Escribir (EC, DG) CM=-SM/P CP=-SP/P // COORDENADAS N E Leer (N, E) Para I=1, NE PM=D(I)*COS(AZ(I)) PP=D(I)*SIN(AZ(I)) CM=CM*D(I) CP=CP*D(I) MC=PM+CM PC=PP+CP N=N+MC E=E+PC Escribir ( PM, PP, MC, PC, N, E) Fin Para Fin
SubAlgortimo ANG G=INT A+INT(FRAC A*100)/60+FRAC(A*100)/36 Retorne
Basic para Topógrafos
93
Programa 10 REM METODO DE LA BRUJULA 20 REM GJC 30 REM 2000-04-09 40 REM ENTRADA 50 INPUT “NUMERO DE ESTACIONES:”,NE 60 DIM AZ(NE),D(NE) 70 FOR I=1 TO NE 80 INPUT “DH:”,D(I) 90 INPUT “AZ:”,A 100 GOSUB 1000 110 AZ(I)=A 120 SM=SM+D(I)*COS(AZ(I)) 130 SP=SP+D(I)*SIN(AZ(I)) 140 P=P+D(I) 150 NEXT I 160 EC= SQR(SM^2+SP^2) 170 DG=P/EC 180 SET F2 190 PRINT “EC:”;EC 200 SET F0 210 PRINT “GP = 1/”;DG 220 CM=-SM/P 230 CP=-SP/P 240 INPUT “NORTE [1] :”,N 250 INPUT “ESTE [2] :”,E 260 FOR I=1 TO NE 270 PM=D(I)*COS(AZ(I)) 280 PP=D(I)*SIN(AZ(I)) 290 CM=CM*D(I) 300 CP=CP*D(I) 310 MC=PM+CM 320 PC=PP+CP 330 N=N+MC 340 E=E+PC 350 SET F2 360 PRINT “PM:”;PM 370 PRINT “PP:”;PP 380 PRINT “CPM:”;MC 390 PRINT “CPP:”;PC 400 PRINT “NORTE:”;N 410 PRINT “ESTE :”;E 420 NEXT I 430 END 1000 REM ANGULOS 1010 G=INT A+INT(FRAC A*100)/60+FRAC(A*100)/36 1020 RETURN
94
Basic para Topógrafos
PROBLEMAS PROPUESTOS
1. Escriba un algoritmo que sume los elementos de las filas y las columnas de una matriz dada. 2. Escriba un programa que ajuste una poligonal por el método arbitrario. 3. Escriba un programa que calcule el volumen en corte o lleno de una cuadricula 4. El siguiente programa posee varios errores corríjalos.
Programa 10 REM AREA 20 REM GJC 30 REM 2000-08-04 50 DIM X(25);Y(25) 60 INPUT “NUMERO DE VÉRTICES:”,N 70 FOR I=1 TO N 80 INPUT X(I),Y(I) 90 NEXT 100 X(N+1)=X(1) 110 Y(M+1)=Y(1) 120 A=10 130 FOR I=1 TO N 140 A=A+(X(I))+X(I+1)*(Y(I)-Y(I+1) 150 NEXT I 160 PRINT “AREA:”;ASB(A)/2 170 END
5. Escriba el algoritmo del programa anterior una vez corregido.
Basic para Topógrafos
95
APLICACIONES PARA LA FX880P CASIO
96
Basic para Top贸grafos
7. APLICACIONES PARA LA FX880P CASIO A Continuación aparecen una serie de programas de topografía de uso muy frecuente y que con la calculadora Casio Fx 880p le permite al topógrafo realizar cálculos en el campo, que serian de gran dificultad o de muy alto costo ya que pare ello debería poseer instrumentos de topografía muy modernos.
7.1 NIVELACIÓN GEOMÉTRICA SIMPLE El objeto de este programa es calcular una nivelación simple.
Programa 10 REM NIVELACION GEOMETRICA 20 REM GJC 30 REM 2000-08-04 40 PRINT “NIVELACION SIMPLE” 50 INPUT “NUMERO DE CAMBIOS:”,N 60 INPUT “COTA BM1:”,B 70 INPUT “VISTA +:”,M 80 S=S+M: A=B+M 90 SET F3 100 PRINT “ALT INS:”;A 110 INPUT “VI:”,K 120 IF K > 0 THEN GOSUB 500 130 FOR C=1 TO N 140 PRINT “CAMBIO “; C 150 INPUT “VISTA +:”,M 160 INPUT “VISTA -:”,V 170 S=S+M : O=O+V : T=A-V 180 PRINT “CAMBIO “; C 190 PRINT “COTA CAMBIO:”;T 200 A=T+M 210 PRINT “ALT INST:”;A 220 INPUT “NUMERO DE VI:”,K 230 IF K > O THEN GOSUB 500 240 NEXT C 250 INPUT “VISTA -:”,V 260 O=O+V:H=A-V 270 G=O-S:J=B-H 280 PRINT “SUMA V+:”;S 290 PRINT ”SUMA V-:”;O 300 PRINT “DIF V+/V-:”;G 310 PRINT “COTA BM2:”;H 320 PRINT “BM1-BM2:”;J 330 END Basic para Topógrafos
97
500 FOR P=1 TO K 510 INPUT “VISTA IN:”,Z 520 D=A-Z 530 PRINT “COTA VI:”; D 540 NEXT P 550 RETURN
7.2. ÁREA DE UN LOTE DESDE UNA ESTACIÓN (AZIMUT Y DISTANCIA) Calcular mediante ayuda de la calculadora programable el área de un lote sin necesidad de recurrir a cálculos en la oficina, partiendo de distancias azimutes nos entrega el área y coordenadas de los puntos para futuros cálculos.
N = D * Cos Az + N E = D* Sen Az + E
N
Area
(N
i 1
i 1
N i)(Ei 1 Ei) 2
En caso de que el lote no se pueda determinar con una sola estación podemos seccionarlo y sumar las áreas parciales para determinar la definitiva, como muestra la siguiente figura.
Fig 7.1
Programa 10 REM AREA DE UN LOTE 20 REM GJC 30 REM 2000-08-04
98
Basic para Topógrafos
40 CLEAR 50 PRINT “AREA DE UN LOTE” 60 DIM N(50), E(50) 70 INPUT “NUMERO DE RADIACIONES:”, M 80 INPUT “NORTE :”,P 90 INPUT “ESTE :”,Q 100 FOR I=1 TO N 110 PRINT “RAD :”;I 120 INPUT “AZIMUT:”,A 130 INPUT “D. H:”,D 140 A=INT A+INT(FRAC A*100)/60+FRAC(A*100)/36 150 N(I)=D*COS A+P: E(I)=D*SIN A+Q 160 NEXT I 170 REM COORDENDAS 180 N(M+1)=N(1):E(M+1)=E(1) 190 FOR I=1 TO M: SET F2 200 PRINT “RAD :”;I 210 PRINT “NORTE:”;N(I) 220 PRINT “ESTE :”;E(I) 230 F=F+(N(I)+(NI+1))*(E(I)-E(I+1)) 240 NEXT I 250 REM AREA 260 PRINT “ * AREA *” 270 G=ABS F/2 280 PRINT G;”m 2” 290 H=G/10000+C=G/6400 300 SET F0 310 PRINT INT H;” Ha +”;FRAC H*10000 320 PRINT INT C:” Cd +”;FRAC C*10000 330 END
7.3. POLIGONAL POR EL MÉTODO DEL TRANSITO El siguiente programa no compensa un polígono mediante el método del transito, este programa se divide en dos partes: 1. Entrada de datos, deltas y radiaciones 2. Calculo , error de cierre, grado de precisión, perímetro, delta ns, delta ew, proyecciones, correcciones, coordenadas.
CPM
ns
N
S
.PM
CPP
Basic para Topógrafos
EW
E
W
.PP
99
Programa 10 REM METODO DEL TRANSITO 20 REM GJC 30 REM 2000-08-05 40 CLEAR 50 Q1=0:V1=0:U1=0 60 PRINT “METODO DEL TRANSITO” 70 INPUT “NUMERO DE ESTACIONES:”;M 80 DIM D(M),A(M),R(M) C(200),B(200):Z=1 90 FOR J=1 TO M:Z=Z+1 100 INPUT “NUMERO DE RADIACIONES:”,R(J) 110 IF R(J) <= 0 THEN 150 120 FOR I=1 TO R(J): K=K+1 130 PRINT “RAD”;K: INPUT “AZIMUT:”,Q: INPUT “DH:”,B(K) 140 C(K)=INT Q+INT(FRAC Q*100)/60+FRAC(Q*100)/36:NEXT I 150 IF J=M THEN Z=Z+1 160 PRINT “EST “;Z:INPUT “AZIMUT:”;Q: INPUT “D H:”,D(J) 163 A(J)=INT Q+INT(FRAC Q*100)/60+FRAC(Q*100)/36 166 X=D(J)*COSA(J): Y=D(J)*SINA(J): U=U+X: L=L+Y: P=P+D(J) 170 IF X>O THEN O=O+X: ELSE Q1=Q1+X 173 IF Y>O THEN V1=V1+Y ELSE U1=U1+Y 176 NEXT J 180 F=SQR(U^2+L^2): G=P/F: SET F2: PRINT”DIFER NS:”;U 190 PRINT “DIFER EW:”;L 200 PRINT”PERIMETRO:”;P 210 PRINT “EC:”;F 220 PRINT “GP = 1/”;G 230 INPUT “NORTE:”,N: INPUT “ESTE :”,E 240 W=U/(O+ABS Q1): T=L/(V1+ABS U1):K=0:Z=1 245 FOR J=1 TO M: Z=Z+1:IF R(J) = 0 THEN 310 250 FOR I=1 TO R(J) : K=K+1: X=B(K)*COS C(K): Y=B(K)*SIN C(K) 260 PRINT “RAD”;K:PRINT “PM:”;X 270 PRINT”PP:”;Y: Q=N+X: U2=E+Y 280 PRINT ”NORTE:”;Q 290 PRINT “ESTE :”;U2 300 NEXT I 310 X=D(J)*COSA(J):Y=D(J)*SINA(J):IF J=M THEN Z=1 320 PRINT “EST “;Z: PRINT “PM:”;X 330 PRINT “PP:”;Y:R=X*W:S=Y*T 335 IF W<0 THEN X=X+ABS R ELSE X=X-ABS R 337 IF T < 0 THEN Y=Y+ABS S ELSE Y=Y-ABS S 340 PRINT “CPM:”;R 350 PRINT “CPP:”;S 360 PRINT “PMC:”;U 370 PRINT “PPC:”;Y : N=N+X: E=E+Y 380 PRINT ”NORTE:”;N 390 PRINT “ESTE :”;E: NEXT J 400 END
100
Basic para Topógrafos
7.4. ÁREA DE UN POLÍGONO Este programa calcula el área de un polígono del que se conocen las coordenadas de los vértices Area (X 1Y2 X 2Y3 X 3Y4 X 4Y5 X 5Y1 X 2Y1 X 3Y2 X 4Y3 X 5Y4 X 1Y5)/ 2
El numero de vértices es ilimitado.
Programa 10 REM AREA DE UN POLÍGONO 20 REM GJC 30 REM 2000-08-05 40 CLEAR 50 PRINT “AREA” 60 INPUT “NORTE:”,N 70 INPUT “ESTE :”,B 80 M=N: D=B 90 Z=Z+1 100 INPUT “NORTE:”,E 110 INPUT “ESTE :”,F 120 J=J+((N*F)-(B*E))/2 130 IF M<>E THEN 150 140 IF D=F THEN 160 150 N=E:B=F: GOTO 100 160 PRINT “AREA” 170 G=ABS J 180 SET F2 190 PRINT G;”m 2” 200 H=G/10000+C=G/6400 210 SET F0 220 PRINT INT H;” Ha +”;FRAC H*10000 230 PRINT INT C:” Cd +”;FRAC C*10000 240 END
7.5. INTERSECCIÓN AZIMUT- AZIMUT El objeto de este programa es calcular la posición de un punto (Xc, Yc) determinada por la intersección ángulo - ángulo (azimut – azimut), para ello se debe poseer las coordenadas de los dos puntos (Xa,Ya; Xb,Yb) y los azimutes Az AC, Az BC.
Basic para Topógrafos
101
Fig 7.2
Yc Ya
(Ya Yb) (Xa Xb) Tan AzBC Tan AzBC - Tan Az AC
Yc Ya (Xc Xa) tan Az AC
Programa 10 REM INTERSECCION 20 REM GJC 30 REM 2000-08-05 40 CLEAR: PRINT “INTERSECCION” 50 INPUT “NA:”,XA,”EA:”,YA,”AZ AC:”,Q 60 GOSUB 500: AC=Q 70 INPUT “NB:”,XB,”EB:”,YB,”AZ BC:”,Q 80 GOSUB 500: BC=Q 90 IF ABS(SIN AC)=ABS(SIN BC) THEN 220 100 P=AC : GOSUB 510 : AC=P 110 P=BC : GOSUB 510 : BC=P 120 XC=XA+(((YA-YB)-(XA-XB)*TAN BC)/(TAN BC –TAN AC)) 130 YC=YA+(XC-XA)*TAN AC 140 SET F2: PRINT “NC:”;XC 150 PRINT “EC:”;YC 160 END 500 Q=INT Q+INT(FRAC Q*100)/60+FRAC(Q*100)/36:RETURN 510 IF P= 90 THEN 530 520 IF P=270 THEN 530 ELSE 540 530 P=P-DEG(OO,OO,OO.1) 540 RETURN
102
Basic para Topógrafos
7.6. PROBLEMAS DE LOS TRES PUNTOS Este programa calcula el problema de los tres puntos o de Pothenot que nos resulta muy útil para trabajo planimétricos y geodésicos.
Fig 7.3 Programa 10 REM POTHENOT 20 REM GJC 30 REM 2000-08-05 40 PRINT “PROBLEMA DE LOS TRES PUNTOS” 50 INPUT “N1:”,X,”E1:”,Y 60 INPUT “N2:”,N,”E2:”,G 70 INPUT “N3:”,M,”E3:”,E1 80 DY=E1-G:DX=M-N 90 GOSUB 500: B=J 100 DY=Y-G: DX=X-N: GOSUB 500 110 I=J: C=I-B 120 K=SQR((M-N)^2+(E1-G)^2) 130 W= SQR((M-X)^2+(G-Y)^2) 140 IF C<O THEN C=C+360 150 INPUT “1P2:”,AN:GOSUB 600:D=AN 160 INPUT “2P3:”,AN:GOSUB 600:E=AN 170 IF C+D+E=180THEN 330 ELSE F=360-(D+C+E):Z=(K*SIND)/(W*SINE) 180 H=ATN(SIN F/(Z+COS F)) 190 I=F-H: J=180-(H+E) 200 L=SIN J*K/SIN E:M1=SIN H*K/SIN E 210 IF B+J>=360 THEN Q=B+J-360 ELSE Q=B+J 220 O=N+COS Q*M1:P=G+SIN G*M1: R=B+180-H 230 IF R>= 360 THEN R=R-360 240 S= N+COS B*K+COS R*L: T=G +SIN B*K+SIN R*L 245 U=(S+O)/2:V=(P+T)/2: SET F2 Basic para Topógrafos
103
250 PRINT “NP:”;U 260 PRINT “EP:”;V 270 PRINT “D 12:”;W 280 PRINT “D 23:”;K: H1=SQR(_(X-U)^2+(Y-V)^2) 290 H2=SQR((N-U)^2+(G-V)^2):H3=SQR((M-N)^2+(E1-V)^2) 300 PRINT “D 1P:”;H1 310 PRINT “D 2P:”;H2 320 PRINT “D 3P:”;H3 330 END 500 IF DX<>0 THEN 530 510 IF DY>0 THEN J=90 ELSE J=290 520 RETURN 530 J=ATN (DY/DX):IF DX<0 THEN J=J+180 540 IF J<0 THEN A=360-A 550 IF J >360 THEN A=A-360 560 RETURN 600 AN=INT AN+INT(FRAC AN*100)/60+FRAC(AN*100)/36 610 RETURN
7.7. PROBLEMA DE LOS DOS PUNTOS O HANSEN
Fig 7.4 El siguiente programa calcula el problema de Hansen1 ( teniendo en cuenta las coordenadas) a partir de las coordenadas de dos puntos y asumiendo un sistema en el punto a y b para posteriormente resolver la resección. 1
Topografía Analítica, Gilberto Gómez Gómez, Gonzalo Jimenez Cleves y José Joaquín Vila Ortega. Universidad del Quindío. 2000. 223 Págs.
104
Basic para Topógrafos
Programa 10 REM HANSEN 20 REM GJC 30 REM 2001-01-16 40 CLEAR:PRINT “HANSEN” 50 INPUT “NA:”,XA,”EA:”,YA,”AZ AC:”,Q 60 GOSUB 1000:AC=Q:INPUT”AZ AD:”,Q;GOSUB 1000:AD=Q 70 INPUT “NB:”,XB,”EB:”,YB,”AZ BC:”,Q 80 GOSUB 1000:BC=Q:INPUT “AZ BD:”,Q:GOSUB 1000:BD=Q 90 XC=XA+((YA-YB)-(XA-XB)*TAN BC)/(TAB BC – TAN AC) 100 XC=YA+(XC-XA)*TAN AC 110 XD=XA+((YA-YB)-(XA-XB)*TAN BD)/(TAN BD – TAN AD) 120 YD=YA+(XD-XA)*TAN AD 130 INPUT “NC´:”,NC,”EC´:”,EC 140 INPUT “ND´:”,ND,”ED´:”,ED 150 DN=SQR((XC-XD)^2+(YC-YD)^2) 160 DP=SQR((NC-ND)^2+(EC-ED)^2) 170 S= DP/DN 180 AO=ATN ((YD-YC)/(XD-XC)) 190 AD=ATN ((ED-EC)/(ND-NC)) 200 TH=AO-AD 210 TN=S*(XC*COS TH + YC*SIN TH) – NC 220 TE=S*(-XC*SIN TH + YC*COS TH ) – EC 230 AN=S*(XA*COS TH + YA*SIN TH) – TN 240 AE=S*(-XA*SIN TH + YA COS TH) – TE 250 BN=S*(XB*COS TH +YB*SIN TH) – TN 260 BE=S*(-XB*SIN TH + YB*COS TH) – TE 270 SET F2 280 PRINT “NA´:”;AN,”EA´:”;AE,”NB´:”,BN,”EB´:”;BE 290 END 1000 Q=INTQ+INT(FRAC Q 100)/60+FRAC(Q100)/36: RETURN
7.8. RESECCION DE DISTANCIAS (Solución por mínimos cuadrados) Este programa calcula las coordenadas de un punto p desde el cual se midieron las distancias a varias puntos coordenados.
Fig 7.5 Basic para Topógrafos
105
Programa 10 REM RESECCION DE DISTANCIAS 20 REM GJC 30 REM 2001-01-17 40 PRINT “RESECCION DE DISTANCIAS”: CLEAR 50 INPUT “NUMERO DE PUNTOS:”,M 60 DIM N(M),E(M),D(M),A(M,2),B(M,1),C(2.M),F(2,2),G(1,2) 70 FOR J=1 TO M 80 PRINT “PUNTO “;J;:INPUT”NORTE:”,N(J) 90 INPUT “ESTE :”,E(J);INPUT “DISTANCIA :”,D(J) 100 NEXT J 110 DA=SQR((N(1)-N(2))^2+(E(1)-E(2))^2) 120 AL=ACS((DA^2+D(1)^2-D(2)^2)/(2*DA*D(1)) 130 DN=N(2)-N(1):DE=E(2)-E(1) 140 AZ=ATN(DE/DN) 150 IF DN<0 THEN AZ=AZ+180 160 IF AZ<0 THEN AZ=AZ+360 170 AO=AZ+AL 180 NP=N(1)+D(1)*COS AO: EP=E(1)+D(1)*SIN AO 190 FOR J=1 TO M 200 DC=SQR((NP-N(J))^2+(EP-E(J))^2) 210 A(J,I)=1/DC*(EP-E(J)) 220 A(J,2)=1/DC*(NP-N(J)) 230 B(J,1)=DC-D(J) 240 NEXT J 250 FOR J=1 TO M 260 C(1,J)=A(J,1):C(2,J)=A(J,2) 270 NEXT J 280 FOR J=1 TO 2 290 FOR I=1 TO 2 300 S=0 310 FOR K=1 TO M 320 S=S+C(J,K)*A(K,I) 330 NEXT K 340 F(I,J)=S 350 NEXT I:NEXT J 360 FOR J=1 TO 2 370 FOR I=1 TO 1 380 S=0 390 FOR K=1 TO M 400 S=S+C(J,K)*B(K,I) 410 NEXT K 420 G(I,J)=S 430 NEXT I: NEXT J 440 ME=-(F(1,1)/F(1,2)) 450 LE=-(F(2,1)/F(2,2)) 460 KE=G(1,1)/F(1,2)
106
Basic para Topógrafos
470 FE=G(1,2)/F(2,2) 480 X=(PE-KE)/(ME-LE) 490 Y=ME*X+KE 500 NP=NP+X:EP=EP+Y 510 SET F2 520 PRINT “NORTE:”,P 530 PRINT “ESTE :”,NP 540 END
7.9. CURVA HORIZONTAL Este programa calcula todo los elementos de una curva horizontal a partir de cualquiera de sus elementos.
Fig 7.6 Programa 10 REM CURVA HORIZONTAL 20 REM GJC 30 REM 2000-08-05 40 PRINT “CURVA HORIZONTAL” 50 CLEAR: INPUT “DEFLE:”;Q: GOSUB 500:A=Q 60 INPUT “CUERDA:”,C 70 INPUT “ABS-PI:”,I 80 IF I >O THEN 110 90 INPUT “ABS PC:”,D 100 IF D>O THEN 110 ELSE 70 110 INPUT “T:”,T: IF T>O THEN 180 120 INPUT “R:”,R: IF R>O THEN 190 130 INPUT “E:”,E: IF E>O THEN 170 140 INPUT “L:”,L: IF L>O THEN 200 150 INPUT “G:”,Q:GOSUB 500:G=Q Basic para Topógrafos
107
160 IF G>O THEN 230 ELSE 110 170 T=E/(TAN (A/4)) 180 R=T/(TAN (A/2)) 190 G=2*ASN((C/2)/R):GOTO 210 200 G=C*A/L 210 PRINT “G:”;DMS$(G) 220 INPUT “G DEF :”,Q:GOSUB 500: G=Q 230 SET F2:R=(C/2)/(SIN(G/2)):PRINT “R:”;R 240 K=2*R*SIN(A/2):PRINT “CL”;K 250 T=R*TAN (A/2):PRINT “T:”;T: 260 E=T*TAN(A/4):PRINT “E:”; E 270 L=C*A/G:PRINT “L:”; L 280 IF I>O THEN D=I-T 290 PRINT “ABS:”;D 300 PRINT “ DEFLE:”;DMS$(0) 310 Z=INT(D/10)*10+C-D:IF Z<= 0 THEN 350 320 PRINT “ABS:”;D+Z 330 B=(Z*(G/2))/C 340 GOSUB 600 350 IF Z=L THEN 380 ELSE Z=Z+C 360 IF Z<L THEN 320 ELSE Z=L 370 GOTO 320 380 END 500 Q=INT Q+INT(FRAC Q*100)/60+FRAC(Q*100)/36:RETURN 600 X=INTE(FRAC B*60:H=60*FRAC(FRAC B*60): IF H>30 THEN X=X+1 610 W=INT B:PRINT W;CHR$(223);X;CHR$(39): RETURN
7.10. RED DE NIVELACIÓN, METODO DE DELL (Aproximaciones Sucesivas) El siguiente programa ajusta una rede de nivelación preestablecida, por el método de Dell, conocido también como de aproximaciones sucesivas.
Fig 7.7
108
Basic para Topógrafos
Programa 10 REM CURVA HORIZONTAL 20 REM GJC 30 REM 2000-18-01 40 CLS :CLEAR :PRINT “RED DE NIVELACION METODO DELL” 50 DIM D(7),L87): FOR J=1 TO 7 60 PRINT “DENIVEL “;J;:INPUT “”,D(J) 70 PRINT “DISTANCIA “;J;:INPUT “”,L(J) 80 NEXT J 90 P1=L(1)+L(6)+L(7)+L(5) 100 P2=L(2)+L(3)+L(4)+L(7)+L(6) 110 GOSUB 300 120 D(1)=D(1)-(L(1)/P1*E1) 130 D(6)=D(6)-(L(6)/P1*E1) 140 D(7)=D(7)-(L(7)/P1*E1) 150 D(5)=D(5)-(L(5)/P1*E1) 160 D(2)=D(2)-(L(2)/P2*E2) 170 D(3)=D(3)-(L(3)/P2*E2) 180 D(4)=D(4)-(L(4)/P2*E2) 190 D(7)=D(7)-(L(7)/P2*E2) 200 D(6)=D(6)-(L(6)/P2*E2) 210 GOSUB 300 220 IF E1<0.0001 AND E2<0.0001 THEN 230 ELSE 120 230 SET F0 240 FOR J=1 TO 7 250 PRINT “DESNIVEL “;J;:SET F3 :PRINT D(J) 260 NEXT J 270 END 300 E1=D(1)+D(6)+D(7)+D(5) 310 E2=D(2)+D(3)+D(4)-D(7)-D(6) 320 RETURN
7.11. RED DE NIVELACIÓN ECUACIONES DE CONDICIÓN (Mínimos Cuadrados) El siguiente programa ajusta una red sencilla de nivelación, empleando la teoría de mínimos cuadrados por el método de ecuaciones de condición, este método de ajuste se emplea para trabajos topográficos de alta precisión.
Fig. 7.8 Basic para Topógrafos
109
Programa 10 REM RED DE NIVELACION 20 REM GJC 30 REM 2001-25-01 40 CLS:CLEAR 50 PRINT “RED DE NIVELACION MC” 60 INPUT “NUMERO DE PUNTOS:”,N 70 DIM D(N), L(N), A(1,N), V(N,N), B(N,N), W(N,N), Y(1,1), Z(N,1), F(N,1), G(N,N), J(N,N) 80 FOR J=1 TO N 90 PRINT “PUNTO: ”;J;:INPUT “DESNIVEL:”,D(J) 100 INPUT “DISTANCIA:”,L(J) 110 NEXT J 120 FOR J=1 TO N 130 A(1,J)=1 140 NEXT J:S=0 150 FOR J=1 TO N 160 S=D(J)+S:NEXT J 170 B(1,1)=S 180 FOR J=1 TO N:FOR I=1 TO N 190 IF J=I THEN W(J,I)=1/L(J) 200 NEXT I:V(J,J)=1:NEXT J:S=0 210 FOR J=1 TI N: FOR I=J TO J 220 IF W(I,J) <> 0 THEN 260 230 NEXT I 240 PRINT “MATRIZ SINGULAR” 250 END 260 FOR K=1 TO J 270 S=W(J,K) 280 W(J,K)=W(I,K) 290 W(I,K)=S 300 S=V(J,K) 310 V(J,K)=V(I,K) 320 V(I,K)=S 330 NEXT K 340 T=1/W(J,J) 350 FOR K=1 TO J 360 W(J,K)=T*W(J,K) 370 V(J,K)=T*V(J,K) 380 NEXT K 390 FOR L=1 TO R 400 IF L=J THEN 470 410 T=-W(L,J) 420 FOR K=1 TO J 430 W(L,K)=W(L,K)+T*W(J,K) 440 V(L,K)=V(L,K)+T*V(J,K) 450 NEXT K 460 NEXT L
110
Basic para Topógrafos
470 NEXT J 480 S=0 490 FOR I=1 TO 1 500 FOR J=1 TO N 510 S=0 520 FOR K=1 TO N 530 S=S+A(I,K)*V(K,J) 540 NEXT K 550 X(I,J)=S 560 NEXT J:NEXT I 570 FOR J=1 TO N: F(J,1)=1 NEXT J 580 S=0 590 FOR I=1 TO 1 600 FOR J=1 TO 1 610 S=0 620 S=S+X(I,K)*F(K,J) 630 S=S+X(I,K)*F(K,J) 640 NEXT K 650 Y(I,J)=1/S 660 NEXT J:NEXT I 670 S=0 680 FOR I=1 TO N 690 FOR J=1 TO 1 700 S=0 710 FOR K=1 TO N 720 S=SV(I,K)*F(K,J) 730 NEXT K 740 Z(I,J)=S 750 NEXT J:NEXT I 760 S=0 770 FOR I=1 TO N 780 FOR J=1 TO 1 790 S=0 800 FOR K=1 TO 1 810 S=S+Z(I,K)*Y(K,J) 820 NEXT K 830 G(I,J)=S 840 NEXT J:NEXT I 850 S=0 860 FOR I=1 TO N 870 FOR J=1 TO 1 880 S=0 890 FOR K=1 TO 1 900 S=S+G(I,K)*B(K,J) 910 NEXT K 920 J(I,J)=S 930 NEXT J:NEXT I 940 FOR J=1 TO N Basic para Top贸grafos
111
950 SET F3 960 PRINT “DESNIVEL”;J;D(J)-J(J,1):NEXT J 970 END
7.12. MÉTODO XY ORMSBY
El siguiente programa ajusta una poligonal cerrada por el método XY, muy usado para procedimientos de en los cuales halla que hacer replanteos como urbanismo, agrodesía y otros.
PROGRAMA PROG 0 10 REM METODO XY 20 REM GJC 30 REM 2000-08-08 40 PRINT “METODO XY” 50 INPUT “1 – INI 2 – MIR 3-CAM 4-CAL 5-BOR 6-FIN”,W$ 60 IF W$=”1” THEN GOTO PROG 1 70 IF W$=”2” THEN GOTO PROG 2 80 IF W$=”3” THEN GOTO PROG 3 90 IF W$=”4” THEN GOTO PROG 4 100 IF W$=”5” THEN INPUT “ESTA SEGURO S/N:”,Z$ ELSE 120 110 IF Z$=”S” THEN CLEAR :GOTO 40: ELSE 40 120 IF W$=”6” THEN END ELSE 40 PROG 1 10 CLS 20 I1=0 30 INPUT “NUMERO DE ESTACIONES:”,N 40 DIM D(N),A(N):Z=1 50 FOR J=1 TO N 60 Z=Z+1 70 IF J=N THEN Z=1 80 PRINT “EST ”;Z 90 INPUT “AZIMUT:”,Q 100 INPUT “ D H:”,D(J) 110 GOSUB PROG 6 120 A(J)=Q 170 X=D(J)*COS A(J): Y=D(J)*SIN A(J) 180 F=F+X:I1=I1+Y:P=P+D(J) 190 NEXT J 200 G=SQR(F^2+I1^2): GOSUB PROG 5 210 GOTO PROG 0
112
Basic para Topógrafos
PROG 2 10 Z=1:CLS:FOR J=1 TO N 20 Z=Z+1 IF J=N THEN Z=1 30 PRINT “EST “;Z 40 PRINT “AZIMUT”;DMS$(A(J)) 50 PRINT “D H:”, D(J) 60 NEXT J 70 GOTO PROG 0
PROG 3 10 CLS: INPUT “EST “,J:IF J=1 THEN J=N+1 20 J=J-1: INPUT “AZIMUT:”,Q: GOSUB PROG 6:A(J)=Q 30 INPUT “D H:”,D(J) 40 CLS: INPUT “DESEA CAMBIAR OTRO :”,W$ 50 IF W$=”S” THEN 10 ELSE GOTO PROG 0 PROG 4 10 W=0:Z=1: F=0:I1=0:P=0:S=0:L=0:C=0:E=0:B=0: 15 FOR J=1 TO N: Z=Z+1:C1=0 20 CLS: X=D(J)*COS A(J): Y=D(J)*SIN A(J):F=F+X:I1=I1+Y 25 P=P+D(J):IF A(J)<= 90 THEN 50 30 IF A(J)<= 180 THEN 40 ELSE IF A(J) <= 270 THEN 50 40 C=C+ABS X:E=E+ABS Y:GOTO 60 50 W=W+ABS X:B=B+ABS Y 60 NEXT J: GOSUB PROG 5 70 IF ABS F > ABS I1 THEN 100 80 IF I1>0 THEN 90 ELSE M=-B:S= -E:L=I1:E=C:C=-W:I1=F:AA=1:GOTO120 90 M=B:S=E:L=I1:E=-C:C=W:I1=F:AA=1:GOTO 120 100 IF F>0 THEN 110 ELSE M=-W:S=-C:L=F:C=-B:AA=2:GOTO 120 110 M=W:S=C:L=F:E=-E:C=B:AA=2 120 SET F 2: 130 PRINT “1 “;M;”X “;S;”Y=”;L 140 PRINT “2 “;C;”X “;E;”Y=”;I1 150 U = -(M/S):H=-(C/E):K1=L/S 160 G=I1/E:O=(G-K1)/(U-H):R=(U*O+K1) 170 PRINT “X :”;O: PRINT “Y:”;R 180 IF AA<> 1 THEN 190 ELSE S=-S:E=E-E 190 INPUT “NORTE:”,U:INPUT “ESTE :”,H 200 K=0:Z=1: FOR J=1 TO N:Z=Z+1: 205 INPUT “NUM RAD:”,G: IF G<= O THEN 270 210 FOR I=1 TO G:K=K+1:PRINT “RAD ”;K:INPUT “AZIMUT:”,Q 220 INPUT “D H:”,B: GOSUB PROG 6: C1=Q 230 X=B*COS C1:Y=B*SIN C1:P=U+X:K2=H+Y 240 PRINT “NORTE:”;P 250 PRINT “ESTE :”;K2 260 NEXT I 270 X=D(J)*COS A(J):Y=D(J)*SIN A(J):IF J=N THEN Z=1 Basic para Topógrafos
113
280 IF A(J)<=90 THEN 300 ELSE IF A(J)<=180 THEN 290 ELSE IF A(J) <= 270 THEN 300 290 W=R*Y*SGN E: Q=R*X*SGN S: F=SGN X*(ABS X-Q):L=SGN Y*(ABS Y-W): GOTO 310 300 Q=O*X*SGN M: W=O*Y*SGN C: F= SGN X * (ABS X-Q):L=SGN Y * (ABS Y-W) 310 U=U+F:H=H+L:PRINT “EST “;Z:PRINT”NORTE”; U 320 PRINT “ESTE :”;H: NEXT J: GOTO PROG 0
PROG 5 10 G=SQR(F^2+I1^2): PRINT “DIFER NS:”;F 20 PRINT “DIFER EW:”;I1 30 PRINT “PERIMETRO:”; P 40 PRINT “E C”,G 50 PRINT “GP = 1/”;G 60 GOSUB PROG 5: RETURN
PROG 6 10 Q=INT Q+INT(FRAC Q*100)/60+FRAC(Q*100)/36:RETURN
114
Basic para Topógrafos
APLICACIONES EN EXCEL
116
Basic para Top贸grafos
8. APLICACIONES EN EXCEL 1 La hoja de cálculo Excel de Microsoft es una aplicación integrada en el entorno Microsoft Windows cuya finalidad es la realización de cálculos sobre datos introducidos en la misma, así como la representación de estos valores de forma gráfica. A estas capacidades se suma la posibilidad de utilizarla como base de datos. Introducción a Microsoft Excel
Excel trabaja con hojas de cálculo (inicialmente tres) que están integradas en libros de trabajo. Un libro de trabajo es un conjunto de hojas de cálculo y otros elementos como gráficos, hojas de macros, con el lenguaje Visual BASIC se pueden escribir programas para realizar tareas en Excel etc. El libro de trabajo contiene 16 hojas de cálculo que se pueden eliminar, insertar, mover, copiar, cambiar de nombre,... y otros
Cada una de las hojas de cálculo Excel es una cuadrícula rectangular que tiene 16.384 filas y 256 columnas. Cada columna puede tener entre 0 y 255 caracteres de ancho. Las filas están numeradas desde el uno (1) y las columnas están rotuladas de izquierda a derecha de la A a la Z, y con combinaciones de letras a continuación. La ventana muestra sólo una parte de la hoja de cálculo. La unidad básica de la hoja de cálculo es una celda. Las celdas se identifican con su encabezamiento de columna y su número de fila. La hoja de cálculo se completa introduciendo texto, números y fórmulas en las celdas. Microsoft Excel se ha convertido en uno de los productos mas sencillos y de fácil acceso, por esto se escogió par este desarrollo. Los siguientes ejemplos son para personas que manejan Excel y pretenden ser de ayuda para grandes cálculos y procedimientos iniciales para su posterior mejora. Para mejor aprovechamiento de los siguientes ejercicios se debe tener conocimientos básicos del manejo de la Hoja electrónica. Basic para Topógrafos
117
8.1. ALTIMETRIA A continuación se presentan algunas aplicaciones de Excel en altimetría.
8.1.1. PERFIL Y RASANTE
1. Escriba los siguientes datos
2. Ubicar el cursor en B6 y marco desde la celda B1 hasta la celda B11 ( para el ejemplo que estamos haciendo ó hasta la celda que contenga datos). Posteriormente extiendo esta marca hasta la columna D . Escojo en el menú superior Formato, luego celda, número y escojo dos posiciones decimales y marco con el ratón Aceptar . Nota: Para trabajos muy especiales de pendientes muy pequeñas se debe seleccionar tres posiciones decimales. 3. Ubicar el cursos en la celda C6 y escribo la cota de partida de la rasante ( para nuestro ejemplo 40 ). 4. Colocar el cursor en la celda C7 y se escribe =C6+($B$3/10) 5. Ubicado En la celda C5 Presiono el botón derecho del rato, aparece un menú del cual selecciono copiar (las celda seleccionada aparece en línea punteada intermitente). Marco con el ratón desde la celda C8 hasta la celda C11 (esto se logra teniendo presionado el
118
Basic para Topógrafos
botón izquierdo del ratón ). Presiono el botón derecho y selecciono pegar aparece lo siguiente:
6. Coloco el cursor en D6 y escribo =B6-C6 y presiono 7. Usando el mismo procedimiento del paso 5 realizo una copia de celda D6 en las celdas que van de D7 a D11
Basic para Topógrafos
119
8. Selecciono el icono asistente para gráficos, en el tipo de grafico escojo XY(Dispersión), marco siguiente, ubico el cursor en rango de datos y determino una zona desde la celda A6 hasta la celda C11. Selecciono en el Asistente para gráficos (Paso 2 de 4) ubicándonos en Nombre y escribimos Cota negra, no ubicamos en serie2 y en Nombre escribo Rasante, presiono Siguiente.
9. En el asistente para gráficos (Paso 3 de 4) en Títulos escribo lo siguiente:
10. En líneas de división selecciono líneas de divisiones principales en (x) y líneas de divisiones principales en (y)
11. Para mejorar la presentación coloco el cursor sobre el eje X y presiono el botón derecho del ratón y escojo Formato de eje, selecciono escala, retiro la marca de ejes de valor (Y) cruza entre categorías y presiono aceptar.
120
Basic para Topógrafos
12. Con solo cambiar el valor de la pendiente que se encuentra en la celda B3 se modifican las cotas rojas y las alturas de corte.
Basic para Top贸grafos
121
8.1.2. METODO DE WILSON
1. Desplace el cursor sobre la letra A y con el botón derecho del ratón presionado llévelo hasta la letra M presione el botón izquierdo del ratón y seleccione Ancho de Columna Escriba el numero 7 y marque Aceptar , con esto dejamos todas las columna de la A a la M con un ancho de 7. 2. Marco una zona con el ratón desde A6 hasta M22, teniendo presionado el botón izquierdo del ratón seleccione Formato, escoja Celda, escoja Numero y en Posiciones decimales marque 2 , presione Aceptar . Escriba lo siguiente :
3. Ubico el cursor en B12 y escribo la formula = (((A11+C11+A13)/3-$H$4)*$E$4^2/2 )+ (((A13+C11+C13)/3-$H$4)*$E$4^2/2)
4. Marco la Posición desde B12 hasta C12, Seleccione Copiar y marque una zona desde D12 hasta M12 y presione el botón izquierdo del ratón y escoja pegar. Realizo el mismo procedimiento de pegado en las columnas 14, 16, 18, 20 . Obteniendo lo siguiente:
122
Basic para Topógrafos
5. Me ubico en A7 y escribo Volumen, escojo el icono sumatoria hasta B20 y presiono
y selecciono desde B12
6. Me ubico en B7 y marco hasta C7, selecciono Copiar y marco una zona desde D7 hasta M7 y selecciono Pegar
7. Me ubico en K4 y escribo Volumen Total:
8. Me desplazo a M4 selecciono
y marco desde B7 hasta L7 y presiono .
Nota: En caso de ser necesario amplio la columna M par ver el resultado
Basic para Topógrafos
123
9. Podemos calcular volúmenes con otra cota roja, por ejemplo 60 el calculará inmediatamente el volumen
124
Basic para Topógrafos
8.1.3. METODO DE PROMEDIO DE ALTURAS
Para este método solo remplace el paso tres del método de Wilson por el siguiente: 3. Ubico el cursor en B12 y escribo la formula =$E$4^2*((A11+C11+A13+C13)/4-$H$4)
Nota: Este método es el conocido popularmente cono el método de calculo de volúmenes por cuadricula. Ideal para terrenos planos.
Basic para Topógrafos
125
8.1.4. METODO DE SANYAOLU Para este método solo remplace el paso tres del método de Wilson por el siguiente:
3. Ubico el cursor en B12 y escribo la formula =SI(ABS(A11-C13)>ABS(C11-A13) ; $E$4^2/3 *(((A11-$H$4)+(C13-$H$4))+(((C11-$H$4)+(A13-$H$4))/2)) ; $E$4^2/3*(((((A13-$H$4) + (C11-$H$4) +((C13-$H$4)+(A11-$H$4))/2)))))
Nota: este y el método de Wilson son métodos que se emplean para terrenos con pendiente pronunciadas.
126
Basic para Topógrafos
8.1.5. BALANCE DE VOLUMENES Siga los mismos pasos del método de Wilson (8.1.2) además de la modificación en paso no 3 del método del promedio de alturas.
9. Ubico el cursor en la celda K5 y escribo Cota de Balance
10. Coloco el cursor en la celda M5 y escribo +H4+M4/(60*70) y presiono , 60*70 m es el largo y el ancho de la cuadricula que estamos trabajando en el ejemplo.
11.Selecciono en menú principal Formato, Celdas, Número de pociones decimales, selecciono dos. Podemos ver la cota de balance, esto permite que el volumen de corte sea igual al volumen de lleno.
Basic para Topógrafos
127
8.2. PLANIMETRIA A continuación se presenta la forma de calcular algunos de los trabajos mas dispendiosos de la planimetría como son los ajuste de poligonales. 8.2.1.MÉTODO DE LA BRUJULA Los siguientes son los pasos para ajustar una poligonal cerrada por el método de la brújula. 1. Escribo los datos como aparecen en la siguiente grafica.
2. Ubico el cursor en la celda E15 y marco una zona hasta la celda L20 selecciono en el menú Formato, selecciono Celda, escojo numero de posiciones decimales y escojo dos y presiono aceptar
128
Basic para Topógrafos
3. Ubico el cursor en la celda E15 y escribo: +D15*COS((B15+C15/60)*PI()/180) 4. Coloco el cursor en la celda F15y tecleo: +D15*SEN((B15+C15/60)*PI()/180 5. Ubico el cursor en la celda E15 marco una zona hasta F15 presiono el botón derecho del ratón y selecciono Copiar, marco una zona desde E16 hasta F20 y presiono el botón derecho del ratón y selecciono Pegar. 6. Coloco el cursor en D8 y escribo P: 7. Ubico el cursor en D9 selecciono
y marco desde D15 hasta D20 y presiono
8. Desplazo el cursor a E8 y escribo dPM, Luego en F8 y escribo dPP 9. Coloco el cursor en D9 selecciono con el ratón Copiar marco una zona desde E9 hasta F9 y selecciono Pegar. 10. Marco una zona desde D9 hasta F9 , presiono el botón derecho del ratón escojo en el menú Formato de celdas selecciono Número escojo 2 posiciones decimales y presiono aceptar.
11. Ubico el cursor en la celda G15 y escribo -$E$9/$D$9*D15 12. Paro el cursor en H15 y escribo -$F$9/$D$9*D15 13. Marco una zona que vaya desde G15 a H15 , selecciono Copiar, marco una zona desde G16 hasta H20 y selecciono Pegar. Basic para Topógrafos
129
14. Ubico el cursor en la celda I15 y tecleo +E15+G15 15. Coloco el cursor en J15 y escribo +F15+H15 16. Marco desde I15 hasta J15 y selecciono Copiar , marco una zona desde I16 hasta J20 y selecciono Pegar. 17. Ubico el cursor en K14 y escribo 1000 (Origen coordenada norte) 18. Coloco el cursor en L14 y tecleo 1000 ( Origen coordenada este) 19. Ubico el cursor en K15 y escribo +K14+I15 20. Desplazo el cursor a L15 y tecleo +L14+J15 y presiono ď&#x201A;ż 21. Selecciono una zona que va desde K15 hasta L15, marco Copiar, marco una zona desde K16 hasta L20 y selecciono Pegar.
Nota: Si la poligonal es de mas lados simplemente se copia una zona comprendida desde la celda A20 hasta L20 la cantidad de estaciones que se desean adicionar.
130
Basic para TopĂłgrafos
8.2.2. MÉTODO DE CRANDALL ( MÍNIMOS CUADRADOS) A continuación aparece los pasos para calcular una poligonal cerrada por el método de Crandall, este es una emulación al método de mínimos cuadrados. 1. Escribo los siguientes datos que nos presenta la grafica siguiente.
2. Ubico el cursor en la celda E15 y marco una zona hasta la celda L20 selecciono en el menú Formato, selecciono Celda, escojo numero de posiciones decimales y escojo dos y presiono aceptar 3. Ubico el cursor en la celda E15 y escribo: +D15*COS((B15+C15/60)*PI()/180) 4. Coloco el cursor en la celda F15y tecleo: +D15*SENO((B15+C15/60)*PI()/180 5. Ubico el cursor en la celda E15 marco una zona hasta F15 presiono el botón derecho del ratón y selecciono Copiar, marco una zona desde E16 hasta F20 y presiono el botón derecho del ratón y selecciono Pegar. 6. Coloco el cursor en D8 y escribo P: 7. Ubico el cursor en D9 selecciono
y marco desde D15 hasta D20 y presiono
8. Desplazo el cursor a E8 y escribo dPM, Luego en F8 y escribo dPP Basic para Topógrafos
131
9. Coloco el cursor en D9 selecciono con el ratón Copiar marco una zona desde E9 hasta F9 y selecciono Pegar. 10. Marco una zona desde D5 hasta M9 , presiono el botón derecho del ratón escojo en el menú Formato de celdas selecciono Número escojo 2 posiciones decimales y presiono aceptar. 11. Coloco el cursor en G15 y anoto +E15^2/D15/100 12. Ubico el cursor en H15 y escribo +F15/D15/100 13. Desplazo el cursor a I15 y tecleo +(E15+F15)/D15/100 14. Marco la zona que va desde G15 hasta I15, presiono el botón derecho del ratón y selecciono Copiar, marco una zona desde G16 hasta I20 y selecciono Pegar. 15. Ubico el cursor en F9 presiono el botón derecho del ratón y selecciono Copiar , defino una zona desde G9 hasta I9 y escojo pegar
16. Coloco el cursor en D5 escribo A: 17. Ubico el cursor en D6 y escribo B: 18. Desplazo el cursor a E5 y tecleo +((F9*I9)-(E9*H9))/((G9*H9)-(I9^2)
132
Basic para Topógrafos
19. Coloco el cursor en E6 y tecleo +((E9*I9)-(F9*G9))/((G9*H9)-(I9^2)) 20. Posiciono el cursor en J15 y anoto +(G15*$E$5)+(I15*$E$6) 21. Coloco el cursor en K15 y escribo +(H15*$E$6)+(I15*$E$5) 22. Ubico el cursor en la celda N14 y tecleo 1000 (orígenes de las norte) 23. Coloco el cursor en O14 y escribo 1000 (origen de las este) 24. Desplazo el cursor hasta L15 y escribo la siguiente formula +E15+J15 25. Posiciono el cursor en M15 y tecleo +F15+K15 26. Coloco el cursor en N15 y escribo +N14+L15 27. Desplazo el cursor hasta O15 y anoto +O14+M15 28. Marco la zona que va desde J15 hasta O15, presiono el botón derecho del ratón y selecciono Copiar, marco una zona desde J16 hasta o20 y selecciono Pegar
Nota: si la poligonal posee mas delatas, copie la zona desde A20 hasta O20 las veces que sea necesario, o , si la poligonal posee menos deltas del ejemplo planteado borre las estaciones sobrantes, marcando las filas que desde la columna A hasta la columna O.
Basic para Topógrafos
133
8.2.3. ÁREA POR COORDENADAS Se posee una lista de coordenadas de un predio del cual hay que obtener el área. 1. Escriba los siguientes datos.
Nota: Se debe escribir el primer par de coordenadas al final de la lista, como parece en la grafica anterior. 2. Desplazo el cursor hasta la celda C5 y escribo +(A4+A5)*(B4-B5) 3. Ubico el cursor en C5, presiono el botón derecho del ratón y selecciono Copiar, marco una zona desde C6 hasta C10 y selecciono Pegar. 4. Coloco el cursor en D12 y escribo m 2: 5. Ubico el cursor en E12 y escribo la siguiente formula +ABS(SUMA(C5:C10)/2), Aquí obtenemos el resultado del área en metros cuadrados m2 6. Desplazo el cursor hasta D14 y escribo Ha + m 2: 7. Coloco el cursor en E14 y escribo +TRUNCAR(E12/10000) 8. Llevo el cursor a F14 y escribo +TRUNCAR(E12/10000)-E4)*10000) 9. Muevo El cursor hasta la celda D16 y escribo Cd + v 2: 10. Ubico el cursor en E14 y escribo +TRUNCAR(E12/6400) 11. Desplazo el cursor hasta la celda F16 y escribo =TRUNCAR(((E12/6400)-E16)*10000), se expresa el área el resultado en tres unidades de medida.
134
Basic para Topógrafos
Basic para Top贸grafos
135
Conclusiones
El lenguaje BASIC brinda todavía grandes posibilidades para desarrollar aplicaciones.
El profesional de la topografía puede realizar muchos cálculos con un instrumento de poco valor como lo es una calculadora
Excel le brinda la posibilidad en forma fácil de realizar una gran cantidad de cálculos.
La universidad debe crear grupos de desarrollo de software de aplicación especifica, como en el caso de la topografía.
A partir de este trabajo se puede implementar otros programas con gran facilidad
Basic para Topógrafos
137
138
Basic para Top贸grafos
BIBLIOGRAFIA
Basic para Top贸grafos
139
140
Basic para Top贸grafos
BIBLIOGRAFÍA
ANDERSON JAMES M., MIKHAIL EDWARD M., Introducción a la Topografía. McGraw Hill. Mexico. 1988. 753 Págs.
BANNISTER, A. AND RAYMOND. S.. Surveying. 4 th. Ed.. pitman publishing Ltd.. London. 1977. 632 Págs.
BOOCH, GRADY. Análisis y diseño orientado a objetos con aplicaciones. 2 ed. Addison Wesley / Diaz de Santos. 1996. 693 Págs.
CASIO. Computadora personal, scientific library 116. FX-850P/FX880P. Manual del propietario. Japón. 430 Págs.
DAVIS, RAYMOND E., FOOTE, FRANCIS S., ANDERSON, JAMES H.,AND MIKHAIL, EDWARD M.. Surveying Theory and Practice. 6th. Ed.. McGraw-Hill Book Co.. New York. 1981. 992 Págs.
GÓMEZ G., GILBERTO. JIMÉNEZ C. GONZALO. VILA O. JOSE JOAQUIN. Topografía Analítica. Universidad del Quindío Armenia. 2000. 223 Págs.
JIMENEZ CLEVES GONZALO, VILA ORTEGA JOSÉ JOAQUÍN, HURTADO BEDOYA CARLOS ALBERTO, Introducción al diseño de especificaciones en topografía. Universidad del Quindío. Armenia. 1995. 116 Págs.
JIMENEZ CLEVES GONZALO, Informática en Topografía. Universidad del Quindío. Armenia. 1990. 114 Págs.
JOYANES AGUILAR, LUIS. RODRÍGUEZ BAENA, LUIS. FERNÁNDEZ AZUELA, MATILDE. Fundamentos de Programación. Libro de problemas. McGraw Hill. España. 1996. 392 Págs.
JOYANES AGUILAR, LUIS. MUÑOZ CLEMENTE ANTONIO. Microsoft Visual Basic 6.0. McGrawHill. España. 1999. 318 Págs.
MATTHEWS, MARTÍN S. Excel para Windows 95 a su alcance. McGraw Hill. España. 1996. 509 Pags. Basic para Topógrafos
141
MENDENHALL, WILLIAM. Introducción a la Probabilidad y la Estadística. Wadsworth Internacional / Iberoamérica. Belmont (California). 1982. 626 Págs.
MOUSSET, J.. La medida de distancias y la poligonacion. Paraninfo. Madrid. 1976. 93 Págs.
PAPPAS, CHRIS H. MURRAY, H. WILLIAM. Visual C++ 6.0. Osborne McGraw-Hill. España. 1999. 946 Págs.
RAYNER, WILLIAN H. and Schmidt, Milton o.. Fundamentals of Surveying. Van Nostrand Co.. New York. 1969. 533. Págs.
RICHARDUS. P., assisted by Allman, J. S.. Project Surveying. North-Holland Publishing Co.. Amsterdam. 1966. 467 Págs.
SHEPHERD, F. A.. Surveying Problems and Solutions. Edward Arnold Ltd.. London 1968. 654 Págs.
TOVAR H. FERNANDO. Algoritmos estructurados en seudocodigo. Universidad del Quindío. Armenia.
TRUTMANN, O.. El Teodolito y su empleo. Wild Heerbrugg (Suiza). 1976. 108 Págs.
WOLF, PAUL R., GHILANI CHARLES D. Adjustment computations. Statistics and Least Squares in Surveying and GIS. John Wiley & Sons. 1997. 564 págs.
Internet Topographic Surveying http://uregina.ca/~sauchyn/geog411/topographic_surveying.html Land Surveying and Geomatics: On-Line Resources http://homepage.interaccess.com/~maynard/ Gonzalo Jimenez Cleves http://members-americas.tripod.com/gjc/index.html TOPOMUNDO - La revista de los profesionales de Topografía en INTERNET http://personal1.iddeo.es/dsantiso/tmundo.htm
142
Basic para Topógrafos