1. Programación: Conjunto de reglas bien definidas que permiten desarrollar una actividad mediante pasos lógicos
1.1. Lenguaje de programacion:
1.1.1. Lenguaje de Máquina: Cada tipo de microprocesador contiene un conjunto de instrucciones que realizan ciertas operaciones sobre una o más palabras de bits; las instrucciones van también codificadas en bits
1.1.2. Lenguajes de Bajo Nivel: Para dar solución a lo difícil que era programar en código máquina, se desarrolló un lenguaje conocido como lenguaje ensamblador. Este lenguaje era encargado de tomar algunas palabras comunes a una persona y traducirlas al código máquina. Lo anterior facilitaría un poco la escritura de programas.
1.1.3. Lenguajes de alto nivel: Como las personas resuelven problemas y se comunican en lenguajes naturales se desarrollaron lenguajes de programación que estuvieran mas cerca de ésta manera de resolver problemas. De los lenguajes de alto nivel se puede citar el Basic, Cobol, Fortran, Pascal, Turbo Pascal, C, Modula, Ada. Como se hace necesario traducir el programa a lenguaje de máquina, en los lenguajes de alto nivel esa operación la realiza algo que se conoce con el nombre de Compilador.
1.2. Tipos de programación:
1.2.1. Secuencial: Se considera programación secuencial a los programas que se diseñan con instrucciones que van unas detrás de otras. Las líneas se ejecutan una a una en secuencia. Ejemplos tales como Basic, Cobol.
1.2.2. Estructurada: Se considera programación estructurada a la programación que se hace por módulos. Cada módulo realiza alguna tarea específica y cuando se necesite esa tarea simplemente se hace el llamado a ese módulo independiente de que se tengan que ejecutar los demás. Ejemplos tales como: Turbo PASCAL, C, Modula, Ada.
1.2.3. Orientada a Objetos: Se considera programación orientada a objetos aquellos lenguajes que permiten la utilización de objetos dentro del diseño del programa y el usuario puede pegar a cada objeto código de programa. Ejemplos de estos lenguajes se pueden mencionar el Visual Basic de la Microsoft, C Builder de la Borland Internacional, Java, Xml, entre otros.
1.2.4. Lógica o de lenguaje natural: son aquellos programas que se diseñan con interfaces tal que la persona o usuario puede ordenar a la máquina tareas en un lenguaje natural. Pueden interactuar como una persona pero nunca llegan a producir conocimiento. Ejemplo como Prolog (Programming Logic). Estos lenguajes se desarrollaron con base en las estructuras de sus antecesores. Recorren o navegan las bases de datos obedeciendo a reglas.
1.2.5. Inteligencia Artificial: Los programas de inteligencia artificial Son programas que se acercan a la inteligencia humana. Estos programas son capaces de desarrollar conocimiento. Este tipo de lenguajes trabajan similar a la mente humana.
2. Algoritmo: Cualquier cosa que funcione paso a paso, contiene un limite fijo en cuanto cantidad de datos.
2.1. sus partes son:
2.1.1. Entrada
2.1.1.1. Son los datos necesarios que requiere el proceso, para ofrecer resultado esperados
2.1.2. Proceso
2.1.2.1. Pasos necesarios para obtener la situación del problema
2.1.3. Salida
2.1.3.1. Resultados arrojados por el proceso como solucion
2.2. Sus caracteristicas son:
2.2.1. Precisión: Indica el orden de realizacion de cada paso dentro del proceso
2.2.2. Definición: Indica la exactitud de los pasos descritos en el proceso, si el algoritmo se prueba dos veces, en estas dos pruebas se debe obtener el mismo resultado.
2.2.3. Finitud: Numero razonable de pasos los cuales conllevan la finalizacion del proceso y producir un resultado en un tiempo finito
2.3. Formas de representar un algoritmo:
2.3.1. Lenguaje Natural: : Tienden a ser ambiguas y extensas.
2.3.2. Uso del pseudocódigo y diagramas de flujo: evita muchas ambigüedades del lenguaje natural.
2.4. Descripccion de un algoritmo
2.4.1. Descripción de alto nivel: Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
2.4.2. Descripción formal: Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
2.4.3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.