Sección 1 - Instituto de Matemáticas

Anuncio
Introducción
7
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Introducción a los Computadores (CNM-130)
Estructura del computador
Alejandro Piedrahita H.
Instituto de Matemáticas
Facultad de Ciencias Exactas y Naturales
Universidad de Antioquia
Copyleft «2012. Reproducción permitida bajo los
términos de la licencia de documentación libre GNU.
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Contenido
1
Introducción
2
Arquitectura y funcionamiento
3
Software y lenguajes de programación
Software de sistema
Software de programación
Software de aplicación
Terminologı́a básica
4
Referencias
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Historia de los computadores
Ábaco chino (500 adC)
Realiza operaciones aritméticas
Primera calculadora mecánica
Suanpan, ábaco chino
Pascalina (1642)
Calculadora mecánica inventada por Blaise Pascal
Suma y resta números 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ósito general
Pascalina
La tarjeta perforada (1801)
Joseph Marie Jacquard utiliza tarjetas perforadas
para manejar agujas de tejer en telares mecánicos
Posteriormente Hernan Hollenith utilizó las tarjetas
perforadas para almacenar datos en un computador.
Tarjeta perforada
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Historia de los computadores
Máquina diferencial (1822)
Calculadora mecánica introducida por Charles
Babbage para tabular funciones polinómicas
En 1833 Babbage propone el diseño de un computador
moderno de uso general (la máquina analı́tica)
Ada Augusta Lovelace propone utilizar tarjetas
perforadas para la máquina de Babbage
Réplica de la máquina diferencial
Primeras computadoras modernas
Mark I (1944)
Construida por Howard H. Aiken en la Universidad
de Harvard
Empleaba señales electromagnéticas para mover las
partes mecánicas
Mark I
ENIAC (1946)
Construida por John Presper Eckert y John William
Mauchly en la Universidad de Pennsylvania
Utilizaba tubos de vacı́o
ENIAC
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Historia de los computadores
Primera generación (1951–1958)
Tubos de vacı́o
Ingreso de datos por medio de tarjetas perforadas
Alto consumo de energı́a y necesidades de
ventilación
Consola de Univac I
Uso de tambores giratorios para el almacenamiento
primario
Univac I (universal automatic computer I):
Primera computadora producida en forma
comercial
Tarjeta perforada (FORTRAN)
Utilizada por el departamento de censos
norteamericano (1951)
Crece industria de procesamiento de datos
Surgen FORTRAN y ALGOL
IBM comienza a construir computadoras
Tubo de vacı́o
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Historia de los computadores
Segunda generación (1959–1964)
Transistores
Aumento de velocidad, reducción de espacio
Transistores
Menor consumo de energı́a, reducción de costos
Memoria de núcleos magnéticos
Almacenan información por medio de las
propiedades magnéticas de sus componentes
Memoria no volátil
Memoria de núcleos magnéticos
Escribir un programa no requiere comprensión
plena del hardware
IBM vende su primer sistema de disco magnético
Surgen terminales remotas: unidades que
transmiten datos a la máquina a distancia
IBM 1401
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Historia de los computadores
Tercera generación (1964–1971)
Circuitos integrados
Aumento de velocidad, reducción de tamaño
Menor consumo de energı́a, reducción de costos
Circuito integrado Intel 8742
Flexibilidad de los programas y estandarización de
modelos
Surgimiento de sistemas operativos y lenguajes
estructurados: Ada y Pascal
Utilización de memorias RAM y ROM
IBM lanza al mercado la serie 360
Aparecen las primeras calculadoras de bolsillo
IBM S/360
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Historia de los computadores
Cuarta generación (1971 a la fecha)
Microprocesadores (circuito integrado independiente)
Reemplazo de memorias con núcleos magnéticos por
memorias electrónicas (chips de silicio)
Intel 4004
IBM introduce los discos duros Winchester (estándar
de la industria)
Surgen las microcomputadoras o Computadores
Personales (PC´s)
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
desarrollan el sistema operativo UNIX
Apple II
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Video recomendado
http://youtu.be/L UIRRXjqVA
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Conceptos básicos
Computador: máquina 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ón
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Hardware y Software
Hardware: componentes fı́sicos de una computadora
Unidad central de proceso
Memoria
Buses
Periférico 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ándares
Software de aplicaciones: bases de datos, navegadores, hojas de cálculo,
procesadores de texto, etc.
Introducción
Arquitectura y funcionamiento
Vista computador personal
1
Monitor
2
Placa base
3
Procesador
4
Puertos ATA
5
Memoria principal (RAM)
6
Placas de expansión
7
Fuente eléctrica
8
Unidad de almacenamiento óptico
9
Disco duro
10
Teclado
11
Ratón
Software y lenguajes de programación
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Arquitectura Eckert-Mauchly
Unidad Lógica Aritmética (ULA): realiza operaciones aritméticas y
lógicas
Unidad de control: interpreta instrucciones y emite órdenes para los
demás componentes
Memoria central: dispositivos y medios de grabación que retienen
datos informáticos durante algún intervalo de tiempo
Dispositivos de entrada y salida (E/S): dispositivos de
comunicación con el exterior
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
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áticas.
Memoria principal: contiene los programas en ejecución y los datos
con que operan. La unidad aritmético-lógica (ALU) puede transferir
información muy rápidamente entre un registro del procesador y
localizaciones del almacenamiento principal (direcciones de memoria).
Memoria caché: tipo especial de memoria de acceso rápido. Parte de
la información de la memoria principal se duplica en la memoria caché.
Cuando se accede por primera vez a un dato, se hace una copia en el
caché; 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 periféricos 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ás lenta que ésta.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Memorias
Memoria RAM (Random Access Memory)
Memoria en la que se puede tanto leer como escribir
información
Los datos almacenados pueden ser accesados en
cualquier orden (random)
Los datos son retornados independiente de su ubicación
fı́sica y de los datos previamente almacenados
Memoria donde el procesador recibe las instrucciones y
guarda los resultados.
Memoria volátil: su información se pierde al
interrumpirse el flujo de corriente eléctrica
Módulos formato SIMM
Memoria ROM (Read Only Memory)
Destinada sólo a ser leı́da (no escribible)
Almacena programas necesarios para iniciar el
computador y de diagnóstico
Memoria no volátil: su información se conserva al
interrumpirse el flujo de corriente eléctrica
Memoria ROM (BIOS)
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Dispositivos auxiliares y periféricos
Disco duro: sistema de grabación magnética digital
que almacena los datos del usuario y en la mayorı́a 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: periférico, fı́sico o virtual utilizado para la
introducción de órdenes y datos.
Ratón: periférico utilizado para la entrada y el control
de datos.
Impresora: produce copias permanente en papel de
textos o gráficos de documentos almacenados en
formato electrónico.
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación del software
Software de sistema: permite que el hardware funcione.
Sistemas operativos: conjunto de programas destinados a permitir
una administración eficaz de los recursos del computador.
Controladores de dispositivo: programas informáticos que permiten
al sistema operativo interactuar con los periféricos.
Herramientas de diagnóstico: monitorea y controla la funcionalidad
del hardware.
Servidores: programas que realiza algunas tareas en beneficio de otras
aplicaciones llamadas “clientes”.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación del software
Software de programación: Es el conjunto de herramientas que
permiten al programador desarrollar programas informáticos.
Editores de texto: programas que permiten crear y modificar archivos
digitales compuestos únicamente por texto y sin formato.
Compiladores: programas que traducen un programa escrito en un
lenguaje de programación a otro lenguaje que la máquina será capaz de
interpretar.
Intérpretes: programas escritos en lenguajes de alto nivel capaces
analizar y ejecutar otros programas. A diferencia de los compiladores,
los intérpretes traducen el programa a medida que lo ejecutan.
Enlazadores: programas que toman los archivos de código objeto
generados durante el proceso de compilación y los enlaza con bibliotécas
para generar un archivo ejecutable.
Depuradores: programas que limpian los errores de otros programas
informáticos.
Entornos de Desarrollo Integrados (IDE): agrupan a las anteriores
herramientas, usualmente en un entorno visual, de forma que el
programador no necesite introducir múltiples comandos para compilar,
interpretar, depurar, etc.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación del software
Software de aplicación: permite a los usuarios llevar a cabo una o
varias tareas especı́ficas, en cualquier campo de actividad susceptible
de ser automatizado o asistido.
Aplicaciones ofimáticas: conjunto de programas para el uso en oficinas y
entornos profesionales. Incluyen procesadores de texto, hojas de cálculo,
programas de presentación, sistemas de gestiòn de bases de datos, etc.
Software educativo: software destinado a la enseñanza y el auto
aprendizaje.
Software médico: software utilizado para fines médicos.
Software de cálculo numérico: programas que simulan procesos
matemáticos complejos que describen fenómenos reales.
Software de diseño asistido (CAD): herramientas computacionales
que asisten a ingenieros, arquitectos y a otros profesionales del diseño en
sus respectivas actividades.
Software de Control Numérico (CAM): programas destinados a controlar
las fases de manufactura de un producto, incluyendo la planeación del
proceso y la producción, maquinado, calendarización, administración y
control de calidad.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Terminologı́a básica
Programa: conjunto de instrucciones escritas en forma codificada que
el computador puede traducir a su propio lenguaje. Estas instrucciones
le dicen al computador qué operaciones ejecutar y en qué orden.
Código fuente: tipo de programa escrito por un programador en
algún lenguaje de programación, pero que no es directamente
ejecutable por el computador, sino que debe ser traducido a otro
lenguaje (el lenguaje de máquina o código objeto) que pueda ser
ejecutado por el hardware del computador.
Programa Objeto: programa que resulta de la traducción del
lenguaje fuente (código fuente) a un lenguaje de máquina, es decir a
aquel que es inteligible por el computador.
Intérpretes: programas que traducen las instrucciones de un
programa escrito en algún lenguaje de programación, en una secuencia
de instrucciones de máquina (lenguaje de máquina). El intérprete
traduce las instrucciones del programa fuente una por una y las ejecuta
inmediatamente.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Terminologı́a básica
Compilador: al igual que los intérpretes, los compiladores traducen un
programa escrito en algún lenguaje de programación en una secuencia
de instrucciones de máquina (lenguaje de máquina) que se pueden
ejecutar. A diferencia de los intérpretes, el compilador sólo traduce:
Un programa que ha sido compilado puede correr por si solo, pues en el
proceso de compilación se lo transforma en otro lenguaje (lenguaje
máquina).
Un intérprete traduce el programa cuando lo lee, convirtiendo el código
del programa directamente en acciones.
La ventaja del intérprete es que dado cualquier programa es posible
interpretarlo en cualquier plataforma (sistema operativo), en cambio el
archivo generado por el compilador sólo funciona en la plataforma que
fue creado.
Un archivo compilado puede ser distribuido fácilmente conociendo la
plataforma, mientras que un archivo interpretado no funciona si no se
tiene el intérprete.
La velocidad de ejecución de un archivo compilado es de 10 a 20 veces
superior a la de un archivo interpretado.
Introducción
Arquitectura y funcionamiento
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Según el paradigma
Software y lenguajes de programación
Referencias
Introducción
Arquitectura y funcionamiento
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Lenguajes Máquina
Lenguajes de bajo nivel
Lenguajes de medio nivel
Lenguajes de alto nivel
Según la forma de ejecución
Según el paradigma
Software y lenguajes de programación
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Lenguajes Máquina
Lenguajes de bajo nivel
Lenguajes de medio nivel
Lenguajes de alto nivel
Según la forma de ejecución
Según el paradigma
Lenguajes Máquina
Conjunto de instrucciones que
puede ejecutar el computador
(CPU).
Está compuesto por un
conjunto de instrucciones
binarias (0 y 1) ejecutadas en
secuencia.
Representan acciones (“on”,
“off”) que la máquina podrı́a
realizar.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Lenguajes Máquina
Lenguajes de bajo nivel
Lenguajes de medio nivel
Lenguajes de alto nivel
Según la forma de ejecución
Según el paradigma
Lenguajes de bajo nivel
Proporciona poca o ninguna
abstracción del
microprocesador del
computador.
Es “bajo” por ofrecer una
reducida abstracción entre el
lenguaje y el hardware
Máxima velocidad con mı́nimo
uso de memoria.
Requiere conocer en detalle la
arquitectura de la máquina.
Ejemplo: el lenguaje
ensamblador.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Lenguajes Máquina
Lenguajes de bajo nivel
Lenguajes de medio nivel
Lenguajes de alto nivel
Según la forma de ejecución
Según el paradigma
Lenguajes de medio nivel
Presenta caracterı́sticas que
los acercan a los lenguajes de
bajo nivel.
Posee cualidades que lo hacen
un lenguaje más cercano al
humano y, por tanto, de alto
nivel.
Expertos consideran al
lenguaje C, un lenguaje de
medio nivel.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Lenguajes Máquina
Lenguajes de bajo nivel
Lenguajes de medio nivel
Lenguajes de alto nivel
Según la forma de ejecución
Según el paradigma
Lenguajes de alto nivel
De fácil comprensión por estar
formado por elementos de
lenguajes naturales como el
inglés.
Diseñado más para la
capacidad cognitiva humana,
en lugar de la capacidad
ejecutora de las máquinas.
Ejemplos: Basic, Fortran,
COBOL.
Introducción
Arquitectura y funcionamiento
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Lenguajes compilados
Lenguajes interpretados
Según el paradigma
Software y lenguajes de programación
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Lenguajes compilados
Lenguajes interpretados
Según el paradigma
Lenguajes compilados
Son traducidos partir de su
código fuente por medio de un
compilador.
El archivo generado es
ejecutable para una
determinada plataforma.
Ejemplos: Fortran, Pascal, la
familia de lenguajes de C,
incluyendo C++ y Objective
C pero no Java.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Lenguajes compilados
Lenguajes interpretados
Según el paradigma
Lenguajes interpretados
Son ejecutado por medio de
un intérprete.
Las instrucciones se traducen
o interpretan una a una
siendo tpicamente unas 10
veces más lentos que los
programas compilados.
Ejemplos: Lisp, Bash, Basic.
Introducción
Arquitectura y funcionamiento
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Según el paradigma
Paradigma imperativo o por
procedimientos
Paradigma funcional
Paradigma lógico
Paradigma orientado a objetos
Software y lenguajes de programación
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Según el paradigma
Paradigma imperativo o por
procedimientos
Paradigma funcional
Paradigma lógico
Paradigma orientado a objetos
Paradigma imperativo
Conjunto de instrucciones que
el computador debe ejecutar.
Enfoque que describe la
programación en términos del
estado del programa y
sentencias que cambian dicho
estado.
Los programas imperativos le
indican al computador cómo
realizar una tarea.
La implementación de
hardware de la mayorı́a de
computadores es imperativa.
Ejemplos: BASIC, C, C++,
Fortran, Pascal, Java, Perl,
PHP.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Según el paradigma
Paradigma imperativo o por
procedimientos
Paradigma funcional
Paradigma lógico
Paradigma orientado a objetos
Paradigma funcional
Enfoque de programación
declarativo basado en la
utilización de funciones
matemáticas.
Hace énfasis en la aplicación
de funciones, en contraste con
el concepto de estado del
cómputo (paradigma
imperativo)
No es necesario bajar al nivel
de la máquina para describir
el proceso llevado a cabo por
el programa.
Ejemplos: La familia de
lenguajes LISP (en particular
Scheme), ML o Haskell, R.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Según el paradigma
Paradigma imperativo o por
procedimientos
Paradigma funcional
Paradigma lógico
Paradigma orientado a objetos
Paradigma lógico
Forma parte de los
paradigmas declarativos en los
que se especfica qué deberı́a
hacer el computador y no
cómo.
Tiene como caracterstica
principal la aplicación de las
reglas de la lógica para inferir
conclusiones a partir de datos.
El PROLOG es el lenguaje
emblemático del paradigma.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Clasificación de los lenguajes . . .
Según su nivel de abstracción
Según la forma de ejecución
Según el paradigma
Paradigma imperativo o por
procedimientos
Paradigma funcional
Paradigma lógico
Paradigma orientado a
objetos
Paradigma orientado a objetos
Estilo de programación que
utiliza objetos como bloque
fundamental de construcción.
Los bloques son un conjunto
complejo de datos (atributos)
y funciones (métodos) que
poseen una determinada
estructura y forman parte de
una organización.
Los atributos definen el estado
del objeto; los métodos, su
comportamiento.
Ejemplos: Visual Basic, C++,
PHP.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Bits y Bytes
Bit: dı́gito binario que toma como posible valor 0 ó 1.
El bit es la unidad mı́nima de almacenamiento empleada en
informática.
Un bit representa dos posibles estados: “encendido” (1) o “apagado”
(0), “verdadero” o “falso”, “abierto” o “cerrado”, “presencia” o
“ausencia” de energı́a, etc.
Con un bit sólo es posible representar dos valores. Para representar o
codificar más información en un dispositivo digital, es neceario usar
una mayor cantidad de bits. Con 2 bits por ejemplo:
22 = 4 posibilidades:
0 0 : “apagado”–“apagado”.
0 1 : “apagado”–“encendido”.
1 0 : “encendido”–“apagado”.
1 1 : “encendido”–“encendido”.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Bits y Bytes
Con tres bits tendremos 23 = 8 combinaciones posibles:
000, 001, 010, 011, 100, 101, 110, 111
A través de secuencias de bits, se puede codificar cualquier valor
discreto como números, palabras, e imágenes.
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 mayorı́a de los computadores ocho bits forman un byte (siendo
equivalente al octeto) pero hay excepciones.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Terminologı́a básica
Dirección de memoria
Número que identifica la posición en la memoria asignada a un
dispositivo.
La dirección es utilizada para la comunicación entre el software y el
dispositivo.
La dirección de memoria le permite a un programa o a un dispostivo de
hardware recuperar la información que ha almacenado con antelación.
Palabra
Cadena finita de bits que es tratada por los circuitos como una sola
entidad, por la unidad de control como una instrucción y por la unidad
aritmética-lógica como una cantidad.
Se les asigna una dirección de memoria.
El tamaño de una palabra hace referencia al número de bits contenidos
en ella.
Los computadores modernos normalmente tienen un tamaño de palabra
de 16, 32 64 bits.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Terminologı́a básica
Caracteres: están formados por
Dı́gitos decimales: 0, 1, 2, . . . , 9
Letras: A, B, . . . , Z y a, b, . . . , z.
Sı́mbolos especiales: $, @, %, &, *, (, ), -, +, ?, /, etc.
Campos:
Grupo de caracteres o bytes que transmiten algún significado.
Las instrucciones de los lenguajes están constituidas por varios campos.
Un campo puede estar constituido por una o más palabras.
Un campo que consiste de letras puede utilizarse para representar el
nombre de una persona.
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Terminologı́a básica
Registro
Grupo de campos relacionados.
En un sistema de nómina, el registro de un empleado en particular
podrı́a estar compuesto por los siguientes campos:
Número de seguro social (campo alfanumérico).
Nombre (campo alfabtico).
Dirección (campo alfanumérico).
Sueldo por hora (campo numérico).
Deducciones (campo numérico).
Percepciones de un año a la fecha (campo numérico).
Monto por concepto de impuestos (campo numérico).
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Terminologı́a básica
Archivos
Grupo de registros relacionados.
Se utilizan para almacenar información en forma masiva, relacionada
con una entidad, persona o cosas.
El archivo de nómina de una empresa contiene un registro para cada
empleado.
Bases de datos
Grupo de archivos relacionados.
Al conjunto de programas diseñados para crear y administrar bases de
datos se les denomina sistema de administración de bases de datos
(DBMS).
Introducción
Arquitectura y funcionamiento
Terminologı́a básica
Jerarqua de datos
Software y lenguajes de programación
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Bibliografı́a 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ó
Metodologı́a de la programación
Segunda edición. Alfaomega Grupo Editor, S.A., 2005
M.A. Criado
Programación en lenguajes estructurados
Alfaomega Grupo Editor, S.A. de C.V. Primera Edición, 2006
H.P. Langtangen
A Primer on Scientific Programming with Python
Springer, 2011
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Bibliografı́a 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
Schaum’s 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
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Bibliografı́a III
H.M. Mora Escobar
Introducción a C y a métodos numéricos
Universidad Nacional de Colombia (Sede Bogotá), 2004
A. Quarteroni, F. Salieri
Cálculo cientı́fico con MATLAB y Octave
Springer-Verlag Italia, 2006
S.M. Ross
Simulation
Elsevier Inc., 2006
R. Séroul
Programming for Mathematicians
Springer, 2000
E. Scheinerman
C ++ for Mathematicians: An Introduction for Students and
Professionals
Taylor & Francis Group, LLC, 2006
Referencias
Introducción
Arquitectura y funcionamiento
Software y lenguajes de programación
Referencias
Bibliografı́a IV
A. Shen
Algorithms and Programming
Springer Undergraduate Texts in Mathematics and Technology, 2010
P. Tymann
Schaum’s Outline of Principles of Computer Science
McGraw-Hill, 1th edition, 2008
Descargar