Programas y lenguajes de programación.
Programas y la actividad de la Programación.
Un procesador es cualquier entidad capaz de interpretar y ejecutar un cierto repertorio de instrucciones.
• Un programa es uno o más algoritmos escritos con una notación precisa para que puedan ser ejecutados por un procesador (ordenador).
• Un lenguaje de programación es una notación, conjunto de reglas y definiciones que determinen tanto lo que se puede escribir en un programa (y el procesador puede interpretar) como el resultado de la ejecución de este programa por el procesador.
Programas y la actividad de la Programación • La tarea de la Programación en aplicaciones reales de una cierta envergadura es bastante compleja.
• Según la complejidad del problema a resolver se distingue entre:
– Programación a escala reducida: número reducido de líneas de programa, intervención de una sola persona. Por ejemplo, un programa para ordenar listas.
– Programación a gran escala: número elevado de líneas de programa, equipo de programadores. Por ejemplo, el desarrollo de un sistema operativo.
Lenguajes y modelos de programación •
Un ordenador sólo podrá resolver problemas algorítmicos. El diseño de los ordenadores y de los lenguajes de programación se basaron en el conocimiento matemático de los algoritmos.
• Los orígenes de los lenguajes de programación se encuentran en las máquinas de cálculo, máquinas para resolver problemas específicos.
• Ejemplos:
– Máquina sumadora de Pascal, alrededor de 1640.
– Máquina de Leibniz, alrededor de 1670 (sumas, restas, productos, divisiones, raíces cuadradas).
– Máquina diferencial de Babbage, alrededor de 1820, tabulación de polinomios.
– Máquina analítica de Babbage, diseño alrededor de 1840, máquina programable que se debería usar con un lenguaje de programación precursor de los lenguajes modernos.
Lenguajes y modelos de programación • Ordenadores o máquinas de propósito general.
Los avances de las Matemáticas y de la tecnología en el siglo XX culminan en la máquina von Neumann, arquitectura desarrollada en los 40, y usada en los ordenadores electrónicos de la época.
Memoria principal CPU ALU PROGRAMA DATOS DEL PROGRAMA Unidad de Control Memoria externa Dispositivo de salida Dispositivo de entrada los algoritmos o instrucciones estan orientados a la circuteria con los que trabaja la cpu...
Lenguajes y modelos de programación • A nivel máquina, un programa y los datos se codifican en binario: lenguaje máquina. Ejemplo: Multiplicar unos ciertos valores en memoria.
Código de Posición de memoria la operación sobre la que trabaja 10111100 00100100 cargar el valor que está en 24h 10111111 00110011 multiplicar por el valor que está en 33h 11001110 00111100 almacenar el resultado en 3Ch Memoria principal ALU Unidad de Control 10111100 00100100 10111111 00110011 11001110 00111100 ...
24h 33h 3Ch 10011...
11010...
es un lenguaje prototipico estas tres instrucciones hacen esto very important mejoro algo los lenguajes ensambladores...
Lenguajes y modelos de programación • Es evidente que los programas escritos en lenguaje máquina resultan ilegibles.
• Los lenguajes ensambladores usan de mnemónicos e identificadores para instrucciones y datos.
• Los dos son lenguajes tan próximos a la máquina que se conocen como lenguajes de bajo nivel.
• Sería deseable poder expresarlo con una notación del siguiente estilo:
c <-- a*b En donde a, b, c serían nombres para los datos a multiplicar y el resultado respectivamente.
Load 24, 10111100 00100100 cargar el valor en 24h Multiply 33, 10111111 00110011 multiplicar por el valor valor en 33h
Store 3C, 11001110 00111100 almacenar en 3Ch a b c lenguaje a alto nivel, como el java...
minimizan las direcciones de memoria nombres datos resultado.
Lenguajes y modelos de programación • Frente a los lenguajes de bajo nivel se tienen los lenguajes de alto nivel que: mas productivos mas seguros los de bajo nivel las direcciones de memoria son fijos prolog y jasper.
– Disponen de operadores y estructuras más próximas a las humanas, lo que permite al programador dar órdenes de forma más sencilla al computador.
– Son más seguros que el código máquina y ayudan a no cometer errores evidentes.
IMPERATIVOS LOGICOS Y FUNCIONALES pero no de su so – El código es transportable (independiente de la máquina).
– El código es más legible.
• Los lenguajes de alto nivel que contienen una instrucción como la del ejemplo anterior:
c <-- a*b se denominan imperativos, aunque existen otros modelos como los lógicos y funcionales (LTPP).
Lenguajes y modelos de programación • Lista cronológica reducida:
Programación Estructurada
Programación Orientada a Objetos 1950 1960 1970 1980 1990 2000 Imperativo Orientado a objetos TODO DS DE LA 2DA GUERRA MUNDIAL...
COINCIDE CON LA VIDA DE AC...
TB ERA IMPERATIVO C, C++, ...
SQL???
Compiladores e intérpretes • Existen dos maneras de traducir un programa escrito en un lenguaje de alto nivel a lenguaje máquina: la interpretación y la compilación.
Qué es traducir?
dá la sensación de que no se compilan... por lo q son "visibles" pasar se puede hacer con blueJ de una manera o de otra indistintamente?
• En la interpretación se traduce a lenguaje máquina cada instrucción del lenguaje de alto nivel, una a una, en tiempo de ejecución.
ya no me acuerdo, ya no me acuerdo... ya no me acuerdo....
• En la compilación se traducen (compilan) por medio de un programa (compilador) todas las instrucciones del lenguaje a lenguaje máquina, previamente a su ejecución. CUANDO SE EJECUTA UN PROGRAMA DE ALTO NIVEL SE COMPILA Y SE INTERPRETA????
CUANDO SE INTERPRETA SOLAMENTE???
Compiladores e intérpretes
Comentarios
Publicar un comentario