sábado, 17 de agosto de 2013

Manual de usuario en español


&R0B^SI<






Manual de usuario en español de
AndroBasic for Android
versión 001

Jordi Sorroche Pérez
jsptron@gmail.com
Barcelona Agosto 2013






¿Qué es AndroBasic?
Es un intérprete del lenguaje de programación Basic (Beginners All-purpose Symbolic Instruction Code) especialmente diseñado para tabletas con una resolución en pantalla de 1280 x 800 píxeles y sistema operativo Android.


Funcionamiento y entorno de programación de AndroBasic:
Al ejecutar AndroBasic nos aparecerá la pantalla del editor –con fondo azul y con la subrutina SUB MAIN/END SUB- indicándonos que podemos comenzar a programar.
En la parte superior derecha tenemos unos iconos junto con un menú desplegable con las siguientes opciones:

New:
Se crea un nuevo programa.

Undo:
Deshace el último cambio realizado en el editor.

Redo:
Rehace el último cambio realizado en el editor.

Run:
Pulsaremos sobre esta opción para ejecutar el programa que se halle en ese momento en el editor.

Load Program:
Permite cargar un programa desde la tarjeta SD -interna- instalada en nuestra Tableta a la memoria del dispositivo.
También podemos importar un programa desde el correo electrónico. Para ello, abrimos el e-mail en concreto, guardamos el archivo adjunto (el programa) y lo guardamos en la ubicación (//SD/AndroBasic_Programs), así de simple.

Save Program:
Con esta opción, podremos guardar el programa que hallamos creado en la tarjeta SD-interna- de nuestra Tableta.
También podemos exportar el programa mediante el correo electrónico.
Para ello, nos vamos a la opción de archivos –en le menú de Android- (en la ubicación //SD/AndroBasic_Programs) . Escogemos el que nos interesa, y le damos la opción ‘compartir-enviar correo Elec..’, como archivo adjunto, así de sencillo.

Change Time Process:
Nos brinda la posibilidad de cambiar el tiempo de proceso en la ejecución de un programa -en milisegundos- entre instrucción e instrucción. Por defecto, viene parametrizado con valor de 10, pudiéndose cambiar este valor a un mínimo de 1 y un máximo de 2000 ( 2 segundos). Es importante remarcar que no se debe abusar de tiempos realmente cortos, ya que nuestro dispositivo tiene que procesar otras tareas aparte de las nuestras, y que esto puede conllevar al mal funcionamiento del programa. Sin contar del sobrecalentamiento y a un consumo excesivo de la batería.


Help:
Tutorial del funcionamiento del programa en inglés/español.

About:
Acerca de la creación de AndroBasic.

Exit app:
Sale de la aplicación.

Nuestro primer programa escrito en AndroBasic:
Vamos hacer un sencillo programa al que llamaremos 'Hola Mundo'.
En el editor, dentro de la subrutina Sub Main/End Sub, escribiremos Print "Hola Mundo” el programa quedaría así:

Sub Main
   Print “Hola Mundo”
End Sub

Ahora vamos a ejecutarlo pulsando sobre el icono 'Run'.
Vemos que aparece en pantalla la frase 'Hola Mundo'.


Información detallada de las instrucciones/funciones del lenguaje Basic que soporta AndroBasic ordenadas alfabéticamente:

ABS
Devuelve el valor absoluto.
Ejemplo:
   x=-1
   Print Abs(x)
Resultado:
   1

ACOS
Devuelve el coseno de un ángulo expresado en radianes.
Ejemplo:
   x=0.4
   Print Acos(x)
Resultado:
   1.15928

ACOSD
Devuelve el coseno de un ángulo expresado en grados.
Ejemplo:
   x=0.4
   Print Acosd(x)
Resultado:
   66.42182

ASC
Devuelve un número correspondiente al código de carácter ASCII (American Standar Code for Information Interchange).
Ejemplo:
   x=”@”
   Print Asc(x)
Resultado:
   64

ASIN
Devuelve el seno de un ángulo expresado en radianes.
Ejemplo:
   x=0.4
   Print Asin(x)
Resultado:
   0.41152

ASIND
Devuelve el seno de un ángulo expresado en grados.
Ejemplo:
   x=0.4
   Print Asind(x)
Resultado:
   23.57818

ATAN
Devuelve el ángulo tangente expresado en radianes.
Ejemplo:
   x=0.4
   Print Atan(x)
Resultado:
   0.38051

ATAND
Devuelve el ángulo tangente expresado en grados.
Ejemplo:
   x=0.4
   Print Atand(x)
Resultado:
   21.80141

BEEP
Genera un sonido de corta duración.

BUTTONS OFF
Oculta de la pantalla los cinco botones.

BUTTONS ON
Se muestran en pantalla cinco botones pudiendo controlar que botón ha sido pulsado gracias a la variable interna del sistema but.
Estos son los valores que devuelve la variable but al pulsar uno de los cinco botones:
Botón1=1, botón2=2, botón3=3, botón4=4 y botón5=5.
Para inicializar but, podemos usar el valor 0: but=0.

CALL
Llama a la subrutina con el nombre especificado.
Ejemplo:
   Call nombresubrutina

CHR
Da un carácter correspondiente al valor del código numérico ASCII.
Ejemplo:
   x=64
   Print Chr(x)
Resultado:
   @

CLS
Borra la pantalla.

COLORINK
Define el color del primer plano según el código de color [mirar la tabla de Códigos de color].
Ejemplo:
   x=5
   Colorink(x)
   Print “Hola”
Resultado:
   Hola [se visualiza el texto en color verde]

COLORPAPER
Define el color de fondo según el código de color [mirar la tabla de Códigos de color].
Ejemplo:
   x=4
   Colorpaper(x)
Resultado:
   [se visualiza el fondo de pantalla en color rojo]

COS
Devuelve el coseno expresado en radianes.
Ejemplo:
   x=0.4
   Print Cos(x)
Resultado:
   0.92106

COSD
Devuelve el coseno expresado en grados.
Ejemplo:
   x=0.4
   Print Cosd(x)
Resultado:
   0.99998

DO
Inicia el bucle Do...Loop...

DO UNTIL
Inicia el bucle Do Until...Loop...y continua con el ciclo hasta que se cumpla la condición.

DO WHILE
Inicia el bucle Do While...Loop...y continua con el ciclo mientras se cumpla la condición.

ELSE
Sí la condición precedida de If...Then no se cumple, se procesan las instrucciones justo por debajo de Else hasta End If.

ELSEIF...THEN
Hace la misma función que Else pero añadiendo condición exclusiva.

END IF
Acaba con el condicional If...Then/Else.

END SUB
Finaliza la subrutina Sub...End Sub.

EXIT DO
Sale del bucle Do...Loop...

EXIT FOR
Sale del bucle For...Next.

EXIT SUB
Sale de la subrutina Sub...End Sub.

FLOOR
Devuelve el íntegro.
Ejemplo:
   x=1.4
   Print Floor(x)
Resultado:
   1

FOR...TO...STEP
Inicia un bucle For...Next hasta un número de veces.

IF...THEN
Condiciona dos elementos o más y si se cumple, se procesan las instrucciones justo por debajo de If...Then hasta Else/End If.

INPUTBOX
Recoge los datos introducidos por el usuario y los transfiere a una variable.
Ejemplo:
   Inputbox “Introduzca un nombre”;x
   Print “El nombre introducido es “ & x
Resultado:
   Introduzca un nombre [David]
   El nombre introducido es David

LEN
Devuelve la longitud de una cadena.
Ejemplo:
   x=”Barcelona”
   Print Len(x)
Resultado:
   9

LINE
Dibuja una línea de color [mirar la tabla de Códigos de color] hasta las coordenadas X e Y -final-.
Las coordenadas X e Y iniciales las aporta la instrucción Point o en su caso, la última vez que se haya llamado la instrucción Line.
Si no se llama por primera vez a la instrucción Point el valor origen de las coordenadas X e Y valdrán 0.
Ejemplo:
   Point(0,400,6) [X,Y,Color]
   Line(1280,400,6) [X,Y,Color]
Resultado:
   [Dibuja una línea horizontal en el centro de la pantalla de color azul]

LN
Da el logaritmo en base e.
Ejemplo:
   x=1000
   Print Ln(x)
Resultado:
   6.90775

LOG
Da el logaritmo en base 10.
Ejemplo:
   x=1000
   Print Log(x)
Resultado:
   3

LOGARITHM
Da el logaritmo en cualquier base.
Ejemplo:
   x=1000
   b=10 [base]
   Print Logarithm(x,b)
Resultado:
   3

LOOP
Cierra el bucle Do...Loop y continua con el ciclo.

LOOP UNTIL
Cierra el bucle Do...Loop Until y continua con el ciclo hasta que se cumpla la condición.

LOOP WHILE
Cierra el bucle Do...Loop While y continua con el ciclo mientras se cumpla la condición.

MAX
Devuelve entre dos números el más grande.
Ejemplo:
   Print Max(4,9)
Resultado:
   9

MID
Selecciona caracteres desde una cadena entre la posición inicial hasta la longitud especificada.
Ejemplo:
   x=”Barcelona”
   Print Mid(x,4,3)
Resultado:
   cel

MIN
Devuelve entre dos números el más pequeño.
Ejemplo:
   Print Min(9,4)
Resultado:
   4

MOD
Devuelve el resto después de dividir un número entre un divisor.
Ejemplo:
   Print Mod(3,2) [numero,divisor]
Resultado:
   1

MSGBOX
Muestra en la pantalla superior el texto y espera a que se pulse 'Aceptar'.
Ejemplo:
   Msgbox “Piense un numero”
Resultado:
   Piense un numero

NEXT
Cierra el bucle For...Next y continua con el ciclo.

PAUSE
Detiene la ejecución del programa durante un tiempo expresado en milisegundos.
Ejemplo:
   Pause(1000)
Resultado:
   [Detiene el proceso en 1 seg.]

POINT
Dibuja un punto de color [mirar la tabla de Códigos de color] en las coordenadas X e Y.
Ejemplo:
   Point(640,400,6) [X,Y,Color]
Resultado:
   [Dibuja un punto en el centro de la pantalla de color azul]

POWER
Eleva a la potencia.
Ejemplo:
   x=2
   e=8
   Print Power(x,e)
Resultado:
   256 [el valor 2 se eleva a la potencia de 8]

PRINT
Imprime en pantalla un texto.
Ejemplo:
   Print “Hola Mundo”
Resultado:
   Hola Mundo

RANDOMIZE
Inicializa la semilla de la secuencia pseudoaleatória basado en el reloj interno del sistema.

REM
No hay proceso alguno, simplemente podremos comentar las diferentes líneas de nuestro programa.
Ejemplo:
   Rem Proceso de encriptación

RND
Genera un número pseudoaleatório entre los rangos de min y máx (inclusive).
Ejemplo:
   min=1
   max=10
   Print Rnd(min, max)
Resultado:
   4

ROUND
Redondea un número.
Ejemplo:
   x=1.5
   Print Round(x)
Resultado:
   2

SIN
Devuelve el seno expresado en radianes.
Ejemplo:
   x=0.4
   Print Sin(x)
Resultado:
   0.38942

SIND
Devuelve el seno expresado en grados.
Ejemplo:
   x=0.4
   Print Sind(x)
Resultado:
   0.00698

SQRT
Halla la raíz cuadrada.
Ejemplo:
   x=2
   Print Sqrt(x)
Resultado:
   1.414214

STOP
Detiene la ejecución del programa.

SUB
Nombra a la subrutina Sub...End Sub.
Ejemplo:
   Sub nombresubrutina

TAN
Devuelve la tangente expresado en radianes.
Ejemplo:
   x=0.4
   Print Tan(x)
Resultado:
   0.42279

TAND
Devuelve la tangente expresado en grados.
Ejemplo:
   x=0.4
   Print Tand(x)
Resultado:
   0.00698


Características especiales del lenguaje Basic de AndroBasic:
No son admitidos los dos puntos ':' para separar instrucciones/funciones en la misma línea.
En un condicional, -después de la instrucción Then y en la misma línea- no puede haber nada escrito.
Las variables no son sensibles si se escriben en mayúsculas/minúsculas y son convertidas internamente en mayúsculas.
En los condicionales no son admitidos los paréntesis.
Sólo se admiten 30 parámetros por línea como máximo.
Los programas no pueden contener más de 2.000 líneas.
Las constantes como PI y E se escriben como CPI y CE respectivamente.
Tanto las variables como la matriz son del tipo genéricos, o sea, pueden contener números o cadenas. Ejem: a=5 o a="hola".
Las variables/matriz no se declaran.
No es necesario inicializar las variables/matriz pero sí recomendable -sobre todo en cálculos matemáticos-.
Se pueden utilizar hasta un máximo de 100 variables.
Sólo podemos utilizar una Matriz llamada matrix(a,b) siendo ‘a’ el índice y ‘b’ el subíndice de la tabla. El valor máximo de índices para la matriz es de 10.000 por 10 de subíndices.
Se pueden utilizar hasta un máximo de 100 subrutinas.
En cualquier momento de la ejecución de un programa, podemos abortarlo simplemente pulsando el icono 'Back' -en la parte inferior izquierda de la pantalla-.


Operadores aritméticos:

+   [Adición]
-    [Sustracción]
*   [Multiplicación]
/    [División]
^   [Exponenciación]
%  [Módulo aritmético]


Operadores relacionales:

=    [es igual que]
<>  [no es igual que]
<    [es menor que]
>    [es mayor que]
<=  [es menor o igual que]
>=  [es mayor o igual que]


Operadores de cadena:
& [unión de cadenas]


Operadores lógicos:

And  [dos elementos son verdaderos]
Or    [al menos uno de los elementos es verdadero]
Xor  [sólo un elemento es verdadero]


Códigos de color:

0 = negro
1 = gris oscuro
2 = gris medio
3 = gris claro
4 = rojo
5 = verde
6 = azul
7 = amarillo
8 = magenta
9 = cían
10 = blanco


Listado de errores:

Nº1: 'If' without 'Else/ElseIf/End If'
Nº2: program without 'Sub Main'
Nº3: Too many parameters per line: (max.30)
Nº4: Syntax
Nº5: General process
Nº6: calculation parameters
Nº7: expected 'End Sub'
Nº8: 'For' without 'Next'
Nº9: 'Next' without 'For'
Nº10: 'Exit For' without 'Next'
Nº11: 'Call X' not found
Nº12: 'Exit Sub' without 'End Sub'
Nº13: 'Do Until' without 'Loop'
Nª14: 'Loop' without 'Do Until/Do While'
Nº15: 'Exit Do' without 'Loop'
Nº16: 'Do While' without 'Loop'
Nº17: 'Loop Until' without 'Do'
Nº18: 'Loop While' without 'Do'
Nº19: 'Else' without 'End If'
Nº20: Too many variables (max.100)

No hay comentarios:

Publicar un comentario