1. LAS COMPUTADORAS Y EL MUNDO ACTUAL 1.1. EL UMBRAL DE UNA NUEVA ERA El lector seguramente se sorprenderá al saber que es posible predecir con alto grado de probabilidad en qué va a consistir una buena parte de su actividad profesional en el futuro, independientemente de la carrera que escoja. La predicción: hay una estación de trabajo en su futuro; recibirá información de alguna fuente, hará algo con esa información y la remitirá a otra persona o estación. En pocas palabras, pasará el resto de su vida en una sociedad en la que la mayoría de las personas se ocupan de manipular y transmitir información. En este momento la humanidad está cruzando el umbral de la nueva era de la información en la que el lector vivirá y trabajará.. Se recuerda a los antiguos egipcios y griegos por sus pirámides y maravillas arquitectónicas. Se conservan caminos y acueductos como monumentos a la gloria de Roma, y las majestuosas catedrales europeas son testigos del genio de los constructores medievales. Pero, aunque actualmente se construyen rascacielos monumentales, es posible que el mayor logro de la época actual no radique en los proyectos de construcción; antes bien, quizá los historiadores del futuro consideren esta era como el momento en que la humanidad desarrollé instrumentos que le permitieron amplificar su inteligencia y adquirir la información necesaria para explorar nuevos sistemas de medicina, educación, fabricación y gobierno. La mayoría de las personas que llegaron a la edad adulta en la década de 1950 pensaban que las computadoras eran curiosidades grandes y costosas que tendrían muy poco efecto sobre sus vidas. Pero aquellos que alcanzaron la madurez en las décadas de 1960 y 1970 estaban mejor informados. Las organizaciones sustituyeron los escasos sistemas de cómputo de la década de 1950 por cientos de miles de sistemas nuevos que no sólo jugarían un papel critico en el envío de seres humanos a la Luna, sino que también prepararían cheques de nómina, calcularían impuestos y facturas y procesarían muchas otras tareas que habrían de afectar directamente sus vidas. En la segunda mitad de la década de 1980. decenas de millones de computadoras personales (y cientos de miles de sistemas más grandes) se encuentran en las estaciones de trabajo de oficinas, fábricas, escuelas, hogares, hospitales, agencias del gobierno, bancos y tiendas, además de los laboratorios. Al igual que los automóviles y la electricidad, estos sistemas ejercen diariamente sobre la vida de las personas una influencia que no se puede ignorar. Y además de estos sistemas de aplicación general, que se encuentran a plena vista, la gente se encuentra por todos lados con otras computadoras “invisibles” de aplicación especial: en los aparatos domésticos, en los automóviles y en los relojes de pulso. De hecho, si en este momento dejaran de funcionar todas las computadoras, no podrían moverse los aviones, trenes y muchos automóviles y elevadores; los semáforos y teléfonos serian inútiles, y el mundo se vería sumido en una confusión total. Mucha gente, se siente intranquila por algunos aspectos del empleo de las computadoras, Algunas temen perder sus empleos al ser sustituidos por robots; otros sienten que se les está codificando numéricamente y que se les está moldeando para adaptarlos a las necesidades de sistemas fríos e impersonales. No debe sorprender el hecho que un invento revolucionario como es la computadora pueda afectar de manera positiva y negativa a las personas. Recuérdese que el aprovechamiento de la energía del vapor condujo a la Revolución Industrial y aumentó drásticamente a cantidad de bienes que podía producir un trabajador. Aunque la eficiencia de semejante producción en masa enriqueció considerablemente a muchos dueños de fábricas, las líneas de ensamble representaron una monotonía insensibilizadora y riesgos a la salud para miles de trabajadores. Haciendo un balance la Revolución Industrial fue provechosa, pero tuvo un precio elevado en términos humanos. La humanidad se encuentra en el inicio de una nueva época, en la que está perdiendo importancia el trabajo físico que requirió la Revolución Industrial al mismo tiempo que adquiere mayor importancia el trabajo mental que necesita la nueva revolución informática. Así como los engranes, las máquinas de gasolina y los motores eléctricos aumentan la potencia física de las personas, las computadoras actuales les proporcionan la información que necesitan para ampliar su potencia intelectual. Por primera vez la sociedad depende de un recurso, la información; que es renovable y se reproduce así mismo. La información científica se duplica actualmente cada cinco años y medio, pero en los años venideros un grupo más grande de científicos, trabajando con sistemas de información cada vez más poderosos, quizá duplicará los conocimientos científicos existentes cada dos años. Así, además de producir bienes en masa, se está produciendo información en masa, y estos conocimientos son la fuerza impulsora de la economía. 1.2. NECESIDAD DE INICIARSE EN LA INFORMÁTICA Dado que la computadora es el motor que impulsa a la sociedad informática actual, será indispensable para el lector conocer este instrumento y sus aplicaciones. El lector debe comprender en términos generales la organización, capacidad y imitaciones de las diversas máquinas, el hardware que compone un sistema de cómputo moderno. Esto no implica que el lector tenga que entender la forma como se desplazan los electrones en los circuitos de las computadoras. No hace falta ser mecánico para manejar un automóvil, ni es necesario conocer los detalles de ingeniería del equipo para saber de computación. Después de todo, casi todas las personas saben usar un teléfono y no saben cómo funcionan internamente los circuitos de comunicaciones. Así pues, el lector debe saber cómo usar las computadoras. El lector debe familiarizarse con las aplicaciones más comunes de las computadoras. Además debe sentirse cómodo al trabajar con los programas comerciales disponibles que permiten emplear las computadoras para obtener los resultados deseados. Los programas para computadora el software son las instrucciones que controlan el funcionamiento de la máquina. Los paquetes comerciales de programas, como los programas de televisión, pueden convertir un aparato animado en algo útil. Saber cómo adquirir programas para computadora. Además de aprender a seleccionar los programas comerciales que necesita, es conveniente que el lector tenga una idea general de la forma como individuos y organizaciones desarrollan programas y sistemas de información a la medida de sus necesidades. Apreciar el efecto de las Computadoras. Es necesario que el lector se percate del efecto que las computadoras y los sistemas de información están teniendo sobre las personas y las organizaciones. 1.3. POSIBILIDADES DE LAS COMPUTADORAS La mayoría de las personas saben que una computadora es una calculadora rápida, pero es mucho más que eso. Es también una máquina que puede llevar a cabo tareas tan laboriosas como escoger, copiar, mover, comparar, realizar otras operaciones no aritméticas con los diversos símbolos alfabéticos, numéricos y de otro tipo que se utilizan para representar las cosas. En un sentido más formal, una computadora es un sistema electrónico rápido y exacto que manipula símbolos o datos y que está diseñado para aceptar datos de entrada, procesarlos y producir salidas (resultados) bajo la dirección de un programa de instrucciones almacenado en su memoria. 1.3.1. Velocidad y precisión. La computadora trabaja paso a paso. Puede sumar y restar números, comparar letras para determinar un orden alfabético, y mover y copiar números y letras. Ninguna de estas operaciones es muy complicada. Lo que importa es la velocidad de la computadora. El tiempo que necesitan las computadoras para ejecutar operaciones básicas como son la adición y la sustracción varía desde unos cuantos microsegundos en el caso de las máquinas pequeñas hasta 80 nanosegundos o menos en las máquinas grandes. Además de ser muy rápidas, las computadoras son también muy exactas. Los circuitos de una computadora no tienen piezas mecánicas que se desgasten o fallen. Estos circuitos pueden funcionar sin errores, realizando cientos de miles (o millones) de operaciones cada segundo, durante varios días seguidos. Si los datos que entran a la computadora son correctos e importantes, y si el programa para procesar las instrucciones es confiable, entonces puede esperarse, en general, que la computadora produzca salidas exactas. Puede ser que el lector haya escuchado la frase si entra basura, sale basura, muy utilizada por las personas que trabajan con las computadoras. la frase significa que las causas de los “errores de cómputo’’ casi siempre son datos de entrada incorrectos o programas poco confiables, y ambas cosas se deben a la falibilidad de las personas, no de las computadoras. 1.3.2. Capacidad de procesamiento. El proceso de cómputo consiste en la manipulación de los símbolos que la gente utiliza para representar cosas. Los seres humanos han estado utilizando letras, números y otros símbolos taquigráficos durante miles de años, y el proceso de cómputo no es más que la forma más rápida y exacta de realizar esta labor humana tan familiar. 1.4. DIFERENCIA ENTRE DATOS E INFORMACIÓN Los datos son hechos, la materia prima de la información. Los datos se representan por medio de símbolos, pero sólo pueden considerarse como información en un sentido muy limitado. En la forma en que el término se utiliza en el procesamiento de datos, la información consta de datos organizados en una forma que es útil para las personas que la reciben. En otras palabras, la información consiste en conocimientos importantes producidos como resultado de las operaciones de procesamiento de datos; asimismo las personas los adquieren para mejorar su comprensión y para lograr objetivos específicos. 1.5. ACTIVIDADES DE PROCESAMIENTO DE DATOS El procesamiento o proceso de datos consta de tres actividades básicas: la captura de datos de entrada, su manipulación y la producción de los resultados de salida. 1.5.1. Captura de los datos de entrada. Los datos deben registrarse o capturarse de alguna manera antes de poder procesarse. Pueden registrarse inicialmente en documentos fuente de papel, o pueden capturarse por medio de un dispositivo de entrada directa; por ejemplo una caja registradora automatizada, para quedar en una forma que no emplee papel y que la máquina pueda leer. 1.5.2. Manipulación de los datos. Quizá sea necesario realizar después una o más de las siguientes operaciones con los datos recolectados: a. Agrupación. Se denomina agrupación al proceso de organizar elementos similares para formar grupos o clases. La agrupación se lleva a cabo, por lo general, al asignar abreviaturas o códigos, previamente determinados, a los elementos que se van a organizar. Los códigos utilizados son de tres tipos: numéricos (códigos postales para agrupación geográfica), alfabéticos (las personas A, B y C) y alfanuméricos (las letras y números del código de un producto). b. Cálculo. La manipulación aritmética de los datos se llama cálculo y es una actividad de procesamiento muy común. c. Clasificación. Casi siempre es más fácil trabajar con los datos sí están ordenados en una secuencia lógica. La secuencia puede ser del primero al último, del más grande al más pequeño, del más antiguo al más nuevo, etc. Se denomina clasificación al ordenamiento de los datos agrupados según una secuencia de este tipo. d. Síntesis. Se denomina síntesis a la reducción de grandes volúmenes de datos a una forma más concisa y manejable. Un diagrama de sectores circulares es uno de los muchos tipos de gráficas generadas por las computadoras y que se producen con frecuencia para lograr una síntesis. 1.5.3. Manejo de los resultados de salida. Después de captar y manipular los datos, quizá sea necesario llevar a cabo una o más de las siguientes operaciones: a. Almacenamiento y recuperación. Se denomina almacenamiento a la conservación de los datos para consultarlos en el futuro. La recuperación consiste en obtener los datos o información almacenados. b. Comunicación y reproducción. La comunicación de datos es la transferencia de datos de una localidad u operación a otra, para utilizarlos o para seguirlos procesando, y este proceso continúa hasta que la información en forma útil llega hasta el usuario final. Es natural que en ocasiones sea preciso copiar o duplicar la información. Operaciones de proceso de las computadoras. Las siguientes cuatro operaciones son las únicas que pueden llevar a cabo las computadoras, pero bastan para poder ejecutar las actividades de procesamiento de datos que se acaban de describir. 1. Operaciones de entrada/salida. Una computadora puede tanto aceptar datos (entrada) como emitirlos (salida), a partir de una gran variedad de dispositivos de entrada/salida. Los teclados, pantallas, impresoras y otros dispositivos de este género hacen posible la comunicación entre los seres humanos y las máquinas. 2. Operaciones de cálculo y manipulación de texto. Los circuitos de las computadoras efectúan cálculos con los números y son igualmente capaces de manipular caracteres no numéricos y los demás símbolos que se utilizan en palabras y enunciados. 3. Operaciones de lógica/comparación. La computadora también es ca- paz de efectuar operaciones lógicas, cuando se comparan dos datos representados por los símbolos A y B, sólo pueden obtenerse tres resultados posibles. 1) A es menor que B (A < B), 2) A es igual a B (A = B) o 3) A es mayor que B (A > B). La computadora puede realizar una comparación sencilla y después, dependiendo del resultado, seguir una trayectoria o secuencia de operaciones previamente determinada para completar su labor. Esta facultad sencilla de hacer comparaciones es una propiedad importante de las computadoras, ya que es posible responder a preguntas más complejas utilizando combinaciones de decisiones de comparación. 4. Operaciones de almacenamiento y recuperación de información. Tanto los datos como las instrucciones de programa se almacenan dentro de la computadora. Una vez almacenados, pueden llamarse o recuperarse rápidamente para ser utilizados. 1.6. ORGANIZACIÓN DE LOS SISTEMAS DE CÓMPUTO En la definición anterior se afirmó que una computadora es un sistema rápido y exacto que manipula símbolos y que está organizado de manera que pueda aceptar, almacenar y procesar datos y producir resultados (salidas) bajo la dirección de un programa almacenado. Esta sección explica por qué una computadora es un sistema y la forma en que está organizado un sistema de cómputo. 1.6.1. Concepto de sistema. Un sistema es un conjunto de partes que están integradas con el propósito de lograr un objetivo. Las siguientes tres características son fundamentales: 1. Un conjunto de partes. Un sistema tiene más de un elemento. Un volante no es un sistema, pero es una parte vital de un sistema muy conocido que se llama automóvil. 2. Partes integradas. Debe existir una relación lógica entre las partes de un sistema. Los sistemas mecánicos y electrónicos, como son las lavadoras y los juegos de vídeo, tienen muchos componentes que trabajan juntos. Un sistema de administración de personal cuenta con procedimientos integrados para contratar y adiestrar empleados. 3. El propósito de lograr algún objetivo común. El sistema se diseña para alcanzar uno o más objetivos. Todos los elementos del sistema deben estar ligados y controlados de manera que se logre el objetivo del sistema. Dado que una computadora es un grupo de partes integradas que tiene el objetivo común de llevar a cabo las operaciones que indica el programa que se está ejecutando, entra dentro de la definición de sistema. 1.6.2. Organización de los componentes de un sistema de cómputo. Conviene examinar cada uno de los componentes del sistema con más detalle, la organización de los elementos básicos de entrada, proceso y salida que se encuentran en la mayor parte de los sistemas de cómputo. 1.6.2.1. Dispositivos de entrada. Los sistemas de cómputo emplean dispositivos de entrada, que son máquinas diseñadas para la captura de datos. Algunos dispositivos de entrada permiten la comunicación directa entre los seres humanos y la máquina, mientras que otros requieren la grabación de los datos en un medio de entrada, por ejemplo algún material magnetizable. Con frecuencia se utilizan dispositivos que leen datos grabados en plástico flexible con un recubrimiento especial (disco flexible) o en cinta magnética. El teclado de una estación de trabajo conectado directamente a una computadora es un ejemplo de dispositivo de entrada directa. Cuando los dispositivos se conectan directamente a una computadora se dice que están en línea con ella. Otros dispositivos de entrada directa: el ratón, el lápiz de entrada, la pantalla sensible al tacto y el micrófono. Todos estos dispositivos son componentes que interpretan la información y permiten la comunicación entre las personas y entre los sistemas de cómputo. 1.6.2.2. Unidad de proceso. El corazón de todo sistema de cómputo es la unidad de proceso, que contiene los elementos de almacenamiento primario, aritmética lógica y control. (Estos tres elementos se muestran en una computadora personal, pero se encuentran la mismas secciones en procesadores de todos los tamaños.) - La sección de almacenamiento primario. La sección de almacenamiento primario (llamada también memoria principal) se utiliza para cuatro funciones. Tres de ellas se relacionan con los datos que se están procesando: a. Los datos se introducen a un área de almacenamiento de entrada y permanecen en ese lugar hasta el momento en que se vayan a procesar. b. Un espacio de memoria de trabajo es como una hoja de papel para hacer cuentas y contendrá los datos que se están procesando, así como los resultados intermedios de dicho procesamiento. c. Fin área de almacenamiento de salida guarda los resultados finales del procesamiento hasta que pueden ser liberados. e. Además de estas áreas relacionadas con los datos, la sección de al- macenamiento primario también contiene un área de almacenamiento de programas, que guarda las instrucciones de procesamiento. Las distintas áreas que se destinan a las cuatro funciones generales mencionadas no se fijan por limites físicos incorporados en la sección de almacenamiento primario, sino que pueden variar en las diferentes aplicaciones. Así pues, un espacio físico determinado puede contener datos de entrada en una aplicación, resultados para salida en otra e instrucciones de procesamiento en una tercera. El programador que escribe las instrucciones de la aplicación (o los programas de administración de los recursos de cómputo preparados por otros programadores) determinan la forma en que se va a utilizar el espacio para cada tarea. - La sección aritmética lógica. Juntas, las secciones aritmética lógica y de control constituyen la unidad central de proceso (UPC). Todos los cálculos y todas las comparaciones se realizan en la sección aritmética lógica de la UPC. Una vez que los dispositivos de entrada introdujeron los datos a la memoria principal, se guardan y se transfieren, cuando es necesario, a la sección aritmética lógica, donde se lleva a cabo el procesamiento. En el almacenamiento primario no se lleva a cabo ningún proceso. Los resultados intermedios que se generan en la unidad aritmética lógica se colocan temporalmente en un área designada de memoria de trabajo hasta que se vuelvan a necesitar. Así pues, los datos pueden pasar del almacenamiento primario a la unidad aritmética lógica y volver a la memoria muchas veces antes de que se termine el proceso. En este momento los resultados finales se envían a una sección de almacenamiento de salida y de allí a un dispositivo de salida. - La sección de control. Al seleccionar, interpretar y ordenar la ejecución de las instrucciones del programa, la sección de control de la UPC mantiene el orden y dirige la operación de todo el sistema. Aunque la sección de control no procesa datos, actúa como un sistema nervioso central para los demás componentes manipuladores de datos de la computadora. Al comenzar el procesamiento, se elige la primera instrucción del programa y se pasa del área de almacenamiento de programas a la sección de control. Allí se le interpreta y desde allí se envían señales a otros componentes para que lleven a cabo las acciones que se requieren. Se sigue eligiendo y ejecutando las instrucciones del programa, una tras otra, hasta terminar el proceso. 1.6.2.3. Dispositivo de almacenamiento secundario. En casi todas las computadoras se emplean dispositivos de almacenamiento secundario (o auxiliar) para complementar la limitada capacidad de almacenamiento de la sección de almacenamiento primario. Los dispositivos de almacenamiento secundario están en línea con el procesador. Aceptan datos o instrucciones del programa del procesador, los conservan y los vuelven a introducir en el procesador, cuando se necesitan para llevar a cabo tareas de procesamiento. Estos dispositivos de almacenamiento están integrados en el mismo mueble de la computadora personal. Es común que se utilicen discos flexibles y discos rígidos de metal como almacenamiento secundario de este tipo de aparatos. Los discos rígidos suelen encontrarse sellados permanentemente dentro de sus dispositivos de almacenamiento, pero los discos flexibles se cambian con facilidad. Los datos o instrucciones almacenados en un disco flexible permanecen intactos después de sacar el disco, pero dado que el procesador ya no tiene acceso directo y automático a ellos, se dice que están fuera de línea. 1.6.2.4. Dispositivos de salida. Al igual que las unidades de entrada, los dispositivos de salida son instrumentos que interpretan información y permiten la comunicación entre los seres humanos y las computadoras. Estos dispositivos convierten los resultados que produce el procesador y que están en código de máquina en una forma susceptible de ser empleada por las personas (por ejemplo, informes impresos o desplegados en pantallas) o como entrada para otras máquinas que formen parte de un ciclo de procesamiento distinto. En los sistemas personales de cómputo, los dispositivos de salida más populares son las pantallas de exhibición y las impresoras de escritorio. Los dispositivos que aceptan las salidas de sistemas mayores generalmente son impresoras más grandes y rápidas, muchas estaciones de trabajo en línea y unidades de cinta magnética y disco rígido. A las unidades de entrada/salida y almacenamiento secundario se les llama en ocasiones dispositivos periféricos (o simplemente periféricos) porque a menudo se les coloca cerca de la unidad de proceso. 1.7. CONCEPTO DE PROGRAMA ALMACENADO: UN EJEMPLO Los componentes recién descritos de un sistema de cómputo pueden aceptar datos, procesarlos y producir resultados sólo si siguen las instrucciones de un programa almacenado. A continuación se verá cómo podría utilizarse un programa de este tipo para procesar una aplicación práctica. Se supondrá que es el momento en que la compañía Ciruela Natural, SA. (distribuidor de bebidas gaseosas de frutas) precisa entregar sus cheques semanales de nómina. Los datos de entrada que corresponden a cada empleado se han capturado previamente en tarjetas de asistencia, esos datos se introducen a la computadora mediante el teclado y se almacenan en un disco magnético flexible. (Con el fin de ilustrar el ejemplo, los datos se muestran en forma legible para los humanos en material impreso, pero en realidad los datos se graban en el disco en forma de patrones magnéticos invisibles.) El primer empleado al que se debe pagar es Roberto. Procesamiento de la nómina de Ciruela Natural. El programa que se requiere para procesar los datos de nómina de Roberto y los demás trabajadores también está almacenado en un disco. Supóngase que ya se copiaron los pasos de este programa en el área de almacenamiento de programas. Después de asegurarse de que el disco que contiene los datos de nómina se ha instalado correctamente en una unidad de disco, el usuario ordena al sistema que ejecute el programa. El procesamiento se inicia con la primera instrucción que se encuentra en el área de almacenamiento de programas. El primer paso del programa es alimentar la primera instrucción (Leer datos de nómina e introducirlos en el área de almacenamiento de entrada) a la sección de control del procesador, en donde se le interpreta. A continuación se envían señales de control al dispositivo de disco que ejecuta las instrucciones y transfiere los datos de nómina de Roberto a un área de almacenamiento de entrada. La sección de control selecciona automáticamente las instrucciones en forma secuencial después del ajuste de control inicial, a menos que se le diga específicamente que no lo haga. Así, tan pronto como se haya completado la primera instrucción, la unidad de control comenzará en forma automática a interpretar el segundo paso. Esta instrucción indica a la unidad de control que pase el dato de horas laboradas a la sección aritmética lógica. A la sección de control no le interesa que Roberto haya trabajado 40 horas (las horas laborales del siguiente trabajador podrían ser diferentes). Se limita a cumplir con las instrucciones del programa y coloca la cifra 40 en la sección aritmética lógica. De esta manera, el procesamiento continúa en secuencia. La cifra de 40 horas se multiplica por el salario de 5 dólares por hora para obtener los ingresos totales de Roberto ($200, paso 3). Otros pasos del programa copian esta cantidad en el área de almacenamiento de trabajo, calculan una deducción por impuestos y restan esta cantidad del ingreso de $200 para obtener el sueldo neto de Roberto ($180). Esta cifrase transfiere al área de almacenamiento de salida y el paso 8 del programa hace que el sistema imprima el cheque de Roberto. En el paso 9, el programa llega a un punto de modificación y es preciso tomar una decisión. ¿Es Roberto el último empleado al que se va a pagar? La computadora sigue un procedimiento apropiado de lógica comparación, que se analizará en otro momento, para contestar a esta pregunta. Si Roberto es el último al que se le va a pagar, el control del programa salta al paso II y el proceso termina. Sin embargo, dado que no es el último empleado, el control del programa pasa a la siguiente instrucción de la secuencia 1 (paso 10). Este paso ordena a la sección de control que vuelva a la instrucción 1 para poder repetir el proceso con los datos del siguiente trabajador. Así, se ejecutarán una y otra vez las mismas instrucciones hasta que se haya finalizado el pago de la nómina. Cuando los datos del siguiente trabajador se lean y coloquen en el área de almacenamiento de entrada, borrarán y sustituirán a los datos de Roberto, al igual que al grabar música en una grabadora de sonido se borra cualquier otra melodía que estuviera grabada previamente en la cinta. Una vez que se hayan preparado todos los cheques de nómina, podrá cargarse otro programa en la computadora y podrá procesarse otra aplicación. La capacidad de cambiar rápidamente de programas hace que la computadora sea una máquina de aplicación general muy poderosa. Este ejemplo demuestra la mayor parte de los conceptos y funciones de cómputo que se mencionaron en los párrafos anteriores. En síntesis: • Los distintos componentes de un sistema de cómputo pueden manipular y procesar datos de manera automática y sin intervención humana siguiendo las instrucciones de un programa almacenado. • Una computadora tiene la capacidad intrínseca de obedecer a diferentes tipos de comandos, como leer (READ), imprimir (PRINT), multiplicar (MULTIPLY) y mover (MOVE). (El diseño de cada computadora incluye un conjunto determinado de estos tipos de instrucciones.) • La computadora sigue los pasos del programa en secuencia, a menos que se le ordene explícitamente que no lo haga. • El cambio en la secuencia de los pasos puede provenir de la capacidad que tiene una computadora para seguir caminos diferentes de acuerdo con la respuesta a una pregunta sencilla. Como se mencionó antes, ninguna de estas funciones de la computadora es muy compleja. Lo que es impresionante es la velocidad con la que se realizan las operaciones y la exactitud de los resultados. 1.8. SISTEMAS DE CÓMPUTO ACTUALES: AVANCES, DIFERENCIAS Y LIMITACIONES Todos los sistemas de cómputo contienen componentes electromecánicos (hardware) para la entrada, el procesamiento y la salida, y todos ejecutan programas almacenados (software) para producir resultados. A continuación se dará un vistazo a los rápidos avances que tienen lugar en el campo del hardware y el software, asimismo, el lector se dará cuenta de que las computadoras difieren en cuanto a su tamaño y diseño y que están sujetas a ciertas limitaciones. 1.8.1. Avances de las computadoras - Avances en los equipos. La drástica reducción del tamaño de las computadoras, los componentes electrónicos como transistores y otras piezas se combinan para formar circuitos de computadoras. Actualmente se integran miles de estos circuitos y se acomodan en pequeños trozos de silicio que miden apenas medio centímetro cuadrado, aproximadamente. La primera de estas pequeñas pastillas de silicio contenía apenas unos cuantos componentes y circuitos, pero el número promedio de componentes de las pastillas se ha duplicado anualmente desde 1965. La técnica inicial de integración a pequeña escala cedió el paso a las pastillas de integración a gran escala que contenían miles de componentes. Hoy día, las pastillas de integración a muy grande escala contienen cientos de miles de elementos y los científicos esperan poder producir pastillas de integración a ultra alta escala con millones de componentes. Al reducirse el tamaño de las computadoras ha aumentado su rapidez de operación. En parte esto se debe a que el menor tamaño permite que los pulsos eléctricos recorran menores distancias, como también algunas de las asombrosas reducciones en el costo inherente al uso de las computadoras. Por último, cómo ha evolucionado la capacidad de almacenamiento y la confiabilidad de las computadoras en las últimas décadas. La capacidad de almacenamiento de las unidades de almacenamiento tanto primario como secundario en línea se ha incrementado miles de veces en el transcurso de los años. Además, las primeras computadoras solían descomponerse después de trabajar unas cuantas horas, mientras que los procesadores actuales pueden funcionar años seguidos sin fallas. Por ejemplo, en algunos sistemas a prueba de fallas los componentes vitales, como son los circuitos aritmético lógicos, están respaldados por circuitos de reserva. Un dispositivo capaz de conocer la situación del sistema detecta la falla de un circuito integrado y lo sustituye electrónica y automáticamente por su circuito de respaldo. - Avances en la programación. También se ha avanzado mucho en el desarrollo de programas para computadora. A principios de la década de 1950, los programadores de computadoras tenían que escribir sus instrucciones como números especiales del código de máquina que las computadoras eran capaces de reconocer (p. ej., el número 21 ”podría significar sumar”). Dado que la preparación de esas cadenas de números era tediosa, muchas veces contenían errores. Más adelante se idearon lenguajes de programación especiales para que los programadores pudieran escribir instrucciones más fáciles de comprender. Por ejemplo, un lenguaje podría permitir la palabra ADD (sumar) o el símbolo más (+) en vez del número 21. Pero, ¿cómo puede ejecutar las instrucciones la máquina si están en un lenguaje que no entiende? Así como un francés y un alemán pueden comunicarse si uno de ellos utiliza un diccionario bilingüe, así también pueden comunicarse el programador y la computadora si se utiliza un programa traductor separado. Un programa de traducción (compilador) transforma las instrucciones del lenguaje de programación en el lenguaje de máquina que las computadoras entienden. Casi todos los programas para resolver problemas que se preparan en la actualidad se escriben primero en los lenguajes que prefiere la gente (llamados de alto nivel) y después se traducen al código de máquina equivalente (mediante un proceso detallado). Esta facilidad de comunicación entre los humanos y las máquinas es una de las razones por las cuales las computadoras están teniendo un efecto tan grande sobre la sociedad actual. Otro factor que está contribuyendo a incrementar la utilidad de las computadoras es la mayor disponibilidad de programas de aplicación. Un programa de aplicación es aquel que se escribe para controlar el procesamiento de una tarea determinada. El programa de nómina de Ciruela Natural, SA. es un ejemplo. Ahora los usuarios pueden elegir entre decenas de miles de estos paquetes de aplicación comerciales. A mucha gente no le interesa escribir programas a la medida, pero se han dado cuenta que los paquetes de aplicación que existen les permiten trabajar cómodamente con las computadoras para producir los resultados que necesitan. Los avances en los sistemas operativos que preparan las empresas de programación también han incrementado la productividad y el uso de las computadoras. Un sistema operativo es un conjunto ordenado de programas que controlan la operación general de una computadora. El sistema operativo hace posible que el equipo (hardware) del sistema trabaje con los programas de aplicación del usuario. Permite a los usuarios cargar los programas de aplicación en el almacenamiento primario (memoria). Sirve a esos programas realizando las tareas “domésticas” que se requieren para transferir datos (por ejemplo, entre las unidades de almacenamiento primario y secundario). En un sistema de cómputo personal, los programas del sistema operativo se guardan por lo general en un disco flexible; de ahí su nombre sistema operativo de disco. 1.8.2. Diferencias entre las computadoras - Diferencias de propósito. Es posible construir computadoras para contar números o para medir relaciones físicas. Una computadora digital es aquella que cuenta directamente los números (o dígitos) que representan numerales, letras u otros símbolos especiales. A diferencia de las máquinas digitales, las computadoras analógicas miden magnitudes físicas que se distribuyen en una escala continua, como pueden ser la temperatura o la presión. Por ejemplo, la bomba de gasolina de una estación de servicio contiene un procesador analógico que convierte las mediciones de flujo de combustible en valores de volumen y precio. En ocasiones se combinan las características ventajosas de las máquinas analógicas y de las digitales para crear un sistema de cómputo híbrido. En la unidad de cuidado intensivo de un hospital, por ejemplo, se miden la función cardiaca, la temperatura y otros signos vitales de los pacientes mediante dispositivos analógicos. En seguida estas mediciones se convierten en números y se alimentan a un componente digital que supervisa los signos vitales del paciente y llama la atención de una enfermera si se detectan lecturas anormales. Los procesadores analógicos e híbridos son máquinas de aplicación especial y se encargan de tareas importantes. Sin embargo, la mayor parte de las computadoras que se emplean actualmente son dispositivos digitales. En las computadoras digitales de aplicación especial las instrucciones están almacenadas permanentemente en la máquina. Los procesadores que se instalan en los automóviles para controlar los sistemas de combustible, ignición, instrumentos y frenado son ejemplos de tales computadoras. A diferencia de sus parientes de aplicación especial, las computadoras digitales de aplicación general son capaces de almacenar diferentes programas, por lo que se les puede utilizar en incontables aplicaciones. Al utilizar diferentes instrucciones, una máquina de este tipo puede procesar una nómina en un momento dado y trazar una gráfica en el siguiente. Lo único que limita la adaptabilidad de estos sistemas es la imaginación humana. - Diferencias de tamaño. El tamaño de los sistemas de cómputo modernos va desde los que ocupan varias habitaciones hasta aquellos cuya UPC cabe en la uña de un dedo meñique. Generalmente cuanto más grande sea el sistema, mayor será su velocidad de procesamiento, capacidad de almacenamiento, costo y capacidad para manejar números más grandes y tendrá dispositivos de entrada y salida más poderosos. A menudo sólo una persona a la vez utiliza los procesadores más pequeños, pero los sistemas más grandes pueden atender al mismo tiempo a varios usuarios. Por ejemplo, una computadora grande de una compañía de seguros puede procesar cientos de pólizas de clientes y simultáneamente aceptar solicitudes de pago de honorarios procedentes de docenas de estaciones de trabajo situadas en hospitales y consultorios médicos. Los sistemas del extremo inferior de la gama de tamaños se conocen como microcomputadoras y minicomputadoras. Las microcomputadoras o micros son los equipos más pequeños. Pueden ser los dispositivos miniatura de aplicación especial dedicados a la ejecución de una sola tarea, como puede ser el control del sistema de ignición de un automóvil, o pueden ser las computadoras personales, más notorias y conocidas, que pueden tener el tamaño de una libreta o de un equipo de escritorio y que pueden utilizarse de innumerables maneras. Las microcomputadoras pueden realizar las mismas operaciones y utilizar el mismo tipo de instrucciones que las computadoras mayores. Más arriba, en la gama de tamaños se encuentran las macrocomputadoras que ofrecen velocidades de procesamiento y capacidades de almacenamiento mayores que una mini común. Por lo general, los fabricantes de macrocomputadoras agrupan toda una serie de modelos, cuyo tamaño va desde pequeños hasta muy grandes, bajo una designación de familia. Existe una zona de traslape considerable entre el rendimiento de las minis más grandes (las llamadas “superminis’) y las macrocomputadoras más pequeñas. En el extremo superior están las super computadoras, diseñadas para procesar aplicaciones científicas complejas. Estos son los sistemas más grandes, rápidos y costosos del mundo. - Diferencias de diseño. Casi todas las computadoras actuales se diseñan con secciones únicas de control, de almacenamiento primario y de aritmética Lógica en la unidad de proceso. Estas computadoras se llaman a veces máquinas de Von Neumann porque siguen el enfoque de diseño que John Von Neumann y otros que desarrollaron a mediados de la década de 1940. Uno de los problemas de este diseño tradicional es que las instrucciones se interpretan y los datos se procesan en un flujo secuencial único. Puesto que sólo existe un canal para llevar las instrucciones del almacenamiento primario a la sección de control y como sólo se dispone de un trayecto para los datos entre la memoria principal y la sección aritmética - lógica, la velocidad de procesamiento, por rápida que sea, estará limitada por la velocidad de los circuitos que forman estos canales. Como las secciones angostas en las tuberías que llevan petróleo crudo a una refinería, estos canales pueden limitar la cantidad de procesamiento que se lleva a cabo. No obstante, existen opciones para cambiar este diseño, o arquitectura, a fin de reducir los cuellos de botella. Los sistemas grandes, por ejemplo, pueden agregar elementos de control, de almacenamiento y de aritmética - lógica adicionales para poder procesar varias instrucciones simultáneamente. Este tipo de arquitectura, de hecho, combina dos o más unidades de proceso para formar un sistema de multiprocesador. Es posible que los diseños futuros puedan ejecutar miles de millones de instrucciones por segundo conectando miles de millones de procesadores miniatura en arreglos paralelos. 1.8.3. Limitaciones de las computadoras. La computadora es uno de los instrumentos más poderosos que jamás se hayan desarrollado. No obstante, muchos han leído artículos similares al que cuenta de un hombre que recibió un tratamiento para la neumonía y las computadoras del hospital le cobren por el uso del cuarto de maternidad y el de cunas. Estas ‘equivocaciones” de las computadoras pueden ser divertidas, pero la mayor parte de estos problemas surgen porque las personas no toman en cuenta algunas de las limitaciones básicas de las computadoras. Si los programas no son confiables y la lógica no es correcta, ningún sistema de cómputo puede funcionar adecuadamente. - Los programas deben ser confiables. La computadora hace aquello para lo que se programe, y nada más. Esto no quiere decir que sea inepta. Se puede escribir un programa ingenioso para ordenarle a la computadora que almacene los resultados de decisiones anteriores. Más tarde, aprovechando la capacidad de ramificación del programa, la computadora puede modificar su comportamiento de acuerde con el fracaso o el éxito de decisiones anteriores. No obstante, un programa que ha estado funcionando de manera impecable durante varios meses puede comenzar, de repente, a producir resultados absurdos. Es posible que una combinación extraña de hechos haya puesto a la computadora en una situación para la que no existe un curso de acción programado. También puede ser que el curso de acción especificado por el programador contenga un error que no se había descubierto. Naturalmente, también es posible que un programa confiable al que se le proporcionen datos incorrectos produzca resultados absurdos. - La lógica de la aplicación debe ser comprensible. La computadora sólo puede procesar los trabajos que pueden expresarse por medio de un número finito de pasos que conducen aun objetivo definido en forma precisa. Cada uno de los pasos deben definirse de manera clara y especifica. Sí no es posible expresar con claridad los pasos de la solución, no es posible realizar el trabajo. Por esta razón, hay casos en que las computadoras no les son útiles a las personas que trabajan en áreas donde las evaluaciones subjetivas son importantes. Las decisiones de mercado tal vez están basadas en opiniones calificadas acerca de transformaciones sociales, políticas, tecnológicas y económicas en lo futuro. Pero la computadora si puede decir al gerente cómo se va a mover el producto en condiciones hipotéticas de precio, costo y volumen de ventas. Estos valores hipotéticos pueden alimentarse a la computadora usando un programa de hoja electrónica para manipularlos de acuerdo con una serie de preguntas del tipo, qué sucedería si...? para proyectar los efectos que las preguntas del gerente van a tener sobre las utilidades. Aún cuando los pasos del programa sean finitos y comprensibles, existen algunas tareas cuya ejecución llevarían millones de años, incluso en una super computadora. Joseph Weizenbaum, científico en el campo de la computación del Massachussetts Institute of Technology, (MIT) señala que es posible escribir un programa que analice todas las posibles jugadas de ajedrez en una situación dada. Así, podrá evaluar todas las respuestas a un movimiento e identificar todos los movimientos subsecuentes que pueden hacer tanto el jugador como su oponente, hasta que la computadora encontrará un movimiento que, de continuar con otros movimientos apropiados, garantizara el triunfo. Weizenbaum observa que este programa seguramente sería finito, pero el tiempo requerido para ejecutarlo sería increíblemente grande. Aunque en teoría la computadora puede hacer el trabajo, en la práctica es imposible. PREGUNTAS DE REPASO Y ANÁLISIS Las siguientes preguntas tienen el propósito de verificar el grado de aprendizaje del tema visto en el presente capítulo. Un análisis detallado y profundo de cada respuesta a las preguntas sustentará la confiabilidad de sus respuestas. 1. ¿Qué es una Computadora y qué es capaz de hacer? 2. ¿Qué es un programa de Computadora, por qué es posible definir un programa como un mapa intelectual? 3. Analice esta pregunta: ¿Si las Computadoras son tan exactas, por qué se asocia a su uso la frase “ Si entra basura, sale basura”? 4. ¿Qué son los datos en una Computadora? 5. ¿Qué se entiende por información, cuál es la diferencia entre datos e información? 6. ¿Qué significa procesamiento de datos?. Mencione y explique las actividades básicas del procesamiento de datos. 7. ¿Qué es un sistema, cuáles son los tres componentes de Hardware que se requieren en un sistema de computo? 8. La sección de almacenamiento primario de la UCP se utiliza para cuatro funciones. ¿Cuáles son esas funciones? 9. ¿Cuál es la diferencia entre los dispositivos de almacenamiento primario y secundario? 10. ¿Cuál es la función de la sección aritmética-lógica de la UCP y cuál es la función de la sección de control? 11. ¿Cuál es el concepto de programa almacenado y por qué es importante? 12. Analice algunas de las limitaciones en el uso de las Computadoras. BIBLIOGRAFÍA FERRER O., FERNANDO. Desarrollo de Software Educativo. UniAndes. 2000. GALVIS P., ALVARO H. Multimedios Interactivos. UniAndes. 1999. GALVIS P., ALVARO H. Aprendizaje basado en Computador. UniAndes. 1999. GALVIS P., ALVARO H. Diseño y Evaluación de MECS. UniAndes. 2000. JOYANES, AGUILAR. Fundamentos De Programación. Editorial McGrawHill. 1991. MATA-TOLEDO, R, Y CUSHMAN, PAULINE. Introducción a la Programación. Editorial McGrawHill. 2000. QUINTERO, OTTO Y MERA, HERNÁN. Investigación y Desarrollo de Software Educativo. UniAndes. 2000. SANDERS, DONALD H. McGrawHill. Cuarta Edición. Informática: Presente y Futuro. Editorial