Documente Academic
Documente Profesional
Documente Cultură
Niveles de abstraccin en lenguajes de programacin: bajo-alto nivel. Traductores: compilador e intrprete. Proceso de compilacin: errores. Clasificacin de los lenguajes.
Mquina de turing
Estado y Valor cinta Nuevo estado, nuevo valor y avance (izquierda o derecha)
Cdigo mquina
nico lenguaje que entiende el ordenador. Difcil de entender para los humanos. Permite aprovechar al mximo los recursos. Instrucciones codificadas en binario. Particular de cada procesador.
Ensamblador:
Representacin mnemotcnica del cdigo mquina: Particular de cada procesador. Cada instruccin en ensamblador equivale a una instruccin en lenguaje mquina. Smbolos para representar las instrucciones y para las direcciones de memoria. Se requiere un programa traductor. (llamado tambin ensamblador)
Informtica aplicada al Medio Ambiente 5
Ejemplo de cdigo
... subl $8, %esp andl $-16, %esp subl $28, %esp pushl $.LC0 call printf addl $12, %esp leal -4(%ebp), %ecx pushl %ecx leal -8(%ebp), %edx pushl %edx pushl $.LC1 Informtica aplicada al Medio Ambiente ...
Independientes de la estructura concreta del ordenador. Se aproxima ms al lenguaje natural. Utiliza variables y estructuras de datos para representar la informacin. Utiliza estructuras de control: condicionales y bucles. Se han de traducir a lenguaje mquina. Una instruccin del LA se traduce a varias instrucciones en lenguaje mquina (LB).
Informtica aplicada al Medio Ambiente 7
Ejemplos de cdigo
ADA with Ada.Text_IO; C++ #include <iostream> using namespace std; procedure Hola_Mundo is begin Ada.Text_IO.Put("Hola, mundo!"); end Hola_Mundo;
Ejemplos de cdigo
MATLAB function ejemplo1() % Funcion para sumar dos nmeros % x = input('Introduzca el valor de x e y: ') y = input('') z=x+y disp(['El resultado de hacer x+y es: ' int2str(z)])
Programas traductores
Pasan del lenguaje de alto nivel al cdigo mquina correspondiente. Pueden ser:
Compiladores Interpretes
10
Compiladores
Traducen completamente un programa fuente, generando el programa objeto equivalente en lenguaje mquina. El programa objeto se guarda en un fichero y se puede ejecutar sin necesidad del compilador. Ejemplos de lenguajes compilados: C, C++, Pascal, Fortran
11
Intrpretes
Traduce y ejecuta instruccin a instruccin en el interprete. No se guarda ningn fichero de programa objeto:
Ejemplo de lenguajes interpretados: Java (no del todo), Javascript, Matlab, Basic, PHP
Informtica aplicada al Medio Ambiente 12
Interpretacin/compilacin y ejecucin
Interpretado
Compilado
Anlisis:
Anlisis:
Divisin por 0 Raz cuadrada de un nmero negativo Acceder a un elemento inexistente de un vector ...
Informtica aplicada al Medio Ambiente 15
Cientficos: Fortran, Matlab, Mathematica. De gestin: COBOL, SQL. De uso docente: Logo, Pascal. De inteligencia artificial: LISP, PROLOG. De propsito general: Java, C / C++
16
Primeros programas
Charles Babagge Mquina analtica (siglo XIX) Ada Lovedby se considera la primera programadora de la historia Se empleaban tarjetas perforadas ADA es un lenguaje moderno, departamento de defensa EE.UU
17
1943-46: Sistema de codificacin del ENIAC 1954 Definicin del Primer Lenguaje de Alto Nivel: FORTRAN 1957 Primera implementacin de FORTRAN. Desarrollado por IBM
18
Aos 60 Desarrollo de la programacin estructurada: Se populariza en los aos 70 A partir de las ideal del lenguaje ALGOL Programas son construidos con tres estructuras de control de bajo nivel:
Bloque o sucesin de instrucciones Ejecucin condicional: if- then else Bucles de instrucciones de ejecucin repetitiva condicional: while, for
Informtica aplicada al Medio Ambiente 19
Incorporan la programacin estructura en los lenguajes no estructurados: FORTRAN 77, COBOL, BASIC. Aparecen nuevos lenguajes: PASCAL, MODULA y C.
20
Con funciones
Objetivo inicial: Utilizacin para la programacin de sistemas operativos.. Windows, Unix. Se busc deliberadamente una proximidad con lenguajes de nivel ms bajo: ensamblador, mquina. Por qu sigue siendo til C? Simple, verstil.
Informtica aplicada al Medio Ambiente 21
Despus de C: POO
Objetos con memoria propia Comunicacin mediante mensajes Herencia Capacidad de procesamiento
Stroustrup propone la extensin del C para incorporar la orientacin a objetos: Surge C++ edificado sobre los cimientos del C Aos 90: Se afianzan las tcnicas de la POO:
22
Introduccin a Matlab
Se crea a finales de los 70 en University of New Mexico por Cleve Moler. Idea inicial: simplificar el acceso a funciones de anlisis numrico en FORTRAN. En 1984 se funda MathWorks y se empieza a comercializar
23
Introduccin a Matlab
Acrnimo de MATrix LABoratory Matlab es un entorno de clculo numrico y un lenguaje de programacin. Permite:
Fcil manejo de matrices Creacin de grficos 2D y 3D de funciones y datos Implementar funciones, algoritmos y programas Creacin de interfaces de usuario Interaccionar con otros lenguajes
Informtica aplicada al Medio Ambiente 24
Introduccin a Matlab
Ventajas
Interactivo Fcil y rpido de programar Hay muchas funciones disponibles (ToolBoxes) Grficos Lento en ejecucin Propietario: Se necesita licencia. Opciones libres: Octave/QtOctave y SciLab
Informtica aplicada al Medio Ambiente 25
Inconvenientes