Download Tema2:Introducción_a_la_computación

Document related concepts

Programación funcional wikipedia , lookup

Little man computer wikipedia , lookup

Lisp wikipedia , lookup

Haxe wikipedia , lookup

Transcript
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