Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hacker
Nstor Marroqun
Tras los pasos de un
Hacker
Nstor Marroqun
Copyright-2.010
Ninguna parte de la historia narrada (la obra literaria) puede ser reproducida, grabada o recuperada
por ningn medio, transmitida de cualquier forma fsica o electrnica sin el permiso por escrito de
Nstor Marroqun.
El trabajo acadmico, as como los ejercicios resueltos y propuestos son de libre distribucin
conforme lo estipulan las mltiples licencias de acceso pblico a la informacin, siempre y cuando
usted reconozca y nombre a sus autores.
Todas las marcas y productos mencionados pertenecen a sus legtimos dueos y empresas
fabricantes.
Marketing y Comercializacin:
Correo-e: sales@nmcresearch.com
Soporte: support@nmcresearch.com
Informacin: info@nmcresearch.com
ISBN(e-book): 978-9-942030-19-1
ISBN (book): 978-1-453850-43-5
-2 -
DEDICATORIA
A mis padres Carlos y Cecilia, a mi esposa Anita, a mis hijos Daniel y Nstor por
haber soportado las locuras de este hombre y las consecuencias de las mismas,
por su cario y apoyo incondicional.
AJessenia quien con su visin y consejo propici que finalmente esta obra salga a
la luz, por su paciencia y por todo el tiempo que compartimos juntos revisando
este texto.
A quienes han sido mis ocultos compaeros, ellos, los denominados CABALLEROS
DEL SILENCIO, personal del Servicio de Inteligencia de las Fuerzas Militares del
Ecuador, quienes en su momento marcaron mi vida, en primer lugar al
solicitarme colaboracin, luego al perseguirme y finalmente al permitir que
forme a algunos agentes en el arte del Hacking a todos ellos mi gratitud
entraable.
Nstor Marroqun
Autor
-3-
-4-
Un gran poder, conlleva una gran responsabilidad
Benjamn Franklin
(1.706-1.790, Estadista y cientfico Estadounidense)
-5-
-6-
CONTENIDO
Introduccin (I).......................................................................................................................................... - 29 -
Primera generacin................................................................................................................. - 43 -
Segunda Generacin................................................................................................................ - 44 -
Tercera Generacin................................................................................................................. - 46 -
Cuarta generacin.................................................................................................................... - 47 -
Supercomputadoras................................................................................................................ -48
Macrocomputadoras o Mainframes................................................................................. - 49 -
Minicomputadoras................................................................................................................... -50
Microcomputadoras o PC...................................................................................................... - 51 -
COBOL (1.951)........................................................................................................................... - 55 -
ALGOL (1.958)........................................................................................................................... - 56 -
LISP (1.959)................................................................................................................................ - 57 -
FORTH (1.960).......................................................................................................................... - 58 -
-7-
Tras los pasos de un... Hacker
BASIC (1.964)............................................................................................................................. - 59 -
PASCAL (1.970)......................................................................................................................... - 61 -
ADA (1.975)................................................................................................................................ - 62 -
LOGO (1.976).............................................................................................................................. - 62 -
C (1.978)....................................................................................................................................... - 63 -
JAVA (1.991)............................................................................................................................... - 64
Notas y Bibliografa....................................................................................................................... - 65 -
Introduccin (II)......................................................................................................................................... - 69 -
Ejercicios propuestos:...................................................................................................... - 83 -
Ejercicios propuestos:...................................................................................................... - 93 -
Caso especial......................................................................................................................... - 95 -
-8-
Contenido
Definicin.............................................................................................................................- 103 -
Elementos............................................................................................................................- 103 -
Propiedades........................................................................................................................- 104 -
Definicin.............................................................................................................................- 111 -
Elementos............................................................................................................................- 111 -
Propiedades........................................................................................................................- 111 -
-9-
Tras los pasos de un... Hacker
Definicin.............................................................................................................................- 119 -
Elementos............................................................................................................................- 119 -
Propiedades........................................................................................................................- 119 -
Definicin.............................................................................................................................- 129 -
Elementos............................................................................................................................- 129 -
Propiedades........................................................................................................................- 129 -
- 10 -
Contenido
Definicin.........................................................................................................................................- 153 -
- 11 -
Tras los pasos de un... Hacker
- 12 -
Contenido
- 13 -
Tras los pasos de un... Hacker
5.1.3 Memoria para el uso del dispositivo de control y proceso ......................- 215 -
- 14 -
Contenido
- 15 -
Tras los pasos de un... Hacker
La implementacin......................................................................................................................- 375 -
- 16 -
Contenido
Seleccin directa.....................................................................................................................-402 -
Heap Sort....................................................................................................................................-405 -
Ejercicios resueltos:....................................................................................................................-430
Ejercicios resueltos:....................................................................................................................-436 -
10.1 Preliminares.................................................................................................................-451 -
Los comienzos...............................................................................................................................-454 -
- 17 -
Tras los pasos de un... Hacker
10.10Qu es un antivirus?................................................................................................-482 -
11.2 Agentes del Servicio de Inteligencia. El momento que el guila perdi sus
huevos..........................................................................................................................................- 488 -
- 18 -
Contenido
11.15Actualidad......................................................................................................................- 521 -
Breve glosario de trminos.................................................................................................................- 523 -
Anexos...........................................................................................................................................................- 579 -
Conclusiones...................................................................................................................................- 589 -
La implementacin......................................................................................................................- 593 -
- 19 -
Tras los pasos de un... Hacker
- 20 -
Contenido
- 21 -
Tras los pasos de un... Hacker
- 22 -
Contenido
- 23 -
Tras los pasos de un... Hacker
- 24 -
Contenido
- 25 -
Tras los pasos de un... Hacker
- 26 -
Contenido
- 27 -
Tras los pasos de un... Hacker
- 28 -
INTRODUCCIN (I)
1 Especialmente los episodios relacionados con los militares y las agencias de investigacin del Gobierno de los Estados Unidos de Norte Amrica, ya
que existe una poltica de secretismo en ciertos aspectos que si salieran a la luz pblica, se conmocionara a la sociedad y sin duda cambiara la
Historia Nacional, usualmente existe una negativa oficial en confirmar tal o cual hecho; sino, pregunten al Gobierno Norteamericano si existe el
rea 51.
- 29 -
Tras los pasos de un... Hacker
- 30 -
La historia... Introduccin (I).
Una vez pasada esta etapa de crisis en mi incipiente vida y con las condiciones
econmicas y polticas del pas de entonces (para los que no sepan, hay que
acotar que en el Ecuador se instaur una dictadura militar en 1.972), las
medicinas y tratamientos para poder darme una calidad de vida aceptable, hacan
que mi padre dentro de sus posibilidades de trabajo como mecnico, que no eran
diferentes a las de la mayora de la poblacin de clase media baja, haga esfuerzos
extraordinarios para solventar estos gastos y los que vendran.
- 31 -
Tras los pasos de un... Hacker
- 32 -
La historia... Introduccin (I).
Este inters innato de saber: Por qu existen estas cosas?, Cmo funcionan?,
Dnde estn los principios que las hacen funcionar?, etc., motivaban mi falta de
inters de realizar las actividades que otros nios a esa edad hacen y se
consideran normales, lo que yo haca dadas las manifestaciones tempranas de
inteligencia fuera de lo normal, determinaron que mis familiares cercanos me
pusieran el sobrenombre de GENIO.
Por fin lleg la etapa escolar, al cumplir 5 aos ingres sin pasar por la
preparatoria a primer grado de la Escuela Fiscal Luciano Andrade Marn
ubicada al norte de la capital, por razones de trabajo de mi padre no pude
terminar este primer ao de la escuela y volv a tomar este curso en la Escuela
Particular Paulo Sexto, escuela y colegio religioso regido por los Padres
Josefinos, ubicado al sur de Quito. En esta etapa de mi vida estudiantil, sobresal
en aprovechamiento y conducta, siendo uno de los mejores egresados de la
escuela en mencin. No era raro que sacara 13 sobre 10 (hoy se califica sobre 20
puntos), ya que en los ejercicios desarrollados en clase, el profesor de turno para
motivar a su alumnado ofreca 1 punto al examen al que terminara primero tal o
cual ejercicio, siempre fui el primero en mi clase y siempre obtena estos puntos,
al sacar 10 sobre 10 en el examen, no era raro que me quedaran debiendo puntos
para el prximo examen o ao. En las ferias de ciencias propona desarrollar
ambiciosos proyectos, que siempre eran galardonados al final del ao con sendos
diplomas y felicitaciones por parte de las autoridades de la escuela y colegio, he
perdido la cuenta del nmero de diplomas que poseo por haber sobresalido en
ciencias en la etapa escolar.
Avanza el tiempo y llegan los aos 80s, especficamente el ao de 1.983,
empezaba la etapa colegial y a la vez la primera ocasin que tuve de toparme con
una calculadora/computadora (Tandy Radio Shack modelo TRS-80 Pocket
Computer II, Fig. 40) que mi to Ral haba adquirido para cursar su carrera de
ingeniera civil en la Universidad Central del Ecuador. Al ver uno de los juegos
que posea esta mquina qued fascinado, y ms que fascinado, naci mi inters
por conocer: Cmo funcionaba esta maravillosa mquina?, Cmo poda jugar de
manera inteligente?, Cules eran los fundamentos que hacan funcionar estos
programas?
Pero como todo tiene una historia y para entender algo, uno tiene que conocer su
historia, me puse a investigar la Historia de la Computacin para satisfacer
algunas interrogantes que tena: Cuntas clases de computadoras existen?, Por
cules criterios las clasifican?, Cules son los ms importantes lenguajes de
- 33 -
Tras los pasos de un... Hacker
- 34 -
CAPTULO I. HISTORIA DE LA COMPUTACIN
1.1 ANTECEDENTESHISTRICOS
Cuando el hombre tom conciencia de que existe y que adems de l existen otras
cosas que complementan su ambiente, como son agua, rocas, rboles, animales,
etc., sinti la necesidad de tomar propiedad de estos elementos, automticamente
con los medios que la naturaleza le haba dotado, intuitivamente surgi la idea de
nmero y con esta idea desarroll un mtodo para poder contar sus
pertenencias, empez con la utilizacin de sus dedos, con la invencin de la
escritura y de sus guarismos, inmediatamente cre los correspondientes a los de
su idea intuitiva de cantidad o nmero, es decir, los que hoy conocemos como
dgitos decimales.
Con la necesidad creada de llevar una cuenta de sus rebaos de ovejas, vacas,
cerdos, caballos, la produccin de sus sembros, cunto maz?, arroz, dtiles,
naranjas, etc., tiene y produce la tierra, saber cuntos de su especie existen en su
comarca?, nace una de las ciencias que ms ha fascinado al hombre, la
matemtica; y, con ella, grandes pensadores en la historia de la humanidad la
fueron perfeccionando, comenzando con los antiguos babilonios (Fig.1), los
grandes matemticos rabes, los griegos (Euclides, Pitgoras, etc.), los chinos
entre otros, que dieron forma y pudieron cristalizar ideas en conceptos
- 35 -
Tras los pasos de un... Hacker
Los mtodos numricos que son llevados a cabo por las computadoras, son los
que en informtica se denominan algoritmos.
Con el perfeccionamiento de las formas de llevar a cabo estos clculos, el uso de
las primitivas formas de ayudarse para la obtencin de respuestas en las que no
utilice sus dedos, surge en la antigua China hace unos 5.000 aos una mquina
para agilizar la contabilidad, el denominado BACO (Fig. 2); al transcurrir el
tiempo, el hombre siempre ha querido agilizar los clculos; ha diseado
mquinas mecnicas para realizarlos.
FIG. 2. EL BACO.
- 36 -
Historia de la Computacin... Captulo I.
Siguiendo el curso de esta historia, Charles Babbage (1.792-1.871, Fig. 5), quien
con sus ideas, si hubiera nacido 100 aos despus habra revolucionado la
historia de la humanidad; inventa una mquina que con las limitaciones
tecnolgicas de su poca era capaz de calcular tablas matemticas, a su invento lo
denomin la MQUINA DIFERENCIAL (Fig. 6).
- 37 -
Tras los pasos de un... Hacker
- 38 -
Historia de la Computacin... Captulo I.
FIG. 8. HOLLERITH.
- 39 -
Tras los pasos de un... Hacker
Una antigua patente de un dispositivo que mucha gente crey que era la primera
computadora digital electrnica, se invalid en 1.973 por orden de un tribunal
federal y oficialmente se le dio el crdito a John Vincent Atanasoff (1.903-1.995,
Fig. 10) como el inventor de la computadora digital electrnica. El Dr. Atanasoff,
catedrtico de la Universidad Estatal de Iowa, desarroll la primera computadora
digital electrnica entre los aos 1.937 a 1.942.
Algunos autores consideran que no hay una sola persona a la que se le pueda
atribuir el haber inventado la computadora, sino que fue el esfuerzo de muchas
personas.
- 40 -
Historia de la Computacin... Captulo I.
- 41 -
Tras los pasos de un... Hacker
requera una gran cantidad de electricidad. Una leyenda cuenta que la ENIAC,
construida en la Universidad de Pennsylvania, bajaba las luces de Filadelfia
siempre que se activaba.
La imponente escala y las numerosas aplicaciones generales de la ENIAC,
sealaron el comienzo de la primera generacin de computadoras.
En 1.954, John von Neumann (1.903-1.957, Fig. 16), que haba trabajado con
Eckert y Mauchly en la Universidad de Pennsylvania, public un artculo acerca
del almacenamiento, carga y ejecucin de los programas.
El concepto de programa almacenado, permiti la lectura de un programa dentro
de la memoria de la computadora, el mismo, que despus de su ejecucin no
necesitaba que sus instrucciones vuelvan a ser ingresadas.
La primera computadora en usar el citado concepto fue la llamada EDVAC
(Electronic Discrete Variable Automatic Computer, es decir Computadora
Automtica Electrnica de Variable Discreta), desarrollada por Von Neumann,
Eckert y Mauchly.
Los programas almacenados dieron a las computadoras una flexibilidad y
confiabilidad tremenda, hacindolas ms rpidas y sujetas a menos errores que
los programas mecnicos.
- 42 -
Historia de la Computacin... Captulo I.
PRIMERA GENERACIN
(De 1.951 a 1.958, Tecnologa Electromecnica)
Las computadoras de la primera generacin emplearon bulbos para procesar
informacin. Los operadores ingresaban los datos y programas en un cdigo
especial por medio de tarjetas perforadas. El almacenamiento interno se lograba
con un tambor que giraba rpidamente, sobre el cual un dispositivo de
lectura/escritura colocaba marcas magnticas. Esas computadoras de bulbos
eran mucho ms grandes y generaban ms calor que los modelos
- 43 -
Tras los pasos de un... Hacker
SEGUNDA GENERACIN
(De 1.959 a 1.964, tecnologa de Transistores)
El invento del transistor (Fig. 18) hizo posible una nueva generacin de
computadoras, ms rpidas, ms pequeas y con menores necesidades de
ventilacin y energa.
Sin embargo, su costo segua siendo un factor significativo del presupuesto de
- 44 -
Historia de la Computacin... Captulo I.
- 45 -
Tras los pasos de un... Hacker
TERCERA GENERACIN
(De 1.964 a 1.971, Tecnologa de Circuitos Integrados)
Las computadoras de la tercera generacin surgieron con el desarrollo de los
circuitos integrados (pastillas de silicio) en las cuales se colocan miles de
componentes electrnicos, en una integracin en miniatura.
Las computadoras nuevamente se hicieron ms pequeas, ms rpidas,
despedan menos calor y eran energticamente ms eficientes. Antes del
advenimiento de los circuitos integrados, las computadoras estaban diseadas
para aplicaciones matemticas o de negocios, pero no para las dos cosas a la vez.
Los circuitos integrados permitieron a los fabricantes de computadoras
incrementar la flexibilidad de los programas y estandarizar sus modelos.
La IBM 360 (Fig. 21), una de las primeras computadoras comerciales que us
circuitos integrados; poda realizar, tanto anlisis numrico como administracin
procesamiento de archivos.
Los clientes podan escalar sus sistemas 360 a modelos IBM de mayor tamao y
podan todava correr sus programas actuales. Las computadoras trabajaban a
tal velocidad que proporcionaban la capacidad de correr ms de un programa de
manera simultnea (ejecucin de programas en tiempo compartido). Por
ejemplo la computadora poda estar calculando la nmina y aceptando pedidos al
mismo tiempo. Con la introduccin del modelo 360, IBM acapar el 70% del
- 46 -
Historia de la Computacin... Captulo I.
mercado.
Para evitar competir directamente con IBM, la empresa DEC (Digital Equipment
Corporation), dirigi sus esfuerzos hacia computadoras pequeas. Mucho ms
pequeas, mucho ms econmicas de fabricar y por consiguiente su precio de
venta fue ms asequible que las computadoras grandes, las minicomputadoras se
desarrollaron durante la segunda generacin pero alcanzaron su mayor auge
entre 1.960 y 1.970.
CUARTA GENERACIN
(De 1.971 a ?.???, tecnologa de microprocesadores)
Dos mejoras en la tecnologa de las computadoras marcan el inicio de la cuarta
generacin: El reemplazo de las memorias con ncleos magnticos por las de
chips de silicio; y, la colocacin de muchos ms componentes en un chip producto
de la miniaturizacin de los circuitos electrnicos.
El tamao reducido del chip microprocesador (Fig. 22), hizo posible la creacin
de las computadoras personales.
Hoy en da las tecnologas LSI (Large Scale Integration, integracin a gran escala)
y VLSI (Very Large Scale Integration, integracin a muy gran escala) permiten que
cientos de miles de componentes electrnicos se almacenen en un chip.
- 47 -
Tras los pasos de un... Hacker
Usando la VLSI, un fabricante puede hacer que una computadora pequea del
tamao de un cuaderno (notebook), supere a una computadora de la primera
generacin que ocupaba un cuarto completo.
SUPERCOMPUTADORAS
Una supercomputadora (Fig. 23) es el tipo de computadora ms potente y ms
rpida que existe en un momento dado. Estas mquinas estn diseadas para
- 48 -
Historia de la Computacin... Captulo I.
As mismo son las ms caras, sus precios alcanzan los 300 millones de dlares y
ms, cuentan con un sistema especial de control de temperatura para eliminar el
calor que algunos componentes generan.
Unos ejemplos de tareas a las que son expuestas las supercomputadoras son los
siguientes:
Bsqueda y estudio de la energa y armas nucleares.
Bsqueda de yacimientos petrolferos con grandes bases de datos
ssmicos.
El estudio y prediccin de tornados.
El estudio y prediccin del clima de cualquier parte del mundo.
La elaboracin de maquetas y proyectos de la creacin de aviones,
simuladores de vuelo, etc.
Debido a su precio son muy pocas las supercomputadoras que se construyen en
un ao.
MACROCOMPUTADORAS O MAINFRAMES
Las macrocomputadoras son tambin conocidas como mainframes (Fig. 24). Los
mainframes son grandes, rpidos y caros sistemas que son capaces de soportar
los requerimientos de cientos de usuarios simultneamente as como cientos de
- 49 -
Tras los pasos de un... Hacker
MINICOMPUTADORAS
En 1.960 surgi la minicomputadora (Fig. 25), una versin ms pequea de la
macrocomputadora. Al ser orientada a tareas especficas, no requera de todos
los perifricos que necesita un mainframe, esto ayud a reducir el precio y costos
del mantenimiento.
Las minicomputadoras, en tamao y poder de procesamiento, se encuentran
entre los mainframes y las estaciones de trabajo.
En general, una minicomputadora es un sistema multiproceso (varios procesos
en paralelo) capaz de soportar de 10 hasta 200 usuarios simultneamente.
- 50 -
Historia de la Computacin... Captulo I.
MICROCOMPUTADORAS O PC
Las microcomputadoras o Computadoras Personales (PCs, Personal Computer),
tuvieron su origen con la creacin de los microprocesadores.
- 51 -
Tras los pasos de un... Hacker
-52 -
Historia de la Computacin... Captulo I.
- 53 -
Tras los pasos de un... Hacker
lenguaje mquina. Una cosa importante que vale la pena recalcar, del cdigo
fuente escrito en un lenguaje de alto nivel siempre se puede obtener su
equivalente en lenguaje mquina, pero es extremadamente difcil, a partir de un
programa en lenguaje mquina, obtener una versin del mismo en un lenguaje de
alto nivel (a este proceso se lo conoce como ingeniera reversa o inversa, que es
sancionado en muchos pases que respetan la propiedad intelectual de un
programa, incluido el Ecuador).
Por su orientacin, los lenguajes de programacin como ya se mencion, los
podemos dividir en:
a) Lenguajes de alto nivel: A este grupo pertenecen lenguajes como COBOL
(COmmon Business - Oriented Language, Lenguaje orientado a la gestin
en negocios), FORTRAN (FORmula TRANslation, Lenguaje orientado a la
resolucin de frmulas, muy usado en aplicaciones cientficas), ALGOL
(ALGOrithmic Language, Lenguaje orientado para aplicaciones
cientficas), LISP (LISt Processing), FORTH (FOuRTH-generation
language), BASIC (Beginners All-purpose Symbolic Instruction Code,
Lenguaje de uso general), PASCAL, ADA, LOGO, C, etc., los cuales estn
orientados a que el humano entienda la lgica del programa, lo modifique
y mantenga el cdigo. Las aplicaciones modernas son desarrolladas en
este tipo de lenguajes.
b) Lenguajes de bajo nivel: Cuyo programa editor se lo conoce como
ensamblador y el programa obtenido como programa en lenguaje
mquina, los cuales sirven para hacer programas de uso especfico en
una computadora, en estos lenguajes se desarrollan por ejemplo: los
controladores de la computadora, las rutinas del BIOS (Basic
Input/Output System), los controladores de las tarjetas de video, mdems
y perifricos especializados. Este tipo de lenguajes, estn orientados a
que su sintaxis sea entendida por la mquina y no por el ser humano; por
lo que, los programas escritos en estos lenguajes son de difcil
comprensin, por consiguiente dificultan su mantenimiento y
portabilidad.
- 54 -
Historia de la Computacin... Captulo I.
COBOL (1.951)
FORTRAN (1.954)
(FORmula TRANslation)
FORTRAN se desarroll en 1.954, el lder de este proyecto fue John Backus
(1.924-, Fig. 29). FORTRAN I, la primera versin fue implementada sobre la
- 55 -
Tras los pasos de un... Hacker
ALGOL (1.958)
(ALGOrithmic Language)
ALGOL surge en 1.958 a raz de un proyecto del cientfico dans Peter Naur
(1.928-, Fig. 30), un consorcio internacional promovi el desarrollo de un
programa de alto nivel, inicialmente para aplicaciones cientficas, que algn
- 56 -
Historia de la Computacin... Captulo I.
LISP (1.959)
(LISt Processing)
LISP nace en 1.959 y fue diseado para la manipulacin de frmulas simblicas.
Su uso es extensivo en el campo de la Inteligencia Artificial, expresa algoritmos
recursivos a partir del clculo lambda.
Fue desarrollado por John McCarthy (1.927-, Fig. 31) y su equipo, en los aos de
1.956 a 1.958 e implementado de 1.959 a 1.962, consista en representar la
informacin en un lenguaje formal y desarrollar un programa que razonara
haciendo inferencias (se definen unas reglas de lgica y se puede decir que se dan
las bases del razonamiento humano) sobre ella.
Las representaciones eran en forma de estructura de listas. Durante la primera
implementacin (59-62) se le aadieron caractersticas prog y la funcin
eval, las cuales dieron lugar al LISP1.5.
LISP se implement experimentalmente sobre el IBM 704 en 1.960 y se
desarroll un intrprete para uso productivo en 1.962. Se han producido varios
dialectos de LISP (MACLISP e INTERLISP) adems del compilador usado en
Berkeley llamado FranzLisp. LISP todava no ha sido estandarizado.
Su uso est restringido a aplicaciones de inteligencia artificial y robtica, recibe
datos en forma de smbolos y estructuras de expresiones simblicas. Trabaja la
- 57 -
Tras los pasos de un... Hacker
FORTH (1.960)
(FOuRTH-generation language)
FORTH, fue creado en 1.960 por el astrnomo Charles Moore (1.9??-, Fig. 32)
con una sintaxis parecida a LISP, utiliza notacin polaca inversa para los clculos.
Es usado ampliamente en aplicaciones de control de procesos, sistemas de
tiempo real, robtica e inteligencia artificial. Maneja nicamente nmeros
enteros. Est orientado al desarrollo de software para microcontroladores y
microprocesadores. Proporciona una gran velocidad de ejecucin y un manejo
eficiente de la memoria.
A pesar de estar catalogado como lenguaje de alto nivel, mantiene una acusada
proximidad con la mquina. Otra caracterstica reseable en su evolucin: El
FORTH permite al usuario crear sus propios comandos de una forma similar a
como se hace en LOGO; FORTH garantiza el acceso rpido al catlogo de
funciones que mantiene (en l se incluyen las rutinas definidas por el usuario).
- 58 -
Historia de la Computacin... Captulo I.
BASIC (1.964)
- 59 -
Tras los pasos de un... Hacker
El BASIC ya era popular, incluso antes del gran boom de la PC, ya que tambin era
incorporado en las grandes computadoras y enseado en casi todas las escuelas y
universidades de Estados Unidos y el mundo.
- 60 -
Historia de la Computacin... Captulo I.
PASCAL (1.970)
- 61 -
Tras los pasos de un... Hacker
ADA (1.975)
LOGO (1.976)
LOGO se desarrolla en 1.976 por el equipo dirigido por Seymour Papert (1.9??,
Fig. 37) en el Laboratorio de Inteligencia Artificial del MIT (Massachusetts
Institute of Technology, Instituto Tecnolgico de Massachusetts), principalmente
orientado a aplicaciones de inteligencia artificial y enseanza. El mismo lenguaje
LOGO, tiene versiones especficas que se usan para ese fin y derivados de este
que se usan para programar robots en fbricas. LOGO se inspir en el trabajo
- 62 -
Historia de la Computacin... Captulo I.
anterior de Papert (miembro del equipo de desarrollo del LISP), el lenguaje LISP.
Asimismo un mdulo lunar fue programado con una variante del lenguaje LOGO.
Son poco conocidas por el pblico estas aplicaciones y tambin que la versin de
LOGO Grfico desarrollada en Argentina se usa en la Comisin de Energa
Atmica para diseo de carga del reactor nuclear de Atocha.
LOGO no es solamente un lenguaje de programacin muy difundido en el mbito
de la educacin, sino que es tambin un conjunto de materiales disponibles para
someter a prueba al usuario, ya sea nio, adolescente o adulto, sobre su
capacidad de organizar sus ideas al tratar de ordenar algo a la computadora.
C (1.978)
Cvio la luz pblica en el ao de 1.978 y fue desarrollado a comienzos de los aos
1.970 por Dennis Ritchie (1.941-, Fig.38) en la Bell Telephone Laboratories Inc.
- 63 -
Tras los pasos de un... Hacker
JAVA (1.991)
- 64 -
Historia de la Computacin... Captulo I.
NOTAS Y BIBLIOGRAFA
Sobre esta historia de las computadoras y de los lenguajes de programacin, las
notas han sido elaboradas en base a publicaciones de revistas especializadas y la
consulta de los siguientes textos:
- 65 -
Tras los pasos de un... Hacker
- 66 -
Historia de la Computacin... Captulo I.
- PC Magazine, http://www.pcmag.com
- La wikipedia, http://www.wikipedia.org. La enciclopedia libre de la
Internet.
- Apuntes de clase, Nstor Marroqun Carrera, aos 1.9831.992.
- Trabajos de varios autores publicados en la worldwide web.
- 67 -
Tras los pasos de un... Hacker
- 68 -
INTRODUCCIN (II)
...Todos los das tena una ansiedad por llegar a la casa, luego de cumplir con mis
tareas escolares, y esperar a que mi to Ral llegara a su vez de la universidad
para pedirle me deje jugar con tan fascinante aparato. Jugar al ahorcado,
carrera de autos o adivina la palabra, como les comentaba anteriormente,
deseaba vehementemente aprender a programar esta computadora, cuyas
caractersticas entre otras eran:
Procesador: Sharp LH5801 corriendo a 1.3 MHz (comparada a la velocidad de mi
mquina actual una Toshiba Satellite 2400 CDS que corre a 1,7 GHz, es decir
1.307,69 veces ms lenta).
- 69 -
Tras los pasos de un... Hacker
Pues bien, el reto entonces para mi to, y por ende para m, era aprender a
programar esta computadora, ya que tampoco mi to tena formacin de
programador y en la universidad recin le estaban enseando las bases de la
programacin con fines de aplicacin en lo que sera su carrera de ingeniero civil.
Como podrn ver, estamos ya hablando de bytes, RAM, Kilobytes, Megabytes,
Gigabytes, pixeles, trminos hoy por hoy muy usados en la jerga informtica,
pero Qu son? Qu significan?
Bueno, para m eran palabras totalmente desconocidas medidas de qu? ya que
hasta ese entonces por el uso cotidiano entenda lo que era un metro, un
Kilmetro, entonces al leer y escuchar byte y Kilobyte, saba intuitivamente que
se trataba de una medida. Al enterarme que un byte era el conjunto de 8 bits y
- 70 -
La historia... Introduccin (II).
- 71 -
Tras los pasos de un... Hacker
- 72 -
CAPTULO II. NMEROS Y SISTEMAS DE NUMERACIN
- 73 -
Tras los pasos de un... Hacker
Con estos smbolos y otros auxiliares tomados de las letras del alfabeto se puede
representar cualquier nmero definido en un sistema de numeracin en
particular.
Ejemplo:
100, representa una coleccin de cien elementos en el sistema decimal.
10102, representa al nmero diez en el sistema binario.
238, representa al nmero diecinueve en el sistema octal.
FF16, representa al nmero doscientos cincuenta y cinco en el sistema
hexadecimal.
- 74 -
Nmeros y Sistemas de Numeracin... Captulo II.
N= {0,1, 2, 3, 4, 5, 6, 7, 8, 9}
Definido este conjunto (Nmeros Naturales), podemos dar las reglas que se han
de seguir para calcular el peso posicional de cada smbolo del nmero, para
esto:
1. Definimos un inicio con un punto, al que llamaremos punto decimal o
fraccionario. Se lo conoce tambin como coma decimal.
2. Definimos una base b que ser el nmero de elementos del conjunto N, en
este caso 10.
3. Todo smbolo hacia la izquierda de la coma decimal, tendr un factor
multiplicativo o peso positivo ascendente comenzando en 1, 10, 100,
1.000, etc., o lo que es lo mismo 100, 101, 102, 103,..., 10i-1. Donde i, nos
indicar el nmero de smbolos que estn a la izquierda del nmero
decimal.
4. Todo smbolo hacia la derecha de la coma decimal, tendr un factor
divisor o peso negativo ascendente comenzando con el 0.1, 0.01, 0.001,
etc., o lo que es lo mismo 10-1, 10-2, 10-3,..., 10-j. Donde j, nos indicar el
nmero de smbolos que estn la derecha de la fraccin decimal.
Estas reglas las podemos generalizar en la siguiente expresin matemtica:
Sea n la secuencia de smbolos:
n = xi-1 ... x1x0, y-1y-2... y-j
Tal que x e y N e i representa la posicin del smbolo a la izquierda de la coma
decimal y j la posicin del smbolo a la derecha de la coma decimal.
Donde:
n, representa la secuencia de smbolos.
x e y, un smbolo cualquiera del conjunto N.
i, el valor de la posicin de los smbolos a la izquierda de la coma decimal.
j, el valor de la posicin de los smbolos a la derecha de la coma decimal.
Para obtener el valor real de cada posicin, multiplicaremos cada elemento x por
10i-1,
donde i nos indica el valor de la posicin del smbolo x, en caso que el
smbolo numrico se encuentre a la izquierda de la coma decimal; o por 10-j en
caso que este smbolo se encuentre a la derecha de la coma decimal, donde jnos
indica el valor de la posicin del smbolo y.
- 75 -
Tras los pasos de un... Hacker
Para comprobar que estamos hablando del mismo nmero, sumemos los valores
reales calculados, as obtendremos el valor real de 425,106 (cuatro centenas ms
dos decenas ms cinco unidades coma una dcima ms cero centsimas ms seis
milsimas o lo que es lo mismo cuatrocientos veinticinco unidades ciento seis
milsimas).
- 76 -
Nmeros y Sistemas de Numeracin... Captulo II.
(1)
- 77 -
Tras los pasos de un... Hacker
Donde:
- 78 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS RESUELTOS:
- 79 -
Tras los pasos de un... Hacker
correspondiente.
- 80 -
Nmeros y Sistemas de Numeracin... Captulo II.
Observamos que en este ejercicio los smbolos del conjunto base, se reemplazan
por las primeras letras del alfabeto y cuyo valor es el de la posicin cardinal que
ocupan en el sistema de numeracin, as el A= 10 y B = 11.
- 81 -
Tras los pasos de un... Hacker
- 82 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS PROPUESTOS:
correspondiente.
correspondiente.
- 83 -
Tras los pasos de un... Hacker
- 84 -
Nmeros y Sistemas de Numeracin... Captulo II.
- 85 -
Tras los pasos de un... Hacker
321 | 3 .
02 |107| 3 .
21 | 17| 35| 3 .
0 | 2| 05| 11| 3 .
2| 2| 3 | 3 .
0 | 1
- 86 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS RESUELTOS:
7310 = 1337
- 87 -
Tras los pasos de un... Hacker
84131 | 16 .
41 | 5258 | 16 .
93 | 45 | 328 | 16 .
131 | 138 | 8 | 20 | 16 .
3 | 10 | | 4 | 1
A
8413110 = 148A316
45110 = 1110000112
- 88 -
Nmeros y Sistemas de Numeracin... Captulo II.
0,62510 = 0,1012
451,62510 = 111000011,1012
en base 32.
1034310 = A3732
- 89 -
Tras los pasos de un.. Hacker
0.81610 = 0.03LURUI3VPE932
1034381610 = A3703LURUI3VPE932
31 | 1 | 6 || 0 || 4 || 1
ll l
|
B |
- 90 -
Nmeros y Sistemas de Numeracin... Captulo II.
384243110 = 14061B20
0,000312510 = 0,002A20
3842431,000312510 = 140661B,002A20
- 91 -
Tras los pasos de un... Hacker
- 92 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS PROPUESTOS:
Ejercicio 21. Dado el nmero decimal 6510 obtener nmero correspondiente en base
3.
- 93 -
Tras los pasos de un... Hacker
- 94 -
Nmeros y Sistemas de Numeracin... Captulo II.
CASO ESPECIAL
Cuando tenemos un nmero binario, podemos transformar directamente a su
correspondiente, en cualquier base que sea potencia de dos (este mtodo es
tambin llamado mtodo directo), nicamente dividiendo el nmero binario en
grupos, cuyo nmero de elementos sern iguales al del nmero binario que
corresponda al mximo valor del smbolo de la base deseada; y, transformaremos
el grupo correspondiente a su valor en la base deseada, este nmero resultante
corresponde al nmero en la base deseada. (La divisin del nmero binario en
grupos, los tomaremos desde el punto fraccionario, los enteros hacia la izquierda
y los fraccionarios hacia la derecha, este procedimiento es recproco, para
transformar nmeros en base potencia de dos, al correspondiente binario).
- 95 -
Tras los pasos de un... Hacker
4780810 = 725209
BAC016 = 725209
10101111,010112 = 257,268
- 96 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS RESUELTOS:
5436 = 17911
en el sistema de base 7.
- 97 -
Tras los pasos de un.. Hacker
6410 = 1217
- Q8 -
Nmeros y Sistemas de Numeracin... Captulo II.
0,43621310 = 0,302423010653544523...7
64,43621310 = 121,302423010653544523...7
Ejemplo
13. Dado el nmero 1010110,0101112 obtener el nmero
correspondiente en el sistema de base 4.
N2 = 01 01 01 10,01 01 112
V V V V V V V
N4 = 1 1 1 2, 1 1 34
N4 = 1112,1134
- 99 -
Tras los pasos de un... Hacker
N8 = 36531,5728
- 100 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS PROPUESTOS
- 101 -
Tras los pasos de un... Hacker
- 102 -
Nmeros y Sistemas de Numeracin... Captulo II.
2.5.1 SUMA
DEFINICIN
Es la operacin o procedimiento mediante el cual agrupamos elementos de la
misma clase, el smbolo que indica este proceso es el signo ms (+).
ELEMENTOS
En la suma intervienen: los sumandos que son las cantidades a agruparse para
obtener el resultado final o total.
Sumandos Total
Ejemplo: 3810 + 4510 = 8310
a+b=c ; a, b, c R
- 103 -
Tras los pasos de un... Hacker
PROPIEDADES
En la suma encontramos definidas las siguientes propiedades:
A) PROPIEDAD CLAUSURATIVA
Ejemplo: a + b = c ; a, b, c R
314 + 224 = 1134
B) PROPIEDAD CONMUTATIVA
C) PROPIEDAD ASOCIATIVA
8C516 = 18C516
D) PROPIEDAD MODULATIVA
Si a una cantidad le adicionamos el elemento cero o ausencia de cantidad, este no
altera.
Ejemplo: 7618 + 08 = 761 8
- 104 -
Nmeros y Sistemas de Numeracin... Captulo II.
PROCEDIMIENTO
Para sumar en cualquier sistema de numeracin, debemos tener en cuenta el
orden lgico de la sucesin de cantidades y su respectivo smbolo y de cmo se
lleva el acarreo es este sistema (valor auxiliar que sumaremos a la siguiente cifra
a la izquierda de la que estamos sumando, en la computadora en el procesador
aritmtico tambin existe un registro especial que lleva el acarreo, cuando se
sobrepasa del lmite se produce un error denominado overflow o de
desbordamiento, cuando veamos algo de la Arquitectura de una Computadora
profundizaremos el tema), observando el orden de los smbolos que representan
las cantidades.
Claro est que el sistema de referencia es el decimal, podemos sumar y de hecho
en cualquier sistema, cuyo procedimiento es idntico al que utilizamos en el
decimal, observando los consejos anteriormente citados, as:
Binario
2 Ternario
3 7 Octal
8 Decimal
10 Hexadecimal
16
0
0 0 0 0 0 1
1 1 1 1 1 2
10 2 2 2 2 3
10100
10001
10000
1110
1101
1011
1010
111
100
11
10101
10011
10010
1111
1100
1001
1000
110
101 202
122
121
112
111
102
101
21
11
10
210
201
200
120
110
100
22
20
12 26
23
22
20
16
14
13
10
30
25
21
15
12
11
6
5
4
3 24
21
20
16
15
13
12
25
23
22
17
14
11
10
7
6
5
4
3 20
17
16
14
13
11
10
21
19
18
15
12
9
8
7
6
5
4
3 4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
.
. . . . . .
. . . . . .
. . . . .
Tabla 1. Nmeros en varios sistemas de numeracin.
- 105 -
Tras los pasos de un... Hacker
1 0 3 1 10
+ 8 9 5 10
1 9 2 6 10
3 2 14
+1 1 34
- 106 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS RESUELTOS:
- 107 -
Tras los pasos de un.. Hacker
El CE JCC e O
(O 3
- 108 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS PROPUESTOS:
- 109 -
Tras los pasos de un... Hacker
- 110 -
Nmeros y Sistemas de Numeracin... Captulo II.
2.5.2 RESTA
DEFINICIN
Es la operacin o procedimiento mediante el cual se disminuye elementos de la
misma clase, de una agrupacin de estos y cuya cantidad resultante complementa
a la cantidad disminuyente, el smbolo que indica este proceso es el signo menos
(-).
ELEMENTOS
Los elementos que intervienen en la resta, son: el minuendo que es la cantidad de
la que restaremos, el sustraendo que es la cantidad que restamos y el resultado
final o total.
PROPIEDADES
En la resta encontramos definidas las siguientes propiedades:
A) PROPIEDAD CLAUSURATIVA
La resta de elementos de la misma clase, dan origen a otro del mismo gnero.
Ejemplo: d- e = f ; d, e, f R
266 - 106 = 156
B) PROPIEDAD ASOCIATIVA
El minuendo y los sustraendos se pueden asociar sin que el total vare.
- 111 -
Tras los pasos de un... Hacker
25 = 25
Cuando apliquemos esta propiedad hay que tener en cuenta que los sustraendos
cuando se asocian se transforman en sumandos.
C) PROPIEDAD MODULATIVA
Si al minuendo se le resta el 0 o elemento nulo, el minuendo no se altera.
PROCEDIMIENTO
Aprenderemos como se resta, sumando; parece contradictorio pero as es como
nuestra computadora lo hace, ms an, trabajaremos con este proceso en todos
los sistemas de numeracin, pero para entender este mtodo, definiremos
primero una idea fundamental, como es, la idea de complemento (en la ALU
(Arithmetic Logic Unit), o en espaol Unidad Aritmtico Lgica, que es algo as
como el msculo del microprocesador de una computadora, este clculo de
complemento puede ser a 1 o a 2, dependiendo cmo? haya sido diseada tal
unidad, en fin como dije cuando veamos algo de la Arquitectura de una
Computadora, toparemos este tema); as, complemento es todo aquello que no
pertenezca a una cantidad dada, pero est comprendido en un universo definido,
con la siguiente propiedad, que ste complemento, sumado a dicha cantidad nos
d como resultado el universo definido, as por ejemplo: Si definimos un universo
de 100 alumnos y en un curso existen 32 alumnos, el complemento del curso ser
por lo tanto 68 alumnos.
Para restar por medio de complementos, seguiremos el siguiente procedimiento:
- 112 -
Nmeros y Sistemas de Numeracin... Captulo II.
minuendo.
b) Sumar el minuendo y el complemento obtenido.
c) Sumar las cifras que estn fuera del lmite de cifras posicionales a esta
cantidad obtenida, tendremos como respuesta el resultado final de la
resta.
c) Procedemos a la suma:
510
+ 710
1210
e) El resultado310
final es 310
Ejemplo: De 101012 restar 10012
a) Determinamos el universo, en este caso es la cantidad 111112
b) Hallamos el complemento de 10012 como regla completaremos el nmero
al universo definido; as, 010012 y hallamos el complemento, cambiando
- 113 -
Tras los pasos de un... Hacker
Nmero = 010012
Complemento = 101102
c) Procedemos a la suma del minuendo y el complemento:
1 0 1 0 12
+ 1 0 1 1 02
1 0 1 0 1 12
EJERCICIOS RESUELTOS:
- 114 -
Nmeros y Sistemas de Numeracin... Captulo II.
1 1 1
acarreo
FE0116
+ F45F16
1F26016
+ >116
F26116
1 acarreo
8 4 3 110
+ 7 5 5 610
1 5 9 8 710
+ >110
5 9 8 810
- 115 -
Tras los pasos de un... Hacker
s = 001010111,10102
s= 110101000,01012
- 116 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS PROPUESTOS:
- 117 -
Tras los pasos de un... Hacker
- 118 -
Nmeros y Sistemas de Numeracin... Captulo II.
2.5.3 MULTIPLICACIN
DEFINICIN
Es la operacin o procedimiento, mediante el cual se amplifica una cantidad dada,
tantas veces como lo indica otra de la misma clase, el smbolo que indica la
multiplicacin es el signo por (x *).
ELEMENTOS
Los elementos que intervienen en la multiplicacin son: los factores o
multiplicandos y el producto o resultado total.
PROPIEDADES
En la multiplicacin encontramos definidas las siguientes propiedades:
A) PROPIEDAD CLAUSURATIVA
B) PROPIEDAD CONMUTATIVA
El orden de los factores no altera el producto o resultado final.
- 119 -
Tras los pasos de un... Hacker
C) PROPIEDAD ASOCIATIVA
11011102 = 11011102
D) PROPIEDAD MODULATIVA
Si a un nmero en cualquier sistema, multiplicamos por 1b el nmero no altera.
243215 x 15 = 23421 5
E) INVERSO MULTIPLICATIVO
Todo nmero tiene su inverso multiplicativo excepto el 0b, cuyo producto ser
igual a 1n.
Ejemplo: 325
310 7x 110 = 110
310
x 17 = 17
3257
PROCEDIMIENTO
La multiplicacin en cualquier sistema, se rige por el mismo procedimiento que
para los nmeros decimales, pero aprenderemos, como se multiplica, sumando
en cualquier sistema, para esto, seguiremos los siguientes pasos:
- 120 -
Nmeros y Sistemas de Numeracin... Captulo II.
a) Sumamos el primer factor, tantas veces nos indique la primera cifra del
otro factor (a partir de la derecha del nmero).
43110
x 72510
215510
+ 862 10
3017 10
31247510
- 121 -
Tras los pasos de un... Hacker
+ 431 10 | 7 veces
431 10 |
431 10 |
431 10 /
31247510
EJERCICIOS RESUELTOS:
- 122 -
Nmeros y Sistemas de Numeracin... Captulo II.
- 123 -
Tras los pasos de un... Hacker
- 124 -
Nmeros y Sistemas de Numeracin... Captulo II.
326,BA0116
x A,013 16
326BA0116
+ 326BA0116
326BA0116
9742E0316
+ 326BA01 16
3BDFCE1316
+ 000000 16
3BDFCE1316
+ 326BA01 16
16
16
16
16
16
16
16
16
16
1F870206E1316
- 125 -
Tras los pasos de un... Hacker
- 126 -
Nmeros y Sistemas de Numeracin... Captulo II.
EJERCICIOS PROPUESTOS:
- 127 -
Tras los pasos de un... Hacker
- 128 -
Nmeros y Sistemas de Numeracin... Captulo II.
2.5.4 DIVISIN
DEFINICIN
Es la operacin o procedimiento, mediante el cual logramos establecer la relacin
que existe de una cantidad respecto de otra dada, el smbolo que indica esta
operacin es el signo dividido para ( /).
ELEMENTOS
Los elementos que intervienen en una divisin son: el dividendo, cantidad sobre
la cual estableceremos la relacin; el divisor, cantidad que se relaciona con el
dividendo; el cociente, cantidad que expresa la relacin del dividendo y el divisor;
y, el residuo, cantidad que sumada al producto del cociente con el divisor se
obtiene el dividendo.
PROPIEDADES
En la divisin tenemos definidas las siguientes propiedades:
A) PROPIEDAD CLAUSURATIVA
La divisin de dos cantidades, dan origen a otra de la misma clase.
Ejemplo: 217 37 = 57
B) PROPIEDAD MODULATIVA
La divisin de toda cantidad para la unidad, da como cociente la misma cantidad.
- 129 -
Tras los pasos de un... Hacker
Ejemplo: 324 14 = 32 4
PROCEDIMIENTO
Para poder dividir dos nmeros en cualquier sistema, aprenderemos a dividir
sumado, para lo cual seguiremos el siguiente proceso:
e) Repetimos los pasos b hasta el d, tantas veces como sea necesario hasta
que el resultado final de las sumas sea menor que el divisor.
- 130 -
Nmeros y Sistemas de Numeracin... Captulo II.
Paso b) comparamos 3210 con 4510, vemos que el divisor es mayor, por tanto
tomamos la siguiente cifra, tendremos 32210, volvemos a comparar, como la
condicin es falsa continuamos con el proceso.
Paso c) hallamos el complemento del divisor en el universo definido por 32210, es
decir 99910, ahora s = 4510 su complemento ser s=95410, entonces se cumple
que:
s+ s = 99910.
Pasos d) y e).
322 110
+ 95410 (1) (primera suma)
127610 (R=1)
+>110
+ 277
95410
10 (2) (segunda
(27710 es suma)
mayor que 4510 por tanto continuamos con d) y e))
123110 (R=2)
+>110
+118610
23210
95410 (3) es suma)
(tercera
(23210
(R=3) mayor que 4510 por tanto continuamos con d) y e))
+>110
+1141
187
95410
10
10 (4) (18710 essuma)
(cuarta
(R=4) mayor que 4510 por tanto continuamos con d) y e))
+>110
+109610
14210
95410 (5) (quinta
(14210
(R=5) essuma)
mayor que 4510 por tanto continuamos con d) y e))
+>110
+1051
9710
95410
10 (6) (9710 essuma)
(sexta
(R=7) mayor que 4510 por tanto continuamos con d) y e))
+>110
+ 95410
5210 (7) (sptima
(5210 es mayor
suma, que
veremos
4510 por
que tanto
este valor
continuamos
(7) es con
la primera
d) y e))
100610
+>110 cifra
(R=7) del resultado)
710 (710 es menor que 4510 por tanto continuamos con f))
- 131 -
Tras los pasos de un... Hacker
7110 (Paso g)
+12510
5410 (1) (primera
(en este caso,
suma, este
realizamos
valor (1)
los es
pasos
la segunda
c), d), cifra
y e)) del
+95410
21510 (2) (segunda suma)
116910 (R=71,2)
+>110
17010
112410
+95410 (3)(R=71,3) (tercera suma)
+>110
+95410
12510 (4)
(cuarta suma)
107910
+>110 (R=71,4)
8010
+95410 (5) (quinta suma)
103410 (R=71,5)
+>110
3510 (condicin de fin de procedimiento, 5 primera cifra
35010 Ahora adicionamos un 010, para continuar obteniendo cifras
fraccionaria)
+>110
+95410
21510 (4)
(cuarta suma)
116910 (R=71,54)
+>110
17010
- 132 -
Nmeros y Sistemas de Numeracin... Captulo II.
(Como observamos, se repite el valor 3510, lo cual nos indica que la fraccin es
peridica en la ltima cifra)
10112
+0112 (1) (primera suma, en este caso como veremos 1)
10002 (es la primera cifra del resultado)
+>12 (R=1)
12 (termina proceso, bajamos la siguiente cifra)
112 (termina proceso, obtendremos que 0 es la siguiente cifra del
resultado, no se hizo ninguna suma)
(R=10)
1102 (Empiezan las fracciones)
+0112 (1) (primera suma)
10012 (R=10,1)
+>12
102 (termina proceso, adicionaremos un 02 paras seguir calculando)
1002 (R=10,10)
(primera suma, 1 es la siguiente cifra del resultado)
+0112(1)
1112 (observamos que hemos obtenido el universo definido, por tanto
terminamos el proceso)
(R=10,11)
- 133 -
Tras los pasos de un... Hacker
EJERCICIOS RESUELTOS:
111111112
+010112 (1)
1010102 (R=1)
+ >12
010112
101112
+010112 (1)
1000102 (R=11)
+>12
000112
1112 (0) (R=110)
11112 (0) (R=1100)
1111,02 (Empiezan las fracciones)
+0101 12 (1) (R=1100,1)
10100 12
+>12
101 02
101 002
+010 112 (1) (R=1100,11)
111 112 (Termina proceso)
+>14
24
224 (0) (24 es menor que 234, 224 es menor que 234, por tanto, no
2204 (R=110) se hace ninguna suma, el contador queda en 04 y empiezan
- 134 -
Nmeros y Sistemas de Numeracin... Captulo II.
1314
+ 3104 (2) (R=110,2)
11014
+>14
1024
+ 3104 (3) (R=110,3)
10124
+>14
134
1304 (R=110,30)
+ 3104 (1)
11004 (R=110,31)
+>14
1014
+ 3104 (2)
10114 (R=110,32)
+>14
124
1204 (R=110,320)
+ 3104 (1)
+>1
10304 (R=110,321)
4
0314
+ 3104 (2)
+>1
10014 (R=110,322)
4
0024
00204 (R=110,3220)
Para hallar el resto contamos las cifras que se adicion hasta el residuo final, se
coloca la coma fraccionaria en el primer cero (si hay fracciones) o completamos
con ceros a la izquierda, en este caso calculamos 4 dgitos fraccionarios y el resto
calculado tiene 4 dgitos, por esta razn el resto es 0,00204.
- 135 -
Tras los pasos de un... Hacker
101012 (R=0)
1010102 (R=0,0)
10101002 (R=0,00)
(R=0,000)
101010002
+100110112 (1)
1010000112 (R=0,001)
+>12
010001002
100010002
+100110112 (1) (R=0,0010)
1001000112 (R=0,0011)
+>12
001001002
10010002 (R=0,00110)
100100002
+10011011 (1) (R=0,001100)
1001010112 (R=0,001101)
+>12
001011002
10110002 (R=0,0011010)
101100002 (R=0,00110100)
+100110112 (1)
1010010112 (R=0,00110101)
+>12
010011002
100110002 (R=0,001101010)
+100110112 (1)
1001100112 (R=0,001101011)
+>12
001101002
- 136 -
Nmeros y Sistemas de Numeracin. Captulo II.
(2) (R=12)
(3) (R=13)
(4) (R=14)
(5) (R=15)
(6) (R=16)
(R=16, 0)
(1) (R=16, 1)
(2) (R=16, 2)
(3) (R=16, 3)
(5) (R=16,5)
(6) (R=16, 6)
- 137 -
Tras los pasos de un.. Hacker
(R=16, B0)
(R=16, B1)
F385A010
+45EFCED, (1) (R=1)
139756EE.
+ L->11
39756EF,
39756EFO, (R=10)
12DD46BDD1
+ L->11
2DD46BDE
+F45EFCED (2) (R=12)
- 138 -
Nmeros y Sistemas de Numeracin... Captulo II.
1223368CB16
+>116
223368CC16
1169265B9
+F45EFCED16 (3) (R=13)
16
+>116
169265BA16
10AF162A716
+F45EFCED16 (4) (R=14)
+>116
0AF162A816
AF162A80 (R=14,0)
1A375276D
+F45EFCED16 (1) (R=14,1)
16
+>116
A375276E16
+F45EFCED (2) (R=14,2)
197D4245B16
16
+>116
97D4245C16
+F45EFCED (3) (R=14,3)
18C33214916
16
+>116
8C33214A16
+F45EFCED (4) (R=14,4)
180921E3716
16
+>116
80921E3816
174F11B25
+F45EFCED16 (5) (R=14,5)
16
+>116
74F11B2616
16950181316
+F45EFCED16 (6) (R=14,6)
+>116
6950181416
+F45EFCED (7) (R=14,7)
15DAF150116
16
+>116
5DAF150216
+F45EFCED (8) (R=14,8)
1520E11EF16
16
+>116
520E11F016
- 139 -
Tras los pasos de un... Hacker
+F45EFCED
1466D0EDD16
16 (9) (R=14,9)
+>116
466D0EDE16
13ACC0BCB
+F45EFCED16 (A) (R=14,A)
16
+>116
3ACC0BCC16
12F2B08B916
+F45EFCED16 (B) (R=14,B)
+>116
2F2B08BA16
+F45EFCED16
1238A05A716 (C) (R=14,C)
+>116
238A05A816
117E90295
+F45EFCED16 (D) (R=14,D)
16
+>116
17E9029616
10C47FF83
+F45EFCED16 (E) (R=14,E)
16
+>116
0C47FF8416
100A6FC7116
+F45EFCED16 (F) (R=14,F)
+>116
00A6FC7216
- 140 -
Nmeros y Sistemas de Numeracin. Captulo II.
EJERCICIOS PROPUESTOS:
- 141 -
Tras los pasos de un... Hacker
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Nmeros y Sistemas de Numeracin, las notas han sido
elaboradas en base a publicaciones de revistas especializadas y la consulta de los
siguientes textos:
- 142 -
Nmeros y Sistemas de Numeracin... Captulo II.
- 143 -
Tras los pasos de un... Hacker
- 144 -
INTRODUCCIN (III)
... Este periodo de aprendizaje me llevara hasta que, tanto en el colegio como por
mis propios medios, dominara algunos conceptos algebraicos, ya que sin ese
conocimiento, ni en sueos podra por fin programar la fascinante computadora.
Fruto de esta actitud autodidacta (vale decir que todos los Hackers son
autodidactas), super sin problemas las materias ms difciles de dominar en la
etapa colegial, que son las relacionadas a la matemtica. Pero para m ya no
tenan ningn misterio; es ms, ayudaba a mis compaeros de curso a entender
lo que aprendamos en clase. Por fin mi to Ral, decide seguir un curso de
programacin BASIC en la Universidad Central del Ecuador, fruto de ello cae en
mi poder una gua de curso elaborada por el Lcdo. Ricardo Ortega que se
denominaba Programacin BASICignoro si l era el autor e instructor, o como
en el colegio tomamos el lgebra de Baldor y otro es el profesor que ensea
esta materia.
No me llev mucho tiempo hasta que comprend que existen variables y
constantes en programacin, pude por fin hacer que la TRS-80 sumara dos
nmeros, qu alegra indescriptible sent! mi primer programa de computadora,
y a la vez, qu decepcin! nicamente haba digitado de la gua de curso algo as:
- 145 -
Tras los pasos de un... Hacker
Pero todava no tena los elementos suficientes para poder entender del todo lo
que estaba haciendo y me top con un tema que en programacin se utiliza, se
trata de la lgica binaria tambin conocida como lgebra de Boole. Con ella los
ingenieros que disean microprocesadores, elaboran sumadores lgicos
(Unidades Aritmtico Lgicas) y dota de las bases para lo que hoy conocemos
como circuitos digitales.
Les invito a conocer algo del lgebra de Boole...
- 146 -
CAPTULO III. LGICA BINARIA
Nuestro razonamiento (juicio) nos hace llegar a conclusiones que bajo ciertas
condiciones, estimamos que el problema enunciado es factible de solucin si la
tiene, si es verdadera o falsa. Observamos que los elementos del razonamiento
- 147 -
Tras los pasos de un... Hacker
Jorge tom las tres gallinas y las vendi. Trat de hacer creer a Juan que
Solucin:
su animal se las comi.
EJERCICIOS RESUELTOS:
- 148 -
Lgica Binaria... Captulo III.
Irn a la costa los autos blancos y los cremas, a la sierra los rojos y los
negros y los que quedan en la fbrica son los cafs.
- 149 -
Tras los pasos de un... Hacker
- 150 -
Lgica Binaria... Captulo III.
EJERCICIOS PROPUESTOS:
Un cazador tiene que pasar a la otra orilla de un ro, pero entre sus
Ejercicio 144.
piezas tiene un len (hambriento), una oveja y una paca de heno, cuyos pesos son
50 libras cada uno y el cazador 100, la barca no pude soportar ms de 150 libras.
Cmo pasa el cazador al otro lado sin perder ninguna mercadera?
Superficie 15 hectreas.
Ahora que hemos razonado un poco, podemos estudiar la Lgica Binaria, la cual
se desarrolla en el lgebra de Boole.
- 151 -
Tras los pasos de un... Hacker
- 152
Lgica Binaria... Captulo III.
DEFINICIN
Es el conjunto de reglas, leyes y teoremas, mediante los cuales las operaciones
lgicas pueden ser expresadas simblicamente en forma de ecuaciones y
manipuladas matemticamente.
En este tratado de lgica, nicamente admitiremos dos posibles resultados, el
verdadero que lo simbolizaremos con el 1 y el falso cuyo smbolo ser el 0. Esta
convencin la utilizaremos ya que estos dgitos son los del sistema binario.
NO (NOT, )
Entonces
A= {x/x es verdadero six Ayxes falso}
- 153 -
Tras los pasos de un... Hacker
A) TABLA DEVERDAD
A A
0 1
1 0
B) COMPUERTA LGICA
A A
B= { x/x sea 0 o 1 }
Entonces
A+ B = { x/x es verdadero si xverdadero A o B}
A) TABLA DE VERDAD
A
0 B A+B
0 0
0 1 1
1 0 1
1 1 1
- 154 -
Lgica Binaria... Captulo III.
B) COMPUERTA LGICA
B
A
A+B
B= { x/x sea 0 o 1 }
Entonces
A) TABLA DE VERDAD
A B A B
0 0 0
0 1 0
1 0 0
1 1 1
B) COMPUERTA LGICA
B
A
A B
- 155 -
Tras los pasos de un... Hacker
ONEGADO (NOR, + )
B= { x/x sea 0 o 1 }
Entonces
A+ B = { x/x es verdadero si x A+Byx falso }
A) TABLA DEVERDAD
A B A B A B
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
B) COMPUERTA LGICA
A
A+B
B
YNEGADA (NAND, -)
B= { x/x sea 0 o 1 }
- 156 -
Lgica Binaria... Captulo III.
Entonces
A- B = { x/x es verdadero six A Byx falso }
A) TABLA DEVERDAD
A B A B A B
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0
B) COMPUERTA LGICA
B
A
A-B
O EXCLUSIVO (XOR, )
Los elementos de O exclusivo o diferencia simtrica, son falsos si las 2
entradas son iguales.
Si A= { x/x sea 0 o 1 }
B= { x/x sea 0 o 1 }
Entonces
- 157 -
Tras los pasos de un... Hacker
A) TABLA DEVERDAD
A B A B
0 0 0
0 1 1
1 0 1
1 1 0
B) COMPUERTA LGICA
A
A B
B
B= { x/x sea 0 o 1 }
Entonces
A) TABLA DEVERDAD
A B A B A B
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
- 158 -
Lgica Binaria... Captulo III.
B) COMPUERTA LGICA
A
A B
B
EJERCICIOS RESUELTOS:
A+B C
Si A = {1, 1, 1, 1, 0, 0, 0, 0 }
B = {1, 1, 0, 0, 1, 1, 0, 0 }
C = {1, 0, 1, 0, 1, 0, 1, 0 }
Obtener:
A+B C=?
a) Tablas de verdad:
- 159 -
Tras los pasos de un... Hacker
1 A
A 0
0
A+B C-D
0
B
0
0
C B C-D
1
D 1
C-D
A D C+ E B D
Si: A= {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
B= {1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}
C= {1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0}
D= {1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0}
E= {1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0}
- 160 -
Lgica Binaria. Captulo III.
o A. Da C + E. B a D
A. De c - E A e D. GB, C + E
AoD B PD C+ E
- 161 -
Tras los pasos de un... Hacker
0 1 0 1 0 1 0 0 0
0 0 0 1 1 0 0 1 1
0 0 0 1 1 0 0 0 0
0 1 0 0 0 1 1 1 1
0 1 0 0 0 1 1 0 1
0 0 0 0 1 1 1 1 1
0 0 0 0 1 1 1 0 1
0 1 0 0 0 0 0 1 1
0 1 0 0 0 0 0 0 0
0 0 0 0 1 1 0 1 1
0 0 0 0 1 1 0 0 0
- 162 -
Lgica Binaria. Captulo III.
- 163 -
Tras los pasos de un... Hacker
- 164
Lgica Binaria... Captulo III.
EJERCICIOS PROPUESTOS:
A= {0,0,1,1}
B = {0,1,0,1}
Dados los conjuntos A, B y C; y definida la operacin lgica A B C,
Ejercicio 147.
disear la compuerta lgica, por medio de tablas de verdad, encontrar el conjunto
resultado, si:
A= {1,1,1,1,0,0,0,0}
B = {1,1,0,0,1,1,0,0}
C = {1,0,1,0,1,0,1,0}
Dados los conjuntos A, B y C; y definida la operacin lgica A B C B
Ejercicio 148.
disear compuerta lgica, por medio de tablas de verdad, encontrar el conjunto
la
resultado, si:
A = {1,0,1,0,1,0,1,0}
B = {1,1,0,0,1,1,0,0}
C = {1,1,1,1,0,0,0,0}
Dados los conjuntos A, B y C; y definida la operacin lgica A B C
Ejercicio 149.
disear la compuerta lgica y por medio de tablas de verdad, encontrar el
conjunto resultado, si:
A = {1,1,0,0,1,1,0,0}
B = {1,0,1,0,1,0,1,0}
C = {1,1,1,1,0,0,0,0}
Dados los conjuntos A, B y C para cada caso pedido, disear la
Ejercicio 150.
compuerta lgica, por medio de tablas de verdad, encontrar el conjunto resultado
- 165 -
Tras los pasos de un... Hacker
de:
a) A B
b) C A B
c) A B C
d) C + A B
Si:
A = {1,0,1,0,1,0,1,0}
B = {1,1,0,0,1,1,0,0}
C = {1,1,1,1,0,0,0,0}
Dadas las entradas A, B, C y D; disear la compuerta lgica que genere
Ejercicio 151.
los siguientes resultados:
a) A BC
b) AC C D
c) B D + C D A
d) D A
Ejercicio 152. Dadas las entradas A, B, C y D por medio de tablas de verdad, encontrar
el conjunto resultado de:
a) A+B+C
b) A D C D B
c) A B B+C
d) A B CD D B
Si la entrada a la operacin lgica A B C, son los valores 1, 0 y 1
Ejercicio 153.
respectivamente para A, B y C. Qu resultado nos arroja dicha operacin?
- 166 -
Lgica Binaria... Captulo III.
A B C+ A
Encontrar los valores que arroja dicha operacin para:
a) 1,1,0
b) 0,0,1
c) 1,0,1
d) 0,0,0
e) 1,1,1
a) A B C D+E
b) A BE
a) 1,1,0,1,0
b) 0,1,0,1,1
c) 0,1,0,0,0
d) 1,0,0,0,1
e) 0,1,1,1,1
f) 0,0,1,0,0
g) 1,1,1,1,1
h) 0,0,0,0,0
- 167 -
Tras los pasos de un... Hacker
sabemos que las entradas fueron A y B cuyos elementos son: {1,0,1,1} y {0,1,1,0}
respectivamente. Dar 3 soluciones
Si la salida que genera la operacin lgica A B C es 0. Qu valores
Ejercicio 158.
fueron introducidos como entrada en cada valor? Dar una solucin.
Si la salida que genera la operacin lgica A B C es 1. Qu valores
Ejercicio 159.
fueron introducidos como entrada en cada valor? Dar una solucin.
Si en la entrada de una operacin lgica, intervienen los elementos A, B,
Ejercicio 160.
C y D cuyos valores fueron {1,1,1,1}; {0,0,1,1}; {1,0,1,1} y {1,0,1,1}
respectivamente. Qu operaciones lgicas se efectuaron?, si el resultado
arrojado fue {1,1,1,0}. Dar una solucin.
- 168 -
Lgica Binaria... Captulo III.
A) LEY CLAUSURATIVA
Si:
A= {0,1}
B= {0,1}
B) LEY CONMUTATIVA
El orden de los elementos que intervienen en las operaciones lgicas Y y
O, no modifican el conjunto resultado o salida.
Si:
A= {0,1}
B= {0,1}
Se cumple que:
A B=B A
A+ B = B + A
C) LEY ASOCIATIVA
- 169 -
Tras los pasos de un... Hacker
Si:
A= {0,1}
B= {0,1}
C= {0,1}
Se cumple que:
(A+B)+ C = A+(B+C)
(A B) C=A (B C)
D) LEY DISTRIBUTIVA
Si:
A= {0,1}
B= {0,1}
C= {0,1}
Se cumple que:
A (B+C)=A B+A C
A+(B C)=(A+B) (A+C)
- 170 -
Lgica Binaria... Captulo III.
A B = A+B
A+ B = A B
Ejemplo:
Si:
A= {0,0,1,1}
B= {0,1,0,1}
- 171 -
Tras los pasos de un... Hacker
A B A B A B
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0
A B A B
1 1 1
1 0 1
0 1 1
0 0 0
A B = {1,1,1,0} ^ A+ B = {1,1,1,0}
A B = A+B
EJERCICIOS RESUELTOS:
- 172 -
Lgica Binaria... Captulo III.
= A B 1 + A B (Por Teorema f)
= A B + A B (Por Teorema d)
Solucin: A B+AB+ABCD+ABCD = AB + AB
= AB CC+A B C(PorLeyDistributiva)
= AB C+AB C(PorTeoremag)
=(AB+AB) C(PorLeyDistributiva)
= [(A+A)B] C(PorLeyDistributiva)
= 1B C(PorTeorema d)
= [B ] [C ] (Por Teorema d)
- 173 -
Tras los pasos de un... Hacker
- 174 -
Lgica Binaria... Captulo III.
EJERCICIOS PROPUESTOS:
- 175 -
Tras los pasos de un... Hacker
- 176 -
Lgica Binaria... Captulo III.
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Lgica Binaria y del lgebra de Boole, las notas han sido
elaboradas en base a publicaciones de revistas especializadas y la consulta de los
siguientes textos:
- 177
Tras los pasos de un... Hacker
- 178 -
INTRODUCCIN (IV)
... Ahora, tendra que reforzar el conocimiento adquirido para poder manejar la
mtrica informtica y poder organizar la informacin que en adelante manejara.
Les invito a conocer cmo? se pueden manejar y organizar los datos. En
definitiva, procesar la informacin as como aplicar algunas de las funciones que
en computacin estn normalizadas para trabajar con estos datos...
- 179 -
Tras los pasos de un... Hacker
- 180 -
CAPTULO IV. LA INFORMACIN
4.1 DEFINICIN
En computacin la informacin ser cualquier seal inteligible o descifrada que
fue transmitida entre la entrada y la salida de un sistema, la misma que es
representada como dato computacional y susceptible de ser procesado en una
computadora o dispositivo automtico de procesamiento de datos.
- 181 -
Tras los pasos de un... Hacker
4.2.1 BIT
Es la porcin bsica de informacin que puede ser procesada por una
computadora o transmitida por dispositivos electrnicos.
Su nombre se deriva de la frase inglesa binary digit (dgito binario), que por
facilitad se la acomod al adjetivo bit pequeo, poquito, de nfimo tamao.
Su notacin ser una b (b minscula).
Para que puedan ser procesados o transmitidos los bits, pueden agruparse en
paquetes y a partir de estos grupos se establece la unidad de informacin que se
denomina Byte.
- 182 -
La informacin... Captulo IV.
4.2.2 BYTE
Es la unidad bsica de informacin computacional que representa un smbolo o
cdigo con el que una computadora puede construir y procesar informacin.
Segn el diseo de la computadora, el Byte puede ser de 8 bits (dependiendo si se
acompaa un bit de paridad, ser de 9 bits), 16 bits, 32 bits, 64 bits o la cantidad
de bits que el fabricante haya dispuesto para este procesamiento bsico de
informacin.
Ejemplo:
Estos bytes para estos smbolos y letras se encuentran normalizados a travs del
estndar ISO 10646 e ISO 8879. Como podemos ver estos bytes tienen 8 y 16
bits de longitud.
- 183 -
Tras los pasos de un... Hacker
Medidas de la Informacin
(Para nuestra tabla usaremos Bytes de 8 bits)
- 184 -
La informacin... Captulo IV.
4.2.5 CAMPO
Es la longitud de Bytes destinado a almacenar alguna informacin.
Los campos pueden ser de tamao fijo o variable, lo importante es que podemos
nombrarlos para que se agrupen de alguna forma y poder trabajar con ellos.
Ejemplo:
- 185 -
Tras los pasos de un... Hacker
4.2.6 REGISTRO
Es la unin concatenada de campos que guardan alguna relacin entre s.
Ejemplo:
4.2.7 ARCHIVO
Es la unin concatenada de registros que guardan alguna relacin entre s.
Ejemplo:
Ejemplo:
- 186 -
La informacin... Captulo IV.
4.3.1 DEFINICIN
Entre los datos numricos podemos diferenciar o definir los siguientes: datos
numricos enteros y datos numricos reales.
- 187 -
Tras los pasos de un... Hacker
[- + ]
La magnitud de los datos numricos, tanto enteros como reales, depende de la
computadora utilizada, por lo general su rango suele ser [32768:32767] y
[2.9E39:1.7E38] respectivamente.
- 188 -
La informacin... Captulo IV.
- 189 -
Tras los pasos de un... Hacker
B) OPERADORES DE RELACIN
Son smbolos que representan o definen relaciones de comparacin entre
expresiones.
C) OPERADORES LGICOS
Son palabras que definen las operaciones lgicas que deseamos efectuar,
encontramos definidos 3 operadores lgicos, estos son: NO (NOT), Y
(AND) y O (OR), estn regidos a las leyes del lgebra de Boole y la
computadora los efecta como tales.
- 190 -
La informacin... Captulo IV.
frmula a calcular.
(ESPAOL)
FUNCIN FUNCIN
(INGLS) SIGNIFICADO
ABS(x) ABS(x) Valor absoluto de x.
ARCTAN(x) ATN(x) Calcula la funcin arcotangente
de x.
COS (x) COS(x) Calcula la funcin coseno de x.
EXP(x) EXP(x) Calcula la funcin exponencial ex
LOG(x) LOG(x) Calcula el logaritmo vulgar de x.
LN(x) LN(x) Calcula el logaritmo natural dex.
REDONDEA(x, y) ROUND(x, y) Redondearxa y decimales.
SEN(x) SIN(x) Calcula la funcin seno de x.
RCUAD(x) SQR(x) Calcula la raz cuadrada de x.
CENT(x) CINT(x) Devuelve la parte entera de x,
como valor entero.
ENT(x) INT(x) Devuelve la parte entera de x,
como valor real.
ALEAT(x) RND(x) Calcula un valor aleatorio
comprendido entre 0 y x.
4.6 ERRORES
El tratamiento de errores es de gran importancia para el correcto funcionamiento
de un programa, el programador debe conocer cules? y de qu manera? puede
evitar que estos errores se produzcan.
Los errores pueden ser de 3 tipos (uno de los cuales la computadora nos ayuda a
localizar), estos son: errores de sintaxis, errores de uso y errores de lgica.
- 191 -
Tras los pasos de un... Hacker
A) ERRORES DE SINTAXIS
Se produce cuando escribimos incorrectamente una instruccin o la
expresin no se ajusta a la sintaxis del lenguaje utilizado.
B) ERRORES DE USO
Se produce cuando usamos incorrectamente el argumento de una
expresin matemtica o el tipo de dato ingresado a una funcin no
corresponde al tipo definido para su correcta evaluacin.
C) ERRORES DE LGICA
Se produce cuando implementamosincorrectamente los procesos de un
programa, obteniendo muchas veces resultados alejados de los deseados.
+, - Aritmtico.
5
Suma o resta.
=,=<,<,<>,>,>= Relacional. 5
No Lgica. 6
Y Lgica. 6
O Lgica. 7
- 192 -
La informacin... Captulo IV.
EJERCICIOS RESUELTOS:
- 193 -
Tras los pasos de un... Hacker
Ejemplo 49. 38
Ejemplo 53. A, B, C.
= (3*5+2^3*(4+83)^3+10)
- 194 -
La informacin... Captulo IV.
= (3*5+2^3*(87) ^3+10)
= (3*5+8* 658503+10)
= (15+5268024 + 10)
= 5268049
Error: No existe.
AREA=(8.5) * (2)
AREA= 17,0
31 * 21 +85*SEN(0,7854) * 10 ^3
Ahora la evaluamos:
31 * 21 +85*SEN(0,7854) * 10 ^ 3 = 31 * 21 +85* 0,7071 *10^3
- 195 -
Tras los pasos de un.. Hacker
= 31 * 21 + 85 * 07071 * 1000
= 651 + 60103,5
= 60754,5
= 43951,677
CAF = (-(5+CENTCZ+B)+3*ABS(Y+X)+25*RCUAD(0,56E+4)^3*SEN(1.0472)
CAF= (-(5+CENT(Z+B)+3*ABS(Y+X)+25*(748331)^3*SEN(10472)))
2. Evaluamos la expresin:
CAF= (-(5+CENT(Z+B)+3*ABS(Y+X)+25*(748331)^3*SEN(10472)
= (-(5+CENT(3+8)+3*ABS(853+8)+25*(74,8331)^3+(0.866)))
- 196 -
La informacin... Captulo IV.
= (-(5+CENT(11)+3*ABS(93,3)+25*419064,8254+0,866))
= (-(5+11+3*93,3+25*419064,8254+0,866))
= (-(5+11+279,9+10476620,635+0,866))
= (-(10476919,401))
= (-10476919,401)
=-10476919,401
clculo expresin:
la
ENTERO = REDONDEA(A+B^C+3/A+B/C*D^4)+C/D+A+B+C^D
Evaluar para:
a) A= 1, B = 3, C = 2, D = 5; y,
b) A=3, B = 2, C = 10, D = 13
Procedimiento:
a) Evaluamos la expresin para los valores dados:
ENTERO = REDONDEA(1+3^2+3/1+3/2*5^4)+2/5+1+3+2^5
= REDONDEA(1+9+3/1+3/2*625)+2/5+1+3+2^5
= REDONDEA(1+9+3+937.5)+2/5+1+3+2^5
= REDONDEA(950.5)+2/5+1+3+2^5
=951 +2/5+1+3+2^5
- 197 -
Tras los pasos de un... Hacker
= 987,4
ENTERO= CENT(A+B^C+3/A+B/C*D^4)+C/D+A+B+C^13)
b) Evaluamos la expresin para los valores dados:
ENTERO= REDONDEA(3+2^10+3/3+2/10*13^4)+10/13+3+2+10^13
= REDONDEA(3+1024+3/3+2/10*25561)+10/13+3+2+10^13
= REDONDEA(3+1024+1+5712.2)+10/13+3+2+10^13
= REDONDEA(6739,2)+10/13+3+2+10^13
= 6739+10/13+3+2+1E+13
= 6739+0,7692+3+2+1E+13
= 1E+13
- 198 -
La informacin... Captulo IV.
EJERCICIOS PROPUESTOS:
Ejercicio 191. B, A, {
Ejercicio 201. 31
- 199 -
Tras los pasos de un... Hacker
Ejercicio 215.
214. 2133
3261E+3
Ejercicio 216. 1
Ejercicio 221.35+CENT(21/3+1^3,5+2/3)+10*3/5)=?
Ejercicio 222.3^2^3+8*2/4 = ?
Ejercicio 223.4^(3^2)+25*3*RCUAD(625)=?
- 200 -
La informacin... Captulo IV.
Ejercicio 225.-45.27*2.65*2^6/12-(-131)*10.6/1E+3+3*1E-3=?
Ejercicio 229.261+361+261^3+216^3+3161*3/1E+21 = ?
Ejercicio 230.31+3*5+(3+10^3+21/3*6)^2+2^3+3/1E+3=?
Evaluar para: a)X= 0,7854, b)X= 1,0472, c)X= 0.5236, d)X= 1.5708. Nota: n!
significa n factorial, el alumno debe investigar la funcin factorial.
Se define la variable RELX como valor real, la expresin se evala para
Ejercicio 235.
X como: RELX=(X+(X+1)*COS(X^3))/X-2), PARAX=0,6341, debiendo obtenerse
como valor generado el 1,6219.
Ejercicio 237. Se define la variable C como valor entero, la expresin se evala para A,
- 201 -
Tras los pasos de un... Hacker
Ejercicio 239. Se define la variable AN como valor entero, la expresin que calcula AN
se evala para A, I, B, Ly J, como: AN = A+ENT((I+1)*(B^(L-J))+0,5), evaluar la
expresin para a)3, 2,1, 0,3; y, b) 32, 16, 2.1, 63,1 respectivamente.
NOTAS Y BIBLIOGRAFA
Sobre este tratado de La Informacin y Funciones Estandarizadas en Informtica,
las notas han sido elaboradas en base a publicaciones de revistas especializadas y
la consulta de los siguientes textos:
- 202 -
La informacin... Captulo IV.
- 203 -
Tras los pasos de un... Hacker
- 204 -
INTRODUCCIN (V)
... Pasaba el tiempo, con gran sacrificio y dedicacin (miren que los temas que
hemos tratado, muchos estudiantes de informtica los investigan y aprenden en
los cursos introductorios de los primeros aos de la Universidad pero para un
tercer ao de colegio!... Les explico, en mi pas y en el tiempo en que curs la
secundaria, los periodos acadmicos estaban divididos en: 1 ao de preparatoria
(llamado cariosamente jardn de infantes), 6 aos de escuela primaria
(Escuela), 6 aos de escuela secundaria (Colegio) y finalmente la etapa
universitaria (Universidad)) a ms que como les contaba, la materia de
computacin nunca la recib en mi querido colegio y tampoco de lo que yo s, en
ningn colegio de mi pas se imparta esta materia oficialmente. Las Ciencias de
la Computacin estaban destinadas a estudiarse en la Universidad o en algn
posgrado.
- 205 -
Tras los pasos de un... Hacker
Ao: 1985.
Microprocesador: ZilogZ80A.
Velocidad: 3.6 MHz
RAM: 64 KB. Expandible hasta 144 KB.
ROM: 32 KB.
VRAM: 16 KB.
Chip Grfico: Yamaha V9938, cumpla el estndar MSX2.
Modo Texto: Por defecto 40 caracteres x 24 lneas.
Bajo sistema operativo, 80 caracteres x 24 lneas. (CP/M, MSX-DOS)
Modo Grfico: 256 x 192 pixeles.
Colores: 16 colores.
Chip de Sonido: AY-3-8910.
Sonido: 3 Canales, 8 octavas.
Almacenamiento: Unidad de disquete de 3, Doble lado, Doble Densidad,720 KB.
Puertos E/S: Audio /Video, Interface a toca cinta, 2 Puertos para Joystick, Ranura
para Cartuchos, Sper Conector, 1 RS-232C, 1 Centronics, RGB,
CVBS/RF.
Teclado: Ingls, QWERTY.
Sistema Operativo: CP/MV2.2, MSX DOS V1.0.
Firmware: MSX BASICV1.0.
Como ya era costumbre ma, apenas abr la caja de empaque de tan preciado
regalo, lo primero que saqu fueron los manuales de usuario, ya que aprend a la
mala, que si uno no lee las instrucciones de uso a veces puede daar algn
dispositivo!; en fin, no me tom mucho tiempo en comprender para qu servan?
los famosos disquetes del CP/M V2.2 y el MSX - DOS V1.0 (Fig. 44) que
acompaaban a la computadora (la calculadora programable de mi to no vea
que necesite de algn programa externo para que funcione!), pero mi
computadora haca algunas cosas increbles que la calculadora no; por ejemplo,
de uno de los programas demostrativos que venan grabados en los disquetes, al
ejecutarlo presentaba a un astronauta que viajaba en su nave (todo estilo dibujo
animado y a colores!) en una travesa por el ciberespacio (trmino acuado en
1.982 por William Gibson (1.948-), autor de la novela NEUROMANTE, novela de
ciencia ficcin), publicitaba otros productos de la empresa, deca que tambin se
poda adquirir un procesador de palabras, una hoja de clculo, una agenda de
citas; en fin, tantas y tantas aplicaciones que nunca pens que una computadora
poda tener y qued ms fascinado con mi nuevo aparato; y, cmo no emular! los
grficos animados y la msica que tanto me haban impactado con la
presentacin del astronauta. Con esta motivacin, decid salir a las libreras
especializadas a comprar alguna gua de computacin, algn curso casero de
computacin, algn libro que me pueda ayudar a profundizar mis conocimientos
de programacin. Despus de tanto buscar y de ahorrar algn dinero que mis
padres me daban para comprar el refrigerio en el receso de la jornada escolar o
- 206 -
La historia... Introduccin (V).
- 207 -
Tras los pasos de un... Hacker
del Dartmouth College, localizado en una pequea ciudad de los Estados Unidos
de Norte Amrica llamada Hanover, Estado de New Hampshire. Fue as que me
obsesion con poder contactarme con los autores del lenguaje que me haba
permitido realizar tantas cosas y decid enviarles a travs de mis amigos que
residan en Nueva York una carta de admiracin y que me informen cmo poda
hacer para aprender a programar de mejor manera mi computadora?
Al poco tiempo, recib una contestacin de la empresa que haban formado y que
podan guiarme con textos y con la versin del mejor lenguaje de programacin
para aprender a pensar como programador y as desarrollar de mejor forma los
programas que quisiera realizar; me llegaron varios libros de programacin y
algunas versiones originales con sus respectivas guas de uso del famoso BASIC,
pero esta vez en la versin actualizada de los creadores (las guas del lenguaje
las tengo autografiadas por Thomas E. Kurtz!), la versin conocida como True
BASIC (http://www.truebasic.com). Fruto de esta gua a distancia as como el
haber resuelto tantos y tantos ejercicios de programacin, empec a desarrollar
esta particular forma de pensar que tenemos los programadores, aparte de
haberme convertido prcticamente en un experto en el lenguaje de programacin
BASIC. (Y de algunas de sus versiones MSX BASIC, GW-BASIC, BASICA,
Turbo BASIC, Quick BASIC y True BASIC)
Ahora, justamente en este punto del relato de mi vida, voy a hacer una reflexin
sobre lo que significa el programar una computadora y la importancia de esta
labor:
- 208 -
La historia... Introduccin (V).
Acabada la reflexin y siguiendo con este texto, les invito a conocer algo de la
Arquitectura de una Computadora, con el exclusivo fin de familiarizarnos con la
forma en que est estructurada esta mquina, as como aprender el concepto de
los principales trminos tcnicos que se dan a cada parte de la misma y que en la
jerga informtica los damos por conocidos, en otras palabras, tener las bases
necesarias para empezar a desarrollar programas de computadora
- 209 -
Tras los pasos de un... Hacker
- 210 -
CAPTULO V. ARQUITECTURA DE UNA COMPUTADORA
Debemos a las ideas de John von Neumann, prcticamente que todas las
computadoras electrnicas estn diseadas y organizadas de la misma forma,
desde la ms bsica calculadora electrnica hasta las supercomputadoras, todas
estas mquinas responden a un diseo bsico.
As, podemos decir que esta mquina tiene dos componentes fundamentales:
a) Los programas que gobiernan la computadora; y,
b) Los dispositivos y elementos fsicos que la conforman.
Los informticos han bautizado a estos dos componentes con los nombres de
SOFTWARE y HARDWARE respectivamente.
a) Programas de aplicacin,
b) Programas del sistema; y,
c) Programas de control de dispositivos.
- 211 -
Tras los pasos de un... Hacker
S
O Programas de aplicacin
F
T
W Programas del sistema
A
R
Programas de controlde dispositivos
E
Dispositivos de memoria
HARDWARE
Dispositivo de
control y proceso
- 212 -
Arquitectura de una computadora... Captulo V.
Esquema:
- 213 -
Tras los pasos de un... Hacker
Interfaz con el
Interfaz con los Interfaz con los
Camino de datos
Dispositivos de Dispositivos de
o
Entrada y Salida Memoria
BUS
UNIDAD
CONTROL
UNIDAD DE ARITMTICO
Reloj
LGICA
- 214 -
Arquitectura de una computadora... Captulo V.
- 215 -
Tras los pasos de un... Hacker
5.1.5 RELOJ
Es el dispositivo que trabaja sincronizando las acciones del dispositivo de control
y proceso (procesador o microprocesador), determina la frecuencia con la que se
ejecutarn las instrucciones en el dispositivo de control y proceso, as como la
frecuencia con la que se transportarn los datos entre los diversos dispositivos.
- 216 -
Arquitectura de una computadora... Captulo V.
la cantidad de ncleos de procesamiento que se dispongan para este fin, as decamos que existe
el mltiple procesamiento o el procesamiento paralelo, con estos diseos, una computadora que
tenga una velocidad de 1,7GHz pero posea 4 ncleos de procesamiento, tendr una capacidad de
ejecutar 6.800000.000 de instrucciones por segundo, entonces no se hizo necesario tener un
reloj ms rpido para cuadruplicar el rendimiento.
La forma en que fluyen los datos, al igual como las instrucciones del dispositivo
de control y proceso, depende de los impulsos o ciclos que emite el reloj de la
computadora. No necesariamente esta velocidad es la misma a la que trabaja el
procesador.
Es comn que una computadora personal tenga varias velocidades de transporte
de datos a travs de los diferentes buses. Por ejemplo, el bus de datos de la
memoria puede trabajar a 400 MHz y el procesador a 1,6 GHz.
- 217 -
Tras los pasos de un... Hacker
b) Memorias RAM; y,
5.3.1.MEMORIAS ROM
Son chips especiales donde se graba informacin que nunca puede ser borrada o
modificada por tanto nunca desaparece. Normalmente en este tipo de memorias
las computadoras tienen programadas las rutinas para proceso y control al ms
bajo nivel de todos los dispositivos.
Las siglas ROM (Read Only Memory) significan que la memoria es de solo lectura.
A esta familia de memorias las podemos clasificar en:
a) Memorias PROM. Son aquellas que pueden ser escritas una sola vez y a
partir de este momento el contenido de esta memoria no desaparecer. A
diferencia de las memorias ROM, estos chips inicialmente han sido
fabricados sin informacin y pueden ser escritos una sola vez. Las
memorias ROM son grabadas en el mismo proceso de fabricacin.
- 218 -
Arquitectura de una computadora... Captulo V.
5.3.2.MEMORIAS RAM
Son chips especiales donde, mientras est funcionando la computadora, se
almacena informacin, se procesa y se puede borrar en cualquier momento. Al
contrario de lo que sucede con las memorias ROM, cuando deja de funcionar la
computadora el contenido de la misma se pierde.
Las siglas RAM (Random Access Memory) significan memoria de acceso aleatorio.
Dependiendo del diseo del bus de datos de la memoria y del diseo del
dispositivo de control y proceso, la RAM es el espacio donde realmente los
programas se almacenan para su ejecucin, se almacenan los datos para su
proceso; y principalmente, se cargan los sistemas operativos y aplicativos.
- 219 -
Tras los pasos de un... Hacker
- 220 -
Arquitectura de una computadora... Captulo V.
- 221 -
Tras los pasos de un... Hacker
- 222 -
Arquitectura de una computadora... Captulo V.
- 223 -
Tras los pasos de un... Hacker
arquitectura CISC o RISC) y de las interfaces programadas para el control del resto de
dispositivos.
Las rutinas bsicas de control dependen exclusivamente del diseo del fabricante, dependiendo
de los protocolos y estndares de la industria, estas se podrn integrar a la capa bsica de
instrucciones y funciones de la computadora.
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Arquitectura de una computadora, las notas han sido
elaboradas en base a publicaciones de revistas especializadas y la consulta de los
siguientes textos:
- 224 -
Arquitectura de una computadora... Captulo V.
- 225 -
Tras los pasos de un... Hacker
- 226 -
INTRODUCCIN (VI)
- 227 -
Tras los pasos de un... Hacker
Algunos de mis compaeros de aula del colegio y muchos jvenes de otros cursos,
al ver que poda programar mi computadora, me pidieron que les explique algo
de este conocimiento que ya lo dominaba. Por vez primera, entenda el reto que
tiene un profesor, cuando trata de hacer que alguien que no sabe, aprenda algo;
as que, para satisfacer este requerimiento de mis amigos, realic una primera
gua de programacin BASIC, que la repart en fotocopias para que se enteren de
la computacin e intenten aprender a programar (inicios del ao de 1.989).
Los lectores que quieran aprender a programar, tendrn que tener una
computadora e instalada la copia del True BASIC que les haba mencionado
adquieran (puede servir tambin cualquier lenguaje de programacin con su
respectiva gua de uso).
- 228 -
La historia... Introduccin (VI).
- 229 -
Tras los pasos de un... Hacker
- 230 -
CAPTULO VI. FUNDAMENTOS DE LA PROGRAMACIN
Para entender completamente todos y cada uno de los algoritmos que vamos a
estudiar y desarrollar, as como los que pedimos resolver como ejercicios
propuestos es necesario tener claros los conceptos que ya los discutimos y
tratamos en captulos anteriores.
Para realizar este estudio de manera formal empecemos definiendo el concepto
de algoritmo.
6.1 ALGORITMO
- 231 -
Tras los pasos de un... Hacker
6.2CARACTERSTICAS
1. Finitud.
2. Definibilidad.
3. Entrada.
4. Salida.
5. Efectividad.
6.2.1 FINITUD
Un algoritmo tiene un nmero finito de pasos. Un procedimiento que tiene todas
las caractersticas de un algoritmo salvo que posiblemente falle en la finitud
puede ser llamado MTODO DE CLCULO, por ejemplo: El mtodo para obtener
la raz cuadrada de un nmero, el mtodo para calcular el nmero PI, entre otros.
6.2.2 DEFINIBILIDAD
Todo paso que se sigue en un algoritmo debe ser definido de modo preciso, no
debe darse posibilidad a la ambigedad. Por esta caracterstica los lenguajes de
programacin son definidos de manera formal para la codificacin de algoritmos
(programas).
6.2.3 ENTRADA
Un algoritmo debe tener cero o ms entradas. La entrada son los datos con los
que se inicia un algoritmo para que se procesen conforme est definido en el
algoritmo.
Estas entradas deben de estar perfectamente identificadas y definidas.
- 232 -
Fundamentos de la programacin... Captulo VI.
6.2.4 SALIDA
Un algoritmo tendr una o ms salidas. La salida son los resultados del proceso
de la informacin en la ejecucin del algoritmo.
Las salidas tienen una relacin muy estrecha con las entradas, casi siempre son
de la misma especie o tipo de datos.
Por ejemplo: Para obtener la raz cuadrada, se tiene una entrada numrica real
positiva y las salidas son dos nmeros reales, uno positivo y otro negativo.
6.2.5 EFECTIVIDAD
Todo algoritmo tiene que ser efectivo, que llegue al objetivo deseado, esto quiere
decir que los algoritmos tienen que estar compuestos de rdenes simples capaces
de ser ejecutadas con facilidad y tratar de controlar en los procedimientos que las
operaciones que pueden acarrear error, este no se produzca.
Por ejemplo: Evitar que se intente calcular una divisin para cero.
Las estructuras a las que se refiere el conocido Teorema de Bhm Jacopini son:
1) Estructuras secuenciales. (Ejecutar primero una instruccin y luego
otra).
- 233 -
Tras los pasos de un... Hacker
- 234 -
Fundamentos de la programacin... Captulo VI.
- 235 -
Tras los pasos de un... Hacker
estn definidas en los estndares ANSI para el BASIC, para esto elegimos la
versin Bronze del Lenguaje de Programacin True BASIC.
(www.truebasic.com)
Bueno, tengo dos principales razones para decirles que es mejor empezar con el
True BASICel hermoso arte de programar computadoras, a saber:
1) Una computadora puede trabajar con varios tipos de datos, tanto PASCAL
como C, para que las rutinas implementadas funcionen correctamente,
llevan implcito que el programador sabe el correcto uso y definicin del
tipo de datos, por el contrario con True BASIC, solamente estn
definidos dos tipos de datos para el uso de las variables, los numricos y
los de cadena o strings, facilitando que el alumno compruebe que la
lgica usada en la implementacin de la rutina, funcin o programa,
trabaja correctamente y no dedicar mucho esfuerzo a preocuparse en las
definiciones del tipo de variable. Muchas veces esta preocupacin de los
tipos de variable, hacen que los alumnos repudien la programacin,
porque, cuando han querido hacer que se ejecute correctamente un
programa, el compilador se convierte en un tirano del alumno, al verificar
que est bien la sintaxis y la coherencia de las definiciones de las
variables (este control es vlido cuando queremos optimizar velocidad o
uso eficiente de memoria) pero en la etapa de aprendizaje, lo que nos
interesa es que la lgica funcione y eso es lo que conseguimos con el
BASIC para que el alumno verifique que el programa funciona por la
lgica implementada.
- 236 -
Fundamentos de la programacin... Captulo VI.
POWER BASIC, que prcticamente est a la par de la eficiencia de C pero con las
ventajas de la facilidad de la sintaxis del BASIC.
Para las primeras implementaciones de los algoritmos, nos ayudaremos con la
definicin grfica de los mismos, usando los conocidos diagramas de flujo, esto
har que alguien que no desee implementar estos ejemplos en BASIC, lo haga en
PASCAL o C.
Las primeras instrucciones del BASIC que aprenderemos, son las que definen los
tres grupos de estructuras de control ms simples. A estas sentencias o
instrucciones (tambin se las conoce como palabras reservadas), asociaremos el
correspondiente smbolo grfico para poder esquematizar el algoritmo.
- 237 -
Tras los pasos de un... Hacker
- 238 -
Fundamentos de la programacin... Captulo VI.
Aqu escribiremos
la asignacin.
- 239 -
Tras los pasos de un... Hacker
INPUT X, Y
Lista de variables
a ingresar.
PRINT HOLA
- 240 -
Fundamentos de la programacin... Captulo VI.
Existe una convencin para el uso de los separadores de resultado usados por
BASIC, estos son el punto y coma ; y la coma ,.
Mensaje o
expresin a
presentar.
Los valores a leer, pueden ser desde uno hasta los que necesitemos, recordemos
que los mismos deben estar separados por comas. Los valores numricos se
digitan como tales y los alfanumricos entre comillas.
Esta instruccin es complementaria de la instruccin READ (LEER), conforme
conste en esta las variables a leer. Esta lectura y asignacin de valores se las hace
de forma secuencial.
Ejemplo: DATA 1, 2, 3, 4
- 241 -
Tras los pasos de un... Hacker
Lista
de
datos
Sirve para hacer una asignacin de valores que ya estn definidos en una
instruccin DATA en el mismo algoritmo. Por ejemplo: Los valores de prueba que
pueden estar en una tabla, estos valores son fijos, pero siempre tienen que estar
asignados a una variable.
Ejemplo: READ A
Esta definicin har que se lean cuatro valores que deben estar
definidos en DATA, los asignar correspondientemente a las
variables A, B, C y D.
RESTORE (RESTAURAR)
Sirve para decirle al algoritmo que empiece a leer otra vez los datos desde el
primer valor asignado en DATA.
Ejemplo: RESTORE
- 242 -
Fundamentos de la programacin... Captulo VI.
DATA.
RESTORE
END (FIN)
Ejemplo: END
FIN
INICIO
- 243 -
Tras los pasos de un... Hacker
Expresin
Si
Condicional
No
END IF
- 244 -
Fundamentos de la programacin... Captulo VI.
Expresin
Si PROCESO
Condicional
No
Expresin
Si PROCESO 1
Condicional
No
PROCESO 2
- 245 -
Tras los pasos de un... Hacker
END IF
Expresin Si
No PROCESO 1
Condicional 1
Expresin
Si PROCESO 2
Condicional 2
No
PROCESO 3
- 246 -
Fundamentos de la programacin... Captulo VI.
- 247 -
Tras los pasos de un... Hacker
1
3
5
7
9
<CONTADOR> =
<VALOR INICIAL>
A <VALOR FINAL>
PROCESO
<CONTADOR>
+
<INCREMENTO>
Cuando no conocemos a ciencia cierta las veces que se tiene que repetir un
procedimiento, en BASIC se ha definido la siguiente estructura de control
iterativa:
Debemos tener en cuenta este detalle cuando utilicemos este tipo de estructura.
- 248 -
Fundamentos de la programacin... Captulo VI.
Ejemplo: LET I = 10
DO WHILE I>=0
PRINT Valor de I: ; I
LET I = I - 1
LOOP
10
9
8
7
6
5
4
3
2
1
0
CONDICION SI PROCESO
NO
- 249 -
Tras los pasos de un... Hacker
1
3
5
7
9
PROCESO NO CONDICION
SI
DO
<PROCEDIMIENTO>
LOOP WHILE <EXPRESIN CONDICIONAL>
HACER
<PROCEDIMIENTO>
FIN HACER MIENTRAS <CONDICIN>
- 250 -
Fundamentos de la programacin... Captulo VI.
DO
PRINT I
LET I = I + 2
LOOP WHILE I < = 10
1
3
5
7
9
PROCESO
SI
CONDICION
NO
DO
<PROCEDIMIENTO>
LOOP UNTIL <EXPRESIN CONDICIONAL>
HACER
<PROCEDIMIENTO>
FIN HACER HASTA QUE <EXPRESIN CONDICIONAL>
Ejemplo: LET I = 1
DO
PRINT I
LET I = I + 2
LOOP UNTIL I > 10
- 251 -
Tras los pasos de un... Hacker
1
3
5
7
9
PROCESO
NO
CONDICION
SI
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Fundamentos de la Programacin, las notas han sido
elaboradas en base a publicaciones de revistas especializadas y la consulta de los
siguientes textos:
- 252
Fundamentos de la programacin... Captulo VI.
- 253 -
Tras los pasos de un... Hacker
- 254 -
INTRODUCCIN (VII)
Motivado por este negocio y viendo que este arte de la programacin (realmente
se haba convertido en un hobby para m) renda sus primeros frutos, pensaba
Si alguien puede pagarme por divertirme, para qu estudiar una profesin
diferente de alguna que tenga que ver con computadoras?
Prximo a terminar y terminada mi etapa colegial (como les comentaba tena ese
espritu innato de investigador, lo que conllevaba a que sea el mejor estudiante
de mi clase), fui graduado con honores (como el mejor estudiante de curso fui
designado el mejor egresado de ese ao acadmico); as, empec a buscar alguna
- 255 -
Tras los pasos de un... Hacker
Durante este primer nivel, sumado al tiempo que ya haba cursado en calidad de
oyente, pude hacer amistad con varios oficiales de las Fuerzas Armadas del
Ecuador que eran tambin alumnos de la ESPE y compaeros mos. De esta
relacin, as como de la motivacin que tuve de parte de este grupo de
compaeros y principalmente, de una conferencia de nuestro profesor de Clculo,
que en una de sus ltimas clases nos hablaba sobre nuestra opcin de cursar
cualquier ingeniera que ofertaba en esa poca la ESPE. Nuestra decisin (nos
deca) marcara para toda nuestra vida la labor que desempearamos en bien de
la sociedad y del profundo arrepentimiento, que por influencias o por prejuicios,
sentiramos al equivocarnos en nuestra profesin. En otras palabras, deberamos
disfrutar de lo que hacemos y no hacerlo por obligacin o porque no hay otro
remedio ms que hacerlo. De mis compaeros oficiales, haba escuchado que
gracias a las Fuerzas Armadas, algunos de ellos haban podido hacer cursos de
especializacin en el exterior. Tenan acceso a lo que en el mundo de los civiles
- 256 -
La historia... Introduccin (VII).
Lamentablemente, las cosas no son como las pintan hasta que uno est
inmiscuido en los intereses de varios grupos, ya sean estos: sociales, econmicos
o simplemente familiares. La vida militar no est libre de esta realidad y hoy s,
que para ascender al grado de general por ejemplo, aparte de calificar con todos
los mritos militares y de tener una hoja de vida ejemplar, uno debe tambin ser
afn al grupo dominante de la sociedad o que est en el poder; caso contrario, el
Consejo de Generales que califican la hoja de vida de cada aspirante, simplemente
dictaminan que uno no ha cumplido con los requisitos subjetivos de la
calificacin, sin dar ms explicaciones.
Tena compaeros, hijos de altos oficiales del Ejrcito, por esta relacin familiar
eran tratados de manera diferente o por lo menos para ellos haba alguna
deferencia en el trato. Era de verse por ejemplo, toda la escuela militar renda
saludos y respetos a estos distinguidos oficiales (y con derecho, eran coroneles o
generales) cuando iban a visitar a sus hijos y sin quererlo o no, esta relacin haca
que los instructores no exijan de la misma forma a todos sus alumnos (yo creo
que esta situacin es propia de la naturaleza humana o de la naturaleza de la
vida, aunque digamos que todos somos iguales!). No pas mucho tiempo para
que los deseos de algn alto oficial (todos los padres quisieran que sus hijos
fueran los mejores alumnos de su clase, legtimo inters si no se influenciara para
conseguirlo), hicieran que por alguna orden no escrita, se allane el camino para
que estos deseos sean cumplidos; tramado el plan de forma muy sutil, algunos
instructores se encargan de obstaculizar el paso a los que por mritos propios
ocuparan estos primeros lugares. As fue que no resist el desgaste fsico al que
ramos sometidos y tuve que pedir mi baja de la Fuerza por razones mdicas. El
- 257 -
Tras los pasos de un... Hacker
Mito poltico Galo, que era un afamado mdico traumatlogo, le dijo a mi madre
que exista otro tratamiento, pero que era largo y paciencioso (adems de costoso
por los medicamentos que se necesitaba), pero que a la final tendra mejores
resultados que con la intervencin quirrgica que recomendaban los mdicos
militares, y fue as que a los ocho meses de haber salido de la Escuela Militar
poda ya desplazarme a voluntad, pero conservando ciertas precauciones hasta
terminar el tratamiento.
En mi convalecencia, volv a desempolvar mis libros y notas que tena. Hoy me
suena gracioso, pero el tiempo que pas obedeciendo rdenes y corriendo de un
lado para otro, pareca haba afectado mi capacidad de razonamiento ycranme!
me costaba bastante trabajo entender mis propias notas o volver a programar
como lo haca. Por el contrario, a la formacin militar le agradezco la
puntualidad, ese espritu de no dejarse vencer hasta conseguir el objetivo, la
lealtad que va ms all de la amistad entre otros valores positivos que tiene la
vida militar.
- 258 -
La historia... Introduccin (VII).
Con esta computadora y teniendo los disquetes que me haban enviado desde la
empresa True BASIC Inc., pude por fin poner en prctica todas las tcnicas que
haba aprendido y por sobre todo practicar la famosa programacin
estructurada...
Les invito a probar todos y cada uno de los programas que a manera de ejercicios
resueltos (ejemplos de programacin) en clase los haremos.
Hay que poner en prctica los conceptos del teorema del programa
estructurado y comprobar por nosotros mismos, si es verdad que con las tres
estructuras bsicas de programacin, se puede desarrollar la implementacin de
cualquier algoritmo (programa)
- 259 -
Tras los pasos de un... Hacker
- 260 -
CAPTULO VII. ELABORACIN DE ALGORITMOS CON
BASIC
Ahora que por fin tenemos las bases necesarias para elaborar nuestros
algoritmos, podramos, fruto de la experiencia, tomar en cuenta los siguientes
consejos:
a) Tener siempre a mano un cuaderno, lpiz y borrador.
- 261 -
Tras los pasos de un... Hacker
- 262 -
Elaboracin de algoritmos con BASIC... Captulo VII.
EJERCICIOS RESUELTOS:
Como vemos, aunque parezca trivial, procederemos a tomar nota del ms simple
de los detalles que tenemos que implementar en nuestros programas o
algoritmos y en este caso vemos que:
a) En el problema a resolver no existe ninguna frmula a aplicar.
b) No existe ningn proceso especial que desarrollar. (Funcin, subrutina o
mdulo).
c) Se nos pide simplemente mostrar un mensaje en la pantalla que diga:
Hola mundo, aqu estoy listo para programar
- 263 -
Tras los pasos de un... Hacker
Algoritmo para
presentar un mensaje.
Como vemos, el mensaje no
Inicio cabe totalmente en el
smbolo, as que, dejamos
comentado que en esta
parte del programa,
desplegaremos la frase:
Hola mundo, aqu estoy listo
para programar
MENSAJE
Fin
Una vez que verifiquemos la lgica del algoritmo y que realiza correctamente lo
que deseamos que haga, como paso final procedemos a codificar este algoritmo
en BASIC (o cualquier otro lenguaje de programacin). El resultado ser la
siguiente definicin algortmica implementada en un lenguaje de programacin:
! Variables:
! Ninguna.
! Funciones:
! Ninguna.
! Libreras:
! Ninguna.
! Mdulos:
! Ninguno.
!
- 264
Elaboracin de algoritmos con BASIC... Captulo VII.
PRINT "Hola mundo, aqu estoy listo para programar..." ! Presentamos el mensaje.
Ahora, podemos digitar este cdigo en nuestra versin BRONZE del True
BASIC para ver lo que sucede.
O con las opciones del men <File>, procederemos a leer (Open) el archivo
llamado EJERCICIO 61.TRU (que viene copiado en la carpeta Libro Hacker del CD
adjunto).
Luego escogeremos la opcin para ejecutar el programa (Run) del men <Run>,
veremos que aparece la siguiente pantalla:
- 265 -
Tras los pasos de un... Hacker
Al dar un clic sobre esta pantalla, veremos que nuestro True BASIC nos informa
que el programa se ha ejecutado con xito (Run successfully).
Les sugiero que se familiaricen con las opciones del entorno del lenguaje, para
esto pueden recurrir a la gua de uso que viene acompaada de su CD de la
Versin Bronze de True BASIC.
Ejemplo 62. Algoritmo para sumar dos nmeros. Ingresados por teclado los
nmeros a y b, implementar un algoritmo que obtenga la suma de estos dos
nmeros y almacene esta respuesta en la variable c. Desplegar su
resultado.
En este ejemplo, ya tenemos que utilizar una frmula de clculo, tenemos adems
que almacenar el valor de la sumatoria en una variable y como es obvio,
desplegaremos el resultado. Para esto, tomamos nota del problema:
a) En esta tarea a resolver existe la siguiente frmula a aplicar:
C = A+ B
- 266 -
Elaboracin de algoritmos con BASIC... Captulo VII.
Algoritmo que
suma dos nmeros.
Inicio
Presentaremos un mensaje
para que el usuario sepa que
tiene que ingresar los
valores de A y B.
Ingrese los
valores de Ay
B
Ingresaremos por teclado el
valor para las variables A, B.
Ingrese A, B
Calculamos la suma de A y
B y la asignamos a la
variable C.
CA+B
La suma de A
y B es C
Fin
- 267 -
Tras los pasos de un... Hacker
Una vez que verificamos la lgica del algoritmo, adems que realice
correctamente lo que nos han pedido que haga, procedemos a codificar este
algoritmo en BASIC.
El resultado ser la siguiente definicin algortmica implementada en un lenguaje
de programacin:
!
! Libreras:
! Ninguna.
!
! Mdulos: Ninguno.
!
! Aqu empieza el proceso principal.
PRINT "Ingrese por favor los valores de A,B:"; ! Presentamos un mensaje pidiendo
al usuario que ingrese los datos.
INPUT A,B ! Ingresa por teclado los valores de A y B.
PRINT
LET C "La sumatoria de";A;"y";B;"es:";C
= A+B ! Se presentan
! Se calcula los resultados.
la sumatoria.
Digitaremos este cdigo en nuestra versin BRONZE del True BASIC para ver
lo que sucede.
- 268 -
Elaboracin de algoritmos con BASIC... Captulo VII.
Nuestro programa ahora, est esperando a que ingresemos los valores para las
- 269 -
Tras los pasos de un... Hacker
variables A y B. Si digitamos un solo valor; nos dir que se han ingresado muy
pocos datos, volver a pedirnos que ingresemos los valores; por el contrario, si
digitamos demasiados valores, nos informar que son demasiados y otra vez
volver a pedirnos que ingresemos los valores. As las cosas, esta vez tendremos
que digitarlos como nos pide el programa. (Lo definimos en la instruccin
INPUT, si desebamos ingresar uno a uno los valores, deberamos haber
codificado una instruccin INPUT para cada variable).
Ingresado por teclado el valor del radio de una esfera, se pide realizar un
algoritmo que obtenga la superficie y el volumen de la misma. Mostrar los
resultados.
En este ejemplo, tenemos que utilizar dos frmulas de clculo, adems debemos
almacenar los valores resultantes y como se pide desplegaremos los resultados.
- 270 -
Elaboracin de algoritmos con BASIC... Captulo VII.
S = 4 x x r2
V=4/3 xxr3
Ingrese por
favor el valor
del radio (R)
Ingresaremos por teclado el
valor para el radio de la
esfera (R).
MENSAJES
Fin
- 271 -
Tras los pasos de un... Hacker
!
! Aqu empieza el proceso principal.
PRINT "Ingrese por favor el valor del radio (R):"; ! Presentamos un mensaje pidiendo
al usuario que ingrese el dato.
INPUT R ! Ingresa por teclado el valor de R.
LET S = 4*PI*R^2 ! Se calcula el valor de la superficie de una esfera.
PRINT "La
LET V = esfera de radio";R;"u" ! !SeSecalcula
4/3*PI*R^3 presentan los resultados.
el valor del volumen de una esfera.
PRINT
END "Tiene por volumen";V;"u^3"
superficie";S;"u^2"
! Fin del algoritmo.
- 272 -
Elaboracin de algoritmos con BASIC... Captulo VII.
Como ayuda adicional, para que nuestro programa exprese de manera correcta
los resultados y tenga coherencia con las dimensiones que se usan en la
geometra, observamos que a ms de calcular los valores para la superficie y el
volumen de una esfera, dado el valor de su radio. Inventamos la expresin u^2
que significa unidades cuadradas y u^3 que significa unidades cbicas, con esto
decimos al usuario que si ingres la dimensin del radio en centmetros por
ejemplo, entonces los resultados sern expresados tambin en centmetros.
- 273 -
Tras los pasos de un... Hacker
Ahora ingresemos el valor solicitado para el radio de nuestra esfera, en este caso
digitemos el valor de 3<Enter>.
- 274 -
Elaboracin de algoritmos con BASIC... Captulo VII.
4. Terminamos el proceso.
TMP A
- 275 -
Tras los pasos de un... Hacker
TMP B
TMP C
De esta forma aseguramos que uno de los tres valores ingresados sern
asignados a la variable TMP, con la estructura de control condicional IF
THEN ELSE , implementamos las preguntas para hacer el proceso de
discriminacin racional de los datos, as tendremos la primera pregunta
como:
IF A<B THEN LET TMP=B ELSE LET TMP=A
- 276 -
Elaboracin de algoritmos con BASIC... Captulo VII.
Inicio A
Presentaremos un mensaje
favor el primer
Ingrese por para que el usuario sepa que
tiene que ingresar el valor
del primer nmero (A).
nmero: A<B SI TMP B
nmero:
Ingresaremos por teclado el TMP < C SI TMP C
valor para el segundo
nmero (B).
B NO
favor el tercer
por paradel tercer
que el ingresar
nmero
usuario (C).que
sepa Presentamos el resultado de
nmero:
Ingrese tiene que
Presentaremos un mensaje
el valor
MENSAJES la discriminacin racional de
los tres nmeros para
determinar el mayor, y los
presentaremos con el
mensaje El mayor valor que
Ingresaremos por teclado el usted ha ingresado es:;TMP
valor para el segundo Fin
nmero (C).
C
- 277 -
Tras los pasos de un... Hacker
! Ninguna.
!
! Variables:
! A numrica, primer nmero a ser ingresado por el usuario.
! B numrica, segundo nmero a ser ingresado por el usuario.
! C numrica, tercer nmero a ser ingresado por el usuario.
! TMP numrica, variable temporal que almacenar el valor mayor.
!
! Funciones:
! Ninguna.
!
! Libreras:
! Ninguna.
!
! Mdulos:
! Ninguno.
!
! Aqu empieza el proceso principal.
La lnea IF A<B THEN LET TMP=B ELSE LET TMP=A, tambin la podramos haber
codificado con las siguientes, el resultado es exactamente el mismo:
IF A<B THEN
LET TMP=B
ELSE
LET TMP=A
END IF
Es equivalente a:
- 278 -
Elaboracin de algoritmos con BASIC... Captulo VII.
IF A<B THEN
LET TMP=B
ELSE
LET TMP=A
END IF
- 279 -
Tras los pasos de un... Hacker
Ejemplo 65. Algoritmo para resolver una ecuacin de hasta segundo grado con
una incgnita.
ax2+bx+c= 0
(Debemos tener en cuenta que una ecuacin de primer grado con una
incgnita, es un caso particular de esta forma de expresin, es decir cuando
el coeficiente a vale cero tendremos una ecuacin de la forma bx+c= 0).
Para dar solucin a este problema, recordemos los mtodos de solucin que nos
han enseado (si el coeficiente a es cero), para el caso que la ecuacin tenga la
forma:
- 280 -
Elaboracin de algoritmos con BASIC... Captulo VII.
bx + c = 0
ax2+bx+c=0
x1= [(-b + d )/ a ]
x2 = [(-b - d)/ a ]
x1 = - b/a + (-d) / ai
x2= - b/a - d / a
- 281 -
Tras los pasos de un... Hacker
Adems utilizaremos una funcin interna del BASIC que la identificamos como
SQR(X), raz cuadrada, que equivale a la expresin X ^ 0,5.
Donde el valor de <FORMATO> puede ser una variable alfanumrica que contenga el formato a
presentar; o, directamente digitamos el formato entre comillas.
- 282 -
Elaboracin de algoritmos con BASIC... Captulo VII.
< Cualquier texto, justificar a la izquierda el texto entre los caracteres especificados con #.
> Cualquier texto, justificar a la derecha el texto entre los caracteres especificados con #.
Digiten el siguiente ejemplo de uso de estas expresiones de formato y veremos lo hace nuestro True
BASIC con la forma de presentar los datos:
LET X=023.507
LET Y=-005.001
PRINT USING "###.## ":X,Y
PRINT USING "%%%.%% ":X,Y
PRINT USING "***.** ":X,Y
PRINT USING "$###.## ":X,Y
PRINT USING "+###.## ":X,Y
PRINT USING "-###.## ":X,Y
PRINT USING "^###.## ":X,Y
END
- 283 -
Tras los pasos de un.. Hacker
Ingresamos porteclado el
valor de A
Ingresamos porteclado el
valor de B
Ingresamos porteclado el
valor de B
C -
A= 0 S| | X-C/B
NO
"La solucin de la ecuacin:
("b")x"" + ("c") - 0 6.S X
-------
NO
"La solucin de la ecuacin:
("a")x2""+("b")+("c")
= 0 esx="X
s. MENSAJE
NO
X1 -(B+SQR(D)/(2"A)
X2-(B-SQR(D)/(2"A)
- 284 -
Elaboracin de algoritmos con BASIC... Captulo VII.
!
! Si b^2-4*a*c = 0 la ecuacin solo tiene una solucin.
!
! Si b^2-4*a*c < 0 entonces la ecuacin tiene soluciones
! imaginarias.
!
! Si b^2-4*a*c >0 entonces la ecuacin tiene soluciones reales.
! x1 = (-b+sqr(b^2-4*a*c))/(2*a)
! x2 = (-b-sqr(b^2-4*a*c))/(2*a)
!
! Variables: Ingresadas por el usuario:
- 285 -
Tras los pasos de un... Hacker
!
! Aqu empieza el proceso principal.
PRINT "De la forma general ax^2+bx+c=0, para ingresar una de primer grado a=0."
PRINT
! el
Presentamos
primer
"Ingrese
coeficiente
un
por
mensaje
favorde
pidiendo
ella
primer
ecuacin
al
coeficiente
usuario
(a). que ingrese
(a):";
INPUT A
PRINT
! el
Presentamos
segundo
"Ingrese
coeficiente
un
por
mensaje
favor el
pidiendo
de la ecuacin
segundo
alcoeficiente
usuario
(b). que(b):";
ingrese
INPUT B
PRINT
! Presentamos
el trmino
"Ingreseindependiente
un
por
mensaje
favor pidiendo
elde
trmino
la ecuacin
alindependiente
usuario
(c).
que ingrese
(c):";
INPUT C
- 286 -
Elaboracin de algoritmos con BASIC... Captulo VII.
Los valores de prueba sern los coeficientes (a, b y c) para encontrar las
soluciones para las siguientes ecuaciones:
1. x 3 = 0 (a = 0, b = 1 y c=-3)
2. x2 - 9 = 0 (a = 1, b = 0 y c=-9)
3. x2 + 4 = 0 (a = 1, b = 0 y c=4)
4. x2 + 3x + 1 = 0 (a = 1, b =3 y c= 1)
6. x2 + x +1 = 0 (a = 1, b = 1 y c= 1)
- 287 -
Tras los pasos de un... Hacker
Vamos con los siguientes datos y a medida que obtengamos los resultados, los
compararemos con los que hemos obtenido a mano. Tendremos las siguientes
pantallas para todas las soluciones:
(a = 1, b = 0 y c=-9)
- 288 -
Elaboracin de algoritmos con BASIC... Captulo VII.
(a = 1, b = 0 y c=4)
(a = 1, b =3 y c= 1)
(a = 1, b = 18 y c=81)
- 289 -
Tras los pasos de un... Hacker
(a = 1, b = 1 y c= 1)
(a =7, b = 23 y c= 6)
Con estos ejemplos y lo que hemos aprendido hasta ahora, podemos ya realizar
sencillos programas que nos ayudarn en ciertos clculos simples como los
expuestos.
- 290 -
Elaboracin de algoritmos con BASIC... Captulo VII.
EJERCICIOS PROPUESTOS:
Elaborar los algoritmos solicitados para resolver cada uno de los siguientes
problemas:
Se quiere utilizar la computadora para transformar medidas de
Ejercicio 241.
capacidad de litros a galones. Se ingresar por teclado el valor de los litros a
transformar. Presentar en pantalla los resultados.
Se quiere utilizar la computadora para calcular el permetro y el rea
Ejercicio 242.
de una circunferencia. Se ingresar por teclado el valor del radio. Presentar en
pantalla los resultados.
Se quiere utilizar la computadora para obtener la equivalencia en
Ejercicio 243.
mltiplos y submltiplos de una cantidad en metros que se ingresar por teclado.
Presentar en pantalla los resultados. (Consultar el Sistema Internacional de
Unidades para obtener las frmulas a convertir).
Se quiere utilizar la computadora para calcular el permetro y la
Ejercicio 244.
hipotenusa de un tringulo rectngulo. Se ingresar por teclado el valor de los
catetos. Presentar en pantalla los resultados. (Revisar el teorema de Pitgoras).
Se quiere utilizar la computadora para calcular el rea de un tringulo.
Ejercicio 245.
Se ingresar por teclado el valor de los lados del tringulo. Presentar en pantalla
los resultados. El programa debe determinar si el tringulo existe.
Donde:
Area representar al rea del tringulo.
SPerimetro ser el semipermetro del tringulo.
Lado1 ser el primer lado del tringulo.
Lado2 ser el segundo lado del tringulo.
Lado3 ser el tercer lado del tringulo.
- 291 -
Tras los pasos de un... Hacker
compuesto que genera un capital. Se ingresarn por teclado el valor del capital,
el inters anual y el periodo de tiempo. Presentar en pantalla los resultados.
a1x + b1y + c1 = 0
a2x + b2y + c2 = 0
Obtener una frmula general para calcular los valores de x e y que resuelven el
sistema. (Mtodo de sustitucin de incgnitas).
- 292 -
Elaboracin de algoritmos con BASIC... Captulo VII.
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Elaboracin de Algoritmos con BASIC, las notas han sido
elaboradas en base a publicaciones de revistas especializadas y la consulta de los
siguientes textos:
- 293 -
Tras los pasos de un... Hacker
- 294 -
INTRODUCCIN (VIII)
Pasada esta etapa de crisis, tanto fsica como emocional, empiezo a trabajar
ayudando al importador que nos haba vendido la computadora; entonces tuve a
mi alcance el material (HARDWARE) para conocer un poco ms del
funcionamiento de las computadoras, las armaba, las configuraba y las probaba
para que sean vendidas sin problemas; es as, que la fama de buenos
computadores que venda el jefe creci y el negocio tambin creci, este periodo
de tiempo lo aprovechaba para seguir a distancia mis estudios de programacin
(que los segua con el material que me fuera enviado desde True BASIC Inc., a
travs de mis amigos en Nueva York). Dominadas las tcnicas de programacin,
as como haber desarrollado un sistema para el control de inventarios de un
almacn de repuestos automotrices, decido que el trabajo de armar y desarmar
computadoras haba cumplido su objetivo formativo en mi carrera, agradeciendo
al Sr. Paz por la oportunidad, le menciono que debo seguir mis estudios en la
universidad para terminar mi carrera como Ingeniero en Sistemas.
En ese tiempo, la ESPE no ofertaba la carrera de Ingeniera en Sistemas (adems
que no quera saber nada de militares, pero tena la facilidad de ingresar al
siguiente nivel donde haba dejado mis estudios dos aos atrs). La Pontificia
Universidad Catlica del Ecuador (PUCE), haba creado justamente para el ao de
1.992 la carrera de Ingeniera en Sistemas, entonces decido someterme a los
exmenes de ingreso y como no era de otra manera mi nombre constaba como
alumno admitido al preuniversitario. No tocaba de otra, ya que no exista el
primer nivel como para pedir convalidacin de estudios.
- 295 -
Tras los pasos de un... Hacker
- 296 -
La historia... Introduccin (VIII).
- 297 -
Tras los pasos de un... Hacker
- 298 -
CAPTULO VIII. BUCLES, FUNCIONES Y SUBRUTINAS
CON BASIC
Los usos ms comunes para los bucles determinados son: cuando tenemos que
realizar el ingreso de datos de una matriz de orden n x m, cuando tenemos que
evaluar una serie numrica, una progresin sea esta aritmtica o geomtrica,
cuando tenemos que realizar algn proceso de simulacin y el valor de una
funcin depende de iterar los valores de una variable, etc.
- 299 -
Tras los pasos de un... Hacker
FOR I=1 TO N
FOR J=1 TO M
PROCEDIMIENTO
NEXT J
NEXT I
Debemos tener en cuenta que el fin de un bucle anidado debe preceder al cierre
del bucle principal.
El mismo concepto se lo puede tener con bucles indeterminados, es decir, los
procesos que se repetirn hasta que se produzca alguna condicin para que
terminen, de la misma forma los veremos codificados en BASIC con cualquiera de
las estructuras de control iterativo definidas para este propsito, por ejemplo:
DO
DO
PROCEDIMIENTO
LOOP UNTIL <CONDICIN 1>
LOOP UNTIL <CONDICIN 2>
Tambin,
DO
DO
PROCEDIMIENTO
LOOP WHILE <CONDICIN 1>
LOOP WHILE <CONDICIN 2>
- 300 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
EJERCICIOS RESUELTOS:
"Nmero 1"
"Nmero 2"
...
"Nmero 10"
En este caso; y, como condicin del problema es usar una estructura de control
iterativa, aunque parezca trivial, es decir, presentar 10 veces un mensaje, lo que
perseguimos con este ejercicio es mostrar el uso de esta estructura de control.
Posteriormente veremos que podemos tener dentro del bucle un proceso ms
complicado; entonces, como sabemos, procederemos a tomar nota del ms
simple de los detalles que tenemos que implementar en nuestros programas o
algoritmos, en este caso vemos que:
a) En el problema a resolver no existe ninguna frmula a aplicar.
- 301 -
Tras los pasos de un... Hacker
Algoritmo para
presentar los 10
primeros nmeros.
Inicio
Desplegaremos la frase:
Nmeros del 1 al 10
MENSAJE
Repetir
I=1
a
10
Desplegaremos el mensaje:
Nmero;I
MENSAJE
I = I +1
Fin
Ahora que sabemos que funciona la lgica del algoritmo y que realiza
correctamente lo que deseamos, codifiquemos este algoritmo en BASIC.
El resultado ser la siguiente definicin algortmica implementada en un lenguaje
- 302 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
de programacin:
!
! Libreras:
! Ninguna.
!
! Mdulos: Ninguno.
!
! Aqu empieza el proceso principal.
FOR I=1 TO 10
! Presentamos los nmeros uno a uno.
PRINT "Nmero";I
NEXT I
Ahora, podemos digitar este cdigo en nuestra versin BRONZE del True
BASIC para ver lo que sucede.
- 303 -
Tras los pasos de un... Hacker
- 304 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Al dar un clic sobre esta pantalla, veremos que nuestro True BASIC nos informa
que el programa se ha ejecutado con xito (Run successfully).
- 305 -
Tras los pasos de un... Hacker
a) Inicio.
b) Inicialicemos las variables a usar, en este caso necesitaremos un contador
numrico (I), una variable para que el usuario ingrese los nmeros
(NUMERO), variable para contener el nmero mayor ingresado (MAYOR),
esta variable MAYOR ser inicializada con el valor numrico ms pequeo
que en este caso manejar nuestro True BASIC (utilizaremos la funcin
interna del True BASIC: MAXNUM para obtener este valor).
e) Se ingresarn uno a uno los nmeros y cada vez se almacenar este valor
ingresado en la variable NUMERO.
- 306 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Inicializamos variables.
N
I00
NUMERO 0
MAYOR -MAXNUM Presentamos un mensaje
que diga: Programa que
determina el mayor de n
nmeros ingresados.
MENSAJE
MENSAJE
NO
N
N>0
SI
Repetir
I=1
a
N "Favor ingrese el";I; "valor:"
MENSAJE
NUMERO
NO
I = I +1
"El nmero mayor que ha
ingresado es:";MAYOR
MENSAJE
Fin
- 307 -
Tras los pasos de un... Hacker
!
! Variables:
! N, Cantidad de nmeros a ingresar.
! I, Contador numrico entero.
! NUMERO, Variable numrica para el ingreso de datos.
! MAYOR, Variable numrica para determinar el mayor.
!
! Funciones: MAXNUM, Funcin interna del True BASIC.
!
! Aqu empieza el proceso principal.
! Inicializamos variables.
LET I,N,NUMERO=0
LET MAYOR=-MAXNUM
! Presentamos un mensaje informativo.
PRINT "Programa que determina el mayor de n nmeros ingresados."
Utilizamos
LOOP
! un bucle determinado para el ingreso de n nmeros.
until N>0
FOR I=1 TO N
! Ingresamos el nmero n.
PRINT "Favor ingrese el ";I; "valor :";
INPUT NUMERO
! Siempre obtendremos en MAYOR el valor mayor ingresado.
IF NUMERO >= MAYOR THEN
LET MAYOR = NUMERO
END IF
NEXT I
PRINT
- 308 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
- 309 -
Tras los pasos de un... Hacker
Ejecutemos nuestro programa para ver lo que hace, obtendremos algo as:
- 310 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Otro detalle que para hacerlo y conseguir el mismo objetivo, usaremos variables
tipo string para el ingreso de los datos, las mismas que sern convertidas en
numricas para determinar el mayor valor ingresado.
Nuestro proceso terminar cuando sea ingresada la palabra FIN, para lograr
esto utilizaremos algunas de las funciones internas que ya conocemos y estn
definidas en True BASIC. (Revisar su libro de gua del lenguaje.)
! Variables:
! NUMERO$,
FLAG,
I, Variable
Contador
Variable string
numrico
bandera. para el ingreso de datos.
entero.
- 311 -
Tras los pasos de un... Hacker
!
! Aqu empieza el proceso principal.
! Inicializamos
LET I=1 variables.
LET FLAG,NUMERO=0
LET MAYOR=-MAXNUM
! Presentamos un mensaje informativo.
PRINT "Programa que determina el mayor de n nmeros ingresados."
END
- 312
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
- 313 -
Tras los pasos de un... Hacker
Al hacer clic en esta pantalla, otra vez True BASIC nos informar que el programa
se ha ejecutado correctamente (Run successfully)
WHEN ERROR IN
< PROCEDIMIENTO A CONTROLAR EL ERROR >
USE
< PROCEDIMEINTO QUE SOLVENTA EL ERROR >
END WHEN
Para ms detalles revisen la gua de uso del lenguaje sobre esta estructura de control propia de
True BASIC. En otros lenguajes de programacin tambin existe su equivalente, tienen que
revisar los captulos relacionados a control y manejo de errores.
En los diagramas de flujo, podremos definir a esta estructura con un solo proceso que puede
llamarse control de errores y dentro de este proceso diagramar los pasos a tomar.
8.2 FUNCIONES
Normalmente, las funciones devuelven los mismos tipos de datos que tienen los
argumentos, es decir, si los argumentos son numricos, la funcin devolver un
valor numrico, si los parmetros son de tipo string la funcin debera devolver
igualmente datos de tipo string; con todo, esto depende del nombre y tipo de
dato que bauticemos a nuestra funcin y de los parmetros que ingresarn a la
misma.
- 314 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Otro detalle importante y que no debemos olvidar es que las funciones tambin
son algoritmos, pero definidos para trabajar cuando sean invocados para la
evaluacin de una expresin informtica o desde un programa.
END FUNCTION
Para ilustrar el uso de una funcin en True BASIC, hagamos por ejemplo,
funciones a los procedimientos de nuestro programa del ejemplo 63 y definamos
de esta forma los clculos de la superficie y volumen de una esfera.
EJERCICIOS RESUELTOS:
- 315 -
Tras los pasos de un... Hacker
! V = 4/3*PI*R^3
!
! Variables:
! R numrica, a ser ingresada por el usuario.
! S numrica, almacena el clculo de 4*PI*R^2.
- 316 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
! ESF_SUPERFICIE
Declaramos el uso de dos funciones, denominadas como:
! ESF_VOLUMEN
DECLARE FUNCTION ESF_SUPERFICIE
DECLARE FUNCTION ESF_VOLUMEN
PRINT
! Presentamos
"Ingreseun
por
mensaje
favor el
pidiendo
valor del
al usuario
radio (R):";
que ingrese el dato.
LET V = ESF_VOLUMEN(R)
! Se presentan los resultados.
PRINT
! Fin "Tiene
del esfera
"La algoritmo.
por de
superficie";S;"u^2"
volumen";V;"u^3"
radio";R;"u"
END
FUNCTION ESF_SUPERFICIE(R)
! Se calcula el valor de la superficie de una esfera.
- 317 -
Tras los pasos de un... Hacker
Ejecutemos este programa y veamos si esta nueva codificacin del mismo, arroja
los resultados que obtuvimos con el programa del ejemplo 63.
- 318 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
B = (X/B+B)/2
Donde:
Condiciones:
Solo existen races cuadradas de nmeros positivos, es decir que el
parmetro de la funcin debe ser mayor que cero.
- 319 -
Tras los pasos de un... Hacker
! Condicin
FUNCTION que el parmetro ingresado sea positivo.
RCUAD(X)
IF X>0 THEN
LET B=X
! Iteracin indeterminada para el clculo de la raz.
DO WHILE ROUND(B,10)<>ROUND(X/B,10)
LET B=(X/B+B)/2
LOOP
ELSE
LET
IFRCUAD=B
X=0 THEN
LET RCUAD=0
ELSE
CAUSE ERROR 12313
END IF
END FUNCTION
!
! Autor: Nstor Marroqun.
!
! Frmulas: Iteraremos el valor de B mediante el clculo en la frmula:
! B = (N/B+B)/2
! hasta que se cumpla la condicin que B sea igual a N/B
!
! Variables: N numrica, a ser ingresada por el usuario.
- 320 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
! Condicin
FUNCTION que el parmetro ingresado sea positivo.
RCUAD(X)
IF X>0 THEN
LET B=X
! Iteracin indeterminada para el clculo de la raz.
DO WHILE ROUND(B,10)<>ROUND(X/B,10)
LET B=(X/B+B)/2
LOOP
ELSE
LET
IFRCUAD=B
X=0 THEN
LET RCUAD=0
ELSE
CAUSE ERROR 12313
END IF
END FUNCTION
- 321 -
Tras los pasos de un... Hacker
Veremos en accin nuestro programa con una pantalla parecida a las siguientes
para cada clculo del valor ingresado:
- 322 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Raz de 1:
Raz de 4:
Raz de 9:
Raz de 2:
- 323 -
Tras los pasos de un... Hacker
Esta sentencia especial la usamos para decirle a nuestro programa o usuario que no existen
races de nmeros negativos y que dada esta circunstancia se ha producido un error para el
clculo.
F(n) = n*F(n-1)
Donde:
n parmetro de la funcin.
Condiciones:
Solo existe funcin factorial de un nmero entero positivo o cero, es decir
que el parmetro de la funcin debe ser entero y mayor o igual que cero.
- 324 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
! Funcin factorial o n!
FUNCTION FACT(N)
IF N = 0 THEN
LET FACT = 1
ELSE IF N>0 AND N=INT(N) THEN
! Recursin
LET FACT = N*FACT(N-1)
ELSE
CAUSE ERROR 123321
END IF
END FUNCTION
!
! Autor: Nstor Marroqun.
!
! Frmulas: FACT = N * FACT(N-1)
!
! Variables:
! N numrica, a ser ingresada por el usuario.
!
! Funciones:
! Definiremos la funcin FACT como numrica.
! INT(x), devuelve la parte entera de un nmero.
!
! Libreras:
! Ninguna.
!
- 325 -
Tras los pasos de un... Hacker
! Mdulos:
! Ninguno.
!
! Funcin factorial o n!
FUNCTION FACT(N)
IF N = 0 THEN
LET FACT = 1
ELSE IF N>0 AND N=INT(N) THEN
! Recursin
LET FACT = N*FACT(N-1)
ELSE
CAUSE ERROR 123321
END IF
END FUNCTION
- 326 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
8.3 SUBRUTINAS
Una subrutina es un procedimiento especial que nos ayudar a realizar una tarea
especfica de una manera abreviada al invocarse la misma desde un programa.
En todos los lenguajes de programacin se pueden usar subrutinas.
- 327
Tras los pasos de un... Hacker
END SUB
EJERCICIOS RESUELTOS:
En este ejemplo, nos piden que elaboremos un programa que muestre la hora por
diez segundos. La condicin es que usemos una subrutina para hacerlo.
Variables:
a) Necesitamos un contador de tiempo al que lo denominaremos TI y ser
de tipo numrico.
b) Necesitamos una variable para el despliegue de la hora, como se trata de
texto a presentar ser de tipo string y la denominaremos TI$.
- 328 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Estrategia:
a) Obtenemos la hora del sistema. Usaremos las funciones internas del True
BASIC conocidas como TIME y TIME$.
b) Posicionaremos la hora (mensaje guardado en nuestra variable TI$) y
para esto utilizaremos una subrutina.
- 329 -
Tras los pasos de un... Hacker
!
! Programa No. 11. Ejemplo No. 71 del texto.
! Algoritmo que presenta la hora por 10 segundos.
! Se usar una subrutina para el despliegue.
!
! Autor: Nstor Marroqun.
!
! Frmulas:
! Ninguna.
!
! Variables:
! X numrica, indica la columna a posicionar el mensaje.
! Y numrica, indica la fila a posicionar el mensaje.
! TI numrica, auxiliar para el clculo del tiempo.
! TI$ string, almacenar la hora actual.
!
! Funciones:
! TIME$, devuelve la hora actual del sistema.
! TIME, devuelve el nmero de segundos
! transcurridos desde la media noche.
!
! Libreras:
! Ninguna.
!
! Mdulos:
! Ninguno.
!
DO WHILE TI+10>=TIME
LET TI$=TIME$
CALL HORA(40,13,TI$)
LOOP
CLEAR
END
- 330 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Las ecuaciones para el clculo solicitado vienen dadas por las siguientes
frmulas:
x = Vx.t
- 331 -
Tras los pasos de un... Hacker
y= Vy.t g.t2
Donde:
Vx = V0*Cos()
Vy = V0*Sen()
= A* /180
t, tiempo transcurrido desde el disparo.
g, constante de la gravedad que en este caso ser definida por 9,8 m/s2
Variables:
a) Necesitamos ingresar tres datos variables para la velocidad de impulso, el
ngulo de disparo y el tiempo de vuelo transcurrido, definimos las
variables V0, A y trespectivamente.
Estrategia:
a) Definamos una subrutina que calcule la posicin X e Y del trayectoria del
disparo.
b) Elaboremos el programa para realizar el clculo solicitado.
- 332 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
END SUB
! Vx = Vo*COS(Alfa)
! Vy = Vo*SIN(Alfa)
! x = Vx*t
! y = Vy*t-0.5*g*t^2
!
! Variables: X numrica, indica la posicin del proyectil.
- 333 -
Tras los pasos de un... Hacker
! Ninguno.
!
- 334
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
- 335 -
Tras los pasos de un... Hacker
! Vx = Vo*COS(Alfa)
! Vy = Vo*SIN(Alfa)
! x = Vx*t
! y = Vy*t-0.5*g*t^2
!
! Variables:
! X numrica, indica la posicin del proyectil.
! en el eje X del plano.
! Y numrica, indica la posicin del proyectil.
! en el eje Y del plano.
! T numrica, almacena el valor del tiempo de vuelo.
! G numrica, almacena el valor de la aceleracin de la gravedad.
! Vo
A numrica,
numrica,almacena
almacenael
elngulo
valor de
della
disparo.
velocidad de impulso.
- 336 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Con este ejercicio vamos a ensear una de las tcnicas ms usadas en los
procesos de clasificacin y bsqueda que en el captulo siguiente revisaremos, el
mismo que plantea lo siguiente:
a) Ingresar dos nmeros y asignarlos a dos variables A y B.
- 337 -
Tras los pasos de un... Hacker
Ahora como sabemos definamos las variables a utilizar para resolver este
ejercicio de programacin:
SUB SWAP(A,B)
LET A=B
TEMP=A
LET B=TEMP
END SUB
- 338 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
!
! Variables: A numrica, ingresada por el usuario.
SUB SWAP(A,B)
LET B=TEMP
TEMP=A
A=B
END SUB
- 339 -
Tras los pasos de un... Hacker
- 340 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
Luego de hacer clic, nuestro True BASIC nos informar que el programa se ha
ejecutado satisfactoriamente (Run successfully).
- 341 -
Tras los pasos de un... Hacker
- 342 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
EJERCICIOS PROPUESTOS:
Elaborar los algoritmos solicitados para resolver cada uno de los siguientes
problemas:
- 343 -
Tras los pasos de un... Hacker
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Bucles, Funciones y Subrutinas, las notas han sido
elaboradas en base a publicaciones de revistas especializadas y la consulta de los
siguientes textos:
- 344 -
Bucles, funciones y subrutinas con BASIC... Captulo VIII.
- 345 -
Tras los pasos de un... Hacker
- 346 -
INTRODUCCIN (IX)
- 347 -
Tras los pasos de un... Hacker
- 348 -
La historia... Introduccin (IX).
A partir de ese da, viendo en persona lo que haba hecho (reconozco que tena un
conocimiento mucho ms avanzado que el mo y que solamente cierta lite de
tcnicos lo poseen), escuchado por vez primera de la existencia de la red de
redes, la famosa Internet, del correo electrnico, de protocolos de
comunicacin, de redes de computadoras, as como de ser testigo presencial de
la recuperacin casi mgica de mi informacin, decid entonces investigar un
poco ms sobre el mundo de los Hackers, su forma de trabajar y precisamente
tratar de seguir los pasos de este joven. Con el nico afn de demostrarme hasta
dnde podra llegar? al investigar estos temas y segn yo, superar sus
conocimientos.
- 349 -
Tras los pasos de un... Hacker
Ms adelante les seguir contando sobre la investigacin que hice acerca de los
famosos virus informticos y la criptografa, hasta tanto sigan aprendiendo un
poco ms de algunas tcnicas de programacin
- 350 -
CAPTULO IX. ARREGLOS, MTODOS DE
CLASIFICACIN Y BSQUEDA
9.1 ARREGLOS
En programacin, para algunos procedimientos necesitamos un tipo de variable
especial, la misma que puede contener varios valores y ser identificada por un
nombre.
A esta variable especial se la conoce como arreglo de datos, los mismos que
pueden ser tanto numricos, strings o booleanos.
- 351 -
Tras los pasos de un... Hacker
Arreglo A
Primera Dimensin
Arreglo A
Segunda Dimensin
- 352 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Arreglo A
Tercera Dimensin
Primera Dimensin(i, 1, k)
- 353 -
Tras los pasos de un... Hacker
Arreglo A
Cuarta dimensin
A(1,1,4,1) A(1,4,4,1)
- 354 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Cada elemento del arreglo as definido A(i,j, k, l) podr contener un valor que el
usuario asigne para realizar cualquier proceso, a estas variables que ubican los
elementos de un arreglo se las conoce como subndices del arreglo. Se lee, por
ejemplo, para un arreglo de una dimensin A(i), como A de i. Para uno de dos
dimensiones A(i,j), ser A de i coma j.
DIM <ARREGLO(DIMENSIONES)>.
Ejemplo:
DIM A(4,4,4,4)
FOR I=1 TO 4
FOR J=1 TO 4
FOR K=1 TO 4
FOR L=1 TO 4
PRINT Ingrese el elemento ;I;,;J;,;K;,;L;:;
INPUT A(I,J,K,L)
NEXT L
NEXT K
NEXT J
NEXT I
VECTORES Y MATRICES
Los arreglos ms usados son los de una dimensin as como los de dos
dimensiones. En informtica, se denominan vectores y matrices respectivamente
(conceptos heredados de la matemtica). Sutilmente existe una diferencia
declarativa entre las dos estructuras, mientras a los vectores se los dimensiona
definiendo el nmero de elementos que contendr su nica dimensin, todas las
matrices tienen que tener dos dimensiones (nmero de filas y nmero de
columnas). As por ejemplo, el vector A(i), tiene exactamente la misma cantidad
de elementos que la matriz A(i,1) pero no son lo mismo.
- 355 -
Tras los pasos de un... Hacker
matrices.
EJERCICIOS RESUELTOS:
Para resolver este problema, en primer lugar, tomemos nota de los detalles
planteados y propongamos una estrategia de solucin:
a) Tendremos que dimensionar un vector de 10 elementos N$(10), para
almacenar el listado de los alumnos, este vector ser de tipo string.
c) Se usar la frmula:
- 356 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Definamos una subrutina para cada proceso citado en los pasos d), e), f) y g).
SUB
! Subrutina que ingresa la lista de nombres...
INGRESO_NOMBRES(N$())
FOR I = 1 TO 10
PRINT "Ingrese el nombre del alumno: ";i
PRINT "Nombre";
INPUT N$(I)
NEXT I
END SUB
SUB
! Subrutina que ingresa las notas de cada alumno...
INGRESO_NOTAS(N$(),M(,))
FOR I = 1 TO 10
CLEAR
PRINT "Para el alumno: ";I
PRINT N$(I)
PRINT
PRINT "Ingrese las notas ..."
FOR J=1 TO 3
! Valida que la nota ingresada est en el rango de 0 a 20.
DO
PRINT "Nota";J;":";
LOOP
INPUT
UNTIL
M(I,J)
M(I,J)>=0 AND M(I,J)<=20
NEXT J
NEXT I
- 357 -
Tras los pasos de un... Hacker
END SUB
! Subrutina
SUB que
TOcalcula
PROMEDIOS(M(,))
FOR I = 1 10 los promedios de cada alumno...
FOR J = 1 TO 3
LET M(I,4) = M(I,4) + M(I,J)
NEXT J
LET M(I,4) = M(I,4)/3
NEXT I
END SUB
SUB
! Subrutina que presenta por pantalla los resultados...
PRESENTAR_DATOS(N$(),M(,))
CLEAR
PRINT "Listado de promedios del curso de informtica:"
PRINT "NOMBRE:";TAB(60);"N1:";TAB(70);"N2:";TAB(80);"N3:";TAB(90);"FINAL:"
FOR I=1 TO 10
PRINT N$(I);
FOR J=1 TO 3
PRINT TAB(50+J*10);
PRINT USING "##.##":M(I,J);
NEXT J
PRINT TAB(90);
PRINT USING "##.##":M(I,J)
NEXT I
PRINT
END SUB
!
! Variables: I,J numricas, contadores de alumnos y notas.
- 358 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
!
! Funciones:
! Ninguna.
!
! Libreras:
! Ninguna.
!
! Mdulos:
! Ninguno.
!
! Inicia el proceso.
CALL
! Ingresa la lista de nombres...
INGRESO_NOMBRES(N$)
CALL
! Ingresa las notas de cada alumno...
INGRESO_NOTAS(N$,M)
Calcula
CALL
! los promedios de cada alumno...
PROMEDIOS(M)
CALL PRESENTAR_DATOS(N$,M)
! Presenta por pantalla los resultados...
! Fin
END
SUB
! Subrutina que ingresa la lista de nombres...
INGRESO_NOMBRES(N$())
FOR I = 1 TO 10
PRINT "Nombre";
"Ingrese el nombre del alumno: ";i
INPUT N$(I)
NEXT I
END SUB
SUB
! Subrutina que ingresa las notas de cada alumno...
INGRESO_NOTAS(N$(),M(,))
FOR I = 1 TO 10
CLEAR
PRINT "Para el alumno: ";I
PRINT N$(I)
PRINT
PRINT "Ingrese las notas ..."
FOR J=1 TO 3
! Valida que la nota ingresada est en el rango de 0 a 20.
DO
PRINT "Nota";J;":";
- 359 -
Tras los pasos de un.. Hacker
INPUT M(I, J)
LOOP UNTIL M (I, J) >=0 AND M (I, J) <=20
NEXT J
NEXT T
END SUE
PRINT "NOMBRE: "; TAB (6O) ; "N1: "; TAB (7O) ; "N2: "; TAB (8O) ; "N3: "; TAB (9O) ; "FINAL: "
EOR. T=1 TO 1 (O
PRINT NS (I) ;
EOR J=1. TO A
PRINT TAB (5 O+U* 1O) ;
PRINT USING "##. ## ": M(I, J) ;
NEXT J
PRINT TAB (90) ;
PRINT USING "##. ## ": M(I, J)
NEXT T
PRINT
END SUE
,,...,...,
IEEEEEEEiliII
File
Prgrama que calcula el promedio de notas de 10 alumnis . . .
- 360 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
- 361 -
Tras los pasos de un... Hacker
Ejemplo:
- 362 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Cuadrado Mgico
4+5+6= 15
2 De Orden
7
3 6
2 + 7 + 6 = 15
9 5 1 9 + 5 + 1 = 15
4 3 8 4 + 3 + 8 = 15
2+5+8 = 15
6 + 1 + 8 = 15
7+5+3= 15
2+9+4= 15
- 363 -
Tras los pasos de un... Hacker
Cuadrado Mgico
12
8
1 10
15
6 Orden
De 11
14
7 13 + 10 + 7 + 4 = 34
15 14 +4=34
4 1+ +
12+6+7 9=34
9 +
+10+ 11 +5=34
5 8
13 +3 +2+16=34
13 3 2 16
1 + 6 + 11 + 16 = 34
4 + 9 + 5 + 16 = 34
14 + 7 + 11 + 2 = 34
15+6+10+3=34
1+12+8+13=34
- 364 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
- 365 -
Tras los pasos de un... Hacker
! Inicia el proceso.
! Dimensiona la matriz...
DIM N(0,0)
CLEAR
! Ingresa orden de la matriz cuadrada...
PRINT "Deme el orden del cuadrado mgico a resolver: ";
INPUT ORDEN
- 366 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
MAT N=ZER(ORDEN,ORDEN)
CALL
ELSE LLENAR(N)THEN
PARES4(N)
IF ORDEN<>2
CALL ACOMODOPAR(N)
ELSE LLENAR(N)
PARES4(N)
IF
! Presenta
CALL datos
ORDEN<=16 THENen
COMPROBAR(N) pantalla,
CALL si no solo comprueba datos...
PRESENTAR(N)
! Espera
GET KEY Sa que el usuario pulse una tecla para terminar...
! Limpia la pantalla.
CLEAR
! Fin
END
! Este
SUB FORproceso
LLENAR(N(,))
I=1 J=1
FOR
Inicializa TO solo para
laSIZE(N,1)
TO los
SIZE(N,2)
matriz con cuadrados
los valores de orden par...
necesarios...
LET K=K+1
LET N(I,J)=K
NEXT J
NEXT I
END SUB
LET FOR
FOR POX=SIZE(N,1)
I=1 TO SIZE(N,1)
J=1 TO SIZE(N,2)
LET K=K+1
IF N(POY,POX)=0 THEN
ELSE
LET POY=POY+1
LET POX=POX-2
IF POY>SIZE(N,1) THEN
LET POY=1
END IF
- 367 -
Tras los pasos de un.. Hacker
- 368 -
Arreglos, mtodos de clasificacin y bsqueda. Captulo IX.
Ahora corramos nuestro programa y veamos lo que hace, veremos una pantalla
parecida a la siguiente:
- 369 -
Tras los pasos de un... Hacker
- 370 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
- 371 -
Tras los pasos de un... Hacker
- 372 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Los algoritmos que resuelven este problema especfico, han ido evolucionando
con el tiempo; es interesante analizar las implementaciones que algunos famosos
programadores han hecho. Este anlisis nos permite ver la optimizacin del
mtodo.
En este apartado, debemos tener claro que todos los mtodos de clasificacin
hacen intercambio de valores dentro del vector definido, lo nico que cambia es
la lgica de cmo hacerlo? y cundo hacerlo?
Antes que prosigan, sera bueno que intenten resolver el siguiente problema:
Dado el vector numrico A, dimensionado con 5 elementos, escriban un
programa que los ordene en forma ascendente. Los datos son:
- 373 -
Tras los pasos de un... Hacker
A(1)=3
A(2) = 1
A(3)=5
A(4) = 4
A(5)=2
A(1)=1
A(2)=2
A(3)=3
A(4) = 4
A(5)=5
- 374 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Ahora regresando a nuestra solucin, la misma debe ser general y no tan solo
funcionar para los 5 elementos propuestos como ejercicio.
LA IMPLEMENTACIN
Para todos los programas ejemplo de los mtodos de ordenamiento, tendremos
que definir algunas subrutinas que nos ayudarn a mostrar un mensaje de
presentacin del programa, carga de valores iniciales aleatorios, el contenido del
vector, una funcin que nos ayude a controlar el tiempo de ejecucin de nuestro
algoritmo, una subrutina que nos ayude a realizar el intercambio de valores entre
dos variables; y, en s la subrutina de ordenamiento con el mtodo seleccionado.
- 375 -
Tras los pasos de un... Hacker
! Variables:
! A, vector numrico, contendr los datos.
! I, numrica, contador de los procesos.
! T numrica, tiempo de ejecucin.
! S numrica, temporal captura cdigo de tecla pulsada.
! N numrica, cantidad de elementos en el vector.
! HORAS$, MIN$, SEGI$, SEGF$ strings, temporales para conversin de
! tiempo de ejecucin.
! HORAS, MIN, SEG numricas, temporales para conversin de tiempo de
! ejecucin.
! V1, V2, TEMP numricas, temporales para intercambio de valores.
!
! Funciones:
! Definida por el usuario.
! Tiempo_Transcurrido$, funcin string que devuelve el valor del tiempo
! transcurrido en un formato HH:MM:SS.SSS el tiempo en segundos se
! expresar en milisegundos.
!
! Internas de True BASIC.
! SIZE(A), devuelve el nmero de elementos de un arreglo A.
! ZER(X), inicializa con ceros un arreglo numrico y lo redimensiona
! RND, funcin que calcula un nmero pseudoaleatorio.
a X elementos.
EXTERNAL
- 376 -
Arreglos, mtodos de clasificacin y bsqueda. Captulo IX.
! Subrutina que muestra un mensaje de saludo y carga por vez primera el vector. . .
SUB PRESENTAR (a ( ) )
- 377 -
Tras los pasos de un... Hacker
Inicializa
SET
! BACK 0 el color de fondo y caracteres de la pantalla...
SET COLOR 15
! Limpia la pantalla...
CLEAR
Presenta el mensaje de saludo...
PRINT "PROGRAMA SORT Ver 1.0, LABORATORIO DE INFORMATICA."
!
PRINT
PRINT "Diseo:"
PRINT Nstor Marroqun."
PRINT " 1.992 - 2.010 (c) NMC Research Ca. Ltda."
PRINT " Quito - Ecuador."
SET COLOR 7
PRINT
PRINT "Vector antes de ser ordenado:"
PRINT
! Verifica que el vector tenga datos...
IF SIZE(A)=0 THEN
! Ingresa y valida que el vector no tenga menos de 1 elemento o ms de
! 20000 elementos...
DO
PRINT "Cuntos elementos van a ser ordenados:";
INPUT N
LOOP WHILE N<1 OR N>20000
! Inicializa el vector con N datos...
MAT A=ZER(N)
CALL LLENAR_DATOS(A)
END IF
CALL
GET PRESENTA_VECTOR(A)
! Presenta
KEY S en pantalla el contenido del vector...
END SUB
SET COLOR 15
! Limpia la pantalla...
CLEAR
! Presenta el mensaje
"PROGRAMA de saludo...
SORT Ver 1.0, LABORATORIO DE INFORMATICA."
PRINT
PRINT
PRINT "Diseo:"
PRINT Nstor Marroqun."
PRINT " 1.992 - 2.010 (c) NMC Research Ca. Ltda."
PRINT " Quito - Ecuador."
PRINT "
! Clasifica los mtodos de ordenamiento desde el ms lento al ms rpido...
CALL MAT_SHELL_SORT(R,2)
SET COLOR 7
PRINT
PRINT "Clasificacin de los mtodos evaluados por su rendimiento."
PRINT
PRINT "Criterio: Del ms rpido al ms lento."
- 378 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
PRINT
SET COLOR 15
PRINT "Mtodo:";TAB(30);"Tiempo ocupado:";TAB(50);"Elementos ordenados:"
SET COLOR 7
FOR I=1 TO 9
PRINT NMET$(R(I,1));TAB(30);Tiempo_Transcurrido$(R(I,2));TAB(50);SIZE(A)
NEXT I
PRINT
PRINT
GET KEY"Pulse
S una tecla para finalizar..."
END SUB
! Variables:
! TMP vector numrico, contendr los datos.
! I, J, K, numricas, contadores de los procesos.
! N numrica, cantidad de elementos en el vector.
! V1, V2, TEMP numricas, variables temporales.
! LI, LS, R, X numricas, punteros para intercambio de valores.
!
! Funciones:
! Internas de True BASIC.
! SIZE(A), devuelve el nmero de elementos de un arreglo A.
! INT(N), funcin que devuelve el valor entero de un nmero N.
!
! Libreras:
! Ninguna.
!
! Mdulos:
! Ninguno.
!
EXTERNAL
- 379 -
Tras los pasos de un... Hacker
INSERCIN DIRECTA
El mtodo de insercin directa es el ms obvio y fcil de implementar, consiste
en:
a) Escoger un elemento, empezando desde el segundo del vector ingresado.
J=1
J=3
J=3
J=2
- 380 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Tendremos que definir los subndices I, J, que en nuestro algoritmo nos ayudarn
a ubicar los elementos a mover; y, el elemento a insertar dentro del vector A
definido.
! Empieza
FOR I = 2 el
TO proceso
N de ordenamiento...
LET J
FOR TEMP TMP(I)
= I=TO 2 STEP -1
- 381 -
Tras los pasos de un... Hacker
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
! Inicia el proceso.
DIM A(0)
CLEAR
- 382 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
PRINT
PRINT "Inicia ordenamiento..."
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
CALL
PRINT
! PRESENTA_VECTOR(A)
Presenta
"Termina
el vector
ordenamiento..."
ordenado.
GET KEY S
END
! Empieza
FOR el proceso
I = 2 TO N de ordenamiento...
LET J
FOR TEMP TMP(I)
= I=TO 2 STEP -1
END IF
NEXT J
LET TMP(J) = TEMP
NEXT I
END SUB
- 383 -
Tras los pasos de un... Hacker
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
Mtodo: Insercin.
Elementos:
0 Tiempo (ms):
0,000
164.807,000
92.803,000
41.530,000 200.000,000
150.000,000
100.000,000
50.000,000
0,000 Insercin.
2500 2.524,000
5000 10.235,000
10000
Insercin.
15000
20000
MTODO DE SHELL
Donald L. Shell (1.924-), basado en el mtodo de insercin directa, presenta una
variacin a este algoritmo, la misma que la podramos llamar como Mtodo de
Clasificacin por Disminucin de Incrementos. Propuesta hecha en julio de
1.959, desde ah se lo conoce como mtodo de Shell.
DOEmpieza
LET
! el proceso de ordenamiento...
LI=INT(N/2)
WHILE LI>0
LET J=0
FOR I=1 TO LS
IF TMP(I)>TMP(I+LI) THEN
CALL
! Realiza
SWAP(TMP(I),TMP(I+LI))
intercambio de valores.
LET J=I
- 384
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
END IF
NEXT I
! Calcula nuevo lmite superior.
LET LS=J-LI
LOOP
! Calcula
WHILEnuevo
J<>0 lmite inferior.
LET LI=INT(LI/2)
LOOP
END SUB
!
! Implementacin original de:
! Donald L. Shell. Julio de 1959.
!
! Clasificacin por disminucin de incrementos.
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas: Ninguna.
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
- 385 -
Tras los pasos de un... Hacker
!
! Internas de True BASIC.
! TIME, devuelve la cantidad de segundos transcurridos desde la media
! noche del da en milisegundos.
!
! Libreras:
! MENSORT.TRU, contiene funciones y subrutinas comunes a todos los
! procedimientos de ordenamiento.
!
! S_LABLIB.TRU, contiene los mtodos de ordenamiento.
!
! Mdulos:
! Ninguno.
!
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
PRINT "Termina ordenamiento..."
CALL
!
PRINT PRESENTA_VECTOR(A)
Presenta el vector ordenado.
- 386 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
GET KEY S
END
DOEmpieza
LET
! Calcula
el proceso
lmite superior.
!LI=INT(N/2)
WHILE LI>0 de ordenamiento...
LET LS=N-LI
DO
LET J=0
FOR I=1 TO LS
IF TMP(I)>TMP(I+LI) THEN
CALL
! Realiza
SWAP(TMP(I),TMP(I+LI))
intercambio de valores.
ENDLET
IF J=I
NEXT I
! Calcula nuevo lmite superior.
LET LS=J-LI
LOOP
! Calcula
WHILEnuevo
J<>0 lmite inferior.
LET LI=INT(LI/2)
LOOP
END SUB
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
Mtodo: Shell Sort.
Elementos:
0 Tiempo
0,000 (ms):
Shell Sort. Shell Sort.
4.000,000
2500 190,000
3.000,000
5000 480,000
2.000,000
10000
15000
20000 1.192,000
1.912,000
3.115,000 0,000
1.000,000
- 387 -
Tras los pasos de un... Hacker
Mtodo de Intercambio
Bubble Sort
A(1)
A(2)
A(5)
A(3)
A(4) 2
4
5
1
3 I =5
21
4
1
3 I =5
22
1
3
4 I =5
13
2
3
4 I =5 4
A(J)
- 388 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Tendremos que definir los subndices I, J, que en nuestro algoritmo nos ayudarn
a ubicar los elementos a intercambiar y las veces que haremos el procedimiento
dentro del vector A definido.
FOR J=2 TO N
IF TMP(J-1)>TMP(J) THEN CALL SWAP(TMP(J-1),TMP(J))
NEXT J
NEXT I
END SUB
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas: Ninguna.
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
- 389 -
Tras los pasos de un... Hacker
!
! Funciones: Definida por el usuario.
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
PRINT "Termina ordenamiento..."
- 390 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
CALL PRESENTA_VECTOR(A)
PRINT
GET KEY S
END
FOR J=2 TO N
IF TMP(J-1)>TMP(J) THEN CALL SWAP(TMP(J-1),TMP(J))
NEXT J
NEXT I
END SUB
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
0 10.00020.00030.000
- 391 -
Tras los pasos de un... Hacker
FOR J=I+1 TO N
IF TMP(J)<TMP(I) THEN CALL SWAP(TMP(J),TMP(I))
NEXT J
NEXT I
END SUB
!
! Implementacin original de:
! K. E. Batcher. 1964.
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas: Ninguna.
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
- 392 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
! expresar en milisegundos.
!
! Internas de True BASIC.
! TIME, devuelve la cantidad de segundos transcurridos desde la media
! noche del da en milisegundos.
!
! Libreras:
! MENSORT.TRU, contiene funciones y subrutinas comunes a todos los
! procedimientos de ordenamiento.
!
! S_LABLIB.TRU, contiene los mtodos de ordenamiento.
!
! Mdulos:
! Ninguno.
!
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
PRINT "Termina ordenamiento..."
CALL
!
PRINT PRESENTA_VECTOR(A)
Presenta el vector ordenado.
- 393 -
Tras los pasos de un... Hacker
SET COLOR 15
! Muestra el tiempo utilizado.
PRINT "Tiempo requerido : ";
PRINT
SET Tiempo_Transcurrido$(TF)
COLOR 7
GET KEY S
END
FOR J=I+1 TO N
IF TMP(J)<TMP(I) THEN CALL SWAP(TMP(J),TMP(I))
NEXT J
NEXT I
END SUB
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
Mtodo: Batcher.
Elementos:
0 Tiempo (ms):
0,000
Batcher.
250.000,000
2500 3.295,000
200.000,000
5000
10000
15000
20000 13.330,000
53.827,000
120.984,000
215.520,000 0,000
150.000,000
100.000,000
Batcher.
50.000,000
MTODO QUICKSORT
- 394 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
LET N=SIZE(TMP)
IF N=0 THEN EXIT SUB
CALL SORT(TMP,1,N)
END SUB
SUB SORT(TMP(),L,R)
LET I=L
LET J=R
LET X=TMP(INT((L+R)/2))
DO
DO WHILE TMP(I)<X
LET I=I+1
LOOP
DO LET
WHILE X<TMP(J)
J=J-1
LOOP
IF I<=J THEN
CALL SWAP(TMP(I),TMP(J))
LET I=I+1
LET J=J-1
END IF
! Inicia
LOOP elI>J
UNTIL proceso recursivo.
!
! Implementacin
C. A. R. Hoare.original
1962. de:
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas:
- 395 -
Tras los pasos de un... Hacker
! Ninguna.
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
- 396 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
CALL
PRINT
! PRESENTA_VECTOR(A)
Presenta
"Termina
el vector
ordenamiento..."
ordenado.
GET KEY S
END
SUB SORT(TMP(),L,R)
LET I=L
LET J=R
LET X=TMP(INT((L+R)/2))
DO
DO WHILE TMP(I)<X
LET I=I+1
LOOP
DO LET
WHILE X<TMP(J)
J=J-1
LOOP
IF I<=J THEN
CALL SWAP(TMP(I),TMP(J))
LET I=I+1
LET J=J-1
END IF
! Inicia
LOOP elI>J
UNTIL proceso recursivo.
Ahora con varios valores de elementos del vector de prueba, podremos ver su
- 397 -
Tras los pasos de un... Hacker
300,000
10000 191,000
200,000 Quick Sort.
15000 321,000
100,000
20000 390,000
0,000
0 10.000 20.000 30.000
LET LS=N
LET I=LS
DO
FOR J=LS TO LI STEP -1
IF TMP(J)<TMP(J-1) THEN
CALL SWAP(TMP(J),TMP(J-1))
LET I=J
END IF
NEXT J
LET J=LI
FOR LI=I+1
TO LS
IF TMP(J)<TMP(J-1) THEN
CALL SWAP(TMP(J),TMP(J-1))
LET I=J
END IF
NEXT J
LOOP
LET
UNTIL
LS=I-1
LI>LS
END SUB
- 398 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas: Ninguna.
!
! Variables:
! A, TMP, vectores numricos, contendrn los datos.
! I, J numricas, contadores de los procesos.
! TI, TF, T numricas, tiempo de ejecucin.
! S numrica, temporal captura cdigo de tecla pulsada.
! N numrica, cantidad de elementos en el vector.
! LI, LS numricas, punteros para proceso.
!
! Funciones: Definida por el usuario.
- 399 -
Tras los pasos de un... Hacker
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
CALL
PRINT
! Presenta
PRESENTA_VECTOR(A)
"Termina
el vector
ordenamiento..."
ordenado.
GET KEY S
END
- 400 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
IF TMP(J)<TMP(J-1) THEN
CALL SWAP(TMP(J),TMP(J-1))
LET I=J
END IF
NEXT J
LOOP
LET
UNTIL
LS=I-1
LI>LS
END SUB
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
Mtodo: Sacudida.
Elementos:
0 Tiempo
0,000 (ms):
Sacudida. Sacudida.
300.000,000
200.000,000
100.000,000
0,000 0 10.000 20.000 30.000
2500 4.046,000
5000
10000
15000 16.494,000
66.836,000
150.016,000
20000 265.392,000
- 401 -
Tras los pasos de un... Hacker
SELECCIN DIRECTA
El mtodo de seleccin directa consiste en:
a) Escoger un elemento, empezando desde el primero del vector ingresado.
Mtodo de Seleccin
Directa
A(1)
A(2)
A(3)
A(4)
A(5) 2
4
5
1
3 I =3
11
4
5
2 I =3
12
2
5
4 I =5
13
2
3
4 I =5 4
A(J)
Tendremos que definir los subndices I, J, que en nuestro algoritmo nos ayudarn
a ubicar los elementos a intercambiar y las veces que haremos el procedimiento
dentro del vector A definido, el puntero R mantendr el valor del elemento
seleccionado.
- 402 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
FOR
LET J=I+1
R=I TO N
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas: Ninguna.
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
- 403 -
Tras los pasos de un... Hacker
!
! Libreras:
! MENSORT.TRU, contiene funciones y subrutinas comunes a todos los
! procedimientos de ordenamiento.
!
! S_LABLIB.TRU, contiene los mtodos de ordenamiento.
!
! Mdulos:
! Ninguno.
!
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
PRINT "Termina ordenamiento..."
CALL
!
PRINT PRESENTA_VECTOR(A)
Presenta el vector ordenado.
- 404 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
SET COLOR 7
GET KEY S
END
LET R=I
FOR J=I+1 TO N
IF TMP(R)>TMP(J) THEN LET R=J
NEXT J
IF R<>I THEN CALL SWAP(TMP(I),TMP(R))
NEXT I
END SUB
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
Mtodo: Seleccin.
Elementos:
0 Tiempo (ms):
0,000
Seleccin.
5000
10000 7.961,000
32.657,000 150.000,000
100.000,000
2500 1.993,000
50.000,000
0,000 0 10.000 20.000 30.000
Seleccin.
15000 73.436,000
HEAP
20000 SORT
130.468,000
CALL PERCOLATEUP(I,TMP)
- 405 -
Tras los pasos de un... Hacker
NEXT I
FOR CALL
I = NSWAP(TMP(1),TMP(I))
TO 2 STEP -1
NEXTCALL
I PERCOLATEDOWN(I-1,TMP)
END SUB
SUB PERCOLATEDOWN(N,TMP())
LET I=1
DO
LET J=2*I
IF J>N THEN EXIT DO
IF J+1<=N THEN
IF TMP(J+1) > TMP(J) THEN
LET J=J+1
END IF
END IF
IF TMP(I) < TMP(J) THEN
CALL SWAP(TMP(I),TMP(J))
ELSE
LET
E XITI=J
DO
END IF
LOOP
END SUB
SUB PERCOLATEUP(N,TMP())
LET I=N
DO UNTIL I=1
LETTMP(I)
IF J=INT(I/2)
> TMP(J) THEN
CALL SWAP(TMP(J),TMP(I))
ELSE
LET
E XITI=J
DO
END IF
LOOP
END SUB
-406
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
!
! Mtodo
Algoritmo
HeapSort.
que ilustra
(Seleccin)
el mtodo de clasificacin llamado:
!
! Implementacin original de:
! R. W. Floyd. 1964.
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas: Ninguna.
!
! Variables:
! A, TMP, vectores numricos, contendrn los datos.
! I, J numricas, contadores de los procesos.
! TI, TF, T numricas, tiempo de ejecucin.
! S numrica, temporal captura cdigo de tecla pulsada.
! N numrica, cantidad de elementos en el vector.
!
! Funciones: Definida por el usuario.
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
- 407 -
Tras los pasos de un... Hacker
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
CALL
PRINT
! PRESENTA_VECTOR(A)
Presenta
"Termina
el vector
ordenamiento..."
ordenado.
GET KEY S
END
NEXTCALL
I PERCOLATEUP(I,TMP)
FOR CALL
I = NSWAP(TMP(1),TMP(I))
TO 2 STEP -1
NEXTCALL
I PERCOLATEDOWN(I-1,TMP)
END SUB
SUB PERCOLATEDOWN(N,TMP())
LET I=1
DO
LET J=2*I
IF J>N THEN EXIT DO
IF J+1<=N THEN
IF TMP(J+1) > TMP(J) THEN
LET J=J+1
END IF
- 408 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
END IF
IF TMP(I) < TMP(J) THEN
CALL SWAP(TMP(I),TMP(J))
LET I=J
ELSE
EXIT DO
END IF
LOOP
END SUB
SUB PERCOLATEUP(N,TMP())
LET I=N
DO UNTIL I=1
LETTMP(I)
IF J=INT(I/2)
> TMP(J) THEN
CALL SWAP(TMP(J),TMP(I))
LET I=J
ELSE
EXIT DO
END IF
LOOP
END SUB
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
Mtodo: Heap Sort.
5000 210,000
10000
15000 451,000
711,000 Heap Sort.
MTODO DE CAMBIO
Otro mtodo de seleccin es la implementacin llamada como mtodo de cambio,
su propuesta en BASIC podra ser esta:
- 409 -
Tras los pasos de un... Hacker
FOR
LET J=I+1
R=I TO N
IF TMP(J)<TMP(R) THEN
ENDLET
IF X=J
NEXT J
IF R>I THEN
CALL SWAP(TMP(I),TMP(R))
END IF
NEXT I
END SUB
!
! Se usar un vector numrico para almacenar los datos y
! presentar los resultados.
!
! Autor: Nstor Marroqun.
!
! Frmulas: Ninguna.
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
- 410
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
DIM A(0)
CLEAR
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
PRINT
PRINT "Termina ordenamiento..."
CALL
!
PRINT PRESENTA_VECTOR(A)
Presenta el vector ordenado.
- 411 -
Tras los pasos de un... Hacker
PLAY "o4l32dcga"
SET COLOR 15
GET KEY S
END
FOR
LET J=I+1
R=I TO N
IF TMP(J)<TMP(R) THEN
ENDLET
IF R=J
NEXT J
IF R>I THEN
CALL SWAP(TMP(I),TMP(R))
END IF
NEXT I
END SUB
Ahora con varios valores de elementos del vector de prueba, podremos ver su
comportamiento, en un grfico estadstico como el siguiente:
Mtodo: Cambio.
Elementos:
0 Tiempo
0,000 (ms):
Cambio.
150.000,000
2500 1.973,000
100.000,000
50.000,000
5000
10000
15000 8.141,000
32.086,000
73.045,000
Cambio.
0,000
20000 129.256,000
0 10.000 20.000 30.000
- 412
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
LABORATORIO DE INFORMTICA
! Variables:
! TMP vector numrico, contendr los datos.
! I, J, K, numricas, contadores de los procesos.
! N numrica, cantidad de elementos en el vector.
! V1, V2, TEMP numricas, variables temporales.
! LI, LS, R, X numricas, punteros para intercambio de valores.
!
! Funciones:
! Internas de True BASIC.
! SIZE(A), devuelve el nmero de elementos de un arreglo A.
! INT(N), funcin que devuelve el valor entero de un nmero N.
!
! Libreras:
! Ninguna.
!
! Mdulos:
! Ninguno.
!
EXTERNAL
! Empieza
FOR I = 2 el
TO proceso
N de ordenamiento...
LET J
FOR TEMP TMP(I)
= I=TO 2 STEP -1
- 413 -
Tras los pasos de un.. Hacker
END IE"
NEXT J
IF TMP (J1) >TMP (J) THEN CALL SWAP (TMP (J1) , TMP (U) )
NEXT J
NEXT T
END SUE
IF TMP (U) <TMP (I) THEN CALL SWAP (TMB (U) , TMP (I) )
NEXT J
NEXT T
END SUE
- 414 -
Arreglos, mtodos de clasificacin y bsqueda. Captulo IX.
- 415 -
Tras los pasos de un.. Hacker
-416 -
Arreglos, mtodos de clasificacin y bsqueda. Captulo IX.
! Sub rutina que intercambia los valores entre filas de una matriz. . .
sUB SWAE COL (TMB (, ) , I, J)
LET X=SIZE (TMP, 2)
EOR. K=1. TO X
- 417 -
Tras los pasos de un... Hacker
!
! Variables: A, TMP, vectores numricos, contendrn los datos.
- 418 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
! Mdulos:
! Ninguno.
!
LIBRARY "MENSORT.TRU",
! Incluye "S_LABLIB.TRU"
los procedimientos guardados en la librera...
! Inicia el proceso.
FOR I=1 TO 9
! Inicializar el vector si no tiene elementos y presentar un mensaje de
! saludo y objetivo del programa.
LET
CALLR(I,1)=I
MAT PRESENTAR(A)
TMP=A
SELECT CASE I
CASE 1
LET NMET$(I)=Insercin.
SET COLOR 15
PRINT
SET COLOR
"Mtodo
7 utilizado: ;NMET$(I)
PRINT
Inicializa
LET
PRINT
! "Iniciael
TI=TIME tiempo de ejecucin como TI (tiempo inicial).
ordenamiento..."
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE 2
LET NMET$(I)=Shell
SET COLOR 15 Sort.
SET
PRINT
COLOR
"Mtodo
7 utilizado: ;NMET$(I)
PRINT
Inicializa
LET
PRINT
! "Iniciael
TI=TIME tiempo de ejecucin como TI (tiempo inicial).
ordenamiento..."
- 419 -
Tras los pasos de un... Hacker
LET TF=TIME-TI
LET R(I,2)=TF
CASE 3
LET NMET$(I)=Bubble
SET COLOR 15 Sort.
PRINT
SET COLOR
"Mtodo
7 utilizado: ;NMET$(I)
PRINT
PRINT "Inicia ordenamiento..."
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE 4
LET NMET$(I)=Intercambio de Batcher.
SET COLOR 15
PRINT "Mtodo utilizado: ;NMET$(I)
SET COLOR 7
PRINT
PRINT "Inicia ordenamiento..."
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE 5
LET NMET$(I)=QuickSort.
SET COLOR 15
PRINT "Mtodo utilizado: ;NMET$(I)
SET COLOR 7
PRINT
PRINT "Inicia ordenamiento..."
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE 6
LET NMET$(I)=Sacudida.
SET COLOR 15
- 420
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
PRINT "Mtodo
SET COLOR 7 utilizado: ;NMET$(I)
PRINT
! Inicializa
PRINT
LET "Iniciael
TI=TIME tiempo de ejecucin como TI (tiempo inicial).
ordenamiento..."
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE 7
LET NMET$(I)=Seleccin.
SET COLOR 15
PRINT "Mtodo utilizado: ;NMET$(I)
SET COLOR 7
PRINT
! Inicializa
PRINT
LET "Iniciael
TI=TIME tiempo de ejecucin como TI (tiempo inicial).
ordenamiento..."
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE 8
LET NMET$(I)=HeapSort.
SET COLOR 15
PRINT "Mtodo utilizado: ;NMET$(I)
SET COLOR 7
PRINT
! Inicializa
PRINT
LET "Iniciael
TI=TIME tiempo de ejecucin como TI (tiempo inicial).
ordenamiento..."
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE 9
LET NMET$(I)=Cambio.
SET COLOR 15
PRINT "Mtodo utilizado: ;NMET$(I)
SET COLOR 7
PRINT
PRINT "Inicia ordenamiento..."
- 421 -
Tras los pasos de un... Hacker
! Inicializa
LET TI=TIME el tiempo de ejecucin como TI (tiempo inicial).
Captura
LET
! el tiempo final de ejecucin como TF (tiempo final).
TF=TIME-TI
LET R(I,2)=TF
CASE ELSE
END SELECT
PRINT
CALL
PRINT
! PRESENTA_VECTOR(A)
Presenta
"Termina
el vector
ordenamiento..."
ordenado.
- 422
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
- 423 -
Tras los pasos de un... Hacker
- 424
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
- 425 -
Tras los pasos de un... Hacker
- 426 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
EJERCICIOS PROPUESTOS:
Elaborar los algoritmos solicitados para resolver cada uno de los siguientes
problemas:
- 427 -
Tras los pasos de un... Hacker
- 428 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
9.3.1 BSQUEDASECUENCIAL
Estos mtodos, cuando la informacin no est organizada de ninguna manera,
consisten en empezar a leer la informacin desde el primer byte e ir preguntando
si la porcin recuperada corresponde al dato que buscamos y as hasta terminar
de leer el medio que posiblemente contiene la informacin.
En otras palabras y aunque suene redundante la computadora empezar su
bsqueda por el principio y continuar hasta encontrar la informacin o hasta
que se termine de leer el medio correspondiente.
- 429 -
Tras los pasos de un... Hacker
EJERCICIOS RESUELTOS:
Implementar una funcin donde ingresada una variable string que contiene
una frase compuesta de varias palabras, nos mencione si ingresada otra se
encuentra o no en la frase.
Para resolver este problema, en primer lugar, tomemos nota de los detalles
planteados y propongamos una estrategia de solucin:
Detalles:
Necesitamos algn contador para que nos indique desde dnde? y hasta
dnde? realizar el proceso, para esto definiremos la variable tpica I, una
que contenga el lmite de la bsqueda N, finalmente una variable
temporal para el clculo auxiliar respectivo, la denominaremos TEMP.
Usaremos la funcin interna del True BASIC, LEN(A$), la misma que nos
devuelve la cantidad de caracteres que contiene la variable A$, as como
la forma de localizar substrings que est definida con la siguiente
expresin A$[X:Y], indicar que se tomar desde el carcter ubicado en la
posicin X hasta el carcter ubicado en la posicin Y de la variable A$.
- 430 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
8. Fin de la funcin.
IF N<TEMP THEN
LET F_PAL=0
EXIT FUNCTION
END IF
LET I=0
! Empieza el proceso de bsqueda secuencial en la variable...
DO
LET I=I+1
IF A$[I:I+TEMP-1]=B$ THEN
LET F_PAL=1
EXIT FUNCTION
END IF
LOOP UNTIL I=N-TEMP+1
END FUNCTION
Programa ejemplo:
- 431 -
Tras los pasos de un... Hacker
! Inicia el proceso.
! Definimos la funcin.
CLEAR
PRINT "Programa que muestra el uso de un mtodo de bsqueda secuencial."
- 432
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
ENDPRINT
IF "Las letras ";B$;" no estn contenidas en la frase..."
END
LET I=I+1
IF A$[I:I+TEMP-1]=B$ THEN
LET F_PAL=1
EXIT FUNCTION
END IF
LOOP UNTIL I=N-TEMP+1
END FUNCTION
Cuando encuentra
Cuando no encuentra
- 433 -
Tras los pasos de un... Hacker
- 434
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Bsqueda Binaria
En A(11) buscar X = 10
1 FLAG = 0 X = 10
A(N)
A(4)
A(3)
A(5)
A(2)
A(1) 2
1 LI = 1
A(6) 6 MEDIO = 6
2 A(7)
A(9)
A(8) 9
8
7 LI = 7
MEDIO = 9
3 A(11)
A(10) 11
10 LS = 11 LI = 10 MEDIO = 10 FLAG = 1
LET MEDIO=INT((LI+LS)/2)
IF A(MEDIO)<X THEN
LET LI=MEDIO+1
ELSE IF A(MEDIO)>X THEN
LET LS=MEDIO-1
ELSE
LET FLAG=1
- 435
Tras los pasos de un... Hacker
EXIT DO
END IF
LOOP
IF
! Para
FLAG=0
usoTHEN
si deseamos
LET MEDIO=LI
insertar un dato en el vector ordenado.
END SUB
EJERCICIOS RESUELTOS:
!
! Variables: A(N) numrico, vector que contiene N datos.
!
! Funciones: Internas de True BASIC.
-436 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
! Definimos el vector.
DIM A(11)
! Inicia el proceso.
CLEAR
PRINT "Programa que muestra el uso de la bsqueda binaria."
PRINT
NEXT I
END
- 437 -
Tras los pasos de un... Hacker
LET MEDIO=INT((LI+LS)/2)
IF A(MEDIO)<X THEN
LET LI=MEDIO+1
ELSE IF A(MEDIO)>X THEN
LET LS=MEDIO-1
ELSE
LET FLAG=1
EXIT DO
END IF
LOOP
IF
! Para
FLAG=0
usoTHEN
si deseamos
LET MEDIO=LI
insertar un dato en el vector ordenado.
END SUB
! Variables:
! A(N) numrico, vector que contiene N datos.
! LI, LS, MEDIO numricas, punteros del proceso.
! TEMP numrica, dato temporal.
! X numrica, dato a buscar.
! FLAG numrica, bandera de estado del proceso.
- 438 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
! 0 verdadero.
1 falso.
!
! Funciones:
! Internas de True BASIC.
! LBOUND(VECTOR), devuelve el valor del subndice menor del vector.
! UBOUND(VECTOR), devuelve el valor del subndice mayor del vector.
! INT(X), retorna el valor entero de X.
!
! Subrutinas:
!
! Push(A,X) adiciona al arreglo numrico A el elemento X.
!
! Para pilas de datos procedimiento LIFO.
! Pop(A,X) devuelve en X el valor del ltimo elemento
! adicionado al arreglo numrico A y lo retira de A.
!
! Para colas de datos procedimiento FIFO.
! Batch(A,X) devuelve en X el valor del primer elemento
! del arreglo A y lo retira de A.
!
! Insercin de datos en un vector ordenado.
! Insert_sort(A,X) inserta el elemento X en el vector A y lo
! devuelve ordenado, A debe estar ordenado para esta operacin.
!
! Libreras:
! Ninguna.
!
! Mdulos:
! Ninguno.
!
! Librera de procedimientos con arreglos.
EXTERNAL
LET A(N)=X
END SUB
LET REDIM
MAT X=A(N)A(N-1)
END IF
END SUB
LET X=A(1)
- 439 -
Tras los pasos de un.. Hacker
EOR. T= 2 TO N
LET A ( I1)=A (I)
NEXT T
MAT REDIM A (N1)
END IE"
END SUE
- 440
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
!
! Variables: A(N) numrico, vector que contiene N datos.
!
! Funciones: Internas de True BASIC.
! Definimos el vector.
DIM A(0)
! Inicia el proceso.
CLEAR
PRINT "Programa que muestra una aplicacin de la bsqueda binaria."
PRINT
LET N=11
FOR I=1 TO N
PRINT "Ingrese dato a insertar en el vector: ";
INPUT X
CALL INSERT_SORT(A,X)
NEXT I
- 441 -
Tras los pasos de un... Hacker
PRINT
FOR PRINT
I=1 TO"A(";I;")
SIZE(A) =";A(I)
NEXT I
END
- 442 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
Datos aleatorios:
- 443 -
Tras los pasos de un... Hacker
La parte acadmica de este texto termina aqu, les invito a que por cuenta propia
investiguen los temas relacionados a manejo de archivos, grficos y sonidos en
True BASIC.
Cuando ya dominen estos tpicos, les ser fcil entender e implementar mdulos
como estructuras de un programa en True BASIC.
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Arreglos, Mtodos de Clasificacin y Bsqueda, las notas
han sido elaboradas en base a publicaciones de revistas especializadas y la
consulta de los siguientes textos:
- 444 -
Arreglos, mtodos de clasificacin y bsqueda... Captulo IX.
- 445 -
Tras los pasos de un... Hacker
- 446 -
INTRODUCCIN (X)
Motivado por las cosas que decan hacen los Hackers en la novela de Sterling,
as como de la forma de trabajar de un programa antivirus que en ese entonces
era famoso (que lo llegu a conocer como Turbo Antivirus de una casa Israelita
llamada CARMEL Software Engineering Ltd.), naci en m la curiosidad de
investigar sobre los ya famosos virus de computadoras que a los Hackers se les
atribua precisamente, el aparecimiento de este tipo de programas de
computadora y en definitiva quera saber: qu eran?, cmo funcionaban?,
cmo se programaban? y por sobre todo cmo se los poda eliminar?
- 447 -
Tras los pasos de un... Hacker
Me gustaba ser profesor, a mis 23 aos (y sin compromisos mayores), tena todo
el tiempo del mundo para ensear. Siempre me gust el reto del maestro, mi
pasin era poder transmitir algo de mis conocimientos para que los mismos no
mueran, a la vez para que otra persona pueda sacar provecho de los mismos en
pos de generar una cultura informtica superior en el pas de entonces.
- 448 -
La historia... Introduccin (X).
- 449 -
Tras los pasos de un... Hacker
Ahora sera bueno que aprendan un poco sobre los virus informticos
- 450 -
CAPTULO X. VIRUS Y ANTIVIRUS
10.1 PRELIMINARES
Virus (virus-i, veneno, jugo nocivo). Germen infeccioso de varias enfermedades
singularmente contagiosas.
Sucede adems que, los ttulos o las formas para referirnos a aspectos
tecnolgicos tienen un aire publicitario, por ejemplo, si hablramos de
"programas informticos que tienen la capacidad de auto replicarse en otros
programas, con el objeto de interferir con el normal funcionamiento de una
computadora o red, que actan sin interaccin con el usuario", solo despertara
bostezos, pero como realmente los llamamos virus informticos, entonces capta
(y de qu manera!) la atencin del pblico en general.
- 451 -
Tras los pasos de un... Hacker
Una antigua mxima reza: "Si quieres vencer a tu enemigo, concelo primero"
(El arte de la guerra de Sun Tzu). Eso es lo que se intentar en este captulo: si
se ejecutan en una computadora, es que son programas, y si son programas, se
pueden comprender. Es cierto que no contamos con el cdigo fuente, pero acaso
es imprescindible? Es que no tenemos el cdigo objeto...?
Hay quien opina que este tipo de informacin no debe hacerse pblica,
especialmente aqu en el Ecuador que incluso se considera infraccin
informtica, tipificada como delito por el Cdigo Penal Ecuatoriano en los Art.
202.1 y Art. 202.2 (artculos que se adicionaron cuando el Congreso Nacional del
Ecuador aprob la Ley de Comercio Electrnico, Firmas Electrnicas y Mensajes
de Datos, el 10 de abril de 2.002, claramente para sancionar a las actividades de
los Hackers), donde se sanciona a quienes divulguen informacin que puede ser
utilizada para fines ilegales, en especial para evitar que ms gente se dedique a
investigar temas relacionados a la seguridad informtica o fabricar virus. Pero,
ya que segn los estudiosos, la media de aparicin de virus nuevos viene a ser de
- 452 -
Virus y antivirus... Captulo X.
La labor de investigar y aprender de forma autodidacta que ese espritu de una verdadera
actitud Hacker impone es lo que se trata de mostrar con estos relatos.
- 453 -
Tras los pasos de un... Hacker
LOS COMIENZOS
Aparte del mero juego, tambin se trat de darle un uso algo ms prctico a este
tipo de programas y as a finales de los aos 70, dos investigadores del Centro de
Investigacin Xerox de Palo Alto, California, idearon un programa que deba
encargarse de las labores de mantenimiento y administracin del complejo, al
que dieron el nombre de gusano. El programa dorma por el da y por la
noche se propagaba por todas las computadoras del centro de cmputo
haciendo copias de seguridad y otras tareas de gestin. Todo esto en la teora,
porque en la prctica el gusano escap de las computadoras de prueba del
laboratorio, se extendi por toda la red y paraliz todas las mquinas. Al intentar
eliminarlo, segua reapareciendo, as que no hubo ms remedio que crear otro
programa vermicida que fuera por todas las mquinas matando copias del
gusano.
- 454 -
Virus y antivirus... Captulo X.
LOS AOS 80
- 455 -
Tras los pasos de un... Hacker
As, tiempo despus, un banco de la isla de Malta se vio afectado por un virus que
presentaba el siguiente mensaje en la pantalla:
El virus borraba la FAT (File Allocation Table) una estructura bsica de cualquier
disco/disquete que opere bajo el sistema operativo DOS o compatible, que
permite encontrar los datos, pero guardaba una copia en memoria, despus
invitaba a jugar el conocido juego del tragamonedas.
Si salan tres "L", restauraba la FAT y no se perda informacin, pero si salan tres
"?" o tres "C", destrua tambin la copia de la FAT de la RAM y se perdan todos
los datos.
Como era de esperar, el banco perdi la informacin en dos terceras partes de
sus mquinas.
- 456 -
Virus y antivirus... Captulo X.
- 457 -
Tras los pasos de un... Hacker
Mientras tanto, en los Estados Unidos de Norte Amrica; Fred Cohen acababa de
completar su tesis doctoral, que versaba precisamente sobre los virus
informticos. El doctor Cohen demostr que uno no puede escribir un programa
que sea capaz de, con un ciento por ciento de aciertos, visualizar un archivo y
decidir si es o no un virus.
Desde luego, nadie pens jams en esa posibilidad, pero Cohen hizo buen uso de
un teorema matemtico y as fue como se gan el doctorado. Sus experimentos
sobre la difusin de virus en los sistemas informticos demostraron que la
expansin de las infecciones resultaban ser mucho ms rpidas de lo que nadie
hubiera esperado.
En 1.987, Cohen visit la Universidad Lehigh, all se encontr con Ken van Wyk,
de este encuentro surgi el virus Lehigh, que nunca abandon el laboratorio,
porque slo poda infectar el archivo COMMAND.COM y daar increblemente a
su husped o host despus de tan slo cuatro replicaciones. Una de las reglas
bsicas sobre los virus dice que, aquel que dae de forma muy rpida a su
husped, no sobrevive durante mucho tiempo. De todas formas, el virus Lehigh
se hizo muy popular y foment la aparicin del grupo de noticias sobre virus de
Ken van Wyk en Usenet.
- 458 -
Virus y antivirus... Captulo X.
Un virus que se manifiesta de una manera tan evidente, obviamente no puede ser
tan pernicioso; nicamente, se trata de la demostracin de la forma de actuacin
de un virus, de ah el mensaje.
- 459 -
Tras los pasos de un... Hacker
- 460 -
Virus y antivirus... Captulo X.
- 461 -
Tras los pasos de un... Hacker
- 462 -
Virus y antivirus... Captulo X.
- 463 -
Tras los pasos de un... Hacker
Se trat del primer virus polimrfico difundido a escala mundial. En mayo, los
nuevos motores de bsqueda lo detectaban, pero no fue hasta septiembre que se
empez a reducir su expansin. Si no se desinfectaba totalmente exista un
riesgo de prdida de un uno por ciento de los archivos, este porcentaje se
incrementaba cada vez que se detectaba el virus pero no se desinfectaba de
forma efectiva.
- 464
Virus y antivirus... Captulo X.
En septiembre de 1.991 el virus Maltese Amoeba hizo de las suyas por toda
Europa, se trataba de otro virus polimrfico que provoc la aparicin de una
docena de variantes antes de fin de ao, todas clasificadas como de difcil
erradicacin. En este ao se anunci la inmediata aparicin de un virus que
poda tomar nada ms y nada menos que 4 billones de formas diferentes, pero
esto sucedera para 1.992 y no se trataba de un virus.
- 465 -
Tras los pasos de un... Hacker
Otro virus importante que surgi durante este periodo fue Starship, se trata de
un virus completamente polimrfico, que constaba de una serie de trucos anti
debug y anti checksum, Starship solamente infectaba los archivos cuando
stos eran copiados desde el disco duro a un disquete. Por lo tanto, los archivos
residentes en el disco duro no cambiaban nunca. Pero la copia del disquete
estaba infectada, por lo que si este disquete se introduca en otro equipo y se
chequeaba el sistema por medio del checksum, ste lo aceptaba sin problemas.
El virus Starship se instalaba a s mismo en el disco duro, pero sin hacer ningn
cambio en el cdigo ejecutable, cambiaba los datos, eso s de particin,
efectuando una nueva particin en el MBR, esta nueva particin contena el
cdigo del virus, que se ejecutaba antes de pasar el control a la copia del MBR
original.
- 466 -
Virus y antivirus... Captulo X.
Khafir tambin lanz el primer virus que trabajaba de acuerdo con un principio
que ya fuera enunciado por Fred Cohen. El virus Cruncher era un cdigo
maligno de compresin que automticamente se inclua en archivos para
autoinstalarse en tantos equipos como fuera posible; mientras tanto, Nowhere
- 467 -
Tras los pasos de un... Hacker
- 468 -
Virus y antivirus... Captulo X.
Los siguientes aos conocieron una superabundancia de virus escritos por medio
de paquetes, lo cual caus enormes dificultades a los desarrolladores de software
antivirus, de repente, se hizo necesario mecanizar los procesos de anlisis de
cdigos malignos, la solucin fue la GDE (General Decrypt Engine o Mquina de
Desciframiento General), que descifraba el cdigo de un archivo sospechoso,
permitiendo as llegar a la conclusin de si se trataba o no de un virus. Esto
eliminaba el peligro de las falsas alarmas, ya que una vez que un virus es
descifrado, se facilita muchsimo el proceso de una identificacin positiva del
citado virus.
En abril del ao 1.994, la firma Central Point Software dej de existir. Central
Point lleg a ser una de las principales empresas del mercado de los
desarrolladores de soluciones antivirus, con su producto CPAV. En este mismo
ao tambin aparecieron muchas mquinas polimrficas y nuevos virus, como
SMEG, que fue lanzado por su autor como Smeg.Pathogen y Smeg.Queeg.
Debido a que estos virus se difundieron inmediatamente despus de su creacin,
supusieron una especie de curiosa prueba que denotaba la capacidad de reaccin
de las empresas desarrolladoras de antivirus.
El 26 de marzo de 1.996, Christopher Pile, de 26 aos, oriundo de Plymouth (en
Inglaterra), fue condenado de acuerdo con la Ley de Utilizacin Fraudulenta de
Equipos Informticos en conexin con la aparicin y posterior difusin de los
virus Smeg.
1.996 - Boza, Concept, Laroux, & Staog: Boza es el primer virus diseado
especficamente para archivos de Windows 95. Concept es el primer virus de
macro para Word. Laroux es el primer virus de macro para Excel. Staog es el
primer virus para Linux (realizado por los autores del Boza).
- 469 -
Tras los pasos de un... Hacker
1.998 - Strange Brew & Back Orifice: Strange Brew es el primer virus para
Java. Back Orifice es el primer virus troyano diseado para la administracin
remota de equipos, es decir, permite tomar el control de una maquina remota por
otro usuario va Internet.
2.000 - DDoS, Love Letter, Liberty (Palm), Streams, & Pirus: DDoS fue el
mayor denegador de servicios que atac cerrando importantes sitios web, tales
como Yahoo!, Amazon.com y otros. El virus Love Letter, se convirti en el gusano
que ms rpido infect a los usuarios; saturando la capacidad de los servidores
- 470 -
Virus y antivirus... Captulo X.
2.001- Aparece el primer virus para servidores web Linux: El gusano Ramen
comienza a atacar sistemas Linux en enero de 2.001. Debido a la amplia
implantacin de este sistema operativo en el mundo de la Internet, este virus se
propag rpidamente, pero sin causar grandes destrozos.
- 471 -
Tras los pasos de un... Hacker
Creacin del antivirus. El autor o alguna empresa que hacen software antivirus
presentan el antivirus.
Esta fase es opcional.
- 472 -
Virus y antivirus... Captulo X.
Virus Per s.
Bomba Lgica.
Gusano o Worm.
Virus de Macro.
Caballo de Troya o troyano.
Fallos de seguridad en el diseo de algunos sistemas.
VIRUSPERS
Un verdadero virus o virus per s, cumple con todas y cada una de las tres
primeras fases del funcionamiento de un virus.
Un virus per s tambin debe modificar el cdigo original del programa
husped o soporte objeto de la infeccin, para poder activarse durante la
ejecucin de dicho programa; al mismo tiempo, una vez activado, el virus suele
quedar residente en memoria para poder infectar otros programas o medios de
forma automtica y sin la intervencin del usuario.
BOMBA LGICA
Se trata simplemente de un virus informtico que permanece residente en su
husped y contaminando a otros programas o computadoras sanos y que solo
se activa cuando se produce una accin concreta, predeterminada por su creador,
por ejemplo: cuando se llega a una fecha especfica, cuando se ejecuta cierto
- 473 -
Tras los pasos de un... Hacker
GUSANO O WORM
Un gusano o Worm en un programa cuya nica finalidad es la de ir consumiendo
la memoria del sistema, mediante la realizacin de copias sucesivas de s mismo,
hasta desbordar la RAM, siendo sta su nica accin maligna, dentro de este
grupo de virus, podemos tambin considerar a los VBScripts.
Ejemplo: Arj.Worm, Bloodhound.IRC.Worm, etc.
VIRUS DE MACRO
Un virus de macro es un programa pernicioso escrito en un lenguaje de alto nivel
que funciona en entornos muy especficos, por ejemplo, las aplicaciones de
Microsoft Office, su caracterstica principal es que funcionan directamente en
cdigo fuente y este fuente puede fcilmente transportase en medios de alta
difusin como son los documentos que pueden crearse con estos programas,
cuando son ledos en una computadora sana, se produce la infeccin de este
sistema, de ah en adelante todos los documentos que se creen sern portadores
de este virus.
Ejemplo: Npad, Laroux, etc.
CABALLO DE TROYA
Caballo de Troya es un programa maligno que se oculta en otro programa que es
una aplicacin vlida y de inters para el usuario. Producir sus efectos
perniciosos al ejecutarse este ltimo. En este caso, no es capaz de infectar otros
- 474 -
Virus y antivirus... Captulo X.
- 475 -
Tras los pasos de un... Hacker
Antes de nada, hay que recordar que un virus no puede ejecutarse por si solo,
necesita un programa portador o una computadora husped, para poder
cargarse en memoria e infectar; asimismo, para poder unirse a un programa
portador necesita modificar la estructura de este, para que durante su ejecucin
pueda realizar una llamada al cdigo del virus.
En los disquetes, el sector de arranque es una zona situada al principio del disco,
que contiene datos relativos a la estructura del mismo y un pequeo programa,
que se ejecuta cada vez que arrancamos desde disquete (tambin se encuentra en
los discos duros, una parte en el MBR y otra en el Boot Sector), que se conoce
como IPL (Initial Program Loader).
Normalmente un virus completo necesita ms espacio que los 512 bytes que
ocupa el sector de arranque, por lo que en ste suele copiar una pequea parte de
si mismo y el resto lo guarda en otros sectores del disco, normalmente los
- 476 -
Virus y antivirus... Captulo X.
ltimos, marcndolos como defectuosos. Sin embargo, puede ocurrir que alguno
de los virus no marquen estas zonas, por lo que al llenar el disco estos sectores
pueden ser sobrescritos y as dejar de funcionar el virus.
El sector de la tabla de particin esta situada en el primer sector del disco duro,
contiene informacin de cmo se divide el disco? y un pequeo programa de
arranque del sistema (IPL). Al igual que ocurre con el boot de los disquetes, un
virus de particin suplanta el cdigo de arranque original por el suyo propio; as,
al arrancar desde el disco duro, el virus se instala en memoria para efectuar sus
acciones. Tambin en este caso el virus guarda la tabla de particin original en
otra parte del disco, aunque algunos la marcan como defectuosa y otros no.
Muchos virus guardan la tabla de particin y a ellos mismos en los ltimos
sectores de disco, para proteger esta zona, modifican el contenido de la tabla para
reducir el tamao lgico del disco. De esta forma el DOS no tiene acceso a estos
datos, puesto que ni siquiera sabe que esta zona existe.
Con todo, el tipo de virus que ms abunda es el de archivo; en este caso usan
como vehculo de expansin los archivos de programa o ejecutables, sobre todo
los *.EXE y *.COM, aunque tambin suelen infectar a archivos de tipo *.DLL, *.VxD,
*.OVL, *.BIN, *.WDM y *.OVR. Al ejecutarse un programa infectado, el virus se
instala residente en memoria, a partir de este momento permanece al acecho; al
ejecutar otros programas, comprueba si ya se encuentran infectados. Si no es as,
se adhiere al archivo ejecutable, aadiendo su cdigo al principio o al final de ste
modificando su estructura, de forma que al ejecutarse dicho programa, primero
llame al cdigo del virus devolviendo despus el control al programa portador, de
esta manera permitiendo su ejecucin normal. (Definicin formal de un virus
hecha por Fred Cohen)
- 477 -
Tras los pasos de un... Hacker
Los efectos perniciosos que causan los virus son variados; entre stos se
encuentran el formateo completo del disco duro, eliminacin de la tabla de
particin, eliminacin de archivos, disminucin del rendimiento de la
computadora hasta limites exagerados, enlaces de archivos destruidos, archivos
de datos y de programas daados, mensajes o efectos extraos en la pantalla,
emisin de msica o sonidos, etc.
- 478 -
Virus y antivirus... Captulo X.
- 479 -
Tras los pasos de un... Hacker
WINDOWS 95 Y SUPERIORES
- 480 -
Virus y antivirus... Captulo X.
desarrollos para adecuarse a las caractersticas del nuevo entorno, sino tambin
por algunos fallos de diseo propios de Windows 95 y sus hermanos mayores
(Windows 98, Me, Windows 2000, Windows XP, Windows Vista, Windows 7).
En el MS-DOS (tambin en Windows 3.1) se podan solicitar informes al sistema
de todas las actividades realizadas, todo ello en tiempo real, desgraciadamente en
Windows 95 la cosa vara, ya que a pesar de tratarse de un sistema operativo
multitarea no se envan informes en tiempo real, sino cada determinados
intervalos de tiempo o cuando el procesador est menos ocupado. Por este
motivo la programacin de un controlador capaz de monitorizar el sistema con
seguridad es muy difcil, ya que un antivirus recibira la informacin de que se va
a producir una infeccin cuando el archivo ya est infectado.
VIRUS EN LA INTERNET
En ocasiones se propagan rumores que dan por cierto noticias de dudosa
procedencia, ms o menos esto es lo que ha sucedido de un tiempo a esta parte
con el virus por correo electrnico de Internet conocido como Good Times.
Lgicamente las primeras noticias de esta maligna creacin aparecieron en la red
de redes, en un mensaje alarmante que deca que si algn usuario reciba un
mensaje con el tema Good Times no deba abrirlo o grabarlo si no quera perder
todos los datos de su disco duro.
- 481 -
Tras los pasos de un... Hacker
10.10 QU ESUNANTIVIRUS?
A la hora de localizar virus, los programas usados son los detectores o escneres,
normalmente estos programas chequean primero la memoria RAM, despus de
chequear las zonas criticas del disco como el sector de particin, sector de
arranque y por ultimo los archivos almacenados en l.
- 482 -
Virus y antivirus... Captulo X.
QUDEBEMOS BUSCARENUNANTIVIRUS?
Por lo que de poco nos sirve un antivirus que detecte y elimine virus muy
extendidos en el mundo y que desconozca los ms difundidos en nuestra regin;
por tanto, estaremos mejor protegidos por un software que, de alguna forma, est
ms "especializado" en virus que puedan detectarse en nuestro pas.
- 483 -
Tras los pasos de un... Hacker
CMOREACCIONARANTEUNAINFECCIN?
NOTAS Y BIBLIOGRAFA
Sobre este tratado de Virus y Antivirus, las notas han sido elaboradas en base a
publicaciones de revistas especializadas y la consulta de los siguientes textos:
- 484 -
Virus y antivirus... Captulo X.
- 485 -
Tras los pasos de un... Hacker
- 486 -
CAPTULO XI. LA HISTORIA
Al tener esta caracterstica y con ese olfato que tienen algunas personas para los
negocios, mi amigo Fidel Valencia (1.965-, ingeniero en electrnica), me propone
un trato para la comercializacin del Check Program, me dijo que un cliente
- 487 -
Tras los pasos de un... Hacker
- 488 -
La historia... Captulo XI.
- 489 -
Tras los pasos de un... Hacker
Hacker y que no poda ayudarlo en su trabajo; sin embargo, conoca alguien que
quiz lo podra ayudar (me vino a la mente Csar); entonces, me dijo que
dispona de los recursos econmicos suficientes y que si tendra que formar un
grupo especialista, que cuente con ello, pero que definitivamente quera
arreglarse durante toda la operacin solo conmigo, porque ya me tena confianza
y estaba convencido que con mi asesora la misin encomendada la podra
cumplir.
Sin pensarlo mucho acepto el reto (como asesor del proyecto la cosa cambiaba), a
rengln seguido le menciono que necesitaramos ubicar a Csar; y, quiz algunos
tcnicos que l nos podra recomendar. Para la quincena de agosto de 1.994, el
equipo Alfa ya estaba conformado; para esta operacin quien les narra funga
como lder y asesor, mi HF fue Mr. Stealth, estaba Csar como experto en
comunicaciones, lORdByte como experto en sistemas operativos y
programacin de drivers (manejadores), Orlando experto en interaccin
hombre mquina y Bit Cracker como nuestro experto en electrnica.
Con estos cinco cerebritos, apuntando a vencer un solo reto, obtener la
informacin que Santiago necesitaba, emprendimos la gran aventura de infiltrar
nuestros propios monstruos en pos de conseguir la informacin.
- 490 -
La historia... Captulo XI.
Medida la posibilidad y sin mucho que perder, se nos ocurri un plan para llegar
a obtener algn documento de importancia, el mismo que consisti en:
1. Obtener las credenciales de autenticacin de algn personal autorizado
para el ingreso a la ARPANET.
2. Con las credenciales fsicas (tipos de tarjetas y nmeros de serie de los
componentes de alguna mquina autorizada), fabricaramos
localmente un clon perfecto de esta computadora.
3. Llevado el clon a los Estados Unidos de Norte Amrica, hecha zombi
esta computadora, tendramos localmente el enlace para ingresar a la
red, una especie de router/gateway.
4. Con las credenciales lgicas (usernames y passwords de acceso),
obtendramos el nivel apropiado de acceso para fisgonear los archivos
que estbamos buscando.
- 491 -
Tras los pasos de un... Hacker
Bit Cracker, dise la computadora que sera el clon perfecto de la del coronel
norte americano, para esto y con la ayuda de un dispositivo especial denominado
grabador de PROMS, equipamiento que lo pudimos adquirir para nuestros
experimentos, Bit Cracker haba clonado satisfactoriamente los nmeros de serie
de la tarjeta de vdeo, de la tarjeta madre, de las tarjetas de comunicaciones (red,
telfono y puertos seriales). Y en menos de una semana estaba operativa esta
computadora a la que denominamos cariosamente monstruo.
Por su lado lORdByte en conjunto con Orlando, haban modificado a mano el
Sistema Operativo de la computadora (DOS con Windows 3.1), haciendo que
arranque y se dedique exclusivamente a la misin. La interfaz hombre mquina
que haba desarrollado Orlando, haca que fcilmente desde un ambiente grfico,
el operador (un agente de inteligencia militar) sin muchos conocimientos
tcnicos, solo tenga que hacer clic en ciertas opciones del programa.
Para llevar a cabo la operacin, a monstruo remotamente lo controlaramos
desde el C3I2 (Comando de Control y Comunicaciones, Inteligencia e Informtica)
creado para nuestra misin. Esto lo pudimos lograr gracias a que yo dispona del
MASM (saben que para cuando lo adquir, Microsoft desde Seattle, tuvo que
autorizar la venta, ya que para Latino Amrica estaba negado este producto) y del
conocimiento suficiente para que lORdByte solo necesite la idea y la gua para
que la ponga en prctica. Bueno, adems que con el protocolo de comunicaciones
hecho a la medida por parte de Csar, nuestro monstruo era confiable para la
transmisin de la informacin que iba a obtener. Contra reloj, estbamos
dispuestos a probar este equipo en el campo de batalla.
Rpidamente y con las instrucciones del caso, Santiago ubic esta computadora
en algn sitio en la Ciudad de San Antonio, Texas, en los Estados Unidos de Norte
Amrica. A travs de los servicios de una operadora local de telefona nos
conectbamos va telefnica (dial-up) al servidor de la ARPANET. El operador,
electrnicamente mimetizado como un usuario autorizado para ingresar a la
Red del Departamento de Defensa de los Estados Unidos de Norte Amrica,
estaba alerta de las alarmas que podan levantarse, lo nico que tena que hacer
era bajar la sesin de conexin. Este procedimiento necesariamente tena que
hacerse desde los Estados Unidos de Norte Amrica; primero, por el tiempo de
retardo entre las comunicaciones internacionales as como si hubiera existido
una llamada entrante desde el exterior esta circunstancia hara que pueda ser
- 492 -
La historia... Captulo XI.
La conexin desde los Estados Unidos de Norte Amrica hacia el Ecuador, estaba
a cargo de una empresa que en ese entonces prestaba un servicio de CallBack;
es decir, desde el Ecuador se marcaba un nmero de telfono especial, cuando
este contestaba, se marcaba a qu nmero? en los Estados Unidos se quera
conectar y se colgaba el telfono. Segundos ms tarde, cuando se produca la
conexin, esta empresa llamaba a nuestro nmero y el trfico internacional era
tarifado y registrado como llamada saliente de Estados Unidos, nunca como
llamada entrante desde el Ecuador hacia Estados Unidos. Por su parte nuestro
monstruo, haca sus llamadas desde el mismo territorio norte americano y con la
seguridad que la conexin no se iba a caer, ya que confibamos en la calidad de
las telecomunicaciones del primer mundo.
- 493 -
Tras los pasos de un... Hacker
Cumplida la orden y sin la ms mnima sospecha por parte del Gobierno Norte
Americano, que este agente haba realizado quiz una de las ms arriesgadas,
subrepticias y complicadas misiones que la historia de las operaciones de
inteligencia y los Hackers ecuatorianos que participaron en esta misin puedan
contar a sus nietos; en cambio yo, como espectador y supervisor del equipo
puedo contarles a ustedes lo que pas.
- 494 -
La historia... Captulo XI.
Norton Antivirus.
- 495 -
Tras los pasos de un... Hacker
Cierto da, revisando la prensa observo una publicacin donde se invitaba a los
inventores ecuatorianos a participar en la feria Ecuador qu inventas?,
organizada por un particular en el Centro de Exposiciones Quito. Decido
participar con mi Check Program y en este evento recibira otra de las extraas
visitas que para ese entonces ya no me sorprendan
- 496 -
La historia... Captulo XI.
- 497 -
Tras los pasos de un... Hacker
sorprendente, empez a exponer nuestro invento; me dijo que para tener xito
en el mundo comercial, algunas veces hay que hacer participar a gente
importante y con currculo en el asunto, as las puertas se abriran con ms
facilidad. No vi ninguna mala intensin, por el contrario, empec a aprender del
mundo de la propiedad intelectual internacional y de los negocios a alto nivel.
- 498 -
La historia... Captulo XI.
Para el 9 de julio de 1.996, Jan habra concertado una cita de negocios en su pas
natal Holanda.
Con maletas en mano, emprendimos la aventura de comercializar el Check
Program a escala mundial.
- 499 -
Tras los pasos de un... Hacker
- 500 -
La historia... Captulo XI.
Al da siguiente, otra vez con nuestras maletas en mano, decidimos por unos
das ms conocer un poco de Europa y visitar a algunos familiares de Jan a los
que vera tambin a los aos. Atravesamos por tierra toda Holanda y parte de
Alemania, pasaramos por Dsseldorf hasta llegar a Frankfurt, donde
tomaramos nuestro vuelo de regreso a Quito.
Para septiembre de 1.996, otra vez recibo una inesperada visita, en esta ocasin,
estaba siendo detenido extrajudicialmente para investigaciones por un capitn
de la Polica Nacional, al detener mi auto e identificarse como polica (al que lo
llamaremos solamente como Danilo), me supo decir que vena por largo tiempo
haciendo una investigacin y que sobre la misma mi testimonio era importante.
Seguidamente, me invit a una suite en un lujoso hotel de Quito donde tendra
una larga conversacin con este oficial.
- 501 -
Tras los pasos de un... Hacker
El hombre saba todo dnde viva?, dnde noms haba estudiado?, quines
eran mis familiares?, cunto dinero tena?, si haba declarado impuestos?,
quines eran mis amigos?, etc.
Obviamente, recordaba las palabras que aos atrs Santiago me haba dicho,
negaremos toda responsabilidad y tendrn que afrontar las consecuencias
solos, pareca que ese da haba llegado. Como estaba pactado, negaba
rotundamente que yo tuviera algo que ver en el asunto y que conociera a algn
Hacker. Entonces Danilo me dijo, si no conoces a ningn Hacker, el Hacker eres
t. Palidecpor la acusacin que me estaba haciendo, si bien en el Ecuador de ese
entonces las actividades del hacking no eran penadas por la Ley, en Estados
Unidos s. Saba de antemano lo que le haba sucedido al mtico Cndor el ao
anterior y muchos otros que estaban purgando la osada de conocer algo ms
(tambin claro est, que su gran conocimiento lo haban utilizado para beneficio
propio de una forma no muy tica).
Ante mi negativa oficial, me hizo escuchar algunas grabaciones que tena del
testimonio de algunos altos oficiales que mencionaban que la operacin acaecida
en 1.994, habra sido iniciativa de nosotros y que las Fuerzas Armadas nada
tenan que ver en el asunto. Con tremenda revelacin a cuestas, negociamos los
trminos del testimonio, acordamos que si les contaba cmo se hizo la
intromisin? l abogara con sus superiores para evitar nuestra extradicin, pero
que no garantizaba nada. As le cont cmo? bajo mi supervisin Csar,
lORdByte, Orlando y Bit Cracker organizamos la operacin de infiltracin de
monstruo en la Red del Departamento de Defensa de los Estados Unidos de Norte
Amrica. Pero no me explicaba cmo ni cundo? se pudieron haber dado cuenta
de la intromisin (ya que como buenos Hackers los muchachos no haban dejado
ninguna pista del hecho), por lo que le ped que me contara esta parte de la
historia. Justamente, me replic, nunca nos dimos cuenta hasta que algunos
- 502 -
La historia... Captulo XI.
Realmente los equipos y los protocolos de autenticacin son seguros, pero los
humanos que no respetan las reglas para el ingreso a estos sistemas, los
transforman en inseguros y es aqu donde se explota esta vulnerabilidad, por esto
la Ingeniera Social es y ser la reina de las tcnicas de infiltracin mientras la
humanidad exista.
- 503 -
Tras los pasos de un... Hacker
Lleg el mes de octubre de 1.997, recibo una llamada desde Estados Unidos de
Jan, quien me dijo que estaba ya alquilado el stand de exposicin y reservadas
nuestras habitaciones en el Hotel Hilton Las Vegas, ya que participaramos
exponiendo nuestro producto en la famosa y prestigiada feria de tecnologa
informtica que cada ao se realizaba en la Ciudad de Las Vegas.
- 504 -
La historia... Captulo XI.
- 505 -
Tras los pasos de un... Hacker
distribucin gratuita de sus productos as como sus actualizaciones por dos aos,
no pudimos vender una sola licencia fuera de Amrica Latina.
Pero bien dice otro adagio popular la ambicin rompe el saco, justamente esto
le sucedi a Patricio, al ver como se desenvolvieron los hechos en la feria de Las
Vegas, me hizo firmar un convenio en donde le reconocera un alto porcentaje de
las utilidades que generaran estas millonarias supuestas ventas (que realmente
eran producto del trabajo de Jan y el mo), pero por ayudarlo acceda este hecho.
Cerrado el balance contable para ese ao de 1.997, conforme al convenio firmado
se liquid las utilidades que le correspondan a Patricio, a pesar que en 1.997
nunca hizo una sola venta por su cuenta. Al recibir el cheque por sus utilidades,
me lo rechaz y me dijo que estaba muy poco y que posiblemente yo estara
haciendo una doble contabilidad, cosa que me sorprendi porque precisamente
l estaba a cargo del negocio; en todo caso, acept someter a 4 auditoras la
contabilidad de la empresa y en todas ellas se confirmaban los valores que yo
haba liquidado.
- 506 -
La historia... Captulo XI.
- 507 -
Tras los pasos de un... Hacker
La leccin a aprender de esta ancdota, nunca cuenten los secretos a nadie, por
esto precisamente son secretos. (Otra cosa es compartir conocimientos).
Llegado el mes de junio de 1.999 en la Ciudad de Guayaquil, por los contactos que
pudo hacer Danilo formamos una empresa con personajes muy poderosos, tanto
en el mbito poltico, econmico y social del Ecuador y de toda Amrica. La
empresa que la bautizamos como MDTechnology S.A., hara que retome el rumbo
del xito, mi aporte a la sociedad comercial justamente consisti en ceder los
derechos de autor del Check Program, por el contrario recibira un excelente
pago mensual como socio y lder del equipo de investigacin y desarrollo de la
recin formada empresa. As comenzaba una nueva pgina en esta historia.
Para el ao 2.000, la empresa francesa transnacional de telecomunicaciones
ALCATEL, haba hecho la convocatoria pblica para que los investigadores y
creadores nacionales de tecnologa participen en el III Concurso Alcatel a la
Innovacin Tecnolgica en Amrica Latina. Mis socios deciden patrocinar mi
candidatura y con un nuevo producto al que lo denominamos MD Lock
participamos en este evento.
Se realizaron las exposiciones del caso ante el jurado (el nuevo producto era un
cifrador de flujo que tambin estaba siendo examinado por la comunidad
criptogrfica mundial), pas algn tiempo y con sorpresa recibimos una llamada
de los organizadores del evento, quienes nos pedan confirmemos nuestra
- 508 -
La historia... Captulo XI.
Tampoco quera creer lo que estaba sucediendo en la mesa directiva, all estaba
Patricio vociferando y reclamando al jurado el por qu haba ganado un
delincuente el premio?, causando un bochorno su actitud, la misma que me oblig
al siguiente da a justificar el hecho ante los organizadores y a presentar las
pruebas de descargo. Ventajosamente su sana crtica evalu los argumentos y el
premio no me fue retirado, por el contrario estaba confirmada mi presencia en el
Per para el prximo mes.
- 509 -
Tras los pasos de un... Hacker
Para evitar el viaje, Patricio por su lado movera cielo y tierra, con tretas y
ardides jurdicos conseguira que se me extienda una orden de aprehensin en mi
contra, pero no contaba que mis socios no iban a permitir que se salga con la suya
e interponiendo algn recurso jurdico hicieron que la misma sea liberada pero
despus del evento de Lima. Para el 1 de diciembre de 2.000, en su poder el
instrumento jurdico pedira apoyo a la misma Inteligencia Militar y Policial para
dar cacera al delincuente.
- 510 -
La historia... Captulo XI.
de agentes vestidos de civil esperando a que llegue. Decido bajar hasta el garaje
donde estaba aparcado mi vehculo, escucho acercarse el auto de un vecino y al
parar en mi garaje es abordado por dos de estos agentes, los mismos que le
preguntan si l es Nstor Marroqun?, mi vecino lo nico que supo decirles es
que en esa casa vive y que no sabe nada. Estaba confirmado, me estaban dando
cacera, ahora la pregunta era cmo hacer? para salir sin levantar sospechas y
ponerme a buen recaudo. Danilo me haba confirmado a travs de sus contactos
que mis telfonos normales, as como mi celular estaban intervenidos, ahora me
explicaba el cmo? Patricio saba al detalle todos mis movimientos, pero en fin,
en ese instante no era mi preocupacin este asunto; entonces, se me ocurri
utilizar la trampa para que el cazador sea cazado. Le digo a mi esposa que
marque desde el telfono de mi casa al celular de mi hermana y le diga que me
vaya a esperar al centro comercial que funciona cerca de mi casa en el sur de la
capital, porque supuestamente ese da llegara por transporte terrestre a Quito y
que mi llegada sera a eso de las 22h00, tambin le digo que tendra que salir en
el auto a verme al centro comercial. Tramado el plan lo ejecutamos y era de
verse la cola que tena mi auto, dos mviles oficiales llenos de agentes lo
siguieron, aprovech la distraccin y ahora estaba en pie de guerra.
Sal armado hasta los dientes, ya que le dije a mi esposa que si alguien intentaba
atraparme por algo que no haba cometido, pues bien, si me detienen ser por
algo, y ese algo sera justamente la agresin a la persona que se cruce por mi
camino.
-511 -
Tras los pasos de un... Hacker
- 512
La historia... Captulo XI.
El Tribunal Penal vuelve a convocar a la audiencia, pero hasta que llegue ese da,
al Presidente de este Tribunal habamos conseguido sancionar por su falta de
atencin a nuestros pedidos y solo despachar las exigencias de la otra parte.
Tambin para esa fecha la Corte Superior de Pichincha haba suspendido del
cargo por 90 das al Registrador de la Propiedad, ya que se estaba realizando una
auditora a los libros del Registro de la Propiedad por parte del Consejo Nacional
de la Judicatura. En estas condiciones me presento a la audiencia el da
convocado para el efecto. Solamente asist con mis abogados defensores, algunos
familiares y amigos. Por el lado de la otra parte no asistieron ni las moscas que
siempre acompaan a este tipo de gente.
En funcin de los mritos procesales y de las pruebas actuadas, el Tribunal Penal
me absuelve de todos los cargos y ratifican la inocencia que haba sido puesta en
duda. La sentencia sera apelada con un recurso de casacin y su ejecutoria
todava esperara un ao ms para ser legal mi absolucin.
- 513 -
Tras los pasos de un... Hacker
Nuestro paso por MD Technology S.A., arroj algunos productos que usan
tcnicas criptogrficas para asegurar las transacciones que los mismos hacan.
As, con el motor de cifrado de flujo galardonado en el ao 2.000, el famoso MD
Lock, se implement el sistema que soportaba a la primera tarjeta de crdito
virtual, el mismo que lo bautizramos como V-Card que hasta la actualidad es
usado por una importante institucin financiera en el Ecuador.
Para probar que no eran tan seguros los productos de la competencia y que los
portales web desarrollados para esa poca, que estaban publicitndose iban a
tener los principales bancos del pas. Decidimos burlar el sistema de
autenticacin de un importante portal financiero del Ecuador recin inaugurado.
Para esto, con lORdByte y Orlando que trabajaban conmigo en la empresa de
Guayaquil, quienes me haban acompaado en algunas de las aventuras que les
he contado, preparamos algunas creaciones interesantes que bsicamente eran
unos key loggers que capturaban los users y las passwords digitadas en la
computadora de algn cliente y que se mostraban en la pantalla principal para el
acceso al portal financiero. A partir de all capturaba todo lo que digitaba la
vctima para realizar algunas transacciones va Internet, tengo que aclarar que
esto pasa cuando se ha instalado un key logger en la computadora de la vctima.
La sesin levantada, si usa el protocolo SSL (Secure Socket Layer) entre la
computadora de la vctima y el hostbancario es segura.
- 514 -
La historia... Captulo XI.
- 515 -
Tras los pasos de un... Hacker
venta. Migerente no acept esta propuesta y no se pudo cerrar ningn trato con
esta importante institucin financiera. Lo bueno del asunto era que se estaba
publicitando nuestra nueva tecnologa.
Ahora trabajando como auxiliares de John Phillips, de vez en cuando, este agente
nos peda que le colaboremos obteniendo las passwords de algunas cuentas de
correos electrnicos de diversas personas que por alguna circunstancia estaban
bajo investigacin y as poder fisgonear sus comunicaciones.
Para realizar este trabajo, existen mltiples productos que pueden simular una
conexin para autenticarse en una cuenta de correo electrnico (realmente con
estos productos se puede validar el acceso de forma remota a cualquier red).
Conseguir estos productos no es difcil, tampoco podemos afirmar que las casas
fabricantes y las que los distribuyen estn vendiendo un producto para hacer
hacking, sino una herramienta para verificar si las redes son seguras.
- 516 -
La historia... Captulo XI.
- 517 -
Tras los pasos de un... Hacker
- 518 -
La historia... Captulo XI.
- 519 -
Tras los pasos de un... Hacker
La principal razn que arguyen los criptlogos es que la clave de cifrado que
alimentara al cifrador que cumple el Criterio Seguro de Shannon, sera tan
grande como el mensaje mismo, as que para intercambiar entre emisor y
receptor esta clave, equivaldra a intercambiar en s al mensaje.
Con el NMC Stream, efectivamente podemos alimentar a nuestro generador
pseudoaleatorio una semilla tan grande como el mensaje mismo (primer
condicionante del Algoritmo de Mauborgne y Vernam), en la prctica solo
necesitamos alimentar a nuestro Generador de Flujo Simtrico semillas que al
menos tengan 240 bits de longitud.
En teora con esta configuracin bsica, se podra repetir un ciclo del flujo
generado cumplido el primer Yottabyte de transmisin.
En el Anexo I, describimos el documento tcnico de la implementacin y la
propuesta de nuestro NMC Stream en febrero de 2.004.
- 520 -
La historia... Captulo XI.
ecuatorianas y del exterior que han confiado sus operaciones en la seguridad que
brinda nuestro sistema.
El NMC SCS es un programa parecido al PGP (Pretty Good Privacy, de Phil
Zimmermann) pero a diferencia de este ltimo, incorpora en su esquema de
cifrado de archivos y correo electrnico el NMC Stream. La forma en que
guarda la clave de acceso no es en base de una funcin hash conocida sino una
creativa forma de combinar criptografa asimtrica con el NMC Stream
haciendo computacionalmente intratable un ataque por la fuerza bruta. Por lo
dems hacen prcticamente lo mismo.
11.15 ACTUALIDAD
En el ao de 2.007, volvimos a reeditar la persecucin jurdica de aos atrs, los
enemigos han retomado fuerzas y han vuelto a atacar, nosotros por nuestra
cuenta, con ms tecnologa, conocimientos y madurez, hemos podido sobrellevar
las vicisitudes que estas actividades acarrean.
- 521 -
Tras los pasos de un... Hacker
En fin, nos han obligado a reaccionar, en esta nueva batalla los hemos trado a
nuestros dominios, porque desde la clandestinidad, es decir, en nuestro ambiente
de vida, los estamos combatiendo, controlando y vigilando.
Sin darles mucha importancia a sus actividades, por nuestra parte seguimos
investigando, desarrollando tecnologa y por sobre todo aprendiendo.
Quiz algn da lleguemos a tener el conocimiento necesario para iluminar a
quienes estn tras los pasos de un Hacker
FIN
- 522 -
BREVE GLOSARIO DE TRMINOS
Tambin una excelente fuente de informacin para ampliar estos conceptos, los
mismos que han sido resumidos de los publicados en la Enciclopedia Libre de la
Internet:
http://www.wikipedia.org
A
baco.- Dispositivo creado en la antigua China como elemento para hacer aritmtica de una forma asistida para
agilizar los clculos.
ABC (Atanasoff-Berry Computer).- Primera computadora digital electrnica elaborada por del Dr. John Vincent
Atanasoff y su auxiliar Clifford Edward Berry.
- 523 -
Tras los pasos de un... Hacker
macromolcula que forma parte de todas las clulas. Contiene la informacin gentica usada en el desarrollo y
el funcionamiento de los organismos vivos conocidos y de algunos virus biolgicos, siendo el responsable de su
transmisin hereditaria.
AES (Advanced Encryption Standard).- Algoritmo de cifrado de datos estandarizado por la administracin de los
Estados Unidos de Norte Amrica, tambin conocido como Rijndael (pronunciado "Rain Doll" en ingls), es un
esquema de cifrado por bloques adoptado como un estndar de cifrado. El AES fue anunciado por el Instituto
Nacional de Estndares y Tecnologa (NIST) como FIPS PUB 197 de los Estados Unidos (FIPS 197) el 26 de
noviembre de 2.001 despus de un proceso de estandarizacin que dur 5 aos. Se transform en un estndar
efectivo el 26 de mayo de 2.002. Desde 2.006, el AES es uno de los algoritmos ms populares usados en
criptografa simtrica.
El cifrador fue desarrollado por dos criptlogos belgas, Joan Daemen y Vincent Rijmen, ambos estudiantes de la
Katholieke Universiteit Leuven, y enviado al proceso de seleccin AES bajo el nombre Rijndael.
Aficin.-Ver hobby.
lgebra de Boole.- Propuesta por el matemtico George Boole, pero fue Claude Shannon en su tesis de maestra
en el MIT, que demostr cmo el lgebra booleana se poda utilizar en el anlisis y la sntesis de la conmutacin
y de los circuitos digitales. La tesis despert un inters considerable cuando apareci en 1.938 en las
publicaciones especializadas. En 1.940 le fue concedido el Premio a ingenieros americanos del Instituto
Americano Alfred Nobel de Estados Unidos, una concesin dada cada ao a una persona de no ms de treinta
aos. Un cuarto de siglo ms tarde H. H. Goldstine, en su libro "Las computadoras desde Pascal hasta Von
Neumann", cit su tesis como una de las ms importantes de la historia que ayud a cambiar el diseo de
circuitos digitales.
ALGOL (ALGOrithmic Language, Lenguaje orientado para aplicaciones cientficas).- Lenguaje de programacin
de computadoras creado en 1.958.
Algoritmo.- En matemticas, ciencias de la computacin y disciplinas relacionadas, un algoritmo (del latn, dixit
algorithmus y ste a su vez del nombre del matemtico persa Al-Khowarizmi) es un conjunto prescrito de
instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos
sucesivos que no generen dudas a quien lo ejecute. Dados un estado inicial y una entrada, siguiendo los pasos
sucesivos se llega a un estado final y se obtiene una solucin.
-524 -
Breve glosario de trminos...
Alias.-Vernickname.
ALU (Arithmetic Logic Unit, UAL, Unidad Aritmtico Lgica).- En computacin, la Unidad Aritmtico Lgica
(UAL), o Arithmetic Logic Unit (ALU), es un circuito digital que calcula operaciones aritmticas (como suma,
resta, multiplicacin, divisin, etc.) y operaciones lgicas (si, y, o, no), entre dos nmeros.
Muchos tipos de circuitos electrnicos necesitan realizar algn tipo de operacin aritmtica, as que incluso el
circuito dentro de un reloj digital tendr una ALUminscula que se mantiene sumando 1 al tiempo actual, y se
mantiene comprobando si debe activar el pitido del temporizador, etc.
Por mucho, los ms complejos circuitos electrnicos son los que estn construidos dentro de los chips de
microprocesadores modernos como el Intel Core Do. Por lo tanto, estos procesadores tienen dentro de ellos un
ALU muy complejo y poderoso. De hecho, un microprocesador moderno (y los mainframes) pueden tener
mltiples ncleos, cada ncleo con mltiples unidades de ejecucin, cada una de ellas con mltiples ALU.
AMD (Advanced Micro Devices).- Advanced Micro Devices, Inc. es una de las compaas ms grandes del mundo
en produccin de microprocesadores compatibles x86 (junto a Intel) y uno de los ms importantes fabricantes de
CPUs, GPUs, chipsets y otros dispositivos semiconductores. Fue fundada en 1.969 y su central est situada en
Sunnyvale, California.
ANSI (American National Standards Institute).- El Instituto Nacional Estadounidense de Estndares (ANSI, por
sus siglas en ingls: American National Standards Institute) es una organizacin sin nimo de lucro que
supervisa el desarrollo de estndares para productos, servicios, procesos y sistemas en los Estados Unidos de
Norte Amrica. ANSI es miembro de la Organizacin Internacional para la Estandarizacin (ISO) y de la
Comisin Electrotcnica Internacional (International Electrotechnical Commission, IEC). La organizacin tambin
coordina estndares del pas estadounidense con estndares internacionales, de tal modo que los productos de
dicho pas puedan usarse en todo el mundo. Por ejemplo, los estndares aseguran que la fabricacin de objetos
cotidianos, como pueden ser las cmaras fotogrficas, se realice de tal forma que dichos objetos puedan usar
complementos fabricados en cualquier parte del mundo por empresas ajenas al fabricante original. De ste
modo, y siguiendo con el ejemplo de la cmara fotogrfica, la gente puede comprar carretes para la misma
independientemente del pas donde se encuentre y el proveedor del mismo.
ANSNET (Advanced Networks and Services, Redes y Servicios Avanzados).- Reemplazo de la NSFNet para el
funcionamiento de la Internet.
Antivirus (Antivirus).- Programa de computadora diseado para la deteccin, localizacin y eliminacin de virus
informticos.
Apache (Apache).- Servidor HTTP de dominio pblico basado en el sistema operativo Linux. Apache fue
desarrollado en 1.995 y es actualmente uno de los servidores HTTP ms utilizados en la red.
Apodo.-Vernickname.
Aplicacin.-Ver aplicativo.
- 525 -
Tras los pasos de un... Hacker
Aplicativo (application, aplicacin).- Programa o conjunto de programas que llevan a cabo un trabajo o funcin
directamente al servicio de un usuario en un determinado momento.
Applet (aplicacioncita, aplique).- Pequea aplicacin escrita en Java y que se difunde a travs de la red para
ejecutarse en el navegador cliente.
Application.-Ver aplicativo.
Appz.- En la Internet existen miles de pginas bajo este nombre. En ellas se albergan programas completos,
evidentemente crackeados. Para acceder a un Appz, dichas pginas te exigen visualizar otras pginas de
contenido sexual o pornogrfico. Los Appz son a todas luces, programas ilegales que a menudo contienen virus
informticos embebidos.
Apuntador.-Ver puntero.
Archivo (file, fichero).-Unidad significativa de informacin que puede ser manipulada por el sistema operativo
de una computadora. Un archivo tiene una identificacin nica formada por un "nombre" y un "apellido", en el
que el nombre suele ser de libre eleccin del usuario y el apellido suele identificar el contenido o el tipo de
archivo. As, en el archivo prueba.txt el apellido "txt" seala que se trata de un archivo que contiene
informacin en texto plano.
Armadura (Armoring).- Se trata de una tcnica utilizada por algunos programadores de virus informticos,
mediante la cual se impide su examen por medio de otros programas como por ejemplo los antivirus.
Armoring.-Ver armadura.
ARPANET (Advanced Research Projects Agency Network).- Red de computadoras que fue creada por encargo
del Departamento de Defensa de los Estados Unidos (DoD por sus siglas en ingls) como medio de comunicacin
para los diferentes organismos del pas. El primer nodo se cre en la Universidad de California, Los ngeles y
fue la espina dorsal de la Internet hasta 1.990, tras finalizar la transicin al protocolo TCP/IPiniciada en 1.983.
ASCII (American Standard Code for Information Interchange).- El cdigo ASCII (acrnimo ingls de American
Standard Code for Information Interchange Cdigo Estadounidense Estndar para el Intercambio de
Informacin), pronunciado generalmente [ski], es un cdigo de caracteres basado en el alfabeto latino tal como
se usa en ingls moderno y en otras lenguas occidentales. Fue creado en 1.963 por el Comit Estadounidense de
Estndares (ASA, conocido desde 1.969 como el Instituto Estadounidense de Estndares Nacionales, o ANSI) como
una refundicin o evolucin de los conjuntos de cdigos utilizados entonces en telegrafa. Ms tarde, en 1.967,
se incluyeron las minsculas, y se redefinieron algunos cdigos de control para formar el cdigo conocido como
US-ASCII.
El cdigo ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit
de paridad) que se usaba para detectar errores en la transmisin. A menudo se llama incorrectamente ASCII a
otros cdigos de caracteres de 8 bits, como el estndar ISO-8859-1 que es una extensin que utiliza 8 bits para
proporcionar caracteres adicionales usados en idiomas distintos al ingls, como el espaol.
-526 -
Breve glosario de trminos...
ASCII fue publicado como estndar por primera vez en 1.967 y fue actualizado por ltima vez en 1.986. En la
actualidad define cdigos para 33 caracteres no imprimibles, de los cuales la mayora son caracteres de control
obsoletos que tienen efecto sobre cmo se procesa el texto, ms otros 95 caracteres imprimibles que les siguen
en la numeracin (empezando por el carcter espacio).
Casi todos los sistemas informticos actuales utilizan el cdigo ASCII o una extensin compatible para
representar textos y para el control de dispositivos que manejan texto como el teclado.
Autentificacin.-Ver autenticacin.
Authentication.-Ver autenticacin.
AVR.- Los Hackers conocen por estas siglas a las tarjetas electrnicas que permiten emular el funcionamiento de
una tarjeta inteligente. En los Estados Unidos de Norte Amrica esta tarjeta ha sido empleada para abrir los
canales de DishNet y Expresvu. Se denominan AVR tambin, porque el microcontrolador que poseen estas
tarjetas es una AVR de Atmel.
B
Backbone (columna vertebral, eje central, eje troncal).- Nivel ms alto en una red jerrquica. Se garantiza que
las redes aisladas (stub) y de trnsito (transit) conectadas al mismo backbone estn interconectadas.
BackDoor (puerta trasera).- Se conoce como puerta trasera que puede estar presente en cualquier tipo de
software, ya sea un sistema operativo o el software de un microcontrolador. Los Hackers por ejemplo, hacen uso
de los backdoors para leer y escribir en tarjetas inteligentes cuando se habla de servicios de televisin pagada.
Bajar.-Ver download.
Banner (anuncio, pancarta).- Imagen, grfico o texto de carcter publicitario, normalmente de pequeo tamao
que aparece en una pgina web y que habitualmente enlaza con el sitio web del anunciante.
BASIC (Beginners All-purpose Symbolic Instruction Code, Lenguaje de uso general).- Lenguaje de programacin
de computadoras creado en 1.964.
- 527 -
Tras los pasos de un... Hacker
baud.-Ver baudio.
baudio (baud).- Es la unidad de transmisin de datos la cual nos indica la velocidad a la que son transmitidos
entre un emisor y un receptor, nos indica la cantidad o tasa de transferencia de bits por segundo.
BBS (Bulletin Board Systems).- Es un software para redes de computadoras que permite a los usuarios
conectarse al sistema (a travs de la Internet o a travs de una lnea telefnica) y utilizando un programa
terminal (o telnet si es a travs de la Internet), realizar funciones tales como descargar software y datos, leer
noticias, intercambiar mensajes con otros usuarios, disfrutar de juegos en lnea, leer los boletines, etc.
Bell Telephone Laboratories Inc. (Hoy conocida como AT&T Bell Laboratories).- Los Laboratorios Bell (en
ingls: Bell Labs) son varios centros de investigacin cientfica y tecnolgica ubicados en ms de diez pases y
que pertenecen a la empresa estadounidense Lucent Technologies, denominada tambin como Bell Labs
Innovations, una divisin de (Alcatel-Lucent). Sus orgenes se remontan a los Laboratorios Telefnicos Bell, los
cuales fueron fundados en el ao de 1.925 en el estado de Nueva Jersey por la empresa AT&T.
Durante muchos aos los laboratorios manejaron uno de los presupuestos ms elevados en el mundo de la
investigacin tecnolgica a raz del monopolio ejercido por AT&T en la industria telefnica estadounidense.
Entre sus patentes y descubrimientos ms importantes destacan la libreta de un solo uso, el transistor, el lser, la
fibra ptica, la tecnologa DSL, la telefona mvil, los satlites de comunicaciones, el sistema operativo Unix y el
lenguaje de programacin C. Once de sus investigadores han ganado seis Premios Nobel.
En 1.984, a raz de la reestructuracin de AT&T, una parte de los laboratorios se convirti en la empresa
Bellcore. El resto pas a formar parte de Lucent Technologies en 1.996 y posteriormente sus empleados fueron
divididos entre los departamentos de investigacin y desarrollo de las empresas AT&T Research y Lucent
Technologies en los que un elevado tanto por ciento siguen all, desempeando su gran labor.
BIOS (Basic Input/Output System).- El Sistema Bsico de Entrada/Salida o BIOS (Basic Input-Output System ) es
un cdigo de software que localiza y reconoce todos los dispositivos necesarios para cargar el sistema operativo
en la RAM; es un software muy bsico instalado en la placa base que permite que sta cumpla su cometido.
Proporciona la comunicacin de bajo nivel, el funcionamiento y configuracin del hardware del sistema que,
como mnimo, maneja el teclado y proporciona salida bsica (emitiendo pitidos normalizados por el altavoz de
la computadora si se producen fallos) durante el arranque. El BIOS usualmente est escrito en lenguaje
ensamblador. El primer trmino BIOS apareci en el sistema operativo CP/M, y describe la parte de CP/M que se
ejecutaba durante el arranque y que iba unida directamente al hardware (las mquinas de CP/M usualmente
tenan un simple cargador arrancable en la ROM, y nada ms). La mayora de las versiones de MS-DOS tienen un
archivo llamado MSDOS.SYS o IO.SYS que es anlogo al CP/M BIOS.
El BIOS (Basic Input-Output System) es un sistema bsico de entrada/salida que normalmente pasa inadvertido
para el usuario final de computadoras. Se encarga de encontrar el sistema operativo y cargarlo en memoria
RAM. Posee un componente de hardware y otro de software, este ltimo brinda una interfaz generalmente de
texto que permite configurar varias opciones del hardware instalado en la PC, como por ejemplo el reloj, o desde
cules dispositivos? de almacenamiento iniciar el sistema operativo (Windows, GNU/Linux, Mac OS X, etc.).
El BIOS gestiona al menos el teclado de la computadora, proporcionando incluso una salida bastante bsica en
forma de sonidos por el altavoz incorporado en la placa base cuando hay algn error, como por ejemplo un
dispositivo que falla o debera ser conectado. Estos mensajes de error son utilizados por los tcnicos para
- 528 -
Breve glosario de trminos...
encontrar soluciones al momento de armar o reparar un equipo. Basic Input/Output System - Sistema bsico de
entrada/salida de datos). Programa que reside en la memoria EPROM (Ver Memoria BIOS no-voltil). Es un
programa tipo firmware. La BIOS es una parte esencial del hardware que es totalmente configurable y es donde
se controlan los procesos del flujo de informacin en el bus de la computadora, entre el sistema operativo y los
dems perifricos. Tambin incluye la configuracin de aspectos importantsimos de la mquina.
bit (bit, bitio).-Unidad mnima de informacin digital que puede ser procesada por una computadora. Proviene
de la contraccin de la expresin inglesa binary digit (dgito binario).
Bit Cracker.- Personaje que encarna en la historia a un experto en electrnica y diseo de computadoras.
Boot Sector (Sector de arranque).- El sector de arranque es un rea reservada en los discos duros, disquetes u
otros dispositivos de almacenamiento, que contienen algunas de las primeras instrucciones ejecutadas por la PC
cuando esta arranca.
Browser (ojeador, navegador, visor, visualizador).- Aplicativo para visualizar documentos en la WWWy navegar
por la Internet. Se fundamentan en varios algoritmos que pueden decodificar archivos en hipertexto, facilitando
la navegacin por los servidores de informacin de la Internet; cuentan con funcionalidades multimedia y
permiten indistintamente la navegacin por servidores de la WWW, FTP, Gopher, el acceso a grupos de noticias,
la gestin del correo electrnico, etc.
BSA (Business Software Alliance -- Alianza del Sector del Software).- Organismo creado en 1.988 por diversas
empresas del sector del software para defender sus derechos de propiedad intelectual sobre los programas que
desarrollan.
Bug.-Ver error.
Bucanero(s).- Personajes fuera del underground que son peores que los Lamers, ya que no aprenden nada ni
conocen la tecnologa. Comparados con los piratas informticos, los bucaneros slo buscan el comercio negro de
los productos entregados por los Copyhackers. Los bucaneros slo tienen cabida fuera de la red, ya que dentro
de ella, los que ofrecen productos Crackeados pasan a denominarse piratas informticos, as puestas las cosas, el
bucanero es simplemente un comerciante, el cual no tiene escrpulos a la hora de explotar un producto de
Cracking a un nivel masivo.
Burroughs.- La Corporacin Burroughs fue creada en 1.886 como la American Arithmometer Company en St.
Louis, Missouri, Estados Unidos, para dedicarse a la venta de las mquinas sumadoras inventadas por William
Seward Burroughs.
La compaa se mud a Detroit en 1.904 y cambi su nombre a Burroughs Adding Machine Company, en honor a
Burroughs, quien muri en 1.898. La Burroughs se convirti en la ms grande fbrica de sumadoras de los
Estados Unidos de Norte Amrica, aunque para 1.950 venda ms que calculadoras bsicas, como por ejemplo
mquinas de escribir y computadores.
- 529 -
Tras los pasos de un... Hacker
En 1.953 la Burroughs Adding Machine Company cambi su nombre a Burroughs Corporation y aument su
produccin de productos de computacin, sobre todo en el rea bancaria. Esta decisin fue tomada despus de
la compra de la empresa ElectroData Corporation de Pasadena, California, originalmente una divisin de
Consolidated Electrodynamics Corporation. ElectroData haba construido la Datatron 205 y empezaba a trabajar
en la Datatron 220. El primer producto importante de la unin de estas dos empresas fue la computadora B205
de tubos (o vlvulas de vaco).
La Corporacin Burroughs desarroll tres arquitecturas avanzadas, basadas en la idea del diseo dirigido por
lenguaje, como el Algol, COBOL o Fortran. Todas estas arquitecturas eran consideradas como mainframes.
Bus de datos (Data bus).- Parte de un circuito electrnico utilizado en ciertos dispositivos que se conectan a
una computadora para la transmisin y flujo de los datos con la finalidad de procesarlos automticamente.
Byte (byte, octeto).- Conjunto significativo de bits que representan un carcter en algn cdigo para el
procesamiento o la transmisin de informacin.
C
C.- Lenguaje de programacin de computadoras creado en 1.978.
C3I2 (Comando de Control y Comunicaciones, Inteligencia e Informtica).- Expresin de uso militar que identifica
a una unidad especial que se encarga de realizar y monitorizar comunicaciones, realizar inteligencia y procesar
esta informacin haciendo uso de la informtica.
CAD (Computer Aided Design, Diseo Asistido por Computadora).- El diseo asistido por computadora u
ordenador, ms conocido por sus siglas inglesas CAD (computer-aided design), es el uso de un amplio rango de
herramientas computacionales que asisten a ingenieros, arquitectos y a otros profesionales del diseo en sus
respectivas actividades.
CAM (Computer Aided Manufacturing, Fabricacin Asistida por Computadora).- La fabricacin asistida por
computadora (en Hispanoamrica) o fabricacin asistida por ordenador (en Espaa), tambin conocida por las
siglas en ingls CAM (Computer Aided Manufacturing), implica el uso de computadores y tecnologa de cmputo
para ayudar en todas las fases de la manufactura de un producto, incluyendo la planificacin del proceso y la
produccin, mecanizado, calendarizacin, administracin y control de calidad, con una intervencin del
operario mnima.
CASE (Computer Aided Software Engineering, Ingeniera de Software Asistida por Computadora).- Las
herramientas CASE son diversas aplicaciones informticas destinadas a aumentar la productividad en el
desarrollo de software reduciendo el coste de las mismas en trminos de tiempo y de dinero. Estas
herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas
como el proceso de realizar un diseo del proyecto, clculo de costes, implementacin de parte del cdigo
- 530 -
Breve glosario de trminos...
automticamente con el diseo dado, compilacin automtica, documentacin o deteccin de errores entre
otras.
CD-ROM (Compact Disc - Read Only Memory, Disco Compacto - Memoria de Slo Lectura).- Un CD-ROM es un
disco compacto utilizado para almacenar informacin no voltil, el mismo medio utilizado por los CD de audio,
puede ser ledo por una computadora con lectora de CD. Un CD-ROM es un disco de plstico plano con
informacin digital codificada en una espiral desde el centro hasta el borde exterior.
CD-RW (Compact Disc - Read / Write, Disco Compacto Lectura / Escritura).- Disco compacto utilizado para
almacenar informacin que puede ser escrita, leda y borrada de manera similar a un disquete o disco duro.
CDC(Control Data Corporation).- En la dcada de 1950's los transistores empiezan a formar parte de los
circuitos digitales de las computadoras y, poco despus de que sus inventores (Shockley, Brattain y Bardeen)
recibieran el Premio Nobel de Fsica de 1.956, stos empiezan a ganar terreno en el mercado. Es en este marco,
concretamente en 1.957, cuando nacen varias empresas decididas a hacerse un sitio en el mercado de los
llamados Computadoras de Segunda Generacin, empresas entre las que destacan la Control Data Corporation
(CDC) y Honeywell entre otras.
CIA (Central Intelligence Agency, Agencia Central de Inteligencia).- La Agencia Central de Inteligencia (CIA,
Central Intelligence Agency) es, junto con la Agencia de Seguridad Nacional, la agencia gubernamental de los
Estados Unidos de Norte Amrica encargada de la recopilacin, anlisis y uso de inteligencia, mediante el
espionaje en el exterior, ya sean gobiernos, corporaciones o individuos que pueda afectar la seguridad nacional
del pas. Su sede central est ubicada en Langley, Virginia.
Antes de diciembre de 2.004, la CIA ha sido literalmente la organizacin de inteligencia central para el gobierno
de los Estados Unidos de Norte Amrica. El Acta de la Reforma de Inteligencia y Prevencin del Terrorismo de
2.004 cre la oficina del Director de Inteligencia Nacional (DNI), que se hizo a cargo de alguna parte del
gobierno y la comunidad de inteligencia (CI) en toda la funcin que anteriormente haban sido objetivo para la
CIA. El Directorio de Inteligencia Nacional gestiona los Estados Unidos de Norte Amrica a la Comunidad de
Inteligencia de los Estados Unidos de Norte Amrica as como al ciclo de inteligencia.
Cuando se habla de la CIA, es fundamental entender que es una de las mayores comunidades de inteligencia a
gran escala de su principal serie de responsabilidades. La comunidad de inteligencia tiene an una poltica
interna, aunque un nmero cada vez mayor de interagencias "centrales", as como la informacin de reparto de
mecanismo de la Intellipedia espera que mejore.
- 531 -
Tras los pasos de un... Hacker
Ciber- (Cyber-).- Prefijo utilizado ampliamente en la comunidad de la Internet para denominar conceptos
relacionados con las redes (cibercultura, ciberespacio, cibernauta, etc.). Su origen es la palabra griega cibernao,
que significa "conducir una nave".
Ciberbasura (Cybertrash).- Todo tipo de informacin almacenada o difundida por la red que es
manifiestamente molesta o peligrosa para la salud mental de los internautas. Dcese tambin de quienes
cuelgan basura en la Internet.
Ciberespacio (Cyberspace).- Trmino creado por William Gibson en su novela fantstica Neuromante para
describir el mundo de las computadoras y la sociedad creada entorno a ellas.
Ciberzapeo (Cyberzapping).- Accin de pasar de forma rpida y compulsiva de una pgina a otra dentro de un
sitio web o de un sitio web a otro.
Circuito integrado (CI, Integrated Circuit, IC).- Es una pastilla pequea de material semiconductor, de algunos
milmetros cuadrados de rea, sobre la que se fabrican circuitos electrnicos generalmente mediante
fotolitografa y que est protegida dentro de un encapsulado de plstico o cermica. El encapsulado posee
conductores metlicos apropiados para hacer conexin entre la pastilla y un circuito impreso.
CISC (Complex Instruction Set Computer, Computadora que funciona con un Conjunto de Instrucciones
Complejas).-Tipo de arquitectura de microprocesadores en contraposicin a la RISC.
Client.-Ver cliente.
Cliente (client).- Es un sistema o proceso que solicita a otro sistema o proceso que le preste un servicio. Una
estacin de trabajo que solicita el contenido de un archivo a un servidor de archivos es un cliente de este
servidor. Un programa que solicita un correo electrnico o su vez tambin lo puede transmitir a un servidor de
correo electrnico es un cliente de este servidor.
- 532 -
Breve glosario de trminos...
Clipper chip.- Dispositivo de cifrado que el gobierno de los Estados Unidos de Norte Amrica intent hacer
obligatorio mediante ley en 1.995 para poder controlar el flujo de transmisiones criptogrficas a travs de redes
digitales de telecomunicacin.
Clon.- Dcese de la computadora que tiene una configuracin exactamente igual a una de marca, pero sus
componentes no son homologados por alguna fbrica de renombre.
COBOL (COmmon Business Oriented Language, Lenguaje orientado a la gestin en negocios).- Lenguaje de
programacin de computadoras creado en 1.951.
Compiler.-Ver compilador.
Computadora (Computer, ordenador).- Podemos definir a una computadora como la mquina electrnica
creada por el hombre capaz de procesar informacin de una manera veloz, ordenada y de forma automtica (no
inteligente) segn lo indique un programa de computadora.
Computer.-Ver computadora.
Cndor (Ver Kevin Mitnick).- Nickname adoptado por el Hacker norteamericano Kevin Mitnick. Ave carroera
del altiplano sudamericano.
- 533 -
Tras los pasos de un... Hacker
Conjunto de instrucciones (Instruction Set, Chipset).- Se conoce por este nombre a todas las instrucciones
bsicas que estn grabadas en una ROM y que las puede obedecer un microprocesador, microcontrolador o chip
especializado de control de algn dispositivo a las cuales un programa puede invocar.
Contrasea.-Ver password.
Cookie (cuqui, espa, delator, fisgn, galletita, pastelito, rajn, sopln).- Conjunto de caracteres que se
almacenan en el disco duro o en la RAM de la computadora cuando un usuario accede a las pginas de
determinados sitios web. Se utilizan para que el servidor requerido pueda conocer las preferencias del usuario y
otros datos. Dado que pueden ser un peligro para la intimidad de los usuarios, stos deben saber que los
navegadores permiten desactivar los cuquis versus cookie.
Copyhacker(s).- Personajes del underground solo conocida en el terreno del crackeo de hardware.
Estos especialistas emplean la Ingeniera Social para convencer y entablar amistad con los verdaderos Hackers,
les copian los mtodos de ruptura y despus se los venden a los bucaneros.
Estos personajes poseen conocimientos de la tecnologa y son dominados por la obsesin de ser superiores,
pero no terminan de aceptar su posicin. Por esta razn extraen informacin del verdadero Hacker para
terminar su trabajo.
Correo electrnico (electronic mail, correo-e, e-mail).- Es un servicio de red que permite a los usuarios enviar y
recibir mensajes rpidamente (tambin denominados mensajes electrnicos o cartas electrnicas) mediante
sistemas de comunicacin electrnicos. Principalmente se usa este nombre para denominar al sistema que
provee este servicio en la Internet, mediante el protocolo SMTP, aunque por extensin tambin puede verse
aplicado a sistemas anlogos que usen otras tecnologas. Por medio de mensajes de correo electrnico se puede
enviar, no solamente texto, sino todo tipo de documentos digitales. Su eficiencia, conveniencia y bajo coste (con
frecuencia nulo) estn logrando que el correo electrnico desplace al correo ordinario para muchos usos
habituales.
Cortafuegos.-Verfirewall.
- 534 -
Breve glosario de trminos...
CP/M (Control Program / Monitor).- Es un sistema operativo desarrollado por Gary Kildall para el
microprocesador Intel 8080 (los Intel 8085 y Zilog Z80 pueden ejecutar directamente el cdigo del 8080, aunque
lo normal es que se entregara el cdigo recompilado para el microprocesador de la mquina). Se trata del
sistema operativo ms popular entre las computadoras personales en los aos 1.970. Aunque fue modificado
para ejecutarse en un IBM PC, el hecho que IBM eligiera MS-DOS, al fracasar las negociaciones con Digital
Research, hizo que el uso de CP/M disminuyera hasta hacerlo desaparecer.
El acrnimo CP/M significa Control Program for Monitors, es decir, Programa de control para monitores. En la
poca, la barra inclinada (/) tena esta acepcin de "diseado para". No obstante, Gary Kildall redefini el
significado del acrnimo poco despus.
CPU (Central Processing Unit, UCP, Unidad Central de Proceso, microprocesador).- La unidad central de
procesamiento o CPU (por el acrnimo en ingls de central processing unit), o simplemente el procesador o
microprocesador, es el componente en una computadora, que interpreta las instrucciones y procesa los datos
contenidos en los programas de la computadora. Las CPU proporcionan la caracterstica fundamental de la
computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las
computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida.
Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los
aos 1.970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y
hoy en da, el trmino CPU es aplicado usualmente a todos los microprocesadores.
La expresin "unidad central de proceso" es, en trminos generales, una descripcin de una cierta clase de
mquinas de lgica que pueden ejecutar complejos programas de computadora. Esta amplia definicin puede
fcilmente ser aplicada a muchas de las primeras computadoras que existieron mucho antes que el trmino CPU
estuviera en amplio uso. Sin embargo, el trmino en s mismo y su acrnimo han estado en uso en la industria
de la informtica por lo menos desde el principio de los aos 1.960. La forma, el diseo y la implementacin de
las CPU ha cambiado drsticamente desde los primeros ejemplos, pero su operacin fundamental ha
permanecido bastante similar.
Las primeras CPU fueron diseadas a la medida como parte de una computadora ms grande, generalmente una
computadora nica en su especie. Sin embargo, este costoso mtodo de disear los CPU a la medida, para una
aplicacin particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de
procesadores baratos y estandarizados adaptados para uno o muchos propsitos. Esta tendencia de
estandarizacin comenz generalmente en la era de los transistores discretos, computadoras centrales, y
microcomputadoras, y fue acelerada rpidamente con la popularizacin del circuito integrado (IC), ste ha
permitido que sean diseados y fabricados CPU ms complejos en espacios pequeos (en el orden de
milmetros). Tanto la miniaturizacin como la estandarizacin de los CPU han aumentado la presencia de estos
dispositivos digitales en la vida moderna mucho ms all de las aplicaciones limitadas de mquinas de
computacin dedicadas. Los microprocesadores modernos aparecen en todo, desde automviles, televisores,
neveras, calculadoras, aviones, hasta telfonos mviles o celulares, juguetes, entre otros.
Crack.- Es sinnimo de rotura o de quitar las seguridades de algn producto, por lo tanto sus vctimas son los
productos tanto de software como de hardware. As es fcil comprender que un Cracker debe conocer
perfectamente las dos caras de la tecnologa, esto es la parte de programacin y la parte fsica de la electrnica.
Cracker(s).- Personajes del underground que estn al nivel de los Hackers pero sus motivaciones son distintas,
es el primer eslabn de una familia rebelde de especialistas. Cracker es aquel Hacker fascinado por su capacidad
de romper sistemas y software, que se dedica nica y exclusivamente a Crackear sistemas.
- 535 -
Tras los pasos de un... Hacker
Para los grandes fabricantes de sistemas y la prensa, este grupo es el ms rebelde de todos ya que siempre
encuentran el modo de romper una proteccin. Pero el problema no radica ah, sino en que esta rotura es
difundida normalmente a travs de la Internet para conocimiento de otros, en esto comparten la idea y la
filosofa de los Hackers.
En la actualidad es habitual ver como se muestran los Cracks de la mayora del Software de forma gratuita a
travs de la Internet.
Criptoanlisis (Cryptoanalysis).- Es la parte de la Criptologa que tiene por objeto el desarrollo de mtodos para
el descifrado de criptogramas cuando se ignora la clave.
Criptografa (Cryptography).- Trmino formado a partir del griego kryptos (oculto), significa segn el
diccionario acadmico:"Arte de escribir con clave secreta o de un modo enigmtico".
Es criptogrfico cualquier procedimiento que permita a un emisor ocultar el contenido de un mensaje de modo
que slo personas en posesin de determinada clave puedan leerlo, tras haberlo descifrado.
Cryptoanalysis.-Ver criptoanlisis.
Cryptography.-Ver criptografa.
Cryptology.-Ver criptologa.
CU (Control Unit, UC, Unidad de Control).- Bloque funcional de la CPU, se encarga de organizar las operaciones a
seguir en el microprocesador o microcontrolador.
Cuqui.-Ver cookie.
Cyber.-Ver ciber.
Cybercop.-Ver ciberpolica.
Cyberculture.-Ver cibercultura.
Cybernaut.-Ver cibernauta.
Cybertrash.-Ver ciberbasura.
Cyberzapping.-Ver ciberzapeo.
CH
Charla.-Ver chat.
- 536 -
Breve glosario de trminos...
Chat (conversacin, charla, chateo, tertulia).- Comunicacin simultnea entre dos o ms personas a travs de la
Internet. Hasta hace poco tiempo slo era posible la "conversacin" escrita pero los avances tecnolgicos
permiten ya la conversacin en audio y vdeo.
Check Program.- Primer protector contra virus de computadoras desarrollado por Nstor Marroqun Carrera en
la Repblica del Ecuador en el ao de 1.993. Nominado en 1.997 al premio a la mejor nueva tecnologa
presentada en la Feria Comdex Fall97 en Las Vegas, Nevada, Estados Unidos de Norte Amrica. Su forma de
trabajar introdujo en la industria informtica la tcnica de la inoculacin de un programa ejecutable, para de
esta forma hacer frente a los virus informticos desconocidos por parte de los programas antivirus.
Checksums.- Se conoce con este nombre a una funcin informtica especial, que permite a un programa de
computadora, determinar la consistencia o integridad de algn dato o archivo, para este proceso actualmente se
utilizan las denominadas funciones hash.
Chip (chip).- Circuito integrado en un soporte de silicio, formado por transistores y otros elementos electrnicos
miniaturizados. Es un elemento esencial de las tarjetas que conforman una computadora. Literalmente
significa astilla o papa frita.
Estos circuitos tambin pueden ser especializados en alguna tarea en la computadora, as tendremos los chips
de vdeo, de sonido, de comunicaciones, etc.
D
Daemon.-Ver demonio.
Dark Avenger.-Seudnimo de uno de los creadores de virus ms famoso de todos los tiempos.
DARPA (Defense Advanced Research Projects Agency--Agencia de Proyectos de Investigacin Avanzada para la
Defensa).- Organismo dependiente del Departamento de Defensa norteamericano (DoD) encargado de la
investigacin y desarrollo en el campo militar y que jug un papel muy importante en el nacimiento de la
Internet a travs de la red ARPANET.
De-encryption.-Ver descifrado.
- 537 -
Tras los pasos de un... Hacker
DEA (Drug Enforcement Administration -- Administracin de Cumplimiento de Leyes sobre las Drogas).- Es la
agencia del Departamento de Justicia de los Estados Unidos dedicada a la lucha contra el contrabando y el
consumo de drogas en los Estados Unidos. Pese a compartir jurisdiccin con el FBI en el mbito interno, es la
nica agencia responsable de coordinar y perseguir las investigaciones antidroga en el extranjero.
DEC (Digital Equipment Corporation).- Fue una compaa americana considerada pionera en la fabricacin de
minicomputadores. Se fund en 1.957, y existi hasta 1.998, cuando fue adquirida por COMPAQ (la cual, a su vez,
sera adquirida por Hewlett-Packard en el 2.002). Digital abri el mercado de la produccin de
minicomputadoras, con su popular serie PDP, asentando las bases para la posterior creacin de las
computadoras personales.
El acrnimo DEC fue oficialmente utilizado por Digital, despus de haber sido descartado por Dairy Equipment
Company de Madison (Wisconsin) a fin de evitar un conflicto de patentes de marcas con esta.
Sus productos PDP y VAX fueron probablemente las minicomputadoras ms populares para las comunidades
cientficas y de la ingeniera durante los aos 70 y los aos 80. Hasta el 2.005, sus cadenas de produccin
todava eran fabricadas bajo el nombre de HP (Hewlett-Packard).
Digital Equipment no debera ser confundida con Digital Research; las dos eran entidades distintas; o con
Western Digital (a pesar del hecho de que esta fabric el chipset LSI-11 que posteriormente sera utilizado por
Digital Equipment en las computadoras PDP-11/03).
Delay (retraso).-Tiempo de retraso que se programa en cualquier protocolo de comunicacin para sincronizar
una transmisin de datos.
Demonio (Daemon).- Aplicacin UNIX que est permanentemente en alerta en un servidor de la Internet para
realizar determinadas tareas como, por ejemplo, enviar un mensaje de correo electrnico o transmitir una pgina
web. Daemon es una palabra latina que significa espritu (bueno o malo) o demonio.
DeoxyribonucleicAcid.-Ver ADN.
Departamento de Defensa de los Estados Unidos de Norte Amrica (United States Department of Defense,
DoD, Departamento de Defensa -- Department of Defense).- Es el ministerio del gobierno de Estados Unidos de
Norte Amrica, encargado de las fuerzas militares del pas, todo el tiempo.
Su director es el secretario de defensa, que forma parte del gabinete presidencial. Su sede central se encuentra
en El Pentgono en Arlington (Virginia), cerca de Washington D.C.
Este departamento se cre por la fusin del Departamento de la Armada y del Departamento de Guerra en 1.947
bajo la presidencia de Harry Truman.
- 538 -
Breve glosario de trminos...
El Departamento de Defensa y el Pentgono poseen 700 u 800 bases alrededor del mundo, en 63 pases. Sus
bases tienen una extensin total de 120.191 kilmetros cuadrados.
Department of Defense.- Ver Departamento de Defensa de los Estados Unidos de Norte Amrica.
DES (Data Encryption Standard -- Estndar de Cifrado de Datos).- Algoritmo de cifrado de datos estandarizado
por la administracin de EE.UU.
Desbordamiento.-Ver overflow.
Descifrado (de-encryption, desencriptacin).- Recuperacin del contenido real de una informacin cifrada
previamente.
Desencriptacin.-Ver descifrado.
Dial-up (conexin por lnea conmutada).- Conexin temporal, en oposicin a conexin dedicada o permanente,
establecida entre computadora a travs de una lnea telefnica normal. Dcese tambin del hecho de marcar un
nmero de telfono.
Digital Research, Inc. (en espaol: Investigacin Digital) (DR o DRI; originalmente Intergalactic Digital
Research, que en espaol sera: Investigacin Digital Intergalctica).- Fue una compaa fundada por el Dr.
Gary Kildall para comercializar y desarrollar su sistema operativo CP/M y otros productos. sta fue la primera
empresa de software en el mundo enfocada a las microcomputadoras.
No debe confundirse Digital Research con Digital Equipment Corporation, no hay ninguna relacin entre ambas.
Su sede principal se encontraba en Pacific Grove, California.
Los sistemas operativos de la compaa, comenzando por el CP/M para las microcomputadoras basadas en los
procesadores Intel 8080/ZiLOGZ80, fueron el estndar de facto de su momento, tal y como el MS-DOS y el MS
Windows lo fueron despus. Los productos de DRincluido el CP/M original y sus varias versiones, DR-DOS, que
fue una versin de CP/M compatible con MS-DOS, y MP/M, el CP/M multiusuario.
El primer sistema operativo de 16 bits fue CP/M-86, que fue finalmente desechado en favor del MS-DOS de
Microsoft. Luego lleg CP/M Concurrente, una versin monousuario del MP/M-86 multitarea que proporcionaba
consolas virtuales desde donde las aplicaciones podan iniciarse para ser ejecutadas de manera concurrente.
Posteriores versiones de este sistema, que gradualmente daban soporte a aplicaciones MS-DOS y al sistema de
archivos FAT, fueron llamadas DOS Concurrente, DOS Concurrente XMy DOS Concurrente 386.
Poco despus de la aparicin del Intel 80286, DR introdujo un sistema operativo radicalmente novedoso de
tiempo real, inicialmente llamado DOS-286 y posteriormente Flex OS. Este sistema utilizaba la mayor capacidad
de direccionamiento de memoria de la nueva CPU para proporcionar un entorno multitarea ms flexible. Tena
un conjunto pequeo pero potente de APIs de sistema, cada una con su versin sncrona y asncrona. Tambin
soportaba Pipes, y todos los recursos nombrados podan ser renombrados configurando variables de entorno.
Este sistema tuvo una buena acogida en los puntos de venta y fue adoptado por el IBM 4690.
Digital Research fue comprada por Novell en 1.991, principalmente para obtener acceso al mercado de los
Sistemas Operativos.
- 539 -
Tras los pasos de un... Hacker
Direccin (address).- En la Internet, dcese de la serie de caracteres numricos o alfanumricos, que identifican
un determinado recurso de forma nica y permiten acceder a l. En la red existen varios tipos de direcciones de
uso comn: direccin de correo electrnico (e-mail address), direccin IP (IPaddress, direccin en la Internet)y
direccin hardware o MAC (hardware or MACaddress).
Direccin IP (IP address).- Direccin de 32 bits definida por el Protocolo Internet en STD 5, RFC 791. Se
representa usualmente mediante notacin decimal separada por puntos. Un ejemplo de direccin IP es
193.127.88.345
Disco duro (Hard disk).- Dispositivo de gran capacidad de almacenamiento que funciona en base a discos de
metal (duros) recubiertos de un material electromagntico.
Diskette.-Ver disquete.
Disquete (Diskette, Disco flexible, Floppy disk).- Dispositivo de almacenamiento que funciona en base a discos
plsticos (flexibles) recubiertos de un material electromagntico.
DoD (Department of Defense, Departamento de Defensa).-Ver Departamento de Defensa de los Estados Unidos de
Norte Amrica.
DOS (Disk Operating System).- Con estas siglas se conoce a una gran familia de Sistemas Operativos que se
hicieron muy populares en las dcadas de 1.970 y 1.980, los ms populares fueron CP/M (DR-DOS), Q-DOS,
MS-DOS, PC-DOS y MSX-DOS.
Driver.-Ver controlador.
- 540 -
Breve glosario de trminos...
Dropper.- Un Dropper es un programa que no es un virus informtico, pero que posee la capacidad de grabar
virus informticos cuando se ejecuta. El Dropper as, consigue burlar a los antivirus, puesto que su cdigo no
contiene nada malicioso en un principio.
DVD (Digital Versatile DiskDisco Verstil Digital).- El DVD (pronunciado divid en ingls e Hispanoamrica y
deved o deuved en Espaa, segn la Real Academia Espaola), cuyas siglas corresponden a Digital Versatile
Disk (disco verstil digital) o tambin Digital Video Disc (disco de video digital), es un dispositivo de
almacenamiento ptico cuyo estndar surgi en 1.995.
Unidad de DVD: el nombre de este dispositivo hace referencia a la multitud de maneras en las que se almacenan
los datos: DVD-ROM (dispositivo de lectura nicamente), DVD-R y DVD+R (solo pueden escribirse una vez),
DVD-RW y DVD+RW (permiten grabar y borrar las veces que se quiera). Tambin difieren en la capacidad de
almacenamiento de cada uno de los tipos.
E
e-mail.-Ver correo electrnico.
EBCDIC (Extended Binary Coded Decimal Interchange Code).- Es un cdigo estndar de 8 bits usado por las
computadoras mainframe IBM. IBM adapt el EBCDIC del cdigo de tarjetas perforadas en los aos 1.960 y lo
promulg como una tctica customer-control cambiando el cdigo estndar ASCII.
EBCDIC es un cdigo binario que representa caracteres alfanumricos, controles y signos de puntuacin. Cada
carcter est compuesto por 8 bits = 1 byte, por eso EBCDIC define un total de 256 caracteres.
Existen muchas versiones (codepages) de EBCDIC con caracteres diferentes, respectivamente sucesiones
diferentes de los mismos caracteres. Por ejemplo al menos hay 9 versiones nacionales de EBCDIC con Latn 1
caracteres con sucesiones diferentes.
Echelon.- Sistema de satlites norteamericanos que permiten espiar a los usuarios que usen algn dispositivo
electrnico para comunicarse. El sistema Echelon permite interceptar comunicaciones de telfono, radio o de
Internet. Los satlites de Echelon no son los nicos elementos de este sistema de espionaje, adems de ellos,
podemos encontrarnos con sistemas capturadores de seales de radio, escneres y sistemas informticos.
EDVAC (Electronic Discrete Variable Automatic Computer, es decir Computadora Automtica Electrnica de
Variable Discreta).- Fue una de las primeras computadoras electrnicas. A diferencia de la ENIAC, no era
decimal, sino binaria y tuvo el primer programa diseado para ser almacenado. Este diseo se convirti en el
estndar de arquitectura para la mayora de las computadoras modernas.
El diseo de la EDVAC fue desarrollado an antes de que la ENIAC fuera puesta en marcha y tena la intencin de
resolver muchos de los problemas encontrados en el diseo de la ENIAC. As como la ENIAC, la EDVAC fue
construida por el laboratorio de investigacin de balstica de Estados Unidos de la universidad de Pensilvania. A
los diseadores de la ENIAC, J. Presper Eckert y John William Mauchly se les uni el gran matemtico John von
Neumann. Un contrato para construirla fue firmado en abril de 1.946 con un presupuesto inicial de 100.000
- 541 -
Tras los pasos de un... Hacker
USD y el contrato llam al aparato el Calculador Discreto Electrnico Automtico Variable (Electronic Discrete
Variable Automatic Calculator en ingls).
EEPROM (Electrically Erasable Programmable Read Only Memory).- EEPROM o E2PROM son las siglas de
Electrically-Erasable Programmable Read-Only Memory (ROM programable y borrable elctricamente). Es un
tipo de memoria ROM que puede ser programado, borrado y reprogramado elctricamente, a diferencia de la
EPROM que ha de borrarse mediante un aparato que emite rayos ultravioletas. Son memorias no voltiles.
Las celdas de memoria de una EEPROM estn constituidas por un transistor MOS, que tiene una compuerta
flotante (estructura SAMOS), su estado normal esta cortado y la salida proporciona un 1 lgico.
Aunque una EEPROM puede ser leda un nmero ilimitado de veces, slo puede ser borrada y reprogramada
entre 100.000 y un milln de veces.
Estos dispositivos suelen comunicarse mediante protocolos como I2C, SPI y Microwire. En otras ocasiones, se
integra dentro de chips como microcontroladores y DSPs para lograr una mayor rapidez.
La memoria flash es una forma avanzada de EEPROM creada por el Dr. Fujio Masuoka mientras trabajaba para
Toshiba en 1.984 y fue presentada en la Reunin de Aparatos Electrnicos de la IEEE de 1.984. Intel vio el
potencial de la invencin y en 1.988 lanz el primer chip comercial de tipo NOR.
Encriptacin.-Ver cifrado.
Encryption.-Ver cifrado.
ENIAC (Electronic Numerical Integrator And Computer -- Computadora e Integrador Numrico Electrnico).
Computadora utilizada por el Laboratorio de Investigacin Balstica del Ejrcito de los Estados Unidos. Fue la
primera computadora de propsito general. Adems est relacionada con el Colossus, que se us para descifrar
cdigo alemn durante la Segunda Guerra Mundial y destruido tras su uso para evitar dejar pruebas, siendo
recientemente restaurada para un museo britnico. Era totalmente digital, es decir, que ejecutaba sus procesos
y operaciones mediante instrucciones en lenguaje mquina, a diferencia de otras mquinas computadoras
contemporneas de procesos analgicos.
La ENIAC fue construida en la Universidad de Pennsylvania por John Presper Eckert y John William Mauchly,
ocupaba una superficie de 167 m y operaba con un total de 17.468 vlvulas electrnicas o tubos de vaco que a
su vez permitan realizar cerca de 5.000 sumas y 300 multiplicaciones por segundo. Fsicamente, la ENIAC tena
17.468 tubos de vaco, 7.200 diodos de cristal, 1.500 rels, 70.000 resistencias, 10.000 condensadores y 5
- 542
Breve glosario de trminos...
millones de soldaduras. Pesaba 27 Tm, meda 2,4 m x 0,9 m x 30 m; utilizaba 1.500 conmutadores
electromagnticos y rels; requera la operacin manual de unos 6.000 interruptores, y su programa o software,
cuando requera modificaciones, demoraba semanas de instalacin manual.
EPN (Escuela Politcnica Nacional del Ecuador).- Prestigiado centro de estudios superiores de la Repblica del
Ecuador, es una de las primeras Politcnicas que se formaron en Latino Amrica. La Escuela Politcnica
Nacional, tambin conocida como EPN es una universidad pblica y el ms antiguo instituto de educacin
superior tcnica del Ecuador. Fue fundado en Quito por el presidente Gabriel Garca Moreno en 1.869.
EPROM (Erasable Programmable Read Only Memory).- EPROM son las siglas de Erasable Programmable
Read-Only Memory (ROM programable borrable). Es un tipo de chip de memoria ROM no voltil inventado por el
ingeniero Dov Frohman. Est formada por celdas de FAMOS (Floating gate Avalanche-injection Metal-Oxide
Semiconductor) o "transistores de puerta flotante", cada uno de los cuales viene de fbrica sin carga, por lo que
son ledos como 0 (por eso, una EPROM sin grabar se lee como 00 en todas sus celdas). Se programan mediante
un dispositivo electrnico que proporciona voltajes superiores a los normalmente utilizados en los circuitos
electrnicos. Las celdas que reciben carga se leen entonces como un 1.
Error (bug, insecto, gazapo).-Trmino aplicado a los errores descubiertos al ejecutar un programa informtico.
Fue usado por primera vez en el ao 1.945 por Grace Murray Hooper, una de las pioneras de la programacin
moderna, al descubrir como un insecto (bug) haba daado un circuito de la computadora Mark I.
ESMIL (Escuela Superior Militar Eloy Alfaro).- Prestigiado centro de estudios superiores de la Repblica del
Ecuador donde ser forman los oficiales del Ejrcito Ecuatoriano y algunos de otros pases de Latino Amrica
conforme algunos convenios de intercambio y asistencia en materia militar.
ESPE (Escuela Superior Politcnica del Ejrcito).- Prestigiado centro de estudios superiores de la Repblica del
Ecuador. Tiene su origen en la Escuela de Oficiales Ingenieros, creada el 16 de junio de 1.922. Actualmente
cuenta con sedes en Sangolqu(principal), Latacunga, Santo Domingo de los Tschilas.
F
Fabricacin Asistida por Computadora.-Ver CAM.
FAT (File Allocation Table Tabla de Localizacin de Archivos).- Es un sistema de archivos desarrollado para
MS-DOS, as como el sistema de archivos principal de las ediciones no empresariales de Microsoft Windows hasta
Windows Me.
- 543 -
Tras los pasos de un... Hacker
El formato FAT es relativamente sencillo. A causa de ello, es un formato popular para disquetes admitido
prcticamente por todos los sistemas operativos existentes para la computadora personal. Se utiliza como
mecanismo de intercambio de datos entre sistemas operativos distintos que coexisten en la misma computadora,
lo que se conoce como entorno multiarranque. Tambin se utiliza en tarjetas de memoria flash y dispositivos
similares.
Las implementaciones ms extendidas de FAT tienen algunas desventajas. Cuando se borran y se escriben
nuevos archivos tiende a dejar fragmentos dispersos de stos por todo el soporte. Con el tiempo, esto hace que
el proceso de lectura o escritura sea cada vez ms lento. La denominada desfragmentacin es la solucin a esto,
pero es un proceso largo que debe repetirse regularmente para mantener el sistema de archivos en perfectas
condiciones. FAT tampoco fue diseado para ser redundante ante fallos. Inicialmente solamente soportaba
nombres cortos de archivo: ocho caracteres para el nombre ms tres para la extensin. Tambin carece de
permisos de seguridad: cualquier usuario puede acceder a cualquier archivo.
FBI (Federal Bureau of Investigations -- Bur Federal de Investigaciones).- Tambin conocido como Oficina
Federal de Investigacin es el principal brazo de investigacin del Departamento de Justicia de los Estados
Unidos de Norte Amrica.
Las oficinas centrales del FBI estn ubicadas en Washington, DC, y tambin hay 56 oficinas locales ubicadas en
las principales ciudades de los Estados Unidos, as como ms de 400 organismos residentes en pequeas
ciudades y pueblos en toda la nacin, y ms de 50 oficinas internacionales, llamadas "Diplomacias Legales", en
embajadas de Estados Unidos en todo el mundo.
El artculo 28, del Cdigo de los Estados Unidos, en la seccin 533, autoriza al ministro de Justicia para "
designar a funcionarios para descubrir crmenes... contra los Estados Unidos," y otros estatutos federales dan la
autoridad al FBI y la responsabilidad de investigar crmenes especficos. Actualmente, el FBI tiene jurisdiccin
investigadora sobre las violaciones de ms de 200 categoras de crmenes federales, de esta forma se convierte
en la agencia policial federal ms grande del mundo. El Top Ten de los sospechosos ms buscados ha sido usado
desde 1.949 para notificar a la poblacin acerca de los fugitivos ms peligrosos.
Fichero.-Ver archivo.
Finger (apuntar con el dedo, dedo).- Programa que muestra informacin acerca de un(os) usuario(s)
especifico(s) conectado(s) a un sistema local o remoto. Habitualmente se muestra los nombres y apellidos, hora
de la ultima conexin, tiempo de conexin sin actividad, lnea del terminal y situacin de ste. Puede tambin
mostrar archivos de planificacin y de proyecto del usuario.
Firewall (cortafuegos).- Sistema que se coloca entre una red local (LAN) y la Internet. La regla bsica es
asegurar que todas las comunicaciones entre dicha red y la Internet se realicen conforme a las polticas de
seguridad de la organizacin que lo instala. Adems, estos sistemas suelen incorporar elementos de privacidad,
autentificacin, etc.
- 544 -
Breve glosario de trminos...
Firma digital (digital signature).- Informacin cifrada que identifica al autor de un documento electrnico y
permite conservar la integridad del contenido del mismo, verifica que el contenido no ha cambiado y adems
confirma que pertenece a quien dice ser su emisor.
Encontramos firmware en memorias ROM de los sistemas de diversos dispositivos perifricos, como en
monitores de video, unidades de disco, impresoras, etc., pero tambin en los propios microprocesadores, chips
de memoria principal y en general en cualquier circuito integrado.
Muchos de los firmwares almacenados en ROM estn protegidos por Derechos de Autor.
El programa BIOS de una computadora es un firmware cuyo propsito es activar una mquina desde su
encendido y preparar el entorno para la instalacin de un Sistema Operativo complejo, as como responder a
otros eventos externos (botones de pulsacin humana) y al intercambio de rdenes entre distintos
componentes de la computadora.
En un microprocesador el firmware es el que recibe las instrucciones de los programas (tambin conocido como
conjunto de instrucciones) y las ejecuta en la compleja circuitera del mismo, emitiendo rdenes a otros
dispositivos del sistema.
FORTRAN (FORmula TRANslation, Lenguaje orientado a la resolucin de frmulas, muy usado en aplicaciones
cientficas).- Lenguaje de programacin de computadoras creado en 1.954.
Free Software (Software Libre).- Programas desarrollados y distribuidos segn la filosofa de dar al usuario la
libertad de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar dichos programas (Linux es un ejemplo de
esta filosofa). El software libre no es siempre software gratuito (equivocacin bastante habitual que tiene su
origen en que la palabra inglesa free significa ambas cosas).
Freeware (programas de libre distribucin, programas gratuitos, programas de dominio pblico).- Programas
informticos que se distribuyen a travs de la red de forma gratuita.
- 545 -
Tras los pasos de un... Hacker
FTP (File Transfer Protocol-- Protocolo de Transferencia de Archivos).- Protocolo que permite a un usuario de
un sistema acceder o transferir archivos desde y hacia otro sistema en una red. FTP es tambin habitualmente
el nombre del programa que el usuario invoca para ejecutar el protocolo.
FTP annimo (anonymous FTP).- El FTP annimo permite a un usuario de la Internet copiar documentos,
archivos, programas y otros datos contenidos en archivos existentes en numerosos servidores de informacin
sin tener que proporcionar su nombre de usuario y una contrasea (password). Utilizando el nombre especial
de usuario anonymous o a veces ftp, el usuario de la red podr superar los controles locales de seguridad y
podr acceder a archivos pblicos situados en un sistema remoto.
Funcard.- Se trata de una variante de tarjeta electrnica basada en un microcontrolador de Atmel. Esta tarjeta
electrnica esta siendo utilizada para emular sistemas de televisin pagada como SecaMediaguard o Nagra.
G
Gateway (portn, pasarela).- Hoy se utiliza el trmino router en lugar de la definicin original de gateway. Una
pasarela es un programa o dispositivo de comunicaciones que transfiere datos entre redes que tienen funciones
similares pero implantaciones diferentes. No debera confundirse con un convertidor de protocolos.
GNU.- El proyecto GNU fue iniciado por Richard Stallman con el objetivo de crear un sistema operativo
completamente libre: el sistema GNU.
El 27 de septiembre de 1.983 se anunci pblicamente el proyecto por primera vez en el grupo de noticias
net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman como el "Manifiesto
GNU", que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca "volver al espritu
de cooperacin que prevaleci en los tiempos iniciales de la comunidad de usuarios de computadoras".
GNU GPL (GNU General Public License Licencia Pblica General de GNU).- Es una licencia creada por la Free
Software Foundation en 1.989 (la primera versin), y est orientada principalmente a proteger la libre
distribucin, modificacin y uso de software. Su propsito es declarar que el software cubierto por esta licencia
es software libre y protegerlo de intentos de apropiacin que restrinjan esas libertades a los usuarios.
Existen varias licencias "hermanas" de la GPL, como la licencia de documentacin libre de GNU (GFDL), la Open
Audio License, para trabajos musicales, etc., y otras menos restrictivas, como la MGPL, o la LGPL (Lesser General
Publical License, antes Library General Publical License), que permiten el enlace dinmico de aplicaciones libres
a aplicaciones no libres.
GNU/Linux.-Ver Linux.
- 546 -
Breve glosario de trminos...
El protocolo Gopher fue presentado en 1.991 por la Universidad de Minnesota, y su nombre puede proceder
tanto de la mascota de la universidad (un gopher, una ardilla de tierra), como del coloquial go-fer, ir-por o "ir a
por/buscar informacin".
Aunque los servidores gopher que quedan son testimoniales, el navegador Firefox todava tiene soporte para el
mismo. Internet Explorer lo elimin en 2.002, despus de descubrirse una vulnerabilidad.
GSM (Global System for Mobile communication -- Sistema Global para comunicaciones Mviles).- Sistema
compatible de telefona mvil digital desarrollado en Europa con la colaboracin de operadores,
Administraciones Pblicas y empresas. Permite la transmisin de voz y datos a travs de las redes de celulares.
Guerra Fra.- Se denomina Guerra Fra al enfrentamiento ideolgico que tuvo lugar durante el siglo XX, desde
1.945 (fin de la Segunda Guerra Mundial) hasta el fin de la URSS y la cada del comunismo que se dio entre 1.989
(Cada del Muro de Berln) y 1.991 (golpe de estado en la URSS), entre los bloques occidental-capitalista,
liderado por Estados Unidos, y oriental-comunista, liderado por la Unin Sovitica. Este enfrentamiento tuvo
lugar a los niveles poltico, ideolgico, econmico, tecnolgico, militar e informativo. Ninguno de los dos
bloques tom nunca acciones directas contra el otro, razn por la que se denomin al conflicto "guerra fra".
Estas dos potencias se limitaron el pico actual como "ejes" influyentes de poder en el contexto internacional, y a
la cooperacin econmica y militar con los pases aliados o satlites de uno de los bloques contra los del otro.
Si bien estos enfrentamientos no llegaron a desencadenar una guerra mundial, la entidad y la gravedad de los
conflictos econmicos, polticos e ideolgicos comprometidos, marcaron significativamente gran parte de la
historia de la segunda mitad del siglo XX. Las dos superpotencias deseaban implantar su modelo de gobierno en
todo el planeta. Los lmites temporales del enfrentamiento se ubican entre 1.945 y 1.947 (fin de la Segunda
Guerra Mundial y fin de la posguerra respectivamente) hasta 1.985 (inicio de la Perestroika) y 1.991 (disolucin
de la Unin Sovitica).
Gur (guru).- Persona a la que se considera, no siempre con razn, como el sumo manantial de sabidura sobre
un determinado tema. Nicholas Negroponte es considerado el mximo gur en lo que se refiere a la Internet y la
llamada Sociedad de la Informacin.
H
Hacker(s).- Personaje del underground que tiene el mximo conocimiento en un tema especializado y una
filosofa de vida dedicada a la investigacin y comnmente a compartir estos conocimientos con el fin de que si
existiera algn error en la implementacin de algn sistema, este se pueda corregir. Para algunos organismos
de control y de investigacin del mundo y la prensa es el primer eslabn de una sociedad delictiva en la
Internet. Estos personajes son expertos en sistemas avanzados. En la actualidad se centran en los sistemas
informticos y de comunicaciones. Dominan la programacin y la electrnica para lograr comprender sistemas
- 547 -
Tras los pasos de un... Hacker
tan complejos como la comunicacin mvil. Su objetivo principal es comprender los sistemas y el
funcionamiento de ellos. Les encanta entrar remotamente en computadoras, con el fin de decir aquello de he
estado aqu pero no modifican ni se llevan nada de la computadora atacada.
Normalmente son quienes alertan de un fallo en algn programa comercial y lo comunican al fabricante.
Tambin es frecuente que un buen Hacker sea finalmente contratado por alguna importante empresa de
seguridad.
El perfil del Hacker idneo es aquel que se interesa por la tecnologa, al margen de si lleva gafas, es delgado o
lleva incansablemente encima un telfono celular de grandes proporciones. Emplea muchas horas detrs de
una computadora, pero para nada debe ser un obsesivo de estas mquinas. No obstante puede darse el caso.
Este grupo es el ms experto y menos ofensivo, ya que no pretenden serlo, a pesar de que poseen conocimientos
de programacin, lo que implica el conocimiento de la creacin de Virus o Crack de un software o sistema
informtico.
Hardware.- Trmino utilizado en las Ciencias de la Computacin para referirse a todo el equipamiento que
conforma una computadora as como a sus dispositivos y otros aparatos que pueden interconectarse con la
misma.
Hertzio (Smbolo Hz).- El hertzio, hercio o hertz, es la unidad de frecuencia del Sistema Internacional de
Unidades. Proviene del apellido del fsico alemn Heinrich Rudolf Hertz, que descubri la propagacin de las
ondas electromagnticas. El nombre fue establecido por la Comisin Electrotcnica Internacional (IEC por sus
siglas en ingls) en 1.930. Este fue adoptado por la Conferencia General de Pesos y Medidas (CGPM, Confrence
gnrale des poids et mesures) en 1.960, reemplazando el nombre anterior de ciclos por segundo (cps), as
como sus mltiplos relacionados, principalmente kilociclos por segundo (kc/s), megaciclos por segundo (Mc/s)
y el ocasionalmente utilizado kilomegaciclo por segundo (kMc/s) y gigaciclo por segundo (Gc/s). El trmino
ciclo por segundo fue completamente reemplazado por hercio hacia los aos de 1.970.
Heurstica.- Se trata de una tcnica mediante la cual se examina el cdigo de un archivo ejecutable en busca de
funciones o acciones que son generalmente asociadas con la actividad vrica. Este mtodo, utilizado por los
Antivirus, a veces hace saltar la alarma en archivos que no estn realmente infectados.
HF (Historia Ficticia).-Trmino de uso militar que denota el uso de un alias o una operacin para la encubierta
de otra usando nombres y situaciones ficticias.
Hoax (bulo, camelo).- Trmino utilizado para denominar a rumores falsos, especialmente sobre virus
informticos inexistentes que se difunden por la red, a veces con mucho xito causando al final casitanto dao
como si se tratase de un virus informtico real.
Hobby (Aficin).- Una aficin (tambin llamado hobby o hobbie, y a veces tambin pasatiempo) es una actividad
cuyo valor reside en el entretenimiento de aquel que lo ejecuta, que algunas veces no busca una finalidad
productiva concreta y se realiza en forma habitual.
- 548 -
Breve glosario de trminos...
Generalmente el trmino aficionado o amateur se aplica a todo aquello que se realiza sin un carcter de ejercicio
profesional, por aficin personal. As, por ejemplo, un deportista amateur es aquel que, en contraste con uno
profesional, practica un deporte por aficin, es decir, sin que ello tenga una motivacin econmica.
El otro significado de la palabra, tal vez un poco olvidado deriva de la lengua francesa, a su vez derivada de la
raz de la palabra en latn, la cual significa "amar a" o "el amador de". En este sentido un amateur puede ser tan
hbil como un profesional, sin embargo su motivacin es el amor o la pasin por una cierta actividad y no tiene
el fin de ganar dinero por realizarla.
Honeywell (NYSE: HON).- Es una importante corporacin multinacional norte americana que produce una
variedad de productos de consumo, servicios de ingeniera y sistemas aeroespaciales para una amplia variedad
de clientes, desde clientes particulares a grandes corporaciones y gobiernos.
Honeywell es una de las compaas del Fortune 500 con una mano de obra superior a 100,000 empleados. Tiene
su sede en Morristown (Nueva Jersey). La compaa forma parte del ndice burstil Dow Jones.
Honeywell tiene muchas marcas que los consumidores pueden conocer. Algunos de los productos ms
conocidos son la gama para el hogar de termostatos y productos para el automvil vendidos bajo los nombres
de Prestone, Fram y Autolite.
Host (sistema anfitrin, sistema principal / albergar, dar albergue).- Servidor o computadora que, mediante la
utilizacin de los protocolos TCP/IP, permite a los usuarios comunicarse con otros sistemas anfitriones de una
red.
Los usuarios se comunican utilizando programas de aplicacin, tales como el correo electrnico, Telnet, WWWy
FTP. La acepcin verbal (to host) describe el hecho de almacenar algn tipo de informacin en un servidor
ajeno.
HTML tambin es usado para referirse al contenido del tipo de MIME text/html o todava ms ampliamente
como un trmino genrico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores) o
en forma descendida directamente de SGML (como HTML 4.01 y anteriores).
HTTP (HyperText Transfer Protocol).- Es el protocolo usado en cada transaccin de la World Wide Web. HTTP
fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboracin que
culmin en 1.999 con la publicacin de una serie de RFC, el ms importante de ellos es el RFC 2616 que
especifica la versin 1.1. HTTP define la sintaxis y la semntica que utilizan los elementos de software de la
arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y
sigue el esquema peticin-respuesta entre un cliente y un servidor. Al cliente que efecta la peticin (un
navegador web o un spider) se lo conoce como "user agent" (agente del usuario). A la informacin transmitida
se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden
ser archivos, el resultado de la ejecucin de un programa, una consulta a una base de datos, la traduccin
automtica de un documento, etc.
- 549 -
Tras los pasos de un... Hacker
HTTP es un protocolo sin estado, es decir, que no guarda ninguna informacin sobre conexiones anteriores. El
desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es
informacin que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web
instituir la nocin de "sesin", y tambin permite rastrear usuarios ya que las cookies pueden guardarse en el
cliente por tiempo indeterminado.
Hz.-Ver Hertzio.
I
IA.-Ver inteligencia artificial.
IBM (International Business Machines Co., NYSE: IBM, conocida coloquialmente como el Gigante Azul).- Es una
empresa multinacional que fabrica y comercializa herramientas, programas y servicios relacionados con la
informtica. IBM tiene su sede en Armonk (Nueva York, Estados Unidos) y est constituida como tal desde el 15
de junio de 1.911, pero lleva operando desde 1.888.
Con alrededor de 390.000 empleados repartidos en unos 161 pases, esta empresa tiene ingresos de 103.600
millones de dlares en 2.008, IBM es la empresa de servicios basados en tecnologa de informacin ms grande
del mundo y una de las pocas que lleva operando desde el siglo XIX hasta la actualidad.
Tiene una presencia principal en prcticamente todos los segmentos relacionados con las tecnologas de la
informacin; de hecho, en los aos recientes, ms de la mitad de sus ingresos vienen de sus ramas de consultora
y servicios y no de la fabricacin de equipos. Adems es una firme patrocinadora del software libre.
- 550 -
Breve glosario de trminos...
Inteligencia Artificial (IA, Artificial Intelligence).- Se denomina inteligencia artificial (IA) a la rama de las
Ciencias de la Computacin dedicada al desarrollo de agentes racionales no vivos.
Para explicar la definicin anterior, entindase a un agente como cualquier cosa capaz de percibir su entorno
(recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entindase a la
[racionalidad] como la caracterstica que posee una eleccin de ser correcta, ms especficamente, de tender a
maximizar un resultado esperado (este concepto de racionalidad es ms general y por ello ms adecuado que
inteligencia para definir la naturaleza del objetivo de esta disciplina).
Por lo tanto, y de manera ms especfica la inteligencia artificial es la disciplina que se encarga de construir
procesos que al ser ejecutados sobre una arquitectura fsica producen acciones o resultados que maximizan una
medida de rendimiento determinada, basndose en la secuencia de entradas percibidas y en el conocimiento
almacenado en tal arquitectura.
Existen distintos tipos de conocimiento y medios de representacin del conocimiento. El cual puede ser
cargado en el agente por su diseador o puede ser aprendido por el mismo agente utilizando tcnicas de
aprendizaje.
Tambin se distinguen varios tipos de procesos vlidos para obtener resultados racionales, que determinan el
tipo de agente inteligente. De ms simples a ms complejos, los cinco principales tipos de procesos son:
Ejecucin de una respuesta predeterminada por cada entrada (anlogas a actos reflejos en seres
vivos).
Bsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles.
Algoritmos genticos (anlogo al proceso de evolucin de las cadenas de ADN).
Redes neuronales artificiales (anlogo al funcionamiento fsico del cerebro de animales y humanos).
Razonamiento mediante una lgica formal (anlogo al pensamiento abstracto humano).
Tambin existen distintos tipos de percepciones y acciones, pueden ser obtenidas y producidas,
respectivamente por sensores fsicos y sensores mecnicos en mquinas, pulsos elctricos u pticos en
computadoras, tanto como por entradas y salidas de bits de un software y su entorno software.
Internet.-Conjunto de servidores interconectados a nivel mundial, los mismos que a su vez interconectan redes
particulares y pblicas a travs de los ISP (Internet Service Provider), creando una red de redes, el protocolo
usado para la transmisin de los distintos servicios que presta esta red es el TCP/IP as como todos los
protocolos derivados de este. Tiene principalmente servidores para WWW, FTP, canales de noticias, correo
electrnico, resolucin de nombres de dominio, etc.
- 551 -
Tras los pasos de un... Hacker
Intrprete (Interpreter).- Es un programa que ejecuta un algoritmo escrito en un lenguaje de alto nivel
instruccin por instruccin, en contraposicin al concepto de compilador.
Interpreter.-Ver intrprete.
-La ISO es una red de los institutos de normas nacionales de 160 pases, sobre la base de un miembro por pas,
con una Secretara Central en Ginebra (Suiza) que coordina el sistema. La Organizacin Internacional de
Normalizacin (ISO), con sede en Ginebra, est compuesta por delegaciones gubernamentales y no
gubernamentales subdivididos en una serie de subcomits encargados de desarrollar las guas que contribuirn
al mejoramiento ambiental.
Las normas desarrolladas por ISO son voluntarias, comprendiendo que ISO es un organismo no gubernamental
y no depende de ningn otro organismo internacional, por lo tanto, no tiene autoridad para imponer sus normas
a ningn pas.
Est compuesta por representantes de los organismos de normalizacin (ON) nacionales, que produce normas
internacionales industriales y comerciales. Dichas normas se conocen como normas ISO y su finalidad es la
coordinacin de las normas nacionales, en consonancia con el Acta Final de la Organizacin Mundial del
Comercio, con el propsito de facilitar el comercio, el intercambio de informacin y contribuir con normas
comunes al desarrollo y a la transferencia de tecnologas.
ISP (Internet Service Provider Proveedor de Servicios de la Internet).- Un proveedor de servicios de la Internet
(o ISP, por sus siglas del ingls Internet Service Provider) es una empresa que brinda conexin a la Interneta sus
clientes. Un ISP conecta a sus usuarios a la Interneta travs de diferentes tecnologas como DSL, Cablemdem,
GSM, Dial-up, Wifi, entre otros. Muchos ISP tambin ofrecen servicios relacionados con la Internet, como el
correo electrnico, alojamiento web, registro de dominios, servidores de noticias, etc.
J
Java.- Lenguaje de programacin de computadoras desarrollado en 1.991.
Java Community Process (Proceso de la Comunidad Java).- Establecido en 1.998, es un proceso formalizado el
cual permite a las partes interesadas a involucrarse en la definicin de futuras versiones y caractersticas de la
plataforma Java.
- 552 -
Breve glosario de trminos...
El proceso JCP conlleva el uso de Java Specification Request (JSR), las cuales son documentos formales que
describen las especificaciones y tecnologas propuestas para que sean aadidas a la plataforma Java. Las
revisiones pblicas formales de JSRs son controladas antes de que los JSR se conviertan en final y sean votados
por el Comit Ejecutivo JCP. Un JSR final suministra una implementacin de referencia la cual da una
implementacin libre de la tecnologa en cdigo fuente y un Kit de Compatibilidad de Tecnologa para verificar la
especificacin de la API.
El JCP mismo est descrito por un JSR. Desde 2.006, la versin actual de JCP en uso es 2.6 como se describe por
JSR 215.
Afinales del 2.008, el JCP est compuesto por ms de 1.200 miembros, todos ellos empresas a la vanguardia en el
sector tecnolgico y del desarrollo de software.
Joke.- Se trata de una aplicacin que al principio uno cree que est ante la infeccin de un malicioso virus, pero
en realidad se trata de una broma pesada con final feliz.
Kevin Mitnick (alias Cndor, nacido el 6 de agosto de 1.963).- Es uno de los crackers y phreakers ms
famosos de los Estados Unidos de Norte Amrica. Su nickname o apodo fue Cndor. Su ltimo arresto se
produjo el 15 de febrero de 1.995, tras ser acusado de entrar en algunos de los servidores ms seguros de
Estados Unidos. Ya haba sido procesado judicialmente en 1.981, 1.983 y 1.987 por diversos delitos
electrnicos.
El caso de Kevin Mitnick (su ltimo encarcelamiento) alcanz una gran popularidad entre los medios
estadounidenses por la lentitud del proceso (hasta la celebracin del juicio pasaron ms de dos aos), y las
estrictas condiciones de encarcelamiento a las que estaba sometido (se le aisl del resto de los presos y se le
prohibi realizar llamadas telefnicas durante un tiempo por su supuesta peligrosidad).
Tras su puesta en libertad en 2.002, Kevin Mitnick se dedica a la consultora y el asesoramiento en materia de
seguridad, a travs de su compaa Mitnick Security (anteriormente llamada Defensive Thinking).
La vida de Kevin Mitnicky, en especial, la persecucin que condujo a su captura en 1.995, han dado lugar a
multitud de libros y otro material de ficcin. De entre todos destaca la novela Takedown, que relata su ltimo
arresto, y de la cual han sacado una pelcula con el mismo ttulo, Takedown, en el ao 2.000.
Otra novela algo menos conocida es The Fugitive Game, escrita por Jonathan Littman. En ella tambin se narran
los hechos acontecidos los ltimos aos antes de su arresto, aunque desde una perspectiva ms intimista y no
tan enfocada al autobombo por parte de los captores como la anterior.
Uno de los miembros del equipo que contribuy al arresto de Mitnick fue Tsutomu Shimomura, experto en
seguridad informtica e hijo del profesor Osamu Shimomura, uno de los tres ganadores del Premio Nobel de
Qumica 2.008.
- 553 -
Tras los pasos de un... Hacker
Key (clave).- Cdigo de signos convenidos para la transmisin de mensajes secretos o privados. En los sistemas
de televisin pagada, las Keys, son las encargadas de descifrar las seales de televisin.
KeyGenerator.-Se denominan as a los programas creados por los Crackers, los cuales son capaces de generar
las claves de registro de un programa Shareware.
Estos generadores de registro, normalmente muestran el nmero de serie a introducir en la aplicacin que se
quiere registrar. Cada KeyGeneratorresponde a un algoritmo especfico.
Keystroke.-Ver pulsacin.
Keyword (clave de bsqueda, palabra clave).- Conjunto de caracteres que puede utilizarse para buscar una
informacin en un buscador o en un sitio web.
L
Lamer(s).- Este grupo de personajes del underground quizs es el que ms nmero de miembros posee y quizs
son los que mayor presencia tienen en la red. Normalmente son individuos con ganas de hacer Hacking, pero
que carecen de cualquier conocimiento.
Habitualmente son individuos que apenas si saben lo que es una computadora, pero el uso de esta y las grandes
oportunidades que brinda la Internet, convierten al nuevo internauta en un obsesivo ser que rebusca y relee
toda la informacin que le fascina y que se puede encontrar en la Internet. Normalmente la posibilidad de
entrar remotamente en otro sistema o la posibilidad de girar un grfico en la pantalla de otra computadora, le
fascinan enormemente.
Este es quizs el grupo que ms peligro acontece en la red ya que ponen en prctica todo el Software de Hackeo
que encuentran en la red. As es fcil ver como un Lamer prueba a diestra y siniestra un programa para
bombardero de correo electrnico, el mismo que enva a algn servidor de correo electrnico miles de mensajes
repetidos hasta colapsar el sistema y despus se mofa autodenominndose Hacker.
Tambin emplean de forma habitual programas sniffers para controlar la red, interceptan tu contrasea y correo
electrnico, despus te envan varios mensajes con una direccin falsa amenazando tu sistema, pero en realidad
no pueden hacer nada ms que cometer el error de decir que poseen el control completo de tu disco duro an
cuando la computadora est desconectada.
LAN (Local Area Network -- Red de rea local).- Una red de rea local, red local o LAN (del ingls local area
network) es la interconexin de varias computadoras y perifricos. Su extensin est limitada fsicamente a un
edificio o a un entorno de 200 metros, o con repetidores podra llegar a la distancia de un campo de 1 kilmetro.
Su aplicacin ms extendida es la interconexin de computadoras personales y estaciones de trabajo en oficinas,
fbricas, etc., para compartir recursos e intercambiar datos y aplicaciones. En definitiva, permite una conexin
entre dos o ms equipos.
El trmino red local incluye tanto el hardware como el software necesario para la interconexin de los distintos
dispositivos y el tratamiento de la informacin.
- 554 -
Breve glosario de trminos...
LCD (Liquid Crystal Display Pantalla de cristal lquido).- Es una pantalla delgada y plana formada por un
nmero de pxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se
utiliza en dispositivos electrnicos de pilas, ya que utiliza cantidades muy pequeas de energa elctrica.
Lenguaje mquina (assembly language, ensamblador, assembler, cdigo mquina).- Es el sistema de cdigos
directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o
el microcontrolador de un autmata (un PLC). Este lenguaje est compuesto por un conjunto de instrucciones
que determinan acciones a ser tomadas por la mquina. Un programa de computadora consiste en una cadena
de estas instrucciones de lenguaje de mquina (ms los datos). Estas instrucciones son normalmente
ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos.
El lenguaje de mquina es especfico de cada mquina o arquitectura de la mquina, aunque el conjunto de
instrucciones disponibles pueda ser similar entre ellas.
Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos nicos niveles de
tensin. Dichos niveles, por abstraccin, se simbolizan con el cero, 0, y el uno, 1, por eso el lenguaje de mquina
slo utiliza dichos signos. Esto permite el empleo de las teoras del lgebra booleana y del sistema binario en el
diseo de este tipo de circuitos y en su programacin.
Una visin tpica de la arquitectura de computadores como una serie de capas de abstraccin: hardware,
firmware, ensamblador, kernel, sistema operativo y aplicaciones.
Claude Elwood Shannon, en su Analysis of Relay and Switching Circuits, y con sus experiencias en redes de
conmutacin, sent las bases para la aplicacin del lgebra de Boole a las redes de conmutacin.
Una red de conmutacin es un circuito de interruptores elctricos que al cumplir ciertas combinaciones
booleanas con las variables de entrada, define el estado de la salida. Este concepto es el ncleo de las puertas
lgicas, las cuales son, por su parte, los ladrillos con que se construyen sistemas lgicos cada vez ms complejos.
Shannon utilizaba el rel como dispositivo fsico de conmutacin en sus redes. El rel, a igual que una lmpara
elctrica, posee dos estados: 1 0, esto es, est activado, encendida, o est desactivado, apagada.
El desarrollo tecnolgico ha permitido evolucionar desde las redes de rels electromagnticos de Shannon a
circuitos con tubos de vaco, luego a redes transistorizadas, hasta llegar a los modernos circuitos integrados cuya
cspide lo forman los circuitos microprogramados.
Linux (Linux, GNU Linux).- Es uno de los trminos empleados para referirse a la combinacin del ncleo o kernel
libre similar a Unix denominado Linux, que es usado con herramientas de sistema GNU. Su desarrollo es uno de
los ejemplos ms prominentes de software libre; todo su cdigo fuente puede ser utilizado, modificado y
redistribuido libremente por cualquiera bajo los trminos de la GPL (Licencia Pblica General de GNU) y otra
serie de licencias libres.
A pesar de que Linux (ncleo) es, en sentido estricto, el sistema operativo, parte fundamental de la interaccin
entre el ncleo y el usuario (o los programas de aplicacin) se maneja usualmente con las herramientas del
proyecto GNU o de otros proyectos como GNOME. Sin embargo, una parte significativa de la comunidad, as
- 555 -
Tras los pasos de un... Hacker
como muchos medios generales y especializados, prefieren utilizar el trmino Linux para referirse a la unin de
ambos proyectos.
A las variantes de esta unin de programas y tecnologas, a las que se les adicionan diversos programas de
aplicacin de propsitos especficos o generales se las denomina distribuciones. Su objetivo consiste en ofrecer
ediciones que cumplan con las necesidades de un determinado grupo de usuarios. Algunas de ellas son
especialmente conocidas por su uso en servidores y supercomputadoras donde tiene la cuota ms importante del
mercado. Segn un informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500 servidores del
mundo, otro informe le da una cuota de mercado de 89% en los 500 mayores supercomputadores. Con menor
cuota de mercado el sistema GNU/Linux tambin es usado en el segmento de las computadoras de escritorio,
porttiles, computadoras de bolsillo, telfonos mviles, dispositivos empotrados, videoconsolas y otros
dispositivos.
Lgica.- La lgica es una ciencia formal y una rama de la filosofa que estudia los principios de la demostracin e
inferencia vlida. La palabra deriva del griego antiguo (logike), que significa "dotado de razn,
intelectual, dialctico, argumentativo", que a su vez viene de (logos), "palabra, pensamiento, idea,
argumento, razn o principio".
lORdByte.- Personaje que encarna en la historia a un experto en programacin a bajo nivel, experto en lenguajes
mquina y manejadores de dispositivos.
M
MAC (Media Access Control -- Control de Acceso al Medio).- En redes de computadoras la direccin MAC es un
identificador de 48 bits (6 bloques hexadecimales) que corresponde de forma nica a una ethernet de red. Se
conoce tambin como la direccin fsica en cuanto a identificar dispositivos de red. Es individual, cada
dispositivo tiene su propia direccin MAC determinada y configurada por el IEEE (los ltimos 24 bits) y el
fabricante (los primeros 24 bits) utilizando el OUI. La mayora de los protocolos que trabajan en la capa 2 del
modelo OSI usan una de las tres numeraciones manejadas por el IEEE: MAC-48, EUI-48, y EUI-64 las cuales han
sido diseadas para ser identificadores globalmente nicos. No todos los protocolos de comunicacin usan
direcciones MAC, y no todos los protocolos requieren identificadores globalmente nicos.
Las direcciones MAC son nicas a nivel mundial, puesto que son escritas directamente, en forma binaria, en el
hardware en su momento de fabricacin. Debido a esto, las direcciones MAC son a veces llamadas "Direcciones
Quemadas Dentro" (BIA, por las siglas de Burned-in Address).
Si nos fijamos en la definicin como cada bloque hexadecimal son 8 dgitos binarios (bits), tendramos:
- 556 -
Breve glosario de trminos...
En la mayora de los casos no es necesario conocer la direccin MAC, ni para montar una red domstica, ni para
configurar la conexin a la internet. Pero si queremos configurar una red wifi y habilitar en el punto de acceso
un sistema de filtrado basado en MAC (a veces denominado filtrado por hardware), el cual solo permitir el
acceso a la red a adaptadores de red concretos, identificados con su MAC, entonces necesitamos conocer dicha
direccin. Dicho medio de seguridad se puede considerar como un refuerzo de otros sistemas de seguridad, ya
que tericamente se trata de una direccin nica y permanente, aunque en todos los sistemas operativos hay
mtodos que permiten a las tarjetas de red identificarse con direcciones MAC distintas de la real.
Ethernet
802.3 CSMA/CD
802.5 o redes en anillo a 4 Mbps o 16 Mbps Token Ring
802.11 redes inalmbricas (WIFI).
ATM
Macintosh (abreviado Mac).- Es el nombre con el que actualmente nos referimos a cualquier computadora
personal diseada, desarrollada, construida y comercializada por Apple Inc. El Macintosh 128Kfue lanzado el 24
de enero de 1.984. Fue la primera computadora personal que se comercializ exitosamente, que usaba una
interfaz grfica de usuario (GUI) y un mouse en vez del estndar de esa poca: la interfaz por lnea de comandos.
La lnea de produccin de Macs en la actualidad vara desde el bsico Mac mini de escritorio hasta los servidores
de rango medio como Xserve. Los sistemas Mac tienen como objetivo principal de mercado el hogar, la
educacin y la creatividad profesional. La produccin de Mac est basada en un modelo de integracin vertical
en los que Apple proporciona todos los aspectos de su hardware y crea su propio sistema operativo que viene
preinstalado en todas las Macs. Esto contrasta con las PC preinstalados con Microsoft Windows, donde un
vendedor proporciona el sistema operativo y mltiples vendedores crean el hardware. En ambos casos, el
hardware permite el funcionamiento de otros sistemas operativos: las Mac modernas, as como las PC son
capaces de soportar sistemas operativos como Linux, FreeBSD y Windows, ste ltimo gracias al software Apple
Boot Camp o a otros softwares de virtualizacin como por ejemplo Parallels Desktop o VMWare Fusion. En la
actualidad tambin es posible modificar el sistema operativo de Apple para hacerlo compatible con la mayora
de hardware existente; es el llamado movimiento OSx86.
Los primeros Macintosh estaban basados en los microprocesadores de la familia Motorola MC68000, de
tecnologa CISC. En marzo de 1.994, Apple introdujo en la gama Macintosh los chips PowerPC del Consorcio
Apple/IBM/Motorola, que suponan el cambio a la tecnologa RISC. En el 2.006 Apple inici la transicin desde la
lnea de PowerPC a los procesadores Intel con arquitectura x86. Los Macs actuales usan la serie de
microprocesadores Intel Core 2 Duo, Intel Core i5, Intel Xeon e Intel Core i7. Todos los modelos de Mac actuales
vienen con una versin nativa de la ltima versin de Mac OS X, que desde el 28 de agosto de 2.009 est en su
versin Mac OS X v10.6 Snow Leopard.
Mail bombing (bombardeo postal).- Envo indiscriminado y masivo de mensajes de correo electrnico. En la
actualidad existe en la Internet buena cantidad de aplicaciones que con solo pulsar un botn, permiten hacer
Mailbombing.
- 557 -
Tras los pasos de un... Hacker
Malware.- Los malware son todo tipo de software que implica una funcin maliciosa, como lo son los virus
informticos, los Caballos de Troya o las bombas lgicas por citar algunos.
Manejador.-Ver controlador.
Mark I (Harvard Mark I).- Fue la primera computadora electromecnica construida en la Universidad Harvard
por Howard H.Aiken en 1.944, con la subvencin de IBM. Tena 760.000 piones y 800 kilmetros de cable y se
basaba en la mquina analtica de Charles Babbage.
La computadora Mark I empleaba seales electromagnticas para mover las partes mecnicas. Esta mquina
era lenta (tomaba de 3 a 5 segundos por clculo) e inflexible (la secuencia de clculos no se poda cambiar);
pero ejecutaba operaciones matemticas bsicas y clculos complejos de ecuaciones sobre el movimiento
parablico de proyectiles.
Funcionaba con rels, se programaba con interruptores y lea los datos de cintas de papel perforado.
Mquina Analtica.- Primera computadora mecnica creada por el matemtico Charles Babbage en 1.834.
Mquina Diferencial.- Primera calculadora mecnica creada por el matemtico Charles Babbage en 1.830.
MASM (Microsoft Macro Assembler, Microsoft Assembly Language).- Es un ensamblador para la familia x86 de
microprocesadores. Fue producido originalmente por Microsoft para el trabajo de desarrollo en su sistema
operativo MS-DOS, y fue durante cierto tiempo el ensamblador ms popular disponible para ese sistema
operativo. El MASM soport una amplia variedad de facilidades para macros y programacin estructurada,
incluyendo construcciones de alto nivel para bucles, llamadas a procedimientos y alternacin (por lo tanto,
MASM es un ejemplo de un ensamblador de alto nivel). Versiones posteriores agregaron la capacidad de
producir programas para los sistemas operativos Windows. MASM es una de las pocas herramientas de
desarrollo de Microsoft para las cuales no haba versiones separadas de 16 bits y 32 bits.
MBR (Master Boot Record, Tabla de particiones).- Es el sector de arranque propio de un disco duro, dentro del
cual se define la estructura del resto de la informacin contenida en el mismo. En este sentido, cada disco duro
independientemente del nmero de particiones que posea, contiene un nico MBR, aunque cada unidad ctese
C: D: E: tiene su propio sector lgico de arranque (bootsector).
MD Lock.-Algoritmo de cifrado de flujo simtrico desarrollado por Nstor Marroqun Carrera en 1.999, ganador
del III Premio Alcatel a la Innovacin Tecnolgica en Amrica Latina en el ao 2.000. Predecesor del NMC
Stream.
- 558 -
Breve glosario de trminos...
Mtodo de clculo.- Procedimiento matemtico similar a un algoritmo para la solucin de algn problema en
particular.
Microcontrolador.- Es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de
una computadora: unidad central de procesamiento, memoria y unidades de E/S (entrada/salida).
Microprocesador.-Ver CPU.
Microprocesadores Intel x86.- Familia de procesadores fabricados por Intel desde 1.972, responden a una
arquitectura CISC.
Microsoft Corporation (NASDAQ: MSFT).- Es una empresa multinacional estadounidense, fundada en 1.975
por Bill Gates y Paul Allen. Dedicada al sector de la informtica, con sede en Redmond, Washington, Estados
Unidos. Microsoft desarrolla, fabrica, licencia y produce software y equipos electrnicos. Siendo sus productos
ms usados el sistema operativo Microsoft Windows y la suite Microsoft Office, los cuales tienen una importante
posicin entre las computadoras personales. Con una cuota de mercado cercana al 90% para Office en 2.003 y
para Windows en el 2.006. Siguiendo la estrategia de Bill Gates de "tener una estacin de trabajo que funcione
con nuestro software en cada escritorio y en cada hogar".
La compaa tambin suele ser nombrada como MS, por sus iniciales en el NASDAQ: (NASDAQ: MSFT) o
simplemente como Redmond, debido a la gran influencia que tiene sobre la localidad de su centro de
operaciones. Tiene 93.000 empleados en 102 pases diferentes y cont con unos ingresos de 51.120 millones de
dlares durante el ao 2007.
Fundada para desarrollar y vender intrpretes de BASIC para el Altair 8800, a mediados de los 80 consigui
dominar el mercado de las computadoras personales con el sistema operativo MS-DOS. La compaa inici una
Oferta Pblica de Venta en el mercado de valores en 1.986, la cual, debido a la subida de cotizacin de las
acciones, llev a 4 empleados a convertirse en multimillonarios y a 12.000 en millonarios.
Durante su historia, ha sido objeto de crticas, como acusaciones de realizar prcticas monopolsticas que la han
llevado ante la Comisin Europea y el Departamento de Justicia de los Estados Unidos.
Microsoft afianz su posicin en otros mercados como el de sistemas operativos y suites de oficina, con recursos
como la red de televisin por cable MSNBC, el portal de Internet MSN, y la enciclopedia multimedia Microsoft
Encarta, producto y servicio cancelado por la empresa a primeros de 2.009 debido a la competencia de la libre
Wikipedia. La compaa tambin comercializa hardware como el ratn de Microsoft y productos de
entretenimiento casero como Xbox, Xbox 360, Zune y WebTV. Microsoft ha dado soporte a sus usuarios a travs
de Usenet en grupos de noticias y en la Internet, tambin premia con la categora de Microsoft MVP (Most
Valuable Professional) a aquellos voluntarios que demuestran ser tiles en la asistencia a los clientes. Su web
oficial es una de las pginas ms visitadas de la red, recibiendo por da ms de 2'4 millones de visitas nicas
segn datos de Alexa, que situ el 11 de mayo de 2.008 a Microsoft.com como la 14 pgina web con ms visitas
del mundo.
- 559 -
Tras los pasos de un... Hacker
Mimetizado.- Es la accin de tomar el color, forma o textura del ambiente con el fin de ocultarse. El mimetismo
(del gr. , imitable) es una habilidad que ciertos seres vivos poseen para asemejarse a otros seres de su
entorno (con los que no guarda relacin) y a su propio entorno para obtener alguna ventaja funcional.
El objeto del mimetismo es engaar a los sentidos de los otros animales que conviven en el mismo hbitat,
induciendo en ellos una determinada conducta. Los casos ms conocidos afectan a la percepcin visual, pero
tambin hay ejemplos de mimetismo auditivo, olfativo o tctil.
Probablemente el ejemplo ms popular es el del camalen, cuyos colores de la piel cambian segn el entorno
donde se desplace. Aunque algunos cientficos consideran que no es un verdadero mimetismo sino una
coloracin crptica.
MIT (Massachusetts Institute of Technology, Instituto Tecnolgico de Massachusetts).- Es una de las principales
instituciones dedicadas a la docencia y a la investigacin en Estados Unidos, especialmente en ciencia, ingeniera
y economa. El Instituto est situado en Cambridge, Massachusetts y cuenta con numerosos premios Nobel entre
sus profesores y antiguos alumnos. El MIT es considerado como una de las mejores universidades de ciencia e
ingeniera del mundo.
MIX.- Computadora terica que ejecuta un lenguaje ensamblador de igual nombre, creado por Donald E. Knuth
para explicar la implementacin de los algoritmos descritos en su obra The Art of Computer Programming.
Modchip.- El Modchip es un microcontrolador que instalado en una consola Playstation, permite leer sin
problemas juegos piratas. Estos juegos se denominan piratas porque son copias alteradas de un juego original.
El Modchip identifica el disco pirata y entrega a su salida el cdigo de un disco original. Este cdigo se
denomina boot de arranque del disco.
MOSC.- Los Hackers denominan as, al arte de modificar una tarjeta de acceso inteligente. El MOSC permite a los
Hackers, recuperar el funcionamiento de una tarjeta de televisin pagada que ha sido dada de baja. El MOSC
tambin permite modificar los paquetes contratados en las plataformas digitales. Actualmente los Hackers son
capaces de hacer MOSC en tarjetas de sistemas Irdeto, Nagra y SecaMediaguard.
Mr. Stealth.- Personaje que encarna en la historia al protagonista de la misma, un experto en informtica,
electrnica y criptologa.
MSX.- Estndar de la arquitectura de computadoras para el hogar orientado a que varios fabricantes de
computadoras y perifricos puedan intercambiar programas y dispositivos, muy popular en la dcada de 1.980.
- 560 -
Breve glosario de trminos...
MSX BASIC.-Versin de BASIC muy popular en la dcada de 1.980, utilizado por todos los equipos que fueran
diseados bajo el estndar MSX.
MSX-DOS.- Sistema operativo muy popular en la dcada de 1.980, utilizado por todos los equipos que fueran
diseados bajo el estndar MSX, muy parecido en sus comandos al popular MS-DOS.
N
Nagravision.- Sistema de cifrado empleado por la plataforma digital Via Digital. Su creador, Kudelsky, es
tambin el creador del sistema Nagra empleado por C+ terrestre. Ambos sistemas estn Hackeados en la
actualidad. Los Hackers recientemente han obtenido el algoritmo de dichos sistemas que en ambos casos es
totalmente diferente. Nagra analgico emplea un mtodo TripleDES y Nagra Digital un mtodo RSA.
NASA (National Aeronautics and Space Administration, Administracin Nacional de Aeronutica y del Espacio).
NASA son las siglas, en ingls, para la Administracin Nacional de Aeronutica y del Espacio (National
Aeronautics and Space Administration) de los Estados Unidos de Norte Amrica, que es la agencia
gubernamental responsable de los programas espaciales.
Navegador.-Ver browser.
NCR.- La corporacin NCR es una TIC especializada en soluciones para la venta al por menor y la industria
financiera. Sus principales productos son: cajas registradoras (puntos de venta en supermercados), cajeros
automticos, sistemas procesadores de cheques (es decir, los leen e interpretan), escneres de cdigos de
barras, consumibles para empresas y bases de datos a gran escala. Es adems una de las primeras empresas en
cuanto a servicios de mantenimiento para productos tecnolgicos.
La compaa se fund en 1.884 y fue comprada AT&T en 1.991. Como resultado de una reestructuracin de
AT&T en 1.996, NCR volvi a ser una compaa independiente. En aquella reestructuracin tambin se separ
de AT&T Lucent Technologies. NCRfue la nica compaa que retom su nombre original.
El 26 de enero del ao 2.006 la compaa report unos beneficios de 6.028 millones de dlares.
NCSA (National Computer Security Association).- Acrnimo de uno de los organismos en los Estados Unidos de
Norte Amrica ms conocidos e importantes en el campo de la lucha contra los virus informticos.
La NCSA esta especializada en virus informticos, la evolucin de los mismos y el estudio para combatir a estos
grmenes de la era de la informtica.
Newbie.- Es un novato o ms particularmente es aquel que navega por la Internet, tropieza con una pgina de
Hacking y descubre que existe un rea de descarga de buenos programas de Hackeo. Despus se baja todo lo
que puede y empieza a trabajar con los programas.
- 561 -
Tras los pasos de un... Hacker
Al contrario que los Lamers, los Newbies aprenden el Hacking siguiendo todos los cautos pasos para lograrlo y
no se mofa de su logro, si no que aprende.
Nickname (alias, apodo).- Nombre usualmente corto y fcil de recordar que se utiliza en lugar de otro nombre
usualmente largo y difcil de recordar.
NMC Research Ca. Ltda.- Empresa ecuatoriana fundada en 1.996 por Nstor Marroqun Carrera (NMC),
destinada principalmente al anlisis, diseo, implementacin y mantenimiento de programas de computadoras
as como su comercializacin. Empresa especializada en temas de seguridad informtica y aplicaciones para uso
militar.
NMC Stream.- Algoritmo de cifrado de flujo simtrico desarrollado por Nstor Marroqun Carrera en 2.003,
llevando a la prctica la teora criptogrfica del criptosistema invulnerable o cifrador de Vernam. Algoritmo
implementado y optimizado para la plataforma Windows x86 por Galo Vinuesa Snchez, desarrollador y experto
informtico para la NMC Research Ca. Ltda.
Nokia.- Actualmente es el primer fabricante de telfonos mviles del mundo, adems de una de las principales
empresas del sector de las telecomunicaciones. Con sede en Keilaniemi de Espoo (Finlandia), Nokia es una de
las marcas ms conocidas dentro y fuera de la Unin Europea.
Nokia tambin produce infraestructura para redes de telefona mvil y otros equipamientos de
telecomunicaciones para aplicaciones como la telefona tradicional por voz, RDSI, acceso a la internet por banda
ancha, radio profesional mvil, voz sobre IP y una lnea de receptores de satlite. Nokia provee equipo de
comunicacin mvil para todo mercado y protocolos de comunicaciones mviles incluyendo: TDMA, GSM,
CDMA y W-CDMA.
NSFNet (National Science Foundation's Network).- La NSFNET comenz con una serie de redes dedicadas a la
comunicacin de la investigacin y de la educacin. Fue creada por el gobierno de los Estados Unidos (a travs
de la National Science Foundation), y fue reemplazo de ARPANET como backbone de la Internet. Desde entonces
ha sido reemplazada por las redes comerciales.
O
Octeto.-Ver byte.
Olfateadores.- Versniffers.
- 562 -
Breve glosario de trminos...
Ordenador.-Ver computadora.
Overflow (Desbordamiento).- Cuando el resultado de sumar dos o ms nmeros (hablando en sistema numeral
decimal) es igual o mayor que 10 (diez), se coloca la primera cifra bajo la columna que se est sumando y la
segunda cifra marca el desbordamiento y se aade a la siguiente columna a la izquierda. En otros pases
tambin es conocido como reserva. Ejemplo: en la suma 6+8 = 14, la cifra 1, marca el acarreo y debe sumarse a
la siguiente columna de acuerdo al valor relativo de la misma; en este caso es cero, por tanto, puede expresarse
como 0 + 1 = 1.
En informtica es motivo de fuertes precauciones para evitar su aparecimiento o tratarlo si aparece. Al realizar
una operacin aritmtica en binario, si el bit ms alto resulta conllevar un acarreo, no hay forma de representar
una cifra ms para ese acarreo.
Por ejemplo, si sumamos dos nmeros de 32 bits y solo podemos representar su resultado en 32 bits pero el
resultado conlleva un acarreo, necesitaramos 33 bits para poder representarlo, pero como esto no es posible,
ese valor se pierde dando lugar a un error de clculo.
P
Packet.-Ver paquete.
Paquete (packet).- Dcese de la unidad de datos que se enva a travs de una red. En la Internet la informacin
transmitida es dividida en paquetes que se reagrupan en su destino al ser recibidos.
PASCAL.- Lenguaje de programacin de computadoras creado en 1.970. Matemtico francs que dise la
primera sumadora mecnica a la que llam PASCALINA.
PASCALINA.- Primera sumadora mecnica creada en 1.642 por el matemtico francs Blaise Pascal.
Password (contrasea, palabra de paso).- Conjunto de caracteres alfanumricos que permite a un usuario el
acceso a un determinado recurso o la utilizacin de un servicio dado.
Patch (Parche).- Es una aplicacin bajo DOS o Windows que permite modificar el cdigo a una aplicacin
Shareware. El cdigo modificado permite ejecutar dicha aplicacin saltndose las protecciones del Software.
Pay-Per-View.-Ver PPV.
- 563 -
Tras los pasos de un... Hacker
Payload o Payload Activation Date.- Los Payloads se conocen como funciones de activacin de la carga
explosiva. Los Payloads provienen o se emplean mucho en el campo militar de all la palabra de activar la carga
explosiva. La funcin Payload aplicada a un virus informtico, implica que este se activar independientemente
de la fecha en la que se infect la PC. De esta forma se reconoce que una computadora puede infectarse un da
distinto al de la reproduccin del virus. Dicha activacin puede ir en funcin de la fecha o por un determinado
nmero de rdenes o acciones de la PC. Una vez alcanzado dichos parmetros de activacin, el virus hace efecto
en la PC.
PC (Personal Computer, Computadora Personal).- Computadora de uso general orientada a satisfacer las
necesidades computacionales de un usuario en su casa u oficina. Viene configurada por lo general con un
monitor, teclado, ratn de computadora, una impresora y la computadora propiamente dicha.
PGP (Pretty Good Privacy--Privacidad Bastante Buena, Privacidad de las Buenas).- Conocido programa de libre
distribucin, escrito por Phil Zimmermann, que impide, mediante tcnicas de criptografa, que archivos y
mensajes de correo electrnico puedan ser ledos por otros. Puede tambin utilizarse para firmar digitalmente
un documento o un mensaje, realizando as la autentificacin del autor.
Phreaker(s).- Este grupo de personajes del underground es bien conocido en la red por sus conocimientos en
telefona. Un Phreaker posee conocimientos profundos de los sistemas de telefona, tanto terrestres como
mviles. En la actualidad tambin poseen conocimientos de tarjetas prepago, ya que la telefona celular las
emplea habitualmente.
Sin embargo es, en estos ltimos tiempos, cuando un buen Phreaker debe tener amplios conocimientos sobre
informtica, ya que la telefona celular o el control de centralitas es la parte primordial a tener en cuenta y/o
emplean la informtica para su procesado de datos.
Piccard.- Las piccards son tarjetas electrnicas basadas en el chip de Microchip 16F84, con las cuales los Hackers
han conseguido emular diferentes sistemas de televisin pagada. En 1.994 los Hackers rompieron el sistema de
Videocrypt con este tipo de tarjetas. En la actualidad, estn siendo empleadas para CSD en toda Europa.
Pixel (Picture element).- Un pxel o pixel, plural pxeles (acrnimo del ingls picture element, "elemento de
imagen") es la menor unidad homognea en color que forma parte de una imagen digital, ya sea esta una
fotografa, un fotograma de vdeo o un grfico.
Ampliando lo suficiente una imagen digital (zoom), por ejemplo en la pantalla de una computadora, pueden
observarse los pxeles que componen la imagen. Los pxeles aparecen como pequeos cuadrados o rectngulos
en color, en blanco o en negro, o en matices de gris. Las imgenes se forman como una matriz rectangular de
pxeles, donde cada pxel forma un rea relativamente pequea respecto a la imagen total.
En las imgenes de mapa de bits o en los dispositivos grficos cada pxel se codifica mediante un conjunto de
bits de longitud determinada (la llamada profundidad de color); por ejemplo, puede codificarse un pxel con un
byte (8 bits), de manera que cada pxel admite 256 variaciones (28 variaciones con repeticin de 2 valores
posibles en un bit tomados de 8 en 8). En las imgenes de color verdadero, se suelen usar tres bytes para definir
- 564 -
Breve glosario de trminos...
un color; es decir, en total podemos representar un total de 224 colores, que suman 16.777.216 opciones de
color (32 bits son los mismos colores que 24 bits, pero tiene 8 bits ms para transparencia).
Para poder transformar la informacin numrica que almacena un pxel en un color, hemos de conocer, adems
de la profundidad y brillo del color (el tamao en bits del pxel), el modelo de color que estamos usando. Por
ejemplo, el modelo de color RGB (Red-Green-Blue) permite crear un color componiendo tres colores bsicos: el
rojo, el verde y el azul. De esta forma, en funcin de la cantidad de cada uno de ellos que usemos veremos un
resultado u otro. Por ejemplo, el color amarillo se obtiene mezclando el rojo y el verde. Las distintas
tonalidades del amarillo se obtienen variando la proporcin en que intervienen ambas componentes. En el
modelo RGB es frecuente que se usen 8 bits para representar la proporcin de cada una de las tres componentes
primarias. De esta forma, cuando una de las componentes vale 0, significa que esta no interviene en la mezcla y
cuando vale 255 (281) significa que interviene aportando el mximo de ese tono.
La mayor parte de los dispositivos que se usan con una computadora (monitor, escner, etc.) usan el modelo
RGB.
Un pxel alcanza los 8 bits (28 colores), 24 bits (224 colores) o 48 bits (240 colores), este ltimo valor de precisin
slo se obtiene con escneres o cmaras de gama alta (que usen formato raw o tiff, no en jpg).
Polimorfismo.- Se trata de la capacidad que poseen algunos tipos de virus informticos, que permite mediante
esta tcnica, modificar la forma del propio virus cada vez que se reproduce. Con esta tcnica se logra crear
miles de versiones diferentes del mismo virus en tan solo unas horas. Esto implica, que el antivirus apenas
puede detectarlo con seguridad. Para ello un virus polimrfico, cuenta con una pequea cabecera que se
modifica en cada infeccin. El resto del cdigo no se altera, sino que simplemente se cifra para ocultar su
verdadero cdigo. El cdigo cifrado vara de una infeccin a otra, mientras que la cabecera siempre acta como
codificador/decodificador del propio virus.
POP (Post Office Protocol -- Protocolo de la oficina de correo).- En informtica se utiliza el Post Office Protocol
(POP3, Protocolo de la oficina de correo) en clientes locales de correo para obtener los mensajes de correo
electrnico almacenados en un servidor remoto. Es un protocolo de nivel de aplicacin en el Modelo OSI.
PPV (Pay-Per-View, pago por pase, pago por visin).- Servicio de televisin que permite al usuario ver un
determinado programa (por ejemplo, un partido de ftbol, un concierto o una pelcula) emitido en formato
codificado, mediante el pago de una tarifa.
- 565 -
Tras los pasos de un... Hacker
PROM (Programmable Read Only Memory Memoria de solo lectura Programable).- PROM es el acrnimo de
Programmable Read-Only Memory (ROM programable). Es un chip de memoria donde el valor de cada bit
depende del estado de un fusible (o antifusible), que puede ser quemado una sola vez. Por esto la memoria
puede ser programada (pueden ser escritos los datos) una sola vez a travs de un dispositivo especial, un
grabador de PROM. Estas memorias son utilizadas para grabar datos permanentes en cantidades menores a las
ROMs, o cuando los datos deben cambiar en muchos o todos los casos.
Pequeas PROM han venido utilizndose como generadores de funciones, normalmente en conjuncin con un
multiplexor. A veces se preferan a las ROM porque son bipolares, habitulamente Schottky, consiguiendo
mayores velocidades.
Pseudocdigo (falso lenguaje).- Es una descripcin de alto nivel de un algoritmo que emplea una mezcla de
lenguaje natural con algunas convenciones sintcticas propias de los lenguajes de programacin, como
asignaciones, ciclos y condicionales. Es utilizado para describir algoritmos en libros y publicaciones cientficas, y
como producto intermedio durante el desarrollo de un algoritmo.
El pseudocdigo est pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto
puede omitir detalles irrelevantes que son necesarios en una implementacin. Programadores diferentes
suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programacin
concretos. Sin embargo, el pseudocdigo en general es comprensible sin necesidad de conocer o utilizar un
entorno de programacin especfico, y es a la vez suficientemente estructurado para que su implementacin se
pueda hacer directamente a partir de l.
PUCE (Pontificia Universidad Catlica del Ecuador).- Es la universidad privada ms antigua y ms prestigiosa
de la Repblica del Ecuador, fundada en 1.946 por los jesuitas y por el Sr. Arzobispo de Quito, Card. Carlos Mara
de la Torre, durante la segunda presidencia del Dr. Jos Mara Velasco Ibarra. Cofundador y primer Rector fue el
insigne humanista, traductor de Virgilio y catedrtico P. Aurelio Espinosa Plit, S.J. La primera facultad en
funcionar fue la de Jurisprudencia; su primer decano fue el diplomtico y Canciller de la Repblica, Julio Tobar
Donoso.
La Universidad Catlica es conocida por el prestigio de varias de sus principales facultades y por ser una de las
universidades de la lite quitea y ecuatoriana. En el 2.010 es acreditada como la mejor universidad de Quito y
como la mejor universidad privada del Ecuador.
Su sede principal est en la capital del pas, Quito. Tiene sedes en Ibarra, Esmeraldas, Ambato, Manab y Santo
Domingo. Es una obra educativa reconocida como "Pontificia" por la Santa Sede. Su Gran Canciller es el
Arzobispo de Quito y su direccin est confiada desde su fundacin a la Compaa de Jess.
Pulsacin (Keystroke).- Oprimir una tecla en una computadora o hacer clic en un ratn de computadora.
Puntero (Apuntador).- Es una variable que referencia una regin de memoria; en otras palabras es una variable
cuyo valor es una direccin de memoria. Si se tiene una variable p de tipo puntero que contiene una direccin de
memoria en la que se encuentra almacenado un valor v se dice que papunta a v. Los punteros son utilizados en
informtica por los programadores.
- 566 -
Breve glosario de trminos...
Trabajar con punteros implica la no manipulacin de las variables en s, sino manejar direcciones de memoria en
la cuales residen los datos.
(El puntero del ratn) es el rastro electrnico que aparece en el monitor de la computadora y que obedece a los
movimientos del mouse. Sirve para sealar o apuntar reas de la pantalla. Dependiendo del software este puede
presentar distintas apariencias, velocidades y rastros.
Q
Quick BASIC.-Versin de BASIC muy popular en las dcadas de 1.980 y 1.990.
R
RadioShack Corporation (ex-Tandy Corporation).- Es una empresa estadounidense. Administra una cadena
de tiendas de artculos electrnicos en Estados Unidos y en varias partes de Europa, Amrica Central y Amrica
del Sur. A partir de 2.003, pas a contar con ms de 6.000 tiendas en los Estados Unidos y comunic tener un
rendimiento lquido de USD$4,25 miles de millones (2.007). La sede de la RadioShack est localizada en Fort
Worth, Texas.
RAM (Random Access Memory Memoria de Acceso Aleatorio).- Es la memoria desde donde el procesador recibe
las instrucciones y guarda los resultados. Es el rea de trabajo para la mayor parte del software de una
computadora. Existe una memoria intermedia entre el procesador y la RAM, llamada cach, pero sta slo es
una copia (de acceso rpido) de la memoria principal (tpicamente discos duros) almacenada en los mdulos de
la RAM.
Se trata de una memoria de estado slido tipo DRAM en la que se puede tanto leer como escribir informacin.
Se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayora del software. Es all
donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de la computadora. Se dicen
de acceso aleatorio porque se puede leer o escribir en una posicin de memoria con un tiempo de espera igual
para cualquier posicin, no siendo necesario seguir un orden para acceder a la informacin de la manera ms
rpida posible.
La frase memoria RAM se utiliza frecuentemente para referirse a los mdulos de memoria que se usan en las
computadoras personales y servidores. En el sentido estricto, los mdulos de memoria contienen un tipo, entre
varios de memoria de acceso aleatorio, ya que las ROM, memorias Flash, cach (SRAM), los registros en
procesadores y otras unidades de procesamiento tambin poseen la cualidad de presentar retardos de acceso
iguales para cualquier posicin. Los mdulos de RAM son la presentacin comercial de este tipo de memoria,
que se compone de circuitos integrados soldados sobre un circuito impreso, en otros dispositivos como las
consolas de videojuegos, esa misma memoria va soldada sobre la tarjeta principal.
Ratn (Mouse).- Perifrico de una computadora muy utilizado para diseo grfico y para ingresar comandos en
un entornogrfico (GUI) de algn sistema operativo.
- 567 -
Tras los pasos de un... Hacker
Rebote (bounce).- Devolucin de un mensaje de correo electrnico debido a error en la entrega al destinatario.
Retraso.-Ver delay.
Retrovirus.- Se trata de un tipo de virus que ataca o impide la infeccin de los virus antivirus.
Rijndael.-Ver AES.
RISC (Reduced Instruction Set Computer, Computadora que funciona con un Conjunto de Instrucciones
Reducidas).-Tipo de arquitectura de microprocesadores en contraposicin a la CISC.
ROM (Read Only Memory -- Memoria de slo lectura).- Es una clase de medio de almacenamiento utilizado en
computadoras y otros dispositivos electrnicos. Los datos almacenados en la ROM no se pueden modificar -al
menos no de manera rpida o fcil- y se utiliza principalmente para contener el firmware (software que est
estrechamente ligado a hardware especfico, y es poco probable que requiera actualizaciones frecuentes) u otro
contenido vital para el funcionamiento del dispositivo.
En su sentido ms estricto, se refiere slo a mscara ROM -en ingls MROM- (el ms antiguo tipo de estado
slido ROM), que se fabrica con los datos almacenados de forma permanente, y por lo tanto, su contenido no
puede ser modificado. Sin embargo, las ROM ms modernas, como EPROM y Flash EEPROM se pueden borrar y
volver a programar varias veces, an siendo descritos como "memoria de slo lectura (ROM), porque el proceso
de reprogramacin en general es poco frecuente, relativamente lento y, a menudo, no se permite la escritura en
lugares aleatorios de la memoria. A pesar de la simplicidad de la ROM, los dispositivos reprogramables son ms
flexibles y econmicos, por dicha razn, las mscaras ROM no se suelen encontrar en hardware producido a
partir de 2.007.
RSA (Rivest, Shamir, Adleman).- Algoritmo de criptografa asimtrica de amplia utilizacin, patentada por los
autores que le dan nombre.
S
S.I.-Ver sistema internacional de unidades.
Script.- Los Scripts son archivos que contienen comandos que permiten agrupar rdenes que se dan a travs del
teclado. Los Scripts son ampliamente utilizados en la Internet y en la programacin automatizada de tareas.
Seca Mediaguard.-Sistema de acceso condicional empleado por la plataforma de C+ y CSD en Espaa y resto de
Europa. En la actualidad los Hackers ya conocen la forma de decodificar las seales cifradas bajo este formato.
- 568 -
Breve glosario de trminos...
Serialz.- Los Serialz estn disponibles en pginas del underground en la Internet. Estas pginas contienen miles
de Serialz que no son otra cosa que nmeros de registros de aplicaciones informticas.
Servidor de Correo Electrnico (Mail Server).- Servidor o computadora que es parte de una red que est
configurada para la recepcin y envo de correos electrnicos.
Set-top box (caja de conexin, mdulo de conexin).- Dispositivo multifuncin que permite la recepcin y
distribucin en el mbito domstico de seales procedentes de diversos tipos de redes de comunicacin (radio,
televisin, telfono, cable, satlite, Internet, etc.).
Shareware (programas compartidos).- Dcese de los programas informticos que se distribuyen a prueba, con el
compromiso de pagar al autor su precio una vez probado el programa y/o pasado cierto tiempo de uso.
Sistema Internacional de Unidades (S.I.).- El Sistema Internacional de Unidades (abreviado SI del francs: Le
Systme International d'Units), tambin denominado Sistema Internacional de Medidas, es el nombre que recibe
el sistema de unidades que se usa en la mayora de los pases y es la forma actual del sistema mtrico decimal.
El SI tambin es conocido como sistema mtrico, especialmente en las naciones en las que an no se ha
implantado para su uso cotidiano. Fue creado en 1.960 por la Conferencia General de Pesos y Medidas, que
inicialmente defini seis unidades fsicas bsicas. En 1.971 se aadi la sptima unidad bsica, el mol.
Una de las principales caractersticas, que constituye la gran ventaja del Sistema Internacional, es que sus
unidades estn basadas en fenmenos fsicos fundamentales. La nica excepcin es la unidad de la magnitud
masa, el kilogramo, que est definida como la masa del prototipo internacional del kilogramo o aquel cilindro
de platino e iridio almacenado en una caja fuerte de la Oficina Internacional de Pesos y Medidas.
Las unidades del SI son la referencia internacional de las indicaciones de los instrumentos de medida y a las que
estn referidas a travs de una cadena ininterrumpida de calibraciones o comparaciones. Esto permite alcanzar
la equivalencia de las medidas realizadas por instrumentos similares, utilizados y calibrados en lugares
apartados y por ende asegurar, sin la necesidad de ensayos y mediciones duplicadas, el cumplimiento de las
caractersticas de los objetos que circulan en el comercio internacional y su intercambiabilidad.
Entre el 2.006 y el 2.009 el SI se ha unificando con la norma ISO 31 para formar el Sistema Internacional de
Magnitudes (ISO/IEC 80000, con la sigla ISQ).
Skid Kiddies (Scripts kiddies).- Personajes del underground que normalmente se pasan todo el da navegando
por la red con la sola intencin de bajarse de ella todo tipo de aplicaciones. Despus, sin detenerse a leer los
manuales o archivos Leme, ejecutan todas las aplicaciones, mientras estn conectados a la Internet. Esta
accin, a menudo conlleva a colapsar la red, ya que es posible que ejecute un programa muy daino.
SMTP (Simple Mail Transfer Protocol-- Protocolo Simple de Transferencia de Correo).- Es un protocolo de la
capa de aplicacin. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo
electrnico entre computadoras u otros dispositivos (PDA's, telfonos mviles, etc.). Est definido en el RFC
2821 y es un estndar oficial de la Internet.
- 569 -
Tras los pasos de un... Hacker
Sniffers (Olfateadores).- Se llama as a ciertas aplicaciones que son capaces de vigilar una conexin o sistema
electrnico. Tambin pueden recibir el nombre de caza-puertos o escaneador de puertos.
Software.-Trmino utilizado en las Ciencias de la Computacin para referirse a todos los programas que pueden
ser ejecutados en un dispositivo electrnico para el procesamiento automtico de la informacin. Son todos los
aplicativos, sistemas operativos, lenguajes de programacin y programas de control de dispositivos que
conforma una computadora.
Spam (bombardeo publicitario, buzonfia).- Envo masivo, indiscriminado y no solicitado de publicidad a travs
de correo electrnico.
Stealth.- Es la tcnica que permite a algunos tipos de virus permanecer ocultos en un sistema operativo y en
consecuencia a cualquier aplicacin antivirus.
Streaming (Transmisin en flujo).- El streaming consiste en la distribucin de audio o video por la Internet. La
palabra streaming se refiere a que se trata de una corriente continua (sin interrupcin). El usuario puede
escuchar o ver en el momento que quiera. No es necesario estar suscrito para escuchar o ver. Este tipo de
tecnologa permite que se almacenen en un bfer lo que se va escuchando o viendo. El streaming hace posible
escuchar msica o ver videos sin necesidad de ser descargados previamente. Sintetizando, desde la aparicin
del Real Audio 1.0 de la compaa Real Networks se puede tener una radio en lnea.
Sysop (Operador del sistema).- Persona responsable del funcionamiento de un sistema o de una red.
Sun Microsystems (NASDAQ: JAVA).- Es una empresa informtica recientemente comprada por Oracle
Corporation antes era parte de Silicon Valley, fabricante de semiconductores y software.
Fue constituida en 1.982 por el alemn Andreas von Bechtolsheim y los norteamericanos Vinod Khosla, Bill Joy,
Scott McNealy y Marcel Newman. Las siglas SUN se derivan de Stanford University Network, proyecto que se
haba creado para interconectar en red las bibliotecas de la Universidad de Stanford. En ese ao introducen al
mercado su primera estacin de trabajo que desde su inicio trabaj con el protocolo TCP/IP, protocolo sobre el
cual se rige la mayor parte del trfico de la Internet.
Algunos de sus productos han sido servidores y estaciones de trabajo para procesadores SPARC, los sistemas
operativos SunOS y Solaris, el NFS, la plataforma de programacin Java y conjuntamente con AT&T, la
estandarizacin del UNIX System V Release 4. Adems de otros proyectos quizs menos rentables, como un
nuevo entornogrfico, NeWS o la interfaz grfica de usuario OpenLook.
T
Tabla de particiones.-Ver MBR.
- 570 -
Breve glosario de trminos...
Tandy RadioShack TRS-80 Pocket Computer II.- Computadora de bolsillo fabricada por la Tandy Corporation
(Ver RadioShack Corporation) en 1.982. Tandy comercializ una lnea de computadoras de bolsillo que fueron
fabricadas, dependiendo del modelo, por Sharp Corporation o por Casio. Tenan procesadores de 4 de 8 bits, el
lenguaje de programacin BASIC en ROM y cierta capacidad de expansin. Varias podan expandirse con una
impresora y un grabador de casetes.
TCP/IP (Transfer Control Protocol/Internet Protocol).- Protocolo de comunicaciones muy usado actualmente
en la Internet. La familia de protocolos de Internet es un conjunto de protocolos de red en los que se basa la
Internet y que permiten la transmisin de datos entre redes de computadoras. En ocasiones se le denomina
conjunto de protocolos TCP/IP, en referencia a los dos protocolos ms importantes que la componen: Protocolo
de Control de Transmisin (TCP) y Protocolo de Internet (IP), que fueron los dos primeros en definirse, y que son
los ms utilizados de la familia. Existen tantos protocolos en este conjunto que llegan a ser ms de 100
diferentes, entre ellos se encuentra el popular HTTP (HyperText Transfer Protocol), que es el que se utiliza para
acceder a las pginas web, adems de otros como el ARP (Address Resolution Protocol) para la resolucin de
direcciones, el FTP (File Transfer Protocol) para transferencia de archivos, y el SMTP (Simple Mail Transfer
Protocol) y el POP (Post Office Protocol) para correo electrnico, TELNET para acceder a equipos remotos, entre
otros.
El TCP/IP es la base de la Internet, y sirve para enlazar computadoras que utilizan diferentes sistemas operativos,
incluyendo PC, minicomputadoras y servidores sobre redes de rea local (LAN) y rea extensa (WAN).
TCP/IP fue desarrollado y demostrado por primera vez en 1.972 por el Departamento de Defensa de los Estados
Unidos de Norte Amrica, ejecutndolo en ARPANET, una red de rea extensa de dicho departamento.
La familia de protocolos de la Internet puede describirse por analoga con el modelo OSI (Open System
Interconnection), que describe los niveles o capas de la pila de protocolos, aunque en la prctica no corresponde
exactamente con el modelo en la Internet. En una pila de protocolos, cada nivel soluciona una serie de
problemas relacionados con la transmisin de datos, y proporciona un servicio bien definido a los niveles ms
altos. Los niveles superiores son los ms cercanos al usuario y tratan con datos ms abstractos, dejando a los
niveles ms bajos la labor de traducir los datos de forma que sean fsicamente manipulables.
El modelo OSI, en cambio, fue propuesto como una aproximacin terica y tambin como una primera fase en la
evolucin de las redes de computadoras. Por lo tanto, el modelo OSI es ms fcil de entender, pero el modelo
TCP/IP es el que realmente se usa. Sirve de ayuda entender el modelo OSI antes de conocer TCP/IP, ya que se
aplican los mismos principios, pero son ms fciles de entender en el modelo OSI.
Telfono celular (Cellular phone, mvil, telefnico, telfono mvil, celular).- Telfono porttil sin cables
conectado a una red celular que permite al usuario su empleo en cualquier lugar cubierto por la seal celular.
Una red celular y los telfonos a ellas conectadas, puede ser digital o analgica. Si la red es digital el telfono
puede enviar y recibir informacin a travs de la Internet.
Tempest.- Los Hackers son capaces de obtener informacin de una PC, an si esta no est conectada a la red. La
tcnica denominada Tempest permite, mediante dispositivos especiales, capturar la seal de RF irradiada por
un monitor, para as, reproducir en otro, la informacin que est desplegando su vctima. Los mtodos Tempest
son muy sofisticados y caros, por lo que su uso esta limitado a espionajes industriales y militares.
- 571 -
Tras los pasos de un... Hacker
Teora de la Informacin.- Es una rama de la teora matemtica de la probabilidad y la estadstica que estudia
la informacin y todo lo relacionado con ella: canales, compresin de datos, criptografa y temas relacionados.
Fue iniciada por Claude E. Shannon a travs de un artculo publicado en el BellSystem Technical Journal en
1.948, titulado Una teora matemtica de la comunicacin.
Texas Instruments (TI).- Ms conocida en la industria electrnica como TI, es una empresa norteamericana
con sede en Dallas (Texas, EE. UU.), que desarrolla y comercializa semiconductores y tecnologa para
computadoras. TI es el tercer mayor fabricante de semiconductores del mundo tras Intel y Samsung, es el
mayor proveedor de circuitos integrados para telfonos mviles. Igualmente, es el mayor productor de
procesadores digitales de seal y semiconductores analgicos. Otras reas de actividad incluyen circuitos
integrados para mdem de banda ancha, perifricos para computadoras, dispositivos digitales de consumo y
RFID.
Toshiba Corporation (Tshiba, ).- Es una compaa japonesa dedicada a la manufactura de aparatos
elctricos y electrnicos cuya sede est en Tokio. Ocupa el 7 puesto en la lista de grandes compaas
mundiales de su campo. En la actualidad Toshiba ocupa el 5 puesto a nivel mundial en ventas de Laptops, con
el 5.2% de las ventas mundiales. Durante el ao comercial 2.000-01 la empresa factur por 5.951.357 millones
de yenes y obtuvo un beneficio neto de 96.168.000.000. Trabajan para Toshiba 188.042 empleados (2.001).
Toshiba Satellite 2400 CDS.- Computadora porttil fabricada por Toshiba en 2.002.
Trigger.- Como su nombre indica, es un disparador, el cual permite a un programador de virus informticos,
controlar la fecha de activacin del mismo.
Triple DES.- En criptografa el Triple DES se llama al algoritmo que hace triple cifrado del DES. Tambin es
conocido como TDES o 3DES, fue desarrollado por IBM en 1.978.
True BASIC Inc.- Empresa de los Estados Unidos de Norte Amrica fundada por John G. Kemeny y Thomas E.
Kurtz los creadores del BASIC para la difusin y comercializacin de una actualizacin de su trabajo. Versin de
BASIC a la que denominaron True BASIC.
True BASIC.-Versin de BASIC creada por los autores originales del lenguaje en 1.982, muy usada en el campo
de la enseanza de la programacin.
- 572 -
Breve glosario de trminos...
TSR (Terminate and Stay Resident Terminar y Permanecer Residente).- Un TSR es un programa capaz de
ejecutarse e instalar en memoria una funcin residente del mismo, la cual permanecer activa durante todo el
tiempo que la PC est activa. Despus de esto, el programa finaliza su funcin. Los TSR no tienen porque ser
especialmente dainos, ya que por citar un ejemplo, cada vez que enciende su computadora, esta carga varios
tipos de TSR, como por ejemplo el driver del ratn.
Tsutomu Shimomura.- HackerJapons-Americano experto en seguridad informtica e hijo del profesor Osamu
Shimomura, uno de los tres ganadores del Premio Nobel de Qumica 2.008.
Tunneling.- El Tunneling es la tcnica con la cual es posible que un virus informtico pueda pasar desapercibido
frente a los mdulos de deteccin, mediante punteros directos a los vectores de interrupcin. Esta tcnica es
tambin empleada por los propios antivirus actuales.
U
UAL.- Ver ALU.
UC.-Ver CU.
Underground.-Se conoce como underground todo lo que esconde mtodos de Hacking, Cracking o Phreaking en
general. En realidad el trmino underground es empleado por los escritores para referirse a este nuevo mundo
que puebla las nuevas tecnologas y sobre todo la comunidad de la Internet.
Unicode especifica un nombre e identificador numrico nico para cada carcter o smbolo, el code pointo punto
de cdigo, adems de otras informaciones necesarias para su uso correcto: direccionalidad, capitalizacin y
otros atributos. Unicode trata los caracteres alfabticos, ideogrficos y smbolos de forma equivalente, lo que
significa que se pueden mezclar en un mismo texto sin la introduccin de marcas o caracteres de control.
Este estndar es mantenido por el Unicode Technical Committee (UTC), integrado en el Unicode Consortium, del
que forman parte con distinto grado de implicacin empresas como: Microsoft, Apple, Adobe, IBM, Oracle, SAP,
Google, instituciones como la Universidad de Berkeley, y profesionales y acadmicos a ttulo individual. El
Unicode Consortium mantiene estrecha relacin con ISO/IEC, con la que mantiene un acuerdo desde 1.991 con el
objetivo de mantener la sincronizacin entre sus estndares que contienen los mismos caracteres y puntos de
cdigo.
El establecimiento de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de codificacin de
caracteres existentes, muchos de los cuales estn muy limitados en tamao y son incompatibles con entornos
plurilinges. Unicode se ha vuelto el ms extenso y completo esquema de codificacin de caracteres, siendo el
dominante en la internacionalizacin y adaptacin local del software informtico. El estndar ha sido
- 573 -
Tras los pasos de un... Hacker
implementado en un nmero considerable de tecnologas recientes, que incluyen XML, Java y sistemas
operativos modernos.
La descripcin completa del estndar y las tablas de caracteres estn disponibles en la pgina web oficial de
Unicode. La referencia completa se publica, adems, en forma de libro impreso cada vez que se libera una nueva
versin principal. La versin digital de este libro est disponible de forma gratuita. Las revisiones y adiciones
se publican de forma independiente.
UNIVACI (UNIVersal Automatic Computer I, Computadora Automtica Universal I). Fue la primera computadora
comercial fabricada en Estados Unidos. Fue diseada principalmente por J. Presper Eckert y John William
Mauchly, tambin autores de la segunda computadora electrnica estadounidense, la ENIAC. Durante los aos
previos a la aparicin de sus sucesoras, la mquina fue simplemente conocida como UNIVAC. Se don a la
universidad de Harvard y Pensilvania. Fue la primera computadora fabricada para un propsito no militar,
desde el ao 1.941.
UNIX, Unix (UNIX, Unix).- Sistema operativo interactivo y de tiempo compartido creado en 1.969 por Ken
Thompson. Reescrito a mitad de la dcada de los '70 por AT&T alcanz enorme popularidad en los ambientes
acadmicos y ms tarde en los empresariales, como un sistema porttil robusto, flexible y portable muy
utilizado en los servidores de la Internet.
Usenet (Users Network -- Red de usuarios).- Es una red consistente en un sistema global de discusin en la
Internet, que evoluciona de las redes UUCP. Fue creado por Tom Truscott y Jim Ellis, estudiantes de la
Universidad de Duke, en 1.979. Los usuarios pueden leer o enviar mensajes (denominados artculos) a distintos
grupos de noticias ordenados de forma jerrquica. El medio se sostiene gracias a un gran nmero de servidores
distribuidos y actualizados mundialmente, que guardan y transmiten los mensajes.
User.-Ver username.
Username (Nombre de usuario, User).- Palabra o nombre identificativo en una red asignado a una persona o
computadora en algn sistema que permite que en conjunto con una password, este pueda trabajar con el
servidor o con los aplicativos autorizados a su perfil. En otras palabras permite autenticarse a un usuario en
una red o sistema.
V
Very Large Scale Integration.-Ver VLSI.
- 574 -
Breve glosario de trminos...
Videocrypt.- Sistema de cifrado de vdeo diseado por Thompson para los canales de pago Sky en la era
analgica.
Videoguard.- Sistema de cifrado de seales digitales de televisin, empleado actualmente por el grupo Sky.
VIH (Virus de Inmunodeficiencia Humana que causa el SIDA).- El Virus de la Inmunodeficiencia Humana (VIH)
fue descubierto y se consider como el agente de la naciente epidemia de SIDA por el equipo de Luc Montagnier
en Francia en 1.983. El virin es esfrico, dotado de una envoltura y con una cpside proteica. Su genoma en
una cadena de ARN monocatenario que debe copiarse provisionalmente a ADN para poder multiplicarse e
integrarse en el genoma de la clula que infecta. Los antgenos proteicos de la envoltura exterior se acoplan de
forma especfica con protenas de la membrana de las clulas infectables, especialmente de los linfocitos T4.
El proceso de conversin de ARN en ADN es una caracterstica principal de los retrovirus y se lleva a cabo
mediante acciones enzimticas de transcriptasa inversa. Con la demostracin de la existencia de la
transcriptasa inversa, se inici en la dcada de 1.970 la bsqueda de los retrovirus humanos, que permiti el
aislamiento en 1.980 del virus de la leucemia de clulas T del adulto, HTLV-I (R. Gallo y cols.)
Virus informtico (virus de computadora, virus).- Programa que se duplica a si mismo en un sistema
informtico incorporndose a otros programas que son utilizados por varios sistemas. Estos programas pueden
causar problemas de diversa gravedad en los sistemas que los almacenan.
VLSI (Very Large Scale Integration, integracin en escala muy grande).- La integracin en escala muy grande de
sistemas de circuitos basados en transistores en circuitos integrados comenz en los aos 1.980, como parte de
las tecnologas de semiconductores y comunicacin que se estaban desarrollando.
Los primeros chips semiconductores contenan slo un transistor cada uno. A medida que la tecnologa de
fabricacin fue avanzando, se agregaron ms y ms transistores, y en consecuencia ms y ms funciones fueron
integradas en un mismo chip. El microprocesador es un dispositivo VLSI.
La primera generacin de computadoras dependa de vlvulas de vaco. Luego vinieron los semiconductores
discretos, seguidos de circuitos integrados. Los primeros CIs contenan un pequeo nmero de dispositivos,
como diodos, transistores, resistencias y capacitores (aunque no inductores), haciendo posible la fabricacin de
compuertas lgicas en un solo chip. La cuarta generacin (LSI) consista de sistemas con al menos mil
compuertas lgicas. El sucesor natural de la LSI fue la VLSI (varias decenas de miles de compuertas en un solo
chip). Hoy en da, los microprocesadores tienen varios millones de compuertas en el mismo chip.
Hacia principios de 2.006 se comercializaban microprocesadores con tecnologa de hasta 65 nm, en 2.010 se
comercializan chips con tecnologa de 32 nm.
- 575 -
Tras los pasos de un... Hacker
W
WarCard.- Se trata de una guerra abierta en la que intervienen nicamente tarjetas electrnicas que emulan a
otras tarjetas inteligentes. En la actualidad el War Card se basa en los ataques continuos mediante ECM, que
envan las plataformas digitales como CSD o Va, hacia las tarjetas no oficiales. Estos ataques modifican o
invalidad dichas tarjetas tambin denominadas piratas. Despus los Hackers las reactivan de nuevo. Esto es en
definitiva la WarCard.
Warez.- Los Warez son programas completos que se ofrecen a travs de CD. Existen multitud de pginas que
contienen Warez. Los Warez no respetan los derechos de autor.
Whirlwind I.- La computadora Whirlwind fue desarrollada en el MIT. Es la primera en trabajar a tiempo real,
utilizar video displays para salida, en definitiva, la primera en no ser un simple sustituto electrnico de la antigua
maquinaria mecnica. Diseada directamente para el SAGE (USA Air forces Semi Automatic Ground
Environment) e indirectamente para casi todo tipo de negocios y empresas.
Wildlist.- Bajo este nombre se esconde una lista de todos los virus conocidos. Dicha lista permite comprobar el
tipo de amenazas que sufren los usuarios de computadoras.
Windows (Microsoft Windows).- Es una serie de sistemas operativos desarrollados por Microsoft desde 1.981,
ao en que el proyecto se denominaba "Interface Manager".
Anunciado en 1.983, Microsoft comercializ por primera vez el entorno operativo denominado Windows en
noviembre de 1.985 como complemento para MS-DOS, en respuesta al creciente inters del mercado en una
interfaz grfica de usuario (GUI). Microsoft Windows lleg a dominar el mercado de las computadoras
personales del mundo, superando al del Mac OS, el cual haba sido introducido previamente a Windows. En
octubre de 2.009, Windows tena aproximadamente el 91% de la cuota de mercado de sistemas operativos en
equipos cliente que acceden a la Internet. Las versiones ms recientes de Windows son Windows 7 para
computadoras de escritorio, Windows Server 2008 R2 para servidores y Windows Mobile 6.5 para dispositivos
mviles.
WWW.-Servidor que aloja las conocidos sitios web y las pginas web.
La Web fue creada alrededor de 1.989 por el ingls Tim Berners-Lee y el belga Robert Cailliau mientras
trabajaban en el CERN en Ginebra, Suiza, y publicada en 1.992. Desde entonces, Berners-Lee ha jugado un papel
activo guiando el desarrollo de estndares Web (como los lenguajes de marcado con los que se crean las pginas
web), y en los ltimos aos ha abogado por su visin de una Web Semntica.
- 576 -
Breve glosario de trminos...
Y
Yottabyte.- Medida de la informacin que equivale a 280 bytes.
Z
Zettabyte.- Medida de la informacin que equivale a 270 bytes.
ZiLOG Inc. (NASDAQ: ZILG).- A menudo escrito Zilog, es un fabricante de microprocesadores, siendo su
producto ms conocido el Zilog Z80 de 8 bits. Zilog fue fundada en California en 1.974 por Federico Faggin, el
cual haba trabajado en Intel Corporation como diseador jefe del microprocesador Intel 4004 y posteriormente
del Intel 8080.
En 1.976 la compaa crea el Zilog Z80. El Z-80 Z80 es un microprocesador construido en tecnologa NMOS, y
est basado en el Intel 8080. Bsicamente es una ampliacin de ste, con lo que admite todas sus instrucciones.
Con este nuevo producto Faggin realiz una gira por el mundo buscando potenciales clientes.
Un ao despus sale al mercado la primera computadora que hace uso del Z80, la Tandy TRS-80 Model 1 con un
Z80 a 1,77 MHz y 4 KB de RAM. Acaba desplazando al Intel 8080 del mercado por su menor precio y mayores
prestaciones. El mercado de computadoras personales y de hogar acaba prcticamente repartido a medias
entre el Z80 y el MOS 6502. Varias videoconsolas como la Coleco, Sega Master System o Sega Game Gear la
utilizan como CPU principal, y la Game Boy lo integra como un ncleo modificado. Una vez en la poca de los 16
bits es usado como procesador secundario por la Sega Mega Drive/Sega Genesis o la Neo Geo Pocket. Se utiliza en
varias tarjetas inteligentes de ampliacin de IBM PC (como controladoras SCSI)
Tras del Z80, Zilog introduce varios procesadores de 16 bits y 32 bits, pero sin mucho xito, por lo que la
compaa se orienta al mercado de microcontroladores, produciendo CPUs bsicas y Circuitos Integrados para
Aplicaciones Especficas (ASICs/ASSPs) construidos alrededor del ncleo de sus procesadores. Adems de
procesadores, Zilog ha fabricado numerosos componentes electrnicos. Uno de los ms famosos es el
controlador de comunicaciones seriales Zilog Z8530 que puede encontrarse en los Sun SPARCstations y
SPARCservers hasta la SPARCstation 20.
La compaa se convierte en una subsidiaria de Exxon en 1.980, pero la direccin y los empleados la recompran
en 1.989. Se realiza una OPV en 1.991 (Zilog cotiza en bolsa en NASDAQ bajo el smbolo ZILG). En el ao 1.995
crean el V-Chip que permite funciones de control para padres en televisores estadounidenses. Es adquirida por
Texas Pacific Group en 1.998, que, tras del desplome de precios del mercado de chips, reorganiza la compaa
tras declararse en suspensin de pagos en 2.001. Ese mismo ao Ziloglanza el eZ80, un procesador orientado al
mercado de telecomunicaciones, empleado por la compaa espaola Data Voice en su gama de automarcadores.
Es adems uno de los lderes del mercado de controladores infrarrojos (incluidos en los mandos a distancia).
Zilog Z80 (Z80).- Es un microprocesador de 8 bits cuya arquitectura se encuentra a medio camino entre la
organizacin de acumulador y de registros de propsito general. Si consideramos al Z80 como procesador de
arquitectura de registros generales, se sita dentro del tipo de registro-memoria.
Fue lanzado al mercado en julio de 1.976 por la compaa Zilog, y se populariz en los aos 80 a travs de
computadoras como el Sinclair ZX Spectrum, Amstrad CPC o las computadoras del sistema MSX. Es uno de los
procesadores de ms xito del mercado, del cual se han producido infinidad de versiones clnicas, y sigue
siendo usado de forma extensiva en la actualidad en multitud de dispositivos empotrados.
- 577 -
Tras los pasos de un... Hacker
Zombi.-Computadora que instalados ciertos programas permite que alguien controle remotamente su sistema.
- 578 -
ANEXOS
- 579 -
Tras los pasos de un... Hacker
- 580 -
ANEXO I. NMC STREAM
oi = h(ki-1,D)
ci = w(oi,mi)
(1)
El algoritmo de descifrado se define como:
oi = h(ki-1,D)
mi = w(oi,ci)
(2)
Donde ki-1 es la clave calculada anterior al estado i-simo de la funcin h; mi y ci,
son la i-sima porcin del texto claro y cifrado respectivamente y w es una
funcin reversible, usualmente or exclusivo, finalmente los valores de k0 y D
- 581 -
Tras los pasos de un... Hacker
- 582 -
NMC Stream... Anexo I.
La clave k (ki) ser una secuencia de bits de longitud mltiplo de 240, protegida e
intercambiada de manera segura utilizando cualquier algoritmo de clave pblica
considerado seguro.
Al inicio del proceso de cifrado; dado el valor inicial k, este valor ser calculado
conforme los resultados de cada estado de la funcin h, realimentando este valor
y por consiguiente tendremos el conjunto de claves dados por el valorki, para el
siguiente estado de h; D es una tabla constante cuyos valores estn especificados
en la Tabla 5.
aa
modb.
a.
b.b.
concat(a,b).
sub(A,n,m).
alen(s).
. b. Representa la concatenacin de las secuencias de bytes a y b.
Negacin lgica de a.
- 583 -
Tras los pasos de un... Hacker
LA FUNCIN H
Funcin: h(k,D)
Devuelve: o
Modifica: k
1. a1 0
2. a2 0
3. a3 0
4. a4 0
6. Repetirklen ik
idesde i=1 hasta 3:
5. a1 = )(
1 mod][ 512
6.2.2. k k 1
- 584 -
NMC StreamC). Anexo I.
20.2.2. k - k 1
- 585 -
Tras los pasos de un.. Hacker
21. Devolver o y k
En este punto haremos un breve anlisis del nivel aproximado de seguridad que
ofrece el algoritmo NMC StreamC).
- 586 -
NMC Stream... Anexo I.
En este punto, el algoritmo dependiendo del valor de la variable a1, hace una
serie de operaciones en funcin de la longitud de la variable aux, y es tal el
nmero de combinaciones posibles necesarias para reversar el proceso de la
funcin randomstream que hace computacionalmente intratable el problema de
obtener el valor calculado para aux y los valores de a1, a2, a3, a4, y as tratar de
obtener los valores originales de las cadenas izquierda, centro y derecha antes de
entrar a la funcin randomstream, podemos observar este problema en el paso 10
del algoritmo de la funcin h y en la funcin randomstream.
Llegado a este punto, podemos concluir que el nivel de seguridad alcanzado para
la funcin randomstream est por el orden de 2(n/3)*8 operaciones para probar los
valores de las variables izquierda, centro y derecha respectivamente, as como a1,
a2, a3, a4.
- 587 -
Tras los pasos de un... Hacker
adems tendramos que partir de todos los bytes del primer bloque generado por
la funcin h para poder eliminar las posibilidades incompatibles, esto nos lleva a
un sistema cuya complejidad algortmica estara muy superior a 2200 pasos para
la menor configuracin de trabajo de NMC Stream y cuyos requerimientos de
memoria para poder llevarlo a cabo lo hace computacionalmente inviable.
Prueba monobit.
Prueba 2 bits.
Prueba de poker.
Prueba de series.
Prueba de autocorrelacin.
Prueba de Maurer.
Para estas pruebas se consideraron los siguientes parmetros:
Se generaron 2.000 semillas realmente aleatorias, para cada una de las siguientes
longitudes de semilla: 240,480, 720, 960, 1.200 y 1.440 bits, para esto se utiliz
un dispositivo generador aleatorio. (Combina los estados de la temperatura con
una precisin de una dcima de grado Celsius, la hora con la fecha del sistema
con precisin de milisegundos, la velocidad y direccin del viento en un momento
determinado del da)
Con estas semillas, se generaron 12.000 secuencias de 28958.720 bytes. (Un
total de informacin de 323,64 GB)
El tiempo necesario para correr estas pruebas fue de 180 das, con una
computadora equipada con un procesador a 1,8 GHz, memoria RAM de 1 GB y un
arreglo de discos duros de 480 GB.
- 588 -
NMC Stream... Anexo I.
CONCLUSIONES
De los resultados obtenidos podemos concluir que resultara extremadamente
difcil cuando no imposible predecir el siguiente bit de la secuencia generada por
la funcin h, a partir de una porcin arbitrariamente grande de esta, cuando se
desconoce el valor de la semilla (k) que la genera.
NOTAS Y BIBLIOGRAFA
En este apartado, explicaremos de mejor manera algunos conceptos usados en
esta definicin del Algoritmo de Cifrado de Flujo Simtrico NMCStream.
- 589 -
Tras los pasos de un... Hacker
I(C,M)=0
(a)
Esto significa sencillamente que la distribucin de probabilidad que nos inducen
todos los posibles mensajes en claro el conjunto M no cambia si conocemos
el mensaje cifrado.
Repitiendo esta operacin muchas veces con mensajes diferentes, cifrados con la
misma clave, podramos ir modificando la distribucin de probabilidad sobre la
clave empleada hasta obtener un valor de clave mucho ms probable que todos
los dems, permitindonos romper el criptosistema.
- 590 -
NMC Stream... Anexo I.
Fuentes de consulta:
- 591 -
Tras los pasos de un... Hacker
- 592 -
NMC Stream... Anexo I.
LA IMPLEMENTACIN
Recuerden que pueden usarlo libremente siempre y cuando citen a los autores y
empresa propietaria del derecho de propiedad intelectual.
En True BASIC la implementacin es esta:
END
- 593 -
Tras los pasos de un... Hacker
FOR T=1 TO 2
- 594 -
NMC StreamC). Anexo I.
! E'unciones auxiliares .
- 595 -
Tras los pasos de un.. Hacker
! Funcin lgica Y.
FUNCTION AND (A, B)
LET. M. = 1
LET E = INT (E)
DO
! Funcin lgica O.
FUNCTION OR (A, B)
DECILARE. E'UNCTION AND)
- 596 -
NMC StreamC). Anexo I.
- 597 -
Tras los pasos de un.. Hacker
- 598
NMC StreamC). Anexo I.
- 599 -
Tras los pasos de un.. Hacker
- 600 -
NMC StreamC). Anexo I.
- 601 -
Tras los pasos de un... Hacker
LET AUX$[302:302]
AUX$[285:285] = CHR$(153)
AUX$[286:286]
AUX$[287:287]
AUX$[288:288]
AUX$[289:289]
AUX$[290:290]
AUX$[291:291]
AUX$[292:292]
AUX$[293:293]
AUX$[294:294]
AUX$[295:295]
AUX$[296:296]
AUX$[297:297]
AUX$[298:298]
AUX$[299:299]
AUX$[300:300]
AUX$[301:301] CHR$(144)
CHR$(247)
CHR$(44)
CHR$(97)
CHR$(81)
CHR$(45)
CHR$(64)
CHR$(171)
CHR$(40)
CHR$(86)
CHR$(10)
CHR$(88)
CHR$(135)
CHR$(112)
CHR$(128)
CHR$(129)
CHR$(212)
LET AUX$[312:312]
AUX$[303:303] = CHR$(150)
AUX$[304:304]
AUX$[305:305]
AUX$[306:306]
AUX$[307:307]
AUX$[308:308]
AUX$[309:309]
AUX$[310:310]
AUX$[311:311] CHR$(164)
CHR$(3)
CHR$(116)
CHR$(55)
CHR$(68)
CHR$(117)
CHR$(136)
CHR$(54)
CHR$(75)
LET AUX$[318:318]
AUX$[313:313] = CHR$(150)
AUX$[314:314]
AUX$[315:315]
AUX$[316:316]
AUX$[317:317] CHR$(211)
CHR$(109)
CHR$(214)
CHR$(252)
CHR$(131)
LET AUX$[324:324]
AUX$[319:319] = CHR$(153)
AUX$[320:320]
AUX$[321:321]
AUX$[322:322]
AUX$[323:323] CHR$(29)
CHR$(251)
CHR$(111)
CHR$(121)
CHR$(252)
LET AUX$[336:336]
AUX$[325:325] = CHR$(138)
AUX$[326:326]
AUX$[327:327]
AUX$[328:328]
AUX$[329:329]
AUX$[330:330]
AUX$[331:331]
AUX$[332:332]
AUX$[333:333]
AUX$[334:334]
AUX$[335:335] CHR$(243)
CHR$(249)
CHR$(29)
CHR$(74)
CHR$(207)
CHR$(73)
CHR$(187)
CHR$(137)
CHR$(77)
CHR$(54)
CHR$(120)
- 602 -
NMC StreamC). Anexo I.
- 603 -
Tras los pasos de un.. Hacker
- 604 -
NMC StreamC). Anexo I.
- 605 -
Tras los pasos de un.. Hacker
OPEN #1: NAME NARS, ACCESS INPUT, ORGANIZATION BYTE, CREATE OLD
ASK # 1 : FILESIZE TF
IE" POS X. TF OR NBL = 0) OR. POS <= 0 THEN
LET RETS = ""
EXIT SUE
END IE"
SET #1 : RECORD POS
READ #1, BYTES NBL: RETS
CLOSE f1
LET ERRORES = "TRUE"
USE
END WHEN
END SUE
OPEN #1: NAME NARS, ACCESS OUTPUT, ORGANIZATION BYTE, CREATE OLD
ASK # 1 : FILESIZE TF
IE" POS1 > TF OR NBL <= (O OR. EOS <= (O). THEN
LET RETS = ""
EXIT SUE
END IE"
IE" DOS TF THEN
SET # 1 : POINTER END
ELSE
SET #1 : RECORD POS
END IE"
IF NBL < LEN(RETS) THEN LET RETS = RETS [1: NBL1
WRITE # 1 : RETS
CLOSE f1
LET ERRORES = "TRUE"
USE
END WHEN
END SUE
- 606 -
NMC Stream... Anexo I.
Obsrvese que tanto la definicin del objeto como la implementacin del mismo,
utiliza la llamada notacin o nomenclatura hngara; segn esta, se define el
objeto CNMC como Class_NMC. En este caso el objeto NMCStream est definido
como una clase, la cual provee los atributos o la posible implementacin de los
mismos, en un lenguaje orientado a objetos, que son necesarios para su
utilizacin.
Qu es la nomenclatura hngara?
Tambin se utiliza para nombrar las instancias de los objetos en los lenguajes de
programacin orientados a objetos, como por ejemplo C++. El nombre de la
notacin proviene del hecho de que su inventor, Charles Simonyi que naci en
Hungra.
Esta convencin es muy utilizada por los programadores de Microsoft y en
particular en la programacin del sistema operativo Windows.
- 607 -
Tras los pasos de un... Hacker
Ejemplos:
Prefijo Significado
b Booleano (int)
by BYTE o UCHAR(unsigned char)
n Entero de 16 bits
e Enumeracin
pt Coordenadas (x, y) empaquetadas en un entero de 32 bits
rgb Valor de color RGB empaquetado en un entero de 32 bits
- 608 -
NMC Stream... Anexo I.
/////////////////////////////////////////////////////////////////////////////////////////
// Algoritmo NMC Stream.
//
// NMC Research Cia. Ltda.
// Copyright (C) 2003-2010
//
// Autores:
// Nstor Marroqun C. y Galo Vinueza S.
//
// El programa es entregado como tal, sin ninguna garanta expresa
// o implcita sobre su funcionamiento, incluyendo pero no limitndose
// a las garantas de mercantibilidad, para cualquier propsito
// sin responsabilidad, en ningn evento los autores o los propietarios
// del copyright sern responsables por su mal uso, funcin
// o implementacin indebida o ilegal, o de los productos derivados
// del uso de este software.
//
// Usted est autorizado de cualquier forma a usar este programa
// de computadora para cualquier propsito, incluyendo aplicaciones
// comerciales, usted puede modificar y redistribuir este cdigo
// libremente, sujeto a las siguientes restricciones:
//
// 1. La autora de esta implementacin debe ser respetada;
// usted no puede decir que escribi este programa de
// computadora o que es su creacin original.
// Si usted usa este programa en algn producto, una nota
// aclaratoria en la documentacin del producto debera
- 609 -
Tras los pasos de un... Hacker
#pragma once
#define ERR_SUCCESS 0
#define ERR_CANNOT_ALLOCATE_DATA_BUFFER 1
#define ERR_NO_MEMORY_ALLOCATED_FOR_STREAM 2
#define ERR_INVALID_BUFFER 3
#define ERR_INVALID_SEED_SIZE 4
#define ERR_INVALID_KEY_SIZE ERR_INVALID_SEED_SIZE
#define __RETURNOK \
{ SetLastError(ERR_SUCCESS);\
return TRUE;}
#define __SET_NO_ERROR \
SetLastError(ERR_SUCCESS);
#define __RETURNERROR(error) \
{ SetLastError(error); \
return FALSE; }
BOOL __IsValidAddress( const void* lp, UINT nBytes, BOOL bReadWrite = TRUE );
class CNMCStream
{
public:
virtual ~CNMCStream();
CNMCStream();
//errors
virtual UINT GetLastError();
void SetLastError(UINT nError);
protected:
BOOL
void Stream2(LPBYTE szSeed, DWORD dwSeedSize, LPBYTE szStream, LPBYTE ptData);
FillDataTable2();
void RandomStream(LPBYTE AUX, DWORD dwSize, LPBYTE ptData, SHORT &A1, SHORT &A2, SHORT
void
&A3, SHORT ShiftLeft(LPBYTE
ShiftRight(LPBYTEblk,
&A4); blk, INT
INT longi);
longi);
LPBYTE m_lpbSeed;
protected:
LPBYTE m_pIzquierda;
LPBYTE m_pCentro;
- 610
NMC Stream... Anexo I.
LPBYTE m_ptData2;
m_pDerecha;
LPBYTEm_dwStreamOutSize;
DWORD m_lpStreamOutBuffer;
BOOL m_bStreamInitialized;
UINT m_nLastError;
};
/////////////////////////////////////////////////////////////////////////////////////////
// Algoritmo NMC Stream.
//
// NMC Research Cia. Ltda.
// Copyright (C) 2003-2010
//
// Nstor Marroqun C. y Galo Vinueza S.
Autores:
//
//
// El programa es entregado como tal, sin ninguna garanta expresa
// o implcita sobre su funcionamiento, incluyendo pero no limitndose
// a las garantas de mercantibilidad, para cualquier propsito
// sin responsabilidad, en ningn evento los autores o los propietarios
// del copyright sern responsables por su mal uso, funcin
// o implementacin indebida o ilegal, o de los productos derivados
// del uso de este software.
- 611 -
Tras los pasos de un... Hacker
//
// Usted est autorizado de cualquier forma a usar este programa
// de computadora para cualquier propsito, incluyendo aplicaciones
// comerciales, usted puede modificar y redistribuir este cdigo
// libremente, sujeto a las siguientes restricciones:
//
// 1. La autora de esta implementacin debe ser respetada;
// usted no puede decir que escribi este programa de
// computadora o que es su creacin original.
// Si usted usa este programa en algn producto, una nota
// aclaratoria en la documentacin del producto debera
// ser introducida, pero esto no es obligatorio.
// 2. Las versiones modificadas del cdigo fuente de esta
// implementacin original deben ser etiquetadas como
// tales, y no deben ser confundidas con el programa original.
// 3. Esta nota aclaratoria no puede ser eliminada o alterada
// en ninguna distribucin del cdigo fuente.
//
// Informacin y contactos:
//
// Nstor Marroqun C., correo-e: nmarroquin@nmcresearch.com
// Galo Vinueza S., correo-e: gvinuezas@nmcresearch.com
/////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// NOTE:
// Using this code against MFC libraries do the following:
// Add stdafx.h instead of windows.h or
// select "Not Using Precompiled Headers" on C++ properties for this file
//////////////////////////////////////////////////////////////////////////////
#include "NMCStream.h"
"Windows.h"
BOOL __IsValidAddress( const void* lp, UINT nBytes, BOOL bReadWrite /*= TRUE */ )
{
// simple version using Win-32 APIs for pointer validation.
} return (lp
(!bReadWrite
!= NULL && ||
!IsBadReadPtr(lp, nBytes) && nBytes)));
!IsBadWritePtr((LPVOID)lp,
// CNMCStream
//////////////////////////////////////////////////////////////////////////
// CNMCStream construction/destruction
CNMCStream::CNMCStream()
{
m_lpbSeed = NULL;
m_bStreamInitialized = FALSE;
m_pIzquierda = NULL;
m_pCentro = NULL;
m_pDerecha = NULL;
m_ptData2 = NULL;
m_lpStreamOutBuffer = NULL;
m_dwStreamOutSize = 0;
m_nLastError = ERR_SUCCESS;
}
CNMCStream::~CNMCStream()
{
- 612
NMC StreamC). Anexo I.
if (m lpbSeed = NULL)
: : Virtual Free (m lpbSeed, 0, MEM RELEASE) ;
//////////////////////////////////////////////////////////////////////////
// CNMCStream member functions
if ( (dwSeedSi Ze % 3) 1 = 0)
RETURNERROR (ERR INVALID SEED SIZE) ;
m pCentro = (LPBYTE) : : Virtual Alloc (0, ( dwSeedSize / 3 ) , MEM COMMIT, PAGE READIRITE) ;
if (m pCentro == NULL)
RETURNERROR (ERR CANNOT ALLOCATE DATA BUFFER) ;
m pDerecha = (LPBYTE) : : VirtualAlloc (0, ( dwSeed Size / 3 ) , MEM COMMIT, PAGE READIRITE) ;
if (m pDerecha == NULL)
RETURNERROR (ERR CANNOT ALLOCATE DATA BUFFER) ;
m pt Data2 = (LPBYTE) : : Virtual Alloc (0, 512, MEM COMMIT, PAGE READIRITE) ;
if (m pt Data 2 == NULL)
RETURNERROR (ERR CANNOT ALLOCATE DATA BUFFER) ;
m lpStreamCut Buffer = (LPBYTE) : : Virtual Alloc (0, m dvStreamCut Size, MEM COMMIT,
PAGE READIRITE) ;
- 613 -
Tras los pasos de un.. Hacker
m bStreamInitialized = TRUE";
RETURNOK;
}
jf (m pIzquierda)
: : Virtual Free (m pIzquierda, 0, MEM RELEASE) ;
jf (m pCentro)
: : Virtual Free (m pCentro, 0, MEM RELEASE) ;
jf (m pDerecha)
: : Virtual Free (m pDerecha, 0, MEM RELEASE) ;
jf (m ptData2)
: : Virtual Free (m pt Data2, 0, MEM RELEASE) ;
jf (m lpStreamCut Buffer)
: : Virtual Free (m lp StreamCut Buffer, 0, MEM RELEASE) ;
m pIzquierda = NULL;
m pCentro = NULL;
m pDerecha = NULL;
m pt Data 2 = NULL;
m bStreamInitialized FAL SE ;
m lp StreamCut Buffer NULL;
m dwStreamCutSize = 0 ;
}
BOOL CNMCStream: : Stream2 (LPBYTE sZSeed, DWORD dvSeedSi Ze, LPBYTE sZStream, LPBYTE ptData)
SHORT A1 = 0;
SHORT A2 = 0;
SHORT A3 = 0;
SHORT A4 = 0;
DWORD n I iter = 0;
DWORD nJiter = 0;
EYTE. Al 13;
- 614 -
NMC StreamC). Anexo I.
A2 * (m pIzquierda) + * (m pIzquierda + 1) ;
A3 = * (m pCentro) + * (m pCentro + 1) ;
e
A4 = * (m pDerecha) + * (m pDerecha + 1) ;
Random Stream (m pIzquierda, m dvStreamCut Size, pt Data, A1, A2, A3, A4) ;
Random Stream (m pCentro, m dwStreamCut Size, pt Data, A1, A2, A3, A4) ;
Random Stream (m pDerecha, m dvStreamCut Size, ptData, A1, A2, A3, A4) ;
A1 A1 256;
A2 = A2 256;
A3 = A3 256;
A4 A4 256;
RETURNOK;
}
void CNMCStream: : RandomStream (LPBYTE AUX, DWORD dwSize, LPBYTE pt Data, SHORT & A1, SHORT & A2,
SHORT & A3, SHORT & A4)
DWORD n I iter = 0;
DWORD nJiter = 0 r
- 615 -
Tras los pasos de un.. Hacker
if (m pt Data 2 == NULL)
return ;
- 616 -
NMC StreamC). Anexo I.
- 617 -
Tras los pasos de un.. Hacker
m| [
pt Data2 L196]=222; m ptData2 (197]=178; m ptData2 (1981=199;
m pt Data2 (1991 =170;
m pt Data2 L200]=30; m pt Data2 (2011 =89; m pt Data2 (202)=98;
m pt Data2 L203]=138;
m pt Data2 L204 ]=34; m pt Data2 (205]=130; m pt Data2 (206)=107;
m pt Data2 L207]=161;
m pt Data2 L208)=209; m pt Data2 (209 =17; m pt Data2 (210)=134;
m pt Data2 L211)=4;
m pt Data2 L212)=151 ; m pt Data2 L213]=236; m pt Data2 L214 ]=117;
m pt Data2 L215]=96
m pt Data2 L216)=92; m pt Data2 L217]=27; m ptData2 L213)=100;
m pt Data2 L219 =32;
m pt Data2 L220]=37; m pt Data2 L221)=152; m ptData2 L222)=206;
m pt Data2 L223)=146;
m pt Data2 L224 ]=248; m pt Data2 L225]=173; m ptData2 L226)=38;
m pt Data2 L227]=28;
m pt Data2 L228=250; m pt Data2 L229)=24 6; m ptData2 L230]=28;
m pt Data2 L231)=198;
m pt Data2 L232=101 ; m pt Data2 L233)=147; m ptData2 (234 ]=174;
m pt Data 2235]=179;
m pt Data2 L236)=207; m pt Data2 L237]=100; m ptData2 L238)=190;
m pt Data2 L239)=66;
m pt Data2 L240]=127; m pt Data2 L241)=157; m ptData2 L242)=168;
m pt Data2 L243]=19
m pt Data2 L244 ]=79; m pt Data2 L245)=205; m ptData2 L246)=21 ;
m pt Data2 L247]=16;
m pt Data2 L248)=203; m pt Data2 L249)=198; m ptData2 (250)=123;
m pt Data2 L251 =174;
m pt Data2 L252)=72; m pt Data2 L253)=132; m ptData2 L254 ]=126;
m pt Data2 L255]=221 ;
m pt Data2 L256)=253; m pt Data2 L257]=2; m ptData2 L258)=223;
m pt Data2 (259)=188;
m pt Data2 L260]=57; m pt Data2 (261 =82; m ptData2 (262)=41 ;
m pt Data2 L263]=242;
m pt Data2 L264 ]=13 m pt Data2 (265 |=217; m pt Data2 (266)=24 ;
m pt Data2 L267]=22;
m pt Data2 L268)=224; m pt Data2 (269)=237; m pt Data2 L270]=44;
m pt Data2 L271)=166;
m pt Data2 L272]=47 m pt Data2 L273]=51 ; m pt Data2 L274 ]=179;
m pt Data2 L275]=20
m pt Data2 L276)=31; m pt Data2 L277]=9; m pt Data2 L278)=65;
m pt Data2 L279)=248;
m pt Data2 L280]=176; m pt Data2 L281)=118; m pt Data2 L282)=143;
m pt Data2 L283)=196;
m pt Data2 L284 ]=144; m pt Data2 L285)=247; m pt Data2 L286)=44;
m pt Data 2287]=97
m pt Data2 L288)=81; m pt Data2 L289)=45; m pt Data2 (290)=64;
m pt Data2 L291 =171;
m pt Data2 L292)=40 m pt Data2 L293]=86; m pt Data2 L294 ]=10;
m pt Data2.295]=38
m [
pt Data2 L296)=135; m pt Data2 L297]=112; m pt Data2 L298)=128;
m [
pt Data 2299)=129;
m| [
pt Data2 L300]=212; m pt Data2 (301)=153; m pt Data2 L302)=164;
m [
pt Data2 L303]=3;
m [
pt Data2 L304 ]=116; m pt Data2 (305]=55; m pt Data2 L306)=68;
m [
pt Data2 L307]=117;
m [
pt Data2 L308)=136; m pt Data2 L309)=54; m pt Data2 L310)=75;
m [
pt Data2 L311)=150;
m [
pt Data2 L312)=211 ; m pt Data2 L313]=109; m pt Data2 L314 ]=214;
m [
pt Data2 L315]=252;
m [
pt Data2 L316)=131 ; m pt Data2 L317]=150; m pt Data2 L318 =29;
m [
pt Data2 L319)=251 ;
m [
pt Data2 L320]=111 ; m pt Data2 L 321)=121; m pt Data2 L322)=252;
m [
pt Data2 L323)=153;
- 618 -
NMC StreamC). Anexo I.
m| [
pt Data2 L324 ]=243; m pt Data2 (325)=249; m pt Data2 (326)=29;
m [
pt Data2 L327]=74
m [
pt Data2 L328=207; m pt Data2 (329. =73; m pt Data2 L 330}=187;
m [
pt Data2 L331)=137;
m [
pt Data2 L332)=77; m pt Data2 L 333]=54; m pt Data2 L 334 ]=120;
m [
pt Data2 L335]=138;
m [
pt Data2 L336)=227; m pt Data2 L 337]=82; m pt Data2 (338)=43;
m pt Data2 L[ 339)=175;
m [
pt Data2 L340]=85; m pt Data2 L341)=133; m pt Data2 L342)=231;
m [
pt Data2 L343]=27
m| [
pt Data2 L344 ]=173; m pt Data2 L345)=94; m pt Data2 (346)=67;
m [
pt Data2 L347]=144;
m [
pt Data2 L348)=102; m pt Data2 L349)=104; m pt Data2 L350]=66;
m [
pt Data2 L351)=233;
m [
pt Data2 L352)=110; m ptData2 (353]=95; m pt Data2 (354)=157;
m [
pt Data2 L355)=241;
m [
pt Data2 L356)=186; m ptData2 (357]=75; m pt Data2 L358 =235;
m [
pt Data2 L359)=202;
m [
pt Data2 L360]=105; m pt Data2 L361)=103; m pt Data2 L362)=235;
m [
pt Data2 L363]=108;
m [
pt Data2 L364 ]=6; m pt Data2 L365)=245; m pt Data2 L366)=49;
m pt Data2 [(367]=209;
m [
pt Data2.368)=195; m ptData2 (369)=158; m pt Data2 L370)=140;
m [
pt Data2 L371)=116;
m [
pt Data2 L372)=162; m pt Data2 L373]=206; m pt Data2 L 374 ]=115;
m [
pt Data2 L375]=120;
m [
pt Data2 (376)=158; m pt Data2 L377]=5; m pt Data2 L378)=249;
m [
pt Data2 L379)=124;
m [
pt Data2 L380)=241; m pt Data2 L381)=230; m pt Data2 L382)=1;
m [
pt Data2 L383)=78;
m [
pt Data2 L384 ]=92; m ptData2 (385]=255; m pt Data2 L386)=51 ;
m [
pt Data2 L387]=201;
m| pt Data2 L388)= 12; m pt Data2 L 339)=215; m pt Data2 L390)=106;
m [
pt Data2 L391)=182;
m [
pt Data2 L392)=69; m pt Data2 L393]=223; m pt Data2 L394 ]=148;
m [
pt Data2 (395]=192;
m [
pt Data2 L396)=214; m ptData2 397]=35; m ptData2 L398)=34 ;
m [
pt Data2 L399 = 0;
m| [
pt Data2 L400]=134; m pt Data2 L401)=2; m pt Data2 L402)=73;
m [
pt Data2 L403)=114;
m [
pt Data2 L404 ]=31; m pt Data2 L405]=21 ; m pt Data2 L406)=181;
m [
pt Data2 L407]=236;
m [
pt Data2 L408 )=37; m pt Data2 L409)=12; m pt Data2 L410)=155;
m [
pt Data2 L411)=62;
m [
pt Data2 L412)=234; m pt Data2 L413)=130; m pt Data2 L4 14 ]=232;
m [
pt Data2 L415]=40;
m [
pt Data2 L416)=126; m pt Data2 L417]=23; m ptData2 L4181 =102;
m [
pt Data2 L419)=245;
m [
pt Data2 L420]=61; m pt Data2 L421)=32; m ptData2 L422)=161;
m [
pt Data2 L423]=233;
m [
pt Data2 L424 ]=113; m pt Data2 L425)=151; m ptData2 L426)=55;
m [
pt Data2 L427]=184;
m [
pt Data2 L428=239; m pt Data2 L429)=122; m ptData2 L430)=167;
m [
pt Data2 L431)=56;
m [
pt Data2 L432)=70; m pt Data2 L433)=172; m ptData2 L4 34 ]=52;
m [
pt Data2 L435]=4;
m [
pt Data2 L436)=24; m pt Data2 L437)=39; m ptData2 L438)=81 ;
m pt Data2 [(4391 =175;
m [
pt Data2 L440]=68; m pt Data2 L441)=98; m ptData2 L442)=216;
m [
pt Data2 L443)=142;
m [
pt Data2 L444 ]=26; m pt Data2 L445)=119; m ptData2 L446)=232;
m [
pt Data2 L447]=164;
m [
pt Data2 L448)=13 m pt Data2 L449)=194; m pt Data2 L450)=83;
m [
pt Data2 L451)=110;
- 619 -
Tras los pasos de un.. Hacker
LPBYTE CNMCStream: : Generate Stream 2 (LPBYTE, ucKey, DWORD dv KeySize, DWORD dwStreamSize)
{
if ( 1 m bStreamInitialized)
SetILast Error (ERR NO MEMORY ALLOCATED FOR STREAM) ; //no memory allocated for
Stream
return NULL;
}
LPBYTE pData = (LPBYTE) : : Virtual Alloc (0, divStreamsize, MEM COMMIT, PAGE READWRITE) ;
if (p Data == NULL)
LPBYTE pPartial = (LPBYTE) : : Virtual Alloc (0, m dvStreamCut Size, MEM COMMIT,
PAGE READIRITE) ;
if (pPartial == NULL)
- 620 -
NMC StreamC). Anexo I.
if (dwMod = 0)
return p Data;
}
BOOL CNMCStream: : Generate Stream2 ( LPBYTE, ucKey, DWORD dv Key Size, LPBYTE lpStream Buffer, DWORD
dwStream Buffer Size )
if ( 1 m bStreamInitialized)
RETURNERROR (ERR NO MEMORY ALLOCATED FOR STREAM) ; //no memory allocated for
Stream
if (dwMod = 0)
RETURNOK;
- 621 -
Tras los pasos de un... Hacker
{
m_nLastError = nError;
}
Recuerden que las otras funciones que estn definidas en la implementacin son
estndares en el C++ para Windows. Ustedes ya saben cmo invocarlas y
usarlas.
- 622 -
ANEXO II. CDIGO ASCII
El cdigo 127 (los siete bits a uno), otro carcter especial, equivale a "suprimir"
("delete"). Aunque esta funcin se asemeja a otros caracteres de control, los
diseadores de ASCII idearon este cdigo para poder "borrar" una seccin de
papel perforado (un medio de almacenamiento popular hasta la dcada de 1.980)
mediante la perforacin de todos los agujeros posibles de una posicin de
carcter concreta, reemplazando cualquier informacin previa. Dado que el
cdigo 0 era ignorado, fue posible dejar huecos (regiones de agujeros) y ms
tarde hacer correcciones.
Los diseadores del cdigo ASCII idearon los caracteres de separacin para su
uso en sistemas de cintas magnticas.
- 623 -
Tras los pasos de un... Hacker
Los primeros usuarios de ASCII adoptaron algunos de los cdigos de control para
representar "metainformacin" como final-de-lnea, principio/final de un
elemento de datos, etc. Estas asignaciones a menudo entraban en conflicto, as
que parte del esfuerzo de convertir datos de un formato a otro, implica hacer las
conversiones correctas de la metainformacin. Por ejemplo, el carcter que
representa el final-de-lnea en archivos de texto vara con el sistema operativo.
- 624 -
Cdigo ASCII. Anexo II.
Actualmente los usuarios de ASCII usan menos los caracteres de control, (con
algunas excepciones como "retorno de carro" o "nueva lnea"). Los lenguajes
modernos de etiquetas, los protocolos modernos de comunicacin, el paso de
- 625 -
Tras los pasos de un... Hacker
0010 1111
0000
0001
Binario 47
32
33
Dec 2F
20
21
Hex tacin ()
/!espacio
Represen 0000
0001
0011
0101
0111
1000
1010
1100
1110
Binario
0100 1111
0010
0100
0110
1001
1011
1101 64
65
67
69
71
72
74
76
78
66
68
70
73
75
77
79
Dec 40
41
43
45
47
48
4A
4C
4E
42
44
46
49
4B
4D
4F
Hex @
A
B
C
D
E
F
G
JIH
K
L
M
N
O
tacin
Represen Binario Dec Hex Represen
tacin
0110 0000 96 60 `
0110 0001 97 61 a
0010 0111
0011
0101
0100
0110 35
37
39
36
38 23
25
27
24
26 #
$
%
'& 0110 0011 99 63 c
01101001 105 69 i
00101100
0010 1000
1010
00101001
1011 40
42
44
41
43 28
2A
2C
29
2B *)(
,+ 0110 1010 106 6A j
01101011 107 6B k
- 626 -
Cdigo ASCII... Anexo II.
0011 1111
1101
1100
1110 61
63
60
62 3D
3F
3C
3E <
=
?> 0101 1111
0001
0010
0100
0110
1000
1001
1011
1101
0000
0011
0101
0111
1010
1100
1110 81
82
84
86
88
89
91
93
95
80
83
85
87
90
92
94 51
52
54
56
58
59
5B
5D
5F
50
53
55
57
5A
5C
5E P
Q
SR
T
U
V
W
X
Y
]\[Z
_^ 0111 0000 112 70 p
0001
0010
0100
0110
1000
1001
0011 1010
0000
0011
0101
0111 49
50
52
54
56
57
48
51
53
55
58 31
32
34
36
38
39
30
33
35
37
3A 0
1
2
3
4
5
6
7
8
:9 0111 1010 122 7A z
- 627 -
Tras los pasos de un... Hacker
- 628 -
ANEXO III. INSTRUCCIONES EN TRUE BASIC
Este anexo hace una lista de todas las instrucciones en True BASIC y luego da uno
o dos ejemplos del uso de estas instrucciones.
PROGRAM
END FOR EXIT
(Estructura
FOR del bucle)
NEXT
LET
GOSUB ON GOTO
GOTO RETURN
ON GOSUB
Estas instrucciones permiten varias opciones de configuracin:
- 629 -
Tras los pasos de un... Hacker
- 630 -
Instrucciones en True BASIC... Anexo III.
FUNCIONES Y SUBRUTINAS
Estas instrucciones son el corazn y el alma en la organizacin de programas
avanzados:
CALL EXTERNAL
DECLARE DEF (FUNCIN) LIBRARY
DEF LOCAL
DEF (Estructura de funcin) SUB (Estructura de subrutina)
EXIT DEF EXIT SUB
END DEF END SUB
- 631 -
Tras los pasos de un... Hacker
ASK NAME
ASK PIXELS SET COLOR
ASK SCREEN SET COLOR MIX
ASK TEXT JUSTIFY SET CURSOR
SET DIRECTORY
ASK WINDOW SET MODE
BOX DISK SET NAME
GET KEY WINDOW
GET MOUSE
INSTRUCCIONES MAT
Varias de estas instrucciones MAT se incluyen en este libro:
ESTRUCTURAS DE MDULO
Estas instrucciones, las cuales se ocupan de los mdulos, no se discuten en este
libro:
MODULE (Estructura)
PRIVATE DECLARE PUBLIC
PUBLIC SHARE
END MODULE
- 632 -
Instrucciones en True BASIC... Anexo III.
MANEJO DE EXCEPCIONES
HANDLER
EXIT HANDLER
END HANDLER
RETRY
SUBRUTINAS INTERNAS
- 633 -
Tras los pasos de un... Hacker
- 634 -
Instrucciones en True BASIC... Anexo III.
http://www.truebasic.com/ref/statements
INSTRUCCINBOXAREA
BOX AREA izquierda, derecha, inferior, superior
INSTRUCCINBOXCIRCLE
BOX CIRCLE izquierda, derecha, inferior, superior
INSTRUCCINBOXCLEAR
BOX CLEAR izquierda, derecha, inferior, superior
- 635 -
Tras los pasos de un... Hacker
INSTRUCCINBOXELLIPSE
BOX ELLIPSE izquierda, derecha, inferior, superior
INSTRUCCINBOX KEEP
BOX KEEP izquierda, derecha, inferior, superior IN stringvar$
INSTRUCCINBOXLINES
BOX LINES izquierda, derecha, inferior, superior
Dibuja los lados de un rectngulo con el color actual para el primer plano.
INSTRUCCINBOXSHOW
BOX SHOW stringvar$ AT izquierda, inferior
INSTRUCCIN CALL
CALL nombre_de_subrutina (arg1, arg2, ..., argn)
La instruccin CALL invoca una subrutina definida por una instruccin SUB con el
mismo nombre (nombre_de_subrutina). Los argumentos de la subrutina invocada
- 636 -
Instrucciones en True BASIC... Anexo III.
INSTRUCCIN CLEAR
CLEAR
INSTRUCCIN DATA
DATA elemento,..., elemento
Los elementos que conforma una lista DATA pueden ser cadenas de caracteres
encerradas entre comillas o no, as como constantes numricas.
Para iniciar la ejecucin de un programa, todos los datos definidos en las listas de
instrucciones DATA estarn en una misma unidad de programa y se agruparn
dentro de la zona para guardar estos datos, en el orden en el cual se encuentran.
Las instrucciones DECLARE DEF declaran todas las funciones externas que se usarn
en la unidad del programa dado, antes de su primer uso. Las instrucciones
DECLARE DEF deben declarar todas las funciones internas a ser usadas en la unidad
- 637 -
Tras los pasos de un... Hacker
INSTRUCCIN DEF
DEF identificador
identificador$(parm_1,
==expresin_numrica
expresin_de_cadena
..., parm_n)de
= caracteres
expresin_numrica
ESTRUCTURA DEF
DEF...
identificador (parm_1, ..., parm_n)
- 638 -
Instrucciones en True BASIC... Anexo III.
INSTRUCCIN DIM
DIM arreglo (lmites), ..., arreglo (lmites)
Excepto por la funcin o parmetros de subrutina, cada arreglo en una unidad de programa
debe ser dimensionado en una instruccin DIM o LOCAL que ocurre lexicalmente antes de la
primera referencia a ese arreglo.
ITERACIN DO
DO { | WHILE condicin | UNTIL condicin | }
...
EXIT DO [opcional]
LOOP { WHILE condicin | UNTIL condicin | }
La instruccin DO puede contener una parte WHILE o una UNTIL, o nada, lo mismo
para la instruccin LOOP. Pueden existir cualquier nmero de instrucciones EXIT
DO.
INSTRUCCIN DRAW
DRAW nombre_dibujo (arg 1, ..., arg n)
ROTATE (ngulo)
SHEAR (ngulo)
- 639 -
Tras los pasos de un... Hacker
SHIFT crear un cuadro que ser desplazado en la direccin x por una cantidad
definida en el primer argumento y en la direccin y por la cantidad definida en el
segundo argumento.
SHEAR crear un cuadro que ser inclinado en el sentido de las agujas del reloj a
travs de un ngulo especificado. Quiere decir que deja las lneas horizontales tal
cual pero inclina las lneas verticales a travs del ngulo dado.
INSTRUCCIN END
- 640 -
Instrucciones en True BASIC... Anexo III.
La instruccin END DEF debe aparecer como la ltima instruccin de una estructura
DEF.
INSTRUCCIN END IF
La instruccin END SUB debe aparecer como la ltima instruccin de una estructura
SUB.
- 641 -
Tras los pasos de un... Hacker
La instruccin EXIT DEF hace que el control del programa pase a la siguiente
instruccin de la instruccin END DEF de la funcin ms interna que la contiene. Es
opcional.
INSTRUCCIN EXIT DO
EXIT DO
La instruccin EXIT DO hace que el control del programa pase justo a la siguiente
instruccin de la instruccin LOOP de la iteracin DO ms interna que contiene EXIT
DO. Es opcional.
INSTRUCCIN EXITFOR
EXIT FOR
La instruccin EXIT FOR hace que el control del programa pase a la instruccin
posterior a la instruccin NEXT de la iteracin FOR ms interna que contiene EXIT
FOR. Es opcional.
La instruccin EXIT PICTURE hace que el control del programa pase a la instruccin
posterior a la instruccin END PICTURE de la imagen ms interna que la contiene. Es
opcional.
INSTRUCCIN EXITSUB
EXIT SUB
- 642 -
Instrucciones en True BASIC... Anexo III.
La instruccin EXIT SUB hace que el control del programa pase a la instruccin
posterior a la instruccin END SUB de la subrutina ms interna que la contiene. Es
opcional.
INSTRUCCIN EXTERNAL
EXTERNAL
INSTRUCCIN FLOOD
FLOOD coord_x, coord_y
FLOOD pintar, con el color actual del primer plano, la regin de la grfica
encerrada que contiene el punto cuya coordenada x es coord_x y cuya coordenada
y es coord_y.
ITERACIN FOR
FOR = exp_numrica_inicio TO
var_for exp_numrica_fin STEP valor_incremento
...
EXIT FOR [opcional]
...
NEXT var_for
- 643 -
Tras los pasos de un... Hacker
INSTRUCCIN IF
IF condicin THEN instruccin simple ELSE instruccin simple
ESTRUCTURA IF
IF condicin 1 THEN
...
ELSE IF condicin 2 THEN
...
ELSE IF condicin 3 THEN
...
ELSE
...
END IF
- 644 -
Instrucciones en True BASIC... Anexo III.
Si no hay ms partes ELSE IF, entonces el control se pasa a la parte ELSE, y las
instrucciones siguientes a la lnea ELSE se ejecutan, hasta la lnea END IF. Si no hay
parte ELSE, el control es pasado a la instruccin siguiente a la lnea END IF.
INSTRUCCIN INPUT
INPUT variable,..., variable
Las reglas son similares a aquellas para las instrucciones READ y DATA.
INSTRUCCIN LET
LET variable = frmula
La instruccin LET calcula la frmula a la derecha del signo igual y luego asigna el
valor a la variable a la izquierda del signo igual.
INSTRUCCIN LIBRARY
LIBRARY nombre_arch_lib,..., nombre_arch_lib
- 645 -
Tras los pasos de un... Hacker
Una instruccin LINE INPUT requiere una o ms lneas de entrada por parte del
usuario. La primera lnea es suministrada a la primera
la la
var_cadena_de_caracteres$, segunda a segunda y as sucesivamente. Todos
los caracteres en la lnea de respuesta sern ingresados, incluyendo espacios al
comienzo o al final, comas incorporadas y comillas.
INSTRUCCIN LOCAL
LOCAL variable, ..., variable
Una instruccin LOCAL especifica que las variables nombradas en ellas son locales
para la rutina que contiene la instruccin. Si se llama un arreglo dentro de una
instruccin LOCAL, debe incluir tambin los lmites de los subndices. La
instruccin LOCAL normalmente es irrelevante en procedimientos externos,
porque todas las variables excepto los parmetros son automticamente
definidos como locales, pero esta definicin puede ser importante en
procedimientos internos. Una instruccin LOCAL puede ser usada junto con la
instruccin OPTION TYPO para evitar errores de digitacin en los nombres de las
variables.
INSTRUCCIN LOOP
- 646 -
Instrucciones en True BASIC... Anexo III.
MAT INPUT asigna valores a los arreglos especificados conforme el usuario los va
digitando ordenadamente. Deben ingresarse los valores por separado para cada
arreglo nombrado. Para cada arreglo, a los elementos se les asignar valores en
un orden cuenta revoluciones. (Quiere decir, que si el arreglo A est definido
de 2 por 2, el orden cuenta revoluciones es A(1,1), A(1,2), A(2,1), A(2,2).
La instruccin MAT LINE INPUT asigna lneas de respuesta a los elementos de los
arreglos nombrados, en orden de izquierda a derecha y dentro de cada arreglo en
orden cuenta revoluciones. La lnea entera de entrada es asignada a un
elemento de arreglo, incluyendo espacios anteriores y posteriores, y comas
incorporadas.
- 647 -
Tras los pasos de un... Hacker
Cualquier comando puede ser reemplazado por un punto y coma, en este caso los
elementos de ese arreglo se imprimen lado por lado.
INSTRUCCIN MATREAD
MAT READ arreglo, ..., arreglo
La instruccin MAT READ asigna valores definidos en una lista DATA hacia los
elementos de cada uno de los arreglos, en orden. Para cada arreglo nombrado,
los valores se asignan en orden cuenta revoluciones - esto es, los ltimos
subndices se llenarn ms rpido, luego el siguiente al ltimo y as
sucesivamente.
Una variable de cadena de caracteres puede recibir cualquier dato vlido. Una
variable numrica puede recibir slo un dato que puede ser una cadena de
caracteres nula y una constante numrica vlida.
INSTRUCCIN NEXT
INSTRUCCINOPTIONANGLE
OPTION ANGLE DEGREES
- 648 -
Instrucciones en True BASIC... Anexo III.
INSTRUCCIN OPTIONTYPO
OPTION TYPO
La instruccin OPTION TYPO requiere que todas las variables que no sean
declaradas como arreglos que aparecen lexicalmente despus, sean declaradas
explcitamente. Estas deben ser declaradas con una instruccin LOCAL, o aparecer
como parmetros de una instruccin SUB, DEF o PICTURE. Una instruccin OPTION
TYPO se aplica al resto del procedimiento que la contiene y a todos los
INSTRUCCIN PAUSE
PAUSE segundos
ESTRUCTURA PICTURE
PICTURE nombre_del_cuadro (lista de parmetros)
...
EXIT PICTURE [opcional]
...
END PICTURE
Un PICTURE es dibujado con una instruccin DRAW. Aparte de esto un PICTURE acta
exactamente como una subrutina. El mecanismo de paso de los parmetros es el
mismo que en las subrutinas.
Si el PICTURE contiene instrucciones PLOT (PLOT, MAT PLOT o FLOOD) o contiene
instrucciones CALL o DRAW de otros cuadros o subrutinas, entonces el cuadro final
reflejar todas las transformaciones aplicadas a travs de todas las instrucciones
DRAW.
- 649 -
Tras los pasos de un... Hacker
INSTRUCCIN PLAY
PLAY expresin_de_cadena_de_caracteres
INSTRUCCIONES PLOT
Por conveniencia, el trmino punto significa dos coordenadas (x e y) separados
por una coma, como en coord_x, coord_y.
Todas las instrucciones PLOT en los cuadros ests sometidas a los efectos de la
transformacin actual.
Todas las instrucciones PLOT, excepto para PLOT TEXT, estn sujetas a los lmites de
la ventana que se est utilizando. Esto quiere decir que la porcin del dibujo que
est dentro de la ventana ser presentado, mientras la porcin de fuera de la
ventana no.
PLOT punto
La instruccin PLOT POINTS traza los puntos como puntos. PLOT x,y es una
abreviatura de PLOT POINTS: x,y.
- 650 -
Instrucciones en True BASIC... Anexo III.
La instruccin PLOT LINES traza los segmentos de lnea que conectan los puntos.
Una lnea se dibuja desde el punto anterior hasta el primer punto si y slo si el
pincel trazador estuviera activado.
Si las instrucciones PLOT LINES y PLOT finalizan con un punto y coma, el pincel
permanece activado para que las subsecuentes instrucciones PLOT LINES o PLOT
continen trazando la lnea sin interrupcin; de otro modo, el pincel trazador se
levanta.
INSTRUCCIN PLOTAREA
PLOT AREA: punto; ...; punto
INSTRUCCIN PLOTTEXT
PLOT TEXT, AT punto: cadena de caracteres_de_texto$
- 651 -
Tras los pasos de un... Hacker
PLOT LINES
INSTRUCCIN PRINT
PRINT
PRINT lista-de-impresin
PRINT USING formato: lista-de-formato
Los tems en una lista impresa pueden estar separados por comas o puntos y
comas y estar seguidos por una coma o un punto y coma final. Los tems en una
lista de formato pueden estar separados solamente por comas y ser seguidos slo
por un punto y coma.
Si una clusula USING est presente, los valores son impresos de acuerdo con el
formato especificado, sin considerar las zonas de impresin. La cadena de
caracteres siguiente a la palabra USING determina el formato.
- 652 -
Instrucciones en True BASIC... Anexo III.
INSTRUCCIN PROGRAM
PROGRAM nombre-de-programa
INSTRUCCIN RANDOMIZE
RANDOMIZE
INSTRUCCIN READ
READ variable,..., variable
La instruccin READ asigna a sus variables el siguiente dato de una lista DATA. Una
variable de cadena de caracteres puede recibir cualquier dato vlido. Una
variable numrica puede recibir slo un que es una constante numrica vlida.
INSTRUCCIN REM
REM carcter... carcter
- 653 -
Tras los pasos de un... Hacker
Una instruccin REM es equivalente a una lnea de comentario que empieza con un
signo de exclamacin (!). Adicionalmente, un (!) puede usarse para colocar
comentarios en las mismas lneas con otras instrucciones de True BASIC.
INSTRUCCIN RESTORE
RESTORE
CASE especificador-de-caso-1
...
CASE especificador-de-caso-2
...
CASE ELSE
...
END SELECT
La estructura SELECT CASE puede tener cero o ms instrucciones CASE, y cero o una
instruccin CASE ELSE pero debe tener al menos una o ambas partes CASE o CASE
ELSE. Las constantes en un especificador-de-caso deben ser del mismo tipo
- 654 -
Instrucciones en True BASIC... Anexo III.
INSTRUCCINSETBACK
SET BACK nmero_color
SET BACK es una abreviacin de la instruccin SET BACKGROUND COLOR. SET BACK
utilizada con nmero_color establece el fondo de pantalla con el color que tiene
ese nmero. SET BACK utilizada con nombre_color$ establece el fondo de la
pantalla con el color nombrado; vea la instruccin SET COLOR para tener una lista
de nombres de los colores permitidos.
INSTRUCCINSET COLOR
SET COLOR nmero_color
SET COLOR con nmero_color establece el color del pincel para el primer plano con
el color definido para ese nmero. Los nmeros fuera de este rango tendrn
efectos que dependern de una mquina en particular. Si su computadora no
tiene un monitor a color, True BASIC presentar un diseo conveniente para esa
pantalla.
SET COLOR con nombre_color$ establece el color del pincel para el primer plano con
el color nombrado, el cual debe ser uno de los siguientes:
MAGENTA (MORADO) CYAN (AZUL VERDOSO) WHITE (BLANCO)
RED (ROJO) BLUE (AZUL) GREEN (VERDE)
YELOW (AMARILLO) BROWN (CAF) BLACK (NEGRO)
BACKGROUND (FONDO)
- 655 -
Tras los pasos de un... Hacker
INSTRUCCINSET MODE
SET MODE modo$
INSTRUCCINSETWINDOW
SET WINDOW izquierda, derecha, inferior, superior
Establece las coordenadas de una ventana para grficas en la ventana que se est
usando.
INSTRUCCINSOUND
SOUND frecuencia, segundos
INSTRUCCIN STOP
STOP
- 656 -
Instrucciones en True BASIC... Anexo III.
ESTRUCTURA SUB
SUB identificador (parm 1, ..., parm n)
...
EXIT SUB [opcional]
...
END SUB
Una subrutina puede contener una o ms instrucciones EXIT SUB. Una instruccin
CALL invoca a una subrutina; quiere decir que la empezar a ejecutar. Los
argumentos en la instruccin CALL deben coincidir con los definidos como
parmetros en la instruccin en nmero, posicin, tipo y nmero de dimensiones.
El paso de parmetros es por referencia, esto quiere decir que los cambios al
parmetro dentro de la subrutina causarn simultneos cambios a los
argumentos de la instruccin CALL.
ESTRUCTURA WHEN
WHEN EXCEPTION IN
... !Parte protegida
USE
... !Ejecutar si una excepcin est en una parte protegida
END WHEN
Esta subrutina puede ser usada para atrapar errores de ejecucin llamados
excepciones. Los ejemplos pueden ser una divisin para 0 o intentar abrir un
archivo que no existe. Si una excepcin de cualquier tipo ocurre en la porcin
protegida, las instrucciones de recuperacin entre la instruccin USE y la
instruccin END WHEN se ejecutan. Si no ocurre ninguna excepcin en la parte
protegida, las instrucciones de recuperacin se ignoran.
Las funciones EXLINE, EXLINE$, EXTEXT$ y EXTYPE pueden ser usadas para determinar
la naturaleza exacta de una excepcin.
- 657 -
Tras los pasos de un... Hacker
- 658 -
ANEXO IV. FUNCIONES INTERNAS EN TRUE BASIC
Este anexo describe una lista de la mayora de las funciones de True BASIC. Las
funciones estn agrupadas primero por tipo y luego listadas alfabticamente con
una breve explicacin. True BASIC tambin ofrece informacin adicional acerca
de las funciones internas en su seccin de referencia en su Web Site que se
encuentra en:
http://www.truebasic.com/ref
FUNCIONES MATEMTICAS
Funcin Resultado
- 659 -
Tras los pasos de un... Hacker
Funcin Resultado
Funcin Resultado
ORD(x$)
CHR$(x) Carcter representado por x nmeros ASCII.
Posicin normal de x$ en el grupo de caracteres ASCII.
NUM(x$) Valor numrico en IEEE en la cadena de caracteres x$ de 8
bytes.
STR$(x)
NUM$(x) IEEE de 8 bytes equivalente del valor numrico x.
Cambia un nmero x a una cadena de caracteres.
- 660 -
Funciones Internas en True BASIC... Anexo IV.
Funcin Resultado
TRIM$(x$)
RTRIM$(x$)
LTRIM$(x$)
UCASE$(x$)
LCASE$(x$) Cambiar letras a minsculas.
Cambiar letras a maysculas.
Remover espacios anteriores.
Remover espacios posteriores.
Remover espacios anteriores & posteriores.
REPEAT$(x$,n) x$ repetido n veces.
Funcin Resultado
FUNCIONES EN ARREGLOS
Funcin Resultado
UBOUND(A,n)
LBOUND(A,n)
DOT(A,B)
DET(A) Determinante de la matriz cuadrada A.
Producto de punto de vectores A y B.
Margen inferior de dimensin n para arreglo A.
Margen superior de dimensin n para arreglo A.
- 661 -
Tras los pasos de un... Hacker
Funcin Resultado
- 662 -
Funciones Internas en True BASIC... Anexo IV.
FUNCINABS
ABS(expresin_numrica)
FUNCINACOS
ACOS(expresin_numrica)
FUNCINANGLE
ANGLE(expresin_numrica, expresin_numrica)
ANGLE(x,y) retorna el ngulo en el sentido contrario de las agujas del reloj entre el
eje X y el punto (x,y). Ntese que x e y no pueden ser ambos cero. El ngulo ser
dado en radianes o grados dependiendo de si la instruccin OPTION ANGLE est en
RADIANES (por defecto) o GRADOS. El ngulo siempre estar en el rango -180 <
ANGLE(x,y) <= 180 (asumiendo que la instruccin normal OPTION ANGLE est en
GRADOS).
FUNCINASIN
ASIN(x)
- 663 -
Tras los pasos de un... Hacker
FUNCIN ATN
ATN(expresin_numrica)
FUNCIN CEIL
CEIL(expresin_numrica)
FUNCIN CHR$
CHR$(expresin_numrica)
- 664 -
Funciones Internas en True BASIC... Anexo IV.
CON es unafuncin de arreglo que produce un arreglo numrico que constan todos
sus elementos igualados a uno. CON utiliza con una instruccin de asignacin MAT.
FUNCIN COS
COS(x)
FUNCIN COSH
COSH(x)
FUNCIN COT
COT(x)
FUNCIN CPOS
CPOS(expresin_string_1,expresin_string_2)
- 665 -
Tras los pasos de un... Hacker
FUNCIN CPOSR
CPOSR(expresin_string_1, expresin_string_2)
FUNCIN CSC
CSC(x)
- 666 -
Funciones Internas en True BASIC... Anexo IV.
FUNCIN DATE
DATE
DATE es una funcin sin argumento, retorna la fecha actual en formato numrico
decimal YYDDD, donde YY son los dos ltimos dgitos del ao y DDD es el nmero
del da en el ao. Si su computadora no puede indicar la fecha, DATE devuelve -1.
FUNCIN DATE$
DATE$
FUNCIN DEG
DEG(x)
FUNCIN DET
DET(matriz)
- 667 -
Tras los pasos de un... Hacker
FUNCIN DOT
DOT(vector_1, vector_2)
DOTcalcula y retorna el producto punto de dos vectores, los cuales deben ser
numricos y tener el mismo nmero de elementos. (Los subndices no
necesariamente tienen que ser los mismos). Si los dos arreglos no tienen
elementos, entonces DOT retorna 0.
FUNCIN EPS
EPS(expresin_numrica)
EPS(x) devuelve el valor del nmero positivo ms pequeo que puede marcar la
diferencia cuando se suma o resta de x.
FUNCIN EXLINE
EXLINE
FUNCIN EXLINE$
EXLINE$
- 668 -
Funciones Internas en True BASIC... Anexo IV.
EXLINE$ captura la ubicacin del error recientemente ocurrido como una cadena
de caracteres. Informa el nmero de la lnea y la rutina en la cual el error ocurri.
Si el error ocurri en el interior de alguna subrutina anidada, EXLINE$ retorna la
genealoga del error, es decir, incluye los nombres de las subrutinas intermedias
y los nmeros de lnea de las instrucciones CALL correspondientes.
FUNCIN EXP
EXP(x)
Retorna el exponencial natural del argumento. Esto es, EXP(x) calcula e^x, donde
e=2,718281828..., la base de los logaritmos naturales.
FUNCIN EXTEXT$
EXTEXT$
FUNCIN EXTYPE
EXTYPE
- 669 -
Tras los pasos de un... Hacker
FUNCIN FP
FP(expresin_numrica)
IDN
IDN esuna funcin de arreglo que produce la matriz de identidad, la cual es una
matriz numrica cuadrada que consta de unos en su diagonal principal y ceros en
todas las otras posiciones. IDN se usa con una instruccin de asignacin MAT.
FUNCIN INT
INT(expresin_numrica)
Retorna la matriz inversa de su argumento, el cual debe ser una matriz numrica
cuadrada. INV debe ser usado con una instruccin de asignacin MAT.
FUNCIN IP
IP(expresin_numrica)
- 670 -
Funciones Internas en True BASIC... Anexo IV.
FUNCIN LBOUND
LBOUND(nombre_de_arreglo, dimensin_arreglo)
LBOUND(nombre_de_arreglo)
En esta funcin si existen dos argumentos, LBOUND retorna el valor ms bajo (el
lmite ms bajo) permitido como subndice en el arreglo en la dimensin
especificada por dimensin_arreglo. Si no hay un segundo argumento,
nombre_de_arreglo debe ser un vector, LBOUND retornar el valor ms bajo (lmite
ms bajo) para su subndice.
FUNCIN LCASE$
LCASE$(expresin_string)
FUNCIN LEN
LEN(expresin_string)
- 671 -
Tras los pasos de un... Hacker
FUNCIN LOG
LOG(x)
FUNCIN LOG10
LOG10(x)
FUNCIN LOG2
LOG2(x)
FUNCIN LTRIM$
LTRIM$(expresin_string)
- 672 -
Funciones Internas en True BASIC... Anexo IV.
FUNCIN MAX
MAX (expresin_numrica_1, expresin_numrica_2)
FUNCIN MAXLEN
MAXLEN (strvar)
FUNCIN MAXNUM
MAXNUM
Es una funcin sin argumento, MAXNUM retorna el nmero mayor que se puede
representar en su computadora.
FUNCIN MAXSIZE
MAXSIZE (nombre_de_arreglo)
FUNCIN MIN
MIN (expresin_numrica_1, expresin_numrica_2)
- 673 -
Tras los pasos de un... Hacker
Retorna el menor de los valores de los dos argumentos. (Nota: -2 es menor que
-1).
FUNCIN MOD
MOD(expresin_numrica_1, expresin_numrica_2)
FUNCIN NCPOS
NCPOS(expresin_string_1, expresin_string_2)
FUNCIN NCPOSR
NCPOSR(expresin_string_1,expresin_string_2)
NCPOSR(expresin_string_1,expresin_string_2,expresin_numrica_redondeada)
- 674
Funciones Internas en True BASIC... Anexo IV.
FUNCIN DE ARREGLONUL$
NUL$ arreglo_redimensionado
NUL$
FUNCIN NUM
NUM (expresin_string)
NUM retorna el valor numrico que est almacenado como una cadena de
caracteres, la cual debe contener exactamente ocho caracteres, usando el formato
IEEE de ocho bytes. Previamente, la cadena de caracteres debera construirse
con la funcin NUM$.
- 675 -
Tras los pasos de un... Hacker
FUNCIN NUM$
NUM$(x)
NUM$retorna una cadena de caracteres con ocho caracteres que contiene el valor
numrico correspondiente a x expresado en el formato IEEE de ocho bytes.
FUNCINORD
ORD(expresin_string)
FUNCIN PI
PI
Es una funcin sin argumento, PI retorna el valor del nmero pi, que es el valor
de la relacin matemtica del radio de una circunferencia a su dimetro
(aproximadamente igual a 3,14159265).
- 676 -
Funciones Internas en True BASIC... Anexo IV.
FUNCIN POS
POS(expresin_string_1, expresin_string_2)
FUNCIN POSR
POSR(expresin_string_1, expresin_string_2)
- 677 -
Tras los pasos de un... Hacker
FUNCIN RAD
RAD(x)
FUNCIN REMAINDER
REMAINDER(expresin_numrica, expresin_numrica)
FUNCIN REPEAT$
REPEAT$(expresin_string, expresin_numrica_redondeada)
FUNCIN RND
RND
- 678 -
Funciones Internas en True BASIC... Anexo IV.
FUNCIN ROUND
ROUND(expresin_numrica, expresin_numrica_redondeada)
ROUND(expresin_numrica)
FUNCIN RTRIM$
RTRIM$(expresin_string)
FUNCIN RUNTIME
RUNTIME
FUNCINSEC
SEC(x)
- 679 -
Tras los pasos de un... Hacker
FUNCINSGN
SGN(x)
FUNCINSIN
SIN(x)
FUNCINSINH
SINH(x)
FUNCINSIZE
SIZE(nombre_arreglo, dimensin_arreglo)
SIZE(nombre_arreglo)
- 680 -
Funciones Internas en True BASIC... Anexo IV.
FUNCINSQR
SQR(x)
SQR(x) retorna la raz cuadrada positiva de x, donde x debe ser mayor que o igual
que cero.
FUNCINSTR$
STR$(x)
FUNCINSTRWIDTH
STRWIDTH$(nmero_de_ventana, expresin_string)
FUNCINTAB
TAB(expresin_numrica_redondeada)
TAB(expresin_numrica_redondeada, expresin_numrica_redondeada)
- 681 -
Tras los pasos de un... Hacker
FUNCINTAN
TAN(x)
FUNCINTANH
TANH(x)
FUNCINTIME
TIME
- 682 -
Funciones Internas en True BASIC... Anexo IV.
FUNCINTIME$
TIME$
Es una funcin sin argumento, TIME$ retorna una cadena de caracteres que
contiene el tiempo medido en el formato de 24 horas de reloj, y es visualizado en
la forma HH:MM:SS.
FUNCINTRIM$
TRIM$(expresin_string)
FUNCINTRUNCATE
TRUNCATE(expresin_numrica, expresin_numrica_redondeada)
- 683 -
Tras los pasos de un... Hacker
FUNCINUBOUND
UBOUND(nombre_arreglo, dimensin_arreglo)
UBOUND(nombre_arreglo)
Los dos argumentos retornan el valor mayor (lmite superior) permitido para el
subndice en la dimensin especificada por dimensin_arreglo en el arreglo
nombrado.
FUNCINUCASE$
UCASE$(expresin_string)
FUNCINUSING$
USING$(expresin_string, expr ..., expr)
USING$ retorna la cadena de caracteres que sera producida por una instruccin
PRINT USING. Necesita una expresin string como el formato para la de cadena de
caracteres y con expr como expresiones numricas o de cadenas de caracteres a
ser impresas.
- 684 -
Funciones Internas en True BASIC... Anexo IV.
FUNCINVAL
VAL(expresin_string)
FUNCIN DE ARREGLOZER
Zer nombre_arreglo
ZER
ZER es una funcin de arreglo que produce un arreglo numrico que es llenado
enteramente de ceros. ZER puede utilizarse slo con una instruccin de
asignacin MAT.
- 685 -
Tras los pasos de un... Hacker
- 686 -
ANEXO V. EXPLICACIN DE LOS MENSAJES DE ERROR
Este anexo contiene una lista parcial de los mensajes de error en True BASIC, en
orden alfabtico. Los mensajes de error referentes a instrucciones o funciones
especiales no presentadas en este libro se omiten.
El argumento para la funcin seno, coseno o tangente es tan grande que los
resultados de la reduccin de la serie pierden completamente la precisin del
ngulo.
Usted est invocando una rutina con algunos argumentos, pero antes en su
programa usted defini o invoc la misma rutina con diferentes argumentos. O
est ingresando un nmero diferente de argumentos en las invocaciones o sus
tipos son diferentes - quiere decir que usted est pasando cadenas de caracteres
en vez de nmeros o viceversa. Revise esta invocacin contra las invocaciones
precedentes y contra la definicin de rutina o funcin.
- 687 -
Tras los pasos de un... Hacker
Cuando est intentando encontrar una cadena de caracteres que contiene una
coma o comillas, usted debe encerrar la cadena de caracteres entera entre
comillas. (Estas reglas son las mismas que para las cadenas de caracteres en las
respuestas INPUT o instrucciones DATA).
La respuesta desde un archivo hacia una instruccin INPUT est mal definida.
- 688 -
Explicacin de los Mensajes de Error... Anexo V.
Cant continue.
No se puede continuar.
Usted est usando la funcin matricial INV, pero la matriz que usted quiere
invertir es singular.
- 689 -
Tras los pasos de un... Hacker
Usted no puede escribir datos hacia un archivo que fue abierto con ACCESS INPUT.
Si usted debe enviar datos hacia este archivo, cambie en la instruccin OPEN por
ACCESS OUTIN.
Mueva la instruccin OPEN SCREEN o SET WINDOW hacia fuera del cdigo que define el
cuadro.
- 690 -
Explicacin de los Mensajes de Error... Anexo V.
El archivo es un archivo de texto, los comandos permitidos son PRINT, INPUT y LINE
INPUT.
True BASIC tambin imprime este mensaje si usted agrega una instruccin
externa entre la lnea de SELECT CASE y su primera parte CASE. Remtase a los
captulos apropiados de este libro para ver cmo se forman las estructuras de
control en True BASIC.
- 691 -
Tras los pasos de un... Hacker
Ha usado una instruccin de ventana con un nmero de canal que tiene que ver
con un archivo.
Todos los nmeros de canales deben estar en el rango del 1 al 1000, excepto el
#0 que est relacionado con la Ventana de Salida por defecto de True BASIC.
Usted ha usado una variable numrica en una instruccin READ pero el tem
correspondiente DATA no es un nmero.
- 692 -
Explicacin de los Mensajes de Error... Anexo V.
La funcin DET slo puede ser usada con una matriz cuadrada, ya que el
determinante est matemticamente definido slo por dichas matrices.
Diskfull. (9006)
Disco lleno. (9006)
Usted ha abierto un archivo, pero mientras True BASIC lo estaba usando, usted
quit el disquete e insert otro.
Una de sus expresiones numricas trat de dividir alguna cantidad para cero. Si
quiere sustituir el mayor nmero posible y continuar (sin un error), controle la
expresin en una estructura WHEN.
WHEN ERROR IN
USE LET x = (1+2+3)/0
LET x = Maxnum
END WHEN
MAXNUM es una funcin de True BASIC que retorna el nmero positivo ms grande
que se puede definir en su computadora.
- 693 -
Tras los pasos de un... Hacker
True BASIC le proporciona este recordatorio cuando usted trata de cerrar una
Ventana de Edicin o Salir de su sesin de True BASIC sin haber grabado su
cdigo fuente actual. Conteste Guardar (Save) si quiere guardar el archivo
(reemplazado la copia guardada), Descartar (Discard) si quiere descartar sus
cambios o Cancelar (Cancel) si quiere hacer algo ms (por ejemplo, guardar el
archivo con un nombre diferente). Si est escribiendo la respuesta, usted puede
abreviar cualquiera de estas contestaciones a una letra.
- 694 -
Explicacin de los Mensajes de Error... Anexo V.
Expected thing.
Se espera algo.
Las matrices identidad son cuadradas. Por lo tanto, cuando usted use la funcin
IDN(x,y) debe asegurarse que se cumpla x=y.
Illegal data.
Dato ilegal.
- 695 -
Tras los pasos de un... Hacker
Illegal expression.
Expresin ilegal.
El cursor seala algo en una expresin que no sigue las reglas de True BASIC.
Illegal keyword.
Palabra clave ilegal.
El cursor seala una palabra que no tiene sentido en ese lugar. Por ejemplo,
usted ha olvidado agregar LINES, AREA o CLEAR en una instruccin BOX. Busque la
instruccin en la gua de usuario y corrija su programa.
Usted puede tener una lnea no numerada en un programa que usa lneas
numeradas o viceversa o GOTOo GOSUB para un nmero de lnea que no existe o uno
en una estructura de control.
Puede ser que haya definido un nmero de lnea incorrecto (ms de 6 dgitos). O
una lnea con un nmero menor que o igual a la lnea anterior.
- 696 -
Explicacin de los Mensajes de Error... Anexo V.
Illegal number.
Nmero ilegal.
El cursor seala algn lugar donde se requiere un nmero pero usted ha digitado
algo ms. Si ha escrito un nmero ah, asegrese que ha seguido las reglas de
True BASIC en cuanto a constantes numricas.
Algunas veces True BASIC es muy estricto en relacin de lo que aceptar como
nmero: por ejemplo, slo constantes enteras se permiten como lmites de
arreglo en instrucciones DIM o como nmeros de lnea.
Illegal option.
Opcin ilegal.
Las nicas opciones apoyadas en True BASIC son OPTION ANGLE, OPTION BASE, OPTION
NOLET y OPTION TYPO. Asegrese de que ha deletreado apropiadamente ANGLE, BASE,
DEGREES, RADIANS, NOLET o TYPO. (True BASIC tambin soporta OPTION ARITHMETIC,
OPTION COLLATE y OPTION USING, las dos primeras se ignoran).
Illegal parameter.
Parmetro ilegal.
Usted ha escrito una lnea SUB, DEF o PICTURE para definir una rutina. Hay algn
problema con uno de los parmetros de la lista de parmetros. Usted puede
haber listado un parmetro dos veces, o usado algo ms complicado que un
simple nombre de variable.
Illegal statement.
Instruccin ilegal.
Cada instruccin debe empezar con alguna palabra clave de True BASIC, como
LET o SELECT. Chequee para asegurarse que ha deletreado la palabra clave
correctamente.
- 697 -
Tras los pasos de un... Hacker
Illegal statement: need LET for assignment, or try the NOLET command.
Instruccin ilegal: necesita LET para asignacin, o intente con el comando
NOLET.
True BASIC requiere que usted use la palabra LET cuando defina o asigne una
variable.
La funcin inversa de una matriz est definida slo para matrices cuadradas.
Usted est tratando de usar la funcin INV en una matriz no cuadrada. Asegrese
de que su arreglo es bidimensional, con el mismo tamao en cada dimensin.
- 698 -
Explicacin de los Mensajes de Error... Anexo V.
Usted est usando una instruccin MAT que requiere arreglos del mismo tamao,
pero los arreglos son de diferentes tamaos. Por ejemplo, la adicin de matrices
requiere que los dos arreglos agregados juntos tengan los mismos tamaos. La
multiplicacin de matrices requiere que la segunda dimensin de la primera
matriz debe ser igual a la primera dimensin de la segunda matriz.
Usted est usando una instruccin MAT con arreglos de cadena de caracteres, y los
arreglos no son del mismo tamao.
- 699 -
Tras los pasos de un... Hacker
Su programa no finaliza con una instruccin END. Todos los programas en True
BASIC deben terminar con una instruccin END. Agregue una instruccin END y
pruebe de nuevo.
Usted ha escrito una lnea DEF o FUNCTION, pero ningn nombre de funcin vlido
utiliza DEF o FUNCTION.
Must be a number.
Debe ser un nmero.
True BASIC permite expresiones numricas casi en todas partes en que los
nmeros simples se admiten, pero hay algunas excepciones. Por ejemplo, las
evaluaciones en la estructura CASE pueden no usar expresiones numricas. Slo
las constantes numricas son permitidas. Si usted debe usar una expresin,
reescriba la estructura SELECT CASE como una estructura IF-THEN-ELSE.
- 700 -
Explicacin de los Mensajes de Error... Anexo V.
Must be a variable.
Debe ser una variable.
Usted ha usado una expresin, o un nombre de rutina, donde slo debe existir
una variable. Por ejemplo, usted debera usar variables en instrucciones LET e
INPUT. Busque la instruccin en este libro para asegurarse que la est usando
correctamente. Tambin asegrese de que la variable que est usando no ha sido
definida como subrutina, cuadro, funcin o arreglo.
Must be an array.
Debe ser un arreglo.
Hay muchos sitios en un programa en True BASIC donde usted debe usar un
nombre de arreglo, en vez de una variable ordinaria. Por ejemplo, las
instrucciones MAT trabajan solamente con arreglos. Varias funciones, tales como
LBOUND y SIZE, tambin trabajan slo con arreglos. Asegrese de que ha deletreado
los nombres de los arreglos correctamente y que ha definido el arreglo con una
instruccin DIM.
- 701 -
Tras los pasos de un... Hacker
Usted no puede usar el mismo nombre para dos cosas diferentes. De este modo,
si usted tiene una variable llamada X, usted no puede tener una subrutina o
arreglo llamado igualmente X. Renombre una de las definiciones, de modo que
todo tenga su propio y nico nombre.
True BASIC tambin alerta con este mensaje cuando usted trata de usar una
palabra clave como una variable. (True BASIC reserva muy pocos nombres.
Adems de los nombres de las funciones sin argumento, True BASIC reserva
solamente ELSE, NOT, PRINT y REM).
No help directory.
No existe directorio de ayuda.
- 702 -
Explicacin de los Mensajes de Error... Anexo V.
No main program.
No existe programa principal.
Usted est usando la instruccin SET COLOR con algn nombre de color que True
BASIC no reconoce. Puede dar nombres de color en maysculas o minsculas,
pero no use espacios adicionales entre los nombres.
Usted est intentando usar un archivo que no existe. Puede ser alertado con este
mensaje de error cuando usa varios comandos (tales como OLD), o desde un
programa. Chequee y asegrese que deletre el nombre del archivo
correctamente y asegrese tambin de haber insertado el disco adecuado en su
computadora. Use el comando FILES para ver si ese archivo existe en un disco.
- 703 -
Tras los pasos de un... Hacker
Not FOUND.
No se encontr.
Usted ha usado el men FIND para buscar alguna palabra o frase, pero no fue
encontrada. Consulte la gua de usuario destinada a la seccin FIND para
asegurarse de haber ingresado una bsqueda de la frase correctamente. Le ha
solicitado buscar la palabra completa? Es este un caso en que las letras deben
coincidir?
Recuerde que True BASIC busca desde donde usted est en el programa hasta el
final y luego se detiene.
- 704 -
Explicacin de los Mensajes de Error... Anexo V.
Overflow. (1002)
Desbordamiento. (1002)
- 705 -
Tras los pasos de un... Hacker
Usted ha usado una constante numrica que define un nmero muy grande, como
en LET x = lE1000.
- 706 -
Explicacin de los Mensajes de Error... Anexo V.
Cuando cambie una frase en la Ventana de Comando, usted debe ingresar la frase
anterior y su reemplazo. Si la frase contiene una coma o comillas, encierre la
frase completa entre comillas.
Usted probablemente intent ejecutar el comando ECHO sin la palabra clave TO.
Usted debe ingresar un nombre de archivo vlido cuando use el comando INCLUDE.
Reescriba el comando, utilizando el nombre del archivo a incluir.
- 707 -
Tras los pasos de un... Hacker
Usted debe ingresar un nombre de archivo vlido cuando use el comando OLD en
la Ventana de Comando. Reescriba el comando, utilizando el nombre del archivo
a ser ledo.
- 708 -
Explicacin de los Mensajes de Error... Anexo V.
Program stopped.
Programa detenido.
Usted ha ejecutado una instruccin READ pero no tiene datos que leer. Record
utilizar una instruccin DATA? Revise y asegrese que ha definido tantos datos
como espera utilizar. Puede encontrar de uso prctico la evaluacin de la
instruccin MORE DATA para resolver el problema de leer cantidades variables de
datos.
Usted est usando la funcin REPEAT$(s$,n) pero n es menor que cero. Revise y
asegrese de que ha escrito el nombre de variable correcto.
Los lmites definidos en una instruccin OPEN SCREEN deben permanecer dentro del
rango de 0 a 1 (inclusive). No importa cun grande sea su pantalla, los bordes
- 709 -
Tras los pasos de un... Hacker
Usted est intentando utilizar SIZE(A,3) por ejemplo, cuando el arreglo A tiene
menos de tres dimensiones. Revise la instruccin DIM correspondiente para ver
cuntas dimensiones tiene el arreglo. El segundo argumento debe estar entre 1 y
este nmero.
Los archivos de ayuda no estn donde True BASIC espera encontrarlos. O estn
borrados o estn en otro directorio.
- 710 -
Explicacin de los Mensajes de Error... Anexo V.
Usted ha ingresado un subndice de arreglo que supera los lmites definidos para
el arreglo. Intente presentar el subndice y luego use LBOUND y UBOUND para
verificar los lmites del arreglo.
System error.
Error del sistema.
- 711 -
Tras los pasos de un... Hacker
Utilice el comando FORGET, cuando desee liberar (olvidar) memoria ocupada por
comandos recientes o por las rutinas cargadas y recupere tanta memoria como
pueda. Slo digite FORGET. No agregue nada ms.
Cuando no quiera utilizar la palabra clave LET en las instrucciones LET, slo teclee
No agregue nada ms.
NOLET.
El cursor seala algo que es evidentemente un arreglo o una funcin. Pero True
BASIC no puede diferenciar cul es? Asegrese de agregar una lnea DIM o
DECLARE DEF antes de esta lnea, de modo que True BASIC sepaqu es?
- 712 -
Explicacin de los Mensajes de Error... Anexo V.
True BASIC tiene problemas al usar uno de sus discos o su impresora. Este
mensaje se presenta por varias razones en diferentes computadoras. Revise para
asegurarse que el botn encendido se ha presionado en la impresora, que hay un
disquete en su unidad de disquete, que su impresora tiene suficiente papel y que
no est atascado, que los cables estn bien conectados o cosas como esas.
- 713 -
Tras los pasos de un... Hacker
Usted ha intentado invocar una rutina llamada name dentro de una rutina. Sin
embargo, usted configur equivocadamente los argumentos para esta invocacin.
Estos no coinciden con la lista de parmetros definida. Debe ingresar el mismo
nmero de argumentos como el tipo de parmetros y estos deben ser escritos en
el mismo orden. Revise convirtiendo los nmeros a cadenas de caracteres o
viceversa. Asegrese tambin de que no est tratando de usar una funcin como
una subrutina o viceversa.
Revise para ver que haya deletreado el nombre correctamente y que incluy una
instruccin LIBRARY para cargar el archivo que contiene esta rutina. True BASIC
alerta en el programa PRINCIPAL si este error ocurri en su programa
principal.
Unknown variable.
Variable desconocida.
- 714 -
Explicacin de los Mensajes de Error... Anexo V.
Usted est usando OPTION TYPO para revisar errores de deletreo y ha encontrado
un nombre de variable que no se ha declarado en ninguna parte.
De otra manera, agregue una instruccin LOCAL que liste esta variable o incluya la
variable de manera correcta en una instruccin DECLARE PUBLIC o SHARE.
Usted ha utilizado la funcin VAL pero la cadena de caracteres que usted ingres
no representa propiamente un nmero.
Usted ha digitado un comando que True BASIC no tiene definido. Si quiere ayuda
adicional en su computadora, slo teclee HELP en la Ventana de Comando o use el
men Ayuda (Help) para obtener ms instrucciones.
Usted puede abreviar los comandos a tres letras pero no menos de tres.
- 715 -
Tras los pasos de un... Hacker
Wrong type.
Tipo de dato equivocado.
- 716 -
Explicacin de los Mensajes de Error... Anexo V.
todas las invocaciones a esa rutina y cambie esos nombres tambin. True BASIC
de alertar en el programa PRINCIPAL si el error ocurri en su programa
principal (antes de la instruccin END).
- 717 -
Tras los pasos de un... Hacker
- 718 -
NDICEALFABTICO
- 719 -
Tras los pasos de un... Hacker
- 720 -
ndice Alfabtico...
artculo
artes -185-,-526
Artificial
ASK
ASCII, deldeHacker,-488-
ASIN,-659-,-663
Artificial
CURSOR, muerte,
- 631
DIRECTORY,
#n:
COLOR,
COLOR
BACK, 631
- 631
- --30-
intelligence. -- -631
ACCESS,-630-
DATUM,-630-
ERASABLE,
FILESIZE,-630-
FILETYPE,
MARGIN,
POINTER,
RECORD,
RECSIZE,-630-
RECTYPE,
SETTER,-631
ZONEWIDTH,
-MIX, 630
630-
- 631
630-
-630-
- -630
-Vase - -631-
Inteligencia
-- ataque por la fuerza bruta, -516 -
Atlas Software B.V., -499
ATN,- 191 -, -659-,-664
Autentificacin. Vase Autenticacin
Authentication. Vase Autenticacin
autodidacta, - 227
AUTOEXEC.BAT,-462 -
automvil, - 221 -
aventuras informticas, -29
AVR,-527
AY-3-8910, -206
BASICA, -59-,-208-,-528
GW-BASIC, -59-,-208
MSX BASIC, -207-,-208-,-255
Power BASIC, -237
Quick BASIC, -208-, -567
True BASIC, - 61 -, - 145 -, -208-, - 228 -, -
236-, - 238 -, -240-, -265 -, - 266-, -
282 -, - 295 -, - 296-, - 314 -, -315-, -
324-, -329-,-337-, -356-,-362-, -
430-,-444 -,-447-, -572-,-593 -, -
629 -, - 630 -, - 631 -, - 633 -, - 635 -, -
650 -, - 654 -, - 655 -, - 656 -, - 659 -, -
669-, - 678 -, - 687-, - 689-,-690-, -
691 -, - 693-, - 694 -
- 721 -
Tras los pasos de un... Hacker
Brian
Bhm
bombardeo
Bell
Bit
BCPL,
Basit, Kernigham,
BROWN,-655-
BOX
boot
bounce.
bitio.
BLACK,
BLUE,
booleano,
BASIC
Basic
binary
bit,
Beginners
baud.
baudio,
Benjamn Jacopini,-234
--528
Berkeley,-57-
binario,
Turbo
-Telephone postal.
BBS,-347-,-463-,-528
Bernt
Bill526-,
Code,
Cracker,
Gates,
70-,
sector,
-Fix,
-457-
-655-
64- -59-,
Input/Output
FORTRAN,-56-
Vase
SHOW,
AREA,
CIRCLE,
CLEAR,
DISK,
ELLIPSE,
KEEP,
LINES,
Vase -71-,
BIOS,-54-,-219-,-528-
-528-,
73
655
--457-
--59-
71
189-,
-490-,-492-,
-,
-457-,
yestructurado,
digit,
-Vase --631-,-636
631-,-632
631
--,
-77-,
BASIC,-208-,
Franklin,
All-purpose
bit
-baudioVase
631
Rebote -182-
64-
-5-
---529-,-583-
631
-182
--,
631
215
-,-476-,
--105
Laboratories-,635
235
System.
Vase -,Symbolic
-,-636
635
-BASIC--,--573-
635-
-184-,
--636
351Inc,-63-,
BIOS--528-
-502-,-529-
529-
-Mail
-Vase217-,
--Bombing 218 -, -
Instruction BSA, -529
Bubble Sort, -391 -
Bucanero, - 529
bucle, -247-, -299
Bucles anidados, - 300
bucles determinados, - 299 -
Bucles determinados e indeterminados, - 299 -
bucles indeterminados, - 299 -
bug, -475-, Vase Error
bulbos, -43 -
Bulletin Board Systems. Vase BBS, Vase BBS
BUNCH,-46
Burroughs, -46-, -529
BUS DE DATOS, -212-, -213-, -215-,-217-, -
530 -
MICROCANAL, -217
PCI,-217
USB, -217
Business Software Alliance. Vase BSA
bsqueda binaria, -434-, -435-, -436-, -437
-, -438 -, - 440-, -441 -
bsqueda secuencial, - 429
Byte, -70-, -182-, -183-, -184-, -185-, -429
-, -458 -, -468-, -476-, -530-, -541 -, -
581 -, -584-, -587-, -588-,-590-,-591-,
- 608 -
bytecode,-65-,-530
boom,
boot disk,
-448-
- 348 C
C, -54 -, - 63 -, - 64-, - 236-, - 237-, -530
C. A. R. Hoare, -394 -
C++, - 64-,-593 -,- 607
C3I2,-492-,-494-,-530
CABALLEROS DEL SILENCIO, -3-,-494 -
Caballo de Troya, -473-, -474
cacera de brujas,-32
CAD, -53-,-530
cadena, - 238 -
cadete, - 257
clculo del MCD, -228
clculos matriciales,-356
browser, - 529 CALL, - 631 -, - 636 -
Bruce Sterling, -349- CallBack, -493
- 722 -
ndice Alfabtico...
- 723 -
Tras los pasos de un... Hacker
- 724 -
ndice Alfabtico...
- 725 -
Tras los pasos de un... Hacker
- 726 -
ndice Alfabtico...
- 727 -
Tras los pasos de un... Hacker
Federal
Fifth
firma
fig Code.
file.
EXP,
EXLINE,de
Generation,
EXLINE$,
Extendedcaracterstica,
EXTEXT$,-
EXTYPE,
FBI,
Exponente,Bureau
-32-,
-191
Expresiones
EXIT
Exabyte,
expresiones
EXTERNAL,
Fabricacin
fichero.
Fidel
Fase
FAT,
File
FindVirus,
finger,
Finitud,
firewall,
Fallo
fila,-355-
CAM -184-,
-544
-348-,
-232-
--544
-668-
669-
FORTH,-59-
Transfer
Allocation
Vase --192-
Asistida
Valencia,-487-
PICTURE,
SUB,
DEF,-631-,-641
DO,
FOR,
FUNCTION,
HANDLER, ofCoded
-,-350-,-494
668-
-469-
669-
-456-, -543
-463-
629-,-642-
-629-,-642-
659-,
631-,-642-
631 -472
-incubacin/propagacin,
destruccin,
creacin,
Vase
seguridad,
Vase
Binary
Archivo
informticas,
-lgicas,
-Protocol.
-Table.
Archivo
EBCDIC -FDecimal
-,--473-,
--215
por
448-
Vase
631
643 --192-
--475
FTP- Interchange
--460-,-480-,-543-
633-
631
--472
669-
--,-,Computadora.
Investigations.
Vase -544
-642-
FAT, Vase
-472-
-Vase FBI
FAT
Vase firma del programa instalado, -487
firma digital, -545
firmas de los programas instalados,-487
firmas de virus, -479-,-487
firmas de virus conocidos,-487
FIRMWARE, -223-,-545 -
fisgonear, -491 -
FLOOD, - 631 -, - 643 -
floppy disk. Vase Disquete
Flujo Simtrico, - 520
FOR, -247-, - 629
Formas de infeccin, -476 -
Formas de ocultamiento, -478 -
FORMAT, -348
formatear, -348-,-349
formateo accidental, -349
FORmula TRANslation, -55-, Vase FORTRAN
FORTH, -54-, -58-, -59-, -545
FORTH Interest Group, -59
FORTH-79, - 59 -
FORTH-83, -59
FORTRAN, -54-, -55-, -56-, -59-,-234-, -
545 -
FORTRAN I,-55
FORTRAN II, -56
FORTRAN III, -56
FORTRAN IV, -56
fotografa perforada, -39
FOuRTH -generation language, -58
FOuRTH-generation language. Vase FORTH
FP, -659-,-670
F-prot, -496
Frankfurt, -501 -
Franz Swoboda, -457
FranzLisp, -57
frecuencia, - 216-
Fred Cohen, - 455 -,-545
Fred Vogel, -460
Frederick B. Cohen, - 455 -
Free Software, -545
freeware, -545 -
FTP, -494 -,-546 -
FTP annimo, -546
fuerza bruta,-516-, -521 -,-587-, -591 -
- 728 -
ndice Alfabtico...
- 729 -
Tras los pasos de un... Hacker
- 730 -
ndice Alfabtico...
Ken
K. E. van
ISO, C,
Kaspersky
jugo
K&R 64-
ISP,-347-,-552
iteracin,
Irdeto,
IPL,-476-
Batcher,
nocivo,
Iteracin
Iteraciones
Ivn
IPaddress.
Ironman, Wyk, -451
-185-,-552-
--552-
DO,
FOR, ---458-
-391
--239-,
62-349-639-
643-
--247-
Antivirus,-519-
Franco,yVase
bucles, K IP
- - -299-
Direccin Kevin Mitnick, -350-,-553
Key, -554 -
key logger, -514 -, -515 -
Keystroke. Vase Pulsacin
KeyGenerator, -554 -
Keyword, -554 -
Kilobyte, -70-, -184-, -554 -
Kitab al jabrwal-muqabala, -231
Know How, -494 -
Knuth, -227-, -256
L
J La funcin h, -584
Java
Jefe
John
Java,
J.M.
Jan Phillips,-516
G. Kemeny,-59-,-60-,-207-,
-,de
Vincent
J. Presper
von
- de
Backus,
64 los
468-,
- 55-57-
Eckert,
-- 65-,
62 --553-
-Process,
449-
--41
-467-- 42
-552
- Vandebult,-497-,-507-
Jerarqua
jardnde Neumann,
McCarthy,
Tardy,
Buchanan, Atanasoff,
Sistemas,
Ishbia,
Community --40-
-,--42-,
operadores,
infantes,-205 -192-
-,--65-,-552-
211
-44 -227-
-, -- 233 -, -454 La informacin, - 181 -
La voz de la capital, -513
laboratorio de informtica, - 378 -, -
413 -
lado oscuro, -453 -
Lady Ada Augusta Byron de Lovelace, -38-, -
62 -
Lamer, -554 -
LAN,-53-, -554 -
laptop, -52
Large Scale Integration. Vase LSI
lser, -222 -
lazo, - 247
LBOUND, - 661-, - 671 -
LCASE$, - 661 -, - 671 -
LCD, -52-, -70-,-555 -
Leibnitz, - 231 -
Joseph
John
Joke,
juegos
Juegos de
Marie
W.
-553
Mauchly, -41 -, -223-
computadora,
Guerra,-350 -42-, -44 -
- Jacquard,-38- LEN, - 661 -, - 671 -
lenguaje de alto nivel, -53-, -54 -
lenguaje de bajo nivel, -53-,-54
lenguaje de programacin, -53-, -227-, -232
-
lenguaje ensamblador, -223-, -447
lenguaje mquina, -53-, -54 -, -234-,-555 -
Leonardo Da Vinci, -36 -
LET, - 145-, -239-, -244 -, - 245-, -246-, -
249-,-250-,-251 -, -629-,-645
Letizia Ramolino, - 31 -
Ley Asociativa, -169
Ley Clausurativa, -169
- 731 -
Tras los pasos de un... Hacker
librera
Librera
libertad
LIBRARY, - 631
Ley Distributiva,
Leyes
Conmutativa,
delde -169-
170-
de --,mtodos
condicional,
lgebra
funciones- 645
de y350-
-Boole, de -365 -
- -169-
subrutinas, Macintosh,-52-,-456-, -557
MACLISP, -57
MacMag, -456 -
macrocomputadora, -49-,-52
MAGENTA, -655
Mail bombing, -557
Mail Server. Vase Servidor de Correo
Licencia
ordenamiento, -413
Pblica General de -GNU. Vase GNU Electrnico
mainframe, -49 -, -50-
LISt
lgica,
LOG10,
LOG2,
Local
LOG,
LINE
Linux,
Liquid
LOCAL,
GPL --147-
linker,-53-
LISP
LN,
LISP,-54-,
-191
1.5.,-57-
-191
236-,
659-,-672-
- -659-,
631
-,-57-,
Processing. -555
Processing,-57-
Area
Crystal
-INPUT
INPUT,
Network. -58-,
- Display.
Vase -Vase
LISP
-,659-,-672-
-630-,-646-
672-
646
-#n:,-630- LCD
- 63-,-556-
- Vase LAN malos fines, -453
Malware, -558 -
Manejador. Vase Controlador
Manufactura Asistida por Computadora.
Vase CAM
mquina analtica, -37-, -558
mquina de estado finito, -581 -, -591 -
mquina diferencial, -37-, -558
Mquina Enigma,-591 -
mquina polimrfica, -468
mquina virtual, - 65 -
Mark I, -558
Mark Washburn, - 462 -
MASM, -296-, -492-,-558
Masouf Khafir,-467-, -558
Massachusetts Institute of Technology, - 62-,
Vase MIT
lgica binaria, -147- Master Boot Record. Vase MBR, Vase MBR
LOGO
LOGO,
LOOP,Grfico,-
--54-,
lgica248 63--62-,
del -,algoritmo,
-58-,
- 249-, -264-
- 250-,
- 63-,-296-,
- 251 -, - 629-,
-556-- MAT, - 632
MAT INPUT, - 630-,- 632-, - 647
MAT INPUT #n:,-630
MAT LINE INPUT,-630-,-632-, - 647
Lord - -490-,-492-,-502-,-514-,
Byron,-62
lORdByte,
646 - -518 MAT LINE INPUT #n:,-630
MAT PLOT, - 631
MAT PLOT AREA, - 631 -, - 632 -
Lucifer
LSI,-,-556-
-47-,
LTRIM$, Messiah, -468- Integrado
661-,-672-
-Vase Circuito MAT PLOT LINES,-631 -, - 632
MAT PLOT POINTS, - 631 -, - 632 -
MAT PRINT,-630-,- 632-, - 647
MAT PRINT #n:,-630
M MAT READ, - 630-,-632 -, -648
MAT REDIM, - 632
MAT WRITE, - 632
Mac,-236-, S.A., -519-
-557-
M.D. Technology matemtica, - 35 -, -355 -
materia hmeda. Vase Wetware
MAC, -493-, -556
- 732 -
ndice Alfabtico...
MD
Media
MBR,
MCD,
mcm,
memoria
Memoria,
Memorias
mensaje
Mensaje
Megabyte,
Mensajes
mtodo,
MAX,
MAXLEN,
MAXNUM,
MAXSIZE,
Mauborgne
matriz,
matriz Cifrado.
de
-de
---466-,
-228-
659-,
228
-355
Technology
Lock,-508-, -70-,
cuadrada,
Access laError,
descifrado,
cifrado,
Descifrado.Vernam,
-35-,-36-,-37-,
--ROM,
RAM,
673- -181-
-310-,-659-,-673
673
213 --476-,
673-
--,S.A.,
-219-
-218-
--514-181-
-184-,
-687-
-508-,-514
362
215
- yalmacenamiento
Control. --,--519-,-581
-558-
computadora,
-Vase
Vase
Vase -559-216-
-558-
-95-,
Cifrado -,Vase
-558-
- -218-
- - -96-,
Descifrado
MAC,
temporal, -99-,
MAC mtodo de ordenamiento, - 376 -
mtodo de ordenamiento por
insercin, -438 -
mtodo de seleccin, -415 -
mtodo de seleccin directa, -403 -
mtodo de Shell, -384 -, - 385 -, -414
mtodo Heap Sort, - 407
mtodo iterativo y recursivo, -228
mtodo paralelo de Batcher, -391 -, -392-,
414 -
mtodo por insercin, -380
mtodo por intercambio,-388
mtodo por seleccin, -401 -
mtodo propio de clasificacin, -374
mtodo Quick Sort, - 394 -, - 395 -, -414 -
microcomputadora,-51-,-52-,-59 -
microcontrolador, -58-, -559 -
microprocesador, -47-, -51 -, -53-, -58-, -
146-, - 213 -, - 214 -, - 223 -, -447-, Vase
CPU
Microprocesadores Intel x86, -559 -
Microsoft
Assembly Language, -296 -
Microsoft Corporation, -59-, -296-, -349
-,-480-,-492-, -519-,-559-,-607
- 100-, - 112 -, - 114 -, -117-, - 121 -, -122 Office, -59-,-474 -
-, - 147-, -220-, - 227-, - 228-, - 231 -, - Outlook, -470 -
261 -, - 275-, -280-, - 292 -, -319 -, -324 -, Outlook Express, -475 -
-365 -, -367-, -373-, -374-,-375-, -376 Windows XP, -519
mtodo de bsqueda
-,- 380-,bsqueda en
-429-
arreglos ordenados,
-384 - combinatoria,
bsqueda, -228- - Microsoft Assembly Language. Vase MASM,
Vase MASM
Microsoft Macro Assembler. Vase MASM
Microsoft Office, -560
429 - de clasificacin
mtodo bsqueda
clculo, --409-,
232
clasificacin,
cambio, - - -429-
y--,bsqueda,
373
-559
-410-,
secuencial, -228-,-
-416- Microsoft Windows. Vase Windows, Vase
Windows
Mimetizado, -560
MIN, - 660-, - 673
minicomputadora, -50-, -52
MIT, - 62-, - 63-, -560
351 - dede
mtodo
mtodo la sacudida,
burbuja, -388-,
Heap Sort,
insercin, -416-
- -389-,
- 398-, 381
- 399 -,-414-
-, -413
-415
- - MIX,-227-, -560
MOD, - 660-, - 674
Modchip, -560
MODULE (Estructura), - 632 -
mdulo, - 263 -, -365 -
- 733 -
Tras los pasos de un... Hacker
- 734 -
ndice Alfabtico...
- 735 -
Tras los pasos de un... Hacker
pop
primer
procesador,
up,
PRINT, Good
principio
PRINT
Polica,
Polica
polgono
Pontificia -296
web,
Polimorfismo,
POP,-347-,
PPV,
247-,
-565
661-,de
-503
prepolitcnico,
Pretty
PLOT
portal
portales
POS,
POSR,
Post
potenciacin,
primera
PRIVATE,
procedimiento
Procesador,
procesador
procesadores
procesamiento,
procesar
procedimientos
48
Vase
Office
--bancario,
Nacional,
-TEXT,
POINTS,
LINES, Java,
-213-,-214
661-,-677-
mundo,-493-
USING, -de
-generacin,
dimensin,
#n:,-630- -514
informacin,
Universidad
-Protocol. -256-
-218-
-514
-249-,-250-,-251
PUCE,
145 632-
-565-
-213
-,-677--223-
-565-
-paralelos,-213-
Bernoulli,
tiro,
-Privacy. 65
--42-,
631-,-651-
--240-,
-282-
-508-
631
---,-631
recursivo,
76Vase 351
Vase
matemticos,
palabras, -207-
-220-
Vase ---325-
-,-Catlica
PUCE
-,--244--43-,
650-POP,
PGP,Vase
223-
650-
CPU -228-
Vase
-44-,
-,-,-630-,
- 245
del POP
--45-,
-, -PGP
246-,
Ecuador.652- -- PROGRAM, - 629-, - 653
programa, -41-, -42-, -43-, -45-, -46-, -50
-, -53 -, -54 -, -55-, -56-, -57-, - 145 -, -
187-, - 189-, - 190-, -191 -, -192-, -206-,
- 208-, - 209 -, - 211 -, - 214 -, - 215 -, - 230
-, -232 -, - 233 -, - 234 -, - 235 -, - 236-, -
237 -, - 238 -, - 241 -, - 243 -, -244 -, - 255 -,
-259-,-264-, -265-, -266-, -268-, -269
-, - 270-, - 272-, - 273 -, - 274 -, -277-, -
279-, -280-, -285-, -286-,-287-, -291 -,
-296-, -299-,-303-, -304-, -305-, -308
-, -310-, -311 -, -313 -, -314 -, -315-, -
316 -, -318 -, -319 -, - 320-, -321 -, -322 -,
-324 -, -325-, -327-, -328-, -329-,-330
-, - 331 -, -332 -, - 333 -, -334 -, -335-, -
336-, -337-, -338-, -339-,-340-,-341 -,
-347-, -358-, -360-,-361-,-365 -, -366
-,-369-,-373-, -374-, -375-,-378-, -
381 -, -385-, -389-,-392-,-395-, -399-,
-403 -, -406-, -410-, -418-, -427-, - 429
-, -431 -, -432 -, -433 -, -436-, - 440-, -
441 -, -442 -, -444 -, -447-, -448 -, -454 -,
-455 -, -456-, -457-, -458 -, -461 -, -462
-, -463 -, -471 -, -472-, -473 -, -474 -, -
475 -, -476-, -477-, -478-,-480-,-482-,
-483-, -484-, -487-, -488-, -491 -, -492
-, -498-, -500-, -501 -, -505 -, - 520-, -
521 -
cdigo fuente, -261-, -262
documentacin del programa, -262
estilo al programa, -304 -
modularizacin de un programa, -235
programa de chequeo, -448
programa de computadora, -53
programa ejecutable, -448
programa infectado, -448
programa de computadora, -565
Programa que ilustra el uso de los
mtodos de bsqueda, -432-,-436 -
Proceso
Community
de la Comunidad
Process Java. Vase Java Programa que ilustra el uso de los
mtodos de ordenamiento, -418
producto lgico, -155- Programacin BASIC, -145
prfugo, -350-, -511 - programacin estructurada, -234-, -235-, -
Program. Vase Programa de computadora 259 -
- 736 -
ndice Alfabtico...
Programas
Programmable
PROM,
PUCE,-295
QUICKTEL,
PROM,
- 660-,
programas
Propiedad -218-,
de
Pseudocdigo,
PUBLIC,
Puerta
Prueba
Pulsacin,
Puntero,
RAD,
programacin
PROTECTOR
protocolo,
proverbio
Proveedor
-Grabador
129
487 65
programacin
ISP
protocolo
129 -trasera.
monobit,224-
Maurer,
--259
632
566
2bits,-588-
-- -chino,
Vase
series,por
orientada
-,-566-
-de
-,-566-
678-
-566-
PROMS,
Asociativa,PROM
-588-
Clausurativa,
Conmutativa, 588
autocorrelacin,
poker,
Modulativa,
-de
del
CONTRA
control
aplicacin,
Servicios
sistema,
Read
-Vase Q
-237-,-566-
-588R--104-,
-comunicacin,
-228-
BASIC,
--588-
capas,
-104-,
Only
de -211-,
Back-104-,
-228-
-104-,
VIRUS
de -211-,
a-235-
-492- -111
-112-,
-223-
588-111
-119-
-223-
- -,Vase
-222-
-120-
-,-120-,
dispositivos,-211
-dispositivo,
Memory.
la
objetos,-235-
Door -119-,
- INFORMTICOS,
Internet.
-349- Vase- - RadioShack Corporation,-567
raz cuadrada, - 228-, -232 -
Ralf Burger, -457
RAM, - 69-,-70-,-218-,-219-, -220-, -227
-, -239 -, -255 -, - 351 -, -456-, -464-, -
567 -
Randolph US Air Force, -491
Random Access Memory. Vase RAM
RANDOMIZE,-629-,- 653
randomstream, -587
Ratn, - 221 -, -567
rayo lser, -207
RCUAD, - 191 -
READ, - 242 -, - 630-, - 653 -
READ #n:,-630
Read Only Memory. Vase ROM
Read_Image, - 633
Rebote, - 568 -
Recursin, - 325 -
RED, - 655
red de rea local, -53 -
red de computadora, -349
Red del Departamento de Defensa, -502
Red del Departamento de Defensa de los
Estados Unidos de Norte Amrica, -492 -
Red Global Mundial. Vase www
REDONDEA, - 191 -
Reduced Instruction Set Computer. Vase RISC
Registro, -182-,-186
Registro de la Propiedad, -449
Relacional, - 192 -
Reloj,-213-, -216 -
REM, - 145-,-238-,-629-,-653
!,-238
,-238
REMAINDER, - 660-,- 678 -
REPEAT$, - 661-, - 678 -
representacin binaria,-182
Representacin de los nmeros, -73
Repblica del Per, - 489
RESET #n:,-630
respaldo,-221
resta, - 76-, -111 -, - 192 -
RESTORE, -242-, - 630-, - 654 -
- 737
Tras los pasos de un... Hacker
Retraso.Ortega,
Retrovirus,
Ricardo
Revolucin
resultados
RETRY,- 633-
RETURN,-629
Reventando
reventar del
Vase568
claves, - -145-,
Francesa,
- claves,517
-516
laboratorio,
-Delay -295-,
-- 30-- - 422-448-,
- -498-, - segunda dimensin, -352
Segunda Generacin, -44 -
Segunda Guerra Mundial, -591
seguro, -449
SELECT CASE,-629 -
self encryption, -479
Self Mutating Engine. Vase MtE
semilla, - 584 -
SEN, -191 -
Robert
Router.
romper,-448-,
ROM,
ROUND,
RUNTIME,
RISC,
RND,
ROM
Richard
rutinas
robtica,
RSA,
RTRIM$,
rutina,
Rijndael.
Rivest,
Rosenthal
509 W.
-568-
--214
BIOS,
-207-,
191 --191
58
-Shamir,
bsicas
Vase
Brandow,-456
228
-Vase
Engineering,
-Floyd, AES
-449-
-,661-,-679-
-223
679
---224-, -405-
--218-,
660-,
-,de
- -,-296
660-,
Gateway -505
--568-
Adleman,-219-,-223-,
678
---679-
control, -568-
-- 224
- - -568- sentencia, - 237
separadores de resultado, -241 -
Serialz, -569
servidor, - 347
Servidor de Correo Electrnico, -569
SET #n: MARGIN,-630
SET #n: POINTER, - 630
SET #n: RECORD, - 630
SET #n: RECSIZE,-630
SET #n: ZONEWIDTH, - 631 -
SET BACK, - 631 -, -655
SET COLOR, - 632-,-655
SET COLOR MIX, - 632
SET CURSOR,-329-,- 632
SET DIRECTORY,- 632
SET MARGIN,-630
SET MODE, - 632 -, - 656
SET NAME, - 632 -
SET TEXT JUSTIFY,- 631 -
S SET WINDOW, - 631 -, - 656
SET ZONEWIDTH,- 630 -
Set-top box, -569
S.I.. Vase Sistema Internaciona de unidades Seymour Papert,-62-,-63
Sala
Script,
sano,de
SARC,
Salida, -568-489
--297-
Santiago,-451
233
Emergencias,-32-
-- - SGN,- 660-, - 680
SHARE, - 632 -
Shareware, -569
Sharp LH5801, - 69-, -569
SIDA, -451 -, Vase VIH
Siglo 21, -449
Scripts kiddies. Vase Skid kiddies Simple Mail Transfer Protocol. Vase SMTP,
SEC,
Seca
Sector de arranque.
- 660-,
secuencial, - 679--568-
-221
Mediaguard, Vase Bootsector Vase SMTP
simulacin, -207
SIN, -191 -,- 660-, - 680
SINH,-660-,-680
Secure Socket Layer. Vase SSL
- 738 -
ndice Alfabtico...
- 739 -
Tras los pasos de un... Hacker
- 740 -
ndice Alfabtico...
Unidad Aritmtico Lgica, -146-,-213-, -215 valor del nmero pi, -228
-, Vase ALU variable, - 238 -
Unidad Central de Proceso, -213-, Vase CPU variable bandera, - 311 -
Unidad Clnica de Virus, - 467 V-Card, -514 -, -515 -
unidad de almacenamiento masivo, -220 VCL,-467
unidad de cinta, - 221 - vector, -355 -
Unidad de Control, - 213 -, - 214 -, Vase CU veneno, -451 -
unidad de memoria, - 221 - Very Large Scale Integration. Vase VLSI
unidades de disco, -220 Videocrypt,-575
unidades de disco duro, -220 Videoguard, -575
unidades de discos compactos, -220 VIH, -451 -,-575
unidades de disquete,-220 VIRTRAN, -469
Univac,-46-, -574 - virtualizacin de memoria, -220
UNIVACI,-44-, -574 Virus, -451 -, Vase Virus informtico
UNIVersal Automatic Computer I. Vase Virus Creation Laboratory. Vase VCL
UNIVAC I Virus de computadora. Vase Virus
Universidad, - 205 - informtico
Universidad Central del Ecuador, - 33 -, - Virus de Inmunodeficiencia Humana. Vase
145 - VIH
Universidad de Delaware, -452 -, -457 virus informtico, - 350-, -448 -, -450-, -451
Universidad de Lahore, - 455 - -,-459-,-472-, -575
Universidad de Pennsylvania, -42 Bomba lgica, -473
Universidad de Stanford, - 227 Cascade, -459 -
Universidad del Sur de California, - 455 - El virus del descubrimiento, -461 -
Universidad Estatal de Iowa, -40 gusano del rbol de Navidad, -459 -
Universidad Lehigh, -458 Gusano o worm, -473 -, -474 -
UNIX, -574 - Jaime, -449 -
Unpackb (una funcin, no una Pichincha, - 449
subrutina), - 633 - Three Tunes, - 449
UNSAVE, - 631 - troyano, -462 -
UNTIL,-249-,-250-,-251 - Virdem, -457
US Patent Office,-497 Virus Pers, -473
USE, - 633 Virus 1784,-449
Usenet, -458 -, -574 - Virus 405, -460
User. Vase Username Virus anti checksum, -466 -
username, - 347 -, -491 -, -493 -, -514 -, -574 Virus anti debug, -466
- Virus B, - 459 -
Users Network. Vase Usenet Virus Bosnia, -468
USING$,-684 Virus Brain,-459 -
Virus Cascade, -459-, -461 -
Virus Charlie, -457
V
Virus CIH,-460
VACUNA INFORMTICA,-487 Virus Cruncher, -467 -
VAL, - 661 -, - 685 - Virus Datacrime, -460-, -461 -
- 741 -
Tras los pasos de un... Hacker
Whirlwind
War
Wetware,
virus
Virus
WHILE,
Warez,
WHEN 475de
-Semaj,
Dead
de
248la
polimorfo,y-464
-,on
--576-
I,-46-,
polimrfico,
erroresLehigh,
Maltese -458-
POETCODE,-468-
en
Fu
Game,-350-
-576- --459--448-,
-468--448-,-462-,
-473
-459-,
-465
249-,464-
-460-
-576-
Michelangelo,-466-
Gonorrea,
Hellpit,-464-
Italian,
Itshard,
Jerusalem,
Dedicated,
Demoralized
sector
computadora,
Manch,
macro,
Internet,
(Estructura Amoeba, -481
Arrival,
de --349-,
-, -449-
-464-
-465
-474
-460-,
- 250-,
de
arranque,
-Youth,
excepciones), -457-,-459
- -447-
-464-
-251 -464-
- 633-
-461
-control -,de
- - WHITE,-655
Wildlist, -576
William Gibson, -206-, -532
WINDOW, - 632 -
Windows, - 236-,-348-, -576
Windows 2000, - 481 -
Windows 3.1, -481 -, -492 -
Windows 7,-481
Windows 95, -480-,-481
Windows 98,-481
Windows Me, -481 -
Windows Vista, -481 -
Windows XP, -481 -, -519
Woodenman, - 62 -
workstation, -52 -
Workstation, -53
World Wide Web. Vase www
WRITE#n:, -631
Write_Image, -633
www, -576 -
Virus Starship,
SMEG,-469--466
X
Stoned,- 458
Virus Viena, -459-,
Tequila,-464-
Tremor,-468- -, -462
-461- - X3J11, -64
XOR, - 157
XTree, -463-, -467
virus reales,
Virus -44713, -475 -
Viernes
Y
VLSI,-47-,-48-,
Virus Scan,
-451-496
VirusGuard,
virus-i, -469- W
- - -575- Y, -155-, -192
Y negada, -156
Yamaha V9938,-206
YELOW,-655
Yottabyte, - 184-, - 520-,-577
WarCard, -576
Z
Z80, -206-, -216-,-255-,-535-,-539-, -
570-, -577
ZER,-662-, - 685 -
Zettabyte, - 184-, -577
Zilog Inc,-206-, -216-, -255-,-535-, -539-,
-570-, -577
Zombi, -491 -, -578
- 742 -