|
|||||
Amiga.InFo Nº 0 - Noviembre/Diciembre 1994 - Amos
NOTA: Pulsando sobre las fotos con borde azul ampliarás la imagen.
Este artículo quiere introducir brevemente un cursillo sobre el lenguaje de programación AMOS Basic y explicar las posibilidades que ofrece. Antes de todo, una pequeña aclaración: actualmente hay disponible el AMOS y el AMOSPRO, pero en el texto me refiero a ambos con la palabra AMOS, excepto si hago mención expresa de lo contrario. El AMOS fue creado en 1990 por François Lionet, un programador francés que había creado para los ATARI-ST un nuevo lenguaje llamado STOS. El STOS se caracterizaba por un aprovechamiento excelente de los gráficos y sonido de los ATARI-ST, y estaba pensado para crear juegos y demostraciones. Viendo de donde procede, es lógico pensar que estaba principalmente pensado para programadores de juegos y demostraciones. Posteriormente ha ido mucho más alla, y con el AMOSPro versión 1.0, aparecido en 1992, se ha convertido en un lenguaje que permite crear casi cualquier programa que se nos ocurra. Un detalle que hay que agradecer a François Lionet, es que no hace falta tener una copia original de AMOS para trabajar con él. Cuando alguien lo compra, está pagando los manuales de instrucciones y ejemplos, y no el permiso de uso. Si un usuario quiere comercializar un producto desarrollado en AMOS, entonces tiene que comunicarlo y pagar la licencia a EuroPress Software, los cuales son los proveedores y distribuidores del lenguaje en Europa. Pero que nadie se asuste, pues el precio de la licencia es muy bajo. De todas maneras si está interesado en hacer algún programa, le recomiendo que compre la versión original de AMOSPro versión 2.0 (la última por ahora) la cual consta de 7 discos, menú de ayuda en editor, manuales, ejemplos y un programa que permitirá convertir nuestros programas en ejecutables (el compiler), sin necesidad de cargar siempre el AMOSPro para hacerlos funcionar. Si quiere tenerlo gratis y no le interesan para nada los manuales, puede conseguir las versiones anteriores en casi cualquier BBS de AMIGA (está actualmente disponible la versión 1.36 aunque sin el compiler). Un último comentario: el compiler no es un programa de dominio público y tiene que comprar el programa original. De todas maneras, le recomiendo que se haga con el programa original AMOSPro y el compiler correspondiente. Es un lenguaje de programación tipo basic, y, curiosamente, la mayoría de los comandos típicos del basic los ha heredado del Sinclair Basic del ZX Spectrum. Lógicamente ha incorporado muchos comandos nuevos que aprovechan las capacidades del Commodore Amiga, sobre todo en lo que se refiere a gráficos. Esta herencia de comandos permitirá comprender más fácilmente el uso de algunos de ellos a los antiguos poseedores de Spectrum. Este lenguaje se caracteriza por poseer un juego de instrucciones potente y fácil de aprender y es razonablemente rápido para ser un basic. Con AMOS es perfectamente posible hacer aplicaciones, demostraciones de música, animaciones y juegos. Por contra, no aprovecha para nada el sistema operativo y no podemos crear aplicaciones con ventanas y menús de estilo "Intuition", aunque permite crear todo ésto, pero con su estilo propio. Esta falta de entendimiento con el sistema operativo conlleva otro problema muy importante: no saca partido delas resoluciones ECS y mucho menos las resoluciones AGA. A pesar de los rumores que corren por algunas BBS, y como muy bien avisa el creador François Lionet en varios mensajes, el AMOS no las admite y las "versiones" que sí las admiten son versiones modificadas por "hackers" para forzar a que las admita. Otra desventaja de no aprovechar el sistema operativo, es que todas las novedades que se van incorporando al sistema tampoco pueden ser aprovechadas. Por ejemplo, si un usuario dispone del duplicador de discos Xpk, el cual permite duplicar la capacidad del disco duro, el AMOS no puede acceder al disco duro (o partición) donde esté siendo aplicado el Xpk, con la consiguiente molestia de o poder leer todos los ficheros que deseemos. El creador del AMOS ha prometido que, en la próxima versión de éste, ya estará integrado plenamente en el sistema operativo y podremos disfrutar del entorno del Workbench, también desde AMOS, así como crear aplicaciones con un aspecto más profesional. De todas maneras, estas carencias pueden ser subsanadas ampliando las posibilidades iniciales de AMOS. Sí, se le pueden añadir nuevos módulos, que, poco a poco, van mejorando las características del lenguaje. Como ejemplo sirva el módulo de manejo de gráficos vectoriales voodoo3d, el cual se puede incorporar a cualquier AMOS versión 1.34 o superior, y por supuesto AMOSPRO. Con este módulo se pueden crear "demos" vectoriales como algunas de las que solemos ver en nuestro ordenador de vez en cuando, y que asombran, sobre todo, a usuarios de otros equipos. Además de éste, actualmente están disponibles los siguientes:
Ahora, voy a comentar las variables y los tipos disponibles. Si usted ya conoce el lenguaje basic de "otros" sistemas, lo siguiente le sonará. Un nombre de variable válido es aquel que no coincide con ninguna palabra clave de AMOS. Cuando estamos editando un listado de programa, el editor chequea automáticamente la línea que hemos introducido, capitaliza las instrucciones de AMOS y pone en mayúsculas las variables. Esto va muy bien a la hora de buscar instrucciones y variables a ojo. Por ejemplo, son nombres de variables válidos los siguientes: contador, índice, cuenta libro, etc. Nosotros no tenemos que preocuparnos de tener que escribir en mayúsculas o capitalizar ya que el editor lo hace automáticamente. Los tipos de datos disponibles en AMOS son los siguientes:
Además del tipo de precisión, hay que tener en cuenta que se dispone de dos tipos de datos numéricos: enteros y reales. Los reales son más precisos, pues admiten decimales pero por contra son más lentos al efectuar cálculos. La notación para variables enteras es la misma que para las variables booleanas (de hecho, las variables booleanas son un caso especial de este tipo de variables) mientras que, para las variables reales, la declaración es la siguiente
donde nombre_variable es cualquier secuencia de caracteres que no corresponda con una palabra clave del lenguaje, el símbolo # (SHIFT+3) indica variable numérica real y el valor asignado es otra variable de tipo real o un número real con decimal, aunque los decimales sean 0. ¡Atención! Si no se pone este símbolo, #, después del nombre de la variable, el intérprete no dará ningún error, tratando a la variable como una variable de tipo entero.
También podemos "mezclar" los dos tipos de variables numéricas si hace falta, pero hay que tener en cuenta a qué tipo de variable hacemos la asignación.
¡Atención! en el segundo caso al hacer la asignación el valor es redondeado.
Las operaciones que admiten las variables enteras y reales son las mismas que admiten números. Son la suma, resta, división, etc..., además de las funciones trigonométricas. Nota: Podemos tener dos variables que se llamen igual pero sean de diferente tipo. En el ejemplo anterior la variable entera C es diferente de la variable real C#.
donde nombre_variable puede ser cualquier palabra que no coincida con una palabra clave de AMOS. El símbolo $ (SHIFT+4) indica que la variable es de tipo cadena. A las variables de cadena se les puede asignar una cadena, que es un texto entre comillas, u otra variable de cadena.
Podemos transformar datos de tipo numérico en cadena y viceversa con las funciones Str$ y Val.
Los índices en una matriz van de 0 a tamaño, ambos inclusives.
Estos son todos los tipos de datos que admite AMOS. Además, nos permite reservar zonas de memoria para poder guardar datos que nos interesen. Las zonas de memoria se pueden reservar temporalmente o para todo el tiempo que esté en marcha nuestro programa, pero ésto lo explicaré en otra ocasión. Aunque no permita definir tipos de datos, sí permite una cosa que es muy valorada hoy en día: la programación estructurada. Si no comprende a que me refiero, no se preocupe pues con el ejemplo le quedará claro. Le basta saber, de momento, que con la programación estructurada es bastante más fácil programar algoritmos complejos y largos. Ahora, como lo prometido es deuda, paso a dar un ejemplo. Primero explico el programa en un lenguaje similar al pascal y luego doy la versión en AMOS.
Ahora la versión en AMOS:
Bueno, aquí acaba esta pequeña introducción. Si le ha parecido interesante el AMOS siga leyendo los siguientes capítulos. |
| Envía esta página web a un amigo: Esta opción está desactivada temporalmente, rogamos disculpen las molestias |
|