BASIC

Page 1

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 ď‚ż 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


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.