Sunteți pe pagina 1din 25

Introduccin a los lenguajes de programacin

Informtica aplicada al medio ambiente curso 2010/2011

Lenguajes de programacin y traductores

Niveles de abstraccin en lenguajes de programacin: bajo-alto nivel. Traductores: compilador e intrprete. Proceso de compilacin: errores. Clasificacin de los lenguajes.

Informtica aplicada al Medio Ambiente

Mquina de turing

Modelo formal de un computador (Alan Turing 1936) Elementos:


Cinta infinita dividida en celdas con valores Autmata

Estado y Valor cinta Nuevo estado, nuevo valor y avance (izquierda o derecha)

Describe cualquier algoritmo (universal) Ejemplo: http://ironphoenix.org/tril/tm/


Informtica aplicada al Medio Ambiente 3

Niveles de lenguajes: bajo nivel

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.

Informtica aplicada al Medio Ambiente

Niveles de lenguajes: bajo nivel

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 ...

Niveles de lenguajes: alto nivel

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;

int main() { cout << "Hola, mundo!" << endl; }


Informtica aplicada al Medio Ambiente 8

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)])

Informtica aplicada al Medio Ambiente

Programas traductores

Pasan del lenguaje de alto nivel al cdigo mquina correspondiente. Pueden ser:

Compiladores Interpretes

Informtica aplicada al Medio Ambiente

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

Informtica aplicada al Medio Ambiente

11

Intrpretes

Traduce y ejecuta instruccin a instruccin en el interprete. No se guarda ningn fichero de programa objeto:

Menos eficiente: ms lento. Ms interactivo.

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:

Lxico Sintctico Semntico

Lxico Sintctico Semntico

Generacin de cdigo Ejecucin de cdigo

Generacin y optimizacn de cdigo Ejecucin de cdigo

Ejecucin: Es necesario tener los fuentes y los datos.

Ejecucin: Solo es necesario tener el ejecutable y los datos


13

Informtica aplicada al Medio Ambiente

Tipos de errores de compilacin

Lxicos: palabras no reconocidas

whyle (x>0) if (a>b>c)

Sintcticos: construcciones incorrectas.

Semnticos: construcciones correctas, pero sin sentido.


int x; ... x[3] = 5;


Informtica aplicada al Medio Ambiente 14

Errores no detectados por el compilador

Lgicos: algoritmo incorrecto. Ej. Intercambiar a y b :


/*MAL*/ temp = a; b = a; b = temp;

/*OK*/ temp = a; a = b; b = temp;

De ejecucin: relacionados con situaciones de la ejecucin del programa:


Divisin por 0 Raz cuadrada de un nmero negativo Acceder a un elemento inexistente de un vector ...
Informtica aplicada al Medio Ambiente 15

Lenguajes de alto nivel segn el mbito de su aplicacin:


Cientficos: Fortran, Matlab, Mathematica. De gestin: COBOL, SQL. De uso docente: Logo, Pascal. De inteligencia artificial: LISP, PROLOG. De propsito general: Java, C / C++

Informtica aplicada al Medio Ambiente

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

Informtica aplicada al Medio Ambiente

17

Breve Historia Lenguajes Programacin


1943-46: Sistema de codificacin del ENIAC 1954 Definicin del Primer Lenguaje de Alto Nivel: FORTRAN 1957 Primera implementacin de FORTRAN. Desarrollado por IBM

Informtica aplicada al Medio Ambiente

18

Breve Historia Lenguajes Programacin

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

Breve Historia Lenguajes Programacin

Incorporan la programacin estructura en los lenguajes no estructurados: FORTRAN 77, COBOL, BASIC. Aparecen nuevos lenguajes: PASCAL, MODULA y C.

Informtica aplicada al Medio Ambiente

20

Autores: Kernighan & Ritchie (1972) Lenguaje de alto nivel estructurado:

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

Aos 80: Introduce la programacin orientada a objetos (POO)

Primer lenguaje: Smalltalk 1972


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:

C++, Aparece JAVA

Informtica aplicada al Medio Ambiente

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

Informtica aplicada al Medio Ambiente

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

S-ar putea să vă placă și