Figure: Lenguajes. Generaciones de lenguajes de programación.
of 26
/26
-
Author
chucho-ballesteros -
Category
Documents
-
view
132 -
download
1
Embed Size (px)
Transcript of Figure: Lenguajes. Generaciones de lenguajes de programación.
- Diapositiva 1
- Figure: Lenguajes
- Diapositiva 2
- Generaciones de lenguajes de programacin
- Diapositiva 3
- Evolucin de los paradigmas de lenguajes
- Diapositiva 4
- Paradigmas de programacin -Imperativo: los programas tienen estados y hay sentencias que cambian ese estado -Lgico: lgica aplicada a sistemas expertos -Funcional: funciones matemticas -Orientado al evento: estructura y accin del programa determinada por sucesos -Orientado al objeto -Orientado al aspecto: nivel de abstraccin ms alto, en desarrollo
- Diapositiva 5
- Lenguaje imperativo
- Diapositiva 6
- Proceso de traduccin
- Diapositiva 7
- Reconocedores de lenguaje Diagrama sintctico de una sentencia if
- Diapositiva 8
- Reconocedores de lenguajes Diagrama sintctico de una expresin
- Diapositiva 9
- Proceso completo de creacin de un programa
- Diapositiva 10
- Reconocedores de lenguajes Autmatas finitos Alfabeto: conjunto finito, no vaco, de smbolos a partir del cual se construyen las cadenas que se analizan. Flujo de entrada: cadena que analizar como una secuencia de smbolos, uno a la vez. Consiste en: S: conjunto finito de estados : alfabeto de la mquina (autmata) : funcin de transicin de Sx a S I: un elemento de S, estado inicial F: un subconjunto de S, estados finales
- Diapositiva 11
- Reconocedores de lenguajes Autmatas finitos representacin pictrica S: conjunto finito de estados (r: identificacin) : alfabeto de la mquina (autmata) : funcin de transicin de Sx a S I: un elemento de S, estado inicial F: un subconjunto de S, estados finales i j Elemento de 0 i r
- Diapositiva 12
- Reconocedores de lenguajes Autmatas finitos. Ejemplo: 0 1 a 2 E a b b {a, b} Reconocer cadenas: ab k a k=0,1,2,.. Cadena mnima: aa Se parte analizando el primer smbolo de la izquierda Se termina cuando se alcanza el ltimo smbolo de la cadena Se cambia al estado que tiene el smbolo que se est analizando Si al terminar la cadena se est en un estado final, la cadena es reconocida S: {0, 1, 2, E} : {a, b} I: {0} F: {2}
- Diapositiva 13
- Reconocedores de lenguajes Autmatas finitos. Ejemplo: 0 2 a 3 E a b b {a, b} Reconocer cadenas: ab k a k>1 Cadena mnima: aba 1 b a S: {0, 1, 2, 3, E} : {a, b} I: {0} F: {3}
- Diapositiva 14 burbuja | +->pelota +-> fut">
- Herencia y jerarqua de clases en Java (1) Una clase puede se extendida por otra clase ms especfica: Ejemplo: Esfera +-> burbuja | +->pelota +-> futbol | +-> tenis
- Diapositiva 17
- Slide 5-17 Copyright 2003 Pearson Education, Inc. Herencia y jerarqua de clases en Java (2) extendida significa que se le agregan detalles ms especficos pero las clases herederas pueden hace uso de los recursos de la clase extendida. Estos pueden ser variables y/o mtodos Reglas de visibilidad de variables y mtodos: public : se puede hacer referencia desde cualquier clase private : slo se pueden referenciar desde instrucciones en la clase que se ha declarado protected: slo se puede referenciar desde una subclase locales al mtodo: slo pueden ser referenciadas desde el interior del mtodo en que se declaran
- Diapositiva 18
- Ventana grfica (1) class Pizarra extends Frame { Pizarra(){ } } Esta clase aumentar los atributos de una clase existente en java.awt Al crear un objeto de clase Frame y activarlo, se abre una ventana, lo mismo ocurre con la nueva clase Pizarra
- Diapositiva 19
- Slide 5-19 Copyright 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { Pizarra(){ } } La implementacin de una interfaz (MouseListener), obliga a agregarle unos mtodos con nombre estndar que se ejecutan cuando se usan los botones del mouse Ventana grfica (eventos de mouse)
- Diapositiva 20
- Slide 5-20 Copyright 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { Pizarra(){ } public void mousePressed(MouseEvent e){;] public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} } Estos mtodos estndar se ejecutan cuando se usan los botones del mouse Tal como est la clase arriba, los eventos del mouse no sern recibidos y hay hacer lo que sigue: Ventana grfica (3)
- Diapositiva 21
- Slide 5-21 Copyright 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} } En el constructor, se agrega esta lnea que habilita la recepcin de eventos de mouse Significa: esta clase atiende los eventos de esta clase (puede ser que una clase atienda los eventos de otra) Ventana grfica (4)
- Diapositiva 22
- Slide 5-22 Copyright 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { int x=0, y=0; Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} public void paint(Graphics g){ g.setColor(Color.red); g.fillRect(x,y,60, 30); } Otro mtodo de utilidad para una ventana es paint El mtodo paint es llamado automticamente cada vez que la ventana se activa Ventana grfica (5)
- Diapositiva 23
- Slide 5-23 Copyright 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { int x=0, y=0; Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){ x = e.getX(); y = e.getY(); repaint(); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} public void paint(Graphics g){ g.setColor(Color.red); g.fillRect(x,y,60, 30); } El mtodo paint es llamado indirectamente si se llama directamente repaint Ventana grfica (6)
- Diapositiva 24
- Slide 5-24 Copyright 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { //Lista de objetos puede ir ac Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){ //agregar objetos a lista puede ir en este u otro mtodo repaint(); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} public void paint(Graphics g){ //dibujar la lista de objetos puede ir en este mtodo } El mtodo paint puede dibujar muchos objetos si se desea Ventana grfica (7)
- Diapositiva 25
- Slide 5-25 Copyright 2003 Pearson Education, Inc. Crear clase nodo class Nodo { int x, y; public Nodo siguiente; Nodo(int xx, int yy){ x = xx; y = yy; } public void dibujarNodo(Graphics g){ } ysiguientex yx
- Diapositiva 26
- Crear una lista: 2.- aux = new Nodo( ); objeto aux null lista 3.- aux.siguiente = lista; 4.- lista = aux; objeto aux null lista objeto aux null lista 5.- aux = new Nodo( ); objeto null lista objeto aux 6.- aux.siguiente = lista; objeto null lista objeto aux 1.- Nodo aux, lista; null aux Qu se debe repetir?