Introducción a la Programación

Post on 31-Dec-2015

34 views 0 download

description

Introducción a la Programación. Profesores: Pedro Campos Manuel Crisosto Tatiana Gutiérrez Claudio Gutiérrez. Conceptos Básicos. ¿Qué es computación ? La Ciencia de la Computación es el estudio de los fenómenos que rodean a los computadores (Boden, 1994) ¿Qué es informática ? - PowerPoint PPT Presentation

Transcript of Introducción a la Programación

Introducción a la Programación

Profesores:

Pedro Campos

Manuel Crisosto

Tatiana Gutiérrez

Claudio Gutiérrez

Conceptos Básicos

• ¿Qué es computación?– La Ciencia de la Computación es el estudio de los

fenómenos que rodean a los computadores (Boden, 1994)

• ¿Qué es informática?– La Informática es el tratamiento automático de la

información, utilizando computadores

Conceptos Básicos

• ¿Qué es un computador?

– Es un dispositivo electrónico capaz de procesar información a partir de un grupo de instrucciones denominado programa.

– Puede realizar tareas muy diversas usando distintos programas

Conceptos Básicos

• ¿Qué es un computador?

– Es una herramienta capaz de almacenar y procesar datos que luego son convertidos en información a disposición de los seres humanos para tomar decisiones

Conceptos Básicos

• ¿Porqué estudiar informática?

– Los computadores nos permiten salir más rápidamente de los supermercados, realizar operaciones bancarias las 24 horas del días, conocer el clima a través de los satélites y distraernos con entretenidos videojuegos

Conceptos Básicos

• ¿Porqué estudiar informática?

– Internet es una prueba palpable del impacto de las computadoras y la informática en nuestra sociedad

Conceptos Básicos

• ¿Porqué estudiar informática?– Rápido avance de la tecnología permite hacer

cosas inimaginables hasta hace pocos años– Si la industria automotriz hubiese tenido un

progreso semejante, hoy un auto nuevo viajaría a miles de km/h y costaría menos que un litro de gasolina

Conceptos Básicos

• Algunos mitos sobre computadores– El computador lo hizo: El computador no puede

tomar decisiones. Sólo hace lo que se le ordena.– Los computadores pueden hacer cualquier cosa:

Los programadores son los que pueden hacer muchas cosas con los computadores, pero tienen limitaciones tecnológicas

Ser Inteligente(con criterio, sentido común, experiencia)

Máquina sin InteligenciaPero con un gran poder de procesamiento

Debe entregarle las órdenes precisas en un lenguaje específico

¿ Por qué usamos el computador?

Problemas del mundo real

Herramienta

solución

¿ Cual es el papel del computador ?

Dato Información

Entrada SalidaProceso computacional

“ El gran Desafío es cómo entender un problema, encontrarle una solución y cómo traspasar esa solución al computador para

que la ejecute”

“Desarrollo Histórico”

Los primeros orígenes

• La necesidad de calcular impulsó el desarrollo del ábaco como primera calculadora.

• Muhammad ibn Musa Al’khowarizmi (S. XII) desarrolló el concepto de un proceso escrito a seguir para alcanzar un objetivo.

Siglo XVII• 1642, Blaise Pascal creo

una máquina de sumar que acarreaba de una posición a la siguiente.

• Fue conocida como PASCALINA

Siglo XIX (I)

• 1822, Charles Babbage diseñó una máquina diferencial para mejorar los cálculos de las tablas de navegación.

Siglo XIX (II)

• 1842, Ada Augusta King, Lady Lovelace (hija de Lord Byron) colabora con Babbage considerandose la primera programadora.

Siglo XIX (3)

• Problemas en el recuento del censo de Población USA en 1890, provocó que Herman Hollerith desarrollase una máquina tabuladora, creando una empresa que en 1924 pasó a llamarse IBM.

1937

• Alan Turing desarrolló la idea de máquina universal capaz de ejecutar cualquier algoritmo. Lo cual formó la base de la computabilidad.

1940-1944

• Durante la segunda guerra mundial, la necesidad de descifrar los mensajes encriptados de los alemanes, se desarrolló con la ayuda de Turing, con una máquina denominada Colossus.

1943

• Comenzó este año en la Moore School of Electrical Engineering en Pennsylvania el trabajo en el ENIAC (Electronic an Numeric Integrator and Computer)

1944

• El primer calculador electromecánico automático de propósito general a gran escala fue el Mark I, ideado por Howard Aiken y desarrollado por IBM.

1945

• John von Neumann escribe su borrador sobre la arquitectura de los ordenadores el cual sirve de base al concepto actual de ordenador.

Incorporar esquema final

La CPU de von Neumann

ArithmeticLogic

Circuits

AC

Control Circuits

PC IRAR

DR

MainMemory

C0C1C2

C12

Flags

...Devices

ALU:

ArithmeticLogicUnit

ControlUnit

Registros del Procesador

Bus decontrol

Bus dedirecciones

Bus dedatos

Ciclo de Instrucción de la CPU básica de von Neumann

PROCESA

BEGIN

CPUACTIVA?

{DR M(AR)}

AR DR(ADR)

READ M

AC DR

AC=0AR DR(ADR) AR DR(ADR) AR DR(ADR)

DR AC

WRITE M

READ M READ M

AC AC + DR AC AC ^ DR PC DR(ADR) AC SHIFT AC

RSHIFTCOMPJmZJMPANDADDSTRLD

SI

FINNO

SI

AC

DECODIFICACION

FETCH DE

OPERANDO

AR PC

READ M

PC PC + 1IR DR(OPCODE)DECODE OPCODE

NO

FETCHINSTRUCCION

0

1, 2

3

4

5, 6

7

4

5

6,7

5, 6

7

4 4

7

5, 6

7 7 7

Ejemplos01h lda #002h wrt03h add #204h jmp 02h

Imprimir los números pares

Evaluar la función:

(3*x + 5) / x si x > 0 f(x) 5*x2 si x <= 0

00h rda 8001h lda 8002h jmz 0803h jml 0804h mul #305h add #506h div 8007h jmp 0Ah08h mul #509h mul 800Ah wrt

1947

• William Shockley, John Bardeen y Walter Brattain inventan la “resistencia de transferencia” que más tarde se conocerá como transistor.

1956

• John McCarthy and Marvin Minsky fundan en una reunión en el Darmouth College el concepto de Inteligencia Artificial.

1975-1982

• Edward Roberts, William Yates y Jim Bybee desarrollan lo que podría considerarse el primer ordenador personal, el Altair 8800. Tenía 256 bytes de memoria y no tenía pantalla, ni teclado ni dispositivo auxiliar de memoria.

• Bill Gates y Paul Allen escribieron el primer programa para el Altair 8800, un compilador de Basic y fundan Microsoft.

• Se desarrolla el CRAY I el primer superordenador.• Steve Jobs y Steve Wozniak desarrollan el Apple II• IBM crea el PC actual

Historia de la Computación

• Primera Generación– Tubos de vacío– Programadas en Lenguaje de máquina– Grandes y muy costosas

• Segunda Generación– Circuitos de Transistores– Programadas en lenguajes de alto nivel

Historia de la Computación

• Tercera Generación– Circuitos Integrados– Control a través de Sistemas Operativos

• Cuarta Generación– Microprocesadores– Primeros Microcomputadores– Aparición de ARPANET

Historia de la Computación

• Quinta Generación– Microelectrónica.– Competencia internacional por el dominio de la

informática.– Internet se masifica.– Aparición de Computadores portátiles.– Manejo de Lenguaje Natural e Inteligencia

Artificial.

Ciencia y ficción: El ordenador invisible

A largo plazo, el ordenador personal y la terminal de trabajo desaparecerán porque el acceso a la informática estará en todas partes: en las paredes, en nuestras muñecas y en “ordenadores para borrador” (como el papel para borrador) distribuidos para ser utilizados cuando sea necesario.

Mark Weiser

Xerox PARC

Ciencia y ficción: Efecto multiplicador de la tecnología

Si la industria automotriz hubiera experimentado un desarrollo parecido a la informática, se podría disponer de un Rolls-Royce por menos de 1.000 pesos. Además el vehículo dispondría de la potencia de un trasatlántico para ser capaz de recorrer un millón de kilómetros (25 veces la vuelta al mundo) con sólo un litro de gasolina.

Tom Forester

El futuro

• La red• La IA• La influencia en la educación• La influencia en la medicina• El comercio electrónico• La informática portátil e inalámbrica

“Componentes y Arquitectura de un computador”

Hardware y software

• En computación tenemos dos elementos básicos:– Hardware

• En términos simples, corresponde a todas aquellas partes físicas o materiales, que podemos ver y tocar. Por ejemplo, el monitor, el teclado, mouse, disco duro, tarjeta de video, CPU, etc.

– Software• Podríamos entender por software el “conjunto de instrucciones

que los computadores emplean para manipular y procesar datos”• Sin el sw el computador sería un conjunto de dispositivos físicos sin

utilidad.

Componentes Físicos Electro-Mecánicos•Dispositivos de Entrada•Dispositivos de Salida•Unidad Central de Proceso•Memoria Principal•Memoria Secundaria

Hardware

Componentes lógicos que se ejecutan en el hardware:Sistema OperativoPaquetes Básicos: Procesador de Texto Planilla Electrónica Presentación Programas de Aplicación

Software

Hardware y software

Hardware

• Los computadores están formados por una serie de componentes, los cuales determinan en conjunto las capacidades del computador– CPU y tarjeta madre– Memoria RAM y ROM– Disco duro y disquetera– Monitor y tarjeta de video– Otros dispositivos

Hardware• CPU (Central Process Unit)

– Unidad de procesamiento central– Cerebro

• Memoria ROM– Instintos

• Memoria RAM– Información que se maneja en el

momento• Memoria secundaria

– Discos magnéticos y ópticos, cintas– Información que se busca en elementos

adicionales

CPU

Memoria RAM

Memoria Secundaria

Disp. Entrada (mirar, escuchar)

Disp. Salida hablar)

Hardware

• Dispositivos de entrada– Ingreso de información– Sentidos (ojos, oídos)

• Dispositivos de salida– Entrega de información– Gestos, voz

CPU

Memoria RAM

Memoria Secundaria

Disp. Entrada (mirar, escuchar)

Disp. Salida hablar)

Hardware: Tarjeta madre

• Tarjeta madre (mother board)– Es la placa de circuitos integrados en la cual se inserta el

procesador, la memoria y otros componentes a través de los buses y las ranuras de expansión• Es la base para comenzar a “armar” un computador

– Las ranuras de expansión permiten conectar, por ejemplo, tarjetas de sonido (que permiten al PC reproducir sonido), modem (para navegar por internet), tarjeta de video (para mostrar imágenes en la pantalla)

Almacenamiento (Memoria)

• Unidades de memoria– 1 bit (puede tomar valores: 1 ó 0 - binarios)– 1 byte : 8 bits– 1 kilobyte (Kb) : 210 bytes– 1 megabyte (Mb) : 210 kilobytes: 220 bytes– 1 gigabyte (Gb) : 210 megabytes: 230 bytes– 1 terabyte : 210 gigabytes: 240 bytes

Almacenamiento (Memoria)

• Tipos de memoria– Memoria RAM (random access memory)

• Permite al computador almacenar información que la CPU está accesando frecuentemente y necesita para operar

• Por ejemplo, información de un programa, instrucciones, datos, etc.

– Memoria ROM (read only memory)• Contiene la información preinstalada, la cual es imposible modificar

o borrar por completo• Es la información que indica los procesos básicos que debe ejecutar

el computador (antes de ejecutar cualquier programa)

Las partes de un computador

• Caché– es una unidad pequeña de memoria ultrarrápida en la que se

almacena información a la que se ha accedido recientemente o a la que se accede con frecuencia, lo que evita que el microprocesador tenga que recuperar esta información de circuitos de memoria más lentos.

Almacenamiento (Memoria)• La memoria secundaria son todas las unidades de disco que un

computador puede tener– Disco duro: 400 Mb, 20 Gb, 100 Gb– Unidad de disco flexible (disquete)

• Disquete tamaño 5¼, capacidad 360 Kb, 1.2 Mb• Disquete tamaño 3½, capacidad 720 Kb, 1.44 Mb

– CD-ROM (compact disc, read only memory)• Tamaño 700 Mb, usualmente se utilizan con información sólo para lectura

– DVD (digital video disc o digital versatile disk)• 4.7 Gb a 17 Gb

– Cintas• Originalmente gran tamaño y lentas. Hoy existe el DAT (digital audio tape),

usado para tener respaldos de información de discos duros

CPU (Unidad Central de Procesamiento)

• Es un chip que viene en una tarjeta de circuitos (tarjeta madre)– Grandes computadores (mainframe) usan CPU más

poderosas e incluso varias dentro del mismo computador– PC utilizan una sola CPU

• Su capacidad se indica por el modelo (en PC: 8088, 80286, 80386, 80486, Pentium)– Intel – Pentium IV (3 GHz)– AMD – Athlon (2,1 GHz)

• CPU tiene un reloj interno cuya velocidad se mide en hertz, lo que determina la velocidad de procesamiento

CPU (Unidad Central de Procesamiento)

• Unidad de Control (CU)– Se encarga de traer las instrucciones de memoria principal y determinar su tipo

• Unidad de Aritmética y Lógica (ALU)– Se encarga de llevar a cabo evaluaciones aritméticas (adición, substracción,

multiplicación, división) y lógicas (and, or, not, etc.) necesarias para realizar las distintas instrucciones

• Registros– Constituyen una pequeña memoria de alta velocidad, utilizada para

almacenamiento de resultados intermedios y de cierta información de control– Contador de programa: almacena información (la dirección) de la siguiente

instrucción a ejecutar– Registro de instrucción: contiene la instrucción que se está ejecutando– Registro de propósito general: registros accesibles por programadores de bajo

nivel

CPU (Unidad Central de Procesamiento)

• Diferentes computadores entienden diferentes conjuntos de instrucciones– Assembler

• Dentro de la misma familia de computadores entienden las mismas instrucciones– Pentium III vs Pentium IV (nuevas instrucciones)

• Aplicación hecha para un tipo de procesador no funcionará en otro tipo de computador– Macintosh vs PC

Dispositivos de entrada

• Teclado– Expandido 101 teclas, etc.

• Mouse– 2 – 3 botones

• Scanner• Modem• Joystick• Lector óptico

Dispositivos de salida

• Monitor– VGA, SVGA, UVGA, CGA

• Impresora– Láser, inyección de tinta, matriz de puntos

• Modem• Parlantes

Arquitectura de un computador

• Como hemos visto, la arquitectura general de un computador consta básicamente de 3 partes:– CPU– Memoria– Dispositivos de entrada/salida

• Esta arquitectura fue propuesta por John Von Neumann en 1945, y hoy en día la mayoría de los computadores están basados en ella

Arquitectura de Von Neumann

La CPU de von Neumann

ArithmeticLogic

Circuits

AC

Control Circuits

PC IRAR

DR

MainMemory

C0C1C2

C12

Flags

...Devices

ALU:

ArithmeticLogicUnit

ControlUnit

Registros del Procesador

Bus decontrol

Bus dedirecciones

Bus dedatos

¿Preguntas?