1. La programación en la sociedad actual.
1.1. La programación informática sirve para crear aplicaciones que faciliten la vida de las personas.
1.1.1. usando el lenguaje informático el cual les permite comunicarse con el ordenador
1.2. La tecnología avanza y cada vez se necesitan más profesionales.
1.2.1. Para poder ampliar sus horizontes
2. La creación de un programa informático
2.1. La creación de un programa consta de 5 pasos
2.1.1. Análisis del problema
2.1.1.1. Hacer un estudio detallado del problema a resolver.
2.1.2. Diseño de algoritmos
2.1.2.1. se utilizan diagramas de flujo y pseudocódigos
2.1.3. Codificación del programa
2.1.3.1. es la traducción del lenguaje algorítmico a un lenguaje de programación entendible para el ordenador
2.1.4. Pruebas y depuración
2.1.4.1. se somete a varias pruebas para detectar posibles errores de funcionamiento.
2.1.5. Documentación
2.1.5.1. cada paso debe tener un documento con todas las especificaciones necesarias para clarificar y explicar cada elemento.
3. Diseño de algoritmos
3.1. ¿Qué es un algoritmo?
3.1.1. un conjunto de instrucciones que por medio de una sucesión de pasos permite solucionar un problema.
3.1.1.1. existen tres tipos
3.1.1.1.1. Finitos
3.1.1.1.2. Definidos
3.1.1.1.3. Precisos
3.2. Diagramas de flujo
3.2.1. son representaciones gráficas de un algoritmo
3.2.1.1. lineas de flujo
3.2.1.1.1. indican la secuencia en la que se van a ejecutar los pasos del algoritmo
3.2.1.2. Terminal
3.2.1.2.1. se utiliza para representar el inicio
3.2.1.3. proceso
3.2.1.3.1. representa una o varias instrucciones que se realizan de forma secuencial
3.2.1.4. decisión
3.2.1.4.1. representa una operación lógica en la que en función de resultado se realiza un procedimiento u otro,
3.2.1.5. función
3.2.1.5.1. módulo independiente que realiza una tarea determinada.
3.2.1.6. Entrada/salida
3.2.1.6.1. simboliza la introducción o salida de datos a través de cualquier medio.
3.3. Pseudocódigo
3.3.1. se utiliza para descubrir un algoritmo en lenguaje natural
4. Lenguajes de programación
4.1. Evolución histórica
4.1.1. 1º generación
4.1.1.1. Lenguaje máquina
4.1.1.1.1. utilizan directamente el código binario
4.1.2. 2º generación
4.1.2.1. Lenguaje ensamblador
4.1.2.1.1. utilizaba instrucciones sencillas y luego con un traductor se transcribía a código binario.
4.1.3. 3º generación
4.1.3.1. Lenguajes de alto nivel
4.1.3.1.1. sustituyen las operaciones lógicas por códigos independientes, mucho más cercanos al lenguaje natural,
4.1.4. 4º generación
4.1.4.1. Programación orientada a objetos
4.1.4.1.1. es la programación más cercana a la vida real
4.1.5. 5º generación
4.1.5.1. Lenguaje natural e inteligencia artificial
4.1.5.1.1. se basa en el uso del lenguaje natural para escribir problemas que el ordenador es capaz de resolver
4.2. Sintaxis de los lenguajes de programación
4.2.1. la sintaxis de un lenguaje define el conjunto de reglas que se deben seguir a la hora de escribir el código fuente
4.2.1.1. la mayoría de los lenguajes de programación......
4.2.1.1.1. son textuales, es decir que utilizan una secuencia de texto
4.2.1.1.2. son visuales, es decir utilizan recursos gráficos.
4.3. variables y constantes
4.3.1. en la ejecución de un programa si un dato no cambia se define como constante
4.3.2. los datos cuyos valores cambien son variables
4.3.2.1. un conjunto de variables se define con el nombre de array o cadena
4.4. Tipos de datos
4.4.1. Enteros
4.4.1.1. representan todos los números enteros
4.4.2. Real
4.4.2.1. Puede almacenar números decimales
4.4.3. Carácter
4.4.3.1. es un número que puede ser numérico o con alguna letra.
4.4.4. Booleano
4.4.4.1. se emplea para valores lógicos, Con lo que su valor es verdadero o falso.
4.4.5. Cadena
4.4.5.1. almacena una cadena de caracteres de longitud valores
4.4.6. Array
4.4.6.1. Almacena un conjunto de elementos de tipo variable.
5. Estructuras secuenciales
5.1. Sentencias
5.1.1. son instrucciones que realizan acciones.
5.2. Llamdas funcionales
5.2.1. llamadas a funciones que ejecutan instrucciones.
5.3. Asignación
5.3.1. permite el almacenamiento de un valor en una variable o constante.
5.4. Operaciones aritmétricas
5.4.1. los operadores aritméticos realizan sumas, restas, productos, divisiones y calculan el resto.
6. Estructuras descriptivas
6.1. sentencia if-else
6.1.1. permite realizar una acción concreta si se cumple una condición o proseguir con la sentencia
6.2. sentencia switch
6.2.1. se utiliza para las sentencias múltiples, el programa asigna un valor a una variable mediante la expresión escrita al comienzo de la sentencia
7. Estructuras repetitivas
7.1. Mientras (while)
7.1.1. se basa en la repetición de un bloque de sentencia mientras se cumpla una condición
7.1.1.1. si es verdadera se realizan las tendencias y se vuelve a evaluar la condición
7.1.1.2. Si es falsa, el Mientras finaliza y el control pasa a la siguiente instrucciones
7.2. Hacer-Mientras (do-while)
7.2.1. su propósito es repetir un bloque de sentencias mientras se cumpla una condición
7.2.1.1. Si es verdadera, la sentencia se vuelve a repetir
7.2.1.2. Si es falsa, la estructura finaliza y el control pasa a la siguiente instrucción del programa.
7.3. Para (for)
7.3.1. permite fijar el número de veces que se ha de repetir un bloque.
8. Funciones
8.1. a la hora de resolver un problema, se realiza una división en problemas más sencillos
8.1.1. La abstración se basa en tratar un problema tratando sus problemas fundamentales
8.1.2. Las funciones son un conjunto de instrucciones que realizan una tarea específica
8.1.2.1. y toman unos valores llamados parámetros
8.1.2.1.1. y dan un valor de salida (return)
9. Funciones recursivas
9.1. son las funciones que llaman a si mismas para resolverse
9.2. en cada caso los parámetros varían y se obtienen los resultados necesarios para resolver la ecuación
9.3. Un ejemplo típico es la recursividad factorial de un número
9.3.1. El factorial
10. Programa de juegos y animaciones: Scratch
10.1. Objetos
10.1.1. Programas
10.1.2. Disfraces
10.1.3. Sonidos
10.2. Escenario
10.2.1. Programas
10.2.2. Fondos
10.2.3. Sonidos
10.3. Bloques de instrucciones
10.3.1. Eventos
10.3.2. Movimiento
10.3.3. Control
10.3.4. Apariencia
10.3.5. Sonido
10.3.6. Lápiz
10.3.7. Operadores
10.3.8. Sensores
10.3.9. Datos
10.3.10. Más bloques
10.4. Crear un juego en Scratch: Partido de fútbol
10.4.1. Crear proyecto
10.4.2. Pantalla de inicio
10.4.3. Botón jugar
10.4.4. Cambiar al escenario de juego
10.4.5. Colocar a los jugadores y asignarles teclas de movimiento.
10.4.6. Juego del balón
10.4.7. Marcar un gol
10.4.8. Final del partido
11. Programación de aplicaciones Android: App inventor
11.1. App Inventor
11.2. El Diseñador de App inventor
11.2.1. Paleta
11.2.2. Visor
11.2.3. Componentes
11.2.4. Propiedades
11.3. El editor de bloques
11.4. Conexión con el dispositivo Android
11.4.1. Ai Companion
11.4.2. USB
11.4.3. Emulador
11.5. Componentes de App Inventor
11.5.1. Interfaz de usuario
11.5.2. Disposición
11.5.3. Medios
11.5.4. Dibujo y animación
11.5.5. sensores
11.5.6. Gestión social
11.5.7. almacenamiento
11.5.8. conectividad
11.5.9. Botón
11.5.10. Etiqueta
11.5.11. Cuadro de texto
11.5.12. Casilla de verificación
11.5.13. Pantalla
11.5.14. Imagen
11.5.15. Lienzo
11.5.16. Deslizador
11.5.17. Lista de selección
11.5.18. Selector de imagen
11.6. Bloques de programación en App Inventor
11.6.1. Control
11.6.2. Lógica
11.6.3. Matemáticas
11.6.4. Texto
11.6.5. Listas
11.6.6. Colores
11.6.7. Variables
11.6.8. Eventos
11.6.9. Procedimientos
11.7. Crear una App para android: Logro inteligente
11.7.1. Crear proyecto
11.7.2. Diseño de pantalla
11.7.2.1. Texto, alto y ancho
11.7.2.2. Reconocimiento de voz
11.7.2.3. TextoAvoz
11.7.2.4. Cámara
11.7.2.5. Acelerómetro
11.7.2.6. Reproductor
11.7.2.7. SensorDeUbicación
11.7.2.8. ActivityStarter
11.7.2.9. Sonido
11.7.3. Pseudocológico de la aplicación
11.7.4. Función ayuda
11.7.5. Función Cámara
11.7.6. Función música
11.7.7. Función Mapa
11.7.8. Reconocimiento de voz
11.7.9. Agitar el dispositivo Android y que vibre
11.7.10. Abrir y cerrar la ubicación
11.7.11. Empaquetar y distribuir la app
12. Programación estructurada y orientada a objetos C++
12.1. Entornos de desarrollo
12.2. Estructura de un programa C++
12.3. Tipos de datos y operadores en C++
12.4. Instrucciones de entrada y salida
12.5. Comentarios
12.6. Estructuras de control
12.6.1. Sentencia If
12.6.2. Sentencia While
12.6.3. Sentencia for
12.7. Funciones
12.8. Clases y objetos
12.9. Crear un programa en C++ juego de ahorcado
12.9.1. Funcionamiento del programa
12.9.2. Código fuente documentado