1. La programación
1.1. Definición
1.1.1. Creación de instrucciones, a través de un algoritmo, dirigidas a la ejecución de tareas determinadas por parte de una máquina.
1.2. Historia
1.2.1. 1801 - Joseph Marie Jacquard
1.2.1.1. Nace primer sistema de programación
1.2.2. 1833 - Charles Babbage
1.2.2.1. Crea la máquina diferencial
1.2.3. 1957 - John W. Backus
1.2.3.1. Crea Fortran, el primer lenguaje de programación.
1.2.4. 1964
1.2.4.1. Nace BASIC, herramienta de apoyo a la educación
1.2.5. Década de los 70
1.2.5.1. Surgen lenguajes Pascal, C, C++
1.2.6. 1990 - Internet
1.2.6.1. Aparecen los lenguajes HTML, Python, Java.
1.3. ¿Para qué sirve?
1.3.1. Crear soluciones (aplicaciones, sitios web, juegos, entre otras), que optimizan recursos.
1.4. Ejemplos de aplicaciones
1.4.1. Aplicaciones móviles, plataformas web, inteligencia artificial, simulaciones científicas, editores de texto, navegadores, juegos, reproductores de música o películas
2. Programación estructurada
2.1. Ventajas
2.1.1. Puede ser leído en secuencia, desde la primera hasta la última línea, sin perder la continuidad de la tarea o rutina que cumple el programa, lo que hace más fácil comprender la tarea que realiza una función determinada al tener todas las instrucciones agrupadas de forma contigua y por bloque
2.2. Secuencia
2.2.1. Hace referencia al bloque secuencial de instrucciones que se ejecutan sucesivamente, una tras de otra.
2.3. Selección
2.3.1. la instrucción condicional con doble alternativa, de la forma "if condición then instrucción-1 else instrucción-2"
2.4. Repetición
2.4.1. El bucle condicional "while condición do instrucción", que ejecuta la instrucción repetidamente mientras la condición se cumpla.
3. Lenguajes de programación
3.1. De bajo nivel
3.1.1. Suelen ser mucho más eficientes y utilizan menos recursos del sistema para ejecutar las instrucciones. Dan mayor control sobre dispositivos, periféricos y recursos del sistema.
3.1.1.1. Aportan: Control de hardware Eficiencia Complejidad
3.2. De alto nivel
3.2.1. Más comprensibles y de mayor facilidad de uso para los programadores, lo que simplifica el proceso de desarrollo.
3.2.1.1. Phyton
3.2.1.2. Java
3.2.1.3. C++
3.2.2. Aportan: Sintaxis sencilla Abstracción Portabilidad Bibliotecas extensas
4. Variables, tipos de datos y constantes
4.1. Variables
4.1.1. Se forman a través de un nombre asignado, tienen asignado un tipo de dato y almacena valores que cambian durante la ejecución del algoritmo.
4.2. Constantes
4.2.1. Tienen asignado un nombre, un tipo de dato y almacena valores que no cambian durante la ejecución del algoritmo.
4.3. Tipos de datos
4.3.1. Enteros
4.3.1.1. Compuesto por parte entera únicamente, pueden ser positivos o negativos.
4.3.2. Flotantes
4.3.2.1. Compuesto por parte entera y parte decimal, puede ser negativo o positivo.
4.3.3. Cadenas
4.3.3.1. Están formados por cadena de caracteres o caracteres o símbolos especiales.
4.3.4. Booleanos
4.3.4.1. Operan directamente en la máquina, con dos únicos posibles valores; verdadero = 1, falso = 0.