INTRODUCCIÓN A LA INFORMÁTICA INFORMÁTICA La se puede definir como un conjunto de conocimientos y técnicas que hacen posible el tratamiento automático de la información mediante el uso de la computadora. CIENCIAS DE LA COMPUTACIÓN Se emplea también el nombre de para hacer referencia a esta disciplina que abarca las áreas siguientes: Arquitectura de las computadoras Sistemas Operativos Programación de computadoras Procesamiento distribuido y paralelo Computación Gráfica, Imágenes y Visualización Ingeniería de Software Bases de Datos y Minería de Datos Teoría de la Computación Redes de Computadoras Inteligencia Artificial Simulación En los últimos años, la innovación tecnológica que más impacto ha ejercido en la vida de la gente es la computadora, por su rapidez de crecimiento y expansión, ha transformado rápidamente las sociedades actuales. En sus comienzos, la informática sólo resolvía problemas de cálculo, pero el aumento de la velocidad de procesamiento y su gran capacidad para tratar cualquier tipo de datos hacen que hoy en día se haya ampliado su uso a múltiples actividades profesionales. COMPUTADORA La es un conjunto de dispositivos electrónicos, mediante los cuales se procesa una serie de datos, hasta transformarlos en información. Cuando observamos una computadora personal, esto es lo que vemos: Unidad Principal Monitor Teclado Mouse o Ratón Las partes que vemos son: el monitor, el teclado, el mouse o ratón, y una unidad principal constituida por el gabinete que encierra y protege lo que se denomina motherboard, placa madre o placa principal, que es el lugar donde se conectan otros elementos como el microprocesador, los módulos de memoria, tarjetas especiales, el disco duro, la unidad de diskette, la unidad de CD, la unidad de DVD, etc. La Computadora está compuesta por: HARDWARE y SOFTWARE. HARDWARE El término HARDWARE (del inglés hard: duro) se aplica a todos los elementos físicos, mecánicos y tangibles de una computadora, todos los dispositivos, tarjetas y Pág. 1 cables con los que está fabricada. Todo sistema de computación tiene componentes de hardware dedicados a estas funciones: Periféricos de entrada Periféricos de salida Periféricos Mixtos (Entrada/Salida) Unidad central de proceso. Memoria y dispositivos de almacenamiento Se denomina Periférico a cualquier pieza de Hardware conectada a la computadora para realizar una tarea específica. PERIFÉRICOS DE ENTRADA (E) Son los que permiten al usuario que ingrese información desde el exterior. Entre ellos podemos encontrar: teclado, ratón (mouse), escáner, micrófono, etc. PERIFÉRICOS DE SALIDA (S) Pág. 2 Son los que muestran al usuario el resultado de las operaciones realizadas por la computadora. En este grupo podemos encontrar: monitor, impresora, parlantes, plotter, etc. PERIFÉRICOS DE ENTRADA/SALIDA (E/S) Son los dispositivos que pueden aportar simultáneamente información exterior a la computadora y al usuario. Aquí se encuentran: módem (Modulador/Demodulador), unidades de almacenamiento (Discos duros, disquetes o floppy), ZIP, Memorias de pequeño tamaño, flash, etc. LA PLACA MADRE La placa base, placa madre o tarjeta madre (en inglés motherboard, mainboard) es la tarjeta de circuitos impresos que sirve como medio de conexión entre: el microprocesador, circuitos electrónicos de soporte, ranuras para conectar parte o toda la RAM del sistema, la ROM y ranuras especiales (slots) que permiten la conexión de tarjetas adaptadoras adicionales. Estas tarjetas de expansión suelen realizar funciones de control de periféricos tales como monitores, impresoras, unidades de disco, etc. EL MICROPROCESADOR Es el circuito integrado más importante en la computadora. Procesa las instrucciones y maneja el flujo de información de la máquina. El Procesador o Unidad Central de Proceso, también llamado Microprocesador, es el cerebro de la computadora, es decir, el encargado de leer las instrucciones de los programas e indicar al resto de los componentes lo que deben hacer. Pág. 3 Es uno de los elementos que influyen directamente en el rendimiento general del sistema, ya que mientras más veloz sea el microprocesador mayor será la capacidad de la computadora para ejecutar al instante diversas aplicaciones. LA MEMORIA Las personas más familiarizadas con la Informática suelen emplear el término "memoria" o memoria principal para aludir a la Random Access Memory (memoria de acceso aleatorio) o RAM. Una computadora utiliza la memoria de acceso aleatorio para almacenar las instrucciones y los datos temporales que se necesitan para ejecutar las tareas. De esta manera, la Central Processing Unit (Unidad Central de Proceso) o CPU puede acceder rápidamente a las instrucciones y a los datos almacenados en la memoria. Un buen ejemplo de esto es lo que sucede cuando la CPU carga en la memoria una aplicación, como un procesador de textos o un programa de autoedición, permitiendo así que la aplicación funcione con la mayor velocidad posible. En términos prácticos, esto significa que se puede hacer más trabajo en menos tiempo. Cuando se introduce un comando desde el teclado, esto requiere que se copien los datos provenientes de un dispositivo de almacenamiento (como un disco duro, un CD-ROM o un pen drive) en la memoria, la cual suministra los datos a la CPU de forma más rápida que los dispositivos de almacenamiento. Este concepto de "poner los datos al alcance de la CPU", es similar a lo que sucede cuando se colocan diversos archivos y documentos electrónicos en una sola carpeta o directorio de archivos de la computadora. Al hacerlo, se mantienen siempre a la mano y se evita la necesidad de buscarlos cada vez que se necesitan. DIFERENCIA ENTRE MEMORIA Y ALMACENAMIENTO. Muchas personas confunden los términos memoria y almacenamiento, especialmente cuando se trata de la cantidad que tienen de cada uno. El término "memoria" significa la cantidad de RAM instalada en la computadora, mientras que "almacenamiento" hace referencia a la capacidad del disco duro. Para aclarar esta confusión, se puede comparar la computadora con una oficina que tiene una mesa de trabajo y varios archiveros. La mesa de trabajo representa la memoria, la cual ofrece un acceso rápido y fácil a los archivos con los que se está trabajando en ese momento determinado. Los archiveros representan el disco duro de la computadora, el cual proporciona el almacenamiento masivo. Pág. 4 Otra diferencia importante entre la memoria y el almacenamiento, consiste en que la información almacenada en el disco duro permanece intacta cuando se apaga la computadora. En cambio, el contenido de la memoria queda borrado cuando se apaga la computadora (como si se tiraran a la basura todos los archivos encontrados en la mesa de trabajo al final del día). Cuando se trabaja con una computadora, se debe guardar el trabajo con frecuencia. La memoria de la computadora guarda las modificaciones introducidas en el documento hasta que el usuario las guarda en el disco duro. Si por cualquier razón se interrumpe la operación de la computadora, por ejemplo, debido a un corte de luz o a un error del sistema, se perderán todas las modificaciones realizadas que no fueron guardadas hasta ese momento. La memoria RAM es un tipo de memoria temporal que pierde sus datos cuando se queda sin energía (por ejemplo, al apagar la computadora), por lo cual es una memoria volátil. TIPOS DE MEMORIA Memoria VRAM Memoria ROM Memoria CACHE Memoria RAM MEMORIA VRAM La memoria gráfica o de video determina su limitación con respecto al número de colores y resolución. Cuanta más memoria dispongamos más capacidad tendrá nuestra tarjeta de alcanzar resoluciones mayores y a mayor número de colores. Esta memoria viene integrada a la tarjeta de video. LA MEMORIA ROM (READ ONLY MEMORY) ROM (Memoria de Sólo Lectura) es un chip de memoria que almacena de manera permanente instrucciones e información. Su contenido se crea en el momento de fabricación y no puede ser alterado. Pág. 5 MEMORIA CACHE La memoria caché es una pequeña cantidad de memoria usada para almacenar información temporalmente. Tiene funciones parecidas a la RAM. Sin embargo la caché es una memoria mucho más rápida, más pequeña y más costosa. La CACHE incrementa el desempeño del sistema reduciendo la necesidad de acceder la memoria principal del sistema para cada transacción. La memoria caché permite acelerar el acceso a los datos, trasladándolos a un medio más rápido cuando se supone que van a leerse o modificarse pronto. Por ejemplo, si ciertos datos acaban de leerse, es probable que al poco tiempo esos mismos datos, y también los siguientes, vuelvan a leerse. LA MEMORIA RAM (RANDOM ACCESS MEMORY) Es la memoria principal de la computadora, la que sostiene su sistema operativo, las aplicaciones que la CPU ejecuta y los datos usados por esas aplicaciones. Un programa no puede correr hasta que haya estado cargado en la RAM. Es la memoria basada en semiconductores que puede ser leída o escrita por el microprocesador u otros dispositivos de hardware. SOFTWARE SOFTWARE (del inglés soft: blando) se refiere al equipamiento La palabra lógico o soporte lógico de una computadora, y comprende el conjunto de los programas necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema. SOFTWARE DE BASE O SISTEMA SISTEMA OPERATIVO Pág. 6 Se denomina Software de Base o Sistema al (SO), éste controla todos los recursos de la computadora y proporciona la base sobre la cual pueden instalarse los programas de aplicación. Es indispensable para hacer de la computadora un objeto útil. Un Sistema Operativo se define como un conjunto de procedimientos manuales y automáticos que brindan al usuario una forma amigable y sencilla de ejecutar, interpretar, codificar y emitir órdenes al microprocesador, para que éste realice las tareas necesarias y específicas para cumplir esas órdenes. En la actualidad existe una gran variedad de sistemas operativos, como Windows 98, Windows NT, Windows XP, Windows 2000, GNU/Linux (Debian, Ubuntu, Fedora Core, Suse) y otros. Mientras la computadora está encendida, el SO tiene cuatro (4) tareas principales: Proporcionar, ya sea una interfaz de línea de comando o una interfaz gráfica al usuario, para que pueda comunicarse con la computadora. Mediante la interfaz de línea de comando se introducen palabras y símbolos desde el teclado de la computadora. Seleccionamos las acciones con el mouse, para pulsar sobre figuras llamadas iconos o seleccionar opciones de los menús. Administrar los dispositivos de Hardware de la computadora. Para ejecutar, los programas necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresora, módems, etc.). El Sistema Operativo sirve de intermediario entre los programas y el Hardware. Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la información dentro de compartimientos lógicos para almacenarlos en el disco. Estos grupos de información se llaman archivos. Los archivos pueden contener instrucciones de programas o información creada por el usuario. El SO mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizarlos y manipularlos. Apoyar a otros programas. Otra de las funciones importantes del SO es proporcionar servicios. SOFTWARE DE APLICACIÓN Las computadoras y el Software de Aplicación han permitido al hombre, simplificar y mejorar muchas tareas rutinarias y repetitivas. Por ello, este tipo de software le ha dado a las computadoras un carácter muy práctico y popular. Estos programas son empleados por el usuario para simplificar su vida, ya sea si decide escribir un libro, una tesis o un memorando, o para poder manejar grandes volúmenes de datos; o aquellos programas que le sirvan para emitir una nómina de una empresa. Estos programas son los más solicitados por la mayoría de usuarios de computadoras debido a los beneficios o servicios que reciben de ellos. Existen también programas de aplicación que brindan al usuario otro tipo de servicios; por ejemplo, los juegos por computadora son muy estimados, ya que gracias a ellos el usuario obtiene diversión y esparcimiento. Los programas orientados a la edición de texto por computadora permiten al usuario obtener combinación de texto con imágenes de alta calidad profesional y gráficos. Los hay también educativos, matemáticos, estadísticos, etc. El Software de Aplicación se puede dividir en dos categorías: SOFTWARE DE APLICACIÓN ESTÁNDAR y SOFTWARE DE APLICACIÓN A MEDIDA. Pág. 7 SOFTWARE DE APLICACIÓN ESTÁNDAR En esta categoría se encuentran todos los programas de aplicación estándar existentes en el mercado del software, que cubren diversas actividades, desde videojuegos hasta sistemas de contabilidad y gestión de empresas. Generalmente, estas aplicaciones se venden de manera que un usuario sin mucho conocimiento de informática, puede instalar el software en el disco rígido de su computadora y utilizarlo con la ayuda del manual de uso. Los principales son: Procesadores de Palabras o Texto (Word Processors). Sistemas Manejadores o Administradores de Bases de Datos (DBMS, Data Base Management Systems). Hojas Electrónicas de Cálculo. Programas de Presentación Gráfica. Programas Educativos, Software Educativo o Tutoriales. Programas de Edición de Texto o de Escritorio. Programas de Edición Gráfica. Programas de Diseño Asistidos por Computadora (CAD o Computer Aided Design). Programas para Manufactura por Computadora (CAM o Computer Aided Manufacturing). Programas Matemáticos y Estadísticos. Programas de Esparcimiento y Videojuegos. Programas Integrados. Programas para gráficos e imágenes, etc. SOFTWARE DE APLICACIÓN A MEDIDA Son programas diseñados especialmente para cumplir con tareas no contempladas en las aplicaciones estándar, tales como la realización de facturas de ventas, el cálculo de trayectorias de satélites, la liquidación de sueldos de una empresa, etc. Este tipo de programa es realizado generalmente por profesionales de las Ciencias de la Computación que utilizan lenguajes de programación para indicar las instrucciones a la computadora. REPRESENTACIÓN DE DATOS Hemos mencionado que la computadora y todos sus componentes manipulan señales digitales binarias. Esto se debe a que son más sencillos de realizar los sistemas digitales con componentes físicos con dos estados diferenciados. Por lo que el sistema de numeración más utilizado para la realización de los sistemas digitales es el de base 2 (dos), o binario, en el cual existen solamente dos símbolos, que son el 0 y el 1. Toda la información que la computadora procesa, almacena y transmite, debe codificarse de algún modo a binario. CARACTERES ASCII Cuando se necesita almacenar, transmitir y procesar textos o datos no numéricos, éstos también deben codificarse en binario. El código más empleado es el código ASCII (se lee asqui). Es así como, además de representar valores numéricos, los bytes se usan para representar caracteres. Cada byte puede representar 256 caracteres posibles: Pág. 8 * Los 128 primeros (0 a 127) son los caracteres ASCII standard. * Los 128 últimos (128 a 255) son los caracteres ASCII extendidos para el IBM PC. El código ASCII (American Standard Code for Information Interchange o Código Standard Americano para el Intercambio de Información) es un convenio adoptado para asignar a cada caracter un valor numérico. El código ASCII incluye: * Letras mayúsculas y minúsculas. * Dígitos decimales (0 al 9). * Caracteres especiales como *, >, <, +, etc. * Códigos de control (los 32 primeros, del 0 al 31), que tienen dos usos: a) Por una parte, tienen el significado ASCII standard, es decir, códigos de control de impresión y de comunicaciones, como 13 (retorno de carro), 12 (alimentación de página), etc. b) Por otra parte, se utilizan para representar en pantalla caracteres especiales (símbolos de los naipes, musicales, flechas, etc.). Los caracteres ASCII extendidos incluyen: *Símbolos para el dibujo de recuadros. *Símbolos de relleno y sombreado. *Letras griegas. *Símbolos científicos. *Caracteres especiales en idiomas distintos del Inglés. SISTEMAS DE NUMERACIÓN Nuestro sistema de numeración habitual, el que utilizamos en nuestra vida cotidiana es el de base 10 (o decimal), en el cual existen diez símbolos distintos, del 0 al 9, es decir: Sistema Decimal: * La base del sistema es 10, por lo que existen 10 símbolos distintos para representar todas las cantidades. * Símbolos: 0, 1, 2, ........, 9 El sistema decimal es uno de los sistemas de numeración llamados “posicionales”, porque el valor de cada símbolo depende de su posición relativa dentro del número. Es decir el “1” en el número 31 no tiene el mismo valor del “1” en el número 163, porque la posición del “1” es distinta. Por ejemplo, 31 en base 10 quiere decir: 31(10 = 3 x 101 + 1 x 100 Para indicar explícitamente que el número 31 está en base 10, lo representaremos así: 31(10 o 31d El número 163(10 es igual a : 163(10 = 1 x 102 + 6 x 101 + 3 x 100 = 100 + 60 + 3 = 163(10 Esta forma de representar el número corresponde al denominado TEOREMA FUNDAMENTAL DE LA NUMERACION Pág. 9 Es decir que de acuerdo a la posición que tiene el dígito en la cantidad, es la potencia a la que debemos elevar la base, que en este caso es 10. 1 2 6 1 3(10 0 Numerando de derecha a izquierda los dígitos de un número, empezando con cero, el valor de posición del dígito n es 10n. La computadora está diseñada sobre la base del sistema de numeración binario (base 2). Este es el sistema que utilizan internamente los circuitos digitales que conforman el hardware de la computadora, por eso será el sistema al que prestaremos mayor atención y estudio. Por lo tanto: * La base del sistema de numeración es 2, por lo que existen 2 dígitos para representar todas las cantidades. * Símbolos: 0, 1 Ejemplos de estos números serían 11100010101, 110010, etc. Podría considerarse un número binario: 1201110110 ? Por qué? También podemos expresar los números binarios haciendo uso del Teorema Fundamental, nos sirve para relacionar una cantidad expresada en cualquier sistema base b, con la misma cantidad expresada en el sistema decimal. El Teorema Fundamental de la Numeración dice que el valor decimal de una cantidad expresada en otros sistemas de numeración, viene dado por la fórmula: ..... A4 A3 A2 A1 A0, A-1 A-2 A-3 A-4…… (b = ... A4 x b4 + A3 x b3 + A2 x b2 + A1 x b1 + A0 x b0 + A-1 x b-1+ A-2 x b-2+ A-3 x b-3+ A-4 x b-4+…… siendo b la base en la que está el número, y los Ai los distintos símbolos. Numerando de derecha a izquierda los dígitos de un número, empezando por cero, el valor de posición es 2n. Por ejemplo, 1101 en base 2 quiere decir: 1 1 0 1 (2 3 2 1 0 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 =1x8 +1x4 +0x2 +1x1 = 8 + 4 + 0 + 1 = 13(10 Para indicar que el número 1101 está en base 2, lo representaremos como 1101(2 En general, el subíndice “(n” indica la base de numeración en que se representa un número. Si no se indica, se supone que la base es 10. Por su relación con la base 2 y la facilidad de conversión de una base a otra, es importante conocer también otras bases de numeración como: * La base 8 (octal), con los dígitos 0, 1, 2, 3, 4, 5, 6, y 7. Pág. 10 * La base 16 (hexadecimal), con los dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Los dígitos hexadecimales A al F se corresponden con los valores decimales 10 al 15. Las bases 2, 8 y 16 son equivalentes en el sentido de que es inmediato pasar de una a otra. Todo consiste en agrupar o desagrupar los dígitos binarios, y aplicar las tablas siguientes: Binario 000 001 010 011 100 101 110 111 Octal 0 1 2 3 4 5 6 7 Vemos que con tres dígitos binarios es posible representar los 8 símbolos del sistema octal, esto es porque: 8 = 23 De la misma manera se necesitarán 4 dígitos binarios para representar los 16 símbolos del sistema hexadecimal: 16 = 24 Binario Hexadecimal 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 A B C D E F Decimal La tercera columna de la tabla corresponde a los números de nuestro sistema decimal, ¿cómo tendrían que completarla? Por ejemplo, para pasar de base 2 a bases 8 y 16, se agrupan 3 y 4 dígitos binarios, respectivamente, y se convierte a continuación cada grupo, de dígitos binarios al dígito de la base correspondiente: Pág. 11 * Base 2 a base 8: 1101(2 = 001 101(2 = 15(8 Esto es así porque si nos fijamos en la tabla correspondiente tenemos: 001(2 = 1(8 101(2 = 5(8 Si tomamos el mismo número y lo queremos pasar a hexadecimal tendremos: * Base 2 a base 16: 1101(2 = 1101(2 = D(16 1101(2 = D(16 fijándonos en la tabla. A la inversa, si se dispone de la representación en base 8 o 16, para pasar a base 2 basta convertir cada dígito en un cierto número de dígitos binarios (3 y 4, respectivamente), fijándonos en las tablas de conversión correspondientes. Por ejemplo: * Base 8 a base 2: 34(8 = 011 100(2 = 11100(2 * Base 16 a base 2: 56(16 = 0101 0110(2 = 1010110(2 La base 16 es muy utilizada para representar la información almacenada en la memoria de la computadora, como también las direcciones de las posiciones de memoria. Otras conversiones: Para pasar de cualquier sistema a base 10 simplemente se forma el polinomio equivalente resultado de la aplicación del Teorema Fundamental de la Numeración. Para pasar de base 2 a 8 y a 16, hemos visto que el pasaje es directo fijándonos en las tablas correspondientes. Sólo nos queda contemplar el caso de pasaje de un número expresado en una base 10, por ejemplo a base 2, y en general de base 10 a cualquier base se realizan divisiones sucesivas. Es decir que: Si se divide un número expresado en base 10 por la base b, y el cociente se vuelve a dividir por b y así sucesivamente, el cociente y los restos obtenidos (*) forman el número en el sistema de base b. Por ejemplo para pasar el número 13(10 a binario: 13 1 2 6 0 (*) 2 3 1 2 13(10 = 1101(2 1 UNIDADES DE MEDIDA BIT: La memoria de la computadora se compone de unidades de almacenamiento llamadas bits, que tienen dos estados posibles (representados por 0 y 1), es decir, sirven para almacenar información expresada en binario. La palabra bit es la contracción de binary digit (dígito binario). Así pues, todo lo que reside en la memoria Pág. 12 de la computadora (el código de las instrucciones y los datos) son números binarios en bits de la memoria, a razón de un dígito binario por bit. BYTE: Los bits de la memoria se agrupan en bytes u octetos, a razón de 8 bits por byte. Un byte es realmente la unidad de direccionamiento, es decir, podemos referirnos a cada byte mediante un número que es su dirección. Los bytes de la memoria se numeran así: el primer byte es el 0, el segundo es el 1, etc. La cantidad de memoria de una computadora se medía en un principio en Kilobytes (en abreviatura, Kbyte, Kb, o simplemente K), siendo: 1 Kbyte = 1 Kb = 1024 bytes = 210 bytes Por ejemplo, una computadora con 256 Kb tenía 256 x 1024 bytes. Las computadoras actuales vienen provistas con más memoria, para lo que se usan los llamados MegaBytes. 1 MegaByte = 1 MB = 1024 KiloBytes = 220 bytes Capacidades comunes en nuestros días, son 2 GB de memoria o más, las que pueden ampliarse si el usuario así lo requiere. Un byte puede almacenar, pues, 8 dígitos binarios, es decir, 2 dígitos hexadecimales. El número de valores posibles que se pueden almacenar es 28 = 256. Las configuraciones posibles dentro de un byte serían: 0000 0000 = 0 0000 0001 = 1 ........................... 1111 1110 = 254 1111 1111 = 255 (28 - 1) Los bits de un byte se numeran de derecha a izquierda del 0 al 7, es decir, se corresponden con los exponentes de las potencias de base 2. NIBBLE: La agrupación de 4 bits (superiores o inferiores) de un byte se llama nibble. Por tanto, un byte contiene 2 nibbles. El que corresponde a los bits 0 a 3 se llama nibble inferior, y el de los bits 4 a 7 se llama nibble superior: 7 6 5 4 3 2 1 0 nibble nibble superior inferior bits El nibble es una unidad de trabajo mucho más cómoda que el bit. En cada nibble se almacena un dígito hexadecimal. Los 16 valores posibles de un nibble son: Binario 0000 0001 0010 0011 0100 Hexadecimal 0 1 2 3 4 Binario 1000 1001 1010 1011 1100 Hexadecimal 8 9 A B C Pág. 13 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F El número de configuraciones posibles de nibbles en un byte es de 162 = 256. Las configuraciones posibles son: 00h = 0 01h = 1 ............... FEh = 254 FFh = 255 (162 -1) AGRUPACIONES SUPERIORES AL BYTE Las agrupaciones superiores al byte son las siguientes: Tipo Definición 2 bytes contiguos 2 palabras contiguas 4 palabras contiguas 16 bytes 256 bytes 64 Kbytes (64 KiloBytes) Palabra Doble Palabra Cuádruple Palabra Párrafo Página Segmento EN RESUMEN NÚMEROS BINARIOS El sistema binario utiliza sólo dos dígitos, el 0 y el 1. Si queremos seguir contando más allá del 1, necesitamos otro dígito más allá del 9. De este modo, 10 en binario equivale a 2 en decimal: Sistema Decimal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Sistema binario 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 Hay que notar que los números destacados en el sistema decimal, como el 10, 100 o 1000 no tienen importancia en el sistema binario, y viceversa. En el sistema Pág. 14 binario son potencias de 2, es decir, 2 multiplicado por sí mismo varias veces. Los valores importantes en el sistema binario son los siguientes: Potencia de 2 20 21 22 23 24 25 26 27 28 29 210 Valor decimal 1 2 4 8 16 32 64 128 256 512 1024 Es fácil que estos números nos suenen, ya que se utilizan para medir las memorias de las computadoras y tarjetas gráficas “Tengo 512 Mb de RAM o he comprado una placa de video de 256MB”. 1 1*27 1*128 0 0*26 0*64 1 1*25 1*32 0 0*24 0*16 1 1*23 1*8 0 0*22 0*4 1 1*21 1*2 1 1*20 1*1 Traducir el valor de un número binario a decimal es fácil, solo tenemos que sumar el valor de cada uno, según su posición (como puede apreciarse en el desarrollo expuesto en la tabla anterior): 10101011 128+0+32+0+8+0+2+1=171 Es decir, 10101011 binario = 171 decimal BITS Y BYTES Como un único bit puede contener poca información, siempre los manejamos agrupados en unidades mayores. La unidad funcional estándar es el byte, o conjunto de ocho bits. Con un byte podemos codificar 256 estados posibles de información. Es suficiente, por ejemplo, para representar todos los caracteres del alfabeto occidental. Si necesitamos más capacidad de codificación, manejaremos grupos de dos, tres o cuatro bytes. Número de Valores Nombre bits posibles 1 2 Bit 4 16 Cuarteto 8 256 Byte u octeto 16 65536 24 16,7 millones Sistema Hexadecimal El manejo de grandes cadenas de 0 y 1 desborda las capacidades del cerebro humano. Por eso, se ha utilizado otro sistema de numeración, el sistema hexadecimal, como un sistema intermedio que facilita el manejo de números binarios con un modelo más manejable. El sistema hexadecimal, de base 16, utiliza 16 dígitos, de 0 a 15. Como no tenemos figuras que representen el 10, 11…15, utilizamos letras. De este Pág. 15 modo, la A es el 10 la B es el 11, la C es el 12, la D el 13, la E el 14 y la F el 15. Un solo dígito guarda la misma información que cuatro 0 y 1. Es decir, 1111 binario = F hexadecimal. Un byte, esos ochos 1 y 0, se representan con 2 dígitos. Por ejemplo: 11111111 binario = FF hexadecimal Podemos encontrar información en hexadecimal en manuales de impresoras o en las tablas de especificaciones MIDI de algunos sintetizadores. En imagen digital se utiliza para la codificación de los colores de las páginas web. Kilobytes, Megabytes… Cuando tenemos números muy grandes, utilizamos unidades mayores, igual que en el sistema decimal utilizamos decenas, miles o millones. En el sistema binario estas unidades son: Byte Kilobyte Megabyte Gigabyte Terabyte Petabyte = = = = = = 8 bits 1024 byte 1024 Kb 1024 Mb 1024 Gb 1024 Tb Como es lógico, se utiliza 1024 en vez de 1000 ya que 1024 es una potencia de 2, mientras que 1000 es un número sin relevancia en el sistema binario. Algunos fabricantes redondean estas unidades a 1000. Así el tamaño de los discos duros parece mayor. Este es el motivo por el que un disco de 160 Gb se queda con 140 Gb o menos cuando formateamos e instalamos. Pág. 16 INTRODUCCIÓN A LA RESOLUCIÓN DE PROBLEMAS La resolución de problemas, utilizando como herramienta una computadora, requiere contar con la capacidad de expresión suficiente como para indicar a la máquina lo que debe llevarse a cabo. Se comenzará resolviendo situaciones del mundo real tratando de utilizar determinados elementos que caracterizan a una secuencia de órdenes que una computadora puede comprender. La resolución de problemas nunca es un proceso mecánico y general, podemos decir que es un proceso creativo, porque todo problema tiene diferentes características y cada persona puede resolverlo de manera diferente. Sin embargo para llegar a la resolución de un problema se pueden tener en cuenta las siguientes fases. La resolución de problemas puede dividirse en tres fases: Análisis del problema Diseño del algoritmo Programación (Resolución del algoritmo en la computadora). El análisis y el diseño del algoritmo requieren la descripción del problema en subproblemas a base de refinamientos sucesivos. Para ello se pueden utilizar las siguientes herramientas: Diagrama de flujo Pseudocódigo Durante la tercera etapa se implementa este algoritmo en un código escrito en un lenguaje de programación, reflejando las ideas obtenidas en las fases de análisis y diseño. ALGORITMO Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos, definidos y finitos. Características del Algoritmo Preciso, tiene que indicar el orden de realización en cada paso. Definido, es decir, si el algoritmo se prueba dos veces, en estas dos pruebas, se debe obtener el mismo resultado. Finito, es decir, que el algoritmo tiene que tener un número determinado de pasos. Debe producir un resultado en un tiempo finito. Ejemplo: Algoritmo que describe la manera de levantarse para ir al trabajo: Salir de la cama Quitarse el pijama Ducharse Vestirse Desayunar Arrancar el auto para ir al trabajo Pág. 17 Esta descripción del algoritmo a utilizar para la resolución de un simple problema, cumple con los requisitos descriptos. Un algoritmo es, en forma intuitiva, una receta, un conjunto de instrucciones o de especificaciones sobre un proceso para hacer algo. Las instrucciones incluidas en esta receta deben ser No ambiguas es decir, que si se trabaja dentro de cierto marco o contexto, cada instrucción del algoritmo debe significar sólo una cosa. Ejemplo: Problema: Indique la manera de salar una masa. Malo: Ponerle algo de sal a la masa (ambiguo) Bueno: Agregarle una cucharadita de sal a la masa. PRE Y POSTCONDICIONES DE UN ALGORITMO Precondición es la información que se conoce como verdadera antes de comenzar el algoritmo. Ejemplo: Problema: Indique la manera de salar una masa. Algoritmo: Agregarle una cucharadita de sal a la masa. Se supone que se dispone de todos los elementos para llevar a cabo esta tarea. Por lo tanto, como precondición puede afirmarse que se cuenta con la cucharita, la sal y la masa. Postcondición es la información que se conoce como verdadera al concluir el algoritmo si se cumple adecuadamente el requerimiento pedido. Ejemplo: Problema: Volcar un montículo de arena en una zanja. Algoritmo: Tome una pala. Mientras haya arena en el montículo cargue la pala con arena y vuélquela en la zanja. Dejar la pala. La precondición es que se cuenta con la pala, la arena y está ubicado cerca de la zanja que debe llenar. La postcondición es que el montículo quedó vació al terminar el algoritmo. Ejercicios: Describir el algoritmo para los siguientes problemas y definir las postcondiciones y precondiciones. a) Armar una bicicleta. b) Hacer una torta. c) Que un robot suba 8 escalones. Nota: Tener en cuenta que cada uno puede hacer un algoritmo distinto, y sin embargo cada uno puede ser correcto. Los algoritmos se pueden expresar por fórmulas, diagramas de flujo, y pseudocódigos conocidos como herramientas de programación. Esta última representación es la más utilizada por su sencillez y parecido al lenguaje humano. DIAGRAMA DE FLUJO Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO. Pág. 18 Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación. Aspectos a tener en cuenta: Existe siempre un camino que permite llegar a una solución (finalización del algoritmo). Existe un único inicio del proceso. Existe un único punto de fin para el proceso de flujo (salvo del rombo que indica una comparación con dos caminos posibles). Simbología: ESTRUCTURAS DE CONTROL Las estructuras de control de un lenguaje de programación se refieren al orden en que las instrucciones de un algoritmo se ejecutarán. El orden de ejecución de las sentencias o instrucciones determina el flujo de control. Estas estructuras de control son por consiguiente fundamentales en los lenguajes de programación y en los diseños de algoritmos especialmente los pseudocódigos. Pág. 19 Las estructuras de control básicas son: Secuencia de acciones Selección Repetición Iteración SECUENCIA DE ACCIONES Una secuencia de acciones está formada por una serie de instrucciones que se ejecutan una a continuación de otra. Ejemplo: Un niño debe subir 5 escalones para subir a su cuarto.… ….. Subir escalón 1 Subir escalón 2 Subir escalón 3 Subir escalón 4 Subir escalón 5 …. SELECCIÓN La escritura de soluciones a través de una secuencia de órdenes requiere conocer a priori las diferentes alternativas que se presentarán en la resolución del problema. Lamentablemente, es imposible contar con esta información antes de comenzar la ejecución de la secuencia de acciones. Por ejemplo, qué ocurriría si al querer sacar la lámpara quemada, el portalámpara se rompe. Esto implica que el resto de las acciones no podrán llevarse a cabo por lo que el algoritmo deberá ser interrumpido. Si se desea que esto no ocurra, el algoritmo deberá contemplar esta situación. Nótese que el estado del portalámpara es desconocido al iniciar el proceso y sólo es detectado al intentar sacar la lámpara quemada. Por lo que el solo uso de la secuencia es insuficiente para expresar esta solución. Pág. 20 Por lo tanto, el algoritmo debe considerar las dos alternativas, es decir, qué hacer en cada uno de los casos. La selección se notará de la siguiente forma: si (condición) acción o acciones a realizar si la condición es verdadera sino acción o acciones a realizar si la condición es falsa La condición es una expresión que al ser evaluada puede tomar solamente uno de dos valores posibles: verdadero o falso. Ejemplo: Su amigo le ha pedido que le compre $1 de caramelos en el kiosco. De ser posible, prefiere que sean de menta pero si no hay, le da igual que sean de cualquier otro tipo. Escriba un algoritmo que represente esta situación. Ir al kiosco Si (hay caramelos de menta) Llevar caramelos de menta Sino Llevar de cualquier otro tipo Pagar 1 peso REPETICIÓN Un componente esencial de los algoritmos es la repetición. La computadora, a diferencia de los humanos, posee una alta velocidad de procesamiento. A través de ella, es posible ejecutar, de manera repetitiva, algunos pasos elementales de un algoritmo. Esto puede considerarse una extensión natural de la secuencia. Pág. 21 La repetición es la estructura de control que permite al algoritmo ejecutar un conjunto de instrucciones un número de veces fijo y conocido de antemano. La notación a utilizar es la siguiente: repetir N Acción o acciones a realizar N veces. Ejemplo: En el ejemplo del niño que debe subir 5 escalones, es muy simple porque la cantidad es un número pequeño. Pero imagine que el niño debe subir 100 escalones. Esto podría resolverse de la siguiente manera. repetir 100 Subir escalón Ejemplo: Escriba un algoritmo que permita poner 4 litros de agua en un balde utilizando un vaso de 50 cc. Se observa que hay dos pasos básicos: llenar el vaso con agua y vaciarlo en el balde. Para completar los cuatro litros es necesario repetir estas dos operaciones ochenta veces. Suponga que se dispone de un vaso, un balde y una canilla para cargar el vaso con agua. Tomar el vaso y el balde repetir 80 Llenar el vaso de agua. Vaciar el vaso en el balde. Dejar el vaso y el balde. Nótese que, la instrucción “Dejar el vaso y el balde” no pertenece a la repetición. Esto queda indicado por la sangría o indentación utilizada para cada instrucción. Por lo tanto, se repetirán 80 veces las instrucciones de “Llenar el vaso de agua” y “Vaciar el vaso en el balde”. ITERACIÓN Existen situaciones en las que se desconoce el número de veces que debe repetirse un conjunto de acciones. Por ejemplo, si se quiere llenar una zanja con arena utilizando una pala, será difícil indicar exactamente cuántas paladas de arena serán necesarias para realizar esta tarea. Sin embargo, se trata claramente de un proceso iterativo que consiste en cargar la pala y vaciarla en la zanja. Por lo tanto, dentro de una iteración, además de una serie de pasos elementales que se repiten; es necesario contar con un mecanismo que lo detenga. La iteración es una estructura de control que permite al algoritmo ejecutar en forma repetitiva un conjunto de acciones utilizando una condición para indicar su finalización. El esquema iterativo es de la forma: mientras (condición) Acción o acciones a realizar en caso de que la condición sea verdadera. Las acciones contenidas en la iteración serán ejecutadas mientras la condición sea verdadera. Es importante notar que, la primera vez, antes de ejecutar alguna de las acciones de la iteración, lo primero que se realiza es la evaluación de la condición. Sólo luego de comprobar que es verdadera se procede a ejecutar el conjunto de acciones pertenecientes al mientras. Pág. 22 Si inicialmente la condición resultara falsa, el contenido del mientras no se ejecutará ni siquiera una sola vez. Es importante que las acciones realizadas en el interior de la iteración modifiquen el valor de verdad de la condición a fin de garantizar que la iteración terminará en algún momento. Ejemplo : Escriba un algoritmo que permita volcar un montículo de arena en una zanja utilizando una pala. Tomar la pala. Ubicarse frente a la zanja. mientras (no esté vacío el montículo de arena) cargar la pala con arena volcar la arena en la zanja Dejar la pala. La iteración indica que, mientras no se vacíe el montículo, se seguirá incorporando arena en la zanja. Cuando el montículo esté vacío, la condición será falsa y la iteración terminará. Es importante destacar, que si el montículo inicialmente estaba vacío, Condición Acciones a repetir ninguna palada de arena será tomada del montículo ni incorporada a la zanja. Es decir, la condición se verifica ANTES de comenzar la iteración. CONCLUSIÓN El uso de algoritmos permite expresar, de una forma clara, la manera en que un problema debe ser resuelto. Los elementos que lo componen son característicos de la resolución de problemas con computadora. La ejercitación es la única herramienta para poder comprender y descubrir la verdadera potencialidad de las estructuras de control. Resulta fundamental alcanzar un total entendimiento del funcionamiento de estas estructuras para poder lograr expresar soluciones más complejas que los ejemplos aquí planteados. Pág. 23 INTRODUCCIÓN A LAS REDES DE COMPUTADORAS ¿QUÉ ES UNA RED? El término genérico "red" hace referencia a un conjunto de entidades (objetos, personas, etc.) conectadas entre sí. Por lo tanto, una red permite que circulen elementos materiales o inmateriales entre estas entidades, según reglas bien definidas. Una red se define como un conjunto de equipos y dispositivos periféricos conectados entre sí. Se debe tener en cuenta que la red más pequeña posible está conformada por dos equipos conectados. Las redes comprenden la implementación de herramientas y tareas para conectar equipos de manera que puedan compartir recursos en la red. Según el tipo de entidad involucrada, el término utilizado variará: red de transporte: conjunto de infraestructuras y vehículos usados para transportar personas y bienes entre diferentes áreas geográficas. red telefónica: infraestructura usada para transportar señales de voz desde una estación telefónica a otra. red neural: conjunto de neuronas conectadas entre sí. red criminal: conjunto de estafadores complotados (donde hay un estafador, por lo general hay otro). red informática: conjunto de equipos conectados entre sí mediante líneas físicas que intercambian información bajo la forma de datos digitales (valores binarios, es decir valores codificados como una señal que puede representar 0 ó 1). Obviamente, en nuestras carreras trataremos las redes informáticas. No existe un sólo tipo de red, ya que históricamente han existido diferentes tipos de equipos que se han comunicado en varios lenguajes diferentes. La necesidad de contar con múltiples tipos de redes también surge de la heterogeneidad de los medios físicos de transmisión que las une, ya sea que los datos se transfieran de la misma manera (por pulsos eléctricos, haces de luz u ondas electromagnéticas) o que utilicen el mismo tipo de medio físico (como un cable coaxial, pares trenzados o líneas de fibra óptica). ¿POR QUÉ LAS REDES SON IMPORTANTES? Un equipo es una máquina que se usa para manipular datos. Los seres humanos, como seres comunicativos, comprendieron rápidamente porqué sería útil conectar equipos entre sí para intercambiar información. Una red informática puede tener diversos propósitos: Intercambio de recursos (archivos, aplicaciones o hardware, una conexión a Internet, etc.) Comunicación entre personas (correo electrónico, debates en vivo, etc.) Comunicación entre procesos (por ejemplo, entre equipos industriales) Garantía de acceso único y universal a la información (bases de datos en red) Videojuegos de varios jugadores Las redes también se usan para estandarizar aplicaciones. El término Groupware se usa generalmente para referirse a las herramientas que permiten que varias personas Pág. 24 trabajen en una red. Por ejemplo, las agendas grupales y el correo electrónico se pueden usar para comunicar de manera más rápida y eficaz. A continuación se presenta una breve descripción de las ventajas de dichos sistemas: Costos más bajos gracias al uso compartido de datos y de periféricos Estandarización de aplicaciones Acceso a los datos a tiempo Comunicación y organización más eficaces Actualmente, gracias a Internet, presenciamos una unificación de las redes. Por lo tanto, las ventajas de instalar una red son múltiples, ya sea para un comercio o para uso particular. ¿QUÉ SIGNIFICA "TOPOLOGÍA"? Una red informática está compuesta por equipos que están conectados entre sí mediante líneas de comunicación (cables de red, etc.) y elementos de hardware (adaptadores de red y otros equipos que garantizan que los datos viajen correctamente). La configuración física, es decir la configuración espacial de la red, se denomina topología física. Los diferentes tipos de topología son: Topología de bus Topología de estrella Topología en anillo Topología de árbol Topología de malla La topología lógica, a diferencia de la topología física, es la manera en que los datos viajan por las líneas de comunicación. Las topologías lógicas más comunes son Ethernet, Red en anillo y FDDI. TOPOLOGÍA DE BUS La topología de bus es la manera más simple en la que se puede organizar una red. En la topología de bus, todos los equipos están conectados a la misma línea de transmisión mediante un cable, generalmente coaxial. La palabra "bus" hace referencia a la línea física que une todos los equipos de la red. La ventaja de esta topología es su facilidad de implementación y funcionamiento. Sin embargo, esta topología es altamente vulnerable, ya que si una de las conexiones es defectuosa, esto afecta a toda la red. TOPOLOGÍA DE ESTRELLA En la topología de estrella, los equipos de la red están conectados a un hardware denominado concentrador. Es una caja que contiene un cierto número de Pág. 25 sockets a los cuales se pueden conectar los cables de los equipos. Su función es garantizar la comunicación entre esos sockets. A diferencia de las redes construidas con la topología de bus, las redes que usan la topología de estrella son mucho menos vulnerables, ya que se puede eliminar una de las conexiones fácilmente desconectándola del concentrador sin paralizar el resto de la red. El punto crítico en esta red es el concentrador, ya que la ausencia del mismo imposibilita la comunicación entre los equipos de la red. TOPOLOGÍA EN ANILLO En una red con topología en anillo, los equipos se comunican por turnos y se crea un bucle de equipos en el cual cada uno "tiene su turno para hablar" después del otro. En realidad, las redes con topología en anillo no están conectadas en bucles. Están conectadas a un distribuidor (denominado MAU, Unidad de acceso multiestación) que administra la comunicación entre los equipos conectados a él, lo que le da tiempo a cada uno para "hablar". Las dos topologías lógicas principales que usan esta topología física son la red en anillo y la FDDI (interfaz de datos distribuidos por fibra). Pág. 26 DIFERENTES TIPOS DE REDES Se distinguen diferentes tipos de redes (privadas) según su tamaño (en cuanto a la cantidad de equipos), su velocidad de transferencia de datos y su alcance. Las redes privadas pertenecen a una misma organización. Generalmente se dice que existen tres categorías de redes: LAN (Red de área local) MAN (Red de área metropolitana) WAN (Red de área extensa) Existen otros dos tipos de redes: TAN (Red de área diminuta), igual que la LAN pero más pequeña (de 2 a 3 equipos), y CAN (Red de campus), igual que la MAN (con ancho de banda limitado entre cada una de las LAN de la red). LAN LAN significa Red de área local. Es un conjunto de equipos que pertenecen a la misma organización y están conectados dentro de un área geográfica pequeña mediante una red, generalmente con la misma tecnología (la más utilizada es Ethernet). Una red de área local es una red en su versión más simple. La velocidad de transferencia de datos en una red de área local puede alcanzar hasta 10 Mbps (por ejemplo, en una red Ethernet) y 1 Gbps (por ejemplo, en FDDI o Gigabit Ethernet). Una red de área local puede contener 100, o incluso 1000, usuarios. Al extender la definición de una LAN con los servicios que proporciona, se pueden definir dos modos operativos diferentes: En una red "de igual a igual", la comunicación se lleva a cabo de un equipo a otro sin un equipo central y cada equipo tiene la misma función. En un entorno "cliente/servidor", un equipo central brinda servicios de red para los usuarios. MAN Una MAN (Red de área metropolitana) conecta diversas LAN cercanas geográficamente (en un área de alrededor de cincuenta kilómetros) entre sí a alta velocidad. Por lo tanto, una MAN permite que dos nodos remotos se comuniquen como si fueran parte de la misma red de área local. Una MAN está compuesta por conmutadores o routers conectados entre sí mediante conexiones de alta velocidad (generalmente cables de fibra óptica). WAN Una WAN (Red de área extensa) conecta múltiples LAN entre sí a través de grandes distancias geográficas. La velocidad disponible en una WAN varía según el costo de las conexiones (que aumenta con la distancia) y puede ser baja. Las WAN funcionan con routers, que pueden "elegir" la ruta más apropiada para que los datos lleguen a un nodo de la red. La WAN más conocida es Internet. Pág. 27 INTRODUCCIÓN AL DISEÑO WEB INTERNET En muy pocos años Internet ha pasado de ser un sistema para técnicos informáticos a convertirse en un medio habitual de comunicación y distribución de información. El correo electrónico ha sustituido rápidamente al correo tradicional, por sus ventajas económicas y de inmediatez. Internet es el lugar donde buscamos información en primera instancia. Todas las empresas tienen que introducir su información en la red, para no contar con una desventaja frente a sus competidores. La nueva disciplina del diseño web ha trastocado el mundo profesional del diseño gráfico, por las complicaciones técnicas que se suman a la problemática tradicional del diseño y la comunicación visual. El medio se ha transformado rápidamente, desde unos años iniciales de balbuceos y tremenda confusión, hasta alcanzar una relativa madurez, con normas implícitas de diseño que facilitan el uso universal. El sistema de Internet se concibió en círculos muy especializados, para un uso militar primero, y luego para el intercambio de información científica. Dentro de DARPA (institución de defensa americana) se creó la primera red con intercambio de paquetes, la tecnología que utilizamos en la actualidad. En el CERN (centro de investigación suizo) se inventó el modelo de páginas web interrelacionadas, que es la base de nuestros navegadores actuales. Este origen tan técnico, no pensado para un uso generalizado, por personas sin una base adecuada, ha determinado la forma en que funciona la red actual, con sus complicaciones y limitaciones. Internet no se concibió para servir de medio de comunicación masivo, con distribución de contenidos de todo tipo, por lo que ha tenido que adaptarse a la fuerza a este cometido, a menudo empleando trucos y mal utilizando la tecnología existente. El diseño de páginas web ha sufrido una transformación vertiginosa, desde unos primeros balbuceos que trataban de obtener algún resultado aceptable dentro de los límites técnicos, pasando por una etapa de explosión gráfica, hasta los sistemas actuales, muy automatizados y estandarizados. Aún así, todavía hay un lugar importante para un diseño gráfico maduro, adaptado a las necesidades particulares de cada proyecto. LA TECNOLOGÍA DE LA RED Internet está basado en la tecnología TCP/IP, que permite transmitir información de una computadora a otra, troceada en forma de pequeños paquetes. Estos paquetes pueden circular por la red, por diversas computadoras, hasta encontrar su punto de destino. Este sistema permite redes complejas, que no tienen que ser prediseñadas al milímetro, sino que pueden crecer libremente. Así la tecnología ha crecido hasta incorporarse a la mayoría de las computadoras existente. Otra ventaja es que podemos utilizar este sistema de transferencia de paquetes para adaptarlo a distintas necesidades. De este modo, se crean distintos protocolos, que permiten enviar correo electrónico (POP), visualizar páginas web (WWW), transferir archivos (FTP), distribuir radio o video, o incluso hablar por teléfono a través de la red. Cada protocolo permite manejar la información de forma diferente, y este sistema hace que Internet haya crecido, creando nuevos servicios cuando aparecen las necesidades específicas. Otros protocolos como Finger, Gopher o Wais ya no se utilizan, al haber encontrado métodos más eficaces para resolver esas funciones de búsqueda y distribución de información. Pág. 28 HTML: ORIGEN Y FUNCIÓN Lo que conocemos como la web (World Wide Web) está basado en el lenguaje HTML. Se trata de un lenguaje que permite escribir páginas de texto, con formato, incluyendo algunos elementos como imágenes añadidas. No es un lenguaje de programación, sino un lenguaje de descripción de página, parecido al EPS, que utiliza ciertas marcas (tags) para definir la apariencia de cada elemento. Además de definir la apariencia, permite establecer enlaces (links) entre unas páginas y otras, permitiendo la navegación entre contenidos relacionados. Este concepto de hipertexto se había experimentado con anterioridad, en distintos sistemas y programas, notablemente con HyperCard, pero el concepto no había llegado a cuajar suficientemente. La combinación de la red y el HTML permitió que toda la información científica, hasta el momento confinada a los archivos de cada laboratorio o universidad, pudiera, de repente, conectarse, facilitando la difusión de publicaciones y resultados de experimentos. El lenguaje HTML está concebido como sistema para definir la importancia de los contenidos, con marcas para el título de un trabajo y los encabezamientos más importantes, así como citas y bibliografía. Éstas marcas, que destacan la relevancia del contenido, para facilitar el trabajo de búsqueda y organización de la información, conviven con otras marcas que solo tienen efectos cosméticos, como indicar si la tipografía es mayor o menor. Cuando los diseñadores comienzan a crear páginas utilizando HTML, descartan las marcas de importancia del contenido y se centran en el uso y el abuso de las marcas cosméticas, que les permiten controlar mejor el aspecto visual de la página. De este modo, se desvirtúa el lenguaje HTML, y empieza a utilizarse para algo para lo que no se inventó, o sea para el diseño gráfico. Recientemente se intenta introducir la tecnología XHTML que recupera ese enfoque original, marcando la información por su significado e importancia, y separando los de su aspecto visual. CONCEPTOS BÁSICOS DE IMAGEN DIGITAL Antes de estudiar los procedimientos más habituales de optimización y tratamiento de imágenes es conveniente repasar algunas ideas clave relacionadas con la imagen digital. EL PÍXEL El píxel es la unidad mínima de visualización de una imagen digital. Si aplicamos el zoom sobre ella observaremos que está formada por una parrilla de puntos o píxeles. Las cámaras digitales y los escáneres capturan las imágenes en forma de cuadrícula de píxeles. Pág. 29 RESOLUCIÓN DE IMAGEN Es el grado de detalle o calidad de una imagen digital ya sea escaneada, fotografiada o impresa. Este valor se expresa en ppp (píxeles por pulgada) o en inglés dpi (dots per inch). Cuantos más píxeles contenga una imagen por pulgada lineal, mayor calidad tendrá. La resolución de un monitor se refiere al número de píxeles por pulgada que es capaz de mostrar. La resolución de una pantalla de ordenador PC es de 72 ppp. En una impresora se habla del número de puntos por pulgada que puede imprimir: 600, 1200, etc. Algunos escáneres suelen producir imágenes con una resolución por defecto de 200 ppp. Las cámaras digitales prestan una calidad que se expresa en MegaPíxels. Así por ejemplo una cámara de 8 MP es aquella capaz de tomar una fotografía con 8 millones de píxeles. PROFUNDIDAD DE COLOR La profundidad de color se refiere al número de bits necesarios para codificar y guardar la información de color de cada píxel en una imagen. Un bit es una posición de memoria que puede tener el valor 0 ó 1. Cuanto mayor sea la profundidad de color en bits, la imagen dispondrá de una paleta de colores más amplia. Se utiliza 1-bit para imágenes en blanco/negro, sin grises (0=color negro, 1= color blanco), 2-bits = 4 colores (00=color negro, 01=color X, 10=color Y, 11=color blanco), 3-bits = 8 colores, ..., 8-bits = 256 colores, ..., 24-bits = 16.7 millones de colores. 1 bit (21) = 2 tonos 2 bits (22) = 4 tonos 3 bits (23) = 8 tonos 4 bits (24) = 16 tonos 8 bits (28) = 256 tonos 16 bits (216) = 65.536 tonos 24 bits (224) = 16,7 millones de tonos Llamamos MODO DE COLOR al sistema de coordenadas que nos permiten describir el color de cada píxel utilizando valores numéricos. Los modos de color más utilizados son: • Modo monocromático. Se corresponde con una profundidad de color de 1 bit. La imagen está formada por píxeles blancos o píxeles negros puros. Pág. 30 • Modo Escala de Grises. Maneja el canal negro y permite 256 tonos de gris entre el blanco y negro puros. • Modo Color indexado. Utiliza un canal de color indexado de 8 bits pudiendo obtener con ello hasta un máximo de 256 colores (28). • Modo RGB. Cada color se forma por combinación de tres canales. Cada canal se corresponde con un color primario: Red (rojo), Green (verde), y Blue (azul). Asigna un valor de intensidad a cada color que oscila entre 0 y 255. De la combinación surgen hasta 16,7 millones de colores. Ejemplo: El valor R:255, G:0, B:0 representa al color rojo puro. Sistema de colores usado en monitores. (Colores luz) • Modo CMYK. Cada color se forma por combinación de cuatro canales. Cada canal se corresponde con un color primario de impresión: Cyan (Ciano), Magent (Magenta), Yellow (Amarillo) y BlacK (Negro). Cada canal puede tener como valor entre 0 y 255. Se trata de imágenes con una profundidad de color de 32 bits. Sistema de colores usado en impresoras. FORMATOS DE IMAGEN Las imágenes digitales se pueden guardar en distintos formatos. Cada uno se corresponde con una extensión específica del archivo que lo contiene. Los más utilizados en la actualidad son: BMP, GIF, JPG, TIF y PNG. BMP (Bitmap = Mapa de bits) Ha sido muy utilizado porque fue desarrollado para aplicaciones Windows. La imagen se forma mediante una parrilla de píxeles. El formato BMP no sufre pérdidas de calidad y por tanto resulta adecuado para guardar imágenes que se desean manipular posteriormente. Ventaja: Guarda gran cantidad de información de la imagen. Inconveniente: El archivo tiene un tamaño muy grande. GIF (Graphics Interchange Format = Formato de Intercambio Gráfico). Ha sido diseñado específicamente para comprimir imágenes digitales. Pág. 31 Reduce la paleta de colores a 256 colores como máximo (profundidad de color de 8 bits). Admite gamas de menor número de colores y esto permite optimizar el tamaño del archivo que contiene la imagen. Ventaja: Es un formato idóneo para publicar dibujos en la web. Inconveniente: No es recomendable para fotografías de cierta calidad ni originales ya que el color real o verdadero utiliza una paleta de más de 256 colores. JPG-JPEG (Joint Photographic Experts Group = Grupo de Expertos Fotográficos Unidos). A diferencia del formato GIF, admite una paleta de hasta 16 millones de colores. Es el formato más común junto con el GIF para publicar imágenes en la web. La compresión JPEG puede suponer cierta pérdida de calidad en la imagen. En la mayoría de los casos esta pérdida se puede asumir porque permite reducir el tamaño del archivo y su visualización es aceptable. Es recomendable utilizar una calidad del 60-90 % del original. Cada vez que se modifica y guarda un archivo JPEG, se puede perder algo de su calidad si se define cierto factor de compresión. Las cámaras digitales suelen almacenar directamente las imágenes en formato JPEG con máxima calidad y sin compresión. Ventaja: Es ideal para publicar fotografías en la web siempre y cuando se configuren adecuadamente dimensiones y compresión. Inconveniente: Si se define un factor de compresión se pierde calidad. Por este motivo no es recomendable para archivar originales. TIF-TIFF (Tagged Image File Format = Formato de Archivo de Imagen Etiquetada). Almacena imágenes de una calidad excelente. Utiliza cualquier profundidad de color de 1 a 32 bits. Es el formato ideal para editar o imprimir una imagen. Ventaja: Es ideal para archivar archivos originales. Inconveniente: Produce archivos muy grandes. PNG (Portable Network Graphic = Gráfico portable para la red). Es un formato de reciente difusión alternativo al GIF. Tiene una tasa de compresión superior al formato GIF (+10%) Admite la posibilidad de emplear un número de colores superior a los 256 que impone el GIF. Debido a su reciente aparición sólo es soportado en navegadores modernos como IE 4 o superior. Pág. 32 En la siguiente tabla se recogen las características diferenciales más significativas de los tres formatos de imagen recomendados para publicar una imagen en la web. CONSEJOS PARA LA OPTIMIZACIÓN DE IMÁGENES En este apartado se exponen algunos consejos sobre el tratamiento de imágenes para el diseño web: 1. Al crear una página web interesa que los archivos que contienen las imágenes sean lo menos pesados posibles para agilizar su descarga y visualización por Internet. 2. El tamaño de un archivo gráfico viene determinado por las dimensiones de la imagen, su resolución, el número de colores y el formato (JPG, GIF, PNG). 3. Crea y guarda imágenes en resolución no superior a 72 ppp. Es la resolución que se suele usar en las pantallas de computadora. No merece la pena optar por valores mayores ya que aumenta considerablemente el peso del archivo a descargar y el usuario no lo aprecia. Si la imagen se diseña para imprimir entonces debemos optar por una resolución entre 200-300 ppp. 4. En ocasiones puede interesar reducir el número de colores de la paleta porque ello supone reducir el tamaño del archivo. 5. Conviene utilizar un programa de edición gráfica para definir las dimensiones concretas de la imagen antes de insertarla en la página web. Pág. 33