domingo, 2 de marzo de 2014

ANTECEDENTES HISTÓRICOS DE LA PROGRAMACIÓN




"ANTECEDENTES HISTÓRICOS DE LA PROGRAMACIÓN"

Parece ser que Wilhelm Schickard construyó la que se considera primera calculadora mecánica en el año 1623, y este es actualmente considerado por muchos el verdadero comienzo de las computadoras. Ahora bien, nunca se ha llegado a encontrar ninguna máquina de cálculo cuya fabricación o supervisión de construcción fuera realizada por Schickard. Todo se basa en una carta que Schickard envió al astrónomo Kepler en 1623 en la que esbozaba con trazos irregulares y toscos, el diseño de la maquina.
En 1642, Pascal diseñó y construyó la primera calculadora del mundo de la que existe constancia. Era una pequeña caja de madera bastante incómoda que tenía en la tapa una hilera de discos numerados, con los agujeros para introducir los dedos y hacerlos girar. Cada disco tenía una ventanilla, y había toda una hilera de ventanillas bajo la hilera de discos: de derecha a izquierda se alineaban las unidades, decenas, centenas, milésimas, etc.
Cuando una rueda daba una vuelta completa, avanzaba la otra rueda situada a su izquierda. No obstante, la Pascalina tenía varios inconvenientes y no era del todo fiable. El filósofo y matemático alemán Gottfried Wilhelm Leibniz  fue el primero que propuso el uso de un sistema binario para realizar los cálculos. En 1671 desarrolló una máquina multiplicadora, conocida como la "calculadora universal, mejorando la de Blaise Pascal, ya que realizaba las operaciones de sumar, restar, multiplicar, dividir y extraer raíces cuadradas, caracterizándose por hacer la multiplicación de forma directa; y de hecho construyó dos de estas máquinas. Sin embargo, la tecnología disponible le imposibilitaba la realización de las operaciones con exactitud, y por eso nunca llegaron a ser más que diseños teóricos.
Pero quien realmente influyó en el diseño de los primeros computadores fue Charles Babbage (1793-1871). Con la colaboración de la hija de Lord Byron, Lady Ada Countess of Lovelace (1815-1852), el algoritmo considerado primer programa fue creado entre 1842 y 1843 por Ada Lovelace,a la que debe su nombre el lenguaje ADA creado por el DoD (Departamento de defensa de Estados Unidos) en los años 70. Babbage diseñó y construyó la "máquina diferencial" para el cálculo de polinomios. Más tarde diseñó la "máquina analítica" de propósito general, capaz de resolver cualquier operación matemática. Murió sin poder terminarla, debido al escepticismo de sus patrocinadores y a que la tecnología de la época no era lo suficientemente avanzada. Un equipo del Museo de las Ciencias de Londres, en 1991, consiguió construir la máquina analítica de Babbage, totalmente funcional, siguiendo sus dibujos y especificaciones.

Máquina diferencial de Babbage
Por otro lado, Lady Ada Lovelace propuso la utilización de las tarjetas perforadas en la máquina de Babbage, una de las empresas más grandes de la informática,IBM, nació en 1896, aunque entonces se llamaba Tabulating Machine Company. Fundada por Herman Hollerith, se dedicaba a la fabricación de máquinas capaces de leer tarjetas perforadas. 


Atanasoff Berry Computer (ABC)

La primera computadora digital electrónica patentada fue obra de John Vincent Atanasoff (1903-1995). Conocedor de las inventos de Pascal y Babbage, y ayudado por Clifford Berry (1918-1963), construyó el Atanasoff Berry Computer (ABC). El ABC se desarrolló entre 1937 y 1942. Consistía en una calculadora electrónica que utilizaba tubos de vacío y estaba basada en el sistema binario (sistema numérico en el que se combinan los valores verdadero y falso, o 0 y 1).
Entre 1939 y 1944, Howard Aiken (1900-1973) de la universidad de Harvard en colaboración con IBM desarrolló el Mark 1. Era una computadora electromecánica de 16 metros de largo y más de dos de alto. Tenía 700.000 elementos móviles y varios centenares de kilómetros de cables. Podía realizar las cuatro operaciones básicas y trabajar con información almacenada en forma de tablas.
En la Moore School de la Universidad de Pensilvania se estaba trabajando en un proyecto militar para realizar unas tablas de tiro para armas balísticas. Los cálculos eran enormes y se tardaban semanas en realizarlos. Parece ser que John W. Mauchly (1907-1980), quien dirigía el departamento de física del Ursine College de Filadelfia vivió en casa de Atanasoff durante cuatro días a partir del 13 de Junio de 1941, lo que seguramente aprovechó para conocer las ideas de Atanasoff.
Junto a John Presper Eckert (1919-1995), Mauchly desarrolló una computadora electrónica completamente operacional a gran escala, para acelerar los complicados cálculos del proyecto militar de la universidad Moore. Se terminó en 1946 y se llamó Electronic Numerical Integrator And Computer (ENIAC). El ENIAC tenía 18.000 tubos electrónicos integrados en un volumen de 84 metros cúbicos. Pesaba unas 30 toneladas y consumía alrededor de 100.000 vatios. Su capacidad de cálculo era de 5.000 operaciones por segundo, aunque tenía que programarse manualmente conectándola a 3 tableros que contenían más de 6000 interruptores. Cargar un programa podía ser una tarea de varios días. El calor dispado por semejante monstruo debía ser importante, y se necesitaba una instalación de aire acondicionado.
Johann Ludwig Von Neumann (1903-1957), genio de las matemáticas, quien tuvo el honor de asistir a las clases de Albert Einstein en la universidad de Berlín. Autor de trabajos de lógica simbólica, matemática pura y aplicada, física y tecnología, publicó un artículo acerca del almacenamiento de los programas, en 1945. Proponía que los programas se guardaran en memoria al igual que los datos, en forma binaria. Esto tuvo como consecuencia el aumento de velocidad de los cálculos y la ausencia de errores producidos por fallos mecánicos al programar la máquina mediante cables.
En cuanto a la aparición de los lenguajes de programación, el archiconocido COBOL, que tantos problemas causó con el "efecto 2000", fue el primer lenguaje en el que no había que programar directamente en código binario, y fue Grace Murray Hoper en 1952, una oficial de la Marina de Estados Unidos desarrolló el primer compilador, un programa que puede traducir enunciados parecidos al inglés en un código binario comprensible para la maquina llamado COBOL (COmmon Business-Oriented Languaje).
A partir de ahí, los avances han sido vertiginosos.
  • La utilización del transistor en las computadoras en 1958, sustituyendo los tubos de vacío
  • La aparición del circuito integrado de mano de Jack Kilby, también en 1958
  • La miniaturización de un circuito electrónico en un chip de silicio en 1961
  • El primer microprocesador, el 4004 de Intel, en 1971
  • Gary Kildall crea el sistema operativo CP/M en 1973
  • IBM comercializa el primer PC en 1980.
Recordando a los primeros tiempos del ENIAC, con enormes computadores, en 1998 se terminó el proyecto Blue Pacific. La máquina tiene 5856 procesadores que en conjunto tienen una velocidad de 3'9 teraflops, 2'6 Terabytes de memoria, ocupa 2400 metros cuadrados y tiene un peso de 47 toneladas. Se utiliza para la simulación de explosiones nucleares.

Wilhelm Schickard                            Blaise Pascal                             Gottfried Wilhelm Leibniz
                                   

Charles Babbage                  Lady Ada Countess of Lovelace           Herman Hollerith


              


John Vincent Atanasoff                    Howard Aiken                           John W. Mauchly

                         


John Presper Eckert                Grace Murray Hoper             Johann Ludwig Von Neumann 

                                                   
"DIAGRAMA DE FLUJO"
Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del proceso es representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.
El diagrama de flujo ofrece una descripción visual de las actividades implicadas en un proceso mostrando la relación secuencial ente ellas, facilitando la rápida comprensión de cada actividad y su relación con las demás, el flujo de la información y los materiales, las ramas en el proceso, la existencia de bucles repetitivos, el número de pasos del proceso, las operaciones de interdepartamentales. Facilita también la selección de indicadores de proceso.

Elaboración del Diagrama de Flujo

El diagrama de flujo debe ser realizado por un equipo de trabajo en el que las distintas personas aporten, en conjunto, una perspectiva completa del proceso, por lo que con frecuencia este equipo será multifuncional y multijerárquico.
    • Determinar el proceso a diagramar.
    • Definir el grado de detalle. El diagrama de flujo del proceso puede mostrar a grandes rasgos la información sobre el flujo general de actividades pricipales, o ser desarrollado de modo que se incluyan todas las actividades y los puntos de decisión. Un diagrama de flujo detallado dará la oportunidad de llevar realizar un análisis más exhaustivo del proceso.
    • Identificar la secuencia de pasos del proceso. Situándolos en el orden en que son llevados a cabo.
    • Construir el diagrama de flujo. Para ello se utilizan determinados símbolos. Cada organización puede definir su propio grupo de símbolos. En la figura anterior se mostraba un conjunto de símbolos habitualmente utilizados. Al respecto cabe decir que en la figura “Conector de proceso” es frecuentemente utilizado un círculo como símbolo. Para la elaboración de un diagrama de flujo, los símbolos estándar han sido normalizados, entro otros, el American National Standars Institute (ANSI).
    •  Revisar el diagrama de flujo del proceso.

Tratamiento o Proceso
Representa tocas las variedades de funciones de tratamiento, como la ejecución de una operación particular o grupo de operaciones
que modifique el valor , forma o situación de una información.
Entrada Datos
Representa una función de Entrada-Salida, como la puesta a disposición de una información para su proceso(entrada) o registro de la misma ya procesada(salida).
Condición
Representa una operación de decisión que determine el camino a seguir entre dos o varios posibles.
Conector 
Representa una salida o una entrada en otra parte del organigrama o diagrama de flujo.
Disco magnético
Representa una función de Entrada –Salida para la cual el soporte es un disco magnético
Conector de Página
Representa una conexión o enlace con otra hoja diferente, en la que continúa el diagrama de flujo.
Líneas de Flujo
Conecta los símbolos señalando el orden en que se deben realizar las distintas operaciones.
Mostrar Datos
Representa una función de Entrada –Salida en donde la información es extraída en el momento del proceso de una forma visual por
medio de la pantalla.
Enviar Datos a Impresora
Representa una función de Entrada-Salida para la cual el soporte es un Documento
Cinta Magnética
Representa una función de Entrada –Salida para la cual el soporte es una cinta magnética.