jueves, 24 de febrero de 2011

TIPOS DE INTERPRETE

1.5.2 TIPOS DE INTÉRPRETE
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: compilador e intérprete. También existen dos tipos principales de traductores de los lenguajes de programación de alto nivel;
Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje maquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otro lenguaje.
Existen diversas fases de compilación o también llamadas etapas de la compilación:
Ø  Programa fuente.
Ø  Compilador: Creara un fichero objeto (extensión).
Ø  Programa objeto.
Ø  Programa ejecutable en lenguaje maquina.
Ø  Edición: Nos creara el código fuente de programa (extensión).
Ø  Montaje: Creara un fichero ejecutable (extensión).
Ø  Ejecución.
El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador tiene los siguientes pasos:
1.- Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un depósito de almacenamiento (por ejemplo, un disco).
2.- Introducir el programa fuente en memoria.
3.- Compilar el programa con el compilador.
4.- Verificar errores de compilación (listado de errores).
5.- Obtención del programa objeto.
6.- El enlazador (linker) obtiene el programa ejecutable.
7.- Se ejecuta el programa y si no existen errores, se tendrá la salida del programa y el proceso de ejecución se ilustra en la siguiente imagen.

LENGUAJE DE ALTO NIVEL

ALTO NIVEL
Los lenguajes de alto nivel logran la independencia del tipo de máquina y se aproximan 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.
Los lenguajes de alto nivel también denominados lenguajes evolucionados, surgen con posterioridad a los anteriores, con los siguientes objetivos, entre otros:
Lograra independencia de la maquina, pidiendo utilizar un mismo programa en diferentes equipos con la única condición de disponer de un programa traductor o compilador, que le suministra el fabricante, para obtener el programa ejecutable binario de la maquina que se trato. A demá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 una forma más sencilla, eliminando muchas de las posibilidades de cometer errores que se daban en el lenguaje maquina, ya que se utilizan palabras (en inglés) 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, etc., que figuran en una especie de librería del lenguaje, de tal manera que se pueden utilizar siempre que se quieran sin necesidad de programarlas cada vez.
A demás de las diferentes versiones o dialectos que se han desarrollado de algunos de ellos. Ensamblador y enlazado, el código en lenguaje ensamblador se traduce a una representación y se determina la dirección real de las variables, funciones, etc.

LENGUAJE DE PROGRAMACION

1.5 LENGUAJE DE PROGRAMACION
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.
1.5.1 NIVEL BAJO, INTERMEDIO Y ALTO
Los lenguajes se clasifican en 3 grandes categorías n nivel bajo, intermedio y alto nivel. El lenguaje de bajo nivel es conocido como lenguaje maquina y son aquellos que utilizan directamente instrucciones a la computadora por lo que se entiende por la ucp (Unidad Central de Proceso) y utilizan expresiones de memoria más pequeños conocidos como bit que representa 0 y 1.
LENGUAJE INTERMEDIO
La programación de lenguaje intermedio es un poco complicado en realizar los procesos y a su vez son instrucciones en código de palabras de ingles; el lenguaje que se encuentra en este nivel se llama lenguaje ensamblador. Por ejemplo líneas de código;
ADD- suma
SUB-resta
MPY-multiplicación
DIV-división
A)    Pueden utilizar un mismo programa en diferentes equipos con la única condición de disponer del programa del compilador.
B)    El código del programa puede escribirse y leerse de formas más sencilla y comprensible.
C)    Incluye rutas de entrada/salida ya que contienen funciones específicas incluidas como librerías.
Se pueden decir que el principal problema que presentan los lenguajes es la cantidad que actualmente están existiendo y podemos mencionar los siguientes:
Ø  Fortran
Ø  Lisp
Ø  Algol
Ø  Cobol
Ø  Asp
Ø  Prolog
Ø  Modula
Ø  Pascal
Ø  Basic
Ø  Ada
Ø  C++




LENGUAJES DE PROGRAMACION DE ALTO NIVEL
(COMPILADORES E INTÉRPRETES)
COMPILADOR: Es aquel que analiza el programa fuente y lo traduce a otro equivalente en otro lenguaje (por ejemplo, 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 otro lenguaje.

Un compilador suele generar programas más rápidos y eficientes, 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 sebe obligado generalmente a analizar cada instrucción tantas  veces como se ejecute (miles de veces).
INTERPRETE: Son aquellos que analizan el programa fuente y lo ejecuta directamente, sin generar ni un código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ni un escrito permanente.

Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables etc.). A demás el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzarla ejecución, permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadena de caracteres.

miércoles, 23 de febrero de 2011

1.4 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.

1.4.1 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.
1.4.2 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.
1.4.3 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.




domingo, 20 de febrero de 2011

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

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.