HISTORIA DE LA INFORMÁTICA

una breve historia de la informática y la importancia de la programación y los algoritmos

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
HISTORIA DE LA INFORMÁTICA por Mind Map: HISTORIA DE LA INFORMÁTICA

1. Primero surgieron los instrumentos aritméticos, como el ábaco, desde los cuales se ha llegado a las calculadoras y ordenadores actuales.

1.1. EL ÁBACO

1.2. Considerado como el instrumento más antiguo de cálculo, adaptado y apreciado en diversas culturas. El origen del ábaco esta literalmente perdido en el tiempo. En épocas muy tempranas el hombre primitivo encontró materiales para idear instrumentos de contar. Es probable que su inicio fuera una superficie plana y piedras que se movían sobre líneas dibujadas con polvo. Hoy en día se tiende a pensar que el origen del ábaco se encuentra en China, donde el uso de este instrumento aún es notable al igual que en Japón.

1.3. Cálculo matemático

1.4. Una calculadora no es un dispositivo automático, lo cual implica que requiere la acción constante de un operador, que es un obstáculo para la velocidad y fiabilidad de los resultados.

1.5. En 1812 el matemático inglés Charles Babbage (1792-1871), habiendo constatado que las tablas trigonométricas estaban plagadas de errores al haber sido calculadas a mano, concibió la denominada máquina de diferencias, un instrumento mecánico para calcular e imprimir tablas de funciones. En realidad se trataba de una máquina que calculaba el valor numérico de una función polinómica sobre una progresión aritmética, pues las funciones se pueden aproximar por polinomios.

2. Las generaciones de ordenadores

2.1. La informática se puede considerar como "tratamiento automatizado de la información" y la primera persona que construyó una máquina (que todavía no era un ordenador) con esta finalidad fue Herman Hollerit (1860-1929). En 1886, cuando trabajaba para la oficina del censo en EE.UU. se percató de que el procesamiento de los datos del censo del año 1880, no se había terminado en el momento de hacer el de 1890. Para resolver el problema diseñó una tarjeta que se debía perforar con los datos de cada uno de los encuestados. Estas fichas se introducían en una lectora que detectaba las perforaciones mediante un baño de mercurio (Hg), que al introducirse por los agujeros provocaba contactos eléctricos. Finalmente los datos se registraban en una tabuladora. Con ello se multiplicó por 100 la velocidad de proceso, 200 fichas por minuto.

2.1.1. Ordenadores de Primera Generación:

2.1.2. Los primeros ordenadores fueron electromecánicos (en base a relés). Aunque Jorge Stibz construyó en 1949 en los laboratorios Bell una máquina programable que trabajaba con números complejos, el Complex Calculator, se considera que el primer ordenador fue desarrollado en 1941, el Z3 del alemán Konrad Zuse (1910-1995), cuya empresa fue adquirida por Siemens (actualmente ordenadores Fujitsu). Le siguió en 1944 el Mark I de Howard Aiken (1900-1973) y Grace Hopper (1906-1992), construido en la Universidad de Hardward con la colaboración de IBM. Pesaba cinco toneladas y tenía más de 750000 piezas y 800 km de cable. Durante la década de 1950 Aiken trabajó activamente con investigadores españoles del Instituto de Electricidad y Automática del CSIC, fundado por Torres Quevedo.

2.1.3. Ordenadores de segunda generación

2.1.4. Se considera el inicio de esta generación en 1958, con la sustitución de los tubos de vacío por los transistores. Los primeros ordenadores transistorizados fueron dos pequeños modelos de NCR y RCA. Los primeros de IBM y Sperry Rand fueron el IBM 7070 (1960) y el UNIVAC 1107 (1962), respectivamente. Bull comercializó los Gamma 30 y 60. Durante esta época se introdujeron las unidades de cinta y discos magnéticos, y las lectoras de tarjetas perforadas e impresoras de alta velocidad. Así mismo aparecieron algunos lenguajes de programación,COBOL (1959), Algol (1960), el LISP(1962) y FORTRAN que fue creado en 1954 para IBM, por John Backus (1924-2007).

2.1.5. Ordenadores de tercera generación

2.1.6. La principal característica de esta generación fue el uso del circuito integrado, que se incorporó a mediados de los años 1960. Destaca la familia IBM 360 en cuyo desarrollo invirtió 5000 millones de dólares de aquella época (1964) y sobre todo la IBM 370 (1970), el producto más famoso de esta generación. Sperry Rand, en 1965 introdujo la famosa serie 1100.

2.1.7. Ordenadores de cuarta generación

2.1.8. El elemento que provocó el nacimiento de esta generación se considera habitualmente, aunque con cierta controversia, el microprocesador Intel 4004, desarrollado por Intel en 1971. El primer ordenador personal en EE.UU. fue el Altair 8800 (1974) diseñado por David Roberts en la desaparecida empresa MITS. Microsoft tuvo el acierto de construir un intérprete BASIC para él, MITS sobrevivió un par de años, pero Microsoft inició un despegue imparable, dando un gran salto al facilitar a IBM el sistema operativo MS-DOS para el PC, que a su vez lo adquirió a otra empresa. Las imágenes siguientes muestran microprocesadores bajo distintas escalas de ampliación.

2.1.9. ordenadores de quinta generación. En octubre de 1981 el mundo de los ordenadores se vio sacudido por el anuncio hecho en Japón, de una iniciativa de investigación y desarrollo orientado a producir una nueva generación de ordenadores en la primera década de los años de los 90, a los que se les dio el nombre de ordenadores de quinta generación. Los ordenadores de esta generación deberían de ser capaces de resolver problemas muy complicados, algunos de los cuales requieren toda la experiencia, capacidad de razonamiento e inteligencia de las personas para ser resueltos. Deberían de ser capaces de trabajar con grandes subconjuntos de los lenguajes naturales y estar asentados en grandes bases de conocimientos. A pesar de su complejidad los ordenadores de esta generación se están diseñando para ser manejados por personas no expertas en informática.

2.1.9.1. Se llama programación a la creación de un programa de computadora, un conjunto concreto de instrucciones que una computadora puede ejecutar. El programa se escribe en un lenguaje de programación, aunque también se pueda escribir directamente en lenguaje de máquina, con cierta dificultad. Un programa se puede dividir en diversas partes, que pueden estar escritas en lenguajes distintos.

2.1.9.1.1. programación no estructurada

2.1.9.1.2. programación declarativa

2.1.9.1.3. programación funcional

2.1.9.1.4. programación secuencial

2.1.9.1.5. programación por eventos

2.1.9.1.6. programación estructurada

2.1.9.1.7. programación modular

2.1.9.1.8. programación por capas

2.1.9.1.9. programación extrema

2.1.9.1.10. programación orientada a objetos

2.1.9.2. Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un lenguaje informático.

2.1.9.2.1. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML.

2.1.9.2.2. Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias.

2.1.9.2.3. Un programa escrito en un lenguaje de programación necesita pasar por un proceso de compilación, es decir, ser traducido al lenguaje de máquina, o ser interpretado para que pueda ser ejecutado por el ordenador.

2.1.9.2.4. Hay distintos lenguajes que nos permiten dar instrucciones a un ordenador. El más directo es el propio del ordenador, llamado "lenguaje de máquina" o "código máquina", formado por secuencias de ceros y unos.

2.1.9.2.5. Este lenguaje es muy poco intuitivo para nosotros, y difícil de usar.

2.1.9.3. Compilación: La mayoría de los lenguajes actuales son compiladores, y suelen incluir: - Un editor para escribir o revisar los programas. - El compilador propiamente dicho, que los convierte a código máquina. - Otros módulos auxiliares, como enlazadores (linkers) para unir distintos subprogramas, y depuradores (debuggers) para ayudar a descubrir errores.

3. El origen del procesamiento automático de la información, se remonta al año 1896 cuando Herman Hollerith (1860-1929) fundó una empresa que posteriormente daría lugar a IBM.

4. algoritmos

4.1. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

4.2. Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.

5. Objetivos de la Programación: Corrección: Un programa es correcto si hace lo que debe hacer. Para determinar si un programa hace lo que debe es muy importante especificar claramente qué debe hacer el programa antes de desarrollarlo y una vez acabado compararlo con lo que realmente hace. Claridad: Es muy importante que el programa sea lo más claro y legible posible para mejorar el mantenimiento del software. Eficiencia: Debe consumir la menor cantidad de recursos posible. Normalmente al hablar de eficiencia se suele hacer referencia al consumo de tiempo o memoria.

5.1. Lenguajes de Programación más conocidos:

5.2. BASIC

5.3. COBOL

5.4. FORTRAN

5.5. ENSAMBLADOR

5.6. C

5.7. PASCAL

6. Existen dos tipos y son llamados así por su naturaleza: - Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. - Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

7. Tipos de Datos: Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.

8. Identificadores: Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que permite acceder a su contenido.

8.1. Reglas para formar un identificador

8.2. Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco.

8.3. Letras, dígitos y caracteres como la subraya (_) están permitidos después del primer carácter

8.4. La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8 caracteres

8.5. El nombre del identificador debe dar una idea del valor que contiene.

9. Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores.

9.1. Prioridad de los Operadores Aritméticos - Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden: 1. ^ Exponenciación 2. *, /, mod Multiplicación, división, módulo. 3. +, - Suma y resta. - Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha.

10. Estructuras algoritmicas

10.1. Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.

10.1.1. La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

10.1.2. Las estructuras condicionales comparan una variable contra otro(s)valor (es), para que, en base al resultado de esta comparación, se siga un curso de acción dentro del programa.

10.1.3. Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces.