miércoles, 23 de febrero de 2011

COMPARACIÓN DE INTERPRETES Y COMPILADOR

COMPARACIÓN DE INTÉRPRETE Y COMPILADOR.
*intérpretes y compiladores tienen diversas ventajas que los hacen complementarios:
ü  Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interpretarse en un cualquier momento para estudiar el entorno (Valores de las variables etc.).además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución.
ü  Un compilador suele generar programas más rápidos y diferentes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se v obligado generalmente a analizar cada instrucción tantas veces, como se ejecute (incluso miles o millones de veces).
ü  Un intérprete permite utilizar funciones y operadores más potente, como por ejemplo ejecutar código, contenido en una variable en forma de cadenas de caracteres usualmente, este tipo de instrucciones es imposible de tratar por medio de compliadores.los lenguajes que incluyen este tipo de operadores y que, por lo tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes comparativos, que permiten el uso  de un compilador presiden  de este tipo de operadores.



TIPOS DE INTERPRETES

TIPOS DE INTÉRPRETE:
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel:
*compilador: analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la maquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra.
*Interprete analiza el programa fuente y lo ejecuta a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente.

TEMA: TIPO DE INTÉRPRETE
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: compilador e intérprete.
*compilador: analiza el programa fuente y lo produce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguajes de la maquina).Su acción  equivale a la de un traductor humano, que toma un libro y produce otro equivalente en otro lenguaje.
*el proceso de ejecución de su  programa escrito en lenguaje de programación y mediante un compilador tiene los siguientes pasos:
1.- Escritura del programa fuente con un editor (programa que permite a unos computadora actual de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (ejemplo un disco).
2.-Introducir el programa fuente en memoria.
3.-compilar el programa con el compilador.
4.-Verificar y corregir errores de compilación listado de errores.
5.-Obtención del programa objeto.
6.-El enlazador obtiene el programa ejecutable.
7.-Se ejecute el programa y si no existe errores, se tendrán la salida del programa y el proceso de ejecución se ilustra.
Edición:
Sería el primer paso en el cual crearíamos el fichero (con extensión) el cual sería el código fuente. Normalmente cualquier entorno de programación dispone de un editor pero si no podríamos usar cualquier editor (Visual BASIC, bloc de notas) editores).
Compilador:
El compilador de C que Se instalara de penderá del sistema operativo que se tenga pero esto no es un problema ya que todo los sistemas operativos tiene compiladores para el lenguajes C.el  compilador leerá el archivo con extensión C. normalmente los compiladores tienen un editor el cual nos permite editar los archivos aunque podríamos usar un editor externo y realizara un proceso de compilación el cual nos creara un ejecutable y le añadirá los librerías necesarias para que el software se pueda ejecutar en nuestros sistemas operativos. El compilador cuando realice esta traducción creara el fichero objeto (extensión O.B.J) atreves del código fuente.
Montaje:
Este sería el tercer y último paso el cual combinaría las partes que se crean en el proceso de compilación realizara el programa ejecutable (EXE).combinando el objeto con las librerías los cuales contendrán funciones que podremos aplicar a las aplicaciones y que se combinaran con el fichero objeto y crearan el ejecutable.
*Interprete, anualizara el programa fuente y lo ejecuta directamente, sin ningún código equivalente, su acción equivale a la de un intérprete humano, que traducir las frases que oye sobre la marcha sin producir ningún escrito permanente.

Algunos lenguajes usualmente interpretados.
*ASP         *MATEMÁTICA: IDL, MAPLE, MATLAB
*BASIC    *MU MPS (TRADICIONALMENTE INTERPRETADO, ACTUALMENTE COMPILADO)
*LOGO    *EUPHORIA (INTERPRETADO O COPILADO)
*RUBY     *ECMAS SCRIPT (ACTION SCRIPT, JAVASCRIPT)

ENSAMBLADOR Y ENLAZADO


ENSAMBLADOR Y ENLAZADO.
El
El código en lenguajes ensamblador se traduce a una representación binaria y se determina la dirección real de las variables funciones etc.

LENGUAJE DE ALTO NIVEL

LENGUAJE DE ALTO NIVEL

Los lenguajes logran la independencia del tipo de lenguaje máquina y se aproximan al lenguaje natural. Los lenguajes de alto nivel también denominados lenguajes evolucionados y tienen los siguientes objetivos:
a)  Pueden utilizar el mismo programa en diferentes quipos con la única condición de disponer el programa compilador
b)   El código del programa puede escribirse y leerse de una forma más sencilla y comprensible.
c)   Incluye rutinas de entrada diagonal salida que contiene funciones específicas incluidas como librerías.
Se puede decir que el principal problema que representa los lenguajes es la cantidad que actualmente están existiendo y podemos mencionar los siguientes:
*Ada            *Java           *Asp           *Basic
*c++              *Php            *Prolog        *Cobol
*Visual Basic   *Lisp          *Pascal       *Fortran



Los Los **
lenguajes de alto nivel logran la independencia del tipo de máquina y se aproxima al lenguaje natural. Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen actualmente en uso.

lenguajes de lato nivel también denominados lenguajes evolucionados, surgen con posterioridad a los anteriores, con los siguientes objetivos entre otros:

lograr independencia de la maquina, pudiendo utilizar un mismo programa en diferentes equipos  con la única condición de disponer de un programa traductor o compilador, que lo suministre el fabricante, para obtener el programa ejecutable en lenguajes binarios de la maquina. Además, no se necesita conocer el hardware especifico de dicha maquina.

aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de un forma más sencilla, eliminando  muchas de las posibilidades de cometer errores que se deben en el lenguaje maquina, ya que se utilizan palabras (en ingles) en lugar de cadenas de símbolos sin ningún significado aparente.

incluir rutinas de uso frecuente como son las de e/s, funciones matemáticas, manejo de tablas, que figuran en una especie de librería del lenguajes, de tal manera que se puedan utilizar siempre que se quieran sin necesidad de programarla cada vez.
*
S
puede decir que el principal problema que presentar los lenguajes de alto nivel es la gran cantidad de ellos que existen actualmente en uso (FORTRAN, LISP, ALGOL, COBOL, APL, PROLOG, PASCAL, ADA, C++.BASIC)
Además de las diferentes versiones a dilectas que se han desarrollado de alguno de ellos.





LENGUAJE DE PROGRAMACIÓN

LENGUAJES DE PROGRAMACIÓN




Son aquellos utilizados para describir programas de computadora que pueden ser  entendidos por el lenguaje de programación. Los lenguajes que pueden obtener resultados de manera lógica en base al tipo de lenguaje que la computadora pueda utilizar; los cuales podemos mencionar los siguientes: c++, visual BASIC, java, strop, HTML y otros.




martes, 22 de febrero de 2011

EDITORES

EDITORES


Los editores permiten la escritura de una estructura de lenguaje de programación que se desea utilizar y a su vez permitir la traducción de un lenguaje formal, existen un sinfín de software de propósito general para efectuar el programa fuente de un lenguaje que se desea utilizar los editores más conocidos son: bloc de notas, worpor, norpatplus y entre otros software libre.
Dentro de los editores también lo contemplan los mismos lenguajes de programación para escribir el código fuente y poder traducir a un lenguaje que la computadora pueda reconocer y pueda mostrar el resultado ante el usuario. Los editores que se encuentran integrados en los lenguajes de programación son los siguientes: lenguaje c, turbo basic, luxis, cobol, c++, visual basic y entre otros.

 EDITOR DE CARÁCTER

Estos editores permiten utilizar caracteres de texto, por lo que no se requiere el uso del mouse y se tendrá que teclear cada uno de los comandos que se requiera para su ejecución estos editores son los que se utilizan en modo consola y podemos mencionar los siguientes: cochol, divezis, yonix, ensamblador y ms-dos.

EDITOR DE LINEA

Son aquellos traductores que traducen línea por línea y a su vez la ejecución del programa por lo que se muestra el resultado cuando no existe errores de sintaxis, los editores que manejan este tipo de traducción son los siguientes: htpl, java, turbo, basic, dibase plus III, rpg y ensamblador.


EDITOR DE PANTALLA

Los editores de pantalla que utilizan la forma de compilar o traducir el código fuente lo primero es que realiza un chequeo de toda las líneas para verificar que no existan errores de sintaxis y posteriormente mostrar el resultado en pantalla, los más conocidos son los siguientes: lenguaje c, visual basic, c#  todo lo relacionado con visual estudio.


sábado, 19 de febrero de 2011

LENGUAJES FORMALES.

LENGUAJES FORMALES.

TEMA: LENGUAJES FORMALES.
En matemáticas lógica y ciencias de la computación, un lenguaje formal es un lenguaje cuyos símbolos y reglas para unir esos símbolos están formalmente especificados a un conjunto de los símbolos se le llaman alfabeto del lenguajes y al conjunto de las reglas se le llaman la gramática formal, a una cadena de símbolos formados de acuerdo a l gramática se le llaman como una formula definida para lenguaje formal que es idéntico al conjunto de todas sus formulas.
Los lenguajes se encuentran constituidos por medio de alfabeto utilizando å nos representa todo el conjunto del alfabeto.
Los lenguajes se pueden considerar como un lenguaje finito lo cual quiere decir tiene un fin o un límite de determinado carácter.
El lenguaje constituido como infinito representa un bucle que no tiene fin, solamente  cuando existe un desbordamiento, de pila.
Un problema inicial que nos presenta es como distinguir con precisión las cadenas que pertenecen a un lenguaje, de aquellas que no pertenecen.
ATX= son las computadoras que tienen apagado automático los lenguajes se pueden considerar como lenguajes finito, lo cual quiere decir que tiene límite de determinados caracteres.

 

DEL PROBLEMA AL PROGRAMA CARGADO.

 DEL PROBLEMA  AL PROGRAMA CARGADO

Al cargar los programas en una computadora la maquina activara como si recibiera una educación instantánea que me permita saber, pensar y operar todos los programas. El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma, aunque el proceso de diseñador programas es estructuralmente un proceso creativo, se puede considerar una serie de fases que deben seguir los programadores para el diseño de programas.
Los programadores deben seguir una tabla de contenidos que l sirve para solucionar los planteamientos de problemas que se tengan, estos son los siguientes.
1.      Definición del problema.
2.      Análisis del problema.
3.      Selección de la mejora alternativa.
4.      Diagramación.
5.      Prueba de escritorio.
6.      Codificación
7.      Trascripción.
8.      Compilación.
9.      Pruebas de computadora.
10.   Documentación externa.


REVISIÓN DEL MODELO DE VON NEUMANN

TEMA: REVISIÓN DEL MODELO DE VON NEUMANN.
JOHN VON NEUMANN
Observo que la torpeza del aritmético decimal utilizada en la computadora ENIAC, podría  remplazarse utilizando la aritmética binaria. Realiza un diseño básico llamado la máquina de Von Neumann y se utiliza en la computadora EDVAC, fue la primera computadora que almacenaba el programa. La máquina  de Von Neumann tenía 5 partes principales las cuales son los siguientes.
1.      Memoria: constaba de 4096 palabras cada de 40 bits, y cada palabra podría contener 2 instrucciones de 20 bits cada una o un número entero de 39 bits y su signo  positivo negativo.
2.      Unidad de control: es la supervisora la transferencia de la información y le indicara a la unidad aritmética lógica es la operación que debía ejecutar.
3.      Unidad de Aritmética Lógica: es aquella que se encarga de realizar las operaciones aritméticas lógicas necesarias para la ejecución.
4.      Entrada: es cualquier dispositivo por el que se introduce información en la computadora.
5.      Salida: cualquier dispositivo que recibe la información de la computadora para hacer utilizadas por los usuarios, en los primeros tiempos de los ordenadores, con sistema de numeración decimal, una electrónica sumamente complicada muy susceptible a fallas y un sistema de programación cableado o mediante fichas Von Neumann propuso 2 conceptos básicos que revolucionarían la insipiente informática.
ü  La utilización del sistema de numeración binaria, simplificada enormemente los problemas de la implementación eléctrica de las operaciones y funciones lógicos que se plateaban y a la vez proporcionaban una mayor inmunidad a las fayas eléctricas digitales.
ü  Almacenamiento  de la secuencia de instrucciones de que consta el programa en una memoria interna, fácilmente accesible junto con los datos que hacen referencia, de esta forma la velocidad de proceso experimenta un considerable incremento.
ü  Tomando como modelo las computadoras que aparecieron incorporando las anteriores características el ordenador se puede considerar compuesto por las siguientes partes:
v  UCP
v  MEMORIA INTERNA
v  E/S
v  MEMORIA MASIVA EXTERNA.
MOTHER BOARD:
Está constituida por diferentes partes que conforman un CPU completo en la computadora de Von Neumann se encuentra estructurada por un bus principal que es un conjunto de líneas que enlazan los distintos componentes del ordenador, para realizar la trasparencia de datos entre todos sus elementos que la integran, se distingue tres tipos de bus.
* Bus de control: forman parte de las líneas que seleccionan desde  y hacia dónde va dirigido la información, también las que marcara la secuencia de los pasos a seguir para dicha trasparencia.
Ø  Bus de datos: de forma bidimensional fluyen los datos entre los distintos partes del ordenador.
Ø  Bus de direcciones: consta de un conjunto de líneas que permite seleccionar en qué posición de la memoria se quiere leer su contenido, también direccionales los puertos de E/S.

REVISIÓN DEL MODELO DE VON NEUMANN

TEMA: REVISIÓN DEL MODELO DE VON NEUMANN.
JOHN VON NEUMANN
Observo que la torpeza del aritmético decimal utilizada en la computadora ENIAC, podría  remplazarse utilizando la aritmética binaria. Realiza un diseño básico llamado la máquina de Von Neumann y se utiliza en la computadora EDVAC, fue la primera computadora que almacenaba el programa. La máquina  de Von Neumann tenía 5 partes principales las cuales son los siguientes.
1.      Memoria: constaba de 4096 palabras cada de 40 bits, y cada palabra podría contener 2 instrucciones de 20 bits cada una o un número entero de 39 bits y su signo  positivo negativo.
2.      Unidad de control: es la supervisora la transferencia de la información y le indicara a la unidad aritmética lógica es la operación que debía ejecutar.
3.      Unidad de Aritmética Lógica: es aquella que se encarga de realizar las operaciones aritméticas lógicas necesarias para la ejecución.
4.      Entrada: es cualquier dispositivo por el que se introduce información en la computadora.
5.      Salida: cualquier dispositivo que recibe la información de la computadora para hacer utilizadas por los usuarios, en los primeros tiempos de los ordenadores, con sistema de numeración decimal, una electrónica sumamente complicada muy susceptible a fallas y un sistema de programación cableado o mediante fichas Von Neumann propuso 2 conceptos básicos que revolucionarían la insipiente informática.
ü  La utilización del sistema de numeración binaria, simplificada enormemente los problemas de la implementación eléctrica de las operaciones y funciones lógicos que se plateaban y a la vez proporcionaban una mayor inmunidad a las fayas eléctricas digitales.
ü  Almacenamiento  de la secuencia de instrucciones de que consta el programa en una memoria interna, fácilmente accesible junto con los datos que hacen referencia, de esta forma la velocidad de proceso experimenta un considerable incremento.
ü  Tomando como modelo las computadoras que aparecieron incorporando las anteriores características el ordenador se puede considerar compuesto por las siguientes partes:
v  UCP
v  MEMORIA INTERNA
v  E/S
v  MEMORIA MASIVA EXTERNA.
MOTHER BOARD:
Está constituida por diferentes partes que conforman un CPU completo en la computadora de Von Neumann se encuentra estructurada por un bus principal que es un conjunto de líneas que enlazan los distintos componentes del ordenador, para realizar la trasparencia de datos entre todos sus elementos que la integran, se distingue tres tipos de bus.
Ø  Bus de control: forman parte de las líneas que seleccionan desde  y hacia dónde va dirigido la información, también las que marcara la secuencia de los pasos a seguir para dicha trasparencia.
Ø  Bus de datos: de forma bidimensional fluyen los datos entre los distintos partes del ordenador.
Ø  Bus de direcciones: consta de un conjunto de líneas que permite seleccionar en qué posición de la memoria se quiere leer su contenido, también direccionales los puertos de E/S.