570 likes | 690 Views
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 ?
E N D
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
Debe entregarle las órdenes precisas en un lenguaje específico Máquina sin Inteligencia Pero con un gran poder de procesamiento Ser Inteligente (con criterio, sentido común, experiencia)
Herramienta Problemas del mundo real solución ¿ Por qué usamos el computador?
Dato Información Entrada Salida Proceso computacional ¿ Cual es el papel del computador ?
“ 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”
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 Flags ALU: Arithmetic Logic Unit Arithmetic Logic Circuits Bus de datos Registros del Procesador AC Main Memory DR Control Unit Bus de control PC IR AR C0 Control Circuits C1 Devices C2 ... C12 Bus de direcciones
BEGIN NO CPU ACTIVA? FIN SI f0 AR ¬ PC FETCH INSTRUCCION f1, f2 {DR • M(AR)} READ M PC ¬ PC + 1 IR ¬ DR(OPCODE) DECODE OPCODE f3 DECODIFICACION STR JmZ COMP RSHIFT ADD AND JMP LD f4 f4 f4 f4 SI DR(ADR) DR(ADR) AR AR DR(ADR) AR DR(ADR) AR AC=0 FETCH DE f5, f6 f5, f6 f5 f5, f6 OPERANDO NO READ M DR AC READ M READ M f6, f7 f7 f7 f7 f7 f7 f7 AC WRITE M AC AC DR AC AC + DR AC ^ DR PC DR(ADR) SHIFT AC AC PROCESA Ciclo de Instrucción de la CPU básica de von Neumann
Evaluar la función: (3*x + 5) / x si x > 0 f(x) 5*x2 si x <= 0 Ejemplos 01h lda #0 02h wrt 03h add #2 04h jmp 02h Imprimir los números pares 00h rda 80 01hlda 80 02h jmz 08 03h jml 08 04h mul #3 05h add #5 06hdiv 80 07h jmp 0Ah 08h mul #5 09h mul 80 0Ah 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
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 Operativo Paquetes 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 Memoria RAM Memoria Secundaria Disp. Entrada (mirar, escuchar) CPU Disp. Salida hablar)
Hardware • Dispositivos de entrada • Ingreso de información • Sentidos (ojos, oídos) • Dispositivos de salida • Entrega de información • Gestos, voz Memoria RAM Memoria Secundaria Disp. Entrada (mirar, escuchar) CPU 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