Contenido Informática Grado en Ingeniería en Tecnologías Industriales Curso 2013/2014 • Conceptos básicos • Definiciones. • El proceso de desarrollo de software. • Lenguajes de programación. Tema 2: Introducción a la computación • • • • Definición y tipos de lenguajes de programación. Traductores de lenguaje. Fases de generación de un programa. Esquema general de funcionamiento de un programa. • Programas escritos en pseudocódigo. Informática – Tema 2 - 2 Definiciones Proceso de desarrollo de software • Instrucción: Expresión formada por números, operaciones y letras que indica, en un computador, la operación que debe realizar y los datos correspondientes. • Algoritmo: Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. • Secuencia de instrucciones no ambigua que resuelve una tarea concreta en un tiempo finito. • Programa: Conjunto de instrucciones en un lenguaje dado que indica a un ordenador cómo resolver un problema. • Codificación de uno o más algoritmos en un lenguaje de programación. • Procesar: Someter datos a una serie de operaciones programadas. • Al proceso de traducir o codificar un algoritmo a forma de programa se le conoce con el nombre de implementación. Informática – Tema 2 - 3 • Los pasos a seguir a la hora de desarrollar un programa para resolver cierto problema, son los siguientes: • Definición del problema. Implica el desarrollo y clarificación exacta de las especificaciones del problema, de los datos de entrada y de salida. • Diseño del algoritmo. Describe la secuencia ordenada de pasos que conducen a la solución de un problema dado. • Implementación. Codificar el algoritmo como un programa en un lenguaje de programación. • Ejecución y validación del programa en el ordenador. • Documentación. Tanto la definición del problema como el algoritmo y el programa deben formar parte de la documentación. Su contenido dependerá de a quién va dirigida. • Mantenimiento del programa. Los programas pueden quedarse anticuados, debiendo ser revisados, ampliados y modificados. Informática – Tema 2 - 4 Lenguajes de programación Lenguajes de programación • Lenguaje máquina. • Lenguaje de programación: Conjunto de reglas, símbolos y palabras especiales utilizados para construir un programa de forma que pueda ser entendido por el ordenador. • Es aquél que entiende directamente el ordenador ya que sus instrucciones son secuencias binarias. También se le conoce como código binario. • Dificultad de desarrollo, verificación y puesta a punto de programas. • El código desarrollado no es portable. >> ¿Qué es “portable”? • Lenguajes de bajo nivel (ensambladores). • Está compuesto por las instrucciones del lenguaje máquina escritas mediante nemotécnicos. Es más fácil de utilizar que el anterior. • El programa sigue siendo dependiente de la máquina. • Requiere la traducción del código fuente al programa objeto. >> Indica lenguajes de programación que conozcas • Se clasifican en: • Lenguajes de alto nivel. • Facilidad de desarrollo, verificación y mantenimiento de los programas. • Los programas desarrollados son portables. • Requiere la traducción del código fuente al programa objeto. • Son los más utilizados por los programadores. • Lenguajes máquina. • Lenguajes de bajo nivel o ensambladores. • Lenguajes de alto nivel. Informática – Tema 2 - 5 Traductores de lenguaje Informática – Tema 2 - 6 Traductores de lenguaje • Traductores de lenguaje: Programas que traducen los programas fuente escritos en un lenguaje de alto nivel a código máquina. En algunos casos pasan por fases intermedias generando lenguaje ensamblador. • Se dividen en dos categorías: • Compiladores: • Programas que traducen un código fuente, escrito en un lenguaje de alto nivel, a un código objeto escrito en lenguaje máquina. • El programa desarrollado se ejecuta tras la compilación. • La fase de compilación es independiente de la fase de ejecución. • Los programas compilados son más rápidos que los interpretados. • Intérpretes: • Compiladores. • Intérpretes. • Programas que traducen el código fuente instrucción a instrucción a lenguaje máquina mientras lo van ejecutando. • No generan un programa escrito en lenguaje máquina. • Cada vez que se ejecuta el programa, este deberá ser interpretado de nuevo. • Son más lentos que el mismo programa compilado. Informática – Tema 2 - 7 Informática – Tema 2 - 8 Proceso de compilación Fases de generación de un programa Escritura del programa fuente Compilación SÍ ¿Hay errores? NO Archivos de biblioteca Programas objeto del usuario Programa objeto Enlace Programa ejecutable SI ¿Hay errores? NO FIN Informática – Tema 2 - 9 Esquema de funcionamiento de un programa Pseudocódigo • El esquema general de funcionamiento de un programa se divide en: • Entrada de datos: Suele tener lugar al comienzo del programa, aunque no tiene por qué ser así. • Procesamiento de la información: Una vez disponibles los datos, el programa sigue las instrucciones para operar con ellos y obtener los resultados. • Salida de datos: Una vez procesada la información el programa presenta por pantalla, o por impresora, los resultados obtenidos. Entrada de datos Proceso Informática – Tema 2 - 10 Salida de resultados Informática – Tema 2 - 11 • Nos permite realizar un esbozo del programa final utilizando un lenguaje cercano al natural. • Después será sencillo traducir al lenguaje elegido. • Ejemplo: Realizar un algoritmo en pseudocódigo que, dados 2 números, calcule la suma de ambos. Algoritmo en pseudocódigo Inicio Leer el primer número Leer el segundo número Calcular la suma de ambos Mostrar el resultado Fin Informática – Tema 2 - 12