secuencial lgico. Un computador realiza tareas y maneja datos en memoria obedeciendo a una secuencia de pasos lgicos para lo cual ha sido programado. Programacin de computadoras es la ciencia que le permite a una persona programar una computadora para que resuelva tareas de manera rpida. Un programa de computadora se puede definir como una secuencia de instrucciones que indica las acciones o tareas que han de ejecutarse para dar solucin a un problema determinado. Para que sirve la programacin Programar computadoras es indispensable en cualquier rea de la ingeniera, ya que diferentes problemas que se puedan presentar tardan tiempo resolverlos de manera manual. La computadora resuelve problemas de acuerdo como se le haya programado de manera rpida. Se puede decir que la solucin a un problema es considerado como un algoritmo. Un algoritmo entonces es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. Que es un programa Es la implementacin de un algoritmo en un lenguaje de programacin Datos de entrada Programa Instrucciones Datos de Salida Conjunto ordenado de instrucciones que se dan al ordenador indicndole las operaciones o tareas que ha de realizar para resolver un problema Que es un lenguaje de programacin Se puede definir un lenguaje de programacin como un conjunto de reglas normas, smbolos y palabras especiales utilizadas para construir un programa y con l, darle solucin a un problema determinado. El lenguaje de programacin es el encargado de que la computadora realice paso a paso las tareas que el programador a diseado en el algoritmo. Se puede decir que un lenguaje de programacin es el intermediario entre la mquina y el usuario para que este ltimo pueda resolver problemas a travs de la computadora haciendo uso de palabras (funciones) que le traducen dicho programa a la computadora para la realizacin de dicho trabajo. Que es un lenguaje de programacin Una instruccin es un conjunto de smbolos que representa una orden para el ordenador: La ejecucin de una operacin con datos Las instrucciones se escriben en un lenguaje de programacin: Se forman con smbolos tomados de un determinado repertorio (componentes lxicos) Se construyen siguiendo unas reglas precisas Tipos de lenguajes Lenguaje mquina Entiende directamente la CPU del computador Depende del modelo del ordenador Lenguaje ensamblador Equivalente al lenguaje mquina, cada lnea de cdigo se traduce en una instruccin para la mquina Le asocia mnemnicos a las operaciones que entiende la CPU Programas difciles de entender Lenguaje de alto nivel Permite que el programador exprese procesamiento de datos de la forma simblica, sin tener en cuenta detalles fsicos de la mquina Independientes del modelo del ordenador Ejemplos: Pascal, C, C++, C#, Python, etc Clasificacin de los lenguajes de alto nivel Imperativos Indican al computador de forma inequvoca los pasos a seguir para la resolucin del problema Programacin estructurada La estructura del texto del programa debe auxiliarlos para entender la funcin que realizan: Estrategia Divide y Vencers Ejemplos: C, Pascal, Fortran, Cobol, etc. Programacin Orientada a Objetos Estilo de programacin que basa la estructura de un programa de mdulos deducidos de los tipos de objetos que manipula (en lugar de basarse en tareas que el sistema debe realizar Ejemplos: Smalltalk, C++, Java, C#, Python, etc. Lenguajes Imperativos Python Clasificacin de los lenguajes de alto nivel Declarativos Se implementan como conjunto de instrucciones (o reglas lgicas) cuya evaluacin nos dar el resultado deseado Ejemplo: Lisp, Prolog, etc. Lenguajes Declarativos Traductores Los traductores transforman programas escritos en un lenguaje de alto nivel en cdigo mquina Tipos de Traductores Compiladores Generan un programa ejecutable a partir del cdigo fuente Interpretes Van analizando, traduciendo y ejecutando instrucciones del programa una a una Herramientas de programacin Funcionan como editores y depuradores Desarrollo de aplicaciones informticas Ciclo de vida del software Planificacin Anlisis (levantamiento de requisitos) Diseo (Estudio de Alternativas) Implementacin (Creacin de mdulos de la aplicacin) Depuracin y Pruebas (Comprobacin del funcionamiento) Explotacin (uso y mantenimiento)