Sunteți pe pagina 1din 47

Introducci

on Arquitectura y funcionamiento Software y lenguajes de programaci


on Referencias

7
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Introduccion a los Computadores (CNM-130)


Estructura del computador

Alejandro Piedrahita H.

Instituto de Matem
aticas
Facultad de Ciencias Exactas y Naturales
Universidad de Antioquia

Copyleft 2012. Reproducci on permitida bajo los


t on libre GNU.
erminos de la licencia de documentaci
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Contenido

1 Introducci
on

2 Arquitectura y funcionamiento

3 Software y lenguajes de programaci


on
Software de sistema
Software de programacion
Software de aplicaci
on
Terminologa b
asica

4 Referencias
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Historia de los computadores


Abaco chino (500 adC)
Realiza operaciones aritm
eticas
Primera calculadora mec
anica

Suanpan,
abaco chino
Pascalina (1642)
Calculadora mec
anica inventada por Blaise Pascal
Suma y resta n
umeros de hasta 7 cifras por medio de
un mecanismo de ruedas y engranajes
En 1673 Gottfried von Leibniz modifica la pascalina y
crea la primera calculadora de prop
osito general
Pascalina

La tarjeta perforada (1801)


Joseph Marie Jacquard utiliza tarjetas perforadas
para manejar agujas de tejer en telares mec
anicos
Posteriormente Hernan Hollenith utiliz
o las tarjetas
Tarjeta perforada
perforadas para almacenar datos en un computador.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Historia de los computadores


M
aquina diferencial (1822)
Calculadora mec
anica introducida por Charles
Babbage para tabular funciones polin
omicas
En 1833 Babbage propone el dise
no de un computador
moderno de uso general (la m
aquina analtica)
Ada Augusta Lovelace propone utilizar tarjetas R
eplica de la m
aquina diferencial
perforadas para la m
aquina de Babbage

Primeras computadoras modernas


Mark I (1944)
Construida por Howard H. Aiken en la Universidad
de Harvard
Mark I
Empleaba senales electromagn
eticas para mover las
partes mec
anicas

ENIAC (1946)
Construida por John Presper Eckert y John William
Mauchly en la Universidad de Pennsylvania
Utilizaba tubos de vaco
ENIAC
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Historia de los computadores


Primera generaci
on (19511958)

Tubos de vaco

Ingreso de datos por medio de tarjetas perforadas

Alto consumo de energa y necesidades de


ventilaci
on Consola de Univac I

Uso de tambores giratorios para el almacenamiento


primario

Univac I (universal automatic computer I):


Primera computadora producida en forma
Tarjeta perforada (FORTRAN)
comercial
Utilizada por el departamento de censos
norteamericano (1951)

Crece industria de procesamiento de datos

Surgen FORTRAN y ALGOL Tubo de vac


o

IBM comienza a construir computadoras


Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Historia de los computadores

Segunda generaci
on (19591964)

Transistores

Aumento de velocidad, reducci


on de espacio
Transistores

Menor consumo de energa, reducci


on de costos

Memoria de n
ucleos magn
eticos

Almacenan informacion por medio de las


propiedades magn
eticas de sus componentes
Memoria no vol
atil Memoria de n
ucleos magn
eticos

Escribir un programa no requiere comprensi


on
plena del hardware

IBM vende su primer sistema de disco magn


etico

Surgen terminales remotas: unidades que IBM 1401

transmiten datos a la m
aquina a distancia
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Historia de los computadores

Tercera generaci
on (19641971)

Circuitos integrados

Aumento de velocidad, reducci


on de tama
no

Menor consumo de energa, reducci


on de costos
Circuito integrado Intel 8742

Flexibilidad de los programas y estandarizaci


on de
modelos

Surgimiento de sistemas operativos y lenguajes


estructurados: Ada y Pascal

Utilizaci
on de memorias RAM y ROM

IBM lanza al mercado la serie 360

Aparecen las primeras calculadoras de bolsillo


IBM S/360
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Historia de los computadores

Cuarta generaci
on (1971 a la fecha)

Microprocesadores (circuito integrado independiente)

Reemplazo de memorias con n ucleos magn


eticos por Intel 4004
memorias electr
onicas (chips de silicio)

IBM introduce los discos duros Winchester (est


andar
de la industria)

Surgen las microcomputadoras o Computadores


Personales (PCs) Disco IBM 3340

En 1975 William Henry Gates y Paul Allen fundan


Microsoft Corporation

En 1976 Steven Wozniak y Steven Jobs crean Apple


Computer

Ken Thompson, Dennis Ritchie y Douglas Mcllroy Apple II

desarrollan el sistema operativo UNIX


Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Video recomendado

http://youtu.be/L UIRRXjqVA
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Conceptos basicos

Computador: m aquina que manipula datos de acuerdo a un conjunto


de instrucciones

Los computadores pueden ser programados

El conjunto de instrucciones (programa) puede ser almacenado

El programa puede ser ejecutado posteriormente


Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Hardware y Software

Hardware: componentes fsicos de una computadora

Unidad central de proceso


Memoria
Buses
Perif
erico o dispositivos de entrada/salida (E/S)

Software: conjunto de programas que controlan el funcionamiento de


una computadora

Software de sistema: sistema operativo, compiladores, programas de


comunicaciones, bibliotecas est
andares
Software de aplicaciones: bases de datos, navegadores, hojas de c
alculo,
procesadores de texto, etc.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Vista computador personal

1 Monitor
2 Placa base
3 Procesador
4 Puertos ATA
5 Memoria principal (RAM)
6 Placas de expansi
on
7 Fuente electrica
8 Unidad de almacenamiento o
ptico
9 Disco duro
10 Teclado
11 Rat
on
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Arquitectura Eckert-Mauchly

Unidad L
ogica Aritm
etica (ULA): realiza operaciones aritmeticas y
l
ogicas

Unidad de control: interpreta instrucciones y emite o


rdenes para los
dem
as componentes

Memoria central: dispositivos y medios de grabaci on que retienen


datos inform
aticos durante alg
un intervalo de tiempo

Dispositivos de entrada y salida (E/S): dispositivos de


comunicaci
on con el exterior
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Memorias

Memoria primaria (memorias de acceso aleatorio)


Registros del procesador: memoria de alta velocidad y poca
capacidad, integrada en el microprocesador, que permite guardar
transitoriamente y acceder a valores muy usados, generalmente en
operaciones matem aticas.
Memoria principal: contiene los programas en ejecuci on y los datos
con que operan. La unidad aritm etico-l
ogica (ALU) puede transferir
informacion muy r apidamente entre un registro del procesador y
localizaciones del almacenamiento principal (direcciones de memoria).
Memoria cach e: tipo especial de memoria de acceso r apido. Parte de
la informacion de la memoria principal se duplica en la memoria cach e.
Cuando se accede por primera vez a un dato, se hace una copia en el
cache; los accesos siguientes se realizan a dicha copia, haciendo que el
tiempo de acceso medio al dato sea menor.

Memoria secundaria (dispositivos de almacenamiento masivo)


Conjunto de dispositivos perifericos para el almacenamiento masivo de
datos (disquetes, disco duro, unidades pticas, unidades de memoria flash
y discos Zip).
Con mayor capacidad que la memoria principal, pero m
as lenta que
esta.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Memorias

Memoria RAM (Random Access Memory)


Memoria en la que se puede tanto leer como escribir
informaci
on
Los datos almacenados pueden ser accesados en
cualquier orden (random)
Los datos son retornados independiente de su ubicaci
on
fsica y de los datos previamente almacenados
Memoria donde el procesador recibe las instrucciones y
guarda los resultados.
Memoria volatil: su informacion se pierde al M
odulos formato SIMM
interrumpirse el flujo de corriente el
ectrica

Memoria ROM (Read Only Memory)


Destinada s
olo a ser leda (no escribible)
Almacena programas necesarios para iniciar el
Memoria ROM (BIOS)
computador y de diagn
ostico
Memoria no vol atil: su informaci
on se conserva al
interrumpirse el flujo de corriente el
ectrica
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Dispositivos auxiliares y perifericos

Disco duro: sistema de grabaci on magnetica digital


que almacena los datos del usuario y en la mayora de
los casos el sistema operativo de la computadora.

Monitor: dispositivo de salida que muestra, mediante


una interfaz, los resultados del procesamiento de una
computadora.

Teclado: periferico, fsico o virtual utilizado para la


introducci
on de ordenes y datos.

Raton: periferico utilizado para la entrada y el control


de datos.

Impresora: produce copias permanente en papel de


textos o gr
aficos de documentos almacenados en
formato electronico.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion del software


Software de sistema: permite que el hardware funcione.
Sistemas operativos: conjunto de programas destinados a permitir
una administraci
on eficaz de los recursos del computador.

Controladores de dispositivo: programas inform aticos que permiten


al sistema operativo interactuar con los perif
ericos.
Herramientas de diagn
ostico: monitorea y controla la funcionalidad
del hardware.
Servidores: programas que realiza algunas tareas en beneficio de otras
aplicaciones llamadas clientes.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion del software


Software de programaci on: Es el conjunto de herramientas que
permiten al programador desarrollar programas inform
aticos.

Editores de texto: programas que permiten crear y modificar archivos


digitales compuestos u
nicamente por texto y sin formato.
Compiladores: programas que traducen un programa escrito en un
lenguaje de programaci
on a otro lenguaje que la m
aquina ser
a capaz de
interpretar.
Interpretes: programas escritos en lenguajes de alto nivel capaces
analizar y ejecutar otros programas. A diferencia de los compiladores,
los int
erpretes traducen el programa a medida que lo ejecutan.
Enlazadores: programas que toman los archivos de c odigo objeto
generados durante el proceso de compilaci
on y los enlaza con bibliot
ecas
para generar un archivo ejecutable.
Depuradores: programas que limpian los errores de otros programas
inform
aticos.
Entornos de Desarrollo Integrados (IDE): agrupan a las anteriores
herramientas, usualmente en un entorno visual, de forma que el
programador no necesite introducir m
ultiples comandos para compilar,
interpretar, depurar, etc.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion del software


Software de aplicaci on: permite a los usuarios llevar a cabo una o
varias tareas especficas, en cualquier campo de actividad susceptible
de ser automatizado o asistido.

Aplicaciones ofim
aticas: conjunto de programas para el uso en oficinas y
entornos profesionales. Incluyen procesadores de texto, hojas de c
alculo,
programas de presentaci on, sistemas de gesti`
on de bases de datos, etc.
Software educativo: software destinado a la ense
nanza y el auto
aprendizaje.
Software m
edico: software utilizado para fines m
edicos.
Software de calculo num erico: programas que simulan procesos
matem
aticos complejos que describen fen
omenos reales.
Software de dise no asistido (CAD): herramientas computacionales
que asisten a ingenieros, arquitectos y a otros profesionales del dise
no en
sus respectivas actividades.
Software de Control Num erico (CAM): programas destinados a controlar
las fases de manufactura de un producto, incluyendo la planeaci
on del
proceso y la producci
on, maquinado, calendarizaci
on, administraci
on y
control de calidad.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Terminologa basica

Programa: conjunto de instrucciones escritas en forma codificada que


el computador puede traducir a su propio lenguaje. Estas instrucciones
le dicen al computador que operaciones ejecutar y en que orden.

Codigo fuente: tipo de programa escrito por un programador en


alg
un lenguaje de programacion, pero que no es directamente
ejecutable por el computador, sino que debe ser traducido a otro
lenguaje (el lenguaje de m
aquina o c
odigo objeto) que pueda ser
ejecutado por el hardware del computador.

Programa Objeto: programa que resulta de la traducci on del


lenguaje fuente (codigo fuente) a un lenguaje de m
aquina, es decir a
aquel que es inteligible por el computador.

Interpretes: programas que traducen las instrucciones de un


programa escrito en algun lenguaje de programaci
on, en una secuencia
de instrucciones de maquina (lenguaje de maquina). El interprete
traduce las instrucciones del programa fuente una por una y las ejecuta
inmediatamente.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Terminologa basica
Compilador: al igual que los interpretes, los compiladores traducen un
programa escrito en algun lenguaje de programaci on en una secuencia
de instrucciones de maquina (lenguaje de m aquina) que se pueden
ejecutar. A diferencia de los interpretes, el compilador s
olo traduce:

Un programa que ha sido compilado puede correr por si solo, pues en el


proceso de compilaci
on se lo transforma en otro lenguaje (lenguaje
maquina).

Un interprete traduce el programa cuando lo lee, convirtiendo el c


odigo
del programa directamente en acciones.

La ventaja del int


erprete es que dado cualquier programa es posible
interpretarlo en cualquier plataforma (sistema operativo), en cambio el
archivo generado por el compilador solo funciona en la plataforma que
fue creado.

Un archivo compilado puede ser distribuido f


acilmente conociendo la
plataforma, mientras que un archivo interpretado no funciona si no se
tiene el int
erprete.

La velocidad de ejecuci
on de un archivo compilado es de 10 a 20 veces
superior a la de un archivo interpretado.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on

Seg
un la forma de ejecuci
on

Seg
un el paradigma
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on
Lenguajes M
aquina
Lenguajes de bajo nivel
Lenguajes de medio nivel
Lenguajes de alto nivel

Seg
un la forma de ejecuci
on

Seg
un el paradigma
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on
Lenguajes M
aquina
Lenguajes M
aquina Conjunto de instrucciones que
Lenguajes de bajo nivel puede ejecutar el computador
Lenguajes de medio nivel
(CPU).
Est
a compuesto por un
Lenguajes de alto nivel
conjunto de instrucciones
Seg
un la forma de ejecuci
on binarias (0 y 1) ejecutadas en
secuencia.
Seg
un el paradigma Representan acciones (on,
off) que la m
aquina podra
realizar.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on
Lenguajes de bajo nivel
Lenguajes M
aquina Proporciona poca o ninguna
Lenguajes de bajo nivel abstracci
on del
microprocesador del
Lenguajes de medio nivel
computador.
Lenguajes de alto nivel
Es bajo por ofrecer una
Seg
un la forma de ejecuci
on reducida abstracci
on entre el
lenguaje y el hardware
Seg
un el paradigma Maxima velocidad con mnimo
uso de memoria.
Requiere conocer en detalle la
arquitectura de la m
aquina.
Ejemplo: el lenguaje
ensamblador.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on
Lenguajes de medio nivel
Lenguajes M
aquina Presenta caractersticas que
Lenguajes de bajo nivel los acercan a los lenguajes de
Lenguajes de medio nivel
bajo nivel.
Posee cualidades que lo hacen
Lenguajes de alto nivel
un lenguaje mas cercano al
Seg
un la forma de ejecuci
on humano y, por tanto, de alto
nivel.
Seg
un el paradigma Expertos consideran al
lenguaje C, un lenguaje de
medio nivel.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on
Lenguajes de alto nivel
Lenguajes M
aquina De f acil comprensi
on por estar
Lenguajes de bajo nivel formado por elementos de
Lenguajes de medio nivel
lenguajes naturales como el
ingles.
Lenguajes de alto nivel
Dise
nado m as para la
Seg
un la forma de ejecuci
on capacidad cognitiva humana,
en lugar de la capacidad
Seg
un el paradigma ejecutora de las m
aquinas.
Ejemplos: Basic, Fortran,
COBOL.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on
Seg
un la forma de ejecuci
on
Lenguajes compilados
Lenguajes interpretados

Seg
un el paradigma
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on Lenguajes compilados
Seg
un la forma de ejecuci
on Son traducidos partir de su
c
odigo fuente por medio de un
Lenguajes compilados
compilador.
Lenguajes interpretados
El archivo generado es
Seg
un el paradigma ejecutable para una
determinada plataforma.
Ejemplos: Fortran, Pascal, la
familia de lenguajes de C,
incluyendo C++ y Objective
C pero no Java.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on Lenguajes interpretados
Seg
un la forma de ejecuci
on Son ejecutado por medio de
un interprete.
Lenguajes compilados
Las instrucciones se traducen
Lenguajes interpretados
o interpretan una a una
Seg
un el paradigma siendo tpicamente unas 10
veces mas lentos que los
programas compilados.
Ejemplos: Lisp, Bash, Basic.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on

Seg
un la forma de ejecuci
on
Seg
un el paradigma
Paradigma imperativo o por
procedimientos
Paradigma funcional
Paradigma l
ogico
Paradigma orientado a objetos
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on Paradigma imperativo
Seg
un la forma de ejecuci
on Conjunto de instrucciones que
el computador debe ejecutar.
Seg
un el paradigma
Enfoque que describe la
Paradigma imperativo o por programacion en terminos del
procedimientos estado del programa y
Paradigma funcional sentencias que cambian dicho
estado.
Paradigma l
ogico
Los programas imperativos le
Paradigma orientado a objetos
indican al computador c
omo
realizar una tarea.
La implementacion de
hardware de la mayora de
computadores es imperativa.
Ejemplos: BASIC, C, C++,
Fortran, Pascal, Java, Perl,
PHP.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on Paradigma funcional
Seg
un la forma de ejecuci
on Enfoque de programaci on
declarativo basado en la
Seg
un el paradigma utilizaci
on de funciones
Paradigma imperativo o por matem aticas.
procedimientos Hace enfasis en la aplicaci
on
Paradigma funcional de funciones, en contraste con
el concepto de estado del
Paradigma l
ogico
c
omputo (paradigma
Paradigma orientado a objetos imperativo)
No es necesario bajar al nivel
de la maquina para describir
el proceso llevado a cabo por
el programa.
Ejemplos: La familia de
lenguajes LISP (en particular
Scheme), ML o Haskell, R.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on Paradigma l
ogico
Seg
un la forma de ejecuci
on Forma parte de los
paradigmas declarativos en los
Seg
un el paradigma que se especfica que debera
Paradigma imperativo o por hacer el computador y no
procedimientos c
omo.
Paradigma funcional Tiene como caracterstica
principal la aplicaci
on de las
Paradigma l
ogico
reglas de la l
ogica para inferir
Paradigma orientado a objetos conclusiones a partir de datos.
El PROLOG es el lenguaje
emblem
atico del paradigma.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Clasificacion de los lenguajes . . .

Seg
un su nivel de abstracci
on Paradigma orientado a objetos
Seg
un la forma de ejecuci
on Estilo de programacion que
utiliza objetos como bloque
Seg
un el paradigma fundamental de construccion.
Paradigma imperativo o por Los bloques son un conjunto
procedimientos complejo de datos (atributos)
Paradigma funcional y funciones (metodos) que
poseen una determinada
Paradigma l
ogico
estructura y forman parte de
Paradigma orientado a una organizacion.
objetos
Los atributos definen el estado
del objeto; los metodos, su
comportamiento.
Ejemplos: Visual Basic, C++,
PHP.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Bits y Bytes
Bit: dgito binario que toma como posible valor 0
o 1.

El bit es la unidad mnima de almacenamiento empleada en


informatica.

Un bit representa dos posibles estados: encendido (1) o apagado


(0), verdadero o falso, abierto o cerrado, presencia o
ausencia de energa, etc.

Con un bit solo es posible representar dos valores. Para representar o


codificar m
as informacion en un dispositivo digital, es neceario usar
una mayor cantidad de bits. Con 2 bits por ejemplo:

22 = 4 posibilidades:
0 0 : apagadoapagado.
0 1 : apagadoencendido.
1 0 : encendidoapagado.
1 1 : encendidoencendido.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Bits y Bytes

Con tres bits tendremos 23 = 8 combinaciones posibles:

000, 001, 010, 011, 100, 101, 110, 111

A traves de secuencias de bits, se puede codificar cualquier valor


discreto como numeros, palabras, e im agenes.

Cuatro bits forman un nibble, y pueden representar hasta 24 = 16


valores diferentes.

Ocho bits forman un octeto, y se pueden representar hasta 28 = 256


valores diferentes.

En general, con n bits se pueden representar hasta 2n valores


diferentes.

En la mayora de los computadores ocho bits forman un byte (siendo


equivalente al octeto) pero hay excepciones.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Terminologa basica

Direcci
on de memoria

Numero que identifica la posici


on en la memoria asignada a un
dispositivo.
La direcci
on es utilizada para la comunicaci
on entre el software y el
dispositivo.
La direcci
on de memoria le permite a un programa o a un dispostivo de
hardware recuperar la informaci
on que ha almacenado con antelaci
on.

Palabra

Cadena finita de bits que es tratada por los circuitos como una sola
entidad, por la unidad de control como una instrucci on y por la unidad
aritm
etica-l
ogica como una cantidad.
Se les asigna una direcci
on de memoria.
El tama no de una palabra hace referencia al n
umero de bits contenidos
en ella.
Los computadores modernos normalmente tienen un tama
no de palabra
de 16, 32 64 bits.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Terminologa basica

Caracteres: est
an formados por

Dgitos decimales: 0, 1, 2, . . . , 9

Letras: A, B, . . . , Z y a, b, . . . , z.

Smbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc.

Campos:

Grupo de caracteres o bytes que transmiten alg


un significado.

Las instrucciones de los lenguajes est


an constituidas por varios campos.

Un campo puede estar constituido por una o m


as palabras.

Un campo que consiste de letras puede utilizarse para representar el


nombre de una persona.
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Terminologa basica

Registro

Grupo de campos relacionados.

En un sistema de nomina, el registro de un empleado en particular


podra estar compuesto por los siguientes campos:

N
umero de seguro social (campo alfanum
erico).

Nombre (campo alfabtico).

Direcci
on (campo alfanum
erico).

Sueldo por hora (campo num


erico).

Deducciones (campo num


erico).

Percepciones de un a
no a la fecha (campo num
erico).

Monto por concepto de impuestos (campo num


erico).
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Terminologa basica

Archivos

Grupo de registros relacionados.

Se utilizan para almacenar informaci


on en forma masiva, relacionada
con una entidad, persona o cosas.

El archivo de n
omina de una empresa contiene un registro para cada
empleado.

Bases de datos

Grupo de archivos relacionados.

Al conjunto de programas disenados para crear y administrar bases de


datos se les denomina sistema de administraci
on de bases de datos
(DBMS).
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Terminologa basica

Jerarqua de datos
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Bibliografa I

J.W. Brown, D.J. Murdoch


A First Course in Statistical Programming With R
Cambridge University Press, 1th edition , 2008
D. Burton
Elementary Number Theory
McGraw Hill Higher Education, 5th edition, 2002
O. Cair
o
Metodologa de la programaci
on
Segunda edicion. Alfaomega Grupo Editor, S.A., 2005
M.A. Criado
Programaci
on en lenguajes estructurados
Alfaomega Grupo Editor, S.A. de C.V. Primera Edici
on, 2006
H.P. Langtangen
A Primer on Scientific Programming with Python
Springer, 2011
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Bibliografa II

O. Jones, R. Maillardet, A. Robinson


Introduction to Scientific Programming and Simulation Using R
Chapman and Hall/CRC; 1 edition, 2009
D.E. Knuth
The Art of Computer Programming
Volume 1, Fundamental Algorithms
Addison Wesley Longman, 1997
S. Lipschutz
Schaums Outline of Essential Computer Mathematics
McGraw-Hill, 1th edition, 1982
Ch.F. Van Loan
Introduction to Scientific Computing
Prentice-Hall, Inc., 1997
C.B. Moler
Numerical Computing with Matlab
SIAM, 2004
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Bibliografa III

H.M. Mora Escobar


Introducci
on a C y a metodos numericos
Universidad Nacional de Colombia (Sede Bogot
a), 2004
A. Quarteroni, F. Salieri
C
alculo cientfico con MATLAB y Octave
Springer-Verlag Italia, 2006
S.M. Ross
Simulation
Elsevier Inc., 2006
R. Seroul
Programming for Mathematicians
Springer, 2000
E. Scheinerman
C ++ for Mathematicians: An Introduction for Students and
Professionals
Taylor & Francis Group, LLC, 2006
Introducci
on Arquitectura y funcionamiento Software y lenguajes de programaci
on Referencias

Bibliografa IV

A. Shen
Algorithms and Programming
Springer Undergraduate Texts in Mathematics and Technology, 2010
P. Tymann
Schaums Outline of Principles of Computer Science
McGraw-Hill, 1th edition, 2008

S-ar putea să vă placă și