• No se han encontrado resultados

Introducción Arquitectura y funcionamiento Software y lenguajes de programación Referencias

N/A
N/A
Protected

Academic year: 2021

Share "Introducción Arquitectura y funcionamiento Software y lenguajes de programación Referencias"

Copied!
47
0
0

Texto completo

(1)
(2)

Introducci´

on 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´erminos de la licencia de documentaci´on libre GNU

.

(3)

Contenido

1

Introducci´

on

2

Arquitectura y funcionamiento

3

Software y lenguajes de programaci´

on

Software de sistema

Software de programaci´

on

Software de aplicaci´

on

Terminolog´ıa b´

asica

(4)

Historia de los computadores

´

Abaco chino (500 adC)

Realiza operaciones aritm´eticas Primera calculadora mec´anica

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

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 perforadas para almacenar datos en un computador.

Suanpan, ´abaco chino

Pascalina

(5)

Historia de los computadores

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 anal´ıtica) Ada Augusta Lovelace propone utilizar tarjetas perforadas para la m´aquina de Babbage

Primeras computadoras modernas

Mark I(1944)

Construida por Howard H. Aiken en la Universidad de Harvard

Empleaba se˜nales 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 vac´ıo

R´eplica de la m´aquina diferencial

Mark I

(6)

Historia de los computadores

Primera generaci´

on (1951–1958)

Tubos de vac´ıo

Ingreso de datos por medio de tarjetas perforadas Alto consumo de energ´ıa y necesidades de ventilaci´on

Uso de tambores giratorios para el almacenamiento primario

Univac I (universalautomaticcomputer I): Primera computadora producida en forma comercial

Utilizada por el departamento de censos norteamericano (1951)

Crece industria de procesamiento de datos SurgenFORTRANyALGOL

IBM comienza a construir computadoras

Consola de Univac I

Tarjeta perforada (FORTRAN)

(7)

Historia de los computadores

Segunda generaci´

on (1959–1964)

Transistores

Aumento de velocidad, reducci´on de espacio Menor consumo de energ´ıa, reducci´on de costos Memoria de n´ucleos magn´eticos

Almacenan informaci´on por medio de las propiedades magn´eticas de sus componentes Memoria no vol´atil

Escribir un programa no requiere comprensi´on plena del hardware

IBM vende su primer sistema de disco magn´etico Surgen terminales remotas: unidades que transmiten datos a la m´aquina a distancia

Transistores

Memoria de n´ucleos magn´eticos

(8)

Historia de los computadores

Tercera generaci´

on (1964–1971)

Circuitos integrados

Aumento de velocidad, reducci´on de tama˜no Menor consumo de energ´ıa, reducci´on de costos Flexibilidad de los programas y estandarizaci´on de modelos

Surgimiento de sistemas operativos y lenguajes estructurados:AdayPascal

Utilizaci´on de memorias RAM y ROM IBM lanza al mercado laserie 360

Aparecen las primeras calculadoras de bolsillo

Circuito integrado Intel 8742

(9)

Historia de los computadores

Cuarta generaci´

on (1971 a la fecha)

Microprocesadores (circuito integrado independiente) Reemplazo de memorias con n´ucleos magn´eticos por memorias electr´onicas (chips de silicio)

IBM introduce los discos duros Winchester (est´andar de la industria)

Surgen las microcomputadoras o Computadores Personales (PC´s)

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

Intel 4004

Disco IBM 3340

(10)

Video recomendado

(11)

Conceptos b´

asicos

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

(12)

Hardware y Software

Hardware: componentes f´ısicos 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.

(13)

Vista computador personal

1

Monitor

2

Placa base

3

Procesador

4

Puertos ATA

5

Memoria principal (RAM)

6

Placas de expansi´

on

7

Fuente el´

ectrica

8

Unidad de almacenamiento ´

optico

9

Disco duro

10

Teclado

11

Rat´

on

(14)

Arquitectura Eckert-Mauchly

Unidad L´

ogica Aritm´

etica

(ULA): realiza operaciones aritm´

eticas y

ogicas

Unidad de control: interpreta instrucciones y emite ´

ordenes 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

(15)

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 informaci´on 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 informaci´on 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 cach´e; 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´ericos para el almacenamiento masivo de datos (disquetes, disco duro, unidades pticas, unidades de memoria flash y discos Zip).

(16)

Memorias

Memoria

RAM

(

R

andom

A

ccess

M

emory)

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 f´ısica y de los datos previamente almacenados

Memoria donde el procesador recibe las instrucciones y guarda los resultados.

Memoriavol´atil: su informaci´on se pierde al interrumpirse el flujo de corriente el´ectrica

Memoria

ROM

(

R

ead

O

nly

M

emory)

Destinada s´olo a ser le´ıda (no escribible) Almacena programas necesarios para iniciar el computador y de diagn´ostico

Memoriano vol´atil: su informaci´on se conserva al interrumpirse el flujo de corriente el´ectrica

M´odulos formato SIMM

(17)

Dispositivos auxiliares y perif´

ericos

Disco duro: sistema de grabaci´

on magn´

etica 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´

erico, f´ısico o virtual utilizado para la

introducci´

on de ´

ordenes y datos.

Rat´

on: perif´

erico 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 electr´

onico.

(18)

Clasificaci´

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

(19)

Clasificaci´

on 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 ´unicamente 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.

Int´erpretes: 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.

(20)

Clasificaci´

on del software

Software de aplicaci´

on: 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´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 c´alculo 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.

(21)

Terminolog´ıa b´

asica

Programa: conjunto de instrucciones escritas en forma codificada que

el computador puede traducir a su propio lenguaje. Estas instrucciones

le dicen al computador qu´

e operaciones ejecutar y en qu´

e orden.

odigo fuente: tipo de programa escrito por un programador en

alg´

un

lenguaje de programaci´

on, pero que no es directamente

ejecutable por el computador, sino que debe ser traducido a otro

lenguaje (el

lenguaje de m´

aquina

o

odigo objeto) que pueda ser

ejecutado por el hardware del computador.

Programa Objeto: programa que resulta de la traducci´

on del

lenguaje fuente (c´

odigo fuente

) a un

lenguaje de m´

aquina, es decir a

aquel que es inteligible por el computador.

Int´

erpretes: programas que traducen las instrucciones de un

programa escrito en alg´

un

lenguaje de programaci´

on, en una secuencia

de instrucciones de m´

aquina (lenguaje de m´

aquina). El int´

erprete

traduce las instrucciones del

programa fuente

una por una y las ejecuta

inmediatamente.

(22)

Terminolog´ıa b´

asica

Compilador: al igual que los

int´

erpretes, los compiladores traducen un

programa escrito en alg´

un

lenguaje de programaci´

on

en una secuencia

de instrucciones de m´

aquina (lenguaje de m´

aquina) que se pueden

ejecutar. A diferencia de los

int´

erpretes, 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 m´aquina).

Un int´erprete 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 s´olo 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.

(23)

Clasificaci´

on de los lenguajes . . .

Seg´

un su nivel de abstracci´

on

Seg´

un la forma de ejecuci´

on

Seg´

un el paradigma

(24)

Clasificaci´

on 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

(25)

Clasificaci´

on 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

Lenguajes M´

aquina

Conjunto de instrucciones que

puede ejecutar el computador

(CPU).

Est´

a compuesto por un

conjunto de instrucciones

binarias (0 y 1) ejecutadas en

secuencia.

Representan acciones (“on”,

“off”) que la m´

aquina podr´ıa

realizar.

(26)

Clasificaci´

on 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

Lenguajes de bajo nivel

Proporciona poca o ninguna

abstracci´

on del

microprocesador del

computador.

Es “bajo” por ofrecer una

reducida

abstracci´

on entre el

lenguaje y el hardware

axima velocidad con m´ınimo

uso de memoria.

Requiere conocer en detalle la

arquitectura de la m´

aquina.

Ejemplo: el lenguaje

ensamblador.

(27)

Clasificaci´

on 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

Lenguajes de medio nivel

Presenta caracter´ısticas que

los acercan a los lenguajes de

bajo nivel.

Posee cualidades que lo hacen

un lenguaje m´

as cercano al

humano y, por tanto, de alto

nivel.

Expertos consideran al

lenguaje C, un lenguaje de

medio nivel.

(28)

Clasificaci´

on 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

Lenguajes de alto nivel

De f´

acil comprensi´

on por estar

formado por elementos de

lenguajes naturales como el

ingl´

es.

Dise˜

nado m´

as para la

capacidad cognitiva humana,

en lugar de la capacidad

ejecutora de las m´

aquinas.

Ejemplos: Basic, Fortran,

COBOL.

(29)

Clasificaci´

on 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

(30)

Clasificaci´

on 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

Lenguajes compilados

Son traducidos partir de su

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

(31)

Clasificaci´

on 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

Lenguajes interpretados

Son ejecutado por medio de

un int´

erprete.

Las instrucciones se traducen

o interpretan una a una

siendo tpicamente unas 10

veces m´

as lentos que los

programas compilados.

Ejemplos: Lisp, Bash, Basic.

(32)

Clasificaci´

on 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

(33)

Clasificaci´

on 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

Paradigma imperativo

Conjunto de instrucciones que

el computador debe ejecutar.

Enfoque que describe la

programaci´

on en t´

erminos del

estado del programa y

sentencias que cambian dicho

estado.

Los programas imperativos le

indican al computador

omo

realizar una tarea.

La implementaci´

on de

hardware de la mayor´ıa de

computadores es imperativa.

Ejemplos: BASIC, C, C++,

Fortran, Pascal, Java, Perl,

PHP.

(34)

Clasificaci´

on 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

Paradigma funcional

Enfoque de programaci´

on

declarativo basado en la

utilizaci´

on de funciones

matem´

aticas.

Hace ´

enfasis en la aplicaci´

on

de funciones, en contraste con

el concepto de

estado del

omputo

(paradigma

imperativo)

No es necesario bajar al nivel

de la m´

aquina para describir

el proceso llevado a cabo por

el programa.

Ejemplos: La familia de

lenguajes LISP (en particular

Scheme), ML o Haskell, R.

(35)

Clasificaci´

on 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

Paradigma l´

ogico

Forma parte de los

paradigmas declarativos en los

que se especfica

qu´

e

deber´ıa

hacer el computador y no

omo.

Tiene como caracterstica

principal la aplicaci´

on de las

reglas de la l´

ogica para inferir

conclusiones a partir de datos.

El PROLOG es el lenguaje

emblem´

atico del paradigma.

(36)

Clasificaci´

on 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

Paradigma orientado a objetos

Estilo de programaci´

on que

utiliza objetos como bloque

fundamental de construcci´

on.

Los bloques son un conjunto

complejo de datos (atributos)

y funciones (m´

etodos) que

poseen una determinada

estructura y forman parte de

una organizaci´

on.

Los atributos definen el estado

del objeto; los m´

etodos, su

comportamiento.

Ejemplos: Visual Basic, C++,

PHP.

(37)

Bits y Bytes

Bit: d´ıgito binario que toma como posible valor 0 ´

o 1.

El bit es la unidad m´ınima de almacenamiento empleada en

inform´

atica.

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´

olo es posible representar dos valores. Para representar o

codificar

as informaci´

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

(38)

Bits y Bytes

Con tres bits tendremos 2

3

= 8 combinaciones posibles:

000

,

001

,

010

,

011

,

100

,

101

,

110

,

111

A trav´

es de secuencias de bits, se puede codificar cualquier valor

discreto como n´

umeros, palabras, e im´

agenes.

Cuatro bits forman un

nibble, y pueden representar hasta 2

4

= 16

valores diferentes.

Ocho bits forman un

octeto, y se pueden representar hasta 2

8

= 256

valores diferentes.

En general, con

n

bits se pueden representar hasta 2

n

valores

diferentes.

En la mayor´ıa de los computadores ocho bits forman un

byte

(siendo

equivalente al octeto) pero hay excepciones.

(39)

Terminolog´ıa b´

asica

Direcci´

on de memoria

N´umero 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 launidad de control como una instrucci´on y por launidad aritm´etica-l´ogica como una cantidad.

Se les asigna una direcci´on de memoria.

Eltama˜node 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.

(40)

Terminolog´ıa b´

asica

Caracteres: est´

an formados por

D´ıgitos decimales: 0,1,2, . . . ,9 Letras: A, B, . . . , Z y a, b, . . . , z.

S´ımbolos especiales:$, @, %, &, *, (, ), -, +, ?, /, etc.

Campos:

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

(41)

Terminolog´ıa b´

asica

Registro

Grupo decamposrelacionados.

En un sistema de n´omina, el registro de un empleado en particular podr´ıa 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).

(42)

Terminolog´ıa b´

asica

Archivos

Grupo deregistrosrelacionados.

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

Al conjunto de programas dise˜nados para crear y administrar bases de datos se les denominasistema de administraci´on de bases de datos (DBMS).

(43)

Terminolog´ıa b´

asica

(44)

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´

o

Metodolog´ıa de la programaci´

on

Segunda edici´

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

(45)

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

(46)

Bibliograf´ıa III

H.M. Mora Escobar

Introducci´

on a

C

y a m´

etodos num´

ericos

Universidad Nacional de Colombia (Sede Bogot´

a), 2004

A. Quarteroni, F. Salieri

alculo cient´ıfico con MATLAB y Octave

Springer-Verlag Italia, 2006

S.M. Ross

Simulation

Elsevier Inc., 2006

R. S´

eroul

Programming for Mathematicians

Springer, 2000

E. Scheinerman

C

++

for Mathematicians: An Introduction for Students and

Professionals

(47)

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

Referencias

Documento similar

El programa de los lenguajes artísticos para el fortalecimiento de las Habilidades sociales en los niños de 03 años del nivel inicial, busca desarrollar la capacidad

Esta asignatura se sitúa, por tanto, en el nivel básico dentro del plan de formación de los grados en Ingeniería Informática y en Tecnologías de la Información y desarrolla

Rossi Jiménez, Carlos Manuel Guevara Plaza, Antonio Jesús Enciso García-Oliveros, Manuel N. Universidad de Málaga Institución Ferial de Madrid Organización de actividades y

En el Modelo Relacional se puede usar el c´ alculo de predicados de primer orden (CPPO) porque una BDR siempre puede verse como una interpretaci´ on (I) de un lenguaje de primer

Como en el caso de los tipos enteros, los lenguajes suelen soportar varios tipos real, de modo que el programador pueda seleccionar aquel cuyo rango y precisi´on en el coeficiente

17. Sup´ongase que se dispone de un conjunto de k M´aquinas de Turing, de forma que cada una de ellas tiene su propio cabezal de lectura/escritura, su propio conjunto de estados y

Tadeo Jones traslada el engaño propio de la creación digital (que no es más que dígitos en formas y modos de representación reconocibles por el espectador con el fin de darle

En este sentido, Handel, De Soto y London (1968), máximos ex- ponentes de la tesis de que 10s sujetos utilizan imagenes espaciales para resolver problemas de deducción,