You are on page 1of 7

E.T.S. de Ingeniera Informtica (Ing.

Informtica)

Dpto de Lenguajes y C. de la Computacin

I. 1.- INTRODUCCIN A LA INFORMTICA. - INFORMTICA = INFORmacin + autoMTICA


UNIVERSIDAD DE MALAGA
DPTO. DE LENGUAJES Y C. DE LA COMPUTACION E.T.S. DE INGENIERIA INFORMATICA
INGENIERIA INFORMATICA

- Definicin: Conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la informacin por medio de computadores electrnicos. - Informtica como ciencia y como tcnica.

ELEMENTOS DE PROGRAMACIN

TEMA I
INTRODUCCIN Y CONCEPTOS BSICOS I.1. Introduccin a la informtica. I.1.1. Informtica. Ambito de aplicacin. 1.1.2.Conceptos bsicos. I.1.3. Evolucin histrica. I.2. El computador. Herramientas bsicas de un sistema. I.2.1. Codificacin de la informacin. I.2.2. Estructura funcional de los computadores. I.2.3. Funcionamiento de los computadores. I.2.4. Visin general de un sistema informtico. Bibliografa: [PRIE95], [BROO95], [JOYA03].

I.1.1.- Informtica. Ambito de aplicacin. - Area fabril. "Robtica" CAM (Computer Aided Manufacturing) - Medicina. "Informtica mdica" - Enseanza. CAI (Computer Aided Instruction) - Diseo (industrial y artstico). CAD (Computer Aided Design) - Campos cientficos y tcnicos. Meteorologa Astronoma "Simulacin por ordenador" - Telecomunicaciones. "Teleinformtica" o "Telemtica" - "Informtica de gestin". - .....

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 1

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

I.1.2.- Conceptos bsicos. Computador. Datos. Instruccin. Programa. Lenguaje de Programacin. Lenguaje Mquina/Lenguaje de Alto Nivel. Traductores. Hardware. Software. Sistemas Operativos.

- Lenguaje inconvenientes.

Mquina/Lenguaje

de

Alto

Nivel:

ventajas

- Necesidad de que la mquina pueda ejecutar un programa escrito en un lenguaje de alto nivel: - Traduccin para convertir un programa escrito en un lenguaje de alto nivel a su equivalente escrito en lenguaje mquina. Compilador. - Conseguir que el programa escrito en lenguaje de alto nivel sea ejecutado directamente en la mquina. Intrprete. - Hardware: parte fsica de la mquina (circuitos electrnicos y parte mecnica). - Software: parte lgica (programas). - Sistema Operativo. Conjunto de programas que controlan y facilitan el uso del Hardware. I.1.3.- Evolucin histrica. - Prehistoria. - Abaco (siglo XI A. C.) - Calculadores mecnicos. - Blaise Pascal: primera calculadora mecnica (sumar y restar) (1642). - Procesadores mecnicos. - Tarjetas perforadas de Jacquard (1802). - Charles Babbage: "Mquina Analtica" (1837). Primer ordenador moderno. - Augusta Ada Byron (1842). "La Mquina Analtica no pretende crear cualquier cosa. Slo sabe hacer aquello que sabemos ordenarle que haga". - George Boole (1847). lgebra de Boole. Expresiones lgicas

datos de entrada e instrucciones

datos de salida o resultados

Computador

- Los datos son conjuntos de smbolos utilizados para expresar o representar un valor numrico, un hecho, un objeto, o una idea, en la forma adecuada para su tratamiento. Esto implica que es un concepto ms amplio que en Matemticas o Fsica. - Datos captados directamente frente a datos captados por medio de caracteres. - Necesidad de codificacin. Cdigo binario. Codificacin automtica en la E/S. - BIT: unidad elemental de informacin. - BYTE: 8 bits (nmero de bits necesarios para almacenar un carcter). - KILOBYTES (KB), MEGABYTES (MB), GIGABYTES (GB), TERABYTES (TB): para medir capacidad de almacenamiento. - Instruccin: conjunto de smbolos que representan una orden de operacin para el computador. - Programa: secuencia de instrucciones. - Lenguaje de Programacin: Establece las reglas para escribir programas.
Elementos de Programacin Tema I. Introduccin y conceptos bsicos 2

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 3

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

- Tabuladores mecnicos. - Herman Hollerith: Mquina Tabuladora (1890). Funda la "Hollerith Tabulating Machine Company" en 1897, primera empresa de ordenadores del mundo que dio lugar en 1911 a la "International Business Machines" (IBM). - Howard Aiken: Calculador automtico electromecnico ASCC (1937). - Vlvulas electrnicas. Primera Generacin de Ordenadores. Primera mitad del siglo XX. Gran avance en electrnica. Vlvula de Vaco (1906). Cinta y tambor magnticos. Primera mquina calculadora totalmente electrnica: ENIAC por Eckert y Mauchly (1946). Programacin cableada. - Destaca Alan Turing con su "Mquina de estados" o "Mquina de Turing" (1936). - Arquitectura de Von Neumann (1946). Programa almacenado. - Ejemplos de mquinas: Mark I, EDSAC, EDVAC, ACE, ... - Los transistores. Segunda Generacin. Se investiga en lograr mquinas ms pequeas y rpidas. Transistor (1958) sustituye a las Vlvulas de Vaco. Memorias de ferritas. Disco magntico rgido (Winchester) (1959-65). Ejemplos de mquinas: TXO del MIT, IBM-7000, Atlas,... Gran avance en el Software: primeros lenguajes de alto nivel: FORTRAN, ALGOL, COBOL,... - Circuitos integrados. Tercera Generacin. - Los circuitos integrados (1965) contienen sobre un mismo soporte de silicio, cientos o miles de transistores. Disminuye el tamao y aumenta la rapidez de las mquinas. - Ejemplos de mquinas: IBM-360, 370, PDP-8, CDC-6000, ... - Diseo de amplios sistemas Software. - Sistema Operativo UNIX. Comparticin del ordenador. - Lenguajes PASCAL, C, ... - Programacin Estructurada (1968)
Elementos de Programacin Tema I. Introduccin y conceptos bsicos 4

- Microprocesadores. Cuarta Generacin. - Invencin del Microprocesador (1972) (4004 INTEL). - Gran escala de integracin (LSI). - Se abarata el Hardware de los ordenadores y se popularizan estos. - Ordenadores personales. - Gran auge de las Telecomunicaciones. "Teleinformtica". - Sistemas Operativos para esos ordenadores personales: CP/M, MS-DOS, ... - Lenguajes de programacin buscando nuevas formas de representar la informacin (TADs): MODULA-2, ADA, ... - Inteligencia Artificial. Quinta Generacin. - I. A. se remonta a los aos 50. - Turing en 1950 propuso su definicin basada en un juego que llam "juego de imitacin". - Procesamiento paralelo. - El desarrollo del Software se encamina al tratamiento de la informacin como conocimiento y no como datos. - Lenguajes no procedimentales: LISP, PROLOG, ... - Sistemas expertos, sistemas inteligentes. - Estado actual. Globalizacin. Internet. WWW, HTML, JAVA, XML. Lenguajes visuales. CBSE (Component-Based Software Engineering). Procesamiento distribuido.

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 5

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

I.2.- EL COMPUTADOR. HERRAMIENTAS BASICAS DE UN SISTEMA. I.2.1.- Codificacin de la informacin. Representacin posicional de los nmeros. - Un sistema de numeracin en base "b" utiliza para representar los nmeros un alfabeto compuesto por b smbolos o cifras. Cada cifra que compone un nmero contribuye con un valor que depende de: a) La cifra en s b) La posicin dentro del nmero. - Ejemplo: En el sistema decimal (b=10) {0,1,2,3,4,5,6,7,8,9} El nmero 3278.52 puede obtenerse como: 3278.52 = 3 103 + 2 102 + 7 101 + 8 100 + 5 10-1 + 2 10-2 - Generalizando, dado el nmero ... n4 n3 n2 n1 n0. n-1 n-2 ..., representado en un sistema de numeracin en base b, su valor es: N = ...+ n4 b4 + n3 b3 + n2 b2 + n1 b1 + n0 b0 + n-1 b-1 + n-2 b-2 +... (Expresin I.1)

Sistema de numeracin en base 2 o binario. - Aqu b = 2 y slo se necesitan dos smbolos para representar cualquier nmero: {0,1}
Binario
000 001 010 011 100 101 110 111

Decimal
0 1 2 3 4 5 6 7

Tabla I.1

- Conversin de binario a decimal. - Aplicar la expresin I.1 para b = 2. - Ejemplos: 110100)2 10100.001)2 = = 52)10 20.125)10

- En realidad basta con sumar los pesos (2i) de las posiciones (i) en las que hay un 1. - Conversin de decimal a binario. - Aplicar el mtodo de las "divisiones y multiplicaciones". - Ejemplo: 26.1875)10 Para la parte entera: 26 | 2 0 13 | 2 1 6|2 0 3 |2 1 1 |2 1 0 = 11010.0011)2 Para la parte fraccionaria: 0.1875 0.3750 0.7500 0.5000 x2 x2 x2 x2 0.3750 0.7500 1.5000 1.0000

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 6

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 7

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

Cdigos de E/S. - Los cdigos de E/S o cdigos externos asocian a cada carcter (alfabtico, numrico o especial) una determinada combinacin de bits. codigo E/S : a ----> b
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SP ! " # $ % & ' ( ) * + , . / 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

Cdigo ASCII CARACTERES GRAFICOS @ A B C D E F G H I J K L M N 94 O 96 97 98 99 1 00 1 01 1 02 1 03 1 04 1 05 1 06 1 07 1 08 1 09 ^ 110 n 95 _ 1 11 80 81 82 83 84 85 86 87 88 89 90 91 92 93 P Q R S T U V W X Y Z [ \ ] ` a b c d e f g h i j k l m 12 6 o 112 113 114 115 116 117 118 119 120 121 122 123 124 125 ~ 127 p q r s t u v w x y z { | } D EL

a = {0,1,2,...,8,9,A,B,...,Y,Z,a,b,...,y,z,*,",/,...} b = {0,1}n - Para codificar m smbolos distintos se necesitan n bits, siendo n >= log2 m (expresin I.2) - En la prctica n es entero, y concretamente el menor nmero entero que verifica dicha relacin. - Se podran establecer cdigos de E/S de forma arbitraria. Obviamente existen cdigos normalizados. El ms utilizado en la actualidad es el cdigo ASCII (American Standard Code for Information Interchange).
Cdigo ASCII CARACTERES DE CONTROL 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 NUL SOH STX ETX EOT EN Q ACK B EL BS HT LF VT FF CR SO SI (nulo) 16 (comienzo de cabecera) 17 (comienzo de texto) 18 (fin de texto) 19 (fin de transmisin) 20 (pregunta) 21 NAK (acuse de recibo) 22 (campana sonora) 23 (retroceso de un espacio) 24 (tabulacin horizontal) 25 (cambio de rengln) 26 (tabulacin vertical) 27 (pgina siguiente) (retroceso del carro) 29 (fuera de cdigo) 30 (en cdigo) 31 US DLE (escape de enlace de datos) DC1 (control de dispositivo 1) DC2 (control de dispositivo 2) DC3 (control de dispositivo 3) DC4 (control de dispositivo 4) (acuse de recibo negativo) SYN (sincronizacin) ETB (fin de bloque de transmisin) CAN (anulacin) EM (fin de medio fsico) SUB (carcter de sustitucin) ESC (escape) 28 FS (separador de ficheros) GS (separador de grupos) RS (separador de registros) (separador de unidades)
Tema I. Introduccin y conceptos bsicos 8

Cdigo ASCII Extendido

Elementos de Programacin

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 9

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

I.2.3.- Funcionamiento de los computadores. I.2.2.- Estructura funcional de los computadores. - Para ejecutar un programa escrito en lenguaje mquina, lo primero que hay que hacer es introducirlo en la memoria principal.
Seales de control

Memoria Masiva
Datos e instrucciones

y de estados

- El "cargador" se encarga de introducir el programa en posiciones consecutivas de memoria a partir de una dada "i". - Una vez cargado, se le da paso a la UC (unidad de control), poniendo el registro CP (contador de programa) a "i", para que empiece a ejecutar el programa.

Dir. Datos e instrucciones

Memoria Principal datos e instrucciones


Instrucciones Datos

Datos

ENTRADA Unidad de Control

SALIDA

Unidad AritmticoLgica (ALU)

- La UC repite sucesivamente las siguientes fases: a) Fase de captacin de la instruccin. Mem(CP) --- (instruccin) ---> UC Incremento de CP

Procesador Central (CPU)

- Perifricos. - Buses. - Computador central. - Reloj. Tiempo de ciclo. Frecuencia. - Palabra de CPU. - Palabra de Memoria. - Potencia: Tiempo de ciclo, Longitud de palabra, capacidad de Memoria.

b) Fase de ejecucin de la instruccin, y vuelta a la fase a). - Si la ejecucin de una instruccin implica saltar a una instruccin distinta a la siguiente, pondr el CP al valor de la posicin de dicha instruccin, con lo que se coger en la siguiente fase a).

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 10

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 11

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

E.T.S. de Ingeniera Informtica (Ing. Informtica)

Dpto de Lenguajes y C. de la Computacin

- Ejemplo: Supongamos que se dispone de un computador con el siguiente repertorio de instrucciones mquina: - ENT M(m). Lee desde teclado un valor y lo almacena en la posicin m de Memoria. - SAL M(m). Escribe por impresora el contenido de la posicin m de Memoria. - CAR M(m). Carga en la ALU un dato procedente de la posicin m de Memoria. - MEM M(m). Almacena en la posicin m de Memoria el contenido de la ALU. - SUM M(m). Suma el contenido de la ALU con el de la posicin m de Memoria, y el resultado queda en la ALU. Se desea efectuar un programa que sume dos nmeros dados por teclado y muestre el resultado por la impresora. El programador, en lenguaje mquina, ha de determinar las posiciones de memoria que va a utilizar. Por ejemplo: Primer sumando, en posicin 16 Segundo sumando, en posicin 17 Suma, en posicin 18. Trabajando en lenguaje de alto nivel, sera el programa traductor el que determinara esas posiciones.
50 , 16

Teclado

(7) (8) ENT M(16) (9) ENT M(17) (10) CAR M(16) (11) SUM M(17) (12) MEM M(18) (13) SAL M(18) (14) (15) (16) 50 (17) 16 (18) 66 (19) 50 UC

66 Impresora

Memoria 66 ALU

instrucciones

I.2.4.- Visin general de un sistema informtico. - Un esquema simplificado de un sistema informtico mediante una estructura en capas o niveles:

Aplicaciones de usuario (Proc. Textos, Dibujo, ...) Lenguajes de Programacin (Pascal, C, C++...) Sistema Operativo (MS-DOS, UNIX, Windows, ...) Hardware

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 12

Elementos de Programacin

Tema I. Introduccin y conceptos bsicos 13

You might also like