Lenguajes alto nivel
Lenguajes de Programación
Agenda
Introducción. Conceptos Evolución Clasificación Lenguajes de Alto Nivel Lenguajes de Base de Datos Resumen
1
Introducción (I)
Lenguaje de Programación Secuencia de comandos que nos permiten codificar instrucciones de manera que sean entendidas y ejecutadas por un ordenador Alfabeto Vocabulario Reglas de sintaxis Semántica Sentencia –Instrucción
de un cierto alfabeto Cadena de símbolos
Introducción (II)
Algoritmo Secuencia de pasos elementales a aplicar para encontrar una solución a un problema a partir de los datos del mismo Método general Terminar en algún momento Consumir recursos finitos No estar vinculado a una máquina específica
Conjunto de instrucciones necesarias para obtener unos resultados a partir de unos datosiniciales Especificación en instrucciones concretas de un algoritmo
Programa
2
Introducción (III)
Programa
ordenador Lenguaje comprensible por el Lenguaje comprensible por los
Algoritmo
humanos
Fases en la creación de un programa
Código Fuente Código Objeto Código Ejecutable compiladores intérpretes enlazador
Introducción (IV)
Código Fuente
#include int main(void) {printf("Hello World"); }
Código Objeto
€ ?NONAME00.CPP7ˆ ??? TC86 Borland C++ ˆ ??é@&u C:\BC45\INCLUDE\ST DIO.Håˆ ??é@&u C:\BC45\INCL UDE\_DEFS.
Programa.obj Programa.cpp
Código Ejecutable
Programa.exe 001010010
3
Introducción (y V)
Compilador Traduce todas las instrucciones del lenguaje de programación del código fuente a código máquina u objeto. Rápido y profesional Intérprete Notrabaja directamente en código máquina, traduce cada instrucción según se ejecuta. Son más lentos porque no trabajan en lenguaje máquina Preprocesador Ensamblador
binario traduce un programa fuente de un lenguaje en un programa fuente de otro lenguaje Traduce los nemónicos a código
Agenda
Introducción. Conceptos Evolución Clasificación Lenguajes de Alto Nivel Lenguajes de Base de DatosResumen
4
Evolución (I)
Máquina de Von Neumann Lenguaje Máquina
Lenguaje codificado en binario Instrucciones hacen referencia directa a los registros y unidades funcionales Instrucciones de ejecución, de control, E/S, saltos condicionales, incondicionales Cada procesador su propio lenguaje máquina, dependiente del hardware Errores muy frecuentes y difíciles de arreglar Representación binaria dedatos + programas en memoria
Evolución (II)
Lenguaje Ensamblador
Primer Nivel de abstracción. Año 1945 Cada operación que puede realizar el ordenador se le asocia un símbolo Código de operación, nemónicos Reducción de errores, primer intento de generación automática de código Dependiente de la máquina Código máquina Código ensamblador ensamblador 0011 add 0001 sub
5
Evolución (III)Lenguajes de alto nivel
Evitar los errores del ensamblador La escritura del programa es similar a la escritura en lenguaje común, evitamos errores en la “traducción” Nuevo nivel de abstracción Lograr independencia de la máquina El nuevo lenguaje deberá ser traducido a ensamblador o a binario de manera automática Inclusión de rutinas y bibliotecas de funciones comunes, entrada-salida, ficheros…Compilados e Interpretados
Evolución (y IV)
#include void main() { printf(“Hola mundo”); }
.vtentry 1 : 1 .maxstack 1 IL_0000: ldstr "Hello World“ IL_0005: call void [mscorlib]System.C onsole::WriteLine( string)
010111010
6
Agenda
Introducción. Conceptos Evolución Clasificación Lenguajes de Alto Nivel Lenguajes de Base de Datos Resumen
Clasificación
Según el nivel dellenguaje
Lenguajes Declarativos
Nivel más alto, más cercanos al lenguaje natural Lenguajes de órdenes, expresan lo que hay que hacer SPSS, SAS, Natural, IMS
Lenguajes de Alto Nivel
Los más utilizados Pascal, Fortran, Cobol, Lisp, prolog, Ada, C
Lenguajes Ensambladores
Cada máquina el suyo (nemónicos)
Lenguajes Máquina
0100100111001010101110
7
Agenda
Introducción. Conceptos...
Regístrate para leer el documento completo.