Una computadora' es un dispositivo electrnico utilizado para procesar
informacin y obtener resul- tados. Los datos y la informacin se pueden introducir en la computadora por la entrada (input) y a continuacin se procesan para producir una salida (output, resultados), como se observa en la Figura 1.1. La computadora se puede considerar como una unidad en la que se ponen ciertos datos, o entrada de datos. La computadora procesa estos datos y produce unos datos de salida. Los datos de entrada y los datos de salida pueden ser, realmente, cualquier cosa, texto, dibujos o sonido. El sistema ms sencillo de comunicarse con la computadora una persona es mediante un teclado, una pantalla (monitor) y un ratn (mouse). Hoy da existen otros dispositivos muy populares tales como escneres, micrfonos, alta- voces, cmaras de vdeo, etc.; de igual manera, a travs de mdems, es posible conectar su computado- ra con otras computadoras a travs de la red Internet Los componentes fsicos que constituyen la computadora, junto con los dispositivos que realizan las tareas de entrada y salida, se conocen con el trmino hardware (traducido en ocasiones por mate- rial). El conjunto de instrucciones que hacen funcionar a la computadora se denomina programa que se encuentra almacenado en su memoria; a la persona que escribe programas se llama programador y al conjunto de programas escritos para una computadora se llama software (traducido en ocasiones por logical). Este libro se dedicar casi exclusivamente al software, pero se har una breve revisin del hardware como recordatorio o introduccin segn sean los conocimientos del lector en esta materia, 1.2. ORGANIZACIN FSlCA DE UNA COMPUTADORA (HARDWARE) La mayora de las computadoras, grandes o pequeas, estn organizadas como se muestra en la Figu- ra 1.2. Ellas constan fundamentalmente de tres componentes principales: unidad central de proceso (UCP) o procesador (compuesta de la UAL, Unidad aritmtico-lgica y la UOC, Unidad de Control), la memoria principal o central y el programa. ' En Espaa est muy extendido el trmino ordenador para referirse a la traduccin de la palabra inglesa computer. Introduccin a la ciencia de la computacin y a la programacin 5 t Entrada de datos Salida de datos t Figura 1.2. Organizacin fsica de una computadora. Si a la organizacin fsica de la Figura 1.2 se le aaden los dispositivos para comunicacin con la computadora, aparece la estructura tpica de un sistema de computadora: dispositivos de entrada, dis- positivo de salida, memoria externa y el procesador/memoria central con su programa (Fig. 1.3).
1.2.1. Dispositivos de Entrada/Salida (E/S) Los dispositivos de EntraddSalida
(E/S) [InputlOutput (UO, en ingls)] permiten la comunicacin entre la computadora y el usuario. Los dispositivos de entrada, como su nombre indica, sirven para introdu- cir datos (informacin) en la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la infor- macin de entrada en seales elctricas que se almacenan en la memoria central. Dispositivos de entra- da tpicos son los teclados; otros son: lectores de tarjetas -ya en desuso-, lpices pticos, palan- cas de mando (joystick), lectores de cdigos de barras, escneres, micrfonos, etc. Hoy da tal vez el dispositivo de entrada ms popular es el ratn (mouse) que mueve un puntero electrnico sobre la pantalla que facilita la interaccin usuario-mquina2. Dispositivos de entrada - I Dispositivos de entrada 1 I UCP (Procesador) Unidad de 1 control I Memoria central IIII Unidad aritmtica y lgica Dispositivos de salida Memoria externa almacenamiento permanente Figura 1.3. Organizacin fsica de una computadora. Todas las acciones a realizar por el usuario se realizarn con el ratn con la excepcin de las que se requieren de la escri- tura de datos por teclado. 6 Programacin en C. Metodologa, algoritmos y estructura de datos Los dispositivos de salida permiten representar los resultados (salida) del proceso de los datos. El di+ positivo de salida tpico es la pantalla (CRT)' o monitor. Otros dispositivos de salida son: impresoras (imprimen resultados en papel), trazadores grficos (plotters), reconocedores de voz, altavoces, etc. El teclado y la pantalla constituyen -en muchas ocasiones- un nico dispositivo, denominado terminal. Un teclado de terminal es similar al teclado de una mquina de escribir moderna con la dife- rencia de algunas teclas extras que tiene el terminal para funciones especiales. Si est utilizando una computadora personal, el teclado y el monitor son dispositivos independientes conectados a la compu- tadora por cables. En ocasiones a la impresora se la conoce como dispositivo de copia dura (hard copy), debido a que la escritura en la impresora es una copia permanente (dura) de la salida, y a la pantalla se le denomina en contraste: dispositivo de copia blanda (eso$ copy), ya que se pierde la pantalla actual cuando se visualiLa la siguiente. Los dispositivos de entraddsalida y los dispositivos de almacenamiento secundario o auxiliar (memoria externa) se conocen tambin con el nombre de di.sposirivci.\ perlfricos o simplemente perifricos ya que, normalmente, son externos a la computadora. Estos
dispositivos son unidad de discos (disquetes, CD-ROM, DVDs, cintas,
videocmaras,etc.). Figura 1.4. Dispositivo de salida (impresora) 1.2.2. La memoria central (interna) La memoria central o simplemente memoria (interna o principal) se utiliza para almacenar informa- cin (RAM, Random Access Memory). En general, la informacin almacenada en memoria puede ser de dos tipos: las instrucciones de un programa y los duros con los que operan las instrucciones. Por ejemplo, para que un programa se pueda ejecutar (correr, rodar, funcionar.. ., en ingls run), debe ser situado en la memoria central, en una operacin denominada carga (load) del programa. Despus, cuan- do se ejecuta (se realiza, funciona) el programa, cualquier dato u procesur por el programa se debe lle- var a la memoria mediante las instrucciones del programa. En la memoria central, hay tambin datos diversos y espacio de almacenamiento temporal que necesita el programa cuando se ejecuta con l a fin de poder funcionar. Introduccin a la ciencia de la computacin y a la programacin 7 Cuando un programa se ejecuta (realiza, funciona) en una computadora, se dice que se ejecuta. Con el objetivo de que el procesador pueda obtener los datos de la memoria central ms rpida- mente, la mayora de los procesadores actuales (muy rpido\) utilitan con frecuencia una memoriu denominada cucheque sirva para almacenamiento intermedio de datos entre el procesador y la memoria principal La memoria cach -en la actualidad- \e incorpora casi siempre al procesador. La memoria central de una computadora es una zona de almacenamiento organizada en centenares o millares de unidades de almacenamiento individual o celdas. La memoria central consta de un conjunto de (*eldar e memoria (estas celdas o posiciones de memoria se denominan tambin palahms, aunque no guardan analoga con las palabras del lenguaje). El nmero de celdas de memoria de la memoria central, dependiendo del tipo y inodelo de computadora; hoy da el nmero suele ser millones (32.64, 128, etc.) Cada celda de ineinoria consta de un cierto nmero de bits (normalmente 8, un hite). La unidad elemental de memoria se llama byte (octeto). Un h\te tiene la capacidad de almacenar un carcter de informacin, y est formado por un conjunto de unidades ms pequeas de almacena