6.+Funcionamiento+interno+de+la+computadora



El **Fortran** (previamente **FORTRAN**) [|[] [|1] [|]] (del [|inglés] //**For**mula **Tran**slating System//) es un [|lenguaje de programación] [|alto nivel] de propósito general, [|[] [|2] [|]] [|procedurimental] [|[] [|3] [|]] e [|imperativo], que está especialmente adaptado al [|cálculo numérico] y a la [|computación científica]. Desarrollado originalmente por [|IBM] en [|1957] para el equipo [|IBM 704], y usado para aplicaciones científicas y de ingeniería, el FORTRAN vino a dominar esta área de la programación desde el principio y ha estado en uso continuo por más de medio siglo en áreas de cómputo intensivo tales como la [|predicción numérica del tiempo], [|análisis de elementos finitos], [|dinámica de fluidos computacional] (CFD), [|física computacional], y [|química computacional]. Es una de los lenguajes más populares en el área de la [|computación de alto rendimiento] y es el lenguaje usado para programas que evalúan el desempeño ([|benchmark]) y el ranking de los [|supercomputadores] [|más rápidos del mundo]. [|[] [|4] [|]] El FORTRAN (una palabra compuesta, derivada de //The IBM Mathematical **For**mula **Tran**slating System//) abarca un linaje de versiones, cada una de las cuales evolucionó para añadir extensiones al lenguaje mientras que usualmente retenía compatibilidad con las versiones previas. Versiones sucesivas han añadido soporte para procesamiento de datos basados en caracteres (FORTRAN 77), [|programación de arreglos], [|programación modular] y [|programación orientada a objetos] (Fortran 90/95), y [|programación genérica] (Fortran 2003).

//** cobol **//
En la creación de este lenguaje participó la comisión [|CODASYL], compuesta por fabricantes de ordenadores, usuarios y el [|Departamento de Defensa de Estados Unidos] en mayo de [|1959]. La definición del lenguaje se completó en poco más de seis meses, siendo aprobada por la comisión en enero de [|1960]. El lenguaje COBOL fue diseñado inspirándose en el lenguaje [|Flow-Matic] de [|Grace Hopper] y el [|IBM COMTRAN] de [|Bob Bemer], ya que ambos formaron parte de la comisión. Gracias a la ayuda de los usuarios COBOL evolucionó rápidamente y fue revisado de [|1961] a [|1965] para añadirle nuevas funcionalidades. En [|1968] salió la primera versión [|ANSI] del lenguaje, siendo revisada posteriormente en [|1974] (COBOL ANS-74), [|1985] (COBOL ANS-85, ampliado en 1989 con funciones matemáticas, finalizando el estándar actual más usado, conocido como COBOL-ANSI), y en [|2002] (COBOL ANS-2002). Desde el año [|2007] se viene preparando una nueva revisión del lenguaje. Además, existe una versión conocida como COBOL ENTERPRISE, actualizada regularmente y lanzada en [|1991], usada generalmente en sistemas Host.]]

[ [|editar] ] Características
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los nuevos [|paradigmas de programación] y a los lenguajes que los implementaban. En la revisión de 1985 se solucionó, incorporando a COBOL variables locales, recursividad, reserva de memoria dinámica y programación estructurada. En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión de 1974 se podía crear un entorno de trabajo similar a la orientación a objetos, y un método de generación de pantallas gráficas estandarizado. Antes de la inclusión de las nuevas características en el estándar oficial, muchos fabricantes de compiladores las añadían de forma no estándar. En la actualidad este proceso se está viendo con la integración de COBOL con Internet. Existen varios compiladores que permiten emplear COBOL como [|lenguaje de scripting] y de [|servicio web]. También existen compiladores que permiten generar código COBOL para la plataforma [|.NET] y [|EJB].
 * COBOL fue dotado de unas excelentes capacidades de autodocumentación
 * Una buena gestión de archivos y una excelente gestión de los tipos de datos para la época, a través de la conocida sentencia PICTURE para la definición de campos estructurados. Para evitar errores de redondeo en los cálculos que se producen al convertir los números a binario y que son inaceptables en temas comerciales, COBOL puede emplear y emplea por defecto números en [|base diez]. Para facilitar la creación de programas en COBOL, la sintaxis del mismo fue creada de forma que fuese parecida al idioma inglés, evitando el uso de símbolos que se impusieron en lenguajes de programación posteriores.

// autor: hernandez martinez oscar //
En este [|trabajo] haremos hincapié en los que son los componentes del [|computador] y sus [|funciones], trataremos de llenar las expectativas del lector ,como primero queremos darle un pequeño resumen de lo que leeremos en el [|texto]. El ordenador recibe y envía la [|información] a través de los [|periféricos] por medio de los canales. La UCP es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un [|sistema] exceptuando la UCP se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar [|programas] y que esta compuesta por [|la memoria] principal, la UAL y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida y [|comunicaciones]). Un computador ejecuta programas que están formados por instrucciones. Con el [|objetivo] de ejecutar cada una de las instrucciones de forma adecuada Dado que las instrucciones se guardan en posiciones consecutivas de [|memoria], es necesario que el PC tenga asociado un incrementador que actúe sobre su [|valor] cada vez que se comience a ejecutar una nueva instrucción. Un UCP o [|procesador], interpreta y lleva a cabo las instrucciones de los programas El chip más importante de cualquier placa madre es el procesador. Sin el [|la computadora] no podría funcionar. El [|teclado] dispositivo periférico de entrada, que convierte la [|acción] [|mecánica] de pulsar una serie de pulsos eléctricos codificados ,sirven para entrar caracteres alfanuméricos y [|comandos] a una [|computadora]. El ratón o [|Mouse] informático señalador o de entrada, recibe esta denominación por su apariencia. El [|escáner] o Digitalizador Son periféricos diseñados para registrar caracteres escritos, o [|gráficos] en forma de fotografías o [|dibujos], facilitando su [|introducción] la computadora convirtiéndolos en información binaria comprensible para ésta. Los [|discos duros] en general su [|organización] es igual a los disquetes. La capacidad del disco resulta de multiplicar el numero de caras por el de pistas por cara y por el de sectores por pista, al total por el numero de bytes por sector. Las [|impresoras] es la que permite obtener en un soporte de papel una &[|uml];hardcopy¨: copia visualizable, perdurable y transportable de la información procesada por un computador. El [|Monitor] es la pantalla en la que se ve la información suministrada por el ordenador. En el caso más habitual se trata de un aparato basado en un tubo de rayos catódicos (CRT) como el de los televisores, mientras que en los portátiles es una pantalla plana de cristal líquido (LCD). Las [|red] Comunicaciones son un sistema complejo que puede llegar a estar constituido por millones de componentes electrónicos elementales. Ordenador O Computadora La Real Academia Española la ha titulado como Ordenador. El ordenador es un conjunto de [|circuitos] electrónicos comprimidos en una pastilla de silicio (llamada Chip), siendo su [|función] fundamental la de encausar las [|señales] electromagnéticas de un dispositivo a otro.El ordenador es en realidad el [|Microprocesador], o sea, un conmutador, es el [|cerebro] y razón de ser del ente denominado computadora. Todo lo demás que le rodea y se le es conectado no son más que dispositivos mediante los cuales el cerebro se alimenta de energía e interactúa con el [|medio ambiente] y por lo tanto con nosotros los usuarios.

AuToR : Gutierrez Junco Claudia
Básicamente cualquier tipo de computadora realiza [|operaciones] de procesamiento de [|datos], exponiéndolos luego como [|información]. Precisamente, la [|función]primordial de una computadora es llevar a cabo procesos de __datos__ en forma automática, a gran [|velocidad] y sin la intervención humana. Cuando los datos ingresados son ordenados de acuerdo a un esquema lógico, se transforman en información disponible para el usuario. La adquisición de información a partir de datos es la función relevante de una computadora siendo la [|Informática] [|la ciencia] que estudia la obtención de información a través de [|sistemas] automáticos.
 * FUNCIONAMIENTO DE LA COMPUTADORA **

Los datos que ingresan a [|la computadora] se procesan por medio de rutinas contenidas en los "[|programas] de aplicación". Fundamentalmente los distintos tipos y [|modelos] de [|computadoras], principalmente difieren en el [|volumen] de datos que pueden procesar, así como la velocidad con que se efectúa esta operación. Cuando se tiene un dispositivo o módulo dispuesto para una función, es muy importante considerarlo como una "caja negra", es decir no se sabe que dispositivos o componentes hay dentro de él, sino que procesos lleva a cabo. Este [|método] es muy utilizado pedagógicamente para permitir una rápida comprensión global de la función del dispositivo estudiado. Para elaborar la función descrita anteriormente (ingresar datos, elaborar los mismos y luego dar salida a la información obtenida), se necesitan tres módulos principales en los que podemos agrupar a todos los dispositivos que intervienen en los procesos mencionados. Estos son: • Módulo de entrada/salida • [|Memoria]de trabajo • Unidad procesadora ** Introducción al procesamiento de datos ** Una computadora está constituida por centenares o miles de complejos dispositivos y [|circuitos]electrónicos adecuadamente integrados, tanto en sus componentes físicos, como en la función de los mismos. Debido a esto para comprender su funcionamiento, dividiremos a la computadora en bloques sin tener en cuenta en esta etapa, los pormenores de la parte [|electrónica] que integra cada uno (método de explicación denominado "caja negra"). El primer módulo de "entrada - salida", identificado con la sigla E/S, es usualmente más conocido por las palabras en ingles Input- Output (I/O). Este módulo que en realidad tiene dos [|funciones], cuenta en algunos casos con dispositivos que individualmente sólo pueden ser considerados como de entrada (input), o de salida (output), mientras que otros dispositivos permiten ejecutar ambas operaciones (input-output).
 * El principio de la caja negra **

A través de las unidades de entrada, se introducen los datos que se van a procesar, además de las instrucciones (programas de aplicación) que se utilizan para tratar los mismos. Por otra parte, la información obtenida (datos procesados) es emitida a través de las unidades de salida que son las que permiten "ver el resultado". El segundo módulo es "[|la memoria]". Cuando se ingresan datos, estos son almacenados en espera de su [|proceso]en una "memoria de [|trabajo]" o también denominada "memoria principal" que es temporaria (técnicamente conocida como "[|memoria RAM]"). También en la [|RAM] se cargan las instrucciones del [|programa] de aplicación, que indicará a qué operación serán sometidos los datos ingresados. Del mismo modo los datos ya procesados son almacenados hasta su salida, en la memoria RAM.

** ★ **** •« **** ║█ ** ** ║║▀▄▀▄ YESSICA LIZBETH FAJARDO NIETO ║█ ** ** ║║▀▄▀▄ **** •« **** ★ **
Funcionamiento Interno Del Computador Al iniciar el arranque, en la mayoría de computadores, cualquiera sea su tamaño o [|potencia], el [|control] pasa mediante circuito cableado a unas [|memorias] de tipo ROM, grabadas con información permanente (datos de configuración, fecha y hora, dispositivos, etc.) Después de [|la lectura] de esta información, el circuito de control mandará a cargar en la memoria principal desde algún soporte externo (disco duro o disquete) los programas del [|sistema operativo] que controlarán las operaciones a seguir, y en pocos segundos aparecerá en pantalla el identificador o interfaz, dando [|muestra] al usuario que ya se está en condiciones de utilización. Si el usuario carga un programa con sus instrucciones y datos desde cualquier soporte de información, bastará una pequeña orden para que dicho programa comience a procesarse, una instrucción tras otra, a gran velocidad, transfiriendo la información desde y hacia donde esté previsto en el programa con pausas si el programa es inactivo, en las que se pide al usuario entradas de información. Finalizada esta operación de entrada, el ordenador continuará su proceso secuencial hasta culminar la ejecución del programa, presentando sus resultados en pantalla, impresora o cualquier periférico. Cada una de las instrucciones tiene un [|código] diferente expresado en formato binario. Esta combinación distinta de unos y ceros la interpreta el < > del ordenador, y como está diseñado para que sepa diferenciar lo que tiene que hacer al procesar cada una de ellas, las ejecuta y continúa con la siguiente instrucción, sin necesidad de que intervenga el ordenador. El proceso de una instrucción se descompone en operaciones muy simples de transferencia de información u operaciones aritméticas y lógicas elementales, que realizadas a gran velocidad le proporcionan una gran potencia que es utilizada en múltiples aplicaciones. Realmente, esa información digitalizada en binario, a la que se refiere con unos y ceros, el ordenador la diferencia porque se trata de niveles diferentes de voltaje. Cuando se emplean circuitos integrados, los niveles lógicos bajo y alto, que se representan por ceros y unos, corresponden a valores muy próximos a cero y cinco voltios en la mayoría de los casos. Cuando las entradas de las puertas lógicas de los circuitos digitales se les aplica el nivel alto o bajo de voltaje, el [|comportamiento] muy diferente. Por ejemplo, si se le aplica nivel alto conducen o cierran el circuito; en [|cambio] si se aplica nivel bajo no conducen o dejan abierto el circuito. Para que esto ocurra, los [|transistores]que constituyen los circuitos integrados trabajan en conmutación, pasando del corte a la saturación. Estructura Interna Del Computador En ella la conforman cada uno de los chips que se encuentran en la plaqueta base o [|tarjeta madre], estos son: Bios: "Basic Input-Output System", sistema básico de entrada-salida. Programa incorporado en un chip de la placa base que se encarga de realizar las funciones básicas de manejo y configuración del ordenador. Caché: es un tipo de memoria del ordenador; por tanto, en ella se guardarán datos que el ordenador necesita para trabajar. Esta también tiene una segunda [|utilidad] que es la de memoria intermedia que almacena los datos mas usados, para ahorrar mucho mas tiempo del tránsito y acceso a la lenta [|memoria RAM]. Chipset: es el conjunto (set) de chips que se encargan de controlar determinadas funciones del ordenador, como la forma en que interacciona el microprocesador con la memoria o la caché, o el control de los puertos y slots ISA, PCI, AGP, [|USB]. USB: En las placas más modernas (ni siquiera en todas las ATX); de forma estrecha y rectangular, inconfundible pero de poca utilidad por ahora. Zócalo ZIF: Es el lugar donde se inserta el "cerebro" del ordenador. Durante más de 10 años ha consistido en un rectángulo o cuadrado donde el "micro", una pastilla de [|plástico] negro con patitas, se introducía con mayor o menor facilidad; recientemente, la aparición de los [|Pentium] II ha cambiado un poco este panorama. Slot de Expansión: son unas ranuras de plástico con conectores eléctricos (slots) donde se introducen las tarjetas de expansión (tarjeta de vídeo, de [|sonido], de red...). Según la tecnología en que se basen presentan un aspecto externo diferente, con diferente tamaño y a veces incluso en distinto color. En esta se encuentran: Pila: se encarga de conservar los parámetros de la [|BIOS] cuando el ordenador está apagado. Sin ella, cada vez que encendiéramos tendríamos que introducir las características del disco duro, del Chipset, la fecha y la hora... Conectores internos: Bajo esta denominación englobamos a los conectores para dispositivos internos, como puedan ser la disquetera, el disco duro, el [|CD]-ROM o el altavoz interno, e incluso para los puertos serie, paralelo y de joystick. 4. Conclusión El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La UCP es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. s un sistema complejo que puede llegar a estar constituido por millones de componentes electrónicos elementales. Esto que en le teoría parece tan fácil es bastante mas complicado en la práctica, ya que aparte de los bus de datos y de direcciones existen también casi dos docenas más de líneas de señal en la [|comunicación]entre la CPU y la memoria, a las cuales también se acude. Dentro de la tecnología SCSI hay 2 generaciones y una tercera que está a la vuelta de la esquina. La primera generación permitía un ancho de banda de 8 bits y unos ratios de transferencia de hasta 5 MBps. El mayor problema de esta especificación fue que para que un [|producto]se denominara SCSI solo debía cumplir 4 códigos de operación de los 64 disponibles por lo que proliferaron en el mercado gran cantidad de dispositivos SCSI no compatibles entre sí. El microprocesador lo que hace es procesar ordenes sencilla, para procesar ordenes mayores deberemos construir un programa. Con un micro de 16 bits solo se puede direccionar hasta 64 k de memoria, pero ya sabemos que se debe acceder a más de ellas, esto lo logramos con el esquema de direccionamiento de 20 bits utilizado por el microprocesador Una vez seleccionada y analizada la instrucción deberá accionar los circuitos correspondientes de otras unidades, para que se cumplimente la instrucción, a través del secuenciador o reloj. El chip más importante de cualquier placa madre es el procesador Las teclas están sobre los puntos de intersección de las líneas conductoras horizontales y verticales. Cuando se pulsa una tecla. Se establece un contacto eléctrico entre la línea conductora vertical y horizontal que pasan por debajo de la misma realizar las operaciones con los datos procesados por el ordenador. Puede realizar las operaciones aritméticas básicas: suma, resta, multiplicación y división, así como, controlada por la UC operaciones como la de desplazamiento. Este desplazamiento se puede realizar hacia la derecha o hacia la izquierda. La UAL utiliza un [|registro] denominado acumulador donde almacena los resultados de las operaciones antes de ser enviados a la memoria. Cuando vamos a acceder a la [|dirección] de memoria especificada en el CP, esta dirección deberá transferirse al RDM, a través del cual accederemos a dicha dirección. Esto se realiza al iniciar cada ciclo de instrucción. La memoria está compuesta de chips. Lo único que realizan estos chips es almacenar la información hasta que esta es requerida. El número de chips de que consta la memoria es el que determina la capacidad de la misma.
 * Bios
 * Caché
 * Chipset
 * Puestos USB
 * Zócalo ZIF
 * Slot de Expansión
 * Ranuras PCI
 * Ranuras DIMM
 * Ranuras SIMM
 * Ranuras AGP
 * Ranuras ISA
 * Pila
 * Conector disquetera
 * Conector electrónico
 * Conector EIDE (disco duro)
 * Ranuras PCI: el estándar actual. Pueden dar hasta 132 MB/s a 33 MHz, lo que es suficiente para casi todo, excepto quizá para algunas tarjetas de vídeo 3D. Miden unos 8,5 cm y generalmente son blancas.
 * Ranuras DIMM: son ranuras de 168 contactos y 13 cm. Originalmente de color negro.
 * Ranuras SIMM: los originales tenían 30 conectores, esto es, 30 contactos, y medían unos 8,5 cm. Hacia finales de la época del 486 aparecieron los de 72 contactos, más largos: unos 10,5 cm de color blanco.
 * Ranuras AGP: o más bien ranura, ya que se dedica exclusivamente a conectar tarjetas de vídeo 3D, por lo que sólo suele haber una; además, su propia estructura impide que se utilice para todos los propósitos, por lo que se utiliza como una ayuda para el PCI. Según el modo de funcionamiento puede ofrecer 264 MB/s o incluso 528 MB/s. Mide unos 8 cm y se encuentra bastante separada del borde de la placa.
 * Ranuras ISA: son las más veteranas, un legado de los primeros tiempos del PC. Funcionan a unos 8 MHz y ofrecen un máximo de 16 MB/s, suficiente para conectar un módem o una tarjeta de sonido, pero muy poco para una tarjeta de vídeo. Miden unos 14 cm y su color suele ser negro; existe una versión aún más antigua que mide sólo 8,5 cm.

POSTEO ANA LUCIA VANEGAS MARTINEZ

El __[|estudio]__ de los lenguajes de [|programación] agrupa tres __[|intereses]__ diferentes; el del programador profesional, el del diseñador del [|lenguaje] y del Implementador del lenguaje. Además, estos tres trabajos han de realizarse dentro de las ligaduras y capacidades de la [|organización] de una [|computadora] y de las limitaciones fundamentales de la propia "calculabilidad". El termino "el programador" es un tanto amorfo, en el sentido de que camufla importantes diferencias entre distintos niveles y __[|aplicaciones]__ de la __[|programación]__. Claramente el programador que ha realizado un curso de doce semanas en [|COBOL] y luego entra en el campo del procesamiento de [|datos] es diferente del programador que escribe un compilador en [|Pascal], o del programador que diseña un experimento de [|inteligencia] artificial en LISP, o del programador que combina sus rutinas de FORTRAN para resolver un problema de [|ingeniería] complejo, o del programador que desarrolla un [|sistema operativo] multiprocesador en ADA. En esta [|investigación], intentaremos clarificar estas distinciones tratando diferentes lenguajes de programación en el contexto de cada área de __[|aplicación]__ diferente. El "diseñador del lenguaje" es también un termino algo nebuloso. Algunos lenguajes (como APL y LISP) fueron diseñados por una sola [|persona] con un [|concepto] único, mientras que otros (FORTRAN y COBOL) son el [|producto] de [|desarrollo] de varios años realizados por comités de [|diseño] de lenguajes. El "Implementador del lenguaje" es la persona o [|grupo] que desarrolla un compilador o interprete para un lenguaje sobre una maquina particular o tipos de maquinas. Mas frecuentemente, el primer compilador para [|el lenguaje] Y sobre la maquina X es desarrollada por la corporación que [|manufactura] la maquina X. Por ejemplo, hay varios [|compiladores] de Fortran en uso; uno desarrollado por IBM para una maquina IBM, otro desarrollado por DEC para una maquina DEC, otro por CDC, y así sucesivamente. Las compañías de [|software] también desarrollan compiladores y también lo hacen los [|grupos] de __[|investigación]__ de las universidades. Por ejemplo, la [|universidad] de Waterloo desarrolla compiladores para FORTRAN Y PASCAL, los cuales son útiles en un entorno de programación de estudiantes debido a su superior capacidad de diagnostico y [|velocidad] de compilación. Hay también muchos aspectos compartidos entre los programadores, diseñadores de un lenguaje implementadores del mismo. Cada uno debe comprender las necesidades y ligaduras que gobiernan las actividades de los otros dos. Hay, al menos, dos formas fundamentales desde las que pueden verse o clasificarse los lenguajes de programación: por su nivel y por principales aplicaciones. Además, estas visiones están condicionadas por la visión histórica por la que ha transcurrido el lenguaje. Además, hay cuatro niveles distintos de lenguaje de programación. Los "Lenguajes Declarativos" son los mas parecidos al [|castellano] o ingles en su [|potencia] expresiva y funcionalidad están en el nivel mas alto respecto a los otros. Son fundamentalmente lenguajes de ordenes, dominados por sentencias que expresan "Lo que hay que __[|hacer]__" en ves de "Como hacerlo". Ejemplos de estos lenguajes son los lenguajes estadísticos como SAS y SPSS y los lenguajes de búsqueda en [|base de datos], como NATURAL e IMS. Estos lenguajes se desarrollaron con la idea de que los profesionales pudieran asimilar mas rápidamente el lenguaje y usarlo en su [|trabajo], sin necesidad de programadores o practicas de programación. Los lenguajes de " Alto Nivel" son los mas utilizados como lenguaje de programación. Aunque no son fundamentalmente declarativos, estos lenguajes permiten que los [|algoritmos] se expresen en un nivel y estilo de [|escritura] fácilmente legible y comprensible por otros programadores. Además, los lenguajes de alto nivel tienen normalmente las características de " Transportabilidad". Es __[|decir]__, están implementadas sobre varias maquinas de forma que un [|programa] puede ser fácilmente " Transportado " (Transferido) de una maquina a otra sin una revisión sustancial. En ese sentido se llama "__[|Independientes]__ de la maquina". Ejemplos de estos lenguajes de alto nivel son PASCAL, APL y FORTRAN (para aplicaciones científicas ), COBOL (para aplicaciones de procesamiento de datos), SNOBOL( para aplicaciones de procesamiento de textos), LISP y PROLOG (para aplicaciones de inteligencia artificial), C y ADA (para aplicaciones de programación de [|sistemas]) y PL/I (para aplicaciones de propósitos generales). Los "Lenguajes Ensambladores" y los "Lenguajes Maquina" son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje [|ensamblador] asociado. El lenguaje Ensamblador es simplemente una __[|representación]__ simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un [|conocimiento] de la [|arquitectura] [|mecánica] subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes. Los siguiente tres segmentos del programa equivalentes exponen las distinciones básicas entre lenguajes maquina, ensambladores de alto nivel: Como [|muestra] este ejemplo, a mas bajo nivel de lenguaje mas cerca esta de las características de un tipo e maquina particular y mas alejado de ser comprendido por un humano ordinario. Hay también una estrecha relación ( correspondencia 1:1 ) entre las sentencias en lenguaje ensamblador y sus formas en lenguaje maquina codificada. La principal diferencia aquí es que los lenguajes ensambladores se utilizan [|símbolos] (X,Y,Z,A para " sumar", M para "multiplicar"), mientras que se requieren códigos numéricos (OC1A4, etc.) para que lo comprenda la maquina. La programación de un lenguaje de alto nivel o en un lenguaje ensamblador requiere, por tanto, algún tipo de interfaz con el lenguaje maquina para que el programa pueda ejecutarse. Las tres interfaces mas comunes: un "ensamblador", un "compilador" y un "interprete". El ensamblador y el compilador traduce el programa a otro equivalente en el lenguaje X de la maquina "residente" como un paso separado antes de la ejecución. Por otra parte, el interprete ejecuta directamente las instrucciones en un lenguaje Y de alto nivel, sin un paso de procesamiento previo. La compilación es, en general, un [|proceso] mas eficiente que la [|interpretación] para la mayoría de los tipos de maquina. Esto se debe principalmente a que las sentencias dentro de un "bucle" deben ser reinterpretadas cada vez que se ejecutan por un interprete. Con un compilador. Cada sentencia es interpretada y luego traducida a lenguaje maquina solo una vez. Algunos lenguajes son lenguajes principalmente interpretados, como APL, PROLOG y LISP. El resto de los lenguajes -- Pascal, FORTRAN, COBOL, PL/I, SNOBOL, C, Ada y Modula-2 – son normalmente lenguajes compilados. En algunos casos, un compilador estará utilizable alternativamente para un lenguaje interpretado (tal como LISP) e inversamente (tal como el interprete SNOBOL4 de los laboratorios Bell). Frecuentemente la interpretación es preferible a la compilación en un entorno de programación experimental o de [|educación], donde cada nueva ejecución de un programa implicado un [|cambio] en el propio [|texto] del programa. La [|calidad] de diagnosis y depuración que soportan los lenguajes interpretados es generalmente mejor que la de los lenguajes compilados, puesto que los mensajes de error se refieren directamente a sentencias del texto del programa original. Además, la ventaja de la [|eficiencia] que se adjudica tradicionalmente a los lenguajes compilados frente a los interpretados puede pronto ser eliminado, debido a la [|evolución] de las maquinas cuyos lenguajes son ellos mismos1lenguajes de alto nivel. Como ejemplo de estos están las nuevas maquinas LISP, las cuales han sido diseñadas recientemente por Symbolics y Xerox Corporations. Los lenguajes de Programación son tomados de diferentes perspectivas. Es importante para un programador decidir cuales conceptos emitir o cuales incluir en la programación. Con frecuencia el programador es osado a usar combinaciones de conceptos que hacen al lenguaje "DURO" de usar, de entender e implementar. Cada programador tiene en mente un estilo particular de programación, la decisión de incluir u omitir ciertos [|tipos de datos] que pueden tener una significativa influencia en la forma en que el Lenguaje es usado, la decisión de usar u omitir conceptos de programación o [|modelos]. Existen cinco estilo de programación y son los siguientes: El programador, diseñador e implementador de un lenguaje de programación deben comprender la evolución histórica de los lenguajes para [|poder] apreciar por que presentan características diferentes. Por ejemplo, los lenguajes "mas jóvenes" desaconsejan (o prohiben) el uso de las sentencias GOTO como mecanismo de [|control] inferior, y esto es correcto en el contexto de las filosofías actuales de ingeniería del software y programación estructurada. Pero hubo un [|tiempo] en que la GOTO, combinada con la IF, era la única [|estructura] de control disponible; el programador no dispone de algo como la [|construcción] WHILE o un IF-THEN-ELSE para elegir. Por tanto, cuando se ve un lenguaje como FORTRAN, el cual tiene sus raíces en los comienzos de la [|historia] de los lenguajes de programación, uno no debe sorprenderse de ver la antigua sentencia GOTO dentro de su repertorio. Lo mas importante es que la historia nos permite ver la evolución de familias de lenguajes de programación, ver la influencia que ejercer las arquitecturas y aplicaciones de las [|computadoras] sobre el diseño de lenguajes y evitar futuros defectos de diseño aprendido las lecciones del pasado. Los que estudian se han elegido debido a su mayor influencia y amplio uso entre los programadores, así como por sus distintas características de diseño e implementacion. Colectivamente cubren los aspectos más importantes con los que ha de enfrentarse el diseñado de lenguajes y la mayoría de las aplicaciones con las que se enfrenta el programador. Para los lectores que estén interesados en conocer con mas detalle la historia de los lenguajes de programación recomendamos las actas de una recién [|conferencia] (1981) sobre este tema, editadas por Richard Wexelblat. Vemos que FORTRAN I es un ascendente directo de FORTRAN II, mientras que FORTRAN, COBOL, ALGO 60, LISP, SNOBOL y los lenguajes ensambladores, influyeron en el diseño de PL/I. También varios lenguajes están prefijados por las letras ANS. Esto significa que el American National Standards Institute ha adoptado esa versión del lenguaje como el estándar nacional. Una vez que un lenguaje esta estandarizado, las maquinas que implementan este lenguaje deben cumplir todas las especificaciones estándares, reforzando así el máximo de transportabilidad de [|programas] de una maquina a otra. La policía federal de no comprar maquinas que no cumplan la versión estándar de cualquier lenguaje que soporte tiende a "fortalecer" el proceso de estandarizacion, puesto que el [|gobierno] es, con mucho, el mayor comprador de computadoras de la [|nación]. Finalmente, la notación algebraica ordinaria, por ejemplo, influyo fuertemente en el diseño de FORTRAN y ALGOL. Por otra parte, el ingles influyo en el desarrollo del COBOL. El lambda calculo de Church dio los fundamentos de la notación funcional de LISP, mientras que el [|algoritmo] de Markov motivo el estilo de reconocimiento de formas de SNOBOL. La arquitectura de computadoras de [|Von Neumann], la cual fue una evolución de la maquina mas antigua de Turing, es el [|modelo] básico de la mayoría de los diseños de computadoras de las ultimas tres décadas. Esta maquina no solo influyeron en los primeros lenguajes sino que también suministraron el esqueleto operacional sobre el que evoluciono la mayoría de la programación de sistemas. Una discusión mas directa de todos estos primeros modelos no están entre los [|objetivos] de este texto. Sin embargo, es importante apuntar aquí debido a su fundamental influencia en la evolución de los primeros lenguajes de programación, por una parte, y por su [|estado] en el núcleo de la [|teoría] de la computadora, por otra. Mas sobre este punto, cualquier algoritmo que pueda describirse en ingles o castellano puede escribirse igualmente como una maquina de Turing (maquina de Von Neumann), un algoritmo de Markov o una función recursiva. Esta sección, conocida ampliamente como " [|tesis] de Church", nos permite escribir algoritmos en distintos estilos de programación (lenguajes) sin sacrificar ninguna medida de generalidad, o potencia de programación, en la transición. Llaccua y Vasquez, **Programando con Objetos en Borland Pascal.** Ed. San Marcos Schildt, **Turbo C/C++, [|manual] de referencia.** , Osborne/McGraw-Hill. Watt, David A. **Programming Languaje Concepts and Paradigms.** University of Glasgow, Uk. Prentice Hall.
 * 1) Orientados a Objetos.
 * 2) Imperativa : Entrada, procesamiento y salidas de Datos.
 * 3) Funcional : "[|Funciones]", los datos son funciones, los resultados pueden ser un [|valor] o una [|función].
 * 4) Lógico : {T,F} + [|operaciones] lógicos (Inteligencia Artificial).
 * 5) Concurrente : Aún esta en proceso de investigación.
 * 1) Concurrente : Aún esta en proceso de investigación.
 * Bibliografía:**

posteo: Romero Pastén Luis Angel