Академический Документы
Профессиональный Документы
Культура Документы
Una variable es un objeto nombrado capaz de contener un dato que puede ser modificado durante la ejecucin de programa. Cada variable se declara bajo un nombre nicoque debe ser un identificador vlido. Por ejemplo, para sumar dos nmeros (nmero1 + nmero2) en el programa, es necesario tener una variable para representar qu es lo que llamamos suma en vida cotidiana. En este caso, nmero1, nmero2 y suma son variables. La sintaxis es la siguiente:
dim i, j, k as byte 'Definir variables i, j, k dim counter, temp as word 'Definir variables contador y temp
SMBOLOS
Los smbolos en Basic permiten crear los macros simples sin parmetros. Cualquier lnea de cdigo se puede reemplazar por un solo identificador. Los smbolos pueden aumentar legibilidad y reutilizacin de cdigo cuando se utilizan correctamente.
Los smbolos deben ser declarados al principio del mdulo, bajo el nombre del mdulo y la directiva opcional include. El mbito de un smbolo es siempre limitado al mdulo en el que ha sido declarado.
symbol MAXALLOWED = 216 numrico symbol OUT = PORTA symbol MYDELAY = Delay_ms(762) procedimiento dim cnt as byte main: if cnt > MAXALLOWED then cnt = 0 OUT.1 = 0
' Smbolo MAXALLOWED para el valor ' Smbolo OUT para SFR ' Smbolo MYDELAY para llamada de ' Variable cnt ' Programa comprueba si cnt > 216 ' Si lo es, ' los siguientes tres comandos
Los smbolos no se almacenan en la memoria RAM. El compilador reemplaza los smbolos por las lneas del cdigo apropiadas asignadas durante la declaracin.
TIPO DE DATO bit sbit byte, char short word integer longword longint float
DESCRIPCIN Un bit Un bit Carcter Entero con signo corto Entero sin signo Entero con signo Palabra de 32 bits Palabra de 32 bits asignada Punto flotante
16 16 32 32 32
0 ... 65535 -32768 ... 32767 0 ... 4294967295 -2147483648 ... 2147483647 1.17549435082*10-38 ... 6.80564774407*1038
si una sentencia requiere una expresin del tipo particular, y se utiliza la expresin de tipo diferente; si un operador requiere un operando de tipo particular, y se utiliza un operando de tipo diferente; si una funcin requiere un parmetro formal de tipo particular, y se le asigna el objeto de tipo diferente; y si el resultado de una funcin no corresponde al tipo del valor devuelto de la funcin declarada. PROMOCIN
Cuando los operandos son de tipos diferentes, mediante la conversin implcita se realiza la promocin de tipo ms bajo a tipo ms alto, de la siguiente manera:
integer, word longint, longword short, byte/char, integer, word, longint, longword float RECORTE DE DATOS
En las sentencias de asignacin y en las sentencias que requieren una expresin de tipo particular, el valor correcto ser almacenado en el destino slo si el resultado de expresin no excede al rango del destino. Al contrario, si el resultado de la expresin resulta en un tipo ms complejo de lo esperado, los datos que exceden se recortarn, o sea los bytes ms altos se pierden.
dim i as byte 'Variable i ocupa un solo byte de la memoria RAM dim j as word ' Variable j ocupa dos bytes de la memoria RAM ... j = $FF0F i = j ' i se convierte en $0F, el byte ms alto $FF se pierde
CONVERSIN DE DATOS EXPLCITA
La conversin explcita se puede ejecutar bajo cualquier expresin en cualquier punto al escribir la palabra clave de tipo deseado (byte, word, short, integer, longint, float...) delante de la expresin que ser convertida. La expresin debe estar encerrada entre parntesis. La conversin explcita no puede ser realizada bajo el operando de la izquierda del operador de asignacin.
a = word(b) ' Conversin explcita de la expresin b word(b) = a ' Compilador informa de un error
Como no afecta a la representacin binaria de los datos, un caso especial es una conversin entre tipos de datos con signo y sin signo.
dim a as byte dim b as short '... b = -1 a = byte(b) ' a is 255, not -1 ' El dato no cambia su representacin binaria %11111111 ' pero el compilador la interpreta de la manera diferente
OPERADORES
Un operador es un smbolo que denota una operacin aritmtica, lgica u otra operacin particular. Cada operacin se realiza sobre uno o ms operandos (variables o constantes) en una expresin. Adems, cada operador dispone de la ejecucin de prioridad y de la asociatividad. Si una expresin contiene ms de un operando, los operandos se ejecutarn en orden de su prioridad. Hay 4 categoras de prioridad en Basic. Los operadores que pertenecen a la misma categora tienen igual prioridad. Si dos o ms operandos tienen el mismo nivel de prioridad, las operaciones se realizan de izquierda a derecha. Los parntesis se utilizan para
definir la prioridad de la operacin dentro de la expresin. A cada categora se le asigna una de dos reglas de asociatividad: de izquierda a derecha o de derecha a izquierda. Refirase a la siguiente tabla:
PRIORIDAD Alta
ASOCI ATIVIDAD de derecha a izquierda de izquierda a derecha de izquierda a derecha de izquierda a derecha
Baja
OPERADORES ARITMTICOS
Los operadores aritmticos se utilizan para realizar operaciones aritmticas. Estas operaciones se realizan sobre los operandos numricos y siempre devuelven los resultados numricos. Las operaciones binarias se realizan sobre dos operandos, mientras que las operaciones unitarias se realizan sobre un operando. Todos los operadores aritmticos se asocian de izquierda a derecha.
OPERACIN Adicin Resta Multiplicacin Divisin - punto flotante Divisin - redondear Remanente
OPERADORES RELACIONALES
Los operadores relacionales se utilizan para comparar dos variables y determinar la validez de su relacin. En mikroBasic, todos los operadores relacionales devuelven 255 si la expresin es evaluada como verdadera (true). Si una expresin es evaluada como falsa (false), el operador devuelve 0. Lo mismo se aplica a las expresiones tales como si la expresin es evaluada como verdadera, entonces...
OPERADOR > >= SIGNIFICADO es mayor que es mayor o igual que EJEMPLO b>a a >= 5 CONDICIN DE VERACID AD si b es mayor que a si a es mayor o igual que 5
A = 11001
A = 00011
C = 11000
C = 11101
A = 00110
C = 00101
Los operadores de manejo de bits y (and), o (or) y xor realizan las operaciones lgicas sobre los pares de bits de operandos apropiados. El operador not complementa cada bit de un solo operando.
$1234 and $5678 ' resultado es $1230 porque: ' $1234 : 0001 0010 0011 0100 ' $5678 : 0101 0110 0111 1000 ' ---------------------------' y : 0001 0010 0011 0000 ... eso es, $1230 $1234 or $5678 'equivale a $567C $1234 xor $5678 ' equivale a $444C not $1234 ' equivale a $EDCB