
1. ¿QUE ES UN ALGORITMO?
1.1. Un algoritmo es una serie de pasos claros y finitos que se utilizan para resolver un problema específico. Puede aplicarse a tareas simples de la vida diaria, como cepillarse los dientes o seguir las instrucciones para armar un mueble. En esencia, un algoritmo es una guía paso a paso para lograr un objetivo. https://youtu.be/EkObhToiseo
1.1.1. Algoritmos Cualitativos Son los algoritmos descritos o representados por medio de palabras
1.1.2. Algoritmos Cuantitativos Son los algoritmos descritos o representados porcálculos numéricos. medio de cálculos numéricos.
2. PROGRAMA
2.1. Conjunto de instrucciones lógicas representadas en un lenguaje para resolver un problema por computadora
2.1.1. Programa Fuente Algoritmo escrito en un lenguaje de alto nivel como COBOL, PASCAL, C, PYTHON, entre otros, no es ejecutable por la computadora
2.1.2. Programa Objeto Algoritmo escrito en un lenguaje de máquina (ceros y unos), ejecutable por la computadora.
3. PROGRAMACIÓN
3.1. Hace referencia a la actividad de generar software o aplicaciones mediante la creación de un conjunto de comandos originales, los cuales se fundamentan en las instrucciones que una computadora sigue para ejecutar un programa. La programación es la habilidad que posibilita el funcionamiento de una computadora y su capacidad para llevar a cabo las acciones requeridas por el usuario.
3.1.1. PARADIGMAS DE PROGRAMACION
3.1.1.1. Es una manera o estilo de programación de software. Existen diferentes formas de diseñar un lenguaje de programación y varios modos de trabajar para obtener los resultados que necesitan los programadores. Se trata de un conjunto de métodos sistemáticos aplicables en todos los niveles del diseño de programas para resolver problemas computacionales. Los lenguajes de programación adoptan uno o varios paradigmas en función del tipo de órdenes que permiten implementar como, por ejemplo, Python o JavaScript, que son multiparadigmas.
3.2. PROGRAMACION RECREATIVA
3.2.1. Este paradigma se basa en escuchar lo que emite un evento o cambios en el flujo de datos, en donde los objetos reaccionan a los valores que reciben de dicho cambio. Las librerías más conocidas son Project Reactor, y RxJava. React/Angular usan RxJs para hacer uso de la programación reactiva.
3.3. PROGRAMACION ORIENTADA A OBJETOS
3.3.1. En este modelo de paradigma se construyen modelos de objetos que representan elementos (objetos) del problema a resolver, que tienen características y funciones. Permite separar los diferentes componentes de un programa, simplificando así su creación, depuración y posteriores mejoras. La programación orientada a objetos disminuye los errores y promociona la reutilización del código. Es una manera especial de programar, que se acerca de alguna manera a cómo expresaríamos las cosas en la vida real. Podemos definir un objeto como una estructura abstracta que, de manera más fiable, describe un posible objeto del mundo real y su relación con el resto del mundo que lo rodea a través de interfaces. Ejemplos de lenguajes de programación orientados a objetos serían Java, Python o C#. La programación orientada a objetos se sirve de diferentes conceptos como: Abstracción de datos Encapsulación Eventos Modularidad Herencia Polimorfismo
3.4. PARADIGMA DECLARATIVO
3.4.1. Este paradigma no necesita definir algoritmos puesto que describe el problema en lugar de encontrar una solución al mismo. Este paradigma utiliza el principio del razonamiento lógico para responder a las preguntas o cuestiones consultadas. Este paradigma a su vez se divide en dos: Programación Lógica: Prolog y Programación funcional: Lisp, Scala, Java, Kotlin
3.5. PARADIGMA IMPERATIVO
3.5.1. Los programas consisten en una sucesión de instrucciones o conjunto de sentencias, como si el programador diera órdenes concretas. El desarrollador describe en el código paso por paso todo lo que hará su programa. Algunos lenguajes: Pascal, COBOL, FORTRAN, C, C++, etc. Otros enfoques subordinados al paradigma de programación imperativa son: Programación estructurada: La programación estructurada es un tipo de programación imperativa donde el flujo de control se define mediante bucles anidados, condicionales y subrutinas, en lugar de a través de GOTO. Programación procedimental: Este paradigma de programación consiste en basarse en un número muy bajo de expresiones repetidas, englobarlas todas en un procedimiento o función y llamarlo cada vez que tenga que ejecutarse. Programación modular: consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más manejable y legible. Se trata de una evolución de la programación estructurada para resolver problemas de programación más complejos.
4. TIPOS DE DATOS
4.1. Los datos a procesar por una computadora pueden clasificarse en simples y estructurados. Los datos simples, ocupan una sola casilla de memoria, por tanto, una variable simple hace referencia a un único valor a la vez. Dentro de ese grupo de datos se encuentran: enteros, reales, caracteres y booleanos. Los datos estructurados, se caracterizan por el hecho de que con un nombre (identificador de variable estructurada) se hace referencia a un grupo de casillas de memoria. Es decir, un dato estructurado tiene varios componentes (pueden ser datos simples o estructurados). Sin embargo, los componentes básicos (los del nivel más bajo) de un dato estructurado son datos simples. Dentro de este grupo de datos se encuentran: arreglos, cadenas de caracteres, registros y conjuntos.
4.2. CONSTANTES
4.2.1. Es todo aquel valor que no puede cambiar en el desarrollo de un algoritmo y son introducidos al algoritmo siempre en el momento de utilizarse.
4.3. VARIABLES
4.3.1. Es todo aquel valor que puede o no cambiar en el transcurso de un algoritmo. Generalmente son introducidas al algoritmo como datos. Mientras que su valor, es la cantidad que una variable representa o tiene asociada en determinado momento.