jueves, 2 de octubre de 2008

TEMA 1. Introducción a la Informática

1. LA INFORMÁTICA: EVOLUCIÓN HISTÓRICA.
2. FUNCIONES Y FASES DE UN PROCESO DE DATOS.
3. PROCESO ELECTRÓNICO DE DATOS.
4. REPRESENTACIÓN INTERNA DE DATOS.
5. SISTEMAS DE CODIFICACIÓN DE CARACTERES.
6. ARCHIVOS Y REGISTROS.


INTRODUCCIÓN.-

Definición de Informática: Sistema de procesamiento de la información basado en los ordenadores.

Ordenador: Máquina capaz de aceptar datos a través de un medio de entrada, procesarlos automáticamente bajo el control de un programa previamente almacenado y proporcionar la información resultante a través de un medio de salida.

Características de una buena información:

Precisión:
La información ha de ser precisa. La precisión a exigir dependerá de la aplicación concreta que tenga la información que se está manejando. Hay que evitar tanto defectos de precisión -“en el ordenador hay unos cuantos programas”- como excesos de precisión -“Los cuatro programas suman una ocupación total de tres millones cuarenta y dos mil setecientos cincuenta y nueve bytes-.

Exactitud:
La información ha de ser exacta. La exactitud se mide en términos de porcentaje de error, como una medida del alejamiento de la realidad. También aquí la aplicación concreta marcará en cada caso la exactitud que ha de exigirse. No podrá obtenerse la exactitud suficiente si los datos de partida son incorrectos o erróneos. Para el caso de una diana y unos tiros de prueba, la precisión es lo apretado de la nube de los impactos, mientras que la exactitud es la distancia del centro de la nube al centro de la diana.

Oportunidad:
La información ha de ser oportuna, es decir, debe llegar al usuario en el momento adecuado para que éste pueda actuar, utilizando dicha información, antes de que esa acción sea inútil.
El tiempo disponible para que la información llegue oportunamente variará mucho en función de la aplicación y puede ser desde unos pocos microsegundos (en algunos controles de proceso) a varios meses (en macroeconomía y sociología). También puede ser inoportuno a veces llegar antes de tiempo. En algunas aplicaciones interactivas se introducen retrasos programados en las respuestas del ordenador para evitar que el exceso de velocidad de la máquina moleste o presione al usuario.

Integridad:
La información debe ser completa. En la mayoría de los casos es inalcanzable una integridad del 100%; pero siempre conviene que sea lo más completa posible.
La integridad no debe provocar que la información contenga cosas superfluas o redundantes, es decir, no hay que caer en el exceso de información.

Significatividad:
La información debe ser clara y relevante, de tal modo que su recepción sea fácil y rápida. Para ello, se puede acompañar dicha información con ayudas gráficas, visuales, auditivas o de otro tipo.


LA INFORMÁTICA.-

Se llama informática a la ciencia del tratamiento automático y racional de la información. La palabra informática resulta de la unión de las palabras información y automática. Este tratamiento lo efectúa con ayuda de una máquina electrónica: el ordenador, capaz de realizar una gran cantidad de operaciones aritméticas y lógicas a una gran velocidad y con gran exactitud, siempre que se den las órdenes adecuadas.

La parte física la constituyen los elementos materiales que se emplean en el tratamiento automático de la información. También se denomina hardware.

La parte lógica la constituyen el conjunto de órdenes que controlan el trabajo que realiza el ordenador. Se la denomina software.

El personal informático son las personas encargadas de controlar, manejar o usar los ordenadores.

1. EVOLUCIÓN HISTÓRICA.-

Los primeros instrumentos auxiliares para el cálculo – los ábacos – aparecieron en China el siglo VIII a.C. Durante mucho tiempo fue el único aparato de cálculo disponible.

En 1642 Pascal inventó la primera sumadora de engranajes. Todas estas máquinas eran poco utilizables puesto que efectuaban una sola operación a la vez y no poseían memoria. Ésta sólo servía para hacer sumas y restas, pero este dispositivo sirvió como base para que el alemán Leibnitz, 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. La primera máquina con memoria y posibilidades de efectuar operaciones múltiples fue ideada en Inglaterra en 1822 por el matemático Charles Babbage, 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. En 1929 apareció en Estados Unidos la primera máquina aplicable al cálculo científico.

A lo largo de esta evolución los dispositivos seguían siendo de naturaleza mecánica, y por lo tanto extraordinariamente lentos y engorrosos. El siguiente paso de la evolución consistió en introducir mecanismos electromagnéticos movidos mediante dispositivos eléctricos.

En 1944 se construye el MARK I, una máquina que para su época tenía una potencia enorme: 10 operaciones por segundo, tenía 18 metros de longitud por 2,5 de altura. En 1947 se construye la primera máquina de válvulas electrónicas. Las operaciones se efectuaban mediante circuitos eléctricos y no por medios mecánicos, aunque el principio del funcionamiento seguía siendo el que ideara Babbage.

Hasta entonces no se había introducido el concepto de programa, efectivamente el operador debía teclear en cada momento el cálculo a efectuar. La noción de programa aparece en 1950 con el que se suministraba a la máquina todas las indicaciones relativas a los cálculos a realizar y, acto seguido la máquina los realizaba sin más intervención humana. Había nacido el ordenador. Es un punto de inflexión en la evolución del tratamiento de la información, a partir de aquí se habla de generaciones.

Estas generaciones se diferencian por la evolución de los componentes del ordenador y del sistema de tratar los datos.

1ª Generación: se desarrolla entre 1946 y 1955. Es la época de los ordenadores que funcionaban a válvulas y el uso era exclusivo para el ámbito científico/militar. Para poder programarlos había que modificar directamente los valores de los circuitos de las máquinas. Es la generación de las válvulas de vacío, con un soporte de programas muy rudimentarios escritos en código máquina.

2ª Generación: va desde 1955 a 1964. Ésta surge cuando se sustituye la válvula por el transistor. En esta generación aparecen los primeros ordenadores comerciales, además de la sustitución de las válvulas de vacío por transistores, tiene lugar la ampliación de las memorias internas, la generalización del concepto de arquitectura modificable, se usan periféricos de gran masa de memoria como los tambores y discos magnéticos y se reduce el tamaño de los ordenadores. Aparecen los lenguajes ensambladores que traducen las instrucciones del código máquina, llegando a generar ya lenguajes de alto nivel como FORTRAN, COBOL y ALGOL, el programador escribía sus programas en esos lenguajes y el ordenador era capaz de traducirlo al lenguaje máquina.

3ª Generación: Abarca el periodo de 1964 a 1970. Aparecen los circuitos integrados que consisten en la conexión de miles de transistores en un solo chip. En la memoria del ordenador pueden existir varios programas posibilitando la multitarea. Se progresa considerablemente en la reducción de tamaño y aumento de la velocidad de cálculo, mediante la implementación de diferentes tecnologías de integración de transistores y otros circuitos de estado sólido. Se avanza mucho en software, desarrollando más lenguajes de alto nivel (PL1, BASIC, RPG, APL) y sistemas operativos, se inicia la programación estructurada, se construyen potentes compiladores e intérpretes, se generaliza el uso en las empresas de paquetes de software, bibliotecas de programas y bases de datos; aparecen las técnicas de tiempo compartido y la multiprogramación. Se generalizan los periféricos en la arquitectura de los ordenadores, dotando a los sistemas informáticos de una gran modularidad; se hace uso del teleproceso, de discos flexibles y de lectoras ópticas.

4ª Generación: Periodo de 1970 a 1980. La integración de los circuitos se acentúa (LSI, Large Scale of Integration = gran escala de integración) que reducen su tamaño. En el tratamiento de los datos aparece el Multiproceso (varios procesos a la vez), el tiempo real (respuestas en el menor tiempo posible) y el tiempo compartido (varios usuarios utilizan el mismo ordenador).

5ª Generación: Comienza en 1981 y abarca hasta nuestros días. Aparece el primer ordenador personal PC y comienza la evolución real de la informática. La integración de los circuitos cada vez a mayor nivel, el uso generalizado de los ordenadores debido a sus precios cada vez más asequibles, el avance continúo de las prestaciones. Aparecen las primeras redes.

Los avances se sitúan en materia de teleinformática (comunicaciones), y un todavía progresivo disminución de tamaño y coste del equipo, así como de técnicas de programación y desarrollo de Inteligencia Artificial, y de control de procesos (robotización).

2. FASES Y FUNCIONES DE UN PROCESO DE DATOS

Un proceso cualquiera de comunicación está constituido por un emisor que envía información a través de un canal de transmisión, la cual es recibida por un receptor. Podemos por tanto, hablar de comunicación oral, escrita, etc. Donde el canal será respectivamente el aire, el papel, etc.

La información no es transmitida directamente sino que se utilizan unos códigos entendibles por el emisor y el receptor que se comunican mediante señales físicas. Los códigos serán el lenguaje utilizado y las señales pueden ser ondas sonoras, luminosas o de cualquier otra índole.

En muchos casos la utilización de códigos y señales exigirá que la información sea codificada en la transmisión y decodificada en la recepción. La comunicación suele ser en ambas direcciones alternativa o simultáneamente, convirtiéndose el transmisor en receptor y viceversa.

El objetivo de un proceso de transmisión es que la información que se quiere transmitir sea idéntica a la que se recibe. Si falla cualquiera de los elementos que intervienen (transmisor, canal de transmisión o receptor), se producen pérdidas de información. Para intentar evitarlo, se repiten los mensajes en su totalidad o en parte (redundancia), o se acompañan de códigos especiales (de control) que permiten reconstruir la información.

Lo dicho de una forma general lo podemos extrapolar al mundo de la informática con la intervención de diferentes máquinas que comunicarán la información a diversos tipos de receptores. El proceso informático de los datos se hace gracias a un ordenador que acepta los datos a través de un medio de entrada los procesa automáticamente bajo el control de un programa previamente almacenado y proporciona la información resultante a través de un medio de salida.



3. PROCESO ELECTRÓNICO DE DATOS

El conjunto de fases y de elementos que constituyen el procesamiento de datos hasta conseguir la información se denomina PED (Proceso electrónico de datos).

Ya vimos las características de precisión, exactitud, oportunidad, integridad y significatividad, que deben reunir los datos para que el proceso de los mismos sea útil.

Precisión:
La información ha de ser precisa. La precisión a exigir dependerá de la aplicación concreta que tenga la información que se está manejando. Hay que evitar tanto defectos de precisión -“en el ordenador hay unos cuantos programas”- como excesos de precisión -“Los cuatro programas suman una ocupación total de tres millones cuarenta y dos mil setecientos cincuenta y nueve bytes-.

Exactitud:
La información ha de ser exacta. La exactitud se mide en términos de porcentaje de error, como una medida del alejamiento de la realidad. También aquí la aplicación concreta marcará en cada caso la exactitud que ha de exigirse. No podrá obtenerse la exactitud suficiente si los datos de partida son incorrectos o erróneos. Para el caso de una diana y unos tiros de prueba, la precisión es lo apretado de la nube de los impactos, mientras que la exactitud es la distancia del centro de la nube al centro de la diana

Oportunidad:
La información ha de ser oportuna, es decir, debe llegar al usuario en el momento adecuado para que éste pueda actuar, utilizando dicha información, antes de que esa acción sea inútil.
El tiempo disponible para que la información llegue oportunamente variará mucho en función de la aplicación y puede ser desde unos pocos microsegundos (en algunos controles de proceso) a varios meses (en macroeconomía y sociología). También puede ser inoportuno a veces llegar antes de tiempo. En algunas aplicaciones interactivas se introducen retrasos programados en las respuestas del ordenador para evitar que el exceso de velocidad de la máquina moleste o presione al usuario.

Integridad:
La información debe ser completa. En la mayoría de los casos es inalcanzable una integridad del 100%; pero siempre conviene que sea lo más completa posible.
La integridad no debe provocar que la información contenga cosas superfluas o redundantes, es decir, no hay que caer en el exceso de información.

Significatividad:
La información debe ser clara y relevante, de tal modo que su recepción sea fácil y rápida. Para ello, se puede acompañar dicha información con ayudas gráficas, visuales, auditivas o de otro tipo.


4. REPRESENTACIÓN INTERNA DE DATOS

Uno de los aspectos más importantes en Informática es como representar la información. Normalmente la información se da al ordenador en la forma usual escrita que utiliza el hombre, es decir, con ayuda de un alfabeto o conjunto de símbolos que denominamos caracteres. Estos caracteres pueden ser de varios tipos:

Caracteres numéricos: Constituidos por las diez cifras decimales.
Caracteres alfabéticos: Letras mayúsculas y minúsculas.
Caracteres especiales: Son los símbolos no incluidos en los grupos anteriores como (,),*,+,-, etc.
Al conjunto de los dos primeros grupos se le denomina caracteres alfanuméricos.
Para que estos caracteres usados en la representación externa sean utilizados por los ordenadores tienen que sufrir un proceso de codificación.

Distinguimos pues dos niveles en la representación de la información:

Nivel de representación externa: Usada por el hombre e inadecuada para el ordenador.
Nivel de representación interna: Adecuada a las posibilidades del ordenador y no inteligible por el ser humano.
El proceso de codificación es la transformación de los caracteres suministrados externamente al ordenador a una representación binaria que consta exclusivamente de los números 0 y 1 y que ya es entendida por el ordenador. Más adelante veremos con atención en qué consiste esta representación numérica.
Al tener que traducir la información suministrada al ordenador a ceros y unos es necesario establecer una correspondencia entre el conjunto de caracteres suministrados al ordenador y un elemento binario {0,1}n, de forma que a cada elemento del primero le corresponda un elemento distinto del segundo.
A estos códigos de transformación se denominan códigos E/S (entrada/salida) o códigos externos y se pueden definir de forma arbitraria.
Definición de BIT: El término proviene de la contracción de la expresión inglesa Binary Digit que significa Dígito Binario.
En informática se considera el bit como la unidad de información más pequeña reconocida por la computadora. También podemos decir que es uno de los dígitos de un número binario (0 ó 1).
El byte es la unidad utilizada en computación como medida de su capacidad de memoria. Un byte contiene 8 bits.

5. SISTEMAS DE CODIFICACIÓN DE CARACTERES

Según su morfología, se pueden dividir en dos tipos, numéricos y alfanuméricos:

- Representación numérica: como cadenas de números que tienen un significado numérico o textual. Los más comunes son el código binario, el hexadecimal (base 16), el octal (o bytes, base 8), y el de coma flotante. El que cotidianamente usamos es el decimal, en el que los datos se presentan por cadenas de cifras cuyos dígitos sólo varían entre 0 y 9.

- Representación alfanumérica: que son los que representan el alfabeto, los números, caracteres sintácticos, y caracteres especiales como los de control del ordenador. Los más usados son el código ASCII y el EBCDIC.

Tabla 2.1 Tipos de código de representación de datos
Grupo de representación Clases
Código decimal, de base 10
Representación numérica Código binario, de base 2
Código octal, de base 8
Código hexadecimal, de base 16
Representación alfanumérica Código ASCII
Código EBCDIC


REPRESENTACIÓN NUMÉRICA

Normalmente, como se verá en el siguiente apartado, el valor de una cifra dependerá de los dígitos que contiene, repetidos o no, y de la posición que ocupan. Es decir, los sistemas numéricos de representación se basan en la posición de los dígitos en el seno de una cifra.

1. Sistema decimal.

Consiste en representar cantidades por medio de cadenas de cifras, en los cuales los dígitos varían entre 0 y 9, ambos inclusive. Se piensa que es el método más natural y primitivo de cuantificación y representación dado que nuestros antepasados podían ayudarse de los dedos para proceder a las cuentas.

La introducción del 0 y, por lo tanto, la extensión hacia los números negativos fue obra de los hindúes, en una época contemporánea a la de Cristo. Los árabes, que tras la invasión de la península ibérica trajeron su cultura, introdujeron en el mundo occidental esa numeración con algunos avances debidos a sus propios pensadores.

Los números, dentro de una cifra, están ubicados en una posición. Esa posición les asocia con una cantidad que es potencia de 10. Por ejemplo, 1234 en base 10 quiere decir:

1103 + 2102 + 3101 + 410

Para indicar explícitamente que el número 1234 está en base 10, se representaría así: 1234(10).

Lo que se ha comentado hasta ahora del sistema decimal se puede resumir diciendo que es un sistema de numeración posicional, como ya se adelantó, lo que quiere decir que el valor de una cifra depende de la posición en la que se encuentre.

Otro ejemplo en base 10 (b=10), ahora con parte decimal:

174’25(10 = 1102 + 7101 + 4100 + 210-1 + 510-2
En la actualidad este sistema es el adoptado por todos los países con escasas y puntuales excepciones.


2. Sistema binario

Cuando los símbolos a codificar (alfabeto A1) son transcritos a secuencias de un alfabeto (alfabeto A2) que sólo tiene dos símbolos, diremos que tenemos un sistema de codificación binaria. Estos sistemas son especialmente importantes en informática, pues son los que se usan habitualmente. El motivo para usar un alfabeto de tan sólo dos símbolos es de tipo técnico, como ya se verá.

En este caso, la base del sistema es el número 2. Funciona por tanto igual que el decimal, pero las potencias de cada cifra son potencias de base 2. De esta forma, el sistema de base 2 o código binario requiere sólo 2 dígitos diferentes, el 0 y el 1.


Tabla 2.3 Sistema decimal y su equivalencia decimal


Número en base 10 Número en base 2
0
1
2
3
4
5
6
7
8
9 0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

Como se puede ver en esta tabla, y dado que 2 elevado a 3 (23 = 8) llega hasta 8, para representar los primeros 10 números decimales, necesitaremos 10 cifras con cuatro posiciones. Así, el 9 requiere un 23 y además un 1, de ahí que se represente binariamente por 1001.

Para pasar de un número decimal a un número binario sólo se procede a la división del decimal por el número 2 tantas veces como sea posible. El binario será entonces la secuencia de 0 y 1 que se leen desde el último cociente y su resto hacia el primer resto. Por ejemplo, el número 87, en binario, sería:

87 entre 2 = cociente 43 y resto 1
43 entre 2 = cociente 21 y resto 1
21 entre 2 = cociente 10 y resto 1
10 entre 2 = cociente 5 y resto 0
5 entre 2 = cociente 2 y resto 1
2 entre 2 = cociente 1 y resto 0

Entonces, el número binario, empezando por el último cociente y tomando los restos, sería:

1 0 1 0 1 1 1

Por contra, para pasar de un número binario a otro decimal, lo que se debe hacer es multiplicar cada dígito del binario por la potencia de 2 correspondiente a su posición y sumar todos los resultados. Así, con el ejemplo anterior, el resultado sería:

1 x 20 + 1 x 21 + 1 x 22 + 0 x 23 + 1 x 24 + 0 x 25 + 1 x 26

es decir,

1 x 1 + 1 x 2 + 1 x 4 + 0 x 8 + 1 x 16 + 0 x 32 + 1 x 64, o sea,

1 + 2 + 4 + 0 + 16 + 0 + 64, lo que da 87

que es el número que teníamos al principio.

3. Sistema octal

Se trata de un código que funciona exactamente igual que el decimal o que el binario, pero la base de su numeración es el número 8.

Así, los dígitos que emplea son los que se encuentran entre el 0 y el 7. Los procedimientos para pasar de decimal a octal, y viceversa, son idénticos a los descritos para el caso binario. Por lo demás, sólo queda resaltar que es la base para el cálculo de bytes en el diseño de memorias, transferencia de datos, direccionamientos, etc.

Por ejemplo, el número 1.068, en código octal, será el número

2 0 5 4

y para pasar este número a código decimal de nuevo, se haría

4 x 80 + 5 x 81 + 0 x 82 + 2 x 83, es decir,

4 x 1 + 5 x 8 + 0 + 2 x 512 = 4 + 40 + 1024 = 1068

4. Sistema hexadecimal

Código hexadecimal

La base de esta numeración es el número 16. Aquí se plantea un problema, ¿cómo representar los números que superan al 9 en la representación del código hexadecimal?

Por convenio, se ha establecido que los dígitos de la base que superen al 9 se representarán por medio de letras mayúsculas del alfabeto, consideradas por orden desde la letra A para el 10, es decir, los dígitos 10, 11, 12, 13, 14 y 15 se representan por las letras A, B, C, D, E y F.

Así, el número 42.424, en código hexadecimal se representaría por:

42.424 entre 16 = cociente 2651 y resto 8
2651 entre 16 = cociente 165 y resto 11
165 entre 16 = cociente 10 y resto 5

es decir, A 5 B 8

y para devolverla a su aspecto decimal, quedaría hacer las operaciones siguientes:

8 x 160 + B (=11) x 161 + 5 x 162 + 10 x 163, que queda

8 x 1 + 11 x 16 + 5 x 256 + 10 x 4.096 = 8 + 176 + 1.280 + 40.960 = 42.424


5. Conversión de decimal a base n

Como hemos visto en ejemplos anteriores para pasar de un número decimal a cualquier base se procede a la división del decimal por la base que se trate tantas veces como sea posible. A la hora de representar el número empezando por el último cociente y su resto seguido por el los demás restos y escritos de izquierda a derecha.

6. Conversión de base n a decimal

Para pasar un número de cualquier base a decimal utilizaremos lo que se denomina el peso del número que no es ni más ni menos que el orden que ocupa comenzando por la derecha con el valor 0. Ver ejemplo anterior de conversión de binario a decimal.

Con lo que a cada dígito del número que deseamos convertir le tenemos que multiplicar la base a la que deseamos pasar elevada a la potencia del lugar que ocupa. Esta operación se realizará para cada uno de los dígitos del número, sumando al finalizar los resultados, con lo que obtenemos el número en base decimal.

7. Cambios de base m a base n

Para pasar de una base m a otra base n, se procede como sigue: primero se pasa de base m a base 10 (método conocido) y luego de base 10 a base n (también conocido).

En ocasiones para pasar de una base m a otra base n no es necesario hacer lo que se acaba de indicar, sino que se puede usar un método más simple. Para explicar esto, conviene presentar el concepto de correspondencia entre sistemas: cualquier base de numeración que sea potencia de otra base, como ocurre entre las bases 2, 8 y 16, tienen una correspondencia. De este modo, por ejemplo, podemos:

- Representar cada dígito octal en forma de una combinación de tres dígitos binarios
- Representar cada dígito hexadecimal como cuatro dígitos binarios

De este modo, cuando estemos convirtiendo un número expresado en una base a otra base que sea potencia de la primera, podemos usar la propiedad que se acaba de citar. Haciendo un pequeño esfuerzo de imaginación inversa, se puede pasar de la base mayor a la menor sin problemas, tal como se muestra en estos ejemplos en los que se pasan los números en base 8 y 16 a números en base 2:

3 7 6 (8)
0 1 1 1 1 1 1 1 0

B 3 E 6 (16)
1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0


8. Razones para el uso del sistema binario

El sistema de representación binario es el que consta exclusivamente de los número 0 y 1. De esta manera se pueden asociar los números a dos estados físicos diferentes. Por lo tanto letras como números y demás caracteres deberán ser transformados en binario para poder ser introducidos en el ordenador. Esta transformación denominada codificación la realiza el propio ordenador y para ello se utilizan diferentes códigos de representación.


9. Representación alfanumérica

Debido a que el ordenador no sólo maneja datos de índole numérica, sino además de tipo carácter, y en mayor medida, según avanzan las generaciones de PC, se hace necesario diseñar un código binario que represente las letras del alfabeto y otros caracteres necesarios, con la finalidad de poder representar nombres de ficheros, caracteres especiales, signos monetarios, mayúsculas, flechas de dirección, etc. Para representar estos caracteres diremos que con 8 dígitos que suponen 256 combinaciones distintas son suficientes.

Por fuerza se debe de tratar de un código binario dado que el ordenador no tiene otra manera de trabajar dada su arquitectura actual.

Entre los códigos empleados para la representación destacan el ASCII y el EBCDIC.

1 Código ASCII

Su nombre resulta el acrónimo de American Standard Code for Information Interchange, es decir, se trata de un código estándar para el intercambio de información y fue diseñado en 1963.

En total está formado por 256 caracteres, que se suelen presentar en formato tabla y se publican en la mayoría de los libros de informática, sobre todo los de edición o los dedicados a diseño gráfico.

La mayoría de los caracteres que figuran en la tabla ASCII son imprimibles por el ordenador, pero pueden presentarse excepciones debido a que en algunos equipos, algunos códigos de ASCII representan procedimientos de función. En general se puede afirmar que siempre los 128 primeros caracteres serán imprimibles. Entre estos cabe destacar:

- Los 26 códigos que representan las letras en mayúscula, de la A a la Z
- Los 26 siguientes códigos, que representan las letras en minúscula, de “a“ a “z”.
- Los siguientes 32 códigos que representan caracteres especiales de los que figuran en el teclado

Cada letra y cada carácter tiene asignado un código que varía de entre 1 a 3 cifras. por ejemplo, la letra H tiene asignado el código 72. Dado que el ordenador trabaja con bytes, es decir, código binario agrupado en 8 dígitos, es decir, en octetos, su codificación binaria será:

72 entre 2 = cociente 36 y resto 0
36 entre 2 = cociente 18 y resto 0
18 entre 2 = cociente 9 y resto 0
9 entre 2 = cociente 4 y resto 1
4 entre 2 = cociente 2 y resto 0
2 entre 2 = cociente 1 y resto 0

por lo que el código en byte para la letra H será

0 1 0 0 1 0 0 0

Hay que tener en cuenta que cuando se procede a las divisiones sucesivas entre 2 para averiguar los 0 y 1 que forman el byte, podría ocurrir que se acabara la división antes de reunir los 8 dígitos, por lo que entonces se rellena por la izquierda con 0 hasta llegar al octeto.


2. Código EBCDIC

Acrónimo de Extended Binary Code Decimal Interchange Code. Se trata de un esquema de codificación para caracteres basado también en grupos de 8 bits. Este sistema se empezó a usar hace bastantes años en las primeras máquinas de IBM y se generalizó para el caso de los grandes sistemas y medios sistemas de IBM.

El sistema de codificación maneja los mismos caracteres gráficos, pero asigna grupos de 8 bits diferentes que en el ASCII, por lo que la codificación resultará diferente.

Como su nombre indica se trata de una ampliación del código binario BDC (código exclusivamente numérico) que permite tanto la representación de números como de letras.

MEDIDA DE LA INFORMACIÓN

Se trata de un sistema diseñado para estimar la cantidad de información manejada por un sistema informático, por un programa o por un determinado procedimiento. Para ello se definen los siguientes términos:

- Bit: Un elemento biestable (con dos posibles estados) en el que se diferencian dos valores, es decir, es una variable binaria. A efectos de representación, escribiremos los dos posibles valores de la variable binaria como 0 y 1. De esta forma, el valor tomado en un instante dado por la variable binaria vendrá dado por un dígito binario que valdrá 0 o 1.
Como el término dígito binario es algo largo de escribir, se abrevia con la palabra bit, que proviene de la contracción de la expresión inglesa Binary Digit, que además, en inglés, significa “trocito”.
Podemos codificar cualquier alfabeto de partida en binario, o sea mediante bits. Cuantos más símbolos contenga el alfabeto más número de bits nos harán falta para codificarlo, pero, en definitiva, no hay información que no podamos codificar en binario. La prueba es que hoy en día tanto la información visual como la auditiva de alta fidelidad se codifica en binario.

- Byte: Como el bit es una unidad de medida muy pequeña, es costumbre usar unidades de magnitud superior. Un bytes es un conjunto de 8 bits. Así, en lugar de decir que un mensaje tiene 32 bits, podemos decir que tiene 4 bytes.
Un byte puede almacenar 8 dígitos binarios, es decir, dos dígitos hexadecimales. El número de valores posibles que se pueden almacenar es de 28=256.
Los bits de un byte se numeran de derecha a izquierda del 0 al 7, es decir, se corresponden con los exponentes de las potencias de base 2. La agrupación de los 4 bits (superiores o inferiores) de un byte se llama nibble. Por tanto, un byte contiene 2 nibbles. El que corresponde a los bits 0 a 3 se llama nibble inferior, y el de los bits 4 a 7 se llama nibble superior.
El nibble es una unidad de trabajo mucho más cómoda que el bit, ya que en cada nibble se almacena un dígito hexadecimal.

- Carácter: Es la unidad de información a nivel de lenguaje humano. Un carácter es, de hecho, cualquier símbolo del alfabeto. Constituye una buena medida de información en términos directamente aplicables a textos. Podemos clasificar los caracteres en:
-- alfabéticos: letras y algún que otro carácter asimilado
-- numéricos: los dígitos numéricos del 0 al 9
-- especiales: todos los restantes (letras de alfabetos extranjeros, letras griegas, signos de puntuación, signos monetarios, signos de operaciones aritméticas, etc.).
- Múltiplos: Normalmente, en un ordenador, para representar un carácter se usa un tamaño de 1 byte. Cuando las cantidades de información a medir son grandes, se utilizan múltiplos de las unidades mencionadas.

La K es un factor de multiplicación de 210=1.024. Así que 1 Kbit=1.024 bits y 1 Kbyte=1.024 bytes=8.192 bits. Se toma el valor de 1.024 en vez de 1.000 precisamente por ser 1.024 una potencia de 2, y en consecuencia, un valor mucho más conveniente para máquinas que trabajan en sistema binario.
La M es la abreviatura de Mega y representa el factor de multiplicación 220= 1.048.576.
La G es abreviatura de Giga y representa el factor de multiplicación 230= 1.073.741.824.

Utilizando el byte como unidad de medida, el esquema o la tabla de medición para la capacidad de los distintos dispositivos de almacenamiento o de memoria, RAM, discos duros, etc., quedará:

Tabla - Unidades de medida de la información

Tipo de unidad Capacidad (bits)
1 byte 8
1 Kilobyte (Kb) 1.024
1 Megabyte (Mb) 1.024 Kb = 1.048.576
1 Gigabyte (Gb) 1.024 Mb = 1.073.741.824
1 Terabyte (Tb) 1.024 Gb =


6. ARCHIVOS Y REGISTROS

Siempre que queramos resolver un problema mediante ordenador, necesitaremos utilizar información que previamente ha tenido que ser introducida en él. Los conjuntos de datos grabados en memorias masivas se denominan ficheros y se conocen también como archivos (files). Para que los datos puedan ser utilizados por el ordenador, han de pasar de los soportes externos de almacenamiento a la memoria interna del ordenador.

Una característica de un fichero es la de contener datos homogéneos, como, por ejemplo, los nombres de los empleados de una empresa, loa alumnos de una escuela o los productos de un almacén.

Para que los datos sean procesados, han de estar contenidos necesariamente en la memoria interna del ordenador (RAM). Esta memoria interna es finita y volátil, así como muy rápida. El espacio limitado y la volatilidad de la memoria nos obliga a tener soportes de almacenamiento externos, en los que la capacidad de almacenamiento es ilimitada (podemos utilizar los soportes que se quiera) y en condiciones normales, la información es perenne.

Independientemente del tipo de soporte utilizado para almacenar o guardar la información, los datos tienen que estar almacenados como unidades homogéneas de información. Para ello es imprescindible el uso de ficheros y registros, tanto lógicos como físicos.

Examinemos ahora la estructura de estos datos. El dato es un conjunto de uno o más caracteres que individualiza de modo preciso y unívoco cualquier elemento, como por ejemplo un nombre, un número o una siglas. Un dato puede ser alfabético, numérico o alfanumérico. La porción de memoria (central o auxiliar) ocupada por un dato se llama campo. Al conjunto de datos afines se denomina registro que estará formado por una serie de campos.. El conjunto de todos los registros constituyen el fichero.


Por lo tanto entendemos como archivo (fichero), el conjunto de registros afines considerados, a efecto de proceso, como una macrocomunidad de información a modo de unidades simples de información de las mismas características, en cuanto a estructura, significado y tipo de tratamiento.

Definimos registro, como la estructura digital destinada a almacenar la información y a restituirla bajo unas condiciones determinadas. Se considera como un conjunto de datos que forma una unidad de información dentro de un fichero. En el caso de un archivo con los datos de los empleados de una fábrica el número total de registros será igual al número de empleados. Cada registro estar formado por una serie de campo que contendrán los datos de cada empleado (número de identificación, nombre, categoría, sueldo, etc.). A estos registros se denominan registros lógicos. Estos registros lógicos pueden ser grabados o leídos en una memoria externa al tramo de memoria utilizado en esta operación se denomina registro físico.

Los datos de los empleados podemos grabarlos en el soporte magnético de dos maneras distintas:

Ejemplo 1

gaps Registro B gaps Registro A gaps

Bloque


Ejemplo 2

gaps Registro C Registro B Registro A gaps


Bloque


En el ejemplo 1 siempre hay intervalos no grabados (gaps)) entre dos registros, mientras que en el ejemplo 2 sólo hay gaps entre dos paquetes de registros (bloques).

Con la segunda modalidad de grabación hemos reducido las porciones no grabadas, aumentando el número de registros lógicos grabables en la memoria. A la vez, hemos reducido el tiempo necesario para las operaciones físicas de de lectura/escritura, puesto que la memoria pone a nuestra disposición tres registros lógicos a la vez.

Al conjunto de registros agrupados se denomina bloque o registro físico y factor de bloqueo es el número de registros lógicos del bloque en el ejemplo 2 sería 3 el factor de bloqueo.



- Registro lógico: Conjunto de información identificable acerca de cada uno de los elementos a que se hace referencia en el fichero, es decir, unidad de información homogénea compuesta de campos de datos referentes a un de terminado objeto o concepto en un fichero de empadronamiento: los datos de cada persona (registro) cuentan con una serie de campos con cada dato personal. El conjunto de registros formarían el archivo.

- Registro físico: Unidad de transmisión o almacenamiento sobre memorias auxiliares. Transporte de registros lógicos de soporte a memoria interna o viceversa. También se entiende como conjunto de información que de acuerdo con las posibilidades físicas de la máquina se graba o se lee de una sola vez.


Claramente hay una relación entre registro lógico y registro físico, en base a los respectivos tamaños, es decir la cantidad de registros lógicos que están contenidos en un registro físico o viceversa. Sabiendo que el registro lógico es lo que se lee o se escribe, cuantos más registros lógicos haya en un registro físico, el número de accesos que se realicen al soporte será menor, esta relación es lo que conocemos como Factor de Bloqueo (FB).

FB = Número de registros lógicos contenidos en un registro físico.

No hay comentarios:

Publicar un comentario