semana 0 - lecciones

Upload: jerry-rodriguez-flores

Post on 04-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

Introducción al curso de Sistemas Digitales de la Universidad Autónoma de Barcelona

TRANSCRIPT

  • 0 SISTEMA BINARIO DE NUMERACIN0 .1Merc RullnUniversidad Autnoma de Barcelona

  • 0 .11. Representacin de la informacin en las computadoras p p

    Un ordenador o computador es una mquina que recibe yprocesa datos para convertirlos en informacin til.

    Los datos con los que trabaja pueden ser nmeros, caracteres,audio, video, etc. Todo se reduce a procesar nmeros que estncodificados en forma de cadenas de ceros y unos.

    La tecnologa en la que se basan las computadoras (y en definitiva sus componentes fsicos) es laresponsable de que toda la informacin con la que trabaja un computador se codifique en uni d i d i d i bi i l l ili d b lsistema de numeracin denominado sistema binario en el que slo utilizamos dos smbolos o

    estados: 0, 12

  • 0 .12. Sistemas de numeracin

    Existen muchos sistemas de numeracin pero recordaremos los siguientes:

    sistema decimal

    sistema binario

    sistema hexadecimal

    y trabajaremos las formas de conversin de un sistema de numeracin a otro.

    3

  • 0 .12.1 Sistema decimal

    Es un sistema de numeracin formado por 10 smbolos o dgitos diferentes:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, , , , , , , , ,

    Es un sistema de numeracin posicional (el orden de los dgitos es importante porque se asocia un peso a cada posicin)

    6 5 3(pesos) 102 101 100

    Ejemplo: 653

    (pesos) 102 101 100

    653 = 6102 + 5101 + 3100

    6 centenas, 5 decenas, 3 unidades4

  • 0 .12.2 Sistema binario

    Es un sistema de numeracin formado por dos smbolos o dgitos diferentes: 0, 1

    Tambin es un sistema de numeracin posicional

    1 1 0 1Ejemplo: 1 1 0 1

    (pesos) 23 22 21 20

    Para calcular el valor en decimal de un nmero binario slo hay que ir sumando los pesos en los que exista un 1:

    (1101)2 = 123 + 122 + 021 + 120 = 8 + 4 + 0 + 1 = 135

  • 0 .1Ejercicio

    Calcular el valor decimal del siguiente nmero binario: (101001)2

    j

    6

  • 0 .1Ejercicio (solucin)j ( )

    Calcular el valor decimal del siguiente nmero binario: (101001)2

    1 0 1 0 0 1pesos 25 24 23 22 21 20

    (101001)2 = 125 + 024 + 123 + 022 + 021 + 120 = 32 + 8 + 1 = 41

    7

  • 0 .12.2 Sistema binario puro: rango de representacinp g p Binario puro corresponde a nmeros que slo pueden ser positivos. Si utilizamos n bits, podemos representar un total de 2n valores distintos. Su rango de representacin va desde el nmero 0 hasta el nmero (2n - 1).

    EJEMPLO: Binario Decimal Binario Decimaln = 4 bits16 combinaciones diferentesdesde el 0 al 15 = 24-1

    0000 0 1000 80001 1 1001 90010 2 1010 100011 3 1011 110011 3 1011 110100 4 1100 120101 5 1101 130110 6 1110 140110 6 1110 140111 7 1111 15

    8

  • 0 .12.2 Sistema binario puro: rango de representacinp g p

    Si n = 3 , representamos de 0 a 7; en total 23 = 8 valores diferentes Si n = 4 , representamos de 0 a 15; en total 24 = 16 valores diferentes Si n = 5 , representamos de 0 a 31; en total 25 = 32 valores diferentes Si n = 6 representamos de 0 a 63; en total 26 = 64 valores diferentes Si n = 6 , representamos de 0 a 63; en total 2 = 64 valores diferentes...

    Ejemplo: Cuntos bits necesitamos para representar en binario el nmero 48?31 48 63

    n=5 n=6Para representar en binario el nmero 4810 necesitamos 6 bits: 110000p 10

    9

  • 0 .12.3 Sistema hexadecimal

    BINARIO HEXA

    0 0 0 0 0

    0 0 0 1 1

    Es un sistema de numeracin formado por 16 dgitos diferentes:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

    3 A 9 F

    0 0 1 0 2

    0 0 1 1 3

    0 1 0 0 4

    0 1 0 1 5

    Tambin es un sistema de numeracin posicional

    , , , , , , , , , , , , , , ,

    P l l l l d i l d h d i l l h

    3 A 9 F

    (pesos) 163 162 161 160

    0 1 0 1 5

    0 1 1 0 6

    0 1 1 1 7

    1 0 0 0 8 Para calcular el valor decimal de un nmero hexadecimal slo hay

    que ir sumando los pesos multiplicados por el valor respectivo que tengan en cada posicin:

    1 0 0 1 9

    1 0 1 0 A

    1 0 1 1 B

    1 1 0 0 C

    (3A9F)16 = 3163 + 10162 + 9161 + 15160 = 15007101 1 0 0 C

    1 1 0 1 D

    1 1 1 0 E

    1 1 1 1 F

  • 0 .13. Cambios de base (HEXADECIMAL-BINARIO)

    En el sistema HEXADECIMAL cada dgito se puede representar en binario con 4 bits:

    ( )5. Cambios de base (BINARIO-HEXADECIMAL)

    binario 0011 1010 1001

    En el sistema HEXADECIMAL, cada dgito se puede representar en binario con 4 bits:

    hexadecimal 3 A 9

    binario 0011 1010 1001

    Para convertir un nmero de binario a HEXADECIMAL debemos agrupar los bits de 4 4 d l d h bt l l lt t h d i l

    binario 100 1011 1010 0101

    en 4 empezando por la derecha y obtener el valor resultante en hexadecimal:

    hexadecimal 4 B A 511

  • 0 .1Ejercicio

    1101101010011002 = ????16

    BINARIO HEXA

    0 0 0 0 0

    0 0 0 1 1

    Calcula la representacin en hexadecimal:

    2 160 0 1 0 2

    0 0 1 1 3

    0 1 0 0 4

    0 1 0 1 5

    5F2B16 = ?????2

    0 1 1 0 6

    0 1 1 1 7

    1 0 0 0 8

    Calcula la representacin en binario:

    1 0 0 1 9

    1 0 1 0 A

    1 0 1 1 B

    1 1 0 0 C

    1 1 0 1 D

    1 1 1 0 E

    1 1 1 1 F12

  • 0 .1Ejercicio (solucin)

    110110101001100 ?6D4C

    BINARIO HEXA

    0 0 0 0 0

    0 0 0 1 1

    Calcula la representacin en hexadecimal:

    1101101010011002 = ?6D4C160 0 1 0 20 0 1 1 3

    0 1 0 0 4

    0 1 0 1 5

    5F2B16 = ?01011111001010112

    0 1 1 0 6

    0 1 1 1 7

    1 0 0 0 8

    Calcula la representacin en binario:

    0101 1111 0010 10110101 1111 0010 10110101 1111 0010 10110101 1111 0010 1011

    1 0 0 1 9

    1 0 1 0 A

    1 0 1 1 B

    1 1 0 0 C

    1 1 0 1 D

    1 1 1 0 E

    1 1 1 1 F13

  • 0 .15. Cambios de base (DECIMAL- BINARIO)( )5

    Dividimos por 2 el nmero en base decimal y los sucesivos cocientes se dividen de nuevo por 2, hasta obtener un cociente de valor 1.nuevo por 2, hasta obtener un cociente de valor 1.

    El nmero en base 2 est formado por el ltimo cociente y los sucesivos restos, siendo el ltimo cociente el bit ms significativo.

    Ejemplo: 18(10 = ? 10010(2

    18 = 92 + 0

    (10 = 2 +

    9 = 42 + 1

    4 = 22 + 0

    2 = 12 + 0 18(10 = 10010(2 10010(2

    14

  • Ejercicio0 .1

    j

    43(10 = nmero en base binaria?

    15

  • 0 .1Ejercicio (solucin)

    43(10 = nmero en base binaria?

    Ejercicio (solucin)

    43 = 212 + 1

    21 = 102 + 121 = 10 2 + 1

    10 = 5 2 + 0

    5 = 2 2 + 1

    2 = 1 2 + 0

    43(10 = 101011

    16

  • 0 .16. Suma y resta de nmeros binarios6. Suma y resta de nmeros binariosCombinaciones al sumar dos bits:0 + 0 = 00 1 1

    Combinaciones al restar dos bits:0 - 0 = 01 0 = 10 + 1 = 1

    1 + 0 = 11 + 1 = 1 0 (se escribe 0 y hay acarreo de 1

    que se suma a la siguiente etapa)

    1 - 0 = 11 - 1 = 00 - 1 = 1 1 (se escribe 1 y hay acarreo de 1 que se

    suma al sustraendo de la siguiente etapa)

    1 1 11 1 1 acarreosacarreos parcialesparciales que seque se sumansuman 1 0 1 0 01 0 1 0 0 1 0 1 = A1 0 1 = A

    que se suma a la siguiente etapa) su a a sust ae do de a s gu e te etapa)

    1 1 1 1 1 1 acarreosacarreos parcialesparciales que se que se sumansuman1 0 1 0 0 1 0 1 0 0 1 0 1 = 1 0 1 = AA

    + + 1 1 0 0 0 0 0 1 1 0 1 1 1 1 = B= B1 1 1 0 1 11 1 1 0 1 1 0 0 = C0 0 = C

    1 0 1 0 0 1 0 1 0 0 1 0 1 = A1 0 1 = A1 1 1 1 1 1 1 1 1 1 acarreosacarreos que se que se sumansuman al al sustraendosustraendo

    -- 1 1 0 0 0 0 0 1 1 0 1 1 1 = B1 = B0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 = C 0 = C 1 1 1 0 1 1 1 1 1 0 1 1 0 0 C 0 0 C

    17

  • 0 .1Ejercicio

    1 0 1 0 0 1 1 0 1 1 = 0 1 1 0 1 1 = AA++ 1 0 11 0 1 00 00 11 11 = B= B

    j

    1 0 1 0 0 1 1 0 0 1 = 0 1 1 0 0 1 = AA-- 1 0 11 0 1 00 00 11 11 = B= B+ + 1 0 1 1 0 1 0 0 0 0 1 1 1 1 B B 1 0 1 1 0 1 0 0 0 0 1 1 1 1 B B

    18

  • 0 .1Ejercicio (solucin)j ( )

    1 01 0 0 1 1 0 1 10 1 1 0 1 1 AA0 0 1 0 0 1 1 0 0 1 0 0 1 1 acarreoacarreo que se sumaque se suma 1 0 1 0 0 1 1 0 0 1 = A0 1 1 0 0 1 = A

    1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0

    1 0 1 0 0 1 1 0 1 1 = 0 1 1 0 1 1 = AA+ + 1 0 1 1 0 1 0 0 0 0 1 1 1 1 = B= B

    1 1 0 0 1 1 1 1 acarreoacarreo que se suma al que se suma al sustraendosustraendo-- 1 0 1 1 0 1 0 0 0 0 1 1 1 1 = B= B

    19

  • RESUMEN0 .1

    Representacin de la informacin en las computadoras Sistemas de numeracin (decimal, binario, hexadecimal) Sistema binario puro y rango de representacin Cambios de base entre diferentes sistemas de numeracin

    S t d bi i Suma y resta de nmeros binarios

    20

  • 0 2 REPRESENTACIN DE ALGORITMOS EN PSEUDOCDIGO

    0 .2ALGORITMOS EN PSEUDOCDIGOMerc RullnUniversidad Autnoma de Barcelona

  • 1. Representacin de algoritmos: pseudocdigo0 .2

    Algoritmo Procedimiento no ambiguo que resuelve un problema, de forma que indique una

    secuencia de operaciones a realizar para conseguir el resultado deseadosecuencia de operaciones a realizar para conseguir el resultado deseado. El algoritmo es independiente del lenguaje de programacin que se utilizar para su

    implementacin final. Existen diferentes formas de representacin de los algoritmos: el lenguaje naturalExisten diferentes formas de representacin de los algoritmos: el lenguaje natural,

    pseudocdigo, diagramas de flujo y lenguajes de programacin.

    22

  • 2. Acciones y estructuras de control (esquema)0 .2

    ASIGNACIONES OPERADORES

    Comparacin Lgicos Aritmticos

    ESTRUCTURAS DE CONTROL Seleccin (decisin)

    Simple, Doble Mltiple (Case)

    Iteracin (ciclos) While For

    PROCEDIMIENTOS 23

  • 3. Asignaciones0 .2

    3. Asignaciones

    La accin denominada asignacin

  • 4. Operadores0 .2

    COMPARACIN ARITMTICOS LGICOS

    Nos permiten realizar operaciones de diferentes tipos:

    Operador Significado

    < Menor que

    > Mayor que

    Operador Significado

    + Suma

    - Resta

    Operador Significado

    or Suma lgica

    and Producto lgicoy q

    = Igual que

    (1) Menor o igual quei l

    * Producto

    / Divisin

    g

    not Negacin

    (2) Mayor o igual que(3) Diferente

    (1) En algunos ejemplos tambin utilizamos el smbolo = para la comparacin mayor o igual que(3) En algunos ejemplos tambin utilizamos el smbolo /= para la comparacin diferente 25

  • 0 .2Ejercicio jSi tenemos la siguiente descripcin en pseudocdigo:

    1 X < 21. X

  • 0 .2Ejercicio (solucin)j ( )Si tenemos la siguiente descripcin en pseudocdigo:1. X
  • 5. Estructuras de control0 .2

    La acciones que podemos describir mediante pseudocdigo se organizan en bloquesde acciones que siguen unas estructuras bsicas:

    ESTRUCTURAS DE SELECCIN (decisin) Simple Doble Mltiple (Case)

    ESTRUCTURAS DE ITERACIN ( i l ) ESTRUCTURAS DE ITERACIN (ciclos) While For

    28

  • 5.1 Estructuras de seleccin (decisin)0 .2

    Las estructuras de seleccin nos permiten tomar decisiones condicionadas a la evaluacin de una expresin (normalmente una condicin lgica).

    Simple

    If condicin then accin/es; condicin si

    no accin;

    Ejemplo

    If (X es par) and (X 8) then accin/es; end if;

    accin;

    Doble

    end if;

    If condicin then accin1/es; else accin2/es; condicin

    no si

    Doble

    If (X es par) and (X 8) then accin1/es; / ;end if; accin1;accin2;

    ( p ) ( ) / ;else accin2/es;

    end if; 29

  • 0 .25.1 Estructuras de seleccin (decisin)

    Mltiple

    If condicin1 then accin1; condicin1

    si no

    ;elsif condicin2 then accin2;

    elsif condicin3 then accin3;end if;

    accin2;

    accin1; condicin2

    condicin3

    accin3;end if;

    end if;end if;

    Ej lEjemplo: If A=1 then Z

  • 0 .2Ejercicio j

    Si queremos realizar en pseudocdigo la operacin y = X/2 , redondeando por defecto:

    Anlisis de los diferentes casos: Cuando X es par, el resultado de la divisin ser exacto (tanto si X es positivo como negativo)

    x = 8 y = 8/2 = 4x = 8 y = 8/2 = 4x = -8 y = -8/2 = -4

    Cuando X es impar, el redondeo deber ser calculado de forma diferente:

    - si es negativo ser (X+1)/2

    - si es positivo ser (X-1)/2 x = -7 y = (-7+1)/2= -3x = 7 y = (7-1)/2= 3

    ESCRIBID el pseudocdigo de la operacin y = X/2 , redondeando por defecto segn el anlisis de los diferentes casos que hemos planteado. 31

  • 0 .2Ejercicio (resuelto) j ( )

    Si queremos realizar en pseudocdigo la operacin y = X/2 , redondeando por defecto:Anlisis de los diferentes casos:

    Cuando X es par, el resultado de la divisin ser exacto (tanto si X es positivo como negativo)x = 8 y = 8/2 = 4x = -8 y = -8/2 = -4

    Cuando X es impar, el redondeo deber ser calculado de forma diferente:Cuando X es impar, el redondeo deber ser calculado de forma diferente:- si es negativo ser (X+1)/2- si es positivo ser (X-1)/2

    x = -7 y = (-7+1)/2= -3x = 7 y = (7-1)/2= 3

    If (X es par) then y

  • 0 .25.1 Estructuras de seleccin (decisin)

    Casecase X is

    when valor1" => accin1;X

    when valor2" => accin2;when valor3" => accin3;when valor4" => accin4;

    accin2;accin1; accin3; accin4;

    end case;

    case x isEjemplo: X es un dgito decimal y queremos obtener su representacin en binario en la variable y

    case x iswhen 0" => y y

  • 0 .25.2 Estructuras de iteracin (ciclos)

    Las estructuras de iteracin nos permiten repetir acciones condicionadas a la evaluacin de una expresin.

    While condicin loopaccin/es;

    nocondicinsi

    accin;

    While

    / ;end loop;

    Forfor variable in min to max loop

    accion/es;d l

    For

    end loop;

    34

  • 0 .2Ejercicio j

    Dados dos vectores de 8 posiciones:

    a(0), a(1), a(7)x(0), x(1), x(7)

    ESCRIBID el pseudocdigo del clculo:

    y = a(0) x(0) + a(1) x(1) + a(2) x(2) + ..+ a(7) x(7)y a(0) x(0) a(1) x(1) a(2) x(2) .. a(7) x(7)

    35

  • 0 .2Ejercicio (resuelto) j ( )

    Dados dos vectores de 8 posiciones:

    a(0) a(1) a(7)a(0), a(1), a(7)x(0), x(1), x(7)

    ESCRIBID el pseudocdigo del clculo:

    y = a(0) x(0) + a(1) x(1) + a(2) x(2) + ..+ a(7) x(7)

    0acc

  • 6. Procedimientos (subrutinas)0 .2

    Procedure call nombre (parmetros);

    conjunto de acciones a realizar que resuelven una tareaconcreta

    a cada procedimiento se le asigna un nombre por el que

    ALGORITMO

    ---------puede ser llamado desde otra parte del programaprincipal

    al llamar a un procedimiento slo debemos dar valor al i bl i t i di h di i t

    PROCEDIMIENTO---------call procedure------------------

    ------------------ las variables que intervienen en dicho procedimiento

    (parmetros) y dichos valores se asignarn al realizar lallamada al mismo

    facilita el diseo estructura y comprensin de los

    call procedure ------------------

    facilita el diseo, estructura y comprensin de losalgoritmos y nos evita repetir sentencias en el algoritmoprincipal 37

  • 6. Procedimientos (subrutinas)0 .2

    Procedure raiz_cuadrada(x, y, n) is

    Ejemplo: calcular z = a x + b y

    _ ( y )--------end procedure

    ALGORITMO

    Inicio

    Algoritmo( )

    PROCEDIMIENTO

    call raiz_cuadrada(x,u,16);u

  • RESUMEN0 .2

    Representacin de algoritmos: pseudocdigo

    Acciones y estructuras de control:Acciones y estructuras de control:

    Asignaciones y operadores Estructuras de control

    Seleccin (decisin)Seleccin (decisin) Simple, Doble Mltiple (Case)

    It i ( i l ) Iteracin (ciclos) While For

    Procedimientos

    39