You are on page 1of 38

Historia de las Computadoras

Abaco:
Es la primera calculadora mecnica, aunque no se puede
llamar computadora porque carece de un elemento
fundamental, que no se lograra hasta mucho tiempo
despus.

Charles Babbage:
Crea la maquina analtica(1930), esta podra considerarse
la primera computadora. Este diseo, nunca llevado por
completo a la practica, contena todos los elementos que
configuran una computadora moderna.

1.- Almacn o Memoria 4.- Control


2.- Entrada(Tarjetas Perforadas) 5.- Salida
3.- Clculos
Historia de las Computadoras
John Von Neumann:
Es el creador con su equipo de trabajo de la Universidad de
Pennsylvania en 1947 la ENIAC(Electronic Numerical
Integrator And Computer) que puede considerarse como la
primera computadora digital, electrnica de la historia.

Esta maquina era enorme media 10 X 16 Mts, ocupaba un


stano de la universidad, pesaba 30 Tons, tena 17,468
tubos al vaci y 60000 relevadores, consuma 140 KW y
requera un sistema de aire acondicionado industrial, era
capaz de efectuar alrededor de 5000 sumas o 2800
multiplicaciones en un segundo, calculo el valor de la
constante Pi.
Historia de las Computadoras
John Von Neumann:
Historia de las Computadoras
John Von Neumann:
Historia de las Computadoras
ENIAC vs INTEL 8080
Historia de las Computadoras
ENIAC vs INTEL 8080
AO 1947 1974

COMPONENTES 17468 BULBOS UN CIRCUITO INTEG.


ELETCRNICOS CON MS DE 6000 TRANS

TAMAO 160 MTS^2 MENOS DE 1 CM^2

REQUERIM. 140 KW POCOS MILIWATTS


DE POTENCIA

COSTO VARIOS 150 DLLS.


MILLONES DLLS
Conceptos Bsicos
Sistemas Operativos:
Es el encargado de crear un ambiente en el cual los
usuarios pueden interactuar con las computadoras, adems
de preparar los programas y ejecutarlos sin tener que
entrar en los detalles del Hardware del sistema. Existen
S.O. que utilizan la multiprogramacin o el multiproceso,
en el cual varios usuarios o varios procesos emplean el
S.O. en forma simultanea.

Programa:
Es un conjunto de instrucciones escritas en un Lenguaje de
Programacin que indican a la computadora la secuencia de
pasos para resolver un problema. Estas instrucciones
orientan a la Unidad de Control de Procesamiento(CPU) en
el desarrollo de los clculos, el cual debe expresarse en
forma que sea entendido por el CPU
Conceptos Bsicos
Lenguaje de Programacin:
Es aquel el encargado de crear un ambiente en el cual los
usuarios pueden interactuar con las computadoras, adems
de preparar los programas y ejecutarlos sin tener que
entrar en los detalles del Hardware del sistema. Estos
lenguajes se clasifican en tres grandes categoras.

Lenguaje de Alto Nivel

Lenguaje de Bajo Nivel(Ensamblador)

Lenguaje Mquina
Lenguaje de Alto Nivel
Los lenguajes de programacin de alto nivel (C, Pascal, Cobol,
Fortran, Perl, Java, Visual Basic, Visual C, etc) son aquellos en
los que las instrucciones o sentencias son escritas con
palabras similares a los lenguajes humanos (En general en
Ingles), lo que facilita la escritura y comprensin del
Programa.

Un programa escrito en lenguaje de alto nivel es


Independiente de la mquina (Las Instrucciones no dependen
del diseo del Hardware o de una computadora en particular)
Por lo que estos programas son portables o transportables.
Ventajas
1. El Tiempo de formacin de los
programadores es relativamente corto
comparado con otros lenguajes de nivel
inferior.
2. La escritura del programa se basa en
reglas sintcticas similares a los
lenguajes humanos.
3. Las modificaciones y puestas a punto de
los programas son ms fciles.
4. Transportabilidad.
Desventajas
No se aprovechan los recursos internos
de la mquina que se explotan mucho
mejor en el lenguaje mquina y
ensambladores.
Aumento en la ocupacin de memoria.
El tiempo de ejecucin de los
programas es mucho mayor
Lenguaje de Bajo Nivel
Los lenguajes de bajo nivel son mas fciles
de utilizar que los lenguajes mquina, pero,
al igual que ellos, dependen de la mquina
en particular.
El lenguaje de bajo nivel por excelencia es
el ensamblador.
Las instrucciones en lenguaje ensamblador
son instrucciones conocidas como
nemotcnicos.
Lenguaje de Bajo Nivel
Por ejemplo, nemotcnicos tpicos de
operaciones aritmticas son: en ingls,
ADD, SUB, DIV, etc.; en espaol, SUM,
RES, DIV, etc. Una instruccin tpica de
suma sera:

ADD M, N, P
Lenguaje de Bajo Nivel
Evidentemente es mucho ms sencillo
recordar la instruccin anterior con un
nemotcnico que su equivalente en cdigo
mquina.

0110 1001 1010 1011


Lenguaje de Bajo Nivel
Un programa escrito en lenguaje
ensamblador no puede ser ejecutado
directamente por la computadora en esto se
diferencia esencialmente del lenguaje
mquina, sino que requiere una fase de
traduccin al lenguaje mquina.
Lenguaje de Bajo Nivel
El programa original escrito en lenguaje
ensamblador se denomina programa fuente
y el programa traducido en lenguaje
mquina se conoce como programa objeto,
ya directamente entendible por la
computadora.

El traductor de programas fuente a objeto


es un programa llamado ensamblador,
existente en casi todos los computadores.
Lenguaje Maquina
Es el nico que entiende la
computadora digital, es su "lenguaje
natural".

En l slo se pueden utilizar dos smbolos:


el cero (0) y el uno (1).

Por ello, al lenguaje mquina tambin se le


denomina lenguaje binario.
Lenguaje Maquina
La computadora slo puede trabajar con
bits, sin embargo, para el programador no
resulta fcil escribir instrucciones tales
como:
10100010
11110011
00100010
00010010
Lenguaje Maquina
Una dificultad aadida a los lenguajes
binarios es el hecho de que son
dependientes de la mquina (o mejor dicho,
del procesador), es decir, cada procesador
utiliza un lenguaje mquina distinto (un
juego de instrucciones distinto) que est
definido en su propio hardware.
Lenguaje Maquina
En consecuencia, un programa escrito para
un tipo de procesador no se podr usar en
otro equipo que utilice un procesador
distinto, ya que, el programa no ser
portable o transportable. Para que dicho
programa pueda funcionar en una segunda
computadora, habr que traducir todas las
instrucciones escritas en el lenguaje
mquina del primer equipo al lenguaje
binario de la segunda computadora
Compilador
Para traducir las instrucciones de un
programa escrito en un
lenguaje de alto nivel a instrucciones de un
lenguaje mquina, hay que utilizar un
programa llamado compilador. Es un
programa que recibe como
datos de entrada el cdigo fuente de un
programa escrito por un programador, y
genera como salida un conjunto de
instrucciones escritas en el lenguaje binario
de la computadora donde se van a ejecutar.
Traductor
Es un programa que traduce o convierte
desde un programa escrito en un lenguaje
fuente hasta un programa escrito en un
lenguaje destino produciendo, si ocurren,
mensajes de error.
Intrprete
Es un programa informtico capaz de analizar y
ejecutar otros programas, escritos en un lenguaje
de alto nivel.
Los intrpretes se diferencian de los compiladores
en que mientras estos traducen un programa
desde su descripcin en un
lenguaje de programacin al cdigo de mquina
del sistema, los intrpretes slo realizan la
traduccin a medida que sea necesaria,
tpicamente, instruccin por instruccin, y
normalmente no guardan el resultado de dicha
traduccin.
Intrprete
Los programas interpretados suelen ser
ms lentos que los compilados debido a la
necesidad de traducir el programa mientras
se ejecuta, y permiten ofrecer al programa
interpretado un entorno no dependiente de
la mquina.
Programacin Estructurada
Es un conjunto de tcnicas para desarrollar
algoritmos fciles de escribir, verificar, leer y
modificar que utilizan:
Diseo descendente.- Consiste en disear
los algoritmos en etapas, partiendo de los
conceptos generales a los detalles. El
diseo descendente se ve contemplado y
ampliado con el diseo modular
(procedimientos y funciones)
Programacin Estructurada
Recursos Abstractos.- En cada
descomposicin de una accin compleja
se supone que todas las partes
resultantes estn ya resueltas,
proponiendo su realizacin para el
siguiente refinamiento.
Programacin Estructurada
Estructuras Bsicas.- Los algoritmos
debern ser escritos utilizando
nicamente con 3 tipos de estructuras
bsicas (secuencial, selectivas,
repetitivas).
Metodologa de la
Programacin
A fin de resolver un problema utilizando sistemas de cmputo,
debe seguirse una serie de pasos que permiten avanzar por
etapas bien definidas hacia la solucin.

Estas etapas son las siguientes :

Definicin del problema.


Anlisis de los datos.
Diseo de la solucin.
Codificacin.
Prueba y depuracin.
Documentacin.
Mantenimiento.
Definicin del problema

Est dada en s por el enunciado del


problema, el cual debe ser claro y complejo.

Es importante que conozcamos exactamente


"que se desea obtener al final del
proceso" ; mientras esto no se comprenda
no puede pasarse a la siguiente etapa.
Anlisis de los Datos

Para poder definir con precisin el problema


se requiere que las especificaciones de
entrada y salida sean descritas con detalle
ya que esto es un requisito para lograr una
solucin eficaz
Anlisis de los Datos
Una vez que el problema ha sido definido y
comprendido, deben analizarse los
siguientes aspectos :

Los resultados esperados.


Los datos de entrada disponibles.
Herramientas a nuestro alcance para
manipular los datos y alcanzar un resultado
(frmulas, tablas, accesorios diversos).
Diseo de la Solucin
Una computadora no tiene capacidad para
solucionar problemas ms que cuando se le
proporcionan los sucesivos pasos a realizar,
esto se refiere a la obtencin de un
algoritmo que resuelva adecuadamente el
problema.
En caso de obtenerse varios algoritmos,
seleccionar uno de ellos utilizando criterios
ya conocidos
Codificacin
Se refiere a la obtencin de un programa
definitivo que pueda ser comprensible para
la mquina. Incluye una etapa que se
reconoce como compilacin.

Si la codificacin original se realiz en papel,


previo a la compilacin deber existir un
paso conocido como transcripcin
Codificacin
Programa Fuente

Esta escrito en un lenguaje de


programacin. (C, Pascal, C++,Visual Fox,
Visual Basic, C#, etc).

Es entendible por el programador.


Prueba y Depuracin
Una vez que se ha obtenido el programa
ejecutable, este es sometido a prueba a fin
de determinar si resuelve o no el problema
planteado en forma satisfactoria.

Comnmente se inicia la prueba de un


programa introduciendo datos vlidos,
invlidos e incongruentes y observando
como reacciona en cada ocasin
Prueba y Depuracin

El proceso de depuracin consiste en


localizar los errores y corregirlos(Lgicos) en
caso de que estos existan.

Si no existen errores, puede entenderse la


depuracin como una etapa de refinamiento
en la que se ajustan detalles para optimizar
el desempeo del Programa.
Documentacin

En vista de que esta aplicacin no podr ser


supervisada en todas las ocasiones por el
programador, debe crearse un manual o
gua de operacin que indique los pasos a
seguir para utilizar el programa.
Mantenimiento
Se refiere a las actualizaciones que deban
aplicarse al programa cuando las
circunstancias as lo requieran. Este
programa deber ser susceptible de ser
modificado para adecuarlo a nuevas
condiciones de operacin.
Cualquier actualizacin o cambio en el
programa deber reflejarse en su
documentacin.

You might also like