2 Contenidos Fundamentos de Informática - El Ordenador (el hardware) 2. Conceptos Básicos - El Software - La información en el ordenador - El bit y sus unidades de medida - Sistemas de numeración - Almacenamiento de datos - El manejo de la información: programas Fundamentos de Informática Grado en Ingeniería Química 3 4 El ordenador Tema 2. Conceptos Básicos CPU Unidad de Control Unidad Aritmético-lógica Registros El ordenador 5 6 El ordenador Memoria Principal RAM Datos Programas ROM Memoria Secundaria Discos Duros El ordenador Periféricos (entrada / salida) Consola Almacenamiento masivo Comunicaciones Impresión Multimedia Periféricos específicos … 1 7 8 El ordenador El ordenador PC 9 PC 10 El ordenador El ordenador PC 11 Superordenador Mare Nostrum (centro de supercomputación, Barcelona) 12 El ordenador El ordenador Otros periféricos TAC Otros periféricos Analizador Químico 2 13 14 El ordenador El ordenador Otras máquinas digitales programables Otras máquinas digitales programables PDA Smartphone Tablet 15 16 El ordenador Tema 2. Conceptos Básicos Otras máquinas digitales específicas ebook mp3 El software 17 18 El software Software: Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación. Software: Soporte lógico de un ordenador Software: aplicaciones, programas, datos…. El software Software de sistema: Sistema Operativo Controladores (drivers) Herramientas Utilidades Software de programación: Compiladores, Interpretes Editores Depuradores Software de aplicación: (ofimática, cálculo, juegos, etc.) 3 19 20 El software El software Sistemas operativos comerciales Se organiza en capas Windows Hardware Comunicación Básica Núcleo del Sistema Operativo Gestión del sistema Interfaz Programas y aplicaciones Unix Simbian MacOs Linux Android Iphone OS 21 22 La información en el ordenador El bit y sus unidades de medida Tema 2. Conceptos Básicos El bit : Binary Digit Un dígito binario Dos niveles de voltaje Dos valores 1–0 La información en el ordenador El bit y sus unidades de medida Binario: Sistema de numeración que usa dos cifras 23 24 La información en el ordenador El bit y sus unidades de medida El Byte Con un bit podemos decir poco. Con la agrupación de 8 bits (byte) podemos decir algo más. 00000000 La información en el ordenador El bit y sus unidades de medida Memoria de computadora de 1980 donde se pueden ver los bits físicos. Este conjunto de unos 4x4 cm. corresponden a 512 bytes 10101001 11111111 4 25 26 La información en el ordenador El bit y sus unidades de medida Tema 2. Conceptos Básicos Unidades de medida 1024=210 1024 bytes ≡ 1 kilobyte 1024 KB ≡ 1 Megabyte 1024 MB ≡ 1 Gigabyte 1024 GB ≡ 1 Terabyte 1024 TB ≡ 1 Petabyte 1024 PB ≡ 1 Zettabyte 1024 ZB ≡ 1 Yottabyte KB MB GB TB PB ZB YB 1024 bits ≡ 1 kilobit 1024 Kb ≡ 1 Megabit 1024 Mb ≡ 1 Gigabit 1024 Gb ≡ 1 Terabit 1024 Tb ≡ 1 Petabit 1024 Pb ≡ 1 Zettabit 1024 Zb ≡ 1 Yottabit Kb Mb Gb Tb Pb Zb Yb 27 La información en el ordenador Sistemas de numeración 28 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración Sistema de numeración decimal Base 10: decimal Sistema de numeración binario 0..9 Base 2: binario 0,1 Contemos en binario 29 30 La información en el ordenador La información en el ordenador Sistemas de numeración Sistema de numeración octal Base 8: octal Contemos en octal 0..7 Sistemas de numeración Sistema de numeración hexadecimal Base 16: hexadecimal 0..9,A,B,C,D,E,F Contemos en hexadecimal 5 31 32 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración Conversión binario a decimal 24 23 22 21 Conversión decimal a binario 20 Dividir el número continuamente entre 2. Se toma, a la inversa, el último cociente y los restos 1 0 1 0 1 16 8 4 2 1 16 + 4 + 1 = 21 33 34 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración Conversión decimal a binario Sumar en binario Dividir el número continuamente entre 2. Se toma, a la inversa, el último cociente y los restos N 131 65 32 16 8 4 2 1 131 C 65 32 16 8 4 2 1 0 R 1 1 0 0 0 0 0 1 Tabla de sumar 0+0=0 0+1=1 1+0=1 1 + 1 = 10 10000011 35 + 10101010 01001111 11111001 36 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración Operaciones lógicas en binario Restar en binario Tabla de restar 0–0=0 1–0=1 1–1=0 0 – 1 = 1 y acarreo de 1 - 10101010 01001111 01011011 AND 0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1 AND 10101010 01001111 00001010 6 37 38 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración Operaciones lógicas en binario Operaciones lógicas en binario OR NOT 0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1 OR 10101010 01001111 NOT 0 = 1 NOT 1 = 0 NOT 11101111 39 10101010 01010101 40 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración El octal El Hexadecimal Conversión rápida y directa al binario 1 dígito hexadecimal = 4 dígitos binarios (24=16) Conversión rápida y directa al binario 1 dígito octal = 3 dígitos binarios (23=8) 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 1100011 001 100 011 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 1438 2178 010 001 111 10001111 41 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 10110011 CA16 1011 0011 1100 1010 B316 11001010 42 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración Octal → Decimal Decimal → Octal y Hexad. 84 83 82 81 80 0 1 2 3 2 4096 12328 512 64 8 1 74D16 (512 x 1) + (64 x 2) + (8 x 3) + (1 x 2) = 666 7 43 44 La información en el ordenador La información en el ordenador Sistemas de numeración Sistemas de numeración Hexadecimal → Decimal 164 163 162 161 Cualquier Base → Decimal Teorema Fundamental de la Numeración 160 El valor en el sistema decimal de una cantidad expresada en otro sistema cualquiera de numeración, viene dado por la fórmula 0 0 7 4 D 65536 4096 256 16 X0B0 + X1B1 + X2B2 + X3B3+….+XnBn 1 B4 (256 x 7) + (16 x 4) + (1 x 13) = 1792 + 64 + 13 = 1869 45 B3 B2 B1 B0 X4 X3 X2 X1 X0 46 La información en el ordenador Sistemas de numeración Tema 2. Conceptos Básicos Hexadecimal ↔ Octal La información en el ordenador A través del binario (o decimal) Almacenamiento de datos Octal ↔ Binario ↔ Hexadecimal 47 48 La información en el ordenador La información en el ordenador Almacenamiento de datos Almacenamiento de datos Números naturales Números naturales Con 4 bits podemos almacenar números entre el 0 y el 15 24 = 16 = 0 .. 15 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 08 1000 09 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 4 bits 8 bits 2 bytes 4 bytes 24 28 216 232 16 256 65.536 0 .. 15 0 .. 255 0 .. 65.535 4.294.967.296 0 .. 4.294.967.295 8 49 50 La información en el ordenador La información en el ordenador Almacenamiento de datos Almacenamiento de datos Números enteros Números enteros Con 4 bits: un bit para el signo y tres bits para la cantidad 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 -0 1000 -1 1001 -2 1010 -3 1011 -4 1100 -5 1101 -6 1110 -7 1111 4 bits 8 bits 2 bytes Inconvenientes Dos codificaciones para el cero x + (-x) <> 0 51 Naturales 0 .. 15 0 .. 255 0 .. 65.535 Enteros -7 .. 7 -127 .. 127 -32767 .. 32767 52 La información en el ordenador La información en el ordenador Almacenamiento de datos Almacenamiento de datos Números enteros en complemento a 2 Números Reales: Para los números negativos: Se toma el número positivo Se halla el complemento (NOT) Se suma 1 Representación en punto flotante 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 -1 1111 -2 1110 -3 1101 -4 1100 -5 1011 -6 1010 -7 1001 -8 1000 Ej : (3) 0011 Notación científica con la que se pueden representar números reales extremadamente grandes y pequeños de una manera muy eficiente y compacta, y con la que se pueden realizar operaciones aritméticas. 1100 + 0001 1101 Signo Ventajas Representación Normal (16 bits) Una codificación para el cero x + (-x) = 0 1111 + 0001 0000 parte entera 11000111111 parte decimal 0011 Puedo representar -950,8 pero no 0,0000009508 0011 (3) + 1101 (-3) 0000 53 1 54 La información en el ordenador Almacenamiento de datos La información en el ordenador Almacenamiento de datos Números Reales Números Reales Representación en punto flotante Representación en punto flotante 6 dígitos significativos Normal Coma Flotante 0,00271828 2.71828 x 10-3 0,0271828 2.71828 x 10-2 0,271828 2.71828 x 10-1 2,71828 2.71828 x 10 0 27,1828 2.71828 x 10 1 Si se tiene un número real con muchos dígitos significativos, y la notación en coma flotante no permite tantos, debemos redondear el número. Ej: con 6 dígitos significativos: 0,027182752 = 0,0271828 = 2.71828 x 10-2 En informática se utiliza la notación compacta para representar los números en coma flotante. Ej: 2.71828 x 10-2 = 2.71828e-2 1.35612 x 104 = 1.35612e+4 9 55 56 La información en el ordenador La información en el ordenador Almacenamiento de datos Almacenamiento de datos Números Reales Representación de texto Representación en punto flotante Código ASCII 7 bits (octavo del byte para control de paridad) 128 caracteres Primeros 32 son caracteres de control -0,0271828 = -2.71828 x 10-2 Signo Espacio = 32 A = 65 a = 97 271828 -2 mantisa exponente Pepe = 80 101 112 101 Ejemplo de codificación Signo: 1 bit Exponente: 8 bit Mantisa: 23 bits Otras codificaciones ASCII extendido: 8 bits : 256 caracteres UNICODE: 32 bits 57 58 La información en el ordenador La información en el ordenador Almacenamiento de datos Almacenamiento de datos Representación de imágenes Representación de imágenes Imagen Cabecera Se almacena el color de cada píxel. Ej: 24 bits por píxel Imagen Como cada píxel se codifica como una mezcla de rojo (R), verde (G) y azul (B), se asigna un byte (256 tonos) a cada color. < R, G, B > < 10101010, 10101010, 10101010 > 59 60 El manejo de la información: programas Tema 2. Conceptos Básicos Programas Conjunto de instrucciones para procesar los datos El manejo de la información: programas Datos de Entrada Programa Datos de Salida 10 61 62 El manejo de la información: programas El manejo de la información: programas Lenguaje máquina Lenguaje máquina 0000 00001000 00010000 00010010 1001 1010 01010001 0001 101100 101 001 10101111 0110 1010100 10010101010 1110 001010101010 00101010101 101 0001 101100 101 001 10101111 0110 1010100 10010101010 1110 001010101010 00101010101 101 0001 101100 101 001 10101111 0110 1010100 10010101010 1110 001010101010 00101010101 101 63 Código directamente entendible por el ordenador (cpu) <Instrucción, valores> Sumar: 0000 direcc1 direcci2 direcc3 En binario Totalmente dependiente del hardware Suma el valor almacenado en la dirección1 con el la dirección2 y lo deja en dirección3 Difícil de codificar Poco fiable Muy dependiente del hardware Muy rápido Ej: Sumar 8 + 16 0000 00001000 00010000 00010010 64 El manejo de la información: programas El manejo de la información: programas Lenguaje ensamblador code segment menu proc near assume cs:code,ds:data,ss:pila push ds xor ax,ax push ax mov ax,data mov ds,ax xor dx,dx Lenguaje ensamblador ;interlineado mov ah,02h mov dl,10 int 21h mov ah,02h mov dl,13 int 21h No se puede ejecutar directamente Sumar: ADD M N P Suma el valor M con el N y lo guarda en P Necesita un traductor Ensamblador -> código máquina Más entendible Totalmente dependiente del hardware ;imprime seleccion de menu mov ah,09h mov dx,offset label1 int 21h 65 Muy cercano al código máquina Hoy en día solo se usa para aplicaciones en tiempo real, control de procesos, control de dispositivos electrónicos, etc. Poco fiable Muy dependiente del hardware Muy rápido 66 El manejo de la información: programas Lenguajes de alto nivel Cálculo del factorial de un uses crt; número var numero,limite,contador : integer; begin ClrScr; Write('Numero: '); Readln(numero); limite:=numero; numero:=1; for contador:=1 to limite do begin numero:=numero*contador; end; write('Factorial: ',numero); ReadKey; end. El manejo de la información: programas Lenguajes de alto nivel Diseñados para que las personas puedan programar Independiente de la máquina: programas portables Rápido aprendizaje Escritura basada en lenguaje humano (read, write, open…) Fácil de modificar Menos rápido Más consumo de memoria Necesita un programa para traducir el código de alto nivel en código máquina Compilador Intérprete 11 67 68 El manejo de la información: programas El manejo de la información: programas Lenguajes compilados e interpretados Lenguajes compilados e interpretados Compilador Código Fuente (Hola.c) Compilador Intérprete Código máquina (Hola.exe) 1. 2. 3. 4. 5. 6. El código fuente es el programa escrito por el programador en un lenguaje de alto nivel. El código máquina es el programa en un formato directamente entendible por la CPU. El compilador convierte un programa de alto nivel en un programa en código máquina. Se ejecuta el código máquina. Se detectan muchos errores antes de ejecutar El código es rápido y más fácil de depurar 69 El intérprete lee la primera instrucción del programa fuente Comprueba si es correcta Convierte la instrucción a código máquina Ejecuta el código máquina Lee la siguiente instrucción Vuelve al paso 2 • Se puede ir ejecutando según llega el código (ej: html) • Es más lento • El código máquina es menos óptimo. • Todos los errores son en tiempo de ejecución • Hay errores difícilmente detectables (hasta que no se ejecuta una condición no se sabe si va bien) 70 El manejo de la información: programas El manejo de la información: programas Lenguajes - Desordenada - Estructurada - Modular - Orientada a objetos - Bases de datos - Web -Industriales - Disp. móviles Lenguajes - Imperativos - Declarativos - Lógicos - Funcionales -Fortran -Basic -Pascal -Prolog -ADA -C / C++ -Java -XML … 71 72 El manejo de la información: programas Conceptos básicos Lenguaje C / C++ Creado en 1978 Estandarizado por ANSI Alto Nivel Compilado Propósito general Muy rápido Soporte en todos los ordenadores Muy flexible Modular, Basado en funciones Profesional Se pueden construir Sistemas Operativos, sistemas en tiempo real, aplicaciones de comunicaciones, etc. ------ Portable Existen muchas librerías creadas por los usuarios. 12