Anda di halaman 1dari 13

CENTRO METALMECNICO

Fecha: Enero 30 de 2012 Instructora: Ingeniera Camila Espitia Duarte Pgina 1 de

INFORMACIN BSICA TEMA: Introduccin lgica y algoritmos. OBJETIVOS: Estudiar antecedentes y generacin de la computacin. Introducir el concepto de algoritmo. ACTIVIDADES: Lectura del documento. Desarrollo individual del taller propuesto dentro del documento. Socializacin. CONTENIDO EVOLUCIN DE LOS COMPUTADORES

Antecedentes El baco es considerado como el primer instrumento elaborado por el hombre para realizar operaciones aritmticas de manera ms eficiente. El baco no realiza clculos de manera autnoma (por si solo), simplemente le permite al hombre realizarlos de manera ms eficiente. La primera mquina que realizaba clculos de manera autnoma fue inventada en 1642 por el gran matemtico y filsofo francs Blas Pascal. La mquina de Pascal (en honor a su inventor), era movida mediante una serie de ruedas dentadas, numeradas del cero al nueve, alrededor de sus circunferencias y era capaz de sumar y restar.

Figura Error! Bookmark not defined.. Mquina de Pascal (1642) En 1671 Gottfried Wilhelm Leibniz le adicion a la mquina de Pascal un cilindro diseado especialmente para que fuera capaz de multiplicar y dividir de manera directa. A principios del siglo XIX el ingeniero Joseph Marie Jacquard perfeccion el concepto de tarjeta perforada, con el cual se podan programar las mquinas de tejer para que siguieran un patrn o diseo. Este concepto fue posteriormente utilizado en las mquinas de cmputo para decirles que deban calcular.

Pero ninguno de estos avances fue antecesor directo de las computadoras electrnicas de hoy. La verdadera precursora de la computadora fue la mquina llamada motor de diferencias , construida en 1822 por Charles Babbage para calcular algoritmos y tablas astronmicas. A partir de su trabajo en el motor de diferencias, Babbage dise un poderoso instrumento para el clculo automtico. Tal como lo concibi Babbage, este motor analtico estara impulsado por vapor, y trabajara basado en un programa de planeacin almacenado en tarjetas perforadas. Concibi una memoria, un procesador aritmtico, los medios de ingresar datos y/o instrucciones, as como una seccin de produccin que escribira los resultados de las computaciones. Todos estos son los elementos de las computadoras modernas y no se hicieron realidad sino varias generaciones despus de ser propuestos por Babagge. Charles Babbage no pudo implementar el motor analtico y muri sin saber que realmente funcionaba.

Figura Error! Bookmark not defined.. Mquina Diferencial de Charles Babbage Durante los cien aos siguientes, las mquinas activadas por tarjetas perforadas se modificaron, se mejoraron e hicieron ms rpidas, pero an no podan mantener el ritmo de las crecientes necesidades humanas de procesamiento de listas de pagos, cuentas, facturas, anlisis de ventas y otros problemas. En 1937, Howard H. Aiken, un candidato al doctorado en fsica de Harvard, trabaj en una mquina que podra resolver automticamente ecuaciones diferenciales. La I.B.M. (International Business Machines), hoy una de las ms grandes empresas de esta fase de la industria norteamericana, ayudo al inventor a crear la Calculadora Controlada de Secuencia Automtica conocida como el Mark I .

Figura Error! Bookmark not defined.. Mark I

El Mark I era un monstruo de cuatro y media toneladas mtricas, con 78 aparatos independientes vinculados por unos 800 kilmetros de cable. En tres dcimas de segundo poda efectuar sumas y restas de 23 dgitos y en cerca de 6 segundos poda multiplicar nmeros de 23 dgitos. Fue retirado en 1959. Tanto el Mark I como la Segunda Guerra Mundial desempearon un papel clave en el desarrollo de las computadoras. El Mark I aport los ingredientes tecnolgicos bsicos mientras que la segunda guerra mundial con sus inmensas demandas de mano de obra y mquinas, cre la necesidad. El resultado fue el Integrador y Calculador Numrico Electrnico, ms conocido como el ENIAC .

Figura Error! Bookmark not defined.. ENIAC Terminado en 1946, el ENIAC fue creado para el ejrcito norteamericano en la escuela Moore de Ingeniera Elctrica, de la Universidad de Pennsylvania. Sus creadores fueron un estudiante graduado, J. Presper Eckert, y un fsico, el Dr. John W. Mauchly. Juntos eliminaron la necesidad de las partes que se movan mecnicamente en la computadora central. En su lugar, adaptaron circuitos elctricos de gatillo flip-flop y pulsaciones electrnicas para conectar o desconectar tubos al vaco, como interruptores. Como las interrupciones de este tipo podan hacerse miles de veces ms rpido que los aparatos electro-mecnicos, el ENIAC constituy un gran inicio hacia el desarrollo de las computadoras modernas. El ltimo paso para completar el concepto de la computadora de hoy, fue el desarrollo del concepto de mquina almacenadora de programas. Este paso se dio a fines de los cuarenta, despus de que el clebre matemtico hungaro-norteamericano Dr. John Von Neumann sugiri que las instrucciones de operacin, as como los datos, se almacenaran de la misma manera en la memoria de la computadora. Adems, aport la idea de haga que la computadora modificara sus propias instrucciones de acuerdo con un control programado. Desde entonces, se ha tratado de modificar, mejorar y apresurar estos conceptos, en fin, de haga computadoras cada vez ms eficientes.

Figura Error! Bookmark not defined.. Computador electrnico IBM 360 Generaciones de Computadores Generacin Cero: En la cual el hombre construy mquinas, usando dispositivos mecnicos tales como ruedas dentadas y piones, para realizar bsicamente operaciones aritmticas como suma, resta, multiplicaciones y divisiones. Estas mquinas se conocen con el nombre de Mquinas Aritmticas.

Figura Error! Bookmark not defined.. Folleto promocional de una mquina aritmtica Primera Generacin: En la cual el hombre construy mquinas de clculo para tareas muy especficas como investigacin y militares, usando dispositivos electro-mecnicos como rels y tubos de vaco (los cuales le dieron paso a los elementos transistorizados). Las mquinas de cmputo de esta generacin tenan pocas facilidades de programacin.

Segunda Generacin: En la cual el hombre construy computadores (mquinas de clculo), basados en el transistor. Los computadores de esta generacin tienen propsito general, no son usados nicamente para la investigacin y el aspecto militar, ya son usados en el arte, la economa y la industria. Adicionalmente, aparecen los primeros lenguajes de programacin. Tercera Generacin: En la cual el hombre construye diferentes tipos de computadores, basados en el desarrollo de los circuitos integrados. En esta generacin se desarrollan los primeros programas de software de tipo especfico.

Figura 7. Computador Electrnico -VAX Cuarta Generacin: En la cual el hombre construye computadores de tamao pequeo pero de gran capacidad, llamados microcomputadores, los cuales estn basados en el microprocesador. La aparicin del microprocesador se debe a los desarrollos hechos en la tecnologa VLSI (Integracin de Gran Escala). En esta generacin se hacen aplicaciones de software orientadas al usuario final.

Figura 8. El Apple-II, Primer Computador Personal Quinta Generacin: En la cual el hombre construye computadores con ms de un procesador, cada uno con una tarea especfica como procesamiento de imagen y procesamiento de sonido, y/o con una tarea en comn. Adicionalmente se construyen computadores capaces de auto-configurarse, autoprogramarse, etc. En esta generacin se desarrolla software tanto genrico como especfico.

Figura 9. Computador con mltiples procesadores.

ESTRUCTURA DE UN COMPUTADOR Un COMPUTADOR es una mquina que permite y realiza clculos de manera automtica. Se divide fundamentalmente en dos partes: el hardware y el software. El HARDWARE es la parte fsica de un computador, es decir, la parte que realiza los clculos; El SOFTWARE es la parte lgica del computador, es decir, la parte que le dice al hardware que haga. Arquitectura de Hardware Un computador desde la perspectiva del hardware, est constituido por una serie de dispositivos cada uno con un conjunto de tareas definidas. Los dispositivos de un computador se dividen segn la tarea que realizan en: dispositivos de entrada, salida,

Dispositivos de entrada: Son aquellos que permiten el ingreso de datos a un computador. Entre estos

se cuentan, los teclados, ratones, scaners, micrfonos, cmaras fotogrficas, cmaras de video, game pads y guantes de realidad virtual.

Figura 10. Dispositivos de Entrada Dispositivos de salida. Son aquellos que permiten mostrar informacin procesada por el computador. Entre otros estn, las pantallas de video, impresoras, audfonos, plotters, guantes de realidad virtual, gafas y cascos virtuales.

Figura 11. Dispositivos de Salida Dispositivos de almacenamiento. Son aquellos de los cuales el computador puede guardar informacin nueva y/o obtener informacin previamente almacenada. Entre otros estn los discos flexibles, discos duros, unidades de cinta, CD-ROM, CD-ROM de re-escritura, DVD, USBs.

Figura 12. Dispositivos de Almacenamiento. Dispositivos de comunicacin: Son aquellos que le permiten a un computador comunicarse con otros. Entre estos se cuentan los modems, tarjetas de red y enrutadores.

Figura 13. Modem Dispositivo de computo: Es la parte del computador que le permite realizar todos los clculos y tener el control sobre los dems dispositivos. Est formado por tres elementos fundamentales, la unidad central de proceso, la memoria y el bus de datos y direcciones.

Figura 14. Diagrama esquemtico del dispositivo de computo La unidad central de proceso (CPU): es el cerebro del computador, est encargada de realizar todos los clculos, utilizando para ello la informacin almacenada en la memoria y de controlar los dems

dispositivos, procesando las entradas y salidas provenientes y/o enviadas a los mismos. Mediante el bus de datos y direcciones, la CPU se comunica con los diferentes dispositivos enviando y obteniendo tales entradas y salidas.

Figura 15. Unidad Central de Proceso. Para realizar su tarea la unidad central de proceso dispone de una unidad aritmtico - lgica, una unidad de control, un grupo de registros y opcionalmente una memoria cache para datos y direcciones. La unidad aritmtico lgica (ALU) es la encargada de realizar las operaciones aritmticas y lgicas requeridas por el programa en ejecucin, la unidad de control es la encargada de determinar las operaciones e instrucciones que se deben realizar, el grupo de registros es donde se almacenan tanto datos como direcciones necesarias para realizar las operaciones requeridas por el programa en ejecucin y la memoria cache se encarga de mantener direcciones y datos intensamente usados por el programa en ejecucin. La memoria est encargada de almacenar toda la informacin que el computador esta usando, es decir, la informacin que es accedida (almacenada y/o recuperada) por la UCP y por los dispositivos. Existen diferentes tipos de memoria, entre las cuales se encuentran las siguientes: RAM (Random Access Memory): Memoria de escritura y lectura, es la memoria principal del computador. Solo se mantiene mientras el computador est encendido. ROM (Read Only Memory): Memoria de solo lectura, es permanente y no se afecta por el encendido o apagado del computador. Generalmente almacena las instrucciones que le permite al computador iniciarse y cargar (poner en memoria RAM) el sistema operativo. Cache: Memoria de acceso muy rpido, usada como puente entre la UCP y la memoria RAM, para

evitar las demoras en la consulta de la memoria RAM. El bus de datos y direcciones permite la comunicacin entre los elementos del computador. Por el bus de datos viajan tanto las instrucciones como los datos de un programa y por el bus de direcciones viajan tanto las direcciones de las posiciones de memoria donde estn instrucciones y datos, como las direcciones lgicas asignadas a los dispositivos.

Arquitectura de software Un sistema operativo. Un conjunto de lenguajes a diferente nivel con los cuales se comunica con el usuario y con sus dispositivos. Entre estos estn los lenguajes de mquina, los ensambladores y los de alto nivel. Un conjunto de aplicaciones de software. Un conjunto de herramientas de software.

Definiciones Bsicas Software: El hardware por si solo no puede haga nada, pues es necesario que exista el software, que es un conjunto de instrucciones que le dicen al hardware que haga. Lenguaje de programacin: Es un conjunto de reglas y estndares que es utilizado para escribir programas de computadoras que puedan ser entendidos por ellas. Programa: Es la representacin de algn algoritmo en un lenguaje de programacin especfico. Lenguaje de Mquina: Es el nico lenguaje que entiende el hardware (mquina) y usa exclusivamente el sistema binario. Este lenguaje es especfico para cada hardware (procesador, dispositivos, etc.). El programa es almacenado en memoria y es tanto cdigos de instruccin como datos. Lenguaje Ensamblador: Es un lenguaje que usa mnemnicos (palabras cortas escritas con caracteres alfanumricos), para codificar las operaciones. Los datos y/o direcciones son codificados generalmente como nmeros en un sistema hexadecimal. Generalmente es especfico (aunque no nico) para cada lenguaje de mquina. Ensamblador: es un software, generalmente escrito en lenguaje de mquina, que es capaz de traducir de lenguaje ensamblador a lenguaje de mquina, mientras que un CARGADOR es un software que almacena en memoria el programa en lenguaje de mquina generado por el ensamblador.

Figura 16. Lenguaje Ensamblador. Lenguaje de Alto Nivel: Lenguaje basado en una estructura gramatical que permite el anidamiento de instrucciones (instrucciones dentro de instrucciones). Cuenta con un conjunto de palabras reservadas (escritas en lenguaje natural), para codificar estructuras de control y/o instrucciones. Estos lenguajes permiten el uso de smbolos aritmticos y/o relacionales para describir clculos matemticos, y generalmente representan las cantidades numricas mediante sistema decimal. Gracias a su estructura gramatical, estos lenguajes permiten al programador olvidar el direccionamiento de memoria (donde cargar datos y/o instrucciones en la memoria), ya que este se realiza mediante el uso de conceptos como el de variable; De esta manera, permiten la realizacin de programas independiente del Hardware. Compiladores e Intrpretes: son software capaz de traducir de un lenguaje de alto nivel al lenguaje ensamblador especfico de una mquina. Los primeros toman todo el programa en lenguaje de alto nivel, lo pasan a lenguaje ensamblador y luego lo ejecutan. Los ltimos toman instruccin por instruccin, la traducen y la van ejecutando.

Figura 17. Lenguaje de Alto Nivel. Sistema Operativo: Es el software encargado de administrar los recursos del sistema, para esto ofrece un conjunto de primitivas (funciones y procedimientos) a otro software, que le permiten a este ultimo ser tan independiente de la arquitectura de hardware como le sea posible. Se dice que un software es para el sistema operativo <nombre>, si utiliza las primitivas que el sistema operativo <nombre> proporciona. Adicionalmente, un sistema operativo ofrece un conjunto de comandos a los humanos sean o no programadores, para interactuar con la mquina. Los sistemas operativos pueden ser escritos en lenguaje de alto nivel, como UNIX que fue escrito en C,

en lenguaje ensamblador y/o en lenguaje mquina. Algunos de los sistemas operativos ms conocidos son UNIX, LINUX, Microsoft Windows. Aplicaciones y Herramientas Una APLICACION es un software construido para que el computador realice una tarea especfica y con el cual no se puede construir otro software. Ejemplos de aplicaciones son los procesadores de texto como Microsoft Word y Word Perfect y las hojas electrnicas de clculo como Microsoft Excel y Lottus. Una HERRAMIENTA es un software construido especialmente para el desarrollo de nuevo software, (tanto de aplicaciones como de herramientas). Ejemplos de herramientas son los compiladores como Turbo C y Turbo Pascal, las herramientas CASES y los ambientes integrados de desarrollo.

Figura 18. Arquitectura de Software Completa. Algoritmo: es una secuencia finita bien definida de tareas bien definidas , cada una de las cuales se puede realizar con una cantidad de recursos finitos. Se dice que una tarea esta bien definida , si se sabe de manera precisa las acciones requeridas para su realizacin. Aunque los recursos que debe utilizar cada tarea deben ser finitos estos no estn limitados, es decir, si una tarea bien definida requiere una cantidad inmensa (pero finita) de algn recurso para su realizacin, dicha tarea puede formar parte de un algoritmo. Adems, se dice que una secuencia de tareas esta bien definida si se sabe el orden exacto de ejecucin de cada una de las mismas. Ejecutar un algoritmo es realizar las tareas del mismo, en el orden especificado y utilizando los recursos disponibles. Las caractersticas que debe poseer una secuencia de tareas para considerarse algoritmo son: precisin, el algoritmo debe indicar el orden exacto de ejecucin de cada tarea; definitud, si se sigue el algoritmo dos o ms veces con los mismos datos de entrada, se deben obtener los mismos datos de salida; y finitud, el algoritmo debe terminar en algn momento y debe usar una cantidad de recursos finita. Fuente: Universidad Nacional/Curso lgica y algoritmos.

Taller: 1. Haga un cuadro sinptico en el que se describa la historia de los computadores. 2. Explique las caractersticas de cada unas de las generaciones en las que se dividen la evolucin de los computadores. 3. Describa las caractersticas de los elementos que hacen parte de hardware de los computadores. 4. Describa las caractersticas de los elementos que hacen parte de software de los computadores. 5. Explique los siguientes conceptos: Lenguaje de programacin, lenguaje mquina, lenguaje ensamblador, programa ensamblador, programa compilador, sistema operativo, aplicacin, herramienta. 6. Qu es un algoritmo? 7. Qu se busca cuando se plantea un algoritmo? 8. Qu tcnicas hay para el diseo de algoritmos?. Enuncie las principales caractersticas de cada una.

Anda mungkin juga menyukai