PROGRAMACIÓN
Por Daniel Morar
Empezar
ÍNDICE
1. La programación en la sociedad actual.
2. Creación de un programa informático. 3. Diseño de algoritmos para la resolución de problemas.
4. Lenguajes de programación 5. Inteligencia artificial. 6. Aprendizaje automático o machine learning. 7. Internet de las cosas (IoT). 8. Big data. 9. Bases de datos distribuidas
La programación en la sociedad actual
Info
Creación de un programa informático
· Análisis del problema· Diseño del algoritmo · Codificación del programa · pruebas y depuración · Documentación
análisis del problema
+ info
DISEÑO DE ALGORITMOS
En esta fase se crean los algoritmos que permitirán resolver el problema planteado. Para representarlos se utilizan diagramas de flujo y pseudocódigo, que ayudan a organizar los pasos de forma lógica y clara. Es aquí donde realmente se estructura la solución del problema, ya que un algoritmo bien diseñado garantiza el correcto funcionamiento del programa antes de traducirlo a un lenguaje de programación concreto.
Más tipos:
Info
Info
Info
Diseño de algoritmos
Info
Info
Diagramas de Flujo
+ info
PSEUDOCÓDIGO
Se utiliza para describir un algoritmo en lenguaje natural. No existen reglas para su escritura, se suelen utilizar expresiones similares a las de lenguajes de programación
LENGUAJES DE PROGRAMACIÓN
Evolución Histórica de los Lenguajes
+ info
Sintaxis de los lenguajes de programaión
Variables y Constantes
Info
estructuras secuenciales
-Sentencias:
-Llamadas a funciones:
-Asignación:
Las sentencias son instrucciones que realizan acciones. Se suelen colocar en una linea del programa, seguida de ;
Ejecutan instrucciones que se encuentran fuera del programa
Permite el almacenamiento de un valor en una variable o una constante
Realizan sumas, restas, productos, divisiones y calculan el resto
-Operaciones aritméticas:
Estructuras selectivas
Sentencia if-else
Sentencia switch
Info
Info
Estructuras repetitivas
Mientras (while)
Las estructuras repetitivas, conocidas como bucles o lazos, permiten ejecutar un bloque de instrucciones varias veces de forma automática, deteniéndose cuando se cumple o deja de cumplirse una condición específica. Existen 3 tipos:
Hacer-Mientras (do-while)
Para (for)
Inteligencia artificial
TIPOS :
La Inteligencia Artificial (IA) es un conjunto de tecnologías que permiten a las computadoras simular la inteligencia humana, aprendiendo, razonando y realizando tareas autónomas como reconocer voz, imágenes y procesar lenguaje. Utiliza algoritmos y grandes volúmenes de datos para detectar patrones, tomar decisiones y mejorar su precisión con el tiempo.
- NLP
- DEEP LEARNING
- MACHINE LEARNING
- INTELIGENCIA ARTIFICIAL
Internet de las cosas
Internet de las cosas (IoT)
El big data es el conjunto de datos de gran tamaño y complejidad que proceden de fuentes digitales y que requieren aplicaciones específicas para ser gestionados. Se encarga de analizar grandes cantidades de datos para obtener patrones, tendencias futuras, relaciones ocultas y datos relevantes. Es muy útil para empresas, centros de investigación y organismos, ya que permite tomar decisiones de forma rápida y eficiente.
El IoT está presente en: La vida cotidiana (relojes inteligentes) La industria (seguimiento de flotas, contadores eléctricos). La agricultura (automatización del riego).
BIG DATA
+ info
+ info
Elementos de un sistema IoT
+ info
Protocolos de comunicación
Un protocolo de comunicaciones es un conjunto de reglas que permite que los dispositivos se comuniquen entre sí. Uno de los más usados en IoT es MQTT: El servidor se llama bróker. Los dispositivos conectados son clientes. Los datos se envían a un tema o topic. Funciones principales: Publicar: enviar datos al bróker. Suscribirse: recibir datos de un topic.
Plataformas IoT
Las plataformas IoT almacenan los datos enviados por los dispositivos y permiten analizarlos o enviarlos a otras aplicaciones.
ThingSpeak
Adafruit IO
+ info
+ info
Tarjetas electrónicas
Los sensores suelen estar controlados por tarjetas electrónicas con microcontroladores y conexión wifi. La más usada es la ESP32, que destaca por: Bajo consumo. Procesador rápido. Gran capacidad de memoria. Compatibilidad con muchos sensores y actuadores.
WeMos D1 R32 Basada en el chip ESP32.
Compatible con Arduino UNO (mismos pines).
Conectividad wifi y bluetooth.
Se puede programar con Arduino IDE, MicroPython o ArduinoBlocks.
Tiene pines digitales, analógicos, PWM, I2C y SPI.
Permite detectar pulsaciones táctiles capacitivas.
Programación con ArduinoBlocks
ArduinoBlocks es una plataforma web de programación visual, similar a Scratch: Funciona online.
Permite programar placas Arduino y ESP32.
Usa bloques gráficos fáciles de aprender.
Para cargar programas en la placa es necesario instalar ArduinoBlocks Connector.
En la WeMos D1 R32 se selecciona el proyecto ESP32/WROOM.
MUCHAS GRACIAS
La estructura repetitiva for (o para) es un bucle en programación utilizado para ejecutar un bloque de instrucciones un número determinado de veces. Se caracteriza por compactar en una sola línea la inicialización, la condición de parada y el incremento/decremento de una variable de control, siendo ideal para iteraciones contadas.
La estructura repetitiva "Hacer-Mientras" (o do-while) es una sentencia de control que ejecuta un bloque de instrucciones al menos una vez, y luego repite la acción repetidamente mientras una condición booleana sea verdadera. A diferencia de la estructura "Mientras" (while), la condición se evalúa al final del bucle.
- Primera generación: Lenguaje Máquina- Segunda generación: Lenguaje ensamblador - Tecera generación: Lenguajes de alto nivel - Cuarta generación: Programación orientada a objetos - Quinta generación: Lenguaje natural e inteligencia artificial
La sentencia if-else es una estructura de control fundamental en programación que permite tomar decisiones ejecutando un bloque de código si una condición es verdadera (if) y otro diferente si es falsa (else). Actúa como un flujo condicional para manejar dos rutas de ejecución posibles, esencial en la toma de decisiones lógica.
En programación, las variables (cuyo valor cambia) y constantes (valor fijo) son contenedores de memoria para datos; un array es una variable que agrupa múltiples elementos del mismo tipo (números, cadenas, etc.) bajo un solo nombre, mientras que una cadena (string) es un tipo de dato fundamental que es una secuencia de caracteres, a menudo tratada como un caso especial de array de caracteres o como un objeto propio, ambas pueden ser declaradas como variables o constantes.
Permite crear feeds (temas) y dashboards. Los dashboards incluyen botones, interruptores, gráficos, indicadores, etc. Cuenta gratuita con limitaciones de datos, tiempo y número de feeds.
Un sistema IoT básico está formado por:
Dispositivos con conectividad wifi (sensores y actuadores).
Rúter, que conecta los dispositivos a Internet.
Plataforma IoT en la nube, donde se almacenan y procesan los datos.
Aparatos informáticos (ordenadores, móviles, web) para visualizar y analizar la información.
¿Sabías que...
El diagrama de flujo es la representación gráfica de un algoritmo. Cuando este incluye símbolos especificos para su resolución , tambien se le denomina ordinograma
Documentacion
Cada fase del desarrollo debe ir acompañada de documentación con las especificaciones necesarias. Durante la programación se añaden comentarios al código para explicar su funcionamiento y facilitar su comprensión a otros programadores. Estos comentarios se indican mediante símbolos como // o /* */, que el compilador ignora.
Codificación del programa
La codificación consiste en traducir el algoritmo a un lenguaje de programación que el ordenador pueda entender, como Java, Python, C++ o Ruby. Para ello se utilizan entornos de desarrollo que facilitan la escritura del código fuente. Este código se guarda en archivos que posteriormente se traducen a lenguaje máquina mediante un compilador, dando lugar a programas ejecutables.
La sentencia switch es una estructura de control condicional utilizada en programación (JS, Java, C++) para seleccionar y ejecutar uno de múltiples bloques de código, basándose en el valor de una única expresión. Evalúa una variable contra varias etiquetas case, ejecutando el código correspondiente al primer valor coincidente, generalmente finalizando con break para evitar "caídas" a casos siguientes.
Almacena datos en la nube.
Usa el protocolo MQTT.
Permite visualizar datos en tiempo real.
Realiza análisis automáticos.
Puede compartir información con otros usuarios o plataformas.
Los datos se organizan en canales.
En la versión gratuita se puede enviar un dato cada 15 segundos como mínimo.
La programación en la sociedad actual
La programación es fundamental en la sociedad actual porque los ordenadores están presentes en casi todas las actividades cotidianas y permiten mejorar la calidad de vida mediante aplicaciones informáticas. Para comunicarse con los ordenadores se utilizan lenguajes de programación, que son conjuntos de símbolos y reglas lógicas que permiten crear programas y aplicaciones. Con el avance de la informática, la programación ha pasado de ser muy compleja (basada en ceros y unos) a utilizar lenguajes más accesibles y entornos visuales que facilitan el desarrollo de aplicaciones, incluso sin escribir código. Programar no consiste solo en conocer un lenguaje, sino en saber analizar problemas, dividirlos en pasos y aplicar el pensamiento lógico.
- Debido a la creciente importancia de la tecnología, se fomenta el aprendizaje de la programación desde edades tempranas mediante lenguajes como Scratch o App Inventor. En el ámbito profesional, existe una gran variedad de lenguajes utilizados para desarrollar aplicaciones de escritorio, móviles y web.
Esta fase consiste en estudiar detalladamente el problema que se quiere resolver para que el resultado final sea el esperado. Es una de las fases más importantes y complejas, ya que requiere identificar con precisión a quién va dirigido el software, qué debe hacer exactamente, en qué plataforma se desarrollará, qué recursos están disponibles y qué resultados se desean obtener. Un mal análisis puede provocar que el programa final no cumpla las expectativas iniciales.
¿Sabías que...
El Internet de las cosas (IoT) consiste en la conexión de dispositivos físicos a Internet para enviar y recibir datos desde plataformas en la nube. Estos dispositivos suelen ser sensores conectados a tarjetas electrónicas, capaces de medir datos como temperatura, humedad, presión, GPS, consumo eléctrico o aceleración.
El Machine Learning (ML), traducido al español como Aprendizaje Automático o Aprendizaje de Máquinas, es un subcampo de la Inteligencia Artificial (IA) que se enfoca en el desarrollo de algoritmos y técnicas que permiten a los ordenadores aprender e identificar patrones en grandes volúmenes de datos para tomar decisiones o realizar predicciones de forma autónoma.
El diseño de algoritmos es el proceso de crear una secuencia lógica y finita de pasos para resolver un problema específico, independientemente del lenguaje de programación, enfocándose en la eficiencia y la claridad. Implica analizar el problema, definir entradas y salidas, descomponerlo en subproblemas más pequeños (método "Divide y Vencerás") y representarlo mediante herramientas como pseudocódigo o diagramas de flujo antes de su implementación.
Pruebas y depuración
Una vez escrito el programa, es necesario realizar pruebas para detectar posibles errores de funcionamiento. Es importante comprobar todas las opciones del programa, ya que un fallo no detectado puede provocar errores durante su ejecución. Cuando se encuentran errores, deben corregirse antes de crear la versión final. Además, las actualizaciones permiten corregir errores detectados tras el lanzamiento del programa.
Carácteristicas :
Preciso: Las instrucciones deben ser claras y sin ambigüedades.
Definido: Debe producir el mismo resultado siempre que se ejecute con las mismas entradas.
Finito: Debe terminar después de un número limitado de pasos.
La estructura repetitiva "Mientras" (o while) ejecuta un bloque de instrucciones de forma iterativa mientras una condición booleana sea verdadera. Evalúa la condición al inicio de cada ciclo; si es falsa desde el principio, el código nunca se ejecuta. Se usa principalmente cuando el número de iteraciones es desconocido.
Un sistema IoT básico está formado por:
Dispositivos con conectividad wifi (sensores y actuadores).
Rúter, que conecta los dispositivos a Internet.
Plataforma IoT en la nube, donde se almacenan y procesan los datos.
Aparatos informáticos (ordenadores, móviles, web) para visualizar y analizar la información.
Programación
DANIEL MARIAN MORAR
Created on December 15, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Blackboard Presentation
View
Genial Storytale Presentation
View
Historical Presentation
View
Psychedelic Presentation
View
Memories Presentation
View
Animated Chalkboard Presentation
View
Chalkboard Presentation
Explore all templates
Transcript
PROGRAMACIÓN
Por Daniel Morar
Empezar
ÍNDICE
1. La programación en la sociedad actual. 2. Creación de un programa informático. 3. Diseño de algoritmos para la resolución de problemas. 4. Lenguajes de programación 5. Inteligencia artificial. 6. Aprendizaje automático o machine learning. 7. Internet de las cosas (IoT). 8. Big data. 9. Bases de datos distribuidas
La programación en la sociedad actual
Info
Creación de un programa informático
· Análisis del problema· Diseño del algoritmo · Codificación del programa · pruebas y depuración · Documentación
análisis del problema
+ info
DISEÑO DE ALGORITMOS
En esta fase se crean los algoritmos que permitirán resolver el problema planteado. Para representarlos se utilizan diagramas de flujo y pseudocódigo, que ayudan a organizar los pasos de forma lógica y clara. Es aquí donde realmente se estructura la solución del problema, ya que un algoritmo bien diseñado garantiza el correcto funcionamiento del programa antes de traducirlo a un lenguaje de programación concreto.
Más tipos:
Info
Info
Info
Diseño de algoritmos
Info
Info
Diagramas de Flujo
+ info
PSEUDOCÓDIGO
Se utiliza para describir un algoritmo en lenguaje natural. No existen reglas para su escritura, se suelen utilizar expresiones similares a las de lenguajes de programación
LENGUAJES DE PROGRAMACIÓN
Evolución Histórica de los Lenguajes
+ info
Sintaxis de los lenguajes de programaión
Variables y Constantes
Info
estructuras secuenciales
-Sentencias:
-Llamadas a funciones:
-Asignación:
Las sentencias son instrucciones que realizan acciones. Se suelen colocar en una linea del programa, seguida de ;
Ejecutan instrucciones que se encuentran fuera del programa
Permite el almacenamiento de un valor en una variable o una constante
Realizan sumas, restas, productos, divisiones y calculan el resto
-Operaciones aritméticas:
Estructuras selectivas
Sentencia if-else
Sentencia switch
Info
Info
Estructuras repetitivas
Mientras (while)
Las estructuras repetitivas, conocidas como bucles o lazos, permiten ejecutar un bloque de instrucciones varias veces de forma automática, deteniéndose cuando se cumple o deja de cumplirse una condición específica. Existen 3 tipos:
Hacer-Mientras (do-while)
Para (for)
Inteligencia artificial
TIPOS :
La Inteligencia Artificial (IA) es un conjunto de tecnologías que permiten a las computadoras simular la inteligencia humana, aprendiendo, razonando y realizando tareas autónomas como reconocer voz, imágenes y procesar lenguaje. Utiliza algoritmos y grandes volúmenes de datos para detectar patrones, tomar decisiones y mejorar su precisión con el tiempo.
- NLP
- DEEP LEARNING
- MACHINE LEARNING
- INTELIGENCIA ARTIFICIAL
Internet de las cosas
Internet de las cosas (IoT)
El big data es el conjunto de datos de gran tamaño y complejidad que proceden de fuentes digitales y que requieren aplicaciones específicas para ser gestionados. Se encarga de analizar grandes cantidades de datos para obtener patrones, tendencias futuras, relaciones ocultas y datos relevantes. Es muy útil para empresas, centros de investigación y organismos, ya que permite tomar decisiones de forma rápida y eficiente.
El IoT está presente en: La vida cotidiana (relojes inteligentes) La industria (seguimiento de flotas, contadores eléctricos). La agricultura (automatización del riego).
BIG DATA
+ info
+ info
Elementos de un sistema IoT
+ info
Protocolos de comunicación
Un protocolo de comunicaciones es un conjunto de reglas que permite que los dispositivos se comuniquen entre sí. Uno de los más usados en IoT es MQTT: El servidor se llama bróker. Los dispositivos conectados son clientes. Los datos se envían a un tema o topic. Funciones principales: Publicar: enviar datos al bróker. Suscribirse: recibir datos de un topic.
Plataformas IoT
Las plataformas IoT almacenan los datos enviados por los dispositivos y permiten analizarlos o enviarlos a otras aplicaciones.
ThingSpeak
Adafruit IO
+ info
+ info
Tarjetas electrónicas
Los sensores suelen estar controlados por tarjetas electrónicas con microcontroladores y conexión wifi. La más usada es la ESP32, que destaca por: Bajo consumo. Procesador rápido. Gran capacidad de memoria. Compatibilidad con muchos sensores y actuadores.
WeMos D1 R32 Basada en el chip ESP32. Compatible con Arduino UNO (mismos pines). Conectividad wifi y bluetooth. Se puede programar con Arduino IDE, MicroPython o ArduinoBlocks. Tiene pines digitales, analógicos, PWM, I2C y SPI. Permite detectar pulsaciones táctiles capacitivas.
Programación con ArduinoBlocks
ArduinoBlocks es una plataforma web de programación visual, similar a Scratch: Funciona online. Permite programar placas Arduino y ESP32. Usa bloques gráficos fáciles de aprender. Para cargar programas en la placa es necesario instalar ArduinoBlocks Connector. En la WeMos D1 R32 se selecciona el proyecto ESP32/WROOM.
MUCHAS GRACIAS
La estructura repetitiva for (o para) es un bucle en programación utilizado para ejecutar un bloque de instrucciones un número determinado de veces. Se caracteriza por compactar en una sola línea la inicialización, la condición de parada y el incremento/decremento de una variable de control, siendo ideal para iteraciones contadas.
La estructura repetitiva "Hacer-Mientras" (o do-while) es una sentencia de control que ejecuta un bloque de instrucciones al menos una vez, y luego repite la acción repetidamente mientras una condición booleana sea verdadera. A diferencia de la estructura "Mientras" (while), la condición se evalúa al final del bucle.
- Primera generación: Lenguaje Máquina- Segunda generación: Lenguaje ensamblador - Tecera generación: Lenguajes de alto nivel - Cuarta generación: Programación orientada a objetos - Quinta generación: Lenguaje natural e inteligencia artificial
La sentencia if-else es una estructura de control fundamental en programación que permite tomar decisiones ejecutando un bloque de código si una condición es verdadera (if) y otro diferente si es falsa (else). Actúa como un flujo condicional para manejar dos rutas de ejecución posibles, esencial en la toma de decisiones lógica.
En programación, las variables (cuyo valor cambia) y constantes (valor fijo) son contenedores de memoria para datos; un array es una variable que agrupa múltiples elementos del mismo tipo (números, cadenas, etc.) bajo un solo nombre, mientras que una cadena (string) es un tipo de dato fundamental que es una secuencia de caracteres, a menudo tratada como un caso especial de array de caracteres o como un objeto propio, ambas pueden ser declaradas como variables o constantes.
Permite crear feeds (temas) y dashboards. Los dashboards incluyen botones, interruptores, gráficos, indicadores, etc. Cuenta gratuita con limitaciones de datos, tiempo y número de feeds.
Un sistema IoT básico está formado por: Dispositivos con conectividad wifi (sensores y actuadores). Rúter, que conecta los dispositivos a Internet. Plataforma IoT en la nube, donde se almacenan y procesan los datos. Aparatos informáticos (ordenadores, móviles, web) para visualizar y analizar la información.
¿Sabías que...
El diagrama de flujo es la representación gráfica de un algoritmo. Cuando este incluye símbolos especificos para su resolución , tambien se le denomina ordinograma
Documentacion
Cada fase del desarrollo debe ir acompañada de documentación con las especificaciones necesarias. Durante la programación se añaden comentarios al código para explicar su funcionamiento y facilitar su comprensión a otros programadores. Estos comentarios se indican mediante símbolos como // o /* */, que el compilador ignora.
Codificación del programa
La codificación consiste en traducir el algoritmo a un lenguaje de programación que el ordenador pueda entender, como Java, Python, C++ o Ruby. Para ello se utilizan entornos de desarrollo que facilitan la escritura del código fuente. Este código se guarda en archivos que posteriormente se traducen a lenguaje máquina mediante un compilador, dando lugar a programas ejecutables.
La sentencia switch es una estructura de control condicional utilizada en programación (JS, Java, C++) para seleccionar y ejecutar uno de múltiples bloques de código, basándose en el valor de una única expresión. Evalúa una variable contra varias etiquetas case, ejecutando el código correspondiente al primer valor coincidente, generalmente finalizando con break para evitar "caídas" a casos siguientes.
Almacena datos en la nube. Usa el protocolo MQTT. Permite visualizar datos en tiempo real. Realiza análisis automáticos. Puede compartir información con otros usuarios o plataformas. Los datos se organizan en canales. En la versión gratuita se puede enviar un dato cada 15 segundos como mínimo.
La programación en la sociedad actual
La programación es fundamental en la sociedad actual porque los ordenadores están presentes en casi todas las actividades cotidianas y permiten mejorar la calidad de vida mediante aplicaciones informáticas. Para comunicarse con los ordenadores se utilizan lenguajes de programación, que son conjuntos de símbolos y reglas lógicas que permiten crear programas y aplicaciones. Con el avance de la informática, la programación ha pasado de ser muy compleja (basada en ceros y unos) a utilizar lenguajes más accesibles y entornos visuales que facilitan el desarrollo de aplicaciones, incluso sin escribir código. Programar no consiste solo en conocer un lenguaje, sino en saber analizar problemas, dividirlos en pasos y aplicar el pensamiento lógico.
Esta fase consiste en estudiar detalladamente el problema que se quiere resolver para que el resultado final sea el esperado. Es una de las fases más importantes y complejas, ya que requiere identificar con precisión a quién va dirigido el software, qué debe hacer exactamente, en qué plataforma se desarrollará, qué recursos están disponibles y qué resultados se desean obtener. Un mal análisis puede provocar que el programa final no cumpla las expectativas iniciales.
¿Sabías que...
El Internet de las cosas (IoT) consiste en la conexión de dispositivos físicos a Internet para enviar y recibir datos desde plataformas en la nube. Estos dispositivos suelen ser sensores conectados a tarjetas electrónicas, capaces de medir datos como temperatura, humedad, presión, GPS, consumo eléctrico o aceleración.
El Machine Learning (ML), traducido al español como Aprendizaje Automático o Aprendizaje de Máquinas, es un subcampo de la Inteligencia Artificial (IA) que se enfoca en el desarrollo de algoritmos y técnicas que permiten a los ordenadores aprender e identificar patrones en grandes volúmenes de datos para tomar decisiones o realizar predicciones de forma autónoma.
El diseño de algoritmos es el proceso de crear una secuencia lógica y finita de pasos para resolver un problema específico, independientemente del lenguaje de programación, enfocándose en la eficiencia y la claridad. Implica analizar el problema, definir entradas y salidas, descomponerlo en subproblemas más pequeños (método "Divide y Vencerás") y representarlo mediante herramientas como pseudocódigo o diagramas de flujo antes de su implementación.
Pruebas y depuración
Una vez escrito el programa, es necesario realizar pruebas para detectar posibles errores de funcionamiento. Es importante comprobar todas las opciones del programa, ya que un fallo no detectado puede provocar errores durante su ejecución. Cuando se encuentran errores, deben corregirse antes de crear la versión final. Además, las actualizaciones permiten corregir errores detectados tras el lanzamiento del programa.
Carácteristicas :
Preciso: Las instrucciones deben ser claras y sin ambigüedades. Definido: Debe producir el mismo resultado siempre que se ejecute con las mismas entradas. Finito: Debe terminar después de un número limitado de pasos.
La estructura repetitiva "Mientras" (o while) ejecuta un bloque de instrucciones de forma iterativa mientras una condición booleana sea verdadera. Evalúa la condición al inicio de cada ciclo; si es falsa desde el principio, el código nunca se ejecuta. Se usa principalmente cuando el número de iteraciones es desconocido.
Un sistema IoT básico está formado por: Dispositivos con conectividad wifi (sensores y actuadores). Rúter, que conecta los dispositivos a Internet. Plataforma IoT en la nube, donde se almacenan y procesan los datos. Aparatos informáticos (ordenadores, móviles, web) para visualizar y analizar la información.