Tipos de datos

De CNB
Ir a la navegación Ir a la búsqueda
Busca en cnbGuatemala con Google

 
Línea 4: Línea 4:
 
Byte almacena un valor numérico de 8 bits sin decimales. Tienen un rango entre 0 y 255
 
Byte almacena un valor numérico de 8 bits sin decimales. Tienen un rango entre 0 y 255
  
<code>byte unaVariable = 180; // declara 'unaVariable' como tipo byte</code>
+
<code>byte unaVariable = 180; ''// declara 'unaVariable' como tipo byte''</code>
  
 
== Int ==
 
== Int ==
 
Enteros son un tipo de datos primarios que almacenan valores numéricos de 16 bits sin decimales comprendidos en el rango 32,767 a -32,768.
 
Enteros son un tipo de datos primarios que almacenan valores numéricos de 16 bits sin decimales comprendidos en el rango 32,767 a -32,768.
  
<code>int unaVariable = 1500; // declara 'unaVariable' como una variable de tipo entero</code>
+
<code>int unaVariable = 1500; ''// declara 'unaVariable' como una variable de tipo entero''</code>
  
 
'''Nota:''' Las variables de tipo entero “int” pueden sobrepasar su valor máximo o mínimo como consecuencia de una operación. Por ejemplo, si x = 32767 y una posterior declaración agrega 1 a x, x = x + 1 entonces el valor se x pasará a ser -32.768. (algo así como que el valor da la vuelta)
 
'''Nota:''' Las variables de tipo entero “int” pueden sobrepasar su valor máximo o mínimo como consecuencia de una operación. Por ejemplo, si x = 32767 y una posterior declaración agrega 1 a x, x = x + 1 entonces el valor se x pasará a ser -32.768. (algo así como que el valor da la vuelta)
Línea 16: Línea 16:
 
El formato de variable numérica de tipo extendido “long” se refiere a números enteros (tipo 32 bits) sin decimales que se encuentran dentro del rango -2147483648 a 2147483647.
 
El formato de variable numérica de tipo extendido “long” se refiere a números enteros (tipo 32 bits) sin decimales que se encuentran dentro del rango -2147483648 a 2147483647.
  
<code>long unaVariable = 90000; // declara 'unaVariable' como tipo long</code>
+
<code>long unaVariable = 90000; ''// declara 'unaVariable' como tipo long''</code>
  
 
== Float ==
 
== Float ==
 
El formato de dato del tipo “punto flotante” “float” se aplica a los números con decimales. Los números de punto flotante tienen una mayor resolución que los de 32 bits con un rango comprendido 3.4028235E +38 a +38-3.4028235E.
 
El formato de dato del tipo “punto flotante” “float” se aplica a los números con decimales. Los números de punto flotante tienen una mayor resolución que los de 32 bits con un rango comprendido 3.4028235E +38 a +38-3.4028235E.
  
<code>float unaVariable = 3.14; // declara 'unaVariable' como tipo flotante</code>
+
<code>float unaVariable = 3.14; ''// declara 'unaVariable' como tipo flotante''</code>
  
 
'''Nota:''' Los números de punto flotante no son exactos, y pueden producir resultados extraños en las comparaciones. Los cálculos matemáticos de punto flotante son también mucho más lentos que los del tipo de números enteros, por lo que debe evitarse su uso si es posible.
 
'''Nota:''' Los números de punto flotante no son exactos, y pueden producir resultados extraños en las comparaciones. Los cálculos matemáticos de punto flotante son también mucho más lentos que los del tipo de números enteros, por lo que debe evitarse su uso si es posible.
Línea 32: Línea 32:
 
Del mismo modo es posible declarar una matriz indicando el tipo de datos y el tamaño y posteriormente, asignar valores a una posición especifica:
 
Del mismo modo es posible declarar una matriz indicando el tipo de datos y el tamaño y posteriormente, asignar valores a una posición especifica:
  
<code>int miArray[5]; // declara un array de enteros de 6 posiciones</code>  
+
<code>int miArray[5]; ''// declara un array de enteros de 6 posiciones''</code>  
  
<code>miArray[3] = 10; // asigna l valor 10 a la posición 4</code>
+
<code>miArray[3] = 10; ''// asigna l valor 10 a la posición 4''</code>
  
 
Para leer de un array basta con escribir el nombre y la posición a leer:
 
Para leer de un array basta con escribir el nombre y la posición a leer:
  
<code>x = miArray[3]; // x ahora es igual a 10 que está en la posición 3 del array</code>
+
<code>x = miArray[3]; ''// x ahora es igual a 10 que está en la posición 3 del array''</code>
  
 
Las matrices se utilizan a menudo para estamentos de tipo bucle, en los que la variable de incremento del contador del bucle se utiliza como índice o puntero del array. El siguiente ejemplo usa una matriz para el parpadeo de un LED.
 
Las matrices se utilizan a menudo para estamentos de tipo bucle, en los que la variable de incremento del contador del bucle se utiliza como índice o puntero del array. El siguiente ejemplo usa una matriz para el parpadeo de un LED.
Línea 44: Línea 44:
 
Utilizando un bucle tipo ''for'', el contador comienza en cero 0 y escribe el valor que figura en la posición de índice 0 en la serie que hemos escrito dentro del array parpadeo[], en este caso 180, que se envía a la salida analógica tipo PWM configurada en el PIN10, se hace una pausa de 200 ms y a continuación se pasa al siguiente valor que asigna el índice “i”.
 
Utilizando un bucle tipo ''for'', el contador comienza en cero 0 y escribe el valor que figura en la posición de índice 0 en la serie que hemos escrito dentro del array parpadeo[], en este caso 180, que se envía a la salida analógica tipo PWM configurada en el PIN10, se hace una pausa de 200 ms y a continuación se pasa al siguiente valor que asigna el índice “i”.
  
<code>int ledPin = 10; // Salida LED en el PIN 10</code>
+
<code>int ledPin = 10; ''// Salida LED en el PIN 10''</code>
  
<code>byte parpadeo[] = {180, 30, 255, 200, 10, 90, 150, 60}; // array de 8 valores diferentes</code>
+
<code>byte parpadeo[] = {180, 30, 255, 200, 10, 90, 150, 60}; ''// array de 8 valores diferentes''</code>
  
 
<code>void setup()</code>  
 
<code>void setup()</code>  
Línea 52: Línea 52:
 
<code>{</code>
 
<code>{</code>
  
<code>pinMode(ledPin, OUTPUT); //configura la salida PIN 10</code>  
+
<code>pinMode(ledPin, OUTPUT); ''//configura la salida PIN 10''</code>  
  
 
<code>}</code>
 
<code>}</code>
Línea 60: Línea 60:
 
<code>{</code>
 
<code>{</code>
  
<code>for(int i=0; i<8; i++) // crea un bucle tipo for utilizando la variable i de 0 a 7</code>
+
<code>for(int i=0; i<8; i++) ''// crea un bucle tipo for utilizando la variable i de 0 a 7''</code>
  
 
<code>{</code>
 
<code>{</code>
  
<code>analogWrite(ledPin, parpadeo[i]); // escribe en la salida PIN 10 el valor al que apunta i dentro del array parpadeo[]</code>
+
<code>analogWrite(ledPin, parpadeo[i]); ''// escribe en la salida PIN 10 el valor al que apunta i dentro del array parpadeo[]''</code>
  
<code>delay(200); // espera 200ms</code>
+
<code>delay(200); ''// espera 200ms''</code>
  
 
<code>}</code>  
 
<code>}</code>  

Revisión actual del 14:01 3 jul 2019


Byte[editar | editar código]

Byte almacena un valor numérico de 8 bits sin decimales. Tienen un rango entre 0 y 255

byte unaVariable = 180; // declara 'unaVariable' como tipo byte

Int[editar | editar código]

Enteros son un tipo de datos primarios que almacenan valores numéricos de 16 bits sin decimales comprendidos en el rango 32,767 a -32,768.

int unaVariable = 1500; // declara 'unaVariable' como una variable de tipo entero

Nota: Las variables de tipo entero “int” pueden sobrepasar su valor máximo o mínimo como consecuencia de una operación. Por ejemplo, si x = 32767 y una posterior declaración agrega 1 a x, x = x + 1 entonces el valor se x pasará a ser -32.768. (algo así como que el valor da la vuelta)

Long[editar | editar código]

El formato de variable numérica de tipo extendido “long” se refiere a números enteros (tipo 32 bits) sin decimales que se encuentran dentro del rango -2147483648 a 2147483647.

long unaVariable = 90000; // declara 'unaVariable' como tipo long

Float[editar | editar código]

El formato de dato del tipo “punto flotante” “float” se aplica a los números con decimales. Los números de punto flotante tienen una mayor resolución que los de 32 bits con un rango comprendido 3.4028235E +38 a +38-3.4028235E.

float unaVariable = 3.14; // declara 'unaVariable' como tipo flotante

Nota: Los números de punto flotante no son exactos, y pueden producir resultados extraños en las comparaciones. Los cálculos matemáticos de punto flotante son también mucho más lentos que los del tipo de números enteros, por lo que debe evitarse su uso si es posible.

Arrays[editar | editar código]

Un array es un conjunto de valores a los que se accede con un número índice. Cualquier valor puede ser recogido haciendo uso del nombre de la matriz y el número del índice. El primer valor de la matriz es el que está indicado con el índice 0, es decir el primer valor del conjunto es el de la posición 0. Un array tiene que ser declarado y opcionalmente asignados valores a cada posición antes de ser utilizado

int miArray[] = {valor0, valor1, valor2...}

Del mismo modo es posible declarar una matriz indicando el tipo de datos y el tamaño y posteriormente, asignar valores a una posición especifica:

int miArray[5]; // declara un array de enteros de 6 posiciones

miArray[3] = 10; // asigna l valor 10 a la posición 4

Para leer de un array basta con escribir el nombre y la posición a leer:

x = miArray[3]; // x ahora es igual a 10 que está en la posición 3 del array

Las matrices se utilizan a menudo para estamentos de tipo bucle, en los que la variable de incremento del contador del bucle se utiliza como índice o puntero del array. El siguiente ejemplo usa una matriz para el parpadeo de un LED.

Utilizando un bucle tipo for, el contador comienza en cero 0 y escribe el valor que figura en la posición de índice 0 en la serie que hemos escrito dentro del array parpadeo[], en este caso 180, que se envía a la salida analógica tipo PWM configurada en el PIN10, se hace una pausa de 200 ms y a continuación se pasa al siguiente valor que asigna el índice “i”.

int ledPin = 10; // Salida LED en el PIN 10

byte parpadeo[] = {180, 30, 255, 200, 10, 90, 150, 60}; // array de 8 valores diferentes

void setup()

{

pinMode(ledPin, OUTPUT); //configura la salida PIN 10

}

void loop() // bucle del programa

{

for(int i=0; i<8; i++) // crea un bucle tipo for utilizando la variable i de 0 a 7

{

analogWrite(ledPin, parpadeo[i]); // escribe en la salida PIN 10 el valor al que apunta i dentro del array parpadeo[]

delay(200); // espera 200ms

}

}