0% encontró este documento útil (0 votos)
17 vistas6 páginas

UJnidad 1

Cargado por

Carlos Murillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas6 páginas

UJnidad 1

Cargado por

Carlos Murillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

No temo a los ordenadores. Temo que falten.

Isaac Asimov

1 Introducción a la informática
Agustín Cernuda del Río, Juan Manuel Cueva Lovelle, Daniel Gayo Avello, Benjamín López Pérez

E
l objetivo de este capítulo es definir los conceptos y términos necesarios para introducir al
lector en el mundo de la Informática. Si el lector ya los conoce puede pasar directamente
al siguiente capítulo.
Informática es una palabra de origen francés formada por la contracción de los vocablos
INFORmación y autoMÁTICA. La Real Academia Española establece la siguiente definición:
Informática: Conjunto de conocimientos científicos y técnicas que hacen posible el
tratamiento automático de la información por medio de ordenadores.
En los países latinoamericanos se emplea el vocablo Computación, influencia de la
palabra sajona Computation.
La Informática trata de la adquisición, almacenamiento, representación, tratamiento y
transmisión de la información. Estas operaciones se realizan automáticamente utilizando
máquinas denominadas ordenadores o computadoras.
El término información en Informática tiene un significado amplio, que se puede definir
como el conjunto de símbolos que representan hechos, objetos o ideas.
El ordenador o computadora es una máquina capaz de aceptar unos datos de entrada,
efectuar con ellos operaciones lógicas y aritméticas y proporcionar la información resultante a
través de un medio de salida; todo ello sin intervención de un operador humano y bajo el
control de un conjunto de instrucciones previamente almacenado en el ordenador.
Un ordenador puede considerarse como un sistema cuyas salidas o resultados
dependen de sus entradas, constituidas por datos e instrucciones para procesarlos.
Los datos son conjuntos de símbolos utilizados para expresar o representar un valor
numérico, un hecho, un objeto o una idea; en la forma adecuada para ser objeto de tratamiento
por el ordenador. Los datos pueden ser, por ejemplo, el peso en Kg. de una persona, su nombre
y apellidos, su fotografía, y un conjunto de frases acerca sus cualidades.
Una instrucción es un mandato elemental que se da a un ordenador a fin de que efectúe
una determinada operación. Las instrucciones son indicaciones sencillas y no ambiguas.
Se define algoritmo como un conjunto de instrucciones combinadas de forma adecuada
para resolver un determinado problema en una cantidad finita de tiempo. Un programa es un
algoritmo expresado en un lenguaje comprensible para un ordenador.
La programación de ordenadores es la parte de la Informática dedicada al estudio de
las distintas metodologías, algoritmos y lenguajes para construir programas.

Introducción a la informática 27
1.1 Representación de la información
Si se nos formula una pregunta, el hecho de responder consiste en transmitir información al
interlocutor. Una respuesta puede contener una cantidad de información variable; puede exigir
una larga disertación, unas pocas frases o unas pocas palabras. Pero la respuesta más elemental
se produce cuando a una pregunta es posible contestar sólo “sí” o “no”.
La unidad básica de información que puede manejar un dispositivo electrónico es el bit.
Un bit es la cantidad de información que puede almacenarse en un dispositivo binario (por
ejemplo, un interruptor: abierto o cerrado). Para representar los dos posibles valores se utilizan
los símbolos "0" y "1". De hecho, la palabra "bit" es una contracción de "BInary digiT".
Es decir, los ordenadores actuales -que son dispositivos electrónicos- almacenan,
procesan y transfieren la información en forma binaria. La combinación de varias de estas
unidades elementales (bits) permite construir valores más complejos que un simple “sí” o “no”;
de hecho, y gracias al sistema binario de numeración, en realidad los ordenadores manejan la
información en forma numérica.

El sistema binario
Habitualmente, en la actualidad las personas utilizamos el sistema de numeración decimal o de
base 10. Pero esto no ha sido siempre así; civilizaciones anteriores han utilizado otros sistemas
de numeración.
El sistema decimal se basa en el uso de diez dígitos diferentes para representar las
cantidades: son los dígitos del 0 al 9. Las cantidades menores que 10 pueden representarse de
manera directa con uno de estos dígitos decimales. Pero si se tiene la cantidad 9 y a ella se
añade un elemento más, ya no es posible representar el resultado con un solo dígito.
En este momento entra en acción un sistema de representación que consiste en que
“vuelve a empezar” en 0 el dígito que se estaba utilizando, pero al dígito de su izquierda (que
inicialmente es, de forma implícita, 0) se le suma 1. Este proceso continúa de manera sucesiva,
de modo que los números expresados en el sistema decimal tienen varios dígitos, que se
interpretan de la forma indicada en la Fig. 1.
103 102 101 100
1000 100 10 1
2 5 3 7
Fig. 1. Un número en el sistema decimal

Se puede ver que en el número 2537 el 7 ocupa una posición cuyo valor es 1 (las
unidades). El número 3 que aparece a su izquierda indica que, al contar, la cifra de las unidades
ha “vuelto a empezar” 3 veces; es decir, ese número 3 aporta 3x10 a la cantidad final (es la cifra
de las decenas). El número 5 representa las centenas; su presencia indica que, al contar, la cifra
de las decenas ha “vuelto a empezar” 5 veces, y como sabemos, por cada una de ellas la de las
unidades también ha contado 10 unidades. En total, ese dígito 5 aporta 5x10x10 unidades a la
cantidad final. Y así sucesivamente. En resumen, cada dígito de un número decimal debe
multiplicarse por una potencia de 10, dependiendo de su posición, como se ve en las filas
superiores de la Fig. 1. El número 2537 respondería a la expresión siguiente:

2537 = 2 x 103 + 5 x 102 + 3 x 101 + 7 x 100

Gracias a estas reglas de combinación, disponiendo sólo de 10 dígitos se puede expresar


cualquier cantidad.
El sistema binario de numeración funciona de manera totalmente análoga; pero la base
del mismo no es 10, sino 2, y además no se dispone de 10 dígitos (del 0 al 9) sino de 2 dígitos (el
0 y el 1). Esto puede verse en la Fig. 2.

28 Introducción a la informática
23 22 21 20
8 4 2 1
1 0 0 1
Fig. 2. Un número en el sistema binario

Comparando la Fig. 1 y la Fig. 2 se aprecian las similitudes y diferencias entre ambos


sistemas de numeración. En primer lugar, en la fila inferior (el número propiamente dicho) sólo
aparecen los dígitos 0 ó 1. En segundo lugar, el valor de cada dígito según su posición no se
calcula en relación con las potencias de 10, sino con las potencias de 2. Por lo demás, el
funcionamiento de este sistema de representación es análogo, de modo que el número 1001 en
binario puede convertirse a su valor decimal mediante los cálculos oportunos:

1001 = 1x 23 + 0 x 22 + 0 x 21 + 1 x 20

Por tanto, el número 1001 en binario es equivalente al número 9 en decimal. Puede verse
que al igual que ocurre en el sistema decimal, con un número limitado de dígitos (en este caso
sólo 2) pueden construirse combinaciones que representen cualquier número arbitrariamente
grande (siempre y cuando, claro está, se incorporen suficientes dígitos binarios).

Múltiplos del byte


Si bien la unidad básica de información que manejan los ordenadores es el bit, los bits
no se manejan individualmente, sino por grupos de un tamaño fijo. Así a 8 bits se le da el
nombre de octeto o en inglés byte.
Habitualmente se utilizan los siguientes múltiplos del byte:
Kilobyte (KB) = 1024 bytes, es decir 210 bytes (aproximadamente 10 veces la longitud de
un mensaje corto de un teléfono móvil)
Megabyte (MB) = 1.048.576 bytes, es decir 220 bytes (del orden del doble del texto
que contiene este libro)
Gigabyte (GB) = 1.073.741.824 bytes, es decir 230 bytes (una biblioteca de mil volúmenes
o 150 minutos de audio)
Terabyte (TB) = 240 bytes (más de 100 días de audio)

Representación de caracteres
Como ya se ha dicho, los ordenadores sólo trabajan con números binarios; sin embargo, la
información escrita por los seres humanos se expresa con un alfabeto o conjunto de símbolos
denominados caracteres. Estos caracteres pueden agruparse en cinco categorías:
Caracteres alfabéticos: Son las letras mayúsculas y minúsculas del alfabeto inglés: A, B,
C,..., X, Y, Z, a, b,..., x, y, z
Caracteres numéricos: Están constituidos por los diez dígitos decimales: 0, 1, 2, 3, 4, 5, 6,
7, 8, 9
Caracteres especiales: Son signos de puntuación, comparación, admiración,
interrogación y otros: \, |, @, #, [, {, ], }, etc...
Caracteres de control: Representan órdenes de control como pitido, fin de página, fin de
línea, etc...
Caracteres expandidos: Dado que las distintas lenguas tienen símbolos que no existen
en el idioma inglés, se han de añadir éstos, así como otros caracteres gráficos. Por
ejemplo la letras ñ, Ñ, las vocales acentuadas, letras griegas, etc...
Para representar caracteres se utiliza un código, es decir, a cada letra o símbolo se le
asigna un valor numérico en binario.

Introducción a la informática 29
Los códigos más utilizados tradicionalmente son ASCII (American Standard Code for
Information Interchange) y EBCDIC (Extended Binary Coded Decimal Information Code). Ambos
códigos son de 8 bits o un byte, es decir, cada carácter se representa por un byte; por lo tanto se
podrán representar 256 caracteres, aunque el código ASCII sólo tiene normalizados los 127
primeros caracteres (7 bits).
El código ASCII es el más extendido en la actualidad. Desde el código 0 al 31 son
caracteres de control; del 32 al 47 son símbolos como !, ", #, $,...,/; del símbolo 48 al 57 son los
dígitos; del 58 al 63 son otros símbolos como :, ;, <, =, >, ?, y @; del 64 al 90 son las letras
mayúsculas; del 91 al 96 son más símbolos como [, \, ],...,'; del 97 al 122 son letras minúsculas;
del 123 al 126 son otros símbolos; el 127 es el carácter de retroceso usado para borrar; y del
código 128 al 255 es el código ASCII extendido, que es diferente para cada fabricante, siendo el
más usado el utilizado por los ordenadores IBM PC y compatibles.
Unicode, desarrollado por Unicode Consortium, regula –como los demás códigos
mencionados- la codificación de los caracteres y ofrece un sistema internacional y extensible de
16 bits para procesar la información que cubre la mayor parte de los idiomas del mundo. En
concreto, la versión 3.0 definió la codificación para más de 40.000 caracteres, y se trabaja en
definir codificaciones para caracteres adicionales; ya hay versiones 4.0 y 4.1.0 (una ampliación
menor) en el momento de escribir estas líneas. Una de las grandes ventajas de Unicode es que
proporciona un número único para cada carácter, sin importar la plataforma, el programa o el
idioma. Ya se ha dicho que los caracteres ASCII por encima del 127 no están normalizados, de
modo que se utilizan para caracteres no ingleses (por ejemplo, la “ñ” en español) de forma un
tanto desordenada; en Unicode ese problema no existe, ya que están perfectamente definidos y
organizados los caracteres de casi todos los idiomas, incluyendo los asiáticos y los demás que
utilizan alfabetos no latinos.
La norma Unicode ya ha sido adoptada por líderes de la industria como Apple, HP,
IBM, Microsoft, Oracle, Sun, Unisys... Además, se ha convertido en un requisito para estándares
modernos tales como XML, Java, CORBA, WML, etc.

Representación de números enteros


Los datos de tipo entero -también denominados de punto fijo o de coma fija- tienen dos
alternativas de representación: con signo y sin signo.

Enteros sin signo


Los enteros sin signo se representan directamente en base dos.
Por ejemplo con una longitud de palabra de 16 bits se pueden representar enteros sin
signo entre 0 y 65535 (el llamado tipo “entero corto”).
Base 2 Base 10
0000000000000000 0
1111111111111111 65535
Tabla 1. Rango de enteros sin signo de 2 bytes

Si la longitud de palabra es de 32 bits se pueden representar enteros sin signo entre 0 y


4.294.967.295 (el llamado “entero largo”).
De lo expuesto anteriormente se deduce que no es posible representar cualquier número
natural, sino aquellos comprendidos en el rango determinado por la longitud de palabra
elegida (y que depende, generalmente, del ordenador en cuestión).

Enteros con signo


Si los enteros tienen signo el bit situado más a la izquierda de la palabra representa al signo.
Este bit es 0 si el número es positivo o 1 si es negativo. Si la longitud de palabra es de 16 bits,
sólo se pueden utilizar 15 bits para representar el número; por tanto el rango representable va
desde -32768 y 32767 (entero corto). Si la longitud de palabra es de 32 bits, sólo se pueden
utilizar 31, variando ahora el rango entre -2.147.483.648 y 2.147.483.647 (entero largo).

30 Introducción a la informática
Representación de números reales
Los datos de tipo real -también denominados de punto flotante- son un subconjunto finito de
los números reales: no sólo abarcan un rango de representación limitado sino que además
tienen un número finito de dígitos decimales, mientras que los números reales pueden tener
infinitos (por ejemplo, los irracionales).
La representación de un número real se realiza en formato exponencial, es decir, tiene la
forma:
mantisa 2exponente
donde, por supuesto, tanto la mantisa como el exponente se almacenan en binario. Por
ejemplo, la representación de un número real utilizando 6 bytes (48 bits) podría ser la siguiente:
1 bit para el signo de la mantisa
39 bits para la mantisa
8 bits para el exponente
Con la codificación anterior se puede representar el siguiente rango de números:
+1.7 E+38: Máximo nº real positivo
+2.9 E-39: Mínimo nº real positivo
-1.7 E-38: Máximo nº real negativo
-2.9 E+39: Mínimo nº real negativo
También se representan reales con 4 bytes (precisión simple), 8 (doble precisión) y 10
bytes (precisión extendida). En la Tabla 2 se representan como ejemplo los tipos reales que
soporta el lenguaje de programación Turbo Pascal 7 con su rango y el tamaño que ocupan en
bytes; el rango depende del número de bytes reservados para el exponente, y la precisión del
número de bytes dedicados a la mantisa.
Tipo Rango de los reales positivos Tamaño en bytes
Real 2,9 10-39..1,7 1038 6
Single 1,5 10-45..3,4 1038 4
Double 5,0 10-324..1,7 10308 8
Extended 3,4 10-4932..1,1 104932 10
Tabla 2. Tipos y rangos de los números reales más habituales

Respecto a la representación de números reales se puede llegar a las siguientes


conclusiones:
Existe un límite de magnitud de los números reales, que depende del tamaño de
palabra utilizado.
Existe un límite de precisión debido a que no se pueden almacenar todas las cifras
decimales que se deseen.
De las dos conclusiones anteriores se deduce que existe un error de representación,
debido a que muchos números no se pueden representar exactamente en la memoria del
ordenador por tres motivos:
o ser irracionales (infinitas cifras decimales)
o ser racionales que no tienen representación binaria exacta (tienen un número
finito de cifras decimales, pero superior al número de decimales representable
por el ordenador)
o tener excesivos números significativos (los casos anteriores o los de números
excesivamente grandes)

Introducción a la informática 31
Representación de datos de tipo lógico o booleano1
La representación de los datos de tipo lógico o booleano se realiza por medio de un 0 (falso, en
inglés false) y un 1 (cierto, en inglés true). Para la representación interna de este tipo de datos
con un solo bit sería suficiente, pero dado que el ordenador procesa la información por
palabras, que son bytes o múltiplos del byte, la representación del tipo lógico es muy variada
según el tipo de máquina y/o aplicación; por ejemplo, puede ser que un dato booleano se
represente internamente como un entero.

1.2 Historia de la Informática


El hombre siempre ha buscado tener dispositivos que le ayudaran a efectuar cálculos precisos y
rápidos. Sin embargo, los ordenadores electrónicos actuales tienen una historia relativamente
reciente, que se mide en décadas. El nexo de unión entre ambos hechos es la existencia de
muchos precedentes mecánicos y electromecánicos. Una reseña histórica nos permitirá conocer
en primer lugar cómo se ha llegado a los dispositivos actuales, así como tener una panorámica
general de la evolución de la informática personal en las últimas décadas.
Los primeros instrumentos de ayuda al cálculo de los que se tiene noticia son,
seguramente, huesos utilizados para representar cantidades (mediante muescas realizadas en
grupos sobre los mismos) utilizados por el hombre de Cro-Magnon, y que datan del período
Auriñaciense (hace unos 20.000-30.000 años). Resulta especialmente sorprendente el
descubrimiento de un hueso de hacia 8.500 A. C. en África, y que parece representar los
números primos 11, 13, 17 y 19.
El primer sistema de numeración basado en el valor de la posición de los dígitos (como
el sistema decimal o el binario comentados en este capítulo) fue desarrollado por los babilonios
entre 1.900 y 1.800 A. C., y era un sistema sexagesimal (de base 60). El uso de tales sistemas de
numeración fue un avance fundamental, ya que permitía realizar cálculos; sin un sistema de
numeración, es necesario tener símbolos únicos para diferentes cantidades, y los cálculos
resultan mucho más complicados.
El origen del ábaco no está claro; hay quien afirma que las primeras versiones del ábaco
(ábaco de arena) se remontan a 3000 años A. C., y su invención probablemente tuvo lugar en
Babilonia. Otros autores afirman que el ábaco es un invento chino. El ábaco de arena se basaba
en la colocación de pequeñas piedras (que representaban cantidades o dígitos) sobre líneas
trazadas en el suelo. Hacia el 1800 A. C. los matemáticos babilonios habían desarrollado
algoritmos para resolver problemas numéricos.
Alrededor del 500 A. C. surgió en Egipto el ábaco que hoy conocemos. Este instrumento
tenía un marco de madera en el que se inscribían cables horizontales, que atravesaban bolas
agujereadas –normalmente de madera- que corrían de izquierda a derecha y viceversa. Con este
sencillo instrumento se podían realizar a gran velocidad cálculos relativamente complejos; su
uso perduró durante siglos.
En 1274, el español Ramón Llull ideó dispositivos mecánicos para realizar cierto tipo de
demostraciones lógicas. Estos dispositivos constaban de ruedas concéntricas que podían
generar diferentes combinaciones de símbolos o palabras.
Hacia el año 1.500, Leonardo DaVinci diseñó máquinas de calcular mecánicas. Esta
contribución de DaVinci era desconocida hasta el descubrimiento en 1967 de dos de sus
manuscritos. Basándose en los diseños de DaVinci, se han llegado a construir versiones reales
de esta máquina.
En el siglo XVII, el creciente interés en Europa por las nuevas ciencias (tales como la
astronomía y la navegación) impulsó a las mentes creativas a simplificar los cálculos. Habría
costado años a los primeros científicos calcular la vasta cantidad de datos numéricos cuyos
patrones estaban intentando descubrir. En 1614, el escocés John Napier anunció su

1 Se denominan “booleanos” los datos lógicos en honor a George Boole (1815-1864), matemático inglés que desarrolló un
álgebra en todo equivalente a la lógica.

32 Introducción a la informática

También podría gustarte