Está en la página 1de 8

Cesbol Ingeniería

INSTRUCCIONES DE CONTROL

Con estas instrucciones podemos controlar la ejecución de las líneas de código,


dependiendo de la lógica del programador.
Cada usuario tiene su propia lógica para resolver problemas
Asignaciones
Se usa la instrucción (=) para asignar valores a variables o puertos
EJ) a=5; a=b=c=8;
En este ejemplo los datos que se están asignando estarían en formato decimal, se puede
usar otro tipo de formatos para la asignación
0b100010 => en binario
0xff => en hexadecimal
“palabra” => en texto
‘letra’ => en un carácter
Ej) a=0b1100; a=0xa3; a=”hola”;
Operadores Matemáticos
+ suma => a=4+5; b=a+5;
- resta => a=3-1; b=a-9;
* multiplicacion => a=3*7; a=b*6;
/ división => a=2/1; a=b/5;
% modulo (saca el residuo de una división) => a=8%2; => a=0;
=> b=9%2; => b=1;
EJ) a=a*4; => a*=4;
Complemento a un bit
Solo se aplica en la suma y la resta
a=a+1; => a++;
a=a-1; => a--;

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
1
Cesbol Ingeniería

Logicos
And(&)
0 0 0

1 0 0

0 1 0

1 1 1
Or (|)

0 0 0

1 0 1

0 1 1

1 1 1

Xor(^)

0 0 0

1 0 1

0 1 1

1 1 0

Not(¡)
0=1
1=0
EJ)
a=0b0110;
b=0b1011;
c=a&b; => c=0b0010;
Recorrido de bits
>> recorrido de bits hacia la derecha
<< recorrido de bits hacia la izquierda

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
2
Cesbol Ingeniería
a=0b0100;
a=a>>1; => a=0b0010;
a=a>>2; => a=0b0001;
CONDICIONALES
== igual
¡= diferente
> mayor
< menor
>= mayor igual
<= menor igual
&& and
|| or
¡ not
Instrucciones
If(si)
If(condición)
{

//cumple la condicion
}
Else
{

//no cumple la condicion


}

If(condicion)
{

}
Else if(condición)
{

}
Else if(condición)
{

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
3
Cesbol Ingeniería

Ej) verificar si un numero es par


N=2 resultado=par

If(n%2==0)
{
Print(“par”);
}
Else
{
Print(“impar”);
}
Switch(selección)
Se usa para condiciones donde pueda existir diferentes resultados
Switch(condición)
{
Case resultado1:

Break;
Case resultado2:

Break;
Case resultado3:

Break;
Default:

Break;
}
Bucles: permiten repetir código dependiendo de una condición

While(mientras)
While(condición)
{
//ejecuta su código mientras cumpla la condicion
//bucle manual
}

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
4
Cesbol Ingeniería

Ej) mostrar n pares


Si n=4; => 2,4,6,8

Y=1;
Z=1; n y z resultado
While(z<=n) 4 1 1 2,4,6,8
{ 2 2
If(y%2==0) 3 3
{ 4 4
Print(y);
5 5
Z++;
6
}
7
Y++;
8
}

For (para)
For(variable, condición, actualización variable)
{
//bucle automatico
//su variable se actualiza en cada inicio y se consulta la condicion
}
Ej) mostrar n primos
N=3; => 2,3,5
Y=2;
Z=1; n y z k cont pantalla
K=0; 3 2 1 0 0 2,3,5
Cont=0; 3 2 1 1
While(z<=n) 4 3 2 2
{ 5 3 0
6 1 1
2 2
For(k=1;k<=y;k++) 3 0
{ 4 1
If(y%k==0) 1 2
{ 2 3
Cont++; 3 0
} 4 1
} 5 2
If(cont==2) 1 0
{
2
Print(y);
3
Z=z+1;
4
}
5
Cont=0;
Y++; 6
}

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
5
Cesbol Ingeniería

Variables
Almacenan información para poder realizar cálculos o controlar el flujo del programa
Existen diferentes tipos de variables en C/C++ cada uno se diferencia por la cantidad de memoria
que maneja.

Tipo de variables

Bit => 1bit (0 o 1)


Char => 8 bits (0 – 255), solo positivos se usa sobre todo para caracteres ‘a’,’b’
short => 8 bits ( -127 a 128), positivos y negativos solo enteros
int => 16 bits ( -32767 a 32768), positivos y negativos solo enteros
long => 32 bits ( -65535 a 65536), positivos y negativos solo enteros
float => 32 bits (16bits.16bits), positivos y negativos reconoce punto decimal
double => 32 bits (16bits.32bits), positivos y negativos reconoce punto decimal

declarar variable
tipo de variable nombre_variable = valor;
Ej)
Char sw=0; //sw soporta de 0 hasta 255
Int x;// x por defecto inicia en 0 soporta -32767 a 32768
Long k=-35; //k si soporta negativos

Nota: se puede cambiar el uso de memoria en las variables


Instrucciones
Unsigned => solo positivo
Signed => positivo y negativos
Ej)
Unsigned short a=0; //a puede manejar de 0 a 255
Signed char b=0; //b puede manejar de -127 a 128
Variables Arduino
Boolean => 1bit (true , false)
Byte => 8bits (0-255)(enteros)
Word => 16bits (0 -65536)(enteros y ascii)
String => vector para manejar palabras “texto”, tiene sus propios
procedimientos y funciones

Variables globales:
Se declaran fuera del programa principal (void main), la ventaja de estas variables es que se pueden
usar en todo el programa pero el espacio de memoria se queda reservado para esta variable lo que
significa que no puedo usar ese espacio de memoria.

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
6
Cesbol Ingeniería

Ej)
Char x=0;
Void main()
{
X=9;
}

Void proceso()
{
X=8;
}
En este caso el compilador no entregaría errores
Variables locales
se declaran dentro de un procedimiento o función, estas variables solo se pueden usar donde se
declararon, la ventaja es que la memoria que esta usando la variable se puede volver a utilizar
Ej)
void main()
{
Int x=0;
X=9;
}

Void proceso()
{
X=8;
}

En este caso el compilador nos entregaría un error en el proceso por la variable x no existe para
este proceso ya que se declaro dentro el main, para solucionar el error tendríamos que colocarlo de
esta forma

Void proceso()
{
Int x;
X=8;
}

Librerías en Arduino:
Permiten realizar el manejo de modulos electrónicos de forma mas rápida y en pocas líneas
El compilador tiene sus propias librerías también, como también podemos descargarlo

Librerías internas:
Vienen con el compilador por defecto están en la ruta
C:\Program Files (x86)\Arduino\libraries

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
7
Cesbol Ingeniería

Se llama a las librerías con => #include <nombre_libreria.h>

Librerías internas (servo.h, liquid_crystal.h, stepper.h, ….)

Librerías externas:
Son librerías desarrolladas por usuarios, se pueden buscar y descargar siempre vienen comprimidos
y debemos descomprimirlo en la misma ruta de las internas
C:\Program Files (x86)\Arduino\libraries

Mejor si cambiamos el nombre quitando el master

La forma de llamarlo es => #include “nombre_libreria.h”

OSCAR AIZA – 76206976


https://www.facebook.com/ozz999
8

También podría gustarte