Please enable JavaScript.
Coggle requires JavaScript to display documents.
Conceptos de programación - Coggle Diagram
Conceptos de programación
Variables: Espacios de memoria donde se almacenan datos que pueden cambiar durante la ejecución del programa. Se identifican con un nombre.
Tipos de Datos: La clasificación de los datos que una variable puede contener (ej: números enteros, decimales, texto, booleanos).
Enteros: Números sin parte decimal (ej: 10, -5).
Flotantes: Números con parte decimal (ej: 3.14, -0.5).
Booleanos: Valores de verdad (verdadero o falso).
Cadenas (Strings): Secuencias de caracteres (ej: "Hola", "Mundo").
Listas (Arrays): Colecciones ordenadas de elementos.
Diccionarios: Colecciones de pares clave-valor.
Operadores: Símbolos que realizan operaciones sobre los datos.
Aritméticos: Realizan cálculos matemáticos (+, -, *, /, %).
De Comparación: Comparan valores (==, !=, >, <, >=, <=).
Lógicos: Combinan o niegan condiciones (AND, OR, NOT).
De Asignación: Asignan valores a las variables (=, +=, -=, etc.).
Estructuras de Control: Permiten controlar el flujo de ejecución de un programa.
Secuencial: Las instrucciones se ejecutan en orden.
Condicionales: Permiten ejecutar diferentes bloques de código según una condición (if, else, elif/else if, switch/case).
Bucles (Loops): Permiten repetir un bloque de código varias veces (for, while, do-while).
Funciones (Métodos): Bloques de código reutilizables que realizan una tarea específica.
Definición: Creación de una función con un nombre, parámetros (opcional) y un cuerpo de código.
Parámetros: Valores que se pasan a una función para que los utilice.
Retorno de Valores: Valor que una función puede devolver después de su ejecución.
Ámbito (Scope): La región del código donde una variable o función es accesible.
Entrada/Salida (I/O): Mecanismos para interactuar con el usuario o con archivos externos.
Leer datos del usuario (Input): Obtener información del usuario.
Mostrar resultados (Output): Presentar información al usuario.
Paradigmas de Programación:
Imperativa: Describe cómo se debe realizar el cálculo mediante una secuencia de comandos.
Procedimental: Organiza el código en funciones o procedimientos.
Orientada a Objetos (OOP): Organiza el código en torno a "objetos" que combinan datos (atributos) y comportamiento (métodos).
Clases: Plantillas para crear objetos.
Objetos: Instancias de una clase.
Atributos (Propiedades): Datos asociados a un objeto.
Métodos (Comportamientos): Funciones asociadas a un objeto.
Encapsulamiento: Ocultar los detalles internos de un objeto y exponer una interfaz.
Herencia: Permitir que una clase herede características de otra clase.
Polimorfismo: Permitir que objetos de diferentes clases respondan al mismo mensaje de diferentes maneras.
Abstracción: Simplificar la complejidad modelando solo las partes esenciales de un objeto.
Declarativa: Describe qué se debe calcular, sin especificar cómo hacerlo.
Funcional: Se basa en la aplicación y composición de funciones matemáticas.
Lógica: Se basa en la lógica formal y la inferencia.
Estructuras de Datos Avanzadas:
Pilas (Stacks): Estructura LIFO (Last-In, First-Out).
Colas (Queues): Estructura FIFO (First-In, First-Out).
Árboles (Trees): Estructuras jerárquicas.
Grafos (Graphs): Redes de nodos conectados por aristas.
Tablas Hash: Estructuras que permiten búsquedas eficientes basadas en claves.
Algoritmos:
Búsqueda: Encontrar un elemento específico dentro de una estructura de datos.
Ordenamiento: Organizar los elementos de una estructura de datos según un criterio.
Recursión: Una función que se llama a sí misma.
Divide y Vencerás: Estrategia para resolver problemas dividiéndolos en subproblemas más pequeños.
Manejo de Errores:
Excepciones: Eventos inesperados que ocurren durante la ejecución del programa.
Try-Catch: Mecanismo para capturar y manejar excepciones.
Conceptos Adicionales:
Modularización: Dividir un programa grande en módulos más pequeños y manejables.
Bibliotecas (Libraries): Colecciones de código preescrito y reutilizable.
Frameworks: Estructuras de software que proporcionan una base para construir aplicaciones.
Concurrencia: Ejecución de múltiples tareas aparentemente al mismo tiempo.
Paralelismo: Ejecución simultánea de múltiples tareas en diferentes procesadores.
Depuración (Debugging): Proceso de encontrar y corregir errores en el código.
Pruebas (Testing): Proceso de verificar que el software funciona correctamente.