1
PROGRAMACIÓN EN PYTHON
Lenguajes de programación
ÍNDICE
1. Introducción y contextualización práctica 3
2. ¿Qué es la programación? 4
3. Fases de la programación 4
4. Lenguajes informáticos 6
4. 1. Pseudocódigo 6
4. 2. Lenguajes de marcas 7
4. 3. Lenguajes de estilos 7
4. 4. Lenguajes de consultas 8
5. Caso práctico 1: “Automatizar el sistema de riego de un huerto urbano” 9
6. Caso práctico 2: “Información de una biblioteca” 10
7. Resumen y resolución del caso práctico de la unidad 10
8. Bibliografía 12
© Davante 978-84-10384-16-3
Reservados todos los derechos. Queda rigurosamente prohibida, sin la autorización escrita de los titulares del copyright, bajo
las sanciones establecidas en las leyes, la reproducción, transmisión y distribución total o parcial de esta obra por cualquier
medio o procedimiento, incluidos la reprografía y el tratamiento informático.
Objetivos
Entender qué es la programación.
Comprender la utilidad de los algoritmos.
Aprender las fases de la programación.
Identificar los distintos lenguajes de programación.
1. Introducción y contextualización práctica
Vivimos en una sociedad cada vez más digitalizada, donde la
tecnología desempeña un papel central en prácticamente
todos los ámbitos de la vida cotidiana. Desde los dispositivos
móviles hasta los sistemas de control industrial, la informática
está presente en todo, y en el corazón de esta revolución
se encuentra la programación. Entender cómo funciona
la programación es esencial no solo para quienes desean
dedicarse profesionalmente a la informática, sino también
para cualquier persona que quiera comprender el mundo
digital que le rodea. Este tema ofrece una visión general de
los fundamentos de la programación, sus fases, los distintos
tipos de lenguajes informáticos y su utilidad en el desarrollo de
soluciones tecnológicas. Fig.1. Lenguajes de programación.
A continuación, vamos a plantear un caso práctico a través del cual podremos aproximarnos de forma
práctica a la teoría de este tema.
Escucha el siguiente audio donde planteamos la contextualización práctica de este tema. Encontrarás su
resolución en el apartado ‘Resumen y resolución del caso práctico’.
Audio Intro. “Semáforos”
[Link]
com/1pzixCfvBQVsjjc8hf
4
T.1. Lenguajes de programación
Programación en Python
2. ¿Qué es la programación?
La programación, un pilar fundamental en la era digital, se encuentra presente en casi todos los dispositivos
electrónicos que utilizamos diariamente. Desde los teléfonos inteligentes hasta las televisiones y los
electrodomésticos modernos, la programación hace posible la comodidad y funcionalidad que disfrutamos
hoy en día.
Prácticamente todos los dispositivos electrónicos contienen un código de programación que dicta su
funcionamiento. Este código es el resultado del avance en la informática, permitiendo a los dispositivos no
solo realizar cálculos complejos de forma rápida, sino también operar de manera precisa y eficiente. Para
entender cómo funcionan estos dispositivos y ampliar sus capacidades, es crucial aprender a comunicarnos
con ellos mediante la programación.
En términos generales, la programación es el proceso de diseñar y organizar una serie de acciones para
realizar una tarea específica. En el ámbito de la informática, la programación se refiere a la creación de
algoritmos que, al ser codificados en un lenguaje informático, pueden ser ejecutados por una computadora
para desarrollar programas o aplicaciones.
Audio 1. “Algoritmo”
[Link]
ioO09vUs5Wj3JMXrkp
La programación nos permite darle instrucciones precisas a los dispositivos electrónicos para que realicen
tareas de manera automática. Este proceso es esencial para desarrollar nuevas tecnologías y mejorar las
existentes, permitiendo una interacción más eficiente y efectiva con el mundo digital.
Entender la programación abre un sinfín de posibilidades, desde la creación de aplicaciones y sitios web
hasta la automatización de tareas cotidianas. A medida que el mundo se vuelve más digital, la habilidad de
programar se convierte en una herramienta invaluable para el desarrollo personal y profesional.
3. Fases de la programación
La programación tiene como objetivo desarrollar un programa que realice una tarea específica o resuelva
un problema. Para lograr esto, el proceso de programación se divide en varias fases fundamentales. Estas
fases garantizan que el programa sea eficiente y funcione correctamente.
• Fase de análisis:
• Definición del problema: En esta etapa, se define claramente el problema o la tarea que se
desea resolver. Es crucial entender todos los aspectos del problema para poder abordarlo
adecuadamente.
5
T.1. Lenguajes de programación
Programación en Python
• Análisis del problema: Aquí se analiza en profundidad la naturaleza del problema. Se recopila
toda la información necesaria y se identifican las necesidades y restricciones.
• Diseño de una solución general: Se elabora un plan general para resolver el problema, conocido
como algoritmo. Este algoritmo describe los pasos lógicos necesarios para alcanzar la solución.
• Prueba de la solución general: Se prueba la viabilidad de la solución propuesta. Si la solución
es efectiva, se avanza a la siguiente fase. Si no, se regresa a la etapa de diseño para ajustar
el enfoque.
• Fase de implementación:
• Codificación de una solución específica: Se traduce el
algoritmo a un lenguaje de programación específico.
Esta fase implica escribir el código que la computadora
ejecutará.
• Pruebas y testeo: Una vez codificado el programa, se
realizan pruebas exhaustivas para detectar y corregir
errores. Esto incluye pruebas de lógica, sintaxis
y ejecución. Si el programa no funciona como se
esperaba, puede ser necesario regresar a la fase de
análisis para reevaluar la solución.
• Lanzamiento del programa y mantenimiento:
Si las pruebas son exitosas, el programa se lanza
oficialmente. Después de esto, comienza la fase de
mantenimiento, donde se solucionan errores no
detectados con anterioridad y se añaden nuevas
funcionalidades. Fig.2. Programación.
• Documentación: Se crea la documentación del programa, incluyendo manuales detallados
sobre el proceso de creación y su funcionamiento. Esta documentación es crucial tanto para los
desarrolladores como para los usuarios finales.
Recuerda que...
Un buen programador debe considerar el problema desde varias
perspectivas y elegir la solución más eficiente. A veces, lo que parece claro
no funciona como se espera, por lo que es crucial estar dispuesto a probar
distintas soluciones hasta hallar la adecuada.
6
T.1. Lenguajes de programación
Programación en Python
4. Lenguajes informáticos
Un lenguaje informático es un sistema de comunicación
diseñado para expresar instrucciones y procesos de forma que
puedan ser entendidos y, en algunos casos, ejecutados por un
sistema informático. Se pueden dividir en dos categorías:
• Lenguajes informáticos formales: Estos lenguajes
están compuestos de un conjunto de símbolos y reglas
que definen las estructuras válidas del lenguaje y su
significado. Aquí se encuentran los lenguajes de marca,
de estilos, de consultas y de programación.
• Lenguajes informáticos no formales: No disponen de
una estructura estricta o sintaxis determinada. Aquí
encontramos pseudocódigo y diagramas de flujo.
Independientemente de la categoría a la que pertenezcan,
todos los lenguajes informáticos son además lenguajes
artificiales, ya que se han creado de forma deliberada para
facilitar la interacción con los sistemas informáticos. Fig.3. Diagrama de flujo.
4. 1. Pseudocódigo
El pseudocódigo es un lenguaje informático artificial diseñado para describir procesos algorítmicos de
manera simplificada. Se considera una herramienta de alto nivel porque proporciona una explicación que
abstrae los detalles técnicos y complejos, enfocándose en los conceptos fundamentales. Esta característica
es similar a la de los lenguajes de programación de alto nivel. Otras características son:
• Simplicidad y claridad: El pseudocódigo no sigue las reglas de sintaxis de ningún lenguaje de
programación específico. Utiliza una terminología general y a menudo incorpora convenciones de
lenguajes de programación tradicionales, como estructuras de control y bucles.
• Accesibilidad: Al no depender de un entorno de programación específico, el pseudocódigo se puede
escribir en cualquier medio, ya sea en papel o en un procesador de texto.
Entre sus ventajas destacan:
• Facilita el entendimiento: Es una herramienta que ayuda a comprender un algoritmo sin necesidad
de conocer los detalles técnicos necesarios para su implementación en un lenguaje de programación.
• Abstracción: Omite detalles innecesarios para la comprensión del algoritmo, centrándose en los
pasos lógicos y la estructura general.
7
T.1. Lenguajes de programación
Programación en Python
4. 2. Lenguajes de marcas
Los lenguajes de marcas, conocidos como markup languages, son sistemas utilizados para estructurar
y presentar documentos mediante el uso de etiquetas. Estas etiquetas contienen información sobre la
estructura y el formato del contenido, facilitando su interpretación y visualización.
Se clasifican en tres grupos:
• Lenguajes de presentación: Utilizados para indicar el formato en el que debe presentarse el
contenido. Ejemplo: HTML con etiquetas como <b> para negrita o <i> para cursiva.
• Lenguajes de procedimiento: Estas marcas indican cómo debe procesarse el contenido. Ejemplo:
instrucciones de impresión en un documento.
• Lenguajes descriptivos: Las etiquetas describen el contenido sin especificar su presentación.
Ejemplo: XML, que define datos y su estructura sin preocuparse por su formato visual.
Un ejemplo de lenguaje de marcas descriptivo sería:
<nota>
<destinatario>El Alumno</destinatario>
<remitente>El Docente</remitente>
<mensaje>Este es un ejemplo de lenguaje de marcas</mensaje>
</nota>
Código.1. Ejemplo de lenguaje de marcas descriptivo.
Sabías que...
HTML es el lenguaje de marcas más extendido, fundamental para la
creación de páginas web. Utiliza etiquetas que estructuran el contenido
web, como <h1> para encabezados y <p> para párrafos, definiendo cómo
se presenta la información en un navegador.
4. 3. Lenguajes de estilos
Los lenguajes de estilos, también conocidos como hojas de estilo, se usan para definir la presentación de
documentos estructurados. El lenguaje de estilos más popular es CSS (Cascading Style Sheets), que se
emplea para dar estilo a documentos generados por lenguajes de marcas como HTML, XHTML y SVG.
<p style=”color:red”>Soy un párrafo con las letras en rojo</p>
Código.2. Ejemplo de lenguaje CSS sobre una etiqueta HTML.
8
T.1. Lenguajes de programación
Programación en Python
Ejemplo de CSS aplicado a HTML:
• En HTML, la etiqueta <p></p> se utiliza para crear un párrafo.
• El atributo style permite incorporar estilos CSS directamente dentro de una etiqueta HTML.
Existen varias formas de aplicar CSS a un documento:
• En línea: Se incluyen estilos directamente en la etiqueta de HTML.
• Internamente en el documento: Todos los estilos se definen dentro de una sección <style> en el
documento HTML.
• Externamente al documento: Los estilos se almacenan en un archivo CSS separado, que se vincula
al documento HTML.
4. 4. Lenguajes de consultas
Los lenguajes de consultas son herramientas esenciales para acceder, consultar y gestionar la información
en bases de datos y sistemas de información. Estos lenguajes permiten a los usuarios interactuar con los
datos de manera eficiente y precisa.
Los lenguajes de consultas se pueden clasificar en:
• Lenguajes de consulta de bases de datos: Utilizados para interactuar con bases de datos
estructuradas. Permiten realizar operaciones como seleccionar, insertar, actualizar y eliminar datos.
• Lenguajes de consulta de recuperación de información: Enfocados en la búsqueda y recuperación de
información en sistemas que no necesariamente siguen una estructura de base de datos relacional.
Los lenguajes de consultas más utilizados son:
• SQL (Structured Query Language): Principalmente usado para consultar bases de datos relacionales.
Permite realizar una amplia variedad de operaciones en los datos almacenados.
• XQuery: Diseñado para consultar datos en formato XML. Permite extraer y manipular información
almacenada en documentos XML.
• OQL (Object Query Language): Empleado para consultas en bases de datos orientadas a objetos.
Facilita la recuperación de datos almacenados en forma de objetos.
Vídeo 1. “Actores implicados en el proceso
creativo”
[Link]
9
T.1. Lenguajes de programación
Programación en Python
A continuación un enlace de interés sobre el Mapa del Empleo:
Enlaces de interés...
El Mapa del Empleo es una herramienta interactiva que, gracias a las
tecnologías de Inteligencia Artificial y Big Data, analiza la oferta laboral en
España y muestra las profesiones y habilidades digitales más demandadas.
[Link]
5. Caso práctico 1: “Automatizar el sistema de riego
de un huerto urbano”
Planteamiento: Laura es una joven aficionada a la jardinería
que ha instalado un pequeño huerto urbano en la terraza de
su casa. Con el paso del tiempo, se da cuenta de que olvidarse
de regar algunas plantas o hacerlo en exceso está afectando
su crecimiento. Como estudiante de informática, se plantea
diseñar un pequeño sistema automatizado que controle el riego
en función de la humedad del suelo. Para ello, decide aplicar las
fases de la programación y comenzar diseñando el algoritmo
en pseudocódigo. Fig.4. Pseudocódigo.
Nudo: Laura inicia la fase de análisis, donde define el problema: quiere que un sistema detecte si la tierra
está seca y, si es así, active una bomba de agua durante unos segundos. Investiga cómo funcionan los
sensores de humedad y establece que, por debajo de cierto umbral, el riego debe activarse. Con esta
información, crea un algoritmo en pseudocódigo para definir el funcionamiento general del sistema, tal
como se muestra en la imagen.
Una vez validada la lógica, pasa a la fase de implementación, traduciendo el pseudocódigo a un lenguaje de
programación como Python, utilizando una placa de desarrollo (como Arduino o Raspberry Pi) conectada
al sensor de humedad y al sistema de riego.
Desenlace: Tras varias pruebas y ajustes, el sistema automatizado de riego funciona correctamente: mide
la humedad y activa el riego solo cuando es necesario. Laura lanza su solución y documenta todo el
proceso para poder mantenerlo o mejorarlo en el futuro. Gracias a seguir de forma ordenada las fases de
la programación y utilizar herramientas como el pseudocódigo, logró resolver un problema real con una
solución eficiente y funcional, integrando conocimientos teóricos en un contexto práctico.
10
T.1. Lenguajes de programación
Programación en Python
6. Caso práctico 2: “Información de una biblioteca”
Planteamiento: En una biblioteca escolar, el personal tiene dificultades para gestionar la gran cantidad de
información relacionada con libros, préstamos y usuarios. Las búsquedas manuales en registros impresos
o archivos de texto resultan lentas y poco eficientes. Para mejorar la organización, el centro decide utilizar
una base de datos digital. Sin embargo, los trabajadores necesitan una forma de interactuar con esa base
de datos de manera clara y estructurada.
Nudo: Durante el proceso de implementación, el personal
descubre los lenguajes de consultas, herramientas diseñadas
para recuperar y organizar información de manera rápida.
En particular, aprenden que existen diferentes tipos de estos
lenguajes: unos permiten consultar bases de datos estructuradas
(como las de una biblioteca), mientras que otros se centran en
recuperar información en sistemas menos organizados, como
archivos de texto o documentos extensos. Uno de los lenguajes
más útiles es SQL, que permite seleccionar libros disponibles,
listar usuarios con préstamos activos, o comprobar cuántas
veces se ha solicitado un título específico. Aunque no escriben
directamente las consultas, comprenden que estos lenguajes
son esenciales para comunicarse con el sistema y obtener
respuestas precisas. Fig.5. Biblioteca informatizada.
Desenlace: Gracias a la integración de un sistema de base de datos gestionado mediante un lenguaje de
consultas, el personal de la biblioteca ahora puede acceder a la información de forma ordenada y rápida.
Pueden consultar el estado de los libros, localizar ejemplares concretos y llevar un control eficiente del
préstamo de material. Este caso demuestra cómo el conocimiento básico sobre lenguajes de consultas
permite mejorar la gestión de información en contextos reales, incluso sin necesidad de conocimientos
técnicos avanzados.
7. Resumen y resolución del caso práctico de la
unidad
La programación es un componente esencial en la era digital, presente en prácticamente todos los
dispositivos electrónicos modernos. Permite que estos funcionen de manera precisa y eficiente mediante la
ejecución de instrucciones codificadas. Programar consiste en diseñar algoritmos —secuencias ordenadas
y finitas de instrucciones— que resuelven problemas o automatizan tareas. El proceso de programación
se estructura en fases, comenzando con el análisis y la definición del problema, pasando por el diseño de
una solución general, la codificación del algoritmo, pruebas exhaustivas y, finalmente, el mantenimiento
y la documentación del programa.
11
T.1. Lenguajes de programación
Programación en Python
Existen diversos lenguajes informáticos que facilitan esta tarea, los cuales se clasifican en formales (como
los lenguajes de marcas, estilos, consultas y programación) y no formales (como el pseudocódigo y
los diagramas de flujo). El pseudocódigo permite representar algoritmos de forma clara y sencilla, sin
necesidad de conocimientos técnicos profundos. Los lenguajes de marcas estructuran la información en
documentos (como HTML o XML), mientras que los lenguajes de estilos como CSS definen su apariencia.
Por su parte, los lenguajes de consultas, como SQL o XQuery, permiten interactuar con bases de datos.
Finalmente, los lenguajes de programación, que pueden ser de bajo, medio o alto nivel, hacen posible
la creación de software, siendo los de alto nivel como Python o JavaScript los más accesibles para los
programadores actuales.
Pseudocódigo
Lenguajes
informáticos no
formales
Diagramas de flujo De presentación
Lenguajes de
De procedimiento
marcas
Descriptivo
LENGUAJES INFORMÁTICOS
Lenguajes de
estilos
De base de datos
Lenguajes
informáticos Lenguajes de
formales consultas De recuperación
de información
Lenguaje de
máquina
De bajo nivel
Lenguaje
esamblador
Lenguajes de
De medio nivel
programación
Lenguajes
compilados
De alto nivel
Lenguajes
interpretados
Fig.6. Esquema resumen del tema.
12
T.1. Lenguajes de programación
Programación en Python
Resolución del caso práctico de la unidad
Durante la fase inicial del desarrollo, el equipo analiza las opciones disponibles. Para comunicarse con el
hardware del semáforo —como los sensores y las luces—, se requiere un lenguaje de bajo nivel, que permita
un control directo del sistema. Sin embargo, para la lógica que gestiona los tiempos y las condiciones
del tráfico, el equipo opta por un lenguaje de alto nivel, que facilita la escritura, la comprensión y el
mantenimiento del programa. De este modo, combinan diferentes niveles de lenguajes de programación
para adaptarse a las distintas necesidades del sistema.
Además, se discute la posibilidad de usar un lenguaje de medio nivel para ciertas funciones, ya que este
tipo de lenguajes ofrece un equilibrio entre eficiencia en el uso del hardware y facilidad de programación,
lo cual es útil en sistemas embebidos como este.
Finalmente, el sistema de control de semáforos se implementa con éxito gracias a la correcta elección de
los tipos de lenguajes de programación en función de su nivel de abstracción.
8. Bibliografía
García, D., & Romero, J. (2021). Fundamentos de programación: Algoritmos y estructuras de datos. Ediciones Académicas.
Gutiérrez, M. L., & Pérez, R. (2020). Introducción a los lenguajes de programación. Alfaomega Grupo Editor.
Joyanes Aguilar, L. (2019). Fundamentos de programación: Algoritmos, estructuras de datos y orientación a objetos. McGraw-
Hill Education.
Sierra, R., & Gutiérrez, J. (2018). Lenguajes informáticos y bases de datos. Editorial Paraninfo.
Wirth, N. (2013). Algorithms + Data Structures = Programs. Prentice Hall.