Está en la página 1de 32

El origen de las máquinas de calcular está dado por el ábaco chino, éste era una tablilla

dividida en columnas en la cual la primera, contando desde la derecha, correspondía a


las unidades, la siguiente a la de las decenas, y así sucesivamente. A través de sus
movimientos se podía realizar operaciones de adición y sustracción.

Otro de los hechos importantes en la evolución de la informática lo situamos en el siglo


XVII, donde el científico francés Blas Pascal inventó una máquina calculadora. Ésta
sólo servía para hacer sumas y restas, pero este dispositivo sirvió como base para que el
alemán Leibniz, en el siglo XVIII, desarrollara una máquina que, además de realizar
operaciones de adición y sustracción, podía efectuar operaciones de producto y cociente.
Ya en el siglo XIX se comercializaron las primeras máquinas de calcular. En este siglo
el matemático inglés Babbage desarrolló lo que se llamó "Máquina Analítica", la cual
podía realizar cualquier operación matemática. Además disponía de una memoria que
podía almacenar 1000 números de 50 cifras y hasta podía usar funciones auxiliares, sin
embargo seguía teniendo la limitación de ser mecánica.

Recién en el primer tercio del siglo XX, con el desarrollo de la electrónica, se empiezan
a solucionar los problemas técnicos que acarreaban estas máquinas, reemplazándose los
sistemas de engranaje y varillas por impulsos eléctricos, estableciéndose que cuando hay
un paso de corriente eléctrica será representado con un *1* y cuando no haya un paso
de corriente eléctrica se representaría con un *0*.

Con el desarrollo de la segunda guerra mundial se construye el primer ordenador, el cual


fue llamado Mark I y su funcionamiento se basaba en interruptores mecánicos.

En 1944 se construyó el primer ordenador con fines prácticos que se denominó Eniac.

En 1951 son desarrollados el Univac I y el Univac II (se puede decir que es el punto de
partida en el surgimiento de los verdaderos ordenadores, que serán de acceso común a
la gente).

La evolución de las computadoras se tiende a dividir en generaciones, teniendo en cuenta


desarrollos tecnológicos que las hacen más eficaces, en cuanto a su velocidad y cantidad
de operaciones a realizar; más cómoda por su tamaño y sencillez en su utilización y más
inteligentes, con relación a las tareas que puedan llegar a cumplir, así tenemos:
GENERACION DE COMPUTADORES
Primera generación (1940 – 1952). La constituyen todas aquellas computadoras
diseñadas a base de válvulas al vació como principal elemento de control y cuyo uso
fundamental fue la realización de aplicaciones en los campos científicos y militar.
Utilizaban como lenguaje de programación el lenguaje máquina y como únicas
memorias para conservar información las tarjetas perforadas, la cinta perforadora y las
líneas de demora de mercurio.
Segunda generación (1952 -1964). Al sustituirse la válvula de vacío por el transistor,
comenzó la llamada segunda generación de computadoras. En ella, las máquinas
ganaron potencia y fiabilidad, perdiendo tamaño, consumo y precio, lo que las hacía
mucho más prácticas y asequibles. Los campos de aplicación en aquella época fueron,
además del científico y militar, el administrativo y de gestión; es decir las computadoras
empezaron a utilizarse en empresas que se dedicaban a los negocios. Comenzaron
además a utilizarse los llamados lenguajes de programación; entre ellos podemos citar
el ensamblador y algunos de los denominados de alto nivel como Fortran, Cobol y Algol.
Así mismo, comenzaron a utilizarse como memoria interna los núcleos de ferrita y el
tambor magnético, y como memoria externa la cinta magnética y los tambores
magnéticos.
Tercera generación (1964 – 1971). En esta generación el elemento más significativo es
el circuito integrado aparecido en 1964, que consistía en el encapsulamiento de una gran
cantidad de componentes discretos (resistencias, condensadores, diodo y transistores),
conformando uno o varios circuitos con una función determinada, sobre una pastilla de
silicona o plástico. La miniaturización se extendió a todos los circuitos de la
computadora, apareciendo las minicomputadoras. Se utilizaron tecnologías SSI Y MSI.
También el software evolucionó de forma considerable con un gran desarrollo de los
sistemas operativos, en los que se incluyó la multiprogramación, el tiempo real y el modo
interactivo. Comenzaron a utilizarse las memorias de semiconductores y los discos
magnéticos.
Cuarta generación (1971 – 1981). En 1971 aparece el microprocesador, consistente en la
integración de toda la UCP de una computadora en un solo circuito integrado. La
tecnología utilizada es la LSI que permitió la fabricación de microcomputadoras y
computadoras personales, así como las computadoras mono pastilla. Se utilizó además
el diskette (floppy disk) como unidad de almacenamiento externo. Aparecieron una gran
cantidad de lenguajes de programación de todo tipo y las redes de transmisión de datos
(teleinformática) para la interconexión de computadoras.
Quinta generación (1981 – 199?). En 1981, los principales países productores de nuevas
tecnologías (Fundamentalmente Estados Unidos y Japón) anunciaron una nueva
generación, cuyas características principales iban a ser:
1. Utilización de componentes a muy alta escala de integración (VLSI)
2. Computadoras con Inteligencia artificial
3. Utilización del lenguaje natural (lenguajes de quinta generación).
4. Interconexión entre todo tipo de computadoras, dispositivos y redes (redes
integradas) y La gran red de redes Internet.
5. Integración de datos, imágenes y voz (entorno multimedia).
6. Redes neuronales
7. Real dad virtual.
8. Etcetera.
Utilización de software para aplicaciones específicas.

Dentro de esta generación se encuentran la 8080, 8086,8088, 80286, 80386, 486 y


Pentium.

Sexta generación: Futuro, en esta generación se emplearán microcircuitos con inteligencia,


en donde las computadoras tendrán la capacidad de aprender, asociar, deducir y tomar
decisiones para la resolución de un problema. Es llamada "Generación de Inteligencia
Artificial"

El término bit deriva de la frase dígito binario (en inglés binary digit).
El bit es la unidad mínima de información empleada en informática, en cualquier
dispositivo digital, o en la teoría de la información, es una señal electrónica que puede
estar encendida (1) o apagada (0).
El funcionamiento es el siguiente: El circuito electrónico en los ordenadores detecta la
diferencia entre dos estados (corriente alta y corriente baja) y representa esos dos estados
como uno de dos números, 1 o 0. Estos básicos, alta/baja, ambos/o, si/no unidades de
información se llaman bits.
Con él, podemos representar dos valores cualesquiera, como verdadero o falso, abierto
o cerrado, blanco o negro, norte o sur, masculino o femenino, rojo o azul, etc. Basta con
asignar uno de esos valores al estado de "apagado" (0), y el otro al estado de "encendido"
(1).
Cada bit puede tomar solo dos valores característicos 0 o 1.

El origen del término “dígito binario” se atribuye a John Tukey, un científico que
trabajaba en los Laboratorios Bell, y los usó por primera vez en 1947. Un byte es una
cadena de 8 bits juntos. Un byte es, por tanto, una unidad de información más grande
que el bit. El byte fue utilizado por primera vez por el Dr. Werner Buccholz, un científico
que trabajaba en IBM, en 1956.

El ordenador convierte todos los datos en bits y bytes a través del sistema alfanumérico y
decimal. La capacidad del disco duro de cualquier ordenador se da en giga bytes
(abreviado como GB) generalmente. Como podrás deducir Internet es un océano de bits
y de bytes. Los chips pueden ser de diferentes tipos, por ejemplo de 32 bits y de 64 bits.
Esto denota la cantidad de datos que pueden ser procesados por los chips. El ancho de
banda de Internet se mide en kilobytes (miles de bytes) por segundo, es decir ‘kbps’ o
megabytes por segundo (Mbps). Los bits y los bytes se suelen utilizar de manera
diferente: los bits se utilizan para detallar velocidades de transmisión, por otra parte, los bytes
se utilizan para describir capacidad de almacenamiento.

Un byte es la unidad fundamental de datos en los ordenadores personales, un byte son


8 bits contiguos. El byte es también la unidad de medida básica para memoria,
almacenando el equivalente a un carácter.

Byte es un término creado por Werner Buchholz en 1957 como una unidad
de información digital equivalente a cuatro bits (binary digit, dígito binario)
originalmente y posteriormente como estándar se adoptó que 1 byte equivale a ocho bits.
La palabra byte proviene de bite, que significa mordisco, como la cantidad más pequeña
de datos que un ordenador podía "morder" a la vez. El símbolo de byte es un B
mayúscula, para distinguir de bit, cuyo símbolo es b minúscula. El byte se utiliza
generalmente en las áreas de informática y telecomunicaciones, en esta última se denomina
comúnmente octeto, que proviene del francés octet, derivado del latín octo y del
griego okto, que significa ocho, diferenciando así el byte de 8 bits de otros bytes con
diferente equivalencia de bits.
El término byte se utiliza a menudo para especificar cantidad, por ejemplo, la cantidad de memoria
de un determinado dispositivo o la capacidad de almacenamiento. Ejemplo: 16 GB (gigabyte).

Cada byte representa un solo carácter de texto en un ordenador. El byte representa letras,
símbolos, números, signos de puntuación, caracteres especiales, etc. y codifica diferentes
informaciones en un mismo equipo, dependiendo de la cantidad. Por ejemplo,

 1 B equivale a un carácter o letra,


 10 B equivale a una o dos palabras,
 100 B equivale a una o dos frases,
 1 kB (1024 B) equivale a una historia muy corta,
 10 kB equivale a una página de enciclopedia, tal vez con un dibujo simple,
 10 B equivale a una o dos palabras,
 100 kB equivale a una fotografía de resolución mediana,
 1 MB (1024 kB) equivale a una novela,
 10 MB equivale a dos copias de la obra completa de Shakespeare,
 100 MB equivale a un estante de 1 metro de libros,
 1 GB (1024 MB) equivale a una furgoneta llena de páginas de texto,
 1 TB (1024 GB) equivale a 50000 árboles,
 10 TB equivale a la colección impresa de la biblioteca del congreso de los
EEUU.

La codificación de caracteres denominada ASCII (American Standard Code for Information


Interchange, Código Estándar Americano para el Intercambio de Información) adoptó la
información que 1 byte es igual a 8 bits, y utilizando el sistema binario (con valores 0 o
1), fueron definidos 256 caracteres para la representación de texto en los ordenadores,
obteniendo un patrón de esta forma para las operaciones entre diferentes dispositivos.
Para expresar cantidades de datos, se utilizan las siguientes medidas:

 1 byte = 8 bits
 1 kilobyte (kB o kbyte) = 1024 bytes
 1 megabyte (MB o Mbytes) = 1024 kilobytes
 1 gigabyte (GB o Gbytes) = 1024 megabytes
 1 terabyte (TB o Tbytes) = 1024 gigabytes
 1 petabyte (PB o Pbytes) = 1024 terabytes
 1 exabyte (EB o Ebytes) = 1024 petabytes
 1 zettabyte (ZB o Zbytes) = 1024 exabytes
 1 yottabyte (YB o Ybytes) = 1024 zettabytes

En informática, un archivo es un grupo de datos estructurados que son almacenados en


algún medio y pueden ser usados por las aplicaciones. La forma en que una
computadora organiza, da nombre, almacena y manipula los archivos se denomina
sistema de archivos y suele depender del sistema operativo y del medio de
almacenamiento (disco duro, disco óptico, etc).

En lo que concierne al sistema operativo un es, en la mayoría de los casos,


simplemente un flujo unidimensional de bits, que es tratado por el sistema operativo
como una única unidad lógica. Un archivo de datos informático normalmente tiene un
tamaño, que generalmente se expresa en bytes; en todos los sistemas operativos
modernos, el tamaño puede ser cualquier número entero no negativo de bytes hasta un
máximo dependiente del sistema. Depende del software que se ejecuta en la
computadora el interpretar esta estructura básica como por ejemplo un programa, un
texto o una imagen, basándose en su nombre y contenido. Los tipos especiales de
archivos, como los nodos de dispositivo que representan simbólicamente partes del
hardware, no consisten en un flujo de bits y no tienen tamaño de archivo.
Características generales de los archivos:
* Nombre y extensión: Cada archivo es individual y es identificable por un nombre y
una extensión opcional que suele identificar su formato. El formato suele servir para
identificar el contenido del archivo. Los nombres de archivos originalmente tenían un
límite de ocho caracteres más tres caracteres de extensión, actualmente permiten muchos
más caracteres dependiendo del sistema de archivos.
* Datos sobre el archivo: Además para cada fichero, según el sistema de archivos que
se utilice, se guarda la fecha de creación, modificación y de último acceso. También
poseen propiedades como oculto, de sistema, de solo lectura, etc.
* Tamaño: Los archivos tienen también un tamaño que se mide en bytes, kilobytes,
megabytes, gigabytes y depende de la cantidad de caracteres que contienen.
* Ubicación: Todo archivo pertenece a un directorio o subdirectorio. La ruta de acceso
a un archivo suele comenzar con la unidad lógica que lo contiene y los sucesivos
subdirectorios hasta llegar al directorio contenedor, por ejemplo: "C: Archivos de
programaMicrosoftarchivo.txt".
Los archivos pueden separarse en dos grandes grupos, ejecutables y no ejecutables.
Todos los archivos están formados por múltiples caracteres que deben ser interpretados
en conjunto para poder ejecutarse o visualizarse (exceptuando el texto puro). El tipo de
interpretación de cada archivo está dado por el formato que utiliza (un archivo gráfico
de formato GIF debe tomarse e interpretarse como tal y no como si fuese de formato
ZIP, que es un archivo comprimido).
Los archivos pueden contener diferentes tipos de información según su formato:
archivos de texto (.txt, etc.), de documentos enriquecidos (.doc, .rtf, .pdf, etc.),
ejecutables (.exe, .com, etc.), datos (.xls, .dbs, etc.), imagen (.jpg, .png, .bmp, .gif, etc.),
audio (.wav, .mp3, .au, .mid), video (.mpg, .avi, .asf, etc.), etc.
Cualquier archivo puede ser editable, y cada formato tiene diferentes tipos de editores.
Un archivo de imagen suele editarse con un editor gráfico, en tanto un archivo
comprimido, debe manipularse con un compresor.

Una base de datos es un “almacén” que nos permite guardar grandes cantidades de
información de forma organizada para que luego podamos encontrar y utilizar
fácilmente.
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio
celebrado en California, USA. Una base de datos se puede definir como un conjunto de
información relacionada que se encuentra agrupada ó estructurada.
Desde el punto de vista informático, la base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos.
Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la
información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla
conforma un registro.
CLASIFICACION DE LAS BASES DE DATOS

Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se
esté manejando, la utilidad de las mismas o las necesidades que satisfagan.
Según la variabilidad de la base de datos
Bases de datos estáticas
Son bases de datos únicamente de lectura, utilizadas primordialmente para almacenar
datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento
de un conjunto de datos a través del tiempo, realizar proyecciones, tomar decisiones y
realizar análisis de datos para inteligencia empresarial.

Bases de datos dinámica


Son bases de datos donde la información almacenada se modifica con el tiempo,
permitiendo operaciones como actualización, borrado y edición de datos, además de las
operaciones fundamentales de consulta. Un ejemplo, puede ser la base de datos utilizada
en un sistema de información de un supermercado.
Según el contenido
Bases de datos bibliográficas
Sólo contienen un subrogante (representante) de la fuente primaria, que permite
localizarla. Un registro típico de una base de datos bibliográfica contiene información
sobre el autor, fecha de publicación, editorial, título, edición, de una determinada
publicación, etc. Puede contener un resumen o extracto de la publicación original, pero
nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a
texto completo. Como su nombre lo indica, el contenido son cifras o números. Por
ejemplo, una colección de resultados de análisis de laboratorio, entre otras.
Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las
ediciones de una colección de revistas científicas.
Directorios
Un ejemplo son las guías telefónicas en formato electrónico.
Estos directorios se pueden clasificar en dos grandes tipos dependiendo de si son
personales o empresariales (llamados páginas blancas o amarillas respectivamente)
Los directorios empresariales hay de tres tipos

1. Tienen nombre de la empresa y dirección


2. Contienen teléfono y los más avanzado contienen email
3. Contienen datos como facturación o número de empleados además de códigos
nacionales que ayudan a su distinción
Los directorio personales solo hay de un tipo, ya que leyes como la LOPD en España
protege la privacidad de los usuarios pertenecientes al directorio
La búsqueda inversa está prohibida en los directorios personales (a partir de un numero
de teléfono saber el titular de la línea)
Bases de datos o "bibliotecas" de información química o biológica
Son bases de datos que almacenan diferentes tipos de información proveniente de
la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:

 Las que almacenan secuencias de nucleótidos o proteínas


 .Las bases de datos de rutas metabólicas.
 Bases de datos de estructura, comprende los registros de datos experimentales
sobre estructuras 3D de biomoléculas
 Bases de datos clínicas.
 Bases de datos bibliográficas (biológicas, químicas, médicas y de otros
campos): PubChem, Medline, EBSCOhost.

MODELOS DE BASES DE DATOS


Además de la clasificación por la función de las bases de datos, éstas también se pueden
clasificar de acuerdo a su modelo de administración de datos.
Un modelo de datos es básicamente una "descripción" de algo conocido
como contenedor de datos (algo en donde se guarda la información), así como de los
métodos para almacenar y recuperar información de esos contenedores. Los modelos de
datos no son cosas físicas: son abstracciones que permiten la implementación de un
sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos
matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas


En este modelo los datos se organizan en forma de árbol invertido (algunos dicen raíz),
en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene
padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que
manejan un gran volumen de información y datos muy compartidos permitiendo crear
estructuras estables y de gran rendimiento.
Una de las principales limitaciones de este modelo es su incapacidad de representar
eficientemente la redundancia de datos.

Base de datos de red


Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la
modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución
eficiente al problema de redundancia de datos; pero, aún así, la dificultad que significa
administrar la información en una base de datos de red ha significado que sea un modelo
utilizado en su mayoría por programadores más que por usuarios finales.
Bases de datos transaccionales
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades,
estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis
de calidad, datos de producción e industrial, es importante entender que su fin único es
recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia
y duplicación de información no es un problema como con las demás bases de datos,
por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad
a bases de datos relacionales.
Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre
cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en
la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo
de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no
aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el
sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del
sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no
se ha realizado ninguna,
Bases de datos relacionales
Éste es el modelo utilizado en la actualidad para representar problemas reales y
administrar datos dinámicamente. Tras ser postulados sus fundamentos
en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no
tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su
idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en
forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de
las bases de datos relacionales creadas por Codd, la mayoría de las veces se
conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación
como si fuese una tabla que está compuesta por registros (las filas de una tabla), que
representarían las tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia
(a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable
ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la
base de datos. La información puede ser recuperada o almacenada mediante "consultas"
que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales
es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar
implementado por los principales motores o sistemas de gestión de bases de datos
relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce
como normalización de una base de datos.

Bases de datos multidimensionales


Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación
de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos
relacionales (una tabla en una base de datos relacional podría serlo también en una base
de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases
de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos,
o bien representan dimensiones de la tabla, o bien representan métricas que se desean
aprender.
Bases de datos orientadas a objetos
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a
objetos, trata de almacenar en la base de datos los objetos completos (estado y
comportamiento).
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:

 Encapsulación - Propiedad que permite ocultar la información al resto de los


objetos, impidiendo así accesos incorrectos o conflictos.
 Herencia - Propiedad a través de la cual los objetos heredan comportamiento
dentro de una jerarquía de clases.
 Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a
distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los
datos como parte de la definición de la base de datos. Una operación (llamada función)
se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre
de la operación y los tipos de datos de sus argumentos (o parámetros). La
implementación (o método) de la operación se especifica separadamente y puede
modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden
operar sobre los datos invocando a dichas operaciones a través de sus nombres y
argumentos, sea cual sea la forma en la que se han implementado. Esto podría
denominarse independencia entre programas y operaciones.
SQL:2003, es el estándar de SQL92 ampliado, soporta los conceptos orientados a objetos
y mantiene la compatibilidad con SQL92.

Bases de datos documentales


Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más
potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.
Bases de datos deductivas
Un sistema de base de datos deductiva, es un sistema de base de datos pero con la
diferencia de que permite hacer deducciones a través de inferencias. Se basa
principalmente en reglas y hechos que son almacenados en la base de datos. Las bases
de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa
en lógica matemática. Este tipo de base de datos surge debido a las limitaciones de la
Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones
indirectas de los datos almacenados en la base de datos.

Tras las dificultades de los sistemas tradicionales en satisfacer las necesidades


informacionales, surge el concepto de Data Warehouse, como solución a las necesidades
informacionales globales de la empresa. Este término acuñado por Bill Inmon, se
traduce literalmente como Almacén de Datos. No obstante si el Data Warehouse fuese
exclusivamente un almacén de datos, los problemas seguirían siendo los mismos que en
los Centros de Información.
La ventaja principal de este tipo de sistemas se basa en su concepto fundamental, la
estructura de la información. Este concepto significa el almacenamiento de información
homogénea y fiable, en una estructura basada en la consulta y el tratamiento
jerarquizado de la misma, y en un entorno diferenciado de los sistemas operacionales.
Según definió Bill Inmon, el Data Warehouse se caracteriza por ser:

 Integrado: los datos almacenados en el Data Warehouse deben integrarse en una


estructura consistente, por lo que las inconsistencias existentes entre los diversos
sistemas operacionales deben ser eliminadas. La información suele estructurarse
también en distintos niveles de detalle para adecuarse a las distintas necesidades
de los usuarios.
 Temático: sólo los datos necesarios para el proceso de generación del
conocimiento del negocio se integran desde el entorno operacional. Los datos se
organizan por temas para facilitar su acceso y entendimiento por parte de los
usuarios finales. Por ejemplo, todos los datos sobre clientes pueden ser
consolidados en una única tabla del Data Warehouse. De esta forma, las
peticiones de información sobre clientes serán más fáciles de responder dado que
toda la información reside en el mismo lugar.
 Histórico: el tiempo es parte implícita de la información contenida en un Data
Warehouse. En los sistemas operacionales, los datos siempre reflejan el estado
de la actividad del negocio en el momento presente. Por el contrario, la
información almacenada en el Data Warehouse sirve, entre otras cosas, para
realizar análisis de tendencias. Por lo tanto, el Data Warehouse se carga con los
distintos valores que toma una variable en el tiempo para permitir
comparaciones.
 No volátil: el almacén de información de un Data Warehouse existe para ser
leído, y no modificado. La información es por tanto permanente, significando la
actualización del Data Warehouse la incorporación de los últimos valores que
tomaron las distintas variables contenidas en él sin ningún tipo de acción sobre
lo que ya existía.

Otra característica del Data Warehouse es que contiene datos relativos a los datos,
concepto que se ha venido asociando al término de metadatos. Los metadatos permiten
mantener información de la procedencia de la información, la periodicidad de refresco,
su fiabilidad, forma de cálculo, etc., relativa a los datos de nuestro almacén.
Estos metadatos serán los que permitan simplificar y automatizar la obtención de la
información desde los sistemas operacionales a los sistemas informacionales.
Los objetivos que deben cumplir los metadatos, según el colectivo al que va dirigido,
serían:

 Soportar al usuario final, ayudándole a acceder al Data Warehouse con su propio


lenguaje de negocio, indicando qué información hay y qué significado tiene.
Ayudar a construir consultas, informes y análisis, mediante herramientas de
navegación.
 Soportar a los responsables técnicos del Data Warehouse en aspectos de
auditoría, gestión de la información histórica, administración del Data
Warehouse, elaboración de programas de extracción de la información,
especificación de las interfaces para la realimentación a los sistemas
operacionales de los resultados obtenidos, etc.

Para comprender el concepto de Data Warehouse, es importante considerar los procesos


que lo conforman. A continuación se describen dichos procesos clave en la gestión de
un Data Warehouse:

Extracción: obtención de información de las distintas fuentes tanto internas como


externas.
Elaboración: filtrado, limpieza, depuración, homogeneización y agrupación de la
información.
Carga: organización y actualización de los datos y los metadatos en la base de datos.
Explotación: extracción y análisis de la información en los distintos niveles de
agrupación.

Desde el punto de vista del usuario, el único proceso visible es la explotación del almacén
de datos, aunque el éxito del Data Warehouse radica en los tres procesos iniciales que
alimentan la información del mismo y suponen el mayor porcentaje de esfuerzo (en
torno a un 80%) a la hora de desarrollar el almacén.
Las diferencias de un Data Warehouse con un sistema tradicional las podríamos resumir
en el siguiente esquema:

SISTEMA TRADICIONAL DATA WAREHOUSE

 Predomina la actualización  Predomina la consulta

 La actividad más importante es de tipo  La actividad más importante es el


operativo (día a día) análisis y la decisión estratégica

 Predomina el proceso puntual  Predomina el proceso masivo

 Mayor importancia a la estabilidad  Mayor importancia al dinamismo

 Datos en general desagregados  Datos en distintos niveles de detalle y


agregación

 Importancia del dato actual  Importancia del dato histórico

 Importante del tiempo de respuesta de  Importancia de la respuesta masiva


la transacción instantánea

 Estructura relacional  Visión multidimensional

 Usuarios de perfiles medios o bajos  Usuarios de perfiles altos

 Explotación de la información  Explotación de toda la información


relacionada con la operativa de cada interna y externa relacionada con el
aplicación negocio

Una de las claves del éxito en la construcción de un Data Warehouse es el desarrollo de


forma gradual, seleccionando a un departamento usuario como piloto y expandiendo
progresivamente el almacén de datos a los demás usuarios. Por ello es importante elegir
este usuario inicial o piloto, siendo importante que sea un departamento con pocos
usuarios, en el que la necesidad de este tipo de sistemas es muy alta y se puedan obtener
y medir resultados a corto plazo.
Terminamos este apartado resumiendo los beneficios que un Data Warehouse puede
aportar:

 Proporciona una herramienta para la toma de decisiones en cualquier área


funcional, basándose en información integrada y global del negocio.
 Facilita la aplicación de técnicas estadísticas de análisis y modelización para
encontrar relaciones ocultas entre los datos del almacén; obteniendo un valor
añadido para el negocio de dicha información.
 Proporciona la capacidad de aprender de los datos del pasado y de predecir
situaciones futuras en diversos escenarios.
 Simplifica dentro de la empresa la implantación de sistemas de gestión integral
de la relación con el cliente.
 Supone una optimización tecnológica y económica en entornos de Centro de
Información, estadística o de generación de informes con retornos de la inversión
espectaculares.

El datamining (minería de datos), es el conjunto de técnicas y tecnologías que permiten


explorar grandes bases de datos, de manera automática o semiautomática, con el
objetivo de encontrar patrones repetitivos, tendencias o reglas que expliquen el
comportamiento de los datos en un determinado contexto.

Básicamente, el datamining surge para intentar ayudar a comprender el contenido de un


repositorio de datos. Con este fin, hace uso de prácticas estadísticas y, en algunos casos,
de algoritmos de búsqueda próximos a la Inteligencia Artificial y a las redes neuronales.

De forma general, los datos son la materia prima bruta. En el momento que el usuario
les atribuye algún significado especial pasan a convertirse en información. Cuando los
especialistas elaboran o encuentran un modelo, haciendo que la interpretación que surge
entre la información y ese modelo represente un valor agregado, entonces nos referimos
al conocimiento. Vea más diferencias entre datos, información y conocimiento. Aunque
en datamining cada caso concreto puede ser radicalmente distinto al anterior, el proceso
común a todos ellos se suele componer de cuatro etapas principales:

Determinación de los objetivos. Trata de la delimitación de los objetivos que el


cliente desea bajo la orientación del especialista en data mining.

Preprocesamiento de los datos. Se refiere a la selección, la limpieza, el


enriquecimiento, la reducción y la transformación de las bases de datos. Esta
etapa consume generalmente alrededor del setenta por ciento del tiempo total de
un proyecto de data mining.
Determinación del modelo. Se comienza realizando unos análisis estadísticos de
los datos, y después se lleva a cabo una visualización gráfica de los mismos para
tener una primera aproximación. Según los objetivos planteados y la tarea que
debe llevarse a cabo, pueden utilizarse algoritmos desarrollados en diferentes
áreas de la Inteligencia Artificial.

Análisis de los resultados. Verifica si los resultados obtenidos son coherentes y


los coteja con los obtenidos por los análisis estadísticos y de visualización gráfica.
El cliente determina si son novedosos y si le aportan un nuevo conocimiento que
le permita considerar sus decisiones.

Carga de trabajo en las fases de un proyecto de datamining

El Alcance de Data Mining

El nombre de Data Mining deriva de las similitudes entre buscar valiosa información de
negocios en grandes bases de datos - por ej.: encontrar información de la venta de un
producto entre grandes montos de Gigabytes almacenados - y minar una montaña para
encontrar una veta de metales valiosos. Ambos procesos requieren examinar una
inmensa cantidad de material, o investigar inteligentemente hasta encontrar
exactamente donde residen los valores. Dadas bases de datos de suficiente tamaño
y calidad, la tecnología de Data Mining puede generar nuevas oportunidades de
negocios al proveer estas capacidades:

 Predicción automatizada de tendencias y comportamientos. Data Mining automatiza el


proceso de encontrar información predecible en grandes bases de datos. Preguntas que
tradicionalmente requerían un intenso análisis manual, ahora pueden ser contestadas
directa y rápidamente desde los datos. Un típico ejemplo de problema predecible es
el marketing apuntado a objetivos (targeted marketing). Data Mining usa datos en
mailing promocionales anteriores para identificar posibles objetivos para maximizar los
resultados de la inversión en futuros mailing. Otros problemas predecibles
incluyen pronósticos de problemas financieros futuros y otras formas de
incumplimiento, e identificar segmentos de población que probablemente respondan
similarmente a eventos dados.
 Descubrimiento automatizado de modelos previamente desconocidos. Las herramientas de
Data Mining barren las bases de datos e identifican modelos previamente escondidos en
un sólo paso. Otros problemas de descubrimiento de modelos incluye detectar
transacciones fraudulentas de tarjetas de créditos e identificar datos anormales que
pueden representar errores de tipeado en la carga de datos.

Las técnicas de Data Mining pueden redituar los beneficios de automatización en las
plataformas de hardware y software existentes y puede ser implementadas en sistemas
nuevos a medida que las plataformas existentes se actualicen y nuevos productos sean
desarrollados. Cuando las herramientas de Data Mining son implementadas en sistemas
de procesamiento paralelo de alta performance, pueden analizar bases de datos masivas
en minutos. Procesamiento más rápido significa que los usuarios pueden
automáticamente experimentar con más modelos para entender datos complejos.
Alta velocidad hace que sea práctico para los usuarios analizar inmensas cantidades de
datos. Grandes bases de datos, a su vez, producen mejores predicciones.

Las bases de datos pueden ser grandes tanto en profundidad como en ancho:

 Más columnas. Los analistas muchas veces deben limitar el número de variables a
examinar cuando realizan análisis manuales debido a limitaciones de tiempo. Sin
embargo, variables que son descartadas porque parecen sin importancia pueden proveer
información acerca de modelos desconocidos. Un Data Mining de alto rendimiento
permite a los usuarios explorar toda la base de datos, sin preseleccionar un subconjunto
de variables.
 Más filas. Muestras mayores producen menos errores de estimación y desvíos, y permite
a los usuarios hacer inferencias acerca de pequeños pero importantes segmentos de
población.

Las técnicas más comúnmente usadas en Data Mining son:

 Redes neuronales artificiales: modelos predecible no-lineales que aprenden a través


del entrenamiento y semejan la estructura de una red neuronal biológica.
 Arboles de decisión: estructuras de forma de árbol que representan conjuntos de
decisiones. Estas decisiones generan reglas para la clasificación de un conjunto de datos.
Métodos específicos de árboles de decisión incluyen Arboles de Clasificación y
Regresión (CART: Classification And Regression Tree) y Detección
de Interacción Automática de Chi Cuadrado (CHAI: Chi Square Automatic Interaction
Detection)
 Algoritmos genéticos: técnicas de optimización que usan procesos tales como
combinaciones genéticas, mutaciones y selección natural en un diseño basado en los
conceptos de evolución.
 Método del vecino más cercano: una técnica que clasifica cada registro en un conjunto de
datos basado en una combinación de las clases del/de los k registro (s) más similar/es a
él en un conjunto de datos históricos (donde k  1). Algunas veces se llama la técnica del
vecino k-más cercano.
 Regla de inducción: la extracción de reglas if-then de datos basados en significado
estadístico.

Muchas de estas tecnologías han estado en uso por más de una década en herramientas
de análisis especializadas que trabajan con volúmenes de datos relativamente pequeños.
Estas capacidades están ahora evolucionando para integrarse directamente con
herramientas OLAP y de Data Warehousing.

En resumen, el datamining se presenta como una tecnología emergente, con varias


ventajas: por un lado, resulta un buen punto de encuentro entre los investigadores y las
personas de negocios; por otro, ahorra grandes cantidades de dinero a una empresa y
abre nuevas oportunidades de negocios. Además, no hay duda de que trabajar con esta
tecnología implica cuidar un sinnúmero de detalles debido a que el producto final
involucra "toma de decisiones"

Datos masivos es un término que hace referencia a una cantidad de datos tal que supera
la capacidad del software habitual para ser capturados, gestionados y procesados en un
tiempo razonable. El volumen de los datos masivos crece constantemente.
Denominamos Big Data a la gestión y análisis de enormes volúmenes de datos que no
pueden ser tratados de manera convencional, ya que superan los límites y capacidades
de las herramientas de software habitualmente utilizadas para la captura, gestión y
procesamiento de datos.
Dicho concepto engloba infraestructuras, tecnologías y servicios que han sido creados
para dar solución al procesamiento de enormes conjuntos de datos estructurados, no
estructurados o semi-estructurados (mensajes en redes sociales, señales de móvil,
archivos de audio, sensores, imágenes digitales, datos de formularios, emails, datos de
encuestas, logs, etc.) que pueden provenir de sensores, micrófonos, cámaras, escáneres
médicos, imágenes.

El objetivo fundamental del big data es dotar de una infraestructura tecnológica a las
empresas y organizaciones con la finalidad de poder almacenar, tratar y analizar de
manera económica, rápida y flexible la gran cantidad de datos que se generan
diariamente, para ello es necesario el desarrollo y la implantación tanto de hardware
como de software específicos que gestionen esta explosión de datos con el objetivo de
extraer valor para obtener información útil para nuestros objetivos o negocios.

Ante esta nueva realidad de la cantidad ingente de datos que se generan diariamente,
muchas empresas y organización desean utilizar esta información con el objetivo de
mejorar las prestaciones de sus servicios o negocios, para ello la tecnología big data
ha sido desarrollada con la finalidad de capturar, almacenar y analizar toda estos
datos con la finalidad de obtener información útil para nuestro negocio.

Podemos definir la tecnología Big Data mediante sus 4 dimensiones coloquialmente


conocidas como las 4v:
 Volumen de datos - Como su propio nombre indica la tecnología big data (datos
masivos) ha de ser capaz de gestionar un gran volumen de datos que se generan
diariamente por las empresas y organizaciones de todo el mundo, por ejemplo la
cadena de supermercados americana Wallmart almacena más de 1 millón de
transacciones comerciales cada hora identificando los productos que compran sus
clientes, más de 100.000 Gb de información almacena la red social Facebook
diariamente así como 72 millones de descargas se realizan en la tienda online
Appstore.
 Variedad de datos - Big data ha de tener la capacidad de combinar una gran variedad
de información digital en los diferentes formatos en las que se puedan presentar ya
sean en formato video, audio o texto. Diferentes fuentes de información como las
nuevas tecnologías wearables que monitorizaran nuestra actividad física, elinternet
de las cosas que conectará los dispositivos y máquinas entre sí, millones de mensajes
escritos en redes sociales como Facebook o Twitter, millones de videos subidos a
Youtube por día... son ejemplos entre otros de fuentes generadoras de diferentes tipos
de información.
 Velocidad - La tecnología Big data ha de ser capaz de almacenar y trabajar en tiempo
real con las fuentes generadoras de información como sensores, cámaras de videos,
redes sociales, blogs, páginas webs... fuentes que generan millones y millones de
datos al segundo, por otro lado la capacidad de análisis de dichos datos han de ser
rápidos reduciendo los largos tiempos de procesamiento que presentaban las
herramientas tradicionales de análisis.
 Veracidad - Por último el Big Data ha de ser capaz de tratar y analizar
inteligentemente este vasto volumen de datos con la finalidad de obtener una
información verídica y útil que nos permita mejorar nuestra toma de decisiones.

Con todo ello podemos definir al big data como el conjunto de herramientas
informáticas que nos permite captar, almacenar y gestionar un gran volumen de
información variada a una alta tasa de velocidad permitiendo obtener unos
datos veraces y útiles para la toma de decisión.
APLICACIONES DEL BIG DATA

En el ámbito científico big data se utiliza en numerosas aplicaciones como por ejemplo
la predicción meteorológica, el estudio del genoma o el análisis de la composición de
la materia. La organización Europea de investigación CERN es un organismo
referente y pionero en el uso de Big Data, resulta curioso como el estudio de las
interacciones y partículas fundamentales que componen la materia genera un
gigantesco volumen de información, para ello el acelerador de partículas LHC
provoca un choque de 2 protones a una velocidad cercana a la luz, mientas cerca de
150 millones de sensores captan información sobre la colisión ocurriendo 14 millones
de choques por cada segundo, la cantidad de datos generada por segundo es realmente
enorme.
Los gobiernos utilizan esta tecnología para mejorar los servicios que prestan a sus
ciudadanos, unas de las aplicaciones en donde se ha aplicado la tecnología big data
ha sido en la ciudad francesa de Lyon, gracias a esta tecnología junto con la captura
de datos mediante sensores repartidos por toda la ciudad se ha podido analizar las
congestiones de tráfico con el objetivo de predecir en cualquier momento cuando se
va a producir un atasco de tal manera que cambian automáticamente las señales de
tráfico con el objetivo de mejorar el flujo circulatorio.
Incluso los partidos políticos utilizan estas nuevas tecnologías para alcanzar un mayor
número de votos, conocido fue el caso de la campaña de Barack Obama en el año
2012 en el que utilizó Big data para acercarse y conocer los gustos y necesidades de
sus ciudadanos permitiéndole realizar discursos y programas políticos adecuados a las
necesidades de sus ciudadanos.
Google ha aplicado big data en aplicaciones como su traductor de idiomas automático,
mediante las herramientas big data google volcó toda la información rastreada en
Internet comparando documentos oficiales traducidos de un idioma a otro así páginas
webs personales, esta gigantesca base de datos ha permitido a Google desarrollar el
mejor traductor de idiomas presente actualmente.
Big data puede aplicarse tanto en empresas multinacionales como Google, Facebook o
Coca-cola así como en pequeñas empresas, por ejemplo el caso de una pequeña
empresa que tras aplicar big data a un perfil determinado de usuarios de una red social
obtiene información util para generar un nuevo servicio que satisfaga las necesidades
de dichos usuarios consiguiendo nuevos clientes.
El sector industrial ha encontrado en el big data la tecnología perfecta que mejora sus
procesos, por ejemplo el uso de sensores que registran datos sobre el estado de los
componentes de una máquina con su posterior tratamiento mediante big data nos
permitirá predecir el mantenimiento de una manera más efectiva ahorrando tiempo y
costes innecesarios.

Aplicaciones para analizar la climatología, los valores de las acciones o el estado del
tráfico en tiempo real, otras aplicaciones que nos permiten predecir tendencias de
comercio, crimen hasta incluso cuando se producirá un brote: vírico o epidemia en
una población, aunque parezca una visión futurista hoy en día es real gracias a la
tecnología big data.

El sistema decimal es un sistema de numeración: una serie de símbolos que, respetando


distintas reglas, se emplean para la construcción de los números que son considerados
válidos. En este caso, el sistema toma como base al diez.
Esto quiere decir que el sistema decimal se encarga de la representación de
las cantidades empleando diez cifras odígitos diferentes:

0 (cero), 1 (uno), 2 (dos), 3 (tres), 4 (cuatro), 5 (cinco), 6 (seis), 7 (siete), 8 (ocho)


y 9 (nueve).

Es importante destacar que el sistema decimal es un sistema posicional. Los dígitos


adquieren su valor de acuerdo a la posición relativa que ocupan. Esta posición, a su vez,
depende de la base en cuestión.

El sistema decimal, como dijimos, apela a diez dígitos y tiene las potencias del número
diez como base. De este modo:

10 elevado a 0 es igual a 1
10 elevado a 1 es igual a 10
10 elevado a 2 es igual a 100; etc.

El número 523, por ejemplo, tiene tres cifras. En el sistema decimal, se construye de la
siguiente forma, respetando las posiciones correspondientes:

(5 x 10 elevado a 2) + (2 x 10 elevado a 1) + (3 x 10 elevado a 0)


(5 x 100) + (2 x 10) + (3 x 1)
500 + 20 + 3
523

Como se puede apreciar, de derecha a izquierda, el primer lugar corresponde a la unidad


(10 elevado a 0), el segundo lugar corresponde a la decena (10 elevado a 1) y el tercer
lugar corresponde a la centena (10 elevado a 2).

El código binario es el sistema de representación de textos, o procesadores de


instrucciones de ordenador, utilizando el sistema binario (sistema numérico de dos
dígitos, o bit: el "0" y el "1").
En informática y telecomunicaciones, el código binario se utiliza con variados métodos
de codificación de datos, tales como cadenas de caracteres, o cadenas de bits. Estos
métodos pueden ser de ancho fijo o ancho variable.
En un código binario de ancho fijo, cada letra, dígito, u otros símbolos, están
representados por una cadena de bits de la misma longitud, como un número binario
que, por lo general, aparece en las tablas en notación octal, decimal o hexadecimal.

El sistema hexadecimal (no confundir con sistema sexagesimal), a veces abreviado como
hex, es el sistema de numeración posicional de base 16 empleando por tanto 16 símbolos.
Su uso actual está muy vinculado a la informática y ciencias de la computación, pues
los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y,
debido a que un byte representa 28 valores posibles, y esto puede representarse como,
que, según el teorema general de la numeración posicional, equivale al número en base
16 10016, dos dígitos hexadecimales corresponden exactamente —permiten representar
la misma línea de enteros— a un byte.

En principio dado que el sistema usual de numeración es de base decimal y, por ello,
sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras
del alfabeto latino para suplir los dígitos que nos falta.
El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.

Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo
agruparíamos como 1 / 001 / 010, de tal forma que obtengamos una serie de números
en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el
primero por la derecha y se parte de 3 en 3), después obtenemos el número en decimal
de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el
número decimal 74 en octal es 112.

En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene


la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin
embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una
palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte
así definido es completamente representable por dos dígitos hexadecimales.

En sistemas de computación, Binary-Coded Decimal (BCD) o Decimal codificado en


binario es un estándar para representar números decimales en el sistema binario, en
donde cada dígito decimal es codificado con una secuencia de 4 bits. Con esta
codificación especial de los dígitos decimales en el sistema binario, se pueden realizar
operaciones aritméticas como suma, resta, multiplicación y división de números en
representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes
en que normalmente se incurre con las conversiones de decimal a binario puro y de
binario puro a decimal. La conversión de los números decimales a BCD y viceversa es
muy sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados
que con números binarios puros.

FUNDAMENTOS
En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su
equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de
bits necesario para representar el nueve, el número más alto que se puede representar en
BCD

APLICACION
El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor
numérico, especialmente en los sistemas digitales no programados (sin microprocesador
o microcontrolador).
Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que
deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su
vez una simplificación en el diseño físico del circuito (hardware).
Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito
sería mucho más complejo que si se utiliza el BCD. Hay un programa que se llama b1411
que sirve para dividir al sistema binario en dos combinaciones. Una por ejemplo es la de
sistemas digitales.
REPRESENTACION
Cada dígito decimal tiene una representación binaria codificada con 4 bits:
Decimal: 0 1 2 3 4 5 6 7 8 9
BCD: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Los números decimales, se codifican en BCD con los de bits que representan sus
dígitos.

Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que


representan procedimientos, cálculos, decisiones y otras operaciones que puede ejecutar
una computadora. A pesar de que en este trabajo parte de la división de lenguajes de
programación en imperativos y declarativos (los cuales a su vez se dividen en numerosos
subgrupos)
El término “programación” se define como un proceso por medio del cual se diseña, se
codifica, se escribe, se prueba y se depura un código básico para las computadoras. Ese
código es el que se llama “código fuente” que caracteriza a cada lenguaje de
programación. Cada lenguaje de programación tiene un “código fuente” característico
y único que está diseñado para una función o un propósito determinado y que nos sirven
para que una máquina o computador se comporte de una manera deseada.
TIPOS DE LENGUAJE DE PROGRAMACION
LENGUAJES DE MAQUINA

El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros


y unos) y es el único que "entienden" directamente los procesadores. Todas las
instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos
partes. La primera es el comando u operación, que dice a la computadora cuál es
la función que va a realizar. Todas las computadoras tienen un código de operación para
cada una de sus funciones. La segunda parte de la instrucción es el operando, que indica a
la computadora dónde hallar o almacenar los datos y otras instrucciones que se van a
manipular; el número de operandos de una instrucción varía en las distintas
computadoras. En una computadora de operando único, el equivalente binario de
"SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad
dealmacenamiento o dirección 0814 al valor que se encuentra en la unidad
aritmética lógica. En una máquina de dos operandos, la representación binaria de
"SUMAR 0814 8672" podría hacer que se sume el valor que está en la localidad 8672 al
valor que está en la dirección 0814. El formato de operando único es popular en las
microcomputadoras más pequeñas; la estructura de dos operandos se encuentra en casi
todas las demás máquinas.
Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los
programadores tenían que traducir las instrucciones de manera directa a la forma de
lenguaje de máquina que comprendían las computadoras. Por ejemplo, un programador
que escribiera la instrucción "SUMAR 0814" para una de las primeras máquinas IBM
hubiera escrito:
000100000000000000000000000010111000
Además de recordar las docenas de códigos numéricos para los comandos del conjunto
de instrucciones de la máquina, el programador tenía que conocer las posiciones donde
se almacenan los datos y las instrucciones. La codificación inicial muchas veces requería
meses, por lo que era costosa y era frecuente que originara errores. Revisar las
instrucciones para localizar errores era casi tan tedioso como escribirlas por primera vez.
Además, si era necesario modificar un programa posteriormente, la tarea podía llevarse
meses.

LENGUAJES ENSAMBLADORES

A principios de la década de 1950, y con el fin de facilitar la labor de los programadores,


se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La
palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros
pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de
operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los
códigos nemotécnicos. Todas las computadoras actuales tienen códigos
nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las
diferentes marcas y modelos. La computadora sigue utilizando el lenguaje de máquina
para procesar los datos, pero los programas ensambladores traducen antes los símbolos
de código de operación especificados a sus equivalentes en lenguaje de máquina.

Este procedimiento preparó avances posteriores. Si la computadora era capaz de


traducir símbolos convenientes en operaciones básicas, ¿por qué no hacer también que
realizara otras funciones rutinarias de codificación, como la asignación de direcciones
de almacenamiento a los datos? La técnica de direccionamiento simbólico permite expresar
una dirección no en términos de su localización numérica absoluta, sino en términos de
símbolos convenientes para el programador.

Durante las primeras etapas del direccionamiento simbólico, el programador asigna un


nombre simbólico y una dirección real a un dato. Por ejemplo, el programador podría
asignar el valor total de mercancía adquirida durante un mes por un cliente de una tienda
de departamentos a la dirección 0063, y darle el nombre simbólico TOTAL. Se podría
asignar el valor de la mercancía devuelta sin usar durante el mes a la dirección 2047 y
dársele el nombre simbólico CRÉDITO. Así, durante el resto del programa, el
programador se referirá a los nombres simbólicos, más que a las direcciones, cuando fuera
preciso procesar estos datos. Por ejemplo, se podría escribir la instrucción "S CRÉDITO
TOTAL" para restar el valor de las mercancías devueltas del importa total
de compras para obtener el importe de la factura mensual del cliente. A continuación, el
programa ensamblador traduciría la instrucción simbólica a esta cadena de bits:

LENGUAJE DE BAJO NIVEL


Son aquellos utilizados fundamentalmente para controlar el “hardware” del ordenador
y dependen totalmente de la máquina y no se pueden utilizar en otras máquinas. Están
orientados exclusivamente para la máquina Estos lenguajes son los que ordenan a la
máquina operaciones fundamentales para que pueda funcionar. Utiliza básicamente
ceros, unos y abreviaturas de letras. Estos lenguajes también se llaman de código
máquina. Son los más complicados, pero solo los usan prácticamente los creadores de
las máquinas. Con este tipo de lenguajes programan la asignación y liberación de
memoria, el uso de punteros, el poder usar paso por valor y por referencia, la creación
de tipos de datos, etc.

LENGUAJE DE ALTO NIVEL


Estos lenguajes son más parecidos al lenguaje natural humano y no dependen de la
máquina y sirven fundamentalmente para crear programas informáticos que solucionan
diferentes problemas. Son los más usados por los programadores y por todo del mundo
que realiza programas informáticos.

La diferencia fundamental se puede explicar con el siguiente ejemplo:

En un lenguaje de alto nivel sólo tengo que poner sqt(x), que sería una función
predeterminada, calcular el cuadrado de x.

Si fuera de bajo nivel, yo mismo tendría que crear la función sabiendo como funciona
el cuadrado de un número:

Cuadrado(x) = x * x

LENGUAJE “HTML”
Este lenguaje es con el que se crean las páginas web, por ejemplo, que básicamente es
un conjunto de etiquetas que sirven para definir el texto y otros elementos que puedes
ver en las páginas web. HTML significa HyperText Markup Lenguaje («lenguaje de
marcas de hipertexto») y es muy fácil de aprender. Luego ya depende de si queremos
una web más o menos elaborada podremos profundizar en este lenguaje. Por ejemplo,
el lenguaje de programación CSS (Cascading Style Sheets) son hojas que sirven para dar
“estilo” a las páginas web como su color, definir su fondo, tipos de letra…etc

LENGUAJE “SQL”
Este lenguaje está creado para realizar consultas a bases de datos principalmente. SQL
son las siglas de Structured Query Lenguaje ( Lenguaje estructurado de consultas) y se
utiliza para páginas web y también para aplicaciones de ordenadores, para manejar datos
sobre todo. (Introducir datos, actualizar datos, eliminar o seleccionar datos)

LENGUAJE “Java”
Probablemente éste podría ser el favorito de más de uno ya que es el lenguaje utilizado
para programas punteros como herramientas, juegos y aplicaciones. Este lenguaje de
programación se utiliza en miles de millones de dispositivos móviles y aparatos de
televisión y en más de 850 millones de ordenadores personales de todo el mundo. Java
está instalado en inmensidad de aplicaciones y sitios web. Probablemente también te
suene JavaScript, que es otro lenguaje utilizado para crear pequeños programas
encargados de realizar acciones dentro de una web como por ejemplo para crear efectos
especiales o para definir interactividades con los usuarios.

LENGUAJE “C”
Este lenguaje de programación está orientado a los Sistemas Operativos y es muy eficaz
y con él podemos crear Softwares de sistemas operativos como Windows o Linux y
también para aplicaciones. También sirve para experimentos informáticos, físicos,
matemáticos…etc. Es también muy utilizado en robótica con el que se programan
simuladores, etc.

LENGUAJE “XML”
Este lenguaje es también un lenguaje de etiquetas como el HTML, pero a diferencia de
éste, el lenguaje XML separa el contenido de la presentación, es decir, XML se preocupa
del significado del texto que define el HTML. Te da el dato + el significado de ese dato,
mientras que el HTML te da el dato nada más. El XML es un complemento fundamental
al HTML.

LENGUAJE “PHP”
El PHP es un lenguaje de programación similar al HTML que nos sirve
fundamentalmente para páginas web y se puede combinar con el lenguaje HTML. El
lenguaje PHP se basa en los “scripts” que es un guión de órdenes o instrucciones que
recibe un servidor de una página web para leer su código fuente.

Los lenguajes de programación generalmente se dividen en dos grupos principales en


base al procesamiento de sus comandos:
 lenguajes imperativos;
 lenguajes funcionales.

LENGUAJE DE PROGRAMACION IMPERATIVO

Un lenguaje imperativo programa mediante una serie de comandos, agrupados en


bloques y compuestos de órdenes condicionales que permiten al programa retornar a un
bloque de comandos si se cumple la condición. Estos fueron los primeros lenguajes de
programación en uso y aún hoy muchos lenguajes modernos usan este principio.
No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la
secuencialidad de las instrucciones.

LENGUAJE DE PROGRAMACION FUNCIONAL


Un lenguaje de programación funcional(a menudo llamado lenguaje procedimental) es un
lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado
y recibe como entrada el resultado de otras funciones. Cuando una función se invoca a
sí misma, hablamos de recursividad.

Los lenguajes de programación pueden, en líneas generales, dividirse en dos


categorías:
 lenguajes interpretados
 lenguajes compilados

LENGUAJE INTERPRETADO

Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por lo


tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito
en un lenguaje interpretado requiere de un programa auxiliar (el intérprete), que traduce
los comandos de los programas según sea necesario.

LENGUAJE COMPILADO

Un programa escrito en un lenguaje "compilado" se traduce a través de un programa


anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no
necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se
llama ejecutable.
Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un
programa anexo para ser ejecutado una vez que ha sido compilado. Además, como sólo
es necesaria una traducción, la ejecución se vuelve más rápida.
Sin embargo, no es tan flexible como un programa escrito en lenguaje interpretado, ya
que cada modificación del archivo fuente (el archivo comprensible para los seres
humanos: el archivo a compilar) requiere de la compilación del programa para aplicar
los cambios.
Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad del
código fuente. En efecto, el lenguaje interpretado, al ser directamente un lenguaje
legible, hace que cualquier persona pueda conocer los secretos de fabricación de un
programa y, de ese modo, copiar su código o incluso modificarlo. Por lo tanto, existe el
riesgo de que los derechos de autor no sean respetados. Por otro lado, ciertas
aplicaciones aseguradas necesitan confidencialidad de código para evitar las copias
ilegales (transacciones bancarias, pagos en línea, comunicaciones seguras...).

LENGUAJES INTERMEDIARIOS
Algunos lenguajes pertenecen a ambas categorías (LISP, Java, Python...) dado que el
programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de
compilación intermediaria, en un archivo escrito en un lenguaje ininteligible (por lo
tanto diferente al archivo fuente ) y no ejecutable (requeriría un interprete). Los applets
Java, pequeños programas que a menudo se cargan en páginas web, son archivos
compilados que sólo pueden ejecutarse dentro de un navegador web (son archivos con
la extensión .class).

LENGUAJES DE PROGRAMACIÓN DECLARATIVOS


Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos
lenguajes de programación en los cuales se le indica a la computadora qué es lo que se
desea obtener o qué es lo que se esta buscando, por ejemplo: Obtener los nombres de
todos los empleados que tengan más de 32 años. Eso se puede lograr con un lenguaje
declarativo como SQL.
La programación declarativa es una forma de programación que implica
la descripción de un problema dado en lugar de proveer una solución para dicho
problema, dejando la interpretación de los pasos específicos para llegar a dicha solución
a un intérprete no especificado. La programación declarativa adopta, por lo tanto, un
enfoque diferente al de la programación imperativa tradicional.
En otras palabras, la programación declarativa provee el "qué", pero deja el "cómo"
liberado a la implementación particular del intérprete. Por lo tanto se puede ver que la
programación declarativa tiene dos fases bien diferenciadas, la declaración y la
interpretación.

LENGUAJE EN PASCAL
Es importante señalar que a pesar de hacer referencia a intérprete, no hay que limitarse
a "lenguajes interpretados" en el sentido habitual del término, sino que también se puede
estar trabajando con "lenguajes compilados". El lenguaje de programación en Pascal, es
un lenguaje de alto nivel, y de proposito general, lo cual quiere decir que se puede utilizar
para cualquier tipo de propósitos.El lenguaje de programación en Pascal se considera un
lenguaje estructurado, sencillo y practico para todos aquellos usuarios que se inician en
el mundo de la programación, ya que fue creado con fines de aprendizaje.
Al ser un Pascal lenguaje estructurado, sirve de base para cualquier otro lenguaje de alto
nivel, por estas caracteristicas es utilizado en las universidades e institutos de educacion
para inicializar a los futuros ingenieros en sistemas o informatica.
El lenguaje de programación Pascal, es idoneo en el estudio y definicion de las estrucuras
de datos, su facil definicion lo hace manejable para un programador novato.
Con la programación en Pascal, se pueden realizar desde programas formales, rutinas,
utilitarios, hasta cualquier clase de video juegos.
Programación en Pascal es un lenguaje de sintaxis sencilla, muy estructurado y que
comprueba exhaustivamente todo tipo de datos.
El mejor de los propósitos de programación en Pascal es que enseña buenas formas de
programación, con lo cual se utiliza mucho en la enseñanza, por todos los motivos
nominados anteriormente, por su sencillez, su estructuración y su facilidad de lectura y
entendimiento.
Existen varios dialectos locales de programación en Pascal, entre ellas el Turbo Pascal,
el cual acepta intrucciones de Pascal.

BIBLIOGRAFIA
MICRO-COMPUTACION. TOMO 1: Introduccion a la computación, el sistema operativo
dos. Ing. Gabor Loerincs. Zamora editores LTDA. Segunda edición 1999.
Medios electrónicos:
https://es.wikipedia.org/wiki/Inform%C3%A1tica
http://es.slideshare.net/lapaisita/origen-de-la-informatica
http://www.monografias.com/trabajos19/evolucion-informatica/evolucion-
informatica.shtml
http://proyectofinalelearning.blogspot.com/

También podría gustarte