# data[].attributes.attachment_caption
Root2tech. (2019, enero 22). Qué es SHELL [Video]. YouTube. https://youtu.be/4TcMGG2VJjg?si=fMRXlN-cTPKejgsL

# data[].attributes.headline
2)¿Que es un shell en un ambiente informático ?

# data[].attributes.subject
2)¿Que es un shell en un ambiente informático ?

# data[].attributes.body
Un Shell es como un traductor o puente entre la persona y la computadora.

Imagina que la computadora solo entiende su propio idioma, lleno de ceros y unos. Como nosotros no hablamos así, necesitamos un programa que entienda lo que le decimos en palabras más fáciles y luego se lo traduzca a la computadora. Ese programa se llama Shell.

En pocas palabras:
- Tú le dices algo al Shell (por ejemplo: “abre una carpeta”).
- El Shell se lo explica a la computadora en su idioma.
-La computadora hace lo que le pediste y el Shell te muestra el resultado.

Ejemplo sencillo

Es como cuando en un restaurante le pides comida al mesero:

Tú dices: “Quiero una pizza”.

El mesero (Shell) va a la cocina (computadora), habla con el chef en su idioma y trae tu pizza lista.

En informática:

Tú escribes en el Shell: mkdir juegos (que significa “crear carpeta juegos”).

El Shell lo traduce y la computadora crea esa carpeta en tu disco.

# data[].attributes.body
Un IDE en programación significa Entorno de Desarrollo Integrado.

Imagina que quieres armar un castillo de Lego:

Necesitas las piezas (los bloques de Lego → el código).

Necesitas instrucciones (las reglas → el lenguaje de programación).

Y sería más fácil si tuvieras una mesa especial con cajones, luces y herramientas donde todo está ordenado y te ayuda a armar más rápido.

*Ese lugar especial es como un IDE:

Te da un espacio para escribir el código (como la mesa).

Te ayuda a ver errores (como si la mesa te avisara que una pieza no encaja).

Te deja probar lo que hiciste (como ver si el castillo no se cae).

*Ejemplo:
Un IDE famoso es Visual Studio Code. Es como una mesa mágica donde los programadores escriben y organizan sus programas para que funcionen mejor.

# data[].attributes.body
Python: es un idioma para hablar con la computadora, como decirle “suma” o “saluda”.

IDE: es como un cuaderno mágico donde escribes en Python, la compu te ayuda a corregir y puedes probar lo que hiciste.

*Ejemplo:

Si escribes en Python:

print("Hola")

En el IDE, la computadora responde: Hola.

# data[].attributes.attachment_caption
Bluuweb. (2018, noviembre 28). ¿Qué es un desarrollador Front-End, Back-End y FullStack? [Video]. YouTube. https://youtu.be/Gdprnr_NXmE?si=Dq-sjCJ4mxkwtMDG

# data[].attributes.headline
1) ¿Qué es un desarrollador Backend, Frontend, Fullstack? 

# data[].attributes.subject
1) ¿Qué es un desarrollador Backend, Frontend, Fullstack? 

# data[].attributes.body
*Definición de Backend

El Backend es la parte de un sistema, aplicación o página web que trabaja en el lado del servidor y no es visible directamente para el usuario. Su función principal es encargarse de la lógica interna, la gestión de datos y la comunicación entre el cliente (frontend) y el servidor.

Características principales del Backend:

1. Gestión de bases de datos: Se conecta con bases de datos como MySQL, PostgreSQL o MongoDB para guardar y recuperar información.

2. Seguridad: Controla accesos, encriptación de contraseñas y protección de datos.

3. Lógica de negocio: Define las reglas que hacen que la aplicación funcione (por ejemplo: “si el usuario no paga, no accede al contenido premium”).

4. APIs y servicios: Proporciona interfaces que permiten la comunicación con el frontend y con otros sistemas.

5. Escalabilidad: Está diseñado para soportar múltiples usuarios al mismo tiempo y crecer si aumenta la demanda.

Ejemplo práctico:

Cuando entras a Netflix, el backend es el responsable de:

Verificar tu usuario y contraseña.

Consultar qué películas tienes disponibles según tu plan.

Guardar en la base de datos las series que empezaste a ver.

Enviarle al frontend la información para que la veas en pantalla.

* Definición de Frontend

El Frontend es la parte de una aplicación, sitio web o software que se encarga de todo lo que el usuario puede ver e interactuar directamente en la pantalla. Es la “cara” del sistema, es decir, el conjunto de elementos gráficos, visuales y de interacción que hacen posible que el usuario navegue, entienda y utilice una aplicación de manera sencilla.

Tecnologías principales del Frontend:

1. HTML (HyperText Markup Language): Estructura el contenido de la página (texto, títulos, tablas, imágenes).

2. CSS (Cascading Style Sheets): Da estilo al contenido (colores, tamaños, diseños, animaciones).

3. JavaScript: Permite la interactividad (abrir menús, validar formularios, actualizar datos sin recargar la página).

4. Frameworks y librerías: Como React, Angular o Vue.js, que hacen el desarrollo más rápido y eficiente.

Funciones principales:

Crear una interfaz visual atractiva y clara para el usuario.

Garantizar una buena experiencia de usuario (UX): que el sistema sea intuitivo, rápido y fácil de usar.

Adaptar el contenido a distintos dispositivos (responsive design), como celulares, tablets o computadoras.

Comunicarse con el backend para mostrar la información procesada y almacenada en el servidor.

Ejemplo práctico:

Cuando entras a YouTube, todo lo que ves en la pantalla (botón de reproducir, barra de búsqueda, lista de videos recomendados, colores y organización de la página) fue creado por el frontend. Sin embargo, la información de los videos, comentarios y cuentas de usuarios proviene del backend.

* Definición de Fullstack

Un desarrollador Fullstack es un programador que tiene conocimientos y habilidades tanto en frontend (lo que ve el usuario) como en backend (la lógica interna y los datos que no se ven). Esto significa que puede encargarse de todas las fases del desarrollo de una aplicación web, desde la interfaz visual hasta el manejo de servidores y bases de datos.

Los desarrolladores fullstack son muy valorados porque pueden trabajar en proyectos de manera integral, sin depender tanto de otros especialistas. Suelen tener una visión más completa del sistema y entender cómo se conectan las distintas capas de una aplicación.

Áreas que maneja un Fullstack

1. Frontend: Domina HTML, CSS, JavaScript y frameworks modernos como React, Angular o Vue.js para crear interfaces interactivas y amigables.

2. Backend: Trabaja con lenguajes y frameworks como Node.js, Java, Python (Django, Flask) o PHP (Laravel) para gestionar la lógica del sistema y la conexión con la base de datos.

3. Bases de datos: Puede manejar tanto bases de datos relacionales (MySQL, PostgreSQL) como no relacionales (MongoDB).

4. APIs y servicios: Sabe crear y consumir APIs que permiten la comunicación entre frontend y backend.

5. DevOps básico: Muchos fullstack también tienen conocimientos de despliegue en la nube (AWS, Azure, Heroku) y control de versiones con Git.

Características principales:

Versatilidad: Puede adaptarse a distintas partes del proyecto.

Autonomía: Es capaz de construir aplicaciones completas sin necesidad de un equipo grande.

Visión global: Comprende cómo se conectan el cliente, el servidor y la base de datos.

Rapidez en prototipos: Ideal para startups o proyectos pequeños donde se requiere avanzar rápido.

Ejemplo práctico:

Si una empresa quiere crear una tienda en línea, un desarrollador fullstack podría:

Diseñar la página con el carrito de compras (frontend).

Programar la lógica para registrar usuarios y procesar pagos (backend).

Conectar con una base de datos para guardar productos, precios y pedidos.

Desplegar la aplicación en un servidor para que los clientes puedan acceder desde Internet.

# data[].attributes.body
* Sintaxis en Python: son las reglas que dicen cómo escribir el código para que la computadora lo entienda.

✅Ejemplo correcto:

print("Hola")

❌ Si lo escribes mal:

Print Hola

la compu no entiende.

# data[].attributes.attachment_caption
Ciclo de Vida del Desarrollo de Software. (2021). [Esquema del ciclo de vida del desarrollo de software] [Imagen]. Blog Ciclo de Vida del Desarrollo de Software. https://ciclodevidadesarrollosoftware.blogspot.com/2019/11/blog-post.html  

# data[].attributes.headline
6) ¿Qué es el Ciclo de vida del Software? 

# data[].attributes.subject
6) ¿Qué es el Ciclo de vida del Software? 

# data[].attributes.body
El ciclo de la vida del software (SDLC, por las siglas en ingles), es el proceso organizado de pasos en el cual se analiza, planifica, desarrolla, ejecuta y se mantiene un software mediante las indicaciones y requisitos que solicite el usuario, haciendo que este sea seguro, eficiente y funcional hasta que deje de utilizarse. Este ciclo pasa por diferentes etapas por ejemplo: Análisis de requisitos: una empresa necesita una aplicación para controlar el inventario.

Diseño: se planifica la estructura de la app, bases de datos y pantallas.

Desarrollo: los programadores escriben el código.

Pruebas: se revisa que la app funcione bien y no tenga errores.

Implementación: se instala y empieza a usarse en la empresa.

Mantenimiento: se corrigen fallos y se agregan mejoras según las necesidades.

# data[].attributes.headline
7) ¿Cuáles son los principios de Algebra Booleana? 

# data[].attributes.subject
7) ¿Cuáles son los principios de Algebra Booleana? 

# data[].attributes.body
Creado por George Boole el algebra booleana es un sistema matemático principalmente usado en lógica y computación, además, esta basada en operaciones binarias, sus principios fundamentales son:

1. Leyes de identidad

A+0=A

·       A⋅1=AA

·       (Suma lógica con 0 o multiplicación lógica con 1 no alteran el valor de A).

2. Leyes de anulación

A+1= 1

A⋅0=0

3. Leyes idempotentes

A+A=A

A⋅A=A

(Repetir una variable no cambia el resultado).

4. Ley del complemento

A+A′=1

A⋅A′=0

(Una variable OR con su negación da 1, y AND con su negación da 0).

5. Leyes conmutativas

A+B=B+A

A⋅B=B⋅A

(El orden no altera el resultado).

6. Leyes asociativas

(A+B) +C=A+(B+C)

(A⋅B) ⋅C=A⋅(B⋅C)

(Agrupar no cambia el resultado).

7. Leyes distributivas

A⋅(B+C) =A⋅B+A⋅C

·       A+(B⋅C) =(A+B) ⋅ (A+C)

8. Leyes de absorción

A+(A⋅B) =A

A⋅(A+B) =A

9. Leyes de Morgan

(A⋅B)′ =A′+B′

(A+B)′ =A′⋅ B′

Las expresiones booleanas se pueden representar mediante figuras identificadoras como se muestra en la imagen.

# data[].attributes.attachment_caption
Universidad autónoma del estado de hidalgo. (s.f). Tabla de verdad de la expresión 1. [imagen]. CIDECAME. http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro7/ex_4.2.3a.png 

# data[].attributes.body
Las tablas de verdad son una herramienta comúnmente utilizada en la lógica proposicional y en las matemáticas que consiste en mostrar y evaluar todas las combinaciones posibles de verdad (o sea verdadero o falso) de una o varias expresiones lógicas o proposicionales y sus resultados finales, además, evalúa si dicha expresión es siempre verdadera (tautología), siempre falsa (falacia) o se alterna entre verdadero y falso (contingencia).

Sus elementos básicos son las proposiciones (mayormente llamadas P y Q) , valores posibles (verdadero o 1 y falso o 0) y los operadores comunes como la negación (¬), la conjunción (∧), la disyunción (∨), etc. como un ejemplo de tabla de verdad en lógica proposicional esta la imagen del principio.

# data[].attributes.headline
 9) ¿Quién es Guido Van Rossum y cuál fue su aporte a la humanidad más significativo y popular? 

# data[].attributes.subject
 9) ¿Quién es Guido Van Rossum y cuál fue su aporte a la humanidad más significativo y popular? 

# data[].attributes.body
Guido Van Rossum es un programador neerlandés nacido el 31 de enero de 1956, su aporte mas significativo para la humanidad fue el haber creado el lenguaje de programación “Python”, uno de los mas utilizados mundialmente en la actualidad, Rossum empezó a crearlo en 1989 y publico la primera versión en 1991, desde entonces ha tenido un gran impacto en la sociedad debido a que es claro y legible, multipropósito y además tiene un código abierto o sea que cualquier persona o empresa puede usarlo, algunas empresas importantes en la industria hacen uso de este lenguaje como lo son Google, Netflix, Instagram e incluso la NASA. Definitivamente este lenguaje ha sido una gran ayuda para el avance tecnológico y no cabe duda  de que Rossum cambio la forma en la que millones de personas aprenden y ejecutan la programación.

# data[].attributes.headline
10) ¿Quién es Pablo Novara y cuál fue su aporte a la humanidad más significativo y popular? 

# data[].attributes.subject
10) ¿Quién es Pablo Novara y cuál fue su aporte a la humanidad más significativo y popular? 

# data[].attributes.body
Pablo Novara es ingeniero informático y docente argentino graduado en la Universidad Nacional del Litoral (UNL). Su aporte mas significativo para la humanidad fue haber creado el programa “PSeInt” lanzado en 2003. “PSeInt” es un software multiplataforma en el cual se pueden diseñar interpretar y crear algoritmos sencillos mediante pseudocódigo en español, permitiendo así que principiantes puedan crear algoritmos de forma mucho más sencilla y accesible integrando funciones como autocompletado, coloreado de sintaxis, diagramas de flujo, y exportación a múltiples lenguajes reales como, Java, Python, etc. Llegando a ser tan eficiente que Novara gano múltiples veces el “Proyecto del Mes” en SourceForge por su gran utilidad y servicio de calidad.

# data[].attributes.attachment_caption
Brookshear, J. G., & Smith, D. T. (2021). Computer Science: An Overview (13th ed.). Pearson.

# data[].attributes.body
Software: Conjunto de programas, datos e instrucciones que permiten realizar tareas en una computadora.

Ejemplo: Sistemas operativos (Windows, Linux), aplicaciones (Word, Chrome).

Hardware: Componentes físicos de un sistema informático.

Ejemplo: CPU, teclado, monitor, disco duro.

Aplicaciones y Dispositivos Comunes:

Hardware: CPU, RAM, teclado, mouse, impresora, disco duro

Software: Windows, Word, Photoshop, Google Chrome, Android

Ejemplo:

Software: Microsoft Word (programa para editar texto).

Hardware: Teclado (dispositivo de entrada).

# data[].attributes.body
Responsive Design (Diseño Responsivo o Adaptativo) es un enfoque de diseño web que permite que una página se adapte automáticamente al tamaño y orientación de la pantalla del dispositivo (computadora, tablet, móvil) para ofrecer una experiencia óptima al usuario.

5 componentes relacionados y sus características:

1. Flexible Grids: Diseño basado en porcentajes, no en píxeles fijos.

2. Media Queries: Reglas CSS que detectan el tamaño de pantalla.

3. Imágenes adaptables: Cambian de tamaño según el dispositivo.

4. Contenido dinámico: Muestra u oculta elementos según la pantalla.

5. Viewport: Metaetiqueta que ajusta la escala en móviles.

Ejemplo:

Una página web que en PC muestra 3 columnas, pero en móvil se convierte en una sola.

# data[].attributes.attachment_caption
Rowley, J. (2007). The wisdom hierarchy: representations of the DIKW hierarchy. Journal of Information Science, 33(2), 163–180. https://doi.org/10.1177/0165551506070706

# data[].attributes.headline
13)DICS: Dato, Información, Conocimiento y Sabiduría

# data[].attributes.subject
13)DICS: Dato, Información, Conocimiento y Sabiduría

# data[].attributes.body
El modelo DICS (o DIKW, por sus siglas en inglés: Data, Information, Knowledge, Wisdom) representa una jerarquía de evolución cognitiva, donde cada nivel agrega valor y significado al anterior. Es fundamental en gestión del conocimiento, informática y ciencias de la información.

Relaciones en un Contexto de Documentación

1. Datos → Información:

En documentación, los datos se clasifican (ej: tablas de bases de datos) y se convierten en información útil (informes, gráficos).

2. Información → Conocimiento:

La información se sintetiza en manuales, guías o patrones (ej: protocolos de seguridad basados en datos históricos).

3. Conocimiento → Sabiduría:

El conocimiento se aplica con criterio ético (ej: políticas corporativas sostenibles derivadas de estudios climáticos).

Ejemplo Práctico (Salud)

Dato: "38°C".

Información: "El paciente tiene fiebre (38°C)".

Conocimiento: "La fiebre puede ser síntoma de infección; se prescribe un antibiótico".

Sabiduría: "Educar al paciente sobre prevención de infecciones para evitar futuros casos".

Diferencias entre Dato, Información, Conocimiento y Sabiduría (DICS)

Dato:

Es crudo y sin contexto. Ej: "10".

Información:

Datos con significado. Ej: "10°C en Lima".

Conocimiento:

Información aplicada. Ej: "Si hace 10°C, usa abrigo".

Sabiduría:

Conocimiento + ética + visión. Ej: "Promover campañas de ropa abrigada en zonas frías".

# data[].attributes.attachment_caption
Cormen, T. H. (2009). Introduction to Algorithms. MIT Press.    Knuth, D. E. (1997). The Art of Computer Programming. Addison-Wesley.          

# data[].attributes.headline
14 y 15) ¿Qué es un Algoritmo , tipos de Algoritmos y Pasos para resolver un Algoritmo?

# data[].attributes.subject
14 y 15) ¿Qué es un Algoritmo , tipos de Algoritmos y Pasos para resolver un Algoritmo?

# data[].attributes.body
En su esencia más pura, un algoritmo es un conjunto de instrucciones o pasos definidos, ordenados y finitos que se siguen para resolver un problema o realizar una tarea.

Características fundamentales de un algoritmo:

Precisión: Cada paso debe ser claro y no ambiguo.

Orden: La secuencia de pasos es crucial.

Finitud: Debe tener un principio y un fin. No puede ejecutarse eternamente.

Efectividad: Cada paso debe ser ejecutable y debe conducir a un resultado.

Determinismo: Dada la misma entrada, siempre producirá la misma salida.

Tipos:

1. Secuenciales: Pasos en orden (ej: receta de cocina).

2. Condicionales: Decisiones (ej: "Si llueve, lleva paraguas").

1. Repetitivos: Bucles (ej: contar del 1 al 10).

Ejemplo:

Algoritmo Lampara:

1. Problema inicial: La lámpara no se enciende.

2. Primera pregunta: ¿La lámpara está correctamente enchufada en el tomacorrientes?

Si NO está enchufada:

1. Solución: Enchufar la lámpara.

2. Resultado: El problema debería estar resuelto. Si no lo está, proceder al siguiente paso.

Si SÍ está enchufada:

1. Siguiente pregunta: ¿La ampolleta (foco) está quemada?

3. Evaluar la ampolleta:

Si la ampolleta SÍ está quemada:

1. Solución: Reemplazar la ampolleta por una nueva.

Si la ampolleta NO está quemada:

1. Conclusión: El problema es de la lámpara misma (cableado, interruptor, etc.).

2. Solución final: Comprar una lámpara nueva.

# data[].attributes.attachment_caption
Joyanes Aguilar, L. (2008). Fundamentos de programación. McGraw-Hill.

# data[].attributes.headline
16) ¿Qué es un dato y cuáles son los tipos de datos? 

# data[].attributes.subject
16) ¿Qué es un dato y cuáles son los tipos de datos? 

# data[].attributes.body
Un dato es la información más pequeña que podemos usar en un algoritmo.
Es lo que el computador recibe, guarda o procesa.

Tipos de datos más comunes:

Entero: números sin decimales. Ejemplo: 10

Real/decimal: números con decimales. Ejemplo: 3.14

Carácter: un solo símbolo o letra. Ejemplo: 'A'

Cadena(string): conjunto de letras. Ejemplo: "Hola"

Logico/Booleano: solo dos valores posibles: Verdadeo o Falso

Ejemplo:

Un formulario de estudiante:

Nombre = "Laura" (cadena)

Edad = 16 (entero)

Nota = 4.5 (real)

MatriculaPagada = Verdadero (booleano)

# data[].attributes.attachment_caption
Sebesta, R. (2013). Conceptos de lenguajes de programación. Pearson Educación.

# data[].attributes.body
El pseudocóddigo es una forma de escribir los pasos de un algoritmo usando un lenguaje sencillo (ni español normal ni programación real, sino algo intermedio).
Sirve para planear cómo resolver un problema antes de programarlo.

Ejemplo:

INICIO

Leer número1

Leer número2

suma ← número1 + número2

Escribir suma

FIN

Es como una receta:

1. Pide ingredientes (números).

2. Haz la operación (suma).

3. Muestra el resultado.

# data[].attributes.attachment_caption
Pressman, R. (2010). Ingeniería del software: Un enfoque práctico. McGraw-Hill.

# data[].attributes.headline
18)¿Qué son las variables y tipos de variables?

# data[].attributes.subject
18)¿Qué son las variables y tipos de variables?

# data[].attributes.body
Una variable es como una caja con nombre donde guardamos un dato.
El contenido de esa caja puede cambiarn cuando queramos.

Tipos de variables:

Numéricas: guardan números (enteros o reales). Ejemplo: edad = 18

Alfanúmericas (cadenas): guardan texto. Ejemplo: nombre = "Sofía"

Lógicas: guardan Verdadero/Falso. Ejemplo: aprobado = True

Ejemplo:
edad = 15
(luego puede cambiar a edad = 16).

# data[].attributes.headline
19)¿Qué son operadores básicos en algoritmos?

# data[].attributes.subject
19)¿Qué son operadores básicos en algoritmos?

# data[].attributes.body
Los operadores básicos en los algoritmos son símbolos que se utilizan para realizar operaciones entre datos y variables, como sumar, restar, comparar o combinar valores.

Ejemplo:

A = 8 B = 4

Suma = A + B // resultado: 12

Resta = A - B // resultado: 4

Multiplicación = A * B // resultado: 32

División = A / B // resultado: 2

# data[].attributes.attachment_caption
W3Schools. (s.f.). Variables y tipos de datos. Recuperado de https://www.w3schools.com/

# data[].attributes.headline
20)¿Qué es la asignación en un algoritmo?

# data[].attributes.subject
20)¿Qué es la asignación en un algoritmo?

# data[].attributes.body
La asiganción en un algoritmo es la acción de dar un valor a una variable.
Es como decirle a una caja con nombre qué debe guardar adentro.

Ejemplo:

X = 10. aquí la variable X recibe el valor 10.

Y = X + 5 👉 ahora la variable Y recibe el valor de la operación X + 5 (o sea, 15).

# data[].attributes.headline
21) ¿Qué es Lectura de datos en un algoritmo?

# data[].attributes.subject
21) ¿Qué es Lectura de datos en un algoritmo?

# data[].attributes.body
La lectura de datos en un algoritmo es el proceso de recibir información desde una fuente externa (teclado, archivo, sensores, etc.) para que el programa pueda procesarla. Es el primer paso en la mayoría de los algoritmos, ya que sin datos de entrada no se pueden obtener resultados.

Ejemplo:

En el diagrama de la imagen, la máquina necesita leer datos para poder continuar con el proceso:

1. Primero se enciende la máquina.

2. El algoritmo lee si hay agua en el depósito.

Si la lectura es No, se pasa a la acción de llenar el depósito.

Si la lectura es Sí, se continúa.

3. El algoritmo lee si hay cápsulas disponibles.

Si la lectura es No, se pasa a la acción de hacer pedido.

Si la lectura es Sí, se procede a introducir cápsula y encender.

# data[].attributes.headline
22) ¿Qué es Escritura, impresión y almacenamiento?

# data[].attributes.subject
22) ¿Qué es Escritura, impresión y almacenamiento?

# data[].attributes.body
Escritura: Acción de mostrar o registrar datos en algún medio.

Impresión: Mostrar resultados en pantalla o en papel.

Almacenamiento: Guardar la información procesada en memoria secundaria (archivos, bases de datos) para su uso futuro.

Ejemplo:

# Escritura (se guardan datos en variables)

nombre = input("Ingrese su nombre: ")

edad = input("Ingrese su edad: ")

# Impresión (mostrar resultados en pantalla)

print("Hola", nombre, ", tienes", edad, "años.")

# Almacenamiento (guardar en un archivo de texto)

with open("usuarios.txt", "a") as archivo:

archivo.write(nombre + " - " + edad + " años\n")

# data[].attributes.headline
23) ¿Qué es Pruebas de escritorio y algunos programas para desarrollarlos?

# data[].attributes.subject
23) ¿Qué es Pruebas de escritorio y algunos programas para desarrollarlos?

# data[].attributes.body
Las pruebas de escritorio son una técnica en la que el programador simula manualmente la ejecución de un algoritmo paso a paso, verificando que los cálculos y resultados sean correctos. Sirve para detectar errores lógicos antes de codificar.

Programas mas útiles:

1. PSeInt

Es un software educativo que permite escribir pseudocódigo en español.

Muy usado en universidades y colegios porque ayuda a entender la lógica de programación.

Permite ejecutar algoritmos paso a paso y comprobar si funcionan.

2. DFD (Diagramas de Flujo)

Son herramientas para dibujar diagramas de flujo, representando gráficamente los pasos de un algoritmo.

Algunos programas para crearlos: Lucidchart, Draw.io, Visual Paradigm.

Aunque no todos ejecutan el algoritmo, ayudan a visualizarlo y hacer pruebas de escritorio manualmente.

3. Visualg

Lenguaje y entorno de programación didáctico en portugués (muy similar a PSeInt).

Permite escribir algoritmos en pseudocódigo y ejecutarlos para validar resultados.

Ideal para principiantes que aprenden lógica de programación.

4. Raptor

Herramienta gráfica para crear diagramas de flujo ejecutables.

Cada paso del algoritmo se dibuja como un bloque (entrada, proceso, salida, decisión).

Permite “correr” el diagrama y observar cómo se ejecuta el programa paso a paso.

Ejemplo:

Inicio

Leer base

Leer altura

area ← base * altura

Escribir "El área es: ", area

Fin

# data[].attributes.body
El diagrama de flujo, también conocido como flujograma o diagrama de actividades, es una representación gráfica que describe un proceso o procedimiento, mostrando de manera ordenada cada una de sus etapas, tareas o pasos.

Para ilustrar visualmente la secuencia de acciones dentro de un evento o procedimiento, los diagramas de flujo se componen principalmente de dos elementos:

Símbolos: Son figuras geométricas que identifican cada acción o decisión dentro del proceso. Existen, por ejemplo, símbolos específicos para señalar el inicio y el final del mismo.

Flechas o líneas: Son las que enlazan los símbolos, indicando la dirección y el orden en que se desarrolla el proceso.

Estos diagramas resultan útiles para estructurar, analizar o rediseñar la secuencia de actividades en diversos ámbitos, como proyectos, capacitaciones, planes de trabajo o procedimientos organizacionales. Por ello, su aplicación es frecuente en áreas como la programación, la informática, la economía, las finanzas, la industria e incluso en la psicología cognitiva.

Ejemplo:

Inicio

Escribir "Ingrese A:"

Leer A

Escribir "Ingrese B:"

Leer B

Si B = 0 Entonces

Escribir "Error: división por cero"

Sino

C ← A / B

Escribir "C = ", C

FinSi

Fin

# data[].attributes.headline
25) ¿Qué son las estructuras de decisión y control para la solución de casos?

# data[].attributes.subject
25) ¿Qué son las estructuras de decisión y control para la solución de casos?

# data[].attributes.body
Las estructuras de decisión y control en programación son instrucciones que permiten alterar el flujo de ejecución de un algoritmo dependiendo de ciertas condiciones o repeticiones. Son fundamentales porque hacen que los programas no sean lineales, sino que puedan “decidir” y “repetir” según la necesidad del problema.

Existen dos grandes tipos:

1. Estructuras de decisión (selectivas):

Permiten escoger entre varios caminos según una condición.

if ... else (si / sino)

switch o según

2. Estructuras de control repetitivas (bucles):

Permiten ejecutar un bloque de código varias veces hasta que se cumpla una condición.

for (para)

while (mientras)

do ... while (repetir hasta que)

Ejemplo Python:

edad = int(input("Ingrese su edad: "))

if edad >= 18:

print("Eres mayor de edad")

else:

print("Eres menor de edad")

Aquí, el programa toma una decisión dependiendo de la condición edad >= 18.

Ejemplo Bucle:

for i in range(1, 6):

print("Intento número", i)

Este código repite 5 veces la acción de imprimir.

# data[].attributes.attachment_caption
Molano, J. (2025). Ejemplo condicional [Imagen creada por el autor]. Trabajo académico no publicado.Universidad de Pamplona. (2019, 8 de enero). Guía # 03. Estructuras repetitivas [PDF]. Universidad de Pamplona. Recuperado el 20 de agosto de 2025, de https://www.unipamplona.edu.co/unipamplona/portalIG/home_77/recursos/documentos/01082019/guia03arduino.pdf
Codelearn.es. (2021, 2 de noviembre). Condicionales, bucles, variables y funciones. Recuperado el 20 de agosto de 2025, de https://codelearn.es/blog/condicionales-bucles-variables-y-funciones
Llamas, L. (s. f.). Qué son los condicionales. Recuperado el 20 de agosto de 2025, de https://www.luisllamas.es/programacion-condicionales

Desarrolloweb.com. (2022, 28 de noviembre). Estructuras condicionales. Recuperado el 20 de agosto de 2025, de https://desarrolloweb.com/articulos/2225.php
TutorialesProgramacionYa.com. (s. f.). Estructuras condicionales simples y compuestas. Recuperado el 20 de agosto de 2025, de https://www.tutorialesprogramacionya.com/javaya/detalleconcepto.php?codigo=80&punto=&inicio=0

# data[].attributes.headline
26) ¿Qué es Condicionales Repetitivos y los No repetitivos?  

# data[].attributes.subject
26) ¿Qué es Condicionales Repetitivos y los No repetitivos?  

# data[].attributes.body
¿Qué es una condicional?

Las condicionales son estructuras de control o flujo que permiten a un programa tomar decisiones, pero para esto como su nombre lo dice, debemos cumplir cierta condición, esta condición permite al programa decidir que hacer en caso de que la función sea falsa o verdadera.

Condicionales Repetitivas

Las condicionales repetitivas son aquellas que se usan para realizar instrucciones un numero finito de veces, se caracterizan por tener:

Punto de inicio: Donde inicia la repetición

Condición: Se revisa para saber si se debe seguir repitiendo.

Bloque de instrucciones: Lo q se repite.

Sentencias Repetitivas:

-For (para): Repite el numero de veces indicado.

-While (mientras): ideal para cuando no sabemos cuantas veces exactamente

- Do while ( repetir.. Hasta): Ejecuta una vez y verifica la condición.

Condicionales no repetitivas

Las condicionales no repetitivas son mas conocidas como condicionales simples, estas cuando se presenta una elección, tenemos la opción de realizar una actividad o no realizar ninguna.

Tipos de condiciónale no repetitivas:

-if: bloque de código si la condición es verdadera. Si la condición es falsa, el bloque se omite.

-if-else: Si la condición es verdadera, ejecuta un bloque de código; de lo contrario (si es falsa), ejecuta otro bloque diferente.

if-elif-else o switch: Permite evaluar múltiples condiciones y ejecutar un bloque de código específico para cada una. Si ninguna condición se cumple, se puede ejecutar un bloque por defecto

# data[].attributes.attachment_caption
PSeIntLab. (2024, 3 de noviembre). Introducción a estructuras de control repetitivas [Imagen]. PSeIntLab. Recuperado el 20 de agosto de 2025, de https://pseintlab.com/bucles-estructuras-de-control-repetitivas    PSeIntLab. (s. f.). Bucles: estructuras de control repetitivas. Recuperado el 22 de agosto de 2025, de https://pseintlab.com/bucles-estructuras-de-control-repetitivas Profile. (s. f.). ¿Qué es un algoritmo informático? Recuperado el 22 de agosto de 2025, de https://profile.es/blog/que-es-un-algoritmo-informatico Ferrovial. (s. f.). ¿Qué son los algoritmos? Recuperado el 22 de agosto de 2025, de https://www.ferrovial.com/es/stem/algoritmos

# data[].attributes.body
Bucle en un algoritmo

Los bucles son conocidos como estructuras de control repetitiva, son herramientas fundamentales en algortimos ya que permiten la ejecucion repetitiva de un conjunto de instrucciones basandose en una condicion.

Los bucles también son denominados ciclos o estructuras de repetición y al igual que las otras estructuras secuenciales y repetitivas.

Estructura de control repetitiva: Estructura de control que repite un bloque de código mientras se cumpla una condición (o hasta que una condición deje de cumplirse). Se le suele llamar bucle o ciclo.

Tipos de bucles:

1.      Bucle “mientras” (while) : La estructura repetitiva «Mientras» ejecuta repetidamente un bloque de código mientras una condición dada sea verdadera. Se evalúa la condición antes de ejecutar el bloque de código, y si la condición es falsa desde el principio, el bloque no se ejecutará.

2.      Bucle”repetir-mientras que” (do-while): La estructura repetitiva «Repetir – Mientras» (también llamada «Hacer – Mientras») ejecuta  un bloque de código al menos una vez y luego repite mientras una condición sea verdadera. La condición se evalúa después de la primera ejecución, asegurando que el bloque se ejecute al menos una vez.

3.      Bucle “repetir-hasta que”(repeat-until): La estructura repetitiva «Repetir – Hasta que» ejecuta un bloque de código repetidamente hasta que una condición específica se cumple. A diferencia de «Mientras», el bloque se ejecutará al menos una vez, ya que la condición se evalúa después de la primera ejecución.

4.      Bucle”para” (for): La estructura repetitiva «Para«, o también llamada «Desde«, es ideal para ejecutar un bloque de código un número específico de veces (N veces). Para ello, se especifica un valor inicial, un valor final y un paso (incremento o decremento), garantizando un control preciso sobre las repeticiones.

# data[].attributes.attachment_caption
IBM. (s. f.). Diagrama de flujo de datos. IBM Think. Recuperado el 22 de agosto de 2025, de https://www.ibm.com/es-es/think/topics/data-flow-diagram Softonic. (s. f.). DFD. Recuperado el 22 de agosto de 2025, de https://dfd.softonic.com Lucidchart. (s. f.). ¿Qué es un diagrama de flujo de datos? Recuperado el 22 de agosto de 2025, de https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo-de-datos

# data[].attributes.headline
28) ¿Qué es herramienta informatica DFD?

# data[].attributes.subject
28) ¿Qué es herramienta informatica DFD?

# data[].attributes.body
Un diagrama de flujo de datos (DFD) traza el flujo de la información para cualquier proceso o sistema. Emplea símbolos definidos, como rectángulos, círculos y flechas, además de etiquetas de texto breves, para mostrar las entradas y salidas de datos, los puntos de almacenamiento y las rutas entre cada destino. Los diagramas de flujo de datos pueden variar desde simples panoramas de procesos incluso trazados a mano, hasta DFD muy detallados y con múltiples niveles que profundizan progresivamente en cómo se manejan los datos. Se suelen usar para analizar un sistema existente o para modelar uno nuevo.

# data[].attributes.attachment_caption
Wikimedia Commons. (s. f.). Rtsyntax [Imagen]. Recuperado el 22 de agosto de 2025, de https://upload.wikimedia.org/wikipedia/commons/f/fd/Rtsyntax.jpg Monroy Tenorio, F. (s. f.). ¿Qué es PSeInt? Recuperado el 22 de agosto de 2025, de https://fernandomonroytenorio.com/tema/que-es-pseint SourceForge. (s. f.). PSeInt. Recuperado el 22 de agosto de 2025, de https://pseint.sourceforge.net

# data[].attributes.headline
29) ¿Qué es herramienta informática PSEINT?

# data[].attributes.subject
29) ¿Qué es herramienta informática PSEINT?

# data[].attributes.body
PSeInt es una herramienta para asistir a un estudiante en sus primeros pasos en programación. Mediante un simple e intuitivo pseudolenguaje en español (complementado con un editor de diagramas de flujo), le permite centrar su atención en los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje y proporcionando un entorno de trabajo con numerosas ayudas y recursos didácticos.

Presenta herramientas de edición para escribir algoritmos en pseudocódigo en español como:

Autocompletado.

Ayudas Emergentes.

Plantillas de Comandos.

Coloreado de Sintaxis.

Resaltado de bloques lógicos.

Indentado Inteligente.

Listados de funciones, operadores y variables.

Permite generar y editar el diagrama de flujo del algoritmo:

Puede trabajar con diagramas clásicos

# data[].attributes.attachment_caption
Tiburcio, J. (2014, 1 de julio). DFD y PSeInt. Universidad Veracruzana. Recuperado el 22 de agosto de 2025, de https://www.uv.mx/personal/jtiburcio/2014/07/01/dfd-y-pseint Luis A PSeInt. (s. f.). Blog sobre PSeInt. Recuperado el 22 de agosto de 2025, de https://luisapseint.blogspot.com/p/blog-page.html

# data[].attributes.headline
30)¿Cuáles son las diferencias de PSEINT vs DFD?

# data[].attributes.subject
30)¿Cuáles son las diferencias de PSEINT vs DFD?

# data[].attributes.body
PSEINT

·        Centrado en la lógica de programación paso a paso (algoritmos)

·        Bajo nivel: se usa para practicar cómo se codifica un algoritmo antes de programarlo en un lenguaje real.

·        Estudiantes y programadores principiantes.

DFD

·        Centrado en el flujo de datos en un sistema (qué entra, qué se procesa, qué se guarda, qué se devuelve).

·        Alto nivel: se usa para analizar un sistema antes de implementarlo (fase de diseño).

·        Analistas de sistemas, ingenieros de software, diseñadores de procesos.

# data[].attributes.body
1. A lo largo del trabajo, estudiamos y aprendemos los conceptos fundamentales de la programación, desde los puntos básicos como algoritmos, bucles y condicionales hasta el conocimiento de los distintos tipos de programadores (backend, frontend, fullstack) y lenguajes como Python, y el estudio de herramientas como PSeInt, y los diagramas de flujo de datos (DFD).

2. En conclusión, los 30 puntos trabajados reflejan que la programación es una combinación de lógica matemática, historia de la informática, aplicación práctica y herramientas de modelado. Esta integración no solo nos ayuda a reforzar el pensamiento crítico, sino que también nos prepara a los estudiantes para resolver problemas reales con creatividad y eficiencia.

# data[].attributes.body
Grupo 3:

ISAZA RUIZ MICHELLE
JARAMILLO SANTILLANA JHOAN FELIPE
MERCADO GOMEZ ZAIRA MICHEL
MOLANO ARZAYUS JACOB
MONTILLA BRICEÑO LUIS JOSE

MANUELA YEPEZ SÁNCHEZ