Sie sind auf Seite 1von 108

Instituto

Tecnolgico de
Durango
Programacin avanzada
Ingeniera Mecatrnica
Catedrtico: HERNANDEZ MARINES
MARIO GERARDO
Miguel Alejandro Pulido Martnez
13040438
Sptimo semestre
Grupo V
Trabajo de investigacin

Victoria de Durango a 22 de Febrero del 2016

Instituto Tecnolgico de Durango

ndice
INTRODUCCIN............................................................................................................... 3
PROGRAMACIN ORIENTADA EN OBJETOS......................................................................4
Origenes de la programacion orientada a objetos.......................................................4
Conceptos de la programacion orientada a objetos.....................................................5
Encapsulamiento y ocultacin.....................................................................................6
Organizacin de los objetos......................................................................................... 6

Programacin avanzada

Instituto Tecnolgico de Durango

Estructura de un objeto............................................................................................... 7
1. relaciones............................................................................................................. 7
2. propiedades......................................................................................................... 8
3. metodos............................................................................................................... 9
Polimorfismo................................................................................................................ 9
Demonios.................................................................................................................... 9
PROGRAMACIN ORIENTADA EN GRFICOS..................................................................10
Un poco de historia................................................................................................ 10
Funcionamiento de la VGA.........................................................................................10

Programacin avanzada

Instituto Tecnolgico de Durango

Optimizacin de las rutinas....................................................................................12


PROGRAMACIN VISUAL............................................................................................... 15
Visual Basic............................................................................................................ 15
Embarcadero Delphi............................................................................................... 15
PROGRAMACIN DE LOS ROBOTS.................................................................................17
Clasificacin de la programacin usada en robtica..................................................17
Programacin gestual o directa.................................................................................17
Programacin textual explicita..................................................................................19
1. Nivel de movimiento elemental........................................................................19

Programacin avanzada

Instituto Tecnolgico de Durango

2. Nivel estructurado............................................................................................ 20
Lenguajes de programacin a nivel de movimientos elementales.............................20
Lenguajes estructurados de programacin explcita..................................................21
Caractersticas de un lenguaje ideal para la robtica................................................23
Conclusiones................................................................................................................. 25

Introduccin
Programacin avanzada

Instituto Tecnolgico de Durango

El rol de la programacin en los ltimos sesenta aos ha sido crucial para


comprender la evolucin que ha tenido la sistematizacin de tareas y el
manejo de la informacin que hoy en da damos como un hecho. En efecto, la
misma tiene como principal funcin el hecho de conseguir que innumerables
trabajos que antes ejercamos de forma manual y con un alto costo sean
ejecutados por un ordenador con un ahorro significativo de tiempo. Por otro
lado, dada la increble cantidad de informacin que hoy en da se maneja para
distintas tareas, la programacin es una herramienta de enorme valor porque
permite bucear en la misma con muchsima facilidad.

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin orientada en
objetos
La programacin orientada a objetos, ha tomado las mejores ideas de la
programacin estructurada y los ha combinado con varios conceptos nuevos y
potentes que incitan a contemplar las tareas de programacin desde un nuevo
punto de vista. La programacin orientada a objetos, permite descomponer
ms fcilmente un problema en subgrupos de partes relacionadas del

Programacin avanzada

Instituto Tecnolgico de Durango

problema. Entonces, utilizando el lenguaje se pueden traducir estos subgrupos


a unidades auto contenidas llamadas objetos. El trmino Programacin
Orientada a Objetos (POO), hoy en da ampliamente utilizado, es difcil de
definir, ya que no es un concepto nuevo, sino que ha sido el desarrollo de
tcnicas de programacin desde principios de la dcada de los setenta, aunque
sea en la dcada de los noventa cuando ha aumentado su difusin, uso y
popularidad. No obstante, se puede definir POO como una tcnica o estilo de
programacin que utiliza objetos como bloque esencial de construccin. Un
objeto es una unidad que contiene datos y las funciones que operan sobre esos

Programacin avanzada

Instituto Tecnolgico de Durango

datos. A los elementos de un objeto se les conoce como miembros; las


funciones que operan sobre los objetos se denominan mtodos y los datos se
denominan miembros datos.

ORIGENES DE LA PROGRAMACION ORIENTADA A OBJETOS.


1. a Etapa. Lenguajes Ensambladores. La unidad de programacin es la
instruccin, compuesta de un operador y los operandos. El nivel de abstraccin
que se aplica es muy bajo.

Programacin avanzada

Instituto Tecnolgico de Durango

2. a Etapa. Lenguajes de Programacin: Fortran, Algol, Cobol. Los objetos y


operaciones del mundo real se podan modelar mediante datos y estructuras
de control separadamente. En esta etapa el diseo del software se enfoca
sobre la representacin del detalle procedimental y en funcin del lenguaje
elegido. Conceptos como: refinamiento progresivo, modularidad
procedimientos y programacin estructurada son conceptos bsicos que se
utilizan en esta etapa. Existe mayor abstraccin de datos.

Programacin avanzada

Instituto Tecnolgico de Durango

3. a Etapa. Se introducen en esta etapa los conceptos de abstraccin y


ocultacin de la informacin.
4. a Etapa. A partir de los aos setenta se trabaja sobre una nueva clase de
lenguajes de simulacin y sobre la construccin de prototipos tales como
Simula-70 y basados en parte de ste, el Smalltalk. En estos lenguajes, la
abstraccin de datos tiene una gran importancia y los problemas del mundo
real se representan mediante objetos de datos a los cuales se les aade el
correspondiente conjunto de operaciones asociados a ellos. Trminos como

Programacin avanzada

Instituto Tecnolgico de Durango

Abstraccin de datos, objeto, encapsulacin entre otros, son conceptos bsicos


sobre la que se fundamenta la POO.

CONCEPTOS DE LA PROGRAMACION ORIENTADA A OBJETOS.


La POO representa una metodologa de programacin que se basa en las
siguientes caractersticas: 1) Los diseadores definen nuevas clases (o tipos)
de objetos.
2) Los objetos poseen una serie de operaciones asociadas a ellos.

Programacin avanzada

Instituto Tecnolgico de Durango

3) Las operaciones tienden a ser genricas, es decir, operan sobre mltiples


tipos de datos.
4) Las clases o tipos de objetos comparten componentes comunes mediante
mecanismos de herencia.
Objeto: Una estructura de datos y conjunto de procedimientos que operan
sobre dicha estructura. Una definicin ms completa de objeto es: una entidad
de programa que consiste en datos y todos aquellos procedimientos que
pueden manipular aquellos datos; el acceso a los datos de un objeto es

Programacin avanzada

Instituto Tecnolgico de Durango

solamente a travs de estos procedimientos, nicamente estos procedimientos


pueden manipular, referenciar y/o modificar estos datos. Para poder describir
todos los objetos de un programa, conviene agrupar stos en clases.
Un objeto puede considerarse como una especie de cpsula dividida en tres
partes:

1. RELACIONES

Programacin avanzada

Instituto Tecnolgico de Durango

2. PROPIEDADES
3. METODOS

Cada uno de estos componentes desempea un papel totalmente


independiente:

Programacin avanzada

Instituto Tecnolgico de Durango

Relaciones: Las relaciones permiten que el objeto se insterte en la


organizacin y estn formadas esencialmente por punteros a otros objetos.

Propiedades: Las propiedades distinguen un objeto determinado de los


restantes que forman parte de la misma organizacin y tiene valores que
dependen de la propiedad de que se trate. Las propiedades de un objeto
pueden ser heredadas a sus descendientes en la organizacin.
Mtodos: Los mtodos son las operaciones que pueden realizarse sobre el
objeto, que normalmente estarn incorporados en forma de programas

Programacin avanzada

Instituto Tecnolgico de Durango

(cdigo) que el objeto es capaz de ejecutar y que tambin pone a disposicin


de sus descendientes a travs de la herencia.

Encapsulamiento y ocultacin
Como hemos visto, cada objeto es una estructura compleja en cuyo interior
hay datos y programas, todos ellos relacionados entre s, como si estuvieran
encerrados conjuntamente en una cpsula. Esta propiedad (encapsulamiento),
es una de las caractersticas fundamentales en la OOP.
Los objetos son inaccesibles, e impiden que otros objetos, los usuarios, o
incluso los programadores conozcan cmo est distribuida la informacin o qu

Programacin avanzada

Instituto Tecnolgico de Durango

informacin hay disponible. Esta propiedad de los objetos se denomina


ocultacin de la informacin.
Esto no quiere decir, sin embargo, que sea imposible conocer lo necesario
respecto a un objeto y a lo que contiene. Si as fuera no se podra hacer gran
cosa con l. Lo que sucede es que las peticiones de informacin a un objeto.
Deben realizarse a travs de mensajes dirigidos a l, con la orden de realizar la
operacin pertinente. La respuesta a estas rdenes ser la informacin
requerida, siempre que el objeto considere que quien enva el mensaje est
autorizado para obtenerla.

Programacin avanzada

Instituto Tecnolgico de Durango

El hecho de que cada objeto sea una cpsula facilita enormemente que un
objeto determinado pueda ser transportado a otro punto de la organizacin, o
incluso a otra organizacin totalmente diferente que precise de l. Si el objeto
ha sido bien construido, sus mtodos seguirn funcionando en el nuevo
entorno sin problemas. Esta cualidad hace que la OOP sea muy apta para la
reutilizacin de programas.

Programacin avanzada

Instituto Tecnolgico de Durango

Organizacin de los objetos

En principio, los objetos forman siempre una organizacin jerrquica, en el


sentido de que ciertos objetos son superiores a otros de cierto modo.
Existen varios tipos tipos de jerarquas: sern simples cuando su estructura
pueda ser representada por medio de un "arbol". En otros casos puede ser ms
compleja.

Programacin avanzada

Instituto Tecnolgico de Durango

En cualquier caso, sea la estructura simple o compleja, podrn distinguirse en


ella tres niveles de objetos.
-La raz de la jerarqua. Se trata de un objeto nico y especial. Este se
caracterza por estar en el nivel ms alto de la estructura y suele recibir un
nombre muy genrico, que indica su categora especial, como por ejemplo
objeto madre, Raz o Entidad.
-Los objetos intermedios. Son aquellos que descienden directamente de la raz
y que a su vez tienen descendientes. Representan conjuntos o clases de
objetos, que pueden ser muy generales o muy especializados, segn la
aplicacin. Normalmente reciben nombres genricos que denotan al conjunto

Programacin avanzada

Instituto Tecnolgico de Durango

de objetos que representan, por ejemplo, VENTANA, CUENTA, FICHERO. En un


conjunto reciben el nombre de clases o tipos si descienden de otra clase o
subclase.
-Los objetos terminales. Son todos aquellos que descienden de una clase o
subclase y no tienen descendientes. Suelen llamarse casos
particulares, instancias o tems porque representan los elementos del conjunto
representado por la clase o subclase a la que pertenecen.

Programacin avanzada

Instituto Tecnolgico de Durango

Estructura de un objeto
1. RELACIONES
Las relaciones entre objetos son, precisamente, los enlaces que permiten a un
objeto relacionarse con aquellos que forman parte de la misma organizacin.
Las hay de dos tipos fundamentales:
-Relaciones jerrquicas. Son esenciales para la existencia misma de la
aplicacin porque la construyen. Son bidireccionales, es decir, un objeto es
padre de otro cuando el primer objeto se encuentra situado inmediatamente
encima del segundo en la organizacin en la que ambos forman parte;

Programacin avanzada

Instituto Tecnolgico de Durango

asimismo, si un objeto es padre de otro, el segundo es hijo del primero (en la


fig. 2, B es padre de D,E y F, es decir, D,E y F son hijos de B; en la fig. 3, los
objetos B y C son padres de F, que a su vez es hijo de ambos).
Una organizacin jerrquica simple puede definirse como aquella en la que un
objeto puede tener un solo padre, mientras que en una organizacion jerrquica
compleja un hijo puede tener varios padres).
-Relaciones semnticas. Se refieren a las relaciones que no tienen nada que
ver con la organizacin de la que forman parte los objetos que las establecen.
Sus propiedades y consecuencia solo dependen de los objetos en s mismos (de
su significado) y no de su posicin en la organizacin.

Programacin avanzada

Instituto Tecnolgico de Durango

Se puede ver mejor con un ejemplo: supongamos que vamos a construir


un diccionario informatizado que permita al usuario obtener la definicin de
una palabra cualquiera. Supongamos que, en dicho diccionario, las palabras
son objetos y que la organizacin jerrquica es la que proviene de forma
natural de la estructura de nuestros conocimientos sobre el mundo.
La raz del diccionario podra llamarse TEMAS. De ste trmino genrico
descendern tres grandes ramas de objetos llamadas VIDA, MUNDO y HOMBRE.
El primero (vida) comprender las ciencias biolgicas: Biologa y Medicina. El
segundo (mundo), las ciencias de la naturaleza inerte: las Matemticas,
la Fsica, la Qumica y la Geologa. El tercero (hombre) comprender las
ciencias humanas: la Geografa, la Historia, etc.

Programacin avanzada

Instituto Tecnolgico de Durango

Veamos un ejemplo: estableceremos la relacin trabajo entre los


objetos NEWTON y OPTICA y la interpretaremos diciendo que significa que
Newton trabaj en ptica. La relacin es, evidentemente, semntica, pues no
establece ninguna connotacin jerrquica entre NEWTON y OPTICA y
su interpretacin depende exclusivamente del significado de ambos objetos.
La existencia de esta relacin nos permitir responder a preguntas como:
Quin trabaj en ptica?
En qu trabaj Newton?
Quien trabaj en Fsica?

Programacin avanzada

Instituto Tecnolgico de Durango

Las dos primeras se deducen inmediatamente de la existencia de la


relacin trabajo. Para la tercera observamos que si Newton trabaj en ptica
automticamente sabemos que trabaj en Fsica, por ser ptica una rama de la
Fsica (en nuestro diccionario, el objeto OPTICA es hijo del objeto FISICA).
Entonces gracias a la OOP podemos responder a la tercera pregunta sin
necesidad de establecer una relacin entre NEWTON y FISICA, apoyandonos
slo en la relacin definida entre NEWTON y OPTICA y en que OPTICA es hijo de
FISICA. De este modo se elimina toda redundancia innecesaria y la cantidad de
informacin que tendremos que definir para todo el diccionario ser mnima.

Programacin avanzada

Instituto Tecnolgico de Durango

2. PROPIEDADES
Todo objeto puede tener cierto nmero de propiedades, cada una de las cuales
tendr, a su vez, uno o varios valores. En OOP, las propiedades corresponden a
las clsicas "variables" de la programacin estructurada. Son, por lo tanto,
datos encapsulados dentro del objeto, junto con los mtodos (programas) y las
relaciones (punteros a otros objetos). Las propiedades de un objeto pueden
tener un valor nico o pueden contener un conjunto de valores ms o menos
estructurados (matrices, vectores, listas, etc.). Adems, los valores pueden ser
de cualquier tipo (numrico, alfabtico, etc.) si el sistema de programacin lo
permite.

Programacin avanzada

Instituto Tecnolgico de Durango

Pero existe una diferencia con las "variables", y es que las propiedades se
pueden heredar de unos objetos a otros. En consecuencia, un objeto puede
tener una propiedad de maneras diferentes:
-Propiedades propias. Estn formadas dentro de la cpsula del objeto.
-Propiedades heredadas. Estan definidas en un objeto diferente, antepasado de
ste (padre,"abuelo", etc.). A veces estas propiedades se llaman propiedades
miembro porque el objeto las posee por el mero hecho de ser miembro de una
clase.

Programacin avanzada

Instituto Tecnolgico de Durango

3. METODOS
Una operacin que realiza acceso a los datos. Podemos definir mtodo como
un programa procedimental o procedural escrito en cualquier lenguaje, que
est asociado a un objeto determinado y cuya ejecucin slo puede
desencadenarse a travs de un mensaje recibido por ste o por sus
descendientes.
Son sinnimos de 'mtodo' todos aquellos trminos que se han aplicado
tradicionalmente a los programas, como procedimiento, funcin, rutina, etc. Sin
embargo, es conveniente utilizar el trmino 'mtodo' para que se distingan
claramente las propiedades especiales que adquiere un programa en el
entorno OOP, que afectan fundamentalmente a la forma de invocarlo

Programacin avanzada

Instituto Tecnolgico de Durango

(nicamente a travs de un mensaje) y a su campo de accin, limitado a un


objeto y a sus descendientes, aunque posiblemente no a todos.
Si los mtodos son programas, se deduce que podran tener argumentos, o
parmetros. Puesto que los mtodos pueden heredarse de unos objetos a
otros, un objeto puede disponer de un mtodo de dos maneras diferentes:
-Mtodos propios. Estn incluidos dentro de la cpsula del objeto.
-Mtodos heredados. Estn definidos en un objeto diferente, antepasado de
ste (padre, abuelo", etc.). A veces estos mtodos se llaman mtodos

Programacin avanzada

Instituto Tecnolgico de Durango

miembro porque el objeto los posee por el mero hecho de ser miembro de una
clase.

Polimorfismo
Una de las caractersticas fundamentales de la OOP es el polimorfismo, que no
es otra cosa que la posibilidad de construir varios mtodos con el mismo
nombre, pero con relacin a la clase a la que pertenece cada uno, con
comportamientos diferentes. Esto conlleva la habilidad de enviar un mismo
mensaje a objetos de clases diferentes. Estos objetos recibiran el mismo
mensaje global pero responderan a l de formas diferentes; por ejemplo, un

Programacin avanzada

Instituto Tecnolgico de Durango

mensaje "+" a un objeto ENTERO significara suma, mientras que para un


objeto STRING significara concatenacin ("pegar" strings uno seguido al otro)

Demonios
Es un tipo especial de mtodos, relativamente poco frecuente en
los sistemas de OOP, que se activa automticamente cuando sucede algo
especial. Es decir, es un programa, como los mtodos ordinarios, pero se
diferencia de estos porque su ejecucin no se activa con un mensaje, sino que
se desencadena automticamente cuando ocurre un suceso determinado: la
asignacin de un valor a una propiedad de un objeto, la lectura de un valor
determinado, etc.

Programacin avanzada

Instituto Tecnolgico de Durango

Los demonios, cuando existen, se diferencian de otros mtodos por qu no son


heredables y porque a veces estn ligados a una de las propiedades de un
objeto, ms que al objeto entero.

Programacin orientada en
grficos
Programacin avanzada

Instituto Tecnolgico de Durango

Un poco de historia
No puedo empezar sin hacer un breve resumen antes de la evolucin de las
tarjetas grficas desde los primeros PCs. Cuando salieron los primeros PCs
(8086 y similares), los monitores eran monocromos o de escasos colores (4, 8 o
a lo sumo 16). Eran los tiempos de las tarjetas CGA y EGA, lentas y muy
simples. Con la llegada de los 286 y los 386, aparecieron las VGA, que
soportaban 256 colores, algo ms que de sobra para grficos, juegos, etc. en
esa poca. Supusieron una revolucin no slo por esto, sino porque, aunque
aparentemente soportaran pocos modos de vdeo (320x200 y 640x480 en
modo grfico son los ms conocidos, aparte del clsico 80x25 del MS-DOS), los
Hackers pronto descubrieron que podan manipularlas para conseguir modos

Programacin avanzada

Instituto Tecnolgico de Durango

grficos no-nativos, como el famoso 320x240. Esto permita jugar con muchos
parmetros, como velocidades de refresco, colores, resoluciones, etc. Se
generaliz el modo de 320x240 para los juegos, ya que si nos fijamos, esta
resolucin si mantiene el ratio (320x240, 640x480, 800x600, etc.) para que los
pixel se vean cuadrados (en 320x200 se ven achatados). Debido a la
velocidad de estos modos grficos de baja resolucin y a las optimizaciones
que se han ido realizando, ha sido el estndar hasta la aparicin de Windows
95.

Funcionamiento de la VGA.

Programacin avanzada

Instituto Tecnolgico de Durango

Comparacin con el GUI de Windows Cuando vemos una imagen en la pantalla,


estamos viendo una copia de la imagen real. La imagen no se dibuja
directamente en el CRT (Tubo de Rayos Catdicos) del monitor, sino que
primero se pinta en la memoria de la tarjeta, y posteriormente se vuelca el
contenido al monitor (a una velocidad que ni nos damos cuenta, a no ser que
nuestros programas sean terriblemente lentos).
Hay que tener en cuenta otras variables, como el refresco del monitor, a la
hora de conseguir velocidad, pero no entraremos en estos detalles (eso se lo
dejo a los programadores de Demos y Juegos) salvo que entre en las
optimizaciones que utilice como ejemplos. La memoria grfica se utiliza como
la memoria normal, aunque antes hay que cambiar el modo de vdeo a la VGA.

Programacin avanzada

Instituto Tecnolgico de Durango

El tratamiento del modo grfico es simple y tosco, ya que el MSDOS no


distingue entre pxels, caracteres o valores. Trata todo como datos, lo que nos
da una ventaja, y es el poder manipularlos a nuestra voluntad sin restricciones,
pero tambin nos obliga a tener en cuenta en cada momento lo que hacemos,
y a llevar un control estricto de todas nuestras acciones, ya que podemos
sobrescribir zonas de memoria que no pertenecen a la tarjeta grfica. En
Windows, esto cambia en parte, ya que podemos simplemente indicar al GUI
que queremos pintar un rectngulo con unas caractersticas determinadas, o
dibujar una ventana que ocupe de la pantalla (en MS-DOS habra que
fabricar un generador y manipulador de ventanas para hacer lo mismo). El
problema de Windows es que su sistema de dibujo de primitivas se antoja

Programacin avanzada

Instituto Tecnolgico de Durango

terrible para un juego o demo, por lo que hay que echar mano de los DirectX
(lo que supone aprender a manejar dichos controladores). En MS-DOS es un
trabajo duro, ya que hay que partir desde cero prcticamente, pero tiene sus
recompensas, como el hacer libreras grficas personalizadas y optimizadas (a
quien le importa el manejo de ventanas en un juego de conduccin, o el usar
primitivas de elipses, si lo que queremos es dibujar sprites lo ms rpido
posible?).
RGB. Limitaciones de la VGA Los colores se definen mediante 3 valores, los
componentes Red, Green y Blue (Rojo, Verde y Azul) o comnmente llamados
RGB. En la VGA de 8 bits de color (o sea, 256 colores), la pigmentacin de
cada color es un BYTE, que tiene 256 combinaciones posibles. Como son tres

Programacin avanzada

Instituto Tecnolgico de Durango

componentes, pero los ordenadores funcionan con potencias de dos, 256/4 =


64 posibles valores para cada componente RGB (si nos fijamos, estamos
perdiendo 64 valores para un hipottico cuarto componente). Con esto
tenemos una paleta de 256 colores a elegir entre 262144 posibles, lo que para
juegos no est mal, pero para imgenes se queda algo escaso (Windows y las
tarjetas nuevas lo han remediado con los 16, 24 y 32 bits de color, que
permiten millones de colores a la vez).

Programacin avanzada

Instituto Tecnolgico de Durango

Los primeros pasos. Cambiar el modo de vdeo y pintar un pixel sin


optimizaciones El modo grfico correspondiente a 320x200x256 en
hexadecimal es 0x013 (usar la notacin hexadecimal del C, al menos hasta
las optimizaciones en Assembler), y el del MS-DOS 0x03. Para cambiar el modo

Programacin avanzada

Instituto Tecnolgico de Durango

de vdeo es necesario utilizar las interrupciones de la BIOS, cuyo n es el 0x010


(el de las interrupciones de MS-DOS es el 0x021). En C, para llamar a las
interrupciones, se utiliza la funcin int86, y antes hay que definir la estructura
de datos con los registros necesarios para cambiar el modo de vdeo. Una tpica
funcin de cambio de modo de vdeo sera la siguiente:

Programacin avanzada

Instituto Tecnolgico de Durango

A dicha funcin le pasaramos como parmetro entre parntesis el modo


deseado (0x13 en este caso). El valor 0 en el registro AH indica a la BIOS que

Programacin avanzada

Instituto Tecnolgico de Durango

deseamos cambiar el modo de vdeo, y el registro AL debe almacenar el nuevo


modo. int86 hace la llamada a la BIOS y le pasa los parmetros.

Una vez en la VGA estandar, para poder pintar pixels, hay que dibujarlos en la
memoria de la VGA, cuya direccin comienza en A000:0000. Como el MS-DOS
trata los pixels como valores de la memoria, no es posible de primeras el situar
un pixel en la posicin x=3 y=5. En realidad, esta posicin sera la direccin
A000:063D. Lioso? Pues no pasa nada, porque para eso estn las
matemticas. Veamos, si multiplicamos 320x200 nos da 64000 (FA00 en Hex.),
luego las posiciones de memoria van desde A000:0000 hasta A000:FA00. Bien.

Programacin avanzada

Instituto Tecnolgico de Durango

Como sabemos que hay 320 columnas y 200 filas, con la frmula Dir = (320 x
Y) + X ya podemos saber a qu OFFSET se corresponde la posicin que
deseemos. Con la funcin poke podemos dibujar nuestros primeros pixels.
Ejemplo de funcin:

Programacin avanzada

Instituto Tecnolgico de Durango

Esta funcin pinta un pixel segn las coordenadas X e Y y con el color deseado.

Optimizacin de las rutinas.


Otras primitivas para el manejo de pxeles (ya optimizadas) Bueno, ya sabemos
cmo se dibujan pixels en la VGA. Ahora intenta rellenar toda la pantalla de un
color (con un bucle for, por ejemplo). Qu, algo lento? Tanto si te lo parece
como si no, te aseguro que es una forma muy cutre de disear un juego. Las
instrucciones en C son lentas, muy lentas comparadas con las de Assembler (y
algo lentas que las de Pascal, pero si quieres sencillez de manejo, algn precio
tienes que pagar), pero todo tiene arreglo en esta vida. En C, podemos meter

Programacin avanzada

Instituto Tecnolgico de Durango

fragmentos de cdigo escritos en ASM (Assembler), y, aunque no consigamos


la misma velocidad, la mejora es impresionante (del orden de unas 8 veces
ms rpido). Se implementan aadiendo al principio de la lnea asm (si vamos
a poner varias lneas se pueden utilizar llaves para mayor comodidad). Pues
bien, algn genio del Assembler le dio al coco y descubri que era posible
ahorrarse las multiplicaciones (operaciones que consumen bastantes ciclos de
reloj), sustituyendolas por operaciones binarias de desplazamiento de Bits. El
n 7 en binario es 00000111, y como todos sabemos (o acaso no sabes nada
de lgebra de boole, ns binarios y potencias de base 2?), si desplazamos
todos los bytes a la izquiera 1 posicin es lo mismo que multiplicar por 2
(quedara 00001110, que en decimal es 14), y si desplazamos a la derecha,

Programacin avanzada

Instituto Tecnolgico de Durango

dividimos por 2. Pues con esta culturilla general y algunos conocimientos ms,
aqu tenemos la funcin optimizada en ASM para dibujar un pixel en 320x200:

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Parece ms larga, pero es muchsimo ms rpida (las instrucciones utilizadas


consumen poqusimos ciclos de reloj, y realiza algunas trampas
matemticas). La funcin para seleccionar el modo de vdeo optimizada es
bastante similar a la original, pero en ASM, para que vaya un poco ms rpida:

Programacin avanzada

Instituto Tecnolgico de Durango

Pero luego, cmo se el color del pixel de la posicin (310, 150)?, pues nada,
alla vamos. La funcin sin implementar es sencilla. Simplemente hay que saber
leer registros de la memoria y buscar en la direccin deseada el valor, que
corresponder al color del pixel (aqu lo dejo a los conocimientos de cada uno).
La funcin optimizada (que tambin utiliza los truquitos anteriormente citados
para evitar la multiplicacin al hallar la posicin de memoria) es la siguiente:

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

La funcin retorna como valor el color del pixel. Bueno, ya tenemos casi una
librera para empezar. Slo falta un ltimo detalle. Qu pasa si no nos gustan
los 256 colores de la paleta que por defecto tiene el MS-DOS, o si queremos
hacer un precioso mar con muchos tonos de azules y verdes?. Pues bien, como
ya he explicado antes, podemos cambiar los componentes RGB para hacer
nuevas paletas a nuestro gusto. La funcin para cambiar lo RGB de un color
determinado es la siguiente:

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin Visual
Se llama programacin visual al hecho (por decirlo de alguna manera) de
desarrollar software para entornos grficos "visuales", es decir, compuestos por
ventanas, mens desplegables, botones, barras de scroll, listas desplegables,
etc.
La programacin visual, va de la mano de la programacin orientada a objetos
(en la mayora de los casos), ya que los controles (botones, grillas, etc) que se
utilizan para desarrollar la interfaz de usuario son precisamente objetos con
propiedades y mtodos, y, responden a eventos.

Programacin avanzada

Instituto Tecnolgico de Durango

En entornos Windows, la programacin visual comienza con Widnows 3.x


cuando se tiene acceso a lenguajes con los que se podan desarrollar
aplicaciones basadas en el motor grfico de Windows, como Visual FoxPro for
Windows.
Los siguientes programas incorporan una completa implementacin de la
programacin orientada a objetos y permiten aprovechar al mximo toda la
funcionalidad que ofrecen estos lenguajes para el desarrollo de aplicaciones de
gestin.

Programacin avanzada

Instituto Tecnolgico de Durango

Visual Basic
Visual Basic es un lenguaje de programacin dirigido por eventos, desarrollado
por Alan Cooper para Microsoft. Este lenguaje de programacin es un dialecto
de BASIC, con importantes agregados. Su primera versin fue presentada
en 1991, con la intencin de simplificar la programacin utilizando un ambiente
de desarrollo que facilit en cierta medida la programacin misma.
La ltima versin fue la 6, liberada en 1998, para la que Microsoft extendi el
soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y
pasar a un framework o marco comn de libreras, independiente de la versin

Programacin avanzada

Instituto Tecnolgico de Durango

del sistema operativo, .NET Framework, a travs de Visual Basic .NET (y otros
lenguajes como C Sharp (C#) de fcil transicin de cdigo entre ellos); fue el
sucesor de Visual Basic 6.
Aunque Visual Basic es de propsito general, tambin provee facilidades para
el desarrollo de aplicaciones de bases de datos usando Data Access
Objects, Remote Data Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo integrado o IDE que
integra editor de textos para edicin del cdigo fuente, undepurador,
un compilador (y enlazador) y un editor de interfaces grficas o GUI.

Programacin avanzada

Instituto Tecnolgico de Durango

Embarcadero Delphi
Embarcadero Delphi antes conocido como CodeGear Delphi, Inprise
Delphi y Borland Delphi, es un entorno de desarrollo de software diseado para
la programacin de propsito general con nfasis en la programacin visual. En
Delphi se utiliza como lenguaje de programacin una versin moderna
de Pascal llamada Object Pascal. Es producido comercialmente por la empresa
estadounidense CodeGear (antes lo desarrollaba Borland), adquirida en mayo
de 2008 por Embarcadero Technologies, una empresa del grupo Thoma Cressey
Bravo, en una suma que ronda los 30 millones de dlares. En sus diferentes

Programacin avanzada

Instituto Tecnolgico de Durango

variantes, permite producir archivos ejecutables para Windows, MacOS


X, iOS, Android, GNU/Linux y la plataforma .NET.
CodeGear ha sido escindida de la empresa Borland, donde Delphi se cre
originalmente, tras un proceso que pretenda en principio la venta del
departamento de herramientas para desarrollo

Actualmente todas las versiones recientes de los lenguajes de programacin


ms difundidos soportan el desarrollo de interfaces grficas de usuario, entre

Programacin avanzada

Instituto Tecnolgico de Durango

ellos podemos encontrar a Visual Basic .Net, C#, C++, Delphi, Visual COBOL, el
ya nombrado Visual FoxPro, y muchos, muchos, mas.

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin de los robots


Programacin avanzada

Instituto Tecnolgico de Durango

CLASIFICACIN DE LA PROGRAMACIN USADA EN


ROBTICA

La programacin empleada en Robtica puede tener un carcter explcito, en el


que el operador es el responsable de las acciones de control y de las
instrucciones adecuadas que las implementan, o estar basada en la
modelacin del mundo exterior, cuando se describe la tarea y el entorno y el
propio sistema toma las decisiones.

Programacin avanzada

Instituto Tecnolgico de Durango

La programacin explcita es la utilizada en las aplicaciones industriales y


consta de dos tcnicas fundamentales:
Programacin Gestual.
Programacin Textual.
La programacin gestual consiste en guiar el brazo del robot directamente a lo
largo de la trayectoria que debe seguir. Los puntos del camino se graban
en memoria y luego se repiten. Este tipo de programacin, exige el empleo del
manipulador en la fase de enseanza, o sea, trabaja "on-line".

Programacin avanzada

Instituto Tecnolgico de Durango

En la programacin textual, las acciones que ha de realizar el brazo se


especifican mediante las instrucciones de un lenguaje. En esta labor no
participa la mquina (off-line). Las trayectorias del manipulador se calculan
matemticamente con gran precisin y se evita el posicionamiento a ojo, muy
corriente en la programacin gestual.
Los lenguajes de programacin textual se encuadran en varios niveles, segn
se realice la descripcin del trabajo del robot. Se relacionan a continuacin, en
orden creciente de complejidad:
Lenguajes elementales, que controlan directamente el movimiento de
las articulaciones del manipulador

Programacin avanzada

Instituto Tecnolgico de Durango

Lenguajes dirigidos a posicionar el elemento terminal del manipulador.


Lenguajes orientados hacia el objeto sobre el que opera el sistema.
Lenguajes enfocados a la tarea que realiza el robot.

PROGRAMACIN GESTUAL O DIRECTA


En este tipo de programacin, el propio brazo interviene en el trazado del
camino y en las acciones a desarrollar en la tarea de la aplicacin. Esta
caracterstica determina, inexcusablemente, la programacin "on-line".
La programacin gestual se subdivide en dos clases:

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin por aprendizaje directo.


Programacin mediante un dispositivo de enseanza.

En el aprendizaje directo, el punto final del brazo se traslada con ayuda de un


dispositivo especial colocado en su mueca, o utilizando un brazo maestro o
maniqu, sobre el que se efectan los desplazamientos que, tras ser
memorizados, sern repetidos por el manipulador.
La tcnica de aprendizaje directo se utiliza, extensamente, en labores de
pintura. El operario conduce la mueca del manipulador o del brazo maestro,
determinando los tramos a recorrer y aquellos en los que la pistola debe
expulsar una cierta cantidad de pintura. Con esta programacin, los operarios

Programacin avanzada

Instituto Tecnolgico de Durango

sin conocimientos de "software", pero con experiencia en el trabajo a


desarrollar, pueden preparar los programas eficazmente.
La programacin por aprendizaje directo tiene pocas posibilidades de edicin,
ya que, para generar una trayectoria continua, es preciso almacenar o definir
una gran cantidad de puntos, cuya reduccin origina discontinuidades. El
"software" se organiza, aqu, en forma de intrprete.
La programacin, usando un dispositivo de enseanza, consiste en determinar
las acciones y movimientos del brazo manipulador, a travs de un elemento
especial para este cometido. En este caso, las operaciones ordenadas se
sincronizan para conformar el programa de trabajo.

Programacin avanzada

Instituto Tecnolgico de Durango

El dispositivo de enseanza suele estar constituido por botones, teclas,


pulsadores, luces indicadoras, ejes giratorios o "joystick".
Dependiendo del algoritmo de control que se utilice, el robot pasa por los
puntos finales de la trayectoria enseada. Hay que tener en cuenta que los
dispositivos de enseanza modernos no slo permiten controlar los
movimientos de las articulaciones del manipulador, sino que pueden, tambin,
generar funciones auxiliares, como:
-

Seleccin de velocidades
Generacin de retardos
Sealizacin del estado de los sensores

Programacin avanzada

Instituto Tecnolgico de Durango

Borrado y modificacin de los puntos de trabajo


Funciones especiales

Al igual que con la programacin directa, en la que se emplea un elemento de


enseanza, el usuario no necesita conocer ningn lenguaje de programacin.
Simplemente, debe habituarse al empleo de los elementos que constituyen el
dispositivo de enseanza. De esta forma, se pueden editar programas, aunque
como es lgico, muy simples.
La estructura del "software" es del tipo intrprete; sin embargo, el sistema
operativo que controla el procesador puede poseer rutinas especficas, que
suponen la posibilidad de realizar operaciones muy eficientes.

Programacin avanzada

Instituto Tecnolgico de Durango

Los lenguajes de programacin gestual, adems de necesitar al propio robot en


la confeccin del programa, carecen de adaptabilidad en tiempo real con el
entorno y no pueden tratar, con facilidad, interaciones de emergencia.

PROGRAMACIN TEXTUAL EXPLICITA

El programa queda constituido por un texto de instrucciones o sentencias, cuya


confeccin no requiere de la intervencin del robot; es decir, se efectan "offline". Con este tipo de programacin, el operador no define, prcticamente, las

Programacin avanzada

Instituto Tecnolgico de Durango

acciones del brazo manipulado, sino que se calculan, en el programa, mediante


el empleo de las instrucciones textuales adecuadas.
En una aplicacin tal como el ensamblaje de piezas, en la que se requiere una
gran precisin, los posicionamientos seleccionados mediante la programacin
gestual no son suficientes, debiendo ser sustituidos por clculos ms perfectos
y por una comunicacin con el entorno que rodea al sistema.
En la programacin textual, la posibilidad de edicin es total. El robot debe
intervenir, slo, en la puesta a punto final.
Segn las caractersticas del lenguaje, pueden confeccionarse programas de
trabajo complejos, con inclusin de saltos condicionales, empleo de bases

Programacin avanzada

Instituto Tecnolgico de Durango

de datos, posibilidad de creacin de mdulos operativos intercambiables,


capacidad de adaptacin a las condiciones del mundo exterior, etc.
Dentro de la programacin textual, existen dos grandes grupos, de
caractersticas netamente diferentes:
Programacin textual explcita.
Programacin textual especificativa.
En la programacin textual explcita, el programa consta de una secuencia de
rdenes o instrucciones concretas, que van definiendo con rigor las
operaciones necesarias para llevar a cabo la aplicacin. Se puede decir que la

Programacin avanzada

Instituto Tecnolgico de Durango

programacin explcita engloba a los lenguajes que definen los movimientos


punto por punto, similares a los de la programacin gestual, pero bajo la forma
de un lenguaje formal. Con este tipo de programacin, la labor del tratamiento
de las situaciones anormales, colisiones, etc., queda a cargo del programador.
Dentro de la programacin explcita, hay dos niveles:
1. Nivel de movimiento elemental
Comprende los lenguajes dirigidos a controlar los movimientos del brazo
manipulador. Existen dos tipos:

Programacin avanzada

Instituto Tecnolgico de Durango

Articular, cuando el lenguaje se dirige al control de los movimientos de las


diversas articulaciones del brazo.
Cartesiano, cuando el lenguaje define los movimientos relacionados con el
sistema de manufactura, es decir, los del punto final del trabajo (TCP).
Los lenguajes del tipo cartesiano utilizan transformaciones homogneas. Este
hecho confiere "popularidad" al programa, independizando a la programacin
del modelo particular del robot, puesto que un programa confeccionado para
uno, en coordenadas cartesianas, puede utilizarse en otro, con diferentes
coordenadas, mediante el sistema de transformacin correspondiente. Son
lenguajes que se parecen al BASIC, sin poseer una unidad formal y careciendo
de estructuras a nivel de datos y de control.

Programacin avanzada

Instituto Tecnolgico de Durango

Por el contrario, los lenguajes del tipo articular indican los incrementos
angulares de las articulaciones. Aunque esta accin es bastante simple
para motores de paso a paso y corriente continua, al no tener una referencia
general de la posicin de las articulaciones con relacin al entorno, es difcil
relacionar al sistema con piezas mviles, obstculos, cmaras de TV, etc.
Los lenguajes correspondientes al nivel de movimientos elementales aventaja,
principalmente, a los de punto a punto, en la posibilidad de realizar
bifurcaciones simples y saltos a subrutinas, as como de tratar informaciones
sensoriales.

Programacin avanzada

Instituto Tecnolgico de Durango

2. Nivel estructurado
Intenta introducir relaciones entre el objeto y el sistema del robot, para que los
lenguajes se desarrollen sobre una estructura formal.
Se puede decir que los lenguajes correspondientes a este tipo de programacin
adoptan la filosofa del PASCAL. Describen objetos y transformaciones con
objetos, disponiendo, muchos de ellos, de una estructura de datos
arborescente.

Programacin avanzada

Instituto Tecnolgico de Durango

El uso de lenguajes con programacin explcita estructurada aumenta la


comprensin del programa, reduce el tiempo de edicin y simplifica las
acciones encaminadas a la consecucin de tareas determinadas.
En los lenguajes estructurados, es tpico el empleo de las transformaciones de
coordenadas, que exigen un cierto nivel de conocimientos. Por este motivo
dichos lenguajes no son populares hoy en da.

Programacin avanzada

Instituto Tecnolgico de Durango

LENGUAJES DE PROGRAMACIN A NIVEL DE MOVIMIENTOS


ELEMENTALES.
Como ya menciono, se tratan los movimientos de punto a punto, expresados
en forma de lenguaje. Se citan, entre los ms importantes:

Programacin avanzada

Instituto Tecnolgico de Durango

ANORAD
EMILY
RCL
RPL
SIGLA
VAL
MAL

Todos ellos mantienen el nfasis en los movimientos primitivos, ya sea en


coordenadas articulares, o cartesianas. En comparacin, tienen, como ventajas
destacables, los saltos condicionales y a subrutina, adems de un aumento de

Programacin avanzada

Instituto Tecnolgico de Durango

las operaciones con sensores, aunque siguen manteniendo pocas posibilidades


de programacin "off-line".
Estos lenguajes son, por lo general, del tipo intrprete, con excepcin del RPL,
que tiene un compilador. La mayora dispone de comandos de tratamiento a
sensores bsicos: tacto, fuerza, movimiento, proximidad y presencia. El RPL
dispone de un sistema complejo de visin, capaz de seleccionar una pintura y
reconocer objetos presentes en su base de datos.
Los lenguajes EMILY y SIGLA son transportables y admiten el proceso en
paralelo simple.

Programacin avanzada

Instituto Tecnolgico de Durango

Otros datos interesantes de este grupo de lenguajes son los siguientes:


ANORAD.- Se trata de una transformacin de un lenguaje de control numrico
de la casa ANORAD CORPORATION, utilizado para robot ANOMATIC. Utiliza,
como procesador, al microprocesador 68000 de Motorola de 16/32 bits.

VAL .- Fue diseado por UNIMATION INC para sus robots UNIMATE y PUMA. (FIG.

1) Emplea, como CPU, un LSI-II, que se comunica con procesadores individuales


que regulan el servocontrol de cada articulacin. Las instrucciones, en
idioma ingls, son sencillas e intuitivas, como se puede apreciar por el
programa siguiente:

Programacin avanzada

Instituto Tecnolgico de Durango

LISPT
PROGRAM PICKUP
1. APRO PART, 25.0
2. MOVES PART
3. CLOSE, 0.0.0
4. APRO PART, -50.0
5. APRO DROP, 100.0

Programacin avanzada

Instituto Tecnolgico de Durango

6. MOVES DROP
7. OPEN, 0.0.0
8. APRO DROP, -100.0
.END

RPL.- Dotado con un LSI-II como procesador central, y aplicado a los robots
PUMA, ha sido diseado por SRI INTERNATIONAL.
EMILY.- Es un lenguaje creado por IBM para el control de uno de sus robots.
Usa el procesador IBM 370/145 SYSTEM 7 y est escrito en Ensamblador.

Programacin avanzada

Instituto Tecnolgico de Durango

SIGLA.- Desarrollado por OLIVETTI para su robot SUPER SIGMA, emplea un


mini-ordenador con 8 K de memoria. Escrito en Ensamblador, es del tipo
intrprete.
MAL.- Se ha creado en el Politcnico de Miln para el robot SIGMA, con un Minimultiprocesador. Es un lenguaje del tipo intrprete, escrito en FORTRAN.
RCL.- Aplicado al robot PACS y desarrollado por RPI, emplea, como CPU, un PDP
11/03. Es del tipo intrprete y est escrito en Ensamblador.

Programacin avanzada

Instituto Tecnolgico de Durango

LENGUAJES ESTRUCTURADOS DE PROGRAMACIN


EXPLCITA
Teniendo en cuenta las importantsimas caractersticas que presenta este tipo
de programacin, merecen destacarse los siguientes lenguajes:
AL
HELP
MAPLE

Programacin avanzada

Instituto Tecnolgico de Durango

PAL
MCL
MAL EXTENDIDO

Un sencillo ejemplo, de carcter didctico, utilizando el lenguaje AL, puede


mostrar el inters del control estructurado. Partiendo de la definicin de unos
objetos, se puede lograr una estructura superior que los relacione.

Programacin avanzada

Instituto Tecnolgico de Durango

AL.- Trata

de proporcionar definiciones acerca de los movimientos relacionados


con los elementos sobre los que el brazo trabaja. Fue diseado por
el laboratorio de Inteligencia Artificial de la Universidad de Stanford, con
estructuras de bloques y de control similares al ALGOL, lenguaje en el que se
escribi. Est dedicado al manipulador de Stanford, utilizando como
procesadores centrales, a un PDP 11/45 y un PDP KL-10.

HELP.- Creado

por GENERAL ELECTRIC para su robot ALLEGRO y escrito en


PASCAL/FORTRAN, permite el movimiento simultneo de varios brazos.

Programacin avanzada

Instituto Tecnolgico de Durango

Dispone, asimismo, de un conjunto especial de subrutinas para la ejecucin de


cualquier tarea. Utilizando como CPU, a un PDP 11.

MAPLE.- Escrito,

como intrprete, en lenguaje PL-1, por IBM para el robot de la


misma empresa, tiene capacidad para soportar informaciones de sensores
externos. Utiliza, como CPU a un IBM 370/145 SYSTEM 7.

PAL.-

Desarrollado por la Universidad de Purdure para el manipulador de


Stanford, es un intrprete escrito en FORTRAN y Ensamblador, capaz de

Programacin avanzada

Instituto Tecnolgico de Durango

aceptar sensores de fuerza y de visin. Cada una de sus instrucciones, para


mover el brazo del robot en coordenadas cartesianas, es procesada para que
satisfaga la ecuacin del procesamiento. Como CPU, usan un PDP 11/70.

MCL.-

Lo cre la compaa MC DONALL DOUGLAS, como ampliacin de su


lenguaje de control numrico APT. Es un lenguaje compilable que se puede
considerar apto para la programacin de robots "off-line".

Programacin avanzada

Instituto Tecnolgico de Durango

MAL EXTENDIDO.- Procede

del Politcnico de Miln, al igual que el MAL, al que


incorpora elementos de programacin estructurada que lo potencian
notablemente. Se aplica, tambin, al robot SIGMA.

CARACTERSTICAS DE UN LENGUAJE IDEAL PARA LA


ROBTICA

Las seis caractersticas bsicas de un lenguaje ideal, expuestas por Pratt, son:

Programacin avanzada

Instituto Tecnolgico de Durango

1.
2.
3.
4.
5.
6.

Claridad y sencillez.
Claridad de la estructura del programa.
Sencillez de aplicacin.
Facilidad de ampliacin.
Facilidad de correccin y mantenimiento.
Eficacia.

Estas caractersticas son insuficientes para la creacin de un lenguaje


"universal" de programacin en la robtica, por lo que es preciso aadir las
siguientes:
-

Transportabilidad sobre cualquier equipo mecnico o informtico.


Adaptabilidad a sensores (tacto, visin, etc.).

Programacin avanzada

Instituto Tecnolgico de Durango

Posibilidad de descripcin de todo tipo de herramientas acoplables


al manipulador.
Interaccin con otros sistemas.

En el aspecto de claridad y sencillez, la programacin gestual es la ms eficaz,


pero impide la confeccin de programas propiamente dichos. Los lenguajes a
nivel de movimientos elementales, como el VAL, disponen de bastantes
comandos para definir acciones muy parecidas que fueron surgiendo segn las
necesidades y que, en gran medida, oscurecen su comprensin
y conocimiento.

Programacin avanzada

Instituto Tecnolgico de Durango

Aunque, inicialmente, las tcnicas de programacin estructurada son ms


difciles de dominar, facilitan, extraordinariamente, la comprensin y correccin
de los programas.
Respecto a la sencillez de aplicacin, hay algunos lenguajes (como el MCL)
dedicados a las mquinas herramienta (APT), que pueden ser valorados,
positivamente, por los usuarios conocedores de este campo. El PAL,
estructurado sobre la matemtica matricial, slo es adecuado para quienes
estn familiarizados con el empleo de este tipo de transformaciones.
Uno de los lenguajes ms fciles de utilizar es el AUTOPASS, que posee
un juego de comandos con una sintaxis similar a la del ingles corriente.

Programacin avanzada

Instituto Tecnolgico de Durango

Es imprescindible que los lenguajes para los robots sean fcilmente ampliables,
por lo que se les debe dotar de una estructura modular, con inclusin de
subrutinas definidas por el mismo usuario.
La adaptabilidad a sensores externos implica la posibilidad de una toma de
decisiones, algo muy interesante en las labores de ensamblaje. Esta facultad
precisa de un modelo dinmico del entorno, as como de una buena dosis de
Inteligencia Artificial, como es el caso del AUTOPASS.
Aunque los intrpretes son ms lentos que los compiladores, a la hora de la
ejecucin de un programa, resultan ms adecuados para las aplicaciones de la
robtica. Las razones son las siguientes:

Programacin avanzada

Instituto Tecnolgico de Durango

1a. El intrprete ejecuta el cdigo como lo encuentra, mientras que el


compilador recorre el programa varias veces, antes de generar el cdigo
ejecutable.
2a. Los intrpretes permiten una ejecucin parcial del programa.
3a. La modificacin de alguna instruccin es ms rpida con intrpretes, ya
que un cambio en una de ellas no supone la compilacin de las dems.
Finalmente, el camino para la superacin de los problemas propios de los
lenguajes actuales ha de pesar, necesariamente, por la potenciacin de los

Programacin avanzada

Instituto Tecnolgico de Durango

modelos dinmicos del entorno que rodea al robot, acompaado de un


aumento sustancial de la Inteligencia Artificial.

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Programacin avanzada

Instituto Tecnolgico de Durango

Conclusiones
La programacin orientada a objetos permite la optimizacin del cdigo
generado gracias a que mediante tcnicas de herencia, atributos estticos
entre otros permiten, que el cdigo sea genrico de manera que sea
reutilizable.
Mediante la tcnica aprendida en el presente curso podemos establecer una
solucin primitiva de un problema real, tan solo con relacionarlo con objetos
lgicos que sern usados para el desarrollo del software.

Programacin avanzada

Instituto Tecnolgico de Durango

Podemos dar a conocer de una forma sencilla los mecanismos que se usan en
este nivel de programacin, a personas que deseen una explicacin rpida y
sencilla de lo que es la programacin orientada a objetos.
Tenemos los conocimientos necesarios como para enfrentar un problema real y
desarrollo en otro lenguaje de programacin, pues concebimos la idea de que
el lenguaje C es la base de la programacin.
Al trabajar con la programacin orientada a objetos sea esta desarrollada en
otras plataformas de programacin o en lenguaje C, sabemos las formas de
lograr un mejor rendimiento del equipo a controlar y aplicar soluciones

Programacin avanzada

Instituto Tecnolgico de Durango

sencillas, de manera que sea fcilmente digeribles para el usuario y/o


destinatario del trabajo final.

Programacin avanzada

Das könnte Ihnen auch gefallen