Вы находитесь на странице: 1из 131

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/256762087

BASIC

Data · September 2001

CITATIONS READS

0 6,825

1 author:

Gonzalo Jimenez Cleves


University of Quindio
14 PUBLICATIONS   2 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Topografía View project

All content following this page was uploaded by Gonzalo Jimenez Cleves on 28 May 2014.

The user has requested enhancement of the downloaded file.


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 Descripción Capacidad


(pulgadas) (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 ) MOD
Negación -

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 Ejemplo Resultado


+ 4+8 12
- 5-3 2
* 2*3 6
/ 8/2 4
^ 3^2 9
- -(4) -4
\ 5\2 2
MOD 5 MOD 2 1

Basic para Topógrafos


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 Resultado


< 4<2 Falso
> 3>1 Verdadero
>= ó => 5 >= 5 Verdadero
<= ó =< 4 <= 3 Falso
>< ó <> 3><3 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 Condición 2 AND OR XOR NOT


Verdad Verdad Verdad Verdad
Verdad Falso Falso Verdad
Falso Verdad Falso Verdad
Falso Falso Falso Falso

Ejemplo

Condición Valor
(2>1) AND (3>2) Verdad
(2>1) AND (3=2) Falso
(2<1) AND (2=2) Falso
(2=3) AND (3<1) Falso
(2=2) OR (3>4) Verdad
(3>1) OR (4=2) Verdad
(2=1) OR (3>2) Verdad
(2=7) OR (1>2) Verdad
XOR
XOR
XOR
XOR
NOT
NOT
NOT
NOT

Basic para Topógrafos


19
OPERADORES DE CADENA DE CARACTERES (+)

Las cadenas de caracteres pueden ser concatenados usando el signo +.

Operación Resultado
“ingeniería” + “topográfica” 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 Operador
1 ()
2 Funciones
3 ^
4 - ( negación)
5 */
6 ¥
7 MOD
8 +-

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 Basic


c X= C/(C+R)*D
X  D
c  r
D2 C= D^2/(2*L)
C 
2L
e S = E / SQR(N)
S 
n
A  B  C V=(A+B+C)/3
V 
3
 N CP= DN/P*L
CP  L
P
K W= S+ K/3
w  S 
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

 W = 12
 D = K*S
 R = PI /180 * A
 S = (A+B+C)/2
 P = E /D

Basic para Topógrafos


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

a  b  c
S 
2

A  s(s  a)(s  b)(s  c)

D  KSSen2

E  Vm  Vv

Basic para Topógrafos


22
V TV
So 
r

hcr  CR
D 

 100 

d) Evaluar paso a paso las siguientes expresiones de asignación.

A = (3*4) +(9/3+5-3
B = (2+7*(2^3)+(8+5)^2)+1.23
C = 2+(8^(1/3)+7.3
D = (5^(4+2)-2) +2.5/2
E = -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
Basic para Topógrafos
32
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

Basic para Topógrafos


34
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

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


36
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
Basic para Topógrafos
38
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

Basic para Topógrafos


40
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
Basic para Topógrafos
42
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 ACCION EJEMPLO RESULTADO


ANGLE

ABS(X) Devuelve el valor ABS -10 10


absoluto de x ABS 40 40

SGN(X) Si X > 0 devuelve 1, SGN 20 1


Si X = 0 devuelve 0, SGN -25 -1
Si X < 0 devuelve –1

INT(X) Retorna el mayor INT 42.6 42


entero INT -12.8 -13

SQR Calcula la raíz SQR 12504 111.824586


cuadrada de X.

CUR Calcula raíz cúbica CUR 12504 23.21041942

LOG Obtiene el logaritmo LOG 10 1


Decimal

LN Obtiene el logaritmo LN 10 2.302585093


natural

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
Basic para Topógrafos
64
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

Basic para Topógrafos


66
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)
Basic para Topógrafos
68
// 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)
Basic para Topógrafos
70
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

Basic para Topógrafos


72
ESTRUCTURA
DE CICLOS
Basic para Topógrafos
74
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

Basic para Topógrafos


76
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

Basic para Topógrafos


78
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

Basic para Topógrafos


80
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. Modifique el programa de grado de precisión para que trabaje con ángulos por
deflexiones.

Basic para Topógrafos


82
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
Basic para Topógrafos
86
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
Basic para Topógrafos
88
 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

Basic para Topógrafos


90
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

Basic para Topógrafos


92
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
Basic para Topógrafos
94
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
Basic para Topógrafos
96
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
i 1
i 1  N i)(Ei  1  Ei)
Area 
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
Basic para Topógrafos
98
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.

ns EW
CPM  .PM CPP  .PP
N  S E  W

Basic para Topógrafos


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
Basic para Topógrafos
100
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

(Ya  Yb)  (Xa  Xb) Tan AzBC


Yc  Ya 
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

Basic para Topógrafos


102
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.
Basic para Topógrafos
104
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)
Basic para Topógrafos
106
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

Basic para Topógrafos


108
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
Basic para Topógrafos
110
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
Basic para Topógrafos
112
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

Basic para Topógrafos


114
APLICACIONES
EN EXCEL
Basic para Topógrafos
116
8. APLICACIONES EN EXCEL
Introducción a Microsoft 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.

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
Basic para Topógrafos
118
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.

Basic para Topógrafos


120
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:

Basic para Topógrafos


122
5. Me ubico en A7 y escribo Volumen, escojo el icono sumatoria y selecciono desde B12
hasta B20 y presiono 

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

Basic para Topógrafos


124
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.

Basic para Topógrafos


126
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
Basic para Topógrafos
128
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.

Basic para Topógrafos


130
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)

Basic para Topógrafos


132
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.

Basic para Topógrafos


134
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
Basic para Topógrafos
138
BIBLIOGRAFIA

Basic para Topógrafos


139
Basic para Topógrafos
140
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

Basic para Topógrafos


142

View publication stats