Está en la página 1de 184

Historia de la Computación

COMPUTADORA

Máquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal manera, que se
realice un procesamiento sobre un conjunto de datos de entrada, obteniéndose otro conjunto de datos de
salida.

TIPOS DE COMPUTADORAS

Se clasifican de acuerdo al principio de operación de Analógicas y Digitales.


 COMPUTADORA ANALÓGICA

Aprovechando el hecho de que diferentes fenómenos físicos se describen por relaciones


matemáticas similares (v.g. Exponenciales, Logarítmicas, etc.) pueden entregar la solución muy
rápidamente. Pero tienen el inconveniente que al cambiar el problema a resolver, hay que re
alambrar la circuitería (cambiar el Hardware).

 COMPUTADORA DIGITAL

Están basadas en dispositivos biestables, i.e., que sólo pueden tomar uno de dos valores posibles:
‘1’ ó ‘0’. Tienen como ventaja, el poder ejecutar diferentes programas para diferentes problemas, sin
tener que la necesidad de modificar físicamente la máquina.

HISTORIA DE LA COMPUTACIÓN

Uno de los primeros dispositivos mecánicos para contar fue el ábaco, cuya historia se remonta a las
antiguas civilizaciones griega y romana. Este dispositivo es muy sencillo, consta de cuentas ensartadas en
varillas que a su vez están montadas en un marco rectangular. Al desplazar las cuentas sobre varillas, sus
posiciones representan valores almacenados, y es mediante dichas posiciones que este representa y
almacena datos. A este dispositivo no se le puede llamar computadora por carecer del elemento
fundamental llamado programa.
Otro de los inventos mecánicos fue la Pascalina inventada por Blaise Pascal (1623 - 1662) de Francia y la
de Gottfried Wilhelm von Leibniz (1646 - 1716) de Alemania. Con estas máquinas, los datos se
representaban mediante las posiciones de los engranajes, y los datos se introducían manualmente
estableciendo dichas posiciones finales de las ruedas, de manera similar a como leemos los números en el
cuentakilómetros de un automóvil.

1
La primera computadora fue la máquina analítica creada por Charles Babbage, profesor matemático de la
Universidad de Cambridge en el siglo XIX. La idea que tuvo Charles Babbage sobre un computador nació
debido a que la elaboración de las tablas matemáticas era un proceso tedioso y propenso a errores. En
1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo

mecánico para efectuar sumas repetidas.

Mientras tanto Charles Jacquard (francés), fabricante de tejidos, había creado un telar que podía reproducir
automáticamente patrones de tejidos leyendo la información codificada en patrones de agujeros perforados
en tarjetas de papel rígido. Al enterarse de este método Babbage abandonó la máquina de diferencias y se
dedico al proyecto de la máquina analítica que se pudiera programar con tarjetas perforadas para efectuar
cualquier cálculo con una precisión de 20 dígitos. La tecnología de la época no bastaba para hacer realidad
sus ideas.
El mundo no estaba listo, y no lo estaría por cien años más.
En 1944 se construyó en la Universidad de Harvard, la Mark I, diseñada por un equipo encabezado por
Howard H. Aiken. Esta máquina no está considerada como computadora electrónica debido a que no era de
propósito general y su funcionamiento estaba basado en dispositivos electromecánicos llamados
relevadores.
En 1947 se construyó en la Universidad de Pennsylvania la ENIAC (Electronic Numerical Integrator And
Calculator) que fue la primera computadora electrónica, el equipo de diseño lo encabezaron los ingenieros
John Mauchly y John Eckert. Esta máquina ocupaba todo un sótano de la Universidad, tenía más de 18 000
tubos de vacío, consumía 200 KW de energía eléctrica y requería todo un sistema de aire acondicionado,

pero tenía la capacidad de realizar cinco mil operaciones aritméticas en un segundo.


El proyecto, auspiciado por el departamento de Defensa de los Estados Unidos, culminó dos años después,
cuando se integró a ese equipo el ingeniero y matemático húngaro John von Neumann (1903 - 1957). Las
ideas de von Neumann resultaron tan fundamentales para su desarrollo posterior, que es considerado el
padre de las computadoras.

2
La EDVAC (Electronic Discrete Variable Automatic Computer) fue diseñada por este nuevo equipo. Tenía
aproximadamente cuatro mil bulbos y usaba un tipo de memoria basado en tubos llenos de mercurio por
donde circulaban señales eléctricas sujetas a retardos.
La idea fundamental de von Neumann fue: permitir que en la memoria coexistan datos con instrucciones,
para que entonces la computadora pueda ser programada en un lenguaje, y no por medio de alambres que
eléctricamente interconectaban varias secciones de control, como en la ENIAC.
Todo este desarrollo de las computadoras suele divisarse por generaciones y el criterio que se determinó
para determinar el cambio de generación no está muy bien definido, pero resulta aparente que deben
cumplirse al menos los siguientes requisitos:
 La forma en que están construidas.

 Forma en que el ser humano se comunica con ellas.

Primera Generación

En esta generación había un gran desconocimiento de las capacidades de las computadoras, puesto que se
realizó un estudio en esta época que determinó que con veinte computadoras se saturaría el mercado de los
Estados Unidos en el campo de procesamiento de datos.
Esta generación abarco la década de los cincuenta. Y se conoce como la primera generación. Estas
máquinas tenían las siguientes características:
 Estas máquinas estaban construidas por medio de tubos de vacío.

 Eran programadas en lenguaje de máquina.

En esta generación las máquinas son grandes y costosas (de un costo aproximado de ciento de miles de
dólares).
En 1951 aparece la UNIVAC (UNIVERSAL Computer), fue la primera computadora comercial, que disponía
de mil palabras de memoria central y podían leer cintas magnéticas, se utilizó para procesar el censo de
1950 en los Estados Unidos.

En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas perforadas, retomadas por
Herman Pollerita (1860 - 1929), quien además fundó una compañía que con el paso del tiempo se conocería
como IBM (International Bussines Machines).
Después se desarrolló por IBM la IBM 701 de la cual se entregaron 18 unidades entre 1953 y 1957.

3
Posteriormente, la compañía Remington Rand fabricó el modelo 1103, que competía con la 701 en el campo
científico, por lo que la IBM desarrollo la 702, la cual presentó problemas en memoria, debido a esto no duró
en el mercado.
La computadora más exitosa de la primera generación fue la IBM 650, de la cual se produjeron varios
cientos. Esta computadora que usaba un esquema de memoria secundaria llamado tambor magnético, que
es el antecesor de los discos actuales.
Otros modelos de computadora que se pueden situar en los inicios de la segunda generación son: la
UNIVAC 80 y 90, las IBM 704 y 709, Burroughs 220 y UNIVAC 1105.

Segunda Generación

Cerca de la década de 1960, las computadoras seguían evolucionando, se reducía su tamaño y crecía su
capacidad de procesamiento. También en esta época se empezó a definir la forma de comunicarse con las
computadoras, que recibía el nombre de programación de sistemas.
Las características de la segunda generación son las siguientes:
 Están construidas con circuitos de transistores.

 Se programan en nuevos lenguajes llamados lenguajes de alto nivel.

En esta generación las computadoras se reducen de tamaño y son de menor costo. Aparecen muchas
compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y
la ATLAS de la Universidad de Manchester.
Algunas de estas computadoras se programaban con cintas perforadas y otras más por medio de cableado
en un tablero. Los programas eran hechos a la medida por un equipo de expertos: analistas, diseñadores,
programadores y operadores que se manejaban como una orquesta para resolver los problemas y cálculos
solicitados por la administración. El usuario final de la información no tenía contacto directo con las
computadoras. Esta situación en un principio se produjo en las primeras computadoras personales, pues se
requería saberlas “programar” (alimentarle instrucciones) para obtener resultados; por lo tanto su uso estaba
limitado a aquellos audaces pioneros que gustaran de pasar un buen número de horas escribiendo
instrucciones, “corriendo” el programa resultante y verificando y corrigiendo los errores o bugs que
aparecieran. Además, para no perder el “programa” resultante había que “guardarlo” (almacenarlo) en una
grabadora de Casette, pues en esa época no había discos flexibles y mucho menos discos duros para las
PC; este procedimiento podía tomar de 10 a 45 minutos, según el programa. El panorama se modificó
totalmente con la aparición de las computadoras personales con mejore circuitos, más memoria, unidades
de disco flexible y sobre todo con la aparición de programas de aplicación general en donde el usuario
compra el programa y se pone a trabajar. Aparecen los programas procesadores de palabras como el
célebre Word Star, la impresionante hoja de cálculo (spreadsheet) Visicalc y otros más que de la noche a la
mañana cambian la imagen de la PC. El software empieza a tratar de alcanzar el paso del hardware. Pero
aquí aparece un nuevo elemento: el usuario.

El usuario de las computadoras va cambiando y evolucionando con el tiempo. De estar totalmente


desconectado a ellas en las máquinas grandes pasa la PC a ser pieza clave en el diseño tanto del hardware

4
como del software. Aparece el concepto de human interface que es la relación entre el usuario y su
computadora. Se habla entonces de hardware ergonómico (adaptado a las dimensiones humanas para
reducir el cansancio), diseños de pantallas antirreflejos y teclados que descansen la muñeca. Con respecto
al software se inicia una verdadera carrera para encontrar la manera en que el usuario pase menos tiempo
capacitándose y entrenándose y más tiempo produciendo. Se ponen al alcance programas con menús
(listas de opciones) que orientan en todo momento al usuario (con el consiguiente aburrimiento de los
usuarios expertos); otros programas ofrecen toda una artillería de teclas de control y teclas de funciones
(atajos) para efectuar toda suerte de efectos en el trabajo (con la consiguiente desorientación de los
usuarios novatos). Se ofrecen un sinnúmero de cursos prometiendo que en pocas semanas hacen de
cualquier persona un experto en los programas comerciales. Pero el problema “constante” es que ninguna
solución para el uso de los programas es “constante”. Cada nuevo programa requiere aprender nuevos
controles, nuevos trucos, nuevos menús. Se empieza a sentir que la relación usuario-PC no está acorde con
los desarrollos del equipo y de la potencia de los programas. Hace falta una relación amistosa entre el
usuario y la PC.

Las computadoras de esta generación fueron: la Philco 212 (esta compañía se retiró del mercado en 1964)
y la UNIVAC M460, la Control Data Corporation modelo 1604, seguida por la serie 3000, la IBM mejoró la
709 y sacó al mercado la 7090, la National Cash Register empezó a producir máquinas para proceso de
datos de tipo comercial, introdujo el modelo NCR 315.
La Radio Corporation of América introdujo el modelo 501, que manejaba el lenguaje COBOL, para procesos
administrativos y comerciales. Después salió al mercado la RCA 601.

Tercera generación

Con los progresos de la electrónica y los avances de comunicación con las computadoras en la década de
los 1960, surge la tercera generación de las computadoras. Se inaugura con la IBM 360 en abril de 1964.3

Las características de esta generación fueron las siguientes:


 Su fabricación electrónica está basada en circuitos integrados.

 Su manejo es por medio de los lenguajes de control de los sistemas operativos.

 Se introducen los discos magneticos.

5
La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75, 85, 90, 195 que utilizaban
técnicas especiales del procesador, unidades de cinta de nueve canales, paquetes de discos magnéticos y
otras características que ahora son estándares (no todos los modelos usaban estas técnicas, sino que
estaba dividido por aplicaciones).
El sistema operativo de la serie 360, se llamó OS que contaba con varias configuraciones, incluía un
conjunto de técnicas de manejo de memoria y del procesador que pronto se convirtieron en estándares.
En 1964 CDC introdujo la serie 6000 con la computadora 6600 que se consideró durante algunos años
como la más rápida.
En la década de 1970, la IBM produce la serie 370 (modelos 115, 125, 135, 145, 158, 168). UNIVAC
compite son los modelos 1108 y 1110, máquinas en gran escala; mientras que CDC produce su serie 7000
con el modelo 7600. Estas computadoras se caracterizan por ser muy potentes y veloces.
A finales de esta década la IBM de su serie 370 produce los modelos 3031, 3033, 4341. Burroughs con su
serie 6000 produce los modelos 6500 y 6700 de avanzado diseño, que se reemplazaron por su serie 7000.
Honey - Well participa con su computadora DPS con varios modelos.
A mediados de la década de 1970, aparecen en el mercado las computadoras de tamaño mediano, o
minicomputadoras que no son tan costosas como las grandes (llamadas también como mainframes que
significa también, gran sistema), pero disponen de gran capacidad de procesamiento. Algunas
minicomputadoras fueron las siguientes: la PDP - 8 y la PDP - 11 de Digital Equipment Corporation, la VAX
(Virtual Address eXtended) de la misma compañía, los modelos NOVA y ECLIPSE de Data General, la serie
3000 y 9000 de Hewlett - Packard con varios modelos el 36 y el 34, la Wang y Honey - Well -Bull, Siemens
de origen alemán, la ICL fabricada en Inglaterra. En la Unión Soviética se utilizó la US (Sistema Unificado,
Ryad) que ha pasado por varias generaciones.

Cuarta Generación

Aquí aparecen los microprocesadores que es un gran adelanto de la microelectrónica, son circuitos
integrados de alta densidad y con una velocidad impresionante. Las microcomputadoras con base en estos
circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado industrial. Aquí
nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la

sociedad en general sobre la llamada “revolución informática”.


En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso masivo y más tarde
forman la compañía conocida como la Apple que fue la segunda compañía más grande del mundo,
antecedida tan solo por IBM; y esta por su parte es aún de las cinco compañías más grandes del mundo.

6
En 1981 se vendieron 800 00 computadoras personales, al siguiente subió a 1 400 000. Entre 1984 y 1987
se vendieron alrededor de 60 millones de computadoras personales, por lo que no queda duda que su
impacto y penetración han sido enormes.
Con el surgimiento de las computadoras personales, el software y los sistemas que con ellas de manejan
han tenido un considerable avance, porque han hecho más interactiva la comunicación con el usuario.
Surgen otras aplicaciones como los procesadores de palabra, las hojas electrónicas de cálculo, paquetes
gráficos, etc. También las industrias del Software de las computadoras personales crece con gran rapidez,
Gary Kildall y William Gates se dedicaron durante años a la creación de sistemas operativos y métodos para
lograr una utilización sencilla de las microcomputadoras (son los creadores de CP/M y de los productos de
Microsoft).
No todo son microcomputadoras, por supuesto, las minicomputadoras y los grandes sistemas continúan en
desarrollo. De hecho las máquinas pequeñas rebasaban por mucho la capacidad de los grandes sistemas
de 10 o 15 años antes, que requerían de instalaciones costosas y especiales, pero sería equivocado
suponer que las grandes computadoras han desaparecido; por el contrario, su presencia era ya ineludible
en prácticamente todas las esferas de control gubernamental, militar y de la gran industria. Las enormes
computadoras de las series CDC, CRAY, Hitachi o IBM por ejemplo, eran capaces de atender a varios
cientos de millones de operaciones por segundo.

Quinta Generación

En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner


también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Surge
la competencia internacional por el dominio del mercado de la computación, en la que se perfilan dos líderes
que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la
computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes de control especializados.
Japón lanzó en 1983 el llamado “programa de la quinta generación de computadoras”, con los objetivos
explícitos de producir máquinas con innovaciones reales en los criterios mencionados. Y en los Estados
Unidos ya está en actividad un programa en desarrollo que persigue objetivos semejantes, que pueden
resumirse de la siguiente manera:
 Procesamiento en paralelo mediante arquitecturas y diseños especiales y circuitos de gran
velocidad.

 Manejo de lenguaje natural y sistemas de inteligencia artificial.

El futuro previsible de la computación es muy interesante, y se puede esperar que esta ciencia siga siendo
objeto de atención prioritaria de gobiernos y de la sociedad en conjunto.

MODELO DE VON NEUMANN

7
Las computadoras digitales actuales se ajustan al modelo propuesto por el matemático John Von Neumann.
De acuerdo con él, una característica importante de este modelo es que tanto los datos como los
programas, se almacenan en la memoria antes de ser utilizados.

ESTRUCTURA DE UN PC

Unidad central de Unidad de salida


Unidad de
procesamiento
entrada

Unidad de almacenamiento masivo o secundario

Visto externamente, un PC tiene cuatro partes básicas: la unidad central o CPU, el teclado, el ratón y el
monitor. Me centraré en las diferentes zonas, componentes y unidades de la CPU. Más adelante analizaré
los otros componentes y periféricos.
Dentro de la caja o torre de la unidad central (en adelante CPU), encontraremos los siguientes
componentes:

PLACA BASE

También llamada placa madre o placa principal. Es el nexo de unión de todos los componentes, y por
ella circula toda la información procesada por el ordenador. es el elemento principal de todo ordenador, en
el que se encuentran o al que se conectan todos los demás aparatos y dispositivos.
Pasemos a analizarla más detalladamente viendo su forma física y los componentes que la forman.

8
Las placas base existen en diferentes formas y con diversos conectores para periféricos. Para abaratar
costes permitiendo la intercambiabilidad entre placas base, los fabricantes han ido definiendo varios
estándares que agrupan recomendaciones sobre su tamaño y la disposición de los elementos sobre ellas.
De cualquier forma, el hecho de que una placa pertenezca a una u otra categoría no tiene nada que ver, al
menos en teoría, con sus prestaciones ni calidad. La expuesta se trata del formato ATX, es el más común, y
es en el que me centraré
Físicamente, se trata de una "oblea" de material sintético, sobre la cual existe un circuito electrónico que
conecta diversos elementos que se encuentran anclados sobre ella; los principales son:
 El microprocesador, "pinchado" en un elemento llamado zócalo.
 La memoria, generalmente en forma de módulos.
 Los slots o ranuras de expansión donde se conectan las tarjetas.
 Diversos chips de control, entre ellos la BIOS.

Microprocesador

El microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un tipo de


componente electrónico en cuyo interior existen miles (o millones) de elementos llamados transistores, cuya
combinación permite realizar el trabajo que tenga encomendado el chip.

9
Los micros, suelen tener forma de cuadrado o rectángulo negro, y van sobre un elemento llamado
zócalo (socket en inglés), soldados en la placa o, metidos dentro de una especie de cartucho que se
conecta a la placa base (aunque el chip en sí está soldado en el interior de dicho cartucho).
La velocidad de un micro se mide en megahercios (MHz). Debido a la extrema dificultad de fabricar
componentes electrónicos que funcionen a las inmensas velocidades de MHz habituales hoy en día, todos
los micros modernos tienen 2 velocidades:
 Velocidad interna: la velocidad a la que funciona el micro internamente (200, 333, 450... MHz).
 Velocidad externa o de bus: o también "FSB"; la velocidad con la que se comunican el micro y la
placa base, para poder abaratar el precio de ésta. Típicamente, 33, 60, 66, 100 ó 133 MHz.

La cifra por la que se multiplica la velocidad externa o de la placa para dar la interna o del micro es
el multiplicador; por ejemplo, un Pentium III a 450 MHz utiliza una velocidad de bus de 100 MHz y un
multiplicador 4,5x.

Partes de un microprocesador

En un micro podemos diferenciar diversas partes:

 El encapsulado: Es lo que rodea a la oblea de silicio en sí, para darle consistencia, impedir su
deterioro (por ejemplo por oxidación con el aire) y permitir el enlace con los conectores externos que
lo acoplarán a su zócalo o a la placa base.
 La memoria caché: Una memoria ultrarrápida que sirve al micro para tener a mano ciertos datos
que previsiblemente serán utilizados en las siguientes operaciones sin tener que acudir a la
memoria RAM, reduciendo el tiempo de espera. Es lo que se conoce como caché de primer nivel o
L1; es decir, la que está más cerca del micro, tanto que está encapsulada junto a él. Todos los
micros tipo Intel desde el 486 tienen esta memoria, también llamada caché interna.
 El coprocesador matemático: Más correctamente, la FPU, (Unidad de coma Flotante). Parte del
micro especializada en esa clase de cálculos matemáticos; también puede estar en el exterior del
micro, en otro chip.
 El resto del micro: El cual tiene varias partes (unidad de enteros, registros, etc.) que no merece la
pena detallar aquí.

Zócalo del microprocesador

Es el lugar donde se inserta el "cerebro" del ordenador. Veamos en detalle los tipos más comunes de
zócalo:

 PGA: Son el modelo clásico, usado en el 386 y el 486; consiste en un cuadrado de conectores en
forma de agujero donde se insertan las patitas del chip por pura presión. Según el chip, tiene más o
menos agujeritos.

10
 ZIF: Eléctricamente es como un PGA, aunque gracias a un sistema mecánico permite introducir el
micro sin necesidad de fuerza alguna. Apareció en la época del 486 y sus distintas versiones
(sockets 3, 5 y 7, principalmente) se han utilizado hasta que apareció el Pentium II. Actualmente se
fabrican tres tipos de zócalos ZIF:
o Socket 7 "Súper 7": Variante del Socket 7 que se caracteriza por poder usar velocidades
de bus de hasta 100 MHz, es el que utilizan los micros AMD K6-2.
o Socket 370 o PGA370: Físicamente similar al anterior, pero incompatible con él por utilizar
un bus distinto. Dos versiones: PPGA (la más antigua, sólo para micros Intel Celeron
Mendocino) y FC-PGA (para Celeron y los más recientes Pentium III).
o Socket A: Utilizado únicamente por los más recientes AMD K7 Athlon y por los AMD Duron.
 Slot 1: Físicamente, no se parece a nada de lo anterior. En vez de un rectángulo con agujeros para
las patitas del chip, es un slot, una especie de conector alargado como los ISA o PCI.
 Slot A: La respuesta de AMD al Slot 1; físicamente ambos "slots" son idénticos, pero lógica y
eléctricamente son totalmente incompatibles. Utilizado únicamente por el AMD K7 Athlon.
 Otros: En ocasiones, no existe zócalo en absoluto, sino que el chip está soldado a la placa, en cuyo
caso a veces resulta hasta difícil de reconocer. Es el caso de muchos 8086, 286 y 386SX.
O bien se trata de chips antiguos (esos 8086 o 286), que tienen forma rectangular alargada
(parecida a la del chip de BIOS) y patitas planas en vez de redondas; en este caso, el zócalo es
asimismo rectangular, del modelo que se usa para multitud de chips electrónicos de todo tipo.

Ranuras de memoria (RAM)

Son los conectores de la memoria principal del ordenador, la RAM.

Antiguamente, los chips de RAM se colocaban uno a uno sobre la placa, de la forma en que aún se
hace en las tarjetas de vídeo, lo cual no era una buena idea debido al número de chips que podía llegar a
ser necesario y a la delicadeza de los mismos; por ello, se agruparon varios chips de memoria soldados a
una plaquita, dando lugar a lo que se conoce como módulo.
Estos módulos han ido variando en tamaño, capacidad y forma de conectarse; al comienzo los
había que se conectaban a la placa mediante unas patitas muy delicadas, lo cual se desechó del todo hacia
la época del 386 por los llamados módulos SIMM, que tienen los conectores sobre el borde del módulo.
Los SIMM originales tenían 30 conectores, esto es, 30 contactos, y medían unos 8,5 cm. Hacia
finales de la época del 486 aparecieron los de 72 contactos, más largos: unos 10,5 cm. Este proceso ha
seguido hasta desembocar en los actuales módulos DIMM, de 168 contactos y 13 cm.

11
La memoria principal o RAM ( Random Access Memory, Memoria de Acceso Aleatorio) es donde
el ordenador guarda los datos que está utilizando en el momento presente; son los "megas" famosos en
número de 32, 64 ó 128 que aparecen en los anuncios de ordenadores.
Físicamente, los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas
plaquitas con "pines" o contactos.
La diferencia entre la RAM y otros tipos de memoria de almacenamiento,
como los disquetes o los discos duros, es que la RAM es mucho más rápida, y
que se borra al apagar el ordenador, no como éstos.

Tipos de RAM

Tipos de memorias RAM


DRAM: acrónimo de “Dynamic Random Access Memory”, o simplemente RAM ya que es la original, y por
tanto la más lenta.
Usada hasta la época del 386, su velocidad de refresco típica es de 80 ó 70 nanosegundos (ns), tiempo éste
que tarda en vaciarse para poder dar entrada a la siguiente serie de datos. Por ello, la más rápida es la de
70 ns. Físicamente, aparece en forma de DIMM o de SIMM, siendo estos últimos de 30 contactos.
FPM (Fast Page Mode): a veces llamada DRAM, puesto que evoluciona directamente de ella, y se usa
desde hace tanto que pocas veces se las diferencia. Algo más rápida, tanto por su estructura (el modo de
Página Rápida) como por ser de 70 ó 60 ns. Es lo que se da en llamar la RAM normal o estándar. Usada
hasta con los primeros Pentium, físicamente aparece como SIMM de 30 ó 72 contactos (los de 72 en los
Pentium y algunos 486).
Para acceder a este tipo de memoria se debe especificar la fila (página) y seguidamente la columna. Para
los sucesivos accesos de la misma fila sólo es necesario especificar la columna, quedando la columna
seleccionada desde el primer acceso. Esto hace que el tiempo de acceso en la misma fila (página) sea
mucho más rápido. Era el tipo de memoria normal en los ordenadores 386, 486 y los primeros Pentium y
llegó a alcanzar velocidades de hasta 60 ns. Se presentaba en módulos SIMM de 30 contactos (16 bits)
para los 386 y 486 y en módulos de 72 contactos (32 bits) para las últimas placas 486 y las placas para
Pentium.
EDO o EDO-RAM: Extended Data Output-RAM. Evoluciona de la FPM. Permite empezar a introducir
nuevos datos mientras los anteriores están saliendo (haciendo su Output), lo que la hace algo más rápida
(un 5%, más o menos). Mientras que la memoria tipo FPM sólo podía acceder a un solo byte (una
instrucción o valor) de información de cada vez, la memoria EDO permite mover un bloque completo de
memoria a la caché interna del procesador para un acceso más rápido por parte de éste. La estándar se
encontraba con refrescos de 70, 60 ó 50 ns. Se instala sobre todo en SIMM de 72 contactos, aunque existe
en forma de DIMM de 168.

12
La ventaja de la memoria EDO es que mantiene los datos en la salida hasta el siguiente acceso a memoria.
Esto permite al procesador ocuparse de otras tareas sin tener que atender a la lenta memoria. Esto es, el
procesador selecciona la posición de memoria, realiza otras tareas y cuando vuelva a consultar la DRAM los
datos en la salida seguirán siendo válidos. Se presenta en módulos SIMM de 72 contactos (32 bits) y
módulos DIMM de 168 contactos (64 bits).
SDRAM: Sincronic-RAM. Es un tipo síncrono de memoria, que, lógicamente, se sincroniza con el
procesador, es decir, el procesador puede obtener información en cada ciclo de reloj, sin estados de espera,
como en el caso de los tipos anteriores. Sólo se presenta en forma de DIMM de 168 contactos; es la opción
para ordenadores nuevos.
SDRAM funciona de manera totalmente diferente a FPM o EDO. DRAM, FPM y EDO transmiten los datos
mediante señales de control, en la memoria SDRAM el acceso a los datos esta sincronizado con una señal
de reloj externa.
La memoria EDO está pensada para funcionar a una velocidad máxima de BUS de 66 MHz, llegando a
alcanzar 75MHz y 83 MHz. Sin embargo, la memoria SDRAM puede aceptar velocidades de BUS de hasta
100 MHz, lo que dice mucho a favor de su estabilidad y ha llegado a alcanzar velocidades de 10 ns. Se
presenta en módulos DIMM de 168 contactos (64 bits). El ser una memoria de 64 bits, implica que no es
necesario instalar los módulos por parejas de módulos de igual tamaño, velocidad y marca
PC-100 DRAM: Este tipo de memoria, en principio con tecnología SDRAM, aunque también la habrá EDO.
La especificación para esta memoria se basa sobre todo en el uso no sólo de chips de memoria de alta
calidad, sino también en circuitos impresos de alta calidad de 6 o 8 capas, en vez de las habituales 4; en
cuanto al circuito impreso este debe cumplir unas tolerancias mínimas de interferencia eléctrica; por último,
los ciclos de memoria también deben cumplir unas especificaciones muy exigentes. De cara a evitar
posibles confusiones, los módulos compatibles con este estándar deben estar identificados así: PC100-abc-
def.
BEDO (burst Extended Data Output): Fue diseñada originalmente para soportar mayores velocidades de
BUS. Al igual que la memoria SDRAM, esta memoria es capaz de transferir datos al procesador en cada
ciclo de reloj, pero no de forma continuada, como la anterior, sino a ráfagas (bursts), reduciendo, aunque no
suprimiendo totalmente, los tiempos de espera del procesador para escribir o leer datos de memoria.
RDRAM: (Direct Rambus DRAM). Es un tipo de memoria de 64 bits que puede producir ráfagas de 2ns y
puede alcanzar tasas de transferencia de 533 MHz, con picos de 1,6 GB/s. Pronto podrá verse en el
mercado y es posible que tu próximo equipo tenga instalado este tipo de memoria. Es el componente ideal
para las tarjetas gráficas AGP, evitando los cuellos de botella en la transferencia entre la tarjeta gráfica y la
memoria de sistema durante el acceso directo a memoria (DIME) para el almacenamiento de texturas
gráficas. Hoy en día la podemos encontrar en las consolas NINTENDO 64.
DDR SDRAM: (Double Data Rate SDRAM o SDRAM-II). Funciona a velocidades de 83, 100 y 125MHz,
pudiendo doblar estas velocidades en la transferencia de datos a memoria. En un futuro, esta velocidad
puede incluso llegar a triplicarse o cuadriplicarse, con lo que se adaptaría a los nuevos procesadores. Este
tipo de memoria tiene la ventaja de ser una extensión de la memoria SDRAM, con lo que facilita su
implementación por la mayoría de los fabricantes.

13
SLDRAM: Funcionará a velocidades de 400MHz, alcanzando en modo doble 800MHz, con transferencias
de 800MB/s, llegando a alcanzar 1,6GHz, 3,2GHz en modo doble, y hasta 4GB/s de transferencia. Se cree
que puede ser la memoria a utilizar en los grandes servidores por la alta transferencia de datos.
ESDRAM: Este tipo de memoria funciona a 133MHz y alcanza transferencias de hasta 1,6 GB/s, pudiendo
llegar a alcanzar en modo doble, con una velocidad de 150MHz hasta 3,2 GB/s.
 La memoria FPM (Fast Page Mode) y la memoria EDO también se utilizan en tarjetas gráficas, pero existen
además otros tipos de memoria DRAM, pero que SÓLO se utilizan en TARJETAS GRÁFICAS, y son los
siguientes:
MDRAM (Multibank DRAM) Es increíblemente rápida, con transferencias de hasta 1 GIGA/s, pero su coste
también es muy elevado.
SGRAM (Synchronous Graphic RAM) Ofrece las sorprendentes capacidades de la memoria SDRAM para
las tarjetas gráficas. Es el tipo de memoria más popular en las nuevas tarjetas gráficas aceleradoras 3D.
VRAM Es como la memoria RAM normal, pero puede ser accedida al mismo tiempo por el monitor y por el
procesador de la tarjeta gráfica, para suavizar la presentación gráfica en pantalla, es decir, se puede leer y
escribir en ella al mismo tiempo.
WRAM (Windows RAM) Permite leer y escribir información de la memoria al mismo tiempo, como en la
VRAM, pero está optimizada para la presentación de un gran número de colores y para altas resoluciones
de pantalla. Es un poco más económica que la anterior.
Para procesadores lentos, por ejemplo el 486, la memoria FPM era suficiente. Con procesadores más
rápidos, como los Pentium de primera generación, se utilizaban memorias EDO. Con los últimos
procesadores Pentium de segunda y tercera generación, la memoria SDRAM es la mejor solución.
La memoria más exigente es la PC100 (SDRAM a 100 MHz), necesaria para montar un AMD K6-2 o un
Pentium a 350 MHz o más. Va a 100 MHz en vez de los 66 MHZ usuales.
La memoria ROM se caracteriza porque solamente puede ser leída (ROM=Read Only Memory). Alberga
una información esencial para el funcionamiento del computador, que por lo tanto no puede ser modificada
porque ello haría imposible la continuidad de ese funcionamiento.
Uno de los elementos más característicos de la memoria ROM, es el BIOS, (Basic Input-Output System =
sistema básico de entrada y salida de datos) que contiene un sistema de programas mediante el cual el
computador “arranca” o “inicializa”, y que están “escritos” en forma permanente en un circuito de los
denominados CHIPS que forman parte de los componentes físicos del computador, llamados “hardware”.

Memoria CACHÉ

Caché es un tipo de memoria del ordenador; por tanto, en ella se guardarán datos que el ordenador
necesita para trabajar. ¿Pero no era eso la RAM?, te preguntarás. Bueno, en parte sí. A decir verdad, la
memoria principal del ordenador (la RAM, los famosos 32, 64, 128 etc. “megas") y la memoria caché son
básicamente iguales en muchos aspectos; la diferencia está en el uso que se le da a la caché.
Debido a la gran velocidad alcanzada por los microprocesadores, la RAM del ordenador no es lo
suficientemente rápida para almacenar y transmitir los datos que el microprocesador (el "micro" en adelante)

14
necesita, por lo que tendría que esperar a que la memoria estuviera disponible y el trabajo se ralentizaría.
Para evitarlo, se usa una memoria muy rápida, estratégicamente situada entre el micro y la RAM: la
memoria caché.
Ésta es la baza principal de la memoria caché: es muy rápida, unas 5 ó 6 veces más que la RAM.
Esto la encarece bastante, claro está, y ése es uno de los motivos de que su capacidad sea mucho menor
que el de la RAM: un máximo en torno a 512 kilobytes (512 Kb), es decir, medio "mega", frente a los megas
de la RAM.
Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando un ordenador
trabaja, el micro opera en ocasiones con un número reducido de datos, pero que tiene que traer y llevar a la
memoria en cada operación. Si situamos en medio del camino de los datos una memoria
intermedia que almacene los datos más usados, los que casi seguro necesitará el micro
en la próxima operación que realice, se ahorrará mucho tiempo del tránsito y acceso a la
lenta memoria RAM; esta es la segunda utilidad de la caché.
Para los que tengan curiosidad por ver cómo es la caché (aunque en muchas
ocasiones no resulta fácil de reconocer, por venir encapsulada en algún tipo de chip de control o toda junta
en un único chip), aquí tienen una foto de unos chips de caché:

El tamaño de la Caché

Aunque la caché sea de mayor velocidad que la RAM, si usamos una caché muy grande, el micro
tardará un tiempo apreciable en encontrar el dato que necesita. Esto no sería muy importante si el dato
estuviera allí, pero ¿y si no está? Entonces habrá perdido el tiempo, y tendrá que sumar ese tiempo perdido
a lo que tarde en encontrarlo en la RAM.
Por tanto, la caché actúa como un resumen, una "chuleta" de los datos de la RAM, y todos sabemos
que un resumen de 500 páginas no resulta nada útil. Se puede afirmar que, para usos normales, a partir de
1 MB (1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a ralentizar el funcionamiento del
ordenador. El tamaño idóneo depende del de la RAM.

La caché interna o L1

La caché a la que me he referido hasta ahora es la llamada "caché externa" o de segundo nivel
(L2). Existe otra, cuyo principio básico es el mismo, pero que está incluida en el interior del micro; de ahí lo
de interna, o de primer nivel (L1).
Esta caché funciona como la externa, sólo que está más cerca del micro, es más rápida, además de
complicar el diseño del micro, por lo que su tamaño se mide en pocas decenas de kilobytes.
La importancia de esta caché es fundamental; por ejemplo, los Pentium MMX son más rápidos que
los Pentium normales en aplicaciones no optimizadas para MMX, gracias a tener el doble de caché interna.

Tecnologías usadas en la caché

Aunque en general no se puede elegir qué memoria caché adquirir con el ordenador, puesto que se
vende conjuntamente con la placa base (o con el micro, si es un Pentium II, un Pentium III o un Mendocino),

15
conviene tener claros unos cuantos conceptos por si se diera el caso de tener varias opciones a nuestra
disposición.
Ante todo, el tipo de memoria empleada para fabricar la caché es uno de los factores más
importantes. Suele ser memoria de un tipo muy rápido (como por ejemplo SRAM o SDRAM). La velocidad
de la caché influye en su rendimiento, como es obvio. Las cachés se mueven en torno a los 10
nanosegundos (ns) de velocidad de refresco; es decir, que cada 10 ns pueden admitir una nueva serie de
datos. Por tanto, a menor tiempo de refresco, mayor velocidad.
El último parámetro que influye en las cachés es la forma de escribir los datos en ellas. Esto se
suele seleccionar en la BIOS, bien a mano o dejando que lo haga el ordenador automáticamente; las dos
formas principales son: Write-Througth: indica el modo clásico de trabajo de la caché; Write-Back: un
modo más moderno y eficaz de gestionar la caché.

CHIPSET

El "chipset" es el conjunto (set) de chips que se encargan de controlar


determinadas funciones del ordenador, como la forma en que interacciona el
microprocesador con la memoria o la caché, o el control de los puertos y slots ISA, PCI,
AGP, USB...
Antiguamente estas funciones eran relativamente sencillas de realizar y el
chipset apenas influía en el rendimiento del ordenador, por lo que el chipset era el último
elemento al que se concedía importancia a la hora de comprar una placa base, Pero los nuevos y muy
complejos micros, junto con un muy amplio abanico de tecnologías en materia de memorias, caché y
periféricos que aparecen y desaparecen casi de mes en mes, han hecho que la importancia del chipset
crezca enormemente.

De la calidad y características del chipset dependerán:


 Obtener o no el máximo rendimiento del microprocesador.
 Las posibilidades de actualización del ordenador.
 El uso de ciertas tecnologías más avanzadas de memorias y periféricos.

Analizaré sólo los chipsets para Pentium y superior, ya que el chipset de un 486 o inferior no es de
mayor importancia por estar en general todos en un nivel similar de prestaciones y rendimiento, además de
totalmente descatalogados. Tampoco analizaré todas las marcas, sino sólo las más conocidas o de más
interés; de cualquier forma, muchas veces se encuentran chipsets aparentemente desconocidos que no son
sino chipsets VIA, ALI o SIS bajo otra marca.

Chipsets para Pentium y Pentium MMX

De Intel (Tritones)

16
Fueron la primera incursión de Intel en el mundo de los chipsets,

 430 FX: El Tritón clásico, de apabullante éxito. Un chipset bastante apropiado para los Pentium
"normales" (no MMX) con memorias tipo EDO. Hoy en día desfasado y descatalogado.
 430 HX: El Tritón II, la opción profesional del anterior. Mucho más rápido y con soporte para placas
duales (con 2 micros). Algo anticuado pero muy bueno.
 430 VX: ¿El Tritón III? Más bien el 2.5; algo más lento que el HX, pero con soporte para memoria
SDRAM. Se puede decir que es la revisión del FX,
 430 TX: El último chipset de Intel para placas Pentium (placas socket 7).

De VIA (Apollos)

Unos chipsets bastante buenos, se caracterizan por tener soporte para casi todo lo
imaginable (memorias SDRAM o BEDO, UltraDMA, USB...); su pelea está en la gama del
HX o TX, aunque suelen ser algo más lentos que éstos al equiparlos con micros Intel, no así
con micros de AMD o Cyrix-IBM.
Lo bueno de las placas con chipsets VIA es que siguen en el mercado socket 7, por
lo que tienen soporte para todas las nuevas tecnologías como el AGP o los buses a 100
MHz, además de que su calidad suele ser intermedia-alta. En las placas con chipsets Intel hay un abanico
muy amplio entre placas muy buenas y otras francamente malas, además de estar ya desfasadas (ningún
chipset Intel para socket 7 soporta AGP, por ejemplo).
El último chipset de VIA para socket 7, el MPV3, ofrece todas las prestaciones del BX de Intel
(excepto soporte para placas duales), configurando lo que se denomina una placa Súper 7 (con AGP y bus
a 100 MHz), que con un micro como el nuevo AMD K6-2 no tiene nada que envidiar a un equipo con
Pentium II.

La BIOS

BIOS: "Basic Input-Output System", sistema básico de entrada-salida. Programa incorporado en un


chip de la placa base que se encarga de realizar las funciones básicas de manejo y configuración del
ordenador.
Cuando encendemos el ordenador, el sistema operativo se encuentra o bien en el disco duro o bien
en un disquete; sin embargo, si se supone que es el sistema operativo el que debe dar soporte para estos
dispositivos, ¿cómo podría hacerlo si aún no está cargado en memoria?
Lo que es más: ¿cómo sabe el ordenador que tiene un disco duro (o varios)? ¿Y la disquetera?
¿Cómo y donde guarda esos datos, junto con el tipo de memoria y caché o algo tan sencillo pero importante
como la fecha y la hora? Pues para todo esto está la BIOS.

17
Resulta evidente que la BIOS debe poderse modificar para alterar estos datos (al añadir un disco
duro o cambiar al horario de verano, por ejemplo); por ello las BIOS se implementan en memoria. Pero
además debe mantenerse cuando apaguemos el ordenador, pues no tendría sentido tener que introducir
todos los datos en cada arranque; por eso se usan memorias especiales, que no se borran al apagar el
ordenador: memorias tipo CMOS, por lo que muchas veces el programa que modifica la BIOS se denomina
"CMOS Setup".
En realidad, estas memorias sí se borran al faltarles la electricidad; lo que ocurre es que consumen
tan poco que pueden ser mantenidas durante años con una simple pila, en ocasiones de las de botón (como
las de los relojes). Esta pila (en realidad un acumulador) se recarga cuando el ordenador está encendido.

Entrando en la BIOS

La BIOS es la responsable de la mayoría de esos extraños mensajes que surgen al encender el


ordenador. La secuencia típica en que aparecen suele ser:
 Primero los mensajes de la BIOS de la tarjeta gráfica.
 El nombre del fabricante de la BIOS y el número de versión.
 El tipo de microprocesador y su velocidad.
 La revisión de la memoria RAM y su tamaño.
 Un mensaje indicando cómo acceder a la BIOS.
 Mensajes de otros dispositivos, habitualmente el disco duro.

Todo esto sucede en apenas unos segundos; a veces, si el monitor está frío y tarda en encender,
resulta casi imposible verlos.
Al conjunto de esos mensajes se le denomina POST (Power-On Self Test, literalmente autotesteo
de encendido), y debe servirnos para verificar que no existen mensajes de error, para ver si, la cantidad de
memoria corresponde a la que debería (puede que sean unos pocos cientos de bytes menos, eso es normal
y no es un error, es que se usan para otras tareas) y para averiguar cómo se entra en la BIOS.
Generalmente se hará mediante la pulsación de ciertas teclas al arrancar, mientras salen esos
mensajes. Uno de los métodos más comunes es pulsar "Del", aunque en otras se usa el "F1", el "Esc" u otra
combinación de teclas (Alt-Esc, Alt-F1...). Existen decenas de métodos, así que no queda más remedio que
estar atento a la pantalla o buscar en el manual de la placa o en el sitio web del fabricante de la BIOS.

Manejo básico

Las BIOS clásicas se manejan con el teclado, típicamente con los cursores y las teclas de Intro
("Enter"), "Esc" y la barra espaciadora, aunque también existen BIOS gráficas, las llamadas WinBIOS, que
se manejan con el ratón en un entorno de ventanas.
Existen varios apartados comunes a todas las BIOS:
 Configuración básica.
 Opciones de la BIOS.
 Configuración avanzada y del chipset.

18
 Periféricos integrados.
 Administración de energía.
 Configuración PNP y slot PCI.
 Autoconfiguración.
 Otras utilidades, en uno o varios apartados (autoconfiguración de la BIOS, manejo de PCI,
introducción de contraseñas -passwords-, auto detección de discos duros...).

Configuración básica

Bajo el nombre de Standard CMOS Setup o similar, se suele englobar la puesta al día de la fecha y
hora del sistema, así como la configuración de discos duros y disqueteras. Para cambiar la fecha y hora hay
que situarse sobre ella e introducir la nueva, bien mediante el teclado, los cursores o las teclas de avance y
retroceso de página.
El tipo de disquetera y pantalla es también sencillo de entender y manejar. Salvo casos de equipos
antiguos, la pantalla será VGA o bien EGA, esto último es bastante raro; cuando dice "monocromo" suele
referirse a pantallas MGA, no a las VGA de escala de grises modernas.
Lo más difícil está en la configuración de los discos duros. En general serán únicamente discos del
tipo IDE (incluyendo los EIDE, Ata-4, Ultra-DMA y demás ampliaciones del estándar), en ningún caso SCSI
ni otros antiguos como MFM o ESDI, que se configuran de otras formas, por ejemplo mediante otra BIOS de
la propia controladora SCSI.
En los casos antiguos (muchos 486 y anteriores) podremos dar valores sólo a dos discos duros, que
se configuran como Maestro, master, el primero y Esclavo, slave, el segundo, del único canal IDE
disponible. En los casos más modernos de controladoras EIDE podremos configurar hasta cuatro, en dos
canales IDE, cada uno con su maestro y su esclavo.
Los campos a rellenar suelen ser:
 Tipo (Type): O uno predefinido, o Auto para que calcule el ordenador los valores correctos, o User
para introducir los valores a mano, o bien None para indicar que no hay ningún disco.
 Tamaño (Size): Lo calcula el ordenador a partir de los datos que introducimos.
 Cilindros (Cylinders): cuántos son.
 Cabezas (Heads): cuántas son.
 Precompensación de escritura (WritePrecomp): Un parámetro muy técnico, usado sobre todo en
los discos antiguos. En los modernos suele ser cero.
 Zona de aparcado de las cabezas (LandZone): Suele ser cero o bien 65535 (que en realidad
significa cero).
 Sectores (Sectors): Cuántos hay por cada pista.
 Modo de funcionamiento (Mode): Para discos pequeños, de menos de 528 MB, el modo Normal.
Para discos de más de 528 MB (cualquiera moderno tiene 4 ó 5 veces esa capacidad), el modo LBA

19
o bien el Large, menos usado y sólo recomendado si no funcionara el LBA. En muchos casos se
permite la auto detección (opción Auto).

Todos estos valores suelen venir en una pegatina adherida al disco duro, o bien se pueden hallar
mediante la utilidad de auto detección de discos duros.
En cualquier caso, generalmente existe más de una combinación de valores posible. Los lectores de
CD-ROM de tipo IDE no se suelen configurar en la BIOS; así, aunque realmente ocupan uno de los lugares
(usualmente el maestro del segundo canal o el esclavo del primero) se debe dejar dichas casillas en blanco,
eligiendo None o Auto como tipo.

Opciones

Se trata de las diversas posibilidades que ofrece la BIOS para realizar ciertas tareas de una u otra
forma, además de habilitar (enable) o deshabilitar (disable) algunas características. Las más importantes
son:
 CPU Internal cache: El habilitado o deshabilitado de la caché interna del microprocesador. Debe
habilitarse (poner en Enabled) para cualquier chip con caché interna (todos desde el 486). Si la
deshabilitamos, podemos hacer que un Pentium 75 vaya como un 386 rápido, lo cual no sirve para
nada
 External Caché: Lo mismo pero con la caché externa o de segundo nivel. No tiene tanta
trascendencia como la interna, pero influye bastante en el rendimiento.
 Quick Power On Self Test: Que el test de comprobación al arrancar se haga más rápido. Si
estamos seguros de que todo funciona bien, merece la pena hacerlo para ganar unos cuantos
segundos al arrancar.
 Boot Sequence: Para que el ordenador busque primero el sistema operativo en un disquete y luego
en el disco duro si es "A, C" o al revés si es "C, A". Útil para arrancar o no desde disquetes, o en
BIOS modernas incluso desde una unidad Zip o SuperDisk internas.
 Swap Floppy Drive: Si tenemos dos disqueteras (A y B), las intercambia el orden temporalmente.
 Boot Up NumLock Status: para los que prefieran arrancar con el teclado numérico configurado
como cursores en vez de cómo números.
 IDE HDD Block Mode: Un tipo de transferencia "por bloques" de la información del disco duro. Casi
todos los discos duros de 100 MB en adelante lo soportan.
 Gate A20 Option: un tecnicismo de la RAM; mejor conectado.
 Above 1 MB Memory Test: Por si queremos que verifique sólo el primer MB de RAM o toda (above
= "por encima de"). Lo primero es más rápido pero menos seguro.
 Memory Parity Check: Verifica el bit de paridad de la memoria RAM. Sólo debe usarse si la RAM
es con paridad, lo que en la actualidad es muy raro, tanto en FPM como EDO o SDRAM. Las únicas
memorias con paridad suelen estar en 486 o Pentium de marca, como algunos IBM.
 Typematic Rate: Para fijar el número de caracteres por segundo que aparecen cuando pulsamos
una tecla durante unos instantes sin soltarla.

20
 Numeric Processor: Para indicar al ordenador que existe un coprocesador matemático. Puesto que
desde la aparición del 486 DX esto se da por supuesto, está en proceso de extinción.
 Security Option: Aunque a veces viene en otro menú, esta opción permite elegir si queremos usar
una contraseña o password cada vez que arranquemos el equipo (System), sólo para modificar la
BIOS (Setup o BIOS) o bien nunca (Disabled).
 IDE Second Channel Option: Indica si vamos a usar o no el segundo canal IDE (sólo en
controladoras EIDE), en cuyo caso le reserva una IRQ, generalmente la 15.
 PCI/VGA Palette Snoop: Se suele utilizar cuando tenemos dos tarjetas de vídeo (o una tarjeta
añadida sintonizadora de televisión) y los colores no aparecen correctamente.
 Video Bios ROM Shadow: Si se habilita, copiará la BIOS de la tarjeta gráfica desde la lenta ROM
en la que está a la rápida RAM del sistema, lo que acelera el rendimiento.
 (Adaptor) ROM Shadow: Lo mismo pero para otras zonas de la BIOS. En este caso se suelen
deshabilitar, para evitar problemas innecesarios.

Configuración avanzada y del chipset

Son parámetros que indican qué características del chipset deben habilitarse y cómo. Afecta
habitualmente a la memoria RAM, a las cachés (interna y externa) y a veces al micro, a los buses ISA,
Vesa, PCI y AGP y a otros dispositivos como los puertos serie y paralelo.
Este terreno puede ser algo peligroso, lo más fácil es dejar las más opciones que se pueda en Auto,
aunque con eso puede que no se saque el máximo de rendimiento.
 Auto Configuration: Configuración automática; la tabla de salvación cuando no se consigue hacer
a mano. Los valores que da tras una primera autoconfiguración pueden ser válidos como punto de
partida.
 ISA Bus Clock: La velocidad del bus ISA, que en teoría debe ser unos 8 MHz. A veces se introduce
como una cifra en MHz y otras veces en función del bus del sistema (el PCLK), por ejemplo como
1/3 cuando éste es a 33 MHz, como en los 386 y 486 a 33 MHz o 486 a 66 y 100 (que van a 33
externamente). Cuanto más rápido sea el bus, mejor, pero no hay que pasarse: 10 ó 12 MHz ya
está bien, más puede ser arriesgado y se supone que las tarjetas ISA no están preparadas para
nada por encima de 8.
 Velocidad de la RAM: En esto existen múltiples formas de proceder. Evidentemente, cuanto mayor
le indiquemos que es la velocidad de la RAM más rápido irá el sistema, pero en muchas ocasiones
la RAM no es tan rápida o de calidad como sería deseable y la estabilidad del sistema se resiente,
sobre todo al cargarlo de trabajo. Los valores que indican esta velocidad son los ciclos de acceso a
RAM, los ciclos de espera (Clock Cycles o, a veces, Wait States) que el rápido microprocesador
concede a la lenta RAM antes de mandarle o leer de ella la información.
 Ajustes de la caché: Similares a los de la RAM. Algunos consisten en modificar los tiempos de
acceso, otros en modificar la forma de acceder a la caché. De cualquier forma, esto depende
enteramente de las capacidades de la caché misma.

21
 Vídeo y System Cacheable (Shadow): Como comenté en el apartado de opciones de la BIOS,
copiar la BIOS de la tarjeta de vídeo o del sistema de la lenta ROM a la rápida RAM o, en este caso,
usar la caché para lo mismo. Se supone que debería aumentar el rendimiento, pero puede dar
problemas con sistemas operativos de 32 bits modernos.
 Manejo de dispositivos: Hoy en día los chipsets deben manejar las controladoras de dispositivos
tales como discos duros, puertos serie, etc., que suelen estar incorporadas a la placa base.
 Configuración por software de la CPU: En la actualidad, bastantes placas base han dejado de
lado el método clásico para configurar la CPU y han optado por soluciones jumperless
(literalmente, "sin jumper"), auto detectando los valores correctos de velocidad de bus, multiplicador
y voltaje y/o permitiendo que el usuario los seleccione mediante un sencillo menú en la BIOS.

Periféricos integrados

Las placas base modernas suelen tener integrados los chips controladores del disco duro, y en
muchas ocasiones manejan también las disqueteras, los puertos serie y el puerto paralelo. Por ello, las
BIOS tienen diversos apartados para manejar estos dispositivos, entre ellos:
 Conexión o desconexión de dichas controladoras: De especial importancia en el caso del
segundo canal IDE, que en ocasiones está deshabilitado por defecto, y que deberemos habilitar
para conectar más de dos dispositivos IDE (o bien uno lento y uno rápido sin mezclarlos en el
mismo canal, lo que baja el rendimiento).
 Modos de acceso a discos duros (PIO y/o UltraDMA): Los discos modernos admiten 5 modos
PIO, del más lento, el PIO-0 o no soporte de este tipo de acceso (en discos antiguos, de 100 MB o
menos), hasta el más rápido, el modo PIO-4. Además, recientemente ha aparecido el modo
UltraDMA, aún más rápido. Si la controladora está integrada en la placa base, aquí debe especificar
esos datos.
 Direcciones e interrupciones (IRQ) de los puertos: Bien sean los puertos serie o el paralelo.
Resulta muy raro necesitar cambiar los valores por defecto, pero podría ser necesario para evitar
conflictos con otros dispositivos que usen esos mismos valores.
 Tipo de puerto paralelo: El antiguo estándar de puerto paralelo se ha quedado un tanto anticuado
hoy en día, sobre todo si lo que queremos conectar no es una impresora sino un escáner o una
unidad Zip; por ello, se suele poder seleccionar otras posibilidades más avanzadas como ECP o
EPP.
 Control del puerto de infrarrojos: Aunque muy pocas placas base incluyen los adaptadores y
cables necesarios, modernamente casi todas traen los conectores para instalar un puerto de
infrarrojos en su sistema. Generalmente deberá habilitarse y seleccionar su tipo, dirección de
memoria, IRQ y si debe re direccionar la información de COM2 a este puerto.

Administración de energía

En este menú, relativamente reciente (no se implantó hasta bien entrada la época de los 486), es
donde se configuran las características de ahorro de energía del ordenador.

22
 Power Management: Literalmente, administración de energía. Es donde se selecciona si queremos
habilitar el ahorro de energía y de qué forma; generalmente se ofrecen Disable (deshabilitado), User
define (definido por el usuario) y algunas opciones predeterminadas para un ahorro mínimo o
máximo.
 PM Control by APM: Una opción muy importante; determina si el control de energía deberá
hacerse según el estándar APM (Advanced Power Management, administración avanzada de
energía), lo que entre otras cosas permite que Windows sea capaz de suspender el equipo a
voluntad o, si utilizamos una fuente ATX, que el sistema efectivamente se apague al pulsar "Apagar
el sistema" en el menú Inicio.
 Video Off Method: Ofrece diversas opciones para reducir el consumo del sistema de vídeo, de las
cuales la más interesante es DPMS, aunque no todos los monitores y tarjetas gráficas la soportan.
 PM Timers: Para controlar el tiempo que debe permanecer inactivo el ordenador (System) o el
disco duro (HDD) antes de que se active el ahorro de energía. Existen 3 grados de ahorro de
energía:
o Doze: Reduce la velocidad de la CPU (el microprocesador).
o Standby: Reduce la actividad de todo el ordenador.
o Suspend: Reduce al mínimo la actividad del ordenador; sólo debe utilizarse con CPUs tipo
SL, como son la mayoría de los 486 rápidos y superiores.
 PM Events: Una larga serie de eventos o sucesos que deben ser controlados para saber si el
ordenador está inactivo o trabajando. Es habitual no controlar (Disable) la actividad de la IRQ8 (reloj
de la BIOS), ya que rara vez se la puede considerar como totalmente inactiva.
 CPU Fan Off in Suspend: Si el ventilador de la CPU va conectado a la placa base, lo apaga
cuando el equipo está en suspenso, ya que en ese momento la CPU está prácticamente parada.
 Modem Wake Up: Activa el equipo cuando se detecta una llamada entrante en el módem. Necesita
que el módem soporte esta característica y que esté conectado a la placa base mediante un cable
especial.
 LAN Wake Up: Igual que la anterior, pero para la tarjeta de red. También necesita estar conectado
a la placa base mediante un cable.

Configuración de PNP y slots PCI

El Plug&Play, PNP o P&P, es una tecnología que facilita la conexión de dispositivos, ya que se
supone que basta con enchufar y listo.
 PNP OS Installed: Informa al sistema de si hay un sistema operativo PNP instalado, es decir, uno
que soporta Plug&Play, como Windows 95, 98... en cuyo caso pasa a éste el control de los
dispositivos PNP. De cualquier forma, muchas veces lo que esta casilla indique no afecta al correcto
funcionamiento del sistema.
 IRQx/DMAx assigned to: Una lista de las interrupciones (IRQ) y canales DMA que p
 Resources Controlled by: Recursos controlados bien manual, bien automáticamente
podemos asignar manualmente, bien a tarjetas PCI/ISA PnP (compatibles con PNP), bien a tarjetas

23
Legacy ISA (tarjetas ISA no PNP, que son las más conflictivas). Necesitaremos conocer los valores
de IRQ y/o DMA a reservar, que vendrán en la documentación del dispositivo.
 PCI IDE IRQ Map to: Afecta a controladoras IDE no integradas en la placa base, sino en forma de
tarjeta, que no sean PNP.
 Assign IRQ to USB: Si el puerto USB debe tener una interrupción asignada o no. Si no tiene ningún
dispositivo USB conectado puede liberar esa IRQ para otros usos; suele ser la misma interrupción
que para uno de los slots PCI o ISA.

Autoconfiguración

Opciones que se proporcionan para facilitar la configuración de la BIOS, las más comunes son:
 LOAD BIOS DEFAULTS: Carga una serie de valores por defecto con poca o nula optimización,
generalmente útiles para volver a una posición de partida segura y resolver problemas observados
al arrancar.
 LOAD SYSTEM DEFAULTS: Una opción cuyos efectos varían de unas BIOS a otras. En unos
casos carga unos valores por defecto seguros (como LOAD BIOS DEFAULTS), en otros carga unos
valores ya optimizados para conseguir un rendimiento adecuado, o incluso puede servir para cargar
la última serie de valores guardados por el usuario.
 LOAD TURBO DEFAULTS: Carga los valores que estima óptimos para incrementar el rendimiento.

En cualquier caso, debe tenerse en cuenta que los cambios no suelen ser guardados
automáticamente, sino que deben confirmarse al salir de la BIOS.

Otras utilidades

Las BIOS pueden hacer más cosas, dependiendo del modelo en concreto; las más usuales son:

Autodetección de discos duros IDE

Esta opción permite detectar los discos duros que están conectados al sistema, así como su
configuración. Resulta muy útil para simplificar la tarea de instalar un disco nuevo, así como cuando los
datos del disco no están completos o no parecen funcionar en nuestra BIOS.
Su uso es sencillo: Se entra en este menú y se va detectando cada uno de los cuatro posibles
dispositivos IDE. Es conveniente apuntar las opciones que aparezcan y probar a usarlas; hay que recordar
usar el modo LBA para discos de más de 528 MB.
Hay que tener en cuenta que muchas veces sólo por entrar en esta utilidad se alteran
automáticamente los valores de configuración del disco, así que después de salir de ella hay que
comprobar si los cambios corresponden a los que se quería realizar.

Control por contraseña (password)

24
Es decir, poner una clave de acceso en forma de palabra secreta. Si se olvida la clave tendremos
graves problemas, hasta el punto de tener que borrar toda la BIOS para poder volver a usar el ordenador.
Se suele poder seleccionar, bien en un menú específico o en las BIOS Features, entre tener que
introducir la clave cada vez que se arranca el ordenador o sólo cuando se van a cambiar datos de la BIOS.
Lo primero es el método ideal para seguridad.

Formateo de disco duro a bajo nivel (HDD Low Level Format)

Se trata de un formateo mucho más intenso que el normal; no sólo elimina los datos, sino que
reorganiza la propia estructura del disco. Generalmente sólo debe usarse cuando el disco está fallando muy
a menudo o ha sido infectado por un virus tremendamente resistente, y aun así no resulta recomendable.

Antivirus

No permite que se escriba sobre la tabla de particiones o el sector de arranque del disco duro, bien
sólo durante el arranque o en cualquier momento, dependiendo del modelo concreto de BIOS.
La idea es impedir que un virus destroce el disco duro sin darle oportunidad a cargar un disquete de
arranque con un antivirus para desinfectar el sistema; no impedirá la infección, pero es una medida más de
seguridad. Puede ser necesario deshabilitar esta opción durante la instalación del sistema operativo o al
formatear el disco duro, ya que puede ser que la BIOS crea que se trata de un ataque viral.

Salir de la BIOS

Generalmente existen dos opciones:

 Save and Exit Setup: Grabar los cambios y salir, con lo cual se reinicia el equipo. Debería pedir
confirmación, en forma de "Y/N?" (Yes o No).

 Exit Without Saving: Lo contrario, salir sin grabar los cambios. También debería pedir
confirmación.

Actualizar la BIOS

La BIOS maneja temas tan críticos como el soporte de uno u otro microprocesador; además, como
programa que es, no está exenta de fallos y se revisa periódicamente para eliminarlos o añadir nuevas
funciones.
Antiguamente, la única forma de actualizar una BIOS era extraer el chip de BIOS y sustituirlo por
otro.
En la actualidad han aparecido BIOS que pueden modificarse con un simple programa software; se
las denomina Flash-BIOS, y no son un invento desdeñable. Lo que es más, la existencia de una de estas
BIOS o no debería ser argumento de peso a la hora de comprar una placa base.

25
La BIOS y la pila

La pila conserva los datos de la BIOS cuando el ordenador está apagado. Dura mucho (unos tres
años de media), pero al final se agota. Para cambiarla, hay que apuntar todos los datos de la BIOS,
desconectar todo y sustituirla por una igual.
Después volver a conectar todo, arrancar el ordenador y entrar en la BIOS y reintroducir todos los
datos, ya que se habrán borrado. 

Conectores externos

Se trata de los conectores para periféricos externos: teclado, ratón,


impresora... En las placas Baby-AT lo único que está en contacto con la placa son
unos cables que la unen con los conectores en sí, que se sitúan en la carcasa,
excepto el de teclado que sí está adherido a la propia placa. En las ATX los
conectores están todos agrupados entorno al de teclado y soldados a la placa base

Conectores internos

Bajo esta denominación englobamos a los conectores para dispositivos


internos, como puedan ser la disquetera, el disco duro, el CD-ROM o el altavoz interno,
e incluso para los puertos serie, paralelo y de joystick si la placa no es de formato ATX.

DISCO DURO

Los primeros PCs carecían de disco duro, sólo disponían de una o dos disqueteras gracias a las
cuales se cargaban los programas y se guardaba la información; incluso era posible llegar a tener
almacenados en un único disquete ¡de 360 Kb! el sistema operativo, el procesador de textos y los
documentos más utilizados. Evidentemente, los tiempos han cambiado; hoy en día,
quien más quien menos dispone de discos duros de capacidad equivalente a miles
de aquellos disquetes.
Un disco duro está compuesto de numerosos discos de material sensible a
los campos magnéticos, apilados unos sobre otros; en realidad se parece mucho a
una pila de disquetes sin sus fundas y con el mecanismo de giro y el brazo lector
incluido en la carcasa.
Los discos duros han evolucionado mucho desde los modelos primitivos de
10 ó 20 MB. Actualmente los tamaños son del orden de varios gigabytes, el tiempo medio de acceso es muy

26
bajo (menos de 20 ms) y su velocidad de transferencia es tan alta que deben girar a más de 5.000 rpm
(revoluciones por minuto), lo que hace que se calienten mucho, por lo que no es ninguna tontería instalarles
un ventilador para su refrigeración.
Una diferencia fundamental entre unos y otros discos duros es su interfaz de conexión.
Antiguamente se usaban diversos tipos, como MFM, RLL o ESDI, aunque en la actualidad sólo se emplean
dos: IDE y SCSI.

Discos duros IDE

El interfaz IDE (más correctamente denominado ATA, el estándar de normas en que se basa) es el
más usado en PCs normales, debido a que tiene un balance bastante adecuado entre precio y prestaciones.
Los discos duros IDE se distribuyen en canales en los que puede haber un máximo de dos dispositivos por
canal.
El estándar IDE fue ampliado por la norma ATA-2 en lo que se ha dado en denominar EIDE
(Enhanced IDE o IDE mejorado). Los sistemas EIDE disponen de 2 canales IDE, primario y secundario, con
lo que pueden aceptar hasta cuatro dispositivos, que no tienen porqué ser discos duros mientras cumplan
las normas de conectores ATAPI; por ejemplo, los CD-ROMs y algunas unidades SuperDisk se presentan
con este tipo de conector.
En cada uno de los canales IDE debe haber un dispositivo Maestro (master) y otro Esclavo (slave).
El maestro es el primero de los dos y se suele situar al final del cable, asignándosele generalmente la letra
"C" en DOS. El esclavo es el segundo, normalmente conectado en el centro del cable entre el maestro y la
controladora, la cual muchas veces está integrada en la propia placa base; se le asignaría la letra "D".
Los dispositivos IDE o EIDE como discos duros o CD-ROMs disponen de unos micro interruptores
(jumpers), situados generalmente en la parte posterior o inferior de los mismos, que permiten seleccionar su
carácter de maestro, esclavo o incluso otras posibilidades como "maestro sin esclavo". Las posiciones de
los jumpers vienen indicadas en una pegatina en la superficie del disco, o bien en el manual o serigrafiadas
en la placa de circuito del disco duro, con las letras M para designar "maestro" y S para "esclavo".

Discos duros SCSI

La ventaja de estos discos no está en su mecánica, que puede ser idéntica a la de uno IDE (misma
velocidad de rotación, mismo tiempo medio de acceso...) sino en que la transferencia de datos es más
constante y casi independiente de la carga de trabajo del microprocesador.
Esto hace que la ventaja de los discos duros SCSI sea apreciable en ordenadores cargados de
trabajo, como servidores, ordenadores para CAD o vídeo, o cuando se realiza multitarea de forma intensiva,
mientras que si lo único que queremos es cargar Word y hacer una carta la diferencia de rendimiento con un
disco UltraDMA será inapreciable.
En los discos SCSI resulta raro llegar a los 20 MB/s de transferencia teórica del modo Ultra SCSI, y
ni de lejos a los 80 MB/s del modo Ultra-2 Wide SCSI, pero sí a cifras quizá alcanzables pero nunca
superables por un disco IDE. De lo que no hay duda es que los discos SCSI son una opción profesional, de

27
precio y prestaciones elevadas, por lo que los fabricantes siempre escogen este tipo de interfaz para sus
discos de mayor capacidad y velocidad.

CD-ROM – DVD

Es el encargado de leer los CD’s y transmitir los datos a la C.P.U. La unidad de


CD-ROM ha dejado de ser un accesorio opcional para convertirse en parte integrante de
nuestro ordenador, sin la cual no podríamos ni siquiera instalarla mayor parte del
software que actualmente existe, por no hablar ya de todos los programas multimedia y
juegos. Hay que diferenciar entre lectores, grabadores, re grabadores. Y DVD-ROM

Tecnologías: óptica y magnética

Para grabar datos en un soporte físico más o menos perdurable se usan casi en
exclusiva estas dos tecnologías. La magnética se basa en la histéresis magnética de
algunos materiales y otros fenómenos magnéticos, mientras que la óptica utiliza las
propiedades del láser y su alta precisión para leer o escribir los datos.

La tecnología magnética para almacenamiento de datos se lleva usando desde


hace decenas de años, tanto en el campo digital como en el analógico. Consiste en la
aplicación de campos magnéticos a ciertos materiales cuyas partículas reaccionan a esa
influencia, generalmente orientándose en unas determinadas posiciones que conservan
tras dejar de aplicarse el campo magnético.
Dispositivos magnéticos existen infinidad; desde las casetes o las antiguas cintas de música hasta
los modernos Zip y Jaz, pasando por disqueteras, discos duros y otros similares. Todos se parecen en ser
dispositivos grabadores a la vez que lectores, en su precio relativamente bajo por MB y en que son bastante
delicados.

La tecnología óptica de almacenamiento por láser es bastante más reciente. Su primera aplicación
comercial masiva fue el CD de música, que data de comienzos de la década de 1.980. Los fundamentos
técnicos que se utilizan son relativamente sencillos de entender: un haz láser va leyendo (o escribiendo)
microscópicos agujeros en la superficie de un disco de material plástico, recubiertos a su vez por una capa
transparente para su protección del polvo.

Realmente, el método es muy similar al usado en los antiguos discos de vinilo, excepto porque la
información está guardada en formato digital en vez de analógico y por usar un láser como lector. El sistema
no ha experimentado variaciones importantes hasta la aparición del DVD, que tan sólo ha cambiado la
longitud de onda del láser, reducido el tamaño de los agujeros y apretado los surcos para que quepa más
información en el mismo espacio.

28
La principal característica de los dispositivos ópticos es su fiabilidad. No les afectan los campos
magnéticos, apenas les afectan la humedad ni el calor y pueden aguantar golpes importantes (siempre que
su superficie esté protegida). Sus problemas radican en la relativa dificultad que supone crear dispositivos
grabadores a un precio razonable, una velocidad no tan elevada como la de algunos dispositivos
magnéticos y en que precisan un cierto cuidado frente al polvo y en general cualquier imperfección en su
superficie, por lo que es muy recomendable que dispongan de funda protectora.

GRABADORAS DE CD-ROM

Lo primero, hacer distinción entre grabadoras (aquellas que sólo permiten grabar la información
una vez, sin que luego se pueda volver a escribir en el CD) y re grabadoras (las que, utilizando los discos
apropiados, permiten grabarles numerosas veces, en teoría unas mil).
Las grabadoras son como lectores de CD-ROM pero que permiten grabar además de leer. Los CD’s
comerciales, de música o datos, son absolutamente inalterables, lo cual es una de sus ventajas. Los CD’s
grabables son especiales y de dos tipos: CD-R (Recordable, grabable una única vez), y CD-RW
(ReWritable, regrabable múltiples veces)
Los CD’s grabables una única vez son idóneos para almacenar datos que son poco o nada
actualizados, así como para realizar pequeñas tiradas de software propio o "copias de seguridad" de
software comercial. Los regrabables sirven para realizar backups del disco duro o de la información más
sensible a ser actualizada constantemente.
El resultado de la grabación en un disco grabable una única vez se puede leer en cualquier lector,
pero los discos regrabables dan más problemas, y no es raro que fallen en lectores algo antiguos, por
ejemplo 4x ó 6x, pero con lectores modernos no existen problemas.
Para realizar una grabación de cualquier tipo se recomienda poseer un equipo relativamente
potente, digamos un Pentium con una RAM de al menos 32 MB. Para evitar quedarnos cortos (lo que puede
impedir llegar a grabar a 4x o estropear el CD por falta de continuidad de datos) podemos comprar una
grabadora SCSI, que dan un flujo de datos más estable, tener una fuente de datos (disco duro o CD-ROM)
muy rápida, no grabar directamente de CD-ROM a grabadora (mejor de CD-ROM a disco duro y luego a
grabadora), comprar un grabador con un gran buffer de memoria incorporado (más de 1MB) o asegurarnos
de que la grabadora cumple la norma IPW o mejor UDF, que facilitan la grabación fluida de datos sin
errores.

Las unidades únicamente grabadoras están en proceso de extinción, ya que las re grabadoras cada
vez son más asequibles. 

DISQUETERA

29
Por malo y anticuado que sea un ordenador, siempre dispone de al menos uno de estos aparatos.
Su capacidad es totalmente insuficiente para las necesidades actuales, pero cuentan con la ventaja que les
dan los muchos años que llevan como estándar absoluto para almacenamiento portátil.
El mundo del PC ha conocido casi diez tipos distintos de disquetes y de lectores para los mismos.
Originariamente los disquetes eran flexibles y bastante grandes, unas 5,25 pulgadas de ancho. La
capacidad primera de 160 Kb se reveló enseguida como insuficiente, por lo que empezó a crecer y no paró
hasta los 1,44 MB, ya con los disquetes actuales, más pequeños (3,5"), más rígidos y protegidos por una
pestaña metálica.
Incluso existe un modelo de 2,88 MB y 3,5" que incorporaban algunos ordenadores IBM, pero no
llegó a cuajar porque los discos resultaban algo caros y seguían siendo demasiado escasos para
aplicaciones un tanto serias; mucha gente opina que hasta los 100 MB de un Zip
son insuficientes.
Las disqueteras son compatibles "hacia atrás"; es decir, que en una
disquetera de 3,5" de alta densidad (de 1,44 MB) podemos usar discos de 720 Kb o
de 1,44 MB, pero en una de doble densidad, más antigua, sólo podemos usarlos de
720 Kb.
Para distinguir a primera vista un disco de 3,5" de alta densidad de otro de
doble, basta con observar el número de agujeros que presenta en su parte inferior.
Si tiene sólo uno, situado en el lado izquierdo de la imagen y generalmente provisto de una pestaña móvil,
se trata de un disco de doble densidad; si tiene dos agujeros, no hay duda de que se trata de un disco de
alta densidad. Si el primero de los agujeros está al descubierto el disco estará protegido contra escritura; el
segundo sólo sirve para diferenciar ambos tipos de disquetes.
De cualquier forma, el disquete deberá estar formateado a la capacidad correcta, para lo cual
podemos usar la orden FORMAT del DOS o bien los menús de Windows.
Los ordenadores normales disponen de un puerto para dos disqueteras, que irán conectadas a un
único cable de datos. La que esté conectada en el extremo del mismo será la primera (la "A" en DOS) y la
que esté en el segundo conector, entre el ordenador y la anterior disquetera, será la segunda (la "B").
Los disquetes tienen fama de ser unos dispositivos muy poco fiables en cuanto al almacenaje a
largo plazo de la información; y en efecto, lo son. Les afecta todo lo imaginable: campos magnéticos, calor,
frío, humedad, golpes, polvo...

TARJETA DE VÍDEO

De manera resumida, es lo que transmite al monitor la información gráfica que debe presentar en la
pantalla. Con algo más de detalle, realiza dos operaciones:

 Interpreta los datos que le llegan del procesador, ordenándolos y calculando para poder
presentarlos en la pantalla en forma de un rectángulo más o menos grande compuesto de puntos
individuales de diferentes colores (pixels).
 Coge la salida de datos digitales resultante de ese proceso y la transforma en una señal analógica
que pueda entender el monitor.

30
Estos dos procesos suelen ser realizados por uno o más chips: el microprocesador gráfico (el cerebro
de la tarjeta gráfica) y el conversor analógico-digital o RAMDAC, aunque en ocasiones existen chips
accesorios para otras funciones o bien se realizan todas por un único chip.

El microprocesador puede ser muy potente y avanzado, tanto o más que el propio micro del ordenador;
por eso algunos tienen hasta nombre propio: Virge, Rage Pro, Voodoo, TNT2... Incluso los hay con
arquitecturas de 256 bits, el cuádruple que los Pentium.

Su historia

En el principio, los ordenadores eran ciegos; todas las entradas y salidas de datos se realizaban
mediante tarjetas de datos perforadas, o mediante el teclado y primitivas impresoras. Un buen día, alguien
pensó que era mucho más cómodo acoplar una especie de televisor al ordenador para observar la evolución
del proceso y los datos, y surgieron los monitores, que debían recibir su información de cierto hardware
especializado: la tarjeta de vídeo.

MDA

Las primeras tarjetas de vídeo presentaban sólo texto monocromo, generalmente en un tono ámbar
o verde fosforito que dañaba los ojos en cuestión de minutos. De ahí que se las denominase MDA,
Monochrome Display Adapter.

CGA

Luego, con la llegada de los primeros PCs, surgió una tarjeta de vídeo capaz de presentar gráficos:

la CGA (Computer Graphics Array, dispositivo gráfico para ordenadores). Tan apasionante invento era
capaz de presentar gráficos de varias maneras:

CGA

Resolución (horizontal x vertical) Colores

320x200 4

640x200 2 (monocromo)

31
Lo cual, resultó toda una revolución. Aparecieron multitud de juegos que aprovechaban al máximo
tan exiguas posibilidades, además de programas más serios, y los gráficos se instalaron para siempre en el
PC.

Hércules

Se trataba ésta de una tarjeta gráfica de corte profundamente profesional. Su ventaja, poder trabajar
con gráficos a 720x348 puntos de resolución, algo increíble para la época; su desventaja, que no ofrecía
color. Es por esta carencia por la que no se extendió.

EGA

Otro inventito exitoso de IBM. Una tarjeta capaz de:

EGA

Resolución (horizontal x vertical) Colores

320x200 16

640x200 16

640x350 16

Estas cifras hacían ya posible que los entornos gráficos se extendieran al mundo PC (los Apple
llevaban años con ello), y aparecieron el GEM, el Windows y otros muchos. Sobre las posibilidades de las
pantallas EGA, una curiosidad: los drivers EGA de Windows 3.1 funcionan sobre Windows 95, y resulta
curioso ver dicha combinación...

VGA

El estándar, la pantalla de uso obligado desde hace ya 10 años. Tiene multitud de modos de vídeo
posibles, aunque el más común es el de 640x480 puntos con 256 colores, conocido generalmente como
"VGA estándar" o "resolución VGA".

SVGA, XGA y superiores

32
El éxito del VGA llevó a numerosas empresas a crear sus propias ampliaciones del mismo, siempre

centrándose en aumentar la resolución y/o el número de colores disponibles. Entre ellos estaban:

Modo de Vídeo Máxima resolución y máximo número de colores

SVGA 800X600 Y 256 colores

XGA 1024x768 y 65.356 colores

IBM 85 14/A 1024x768 y 256 colores (no admite 800x600)

La frontera entre unos estándares y otros es sumamente confusa, puesto que la mayoría de las
tarjetas son compatibles con más de un estándar, o con algunos de sus modos. Además, algunas tarjetas
ofrecen modos adicionales al añadir más memoria de vídeo.

La resolución y el número de colores

La resolución es el número de puntos que es capaz de presentar por pantalla una tarjeta de vídeo,
tanto en horizontal como en vertical. Así, "800x600" significa que la imagen está formada por 600 rectas
horizontales de 800 puntos cada una. Para que nos hagamos una idea, un televisor (de cualquier tamaño)
tiene una resolución equivalente de 800x625 puntos.
El número de colores, son los que puede presentar a la vez por pantalla la tarjeta...
La combinación de estos dos parámetros se denomina modo de vídeo; están estrechamente
relacionados: a mayor resolución, menor número de colores representables, y a la inversa. En tarjetas
modernas (SVGA y superiores), lo que las liga es la cantidad de memoria de vídeo (la que está presente en
la tarjeta, no la memoria general o RAM). Algunas combinaciones posibles son:

Memoria de Vídeo Máxima resolución (en 2 D) Máximo número de colores


512 Kb 1024x768 a 16 colores 256 a 680x480 puntos
1 MB 1280x1024 a 16 colores 16,7 millones a 640x480
2 MB 1600x1200 a 256 colores 16,7 millones a 800x600
4 MB 1600x1200 a 65.356 colores 16,7 millones a 1024x768

Se han colocado los modos más comunes, ya que no todas las tarjetas admiten todos los modos,
aparte de que muchas no permiten ampliar la memoria de vídeo. El cálculo de la memoria necesaria es:
(Res. Vert.)X (Res. Horiz.)x(Bits de color)/8.
Cabe destacar que el modo de vídeo elegido debe ser soportado por el monitor, ya que si no
éste podría dañarse gravemente. Esto depende de las características del mismo, en concreto de la
Frecuencia Horizontal.

33
Por otra parte, los modos de resolución para gráficos en 3D (fundamente juegos) suelen necesitar
bastante más memoria, en general unas 3 veces más; por ello, jugar a 800x600 puntos con 16 bits de color
(65.536 colores) suele requerir 4 MB de memoria de vídeo.

La velocidad de refresco

El refresco, es el número de veces que se dibuja la pantalla por segundo (como los fotogramas del
cine); cuanto mayor sea menos se nos cansará la vista y trabajaremos más cómodos y con menos
problemas visuales.
Se mide en hertzios (Hz, 1/segundo), así que 70 Hz significa que la pantalla se dibuja cada 1/70 de
segundo, o 70 veces por segundo. Para trabajar cómodamente necesitaremos esos 70 Hz. Para trabajar
ergonómicamente, con el mínimo de fatiga visual, 80 Hz o más. El mínimo absoluto son 60 Hz; por debajo
de esta cifra los ojos sufren muchísimo, y unos minutos bastan para empezar a sentir escozor o incluso un
pequeño dolor de cabeza.
Antiguamente se usaba una técnica denominada entrelazado, que consiste en que la pantalla se
dibuja en dos pasadas, primero las líneas impares y luego las pares, por lo que 70 Hz entrelazados equivale
a poco más de 35 sin entrelazar, lo que cansa la vista. Ésta técnica está en desuso, pero en los monitores
de 14" se ha usado hasta hace menos de un par de años.
El motivo de tanto entrelazado y no entrelazado es que construir monitores que soporten buenas
velocidades de refresco a alta resolución es bastante caro, por lo que la tarjeta de vídeo empleaba estos
trucos para ahorrar.
No todas las tarjetas de vídeo pueden ofrecer cualquier velocidad de refresco. Esto depende de dos
parámetros:
 La velocidad del RAMDAC, el conversor analógico digital. Se mide en MHz, y debe ser lo mayor
posible, preferiblemente entorno a 200 MHz.
 La velocidad de la memoria de vídeo, preferiblemente de algún tipo avanzado como WRAM,
SGRAM o SDRAM.

Memoria de vídeo

Su tamaño influye en los posibles modos de vídeo; además, su tipo determina si conseguiremos buenas
velocidades de refresco de pantalla o no. Los tipos más comunes son:

 DRAM: En las tarjetas más antiguas, ya descatalogadas. Malas características; refrescos máximos
entorno a 60 Hz.
 EDO: o "EDO DRAM". Hasta hace poco estándar en tarjetas de calidad media-baja. Muy variables
refrescos dependiendo de la velocidad de la EDO, entre 40 ns las peores y 25 ns las mejores.
 VRAM y WRAM: Bastante buenas, aunque en desuso; en tarjetas de calidad, muy buenas
características.

34
 MDRAM: Un tipo de memoria no muy común, pero de alta calidad.
 SDRAM y SGRAM: Actualmente utilizadas mayoritariamente, muy buenas prestaciones. La
SGRAM es SDRAM especialmente adaptada para uso gráfico, en teoría incluso un poco más
rápida.

Conectores: PCI, AGP...

La tarjeta gráfica, como añadido que es al PC, se conecta a éste mediante un slot o ranura de
expansión. Muchos tipos de ranuras de expansión se han creado precisamente para satisfacer a la ingente
cantidad de información que se transmite cada segundo a la tarjeta gráfica.

 ISA: El conector original del PC, poco apropiado para uso gráfico; en cuanto llegamos a tarjetas con
un cierto grado de aceleración resulta insuficiente. Usado hasta las primeras VGA "aceleradoras
gráficas", aquellas que no sólo representan la información sino que aceleran la velocidad del
sistema al liberar al microprocesador de parte de la tarea gráfica mediante diversas optimizaciones.
 VESA Local Bus: Más que un slot un bus, un conector íntimamente unido al microprocesador, lo
que aumenta la velocidad de transmisión de datos. Una solución usada en muchas placas 486, de
buen rendimiento pero tecnológicamente no muy avanzada.
 PCI: El estándar para conexión de tarjetas gráficas (y otros múltiples periféricos). Suficientemente
veloz para las tarjetas actuales, si bien algo estrecho para las 3D que se avecinan.
 AGP: Tampoco un slot, sino un puerto (algo así como un bus local), pensado únicamente para
tarjetas gráficas que transmitan cientos de MB/s de información, típicamente las 3D. Presenta poca
ganancia en prestaciones frente a PCI, pero tiene la ventaja de que las tarjetas AGP pueden utilizar
memoria del sistema como memoria de vídeo.

En cualquier caso, el conector sólo puede limitar la velocidad de una tarjeta, no la eleva.

TARJETA DE SONIDO

Su Historia

El PC no fue pensado en un principio para manejar sonido, Ese pitido que oímos cuando
arrancamos el ordenador ha sido durante muchos años el único sonido que ha emitido el PC. En un
principio, el altavoz servía para comunicar errores al usuario.

35
Pero entró en escena el software que seguramente más ha hecho evolucionar a los ordenadores
desde su aparición: los videojuegos.
Apareció la tarjeta SoundBlaster, por fin era posible convertir sonido analógico a digital para
guardarlo en nuestro PC, y también convertir el sonido digital que hay en nuestro PC a analógico y poder
escucharlo por nuestros altavoces.

ADC/DAC

Los ordenadores sólo saben trabajar con datos digitales (más concretamente binarios, ceros y
unos), por lo que cuando conectamos unos altavoces a nuestra tarjeta de sonido, hay alguien que
transforma esos datos digitales en analógicos para que nuestro altavoz los entienda. De eso se encarga el
DAC (Conversor Digital-Analógico,).
Cuando grabamos desde una fuente externa (por ejemplo desde nuestro equipo musical),
deberemos transformar esos datos analógicos que llegan por el cable en muestras digitales que podamos
almacenar en nuestro disco duro.
Pero a alguien le puede ocurrir que necesite reproducir sonido, tratarlo al mismo tiempo con una
fuente externa y volver a grabarlo. O simplemente reproducir y grabar al mismo tiempo. Esta característica
se conoce como "full dúplex". Para ello, los dos conversores ADC-DAC deben trabajar de forma separada.

16 bits

Las tarjetas de sonido (excepto muy raras excepciones profesionales) toman las muestras de sonido
a 16 bits, esto ha llevado a engaño a más de uno al creer que su tarjeta de sonido trabajaba con más bits
que su propio procesador, pero se trata del número de voces. Esos bits vienen a definir la posición del
altavoz.
Para emitir sonidos, los altavoces se mueven dando golpes. Estos golpes hacen que el aire que nos
rodea vibre, y nuestros oídos captan esas vibraciones y las transforman en impulsos nerviosos que van a
nuestro cerebro. Deberemos indicarle al altavoz dónde debe "golpear", para ello simplemente le enviaremos
una posición (en este caso un número), cuantas más posiciones podamos representar, mejor será el sonido.
Y cuantos más bits tengamos, más posiciones podremos representar.

8 bits 256 posiciones

16 bits 65.536 posiciones

Calidad de CD

36
Las tarjetas de sonido simplemente transforman una señal continua, el oído humano es capaz de
reconocer unos 44.000 sonidos cada segundo, con lo que la utilización de un mayor muestreo no tiene
ningún sentido.
Todas las tarjetas de sonido domésticas pueden trabajar con una resolución de 44’1KHz, y muchas
incluso lo hacen a 48KHz. Las semi-profesionales trabajan en su mayoría con esos 48KHz y algunas incluso
con 50KHz. Las profesionales llegan cerca de los 100KHz.
La utilización de este muestreo ampliado se debe al mismo motivo por el que algunas tarjetas
utilizan más de 16bits para cada muestra: si los datos de partida no son suficientemente fieles o después
nos vamos a dedicar a modificar el sonido, perderemos calidad, así que cuanta más calidad tengamos en un
principio, mejores resultados obtendremos al final, es mejor trabajar con un margen de confianza.

MIDI, síntesis FM y tablas de ondas

El sonido digital siempre ha tenido diversos formatos (hasta llegar al mp3, el más de moda
actualmente). El sonido en formato digital tiene un problema, y es su excesivo espacio para almacenar
relativamente poca información. Se pueden hacer los cálculos fácilmente: audio a 44,1KHz, con 16 bits y en
estéreo, nos da 172 Kb/segundo (10,3 MB por minuto).
Este método de almacenar el audio digital es el utilizado en los ficheros Wav o en el Cd-audio. Sin
embargo, no resulta útil para los profesionales (sobre todo para los compositores), hay que imaginar la
cantidad de disco duro y, sobre todo, memoria que son necesarios para trabajar a pleno rendimiento con el
audio digital, la solución está en el formato MIDI (Musical Instrument Data Interface)
Al contrario que el audio digital, el formato MIDI no es el sonido grabado, sino principalmente las
notas musicales que lo componen. Cualquier fichero MIDI ocupará muy poco espacio, debido a que tan solo
es necesario almacenar las notas que están sonando en cada momento. El formato MIDI nació para
estandarizar el comportamiento de los distintos instrumentos digitales, para que las mismas notas sonaran
"igual" en los distintos instrumentos. Hoy en día existen teclados MIDI (sintetizadores), pianos MIDI, violines
MIDI, flautas MIDI, baterías MIDI, e incluso gaitas MIDI.
En el caso del ordenador, la tarjeta de sonido es la encargada de reproducir las composiciones
MIDI. Como el formato MIDI no es más que notas, tendremos que obtener los sonidos, existen dos
opciones.

 Síntesis FM: Es un pequeño procesador que se encarga de imitar el sonido mediante el


empleo de fórmulas matemáticas trigonométricas
 Síntesis por Tabla de Ondas: Tiene los sonidos de los instrumentos grabados (a partir de
instrumentos reales) en una memoria incluida en la propia tarjeta (ROM que normalmente
se puede ampliar con RAM para añadir nuevos y mejores sonidos) o utilizando la memoria

37
del ordenador, en cuyo caso deberá tener conector PCI en lugar de ISA. Con esto
conseguimos una calidad mucho mayor en la reproducción de canciones MIDI.

Canales

El Canal es una pista de sonido diferente para cada altavoz, en la que estarán grabados los datos
que debe reproducir, para que no le lleguen datos de otros altavoces. Así cada altavoz reproducirá el sonido
que le corresponde, logrando el deseado realismo. Cuando escuchamos el sonido estéreo, nos llega
mediante 2 canales, el izquierdo y el derecho, mejorando mucho el realismo del sonido. El número de
canales muestreados determinará si el sonido es monofónico o estereofónico.

Conexión de la tarjeta con el exterior

Tradicionalmente se han utilizado conectores mini-jack, como los que usamos en nuestro
radiocasete portátil. Éstos siguen siendo los más comunes.
Conectores tradicionales en las cadenas de sonido
domésticas son los RCA. Normalmente cada RCA es
un canal independiente (mientras que en el Jack van
2 canales juntos). Por ello siempre van de dos en dos
(clásicamente el rojo es el canal derecho y el blanco el izquierdo).
Ofrecen mayor calidad que los conectores Jack tradicionales.
Si buscamos calidad profesional, deberemos decidirnos por
una tarjeta con entradas y salidas S/PDIF o salidas ópticas
digitales. Éste ha sido desarrollado por Sony y Philips para diseñar
una interface de conexión digital de altas prestaciones. Al tratar al
sonido digitalmente, no se producen pérdidas de calidad en ningún momento al pasar de soporte digital al
ordenador o viceversa.
Las entradas y salidas MIDI. serán necesarias en caso de que vayamos a trabajar con dispositivos
MIDI como pudiera ser un teclado. Con la entrada MIDI, nuestras composiciones serán mucho más
sencillas, puesto que tan sólo deberemos conectar nuestro teclado, y la partitura de la pieza que toquemos
aparecerá en la pantalla de nuestro ordenador (si contamos con el software adecuado).
Si además de entrada, disponemos de una salida MIDI, cualquier partitura en ese formato podrá ser
reproducida por un instrumento conectado, desde un teclado a una caja de ritmos pasando por una guitarra
o una batería (siempre que sean MIDI).
Además de estos conectores externos, los hay también internos, siendo el más importante el que va
al CD-ROM, para poder escuchar los CD’s de música. Puede ser digital o analógico.
MÓDEM

Este pequeño MOdulador/Demodulador (de ahí su nombre), se conecta a la línea telefónica y al


ordenador y permite la entrada a Internet, así como enviar y recibir correo electrónico, entre otras

38
posibilidades. Los módems pueden ser internos o externos. Los internos vienen incorporados en una tarjeta
que se conecta dentro del PC. y los externos se conectan mediante un cable al puerto serie de ordenador.
Transforma las señales digitales del ordenador en señal telefónica analógica y viceversa, con lo que permite
al ordenador transmitir y recibir información por la línea telefónica.

Tipos de módems

La distinción principal que se suele hacer es entre módems internos y módems externos, recientemente
han aparecido unos módems llamados "módems software" o Winmódems.

Internos: Consisten en una tarjeta de expansión sobre la cual están dispuestos los diferentes
componentes que forman el módem. Existen para diversos tipos de conector:

 ISA: Debido a las bajas velocidades que se manejan en estos aparatos, durante
muchos años se utilizó en exclusiva este conector, hoy en día está en desuso.
 PCI: El formato más común en la actualidad.
 AMR: Sólo en algunas placas muy modernas; poco recomendables por su bajo
rendimiento.

La principal ventaja de estos módems reside en su mayor integración con el ordenador, ya


que no ocupan espacio sobre la mesa y toman su alimentación eléctrica del propio ordenador. Además,
suelen ser algo más baratos debido a carecer de carcasa y transformador, especialmente si son PCI
(aunque en este caso son casi todos del tipo "módem software"). Por contra, son algo más complejos de
instalar y la información sobre su estado sólo puede
obtenerse mediante software.

Externos: Son similares a los anteriores pero metidos en


una carcasa que se coloca sobre la mesa o el ordenador. La
conexión con el ordenador se realiza generalmente
mediante uno de los puertos serie o COM, por lo que se
usa la UART (chip que controla los puertos serie) del ordenador, que deberá ser capaz de proporcionar
la suficiente velocidad de comunicación; actualmente existen modelos para puerto USB, de conexión y
configuración aún más sencillas. La ventaja de estos módems reside en su fácil transportabilidad entre
ordenadores, además de que podemos saber el estado el módem (marcando, con/sin línea,
transmitiendo...) mediante unas luces que suelen tener en el frontal. Por el contrario, son un aparato
más, necesitan un enchufe para su transformador y la UART debe ser una 16550 o superior para que el
rendimiento de un módem de 28.800 bps o más sea el adecuado.

Módems PC-Card: Son módems que se utilizan en portátiles; su tamaño es similar al de una tarjeta de
crédito algo más gruesa, pero sus capacidades pueden ser igual o más avanzadas que en los modelos
normales.

39
Módems software, HSP o Winmódems: Son módems internos en los cuales se han eliminado varias
piezas electrónicas, generalmente chips especializados, de manera que el microprocesador del
ordenador debe suplir su función mediante software. Lo normal es que utilicen como conexión una
ranura PCI (o una AMR), aunque no todos los módems PCI son de este tipo. La ventaja resulta
evidente: menos piezas, más baratos. Las desventajas, que necesitan microprocesadores más
potentes, que su rendimiento depende del número de aplicaciones abiertas (nada de multitarea mientras
el módem funciona o se volverá muy lento) y que el software que los maneja sólo suele estar disponible
para Windows 95/98, de ahí el apelativo de Winmódems. Evidentemente, resultan poco recomendables.

Módems completos: Los módems clásicos no HSP, bien sean internos o externos. En ellos el
rendimiento depende casi exclusivamente de la velocidad del módem y de la UART, no del
microprocesador.

La velocidad del módem

Resulta sin duda el parámetro que mejor define a un módem, hasta el punto de que en muchas
ocasiones se habla simplemente de "un módem 55.600", o "un 36.600", sin especificar más. Estas cifras son
bits por segundo, bps.
Se debe tener en cuenta que son bits, no bytes. En este contexto, un byte está compuesto de 8
bits; por tanto, un módem de 33.600 bps transmitirá (en las mejores condiciones) un máximo de 4.200 bytes
por segundo, o lo que es lo mismo: necesitará como poco 6 minutos para transmitir el contenido de un
disquete de 1,44 MB.
Asímismo, no se debe confundir esta velocidad nominal (la que podría alcanzar el módem, por
ejemplo 33.600 bps) con la velocidad de negociado, que es aquella que se nos indica al comienzo de una
conexión a Internet; esta última es aquella que en principio, y en ese momento, ha identificado el módem del
otro lado de la línea como válida, y tiene poco que ver con el rendimiento que obtendremos.
Así, una conexión en la que la velocidad de negociado ha sido de 31.200 bps podría acabar siendo
mucho más rápida que otra en que se han alcanzado los 33.600. Sólo debe tenerse en cuenta este valor
cuando es anormalmente bajo (como 14.400 con un módem de 33.600) o cuando nunca alcanzamos la
velocidad máxima (lo que puede indicar que el módem, la línea o el proveedor son de mala calidad).

La velocidad interna PC-módem

Es como designaremos a la velocidad con que se comunican entre sí el PC y el módem, bien sea
éste interno (en cuyo caso lo hará mediante el bus ISA, PCI o AMR), bien sea externo (mediante un cable
conectado a un puerto COM).
Esta velocidad puede ser mayor que aquélla a la que se están comunicando nuestro módem y el
módem remoto. Cuanto mayor sea el flujo de información entre nuestro ordenador y nuestro módem, más
libre estará éste para ir dando la información que recibe del exterior y mejor será el rendimiento, sin cuellos
de botella que lo ralenticen.

40
Por ejemplo, si ambas velocidades fueran iguales (por ejemplo de 28.800 bps), si el módem
estuviera recibiendo un caudal constante igual a esos 28.800 bps y deseáramos darle una orden ("dile al
servidor remoto que quiero otra página", por ejemplo), debería cedernos parte de esos 28.800 bps para que
le pudiéramos "hablar", lo que causaría un desfase en la transmisión y una ralentización del proceso. Y si
por algún motivo tuviéramos la suerte de conectar unos instantes a más velocidad de la normal (lo que se
denomina un "pico" en la transmisión), no podríamos aprovecharlo porque hemos puesto el tope en la
velocidad nominal.

Las normas de comunicaciones

Las transmisiones de datos por vía telefónica se basan en una serie de estándares internacionales
que deben cumplir los dispositivos implicados en la comunicación. Cada norma define una serie de
parámetros tales que permiten la correcta comunicación a una cierta velocidad.
Así, cuando se dice que un módem cumple con la norma "V.34", quiere decir que es un módem que
cumple una serie de especificaciones tal que le permite comunicarse con módems de esa velocidad (y
usualmente de cualquier velocidad inferior a ésa).

La RDSI

Es decir, la Red Digital de Servicios Integrados (ISDN en inglés), o lo que es lo mismo: la línea de
teléfono digital. Lo que distingue a estas líneas no es el cable, que en la mayoría de los casos es el mismo,
sino el método de utilizarlo: se utiliza la línea telefónica digitalmente en vez de analógicamente, lo cual
implica que la cantidad de información transmisible por la línea es mayor.
Una línea digital común tiene un ancho de banda de 128.000 bits por segundo, que pueden
repartirse en dos canales de 64 Kbps Así, podemos tener dos líneas de teléfono, o una línea de teléfono y
una conexión a Internet de 64.000 bps, o una conexión a Internet de 128.000 bps.
Estas conexiones se realizan mediante un aparato similar a un módem que, al ser casi siempre
interno, recibe el nombre genérico de tarjeta RDSI. Dispone de sus propias UART especiales capaces de
alcanzar los 128.000 bps, por lo que no debería depender de las capacidades del ordenador; pero debido a
la gran cantidad de información a manejar y a que se supone que buscamos un rendimiento adecuado, el
ordenador deberá ser medianamente potente.

41
PERIFÉRICOS

En el apartado dedicado a los periféricos, me ajustaré, sin entrar en demasiados detalles técnicos, a los más
usados en un entorno multimedia. Haré una excepción con el Monitor, dada, a mi parecer, su vital
importancia.

MONITOR

Es la pantalla en la que se ve la información suministrada por el ordenador. En el caso más habitual


se trata de un aparato basado en un tubo de rayos catódicos (CRT) como el de los televisores, mientras que
en los portátiles es una pantalla plana de cristal líquido (LCD). En la actualidad se empiezan a usar
monitores con pantalla de cristal liquido para PC’s.

Resolución

Se trata del número de puntos que puede representar el monitor por pantalla, en horizontal x
vertical. Así, un monitor cuya resolución máxima sea de 1024x768 puntos puede representar hasta 768
líneas horizontales de 1024 puntos cada una, probablemente además de otras resoluciones inferiores, como
640x480 u 800x600.
Cuanto mayor sea la resolución de un monitor, mejor será la calidad de la imagen en pantalla, y
mayor será la calidad del monitor. La resolución debe ser apropiada además al tamaño del monitor; es
normal que un monitor de 14" ó 15" no ofrezca 1280x1024 puntos, mientras que es el mínimo exigible a uno
de 17" o superior.

Tamaño del Monitor Resolución Máxima Resolución de Trabajo


(pulgadas) (exigible) (recomendada)

14 800x600 640x800

15 1024x768 800x600

17 1280x1024 1024x768

19 1600x1200 1152x864

21 1600x1200 1280x1024

42
La resolución está estrechamente relacionada con el número de colores presentados, relacionado
todo ello con la cantidad de memoria de la tarjeta gráfica.

Refresco de pantalla

También llamada Frecuencia de Refresco Vertical. Se puede comparar al número de fotogramas


por segundo de una película de cine, por lo que deberá ser lo mayor posible. Se mide en Hz (hertzios) y
debe estar por encima de 60 Hz, preferiblemente 70 u 80. A partir de esta cifra, la imagen en la pantalla es
sumamente estable, sin parpadeos apreciables, con lo que la vista sufre mucho menos.
Antiguamente los monitores sólo podían presentar imágenes con unos refrescos determinados y
fijos, por ejemplo los monitores CGA o EGA y algunos VGA; hoy en día todos los monitores son multiscan,
es decir, que pueden presentar varios refrescos dentro de un rango determinado.
Quien proporciona estos refrescos es la tarjeta gráfica, pero quien debe presentarlos es el monitor.
Si ponemos un refresco de pantalla que el monitor no soporta podríamos dañarlo, por lo que debemos
conocer sus capacidades a fondo, para lo cual lo mejor es leer con detenimiento el manual o mirar otro
parámetro denominado Frecuencia Horizontal, que debe ser lo mayor posible, entre unos 30 a 80 KHz. Por
ejemplo, un monitor en que la frecuencia horizontal sea de 30 a 65 KHz dará sólo 60 Hz a 1600x1200
puntos, mientras que uno en que sea de 30 a 90 dará 75 o más.

Tamaño de punto (dot pitch)

Es un parámetro que mide la nitidez de la imagen, midiendo la distancia entre dos puntos del mismo
color; resulta fundamental a grandes resoluciones. En ocasiones es diferente en vertical que en horizontal, o
se trata de un valor medio, dependiendo de la disposición particular de los puntos de color en la pantalla, así
como del tipo de rejilla empleada para dirigir los haces de electrones.
Lo mínimo exigible en este momento es que sea de 0,28 mm, no debiéndose admitir nada superior
como no sea en monitores de gran formato para presentaciones, donde la resolución no es tan importante
como el tamaño de la imagen.

Controles y conexiones

Aunque se va cada vez más al uso de monitores con controles digitales, en principio no debe ser
algo determinante a la hora de elegir un monitor, si bien se tiende a que los monitores con dichos controles
sean los más avanzados de la gama.
Una característica casi común a los monitores con controles digitales son los controles OSD (On
Screen Control, controles en pantalla). Nos indican qué parámetro estamos cambiando y qué valor le
estamos dando.

43
Algunos monitores digitales (no todos) suelen tener memorias de los parámetros de imagen
(tamaño, posición...), por lo que al cambiar de resolución no tenemos que reajustar dichos valores.
En cuanto a los controles en sí, los imprescindibles son: tamaño de la imagen (vertical y horizontal),
posición de la imagen, tono y brillo. Son de agradecer los de "efecto barril" (para mantener rectos los bordes
de la imagen), control trapezoidal (para mantenerla rectangular) y degauss magnético o desmagnetización.
Por lo que respecta a las conexiones, lo imprescindible es el típico conector mini D-sub de 15 pines;
en monitores de 17" o más, es interesante que existan además conectores BNC, que presentan la ventaja
de separar los tres colores básicos. De cualquier modo, esto sólo importa si la tarjeta gráfica también los
incorpora y si la precisión en la representación del color resulta determinante en el uso del monitor.
Hoy en día algunos monitores pueden incorporar una bahía USB, para la conexión de este tipo de
periféricos.

Multimedia

Algunos monitores llevan acoplados altavoces, e incluso micrófono y/o cámaras de vídeo. Esto
resulta interesante cuando se trata de un monitor de 15" ó 17" cuyo uso vaya a ser doméstico, para juegos o
videoconferencia.

Pantallas portátiles

Se basan en tecnologías de cristal líquido (LCD), parecidas a las de los relojes de pulsera digitales
pero mucho más avanzadas.
Una de las diferencias más curiosas respecto a los monitores "clásicos" es que el tamaño que se
indica es el real, no como en éstos. Mientras que en un monitor clásico de 15" de diagonal de tubo sólo un
máximo de 13,5" a 14" son utilizables, en una pantalla portátil de 13,3" son totalmente útiles, así que no son
tan pequeñas como parece.
Otra cosa que les diferencia es que no emiten en absoluto radiaciones electromagnéticas dañinas,
por lo que la fatiga visual y los posibles problemas oculares se reducen.
En la actualidad coexisten dos tipos:
 Dual Scan (DSTN): Ya no muy utilizadas, razonablemente buenas pero dependen de las
condiciones de iluminación del lugar donde se esté usando el portátil.
 Matriz Activa (TFT): Ésta opción encarece el portátil, pero permite una visualización perfecta sean
cuales sean las condiciones de iluminación exteriores.

En ambos casos las imágenes se ven mejor de frente que de lado, llegando a desaparecer si nos
escoramos mucho, aunque en los portátiles modernos este ángulo de visión es muy alto, hasta unos 160º
(el máximo es 180º, más significaría poder ver la pantalla desde la parte de atrás).

44
RATÓN

Dispositivo que mueve un puntero sobre la pantalla y permite seleccionar textos, imágenes o entrar
en las diferentes opciones mostradas en la pantalla.
Desde que se usan entornos gráficos tipo Windows, una herramienta fundamental.
Existen de varios tipos, con cable, inalámbricos, con bola o TrackBall, el tipo de ratón que usemos
depende del gusto del usuario.
Básicamente todos funcionan de la misma forma, un dispositivo mecánico es accionado por una
bola, generalmente de goma dura, que a su vez es movida por los movimientos de nuestra mano. En el PC,
tienen como mínimo dos botones. El izquierdo se usa (si no se es zurdo) para seleccionar ya sea con uno o
dos clic y el derecho al pulsarle se abre un menú contextual desde el cual accedemos a varias opciones del
sistema operativo.

TECLADO

Es un elemento muy importante, es el encargado de mandar nuestras órdenes escritas al ordenador


para que este las interprete y las haga lógicas a nuestra vista. Existen 3 tipos fundamentales de teclados:

 De membrana: Resultan algo imprecisos, de tacto blando, apenas hacen ruido al teclear. En teoría
son los peores, pero hay a quien le encanta esa suavidad y ese silencio.
 Mecánicos: Los más equilibrados en calidad/precio. Más precisos, quizá algo escandalosos.
 Ergonómicos: Tienen el teclado dividido en dos partes de diferente orientación. Las muñecas
sufren menos, pero sólo lo recomiendo si se va a usar mucho.

IMPRESORA

Como indica su nombre, la impresora es el periférico que el ordenador utiliza para presentar
información impresa en papel. Las primeras impresoras nacieron muchos años antes que el PC e incluso
antes que los monitores, siendo durante años el método más usual para presentar los resultados de los
cálculos en aquellos primitivos ordenadores, todo un avance respecto a las tarjetas y cintas perforadas que
se usaban hasta entonces.
Si queremos clasificar los diversos tipos de impresoras que existen, el método más lógico es hacerlo
atendiendo a su tecnología de impresión, es decir, al método que emplean para imprimir en el papel, e
incluir en dicha clasificación como casos particulares otras consideraciones como el uso de color, su
velocidad, etc.

45
Tipos de impresoras

Existen tres tipos clásicos: matriciales, de tinta y láser.

Impresoras de impacto (matriciales): Fueron las primeras que surgieron en el mercado. Se las
denomina "de impacto" porque imprimen mediante el impacto de unas pequeñas piezas (la matriz de
impresión) sobre una cinta impregnada en tinta.

Impresoras de tinta: Cuando nos referimos a impresora de tinta nos solemos referir a aquéllas en las
que la tinta se encuentra en forma más o menos líquida, no impregnando una cinta como en las matriciales.
Estas impresoras destacan por la sencilla utilización del color.

Impresoras láser: Son las de mayor calidad del mercado, si entendemos por calidad la resolución
sobre papel normal que se puede obtener, unos 600 PPP reales. En ellas la impresión se consigue
mediante un láser que va dibujando la imagen electrostáticamente en un elemento llamado tambor que va
girando hasta impregnarse de un polvo muy fino llamado tóner (como el de fotocopiadoras) que se le
adhiere debido a la carga eléctrica. Por último, el tambor sigue girando y se encuentra con la hoja, en la cual
imprime el tóner que formará la imagen definitiva.

La velocidad de una impresora se suele medir con dos parámetros:

 ppm: páginas por minuto que es capaz de imprimir;


 cps: caracteres (letras) por segundo que es capaz de imprimir.

Resolución

Probablemente sea el parámetro que mejor define a una impresora. La resolución es la mejor o peor
calidad de imagen que se puede obtener con la impresora, medida en número de puntos individuales que es
capaz de dibujar una impresora.
Se habla generalmente de PPP, puntos por pulgada (cuadrada) que imprime una impresora. Así,
cuando hablamos de una impresora con resolución de "600x300 PPP" nos estamos refiriendo a que en cada
línea horizontal de una pulgada de largo (2,54 cm) puede situar 600 puntos individuales, mientras que en
vertical llega hasta los 300 puntos. Si sólo aparece una cifra ("600 PPP", por ejemplo) suele significar que la
resolución horizontal es igual que la vertical.

ESCÁNER

46
Por digitalizar se entiende la operación de transformar algo analógico (algo físico, real, de precisión
infinita) en algo digital (un conjunto finito y de precisión determinada de unidades lógicas denominadas bits).
Se trata de coger una imagen (fotografía, dibujo o texto) y convertirla a un formato que podamos almacenar
y modificar con el ordenador. Realmente un escáner no es ni más ni menos que los ojos del ordenador.

Cómo funciona

El proceso de captación de una imagen resulta casi idéntico para cualquier escáner:
Se ilumina la imagen con un foco de luz, se conduce mediante espejos la luz reflejada hacia un
dispositivo denominado CCD que transforma la luz en señales eléctricas, se transforma dichas señales
eléctricas a formato digital en un DAC (conversor analógico-digital) y se transmite el caudal de bits
resultante al ordenador.
El CCD (Charge Coupled Device, dispositivo acoplado por carga eléctrica) es el elemento
fundamental de todo escáner, independientemente de su forma, tamaño o mecánica. Consiste en un
elemento electrónico que reacciona ante la luz, transmitiendo más o menos electricidad según sea la
intensidad y el color de la luz que recibe; es un auténtico ojo electrónico. La calidad final del escaneado
dependerá fundamentalmente de la calidad del CCD.

La resolución

La resolución (medida en PPP, puntos por pulgada) puede definirse como el número de puntos
individuales de una imagen que es capaz de captar un escáner.
Cuando hablamos de un escáner con resolución de "300x600 PPP" nos estamos refiriendo a que en
cada línea horizontal de una pulgada de largo (2,54 cm) puede captar 300 puntos individuales, mientras que
en vertical llega hasta los 600 puntos. Esta resolución óptica viene dada por el CCD y es la más importante,
ya que implica los límites físicos de calidad que podemos conseguir con el escáner.

Tipos de escáner

Físicamente existen varios tipos de escáner, cada uno con sus ventajas y sus inconvenientes:

 De sobremesa o planos: Son los modelos más apreciados por su buena relación
precio/prestaciones, aunque también son de los periféricos más incómodos de ubicar debido a
su gran tamaño. Sin embargo, son los modelos más versátiles, permitiendo escanear
fotografías, hojas sueltas, periódicos, libros encuadernados e incluso transparencias,
diapositivas o negativos con los adaptadores adecuados.

47
 De mano: Son los escáner "portátiles", con todo lo bueno y lo malo que implica esto. Hasta
hace unos pocos años eran los únicos modelos con precios asequibles para el usuario medio,
ya que los de sobremesa eran extremadamente caros; esta situación ha cambiado tanto que en
la actualidad los escáner de mano están casi en vías de extinción. Su extinción se debe a las
limitaciones que presentan en cuanto a tamaño del original a escanear (generalmente puede ser
tan largo como se quiera, pero de poco más de 10 cm de ancho máximo) y a su baja velocidad,
así como a la carencia de color en los modelos más económicos. Lo que es más, casi todos
ellos carecen de motor para arrastrar la hoja, sino que es el usuario el que debe pasar el
escáner sobre la superficie a escanear.
 De rodillo: Unos modelos de aparición relativamente moderna, se basan en un sistema muy
similar al de los aparatos de fax: un rodillo de goma motorizado arrastra a la hoja, haciéndola
pasar por una rendija donde está situado el elemento capturador de imagen. Este sistema
implica que los originales sean hojas sueltas, lo que limita mucho su uso al no poder escanear
libros encuadernados sin realizar antes una fotocopia. A favor tienen el hecho de ocupar muy
poco espacio, incluso existen modelos que se integran en la parte superior del teclado; en
contra tenemos que su resolución rara vez supera los 400x800 puntos, aunque esto es más que
suficiente para el tipo de trabajo con hojas sueltas al que van dirigidos.
 Modelos especiales: Aparte de los híbridos de rodillo y de mano, existen otros escáner
destinados a aplicaciones concretas; por ejemplo, los destinados a escanear exclusivamente
fotos, negativos o diapositivas, aparatos con resoluciones reales del orden de 3.000x3.000 PPP
que muchas veces se asemejan más a un CD-ROM que a un escáner clásico; o bien los
bolígrafos-escáner, utensilios con forma y tamaño de lápiz o marcador fluorescente que
escanean el texto por encima del cual los pasamos y a veces hasta lo traducen a otro idioma al
instante; o impresoras-escáner, similares a fotocopiadoras o más particulares como las Canon,
donde el lector del escáner se instala como un cartucho de tinta.

CÁMARAS DE VIDEOCONFERENCIA

Las cámaras de videoconferencia se están convirtiendo día a día en un elemento más de nuestro
ordenador, con ellas podemos mantener (a través de programas como NetMeeting) contactos visuales en
tiempo real con otro usuario de la red.

48
Si hablamos de una buena resolución de la
imagen, seguramente nos estaremos refiriendo a una
calidad de unos 29 o 30 cuadro por segundo, a mas
cuadros por segundos que pueda generar una cámara,
mejor sensación causará en la percepción visual de
nuestro interlocutor, ya que la imagen se verá más fluida y
no entrecortada como podría suceder con unos 15
cuadros por segundo.
Por otro lado, si queremos transmitir una buena
calidad en la imagen deberemos tener en cuenta la
conexión que poseemos para conectarnos a Internet.
Por este motivo, en algunos casos, sobre todo si
se cuenta con una conexión de unos 56Kbps quizás se tenga la necesidad de sacrificar un poco la calidad
de la transmisión que se desea realizar. Obviamente, sería penoso llegar al punto de emitir cuadros que se
van intercalando en lapsos de segundos. La imagen carecería de naturalidad.
Por todo lo que acabo de explicar, resulta obvia la necesidad de la conectividad que podría brindar
un cable módem. Si nos conectamos con un módem, habrá que tener paciencia. La videoconferencia se
desarrolló perfectamente mientras no eran tan popular conexiones con cable módem.
Para auxiliar la transmisión, contamos con compresión de la señal que emitiremos.
Hay otros medios para transmitir video por Internet. Como por ejemplo una tarjeta capturadora de
video y complementar a esta con un handycam de video.
Para aquellos que desean realizar videoconferencias, mediante una sencilla conexión de la cámara
al puerto USB, existen diferentes cámaras de vídeo y en la actualidad son las más utilizadas.

Manejo de FETCH
Una vez que se ha accesado FETCH, se observará el siguiente cuadro de diálogo:

49
La información que se debe introducir en el cuadro de diálogo, a fin de abrir una cuenta desde FETCH para
realizar la transferencia de un archivo, es la que se describe a continuación:

a. El nombre de la máquina en la que se desea realizar transferencia de archivos (o "nombre huésped").

b. El nombre de su cuenta en aquella máquina (o "id del usuario").

c. El password de esa cuenta.

d. El nombre del directorio con el que se desea inicializar (esto es opcional).

Un ejemplo de cómo se abriría una cuenta de la UDLA-P desde FETCH, es el siguiente:

Así, después de introducir esta información se habrá logrado abrir la cuenta deseada:

50
Localización de Archivos y Directorios

La mayoría de las computadoras dividen sus archivos en directorios, los cuales son equivalentes a los
folders utilizados en una Macintosh. Así, el primer paso a seguir para localizar un archivo es ubicarse en el
directorio correcto. FETCH muestra el nombre del directorio accesado, así como también una lista que
contiene los nombres de los archivos y subdirectorios contenidos en tal directorio, como se muestra a
continuación:

La forma de ubicarse en el directorio adecuado para localizar el archivo cuya transferencia se desea
realizar, se puede realizar de dos formas:

a. Si se encuentra en la lista que contiene los nombres de los archivos y subdirectorios contenidos en el
directorio actual, entonces bastará con dar doble click en el folder que contiene el archivo de interés.

51
b. Si se encuentra en un directorio que antecede al directorio actual, entonces será necesario accesar al
directorio de interés ubicándose en él mediante el empleo del menú colgante, tal y como se muestra a
continuación:

Cómo Transferir un Archivo de una Macintosh a una Cuenta en Otra Computadora

Para llevar a cabo la transferencia de una Macintosh a una determinada cuenta en otra computadora, se
deben seguir los pasos que se describen a continuación. Cabe mencionar que para ejemplificar este
proceso se hará la transferencia de un archivo llamado "Prueba", localizado en el disco duro cuyo nombre
es "Consultas Programoteca" de una Macintosh, a la cuenta "amoreno".

a. Abrir desde FETCH la cuenta a la cual se desea transferir el archivo de interés, tal y como se explicó
anteriormente.

b. Seleccionar la opción Put File ... dando un click con el mouse.

52
c. Posicionarse en el lugar donde se encuentra el archivo llamado "Prueba" haciendo uso de la opción Open
del cuadro de diálogo, y una vez que se ha localizado el archivo, seleccionar nuevamente la opción Open.

d. Seleccionar la opción OK del cuadro de diálogo para grabar el archivo llamado "Prueba". Si el nombre
que tiene el archivo desea sustituirse por otro, podrá realizarse el cambio asignando el nuevo nombre en el
cuadro sombreado que se encuentra bajo la frase "Save file on udlapvms.pue.udlap.mx as:" del cuadro de
diálogo.

53
Cómo Transferir un Archivo de una Cuenta en Otra Computadora a una Macintosh

Para llevar a cabo la transferencia de un archivo de una determinada cuenta al disco duro de una
Macintosh, se deben seguir los pasos que se describen a continuación. Cabe mencionar que para
ejemplificar este proceso se hará la transferencia de un archivo llamado "Prueba", localizado en la cuenta
"amoreno", al disco duro cuyo nombre es "Consultas Programoteca" de una Macintosh.

a. Abrir desde FETCH la cuenta a la cual se desea transferir el archivo, tal y como se explicó anteriormente.

b. Seleccionar el archivo llamado "Prueba" y posteriormente la opción Get File ... , dando un click con el
mouse para ambos casos.

Si no se selecciona el nombre del archivo que se desea transferir antes de dar un click en la opción Get
File..., aparecerá un cuadro de diálogo que pedirá se le de el nombre del archivo que se va a transferir.

c. Seleccionar la opción Save del cuadro de diálogo para grabar el archivo llamado "Prueba". Si el nombre
que tiene el archivo desea sustituirse por otro, podrá realizarse el cambio asignando el nuevo nombre en el
cuadro sombreado que se encuentra bajo la frase "Save text file as:" del cuadro de diálogo. El lugar del
disco duro "Consultas Programoteca" en el que se desea grabar el archivo en cuestión, podrá determinarse
haciendo uso de la opción Desktop del cuadro de diálogo.

54
55
CODIGO ASSCII Y EBCDIC

Se usan códigos ASCII en UNIX y en las computadoras de base DOX para representar texto simple. El
Sistema de las computadoras IBM 390 usa su propio juego de códigos, llamado EBCDIC. 

Una nueva norma, llamada Unicode (Unicode Worldwide Code Standard - Código Norma Universal
Unicode), se usa en las computadoras bajo Windows NT. IE4 y Netscape 4 entienden al Unicode y su uso
se está extendiendo. El Unicode versión 3.0 contiene 49,194 caracteres de los utilizados en los lenguajes
más importantes del mundo. Además de letras y números, el Unicode incluye puntuación, símbolos
matemáticos y técnicos, formas geométricas, caracteres gráficos y modelos del Braille. Unicode contiene el
código ASCII de norma como un subconjunto. 

Las tablas de más abajo muestran los juegos de códigos del ASCII y EBCDIC. El símbolo significa que el
conjunto de caracteres o fuente actual, no lo contiene. Por ejemplo se ha cambiado recientemente 0128
para representar el nuevo símbolo de dinero Euro, pero los conjuntos de caracteres o fuentes más
antiguas no tendrán ese símbolo. Para imágenes de las tablas completas, vea www.asciitable.com

Para ver la escritura del Unicode usted necesita ir al sitio web de Unicode: mapas de Unicode 2.1. ¡Hay
algunas escrituras aquí que son muy diferentes de lo que usted ve en esta página! Si usted desciende por la
misma, puede encontrar los cuadros conteniendo el símbolo para el dinero y caracteres gráficos o dingbats. 

Standard ASCII (Caracteres Alfanuméricos)

33 !  49 1  65 A  81 Q  97 a  113 q

34 "  50 2  66 B  82 R  98 b  114 r

35 #  51 3  67 C  83 S  99 c  115 s

36 $  52 4  68 D  84 T  100 d  116 t

37 %  53 5  69 E  85 U  101 e  117 u

38 &  54 6  70 F  86 V  102 f  118 v

39 '  55 7  71 G  87 W  103 g  119 w

40 (  56 8  72 H  88 X  104 h  120 x

41 )  57 9  73 I  89 Y  105 i  121 y

42 *  58 :  74 J  90 Z  106 j  122 z

43 +  59 ;  75 K  91 [  107 k  123 {

44 ,  60 <  76 L  92 \  108 l  124 |

45 -  61 =  77 M  93 ]  109 m  125 }

56
46 .  62 >  78 N  94 ^  110 n  126 ~

47 /  63 ?  79 O  95 _  111 o  127 _


   
48 0  64 @  80 P  96 `  112 p

Caracteres extendidos de ASCII 

128 € 144 160    176 ° 193 Á 209 Ñ 225 á 241 ñ


129 145 ‘ 161 ¡ 177 ± 194 Â 210 Ò 226 â 242 ò
130 ‚ 146 ’ 162 ¢ 178 ² 195 Ã 211 Ó 227 ã 243 ó
131 ƒ 147 “ 163 £ 179 ³ 196 Ä 212 Ô 228 ä 244 ô
132 „ 148 ” 164 ¤ 180 ´ 197 Å 213 Õ 229 å 245 õ
133 … 149 • 165 ¥ 181 µ 198 Æ 214 Ö 230 æ 246 ö
134 † 150 – 166 ¦ 182 ¶ 199 ç 215 × 231 ç 247 ÷
135 ‡ 151 — 167 § 183 · 200 È 216 Ø 232 è 248 ø
136 ˆ 152 ˜ 168 ¨ 184 ¸ 201 É 217 Ù 233 é 249 ù
137 ‰ 153 ™ 169 © 185 ¹ 202 Ê 218 Ú 234 ê 250 ú
138 Š 154 š 170 ª 186 V 203 Ë 219 Û 235 ë 251 û
139 ‹ 156 œ 171 « 187 » 204 Ì 220 Ü 236 ì 252 ü
140 Œ 157 172 ¬ 188 ¼ 205 Í 221 Ý 237 í 253 ý
141 158 ž 173 189 ½ 206 Î 222 Þ 238 î 254 þ
142 Ž 159 Ÿ 174 ® 190 ¾ 207 Ï 223 ß 239 ï 255 ÿ
143  192 À 175 ¯ 191 ¿ 208 Ð 224 à 240 ð

Códigos EBCDIC 

Decimal |  Hexadecimal |  Carácter    Decimal |  Hexadecimal |  Carácter

129 81 a 194 C2 B

130 82 b 195 C3 C

131 83 c 196 C4 D

132 84 d 197 C5 E

133 85 e 198 C6 F

134 86 f 199 C7 G

135 87 g 200 C8 H

136 88 h 201 C9 I

137 89 i 209 D1 J

145 91 j 210 D2 K

57
146 92 k 211 D3 L

147 93 l 212 D4 M

148 94 m 213 D5 N

149 95 n 214 D6 O

150 96 o 215 D7 P

151 97 p 216 D8 Q

152 98 q 217 D9 R

153 99 r 226 E2 S

162 A2 s 227 E3 T

163 A3 t 228 E4 U

164 A4 u 229 E5 V

165 A5 v 230 E6 W

166 A6 w 231 E7 X

167 A7 x 232 E8 Y

168 A8 y 233 E9 Z

169 A9 z 64 40 espacio en
blanco 

240 F0 0 75 4B .

241 F1 1 76 4C <

242 F2 2 77 4D (

243 F3 3 78 4E +

244 F4 4 79 4F |

245 F5 5 80 50 &

246 F6 6 90 5A !

247 F7 7 91 5B $

248 F8 8 92 5C *

58
249 F9 9 93 5D )

122 7A : 94 5E ;

123 7B # 96 60 -

124 7C @ 97 61 /

125 7D ' 107 6B ,

126 7E = 108 6C %

127 7F " 109 6D _

193 C1 A 110 6E >


     
111 6F ?

Sistemas de Numeración y
Medidas Informáticas

Introducción

En programación es frecuente acudir a diferentes sistemas de numeración según las circunstancias.


Hay que tener en cuenta que el hombre usa el sistema decimal, (según una opinión bastante general debido
a una circunstancia más o menos afortunada: por la simple razón de que tiene diez dedos entre las dos
manos. A menudo se usa el cinco como base de numeración auxiliar). La palabra “dígito” y “dedo” tienen la
misma raíz latina, por eso usamos una numeración con 10 dígitos o dedos.

Para contar de 1 a 10 es fácil, pero ¿qué pasa cuando hay que contar más de diez cosas? Pues usamos las
manos de un "amigo" para contar cuantas veces hemos usado los dedos de las nuestras, así "12", sería dos
más una vez diez.

Otra circunstancia curiosa es que en el sistema de numeración que usamos los números se leen y escriben
de derecha a izquierda, al revés del modo en que escribimos las palabras.
Cuando interpretamos números de varias cifras, hay que empezar por la derecha, el primer dígito son
unidades, el siguiente decenas, es decir cuantos grupos de 10 elementos estamos contando. El siguiente
centenar, es decir el número de grupos de 10 elementos de grupos de 10 elementos, o sea el número de
grupos de 100 elementos. Y así sucesivamente.

Sistema Binario

59
Estamos habituados al sistema de numeración decimal y nos parece lógico usarlo en todo momento. Pero
hay ocasiones en donde no es el más apropiado. Uno de esos mundos, en los que existen sistemas más
descriptivos de los fenómenos que el decimal, es el de los procesadores.
Las computadoras trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración
natural es el sistema binario (encendido, apagado).

Por su naturaleza digital, las computadoras son máquinas esencialmente binarias. Utilizan el sistema
de numeración llamado binario, en el que sólo se disponen dos signos: 0 y 1. Contando correlativamente de
manera binaria, diríamos: 0, 1, 10, 11, 100, 101, 110, 111,...

Tanto el sistema binario, como el decimal y el hexadecimal, son sistemas en los que la posición de cada
dígito representa información de mucha importancia.

Veamos un ejemplo de cómo se descompone posicionalmente un número decimal:

El número 7935 = 1000 * 7 + 100 * 9 + 10 * 3 + 1 * 5

Como hay diez símbolos (del 0 al 9), una decena representa 10 unidades, una centena representa 10
decenas, etc. Diez unidades de una posición, valen una unidad en la posición contigua a la izquierda. En el
sistema binario, con dos símbolos solamente, cada posición a la izquierda vale el doble de la que le sigue a
la derecha. O lo que es lo mismo decir, la relación entre las sucesivas posiciones se da según la sucesión

1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.....

la que a su vez puede expresarse como potencias crecientes de 2:

20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 210 , 211 , 212 , 213 , 214 , 215 , 216 .....

Para el sistema de numeración binaria, valen las dos reglas prácticas siguientes:

 Un número de n bits puede representar a un decimal de un valor de hasta 2n - 1


 El multiplicador del bit de posición n, vale 2n
Ejemplos:
un número de 8 bits cuenta desde 0 hasta 255.
El multiplicador del bit 7 es 128. (El bit número 7 tiene un “peso” de 128)

Notar que siempre se comienza a contar desde cero. En un número binario, al igual que en un decimal, el bit
menos significativo (correspondiente al multiplicador 20, o sea 1) es el que se escribe más a la derecha:

60
bit# 10 9 8 7 6 5 4 3 2 1 0

mult 1024 512 256 128 64 32 16 8 4 2 1

Veamos como ejemplo práctico un número de 7 bits cualquiera como 1001101 (notar que los bits se
ordenan 6...0)

1001101 = 64 * 1 + 32 * 0 + 16 * 0 + 8 * 1 + 4 * 1 + 2 * 0 + 1 * 1

Esto nos proporciona una forma de traducir (cambiar de base) un número binario a decimal.    Basta sumar
aquellos multiplicadores cuyos bits estén en 1 e ignorar aquellos cuyo bit es 0. En nuestro anterior ejemplo
es:

1001101 = 64 + 8 + 4 + 1 = 77 decimal

Los números binarios son los que efectivamente fluyen dentro del procesador en una PC, se guardan en
memoria o disco, o se transmiten (modulados) por modem. Pero un humano no puede manipular con
facilidad números como:

1101 0011 0101 0110 1010 0101 1100 0011

Que es de 32 bits (hay 32 símbolos en el número, desde el bit 31 a la izquierda hasta el bit 0, a la derecha)
y se ha ordenado ex-profeso en grupos de a cuatro por cuestiones de comodidad que serán evidentes algo
más adelante.

Desafortunadamente las computadoras trabajan en sistema binario y aunque es posible hacer la conversión
entre decimal y binario, no es precisamente una tarea cómoda. El sistema de numeración hexadecimal, o
sea de base 16, resuelve este problema: es compacto y nos proporciona un mecanismo sencillo de
conversión hacia el formato binario.

El Bit

Es el acrónimo de Binary Digit (dígito binario). Un bit es la unidad mínima de información empleada en
informática. Representa un uno o un cero (abierto o cerrado, blanco o negro, cualquier sistema de
codificación sirve). A través de secuencias de bits, se puede codificar cualquier valor discreto como, por
ejemplo, números, palabras e imágenes.

El Byte

61
Se describe como la unidad básica de almacenamiento de información, siendo equivalente a ocho bits.

Los prefijos kilo, mega, giga, etc. se consideran potencias de 1024 en lugar de potencias de 1000. Esto es
así porque 1024 es la potencia de 2 (210) más cercana a 1000.

Nombre Abrev. Factor

kilo KB 210 = 1024 1 byte: 8 bits


mega MB 220 = 1 048 576
1 Kilobyte: 1024 bytes
giga GB 230 = 1 073 741 824

tera TB 240 = 1 099 511 627 776 1 Megabyte: 1024 Kilobytes (Kb)


peta PB 2 = 1 125 899 906 842 624
50

1 Gigabyte: 1024 Megabytes (Mb)


exa EB 260 = 1 152 921 504 606 846 976

zetta ZB 270 = 1 180 591 620 717 411 303 424 1 Terabyte: 1024 Gigabytes (Gb)

yotta YB 280 = 1 208 925 819 614 629 174 706 176

Sistema Hexadecimal

El sistema hexadecimal es un sistema de numeración vinculado a la informática, ya que las computadoras


interpretan los lenguajes de programación en bytes, que están compuestos de ocho dígitos.

Como veremos en la unidad de Hardware, el procesador 80386 hace ya más de una década manipulaba sin
problemas números de 32 bits. Un humano necesita manejarlo de otra manera y por eso se inventó el
sistema hexadecimal, con 16 símbolos, ya que si uno agrupa cuatro bits obtiene 16 combinaciones
posibles (24 = 16).

Esto tiene una razón. Nuestro sistema decimal no se corresponde en la cantidad de dígitos con el binario en
cambio, el hexadecimal si, porque cada cuatro bits representan un dígito hexadecimal exacto.

En un sistema hexadecimal, necesitamos 16 símbolos. Ya que somos muy buenos manejando números
decimales, adoptamos esos diez símbolos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9) para empezar, pero hay que agregar
otros seis: A, B, C, D, E y F
 Cada trozo de información recibe un nombre propio según la cantidad de bits que posea:

 un bit es la unidad de información binaria y con él se puede contar desde 0 hasta 1

62
 un nibble son cuatro bits y se puede contar desde 0 hasta 15 (F en hexa)
 con un byte (8 bits) puedo contar desde 0 hasta 255 ó FF hexa
 una word tiene 16 bits y permite contar desde 0 hasta 65535 ó FFFF en hexa.

binario decimal Hexa binario decimal hexa


0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 10 A
0011 3 3 1011 11 B
0100 4 4 1100 12 C
0101 5 5 1101 13 D
0110 6 6 1110 14 E
0111 7 7 1111 15 F
 
 Sistema Octal

El sistema octal se compone de 7 dígitos el 0,1,2,3,4,5,6,7.

Conversión Decimal - Binario

Este sistema lo emplean las computadoras para trabajar internamente.

Para transformar un número decimal al sistema binario, se realizan divisiones enteras sucesivas entre 2,
hasta que el resultado sea cero.

Por ejemplo.

Pasar a binario él número 67.

     33            16            8              4           2           1           0 Aquí se esta realizando la división entera.

2 | 67      2 | 33      2 | 16       2 | 8      2 | 4       2 | 2       2| 1  Es decir lo que queda de residuo se deja.

       1              1             0             0            0           0           1

El resultado se lee empezando con  el último residuo.

Entonces 67 =1000011 2 Hay que recordar que el número es decimal, es decir 67= 67 10

Otros ejemplos serian:

63
125 = 11111012

255 = 111111112

512 = 10000000002

264 = 1000010002

214 = 110101102 El subíndice es un 2 para indicar que es un número binario.l

Conversión Decimal - Octal

Para transformar un número decimal al sistema octal, se realizan divisiones enteras sucesivas entre 8, hasta
que el resultado sea cero.

Por ejemplo

Pasar a octal el número 63.

      7                   0 Se realiza únicamente la división entera

8 | 63            8 | 7                            El resultado se lee tomando el último residuo, siguiendo con el anterior.

       7                   7                          Entonces 63 10 =77 8

Otros ejemplos serian:

425 = 6518 El subíndice es un 8 para indicar que es un número octal.

278 = 4268

1512 = 27508

 2001=37218

Conversión Decimal – Hexadecimal

Para transformar un número decimal al sistema hexadecimal, se realizan divisiones enteras sucesivas entre
16 hasta que el resultado sea cero.

Este sistema lo emplean las computadoras para trabajar internamente.

Por ejemplo

64
Pasar a hexadecimal el número 10.

          0                                      Obtenemos Cero por ser la división entera

16 | 10

        10                                     10 en Hexadecimal es resulta ser A. Entonces 10 10 =A 16

Otros ejemplos serian:

1525 = 5F516 El subíndice es un 16 para indicar que es un número hexadecimal.

3984 = F9016

7569 = 1D9116

 Conversión Binario – Hexadecimal

Cuando se tiene un número en binario y se desea pasarlo al sistema hexadecimal se forman parejas de 4
en 4 empezando de derecha a izquierda.

Por ejemplo.

Pasar el número 1110111012= Hexadecimal

Solución

Empezamos tomando parejas de 4 en 4 de derecha a izquierda

Como el número esta en binario la base es 2.

Tomamos sus potencias en orden ascendente empezando desde el cero, de derecha a izquierda

Como se muestra a continuación.

1   ,   1    1    0     1   ,   1    1      0     12 = Hexadecimal

20     23   22  21   20      23  22    21  20           Y        sumamos.  (Recordar que   13 en hexadecimal es D)

1,    8  +  4  +  0  + 1,   8 + 4 + 0 + 1 = 1  D  D 16

Conversión Binario – Decimal

65
Cuando se tiene un número en binario y se desea pasarlo al sistema decimal se toma cada uno de los
dígitos empezando por la última posición hasta la primera.

Y multiplicamos cada dígito por la respectiva posición de la potencia de 2.

Por ejemplo.

Pasar el número 1110111012= Decimal

Solución

Como el número esta en binario la base es 2.

Tomamos sus potencias en orden ascendente empezando desde el cero, de derecha a izquierda

Como se muestra a continuación

1 1 1, 0 1 1, 1 0 1 2 = Decimal

28 27 26 25 24 23 22 21 20

Posteriormente tomamos cada uno de los dígitos y lo multiplicamos por el 2 ala potencia respectiva.

Y sumamos.

20 x 1 = 1 x 1 = 1

21 x 0 = 2 x 0 = 0

22 x 1 = 4 x 1 = 4

23 x 1 = 8 x 1 = 8

24 x 1 = 16 x 1 = 16

25 x 0 = 32 x 1 = 0

26 x 1 = 64 x 1 = 64

28 x 1 = 128 x 1 = 128

28 x 1 = 256 x 1 = 256

Y sumando obtenemos 477

66
Entonces 1110111012=47710

Otros ejemplos serian:

111110 2 = 62

101010102 = 170

100000012 = 65

Conversión Binario – Octal

Cuando se tiene un número en binario y se desea pasarlo al sistema octal se forman parejas de 3 en 3
empezando de derecha a izquierda.

Por ejemplo.

Pasar el número 1110111012= Octal

Solución

Empezamos tomando parejas de 3 en 3 de derecha a izquierda

Como el número esta en binario la base es 2.

Tomamos sus potencias en orden ascendente empezando desde el cero, de derecha a izquierda

Como se muestra a continuación.

Y sumamos.

1 1 1 , 0 1 1 , 1 0 12 = Octal

22 21 20 22 21 20 22 21 20

4 + 2 +1 2 + 1 4 + 1 =7 3 5 8

Esto es de para la primer pareja

20 x 1 = 1 x 1 = 1

21 x 0 = 2 x 0 = 0 Si sumamos obtenemos 5

22 x 1 = 4 x 1 = 4

67
Para la segunda pareja

20 x 1 = 1 x 1 = 1

21 x 1 = 2 x 1 = 2 Si sumamos obtenemos 3

22 x 0 = 4 x 0 = 0

Y la tercera pareja

20 x 1 = 1 x 1 = 1

21 x 1 = 2 x 1 = 2 Si sumamos obtenemos 7

22 x 1 = 4 x 1 = 4

Y se leen en orden inverso

Suma en binario

Para sumar 2 números en binario se debe de recordar que 1 + 1 = 10

Ejemplo

Sumar 1001 + 101 (En decimal seria 9 + 5 = 14)

Solución

Se colocan las mismas posiciones para ambos números.

1001 De hecho estamos sumando (9 + 5)

+ 0101 Hay que recordar que 1 +1 =10

1110 Se escribe el cero y se lleva 1 (Y el resultado es el 14 decimal que esperábamos)

Multiplicación en binario

Para multiplicar 2 números en binario se realiza la operación de la manera normal

Ejemplo

Multiplicar 111 x 101 (Esto seria 7 * 5 = 35)

Solución

68
Se colocan las mismas posiciones para ambos números.

111

X 101 Nota.- Hay que recordar que 1 x 1 =1 , 1 x 0=0x1=0 y 1 +1 =10


, 1 + 0 = 0 +1 = 0

111 Y se realiza de la manera tradicional

000 Se suman los 3 renglones en binario

111

100011 (Que es el 35 decimal que esperábamos)

69
Aspectos negativos de la Informática
Introducción
Hoy resulta muy difícil imaginar un mundo sin computadoras. La idea de una sociedad totalmente
informatizada, que muchos consideraban una mera fantasía, se ha transformado en pocos años en realidad,
al mismo tiempo que la tecnología ha avanzado y ha podido ser aplicada a diversos ámbitos de la ciencia y
de la vida cotidiana.
A comienzos de los 80, se fabricó la primera computadora personal, lo que supuso el inicio de una
revolución.
En este trabajo nos proponemos dar una explicación de los delitos informáticos para luego exponer los
temas que conforman los aspectos negativos en la informática como son:
 Piratería de software
 Falsificación de software
 Virus de computadoras

Delitos informáticos
El delito informático implica actividades criminales que no encuadran en las figuras tradicionales como
robos, hurtos, falsificaciones, estafa, sabotaje, etc. Sin embargo, debe destacarse que el uso de las técnicas
informáticas ha creado nuevas posibilidades del uso indebido de computadoras lo que ha propiciado a su
vez la necesidad de regulación por parte del derecho.
En el ámbito internacional se considera que no existe una definición propia del delito informático, sin
embargo muchos han sido los esfuerzos de expertos que se han ocupado del tema, y aún no existe una
definición de carácter universal.
Los crímenes por computadora comprenden "cualquier comportamiento criminal en el cual la computadora
ha estado involucrada con material o como objeto de la acción criminal, o como mero símbolo":
Entonces podríamos decir que los delitos informáticos son aquellos que se dan con la ayuda de la
informática o técnicas anexas.
En un sentido más amplio se los puede llamar "delitos electrónicos", que serian cualquier conducta criminal
que en su realización hace uso de la tecnología electrónica.
 A los delitos informáticos se les puede dar una forma típica y atípica, la primera serian las CONDUCTAS
típicas antijurídicas y culpables en que tiene a las computadoras como instrumento o fin, y las segundas
(atípicas) son las ACTITUDES ilícitas en que se tiene a las computadoras como instrumento o fin.
Tipificación de los Delitos Informáticos
Los tipos de delitos informáticos reconocidos por las Naciones Unidas, se clasifican en:
 Fraudes cometidos mediante manipulación de computadoras.
 Falsificaciones informáticas
 Daños o modificaciones de programas o datos computarizados.
1) Fraudes cometidos mediante manipulación de computadoras.

Delito Descripción

70
Este tipo de fraude informático conocido también como sustracción de datos, es
muy común ya que es fácil de cometer y difícil de descubrir. No requiere de
Manipulación de los
conocimientos técnicos de informática y puede realizarlo cualquier persona que
datos de entrada
tenga acceso a las funciones normales de procesamiento de datos en la fase
de adquisición de los mismos.

Es muy difícil de descubrir y a menudo pasa inadvertida debido a que el


delincuente debe tener conocimientos técnicos concretos de informática. Este
delito consiste en modificar los programas existentes en el sistema de
La manipulación de computadoras o en insertar nuevos programas o nuevas rutinas. Un método
programas común utilizado es el denominado Caballo de Troya, que consiste en insertar
instrucciones de computadora de forma encubierta en un programa informático
para que pueda realizar una función no autorizada al mismo tiempo que su
función normal.

Se efectúa fijando un objetivo al funcionamiento del sistema informático. El


ejemplo más común es el fraude de que se hace objeto a los cajeros
automáticos mediante la falsificación de instrucciones para la computadora en
Manipulación de los
la fase de adquisición de datos. En la actualidad se usan equipos y programas
datos de salida
de computadora especializados para codificar información electrónica
falsificada en las bandas magnéticas de las tarjetas bancarias y de las tarjetas
de crédito.

Aprovecha las repeticiones automáticas de los procesos de cómputo. Es una


Fraude efectuado por
técnica especializada que se denomina "técnica del salchichón" en la que
manipulación
"rodajas muy finas" apenas perceptibles, de transacciones financieras, se van
informática
sacando repetidamente de una cuenta y se transfieren a otra.

 
2) Falsificaciones informáticas.

DELITO DESCRIPCION

Cuando se alteran datos de los documentos almacenados en forma


Como objeto
computarizada.

Como instrumentos Las computadoras pueden utilizarse también para efectuar falsificaciones de
documentos de uso comercial. Cuando empezó a disponerse de fotocopiadoras
computarizadas en color a base de rayos láser surgió una nueva generación de
falsificaciones o alteraciones fraudulentas. Estas fotocopiadoras pueden hacer
copias de alta resolución, pueden modificar documentos e incluso pueden crear
documentos falsos sin tener que recurrir a un original, y los documentos que

71
producen son de tal calidad que sólo un experto puede diferenciarlos de los
documentos auténticos.

3) Daños o modificaciones de programas o datos computarizados.

DELITO DESCRIPCION

Es el acto de borrar, suprimir o modificar sin autorización funciones o datos de


Sabotaje informático computadora con intención de obstaculizar el funcionamiento normal del
sistema.

Es una serie de claves programáticas que pueden adherirse a los programas


legítimos y propagarse a otros programas informáticos. Un virus puede ingresar
Virus
en un sistema por conducto de una pieza legítima de soporte lógico que ha
quedado infectada, así como utilizando el método del Caballo de Troya.

Se fabrica de forma análoga al virus con miras a infiltrarlo en programas


legítimos de procesamiento de datos o para modificar o destruir los datos, pero
es diferente del virus porque no puede regenerarse. Las consecuencias del
Gusanos
ataque de un gusano pueden ser tan graves como las del ataque de un virus:
por ejemplo, dar instrucciones a un sistema informático de un banco para que
transfiera continuamente dinero a una cuenta ilícita.

Exige conocimientos especializados ya que requiere la programación de la


destrucción o modificación de datos en un momento dado del futuro. Ahora
Bomba lógica o bien, al revés de los virus o los gusanos, las bombas lógicas son difíciles de
cronológica detectar antes de que exploten; por eso, de todos los dispositivos informáticos
criminales, las bombas lógicas son las que poseen el máximo potencial de
daño.

Acceso no autorizado a
Por motivos diversos: desde la simple curiosidad, como en el caso de muchos
servicios y sistemas
piratas informáticos (hackers) hasta el sabotaje o espionaje informático.
informáticos

Piratas informáticos o El acceso se efectúa a menudo desde un lugar exterior, situado en la red de
hackers telecomunicaciones, recurriendo a uno de los diversos medios que se
mencionan a continuación. El delincuente puede aprovechar la falta de rigor de
las medidas de seguridad para obtener acceso o puede descubrir deficiencias
en las medidas vigentes de seguridad o en los procedimientos del sistema. A
menudo, los piratas informáticos se hacen pasar por usuarios legítimos del
sistema; esto suele suceder con frecuencia en los sistemas en los que los

72
usuarios pueden emplear contraseñas comunes o contraseñas de
mantenimiento que están en el propio sistema.

Reproducción no Esta puede entrañar una pérdida económica sustancial para los propietarios
autorizada de legítimos. El problema ha alcanzado dimensiones transnacionales con el tráfico
programas informáticos de esas reproducciones no autorizadas a través de las redes de
de protección legal telecomunicaciones modernas.

Piratería de software
El problema legal más grande que afecta a la industria de las computadoras es la Piratería de Software, la
cual consiste en la copia o uso ilegal de los programas. La piratería es un problema enorme debido a que es
muy fácil de hacer. En la mayor parte de los casos, robar un programa no es más difícil de lo que es grabar
un disco compacto de música que le ha pedido prestado a un amigo. Los piratas de software renuncian al
derecho de recibir actualizaciones y soporte técnico, pero obtienen el uso del programa sin pagar por él.
Muchos programas de software comercial, software que debe comprarse antes de usarlo, cuesta poco, de
20 a 50 dólares, pero la mayor de las aplicaciones cuestan entre 100 y 500 dólares. Las aplicaciones muy
especializadas o complejas pueden costar varios miles de dólares.
Aún el software, software que se puede usar gratis como prueba y luego registrarse y pagar por él si se
decide usarlo, sufre de un alto índice de piratería.
El software es pirateado en muchas formas. El método más simple es copiar el software de sus disquetes o
disco compacto originales. Los usuarios en una red pueden copiar con facilidad ciertos tipos de software en
forma directa del servidor, o incluso intercambiar programas a través del sistema de correo electrónico de su
Organización.
Sin embargo el Internet ha llegado a ser el semillero de piratería más grande, ya que los piratas distribuyen
programas por correo o a través de sitios que son guaridas de ladrones en Word Wide Web.
La piratería de software es atentar contra los derechos de la propiedad intelectual.
Se produce la piratería cuando:
·Un individuo o entidad ofrece copias ilegales, en CD – R o CD - RW, aplicaciones descargables o números
de serie gratis, a cambio de dinero o mediante trueque.
·Un individuo proporciona un producto educativo sin autorización o a particulares o empresas no
autorizados.
·Un individuo instala o utiliza el software sin una licencia debidamente autorizada, o cuando lo hace en más
sistemas de los que está autorizado.
Existen varias formas de piratería:
La piratería del usuario final: la forma más común de la piratería, el usuario final o la organización copian el
software en más equipos de los que el acuerdo de la licencia permite (por defecto
cada máquina que utiliza el software debe tener su propia licencia).
Piratería de carga de disco duro: los distribuidores de equipos informáticos sin
escrúpulos cargan previamente software sin licencia en los equipos, y no
suministran a sus clientes las licencias necesarias.

73
Piratería de falsificación y de CD-ROM: los vendedores ilegales, que con frecuencia se organizan en redes
delictivas, transmiten software falso como si fuera auténtico, intentando emular el embalaje del producto con
el nombre de la empresa y las marcas comerciales propietarias.
Piratería por Internet: se trata de cualquier tipo de piratería que implique la distribución electrónica no
autorizada o la descarga desde Internet de programas de software con copyri

Efectos De La Piratería
 Inhibición de la innovación y del desarrollo de nuevos productos.
 Angostamiento de fondos para investigación y desarrollo
 Evasión de impuestos.
 Disminución en la creación de empleos y reducción de los existentes
 En suma, amenaza al ritmo de crecimiento de la economía global de la información
Muchos países, como los que nombramos a continuación, son quienes tienen las más grandes pérdidas en
dólares debido a la piratería de software:
1. Estados Unidos
2. China
3. Japón
4. Alemania
5. Reino Unido
6. Francia
7. Brasil
8. Italia
9. Canadá
10. Rusia
Las pérdidas en estos países sumaron $7.3 mil millones o 67% de las pérdidas mundiales en 1998. Con
$3.2 mil millones de dólares, la piratería de software en Norte América representó 26% de las pérdidas por
ganancias en 1998.
Riesgos de la piratería de software.
·Para los consumidores: Cuando un consumidor decide hacer una copia no autorizada de un programa de
software, está falsificando el derecho a la asistencia, documentación, garantías y las actualizaciones
periódicas. El software pirata a menudo contiene virus que podrían borrar o dañar los contenidos del disco
duro. Además, al piratear un producto protegido por las leyes de propiedad intelectual, el individuo se
expone, y expone a las empresas para las que trabaja, al riesgo legal que ello supone.
·Para los desarrolladores de software: La pérdida de ingresos que supone la piratería de software podría
haberse invertido en el producto consiguiendo reducir su precio para el consumidor del software. La alta
tasa de piratería también repercute en el éxito de los desarrolladores de software local puesto que trabajan
para crear su propia existencia en el mercado.
·Para los vendedores: El software pirateado origina pérdidas de ventas, y las pérdidas de ventas a su vez,
disminuyen los ingresos de ventas de los vendedores autorizados. Estos vendedores tienen grandes

74
pérdidas en su negocio cuando los competidores sin escrúpulos, trabajan con software pirata y debilitan su
negocio.

75
Falsificación de Software
Compartir software en forma ilegal con amigos o dentro de una compañía es un problema. La falsificación
descarda con la intención de vender es otro problema por completo. Este concepto es similar a vender ropa
o mercancía de piel con etiquetas de diseñador cuando en realidad son imitaciones baratas. Copia software,
sin embargo, es mucho más fácil que copiar ropa del diseñador.
Aunque nuevos tratados agresivos están obligados a los países a conceder más protección contra la
piratería y la falsificación de software, la falsificación es un gran negocio en algunas partes del mundo, de
manera más notable en Europa y Asia. En muchos países, los productos de software y otros tipos de
propiedad intelectual no disfrutan de las mismas protecciones de derechos de autor o marca registrada
como otros tipos de productos. Ningún editor es inmune a las falsificaciones y ventas en el mercado negro.
El gigante del software Microsoft proporciona un excelente ejemplo.
En 1995 y 1996, cuando el sistema operativo Windows 95 estaba siendo desarrollado y probado para su
lanzamiento comercial, los vendedores del mercado negro en Asia estaban muy ocupados haciendo
duplicados ilegales del Software beta de Windows 95 y vendiendo las copias a cualquiera que las comprara.
El software beta es software que está en la etapa de desarrollo y no está listo para la venta comercial. Los
editores con frecuencia proporcionan copias del software beta evaluadores independientes y otros
desarrolladores de software, quienes trabajan con el programa para encontrar errores lógicos y probar la
compatibilidad con otros productos.
El software beta por lo general está protegido por estrictos acuerdos contractuales entre el editor y los
evaluadores beta, quienes están de acuerdo en nunca copiar o distribuir el software. Aún cuando Microsoft
creó después versiones internacionales del sistema operativo para su venta en Asia, la compañía perdió
una cantidad desconocida de ventas debido a las actividades del mercado negro.

76
Virus
Concepto de virus informático.
Un virus informático es un programa de computadora, tal y como podría ser un procesador de textos, una
hoja de cálculo o un juego. Obviamente ahí termina todo su parecido con estos típicos programas que casi
todo el mundo tiene instalados en sus computadoras. Un virus informático ocupa una cantidad mínima de
espacio en disco (el tamaño es vital para poder pasar desapercibido), se ejecuta sin conocimiento del
usuario y se dedica a auto reproducirse, es decir, hace copias de sí mismo e infecta archivos o sectores de
arranque de los discos duros y disquetes para poder expandirse lo más rápidamente posible. La
propagación de estos a través de las maquinas, se puede realizar de diversas formas, por medio de
disquetes o a través de las redes de comunicación que unen una serie de computadoras.
Un virus, es un programa parásito oculto dentro de otro programa legitimo o almacenado en un área
especial de un disco llamada sector de arranque. Ejecutar el programa legítimo o tener acceso al disco
activa el virus sin el conocimiento del usuario.
Cómo nacieron los virus
Hacia finales de los años 60, Douglas McIlory, Victor Vysottsky y Robert Morris idearon un juego al que
llamaron Core War (Guerra en lo Central, aludiendo a la memoria de la computadora), que se convirtió en el
pasatiempo de algunos de los programadores de los laboratorios Bell de AT&T.
El juego consistía en que dos jugadores escribieran cada uno un programa llamado organismo, cuyo hábitat
fuera la memoria de la computadora. A partir de una señal, cada programa intentaba forzar al otro a efectuar
una instrucción inválida, ganando el primero que lo consiguiera.
Al término del juego, se borraba de la memoria todo rastro de la batalla, ya que estas actividades eran
severamente sancionadas por los jefes por ser un gran riesgo dejar un organismo suelto que pudiera acabar
con las aplicaciones del día siguiente. De esta manera surgieron los programas destinados a dañar en la
escena de la computación.
Uno de los primeros registros que se tienen de una infección data del año 1987, cuando en la Universidad
estadounidense de Delaware notaron que tenían un virus porque comenzaron a ver "© Brain" como etiqueta
de los disquetes.
La causa de ello era Brain Computer Services, una casa de computación paquistaní que, desde 1986,
vendía copias ilegales de software comercial infectadas para, según los responsables de la firma, dar una
lección a los piratas.
Actualmente, los virus son producidos en cantidades extraordinarias por muchísima gente alrededor del
planeta. Algunos de ellos dicen hacerlo por divertimento, otros quizás para probar sus habilidades. De
cualquier manera, hasta se ha llegado a notar un cierto grado de competitividad entre los autores de estos
programas.
La primer aclaración que cabe es que los virus de computadoras, son simplemente programas, y como
tales, hechos por programadores. Son programas que debido sus características particulares, son
especiales. Para hacer un virus de computadora, no se requiere capacitación especial, ni una genialidad
significativa, sino conocimientos de lenguajes de programación, de algunos temas no difundidos para
público en general y algunos conocimientos puntuales sobre el ambiente de programación y arquitectura de
las PC's.

77
Los virus pueden ser programados para llevar a cabo las siguientes tareas, y muchas otras:
 Copiarse ellos mismos a otros programas.
 Desplegar información en la pantalla.
 Destruir archivos de datos.
 Borrar un disco duro entero.
 Descargar un archivo de otro usuario, de un servicio en línea o de Internet.
Se ha sabido que incluso programas comprados en paquetes cerrados en una tienda de prestigio
albergaban virus. La máxima precaución es tratar a todos los discos como portadores potenciales de
infección.
La búsqueda de virus requiere software antivirus, el cual examina discos y programas en busca de virus
conocidos y los erradica. La mayor parte de los programas antivirus son fáciles de usar. Después de que es
instalado y activado en su sistema, un buen programa antivirus busca archivos infectados en forma
automática cada vez que inserta cualquier clase de disco o usa su módem para recuperar un archivo. Unos
cuantos programas antivirus incluso pueden examinar archivos mientras lo está descargando de Internet y
puede alertarlo en forma instantánea cuando descarga una archivo infectado.
Características de los virus
El virus es un pequeño software (cuanto más pequeño más fácil de esparcir y más difícil de detectar), que
permanece inactivo hasta que un hecho externo hace que el programa sea ejecutado o el sector de "booteo"
sea leído. De esa forma el programa del virus es activado y se carga en la memoria de la computadora,
desde donde puede esperar un evento que dispare su sistema de destrucción o se replique a sí mismo.
Los más comunes son los residentes en la memoria que pueden replicarse fácilmente en los programas del
sector de "booteo", menos comunes son los no-residentes que no permanecen en la memoria después que
el programa-huésped es cerrado.
Los virus pueden llegar a "camuflarse" y esconderse para evitar la detección y reparación. Como lo hacen:
a. El virus re-orienta la lectura del disco para evitar ser detectado;
b. Los datos sobre el tamaño del directorio infectado son modificados en la FAT, para evitar que se
descubran bytes extra que aporta el virus;
c. encriptamiento: el virus se encripta en símbolos sin sentido para no ser detectado, pero para
destruir o replicarse DEBE desencriptarse siendo entonces detectable;
d. polimorfismo: mutan cambiando segmentos del código para parecer distintos en cada "nueva
generación", lo que los hace muy difíciles de detectar y destruir;
e. Gatillables: se relaciona con un evento que puede ser el cambio de fecha, una determinada
combinación de tecleo; un macro o la apertura de un programa asociado al virus (Troyanos).
Los virus se transportan a través de programas tomados de BBS (Bulletin Boards) o copias de software no
original, infectadas a propósito o accidentalmente. También cualquier archivo que contenga "ejecutables" o
"macros" puede ser portador de un virus: downloads de programas de lugares inseguros; e-mail con
"attachments", archivos de MS-Word y MS-Excel con macros. Inclusive ya existen virus que se distribuyen
con MS-Power Point. Los archivos de datos, texto o Html NO PUEDEN contener virus, aunque pueden ser
dañados por estos.

78
Los virus de sectores de "booteo" se instalan en esos sectores y desde allí van saltando a los sectores
equivalentes de cada uno de los drivers de la PC. Pueden dañar el sector o sobrescribirlo.
Lamentablemente obligan al formateo del disco del drive infectado.
En cambio los virus de programa, se manifiestan cuando la aplicación infectada es ejecutada, el virus se
activa y se carga en la memoria, infectando a cualquier programa que se ejecute a continuación. Puede
solaparse infecciones de diversos virus que pueden ser destructivos o permanecer inactivos por largos
periodos de tiempo.
Propiedades de los virus.
Además de la característica principal de estos programas, que es su facultad de duplicación, existen otros
muchos caracteres de los virus, como son los siguientes:
Modifican el código ejecutable: Aquí aparece el adjetivo "contagio". Para que un virus contagie a otros
programas ejecutables, debe ser capaz de alterar la organización del código del programa que va a infectar.
Permanecen en la memoria de la computadora: Cuando un usuario, inocente de las consecuencias, ejecuta
en su ordenador un programa con virus, éste pasa a acomodarse en la memoria RAM. Esto lo hace para
adueñarse de la computadora, y por así decirlo, tomar el mando.
Se ejecutan involuntariamente: Un virus sin ejecutar es imposible que dañe la computadora. En ese
momento está en reposo, en modo de espera de alguien que por equivocación, ejecute el programa
"portador".
Funcionan igual que cualquier programa: Un virus, al ser un programa de computadora, se comporta como
tal, a lo cual hay que dar gracias. Dicho programa necesita de alguien que lo ponga en funcionamiento, si
no, es software inútil.
Es nocivo para la computadora: Pero esto depende del virus con el que tratemos. Hay programas que
destruyen parcial o totalmente la información, o bien programas que tan solo concluyen en un mensaje
continuo en pantalla, aunque al final muy molesto.
Se ocultan al usuario: Claramente, el programador del virus desea que el usuario no lo advierta durante el
máximo tiempo posible, hasta que aparezca la señal de alarma en el ordenador. Conforme pasa el tiempo,
los virus van desarrollando más y mejores técnicas de ocultamiento, pero también se van desarrollando los
programas antivirus y de localización.

Clasificación tradicional de Virus Informáticos


Dependiendo del lugar donde se alojan, la técnica de replicación o la plataforma en la cual trabajan,
podemos clasificarlos en distintos tipos de virus:
 Virus de archivos
 Virus de acción directa
 Virus de sobre escritura
 Virus de compañía
 Virus de Macro
 Virus del MIRC
 Virus Mutantes
 Bombas de Tiempo

79
 Infectores de Programas Ejecutables
 Virus de e-mail
 Virus de WEB
- Virus de archivos
Infectan archivos y tradicionalmente los tipos ejecutables COM y EXE han sido los más afectados, aunque
es estos momentos son los archivos DOC y XLS los que están en boga gracias a los virus de macro.
Normalmente lo que realizan es insertar el código del virus al principio o al final del archivo, manteniendo
intacto el programa infectado. Cuando se ejecuta, el virus puede hacerse residente en memoria y luego
devuelve el control al programa original para que se continúe de modo normal.
- Virus de acción directa.
Son aquellos que no quedan residentes en memoria y que se replican en el momento de ejecutarse un
archivo infectado.
- Virus de sobre escritura.
Corrompen el archivo donde se ubican al sobrescribirlo.
- Virus de compañía.
Aprovechan una característica del DOS, gracias a la cual si llamamos un archivo para ejecutarlo sin indicar
la extensión, el sistema operativo buscará en primer lugar el tipo COM. Este tipo de virus no modifica el
programa original, sino que cuando encuentra un archivo tipo EXE crea otro de igual nombre conteniendo el
virus con extensión COM. De manera que cuando tecleamos el nombre ejecutaremos en primer lugar el
virus, y posteriormente éste pasará el control a la aplicación original. 
- Virus de Macro
Es una familia de virus de reciente aparición y gran expansión. Estos programas están usando el lenguaje
de macros Word Basic, gracias al cual pueden infectar y replicarse a través de archivos MS-Word (*.DOC).
En la actualidad esta técnica se ha extendido a otras aplicaciones como Excel.
Hoy en día son el tipo de virus que están teniendo un mayor auge debido a que son fáciles de programar y
de distribuir a través de Internet. Aún no existe una concienciación del peligro que puede representar un
simple documento de texto.
- Virus de MIRC.
Son una nueva generación de programas que infectan las PC's, aprovechando las ventajas proporcionadas
por Internet y los millones de usuarios conectados a cualquier canal IRC a través del programa Mirc y otros
programas de chat. Consisten en un script para el cliente del programa de chateo. Cuando se accede a un
canal de IRC, se recibe por DCC un archivo llamado "script.ini". Por defecto, el subdirectorio donde se
descargan los archivos es el mismo donde está instalado el programa, esto causa que el "script.ini" original
se sobrescriba con el "script.ini" maligno. Los autores de ese script acceden de ese modo a información
privada de la PC, como el archivo de claves, y pueden remotamente desconectar al usuario del canal IRC.
- Virus Mutantes.
Son los que al infectar realizan modificaciones a su código, para evitar ser detectados o eliminados (Satán,
Miguel Ángel, por mencionar algunos).
- Bombas De Tiempo

80
Son los programas ocultos en la memoria del sistema o en los discos, o en los archivos de programas
ejecutables con tipo COM o EXE. En espera de una fecha o una hora determinadas para "explotar". Algunos
de estos virus no son destructivos y solo exhiben mensajes en las pantallas al llegar el momento de la
"explosión". Llegado el momento, se activan cuando se ejecuta el programa que las contiene.
- Infectores de programas ejecutables
Estos son los virus más peligrosos, porque se diseminan fácilmente hacia cualquier programa (como hojas
de cálculo, juegos, procesadores de palabras).
- Virus de e-mail.
Dentro de este grupo, se incluyen dos tipos de virus: los que junto a un mail hacen llegar un atachado que
necesariamente debe abrirse o ejecutarse para activar el virus, y dentro de ellos se puede mencionar a
Melissa como el precursor de esta variedad, y también englobo a los gusanos (worms) que aprovechan los
agujeros de seguridad de programas de correo electrónico para infectar a las computadoras, de los cuales
BubbleBoy fue el precursor. Esta variedad difiere de los otros virus en el hecho de que no necesitan de la
ejecución de un programa independiente (atachados) para ser activados, sino que ingresan e infectan las
PC's con la simple visualización del mail.
- Virus de la WEB
El lenguaje de programación JAVA, que permite generar los applets para las páginas web y los controles
Active X, son lenguajes orientados especialmente a Internet. El ASP es otro tipo de lenguaje básico
orientado al desarrollo de aplicaciones basadas en la web. Si bien en el caso de JAVA la diagramación y el
diseño fueron sumamente cuidadosos, de tal modo que existen ( en teoría ) la imposibilidad técnica de
modificar archivos en clientes, existen algunos agujeros que si bien no son de seguridad, sino de diseño,
abren las puertas a los programadores de virus que, mediante herramientas apropiadas pueden generar una
nueva variante de virus que se disemine por las páginas web y, como en el caso de los virus de e-mail,
afecten a las PC's aún en condiciones de seguridad adecuadas, por el simple acto de abrir una página.

Proceso de infección.
Dependiendo del tipo de virus, el proceso de infección varía sensiblemente.
Puede que el disco contaminado tenga un virus de archivo en el archivo FICHERO.EXE por ejemplo. El
usuario introduce el disco en la computadora y mira el contenido del disco... unos archivos de texto, unas
planillas de cálculo, algunas imágenes... ahí está, un ejecutable. Vamos a ver que tiene. El usuario ejecuta
el programa. En ese preciso momento las instrucciones del programa son leídas por el computadora y
procesadas, pero también procesa otras instrucciones que no deberían estar ahí. El virus comprueba si ya
se ha instalado en la memoria. Si ve que todavía no está contaminada pasa a esta y puede que se quede
residente en ella. A partir de ese momento todo programa que se ejecute será contaminado. El virus
ejecutará todos los programas, pero después se copiará a sí mismo y se "pegará" al programa ejecutado
"engordándolo" unos cuantos bytes. Para evitar que usuarios avanzados se den cuenta de la infección
ocultan esos bytes de más para que parezca que siguen teniendo el mismo tamaño. El virus contaminará
rápidamente los archivos de sistema, aquellos que están en uso en ese momento y que son los primeros en
ejecutarse al arrancar la computadora. Así, cuando el usuario vuelva a arrancar la computadora el virus se

81
volverá a cargar en la memoria cuando se ejecuten los archivos de arranque del sistema contaminados y
tomará otra vez el control del mismo, contaminando todos los archivos que se encuentre a su paso.
Síntomas típicos de una infección
 El sistema operativo o un programa toma mucho tiempo en cargar sin razón aparente.
 El tamaño del programa cambia sin razón aparente.
 El disco duro se queda sin espacio o reporta falta de espacio sin que esto sea necesariamente así.
 Si se corre el CHKDSK no muestra "655360 bytes available".
 En Windows aparece "32 bit error".
 La luz del disco duro en la CPU continúa parpadeando aunque no se esté trabajando ni haya
protectores de pantalla activados. (Se debe tomar este síntoma con mucho cuidado, porque no
siempre es así).
 No se puede "bootear" desde el Drive A, ni siquiera con los discos de rescate.
 Aparecen archivos de la nada o con nombres y extensiones extrañas.
 Suena "clicks" en el teclado (este sonido es particularmente aterrador para quien no está advertido).
 Los caracteres de texto se caen literalmente a la parte inferior de la pantalla (especialmente en
DOS).
 En la pantalla del monitor pueden aparecen mensajes absurdos tales como "Tengo hambre.
Introduce un Big Mac en el Drive A".
 En el monitor aparece una pantalla con un fondo de cielo celeste, unas nubes blancas difuminadas,
una ventana de vidrios repartidos de colores y una leyenda en negro que dice Windows ’98 (No
puedo evitarlo, es más fuerte que yo...!!).
Una infección se soluciona con las llamadas "vacunas" (que impiden la infección) o con los remedios que
desactivan y eliminan, (o tratan de hacerlo) a los virus de los archivos infectados. Hay cierto tipo de virus
que no son desactivables ni removibles, por lo que se debe destruir el archivo infectado.

Daños de los virus


Definimos daño como una acción indeseada, y los clasificaremos según la cantidad de tiempo necesaria
para reparar dichos daños. Existen seis categorías de daños hechos por los virus, de acuerdo a la
gravedad.

Daños triviales.
Sirva como ejemplo la forma de trabajo del virus FORM (el más común): En el día 18 de cada mes cualquier
tecla que presionemos hace sonar el beep. Deshacerse del virus implica, generalmente, segundos o
minutos.
Daños menores.
Un buen ejemplo de este tipo de daño es el JERUSALEM. Este virus borra, los viernes 13, todos los
programas que uno trate de usar después de que el virus haya infectado la memoria residente. En el peor
de los casos, tendremos que reinstalar los programas perdidos. Esto nos llevará alrededor de 30 minutos.
Daños moderados.

82
Cuando un virus formatea el disco rígido, mezcla los componentes de la FAT (File Allocation Table, Tabla
de Ubicación de Archivos), o sobrescribe el disco rígido. En este caso, sabremos inmediatamente qué es lo
que está sucediendo, y podremos reinstalar el sistema operativo y utilizar el último backup. Esto quizás nos
lleve una hora.
Daños mayores.
Algunos virus, dada su lenta velocidad de infección y su alta capacidad de pasar desapercibidos, pueden
lograr que ni aún restaurando un backup volvamos al último estado de los datos. Un ejemplo de esto es el
virus DARK AVENGER, que infecta archivos y acumula la cantidad de infecciones que realizó. Cuando este
contador llega a 16, elige un sector del disco al azar y en él escribe la frase: " Eddie lives… somewhere in
time" (Eddie vive… en algún lugar del tiempo).
Esto puede haber estado pasando por un largo tiempo sin que lo notemos, pero el día en que detectemos la
presencia del virus y queramos restaurar el último backup notaremos que también él contiene sectores con
la frase, y también los backups anteriores a ese. Puede que lleguemos a encontrar un backup limpio, pero
será tan viejo que muy probablemente hayamos perdido una gran cantidad de archivos que fueron creados
con posterioridad a ese backup.
Daños severos.
Los daños severos son hechos cuando un virus realiza cambios mínimos, graduales y progresivos. No
sabemos cuándo los datos son correctos o han cambiado, pues no hay pistas obvias como en el caso del
DARK AVENGER (es decir, no podemos buscar la frase Eddie lives...).
Daños ilimitados.
Algunos programas como CHEEBA, VACSINA.44.LOGIN y GP1 entre otros, obtienen la clave del
administrador del sistema y la pasan a un tercero. Cabe aclarar que estos no son virus sino troyanos. En el
caso de CHEEBA, crea un nuevo usuario con los privilegios máximos, fijando el nombre del usuario y la
clave. El daño es entonces realizado por la tercera persona, quien ingresará al sistema y haría lo que
quisiera.

Virus Informáticos Argentinos


Al igual que todos los países informatizados, la Argentina cuenta con una producción local de virus
informáticos.
Si bien estos no son de los más complejos (en su mayoría, buenas copias y variaciones de virus conocidos)
representan un problema, ya que muchos de ellos no están incluidos en las bases de datos de los
programas antivirus.
Veamos algunos ejemplos:
PING PONG: Este virus fue el primero en hacer explosión en Argentina. Fue descubierto en marzo de 1988
y en poco tiempo estuvo en nuestro país, en donde se convirtió rápidamente en epidemia.

83
La falta de conocimiento sobre los virus ayudó a que se diseminara ampliamente y fuera incontrolable en un
principio. En centros universitarios como la Facultad de Ciencias Exactas de la UBA o la Facultad de
Informática de la Universidad de Morón era difícil encontrar un disco sin infectar.
Ese mismo desconocimiento llevó a que pasara bastante tiempo hasta que se empezaran a tomar medidas.
Sólo después de algunos meses, en revistas especializadas en informática, empezaron a publicarse formas
de desinfectar los discos, y como consecuencia de ello se aplicaron políticas de seguridad en las
universidades.
Lo positivo de esto fue que la gente comenzara a conocer el D.O.S. más profundamente, por ejemplo el
boot sector: qué es y para qué sirve, ya que las máquinas eran utilizadas pero pocos sabían cómo
funcionaban realmente.
Como tenía un síntoma muy evidente (una pelotita que rebotaba), se pensó que todos los virus debían ser
visibles, pero los siguientes fueron más subrepticios, y se limitaban a reproducirse o destruir sin avisar al
usuario.
El Ping Pong original no podía infectar discos rígidos, pero la versión que se popularizó en el país fue la B,
que sí podía hacerlo. Se creó una variante en Argentina, que probablemente fue la primera variante de virus
originada en el país, el Ping Pong C, que no mostraba la pelotita en la pantalla. Este virus está extinto en
este momento ya que sólo podía funcionar en máquinas con procesador 8088 ó 8086, porque ejecutaba una
instrucción no documentada en estos e incorrecta en los modelos siguientes.
AVISPA: Escrito en Noviembre de 1993 que en muy poco tiempo se convirtió en epidemia. Infecta
archivos .EXE
Al ejecutarse, si no se encontraba ya residente en memoria, intenta infectar los archivos XCOPY, MEM,
SETVER y EMM386 para maximizar sus posibilidades de reproducción, ya que estos archivos son de los
más frecuentemente utilizados.
Este virus está encriptado siempre con una clave distinta (polimórfico), para dificultar su detección por medio
de antivirus heurísticos.
MENEM TOCOTO: Esta adaptación del virus Michelangelo apareció en 1994. En los disquetes se aloja en
el boot sector, y en los discos rígidos en la tabla de particiones. Es extremadamente sencillo y, por ende,
fácil de detectar.
CAMOUFLAGE II: Aparecido por primera vez en 1993. Infecta el boot sector de los disquetes ubicados en
la unidad A y la tabla de partición de los discos rígidos. Es bastante simple y fácil de ser detectado.
LEPROSO: Creado en 1993, en Rosario, provincia de Santa Fé. Se activa el día 12 de Enero (cumpleaños
del autor), y hace aparecer un mensaje que dice: "Felicitaciones, su máquina está infectada por el virus
leproso creado por J. P... Hoy es mi cumpleaños y lo voy a festejar formateando su rígido. Bye...
(Vamos Newell's que con Diego somos campeones)."
PINDONGA: Virus polimórfico residente en memoria que se activa los días 25 de febrero, 21 de marzo, 27
de agosto y 16 de septiembre, cuando ataca, borra toda la información contenida en el disco rígido.
TEDY: Es el primer virus argentino interactivo. Apareció hace poco tiempo. Infecta archivos con
extensión .EXE, y se caracteriza por hacer una serie de preguntas al usuario.
Una vez activado, una pantalla muestra:

84
“¡TEDY, el primer virus interactivo de la computación!
Responda el siguiente cuestionario:
1. ¿Los programas que Ud. utiliza son originales? (s/n)
2. ¿Los de Microsoft son unos ladrones? (s/n)”
Si se responde afirmativamente a la primera pregunta, el virus contestará:
“5 archivos menos por mentiroso”
En caso contrario:
“2 archivos menos por ladrón”

En cuanto a la segunda pregunta, el único mensaje que se ha visto es:


“Te doy otra oportunidad para responder bien”

Antivirus
No para toda enfermedad existe cura, como tampoco existe una forma de erradicar todos y cada uno de los
virus existentes.
Es importante aclarar que todo antivirus es un programa y que, como todo programa, sólo funcionará
correctamente si es adecuado y está bien configurado. Además, un antivirus es una herramienta para el
usuario y no sólo no será eficaz para el 100% de los casos, sino que nunca será una protección total ni
definitiva.
La función de un programa antivirus es detectar, de alguna manera, la presencia o el accionar de un
virus informático en una computadora. Este es el aspecto más importante de un antivirus,
independientemente de las prestaciones adicionales que pueda ofrecer, puesto que el hecho de detectar la
posible presencia de un virus informático, detener el trabajo y tomar las medidas necesarias, es suficiente
para acotar un buen porcentaje de los daños posibles. Es importante tener en claro la diferencia entre
"detectar" e "identificar" un virus en una computadora. La detección es la determinación de la presencia de
un virus, la identificación es la determinación de qué virus es. Aunque parezca contradictorio, lo mejor que
debe tener un antivirus es su capacidad de detección, pues las capacidades de identificación están
expuestas a muchos errores y sólo funcionan con virus conocidos.
Adicionalmente, un antivirus puede dar la opción de erradicar un virus informático de una entidad infectada.

Identificación
El modelo más primario de las funciones de un programa antivirus es la detección de su presencia y, en lo
posible, su identificación.
La técnica de scanning fue bastante eficaz en los primeros tiempos de los virus informáticos, cuando había
pocos y su producción era pequeña. Este relativamente pequeño volumen de virus informáticos permitía que
los desarrolladores de antivirus escaneadores tuvieran tiempo de analizar el virus, extraer el pequeño trozo
de código que lo iba a identificar y agregarlo a la base de datos del programa para lanzar una nueva
versión. Sin embargo, la obsolescencia de este mecanismo de identificación como una solución antivirus
completa se encontró en su mismo modelo.

85
El primer punto grave de este sistema radica en que siempre brinda una solución a posteriori: es necesario
que un virus informático alcance un grado de dispersión considerable para que sea enviado (por usuarios
capacitados, especialistas o distribuidores del producto) a los desarrolladores de antivirus. Estos lo
analizarán, extraerán el trozo de código que lo identificará, y lo incluirán en la próxima versión de su
programa antivirus. Este proceso puede demorar meses a partir del momento en que el virus comienza a
tener una dispersión considerable, lapso en el cual puede causar graves daños sin que pueda ser
identificado.
Además, este modelo consiste en una sucesión infinita de soluciones parciales y momentáneas
(cuya sumatoria jamás constituirá una solución definitiva), que deben actualizarse periódicamente
debido a la aparición de nuevos virus.
En síntesis, la técnica de scanning es altamente ineficiente, pero se sigue utilizando debido a que permite
identificar rápidamente la presencia de los virus más conocidos y, como son estos los de mayor dispersión,
permite una importante gama de posibilidades.
Un ejemplo típico de un antivirus de esta clase es el Virus scan de McAfee.
En virtud del pronto agotamiento técnico de la técnica de scanning, los desarrolladores de programas
antivirus han dotado a sus creaciones de métodos para búsquedas de virus informáticos (y de sus
actividades), que no identifican específicamente al virus sino a algunas de sus características generales y
comportamientos universalizados.
Este tipo de método rastrea rutinas de alteración de información que no puedan ser controladas por el
usuario, modificación de sectores críticos de las unidades de almacenamiento (master boot record, boot
sector, FAT, entre otras), etc.
Un ejemplo de este tipo de métodos es el que utiliza algoritmos heurísticos.
De hecho, esta naturaleza de procedimientos busca, de manera bastante eficiente, códigos de instrucciones
potencialmente pertenecientes a un virus informático. Resulta eficaz para la detección de virus conocidos y
es una de las soluciones utilizadas por los antivirus para la detección de nuevos virus. El inconveniente que
presenta este tipo de algoritmo radica en que puede llegar a sospecharse de muchísimas cosas que no son
virus. Esto hace necesario que el usuario que lo utiliza conozca un poco acerca de la estructura del sistema
operativo, a fin de poseer herramientas que le faciliten una discriminación de cualquier falsa alarma
generada por un método heurístico.
Algunos de los antivirus de esta clase son F-Prot, Norton Anti Virus y Dr. Solomon's Toolkit.
Ahora bien, otra forma de detectar la presencia de un virus informático en un sistema consiste en monitorear
las actividades de la PC señalando si algún proceso intenta modificar los sectores críticos de los dispositivos
de almacenamiento o los archivos ejecutables. Los programas que realizan esta tarea se denominan
chequeadores de integridad.
Sobre la base de estas consideraciones, podemos consignar que un buen sistema antivirus debe estar
compuesto por un programa detector de virus -que siempre esté residente en memoria- y un programa que
verifique la integridad de los sectores críticos del disco rígido y sus archivos ejecutables. Existen productos
antivirus que cubren los dos aspectos, o bien pueden combinarse productos diferentes configurados de
forma que no se produzcan conflictos entre ellos.
Limpieza

86
El antivirus debe ofrecer la opción de mantener una copia del archivo infectado durante la limpieza. La
limpieza de un virus de un archivo puede causar algún daño y la recuperación puede no ser bien sucedida,
con una copia se puede intentar una nueva limpieza o enviar el archivo para un "virus hospital" para ser
limpiado por "virus doctors"
Actualizaciones
La velocidad de actualización de un rastreador depende en mucho de los laboratorios de cada fabricante;
cuantos más laboratorios haya en el mundo, más Ingenieros Investigadores locales estarán trabajando en la
localización de un virus, haciendo así un trabajo más rápido y eficiente para la solución del antivirus.
El programa antivirus debe permitir una actualización automática por Internet, pero no solo de los padrones
de virus que permiten la identificación del virus por el nombre, es importante que permita también la
actualización del ejecutable de detección. Se debe verificar también cual es el período de actualización, hay
virus nuevos todos los días, si la actualización tardara mucho, el sistema antivirus no podrá ser eficiente.
Medidas antivirus
Nadie que usa computadoras es inmune a los virus de computación.
Un programa antivirus por muy bueno que sea se vuelve obsoleto muy rápidamente ante los nuevos virus
que aparecen día a día.
Algunas medidas útiles son:
 Desactivar arranque desde disquete en el setup para que no se ejecuten virus de boot.
 Desactivar compartir archivos e impresoras.
 Analizar con el antivirus todo archivo recibido por e-mail antes de abrirlo.
 Actualizar antivirus.
 Activar la protección contra macro virus del Word y el Excel.
 Ser cuidadoso al bajar archivos de Internet (Analice si vale el riesgo y si el sitio es seguro)
 No enviar su información personal ni financiera a menos que sepa quién se la solicita y que
sea necesaria para la transacción.
 No compartir discos con otros usuarios.
 No entregar a nadie sus claves, incluso si lo llaman del servicio de Internet u otro.
 Enseñar a los niños las prácticas de seguridad, sobre todo la entrega de información.
 Realice backups.
Elección de un antivirus
Lo primero que se debe hacer es recurrir a un buen antivirus actualizado, de nada sirve tener un antivirus
viejo, y mucho menos si bajamos información, documentos y archivos de la red. No sirve tener cualquier
antivirus ni tampoco el grado de popularidad del mismo. Sin nombrar a ninguno, existen renombrados
antivirus que, por decirlo de algún modo se han "tragado" virus que otros programas detectores, sin tanto
marketing, individualizan y erradican sin dificultad. Obviamente es necesario que cheque todos los virus, y
que el módulo de escaneo sea fácilmente configurable para que el chequeo incluya a todos los virus, no
sólo los que infectan el boot sector y ejecutables.
La actualización debe ser fácil de obtener, pero también debe influir en la adquisición de un antivirus el tipo
de tecnología aplicada en su desarrollo.
Actualmente los mejores antivirus usan dos técnicas de chequeo:

87
1) La conocida técnica de escaneo, consistente en tener una gran base de datos con fragmentos víricos
para comparar los archivos con esa inmensa biblioteca.
2) La tecnología heurística es fundamental en estos momentos. Esta técnica permite detectar virus que aún
no estén en la base de datos del scanning, y es muy útil cuando padecemos la infección de un virus que aún
no ha sido estudiado ni incorporado a los programas antivirus. El principio es simple: todos los virus tienden
a ejecutar acciones que en última instancia se codifican en lenguaje ensamblador: borrar archivos del disco,
formatearlo, alterar el sector de arranque, etc. Todas estas funciones, en última instancia, al ser compiladas,
se traducen en secuencias de instrucciones legibles por la computadora. Más allá del compilador usado
para crear un virus, en el cual las sentencias cambian de acuerdo a la sintaxis del lenguaje, las
instrucciones deben tener un punto "común" y al ser compiladas se traducen en lenguaje de máquina
interpretado por los microprocesadores. Al final del proceso, todos los compiladores "traducen" el lenguaje a
instrucciones entendibles por el microprocesador y es allí en donde actúa la técnica de búsqueda heurística.
Los analizadores heurísticos buscan cadenas de código que contengan funciones clasificadas como
"criticas" y en base a ello, generan un alerta al usuario. La tasa de errores de detección en los buscadores
heurísticos suele ser mayor de lo habitual que el escaneo común, ya que pueden existir utilidades dentro del
sistema que no sean virus, sino programas legales preparados para reparar el disco duro, por ejemplo, que
sean detectados como virus al activar la búsqueda heurística. Justamente por ese motivo este tipo de
búsqueda debe ser realizada por personas con al menos, un conocimiento medio-avanzado de las
herramientas que tiene la PC.
Las nuevas versiones del Norton Antivirus y otros programas, permiten el chequeo antivirus de e-mails y
adjuntos, de manera que si su antivirus permite esta opción, es otro punto a su favor y un escalón más a
favor de su propia seguridad.
Algunos antivirus no chequean los archivos bajados de Internet, por lo cual se hace necesario que el mismo
usuario active el escaneador una vez que ha grabado en su sistema el archivo y antes de abrirlo o
ejecutarlo. Al mismo tiempo es necesario que el lector se tome conciencia de que los módulos residentes de
los antivirus, por regla general, no chequean la misma cantidad de virus que al ejecutar el escaneo, sino que
emplean una base de datos más reducida para evitar demoras demasiado prolongadas. Actualmente ya no
es común que los residentes colisionen con otros, pero hay que tenerlo en cuenta a la hora de elegir
productos nuevos, que aún no soportan la prueba del tiempo. Si bien no son a menudo, este tipo de
conflictos puede llegar al cuelgue de la PC.  
Modelo antivirus
La estructura de un programa antivirus, está compuesta por dos módulos principales: el primero
denominado de control y el segundo denominado de respuesta. A su vez, cada uno de ellos se divide en
varias partes:
1. Módulo de control: posee la técnica verificación de integridad que posibilita el registro de
cambios en los archivos ejecutables y las zonas críticas de un disco rígido. Se trata, en definitiva, de una
herramienta preventiva para mantener y controlar los componentes de información de un disco rígido que no
son modificados a menos que el usuario lo requiera.

88
Otra opción dentro de este módulo es la identificación de virus, que incluye diversas técnicas para la
detección de virus informáticos. Las formas más comunes de detección son el scanning y los algoritmos,
como por ejemplo, los heurísticos.
Asimismo, la identificación de código dañino es otra de las herramientas de detección que, en este caso,
busca instrucciones peligrosas incluidas en programas, para la integridad de la información del disco rígido.
Esto implica descompilar (o desensamblar) en forma automática los archivos almacenados y ubicar
sentencias o grupos de instrucciones peligrosas.
Finalmente, el módulo de control también posee una administración de recursos para efectuar un monitoreo
de las rutinas a través de las cuales se accede al hardware de la computadora (acceso a disco, etc.). De
esta manera puede limitarse la acción de un programa restringiéndole el uso de estos recursos, como por
ejemplo impedir el acceso a la escritura de zonas críticas del disco o evitar que se ejecuten funciones de
formato del mismo.
2. Módulo de respuesta: la función alarma se encuentra incluida en todos los programas antivirus
y consiste en detener la acción del sistema ante la sospecha de la presencia de un virus informático, e
informar la situación a través de un aviso en pantalla.
Algunos programas antivirus ofrecen, una vez detectado un virus informático, la posibilidad de erradicarlo.
Por consiguiente, la función reparar se utiliza como una solución momentánea para mantener la
operatividad del sistema hasta que pueda instrumentarse una solución adecuada. Por otra parte, existen
dos técnicas para evitar el contagio de entidades ejecutables: evitar que se contagie todo el programa o
prevenir que la infección se expanda más allá de un ámbito fijo.
Aunque la primera opción es la más adecuada, plantea grandes problemas de implementación.

Los programas antivirus más comunes son:


 McAfee Virus Scan
 IBM Antivirus
 Dr. Solomon`s Anti-Virus
 Symantec Antivirus for the Macintosh
 Norton Antivirus
 Virex
 Desinfectant.
DR. SOLOMON'S ANTIVIRUS TOOLKIT.
Certificado por la NCSA. Detecta más de 6.500 virus gracias a su propio lenguaje de detección llamado
VirTran, con una velocidad de detección entre 3 y 5 veces mayor que los antivirus tradicionales.
Uno de los últimos desarrollos de S&S es la tecnología G. D. E. (Generic Decription Engine, Motor de
Desencriptación Genérica) que permite detectar virus polimórficos sin importar el algoritmo de encriptación
utilizado.
Permite detectar modificaciones producidas tanto en archivos como en la tabla de partición del disco rígido.
Para ello utiliza Checksumms Criptográficos lo cual, sumado a una clave personal de cada usuario, hace
casi imposible que el virus pueda descubrir la clave de encriptación.

89
Elimina virus en archivos en forma sencilla y efectiva con pocas falsas alarmas, y en sectores de buteo y
tablas de partición la protección es genérica, es decir, independiente del virus encontrado.
Otras características que presenta este antivirus, son:
 Ocupa 9K de memoria extendida o expandida.
 Documentación amplia y detallada en español y una enciclopedia sobre los virus más
importantes.
 Actualizaciones mensuales o trimestrales de software y manuales.
 Trabaja como residente bajo Windows.
 A. H. A. (Advanced Heuristic Analysis, Análisis Heurístico Avanzado).

NORTON ANTIVIRUS
Certificado por la NCSA. Posee una protección automática en segundo plano. Detiene prácticamente todos
los virus conocidos y desconocidos (a través de una tecnología propia denominada NOVI, que implica
control de las actividades típicas de un virus, protegiendo la integridad del sistema), antes de que causen
algún daño o pérdida de información, con una amplia línea de defensa, que combina búsqueda, detección
de virus e inoculación (se denomina 'inoculación' al método por el cual este antivirus toma las
características principales de los sectores de booteo y archivos para luego chequear su integridad. Cada
vez que se detecta un cambio en dichas áreas, NAV avisa al usuario y provee las opciones de Reparar -
Volver a usar la imagen guardada - Continuar - No realiza cambios - Inocular - Actualizar la imagen.
Utiliza diagnósticos propios para prevenir infecciones de sus propios archivos y de archivos comprimidos.
El escaneo puede ser lanzado manualmente o automáticamente a través de la planificación de fecha y hora.
También permite reparar los archivos infectados por virus desconocidos. Incluye información sobre muchos
de los virus que detecta y permite establecer una contraseña para aumentar así la seguridad.
La lista de virus conocidos puede ser actualizada periódicamente (sin cargo) a través de servicios en línea
como Internet, América On Line, Compuserve, The Microsoft Network o el BBS propio de Symantec, entre
otros.

VIRUSSCAN.
Este antivirus de McAfee Associates es uno de los más famosos. Trabaja por el sistema de scanning
descripto anteriormente, y es el mejor en su estilo.
Para escanear, hace uso de dos técnicas propias: CMS (Code Matrix Scanning, Escaneo de Matriz de
Código) y CTS (Code Trace Scanning, Escaneo de Seguimiento de Código).
Una de las principales ventajas de este antivirus es que la actualización de los archivos de bases de datos
de strings es muy fácil de realizar, lo cual, sumado a su condición de programa shareware, lo pone al
alcance de cualquier usuario. Es bastante flexible en cuanto a la configuración de cómo detectar, reportar y
eliminar virus.
Antivirus recomendados por los especialistas
Según los expertos, las consultas de usuarios se centran en tres aspectos fundamentales: facilidad de
adquisición de las actualizaciones, menor costo posible y facilidad de uso. Atendiendo a esos tres requisitos,
existen, entre otros, el antivirus de origen Islandés F-PROT, que puede conseguirse fácilmente en Internet.

90
El producto para uso particular, no corporativo, es totalmente gratuito. Sirve para entornos DOS - Windows
32 bits. F-Prot me ha demostrado a lo largo de los años ser un producto efectivo, confiable y robusto. Si bien
no es un producto tan difundido como otros, el marketing y la publicidad no son ciertamente parámetros
confiables a la hora de definir criterios de selección. Tiene la ventaja de avisar automáticamente de la
caducidad de su base de datos.
Como segunda línea, también existe un producto gratuito como lo es Scan de McAffee. Su base de datos
está lo suficientemente actualizada como para resultar un producto confiable. Tecnológicamente puede
considerarse un producto de elite como a F-Prot, pero combinado con otros antivirus, puede formar una
formidable barrera.
Otra recomendación es Norton Antivirus. Actualiza su base de datos cada 48 a 72 horas. Puede chequear
mails (algo que no hacen F-Prot ni Scan de McAffee), su residente es muy estable y en la web de
Symantec, en la sección Antivirus Center no sólo puede actualizar la base de datos fácil y gratuitamente,
sino que puede acceder a vacunas e información de cada virus.
Si el usuario puede invertir algo de dinero, se puede comprar la dupla NORTON / F-PROT. Existen virus no
detectados por Norton que sí son vistos por F-Prot y viceversa.

91
Hackers
"To hack" es un verbo inglés que significa: "entrar ilegalmente a...". En el habla común entendemos hacker
como alguien que destruye los ordenadores del prójimo.
Esto es una mentira. Realmente, el hacking significa una búsqueda de información a la que se debería tener
acceso legalmente. Es decir, no son dañinos. Tan solo es una protesta.
El hacking empezó en los años 50’ en el MIT (Massachussets Institute of Technology). Los estudiantes de
este centro dedicaron un gran esfuerzo a investigar el acceso remoto a la información. Al principio, no
existían leyes que les impidieran su búsqueda, pero poco a poco se fueron creando ciertas leyes que
limitaban la actividad.
La importante de todo esto no está en violar las leyes, sino en conseguir información.
El principal objetivo de los Hackers no es convertirse en delincuentes sino "pelear contra un sistema injusto"
utilizando como arma al propio sistema. Su guerra es silenciosa pero muy convincente. Se dedican a la
penetración de sistemas informáticos a través de la red. La cultura popular define a los hackers como
aquellos que, con ayuda de sus conocimientos informáticos consiguen acceder a los ordenadores de los
bancos y de los negociados del gobierno. Bucean por información que no les pertenece, roban software
caro y realizan transacciones de una cuenta bancaria a otra.
Métodos y herramientas de ataque del hacker
Es difícil describir el ataque "típico" de un hacker debido a que los intrusos poseen diferentes niveles de
técnicos por su experiencia y son además son motivados por diversos factores. A algunos hackers los
intriga el desafío, otros más gozan de hacer la vida difícil a los demás, y otros tantos substraen datos
delicados para algún beneficio propio.
Los costos de las diferentes herramientas de protección se están haciendo accesibles, en general, incluso
para las organizaciones más pequeñas. Esto hace que la implementación de mecanismos de seguridad se
dé prácticamente en todos los niveles. Empresas grandes, medianas, chicas y las multinacionales más
grandes. Todas pueden acceder a las herramientas que necesitan y los costos van de acuerdo con la
empresa.
Pero no es sólo una cuestión de costos, Los constantes cambios de la tecnología hacen que para mantener
un nivel parejo de seguridad cada empresa deba actualizar permanentemente las herramientas con las que
cuenta. Como los hackers mejoran sus armas y metodologías de penetración de forma incesante, el
recambio y la revisión constantes en los mecanismos de seguridad se convierten en imprescindibles. Y éste
es un verdadero punto crítico.

Conclusiones
En razón de lo expresado pueden extraerse algunos conceptos que pueden considerarse necesarios para
tener en cuenta en materia de virus informáticos:
 No todo lo que afecte el normal funcionamiento de una computadora es un virus.
 TODO virus es un programa y, como tal, debe ser ejecutado para activarse.
 Es imprescindible contar con herramientas de detección y desinfección.
 NINGÚN sistema de seguridad es 100% seguro. Por eso todo usuario de computadoras debería
tratar de implementar estrategias de seguridad antivirus, no sólo para proteger su propia

92
información sino para no convertirse en un agente de dispersión de algo que puede producir daños
graves e indiscriminados.
Para implementar tales estrategias deberían tenerse a mano los siguientes elementos:
 un disco de sistema protegido contra escritura y libre de virus: Un disco que contenga el
sistema operativo ejecutable (es decir, que la máquina pueda ser arrancada desde este disco) con
protección contra escritura y que contenga, por lo menos, los siguientes comandos: FORMAT,
FDISK, MEM y CHKDSK (o SCANDISK en versiones recientes del MS-DOS).
 por lo menos un programa antivirus actualizado: se puede considerar actualizado a un antivirus
que no tiene más de tres meses desde su fecha de creación (o de actualización del archivo de
strings). es muy recomendable tener por lo menos dos antivirus.
 una fuente de información sobre virus específicos: es decir, algún programa, libro o archivo de
texto que contenga la descripción, síntomas y características de por lo menos los cien virus más
comunes.
 un programa de respaldo de áreas críticas: algún programa que obtenga respaldo (backup) de
los sectores de arranque de los disquetes y sectores de arranque maestro (mbr, master boot record)
de los discos rígidos. muchos programas antivirus incluyen funciones de este tipo.
 lista de lugares dónde acudir: una buena precaución es no esperar a necesitar ayuda para
comenzar a buscar quién puede ofrecerla, sino ir elaborando una agenda de direcciones, teléfonos
y direcciones electrónicas de las personas y lugares que puedan servirnos más adelante. si se
cuenta con un antivirus comercial o registrado, deberán tenerse siempre a mano los teléfonos de
soporte técnico.
 un sistema de protección residente: muchos antivirus incluyen programas residentes que
previenen (en cierta medida), la intrusión de virus y programas desconocidos a la computadora.
 tener respaldos: se deben tener respaldados en disco los archivos de datos más importantes,
además, se recomienda respaldar todos los archivos ejecutables. para archivos muy importantes, es
bueno tener un respaldo doble, por si uno de los discos de respaldo se daña. los respaldos también
pueden hacerse en cinta (tape backup), aunque para el usuario normal es preferible hacerlo en
discos, por el costo que las unidades de cinta representan.
 revisar todos los discos nuevos antes de utilizarlos: cualquier disco que no haya sido
previamente utilizado debe ser revisado, inclusive los programas originales (pocas veces sucede
que se distribuyan discos de programas originales infectados, pero es factible) y los que se
distribuyen junto con revistas de computación.
 revisar todos los discos que se hayan prestado: cualquier disco que se haya prestado a algún
amigo o compañero de trabajo, aún aquellos que sólo contengan archivos de datos, deben ser
revisados antes de usarse nuevamente.
 revisar todos los programas que se obtengan por módem o redes: una de las grandes vías de
contagio la constituyen Internet y los bbs, sistemas en los cuales es común la transferencia de
archivos, pero no siempre se sabe desde dónde se está recibiendo información.
 revisar periódicamente la computadora: se puede considerar que una buena frecuencia de
análisis es, por lo menos, mensual.

93
Finalmente, es importante tener en cuenta estas sugerencias referentes al comportamiento a tener
en cuenta frente a diferentes situaciones:
 Cuando se va a revisar o desinfectar una computadora, es conveniente apagarla por más de 5
segundos y arrancar desde un disco con sistema, libre de virus y protegido contra escritura, para
eliminar virus residentes en memoria. No se deberá ejecutar ningún programa del disco rígido, sino
que el antivirus deberá estar en el disquete. De esta manera, existe la posibilidad de detectar virus
stealth.
 Cuando un sector de arranque (boot sector) o de arranque maestro (MBR) ha sido infectado, es
preferible restaurar el sector desde algún respaldo, puesto que en ocasiones, los sectores de
arranque genéricos utilizados por los antivirus no son perfectamente compatibles con el sistema
operativo instalado. Además, los virus no siempre dejan un respaldo del sector original donde el
antivirus espera encontrarlo.
 Antes de restaurar los respaldos es importante no olvidar apagar la computadora por más de cinco
segundos y arrancar desde el disco libre de virus.
 Cuando se encuentran archivos infectados, es preferible borrarlos y restaurarlos desde respaldos,
aún cuando el programa antivirus que usemos pueda desinfectar los archivos. Esto es porque no
existe seguridad sobre si el virus detectado es el mismo para el cual fueron diseñadas las rutinas de
desinfección del antivirus, o es una mutación del original.
 Cuando se va a formatear un disco rígido para eliminar algún virus, debe recordarse apagar la
máquina por más de cinco segundos y posteriormente arrancar el sistema desde nuestro disquete
limpio, donde también debe encontrarse el programa que se utilizará para dar formato al disco.
 Cuando, por alguna causa, no se puede erradicar un virus, deberá buscarse la asesoría de un
experto directamente pues, si se pidiera ayuda a cualquier aficionado, se correrá el riesgo de perder
definitivamente datos si el procedimiento sugerido no es correcto.
 Cuando se ha detectado y erradicado un virus es conveniente reportar la infección a algún experto,
grupo de investigadores de virus, soporte técnico de programas antivirus, etc. Esto que en principio
parecería innecesario, ayuda a mantener estadísticas, rastrear focos de infección e identificar
nuevos virus, lo cual en definitiva, termina beneficiando al usuario mismo.

Anexos
ANEXO A. Superagentes, hackers y cuestiones de soberanía.
Clarín. 27-08-2002. Sociedad
La ley contra los delitos informáticos que está tratando el Congreso argentino está destinada a padecer los
mismos obstáculos que enfrentan estas leyes en cualquier país. Porque no contempla una característica
que hace a la naturaleza misma de Internet: su carácter supranacional. No hay una Internet argentina ni una
Internet de Brasil ni de los Estados Unidos ni de Francia.
Internet es un territorio no-geográfico y toda ley sobre este territorio puede entrar en conflicto con las
soberanías de los países. Si un ciudadano suizo, Saudita o chino vulnera un sitio web alojado en la
Argentina, ¿bajo la ley de qué país será juzgado?
En noviembre de 2000 el FBI logró capturar a dos ciudadanos rusos, Vasily Gorshkov, de 26 años, y Alexey

94
Ivanov, de 20, acusados de haber violado la seguridad de al menos 40 empresas estadounidenses, realizar
fraudes y robar tarjetas de crédito y datos personales con propósitos extorsivos.
Los agentes que participaron en la captura fueron premiados en los Estados Unidos por la brillante
operación. Pero los rusos vieron la historia desde otro punto de vista. El 15 de agosto el servicio de
inteligencia ruso FSB acusó al agente del FBI Michael Schuler de haber entrado sin autorización en
servidores rusos para obtener la captura. Es decir, le reprochó exactamente haber usado técnicas de
hacking, en lo que parece ser un novedoso capítulo de una serie de "superagentes".
Para combatir lo que técnicamente la ley de su propio país define como un delito informático, Schuler
cometió otro delito informático. Paradójicamente, recibió del FBI un premio a la excelencia (por haber
utilizado por primera vez en la historia del FBI la "técnica de captura extraterritorial" en un "cyber crimen"). Y
del FSB recibió una formal acusación, enviada directamente al Departamento de Justicia de los Estados
Unidos.
A Rusia no le gustó en lo más mínimo que husmearan en computadoras de su territorio y alegó cuestiones
de soberanía. "Si los hackers rusos son sentenciados sobre la base de información obtenida por los
Estados Unidos mediante el hacking, esto implicará la futura posibilidad de los servicios secretos
estadounidenses de utilizar métodos ilegales en la recopilación de información en Rusia y otros países", dijo
una fuente del FSB citada por la agencia de noticias Interfax.
Esto que parece un enfrentamiento en versión digital entre las agencias de ficción televisiva "Caos" y
"Control" (aunque no se entienda quién es el malo y quién el bueno de la película) puede dar una idea de
los problemas que se perfilan cuando se aplican leyes nacionales sobre Internet.
Hay otro aspecto ejemplificador en esta historia: ¿cómo realizaron sus intrusiones los dos jóvenes rusos?
Generalmente, utilizando un reconocido agujero de seguridad del sistema operativo de Microsoft Windows
NT, según reporta Msnbc.com (una fuente fuera de sospecha en este asunto, ya que pertenece a la propia
Microsoft, en sociedad con la NBC).
De acuerdo con Msnbc.com, el "patch" (literalmente "parche") contra esa vulnerabilidad estuvo disponible
en Internet durante casi dos años, pero los administradores de los sistemas violados "olvidaron" ponerlo.
Podría suceder que algunas empresas prefieran hacer gastar dinero de los gobiernos (es decir, de todos
nosotros) en la persecución de intrusos, en vez de gastar dinero propio en empleados que recuerden
realizar la simple operación de instalar un archivo que corrige una falla de seguridad.
El fenómeno de la violación de los sistemas no es sólo un fenómeno de criminalidad (que, como tal, debe
ser castigado). Las empresas tienen una responsabilidad compartida, y habría menos delitos
informáticos si no les hicieran fácil la vida a los intrusos. Es decir, si se reflexionara sobre la importancia de
la seguridad y se tomaran las previsiones pertinentes. Quien no pone una cerradura efectiva a la puerta de
su casa (o a la puerta de su sistema, en este caso) está casi invitando a que le roben.
El problema esencial no es sólo definir un delito y su sanción, sino examinar si la ley es eficaz y aplicable
en la realidad internacional que plantea la naturaleza de Internet.

95
ANEXO B. Un hacker saqueó las cuentas de 21 ahorristas
Clarin.com 5-07-2002.
Un hacker chino logró introducirse en las computadoras de 21 clientes del Banco DBS de Singapur, y huyó
hacia Malasia con 62.000 dólares singapurenses (u$s 37.000) luego de saquear las cuentas de los
ahorristas sin necesidad de romper, ni trucar las defensas informáticas de la institución.
El individuo hackeó las máquinas de sus víctimas y obtuvo así sus códigos de usuario y contraseñas. Con
estos datos pudo acceder a sus cuentas bancarias y retirar de cada una de ellas entre 200 y 4.999 dólares
singapurenses, el máximo permitido.
Las autoridades del banco, que tiene 370.000 clientes a través de Internet, reintegraron el dinero a sus
clientes, pero advirtieron que futuras estafas no serán reintegradas. Asimismo, instaron a sus clientes a
mantener sus contraseñas en reserva, revisar regularmente sus cuentas, borrar las fichas de su historia
como clientes, evitar guardar nombres de usuario y números PIN en sus computadoras e instalar la última
versión de un programa antivirus.

96
Glosario
APÓCRIFA: ficticia.
APPLETS: Lenguaje desarrollado por Sun Microsystems para la elaboración de aplicaciones exportables a
la red y capaces de operar sobre cualquier plataforma a través, normalmente, de visualizadores WWW. El
programa Java se descarga desde el servidor Web y lo interpreta un programa que se ejecuta en el equipo
que contiene el explorador de Web.
ARCHIVO: Datos estructurados que pueden recuperarse fácilmente y usarse en una aplicación
determinada. Se utiliza como sinónimo de fichero. Todos los datos en disco se almacenan como un archivo
con un nombre de archivo asignado que es único dentro del directorio en que reside.
BBS: (Bulletin Board System). Servicio al que se conectan usuarios de ordenadores personales a través de
un modem, mediante el que se pueden enviar mensajes, mantener conversaciones on-line, intercambiar
software o acceder a bases de datos. Básicamente se compone de un ordenador con una potente base de
datos y un sistema de conexión a través de la red telefónica conmutada y el correspondiente módem (la
primera red pública existente en el mundo antes de Internet entre ordenadores independientes).
BOOT SECTOR: Sector de inicialización, de arranque. Sectores del disco que están reservados para el
sistema operativo. Normalmente son los primeros sectores de la primera partición del disco.
DISCO DURO: Dispositivo de almacenamiento de datos mediante tecnología magnética que consta de un
disco en el que se graba la información, para recuperarla posteriormente gracias a una o varias cabezas
lectoras-grabadoras.
DRIVERS: Existen muchos periféricos que se pueden conectar a un ordenador (disqueteras, impresoras,
lectores de CD, escaners, etc.). Para que el sistema sea capaz de aprovechar al máximo las capacidades
de cada uno de estos dispositivos, los fabricantes incluyen unos programas llamados "Drivers", que son los
que saben gestionar adecuadamente ese periférico.
DOS: (Disk Operating System). Programa que controla el funcionamiento del ordenador. Es el sistema
operativo utilizado en la mayoría de los ordenadores personales (PCs) existentes. Aunque existen diferentes
versiones del DOS, la más conocida es la desarrollada por la compañía Microsoft, denominada MS-DOS. El
nombre de Sistema Operativo de Disco procede de que, en su mayor parte, el DOS permite la gestión y
administración del disco duro y los disquetes.
FAT: (File Allocation Table). Tabla de asignación de archivos. Parte del sistema de archivos del DOS y OS/2
que lleva un seguimiento de la ubicación de los datos almacenados en un disco. Cuando el disco se
formatea a alto nivel, el FAT se registra dos veces y contiene una tabla con una entrada para cada cluster
(conglomerado) en disco.
La lista de directorios, que contiene el nombre del archivo, extensión, fecha, etc., apunta a la entrada del
FAT donde comienza el archivo. Si un archivo es más grande que un cluster, la primera entrada del FAT
apunta a la siguiente entrada del mismo donde se encuentra almacenado el segundo cluster del archivo, y
así sucesivamente hasta el fin del archivo. Si un cluster se daña, su entrada FAT se marca como tal y ese
cluster no se usa nuevamente.
HEURISTICO: Algoritmo que consta de utilizar pruebas, exámenes o aproximaciones para llegar a dar con
una solución. De esta forma, sin conocer unos datos base exactos, podemos llegar a un resultado final.
Suele aplicarse mucho en la detección de virus.

97
HOSTS: sistemas centrales
INOCULACIÓN: Transmisión por medios artificiales una enfermedad contagiosa: la inoculación de una
vacuna. 
INTERNET: Conjunto de redes de ordenadores creada a partir de redes de menos tamaño, cuyo origen
reside en la cooperación de dos universidades estadounidenses. Es la red global compuesta de limes de
redes de área local (LAN) y de redes de área extensa (WAN) que utiliza TCP/IP para proporcionar
comunicaciones de ámbito mundial a hogares, negocios, escuelas y gobiernos
IRC: (Internet Relay Chat). Charla Interactiva Internet. Protocolo mundial para conversaciones simultáneas
("party line") que permite comunicarse por escrito entre sí a través de ordenador a varias personas en
tiempo real. El servicio IRC está estructurado mediante una red de servidores, cada uno de los cuales
acepta conexiones de programas cliente, uno por cada usuario.
JAVA: Lenguaje desarrollado por Sun Microsystems para la elaboración de aplicaciones exportables a la
red y capaces de operar sobre cualquier plataforma a través, normalmente, de visualizadores WWW. El
programa Java se descarga desde el servidor Web y lo interpreta un programa que se ejecuta en el equipo
que contiene el explorador de Web.
MACRO: Básicamente, se trata de un grupo de comandos de una aplicación, organizados según un
determinado juego de instrucciones y cuya ejecución puede ser pedida de una sola vez para realizar la
función que se desea.
SCANNING: Localizar información específica.
SERVIDOR: Genéricamente, dispositivo de un sistema que resuelve las peticiones de otros elementos del
sistema, denominados clientes.
SOFT: Abreviatura de software. Su uso es muy frecuente.
Software: El término inglés original define el concepto por oposición a hardware: blando-duro, en referencia
a la intangibilidad de los programas y corporeidad de la máquina. Software es un término genérico que
designa al conjunto de programas de distinto tipo (sistema operativo y aplicaciones diversas) que hacen
posible operar con el ordenador.
SPAM: Spam es una palabra inglesa que hace referencia a una conserva cárnica: el "Spiced Ham",
literalmente "Jamón con especias". Al no necesitar refrigeración, fue muy utilizada en todo el mundo, sobre
todo por el ejército americano, que ayudó mucho en su difusión. Debido a esto (y a su baja calidad) se ha
utilizado este término para hacer referencia a todos los mensajes basura que se reciben tanto en los grupos
de noticias como en los buzones particulares...
TELEPROCESO: Denominación para el proceso de datos desde terminales distantes con la unidad central.
Es el caso típico de las transacciones que realizan, en gran volumen, las entidades financieras.
TROYANO: es un programa malicioso que se oculta en el interior de un programa de apariencia inocente.
Cuando este último es ejecutado, el Troyano realiza la acción o se oculta en la máquina del incauto que lo
ha ejecutado. Habitualmente se utiliza para espiar a personas, usando esta técnica para instalar un software
de acceso remoto que nos permita monitorear lo que alguien está haciendo en cada momento, (capturando
sus pulsaciones (keystrokes), o enviando capturas de pantalla del escritorio).

98
¿QUE ES RED?
 Existen varias definiciones acerca de que es una red, algunas de las cuales son:
 Conjunto de operaciones centralizadas o distribuidas, con el fin de compartir recursos "hardware y
software".
 Sistema de transmisión de datos que permite el intercambio de información entre ordenadores.
 Conjunto de nodos "computador" conectados entre sí.
  
TIPOS DE REDES
 Existen varios tipos de redes,  los cuales se clasifican de acuerdo a su tamaño y distribución lógica.
 Clasificación según su tamaño
 Las redes PAN (red de administración personal) son redes pequeñas, las cuales están conformadas por
no más de 8 equipos, por ejemplo: café Internet.
 CAN: Campus Area Network, Red de Area Campus . Una CAN es una colección de LAN dispersadas
geográficamente dentro de un campus (universitario, oficinas de gobierno, maquilas o industrias)
pertenecientes a una misma entidad en una área delimitada en kilómetros. Una CAN utiliza comúnmente
tecnologías tales como FDDI y Gigabit Ethernet para conectividad a través de medios de comunicación tales
como fibra óptica y espectro disperso.
 Las redes LAN (Local Área Network, redes de área local) son las redes que todos conocemos, es decir,
aquellas que se utilizan en nuestra empresa. Son redes pequeñas, entendiendo como pequeñas las redes
de una oficina, de un edificio. Debido a sus limitadas dimensiones, son redes muy rápidas en las cuales
cada estación se puede comunicar con el resto. Están restringidas en tamaño, lo cual significa que el
tiempo de transmisión, en el peor de los casos, se conoce. Además, simplifica la administración de la red.
Suelen emplear tecnología de difusión mediante un cable sencillo (coaxial o UTP) al que están conectadas
todas las máquinas. Operan a velocidades entre 10 y 100 Mbps.
 Características preponderantes:
 Los canales son propios de los usuarios o empresas.
 Los enlaces son líneas de alta velocidad.
 Las estaciones están cercas entre sí.
 Incrementan la eficiencia y productividad de los trabajos de oficinas al poder compartir información.
 Las tasas de error son menores que en las redes WAN.
 La arquitectura permite compartir recursos.
 LAN muchas veces usa una tecnología de transmisión, dada por un simple cable, donde todas las
computadoras están conectadas. Existen varias topologías posibles en la comunicación sobre LAN, las
cuales se verán más adelante.
 Las redes WAN (Wide Área Network, redes de área extensa) son redes punto a punto que interconectan
países y continentes. Al tener que recorrer una gran distancia sus velocidades son menores que en las LAN
aunque son capaces de transportar una mayor cantidad de datos. El alcance es una gran área geográfica,
como por ejemplo: una ciudad o un continente. Está formada por una vasta cantidad de computadoras
interconectadas (llamadas hosts), por medio de subredes de comunicación o subredes pequeñas, con el fin
de ejecutar aplicaciones, programas, etc.

99
 Una red de área extensa WAN es un sistema de interconexión de equipos informáticos geográficamente
dispersos, incluso en continentes distintos. Las líneas utilizadas para realizar esta interconexión suelen ser
parte de las redes públicas de transmisión de datos.
Las redes LAN comúnmente, se conectan a redes WAN, con el objetivo de tener acceso a mejores
servicios, como por ejemplo a Internet. Las redes WAN son mucho más complejas, porque deben enrutar
correctamente toda la información proveniente de las redes conectadas a ésta.
 Una subred está formada por dos componentes:
 Líneas de transmisión: quienes son las encargadas de llevar los bits entre los hosts.
Elementos interruptores (routers): son computadoras especializadas usadas por dos o más líneas de
transmisión. Para que un paquete llegue de un router a otro, generalmente debe pasar por routers
intermedios, cada uno de estos lo recibe por una línea de entrada, lo almacena y cuando una línea de salida
está libre, lo retransmite.
 INTERNET WORKS: Es una colección de redes interconectadas, cada una de ellas puede estar
desallorrada sobre diferentes software y hardware. Una forma típica de Internet Works es un grupo de redes
LAN conectadas con WAN. Si una subred le sumamos los host obtenemos una red.
El conjunto de redes mundiales es lo que conocemos como Internet.
 Las redes MAN (Metropolitan Área Network, redes de área metropolitana), comprenden una ubicación
geográfica determinada "ciudad, municipio", y su distancia de cobertura es mayor de 4 Km. Son redes con
dos buses unidireccionales, cada uno de ellos es independiente del otro en cuanto a la transferencia de
datos. Es básicamente una gran versión de LAN y usa una tecnología similar. Puede cubrir un grupo de
oficinas de una misma corporación o ciudad, esta puede ser pública o privada. El mecanismo para la
resolución de conflictos en la transmisión de datos que usan las MAN, es DQDB.
 DQDB consiste en dos buses unidireccionales, en los cuales todas las estaciones están conectadas, cada
bus tiene una cabecera y un fin. Cuando una computadora quiere transmitir a otra, si esta está ubicada a la
izquierda usa el bus de arriba, caso contrario el de abajo.
 Redes Punto a Punto. En una red punto a punto cada computadora puede actuar como cliente y como
servidor. Las redes punto a punto hacen que el compartir datos y periféricos sea fácil para un pequeño
grupo de gente. En una ambiente punto a punto, la seguridad es difícil, porque la administración no está
centralizada.
 Redes Basadas en servidor. Las redes basadas en servidor son mejores para compartir gran cantidad
de recursos y datos. Un administrador supervisa la operación de la red, y vela que la seguridad sea
mantenida. Este tipo de red puede tener uno o más servidores, dependiendo del volumen de tráfico, número
de periféricos etc. Por ejemplo, puede haber un servidor de impresión, un servidor de comunicaciones, y un
servidor de base de datos, todos en una misma red.
 Clasificación según su distribución lógica
 Todos los ordenadores tienen un lado cliente y otro servidor: una máquina puede ser servidora de un
determinado servicio pero cliente de otro servicio.
 Servidor. Máquina que ofrece información o servicios al resto de los puestos de la red. La clase de
información o servicios que ofrezca determina el tipo de servidor que es: servidor de impresión, de archivos,
de páginas web, de correo, de usuarios, de IRC (charlas en Internet), de base de datos...

100
 Cliente. Máquina que accede a la información de los servidores o utiliza sus servicios. Ejemplos: Cada vez
que estamos viendo una página web (almacenada en un servidor remoto) nos estamos comportando como
clientes. También seremos clientes si utilizamos el servicio de impresión de un ordenador remoto en la red
(el servidor que tiene la impresora conectada).
 Todas estas redes deben de cumplir con las siguientes características:
 Confiabilidad "transportar datos".
 Transportabilidad "dispositivos".
 Gran procesamiento de información.
 Y de acuerdo estas, tienen diferentes usos, dependiendo de la necesidad del usuario, como son:
 Compañías - centralizar datos.
 Compartir recursos "periféricos, archivos, etc.".
 Confiabilidad "transporte de datos".
 aumentar la disponibilidad de la información.
 Comunicación entre personal de las mismas áreas.
 Ahorro de dinero.
 Home Banking.
 Aportes a la investigación "vídeo demanda,line T.V,Game Interactive".
  
TOPOLOGIAS
 Bus: esta topología permite que todas las estaciones reciban la información que se transmite, una estación
trasmite y todas las restantes escuchan.
 Ventajas: La topología Bus requiere de menor cantidad de cables para una mayor topología; otra de las
ventajas de esta topología es que una falla en una estación en particular no incapacitara el resto de la red.
 Desventajas: al existir un solo canal de comunicación entre las estaciones de la red, si falla el canal o una
estación, las restantes quedan incomunicadas. Algunos fabricantes resuelven este problema poniendo un
bus paralelo alternativo, para casos de fallos o usando algoritmos para aislar las componentes defectuosas.
 Existen dos mecanismos para la resolución de conflictos en la transmisión de datos:
CSMA/CD: son redes con escucha de colisiones. Todas las estaciones son consideradas igual, por ello
compiten por el uso del canal, cada vez que una de ellas desea transmitir debe escuchar el canal, si alguien
está transmitiendo espera a que termine, caso contrario transmite y se queda escuchando posibles
colisiones, en este último espera un intervalo de tiempo y reintenta nuevamente.
 Token Bus: Se usa un token (una trama de datos) que pasa de estación en estación en forma cíclica, es
decir forma un anillo lógico. Cuando una estación tiene el token, tiene el derecho exclusivo del bus para
transmitir o recibir datos por un tiempo determinado y luego pasa el token a otra estación, previamente
designada. Las otras estaciones no pueden transmitir sin el token, sólo pueden escuchar y esperar su turno.
Esto soluciona el problema de colisiones que tiene el mecanismo anterior.
 Redes en Estrella
Es otra de las tres principales topologías. La red se une en un único punto, normalmente con control
centralizado, como un concentrador de cableado.
 Redes Bus en Estrella

101
Esta topología se utiliza con el fin de facilitar la administración de la red. En este caso la red es un bus que
se cablea físicamente como una estrella por medio de concentradores.
Redes en Estrella Jerárquica
Esta estructura de cableado se utiliza en la mayor parte de las redes locales actuales, por medio de
concentradores dispuestos en cascada para formar una red jerárquica.
Redes en Anillo
Es una de las tres principales topologías. Las estaciones están unidas una con otra formando un círculo por
medio de un cable común. Las señales circulan en un solo sentido alrededor del círculo, regenerándose en
cada nodo.
 Ventajas: los cuellos de botellas son muy pocos frecuentes
Desventajas: al existir un solo canal de comunicación entre las estaciones de la red, si falla el canal o una
estación, las restantes quedan incomunicadas. Algunos fabricantes resuelven este problema poniendo un
canal alternativo para casos de fallos, si uno de los canales es viable la red está activa, o usando algoritmos
para aislar las componentes defectuosas. Es muy compleja su administración, ya que hay que definir una
estación para que controle el token.
 Existe un mecanismo para la resolución de conflictos en la transmisión de datos:
 Token Ring: La estación se conecta al anillo por una unidad de interfaz (RIU), cada RIU es responsable de
controlar el paso de los datos por ella, así como de regenerar la transmisión y pasarla a la estación
siguiente. Si la dirección de cabecera de una determinada transmisión indica que los datos son para una
estación en concreto, la unidad de interfaz los copia y pasa la información a la estación de trabajo
conectada a la misma.
Se usa en redes de área local con o sin prioridad, el token pasa de estación en estación en forma cíclica,
inicialmente en estado desocupado. Cada estación cuando tiene el token (en este momento la estación
controla el anillo),  si quiere transmitir cambia su estado a ocupado, agregando los datos atrás y lo pone en
la red, caso contrario pasa el token a la estación siguiente. Cuando el token pasa de nuevo por la estación
que transmitió, saca los datos, lo pone en desocupado y lo regresa a la red.
  
PROTOCOLOS
 Características
 Un protocolo es el conjunto de normas para comunicarse dos o más entidades (objetos que se
intercambian información). Los elementos que definen un protocolo son:
 Sintaxis: formato, codificación y niveles de señal de datos.
 Semántica: información de control y gestión de errores.
 Temporización: coordinación entre la velocidad y orden secuencial de las señales.
 Las características más importantes de un protocolo son:
 Directo/indirecto: los enlaces punto a punto son directos pero los enlaces entre dos entidades en
diferentes redes son indirectos ya que intervienen elementos intermedios.
 Monolítico/estructurado: monolítico es aquel en que el emisor tiene el control en una sola capa de
todo el proceso de transferencia. En protocolos estructurados, hay varias capas que se coordinan y
que dividen la tarea de comunicación.

102
 Simétrico/asimétrico: los simétricos son aquellos en que las dos entidades que se comunican son
semejantes en cuanto a poder tanto emisores como consumidores de información. Un protocolo es
asimétrico si una de las entidades tiene funciones diferentes de la otra (por ejemplo en clientes y
servidores).
 Funciones
 1.   Segmentación y ensamblado: generalmente es necesario dividir los bloques de datos en unidades
pequeñas e iguales en tamaño, y este proceso se le llama segmentación. El bloque básico de segmento en
una cierta capa de un protocolo se le llama PDU (Unidad de datos de protocolo). La necesidad de la
utilización de bloque es por:
La red sólo admite la transmisión de bloques de un cierto tamaño.
El control de errores es más eficiente para bloques pequeños.
Para evitar monopolización de la red para una entidad, se emplean bloques pequeños y así una
compartición de la red.
Con bloques pequeños las necesidades de almacenamiento temporal son menores.
Hay ciertas desventajas en la utilización de segmentos:
La información de control necesaria en cada bloque disminuye la eficiencia en la transmisión.
Los receptores pueden necesitar interrupciones para recibir cada bloque, con lo que en bloques pequeños
habrá más interrupciones.
Cuantas más PDU, más tiempo de procesamiento.
 2.   Encapsulado: se trata del proceso de adherir información de control al segmento de datos. Esta
información de control es el direccionamiento del emisor/receptor, código de detección de errores y control
de protocolo.
 3.   Control de conexión: hay bloques de datos sólo de control y otros de datos y control. Cuando se utilizan
datagramas, todos los bloques incluyen control y datos ya que cada PDU se trata como independiente. En
circuitos virtuales hay bloques de control que son los encargados de establecer la conexión del circuito
virtual. Hay protocolos más sencillos y otros más complejos, por lo que los protocolos de los emisores y
receptores deben de ser compatibles al menos .Además de la fase de establecimiento de conexión (en
circuitos virtuales) está la fase de transferencia y la de corte de conexión. Si se utilizan circuitos virtuales
habrá que numerar los PDU y llevar un control en el emisor y en el receptor de los números.
 4.   Entrega ordenada: el envío de PDU puede acarrear el problema de que si hay varios caminos posibles,
lleguen al receptor PDU desordenados o repetidos, por lo que el receptor debe de tener un mecanismo para
reordenar los PDU. Hay sistemas que tienen un mecanismo de numeración con módulo algún número; esto
hace que el módulo sean lo suficientemente alto como para que sea imposible que haya dos segmentos en
la red al mismo tiempo y con el mismo número.
 5.   Control de flujo: hay controles de flujo de parada y espera o de ventana deslizante. El control de flujo es
necesario en varios protocolos o capas, ya que el problema de saturación del receptor se puede producir en
cualquier capa del protocolo.
6.   Control de errores: generalmente se utiliza un temporizador para retransmitir una trama una vez que no
se ha recibido confirmación después de expirar el tiempo del temporizador. Cada capa de protocolo debe de
tener su propio control de errores.

103
 7.   Direccionamiento: cada estación o dispositivo intermedio de almacenamiento debe tener una dirección
única. A su vez, en cada terminal o sistema final puede haber varios agentes o programas que utilizan la
red, por lo que cada uno de ellos tiene asociado un puerto.
Además de estas direcciones globales, cada estación o terminal de una subred debe de tener una dirección
de subred (generalmente en el nivel MAC).
Hay ocasiones en las que se usa un identificador de conexión; esto se hace así cuando dos estaciones
establecen un circuito virtual y a esa conexión la numeran  (con un identificador de conexión conocido por
ambas). La utilización de este identificador simplifica los mecanismos de envío de datos ya que por ejemplo
es más sencillo que el direccionamiento global.
Algunas veces se hace necesario que un emisor emita hacia varias entidades a la vez y para eso se les
asigna un direccionamiento similar a todas.
 8.   Multiplexación: es posible multiplexar las conexiones de una capa hacia otra , es decir que de una única
conexión de una capa superior , se pueden establecer varias conexiones en una capa inferior ( y al revés ) .
 9.   Servicios de transmisión: los servicios que puede prestar un protocolo son :
Prioridad: hay mensajes (los de control) que deben tener prioridad respecto a otros.
Grado de servicio: hay datos que deben de retardarse y otros acelerarse (vídeo).
Seguridad .
 Protocolo CSMA/CD.
Carrier Sense Mutiple Acces with Collision Detection. En este tipo de red cada estación se encuentra
conectada bajo un mismo bus de datos, es decir las computadoras se conectan en la misma línea de
comunicación (cableado), y por esta transmiten los paquetes de información hacia el servidor y/o los otros
nodos. Cada estación se encuentra monitoreando constantemente la línea de comunicación con el objeto de
transmitir o recibir sus mensajes.
 Estándares para redes de la IEEE.
 - IEEE 802.1
Estándar que especifica la relación de los estándares IEEE y su interacción con los modelos OSI de la ISO,
así como las cuestiones de interconectividad y administración de redes.
 - IEEE 802.2
Control lógico de enlace (LLC), que ofrece servicios de "conexión lógica" a nivel de capa 2.
 - IEEE 802.3
El comité de la IEEE 802. 3 definió un estándar el cual incluye el formato del paquete de datos para
Ethernet, el cableado a usar y el máximo de distancia alcanzable para este tipo de redes. Describe una LAN
usando una topología de bus, con un método de acceso al medio llamado CSMA/CD y un cableado coaxial
de banda base de 50 ohm capaz de manejar datos a una velocidad de 10 Mbs.
 - IEEE 802.3 10Base5.
El estándar para bus IEEE 802.3 originalmente fue desarrollado para cable coaxial de banda base tipo Thick
como muna norma para Ethernet, especificación a la cual se hace referencia como 10Base5 y describe un
bus de red de compuesto por un cable coaxial de banda base de tipo Thick el cual puede transmitir datos a
una velocidad de 10Mbs. sobre un máximo de 500 mts.
 - IEEE 802.3 10Base2.

104
Este estándar describe un bus de red el cual puede transmitir datos a una velocidad de 10 Mbs. sobre un
cable coaxial de banda base del tipo Thin en una distancia máxima de 200 mts.
 - IEEE 802.3 STARLAN.
El comité IEEE 802 desarrollo este estándar para una red con protocolo CSMA el cual hace uso de una
topología de estrella agrupada en la cual las estrellas se enlazan con otra. También se le conoce con la
especificación 10Base5 y describe un red la cual puede transmitir datos a una velocidad de 1 Mbs. hasta
una distancia de 500 mts. Usando un cableado de dos pares trenzados calibres 24.
 - IEEE 802.3 10BaseT.
Este estándar describe un bus lógico 802.3 CSMA/CD sobre un cableado de 4 pares trenzados el cual está
configurado físicamente como una estrella distribuida, capaz de transmitir datos a 10 Mbs. en un máximo de
distancia de 100 mts.
 - IEEE 802.4
Define una red de topología usando el método de acceso al medio de Token Paassing.
 - IEEE 802.5 Token Ring.
Este estándar define una red con topología de anillo la cual usa token (paquete de datos) para transmitir
información a otra. En una estación de trabajo la cual envía un mensaje lo sitúa dentro de un token y lo
direcciona específicamente a un destino, la estación destino copia el mensaje y lo envía a un token de
regreso a la estación origen la cual remueve el mensaje y pasa el token a la siguiente estación.
 - IEEE 802.6
Red de área metropolitana (MAN), basada en la topología propuesta por la Universito of Western Australia,
conocida como DQDB (Distribuited Queue Dual Bus) DQDB utiliza un bus dual de fibra óptica como medio
de transmisión. Ambos buses son unidireccionales, y en contra-sentido. Con esta tecnología el ancho de
banda es distribuido entre los usuarios, de acuerdo a la demanda que existe, en proceso conocido como
"inserción de ranuras temporales". Puesto que puede llevar transmisión de datos sincrónicos y asincrónicos,
soporta aplicaciones de video, voz y datos. IEEE 802.6 con su DQDB, es la alternativa de la IEEE para
ISDN.
 - IEEE 802.12
Se prevé la posibilidad de que el Fast Ethernet, adémdum de 802.3, se convierta en el IEEE 802.12.
  
MODELO OSI
 Definición
 Modelo abierto para arquitecturas funcionales de red, periféricos, archivos a compartir, utilidad de red. El
sistema de comunicaciones del modelo OSI estructura el proceso en varias capas que interaccionan entre
sí. Una capa proporciona servicios a la capa superior siguiente y toma los servicios que le presta la
siguiente capa inferior .De esta manera, el problema se divide en subproblemas más pequeños y por tanto
más manejables.
Para comunicarse dos sistemas, ambos tienen el mismo modelo de capas. La capa más alta del sistema
emisor se comunica con la capa más alta del sistema receptor, pero esta comunicación se realiza vía capas
inferiores de cada sistema .La única comunicación directa entre capas de ambos sistemas es en la capa
inferior (capa física).

105
Los datos parten del emisor y cada capa le adjunta datos de control hasta que llegan a la capa física. En
esta capa son pasados a la red y recibidos por la capa física del receptor. Luego irán siendo captados los
datos de control de cada capa y pasados a una capa superior. Al final, los datos llegan limpios a la capa
superior.
Cada capa tiene la facultad de poder trocear los datos que le llegan en trozos más pequeños para su propio
manejo. Luego serán re ensamblados en la capa paritaria de la estación de destino.
 Características
      1.  Arquitectura:
 Conocimiento del tráfico.
 Trama - división de la información.
 Paquete - todos los datos a ser enviados.
 Segmento - Conjunto de trama.
      2.  Medio de Transmisión:
 Nic - red
 Association -router,bridge,gateway.
 Tecnología - red "lan, wan,man".
      3.  Topología:
 Distancia.
 Distribución.
 Enrutamiento
      4.  Capacidad mucha de banda:
 Proceso estocástico.
 Probabilidad de llegada.
 Distribución "binomial- normal ".
 Primitivas de servicio y parámetros
Las capas inferiores suministran a las superiores una serie de funciones o primitivas y una serie de
parámetros .La implementación concreta de estas funciones está oculta para la capa superior. ésta sólo
puede utilizar las funciones y los parámetros para comunicarse con la capa inferior( paso de datos y
control).

"Topologías de Redes"

Bus: es la topología de redes donde cada computadora está conectada a un cable simple llamado
segmento.  En conección local se utiliza 10Base2 o 10Base5 para Trunk lines.  Son menos costosas
localmente pero más difíciles de arreglar ("Troubleshooting").  Mejor para líneas largas de
estaciones.

106
Star: es la topología de redes donde cada computadora o nodo está conectada a un punto central
que puede ser un concentrador (hub) central.  Toda la información que se transfiere de un nodo a
otro pasa a través del punto central.  Mientras exista un puerto libre en el punto central se puede
añadir nodos sin afectar el funcionamiento de la red.  Usualmente 10/100 Base T, es la más común. 
Mejor para estaciones cercanas en un grupo.

Ring (anillo): es la topología de redes donde cada computadora está conectada a otra de manera que
forman un círculo.  Físicamente es una conección de estrella con un concentrador especial
(MultiStation Access Unit, "MSAU").  Puede ser de 3 a 4 veces más rápida que la estrella.

107
Mesh: es la topología de redes donde cada computadora está conectada a todas las demás.  Cada
dispositivo tiene un enlace dedicado de punto a punto a todos los dispositivos que la componen.
Cada dispositivo tiene (n-1) puertos de entrada/salida y se necesitan n (n-1) / 2 medios de
transmisión para conectar n dispositivos. Ventaja: Eliminación de problemas de tráfico, privacidad
y/o seguridad.  Desventaja: cantidad de cableado y número de puertos requerido.

108
Árbol ("Tree"): Es una variación de la Estrella.  Como en la estrella, los nodos en el árbol son
enlazados a un hub central que controla el tráfico en la red.  Pero la mayoría de los dispositivos
están conectados a hub secundarios que a su vez están conectados al hub central.

ESTÁNDARES DE CABLEADO (Par trenzado UTP)

Antecedentes

En el pasado había dos especificaciones principales de terminación de cableado: Los cables de datos y por
otro lado, los cables de voz.

En la actualidad, en el mundo de los sistemas de cableado estructurado existen muchos diferentes tipos de
servicios (e.g. voz, datos, video, monitoreo, control de dispositivos, etc.) que pueden correr sobre un mismo
tipo de cable.

Introducción

El estándar más conocido de cableado estructurado en el mundo está definido por la EIA/TIA [Electronics
Industries Association/Telecomunications Industries Association] de Estados Unidos), y especifica el
cableado estructurado sobre cable de par trenzado UTP de categoria 5, el estándar 568A. Existe otro
estándar producido por AT&T muchos antes de que la EIA/TIA fuera creada en 1985, el 258A, pero ahora
conocido bajo el nombre de EIA/TIA 568B.

109
Qué es el 568

En el mundo de los sistemas de cableado estructurado el número criptico 568 al orden en que los hilos
individuales dentro del cable CAT 5 están terminados.

Organizaciones de estándares de cableado

Hay muchas organizaciones involucradas en el cableado estructurado en el mundo. En Estados Unidos es


la ANSI, Internacionalmente es la ISO (International Standards Organization). El propósito de las
organizaciones de estándares es formular un conjunto de reglas comunes para todos en la industria, en el
caso del cableado estructurado para própositos comerciales es proveer un conjunto estándar de reglas que
permitan el soporte de múltiples marcas o fabricantes. Los estándares 568 son actualmente desarrollados
por la TIA (Telecommunications Industry Association) and the EIA (Electronics Industry Association) en
Estados Unidos. Estos estándares han sido adoptados alrededor del mundo por otras organizaciones.

En 1985 muchas compañías de la industria de las telecomunicaciones estaban desconcertadas por la falta
de estándares de cableado. Entonces la EIA se puso a desarrollar un estándar para este propósito. el primer
borrador (draft) del estándar no fue liberado sino hasta julio de 1991, y se le fue dado el nombre de EIA/TIA-
568. en 1994 el estándar fue renombrado a TIA/EIA 568A, el existente estándar de AT&T 258A fue incluido
y referenciado como TIA/EIA-568B. Estos estándares de facto se hicieron populares y ampliamente usados,
despues fueron adoptados por organismos internacionales como el ISO/IEC 11801:1995.

Internacionalmente los estandares de cableado estan definidos en ISO/IEC IS 11801, en los Estados Unidos
son definidos por la EIA/TIA, en Canadá por la CSA T529 y en otros organismos de otros países.

Alcance del estándar TIA/EIA-568A

 Requerimientos mínimos para el cableado de telecomunicaciones dentro de un ambiente de


oficinas.
 Topología recomendada y distancias
 Parámetros del medio de transmisión el cual determina el desempeño
 asignaciones de conectores y guía para asegurar la interoperatibilidad
 La vida útil de los sistemas de cableado de telecomunicaciones han estado en desafuero de 10
años.

110
Los 6 subsistemas del sistema de cableado estructurado

1. Entrada al edificio:
La entrada a las servicios del edificio es el punto en el cual el cableado externo hace
interfaz con el cableado de la dorsal dentro del edificio. Este punto consiste en la entrada de
los servicios de telecomunicaciones al edificio (acometidas), incluyendo el punto de entrada
a través de la pared y hasta el cuarto o espacio de entrada. Los requerimientos de la
interface de red están definidos en el estándar TIA/EIA-569A

2. Cuarto de equipos
El cuarto de equipos es un espacio centralizado dentro del edificio donde se albergan los
equipos de red (enrutadores, switches, mux, dtu), equipos de datos (PBXs,..), video, etc.
Los aspectos de diseño del cuarto de equipos están especificados en el estándar TIA/EIA
569A.

3. Cableado de la dorsal (backbone)


El cableado de la dorsal permite la interconexión entre los gabinetes de
telecomunicaciones, cuartos de telecomunicaciones y los servicios de la entrada. Consiste
de cables de dorsalm cross-connects principales y secundarios, terminaciones mecánicas y
regletas o jumpers usados conexión dorsal-a-dorsal. Esto incluye:
»  Conexión vertical entre pisos (risers)
»  Cables entre un cuarto de equipos y cable de entrada a los servicios del edificio.
»  Cables entre edificios.

Tipo de cables requeridos para la Dorsal

Tipo de Cable Distancias máximas de la dorsal

100 ohm UTP (24 or 22 AWG) 800 metros (Voz)

150 ohm STP 90 metros (Datos)

Fibra Multimodo 62.5/125 µm 2,000 metros

fibra Monomodo 8.3/125 µm 3,000 metros

4. Gabinete o rack de Telecomunicaciones

111
El rack de telecomunicaciones es el área dentro de un edificio que alberga el equipo del
sistema de cableado de telecomunicaciones. Este incluye las terminaciones mecánicas y/o
cross-connects para el sistema de cableado a la dorsal y horizontal.

5. Cableado horizontal
El sistema de cableado horizontal se extiende desde el área de trabajo de
telecomunicaciones al rack de telecomunicaciones y consiste de lo siguiente:
  »  Cableado horizontal
  »  Enchufe de telecomunicaciones
  »  Terminaciones de cable (asignaciones de guías del conector modular RJ-45)
  »  Conexiones de transición

Tres tipos de medios son reconocidos para el cableado horizontal, cada uno debe de tener
una extensión máxima de 90 metros:
  »  Cable UTP 100-ohm, 4-pares, (24 AWG solido)
  »  Cable 150-ohm STP, 2-pares
  »  Fibra óptica 62.5/125-µm, 2 fibras

6. Área de trabajo
Los componentes del área de trabajo se extienden desde el enchufe de telecomunicaciones
a los dispositivos o estaciones de trabajo.
Los componentes del área de trabajo son los siguientes:
  »  Dispositivos: computadoras, terminales, teléfonos, etc.
  »  Cables de parcheo: cables modulares, cables adaptadores/conversores,
jumpers de fibra, etc.
  »  Adaptadores - deberán ser externos al enchufe de telecomununicaciones.

Varios tipos de enchufes (outlets) de pared para telecomunicaciones

112
Racks o gabinetes de telecomunicaciones

Paneles de parcheo (patch panel)

Tableros de conexión telefónica (s66)

113
Asignaciones del conector modular RJ-45 de 8 hilos, que forma parte del cableado horizontal.

El conector RJ45 o RJ48 de 8 hilos/posiciones es


el más empleado para aplicaciones de redes (El
término RJ viene de Registered Jack). También
existen Jacks, de 6 posiciones y de 4 posiciones
(e.g. el jack telefónico de 4 hilos conocido como
RJ11). Los conectores de 8 posiciones están
numerados del 1 a 8, de izquierda a derecha,
cuando el conector es visto desde la parte
posterior al ganchito (la parte plana de los
contactos), tal como se muestra en las figuras.

Como ya vimos, dos esquemas


de asignación de pins están
definidos por la EIA/TIA, el 568A
y el 568B. Ambos esquemas son
casi idénticos, excepto que los
pares 2 y 3, están al revés.

Cualquier configuración puede


ser usada para ISDN (Integrated
Services Digital Network) y
apliciones de alta velocidad. Las
Categorías de cables transmisión
3,4, 5, 5e y 6 son sólo aplicables
a este tipo de grupos de pares.
Para aplicaciones de RED, (e.g.
Ethernet 10/100BaseT, o Token
Ring) solo son usados dos pares,
los 2 pares restantes se
utilizarían para otro tipo de
aplicaciones, voz, por ejemplo.

114
¿Cómo leer un cable modular?
Alinear los dos extremos del
conector, con los dos contactos
hacia el frente y compare los
colores de izquierda a derecha. Si
los colores aparecen en el mismo
orden en ambos conectores,
entonces, el cable es "directo", o 1
a 1. Si los colores del segundo
conector aparecen en sentido
inverso al del primero, entonces, el
cable es "cruzado".

Un cable directo sirve para


conectar una computadora [tarjeta
de red] a un Hub, o Una
computadora a un Switches.
Mientras que un cable cruzado
sirve para conectar dos PCs entre
sí; dos hubs o switches entre sí.
Algunos hubs o switches pueden
tener enchufes que cambien de
directo a cruzado mediante un
interruptor, otros tienen un enchufe
especial para ese propósito
marcado con "X".

115
Evolución de la industria del software.

Hemos dicho que el software era el factor decisivo a la hora de elegir entre varias soluciones informáticas
disponibles para un problema dado, pero esto no ha sido siempre así. En los primeros años de la
informática, el hardware tenía una importancia mucho mayor que en la actualidad. Su coste era
comparativamente mucho más alto y su capacidad de almacenamiento y procesamiento, junto con su
fiabilidad, era lo que limitaba las prestaciones de un determinado producto. El software se consideraba
como un simple añadido, a cuyo desarrollo se dedicaba poco esfuerzo y no se aplicaba ningún método
sistemático. La programación era un arte de andar por casa, y el desarrollo de software se realizaba sin
ninguna planificación. La mayoría del software se desarrollaba y era utilizado por la misma persona u
organización. La misma persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba. Debido a que la
movilidad en el trabajo era baja, los ejecutivos estaban seguros de que esa persona estaría allí cuando se
encontrara algún error. Debido a este entorno personalizado del software, el diseño era un proceso implícito,
realizado en la mente de alguien y la documentación normalmente no existía.
En este contexto, las empresas de informática se dedicaron a mejorar las prestaciones del hardware,
reduciendo los costes y el consumo de los equipos, y aumentando la velocidad de cálculo y la capacidad de
almacenamiento. Para ello, tuvieron que dedicar grandes esfuerzos a investigación y aplicaron métodos de
ingeniería industrial al análisis, diseño, fabricación y control de calidad de los componentes hardware. Como
consecuencia de esto, el hardware se desarrolló rápidamente y la complejidad de los sistemas informáticos
aumentó notablemente, necesitando de un software cada vez más complejo para su funcionamiento.
Surgieron entonces las primeras casas de software, y el mercado se amplió considerablemente. Con ello
aumentó la movilidad laboral, y con la marcha de un trabajador desaparecían las posibilidades de mantener
o modificar los programas que éste había desarrollado.

116
Al no utilizarse metodología alguna en el desarrollo del software, los programas contenían numerosos
errores e inconsistencias, lo que obligaba a una depuración continua, incluso mucho después de haber sido
entregados al cliente. Estas continuas modificaciones no hacían sino aumentar la inconsistencia de los
programas, que se alejaban cada vez más de la corrección y se hacían prácticamente ininteligibles. Los
costes se disparaban y frecuentemente era más rápido (y por tanto más barato) empezar de nuevo desde
cero, desechando todo el trabajo anterior, que intentar adaptar un programa preexistente a un cambio de los
requisitos. Sin embargo, los nuevos programas no estaban exentos de errores ni de futuras modificaciones,
con lo que la situación volvía a ser la misma. Había comenzado la denominada crisis del software.
Hoy en día, la distribución de costes en el desarrollo de sistemas informáticos ha cambiado drásticamente.
El software, en lugar del hardware, es el elemento principal del coste. Esto ha hecho que las miradas de los
ejecutivos de las empresas se centren en el software y a que se formulen las siguientes preguntas:
 ¿Porqué lleva tanto tiempo terminar los programas?
 ¿Por qué es tan elevado el coste?
 ¿Porqué no es posible encontrar todos los errores antes de entregar el software al cliente?
 ¿Porqué resulta tan difícil constatar el progreso conforme se desarrolla el software?
Estas y otras muchas preguntas son una manifestación del carácter del software y de la forma en que se
desarrolla y han llevado a la aparición y la adopción paulatina de la ingeniería del software.

1.3.- Características del software.

Una definición de software podría ser la siguiente:


Software: (1) instrucciones de ordenador que cuando se ejecutan proporcionan la función y el
comportamiento deseado, (2) estructuras de datos que facilitan a los programas manipular adecuadamente
la información, y (3) documentos que describen la operación y el uso de los programas.
Por tanto, el software incluye no sólo los programas de ordenador, sino también las estructuras de datos
que manejan esos programas y toda la documentación que debe acompañar al proceso de desarrollo,
mantenimiento y uso de dichos programas.
Según esto, el software se diferencia de otros productos que los hombres puedan construir en que es, por
su propia naturaleza lógico. En el desarrollo del hardware, el proceso creativo (análisis, diseño,
construcción, prueba) se traduce finalmente en una forma material, en algo físico. Por el contrario, el
software es inmaterial y por ello tiene unas características completamente distintas al hardware. Entre ellas
podemos citar:
1.- El software se desarrolla, no se fabrica en sentido estricto.
Existen similitudes entre el proceso de desarrollo del software y el de otros productos industriales, como el
hardware. En ambos casos existen fases de análisis, diseño y desarrollo o construcción, y la buena calidad
del producto final se obtiene mediante un buen diseño. Sin embargo, en la fase de producción del software
pueden producirse problemas que afecten a la calidad y que no existen, o son fácilmente evitables, en el
caso del software
Por otro lado, en el caso de producción de hardware a gran escala, el coste del producto acaba
dependiendo exclusivamente del coste de los materiales empleados y del propio proceso de producción,
reduciéndose la repercusión en el coste de las fases de ingeniería previas. En el software, el desarrollo es

117
una más de las labores de ingeniería, y la producción a gran o pequeña escala no influye en el impacto que
tiene la ingeniería en el coste, al ser el producto inmaterial. Por otro lado, la replicación del producto (lo que
sería equivalente a la producción del producto hardware) no presenta problemas técnicos, y no se requiere
un control de calidad individualizado.
El diferente impacto que tiene la ingeniería en el desarrollo de productos hardware y software puede
verse en el siguiente ejemplo:
Producción Coste unitario / Coste unitario /
Ingeniería o Desarrollo 100 unidades 100.000 unidades
Hardware 1000 50 c.u. 60 50.01
Software 1000 2000 30 0.03
Tabla 1.1. Influencia de los costes de ingeniería en el coste total del producto
Los costes del software se encuentran en la ingeniería (incluyendo en ésta el desarrollo), y no en la
producción, y es ahí donde hay que incidir para reducir el coste final del producto.
2.- El software no se estropea.
Podemos comparar las curvas de índices de fallos del hardware y el software en función del tiempo. En el
caso del hardware (figura 1.1), se tiene la llamada curva de bañera, que indica que el hardware presenta
relativamente muchos fallos al principio de su vida. Estos fallos son debidos fundamentalmente a defectos
de diseño o a la baja calidad inicial de la fase de producción. Una vez corregidos estos defectos, la tasa de
fallos cae hasta un nivel estacionario y se mantiene así durante un cierto periodo de tiempo. Posteriormente,
la tasa de fallos vuelve a incrementarse debido al deterioro de los componentes, que van siendo afectados
por la suciedad, vibraciones y la influencia de muchos otros factores externos. Llegados a este punto,
podemos sustituir los componentes defectuosos o todo el sistema por otros nuevos, y la tasa de fallos
vuelve a situarse en el nivel estacionario.
índice de fallo

tiempo

Figura. 1.1. Curva de fallos del hardware


El software no es susceptible a los factores externos que hacen que el hardware se estropee. Por tanto la
curva debería seguir la forma de la figura 1.2. Inicialmente la tasa de fallos es alta, debido a la presencia de
errores no detectados durante el desarrollo, los denominados errores latentes. Una vez corregidos estos
errores, la tasa de fallos debería alcanzar el nivel estacionario y mantenerse ahí indefinidamente.

118
índice de fallo

tiempo

Figura 1.2. Curva ideal de fallos del software


Pero esto no es más que una simplificación del modelo real de fallos de un producto software. Durante su
vida, el software sufre cambios, debidos al mantenimiento. El mantenimiento puede deberse a la corrección
de errores latentes o a cambios en los requisitos iniciales del producto. Conforme se hacen cambios es
bastante probable que se introduzcan nuevos errores, con lo que se producen picos en la curva de fallos.
Estos errores pueden corregirse, pero el efecto de los sucesivos cambios hace que el producto se aleje
cada vez más de las especificaciones iniciales de acuerdo a las cuales fue desarrollado, conteniendo cada
vez más errores latentes. Además, con mucha frecuencia se solicita - y se emprende - un nuevo cambio
antes de haber conseguido corregir todos los errores producidos por el cambio anterior.
Por estas razones, el nivel estacionario que se consigue después de un cambio es algo superior al que el
que había antes de efectuarlo (figura 1.3.), degradándose poco a poco el funcionamiento del sistema.
Podemos decir entonces que el software no se estropea, pero se deteriora.
índice de fallo

tiempo

Figura 1.3. Curva real de fallos del software


Además, cuando un componente software se deteriora, no podemos sustituirlo por otro, como en el caso del
hardware: no existen piezas de repuesto. Cada fallo del software indica un fallo en el diseño o en el proceso
mediante el cual se transformó el diseño en código máquina ejecutable. La solución no es sustituir el
componente defectuoso por otro (que sería idéntico y contendría los mismos errores) sino un nuevo diseño
y desarrollo del producto. Por tanto, el mantenimiento del software tiene una complejidad mucho mayor que
el mantenimiento del hardware.
3.- La mayoría del software se construye a medida.
El diseño de hardware se realiza, en gran medida, a base de componentes digitales existentes, cuyas
características se comprueban en un catálogo y que han sido exhaustivamente probados por el fabricante y

119
los usuarios anteriores. Estos componentes cumplen unas especificaciones claras y tienen unas interfaces
definidas.
El caso del software es bien distinto. No existen catálogos de componentes, y aunque determinados
productos como sistemas operativos, editores, entornos de ventanas y bases de datos se venden en
grandes ediciones, la mayoría del software se fabrica a medida, siendo la reutilización muy baja. Se puede
comprar software ya desarrollado, pero sólo como unidades completas, no como componentes que pueden
ser re ensamblados para construir nuevos programas. Esto hace que el impacto de los costes de ingeniería
sobre el producto final sea muy elevado, al dividirse entre un número de unidades producidas muy pequeño.
Se ha escrito mucho sobre reutilización del software, y han sido muchos los intentos para conseguir
aumentar el nivel de reutilización, normalmente con poco éxito. Uno de los ejemplos de reutilización más
típicos, que ha venido usándose desde hace tiempo, son las bibliotecas. Durante los años sesenta se
empezaron a desarrollar bibliotecas de subrutinas científicas, reutilizables en una amplia gama de
aplicaciones científicas y de ingeniería. La mayor parte de los lenguajes modernos incluyen bibliotecas de
este tipo, así como otras para facilitar la entrada/salida y más recientemente los entornos de ventanas. Sin
embargo esta aproximación no puede aplicarse fácilmente a otros problemas también de uso muy frecuente,
como puede ser la búsqueda de un elemento en una estructura de datos, debido a la gran variación que
existe en cuanto a la organización interna de estas estructuras y en la composición de los datos que
contienen. Existen algoritmos para resolver estos problemas, pero no queda más remedio que programarlos
una y otra vez, adaptándolos a cada situación particular.
Un nuevo intento de conseguir la reutilización se produjo con la utilización de técnicas de programación
estructurada y modular. Sin embargo, se dedica por lo general poco esfuerzo al diseño de módulos lo
suficientemente generales para ser reutilizables, y en todo caso, no se documentan ni se difunden todo lo
que sería necesario para extender su uso, con lo que la tendencia habitual es diseñar y programar módulos
muy semejantes una y otra vez. La programación estructurada permite diseñar programas con una
estructura más clara, y que, por tanto, sean más fáciles de entender. Esta estructura interna más clara y
estudiada, permite la reutilización de módulos dentro de los programas, o incluso dentro del proyecto que se
está desarrollando, pero la reutilización de código en proyectos diferentes es muy baja.
La última tendencia para conseguir la reutilización es el uso de técnicas orientadas a objetos, que permiten
la programación por especialización. Los objetos, que encapsulan tanto datos como los procedimientos que
los manejan - los métodos -, haciendo los detalles de implementación invisibles e irrelevantes a quien los
usa, disponen de interfaces claras, los errores cometidos en su desarrollo pueden ser depurados sin que
esto afecte a la corrección de otras partes del código y pueden ser heredados y reescritos parcialmente,
haciendo posible su reutilización aún en situaciones no contempladas en el diseño inicial.

1.4.- Aplicaciones del software.

El software puede aplicarse a numerosas situaciones del mundo real. En primer lugar, a todos aquellos
problemas para los que se haya establecido un conjunto específico de acciones que lleven a su resolución
(esto es, un algoritmo). En estos casos, utilizaremos lenguajes de programación procedimentales para
implementar estos algoritmos. También puede aplicarse a situaciones en las que el problema puede
describirse formalmente, por lo general en forma recursiva. En estos casos no necesitamos describir el

120
método de resolución, es decir cómo se resuelve el problema, sino que bastará con describir en problema
en sí, indicando cuál es la solución deseada, y utilizaremos lenguajes declarativos para ello. También puede
aplicarse a problemas que los humanos resolvemos utilizando multitud de reglas heurísticas posiblemente
contradictorias, para lo cual utilizaremos un sistema experto e incluso para problemas de los cuales no
tenemos una idea clara de cómo se resuelven, pero de los que conocemos cuál es la solución apropiada
para algunos ejemplos de los datos de entrada. En este caso utilizaremos redes neuronales.
En cualquier caso, es difícil establecer categorías genéricas significativas para las aplicaciones del software.
Conforme aumenta la complejidad del mismo se hace más complicado establecer compartimentos
nítidamente separados. No obstante la siguiente clasificación ha venido aceptándose tradicionalmente:
Software de sistemas.
Está formado por todos aquellos programas cuya finalidad es servir al desarrollo o al funcionamiento de
otros programas. Estos programas son muy variados: editores, compiladores, sistemas operativos, entornos
gráficos, programas de telecomunicaciones, etc. pero se caracterizan por estar muy próximos al hardware,
por ser utilizados concurrentemente por numerosos usuarios y por tratarse de programas de amplia difusión,
no estando diseñados normalmente a medida. Esto permite un mayor esfuerzo en su diseño y optimización,
pero también les obliga a ser muy fiables, cumpliendo estrictamente las especificaciones para las que fueron
creados.
Software de tiempo real.
Está formado por todos aquellos programas que miden, analizan y controlan los sucesos del mundo real a
medida que ocurren, debiendo reaccionar de forma correcta a los estímulos de entrada en un tiempo
máximo prefijado. Deben, por tanto, cumplir unos requisitos temporales muy estrictos y, dado que los
procesos que controlan pueden ser potencialmente peligrosos, tienen que ser fiables y tolerantes a fallos.
Por otro lado, no suelen ser muy complejos y precisan de poca interacción con el usuario.
Software de gestión.
El procesamiento de información de gestión constituye, casi desde los inicios de la informática la mayor de
las áreas de aplicación de los ordenadores. Estos programas utilizan grandes cantidades de información
almacenadas en bases de datos con objeto de facilitar las transacciones comerciales o la toma de
decisiones. Además de las tareas convencionales de procesamiento de datos, en las que el tiempo de
procesamiento no es crítico y los errores pueden ser corregidos a posteriori, incluyen programas interactivos
que sirven de soporte a transacciones comerciales.
Software científico y de ingeniería.
Otro de los campos clásicos de aplicación de la informática. Se encarga de realizar complejos cálculos
sobre datos numéricos de todo tipo. En este caso la corrección y exactitud de las operaciones que realizan
es uno de los requisitos básicos que deben de cumplir.
El campo del software científico y de ingeniería se ha visto ampliado últimamente con el desarrollo de los
sistemas de diseño, ingeniería y fabricación asistida por ordenador (CAD, CAE y CAM), los simuladores
gráficos y otras aplicaciones interactivas que lo acercan más al software de tiempo real e incluso al software
de sistemas.

121
Software de ordenadores personales.
El uso de ordenadores personales y de uso doméstico se ha generalizado a lo largo de la pasada década.
Aplicaciones típicas son los procesadores de textos, las hojas de cálculo, bases de datos, aplicaciones
gráficas, juegos, etc. Son productos de amplia difusión orientados a usuarios no profesionales, por lo que
entre sus requisitos se encuentran la facilidad de uso y el bajo coste.
Software empotrado.
Software empotrado es aquel que va instalado en otros productos industriales, como por ejemplo la
electrónica de consumo, dotando a estos productos de un grado de inteligencia cada vez mayor. Se aplica a
todo tipo de productos, desde un vídeo doméstico hasta un misil con cabeza atómica, pasando por algunos
sistemas de control de los automóviles, y realiza funciones muy diversas, que pueden ir desde complicados
cálculos en tiempo real a sencillas interacciones con el usuario facilitando el manejo del aparato que los
incorpora. Comparten características con el software de sistemas, el software de tiempo real, el software de
ingeniería y científico y el software de ordenadores personales.
Software de inteligencia artificial.
El software basado en lenguajes procedimentales es útil para realizar de forma rápida y fiable operaciones
que para el ser humano son tediosas e incluso inabordables. Sin embargo, es difícilmente aplicable a
problemas que requieran la aplicación de funciones intelectuales más elevadas, por triviales que nos
puedan parecer. El software de inteligencia artificial trata de dar respuesta a estas deficiencias, basándose
en el uso de lenguajes declarativos, sistemas expertos y redes neuronales.
Como vemos, el software permite aplicaciones muy diversas, pero en todas ellas podemos encontrar algo
en común: el objetivo es que el software desempeñe una determinada función, y además, debe hacerlo
cumpliendo una serie de requisitos. Esos pueden ser muy variados: corrección, fiabilidad, respuesta en un
tiempo determinado, facilidad de uso, bajo coste, etc., pero siempre existen y no podemos olvidarnos de
ellos a la hora de desarrollar el software.

1.5. Problemas del software.

Hemos hablado de una crisis del software. Sin embargo, por crisis entendemos normalmente un estado
pasajero de inestabilidad, que tiene como resultado un cambio de estado del sistema o una vuelta al estado
inicial, en caso de que se tomen las medidas para superarla. Teniendo en cuenta esto, el software, más que
padecer una crisis podríamos decir que padece una enfermedad crónica. Los problemas que surgieron
cuando se empezó a desarrollar software de una cierta complejidad siguen existiendo actualmente, sin que
se haya avanzado mucho en los intentos de solucionarlos.
Estos problemas son causados por las propias características del software y por los errores cometidos por
quienes intervienen en su producción. Entre ellos podemos citar:
La planificación y la estimación de costes son muy imprecisas.
A la hora de abordar un proyecto de una cierta complejidad, sea en el ámbito que sea, es frecuente que
surjan imprevistos que no estaban recogidos en la planificación inicial, y como consecuencia de estos
imprevistos se producirá una desviación en los costes del proyecto. Sin embargo, en el desarrollo de
software lo más frecuente es que la planificación sea prácticamente inexistente, y que nunca se revise
durante el desarrollo del proyecto. Sin una planificación detallada es totalmente imposible hacer una

122
estimación de costes que tenga alguna posibilidad de cumplirse, y tampoco se pueden identificar las tareas
conflictivas que pueden desviarnos de los costes previstos.
Entre las causas de este problema podemos citar:

 No se recogen datos sobre el desarrollo de proyectos anteriores, con lo que no se acumula experiencia
que pueda ser utilizada en la planificación de nuevos proyectos.

 Los gestores de los proyectos no están especializados en la producción de software. Tradicionalmente,


los responsables del desarrollo del software han sido ejecutivos de nivel medio y alto sin
conocimientos de informática, siguiendo el principio de ‘Un buen gestor puede gestionar cualquier
proyecto’. Esto es cierto, pero no cabe duda de que también es necesario conocer las
características específicas del software, aprender las técnicas que se aplican en su desarrollo y
conocer una tecnología que evoluciona continuamente.
La productividad es baja.
Los proyectos software tienen, por lo general, una duración mucho mayor a la esperada. Como
consecuencia de esto los costes se disparan y la productividad y los beneficios disminuyen. Uno de los
factores que influyen en esto, es la falta de unos propósitos claros o realistas a la hora de comenzar el
proyecto. La mayoría del software se desarrolla a partir de unas especificaciones ambiguas o incorrectas, y
no existe apenas comunicación con el cliente hasta la entrega del producto. Debido a esto son muy
frecuentes las modificaciones de las especificaciones sobre la marcha o los cambios de última hora,
después de la entrega al cliente. No se realiza un estudio detallado del impacto de estos cambios y la
complejidad interna de las aplicaciones crece hasta que se hacen virtualmente imposibles de mantener y
cada nueva modificación, por pequeña que sea, es más costosa, y puede provocar el fallo de todo el
sistema.
Debido a la falta de documentación sobre cómo se ha desarrollado el producto o a que las sucesivas
modificaciones - también indocumentadas - han desvirtuado totalmente el diseño inicial, el mantenimiento
de software puede llegar a ser una tarea imposible de realizar, pudiendo llevar más tiempo el realizar una
modificación sobre el programa ya escrito que analizarlo y desarrollarlo entero de nuevo.
La calidad es mala.
Como consecuencia de que las especificaciones son ambiguas o incluso incorrectas, y de que no se
realizan pruebas exhaustivas, el software contiene numerosos errores cuando se entrega al cliente. Estos
errores producen un fuerte incremento de costes durante el mantenimiento del producto, cuando ya se
esperaba que el proyecto estuviese acabado. Sólo recientemente se ha empezado a tener en cuenta la
importancia de la prueba sistemática y completa, y han empezado a surgir conceptos como la fiabilidad y la
garantía de calidad.
El cliente queda insatisfecho.
Debido al poco tiempo e interés que se dedican al análisis de requisitos y a la especificación del proyecto, a
la falta de comunicación durante el desarrollo y a la existencia de numerosos errores en el producto que se
entrega, los clientes suelen quedar muy poco satisfechos de los resultados. Consecuencia de esto es que
las aplicaciones tengan que ser diseñadas y desarrolladas de nuevo, que nunca lleguen a utilizarse o que se
produzca con frecuencia un cambio de proveedor a la hora de abordar un nuevo proyecto.

123
1.6. Definición de Ingeniería del Software.

El desarrollo de sistemas de software complejos no es una actividad trivial, que pueda abordarse sin una
preparación previa. El considerar que un proyecto de desarrollo de software podía abordarse como
cualquier otro ha llevado a una serie de problemas que limitan nuestra capacidad de aprovechar los
recursos que el hardware pone a nuestra disposición.
Los problemas tradicionales en el desarrollo de software no van a desaparecer de la noche a la mañana,
pero identificarlos y conocer sus causas es el único método que nos puede llevar hacia su solución.
No existe una fórmula mágica para solucionar estos problemas, pero combinando métodos aplicables a
cada una de las fases del desarrollo de software, construyendo herramientas para automatizar estos
métodos, utilizando técnicas para garantizar la calidad de los productos desarrollados y coordinando todas
las personas involucradas en el desarrollo de un proyecto, podremos avanzar mucho en la solución de estos
problemas. De ello se encarga la disciplina llamada Ingeniería del Software.
Una de las primeras definiciones que se dio de la ingeniería del software es la siguiente:
El establecimiento y uso de principios de ingeniería robustos, orientados a obtener software económico, que
sea fiable y funcione de manera eficiente sobre máquinas reales.
La ingeniería del software abarca un conjunto de tres elementos clave: métodos, herramientas y
procedimientos, que faciliten al gestor el control el proceso de desarrollo y suministren a los
implementadores bases para construir de forma productiva software de alta calidad.
Los métodos indican cómo construir técnicamente el software, y abarcan una amplia serie de tareas que
incluyen la planificación y estimación de proyectos, el análisis de requisitos, el diseño de estructuras de
datos, programas y procedimientos, la codificación, las pruebas y el mantenimiento. Los métodos introducen
frecuentemente una notación específica para la tarea en cuestión y una serie de criterios de calidad.
Las herramientas proporcionan un soporte automático o semiautomático para utilizar los métodos. Existen
herramientas automatizadas para cada una de las fases vistas anteriormente, y sistemas que integran las
herramientas de cada fase de forma que sirven para todo el proceso de desarrollo. Estas herramientas se
denominan CASE (Computer Asistid Software Engineering).
Los procedimientos definen la secuencia en que se aplican los métodos, los documentos que se requieren,
los controles que permiten asegurar la calidad y las directrices que permiten a los gestores evaluar los
progresos

124
Software

(1) instrucciones de ordenador que cuando se ejecutan proporcionan la función y el


comportamiento deseado, (2) estructuras de datos que facilitan a los programas manipular adecuadamente
la información, y (3) documentos que describen la operación y el uso de los programas.

Características del software.

El software se desarrolla, no se fabrica en sentido estricto.

El software no se estropea.

La mayoría del software se construye a medida.

Producción Coste unitario / Coste unitario /


Ingeniería o Desarrollo 100 unidades 100.000 unidades

Hardware 1000 50 c.u. 60 50.01

Software 1000 2000 30 0.03

Tabla 1.1. Influencia de los costes de ingeniería en el coste total del producto
índice de fallo

tiempo

fig. 1.1. Curva de fallos del hardware

índice de fallo

tiempo

fig. 1.2. Curva ideal de fallos del software


índice de fallo

tiempo

fig. 1.3. Curva real de fallos del software


Aplicaciones del software.

Software de sistemas.

Software de tiempo real.

Software de gestión.

Software científico y de ingeniería.

Software de ordenadores personales.

Software empotrado.

Software de inteligencia artificial.


Problemas del software.

La planificación y la estimación de costes son muy imprecisas.

La productividad es baja.

La calidad es mala.

El cliente queda insatisfecho.

Ingeniería del software.

El establecimiento y uso de principios de ingeniería robustos, orientados a obtener software


económico, que sea fiable y funcione de manera eficiente sobre máquinas reales.

 Métodos

 Herramientas

 Procedimientos

Tema 2. El ciclo de vida.

2.1.- Concepto de ciclo de vida.

2.2.- Ciclo de vida en cascada.

2.3.- El modelo contractual.

2.4.- Uso de técnicas de cuarta generación.

2.5.- Construcción de prototipos.

2.6.- El modelo en espiral.

2.7.- Visión genérica de la ingeniería del software.

2.8.- Ingeniería inversa y reingeniería del software.


El ciclo de vida.

Concepto de ciclo de vida.

Por ciclo de vida, se entiende la sucesión de etapas por las que pasa el software desde que un
nuevo proyecto es concebido hasta que se deja de usar.
Cada una de estas etapas lleva asociada una serie de tareas que deben realizarse, y una serie
de documentos (en sentido amplio: software) que serán la salida de cada una de estas fases y
servirán de entrada en la fase siguiente.
Existen diversos modelos de ciclo de vida, es decir, diversas formas de ver el proceso de
desarrollo de software, y cada uno de ellos va asociado a un paradigma de la ingeniería del
software, es decir, a una serie de métodos, herramientas y procedimientos que debemos usar a
lo largo de un proyecto. En este tema veremos algunos de los principales modelos de ciclo de
vida.
La elección de un paradigma u otro se realiza de acuerdo con la naturaleza del proyecto y de la
aplicación, los métodos a usar y los controles y entregas requeridos.

El ciclo de vida en cascada (o ciclo de vida clásico).

Este paradigma es el más antiguo de los empleados en la IS y se desarrolló a partir del ciclo
convencional de una ingeniería. No hay que olvidar que la IS surgió como copia de otras
ingenierías, especialmente de las del hardware, para dar solución a los problemas más
comunes que aparecían al desarrollar sistemas de software complejos.
Es un ciclo de vida en sentido amplio, que incluye no sólo las etapas de ingeniería sino toda la
vida del producto: las pruebas, el uso (la vida útil del software) y el mantenimiento, hasta que
llega el momento de sustituirlo (Figura 2.1)
Figura 2.1. Ciclo de vida en cascada.
El ciclo de vida en cascada exige un enfoque sistemático y secuencial del desarrollo de
software, que comienza en el nivel de la ingeniería de sistemas y avanza a través de fases
secuenciales sucesivas. Estas fases son las siguientes:

Ingeniería y análisis del sistema.


El software es siempre parte de un sistema mayor, por lo que siempre va a interrelacionarse
con otros elementos, ya sea hardware, máquinas o personas. Por esto, el primer paso del ciclo
de vida de un proyecto consiste en un análisis de las características y el comportamiento del
sistema del cual el software va a formar parte. En el caso de que queramos construir un
sistema nuevo, por ejemplo un sistema de control, deberemos analizar cuáles son los requisitos
y la función del sistema, y luego asignaremos un subconjunto de estos requisitos al software.
En el caso de un sistema ya existente (supongamos, por ejemplo, que queremos informatizar
una empresa) deberemos analizar el funcionamiento de la misma, - las operaciones que se
llevan a cabo en ella -, y asignaremos al software aquellas funciones que vamos a automatizar.
La ingeniería del sistema comprende, por tanto, los requisitos globales a nivel del sistema, así
como una cierta cantidad de análisis y de diseño a nivel superior, es decir sin entrar en mucho
detalle.
Análisis de requisitos del software.
El análisis de requisitos debe ser más detallado para aquellos componentes del sistema que
vamos a implementar mediante software. El ingeniero del software debe comprender cuáles
son los datos que se van a manejar, cuál va a ser la función que tiene que cumplir el software,
cuáles son los interfaces requeridos y cuál es el rendimiento que se espera lograr.
Los requisitos, tanto del sistema como del software deben documentarse y revisarse con el
cliente.
Diseño.
El diseño se aplica a cuatro características distintas del software: la estructura de los datos, la
arquitectura de las aplicaciones, la estructura interna de los programas y las interfaces.
El diseño es el proceso que traduce los requisitos en una representación del software de forma
que pueda conocerse la arquitectura, funcionalidad e incluso la calidad del mismo antes de
comenzar la codificación.
Al igual que el análisis, el diseño debe documentarse y forma parte de la configuración del
software (el control de configuraciones es lo que nos permite realizar cambios en el software de
forma controlada y no traumática para el cliente).
Codificación.
La codificación consiste en la traducción del diseño a un formato que sea legible para la
máquina. Si el diseño es lo suficientemente detallado, la codificación es relativamente sencilla,
y puede hacerse - al menos en parte - de forma automática, usando generadores de código.
Podemos observar que estas primeras fases del ciclo de vida consisten básicamente en una
traducción: en el análisis del sistema, los requisitos, la función y la estructura de este se
traducen a un documento: el análisis del sistema que está formado en parte por diagramas y en
parte por descripciones en lenguaje natural. En el análisis de requisitos se profundiza en el
estudio del componente software del sistema y esto se traduce a un documento, también
formado por diagramas y descripciones en lenguaje natural. En el diseño, los requisitos del
software se traducen a una serie de diagramas que representan la estructura del sistema
software, de sus datos, de sus programas y de sus interfaces. Por último, en la codificación se
traducen estos diagramas de diseño a un lenguaje fuente, que luego se traduce - se compila -
para obtener un programa ejecutable.
Prueba.
Una vez que ya tenemos el programa ejecutable, comienza la fase de pruebas. El objetivo es
comprobar que no se hayan producido errores en alguna de las fases de traducción anteriores,
especialmente en la codificación. Para ello deben probarse todas las sentencias, no sólo los
casos normales y todos los módulos que forman parte del sistema.
Utilización.
Una vez superada la fase de pruebas, el software se entrega al cliente y comienza la vida útil
del mismo. La fase de utilización se solapa con las posteriores - el mantenimiento y la
sustitución - y dura hasta que el software, ya reemplazado por otro, deje de utilizarse.
Mantenimiento.
El software sufrirá cambios a lo largo de su vida útil. Estos cambios pueden ser debidos a tres
causas:

 Que, durante la utilización, el cliente detecte errores en el software: los errores latentes.
 Que se produzcan cambios en alguno de los componentes del sistema informático: por
ejemplo cambios en la máquina, en el sistema operativo o en los periféricos.

 Que el cliente requiera modificaciones funcionales (normalmente ampliaciones) no


contempladas en el proyecto.
En cualquier caso, el mantenimiento supone volver atrás en el ciclo de vida, a las etapas de
codificación, diseño o análisis dependiendo de la magnitud del cambio.
El modelo en cascada, a pesar de ser lineal, contiene flujos que permiten la vuelta atrás. Así,
desde el mantenimiento se vuelve al análisis, el diseño o la codificación, y también desde
cualquier fase se puede volver a la anterior si se detectan fallos. Estas vueltas atrás no son
controladas, ni quedan explícitas en el modelo, y este es uno de los problemas que presenta
este paradigma
Sustitución.
La vida del software no es ilimitada y cualquier aplicación, por buena que sea, acaba por ser
sustituida por otra más amplia, más rápida o más bonita y fácil de usar.
La sustitución de un software que está funcionando por otro que acaba de ser desarrollado es
una tarea que hay que planificar cuidadosamente y que hay que llevar a cabo de forma
organizada. Es conveniente realizarla por fases, si esto es posible, no sustituyendo todas las
aplicaciones de golpe, puesto que la sustitución conlleva normalmente un aumento de trabajo
para los usuarios, que tienen que acostumbrarse a las nuevas aplicaciones, y también para los
implementadores, que tienen que corregir los errores que aparecen. Es necesario hacer un
trasvase de la información que maneja el sistema viejo a la estructura y el formato requeridos
por el nuevo. Además, es conveniente mantener los dos sistemas funcionando en paralelo
durante algún tiempo para comprobar que el sistema nuevo funcione correctamente y para
asegurarnos el funcionamiento normal de la empresa aún en el caso de que el sistema nuevo
falle y tenga que volver a alguna de las fases de desarrollo.
La sustitución implica el desarrollo de programas para la interconexión de ambos sistemas, el
viejo y el nuevo, y para trasvasar la información entre ambos, evitando la duplicación del
trabajo de las personas encargadas del proceso de datos, durante el tiempo en que ambos
sistemas funcionen en paralelo.
El ciclo de vida en cascada es el paradigma más antiguo, más conocido y más ampliamente
usado en la IS. No obstante, ha sufrido diversas críticas, debido a los problemas que se
plantean al intentar aplicarlo a determinadas situaciones. Entre estos problemas están:

 En realidad los proyectos no siguen un ciclo de vida estrictamente secuencial como


propone el modelo. Siempre hay iteraciones. El ejemplo más típico es la fase de
mantenimiento, que implica siempre volver a alguna de las fases anteriores, pero
también es muy frecuente en que una fase, por ejemplo el diseño, se detecten errores
que obliguen a volver a la fase anterior, el análisis.
 Es difícil que se puedan establecer inicialmente todos los requisitos del sistema.
Normalmente los clientes no tienen conocimiento de la importancia de la fase de
análisis o bien no han pensado en todo detalle que es lo que quieren que haga el
software. Los requisitos se van aclarando y refinando a lo largo de todo el proyecto,
según se plantean dudas concretas en el diseño o la codificación. Sin embargo, el ciclo
de vida clásico requiere la definición inicial de todos los requisitos y no es fácil
acomodar en él las incertidumbres que suelen existir al comienzo de todos los
proyectos.

 Hasta que se llega a la fase final del desarrollo: la codificación, no se dispone de una
versión operativa del programa. Como la mayor parte de los errores se detectan
cuando el cliente puede probar el programa no se detectan hasta el final del proyecto,
cuando son más costosos de corregir y más prisa (y más presiones) hay por qué el
programa se ponga definitivamente en marcha.
Todos estos problemas son reales, pero de todas formas es mucho mejor desarrollar software
siguiendo el modelo de ciclo de vida en cascada que hacerlo sin ningún tipo de guías. Además,
este modelo describe una serie de pasos genéricos que son aplicables a cualquier otro
paradigma, refiriéndose la mayor parte de las críticas que recibe a su carácter secuencial.

2.3.- El modelo contractual.

El modelo de ciclo de vida en cascada, no nos indica nada sobre la relación entre las diversas
partes involucradas en el desarrollo de software, ni tampoco sobre los documentos que sirven
de entrada y salida de cada una de las fases del proceso. Por ello, se ha propuesto el modelo
contractual, que no es más que una extensión más detallada del modelo clásico.
Fig. 2.2. El modelo contractual (fotocopia)
En este modelo, cada fase de desarrollo, ya sea el análisis, el diseño, la implementación, etc.,
es contemplada como el sujeto de un contrato entre dos partes, llamadas respectivamente el
proveedor y el cliente. La finalización de cada fase se produce con la firma, por parte del cliente
y del proveedor, de un documento contractual, (en sentido amplio: software) producido por el
proveedor a partir de una solicitud de servicios que el cliente ha facilitado al inicio de la fase.
En cada fase existen, por tanto, un proveedor y un cliente. El cliente realiza una petición de
servicios, expresando sus necesidades. A partir de esta petición, el proveedor redacta un
contrato de servicio, cuyos detalles se discuten con el cliente. Finalmente, se firma el contrato y
se pasa a la fase siguiente, en la que el proveedor se convierte en cliente (en una especie de
subcontratación).
Así, en la fase de análisis, el cliente que ha encargado el proyecto actúa de cliente y el analista
actúa de proveedor, y esta fase termina con un acuerdo de ambos respecto a que la
especificación del sistema, redactada a partir de la definición informal de requisitos realizada
por el cliente, es satisfactoria y puede servir de contrato para formalizar la transacción entre
ambos.
En la fase de diseño, el analista actúa de cliente, y proporciona como petición de servicio la
especificación. A su vez, esta fase acaba cuando el diseño realizado por el diseñador es
aceptado como satisfactorio y conforme con los términos del contrato, por el analista. Y así
sucesivamente.
El modelo contractual, tiene la ventaja de dar un mayor rigor a la transición entre cada una de
las fases del ciclo de vida y permite determinar quién es el responsable en caso de que surjan
problemas. Así, el cliente es responsable de los incrementos de coste producidos por un
cambio en los requisitos, puesto que pretende que se realice un servicio que no estaba previsto
en el contrato, y el proveedor es responsable de los gastos ocasionados (o de aceptar una
disminución en el precio) si el producto finalmente entregado no cumple todas las condiciones
del contrato, es decir, si contiene errores.

2.4.- Uso de técnicas de cuarta generación.

Por técnicas de cuarta generación se entiende un conjunto muy diverso de métodos y


herramientas que tienen por objeto el facilitar el desarrollo de software. Pero todos ellos tienen
algo en común: facilitan al que desarrolla el software el especificar algunas características del
mismo a alto nivel. Luego, la herramienta genera automáticamente el código fuente a partir de
esta especificación.
Los tipos más habituales de generadores de código cubren uno o varios de los siguientes
aspectos:

 Acceso a bases de datos utilizando lenguajes de consulta de alto nivel (derivados


normalmente de SQL). Con ello no es necesario conocer la estructura de los ficheros o
tablas ni de sus índices.

 Generación de código. A partir de una especificación de los requisitos se genera


automáticamente toda la aplicación.

 Generación de pantallas. Permiten diseñar la pantalla dibujándola directamente,


incluyendo además el control del cursor y la gestión de errores de los datos de
entrada.

 Gestión de entornos gráficos.

 Generación de informes. (de forma similar a las pantallas).


Esta generación automática permite reducir la duración de las fases del ciclo de vida clásico,
especialmente la fase de codificación, quedando el ciclo de vida según se indica en la figura
2.3.
Al igual que en otros paradigmas, el proceso comienza con la recolección de requisitos, que
pueden ser traducidos directamente a código fuente usando un generador de código. Sin
embargo el problema es el mismo que se plantea en el ciclo de vida clásico: es muy difícil que
se puedan establecer todos los requisitos desde el comienzo: el cliente puede no estar seguro
de lo que necesita, o, aunque lo sepa, puede ser difícil expresarlo de la forma en que precisa la
herramienta de cuarta generación para poder entenderla.
Si la especificación es pequeña, podemos pasar directamente del análisis de requisitos a la
generación automática de código, sin realizar ningún tipo de diseño. Pero si la aplicación es
grande, se producirán los mismos problemas que si no usamos técnicas de cuarta generación:
mala calidad, dificultad de mantenimiento y poca aceptación por parte del cliente). Es
necesario, por tanto, realizar un cierto grado de diseño (al menos lo que hemos llamado una
estrategia de diseño, puesto que el propio generador se encarga de parte de los detalles del
diseño tradicional: descomposición modular, estructura lógica y organización de los ficheros,
etc.).

Figura 2.3. Ciclo de vida usando técnicas de cuarta generación.


Las herramientas de cuarta generación se encargan también de producir automáticamente la
documentación del código generado, pero esta documentación es de ordinario muy parca y, por
ello, difícil de seguir. Es necesario completarla hasta obtener una documentación con sentido.
Con respecto a las pruebas, podemos suponer (aunque nunca hay que fiarse) que el código
generado es correcto y acorde con la especificación, y que no contiene los típicos errores de la
codificación manual. Pero en cualquier caso es necesaria la fase de pruebas, en primer lugar
para comprobar la eficiencia del código generado (la generación automática de los accesos a
bases puede producir código muy eficiente cuando el volumen de información es grande (p.ej.:
las distintas formas de relacionar tablas en SQL), también para detectar los errores en la
especificación a partir de la cual se generó el código, y, por último, para que el cliente
compruebe si el producto final satisface sus necesidades.
El resto de las fases del ciclo de vida usando estas técnicas es igual a las del paradigma del
ciclo de vida en cascada, del que este no es más que una adaptación a las nuevas
herramientas de producción de software.
Como conclusión, podemos decir que, mediante el uso de técnicas de cuarta generación no se
han obtenido (afortunadamente) los resultados previstos cuando estas herramientas
comenzaron a desarrollarse a principios de los ochenta (estos resultados incluían la
desaparición de la codificación manual y con ello de los programadores, e incluso de los
analistas, al poder encargarse el propio cliente ‘con unos pequeños conocimientos técnicos’ de
manejar el generador), puesto que los avances en procesamiento de lenguaje natural (siempre
ambiguo) no han sido (ni se espera que sean en un futuro próximo) demasiado grandes ni se
han desarrollado lenguajes formales de especificación con la potencia expresiva necesaria.
Sin embargo, estas herramientas consiguen reducir el tiempo de desarrollo de software,
eliminando las tareas más repetitivas y tediosas (ej. control de la entrada/salida por terminal) y
aumentan la productividad de los programadores, por lo que son ampliamente utilizadas en la
actualidad, especialmente si nos referimos a el acceso a bases de datos, la gestión de la
entrada/salida por terminal y la generación de informes, y forman parte de muchos de los
lenguajes de programación que se usan actualmente, sobre todo en el campo del software de
gestión (ej.: Informix, Natural).
No obstante, entre las críticas más habituales están:

 No son más fáciles de utilizar que los lenguajes de tercera generación. En concreto,
muchos de los lenguajes de especificación que utilizan pueden considerarse como
lenguajes de programación, de un nivel algo más alto que los anteriores, pero que no
logran prescindir de la codificación en sí, sino que simplemente la disfrazan de
‘especificación’.

 El código fuente que producen es ineficiente. (el ejemplo de antes de SQL). Al estar
generado automáticamente no pueden hacer uso de los trucos habituales para
aumentar el rendimiento, que se basan en el buen conocimiento de cada caso
particular. Esta crítica podría aplicarse a cualquier lenguaje de programación con
respecto al ensamblador (los programas codificados en ensamblador siempre serán
más rápidos y más pequeños que los generados por cualquier compilador), pero la
reducción de los tiempos de desarrollo y el continuo aumento de la potencia de cálculo
de los ordenadores compensan ampliamente esta menor eficiencia (salvo en
excepciones).

 Sólo son aplicables al software de gestión. Esto es cierto, la mayoría de las


herramientas de cuarta generación están orientadas a la generación de informes a
partir de grandes bases de datos, pero últimamente están surgiendo herramientas que
generan esquemas de código para aplicaciones de ingeniería y de tiempo real.
 Construcción de prototipos.
Dos de las críticas que se hacían al modelo de ciclo de vida en cascada eran que es difícil
tener claros todos los requisitos del sistema al inicio del proyecto, y que no se dispone de una
versión operativa del programa hasta las fases finales del desarrollo, lo que dificulta la
detección de errores y deja también para el final el descubrimiento de los requisitos
inadvertidos en las fases de análisis. Para paliar estas deficiencias se ha propuesto un modelo
de ciclo de vida basado en la construcción de prototipos.
En primer lugar, hay que ver si el sistema que tenemos que desarrollar es un buen candidato a
utilizar el paradigma de ciclo de vida de construcción de prototipos o al modelo en espiral. En
general, cualquier aplicación que presente mucha interacción con el usuario, o que necesite
algoritmos que puedan construirse de manera evolutiva, yendo de lo más general a lo más
específico es una buena candidata. No obstante, hay que tener en cuenta la complejidad: si la
aplicación necesita que se desarrolle una gran cantidad de código para poder tener un prototipo
que enseñar al usuario, las ventajas de la construcción de prototipos se verán superadas por el
esfuerzo de desarrollar un prototipo que al final habrá que desechar o modificar mucho.
También hay que tener en cuenta la disposición del cliente para probar un prototipo y sugerir
modificaciones de los requisitos. Puede ser que el cliente ‘no tenga tiempo para andar jugando’
o ‘no vea las ventajas de este método de desarrollo’.
También es conveniente construir prototipos para probar la eficiencia de los algoritmos que se
van a implementar, o para comprobar el rendimiento de un determinado componente del
sistema, por ejemplo, una base de datos o el soporte hardware, en condiciones similares a las
que existirán durante la utilización del sistema. Es bastante frecuente que el producto de
ingeniería desarrollado presente un buen rendimiento durante la fase de pruebas realizada por
los ingenieros antes de entregarlo al cliente (pruebas que se realizarán normalmente con unos
pocos registros en la base de datos o un único terminal conectado al sistema), pero que sea
muy ineficiente, o incluso inviable, a la hora de almacenar o procesar el volumen real de
información que debe manejar el cliente. En estos casos, la construcción de un prototipo de
parte del sistema y la realización de pruebas de rendimiento, sirven para decidir, antes de
empezar la fase de diseño, cuál es el modelo más adecuado de entre la gama disponible para
el soporte hardware o cómo deben hacerse los accesos a la base de datos para obtener
buenas respuestas en tiempo cuando la aplicación esté ya en funcionamiento.
En otros casos, el prototipo servirá para modelar y poder mostrar al cliente cómo va a
realizarse la E/S de datos en la aplicación, de forma que éste pueda hacerse una idea de cómo
va a ser el sistema final, pudiendo entonces detectar deficiencias o errores en la especificación
aunque el modelo no sea más que una cáscara vacía.
Según esto un prototipo puede tener alguna de las tres formas siguientes:

 un prototipo, en papel o ejecutable en ordenador, que describa la interacción hombre-


máquina y los listados del sistema.
 un prototipo que implemente algún(os) subconjunto(s) de la función requerida, y que sirva
para evaluar el rendimiento de un algoritmo o las necesidades de capacidad de
almacenamiento y velocidad de cálculo del sistema final.

 un programa que realice en todo o en parte la función deseada pero que tenga
características (rendimiento, consideración de casos particulares, etc.) que deban ser
mejoradas durante el desarrollo del proyecto.
La secuencia de tareas del paradigma de construcción de prototipos puede verse en la figura
2.4.

Si se ha decidido construir un prototipo, lo primero que hay que hacer es realizar un modelo del
sistema, a partir de los requisitos que ya conozcamos. En este caso no es necesario realizar
una definición completa de los requisitos, pero sí es conveniente determinar al menos las áreas
donde será necesaria una definición posterior más detallada.
Luego se procede a diseñar el prototipo. Se tratará de un diseño rápido, centrado sobre todo en
la arquitectura del sistema y la definición de la estructura de las interfaces más que en aspectos
procedimentales de los programas: nos fijaremos más en la forma y en la apariencia que en el
contenido.
A partir del diseño construiremos el prototipo. Existen herramientas especializadas en generar
prototipos ejecutables a partir del diseño. Otra opción sería utilizar técnicas de cuarta
generación. La posibilidad más reciente es consiste en el uso de especificaciones formales,
que últimamente tienden al desarrollo de entornos interactivos (ej. OBJ) que faciliten el
desarrollo incremental de especificaciones y permitan la prueba de estas especificaciones.
En cualquier caso, el objetivo es siempre que la codificación sea rápida, aunque sea en
detrimento de la calidad del software generado.
Una vez listo el prototipo, hay que presentarlo al cliente para que lo pruebe y sugiera
modificaciones. En este punto el cliente puede ver una implementación de los requisitos que ha
definido inicialmente y sugerir las modificaciones necesarias en las especificaciones para que
satisfagan mejor sus necesidades.
A partir de estos comentarios del cliente y los cambios que se muestren necesarios en los
requisitos, se procederá a construir un nuevo prototipo y así sucesivamente hasta que los
requisitos queden totalmente formalizados, y se pueda entonces empezar con el desarrollo del
producto final.
Por tanto, el prototipado es una técnica que sirve fundamentalmente para la fase de análisis de
requisitos, pero lleva consigo la obtención de una serie de subproductos que son útiles a lo
largo del desarrollo del proyecto:

 Gran parte del trabajo realizado durante la fase de diseño rápido (especialmente la
definición de pantallas e informes) puede ser utilizada durante el diseño del producto
final. Además, tras realizar varias vueltas en el ciclo de construcción de prototipos, el
diseño del mismo se parece cada vez más al que tendrá el producto final.

 Durante la fase de construcción de prototipos será necesario codificar algunos


componentes del software que también podrán ser reutilizados en la codificación del
producto final, aunque deban de ser optimizados en cuanto a corrección o velocidad
de procesamiento.
No obstante, hay que tener en cuenta que el prototipo no es el sistema final, puesto que
normalmente apenas es utilizable. Será demasiado lento, demasiado grande, inadecuado para
el volumen de datos necesario, contendrá errores (debido al diseño rápido), será demasiado
general (sin considerar casos particulares, que debe tener en cuenta el sistema final) o estará
codificado en un lenguaje o para una máquina inadecuadas, o a partir de componentes
software previamente existentes. No hay que preocuparse de haber desperdiciado tiempo o
esfuerzos construyendo prototipos que luego habrán de ser desechados, si con ello hemos
conseguido tener más clara la especificación del proyecto, puesto que el tiempo perdido lo
ahorraremos en las fases siguientes, que podrán realizarse con menos esfuerzo y en las que
se cometerán menos errores que nos obliguen a volver atrás en el ciclo de vida.
Hay que tener en cuenta que un análisis de requisitos incorrecto o incompleto, cuyos errores y
deficiencias se detecten a la hora de las pruebas o tras entregar el software al cliente, nos
obligará a repetir de nuevo las fases de análisis, diseño y codificación, que habíamos realizado
cuidadosamente, pensando que estábamos desarrollando el producto final. Al tener que repetir
estas fases, sí que estaremos desechando una gran cantidad de trabajo, normalmente muy
superior al esfuerzo de construir un prototipo basándose en un diseño rápido, en la reutilización
de trozos de software preexistentes y en herramientas de generación de código para informes y
manejo de ventanas.
Uno de los problemas que suelen aparecer siguiendo el paradigma de construcción de
prototipos, es que con demasiada frecuencia el prototipo pasa a ser parte del sistema final, bien
sea por presiones del cliente, que quiere tener el sistema funcionando lo antes posible o bien
porque los técnicos se han acostumbrado a la máquina, el sistema operativo o el lenguaje con
el que se desarrolló el prototipo. Se olvida aquí que el prototipo ha sido construido de forma
acelerada, sin tener en cuenta consideraciones de eficiencia, calidad del software o facilidad de
mantenimiento, o que las elecciones de lenguaje, sistema operativo o máquina para
desarrollarlo se han hecho basándose en criterios como el mejor conocimiento de esas
herramientas por parte los técnicos que en que sean adecuadas para el producto final.
El utilizar el prototipo en el producto final conduce a que éste contenga numerosos errores
latentes, sea ineficiente, poco fiable, incompleto o difícil de mantener. En definitiva a que tenga
poca calidad, y eso es precisamente lo que queremos evitar aplicando la ingeniería del
software.

El modelo en espiral.

El modelo en espiral combina las principales ventajas del modelo de ciclo de vida en cascada y
del modelo de construcción de prototipos. Proporciona un modelo evolutivo para el desarrollo
de sistemas de software complejos, mucho más realista que el ciclo de vida clásico, y permite
la utilización de prototipos en cualquier etapa de la evolución del proyecto. Este es un modelo
relativamente nuevo (fue propuesto en 1988) y no ha sido tan usado como los dos anteriores,
aunque es de esperar que se extienda cada vez más.
Otra característica de este modelo es que incorpora en el ciclo de vida el análisis de riesgos.
(Que ya veremos lo que es). Los prototipos se utilizan como mecanismo de reducción del
riesgo, permitiendo finalizar el proyecto antes de haberse embarcado en el desarrollo del
producto final, si el riesgo es demasiado grande.

El modelo en espiral define cuatro tipos de actividades, y representa cada uno de ellos en un
cuadrante:
Planificación.
Consiste en determinar los objetivos del proyecto, las posibles alternativas y las restricciones.
Esta fase equivale a la de recolección de requisitos del ciclo de vida clásico e incluye además
la planificación de las actividades a realizar en cada iteración.
Análisis de riesgo.
Una de las actividades de la planificación de proyectos (que se verá en IS: Proyectos) es el
análisis de riesgos. El desarrollo de cualquier proyecto complejo lleva implícito una serie de
riesgos: unos relativos al propio proyecto (los riesgos que pueden hacer que el proyecto
fracase) y otros relativos a las decisiones que deben tomarse durante su desarrollo (los riesgos
asociados a que una de estas decisiones sea errónea).
El análisis de riesgos consiste en cuatro actividades principales:

 Identificar los riesgos. Pueden ser: riesgos del proyecto (presupuestarios, de


organización, del cliente. etc.), riesgos técnicos (problemas de diseño, codificación,
mantenimiento), riesgos del negocio (riesgos de mercado: que se adelante la
competencia o que el producto no se venda bien).

 Estimación de riesgos. Consiste en evaluar, para cada riesgo identificado, la probabilidad


de que ocurra y las consecuencias, es decir, el coste que tendrá en caso de que
ocurra.

 Evaluación de riesgos. Consiste en establecer unos niveles de referencia para el


incremento de coste, de duración del proyecto y para la degradación de la calidad que
si se superan harán que se interrumpa el proyecto. Luego hay que relacionar
cuantitativamente cada uno de los riesgos con estos niveles de referencia, de forma
que en cualquier momento del proyecto podamos calcular si hemos superado alguno
de los niveles de referencia.

 Gestión de riesgos. Consiste en supervisar el desarrollo del proyecto, de forma que se


detecten los riesgos tan pronto como aparezcan, se intenten minimizar sus daños y
exista un apoyo previsto para las tareas críticas (aquéllas que más riesgo encierran).
Ingeniería.
Consiste en el desarrollo del sistema o de un prototipo del mismo.
Evaluación del cliente.
Consiste en la valoración, por parte del cliente, de los resultados de la ingeniería.
En la primera iteración se definen los requisitos del sistema y se realiza la planificación inicial
del mismo. A continuación se analizan los riesgos del proyecto, basándonos en los requisitos
iniciales y se procede a construir un prototipo del sistema. Entonces el cliente procede a
evaluar el prototipo y con sus comentarios, se procede a refinar los requisitos y a reajustar la
planificación inicial, volviendo a empezar el ciclo.
En cada una de las iteraciones se realiza el análisis de riesgos, teniendo en cuenta los
requisitos y la reacción del cliente ante el último prototipo. Si los riesgos son demasiado
grandes se terminará el proyecto, aunque lo normal es que se siga avanzando a lo largo de la
espiral.
Con cada iteración, se construyen sucesivas versiones del software, cada vez más completas,
y aumenta la duración de las operaciones del cuadrante de ingeniería, obteniéndose al final el
sistema de ingeniería completo.
La diferencia principal con el modelo de construcción de prototipos, es que en éste los
prototipos se usan para perfilar y definir los requisitos. Al final, el prototipo se desecha y
comienza el desarrollo del software siguiendo el ciclo clásico. En el modelo en espiral, en
cambio, los prototipos son sucesivas versiones del producto, cada vez más detalladas (el último
es el producto en sí) y constituyen el esqueleto del producto de ingeniería. Por tanto deben
construirse siguiendo estándares de calidad.

Visión genérica de la ingeniería del software.

Independientemente del paradigma que se utilice, del área de aplicación, y del tamaño y la
complejidad del proyecto, el proceso de desarrollo de software contiene siempre una serie de
fases genéricas, existentes en todos los paradigmas. Estas fases son la definición, el desarrollo
y el mantenimiento.

Definición.

La fase de definición se centra en el qué. Durante esta fase, se intenta identificar:

 qué información es la que tiene que ser procesada.

 qué función y rendimiento son los que se esperan.

 qué restricciones de diseño existen.

 qué interfaces deben utilizarse.

 qué lenguaje de programación, sistema operativo y soporte hardware van a ser utilizados.

 qué criterios de validación se necesitan para conseguir que el sistema final sea correcto.
Aunque los pasos concretos dependen del modelo de ciclo de vida utilizado, en general se
realizarán tres tareas específicas:
Análisis del sistema.
Como ya hemos visto, el análisis del sistema define el papel de cada elemento de un sistema
informático, estableciendo cuál es el papel del software dentro de ese sistema.
Análisis de requisitos del software.
El análisis del sistema proporciona el ámbito del software, su relación con el resto de
componentes del sistema, pero antes de empezar a desarrollar es necesario hacer una
definición más detallada de la función del software.
Existen dos formas de realizar el análisis y refinamiento de los requisitos del software. Por una
parte, se puede hacer un análisis formal del ámbito de la información para establecer modelos
del flujo y la estructura de la información. Luego se amplían unos modelos para convertirlos en
una especificación del software. La otra alternativa consiste en construir un prototipo del
software, que será evaluado por el cliente para intentar consolidar los requisitos. Los requisitos
de rendimiento y las limitaciones de recursos se traducen en directivas para la fase de diseño.
El análisis y definición de los requisitos es una tarea que debe llevarse a cabo conjuntamente
por el desarrollador de software y por el cliente. La especificación de requisitos del software es
el documento que se produce como resultado de esta etapa.
Planificación del proyecto software.
Durante esta etapa se lleva a cabo el análisis de riesgos, se definen los recursos necesarios
para desarrollar el software y se establecen las estimaciones de tiempo y costes. El propósito
de esta etapa de planificación es proporcionar una indicación preliminar de la viabilidad del
proyecto de acuerdo con el coste y con la agenda que se hayan establecido. Posteriormente, la
gestión del proyecto durante el desarrollo del mismo realiza y revisa el plan de proyecto de
software.

Desarrollo.

La fase de definición se centra en el cómo.

 cómo ha de ser la arquitectura de la aplicación.

 cómo han de ser las estructuras de datos.

 cómo han de implementarse los detalles procedimentales de los módulos.

 cómo van a ser las interfaces.

 cómo ha de traducirse el diseño a un lenguaje de programación.


Cómo van a realizarse las pruebas.
Aunque, al igual que antes, los pasos concretos dependen del modelo de ciclo de vida
utilizado, en general se realizarán cuatro tareas específicas:
Diseño.
El diseño del software traduce los requisitos a un conjunto de representaciones (gráficas, en
forma de tabla o basadas en algún lenguaje apropiado) que describen cómo van a
estructurarse los datos, cuál va a ser la arquitectura de la aplicación, cuál va a ser la estructura
de cada programa y cómo van a ser las interfaces. Es necesario seguir criterios de diseño que
nos permitan asegurar la calidad del producto.
Una vez finalizado el diseño es necesario revisarlo para asegurar la completitud y el
cumplimiento de los requisitos del software.
Codificación.
En esta fase, el diseño se traduce a un lenguaje de programación, dando como resultado un
programa ejecutable. La buena calidad de los programas desarrollados depende en gran
medida de la calidad del diseño.
Una vez codificados los programas debe revisarse su estilo y claridad, y se comprueba que
haya una correspondencia con la estructura de los mismos definida en la fase de diseño.
El listado fuente de cada módulo (o el programa fuente en soporte magnético) pasa a formar
parte de la configuración del sistema.
Pruebas.
Una vez que tenemos implementado el software es preciso probarlo, para detectar errores de
codificación, de diseño o de especificación. Las pruebas son necesarias para encontrar el
mayor número posible de errores antes de entregar el programa al cliente.
Es necesario probar cada uno de los componentes por separado (cada uno de los módulos o
programas) para comprobar el rendimiento funcional de cada una de estas unidades.
A continuación se procede a integrar los componentes para probar toda la arquitectura del
software, y probar su funcionamiento y las interfaces. En este punto hay que comprobar si se
cumplen todos los requisitos de la especificación.
Se puede desarrollar un plan y procedimiento de pruebas y guardar información sobre los
casos de pruebas y los resultados de las mismas.
Garantía de calidad.
Una vez terminada la fase de pruebas, el software está casi preparado para ser entregado al
cliente.

Mantenimiento.

La fase de mantenimiento se centra en los cambios que va a sufrir el software a lo largo de su


vida útil. Como ya hemos dicho, estos cambio pueden deberse a la corrección de errores, a
cambios en el entorno inmediato del software o a cambios en los requisitos del cliente, dirigidos
normalmente a ampliar el sistema.
La fase de mantenimiento vuelve a aplicar los pasos de las fases de definición y de desarrollo,
pero en el contexto de un software ya existente y en funcionamiento.
PRINCIPIOS DE PROGRAMACIÓN:

TEMA 1:

CONCEPTOS BÁSICOS Y METODOLOGÍA PARA RESOLVER PROBLEMAS

PROGRAMA:
Secuencia de pasos a lógicos para resolver un problema.

ESTRUCTURA:

 ENTRADA: Tomar datos de un dispositivo externo (Teclado, Mouse) y dejarlos


en memoria.
 PROCESO: A los datos dejados en memoria se les manda a la ALU (Unidad
Aritmético Lógica) y los devuelve a la memoria.
 SALIDA: Se envían a un dispositivo externo y se presenta como información
después de ser procesados. (Monitor, Impresora)

LENGUAJE DE PROGRAMACIÓN:
Conjunto de caracteres que nos permiten crear instrucciones siguiendo una sintaxis.

LENGUAJE ALGORÍTMICO:
Orientado a procedimientos y diseñado para ayudar al programador en el diseño y
desarrollo de algoritmos.

METODOLOGÍA:

1. Entender el problema.
2. Hacer un análisis:
 ¿Qué tenemos?
 ¿Qué necesitamos?
 ¿Qué buscamos?
3. Diseñar el algoritmo de solución.
4. Codificar.

TIPOS DE DATOS:
ENTEROS: (Int) Números enteros positivos o negativos.
REALES: (Flota) Números con decimales.
CARACTERES: (Char) Símbolos, Nº, caracteres solos. (@, #, $, %)
CADENA DE CARACTERES: (String) Agrupación de caracteres.
BOLEANOS: (Bolean) .T. (True), .F. (false)
VARIABLES:
Es un conjunto de símbolos o solo uno que reserva espacio en la memoria y su valor
puede cambiar durante la ejecución del programa. Solo números y letras. Números solos
NO. Letras solas SI.

CONSTANTES:
No cambia su valor durante la ejecución del programa. Solo números y letras. Números
solos NO. Letras solas SI.

SINTAXIS PARA DECLARAR VARIABLES:


int a;
float b;

INICIAR VARIABLE:

int a = 10;

VARIAS VARIABLES:

int a, b, c, d, e;

DECLARAR CONSTANTES:

const int a = 5

const + tipo dato + nombre constante = valor;

const float Pi = 3.1416

ASIGNACIÓN:
Aquí le asignamos un valor a la variable a (5), de lo cual se deduce que
a=5 el valor de dicha variable es 5.

COMPARACIÓN:
Aquí lo que queremos decir es que la variable a es igual al valor 5.
a == 5
OPERADOR:
Es un símbolo o palabra que nos ayuda a realizar una operación.
Los operadores pueden ser:

ARITMÉTICOS:

SUMA +
RESTA -
MULTIPLICACIÓN
DIVISIÓN /
EXPONENTE
RESIDUO MOD

RELACIONALES:

MAYOR QUE >


MENOR QUE <
MAYOR O IGUAL QUE >=
MENOR O IGUAL QUE <=
IGUAL A ==
DIFERENTE A |=

LÓGICOS:

UNIÓN AND Los dos deben cumplirse.


INTERSECCIÓN OR Con uno que se cumpla.
NEGACIÓN NOT Cambia true por false
AND: (Los deben de cumplirse)

A B A AND B
0 0 0 (Falso)
0 1 0 (Falso)
1 0 0 (Falso)
1 1 1 (Verdadero)

OR: (Con uno que se cumpla)

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

NOT: (Cambia verdadero por falso y viceversa)

1=0
0=1

OPERANDOS:
Valores o variables que nos permiten presentar un resultado o un dato:

SUELDO > 100

operandos

EXPRESIONES.
Conjuntos de operadores y operandos relacionados entre sí, con la finalidad de construir
una operación valida.

SUELDO > 100 = Expresión


EJERCICIOS:

Resuelve los siguientes 3 ejercicios:

1)

Int a = 4;
Float b = 5.5;

a+b=
a>b=
b==8=
b>=100 =
100 / 4 =
55 MOD 8 =
30 ** 2 =
400 * 2 =
b |= 5.5 =
b = = 5.5 =
50 MOD 10 =
40 MOD 200 =
2)

b = 8;

b+4=

3)

a = 200;

a / 100 =
a Mod 5 =

PRECEDENCIA DE LOS OPERADORES:

NIVEL OPERADOR
1 , NOT
2 , /, MOD, AND
3 +, -, OR
4 >, >=, <, <=, =, = =, |=

TÉCNICAS O HERRAMIENTAS PARA LA FORMULACIÓN DE


ALGORITMOS:

1. DIAGRAMA DE FLUJO
2. PSEUDOCÓDIGO.
3. NASSI-SHNEIDERMAN. (N-S). (ESTRUCTURADO).
INICIO / FIN
DIAGRAMA DE FLUJO: PANTALLA

Es una representación visual o gráfica del flujo de los datos en la que cada paso de un
E/S---I/O
algoritmo es representado por un símbolo estándar. CONECTOR
PÁGINA OUT
PRINCIPALES SÍMBOLOS DEL DIAGRAMA DE FLUJO:
PROCESO CONECTOR
PÁGINA IN

LEER / TECLEAR
DECISIÓN

NO SI

ITERACIÓN DO
WHILE
DECISIÓN MÚLTIPLE

ITERACIÓN FOR

NO

SI
ESTRUCTURA BÁSICA DE UN DIAGRAMA DE FLUJO:

INICIO

ACCIÓN
1

ACCIÓN
2

ACCIÓN
3

ACCIÓN
N

FIN

SEUDO CÓDIGO:

Es un lenguaje similar al español e inglés, pero más sencillo, donde se utilizan unas
series de palabras como instrucciones.

LEER READ
ESCRIBIR WRITE
INICIO
FIN
IF (Decisión)
END IF
INICIO

INT N1, N2, RES

CUAL ES EL
NUMERO
1

EJEMPLOS:
N1
1.- Pedir dos números y presentar la suma:
Diagrama de flujo:

CUAL ES EL
NUMERO
2

N2

RES = N1 + N2

LA SUMA
ES:
RES

FIN
2.- Pedir dos números y presentar la suma:
Seudo código:

INICIO
Int N1, N2, RES
ESCRIBIR “Cual es el número 1”
LEER N1
ESCRIBIR “Cual es el número 2”
LEER N2
RES = N1 + N2
ESCRIBIR “La suma es: RES”
FIN

3.- Calcular el área de un triangulo si conocemos que :


INICIO
Int A, b, h
ESCRIBIR “Cual es la base”
LEER b
ESCRIBIR “Cual es la altura”
LEER h

ESCRIBIR “El área es: A”


FIN
PROGRAMACION PASCAL
Como hemos visto en un algoritmo describimos un conjunto de operaciones que debe
realizar el computador, para que esas instrucciones las ejecute el computador debemos
utilizar un lenguaje de computación que para nuestro caso vamos a ver que
requerimos para escribir instrucciones básicas en PASCAL.

PARTES DE UN PROGRAMA EN PASCAL


Un programa en PASCAL se caracteriza por tener las siguientes partes que definen
su estructura:

PROGRAM <Identificador>; {Zona de Encabezamiento}


USES <declaración de unidades>;
LABEL
<Declaración de etiquetas>
CONST
<Definición de constantes>
TYPE
<Declaración de tipos>
VAR
<Declaración de variables>

< Declaración del procedimiento>


<Declaración de la función>
BEGIN
......
{Cuerpo del programa}
{Instrucciones del Programa}
......
END.

ZONA DE ENCABEZAMIENTO:
En ella le damos el nombre al programa. En todo programa debe haber una zona de
encabezamiento.
La zona de encabezamiento se inicia con la palabra PROGRAM; seguida por el
nombre con que identificamos nuestro programa.

EJEMPLO:
En nuestro primer programa el encabezado termina es: PROGRAM EJEMPLO;

ZONA DE DECLARACIONES:
En ella se declaran los objetos con que un programa trabaja, en ella se pueden
declarar: variables, tipos de datos, constantes, label, procedimientos y
funciones.
Un programa en PASCAL no necesita tener todas estas partes, y al decláralas
pueden ser escritas en cualquier orden; se recomienda sin embargo seguir el orden
propuesto arriba.
Durante el curso veremos en detalle cada una de las partes que conforman la zona
de declaraciones y su utilidad.

DECLARACION DE UNIDADES:
El Turbo PASCAL le entrega al programador unas biblioteca con funciones y
procedimientos, que le permiten realizar distintos tipo de tareas, las cuales vienen
en archivos llamados UNIDADES.
Cuando un usuario desea utilizar alguna función o procedimiento de alguna de esas
unidades, debe declarar la unidad (biblioteca) que contiene dicha función o
procedimiento antes de poder hacer uso de ella en el programa principal.
Los programadores también pueden construir sus propias unidades.
Más adelante estudiaremos en detalle las unidades y las funciones que suministra.
Las unidades que suministra Turbo Pascal son: DOS, WINCRT, PRINTER,
GRAPH, GRAPH3.

EJEMPLO: Si en un programa tiene:

USES WINCRT, DOS;

En el momento de la escritura del programa, se podrán hacer uso de los


procedimientos o funciones que formen dichas unidades.

DECLARACION DE CONSTANTES:
Esta zona se caracteriza por iniciar con la palabra CONST seguido por los
identificadores de sitios en memoria que van almacenar datos CONSTANTES para
ese programa, la zona de declaración de constantes es opcional.

Ejemplo: El siguiente es un ejemplo de una declaración de constantes:

CONST

Centímetros = 100;
Gravedad = 9.8;
Mensaje = 'El Sistema no tiene Solución’;
Respuesta = ‘S’;
Gravedadina = Centímetros*100;
Valor dolar: REAL = 368.9;{Constante con Tipo}

En el momento de encontrar estas declaraciones, el compilador de PASCAL crea en


memoria sitios que se van a identificar con ese nombre y mientras se ejecute el
programa tomarán el valor que se expresa a la derecha de la declaración. Ninguno
de los valores asignados a una constante se puede cambiar en un programa.
Excepto en el caso de las constantes declaradas con tipo .
DECLARACION DE VARIABLES:
Una variable, es el objeto de un programa que puede cambiar su valor durante la
ejecución.
En la realidad, una variable es una celda de memoria conformada por uno o más
bytes a la cual le asignamos un nombre para identificarla y es el lugar donde
durante la ejecución de un programa almacenamos un dato.
Le decimos, al computador que variables tiene el programa, declarándolas en la
zona que comienza con la palabra VAR.
El computador sabe cuántos bytes conforman una variable en memoria por
el tipo (dominio) de variable que se le asigna en la declaración de ella.
Todas las variables que maneja un programa deben ser declaradas.

EJEMPLO: El siguiente es un ejemplo de una zona de declaración de variables en


un programa en PASCAL.

VAR
Horas : INTEGER ;
sal_total : REAL ;
Mensaje : STRING [30];
Respuesta : CHAR;
Factorial : LONGINT;
Estado : BOOLEAN;

TIPOS DE VARIABLES EN PASCAL:


Los tipos de variable en PASCAL le permiten al compilador reservar el espacio en
bytes necesario para almacenar un determinado dato, también le sirven para
determinar durante la ejecución de un programa que datos se pueden almacenarse
en dicha variable.

TIPOS DE VARIABLE NUMERICA:


Para muchos programas se necesitan variables que sean capaces de almacenar
números, PASCAL nos permite declarar distintos tipos de variables numéricas,
algunos son:

VARIABLE TIPO INTEGER:


Una variables de tipo INTEGER puede manipular números entre -32768...32767
ocupando dos bytes para representarlos.

EJEMPLO: Un ejemplo de cómo se declaran variables


enteras es:
VAR
Dato, mes: INTEGER;

VARIABLE TIPO LONGINT:


Una variable de tipo LONGINT puede manipular números entre -2, 147, 483,648...
2,147,483,647 ocupando 4 byte para almacenarlos.

EJEMPLO: Un ejemplo de cómo se declaran variables LONGINT es:


VAR
ferma, y :LONGINT;

DATOS TIPO REAL:


Diremos que un dato es de tipo real cuando necesitamos manipular con el datos
como 2.5, 0.012, 34.56 etc.

PASCAL reconoce los siguientes tipos datos como reales:

VARIABLES TIPO REAL:


Puede manejar, datos numéricos llamados de punto flotante, que se caracterizan
por tener mantisa (parte fraccionaria) multiplicada por una potencia de 10. El
número de dígitos que maneja en su mantisa se llama cifras significativas una
variable tipo real puede manejar 11 cifras significativas en su mantisa y el rango de
exponentes entre:

10-39 ... 10+38, para su representación real ocupa 6 bytes de memoria.

El rango de números es: 2.9*10-39 ... 1.7*1038

VARIABLES DE TIPO CARACTER:


En muchos programas necesitamos tener sitios en memoria que puedan almacenar
datos que son un solo carácter como 'A', 'a',....,'Z','z','0'...'9' o secuencias de
caracteres como 'NANA’ o 'Calle 40 d 30-200' para esos casos necesitamos
variables que sean de tipo CHAR o STRING.

VARIABLE TIPO CHAR:


Una variable de tipo CHAR es aquella que va almacenar datos que están en el
conjunto de los caracteres ASCII de una computadora.
Una variable CHAR se gasta un byte para la representación en memoria de uno de
ellos.
Utilice estos tipos de variables cuando necesite en un programa almacenar una letra
del alfabeto, o un carácter como #, $, %, &, *, + etc., en general cualquier carácter
de la tabla ASCII.

EJEMPLO: El siguiente es un ejemplo de la declaración de dos variables


CHAR.

VAR
Letra, resp :CHAR;

VARIABLE DE TIPO STRING:


Una variable de tipo String puede almacenar una cadena de caracteres.
Se gasta tanto espacio en memoria como caracteres se quiera que el computador
pueda almacenar de la cadena.

EJEMPLO: El siguiente es un ejemplo de la declaración de dos variables


STRING.
VAR
Nombre :STRING[10];
Ciudad :STRING[7];

El diagrama muestra como estan las variables despues de una operación de lectura
o de asignación como la siguiente.

nombre:=' LYNA JUAN ';


ciudad:='MEDALLO';

VARIABLES DE TIPO BOOLEAN :

Una variable de tipo BOOLEAN es aquel que puede almacenar en memoria los
valores TRUE, FALSE.
Una variable BOOLEAN no se puede utilizar en instrucciones de lectura como
READ o READLN.

IDENTIFICADORES:
Son los nombres con los cuales identificamos los objetos de un programa
como :variables, constantes, funciones, tipos, procedimientos, unidades etc.
Un identificador en el PASCAL es una secuencia de caracteres que puede ser de
cualquier longitud pero solo lo primeros 63 primeros caracteres son
significativos.
Se construyen a gusto del programador y siguiendo la siguiente reglas:

1. Deben comenzar con una letra de la (A a Z), mayúscula o minúscula).


2. No es permitido el carácter blanco como parte de un identificador
3. No se pueden usar palabras reservadas como: PROGRAM, USES, VAR
para identificar.
4. Letras, dígitos y carácter _ subrayado son permitidos sólo después del
primer carácter del identificador.

COMO SE ENTRAN DATOS A UNA VARIABLE DE


MEMORIA ?:
Hasta el momento sabemos definir los espacios de memoria para almacenar
información, pero no hemos dicho como podemos almacenar datos en esos sitios.
Existen dos métodos para entrar datos a una variable en memoria:

1. Usando los procedimientos READ y READLN.


2. Por medio de la operación de asignación.

PROCEDIMIENTOS READ, READLN :


Estos procedimientos nos permiten entrar uno o más datos desde el teclado para
ser almacenadas en alguna celdas en memoria.

SINTAXIS :

READ(<lista de variables>);
READLN(<lista de variables>);

Donde la lista de variables está conformada por el nombre de una o mas variables
separadas por comas, para las cuales deseamos entrar datos usando el teclado.
Para cuales variables debemos entrar los datos por el teclado ?
para todas aquellas que en el proceso de análisis del problema, veamos que son
indispensables para la realización de la taraea que el computador va a realizar y el
no puede conocerlos por medios de cálculos o lectura de algun dispostivo de
almacenamiento .

EJEMPLOS: Si supone, que quiere entrar los valores a las variables declaradas
en un programa podría hacer lo siguiente :

READ( a,b);

READLN(a,b,d,e);

READLN(f);

En un READ o READLN, no se puede leer datos para variables


lógicas.
INSTRUCCION DE ASIGNACION :
Es la operación mediante la cual se le asigna un valor determinado a una variable
en memoria.

SINTAXIS:
<Identificador> := <expresión>

Con toda expresión de la forma anterior le estaremos indicando al computador


que: evalue la expresón y el resultado lo almacene en la variable que se identifica
por el identificador.
Donde una expresión puede ser un valor constante, o fórmula matemática.
La sintaxis expresa que: el valor de la expresión debe ser almacenado
en el sitio de memoria identificado, por el identificador.

EJEMPLO : Los siguientes son instrucciones de asignación validas en


PASCAL.

Almacene en la variable horas el valor 30, se escribe en PASCAL así:


Horas :=30;

Almacene el valor 5000 en la variable que en memoria se llama salario.


Salario := 5000;

Agreguele 1000 al valor que existe en salario y lo que le de almacenelo en


salario
salario := salario + 1000;

Después de la acción anterior la variable salario tiene un valor de 6000 y


el valor 5000 se perdió.

Multiplique por 2 el valor que se encuentra en salario, y almacene el resultado en


sal_total
sal_total := salario*2 ;

Después de la asignación anterior en la variable sal_total se almacena el


valor de 12000
Almacene True en la variable estado que debe ser de tipo BOOLEAN

estado:= TRUE;

Almacene la cadena 'NACIONAL LE GANA A EL DIM' en la variable mensaje


que debe ser declarada de tipo STRING:

mensaje := 'NACIONAL LE GANA A EL DIM' ;


De los ejemplos anteriores se debe tener presente los siguientes
aspectos:
Cuando vamos asignar valores a una variable numérica no se encierra entre
comillas el valor que define la expresión, ejemplo:

Salario := 5000;

Cuando vamos asignar valores a una variable de tipo char o string se encierra
entre comillas el valor que define la expresión, ejemplo:

mensaje := 'NACIONAL LE GANA A EL DIM' ;

Nunca! se escribe l a expresión a la izquierda del operador de asignación.

Ejemplo:
'NACIONAL LE GANA A EL DIM' :=mensaje;
salario*2 :=sal_total;

PROCEDIMIENTOS DE SALIDA (WRITE, WRITELN):


Permite escribir mensajes y/o valores en pantalla. Los valores deben estar
almacenados en memoria en alguna variable.

SINTAXIS :
WRITE( <item(s)> );
WRITELN( <item(s) > );

Donde el item puede ser:


El identificador de una variable : en cuyo caso el computador escribe en pantalla
el valor que contenga la variable en el momento de la ejecutar la instrucción.

Ejemplo:
WRITELN(a);

Una cadena de caracteres encerrada entre comillas simples : en cuyo caso el


computador escribe todo lo que encuentre entre las comillas, textualmente en la
pantalla.

WRITELN( ´La Vida es una ruleta ´ ) ;


Una expresión matemática : escribirá el resultado de la evaluación de la
expresión en la pantalla.

WRITELN(a+b) ;

Una combinacón de los anteriores : Se escriben cada uno de los items, siguiendo
el comportamiento descritos.

WRITELN(´La X =´, a) ;

FORMATO DE SALIDA:
Cuando PASCAL presenta resultados en pantalla usando los procedimientos
WRITE o WRITELN sigue las siguientes reglas por omisión para escribir en la
salida cada tipo de dato.

INTEGER: Un número entero se manda a la salida sin espacios en blancos


anteriores o posteriores.

REAL: El número real se manda a la salida en un campo de 18 caracteres de


ancho, con un formato de punto flotante (exponencial)

CHAR: Un carácter se manda a salida sin espacios anteriores o posteriores. Los


caracteres de literales se escriben sin comillas sencillas o apóstrofes.

BOOLENA: Los valores TRUE o FALSE se escribe sin espacios en blanco


anteriores o posteriores.

STRING: Una cadena de caracteres se escribe sin agregar espacios anteriores o


posteriores.

EJEMPLO: Supongamos que en un programa de PASCAL se tiene:

PROGRAM Formatos;
VAR
a :INTEGER;
b :REAL;
c :CHAR;
d :BOOLEAN;
e :STRING[15];
BEGIN
a:= 45;
b:= 1.33;
c:='X';
d:=false;
e:='Turbo';
WRITELN(a,b,c,d,e);
END.
Escribe en la pantalla los resultados así:

45 1.3300000000E+00XFALSETurbo

Es claro que la salida anterior es desagradable y muy poco fácil de leer.


Normalmente en los programas se desea hacer una presentación más legible, para
lo cual se debe especificar en el WRITELN los formatos de salida.

Para cambiar el formato de salida por omisión para los datos a escribir con un
WRITE / WRITELN, especifique mediante un número entero el ancho para el
campo de salida.

Para hacer eso escriba dos puntos (:) y un entero (para el ancho del campo) a
cada uno de los datos a escribir. Para todos los tipos de datos, salvo los reales, el
ancho del campo que se especifique debe ser mayor al ancho por omisión para que
se vea algún efecto.
Para el caso de los números de reales se debe especificar cuanto espacio del ancho
del campo se quiere utilizar para presentar cifras decimales como se muestra a
continuación.

EJEMPLO: Modifique el programa del ejemplo anterior en el WRITELN para


que quede así:

WRITELN(a:4,b:7:2,c:2,d:7,e:7);

y analice lo que escribe el computador en la pantalla:


lo que usted verá es así:

4 5 1 . 3 3 X F A L S E T U R B O

En la línea anterior se muestra que el computador está escribiendo cada un de los


datos en el WRITELN, en un espacio igual al especificado en el formato y lo
escribe ajustado a la derecha.

OPERADORES ARITMETICOS :
Los operadores aritméticos son:
+ SUMA.
- RESTA.
* MULTIPLICACION.
/ DIVISION DE REALES.
MOD OBTIENE EL RESIDUO DE UNA DIVISION.
DIV DIVISION ENTERA.

POTENCIACION NO EXITE Y HAY QUE IMPLEMENTARLA


OPERADOR MOD :
Dicho operador permite conocer el residuo de una división entre dos números
enteros y lo puede guardar en una variable en memoria tipo entera.

EJEMPLO:
Escriba un programa que lea dos números enteros a, b y muestre el residuo de
dividir a por b.
PROGRAM Ejemplo;
VAR
x,w,
y :INTEGER;
BEGIN
WRITE('Entre dos numero')
READLN(x,y);
w := x Mod y;
WRITELN('El residuo de Dividir', x :10, 'entre' , y:10 , 'es =' ,w:10);
END.

OPERADOR DIV:
Dicho operador nos permite conocer el cociente entero de dividir dos números
enteros.

PROGRAM Ejemplo;
VAR
x,w, y :INTEGER;
BEGIN
WRITE('Entre dos numero')
READLN(x,y);
W := X DIV Y;
WRITELN(' El cociente de Dividir ', x:10 , 'entre' ,y:10 ,' es = ' ,W:10);
END.

Si en la variable X se almacena un 5 y en la variable Y un 2 en la variable W se


almacena 2 que es el cociente entero de dividir 5 entre 2. NUNCA ! use el
operador DIV y MOD con variables (x,y) de tipo REAL. La variable
donde va almacenar el resultado puede ser REAL.

JERARQUIA DE LOS OPERADORES


ARITMETICOS :
Cuando el computador evalúa una expresión aritmética sigue los siguientes
criterios para obtener el resultado.
1. En una operación aritmética que incluya varios operadores aritméticos, los
operadores *, /, DIV, MOD son los operadores aritméticos que tienen
mayor prioridad, esto significa que primero se realizan las operaciones
que estén asociadas con estos operadores aritméticos.

2. En una expresión aritmética compuesta, las operaciones que están


asociadas con los operadores +, - se ejecutan después de haberse
ejecutado todos los operadores aritméticos enunciados en la primera regla.

3. Si en una expresión existen varios operadores aritméticos que tengan la


misma prioridad, estos se resuelven de izquierda a derecha.

EJEMPLOS: Cuando vamos a escribir expresiones algebraicas con PASCAL


debemos tener cuidado al escribirlas, teniendo en cuenta las prioridades de los
operadores.
Suponga que tiene la expresión algebraica, y la escribimos en un programa en
PASCAL así:
Z := Z + B + C/D;

La expresión anterior el computador la evalúa así:


Primero calcula C/D luego Z + B y por último suma los resultados anteriores.

Supongamos ahora que algebraicamente se tiene :

b  b 2  4 * a * c
X
2*a

Si en un programa escribimos:
X  b  sqrt (b * b  4 * a * c) / 2 * a;
No se extrañe si al evaluar esa expresión el computador le da unos valores
extraños.
Por la prioridad de los operadores involucrados en la expresión, el computador
haría lo siguiente:

Primero evalúa: b*b luego evalua 4*a*c , luego hace la resta b*b - 4*a*c para
al valor así obtenido le calcula la raiz cuadrada y luego ese valor lo divide por 2 y
ese resultado lo multiplica por a para finalmente sumarle -b, es claro que el
resultado no debe ser correcto.
La expresión queda bien escrita si usa los parentésis así:

X  (b  sqrt (b * b  4 * a * c)) / (2 * a );

DEFINICION DE FUNCIONES:
Las computadoras no saben realizar por si mismas operaciones complejas como
calcular un logaritmo o evaluar la función seno, o tangente, por tal motivo es
necesario que los lenguajes le den al programador módulos de programa que le
permitan calcular valores usando dichas funciones.
Las funciones que a continuación se describen son módulos de programa que
permiten a los usuarios de turbo Pascal evaluar las funciones matemáticas
siguientes:

LN(X) : Permite calcular el logaritmo neperiano (base e)


del argumento X.
EJEMPLO : En un programa en pascal se puede presentar la siguiente
instrucción así:

Y:= Ln(x) + 6;
Las variables x e y deben ser definidas tipo real previamente.

EXP(X): Permite calcular el exponencial del argumento X,


es decir permite calcular x.
EJEMPLO:
En un programa en pascal se puede tener que:
Y:= exp(x);
donde x puede ser una variable definida de tipo entera (INTEGER) o
REAL.

SQRT(X): Permite calcular la raíz cuadrada del


argumento. El argumento debe ser mayor o
igual que cero y real, el resultado es real. Se usa de
igual manera que las funciones anteriores.

SQR(X): Nos devuelve el argumento elevado al cuadrado.


El argumento puede ser de tipo entero o real, el
resultado es real. Se usa de igual manera que las
funciones anteriores.

SIN(X), COS(X) :Estas dos funciones nos permiten


calcular Seno y Coseno respectivamente de sus
argumento dado en radianes. Se usa de igual manera
que las funciones anteriores.
ARCTAN(X) : Esta función devuelve el ángulo en
radianes en el rango entre 0 a Pi cuya tangente es el
argumento. El argumento y la variable para
almacenar el resultado deben ser reales.

ABS(X) : Calcula el valor absoluto de un número dado. El


argumento puede ser definido como de tipo INTEGER
o REAL.
Mas adelante veremos otras funciones en PASCAL.

PI: Retorna el valor de pi


PI=3,1415926535897932385

EJEMPLO: Si Y es de tipo REAL entonces la expresión:

Y:=3*PI

TRUNC: Trunca la parte decimal de un número de tipo


real, permitiendo obtener un entero longint.
EJEMPLO: Si z vale 3.567 entonces a:=TRUNC(z) permite tener en a el
entero 3

ROUND: Toma el argumento y retorna el entero más


cercano.
EJEMPLO: Si en un programa en PASCAL se tiene x:=-32.51 entonces
y:=round(x) hace que y contenga -33.

FRAC: Retorna la parte decimal de un número real.


EJEMPLO: Si a:=5.672355 entonces z:=FRAC(a); almacena en z el decimal
0.672355, z tiene que ser de tipo real;

INT: Permite obtener la parte entera decimal de un


número real.
EJEMPLO: Si a:=5.672355 entonces z:=INT(a); almacena en z el decimal 5.0, z
tiene que ser de tipo real.
INSTRUCCIONES DE CONTROL Y CICLOS
REPETITIVOS

FLUJO DE CONTROL :
Se llama flujo de control de un programa al orden en que se ejecutan las
instrucciones que lo conforman.
El flujo de control de los programas sencillos, que hemos realizado a la fecha es
lineal lo que significa que se ejecutan las instrucciones en el orden en que se
escriben, sin alterar el orden de ejecución.
Pero en una gran cantidad de situaciones lógicas es necesario tomar decisiones que
nos permitan seleccionar la ejecución de determinadas instrucciones, dependiendo
que la condición lógica en el momento de evaluarla sea falsa o verdadera.

EXPRESION LOGICA :
Una expresión lógica en PASCAL es una sentencia que al ser evaluada, su valor
puede ser FALSE o TRUE

OPERADORES DE RELACION :
Los siguientes operadores los utilizaremos para construir expresiones lógicas,
establecen relación entre los operandos.

OPERADOR SIGNIFICADO
>= mayor ó igual que.
<= menor ó igual que.
= igual que.
<> diferente.
< menor que
> Mayor que

EJEMPLO :
Cualquiera de las siguientes expresiones, son validas en un programa escrito en
PASCAL.

A+B >= C*2

La expresión anterior compara el valor de la suma de A y B con el doble del valor


en C, si la suma es mayor o igual que el doble de C entonces el resultado de la
evaluación de la expresión es TRUE, en otro caso es FALSE.

X='S'
compara el valor en la variable X con el carácter S en mayúscula si son iguales el
resultado es TRUE, en otro caso es FALSE.
La variable X debe ser de tipo STRING o CHAR.

'La mama'' = 'LA MAMA'

Compara las cadenas 'La mamá' y 'LA MAMA' y el resultado es FALSE pues a
pesar de que dicen lo mismo están escritas en mayúsculas y en el otro caso en
minúsculas.

Cuando PASCAL compara una cadena de caracteres lo hace recorriendola de


izquierda a derecha hasta que se encuentran dos caracteres diferentes. El orden de
las dos cadenas es el que corresponde al orden de los dos caracteres diferentes. Si
las dos cadenas son las mismas pero una de ellas es más corta que la otra, entonces
la corta es menor que la más larga.

Las expresiones anteriores se pueden usar en un IF THEN ELSE, WHILE, o


REPEAT.

La siguiente expresión:
Z:=A + B >=C*2

Compara el valor de la suma de A con B con el valor del doble de C y


almacena el resultado de la evaluación de la expresión lógica FALSE o TRUE,
en la variable BOOLEAN z.

OPERADORES LOGICOS :
Los operadores lógicos se utilizan para formar expresiones lógicas más complejas.

OPERADOR SIGNIFICADO
AND y
OR o
NOT no

EJEMPLOS: Si tenemos la expresión

NOT(5>3) al evaluarla el resultado es FALSE.

La expresión z:=NOT(5>3);
almacena FALSE en la variable BOOLEAN z.

La expresión :

Z: = NOT(A + B >=C*2);
Almacena TRUE en la variable Z si el resultado de evaluar A + B >=C*2 es
FALSE, y almacena FALSE en caso contrario.
PRIORIDAD DE LOS OPERADORES :
Teniendo los operadores lógicos ya definidos resulta de importancia la prioridad de
los operadores, así:

PRIORIDAD OPERANDOR
1o Not
2o *, div, mod, /, and
3o +, -, or
4o <, <=, >, >=, <>

Las expresiones entre paréntesis se evalúan primero.

INSTRUCCION IF THEN ELSE


Toma una expresión lógica y la evalúa, si el valor de verdad de la expresión lógica
es verdadero entonces se ejecuta la instrucción después del THEN, en caso de que
al momento de evaluar la expresión sea falso se ejecuta la instrucción después de
ELSE.

SINTAXIS
IF <expresión lógica> THEN
<acción A>
ELSE
<acción B>;

EJEMPLO : Escriba un programa en PASCAL que le permita a un estudiante


calcular la nota definitiva de tres notas, que tienen el mismo valor porcentual. El
programa debe imprimir la nota definitiva y un mensaje adecuado que diga 'Gano la
Materia', 'Perdió la materia' según que la nota sea mayor o igual que 3.0 o menor
que 3.0.

PROGRAM Ejemplo;
VAR
nota1,
nota2,
nota3 :REAL ;
definitiva :REAL ;
BEGIN
WRITELN('Entre tres notas ');
READLN(nota1,nota2,nota3);
definitiva := (nota1+nota2+nota3)/3;
IF definitiva >= 3.0 THEN
WRITELN('Su nota =',definitiva:10:2,'Gano la materia')
ELSE
WRITELN('Su nota =',definitiva:10:2,'Perdió la materia');
END.

Otra versión del programa usando las instrucciones que hemos visto es:
PROGRAM Ejemplo;

CONST
gano ='Gano la materia' ;
perdió ='Perdió la materia' ;

VAR
nota1,nota2,
nota3 :REAL ;
definitiva :REAL ;
mensaje :STRING ;
BEGIN
WRITELN('Entre tres notas ');
READLN(nota1,nota2,nota3);
definitiva := (nota1+nota2+nota3)/3;
IF definitiva >= 3.0 THEN
mensaje:=gano
ELSE
mensaje := perdió ;
WRITELN('Su nota =',definitiva:10:2,mensaje:24)
END.

SENTENCIAS COMPUESTA:
Cuando sea necesario que después del THEN o el ELSE se ejecuten no solo una
instrucción sino varias, es necesario escribir lo que llamamos una sentencia
compuesta; que no es mas que varias instrucciones simples encerradas entre
BEGIN y END.

IF ANIDADOS :
Tendremos situaciones lógicas en las cuales después de hacernos una pregunta se
nos hace necesario hacer una nueva pregunta, en esos caso tenemos entonces que
después del THEN y/o ELSE es necesario volver a tener una sentencia IF THEN
ELSE decimos entonces que anidamos IF.

EJEMPLO: Se requiere un programa que lea A y permita evaluar la función

PROGRAM EJEMPLO;

VAR
BEGIN
a, y :REAL;
WRITE('Entre un número ');
READLN(a);
IF a<3 THEN
y := 5*A +SQR(A+1)
ELSE
IF (A>=3) AND (A<=9) THEN
y := A + 5 -(A + 2)/3
ELSE
y:= EXP(3*LN(A)) + 7*A;
WRITELN('y(',a:6:2,')=',y:10:2);
END.

Observe que el IF después del ELSE no se encierra entre BEGIN y END, pues
IF THEN ELSE es una solo instrucción.

Observe como se construye una expresión lógica con los operadores AND, OR.

SENTENCIA CASE :
La sentencia case se utiliza para elegir entre diferentes alternativas. Una sentencia
case se compone de varias sentencias simples. Cuando case se ejecuta, una (y solo
una ) de las sentencias simples se selecciona y ejecuta.

CASE <identificador del selector> OF


lista de constantes 1 :sentencia 1;
lista de constantes 2 :sentencia 2;
.
.
.
lista de constantes n :sentencia n;
[ ELSE
sentencia x ]

END;

FUNCIONAMIENTO: Cuando el computador llega


al case el valor del identificador selector (variable
selector) se evalúa y se compara con las listas de
constantes; las listas de constantes son listas de uno o
más posibles valores del selector separados por
comas.
Solo se ejecuta una sentencia. Sí el valor del selector está en su correspondiente
lista de constantes.

EJEMPLO:
Para que se ejecute lo que en el diagrama se llama sentencia 1 debe suceder que el
valor de la variable identificada como selector tenga un valor que este en la lista
de constantes 1.
Una vez ejecutada la sentencia el control de la ejecución se transfiere a la
instrucción después del END. Cada sententencia puede ser una sentencia simple o
compuesta.

Si el valor de la variable selector no está en ninguna de las listas de constantes y


existe la cláusula else, se ejecuta entonces la sentencia después del else.

Si no existe el else y el valor de la variable selector no está en la lista de constantes


el programa continua con la ejecución de las instrucciones después del END.

La cláusula else es opcional.


La variable selector debe ser de tipo ordinal, esto es, de tipo : Integer, Boolean,
char, o enumerada.
Todas las constantes case que se usen en las listas deben ser únicas y de un tipo
compatible con el tipo de variable selector.
Todas las instrucciones excepto la última deben ir seguidas de punto y coma.

EJEMPLO: Escriba un programa que lea un número entero entre 0 y 6 si el


número que se le entra es 0 imprime Domingo, si se entra 1 imprime Lunes, 2
imprime Martes, 3 imprime Miércoles, 4 imprime Jueves, 5 Viernes, 6 Sábado, si
entra un número distinto imprime un mensaje de advertencia.

PROGRAM días;
VAR
dia :INTEGER;
BEGIN
WRITE('Entre el numero del Dia ');
READLN(dia);
CASE dia OF
0: WRITELN('Domingo');
1: WRITELN('Lunes');
2: WRITELN('Martes');
3: WRITELN('Miércoles');
4: WRITELN('Jueves');
5: WRITELN('Viernes');
6: WRITELN('Sábado');
ELSE
WRITELN('No clasificado');
END;{ Fin del Case }
END.

EJEMPLO: Escriba un programa que lea un carácter alfabético y determine si el


carácter leído es una letra en mayúsculas o en minúsculas, si es otro carácter debe
imprimir que no es un carácter alfabético.

PROGRAM identifica;
VAR
caracter :CHAR;
BEGIN
WRITE('Entre un carácter ');
READLN(carácter);
CASE carácter OF
'a'..'z': WRITELN('Es una letra en mayúsculas');
'A'..'Z': WRITELN('Es una letra en minúsculas');
ELSE
WRITELN('No es una letra');
END;{ Fin del Case }
END.

EJERCICIO: Escriba un programa que lea un carácter del alfabeto, escrito en


minúsculas y lo convierta e imprima a mayúsculas. Si el carácter está en
mayúsculas lo convierte a minúsculas.
Si el carácter no es letra lo imprime tal como es.

PROGRAM identifica;
VAR
caracter :CHAR;
BEGIN
WRITE('Entre un carácter ');
READLN(caracter);
CASE caracter OF
'a'..'z': BEGIN
carácter:=CHR( ORD(carácter) - 32);
WRITELN('Carácter en mayúsculas es',caracter);
END;
'A'..'Z: BEGIN
caracter:=CHR( ORD(carácter) + 32);
WRITELN('Carácter en minúsculas es',caracter);
END;
ELSE
WRITELN('No es una letra',caracter);
END;{ Fin del Case }
END.

CICLOS REPETITIVOS:
Llamaremos ciclo repetitivo a un conjunto de instrucciones que se repiten un
número finito de veces.
Para que un conjunto de instrucciones se repita es necesario que se tenga alguna
condición que se satisfaga, diremos entonces que el ciclo se repite mientras se
cumple una determinada condición, también existen ciclos que se repiten hasta
cuando una condición deja de cumplirse, diremos que el ciclo se repita hasta que
la condición fue verdadera o mientras la condición fue falsa.
Para cualquiera de los casos tenemos en PASCAL instrucciones que nos permiten
simular esos procesos con un computador.
INSTRUCCION WHILE :
Repite un conjunto de instrucciones mientras se cumple la condición.

WHILE <expresion lógica> DO MIENTRAS <expresion> HAGA


BEGIN
Instrucciones a
repetir Instrucciones a repetir
END
FIN_MIENTRAS

La instrucción WHILE se comporta de la siguiente manera:

1. Si en el momento de llegar al WHILE y evaluar la expresión lógica esta es


falsa entonces el computador no ejecuta la instrucciones a repetir.
2. Si la evaluación de la expresión lógica es verdadera en el momento de llegar
al WHILE, se ejecutan las instrucciones que conforman el ciclo.
3. Una vez se ejecutan las instrucciones del ciclo se vuelve a ejecuta la
evaluación de la condición y si es verdadera se vuelven a ejecutar la
instrucciones que conforman el ciclo.

4. El proceso anterior se repite hasta que en algún momento de la la evaluación


de la expresión lógica de FALSE.

Es necesario que exista dentro del ciclo al menos una instrucción o varias que se
hagan cargo de que la expresión lógica se haga falsa en algún momento de la
ejecución del problema, de lo contrario, el computador entra en un ciclo sin fin.

EJEMPLO : Escriba un programa que lea un número n y luego genere e imprima


todos los número entre 1 y n.

1. Lea n
2. Numero = 1
3. Escriba Numero
4. Numero = Numero +1
5. Mientra Numero<=n repita desde 3 al paso 4

Lo anterior se puede escribir de manera equivalente en la forma siguiente:

1. Lea n
2. Numero = 1
3. Mientras Numero<=n Haga
4. Escriba Numero
5. Numero = Numero + 1
6. Fin Mientras

PROGRAM EJEMPLO
VAR
numero, n : INTEGER ;
BEGIN
WRITE('Hasta que número escriba?')
READLN(N);
numero:=1; { Le doy valor 1 a número}
WHILE numero <= n DO
BEGIN
WRITELN(numero);
{ Incremento en 1 el número }
numero:=numero+1;
END;
END.

En el programa anterior la variable numero va cambiando su valor en uno cada que


el ciclo se ejecuta, logrando de esta manera generar todos los números de 1 a N.

EJEMPLO: Escriba un programa en PASCAL que imprima n veces en pantalla el


mensaje "NACIONAL ES LO MEJOR".

Leer n
contador <- 1
MIENTRAS contador <=n HAGA
Escriba :'NACIONAL ES LO MEJOR'
contador <- contador + 1
FIN MIENTRAS

En el ejemplo anterior la variable n contiene el número de veces que se debe


imprimir el mensaje.
La variable contador lleva el conteo de cuantas veces se a ejecutado la instrucción
Escribe.

EJEMPLO: Escriba un programa que lea n, y calcule el factorial de n.

Recuerde que :
n!= 1*2*3*4*5*6*7*8*....*n-1*n

PROGRAM FACTORIALES ;
VAR
n, factorial
factor :LONGINT ;

BEGIN
WRITE('Escriba el número al que le debo calcular el factorial');
READLN(N);
factor := 1 ;
factorial:= 1 ;
WHILE factor<=n DO
BEGIN
factorial:=factorial*factor;
factor:=factor+1;
END;
WRITELN(n:5,'!=',factorial:7);
END.
INSTRUCCION REPEAT UNTIL:
La instrucción REPEAT permite definir procesos repetitivos, que se ejecutan
mientras la evaluación de la expresión lógica en el UNTIL de falso.

El proceso se deja de repetir cuando la evaluación de la expresión da verdadero.

Sintaxis:

REPEAT REPITA

Instrucciones a repetir Instrucciones a repetir

UNTIL < expresion lógica > ; HASTA QUE <expresion


logica>

La instrucción Repeat realiza las instrucciones a repetir por lo menos una vez, y
repite el proceso solo si la expresión lógica es falsa.
En el momento en que la condición se hace verdadera el computador continua la
ejecución en la instrucción siguiente al UNTIL.

EJEMPLO: Escribir un programa en pascal que escriba 3 veces en pantalla el


mensaje "COLOMBIA ES GRANDE".

PROGRAM EJEMPLO;
USES CRT;
CONST
MENSAJE ='COLOMBIA ES GRANDE';
VAR
contador :INTEGER;
BEGIN
contador := 0; { inicia la variable en cero }
REPEAT
WRITELN ('Colombia es grande');
Contador := Contador + 1;
UNTIL Contador = 3 ;
END.
La variable de nombre contador cuenta las veces que se imprime el mensaje
'COLOMBIA ES GRANDE'.

EJEMPLO: Modificar el problema anterior para que nos permita elegir el número
de veces que se debe repetir el proceso.
Para resolver el problema ahora debemos hacer que el computador pregunte por el
número de veces que desea que se repita el proceso.

PROGRAM EJEMPLO;
USES CRT;
CONST
MENSAJE ='COLOMBIA ES GRANDE';
VAR
nveces, contador :INTEGER;
BEGIN
clrscr;
WRITE('Cuantas veces repito el proceso ');
READLN(nveces);
contador := 0; { inicia la variable en cero }
REPEAT
WRITELN ('yo quiero a mi mama');
Contador := Contador + 1;
UNTIL Contador = 3 ;
END.

EJEMPLO: Escribir un programa que lea un número N el cual le debe indicar al


computador hasta que número queremos que nos imprima en pantalla empezando
en 1 y terminando en N

PROGRAM EJEMPLO ;
VAR
n, contador :INTEGER;
BEGIN
WRITE('Hasta que número escribo?');
READLN (n);
contador := 1;
REPEAT
WRITELN(contador);
Contador := Contador + 1;
UNTIL Contador = N+1 ;
END.

EJERCICIO: Use la instruccion REPEAT UNTIL y modifique el programa


anterior para que una vez escrito los números entre uno y N me imprima la suma de
los números.

INSTRUCCION FOR :
Permite repetir un conjunto de instrucciones mientras el valor de la variable de
control es menor o igual que un valor Vf.

FOR < variable de control> := Vi TO Vf DO


BEGIN
Instrucciónes a repetir
END;

La variable de control es una variable que debe estar declarada de tipo CHAR,
INTEGER, BOOLEAN, ENUMERADO.
El valor de la variable de control se incrementa en uno cada que se llega al END.

Si se quiere hacer un ciclo en que el valor de la variable de control decremente se


reemplaza la palabra TO por DOWNTO, solo en ese caso el valor de V i >= Vf y el
valor de la variable se decrementa en uno cada que se ejecuta el ciclo.
Si la instrucción a repetir es una sola no se necesita BEGIN y END.

EJEMPLO: Use la instrucción FOR para calcular el factorial de un número n en


cualquier momento.

PROGRAM FACTORIAL;
VAR
Facto,N : LONGINT ;
Factor : REAL ;
BEGIN
WRITE('Entre el N');
READLN(N);
Facto := 1
FOR Factor := 1 TO N DO
Facto:= Facto*Factor;
WRITELN(Facto:10:0);
END.

EJERCICIO: Escriba un programa que lea un número n y genere las tabla de


multiplicar de n, multiplicado hasta por 10.

EJERCICIO: Escriba un programa que lea m y n para que calcule:

 m m!
 
 n   m  n !* n

También podría gustarte