instrucciones ejecuta un ordenador

Upload: estella-saleme-lugo

Post on 07-Oct-2015

6 views

Category:

Documents


0 download

DESCRIPTION

Algoritmo

TRANSCRIPT

ALGORITMO

INSTRUCCIONES EJECUTA UN ORDENADORLenguaje de mquinaCada tipo de microprocesador contiene un conjunto de instrucciones que realizan ciertas operaciones sobre una o ms palabras de bits; las instrucciones van tambin codificadas en bits. No queremos hacer aqu una discusin sobre arquitectura de ordenadores, por lo que con esto debe valer por ahora.Se entiende que escribir slo con dos teclas, el 0 y el 1, es incmodo. Histricamente, a la hora de disear un algoritmo para que el ordenador ejecutara, se escriba mediante unas etiquetas memotcnicas; ste fue el origen del lenguaje ensamblador. Por ejemplo quizs en una cierta arquitectura la instruccin de borrado de memoria (Memory Clear, en ingls) corresponda al cdigo 010. Pronto surgieron programas que lean, siguiendo el ejemplo, MC, y lo sustituan por 010.Lenguaje ensambladorEl cdigo mquina tena dos grandes inconvenientes para los programadores:las instrucciones eran difciles de recordar, ya que no guardaban relacin con la operacin que se est realizando.puede haber, y de hecho hay, diferencias entre las instrucciones de un procesador a otro.Todo esto ha llevado a "poner nombre" a las instrucciones de cdigo mquina de manera que a una secuencia concreta de bits que realiza una operacin se le pone un nombre sencillo que identifique la operacin. Esta traduccin a un lenguaje ms sencillo para las personas resulta en una mayor comodidad para el programador, adems el proceso de traduccin inverso de lenguaje ensamblador a cdigo mquina puede ser realizado por un sencillo programa.Programacin para seres humanosSobre este lenguaje ensamblador inicial se fueron construyendo otros lenguajes de programacin de ms alto nivel; esto significa que ocultan ciertos aspectos de manera que el programador no se ha de preocupar sobre si en la mquina que quiere que se ejecute el algoritmo el MC corresponde a la instruccin 101 o 010. Se produce, por tanto, una abstraccin de datos, muy deseable para poder utilizar el trabajo de otros para avanzar un paso ms en vez de tener que "reinventar la rueda", como se suele decir. Estos textos en los que se codifican los algoritmos son los cdigos fuente; siguen las reglas sintcticas de un determinado lenguaje de programacin. Existen numerosos lenguajes de programacin, y se utiliza uno u otro segn sus caractersticas se adecen ms o menos a la resolucin de nuestro problema.Lenguajes de alto nivel

Traductores e intrpretesTras la escritura del algoritmo, un compilador o un intrprete (otros programas) transformarn el texto en cdigo mquina que el procesador es capaz de ejecutar.

Toda esta abstraccin permite resolver problemas alejados de sumar nmeros BINARIOS, como pueden ser la consulta de esta misma enciclopedia o jugar a un videojuego en 3D.Lenguajes interpretados vs. lenguajes compiladosLos lenguajes interpretados son como respuesta a la dificultad de manejo de los compilados. Un lenguaje compilado es slo apto para un sistema operativo o formato de ejecutable (en GNU/Linux y Unix System V es ELF, en Windows o incluso en BSD es muy diferente), y es tedioso de manejar: para comprobar bugs o errores el computador debe:Compilar cada uno de los ficheros de cdigo.Ensamblarlos en ficheros objeto.Enlazar los ficheros objeto.Volverlos a ensamblar.Todo eso no es gran derroche de recursos para un ordenador medio actualmente, pero dura sus 10 o 15 segundos. En cambio, con un lenguaje interpretado, el programa intrprete analiza el fichero de cdigo y lo va ejecutando en tiempo real, sin compilarlo ni ensamblarlo. Otra de las ventajas de los lenguajes interpretados es que son multiplataforma: un programa en Perl, por ejemplo, no debe ser compilado dos veces (una para Unix y otra para Windows). Con que haya diferentes versiones del intrprete en cada uno de esos ordenadores, especficamente compilados para ellos, basta.Sus desventajas:Consume muchos recursos de memoria, sobre todo RAM.Se depende del intrprete: si no tienes instalado el intrprete que corresponda, no podrs ejecutar el programa.Ejemplos de lenguajes interpretados son PHP, Perl, Python, Tcl/Tk, BASIC, LISP (en algunas de sus versiones)...QU ES ALGORITMO?