# data[].attributes.body
Integrantes:

Paulina Estrada

Jeiner Andrés Quejada

José Alejandro Durango

# data[].attributes.body
En este trabajo estaremos abordando temas que van directamente relacionados con los conceptos básicos de las Bases de datos relacionales

# data[].attributes.attachment_caption
Desarrolladores Backend, Front-end y Fullstack

# data[].attributes.body
Backend: Profesional que desarrolla y mantiene el software del servidor, no visible al usuario.

Un ejemplo de este es la seguridad de aplicaciones contra ataques comunes.

Front-end: Programador encargado de la parte visual de páginas web y aplicaciones, enfocado en validación de entradas y autenticación de usuarios.

Un ejemplo de este es Spotify: Plataforma de música que ofrece una experiencia personalizada según los gustos del usuario.

Fullstack: Profesional que trabaja en todas las etapas de desarrollo, coordinando front-end y back-end.

# data[].attributes.body
Es un programa que actúa como interfaz de usuario u un sistema operativo; podemos definirlo también como el intérprete de órdenes o de comandos, en otras palabras, hace de intermediario entre el usuario y el sistema operativo.

Un ejemplo de Shell en un ambiente informático es la Terminal de Linux, que se puede abrir con la combinación de teclas Ctrl + Alt + T

# data[].attributes.body
es un entorno de desarrollo integrado (Integrated Development Environment), es una aplicación de software que ayuda a los programadores a desarrollar código de sotfware de manera eficiente, aumentando la productividad de desarrolladores al combinar capacidades en una aplicación facíl de usar.

Eclipse: Un IDE popular y de código abierto

# data[].attributes.body
Python es un lenguaje de programación que se utiliza para crear software, aplicaciones web, analizar datos, automatizar tareas y más, el IDE es un entorno de desarrollo integrado que permite escribir y ejecutar programas de Python.

PyCharm: el IDE de Python para la ciencia de datos y el desarrollo web.

# data[].attributes.body
La sintaxis en Python es el conjunto de reglas que define cómo escribir y ejecutar (Escribirá e interpretará) un programa en este lenguaje de programación.

= (Para asignar un dato a una variable)

# data[].attributes.body
Es la vida útil de una aplicación del software, el término se refiere a todo el proceso desde el momento que se concibe la idea hasta el momento en que se retira del uso.

El ciclo de vida de desarrollo del software es el proceso, planificación, análisis, diseño, implementación, pruebas, mantenimiento e información en hardware y software.

# data[].attributes.body
Los principios del álgebra de Booleana son las propiedades conmutativa, asociativa y distributiva, y los operadores AND, OR y NOT.

Propiedades básicas

Conmutativa: a + b = b + a y a ⋅ b = b ⋅ a

Asociativa: (a + b) + c = a + (b + c) y (a ⋅ b) ⋅ c = a ⋅ (b ⋅ c)

Distributiva: a + (b ⋅ c) = (a + b) ⋅ (a + c) y a ⋅ (b + c) = (a ⋅ b) + (a ⋅ c)

# data[].attributes.body
Son herramienta que permite determinar los valores de verdad de una expresión o función lógica.

puede determinarse si las proposiciones que se analizan son una verdad formal o no.

# data[].attributes.body
es un programador de software neerlandés, mejor conocido por ser el creador del lenguaje de programación Python. Nació el 31 de enero de 1956 en los Países Bajos. Su aporte más significativo y popular a la humanidad es precisamente la creación de Python.

Aporte de Guido van Rossum:

Creación de Python: En 1989, Guido van Rossum empezó a trabajar en Python como un proyecto para hacer un lenguaje de programación fácil de aprender y utilizar, y lo liberó públicamente en 1991. Python se caracteriza por su sintaxis sencilla y clara

Impacto: Python se ha convertido en uno de los lenguajes más populares y usados en la actualidad, debido a su versatilidad y amplia comunidad de desarrolladores.

EJEMPLO Python

print("¡Hola, mundo!")

# data[].attributes.body
Es un argentino graduado y docente de ingeniería informática de la faculta de ingeniería y ciencias hídricas, de la universidad nacional de litoral obtuvo el reconocimiento "September 'Community Choice' Project Of The Month" por su proyecto PSeInt

APORTE Se trata de una herramienta multiplataforma (probado en Microsoft Windows, GNU/Linux y Mac OS X), totalmente libre y gratuita (licencia GPLv2), que tiene como objetivo asistir a docentes y estudiantes de habla hispana en la construcción de programas o algoritmos computacionales.

IMPACTO: Creo una herramienta educativa que ha tenido un gran impacto en la formación de programadores, especialmente en el contexto de iniciación a la programación y en entornos educativos. PSeInt (abreviatura de "PseudoIntérprete") es un entorno de desarrollo que permite escribir algoritmos en pseudocódigo de una manera sencilla y amigable

# data[].attributes.body
Software y Hardware son dos componentes fundamentales en la computación y las tecnologías digitales.

El software es el conjunto de instrucciones, programas y aplicaciones que permiten que un dispositivo electrónico, como una computadora, teléfono o tablet, realice tareas específicas

TIPOS DE SOFTWARE:

·         Software de Sistema: Es el que gestiona los recursos del hardware y permite que otros programas se ejecuten. Ejemplos incluyen:

Sistemas Operativos: Windows, macOS, Linux.

Controladores de Hardware: Software que permite que el sistema operativo interactúe con los dispositivos físicos.

Software de Aplicación: Son programas diseñados para realizar tareas específicas para el usuario. Ejemplos incluyen:

Procesadores de texto: Microsoft Word, Google Docs.

Navegadores web: Google Chrome, Mozilla Firefox.

Juegos: Fortnite, Minecraft.

Aplicaciones de productividad: Excel, PowerPoint.

Software de Desarrollo: Programas que los desarrolladores usan para crear otros programas. Ejemplos:

Entornos de desarrollo integrado (IDE): Visual Studio, Eclipse.

Lenguajes de programación: Python, Java.

El hardware es el conjunto de componentes físicos que conforman un sistema de computación. Es todo lo que puedes tocar físicamente, como la caja de la computadora, el teclado, la pantalla y los circuitos internos.

Tipos de Hardware:

·         Hardware de Entrada: Dispositivos que permiten al usuario interactuar con la computadora.

Ejemplos: Teclado, ratón, micrófono, cámara web.

·         Hardware de Salida: Dispositivos que permiten que la computadora comunique información al usuario.

Ejemplos: Monitor, impresora, altavoces.

·         Hardware de Almacenamiento: Dispositivos que permiten guardar y recuperar datos.

Ejemplos: Disco duro, SSD, unidades flash USB, discos ópticos (CD, DVD).

  Hardware de Procesamiento: Componentes que realizan los cálculos y procesamientos de datos.

Ejemplos: CPU (Unidad Central de Procesamiento), GPU (Unidad de Procesamiento Gráfico).

  Hardware de Comunicación: Dispositivos que permiten la comunicación entre computadoras y otros dispositivos.

Ejemplos: Módems, tarjetas de red, Wi-Fi.

# data[].attributes.body
El término "responsive" se refiere a un enfoque de diseño web que asegura que las páginas web se adapten correctamente a diferentes tamaños de pantalla y dispositivos

1.     Fluid Grid Layout: En lugar de usar tamaños fijos (como píxeles), el diseño "responsive" se basa en una cuadrícula fluida

2.     Media Queries: Son reglas de CSS que permiten aplicar diferentes estilos en función de las características del dispositivo

3.     Imágenes Flexibles: Las imágenes y otros elementos multimedia se deben ajustar automáticamente al tamaño de la pantalla.

4.     Diseño Adaptable: No solo se trata de hacer que la página se vea bien, sino también de ofrecer una experiencia de usuario adecuada,

5.     Mobile First: Un enfoque donde el diseño y la experiencia de usuario se crean primero para dispositivos móviles y luego se ajustan para pantallas más grandes

# data[].attributes.body
DICS es un acrónimo que se refiere a las cuatro etapas que conforman una jerarquía de procesamiento de datos en el contexto del manejo y uso de la información: Dato, Información, Conocimiento y Sabiduría.

Dato: es la representación de hechos, cifras, o elementos sin un contexto o interpretación. Son hechos aislados que no tienen significado por sí mismos. Los datos pueden ser números, palabras o cualquier tipo de entrada que aún no se haya procesado para tener un significado.

Ejemplo: "123", "Juan", "5", "Madrid".

Características: Los datos son piezas básicas que pueden no tener valor por sí mismos.

Información se obtiene cuando los datos se organizan, se procesan o se les da un contexto, lo que les da significado. Es el resultado de la interpretación de los datos en relación con un contexto específico, haciendo que estos sean útiles y comprensibles.

·         Ejemplo: "Juan tiene 123 puntos en su examen de matemáticas".

·         Características: La información es el dato procesado y contextualizado, lo que facilita la comprensión.

Conocimiento es el resultado de la comprensión de la información, a menudo enriquecida por la experiencia, las habilidades y el análisis. Es el entendimiento profundo de los patrones, relaciones y procesos que emergen de la información.

Ejemplo: "Juan sabe cómo resolver ecuaciones matemáticas debido a su estudio y práctica."

Características: El conocimiento implica la capacidad de aplicar la información a situaciones concretas, lo que se traduce en habilidades, juicios y capacidades.

Sabiduría es el nivel más alto de la jerarquía, que implica no solo tener conocimiento, sino también la capacidad de tomar decisiones acertadas y éticas. La sabiduría se refiere a la capacidad de aplicar el conocimiento de manera efectiva

·         Ejemplo: "Juan sabe cuándo aplicar ciertos métodos matemáticos y cuándo optar por estrategias más sencillas, reconociendo qué es más adecuado en cada contexto."

·         Características: La sabiduría se refiere a la capacidad de usar el conocimiento de manera ética, prudente y con una visión a largo plazo.

# data[].attributes.body
Caracteriscas algoritmo:

·        Secuencial: Los pasos deben seguir un orden específico.

·        Finito: Un algoritmo siempre debe terminar después de un número limitado de pasos.

·        Determinista: En cada paso, el algoritmo debe dar un resultado claro y sin ambigüedad.

·        Entrada y Salida: Los algoritmos reciben una entrada (datos de entrada) y producen una salida (resultado).

·        Eficiencia: Idealmente, un algoritmo debe ser eficiente en el uso de recursos como tiempo y memoria.

Tipos de Algoritmos:

1.     Algoritmos de Búsqueda

2.     Algoritmos de Ordenación:

3.     Algoritmos de Dividir y Conquistar

4.     Algoritmos de Programación Dinámica:

5.     Algoritmos Voraces (Greedy):

6.     Algoritmos Recursivos:

EJEMPLO:

# data[].attributes.headline
Pasos para resolver un Algoritmo de forma libre

# data[].attributes.subject
Pasos para resolver un Algoritmo de forma libre

# data[].attributes.body
1.   Definir el Problema

2.   Establecer entradas

3.   Establecer salidas

4.   Diseñar pasos

5.   Escribir el algoritmo

6.   Verificar algoritmo

7.   Ejecutar algoritmo

EJEMPLO:

1. Definir el Problema:

Es importante comprender claramente qué es lo que se quiere lograr. ¿Cuál es el objetivo? ¿Qué tarea o problema se debe resolver?

2. Establecer las Entradas:

Determina qué datos o información necesitas para resolver el problema. Las entradas pueden ser números, palabras o cualquier tipo de dato necesario.

3. Establecer las Salidas:

Define qué resultados o salidas esperas obtener después de procesar los datos. ¿Qué quieres lograr con el algoritmo?

4. Diseñar los Pasos:

Piensa en los pasos lógicos que debes seguir para alcanzar la solución. Los pasos deben ser claros, secuenciales y fáciles de entender.

5. Escribir el Algoritmo:

Escribe los pasos del algoritmo en pseudocódigo o en un diagrama de flujo. Asegúrate de que sean comprensibles y que cubran todas las posibles situaciones.

6. Verificar el Algoritmo:

Repasa el algoritmo para asegurarte de que funciona correctamente. A veces, esto implica probarlo con diferentes entradas para ver si se obtiene el resultado esperado.

7. Ejecutar el Algoritmo:

Finalmente, lleva a cabo el algoritmo. Si estás trabajando en un programa, ejecuta el código y observa si produce el resultado correcto.

# data[].attributes.body
Es una representación de hechos, cifras, observaciones o cualquier otro tipo de información que, por sí sola, no tiene contexto ni significado completo.

1.     Datos numéricos

2.     Datos de texto

3.     Datos booleanos

4.     Datos fecha y hora

5.     Datos de enumeración

6.     Datos imagen y multimedia

EJEMPLO:

Datos Numéricos:

El precio de un artículo: $50.00

El stock disponible: 200 unidades

Datos de Texto:

Nombre del artículo: "Camiseta Roja"

Categoría: "Ropa"

Datos Booleanos:

¿Está disponible en stock? True (verdadero)

Datos de Fecha y Hora:

Fecha de la compra: 2025-02-21

# data[].attributes.body
Es una representación de un algoritmo usando un lenguaje que se asemeja al código de programación pero de forma más simple y entendible para los humanos.

# data[].attributes.headline
Variables en los algoritmos y las clases de variables

# data[].attributes.subject
Variables en los algoritmos y las clases de variables

# data[].attributes.body
Una variable es un espacio en memoria al que se le asigna un nombre y en el que se guarda información que puede ser utilizada o modificada en diferentes partes del algoritmo.

1.      Variables numéricas

2.      Variables de texto

3.      Variables booleanas

4.      Variables fecha y hora

5.      Variables enumeración

# data[].attributes.body
Son símbolos o palabras clave que indican una operación o acción que se debe realizar sobre los datos. Estos operadores son esenciales para el procesamiento de información en un algoritmo, ya que permiten realizar cálculos, comparaciones y otras manipulaciones de datos.

# data[].attributes.body
En un algoritmo, la asignación es el proceso de asignar recursos a tareas. El objetivo es optimizar algún objetivo, como reducir costos o tiempos de producción, Por ejemplo, en un problema de programación lineal, se pueden asignar empleados a quienes se les debe dar trabajo.

# data[].attributes.body
La lectura de datos en un algoritmo es el proceso de obtener información de una fuente y colocarla en la memoria de una computadora para procesarla.

# data[].attributes.body
R: Estructura Es un sistema de representación gráfica de un idioma
Se basa en signos trazados o grabados sobre un soporte
Los principios generales de la escritura son la representación mediante logogramas y la codificación mediante grafemas.

-Impresión
Es el proceso de reproducir textos e imágenes, generalmente con tinta sobre papel
Es posible imprimir sobre gran diversidad de materiales
Para imprimir un documento, se busca la pestaña Archivo y se selecciona imprimir.

-Almacenamiento
Es un sistema para guardar información digital para uso actual o futuro
Los datos se almacenan en archivos, los archivos se organizan en carpetas y las carpetas se organizan en una jerarquía de directorios y subdirectorios
Los dispositivos de almacenamiento de datos se pueden dividir en dos categorías principales: almacenamiento de área directa y almacenamiento basado en red
Los sistemas de almacenamiento digital de documentos permiten a las empresas mantener sus archivos en un entorno digital.

# data[].attributes.body
Las pruebas de escritorio son una herramienta que permite verificar el funcionamiento de un programa, desde su entrada hasta su salida. Se pueden realizar sin ejecutar el código de la aplicación.

-Para realizar pruebas de escritorio se puede:
Crear una tabla con las columnas de sentencias, variables y arreglos
Ingresar datos de prueba
Anotar la sentencia que se ejecuta y el resultado de esta sentencia en la columna respectiva
Las pruebas de escritorio son una herramienta vital para la formación de cualquier programador. Permiten: Buscar errores en un programa, Entender cómo funciona un algoritmo, Desarrollar habilidades cognitivas esenciales para la programación.

Las pruebas de software son el proceso de evaluar y verificar que un producto o aplicación de software hace lo que se supone que debe hacer.
Entre los tipos de pruebas de software se encuentran: Pruebas unitarias o unit testing, Pruebas manuales, Pruebas automatizadas, Pruebas estáticas

# data[].attributes.body
R: Un diagrama de flujo es una representación gráfica de los pasos que se siguen para completar un proceso. También se le conoce como flujograma.

-Los diagramas de flujo son útiles para:
Capacitar a alguien para un nuevo trabajo
Documentar procesos
Planificar
Tomar decisiones
Hacer presentaciones e informes
Diseñar procesos más ágiles
Mejorar los procesos de una empresa
Agilizar los sistemas y el flujo de trabajo cotidiano de una empresa
Los diagramas de flujo se componen de símbolos, formas y flechas que ilustran cómo un paso lleva a otro.
Existen diferentes tipos de diagramas de flujo, entre ellos:
De decisión, Lógico, De sistema, De productos, De programa, De proceso, De flujo de datos.
Los diagramas de flujo son populares en muchos campos, como la ingeniería, la educación, la programación informática y la gestión de proyectos.

# data[].attributes.headline
Estructuras de decisión y control para la solución de casos

# data[].attributes.subject
Estructuras de decisión y control para la solución de casos

# data[].attributes.body
Las estructuras de decisión y control son herramientas de programación que permiten tomar decisiones y controlar el flujo de ejecución de un programa.

-Estructuras de decisión
Permiten tomar decisiones lógicas en la solución de problemas
Controlan la ejecución de uno o varios bloques de instrucciones
Se basan en la evaluación de una o más condiciones
Se pueden clasificar en selección simple, doble o compuesta, y múltiple

-Estructuras de control
Permiten tomar decisiones, realizar repeticiones y ejecutar acciones condicionales
Son fundamentales en la programación
Permiten escribir programas más complejos y sofisticados
Permiten mejorar la eficiencia y eficacia del programa

# data[].attributes.headline
Condicionales repetitivos y no repetitivos

# data[].attributes.subject
Condicionales repetitivos y no repetitivos

# data[].attributes.body
Las estructuras condicionales permiten ejecutar un conjunto de instrucciones una vez si se cumple una condición, mientras que las estructuras repetitivas permiten ejecutar un código varias veces. Los condicionales no son repetitivos, ya que solo se ejecutan una vez si la condición es verdadera.

-Estructuras condicionales
Permiten ejecutar un conjunto de sentencias una vez si una condición es verdadera.
Existen tres tipos de estructuras de control condicional:
De condición simple, la estructura if.
Bicondicional, la estructura if-else.
De condición múltiple, la estructura switch-case-default.

-Estructuras repetitivas
Permiten repetir una acción (o grupo de acciones) varias veces.
Existen tres tipos de estructuras repetitivas: mientras, desde-hasta y repetir-hasta.
Se caracterizan por tener un punto inicial de partida, una condición la cual se encarga de ejecutar un número determinado de acciones hasta que esta condición no sea válida.
Se utiliza cuando no sabemos cuántas veces se debe repetir un bloque de código.
Es posible combinar bucles repetitivos y condicionales para crear un bucle compuesto.
Repite un conjunto de instrucciones un número específico de veces
Tiene un punto inicial de partida
Tiene una condición que se encarga de ejecutar un número determinado de acciones
Utiliza una constante después de la palabra clave DO

# data[].attributes.body
Un bucle es una serie de sentencias que se repiten un número determinado de veces o hasta que se cumplan unas condiciones.
Los bucles son útiles para ahorrar tiempo al repetir tareas repetitivas.
Por ejemplo, se puede usar un bucle para imprimir los números del 1 al 10 o para procesar todos los elementos de una lista.

*¿Qué tipos de bucles existen? Bucle for (para), Bucle while (mientras), Bucle do...while.

*¿Cómo se usan los bucles en JavaScript?
La declaración for se repite hasta que una condición especificada se evalúe como falsa.
La declaración do...while se repite hasta que una condición especificada se evalúe como falsa.
La declaración while ejecuta sus instrucciones siempre que una condición especificada se evalúe como true.

*Un bucle for: es una estructura de programación que se utiliza para ejecutar un bloque de código un número determinado de veces. Se usa cuando se conoce de antemano el número de iteraciones necesarias para realizar una tarea.

-Características
Establece una variable iteradora en cada valor de una lista, arreglo o cadena
Repite el código en el cuerpo del bucle for para cada valor de la variable iteradora
Finaliza su ejecución cuando se recorren todos los elementos
-Usos
Recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …)
Iterar sobre filas y columnas de un marco de datos
Iterar algún objeto que en cada elemento, tiene a su vez otra clase iterable
Recorrer vectores de dos o más dimensiones

*Un bucle while: permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una condición (es decir, mientras la condición tenga el valor True). La ejecución de esta estructura de control while es la siguiente: Python evalúa la condición: si el resultado es True se ejecuta el cuerpo del bucle.

*El bucle do-while: es una estructura repetitiva que se usa en programación para ejecutar un bloque de código al menos una vez y repetirlo mientras se cumpla una condición.

-Características
Se ejecuta el código al menos una vez, antes de verificar la condición.
La condición se evalúa al final del bucle.
Se utiliza en muchos lenguajes de programación, como Java y C#.

-Usos
Es útil cuando se quiere que el código se ejecute al menos una vez.
Por ejemplo, cuando se escribe un programa que recibe información de los usuarios, se puede solicitar solo un número positivo.

# data[].attributes.body
Una herramienta PDF es un programa que permite crear, editar, visualizar, compartir y firmar archivos PDF.

*¿Qué es un archivo PDF?
Un archivo PDF es un documento digital que se puede almacenar, compartir y visualizar en cualquier dispositivo, sin importar el software, hardware o sistema operativo.
Los archivos PDF pueden contener texto, imágenes, enlaces, botones, campos de formulario, audio, video y lógica empresarial.
Los archivos PDF se pueden proteger con contraseña para evitar que sean copiados o editados.

*¿Qué herramientas PDF existen?
Adobe Acrobat Reader es un programa gratuito que permite visualizar, compartir, firmar y comentar archivos PDF.
ABBYY Fine Reader PDF es una herramienta que permite mostrar documentos en formato PDF.

*¿Cómo se pueden crear archivos PDF?
Los archivos PDF se pueden crear en una amplia gama de aplicaciones y plataformas.
Los archivos PDF se pueden crear para satisfacer una variedad de normas de accesibilidad.

# data[].attributes.body
PSeInt es una herramienta educativa que ayuda a los estudiantes a aprender a programar. Utiliza un lenguaje de programación en español llamado pseudocódigo.

-Características
Es gratuita y de código abierto
Está disponible para ordenadores Windows, macOS y Linux
Permite escribir algoritmos en pseudocódigo
Permite generar y editar diagramas de flujo
Permite interpretar (ejecutar) los algoritmos escritos
Señala errores de sintaxis en tiempo real
Ofrece descripciones detalladas de cada error, con sus causas y soluciones más frecuentes

-Ventajas
Permite centrar la atención en los conceptos fundamentales de la algoritmia computacional
Minimiza las dificultades propias de un lenguaje industrial
Proporciona un entorno de trabajo con numerosas ayudas y recursos didácticos
Es conocido por su sencillez y eficacia

-Historia
PSeInt es una herramienta educativa creada en Argentina. Su nombre proviene de "Pseudo-Intérprete

# data[].attributes.headline
Cuáles son las diferencias de PDF y PSEINT

# data[].attributes.subject
Cuáles son las diferencias de PDF y PSEINT

# data[].attributes.body
PSEINT una herramienta educativa que ayuda en tu crecimiento y elaboración para la elaboración de programación en tus crecimientos estudiantiles, ya que PDF es una herramienta para editar hojas o archivos que tengas en otro medio de documentos los cuales también puedes firmar y se pueden compartir muy fácilmente.

# data[].attributes.body
En este trabajo encontraran conceptos básicos de programación y herramientas digitales. Explica la asignación en algoritmos, la lectura y almacenamiento de datos, y las pruebas de escritorio para verificar código sin ejecutarlo. También menciona diagramas de flujo, estructuras de decisión y control, condicionales y bucles en programación.

Además, se describen herramientas como PDF y PSeInt, destacando sus características y diferencias. PSeInt es útil para aprender pseudocódigo, mientras que los archivos PDF permiten almacenar y compartir documentos de forma universal.

# data[].attributes.body
La programación es clave en el desarrollo tecnológico, permitiendo crear soluciones eficientes y versátiles. Conceptos como algoritmos, pseudocódigo y estructuras de datos son esenciales para su comprensión. Además, el aporte de figuras como Guido van Rossum y Pablo Novara ha facilitado el aprendizaje en este campo. Dominar estos fundamentos es crucial para adaptarse a la evolución tecnológica y aprovechar sus oportunidades.

# data[].attributes.body
https://www.unl.edu.ar/noticias/news/view/premian_a_docente_de_la_fich_por_un_desarrollo_de_software_libre_1

https://www.atinternet.com/es/glosario/responsive/#:~:text=Cuando%20utilizamos%20el%20t%C3%A9rmino%20%E2%80%9Cresponsive,%3A%20tabletas%2C%20smartphones%2C%20etc.

https://www.tecnologiayprogramacion.com/algoritmos-paso-a-paso

https://openwebinars.net/blog/que-es-pseudocodigo/

https://openwebinars.net/blog/que-es-pseudocodigo/