Fundamentos de Informática El ordenador

Anuncio
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
Descargar