Descripción: Clase 12 de Programación, Prof. Gonzalo Müller
Programación
Clase 12. Hardware y Software Prof. Gonzalo Müller
[email protected]
Facultad de Ingeniería Universidad Central de Venezuela
Clase Anterior
Normalización de un programa: Notación. Documentación. Indentación. Errores de Programación: Error Algorítmico: Error de Concepción.
Error de Lógica.
Error de Codificación o Sintaxis: Error de Trascripción. Error de Uso.
Error de Omisión.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 2
El Programador
Un programador es aquel: Tiene la capacidad para describir la solución a un problema a través de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las características, el funcionamiento de la computadora y las tecnología asociadas. Establece los tipos de datos y diseña las estructuras de datos requeridas a utilizar en la resolución de un problema. Programación – Prof. Gonzalo Müller – Clase 12 – GM - 3
El Programador
Un programador es aquel: Tiene la capacidad para describir la solución a un problema a través de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las características, el funcionamiento de la computadora y las tecnología asociadas. Establece los tipos de datos y diseña las estructuras de datos requeridas a utilizar en la resolución de un problema. Programación – Prof. Gonzalo Müller – Clase 12 – GM - 4
El Programador
Un programador es aquel: Tiene la capacidad para describir la solución a un problema a través de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las características, el funcionamiento de la computadora y las tecnología asociadas. Establece los tipos de datos y diseña las estructuras de datos requeridas a utilizar en la resolución de un problema. Programación – Prof. Gonzalo Müller – Clase 12 – GM - 5
El Programador
Un programador es aquel: Tiene la capacidad para describir la solución a un problema a través de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las características, el funcionamiento de la computadora y las tecnología asociadas. Establece los tipos de datos y diseña las estructuras de datos requeridas a utilizar en la resolución de un problema. Programación – Prof. Gonzalo Müller – Clase 12 – GM - 6
Hardware y Software
Hardware: Elementos físicos que forman el computador: Monitor, Teclado, Disco Duro, Memoria, etc.
Software: Todo aquel elemento no físico del sistema computador: Datos. Programas.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 7
Hardware y Software
Datos
Programas
Sistema Operativo
Hardware
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 8
Hardware y Software
Datos
Programas
Sistema Operativo
Hardware Impone Limitaciones y Reglas Programación – Prof. Gonzalo Müller – Clase 12 – GM - 9
Hardware y Software
Datos
Programas
Sistema Operativo
Hardware Hay que conocerlo! Programación – Prof. Gonzalo Müller – Clase 12 – GM - 10
Computador
Máquina que computa o calcula. Es un sistema capaz de almacenar y procesar grandes cantidades de información con extrema precisión y rapidez.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 11
Computador
Un computador o PC, consta de distintas partes interconectadas entre sí, que trabajan coordinadamente.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 12
Computador
Los elementos básicos de un computador son: Procesador. Memoria. Dispositivos de entrada.
Teclado, Ratón, etc.
Dispositivos de salida.
Monitor, Impresora, etc.
Dispositivos de almacenamiento:
Disco Duro, CD, etc. Programación – Prof. Gonzalo Müller – Clase 12 – GM - 13
Elementos Básicos de un Computador
Procesador: Se encarga de realizar las operaciones aritméticas y lógicas, así como de coordinar el funcionamiento de todos los demás componentes.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 14
Elementos Básicos de un Computador
Memoria: Es donde se guardan los datos y los programas que el procesador esta utilizando.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 15
Elementos Básicos de un Computador
Disco Duro: Dispositivo de almacenamiento capaz de mantener la información (datos y programas) cuando el computador es apagado.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 16
Elementos Básicos de un Computador
Diskettes y CDs: Tienen unas características y propiedades similares a las de los discos duros, con la diferencia que los discos duros tienen mucha mas capacidad. Son extraíbles y sirven para pasar información de de un PC a otro con gran facilidad.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 17
Elementos Básicos de un Computador
Pantalla o Monitor: Elemento del computador a través del cual pide los datos y muestra los resultados.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 18
Elementos Básicos de un Computador
Teclado: Es el elemento mas utilizado para introducir información alfanumérica.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 19
Elementos Básicos de un Computador
Ratón: Es el dispositivo mas utilizado para introducir información no alfanumérica, tal como, seleccionar una entre varias opciones de un menú o caja de diálogo.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 20
Sistema Computador
Sistema Computador: Propuesto por Von Neumann en 1948. Un conjunto de instrucciones es almacenado en la memoria del computador, la cuales le indican al computador las acciones a realizar. El computador sólo tiene que leer instrucción a instrucción y realizarlas.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 21
Sistema Computador CPU
Unidad AritméticoLógica
Unidad de Control
Unidades de Entrada
Memoria Principal Almacenamiento Secundario Esquema de Von Neumann Programación – Prof. Gonzalo Müller – Clase 12 – GM - 22
Unidades de Salida
Sistema Computador
Unidad Central de Proceso (CPU): Es el corazón del computador, se encarga de realizar todas las operaciones aritméticas y lógicas además de coordinar el funcionamiento de todos los demás componentes para que sigan las instrucciones de un programa. Para ello dispone generalmente de dos componentes que se suelen llamar Unidad Aritmético-Lógico y Unidad de Control.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 23
Sistema Computador Unidad de Control: Toma de la memoria principal una instrucción y genera de acuerdo con el estado actual de los dispositivos, las señales de control dirigidas a estos, para que realicen las operaciones implicadas en la ejecución de la instrucción. Esto se denomina operación elemental y se realiza en un ciclo de reloj.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 24
Sistema Computador
Memoria Principal: Es el componente donde se almacenan los datos y los programas en uso por la unidad central de proceso. En ella no se efectúa ningún procesamiento, solo almacenamiento y recuperación de información.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 25
Sistema Computador
Unidades de Entrada: Se caracterizan por permitir la comunicación del exterior: Teclado. Ratón. Escáner. Módem. entre otros.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 26
Sistema Computador
Unidades de Salida: Se caracterizan por permitir la comunicación de la unidad de proceso al exterior: Monitor. Impresora. Plotters. Módem. entre otros
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 27
Sistema Computador
Unidades de Almacenamiento Secundario: Fundamentalmente sirven para almacenar programas y datos que no requieren estar en la memoria principal en un instante dado. Normalmente utilizados para almacenamiento de grandes volúmenes de información. Unidades de Diskettes. Discos Duros. Unidades de Discos Compactos, etc. Programación – Prof. Gonzalo Müller – Clase 12 – GM - 28
Sistema Operativo
Es un programa que se suministra servicios de gestión de los dispositivos del computador, estableciendo la comunicación entre estos y las diferentes aplicaciones de forma sencilla, eficiente, ordenada y segura.
Hardware
Sistema Operativo
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 29
Software
Sistema Operativo Sistema Operativo toma el programa del almacenamiento secundario, lo carga en memoria principal y luego lo ejecuta.
1º Cargar en Memoria
2º Ejecutar Programa Programación – Prof. Gonzalo Müller – Clase 12 – GM - 30
Sistema Operativo
Funciones del Sistema Operativo: Administración de Proceso:
Ejecución de programas.
Comunicación entre proceso.
Administración de Memoria. Operaciones de entrada y salida. Administración de archivos de todo tipo. Detección y notificación de errores. Programación – Prof. Gonzalo Müller – Clase 12 – GM - 31
Memoria Elemento Esencial, ya que almacena los programas y los datos. Programa
Datos
Datos
756
890
1056
Programa Programa
1856
2789
Elemento con el que se relaciona más intensamente el programador.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 32
Memoria
Tipos de memorias: ROM: Memoria de solo lectura (Read Only Memory) Contiene la información esencial para el funcionamiento del computador almacenada por el fabricante. Su contenido es permanente y no requiere de electricidad para mantenerla. No se puede almacenar información en esta.
No es de interés para el programador Programación – Prof. Gonzalo Müller – Clase 12 – GM - 33
Memoria RAM: Memoria de acceso aleatorio (Random Access Memory)
Read Write Memory.
Permite la Escritura.
Permite la Lectura.
Se puede almacenar en cualquier parte de la memoria.
Requiere de energía eléctrica para mantener la información almacenada.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 34
Memoria
Se almacena los programas que diseñamos.
Se almacena los datos a procesar y resultados.
Es accesada constantemente por el programa.
Cuando hablemos de “memoria” nos estaremos refiriendo a memoria RAM.
Es Fundamental para el Programador
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 35
Memoria
Localidades:
La memoria esta organizada en localidades de almacenamiento.
Cada localidad es de un tamaño específico.
Cada localidad esta identificada mediante una dirección. Tamaño
1
Localidad
2
3 Dirección
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 36
N
Bits y Bytes
Bit: es la localidad de almacenamiento más pequeña. Físicamente constituye un elemento biestable que esta encendido o apagado. Es capaz de almacenar un 1 ó un 0.
Bit Apagado Encendido
Almacena 0 1
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 37
Bits y Bytes Aislado sirve de poco por lo que se trabaja en forma conjunta.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 38
Bits y Bytes Aislado sirve de poco por lo que se trabaja en forma conjunta. Ejemplo: 2 bits puede representar 4 situaciones: Bit 1
Bit 2
Almacena 00 01 10 11
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 39
Bits y Bytes Ejemplo: 3 bits puede representar 8 situaciones: Bit 1
Bit 2
Bit 3
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 40
Almacena 000 001 010 011 100 101 110 111
Bits y Bytes Así sucesivamente n bits trabajados conjuntamente puede expresar 2n situaciones distintas
n bits → 2n posibilidades
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 41
Bits y Bytes
Byte: es un conjunto de 8 bits. En los computadores la localidad de menor tamaño es un byte. Tamaño: 8 bits
1
Localidad
2
N Dirección
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 42
Bits y Bytes En un byte se puede representar hasta 28 = 256 situaciones que van desde 0000000 hasta 11111111
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 43
Bits y Bytes En un byte se puede representar hasta 28 = 256 situaciones que van desde 0000000 hasta 11111111 Hoy en día el byte es una unidad pequeña por lo que la memoria se suele medir en: Kilobyte: 1 KByte = 1024 Bytes Megabyte: 1 MByte = 1024 KB Gigabyte: 1 GByte = 1024 MB Terabyte: 1 TByte = 1024 GB Petabyte: 1 PByte = 1024 TB Exabyte: 1 EByte = 1024 PB Zettabyte: 1 ZByte = 1024 EB
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 44
Bits y Bytes
Dirección: Identifica una localidad de memoria. Permite accesar a una localidad en particular.
Es necesario para el programador conocer la dirección de un dato en particular.
Ejemplo: En la dirección 7856 de la memoria se encuentra almacenado el valor 524. Contenido
524 7856
Dirección
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 45
Sistemas de Numeración
El computador solo es capaz de almacenar un conjunto de 0s y 1s, por lo tanto si se desea almacenar un valor como 524 es necesario realizar la conversión a 0s y 1s, lo que lleva a utilizar diferentes sistemas de numeración.
Los sistema de numeración más utilizados son: Sistema Binario. Sistema Hexadecimal.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 46
Sistemas de Numeración
Sistema numeración Decimal. Alfabeto: 0 1 2 3 4 5 6 7 8 9 Cardinalidad del alfabeto: 10 Cada dígito tiene un valor relativo según la posición que ocupa.
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 47
Sistemas de Numeración
Sistema numeración Decimal. Alfabeto: 0 1 2 3 4 5 6 7 8 9 Cardinalidad del alfabeto: 10 Cada dígito tiene un valor relativo según la posición que ocupa. Ejemplo: Posición Digito
2 8
1 7
8 x 102 + 7 x 101 + 6 x 100 = 876 Programación – Prof. Gonzalo Müller – Clase 12 – GM - 48
0 6
Sistemas de Numeración
Sistema numeración Binario. Alfabeto: 0 1 Cardinalidad del alfabeto: 2 Cada dígito tiene un valor relativo según la posición que ocupa. Notación : NÚMERO2
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 49
Sistemas de Numeración Ejemplo: Obtener la representación decimal de 1012: Posición Digito
2 1
1 0
1 x 22 + 0 x 21 + 1 x 20 = 5
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 50
0 1
Sistemas de Numeración
Sistema numeración Hexadecimal. Alfabeto: 0 1 2 3 4 5 6 7 8 9 A B C D E F Cardinalidad del alfabeto: 16 Cada dígito tiene un valor relativo según la posición que ocupa. Notación : NÚMEROH Dígito Valor
0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Programación – Prof. Gonzalo Müller – Clase 12 – GM - 51
Sistemas de Numeración Ejemplo: Obtener la representación decimal de FA1H :
Posición Digito
2 F
1 A
F x 162 + A x 161 + 1 x 160 =
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 52
0 1
Sistemas de Numeración Ejemplo: Obtener la representación decimal de FA1H :
Posición Digito
2 F
1 A
F x 162 + A x 161 + 1 x 160 = 15 x 162 + 10 x 161 + 1 x 160 = 4001
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 53
0 1
Sistemas de Numeración Es más utilizado por los programadores. Normalmente las direcciones de memoria se expresan en Hexadecimal. Permite expresar en forma más compacta que en binario. Hexadecimal Binario
0 1 2 3 4 5 6 7 0000 0001 0010 0011 0100 0101 0110 0111
Hexadecimal Binario
8 9A B C D E F 1000 1001 1010 1011 1100 1101 1110 1111 Programación – Prof. Gonzalo Müller – Clase 12 – GM - 54
Sistemas de Numeración Ejemplo: Obtener la representación Hexadecimal de 0100000012:
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 55
Sistemas de Numeración Ejemplo: Obtener la representación Hexadecimal de 0100000012: 010000001
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 56
Agrupar de 4 en 4
Sistemas de Numeración Ejemplo: Obtener la representación Hexadecimal de 0100000012: 010000001 0
1000 8
0001 1 A partir de la tabla se toma el valor correspondiente en hexadecimal para el cuarteto
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 57
Sistemas de Numeración Ejemplo: Obtener la representación Hexadecimal de 0100000012: 010000001 0
1000 8 81H Programación – Prof. Gonzalo Müller – Clase 12 – GM - 58
0001 1
De Base cualquiera a Decimal
Dígitos −1
NÚMERO =
∑ Dígito
k
k =0
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 59
* Base
k
De Decimal a una Base cualquiera NumeroABase(numero, base) resultado = 0 posicion = 1 cociente = numero cociente = cociente \ base residuo = cociente % base resultado = resultado + residuo*posicion posicion=posicion*10 Mientras (cociente ≥ base) resultado = resultado + cociente*posicion retorna resultado Programación – Prof. Gonzalo Müller – Clase 12 – GM - 60
Sistemas de Numeración Ejemplo: Obtener la representación Binaria de 27:
Corrida en frío Programación – Prof. Gonzalo Müller – Clase 12 – GM - 61
Ejercicio 1. Obtener la representación Hexadecimal: a) 0101010012 b) 10001110012 c) 738 2. Obtener la representación Decimal: a) 0101010012 b) 010101001H c) F0A1H 3. Cuantas localidades de memoria del computador ocupa el siguiente valor: a) 0101010012 b) F41H c) 135
Programación – Prof. Gonzalo Müller – Clase 12 – GM - 62
Resumen
Computador: Procesador, Memoria, Disco Duro, Diskettes, Monitor, Teclado, Ratón.
Sistema Computador: Unidad Central de Proceso, Memoria Principal, Unidades de Entrada, Unidades de Salida, Unidades de Almacenamiento Secundario.
Memoria ROM y RAM Localidades Tamaño: bit, byte, Dirección.
Sistemas de Numeración: Binario y Hexadecimal Programación – Prof. Gonzalo Müller – Clase 12 – GM - 63