Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLidia Barbero Gómez Modificado hace 10 años
1
Lenguajes de programación
2
Lenguaje máquina El ordenador sólo sabe hacer un número limitado de tareas (muy pocas) definidas electrónicamente en su procesador. Las tareas complejas hay que dárselas desgajadas en tareas simples que tenga implementadas.
3
Lenguaje máquina Puesto que sólo sabe hacer unas pocas cosas, cada una de las órdenes básicas consistirá en el número de la tarea junto con los valores numéricos de los parámetros: 10110110011011111001 10110110011011111001 1011 0 1100 1 1011 1 1001 11 0-12 1-11 1-9 Ejecuta la operación 11 con el valor numérico 12 y el valor guardado en la posición de memoria 11 como argumentos. Guarda el resultado en la posición de memoria 12
4
El lenguaje ensamblador El lenguaje máquina, es totalmente dependiente del procesador para el que se escribe y resulta casi imposible de manejar. Para facilitar su uso, se inventaron los lenguajes ensambladores que consisten en unas reglas mnemotécnicas para recordar la sintáxis.
5
El lenguaje ensamblador No hay que saber el número de cada operación y menos aun escribirlo en binario: cada operación elemental se identifica por una etiqueta que nos resulte familiar. No hay que saber el número de cada operación y menos aun escribirlo en binario: cada operación elemental se identifica por una etiqueta que nos resulte familiar. Los valores numéricos se introducen en base decimal. Los valores numéricos se introducen en base decimal. Se pueden utilizar variables para referirse a los valores numéricos almacenados en la memoria. Se pueden utilizar variables para referirse a los valores numéricos almacenados en la memoria.
6
El lenguaje ensamblador 10110110011011111001 1011 0 1100 1 1011 1 1001 11 0-12 1-11 1-9 Suma 12, a -> b
7
El lenguaje ensamblador También es propio de cada máquina, ya que ésta debe tener un programa (escrito en lenguaje máquina) que le permita traducir este código mnemotécnico al que realmente conoce. Suma -> 1011 12 -> 1100 12 -> 1100 a -> 11011 a -> 11011
8
Lenguajes de alto nivel El lenguaje ensamblador facilita la tarea de programar pero cada orden corresponde a una única orden elemental de la máquina. Esto requiere muchas líneas para una tarea sencilla. Para ello se diseñan los lenguajes de alto nivel en los que una orden se traduce en varias órdenes del lenguaje máquina. Así están disponibles no sólo las tareas básicas que trae implementadas el procesador sino también tareas de complejidad más avanzada.
9
Lenguajes de alto nivel Si lo comparamos con programar un (teórico) robot humanoide, un lenguaje de alto nivel contendría instrucciones del tipo “Levántate” que serían traducidas por la máquina a toda una serie de instrucciones básicas que harían referencia a la manera en la que deben moverse cada una de las articulaciones.
10
Lenguajes de alto nivel Programar el robot consistiría en describir detalladamente todo lo que tiene que hacer para cumplir la tarea (por ejemplo, llevar una silla de un lugar de la habitación a otro) pero gracias a un lenguaje de alto nivel, las instrucciones no son al nivel básico que entiende el robot (a nivel de articulaciones) sino del tipo: 1. Levántate 2. Camina 10 pasos hacia delante 3. Separa los brazos. 4. Mueve los brazos 40 cm. hacia delante 5. Junta los brazos hasta agarrar la silla 6. Date media vuelta 7. etc….
11
Lenguajes de alto nivel Un lenguaje de alto nivel consiste en el conjunto de tareas que se podrán hacer con él y la sintáxis, junto con un programa que traduzca cada orden al conjunto de órdenes del lenguaje máquina correspondiente. Una misma orden del lenguaje de alto nivel (“Escribe A en la impresora”) se traduce (de manera distinta) a los distintos procesadores. Por eso los lenguajes de alto nivel son independientes de las máquinas sobre las que vayan a funcionar, siempre que se haya escrito el traductor correspondiente.
12
Lenguajes de alto nivel Al diseñar un lenguaje para robots, debemos decidir si contendrá una instrucción para que el robot se levante y su sintáxis: “Levántate”, “Levantarse”, “Up” o como decidamos. Luego hay que escribir un programa que traduzca la orden “Levántate” a la serie de tareas básicas en que se descompone y que será distinta según el robot: unos tendrán piernas, otros ruedas con un fuelle; los de las piernas tendrán más o menos articulaciones; etc. Además la sintáxis de cómo se indica el movimiento de una articulación también será distinta para cada robot.
13
Compiladores e intérpretes El programa que traduce las instrucciones del lenguaje de alto nivel al lenguaje máquina puede ser un compilador o un intérprete.
14
Compiladores e intérpretes Intérpretes: Traducen las instrucciones según las van leyendo. Tienen la gran ventaja de la inmediatez, lo que los hace ideales para principiantes o para programar mediante ensayo y error.
15
Compiladores e intérpretes Compiladores: Se dedican exclusivamente a traducir, produciendo un programa en código máquina que se puede ejecutar posteriormente. Requieren tiempo para la compilación pero el código resultante es más eficiente que en las versiones interpretadas y se ejecuta más rápidamente porque no se solapan la traducción y la ejecución. La versión compilada se puede ejecutar tantas veces como haga falta, sin volver a traducir cada vez.
16
Tipos de lenguajes En el diseño de un lenguaje de programación, se decide qué tipo de tareas va a facilitar. En ese sentido podemos distinguir lenguajes imperativos, funcionales, lógicos u orientados a objetos, entre otros.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.