Temas 12 PDF

Title Temas 12
Author Carla García - Toledo
Course Fundamentos Físicos de la Informática
Institution Universidad de Málaga
Pages 49
File Size 1.5 MB
File Type PDF
Total Downloads 20
Total Views 151

Summary

temas 1 y 2...


Description

Fundamentos de informática

Introducción a la informática 1º de Grado en Ingenierías

Julio Garralón Ruiz Colaboran:

Carmen Aranda, José Galindo, Nathalie Moreno, Manuel Roldán, y Mónica Trella. Departamento de Lenguajes y Ciencias de la Computación Escuela de Ingenierías Industriales Universidad de Málaga

23 de septiembre de 2019

Esta obra está bajo una licencia Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons: No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/3.0/deed.es_ES o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Usted es libre de: • Copiar, distribuir y comunicar públicamente la obra. • Hacer obras derivadas. Bajo las siguientes condiciones: • Reconocimiento (Attribution) – Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra). • No comercial (Non commercial) – No puede utilizar esta obra para fines comerciales. • Compartir bajo la misma licencia (Share alike) – Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Entendiendo que: • Renuncia – Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor • Dominio Público – Cuando la obra o alguno de sus elementos se halle en el dominio público según la ley vigente aplicable, esta situación no quedará afectada por la licencia. • Otros derechos – Los derechos siguientes no quedan afectados por la licencia de ninguna manera: ◦ Los derechos derivados de usos legítimos u otras limitaciones reconocidas por ley no se ven afectados por lo anterior. ◦ Los derechos morales del autor ◦ Derechos que pueden ostentar otras personas sobre la propia obra o su uso, como por ejemplo derechos de imagen o de privacidad. • Aviso – Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.

Prólogo Estos apuntes presentan una introducción a la informática. Si bien se destacan los aspectos más útiles para la programación de ordenadores, también se habla de los fundamentos más básicos, entre los que se incluyen el sistema binario, la codificación de datos, los sistemas operativos, las bases de datos y la organización del software en un ordenador. Puesto que se trata de una breve introducción para que el alumno adquiera un vocabulario mínimo para una asignatura de programación, los contenidos son necesariamente escuetos, pero ampliados con respecto al material que suele encontrarse en los libros específicos de iniciación a la programación. Se trata de cubrir los dos primeros temas de la asignatura de Fundamentos de informática que se imparte en los diversos grados de la escuela de Ingenierías Industriales de la Universidad de Málaga. Málaga, 9 de septiembre de 2018 Julio Garralón Ruiz

i

J. Garralón et al.

ii

Índice general 1. Introducción

1

1.1. El ordenador y la información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2. Representación de la información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.2.1. Sistemas de numeración posicionales . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.2.2. Operaciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.2.3. Codificación binaria de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.3. La componente física de un ordenador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1. La Arquitectura von Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.2. El ciclo máquina y funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4. La componente lógica de un ordenador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4.1. Sistemas operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.2. Traductores y compiladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.4.3. Bases de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5. Notas bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2. Algoritmos y programas

31

2.1. Concepto de algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2. Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3. El ciclo de vida software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.4. Desarrollo de un programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.5. Notas bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 A. Conjunto de caracteres ASCII

41

iii

Índice general

J. Garralón et al.

Índice general

iv

Capítulo 1

Introducción 1.1.

El ordenador y la información

Según la Real Academia Española de la Lengua, los conceptos de informática y ordenador se definen como: Informática. Conjunto de conocimientos científicos y técnicos que posibilitan el tratamiento automático de la información. Ordenador. Máquina capaz de tratar información de forma automática bajo el control de un programa. De hecho, el término informática deriva de la contracción de la parte inicial de la palabra información y la parte final de la palabra automática 1 . Desde el punto de vista de un ingeniero, un ordenador puede verse como un sistema abierto de información automático. Es un decir, es un conjunto de elementos interrelacionados entre sí (por eso es un sistema ), que interactúa con el exterior a través de una entrada y una salida (por eso es abierto), cuyo elemento principal es la información, y dentro del cual no interviene el ser humano (por eso es automático). La entrada a este sistema va a ser información sin procesar, en bruto, y la salida será información elaborada, ya procesada, tal y como se ilustra en la figura 1.1. Los primeros ordenadores, que surgieron en la primera mitad del siglo XX, eran de naturaleza continua o analógicos, ya que almacenaban y procesaban la información mediante circuitos electrónicos o electromecánicos. Estos circuitos tenían sus limitaciones y la precisión real de las máquinas construidas dejaban mucho que desear comparada con la infinita precisión teórica de un medio continuo. Durante la segunda mitad del siglo XX empezaron a desarrollarse los ordenadores digitales, los cuales almacenaban y procesaban la información mediante circuitos electrónicos discretos. A pesar de tener una precisión finita teórica, pronto se constató que eran más versátiles y que podían alcanzar mayor potencia que los analógicos. No obstante, en los ordenadores digitales la información debe representarse de forma adecuada para que pueda ser procesada y almacenada eficientemente por el soporte físico que lo sustenta. Se necesita un proceso de codificación que convierta la información con la que habitualmente trabaja el ser humano (texto, números, imágenes, sonido...) a información discreta que pueda ser procesada por el ordenador. Además, este proceso debe ser reversible mediante otro proceso de decodificación, el cual permitirá recuperar sin ambigüedad la información codificada que produce el ordenador al formato original. La codificación que utilizan los ordenadores actuales se basa en la llamada álgebra de Boole, trabajo desarrollado por el matemático inglés George Boole en el siglo XIX. A continuación vamos a ver el álgebra booleana en forma de un sistema de numeración equivalente, el sistema binario, y en la siguiente sección veremos cómo se utiliza este sistema para codificar datos en un ordenador. 1 Originalmente

el término proviene del francés: informatique =information+automa tique.

1

Capítulo 1. Introducción

números, texto, ...

Entrada codificación

Información sin procesar

1.2. Representación de la información

Ordenador + Programa + Información

Salida decodificación

números, texto, ...

Información procesada

Figura 1.1: El ordenador como sistema de información.

1.2.

Representación de la información

George Boole (1815-1864) fue un matemático inglés que desarrolló la teoría de la lógica binaria en el siglo XIX, mucho antes de emplearse en los ordenadores digitales. También hizo aportaciones en el campo de las ecuaciones diferenciales y la lógica algebraica.

1.2.1.

Sistemas de numeración posicionales

Un sistema de numeración es un conjunto de símbolos, que llamaremos cifras o dígitos, cada uno de los cuales representa una pequeña cantidad entera, y reglas para combinar esos símbolos en secuencias de dígitos llamadas números, que van a representar cantidades o valores arbitrarios. Estas reglas van a permitir operar con los números y obtener resultados fácilmente. Destacamos los sistemas de numeración posicionales, en los que el valor representado por un número depende tanto del conjunto de cifras utilizadas, como de las posiciones que ocupan las cifras dentro de un número. Hay sistemas de numeración posicionales bien conocidos, como el decimal (también llamado arábico), que utiliza el conjunto de los diez dígitos del 0 al 9. Menos operativos son los sistemas de numeración no posicionales, como el romano, donde sus cifras, los símbolos I, V, X, L, C, D y M, siempre tienen el mismo valor independientemente de la posición que ocupen. En un sistema posicional los números se forman concatenando cifras que se alinean empezando por la posición de las unidades, que es la 0, colocando las cifras enteras a la izquierda de ésta en las posiciones consecutivas 1, 2, 3... y las cifras fraccionarias a la derecha de las unidades en las posiciones negativas -1, -2, -3... Se suele utilizar un punto para separar la parte entera, de la parte fraccionaria 2 . Así, podemos representar un número como la cadena de símbolos ...d3 d2 d1 d0 .d−1 d−2 d−3 ..., donde cada di es una cifra o dígito del número. Además del conjunto de cifras utilizado, cada sistema de numeración posicional se caracteriza por un vector de pesos ( . . . p3 p2 p1 p0 p−1 p−2 p−3 . . . ) que asocia un factor multiplicativo a cada cifra según su posición dentro de un número. La cantidad representada por el número es la suma de los resultados de multiplicar cada cifra por su peso: . . . p3 d3 + p2 d2 + p1 d1 + p0 d0 + p−1 d−1 + p−2 d−2 + p−3 d−3 . . . Por supuesto, cada dígito di puede ser cualquiera del conjunto de cifras posible, y repetirse dentro del número. Y los pesos no aparecen escritos en el número, son implícitos y fijos para cada sistema de numeración. 2 Aunque

en algunos idiomas como el español, a veces se utiliza la coma como símbolo separador.

J. Garralón et al.

2

Capítulo 1. Introducción

1.2. Representación de la información

Base binaria octal decimal hexadecimal

Conjunto de cifras { 0, 1 } { 0, 1, 2, 3, 4, 5, 6, 7 } { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f}

Tabla 1.1: Sistemas de numeración más habituales en los ordenadores digitales. Base binaria octal decimal hexadecimal

... ... ... ... ... ... ... ...

23 8

22 4 82 64 102 100 162 256

21 2 81 8 101 10 161 16

Vector de pesos 20 2−1 2−2 1 0.5 0.25 80 8−1 8−2 1 0.125 0.015625 100 10−1 10−2 1 0.1 0.01 160 16−1 16−2 1 0.0625 0.003900625

2−3 0.125

... ... ... ... ... ... ... ...

Tabla 1.2: Valores centrales de vectores de peso basados en el sistema binario. Para facilitar la realización de las operaciones aritméticas con números, es conveniente establecer el conjunto de cifras y el vector de pesos en función de un número natural llamado base, de forma que cada peso coincide con esa base elevada a su posición dentro del vector. Es decir, si la base del vector de pesos es b, el vector de pesos será . . . b3

b2

b1

b0

b−1

b−2

b−3 . . .

de tal forma que el valor del número d3 d2 d1 d0 .d−1 d−2 d−3 sería b3 d3 + b2 d2 + b1 d1 + b0 d0 + b−1 d−1 + b−2 d−2 + b−3 d−3 Por ejemplo, el número 1234.32 en base 10 o decimal, que es la base natural con la que aprendemos aritmética, se interpreta como 103 · 1 + 102 · 2 + 101 · 3 + 100 · 4 + 10−1 · 3 + 10−2 · 2 = 1000 + 200 + 30 + 4 + 0.3 + 0.02 = 1234.32 pero ese mismo número en base 5 se interpretaría como un número totalmente diferente: 53 · 1 + 52 · 2 + 51 · 3 + 50 · 4 + 5−1 · 3 + 5−2 · 2 = 125 + 50 + 15 + 4 + 0.6 + 0.08 = 194.68 El número de cifras distintas que utiliza cada sistema de numeración debe coincidir exactamente con la base, empleando los dígitos necesarios entre el 0 y el 9, y otros símbolos adicionales cuando la base sea mayor que 10. En la tabla 1.1 se muestran los conjuntos de cifras de los sistemas de numeración más utilizados en informática. En la base 16, además de los 10 dígitos arábicos, se utilizan las primeras letras de nuestro alfabeto para representar los valores 10, 11, 12, 13, 14 y 15, en mayúsculas o minúsculas indistintamente. En la tabla 1.2 se muestra parte de sus vectores peso (en realidad son infinitos). Y en la tabla 1.3 se muestra la representación de los primeros números naturales en estos sistemas. En general, puede observarse que cuanto más pequeña es la base, más cifras se necesita para representar un mismo valor. Aunque para el ser humano el sistema de numeración natural es el decimal, en informática es muy habitual utilizar el sistema en base 2 o binario, dado que los circuitos electrónicos de los ordenadores digitales utilizan muy eficientemente combinaciones de 2 posibles valores de magnitudes físicas, tales como voltajes, corrientes o cargas electrónicas. El dígito binario se conoce como bit 3 , los cuales suelen agruparse en grupos de 8 bits, dando lugar a los octetos, también llamados bytes. 3 Palabra

3

procedente del idioma inglés: Binary digIT.

Universidad de Málaga

Capítulo 1. Introducción

1.2. Representación de la información Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000

Octal 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20

Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Tabla 1.3: Representación de los 17 primeros números naturales en distintas bases. Los números expresados en binario suelen ser largos y difíciles de manejar para el ser humano, por lo que es frecuente la utilización de otras bases que también son adecuadas para ordenadores, pero que permiten expresar las mismas cantidades con menos dígitos. Estas bases son las potencias exactas de 2, como la octal (8 = 23 ), y la hexadecimal (16 = 24 ).

Conversiones a decimal

J. Garralón et al.

4

Capítulo 1. Introducción

1.2. Representación de la información

2 74 14 37 ✎☞ 0 17 ✍✌ 1

2 18 0

2 2

9 1

4 0

2 2 0

⇒ 1001010(2 ✒

2 1 1

2 0

El proceso termina cuando se obtiene el cociente 0, que correspondería a un cero a la izquierda, lo que, como hacemos habitualmente en decimal, no hace falta escribir. La parte fraccionaria se obtiene haciendo multiplicaciones sucesivas por la base. Primero multiplicamos la fraccionaria completa del número original por la base. La parte entera obtenida será el primer dígito fraccionario del número en la base destino. En cada iteración posterior, eliminamos del resultado anterior la parte entera obtenida, y multiplicamos la nueva parte fraccionaria por la base. Cada nueva parte entera obtenida será la siguiente cifra fraccionaria de izquierda a derecha del nuevo número. Y se procede así hasta la precisión deseada. Por ejemplo, la parte fraccionaria del número anterior se obtendría operando de la siguiente forma: 0.423 ×2 0.846



0.846 ×2



1.692

0.692 ×2 1.384



0.384 ×2 0.768



0.768 ×2 1.536



0.536 ×2 1❥ .072

... ⇒

0.011011(2 ✒

Concatenando las partes entera y fraccionaria obtenemos la representación del número completo en la nueva base: 1001010.011011...(2 Como vemos, aunque la parte fraccionaria en una base tenga un número finito de dígitos, no siempre obtenemos una parte fraccionaria finita en la nueva base.

Conversiones entre bases no decimales En general, aunque hay otros métodos, la conversión entre dos bases cualesquiera requiere primero la conversión a decimal utilizando la fórmula del valor total. Posteriormente se convierte el número decimal obtenido a la base deseada por el método de las divisiones y multiplicaciones sucesivas. Por ejemplo, para pasar el número 11010.0011(2 a base 7, se obtendría primero el valor decimal 26.1875 y después se convertiría a 35.12(7 .

Conversiones rápidas Existe un método que no necesita prácticamente operaciones aritméticas, incluso para la parte fraccionaria, si se cumple la condición de que la base de partida, b1 , es una potencia exacta de la de destino b2 , o viceversa, es decir, si b1 = bk2 o b2 = bk1 , siendo k un número natural distinto de cero. En estos casos, si la base de partida es más pequeña, basta con hacer grupos de k dígitos del número original, por orden y empezando por los más próximos al punto separador, para obtener cada uno de los dígitos del número destino en el mismo orden. Hay que tener en cuenta que los grupos hay que completarlos con ceros a la izquierda para la parte entera y con ceros a la derecha para la fraccionaria. Si la base de partida es más grande, se expande cada uno de los dígitos del número original al grupo de k dígitos correspondiente en 5

Universidad de Málaga

Capítulo 1. Introducción

1.2. Representación de la información

la base destino. La condición mencionada anteriormente garantiza una conversión biunívoca entre cada grupo de k dígitos y el dígito correspondiente a la base más grande. Esto ocurre con las bases octal y hexadecimal, que son potencias exactas de la binaria, ya que 8 = 23 y 16 = 24 . Con lo cual, cada dígito octal se corresponde exactamente con 3 dígitos binarios, y cada

En informática también son habituales las llamadas operaciones lógicas o booleanas 4 , las cuales se aplican sobre operandos que sólo toman 2 posibles valores: falso (0) o verdadero (1). Las tablas 1.4 y 1.5 muestran las llamadas tablas de verdad de las operaciones booleanas más útiles con uno y dos operandos respectivamente. Indican los resultados para todas las posibles combinaciones de valores de sus operandos de entrada. La negación NOT de un solo operando da como resultado su complemento. Los otros operadores tienen dos operandos y por tanto 4 posibles resultados. Obsérvese que el operador NAND es la negación del operador AND, y el operador NOR es la negación del operador OR. El operador XOR se denomina también OR exclusivo. Operando 0 1

NOT 1 0

Tabla 1.4: Operador lógico de negación.

Operando 1 0 0 1 1

Operando 2 0 1 0 1

AND 0 0 0 1
...


Similar Free PDFs