Guía de Programación
Case sensitive Diferencia entre Mayúsculas y minúsculas.
Tipos de datos
int (16 bit) entero Modificadores del rango de Operadores racionales
float (32 bit) decimal valor Si se cumple arroja 1, si no 0
char (8 bit) carácter signed con signo == igual
bool (8 bit) verdadero 1 / falso 0 unsigned sin signo != diferente
short (2 bit) entero corto long largo > mayor que
Operadores lógicos
double (64 bit) decimal doble < menor que
! negación (not)
>= mayor igual
&& conjunción (and)
<= menor igual
|| disyunción (or)
Estructuras switch (opción) operador ternario
Condicionales { n = (condicion) ? verdadero : falso ;
if (condición){ case valor1:
si la condición se cumple bloque de instrucciones
se ejecuta este bloque break;
} case valor2:
if (condición){
} else { bloque de instrucciones
si la condición no se cumple se ejecuta break;
} default:
}
Estructuras Cíclicas o
Bucles while ( condición ){ do{
for ( i = inicial ; i <= final ; i++){ si la condición se cumple se ejecuta el bloque se ejecuta el bloque al menos 1 vez y
se ejecuta hasta el valor final hasta que la condición se deje de cumplir hasta que la condición se deje de cumplir
} } } while ( condición );
Funciones
sintaxis recibe datos retorna datos función principal prototipos de funciones
tipo nombre ( ){ void recibe (int x ){ float retorna ( ){ int main ( ){ fura de la función principal
bloque de código return x; recibe (num); void recibe (int x );
} } } retorna ( ); float retorna ( );
return 0;
}
Orientado a
Objetos constructor de la clase función principal
sintaxis de una clase nombre::nombre( ){ int main ( ){
class nombre ( ){ nombre x = nombre( );
private: } nombre y ( );
atributos [Link] ( );
public: funcion de una clase [Link] ( );
nombre( ){ void nombre::funcion ( ){ return 0;
} }
~nombre( ){ }
}
void funcion( );
};
Tipos de datos
boolean (8 bit) verdadero 1 / falso 0 Función Set Up Función Loop
byte (8 bit) entero void setup ( ){ void loop ( ){
esta función se ejecutara esta función se ejecutara
char (8 bit) carácter una sola vez de manera indefinida
int (16 bit) entero } }
long (32 bit) entero
float (32 bit) decimal
Entradas y Salidas Estado digital Estado analógico Lectura de datos
pin de salida pin encendido pin con valor entre entrada digital de datos
pinMode ( pin , OUTPUT ); digitalWrite ( pin , HIGH ); 0 - 255 digitalRead ( pin );
analogWrite ( pin , 0v - 5v );
pin de entrada pin apagado entrada analógica de datos
pinMode ( pin , INPUT ); digitalWrite ( pin , LOW ); analogRead ( pin );
Comunicación Serial
se inicializa en setup envió de datos espaciado lee y guarda una cadena búsqueda de datos en buffer (T/F)
[Link] ( velocidad ); [Link] ( datos ); [Link] ( ); Serial.find ( dato );
envió de datos lectura de datos Devuelve el primer numero validación de datos disponibles (T/F)
[Link] ( datos ); [Link] ( ); [Link] ( ); [Link] ( );
Librerías mas utilizadas
control de servomotores comunicación con dispositivos SPI comunicación con dispositivos I2C / TWI
#include <Servo.h> #include <SPI.h> #include <Wire.h>
control de temperatura comunicación con software en pc control y uso de un RTC
#include <DHT.h> #include <Firmata.h> #include <RTC.h>
manipulador de memoria interna comunicación serial en otros pines control de un teclado matricial
#include <EEPROM.h> #include <SoftwareSerial.h> #include <keypad.h>
manipulador de tarjetas SD control de motor paso a paso
#include <SD.h> #include <Stepper.h>
Tipos de datos Operadores Operadores
bool (8 bit) booleano float (32 bit) reales Aritméticos racionales
sbyte (8 bit) entero cs double (64 bit) reales + suma == igual
byte (8 bit) entero ss decimal (128 bit) reales - resta != diferente
short (16 bit) entero cs char (16 bit) carácter * multiplicación > mayor que
ushort (16 bit) entero ss string (16 c/c) cadena /Operadores
división < menor que
int (32 bit) entero cs %
uint (32 bit) entero ss lógicos modulo >= mayor igual
! negación <= menor igual
long (64 bit) entero cs
ulong (64 bit) entero ss && conjunción
Estructuras switch (opción) || disyunción
Excepciones
Condicionales { try{
if (condición){ case valor1: código a intentar
si la condición se cumple bloque de instrucciones }
se ejecuta este bloque break; catch(FormatException ex){
if} (condición){ case valor2: se ejecuta si hay
} else { bloque de instrucciones FormatException
si la condición no se break; }
cumple se ejecuta default: catch(OverFlowException ex){
} } se ejecuta si hay
OverFlowException ex
}
Estructuras Cíclicas o
Bucles while ( condición ){ do{
for ( i = inicial ; i <= final ; i++){ si la condición se cumple se ejecuta el bloque se ejecuta el bloque al menos 1 vez y
se ejecuta hasta el valor final hasta que la condición se deje de cumplir hasta que la condición se deje de cumplir
} } } while ( condición );
Funciones
sintaxis recibe datos retorna datos función principal prototipos de funciones
tipo nombre ( ){ void recibe (int x ){ float retorna ( ){ int main ( ){ fura de la función principal
bloque de código return x; recibe (num); void recibe (int x );
} } } retorna ( ); float retorna ( );
return 0;
}
Orientado a
Objetos constructor de la clase función principal
sintaxis de una clase nombre::nombre( ){ int main ( ){
class nombre ( ){ nombre x = nombre( );
private: } nombre y ( );
atributos [Link] ( );
public: funcion de una clase [Link] ( );
nombre( ){ void nombre::funcion ( ){ return 0;
} }
~nombre( ){ }
}
void funcion( );
};
Tipos de datos Operadores Operadores racionales Operadores lógicos
int entero Aritméticos Si se cumple arroja 1, si no 0 not negación
float decimal + suma == igual and conjunción
str cadena - resta != diferente or disyunción
bool verdadero 1 / falso 0 * multiplicación > mayor que
bin binario / división < menor que
hex hexadecimal // división entera >= mayor igual
% modulo <= menor igual
** exponenciación
Estructuras Condicionales
if condición : do{
# Si la condición se cumple se ejecuta este bloque se ejecuta el bloque al menos 1 vez y
elif condición : hasta que la condición se deje de cumplir
‘’’ Si la condición se cumple se ejecuta este bloque’’’ } while ( condición );
else :
# Si ninguna condición se cuplé, se ejecuta este bloque
Estructuras Cíclicas o Bucles
while condición :
si la condición se cumple se ejecuta el bloque
hasta que la condición se deje de cumplir
for i in [colección, lista, conjunto, diccionario, tupla, cadena ]:
se ejecuta el numero de elementos
Funciones
sintaxis recibe datos retorna datos función principal prototipos de funciones
tipo nombre ( ){ void recibe (int x ){ float retorna ( ){ int main ( ){ fura de la función principal
bloque de código return x; recibe (num); void recibe (int x );
} } } retorna ( ); float retorna ( );
return 0;
}
Orientado a
Objetos constructor de la clase función principal
sintaxis de una clase nombre::nombre( ){ int main ( ){
class nombre ( ){ nombre x = nombre( );
private: } nombre y ( );
atributos [Link] ( );
public: funcion de una clase [Link] ( );
nombre( ){ void nombre::funcion ( ){ return 0;
} }
~nombre( ){ }
}
void funcion( );
};
byt char 1 binario longtext 1.2 Gb binario
Tipo descripción json mediumtext
e
binary 1 binario nchar text 255
blob 65 objeto binario grande nvarchar tinytext
longblob 4 Gb obg largo varchar caracteres
mediumblob 16 Mb obg mediano
date 1 binario
tinyblob 255 obg pequeño
datetime
varbinary 2 Gb binario largo
bigint 8 entero grande time
timestamp geometry 1 binario
decimal
year geometrycollection
double 8 flotante doble
linestring
float 4
multilinestring
int 4 entero bit 1 binario
Multipoint
mediumint 3 entero mediano boolean
Multipolygon
real 4 enum
set Point
smallint 2 entero chico
polygon
tinyint 1 entero pequeño
Comand
os
Manipulación de datos DML Definición de datos DDL Consultas
select recuperar información create crear objetos select campo
insert agregar datos drop eliminar objetos from tabla
delet eliminar datos alter modifica objetos where filtro
update actualizar un dato
Palabras reservadas
primary key indica llave primaria
like -
null -
Crear Base y Crear Tabla y Ingresar datos a una tabla Crear Consulta
acceder
create database nombreBase; Campos
create table nombreTabla( insert into nombreTabla values( -- consulta simple
use baseDatos; id int primary key, dato1 , dato2, dato3 ); select * from nombreTabla;
campo1 tipoDato, # consulta simple
campo2 tipoDato ); select id, campo1 from nombreTabla;
Modificar dato Eliminar registro Comentarios
update nombreTabla delete from nombreTabla -- comentario
set campo = dato1 where id = dato ; # comentario
where id = dato2 ; /* */ comentario
Consulta por Dato nulo o campo vacío consulta con valores no repetidos
coincidencias
registros que empiezan con a insert into nombreTabla values( select distinct campo1 from
Operadores select * from nombreTabla dato1 , null, dato3 ); nombreTabla;
racionales where campo like ‘a%’;
= igual Operadores
!= <> diferente registros que terminan con s registros con campo vacío lógicos
> mayor que select * from nombreTabla select * from nombreTabla and conjunción
< menor que where campo like ‘%s’; where campo is null ; or disyunción
>= mayor igual not connegación
consulta operadores lógicos
Consulta con registros que contengan 7 registros con campo no vacío
<= * from
menor
operadores igual select * from nombreTabla
select nombreTabla select * from nombreTabla select * from nombreTabla where campo1 = dato1
where campo != dato; where campo like ‘%7%’; where campo is not null ; and campo2 > dato2;
consulta con excepción consulta con rango consulta orden ascendente
select * from nombreTabla select * from nombreTabla select * from nombreTabla
where not campo1 = dato1; where campo1 between order by campo1 asc;
rango1 and rango2 ;
consulta orden descendente
consulta con alias en los campos consulta con alias en la tabla
select * from nombreTabla
select campo1 as camp select * from nombreTabla as
order by campo1 desc;
from nombreTabla; tab;
limpiar una tabla borrar tabla borrar tabla
truncate table nombreTabla; drop table nombreTabla; drop database nombreBase;
drop database if exists
nombreBase;