100% encontró este documento útil (2 votos)
143 vistas49 páginas

Evolución de la Computación

Este documento trata sobre la evolución de los computadores, desde los primeros dispositivos mecánicos como el ábaco y la regla de cálculo hasta los computadores modernos. Explica las cinco generaciones de computadores, desde los primeros basados en tubos de vacío hasta los actuales basados en microprocesadores. También define conceptos básicos como hardware, software, datos, información y sistemas informáticos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
143 vistas49 páginas

Evolución de la Computación

Este documento trata sobre la evolución de los computadores, desde los primeros dispositivos mecánicos como el ábaco y la regla de cálculo hasta los computadores modernos. Explica las cinco generaciones de computadores, desde los primeros basados en tubos de vacío hasta los actuales basados en microprocesadores. También define conceptos básicos como hardware, software, datos, información y sistemas informáticos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación y Computación

Tema 1:
Introducción

Ingeniería de Sistemas e Informática


Departamento de Ciencias de la Computación
Curso 2019-II
Introducción

Programación y Computación
1.1
Introducción

Programación y Computación
1.2
Introducción

Programación y Computación
1.3
Evolución del Computador

• Desarrollado en China.
Ábaco
• Permitía Sumar, Restar,
Multiplicar y Dividir.
• Es aún utilizado en la
Regla de Cálculo educación Oriental.
• Proviene de la palabra
ABAX, que significa tabla
Pascalina cubierta de Polvo.

Computador
Mecánico
Programación y Computación
Evolución del Computador

Ábaco
• Desarrollado por
William Oughtred.
• Operaciones Aritméticas
Regla de Cálculo Complicadas.
• Instrumento Analógico.
• Popular durante un
Pascalina siglo.

Computador
Mecánico
Programación y Computación
Evolución del Computador

Ábaco

Regla de Cálculo

• Creado por Blaise Pascal


Pascalina • Suma y Resta.
• Gottfried Leibniz crea
versión que multiplica.
Computador
Mecánico
Programación y Computación
Evolución del Computador

Ábaco

Regla de Cálculo

• Creado por Charles Babbage


Pascalina en 1833.
• Uso de los cartones
perforados como entradas.
Computador • Tenía impresora.
Mecánico • No pudo terminarla.
Programación y Computación
Evolución del Computador

• Desarrollado por George


Álgebra de Boole Boole.
• Resolución de problemas
lógicos.
• 0 y 1 y operadores and, or,
Nace IBM
not.
• El lenguaje Binario.

Aritmómetro

Término Bit

Programación y Computación
Evolución del Computador

Álgebra de Boole
• Herman Hollerith en 1889.
• Automatización de Censo
Nace IBM USA.
• Uso de Tarjetas Perforadas
• Nace Tabuling Machine
Company (Próxima IBM)
Aritmómetro

Término Bit

Programación y Computación
Evolución del Computador

Álgebra de Boole

Nace IBM

• Creada en 1920
Aritmómetro • Presentada en Paris.
• Calculadora conectada a
maquina de escribir.
Término Bit

Programación y Computación
Evolución del Computador

Álgebra de Boole

Nace IBM

Aritmómetro • Claude Shannon en 1937


• Programación en álgebra de
Boole.
• Sistema de Conmutación
Término Bit
• Bit como unidad de datos.
Programación y Computación
Evolución del Computador

• Computadora Programable
Ordenador Z3 electromagnética.
• Nace en 1941.
• Recibe instrucciones por
Colossus cinta perforada.
• Rapidez de 0,7 a 3
segundos.
Mark I

ENIAC

Programación y Computación
Evolución del Computador

Ordenador Z3
• Nace en Gran Bretaña.
• Descifraba mensajes
Colossus
secretos de los Nazis.
• Desarrollada por la milicia.

Mark I

ENIAC

Programación y Computación
Evolución del Computador

Ordenador Z3

Colossus

• Por Howard Aiken en 1944.


Mark I • Procesadora de
Información.
• Funciona Eléctricamente.
ENIAC • Entrada Tarjetas Perforadas.

Programación y Computación
Evolución del Computador

Ordenador Z3

Colossus

Mark I • Desarrollada en Pennsylvania.


• Introducida en 1946
• Electronic Numeral Integrator
and Calculador. Gran Consumo
ENIAC de Energía.

Programación y Computación
Evolución del Computador

Primera Generación (51 – 58)

Sistema construido a base de Tubos Vacíos.

Almacenamiento por tarjetas perforadas.

La UNIVAC como primera computadora


comercial.
Alto consumo de energía y cantidad de calor.

Programación Lenguaje Máquina.

Programación y Computación
Evolución del Computador

Segunda Generación (58 – 63)


Creados con Transistores (Brattain, Bardeen,
Shockley)

Aplicaciones Comerciales (Contables, Nóminas, etc)

Disminución de Tamaño y consumo de Energía.

Mayor velocidad de procedimientos.

Lenguaje Ensamblador y Alto Nivel.

Programación y Computación
Evolución del Computador

Tercera Generación (64 – 71)

Llega los Circuitos Integrados

Disco Magnético como medio de almacenamiento.

Compatibilidad de Información.

Multiprogramación y Aplicaciones

Instrumentación de Sistemas.

Programación y Computación
Evolución del Computador

Cuarta Generación (71 – hoy)

En base de Microprocesadores

Diseñados para Trabajar en Redes

Sistemas de Tratamiento de Datos.

Aparecen las Memorias Electrónicas.

Microcomputador y Generalización de Aplicaciones.

Programación y Computación
Evolución del Computador

Quinta Generación (Futuro)

Comunicación de Lenguaje Natural.

Maquinas Activadas por Voz.

Traducción entre lenguajes y autoaprendizaje.

Aumento en la capacidad de Almacenamiento.

Se inicia las ramas de Sistemas Expertos y Robótica

Programación y Computación
Introducción

Programación y Computación
1.21
Introducción

Programación y Computación
1.22
Introducción

Programación y Computación
1.23
Qué es la Informática

 Informática (Del fr. informatique). 1. f. Conjunto de


conocimientos científicos y técnicas que hacen posible el
tratamiento automático de la información por medio de
ordenadores.
(Extraído del Diccionario de la RAE, 2016)

 Computadora electrónica 1. f. Máquina electrónica digital,


dotada de una memoria de gran capacidad y de métodos de
tratamiento de la información, capaz de resolver problemas
matemáticos y lógicos mediante la utilización automática de
programas informáticos.

Programación y Computación
1.24
Qué es una computadora

 Hardware (Voz ingl.).1. m.  Software (Voz ingl.).1. m.


Inform. Conjunto de los Conjunto de programas,
componentes que integran la instrucciones y reglas
parte material de una informáticas para ejecutar
computadora. ciertas tareas en una
computadora.

Fundamentos de computadores Introducción a la programación

Programación y Computación
1.25
Qué es un Sistema Informático

SOFTWARE

ALGORITMOS
SISTEMA ORDENADOR
INFORMATICO

SOFTWARE
DATOS

INFORMACIÓN

HARDWARE
PROGRAMAS

Programación y Computación
1.26
Qué es un Sistema Informático

 Es el conjunto que resulta de la integración de cuatro


elementos: Hardware, Software, Datos y Personas.

 Estos componentes se relacionan haciendo posible el


procesamiento automático de los datos, a través de
ordenadores, para producir información útil.

Programación y Computación
Qué es un Sistema Informático

Programación y Computación
Qué es un Sistema Informático

 Dato e información son dos términos que suelen confundirse

 Datos.- Representación de algún hecho, concepto o entidad


real (los datos pueden tomar diferentes formas; por ejemplo,
palabras escritas o habladas, números y dibujos).

 Información.- Implica datos procesados y organizados.

 Sistema de procesamiento de información.- Es un sistema


que transforma datos brutos en información organizada,
significativa y útil.

Programación y Computación
Qué es un Sistema Informático

 Sistema de Banca Electrónica


 Reservas de pasajes
 Sistemas Hospitalarios
 Sistemas Bibliográficos
 Lectura remota de datos
 Procesos industriales en tiempo real
 Control de inventarios en tiempo real

Programación y Computación
¿Qué entiende la computadora?

La computadora manipula únicamente información digital:

Datos e instrucciones se codifican como


dígitos binarios (0’s y 1’s)

 ¿Por qué no se usa una representación de otro tipo?


 Problema tecnológico (es más fácil representar ceros y unos)

 ¿A qué nos conduce la solución adoptada para evitar el


problema tecnológico?
 La máquina sólo puede trabajar con cadenas de ceros y unos

Programación y Computación
1.31
Lenguajes

 Lenguaje es el empleo de notaciones, señales y vocales


(voz, palabras) para expresar ideas, comunicarse, y
establecer relaciones entre los seres humanos.
 Un lenguaje no sólo consta de “palabras”, sino también de su
pronunciación y los métodos para combinar las palabras en
frases y oraciones; los lenguajes se forman mediante
combinaciones de palabras definidas en un diccionario
terminológico previamente establecido. Las combinaciones
posibles deben respetar un conjunto de reglas sintácticas
establecidas, a ello se le conoce con el nombre de Sintaxis.
 Además, las palabras deben tener determinado sentido, deben
ser comprendidas por un grupo humano en un contexto dado,
a ello se le denomina Semántica.
 Aunque existen muchas clasificaciones, en general se puede
distinguir entre dos clases de lenguajes: los lenguajes
naturales (ingles, alemán, español, etc.) y los lenguajes
artificiales o formales (matemático, lógico, computacional,
etc.).

Programación y Computación
Lenguaje máquina

a = (b + c)/(d + e)
x y
 Pasos
 sumar b y c, y guardar el resultado en una dirección de memoria
temporal X
 sumar d y e, y guardar el resultado en una dirección de memoria
temporal Y
 dividir el contenido de X por el de Y y guardar el resultado en la
dirección de memoria de a

 Ejemplo de código máquina


 codigoOp direccOp1 direccOp2 direccRes
Código de la suma Direcc. Temporal X

0000 00001000 00001100 00001110


0000 00011000 00011100 00011110
0101 00011110 00001110 00000100
Direcc. Temporal Y
Código de la división

Programación y Computación
1.33
Lenguaje máquina (cont.)

 Inconvenientes
 Grandes posibilidades de error
 Portabilidad: máquina-dependiente
 No se puede llevar el programa a otra máquina porque,
entre otras cosas, el repertorio de instrucciones es distinto
 Tedioso
 Nula capacidad de abstracción
 Es muy complicado formular una solución a problemas del
mundo real con ese lenguaje tan específico

Programación y Computación
1.34
Lenguaje ensamblador

 Lenguaje simbólico con una mínima capacidad de abstracción


 Nombres nemotécnicos para los códigos de operación
 Nombres simbólicos para las direcciones de memoria

 Ejemplo de instrucción de código ensamblador

codigoSimbOp direccSimbOp1, direccSimbOp2, direccSimbRes

 Códigos simbólicos de las operaciones


 SUM = La suma
 DIV = La división

a = (b + c)/(d + e)

SUM B, C, X
SUM D, E, Y
DIV X, Y, A

Programación y Computación
1.35
Lenguaje ensamblador (cont.)

 Cuestiones
 ¿Cómo entiende la máquina el lenguaje ensamblador?
 Si las direcciones de memoria son simbólicas ¿en qué
direcciones de memoria se colocan los datos?

Código fuente Programa ensamblador Código objeto


(lenguaje ensamblador) (lenguaje máquina)

 Programa ensamblador
 Traducción a código binario de códigos simbólicos de operación
 Traducción de las direcciones simbólicas a direcciones reales de
memoria

 Inconveniente: sigue siendo dependiente de la máquina

Programación y Computación
1.36
Lenguajes de alto nivel

 Lenguaje que permite representar el mecanismo de


resolución de los problemas usando instrucciones
independientemente de la computadora
 Cercanía conceptual al programador
 Pascal, C, Java, etc. son lenguajes de alto nivel
 Capacidad de abstracción
 Abstracción procedimental (poder representar operaciones más
complejas como calcular las raíces de un polinomio)
 Abstracción de datos (poder representar información más
compleja como el estado de una cuenta bancaria)
 ¿Cómo conseguir que la computadora “entienda” los
programas escritos en lenguajes de alto nivel?
 Intérprete
 Analiza el programa fuente y lo ejecuta directamente en la máquina
 Compilador
 Analiza el programa fuente y lo traduce a lenguaje máquina
 Ej. Turbo C++ es un compilador de C++

Programación y Computación
1.37
Abstracción

 Abstracción de datos
 Tipos de datos
 Elementales (HW)

• Enteros
• Reales
• Booleanos
• Caracteres

 Nivel: de la máquina
 Primitivos
 Tipo básico
 Proporcionados por el Hw

Programación y Computación
1.38
Abstracción

 Abstracción de datos
 Tipos de datos
 Estructurados (LP)

• Arreglos
• Registros

 Nivel: Del Lenguaje de Programación


 Proporcionado por los LP
 Con base en tipos elementales
 Se utilizan constructores de tipo que pertenece al LP

 Abstractos (U)

• Stacks
• Colas, etc

 Nivel: Del usuario


 Definidos por el usuario para enriquecer el LP
Programación y Computación
1.39
Abstracción

 Abstracción de control

 Lógica del código

 Sentencias: Constructores de código que facilitan la programación


estructurada

• Asignación
• Decisión
• Iteración

 Unidades de Programas
 Permiten programación modular
 Generalizan la noción de operador
 Permiten encapsular parte de un algoritmo
 Tienen una única definición
 Tienen múltiples activaciones

Programación y Computación
1.40
Clasificación de los Lenguajes de Programación

Programación y Computación
1.41
Evolución de los Lenguajes de Programación

Programación y Computación
1.42
Lenguajes interpretados vs Lenguajes Compilados

 Lenguaje Compilado
 Un lenguaje compilado es término un tanto impreciso para
referirse a un lenguaje de programación que típicamente se
implementa mediante un compilador. Esto implica que una vez
escrito el programa, éste se traduce a partir de su código fuente
por medio de un compilador en un archivo ejecutable para una
determinada plataforma (por ejemplo Solaris para Sparc,
Windows NT para Intel, etc.). (Lenguaje Compilado - Wikipedia)

Programación y Computación
1.43
Lenguajes interpretados vs Lenguajes Compilados

 Lenguaje Interpretado
 Un lenguaje interpretado es aquel en el que las instrucciones se
traducen o interpretan una a una en tiempo de ejecución a un
lenguaje intermedio o lenguaje máquina o a través de una
máquina virtual, siendo típicamente unas 10 veces más lentos
que los programas compilados.(Adaptación de la definición en
Wikipedia)

Programación y Computación
1.44
Lenguajes de Programación

Programación y Computación
1.45
Ranking de los lenguajes de programación más utilizados en 2011

 Según los datos del Índice Comunitario de Programación TIOBE,


ofrecemos el ranking con los lenguajes de programación más usados por los
desarrolladores.

Programación y Computación
1.46
Bibliografía

 Norton, P. Introducción a la Computación. España: McGraw-Hill


Interamericana. 2014.

 JOYANES AGUILAR, Luis. 2003. FUNDAMENTOS DE


PROGRAMACIÓN Algoritmos, Estructura de Datos y Objetos.
McGraw-Hill, Madrid.

 DEITEL H., Deitel P. 2008. C++ Como programar. 6a Ed. Pearson.


Prentice-Hall. México. 1112 p.

1.47
Discusión, preguntas...

Programación y Computación
1.48

También podría gustarte