Download - Semana 0 - Lecciones
-
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