Está en la página 1de 49

Introducción a la Informática

Profesor Ciro Rodriguez


Introducción
Introducción
Introducción
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
cubierta de Polvo.
Pascalina

Computador
Mecánico
Evolución del Computador

Ábaco

Regla de Cálculo • Desarrollado por William


Oughtred.
• Operaciones Aritméticas
Complicadas.
Pascalina • Instrumento Analógico.
• Popular durante un siglo.

Computador
Mecánico
Evolución del Computador

Ábaco

Regla de Cálculo
• Creado por Blaise Pascal
• Suma y Resta.
Pascalina • Gottfried Leibniz crea
versión que multiplica.

Computador
Mecánico
Evolución del Computador

Ábaco

Regla de Cálculo
• Creado por Charles
Babbage en 1833.
Pascalina • Uso de los cartones
perforados como
entradas.
Computador • Tenía impresora.
Mecánico • No pudo terminarla.
Evolución del Computador

• Desarrollado por George


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

Aritmómetro

Término Bit
Evolución del Computador

• Herman Hollerith en 1889.


• Automatización de Censo USA.
Álgebra de Boole • Uso de Tarjetas Perforadas
• Nace Tabuling Machine
Company (Próxima IBM)

Nace IBM

Aritmómetro

Término Bit
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
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.
Evolución del Computador

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

Mark I

ENIAC
Evolución del Computador

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

Mark I

ENIAC
Evolución del Computador

Ordenador Z3

Colossus

Mark I
• Por Howard Aiken en 1944.
• Procesadora
de Información
ENIAC • Funciona
Eléctricamente
.
Evolución del Computador

Ordenador Z3

Colossus

Mark I • Desarrollada en
Pennsylvania.
• Introducida en 1946
ENIAC • Electronic Numeral
Integrator and Calculador.
Gran Consumo de Energía.
Conceptos previos
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.


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.


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


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


Conceptos previos
Conceptos previos
Conceptos previos

 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.
Qué es un sistema informático

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


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

Fundamentos de computadores Introducción a la programación


Qué es una computadora

SOFTWARE

ALGORITMOS
SISTEMA ORDENADOR
INFORMATIC
O

SOFTWARE
DATO
S

INFORMACIÓN

HARDWARE
PROGRAMAS

1.27
Qué es un sistema informatico

 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.
Qué es un Sistema Informático
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.
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
¿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

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.).
Lenguaje máquina

a = (b + c)/(d + e)
 Pasos x
sumar b y c, y guardar el resultado en unay 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 direccRes
direccOp2 Direcc. Temporal X
Código de la suma
0000 00001000 00001100 00001110
0000 00011000 00011100 00011110
0101 00011110 00001110 00000100
Direcc. Temporal
Y
Código de la división
1.34
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

1.35
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

1.36
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

1.37
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++

1.38
Abstracción

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

• Enteros
• Reales
• Booleanos
• Caracteres

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

1.39
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

1.40
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

1.41
Clasificación de los Lenguajes de Programación
Evolución de los Lenguajes de Programación
Lenguajes interpretados vs Lenguajes Compilados

 Lenguaje Compilado
 Término 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.).

1.44
Lenguajes interpretados vs Lenguajes Compilados

 Lenguaje Interpretado
 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.
Lenguajes de Programación
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.

1.47
Bibliografía

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


Hill Interamericana. 2014.

 JOYANES AGUILAR, 2003. FUNDAMENTOS


PROGRAMACIÓN
Luis. DE
McGraw-Hill,
Algoritmos, Madrid. Estructura de Datos y
Objetos.
 DEITEL H., Deitel P. 2008. C++ Como programar. 6a Ed. Pearson.
Prentice-Hall. México. 1112 p.

1.48
Discusión, preguntas...

También podría gustarte