Computacio
cticos Hechos
Pra
Tabla de contenidos
1. Pr
actico 1
2. Pr
actico 2
13
3. Pr
actico 3
19
4. Pr
actico 4
37
5. Pr
actico 5
50
6. Pr
actico 6
61
7. Pr
actico 7
85
8. Pr
actico 8
112
9. Pr
actico 9
127
10.Pr
actico 10
141
COMPUTACION 1
Instituto de Computacion
Curso 2013
PIUCTICO N 1
lntroduccion
El objetivo de este pnictico es introducir al estudiante en el manejo de! entomo Matlab y comparar las
funcionalidades de Matlab con las de las planillas de calculo.
Funcionalidades Btisicas
Ejercicio 1
Inicie el Matlab haciendo doble click en el icono que se encuentra en el Desktop, o sino desde el menu
de programas (Inicio
Programas
Matlab
Matlab ). La ventana que aparece la
llamaremos Ventana de Comandos (Command Window) y permite a los usuarios introducir comandos
sencillos. Probaremos algunos sencillos. Teclee:
-+
a=:1,og,(s"-_;.y-"\J'.
-+
-+
\.Qt\~() =
Los resultados'qiie(Jd. ha tecleado fueron guardados en variables, pu~e observar la lista de variables
que tiene definidas en el ambiente con el comando who. Puede obtener sus valores solamente tecleando
su nombre y pulsando Enter. Puede obtener ayuda sobre otros operadores en Matlab tecleando help
ops (en Octave usar help solamente).
Ejercicio 2
Ahora trabajaremos con vectores. Para Matlab todas las variables son matrices, los escalares matrices
de lxl, los vectores tipo fila son matrices de lxN y los del tipo columna son matrices de Nxl.
Teclee en la linea de comandos:
A=[2 3 4] \ ~\CL,
B=[2,3,4]
Ejercicio 3
Pasemos a trabajar con matrices. Introduzca las siguientes matrices:
7
9
:J
Calcule:
D=A+B
A"-1 esto tambien se puede realizar mediante la funcion inv, ingresando inv (A)
A*B
A.*B
Observe que las dos ultimas operaciones dan resultado diferente, esto se debe a que ingresar un punto
(.) antes del operador le indica a Matlab que la operacion a realizar se realizara elemento a elemento.
Esto es aplicable a las operaciones ' , * , / , " y \
Por ej.: (A+i*B)' es distinto a (A+i*B) . ' Verifiquelo.
Version 1.4.0
1/8
~~
E
~
S1HG!RU:IUA
COMPUTACION 1
Instituto de Computaci6n
Curso2013
Ejercicio 4
Aplicaciones del operador : (Ver help colon)
Este operador es util para hacer referencias en forma implicita a los indices de matrices o vectores, o
tambien para crear vectores. Si tecleamos:
C= [A 3 6] al final del vector tipo fila le agregamos los elementos 3 y 6. Observe que da lo
mismo teclear C= [A, 3, 6] pero no es lo mismo que teclear C= [A; 3; 6] que ademas da
error pues se intenta concatenar vectores de distintas dimensiones.
0 0 0 0 0
0
l l 0
0 1 0 1 0
0
0 0 0 0 0
Ejercicio 5
Resoluci6n de sistemas de ecuaciones lineales. (Ver help mldivide)
Sea A= [ 1 2 3 ; 4 5 6 ; 7 8 10] y b=ones ( 3 , 1) , entonces podemos resolver el sistema lineal
Ax=b tecleando x=A\b (el operador \ recibe el nombre de division izquierda o backslash). Calcule
el error residual de la soluci6n calculada (r = b-Ax).
En el caso de un sistema sobredeterminado, se utiliza el mismo operador pero Matlab internamente
utiliza el metodo de minimos cuadrados para su soluci6n. Por ejemplo para A= [ 2 -1 ; 1 10 ; 1 2] y
b el mismo de antes calcule la soluci6n del sistema Ax=b
Version 1.4.0
2/8
COMPUTACION 1
Instituto de Computaci6n
Curso 2013
Funcionalidades avanzadas
Ejercicio 6
Creacion de waficos
Parle a: Creaci6n de graficos en una planilla de calculo (Microsoft Excel, OpenOffice.org Cale)
1. Ingrese los siguientes valores en una nueva planilla a partir de la celda Al:
r,.,
2.
3.
4.
8.
3
4
1.5
y
'
6.
7.
0
0.25
5.
1
2
1
2
3
0
0.06
0
0.25
,3
1.5
9
2.25
4
Seleccione las celdas con datos (desde Al hasta C6) y elija la opci6n de menu lnsertar 7
Grafico (Insert 7 Chart)
En Tipo de grafico (Chart type), seleccione XY (Dispersion) (XY (Scatter))
Para la apariencia de la grafica seleccione la opci6n de dispersion con puntos de datos
conectados par lineas sin marcadores de datos (lines only).
Haga clic en Finalizar (Finish). Deberia obtener un grafico como el que se muestra a
continuaci6n.
NOTA: Siesta utilizando el programa OpenOffice en vez de Excel en el ultimo paso debe hacer click en Siguiente (Next),
elegir la opci6n Primer ft/a como etiqueta (First row as label) y luego Fina/izar (Finish).
10
/
5
4
/~
_/
0
0
Version 1.4.0
3/8
~~
COMPUTACION 1
Instituto de Computacion
Curso 2013
illft
5!
INGIRll!IUA
Y-
Eje~ 7
,L ---=,""'.s==:::...__2~ .,-~--,~.s-~~-,~.,-_J
Parle a: Creacion de gnificos en una planilla de calculo (Microsoft Excel, OpenOffice.org Cale)
1. En una nueva planilla, ingrese el valor O en la celda Al y 0.1 en la celda A2.
2. Pinte ambas celdas, y arrastre la esquina inferior derecha hacia abajo, de forma que se
autocompleten las celdas siguientes desde la A3 hasta la A62.
3. En la celda Bl ingrese la formula "=seno (Al)", (para Excel en ingles se usaria
"=sin (Al)")
4. Copie la formula de la celda Bl en todas las celdas desde la B2 hasta la B62.
5. Pintar las celdas de la Al hasta la B62.
6. Elegir "Insertar -? Grafico ... "
7. Seleccione XY (Dispersion) y la opcion de dispersion con puntos de datos conectados por
lineas sin marcadores de datos (lines only).
8. Seleccione Finalizar.
Parle b: Creacion de graficos en entomo de programacion (Matlab, Octave)
I. Ejecute el comando: x = (0: .1: 2*pi) ;
2.
Ejecute el comando: plot (x, sin (x) )
Otra opcion es ejecutar unicamente el siguiente comando: fplot (' sin' , [ 0, 2 *pi] )
EJercicio 8
cos(2m: 1 40)
=-
I (l / )
og X
s.mfi":
'
(,
\:-~1.. \
SQ r-t
Ejercicio 9
\JJ...
, (
(\..og. (tJ-x) l
,Oo )
En el entomo Matlab, realice las graficas de log (1/x) y de exp (cos (2*x*pi/ 40)) entre 1
y80.
Con la ayuda del comando hold on (ver help hold) determinar graficamente la solucion de
~a.-1'9,- ~ ~ ~
-le:)~
\l\f"'l(. , ~
')
(1,,(10-"X..)-)'
..e..u_. ~
Cree un script que contenga las instrucciones (comandos) utilizadas para resolver el ejercicio
4.
Desde la consola de Matlab, utilice el comando who para verificar que variables se encuentran
en memoria. En caso de que existan variables, utilice clear para eliminarlas (sugerencia:
consulte la ayuda del comando clear). Puede utilizar nuevamente el comando who para
verificar el funcionamiento de clear.
Ejecute el script desde la consola de Matlab (en la consola, escriba el nombre del archivo sin
la extension .m).
Version 1.4.0
I)
4/8
r
",..,,
I L' ~(),p...l.l
1(
"1 0
"lb]')
COMPUTACION 1
lnstituto de Computaci6n
Curso 2013
Ejercicio 10
Analisis estadistico
El archivo telmax. csv contiene datos de los valores y el volumen de comercializaci6n de las acciones
de TELMEX (empresa de telefonia mexicana) correspondientes al periodo mayo/2000 ajulio/2008.
Nota: El archivo telmex. csv se obtiene en la plataforma EVA . Bajar y guardar el archivo sin
abrirlo en excel.
Parte a: Excel
i) Abra una planilla Excel, e importe dichos datos. Para ello, la secuencia es:
Data 7 Import External Data 7 Import Data 7 (elegirarchivo: telmex.csv) 7 Open
(seleccionar) delimited 7
Next 7
(seleccionar) Existing worksheet 7 OK
(seleccionar)
conma
Finish
Automaticamente en las primeras columnas (A a G) se desplegaran los datos y las variables a que
corresponden.
Cuando usamos Excel, tenemos que tener en cuenta el idioma de la instalaci6n. Si esta en espafiol, el menu y
los mensajes aparecenin en espafiol, aunque la traduccion puede resultar engafiosa. Por ejemplo, la version
en espafiol traduce "hnport External Data" como "Obtener Datos Extemos". Por otra parte, lo realmente
llamativo es que Excel tambien traduce las formulas al espafiol.
Otro aspecto a tener en cuenta es que Excel es dependiente de la "configuracion local" de Windows. Por
ejemplo, para algunos paises se utiliza la coma como separador decimal, mientras que para otros se utiliza el
punto. Dependiendo de esta configuracion, puede que los valores numericos no se carguen correctamente. Si
estamos trabajando en una computadora que utiliza el formato numerico en idioma espafiol es probable que
Excel considere que el separador decimal es la coma"," y no el"." que viene por defecto en el archivo
telmex.csv. Si este es el caso, una vez cargado el archivo ejecutar la siguiente secuencia:
Edition , Replace , Escribir en el recuadro Find 7 Escribir I en el recuadro Replace with
7 Replace all
Los datos que se calcularan en las siguientes secciones corresponden a realizar estadistica descriptiva
de la variable "volumen de acciones comercializadas" en el periodo tratado.
Para ser aplicadas las funciones estadisticas previstas en Excel, es necesario insertar Ia funci6n deseada
y definir el rango de datos sobre el cual sera calculada. Para obtener la formula de calculo, sintaxis y
observaciones de la funci6n seleccionada, es necesario hacer clic en Help on this function, que
aparece en la izquierda de la ventana abierta.
ii) Calcule el valor maximo del volumen de acciones comercializadas:
Clic en OK
Version 1.4.0
5/8
COMPUfACION 1
Instituto de Computacion
Curso 2013
~~
g~
~INGIINl!RlA
Arrastre este cuadradito hacia abajo y vera que se iran pintando nuevas celdas con valores
equiespaciados: 12000, 16000, .. . Genere todos los valores hasta 60000.
En las celdas Ll hasta LlS se guardara la cantidad de elementos de la columna de volumenes
que son menores o iguales al lirnite de! bucket. Para esto ingrese en Ll la formula
Parle b: Matlab
i) Abra Matlab e importe el archivo mediante la funcion csvread (para tener los datos completos
sobre la funcion ver help csvread). En este caso nos interesa cargar los datos de la segunda fila y
segunda colurnna en adelante, por lo que invocaremos el comando:
M == csvread('telmex . csv', 1, 1)
Los datos quedaran cargados en una matriz M, cuyo tamafio es de 431 filas y 6 columnas.
ii) Calcule el valor maximo del volumen de acciones comercializadas. Para eso debemos considerar
solamente los datos de la columna 5 de la matriz M. La funcion de Matlab que nos permite obtener
el maximo es max (X) , donde x es un vector o matriz.
mean,median, std,cov,hist,histc,line,cdf,randn,sprand,sprandn,randperm,
etc.
Ejercicio llLas siguientes funciones se utilizan frecuentemente a lo largo del curso: round,fix , ceil,
floor, mod, rem. El objetivo de este ejercicio es conocerlas a traves de su uso practico.
round(n) Redondea el numero al entero mas cercano. Ejemplo: round(l.5) = 2
Version 1.4.0
6/8
....
COMPUTACION 1
Instituto de Computacion
Curso 2013
~~
i1NGINIHL\
ceil(n) Devuelve el techo del mimer<;> (redondea hacia mas infinito). Ejemplo: ceil(l.5) = 2
fix(n) Se queda con la parte entera de! mimero (redondea hacia cero). Ejemplo: fix(l.5)
l-
cac
floor(n) Devuelve el piso del numero (redondea hacia menos infinito). Ejemplo: floor(l .5) = 1
W ~ -eJ
mod(a, d) Devuelve el resto r de dividir a entre d, calculado como:
\a OJ. ~ _rem(a, d) Devuelve el resto r de dividir a entre d, calculado como:
Complete la tabla con el resultado de aplicar las funciones round, fix, ceil yfloor en Matlab.
n
round(n)
f3
ceil(n)
fix(n)
floor(n)
0,3
()
-0,3
- 1
1,5
0,98
()
-0,98
-\
-1
2.4+ 3.6i
2+~\
3.,." '\;
2-\ 3
\;
2 ,- 3
1. Tomando en cuenta esos resultados, infiera para que conjunto de numeros.fix y ceil se
comportan de identica forma, y para que conjunto se comportan de manera distinta
'Y"
0
,a..
,, f'J..J,-..<.o
~
2. Haga lo mismo para.fix y floor.
3.
t:;
f'I ll IV-) 0
..J,.Q(.Q
f\/vM(C)
= X. c...
F~
C'i0'fv...JO
Explique que hacen esas funciones con los numeros complejos .. Utilizando Matlab, encuentre
una forma de armar la tabla sin tener que ejecutar estas funciones para cada nurnero. Pista:
teniendo los numeros en memoria se puede hacer en un unico paso.
Ejercicio 12Procediendo de forma analoga al ejercicio 11 , aplique las funciones rem y mod sobre el
siguiente conjunto de pares y explique su com )0rtam1ent
o:
a
-2
-5
-5
-2
Ejercicio 13
Otras dos funciones utiles son size y length. Si M es una matriz y v un vector:
size(M)
Devuelve dos elementos, el primero contiene la cantidad de filas de M, y el
segundo contiene el numero de columnas.
length(v) Devuelve el largo del vector.
a.
Version 1.4,0
7/8
10
COMPUTACION 1
Instituto de Computacion
Curso 2013
~~
g-n
~INGINIIRIA
""'-IV\'=!:
\Are_ ~a_
>> fil=length
>> filas=size(M,1)
\.Jo \ a.~o
>> columnas=size(M,2)
>> ll=length(vl)
>> 12=length(v2)
= ~ ./
.::c
3v
(1
~
3-;
. >> length (M
1
----..
(!Jr:UQ) ::-~
~
--
\ a
s 3
I\
Version 1.4.0
= ~ (3 ~'.).)
:3. ,,
>> l~ngth(M(l:3,2 ~ )) ~
'?.
')_)
1
l4
5
'\
1-\0-, 4
Vo._cj;O-_ /
'"2 . ~
'--...--
8/8
11
COMPUTACION 1
Instituto de Computaci6n-Facultad de lngenieria
2012
Practico N 1 - ejercicios extra
IIntroduccion
Las siguientes funciones se utilizan frecuentemente a lo largo del curso: round,fu, ceil,floor, mod, rem. El objetivo de
este repartido es ampliar el conocimiento de estas funciones a traves de su uso practico.
Referencia:
round(n)
ceil(n)
fix(n)
floor(n)
mod(a, d)
rem(a, d)
=
=
/Ejercicio 1
a) Complete la tabla con el resultado de aplicar las funciones round,jix, ceil y floor en Matlab.
n
round(n)
fix(n)
ceil(n)
Ooor(n)
0.3
-0.3
1.5
0.98
-0.98
2.4 + 3.6i
b) Tomando en cuenta estos resultados, infiera para que conj unto de numeros fu y ceil se comportan de identica
forma, y para que conjunto se comportan de forma ilistinta.
'---"
/Ejercicio 2
Procediendo de forma analoga al ejercicio 1, aplique las funciones rem y mod sobre el siguiente conjunto de pares y
explique su comportamiento:
Version 1.0.0
-2
-5
-5
-2
I/2
12
COMPUTACION 1
Instituto de Computaci6n-Facultad de Ingenieria
2012
jEjercicio 3
Otras dos funciones utiles son size y length. Si M es una matriz y v un vector:
size(M)
length(v)
a)
DadalamatrizM=[l: 3 ; 4 :6; 7 : 9 ;
Matlab las siguientes instrucciones:
>>
>>
>>
>>
>>
>>
>>
b)
>>
>>
>>
>>
>>
>>
>>
>>
Version 1.0.0
size(M,2)
s ize (M', 2 )
s i ze (M( 2 , 2 : 3 ))
le n gth (M(l: 3 , 2 ))
length(M(l:3,2: 2 ))
size(M(:,1: 2 : 4 ))
s i ze( [] )
length(M(l: 3 , 2 :1))
2/2
COMPUTACION 1
Instituto de Computaci6n
Curso 2014
~~
i~
i:JNGDlllllA
PIUCTICO N 2
Introduccion
13
'
.'\.
A X<Y
Ji{ X <=Y
0 -=Y
;{Y > X
, (Y >=X JfX==Y
Eje,:dcio 2
Complete el cuadro incluido en la siguiente tabla, indicando el resultado de las expresiones
booleanas, segun los valores asignados a las variables:
Valor de X
12
20
7
17
1 00
Valor de Y
2
2
1
2
5
Expresion
X+ 3 <= Y*lO
X+3 <= Y*lO
X+ 3 - = Y*lO
X+3 - - Y*lO
X+3 > Y*l O
Resultado
154 -::u:.
'7_"5
, y
'?-
l.. 9-0
'F
'-/
'\()~ ) ';)
'
Devuelva el valor booleano de las siguientes expresiones para los .siguientes val ores:
;r'f A=2
B=3 C=4
Expresion
9)--
Resultado
Caso a)
(A==B) & (C<=A)
(A>B) I (C>B)
(~ (B<A) & - (C<B))
(A<B) & (B<C)
- (A>B) I (C<=A)
'
F ---._/
I
(A>C )
Caso b)
Caso c)
p:
'-,,I
V
V
y
"1
t==
'y
'V'
Ej~o4
Escriba una expresi6n booleana que verifique que el numero X es el menor de los numeros Y,
ZyW
Ejercicio 5
Escriba una expresion booleana que verifique si la primer letra de la palabra dada en la
Version 1.3.0
.... LC\\
1/3
<
~. ..,_ :;..,~
COMPUT ACION 1
Instituto de Computacion
Curso 2014
14
Ejtje?cio 6
,..
.,,
I.\
.~~
,..
5
3
1.
A
B
C
D
E
(x<y)
(x>y)
fx-=y)
(x==y)
(x==y)
(y< z)
(y>=z)
&
&
I
I
(y==z L
(y-;:: =z)
& (y==z)
e,
(x==y)
1>
C.
'
E~7
( nos if\r.el
Se constato que el tanque principal de una cerveceria artesanal tiene una perdida y es
necesario repararlo.- Como el tanque no esta vacio, se pidio otro prestado, cuya capacidad en
litros se desconoce, para que oficie de dep6sito temporal, mientras se repara el primero.
Se espera minimizar la perdida de cerveza, por lo que el duefio, le ha pedido a un
operario que pase la cerveza de un tanque al otro, y que averiglie la capacidad del tanque
prestado. Una vez obtenido este dato, el duefio comprara la cantidad de botellas necesarias
para embotellar ese contenido. Se quiere saber:
1) ;,Que instrucciones le parecen suficientes para que el operario lleve a cabo el
pasaje de cerveza de un tanque al otro sin cometer errores tales como seguir pasando
cerveza una vez que se alcanzo el volumen maximo de llenado?
2) l Que instrucciones debe darle al nuevo operario para que real ice la tarea de
embotellamiento correctamente?
Ej~o8
Dado el puntaje logrado en la materia Computacion I de un alumno cualquiera, desplegar un
mensaje que indique el nivel logrado en la misma, segun la escala siguiente:
0 -59 Insuficiente
60-75 Aceptable
76-90 Bueno
91-100 Excelente
Ejer~9
Dadas las medidas (cualquiera) de los lados de un triangulo indicar que tipo de triangulo es
(equilatero, Escaleno o Isoceles).
/\
Ejer,.(.10
C
Escribir un algoritrno que resuelva el problema de cambiar la rueda pinchada de un coche que
circulaba por la carretera.
Ej
(
0
()
'
eryicfu 11
Dada una planilla con los nombres y las calificaciones (entre 1 y 12) obtenidas porun grupo
de alumnos, se quiere contar cuantos aprobaron. Se conoce la cantidad de alumnos de la
planilla y se sabe que un alumno aprueba con una calificacion minima de 3.
Se tiene una bolsa con cartas que se envian a Montevideo e Interior. Se quiere apilar en la
estanteria A las de Montevideo y en la estanteria B las del interior. No se sabe cuantas cartas
hay en la bolsa.
Version 1.3.0
2/3
'
~~
i'n
~IHG!NlUIA
15
COMPUTACION 1
Instituto de Computaci6n
Curso 2014
Eje~o 13
En un supermercado se tienen 5 paquetes con 20 tazas iguales cada uno. Se tienen 100
etiquetas con el precio de las tazas (todas valen lo mismo). Se quiere pegar a cada taza una
etiqueta con su precio y guardarlas en una bolsa.
Ej~cio 14
~ Se tiene una lista con 30 numeros de cedula, sin digito verificador, los cuales no estan
ordenados. Se desea escribir un mensaje que diga si en esa lista hay alguien con el numero
2541223.
Eje7tcio 15
Dada una planilla con programas de TV (se conoce la cantidad), cada uno con su rating
correspondiente, se quiere determinar el mayor rating y el menor rating. (Nota: El raiting es un
valor entre O y 100)
'
Version 1.3.0
3/3
16
---
____________________________ ___
..,
IA\
_\,lL_ ____________ - - - - - - -
---~----------~y.._-;. 5 I 't = 10
'i<:::; 100',
"f::: C\ 4-'
--------
i----~=======l==============__._.t---=-=a=......-~~~.--- - - - - - - - -
'i
'X (
'-../
------ 'v
-
'I. -/='j
----~-
_____ y
------~~j__
____ ____12 x
_ ___1__)_::
______
_,,_ ___________
F
______________f _____~_______ _
z '}J__ 8-~~-,
R_(~
n-,_GJ___ -------
_@ __ Qo_f'1\\?_C~_=-:
.
____ ------~
.....
Y _______ _____f_____________
_y_ ___________________F _________________ _
_ ___0
- - - -F- - - - - -
='\ _7- _
I
~--------~_ns 1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
~\/eifdq_~ .
____\
------
--
- - ---------------
__________________,
----~5-~_Bv-en<:> ~) - - - - - - - - - - - - - - - - - - - -e)Se..
-----------------------------------------------
f------~f_l __Eixe:kn-t!-'_) _
____n_d. __ _
- - - ------------
------ - - - --
--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~
------]
17
------ __________
-
/S.-1"}
----
t...:...
~
- - C.
('
A -- -- (3> - -
\ ..t-
E',
~~,+
A==
e.
(' ,~o
ct>.SP
~ A,-....= c..
c,e;.e.~ t'")
,<'
-A --B
eJ~
r-\.AS: p
..
9 Br--- G
.Scak--1"\o)
.I
..e.nd .
- ---~....... -----
f := f', e~'t60
65')
---------
,c
---------
\1:
f'
-::::
:::.
d.)_sp (
~~"\fV-
--
--
ca Mb ,Gl ,,~o\.a.')
--~-- -
_.ef\d
---
~
-
6\Pf'Ob ~ 0
'--I
:::: ( '31'2,'5, .i
k01
,+
\.- ==
~ '.
.. -
-1
--------.---,..-
>- = 3
----t- '~
---------- --
-tf\d
-e0d
--
----~-
-- - ---- ---
------------
---.-- ------ --
'-
18
l~
de ca r ta J
(\ ::: 'f\0YY\Q-,(O
,fu,
( =- t\ '. I)
\+
co:r1a...
CA..,
rU S'..P (. '/::./)
~~
)
ci.-l~-f' (
~/
')
en~
ef\e,\
(1\3)
-for.
e, ~ ~ . s
k-ir \
?
\
"{'~
-::.
le 1-M N.,o
t JCA:f'ct 0.1
DJ).
~("
t. ::.: . ._. s
t,=- ~ . 2' :i
V
4v-e.
(( .~)
~0.ie..
'
f' .!
(, , -\
v-eie.
<J
-et'\d
"
'
-e._.n d .
lwT\
'
"' ~
\::. /\ ~
~'(
\+
~'"'
(\/)
if;)
-
f roo.... =
'
--...
19
...
~~
~
COMPUTACION 1
Instituto de Computaci6n
Curso 2014
ii1NG!Nll!IUA
6....
PRACTICO N 3
El objetivo de este pnictico es ejercitar el uso de las estructuras de control y determinar la estructura mas
adecuada en cada caso. RECOMENDACION: 1) analizar en papel los ejercicios y 2) verificar en la
computadora. Probar todos los ejercicios en el entorno Matlab.
Se desestimula el uso de! comando disp al programar. En este pnictico, disp se usa PERO solamente como
apoyo para entender las estructuras de control y selecci6n. Observar que los scripts aqui presentados, son
simples ejemplos de instrucciones de iteraci6n, secuencia y selecci6n.
Ej~rtkio 1
EVsiguiente c6digo es un ejemplo de script, y se puede escribir de muchas formas diferentes a la
presentada. Escriba por lo menos dos formas distintas a la presentada: una utilizando elseif y otra sin
utilizarlo.
?
0
if Mes==l
disp('Mes de Enero');
end
if , Mes==2
disp('Mes de Febrero');
end
if Mes==3
disp('Mes de Marzo');
end
Ejer~io2
ParTc~:....~no de los siguientes problemas, decidir cual de las instrucciones de selecci6n (if-else o if) es
mas apropiada y escribir la porci6n de c6digo correspondiente.
jt>
/
~r
Los estudiantes que son candidatos para ser admitidos a un colegio mandan sus puntuaciones. Si
una puntuaci6n de un estudiante, es mayor o igual a un cierto valor minimo, entonces se imprime
una carta de aceptaci6n de! estudiante. Si no, se envia una notificaci6n de rechazo.
Para los empleados que hayan trabajado mas de 40 horas a la semana. Hay que calcular la paga
extra y aiiadirlo a la paga regular.
~ Al resolver una ecuaci6n cuadratica, siempre que el valor de! discriminante (b2-4ac) sea negativo,
la computadora debe imprimir un mensaje que notifique que las raices son imaginarias .
.,)( En un aserradero controlado por computadora, si la secci6n de cruce de un tronco es mayor que
ciertas dimensiones, la sierra ha de ajustarse para cortar 4x8 dientes, si no, se ajusta para cortar
2x4.
Ej~icio3
Indique que se muestra en pantalla, al ejecutar los siguientes scripts:
= 1;
y = 2;
z = 3;
if X > y
if y > z
if X > Z
disp(x)
else
disp(y)
end
else
disp(z)
end
end
X
Version 2.2. I
a= O;
b = -1;
if a> 0
disp( 'A')
else
if b < 0
disp( 'B')
else
disp ( 'C')
end
end
1/4
20
COMPUTACION 1
lnstituto de Computacion
Curso 2014
Ejer~o4
Consiclere la siguiente proposicion if anidada en el script que se plantea a continuacion:
if a> b
if a> C
disp ( 'A es el grande ' )
end
end
Escriba una sola proposicion if que sea equivalente a esta pero que no este anidada.
Eipfcicio 5
l~ie~ son los contenidos de suma y numero al final de la ejecucion del siguiente script?
v=[S,6,-3,0,7,-4,5,8,9];
n=8;
suma=O;
i=l;
indicador=O;
while (i<=n) & -indicador
numero = v(i);
if numero > 0
suma=suma+numero;
else
if numero==O
indicador = 1;
end
end
i=i+l;
end
disp(suma); disp(numero);
. /. 6
EJe~CIO
./a(' for
b = 1: 3
if b <= 1
a= b - l;
end
if b <= 2
a= a -
1;
else
a= a+ 1;
end
disp(a);
end
)>(
bajo = 1 ;
fork= bajo:3
bajo = bajo + 2;
disp(k)
disp(bajo)
end;
ito = 4;
fork= alto : -1:3
disp(k)
disp(alto)
end
Eje icio 7
E ribir un script en Matlab que despliegue en pantalla los numeros de! 1 al 100 salvo que :
el numero sea multiplo de 3; en este caso debeni imprimir "MARIE" en lugar del numero.
el numero sea multiplo de 5; en este caso debeni imprimir "CURIE" en lugar del numero.
Aclaracion: si el numero es multiplo de 3 y 5; se debenin imprimir los dos textos en lugar del numero .
Version 2.2.1
. 2/4
21
COMPUTACION 1
Instituto de Computacion
Curso 2014
EjM'cio 8
Re~e~estructura de control del siguiente programa y reescribalo para que sea mas eficiente y elegante:
suma=O;
cont=l;
while cont<=lOOO
suma=suma+cont;
cont=cont+l;
end
'l
Ejercicio 9
0
Antes de hacer el ejercicio, lea en el " help" la descripcion sobre las funciones sprint/ y fprintf. Luego
escriba el siguiente script Matlab en un archivo llamado tabla_verdad_AND. m
Recordar que "disp" se usa en este programa, para que Ud vea la salida de la funcion sprint!,. Cuando
programa NO use disp, SALVO que quiera debuggear,
for i=0:1,
for j=0:1,
disp(sprintf( ' %i %i
I %i\n' , i, j, i
& j));
end
end
En Matlab, defina como "directorio de trabajo" el que uso para salvar el archivo
" tabla_ ve r dad_AND. m" y luego,
a) Ejecute el siguiente comando:
X & y
0 0
0 1
1 0
1 1
Este script, ta! como su nombre lo indica, imprime en pantalla la tabla de verdad de! operador AND.
~
aiotenldrO'a 1a s1gruente
func10n,
, s1en
d o su vana
ble de entrada n= 11?.
lEQj~~ifi1
u;{a'l i~
function v=ejercicioB(n)
numero=l;
v=[] ;
while numero < n
numero = numero + l;
v=[v,numero];
end;
Ejer.
Cam iand simplemente el orden de las sentencias hacer que el bucle del ejercicio anterior devuelva un
vector con los numeros de! 1 al 10.
Eje~o12
Version 2.2.1
3/4
22
COMPUTACION 1
Instituto de Computacion
Curso 2014
Escriba una instruccion while que se detenga cuando el valor de la variable booleana hecho se haga
verdadero. El valor de esta variable se inicializa en falso y se actualiza con el resultado de Hamar a la
funcion hacer- algo.
. /.
. 13
E Je
ICIO
Escribir y probar en Matlab
un script que cuente las veces que el numero x que se encuentra en un vector v, de largo 100.
una func i6n que devuelva el valor minimo de los numeros contenidos en un vector dado, v.
)if--,. una funcion que cuente y sume los primeros 10 numeros pares de un vector v.
a( una funcion que devuelva el valor minimo de un vector v que contiene numeros enteros no negativos.
Observar que los numeros en v, son mayores o iguales a 0.
>(
)>t..
Ejercc10 14
El co ode enviar por correo una carta es de $ 22 para cartas que pesan hasta 30 grs (inclusive) y $ 22 mas
$ 17 por cada 30 grs adicionales o fraccion Plll"a cartas que pesan mas de 30 grs. Dado el peso de una carta
como un numero real en gramos, escribir una funcion "calculo_costo" que despliegue en pantalla el costo
de enviarla.
Ejemplo en consola:
>>peso=31;
>>costo_envio=calculo_ costo(peso)
>>costo envio=
39
Ejer_,,ecio 15
El is'iStopo radiactivo plutonio-235 tiene una vida media de 26 minutos. La vida media es el tiempo que se
necesita para que se degenere la mitad de la masa del isotopo. Por tanto, despues de 26 minutos quedara la
mitad, despues de otros 26 minutos, quedara la mitad de esta mitad, o sea un cuarto de la cantidad inicial de
masa. Escriba una funcion de Matlab, util izando estructuras de control, que determine en cuanto tiempo el
plutonio-235 se degenerara hasta quedar un porcentaje determinado (ejemplo 16%) de su masa inicial,
-(pasado como parametro).
Eje cio 16
El si~ ~e codigo posee un error desde el punto de vista formal, si bien funciona correctamente en Matlab
no necesariamente lo hara en otros lenguajes o versiones de! mismo programa. Encuentre el error y escriba
otra version que corrija el error encontrado.
a: l;
ppar
l;
for i=l:8
if i/2 ==round(i/2)
a= a+l ;
else
i
i+a;
end
ppar = ppar*a;
end
Eje~o17
Los resultados de aplicar la siguiente funcion" factorial den", no son los esperados; reescnbala.
funct on ~es=factcr1~L(n)
res= l;
while i>=2
res= res*i;
end
Version 2.2.1
4/4
23
>--------~;+_~s _
~_-_1.
_ __
-------------------------
~------dJ~'Sc...-,f--
f - - -_ _ _
dJ s p ( [V-.q_r_-tQ)_:1-
-en a\
- - - - - - \ f-
-----------------
~'iOJ )_ -:_ __
?<_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- - - - - - - - - ~)~_e f:_f:.A.K)
~-------
e\~
:er-id .
-'~+
')L.
- - - - ':i ~ - ~ '"X..-\:.
-t J YO
'
______________ _[~QJ\_qC
------
----------~~s~~~~~_\_
~a_~~
~~11_~:t
-------------
c'__ct=--
--
------+------lo-=
c. =
L-t_Q
---------- '
I------ - - -
. -
1
______ _________ _
---- -------------- .
-----------------
.c)__( 0----------~---------
------ ---------~
---------------------------~-- ----
-----~----
___:L
,a_ ' -
- --- ---- - - - - - - - - - -
- - ------------- - - - - - - - - - - - - - - - - - -
~ - - - - --]
24
J)
X= c1;~s\anv~U
~ (' cl 'O'\f',
\ .f
'>
0..\'J~ q r
"
---y<-
'-
~}(a
0..,
'2_ ')( ~
------ ---~--
-e;__ ~
0... \ \.JS-t -~
"
,r
-------- - - ---
--- __
<;e_,
f\O
pf J I\.A0I i.~
---
- - - =- . - - - - - - - --
~d..
(3) tt)
f\adO:
--r
~< '"'\
e.JVt (cl
l\o
r-X_ Ct
.,
-- -
--
----
__ ,.
rJl J...
- ------
_ _____ ___ -
__,.....,..
b)
\j()._
.l3 .
-~---,,,......,....-.....-
------
(Li)
'd -
tt_)b
d,lsD
(
~
'A
--
---
~')G
.I's. eJ
o--r~'J
V
e..n.~
.
f\\jlY',..e.)( .)
Surna...
, I\ 6 \ Co' def"'
11
()
'3.
- 3>
1"\
'i
,-01
-=,-
1e
j_
-~
16
Z3
.1-
-- -------- -
1L
- ---- ~
L,
11\-\
s
l6-7
=}-
) 3 '\
1..
--
---
------~------ - -----
\I
'
,<
(\uf(ll(b == 0
()J QM.ct 0
Si.JV'-]JJA_
-;
I (\~
-= :$ \
-;;.
e.
---------
------~
f\dJ
CtJ.:dOV-
= 1-
-=Q
l'-J
'1
----
__.....
J
rvJ
--
25
(b)
ty\
C) k
0-
Lj
t-:-i.J
,--~
tf 1 -tK)
,--.:. 1. \
3
\
I
b)
b 1o
Et")
-- - -
')_
a.
H11
l) =- ;\
', -t"
d ( i
IV\,)
~ "'I QO ~ \:::: =O
c:\.J.s,p ( \
...&>1
\-,(.t,,.__e.iB
'(VJ:)
d( z
CAJ {2.il;;
s\ = = o -
I)
'
c, \ J_
~ ( l1~").::;; ~0
l t\
end
er,d
{)
~ u'fY\CL
,k),
;:::--o -
,i_, -=-
I\ . l\ooo
~ a.. ~ ~ I.J'{V\C\-t L,
-Pr\f'1,
'
- - - -
26
[\ ::: 1'\
f\~rn
'y
f-
'2.
( 21 .
3
Lt
12_3j
tzl ~ I L(J
/'213ili15J
--
I
~
1---
,____
10
[2 I 3 I -
'f 1
l2,:?
- . I
--
/\-0 j
1{0,111 .
"-
f)==-
1-1;
":::.() _
UJ
Lu. 1-e..
\J =-
1--
'{\ \J '/YV..,'( 0 (
l "' \
Q\J~-10 ==
---
I\ I\
n \Pf'f\a.. ("o
-+
i.
---
-end.
I\
I\
--
'
"-I
C~\
l\'}).
2-
--
'
[1' 1 '2 1
/\0
I\~
\ Y\<l
,'\o J
-f Y\-1. v0- "->--
v.)
\.v. \L)
27
- ------------------~----
-- -
=- 0
'----------- vJ lA.U-<:
~-----
{'J
___ Afc_\t\o
---- - -
---
en_d
>- _ _ _ _ _ _ _ _ _ _
-- - - - - - - - - - - - - - - - ------- - - - - - - -- - - - - - - - - ---------~--- -
---------------
----
-----
-------------------------------
- - -- - ----- -- -
------
~-ill
----
C..CD-t
-~
\J
'
- ------------------
--------
1,-,-----
- - - - - - - - - - --------
bl
c..O r\--t I
--------
- - ------------
N'f'i C fl 0(\
fh )0_l_~
---
m \ n \ Mo - "' \ '\':)
-------- ____o r - - ~ ~ - '1- ~ 've.Qta-t r\ iYl_
--
---
\&.
"y
(<1
rn, C>\
("'('\~
end
Paj
c)_ -+u--nc:-i-, on
tD (\-\_ l\(LO r
-4-+
L =:: 6._
\:f-
('(\Cd
c'JL~l,
-, SU'f{\a._,
=9 .
===_10 __ ~
2=_]_=
=-
'
-----
'-' ~= k,n~~YJ_
C)
- - _, ____ _j\_d
--
+.i_ 'I
'
r
o\'3e
( \ 'S, \J'('V"
I )
28
c:l)
<N(\l:, ,0
M in '
{Y\ c
lVJ
,:: ~:) Ai 3. a.
"1 l AJ
t ::- 2: le~tV\ l VJ
\ -t " ( l.) ( NJ. r:, {VJ:)
Jor
---
_______ ...
---
---------
-e()d
--
.p.JY:)..
I)
'
0'0 .
+.H'ic:tio n
l.QS-\Cl-:;.
(,o.S-K) =- ')..')_
?es<:)
0.""/\
-------,,.---
t d l11le
-- __
DI ~ o ') <:::)
- - ------ --
.,.....,,..,
--
-------
--
----
( i) ~
-f)y-rl'
= 9<J.
'l-1. ~
~Sc=
Co \'\ <:l
~
(V)5)
l<l
-::
-~o
(o<:)
2-"l i
~ ~ o)a-t> ~Y\'t
'
--
\-t-'
--
- '-?.c:i
i\ i"
30 -3.'C)
-t- A.. ~
:::..0
W0C-\', (J f\
t -==
~So..-= (Y\\,
uJ l0.k.
\So-tQ p0 ( T'f\t<J a:
tj 42_,fv\~Lo
,~)
I
-t. -:;:;-0
'
--- ---------- -
-t 112 -= u
w/\
--
f9,cerr.to\ ~->---X
fY"\ (),JO...
rnCl..JO:.
-----~------
______
t)
---------
- - - - - - - - - - - --~~~-
r:2--
-&nd
--
t= t. +'2~
&s.p
)tJ\('
--
,,_
--------
,--
~-
29
(16)
--
(i::::
1- ,
ppar,=c"I
'
for
\..::;;. I\:
'1+
6
:::. ~ ("OU() c:( (
L 12..
l l 2...J
a=o...1i.~
et"ld
.p .po, Y- :. p.ft:;( 'f
ev ;
.end
@
-
r-t"J
1Unchon
re.s::;. ~
'1+ f\ )
==-
.\ -::. '2...
-=:. "2_
w,
.\. , ::::.
'2 : ()
*\.
-ecd
..e,()d'
I\
r-e~
6-
1-
.1..
'2..
')
-.
p fC, \ et:::)
(-e'I\
30
c'P.~) .
B)b~
q .:::.,O \
-j_.
::::c
\+
tJ.-.)0
~ As;.)2 (\W~
....
el,se
\f
b <. Q
Sd,s~
Jj_s~
>---
.--
~o,
ac__.o.. CJ..JCl..J.>.d 0
a , o -,
:,
r, w)
-e,~
'o .,(o
('c_l)
.erl
t'X\cl
-
~ Cl)
fu,
f
6=
:+-
' ,(
1 :3
T 4. =b-i i
--
~ d
,J.
~~
9._
~-=:;;-4-.)_
cl~
\
\
n-=:D_-t~
~
---
.e
~sp (a.)~
~ 'lee a., ~ k - - ~ r-
ke
-Gr\d -
\! Q
a.___ d._q'C'-\a..,
.b
ch
13.")
-'i
1}.,
~-J 0
~ - 1 (3)
J
\
~s.,o._
m l)t<'.{ \~C{ -r
1G'
1-\-
- i. .
__, 2 dP (~
- 1
--!>
cl Se.-
-b~ :l
..Q.)J,
fd:-u_'tcu\c __
~...s
31
~b)
= -:l-
'bq~ a
I
h-,-r \::::
1--x:i
~io == 1. -
,,.,.--
ba."i o : ~
:::c
~0
-.
bq ; 0
;- '"')
"
=b '", ~
\J
No \ ll ~ {X) ff ~
bq { I'\ '
d iS P ( ~)
' ,
c:bs P {\::>q,o\J
n/\0
'\ , z. --rw .3 .
~LJ-.Q. Cjq r-,e
I
eK'd
~ntall_q
1
3
2
r;,
J
\
~I
c::;
:;-
=-s
:+
rtJ c\
/
oJ:to ~
~
::
;~
(\0
<"J-\!J 'v'( ~~
-~ -~l.
c:::v--t~ . ~ :s
-c n-t f'Q
l'\C
ci.>.Sp ( '-->
\Ji
(\Q
mcia. .. 'K.D
r!Q
Sctlrta
e~r.
-e \)~ '
a.::::
'6z_
'1
I
CU.-tc
~
ffiu Tail.Ct .
'
4: ,
o.~ [] .
Lr
Lt
~
J.G r
-=VJ.... Pl
32
-end.
Si
el
- --3
'
- -
l A,-,
r, "f:l-0
= = '1..
\
\ - -. ~r
,.
33
1,
n =-
Nf\ c-t', o A
-e.-,
\J=
8 ( h ')
.,
--
nu~~~ ~
\.e
UJ~
f'\vY'fv<:.:('O
f)~ < i : : :
Y")
f\\J'('("\e<O -\-
L.
I
"=
r""
-Url
f\\J r('),e,ro
A,.-,.
~,1
~f<("\
uJ.
crr1
V.
Pl -taM.CL,cJ: o ~
de ~ -e:.n 1 .
YPr-rCir
T
'y
f\t.N'f\e,f'o
w
L. -
'-J
4f:1
- 1
-~
(',
1<H
2.
2<11
r 2,3J
Lt
r 2. 3. Li1 .
r21
'
I
'
>
-'\C <-ti
~a
r2.3 _ . - , 101
11
f7.~
'--'
>)
})
e\6 c
-)'2,
- . - ,1(),1'\l\
l
"">
3 . '-1
U JY'..<..;V 0
-}
10 "\ "\1
ha
fer~
(I\
Q\.\,
1 I (' 1'
a"
cte
"';:;~~'6(V\J
()~{'<.) -::::c .i-
fvflGfc
)(q c::f
Lu 4-<) \'l
'X--0
V ru_or
LO 4w -eJ
r'I ~ l'ffi.U'o
"-::: LJ
wv-.lk n~ 'fn.(..;f'o ( n
\.J
[]
['1"}
T112l
l -1
2, - . -
34
1B) Ct)
r11co..-ta~
v ~ '.-, a r
'::(_ ( l ~"L
::. = = rnr-i;-. :;. q; \
\J'-t/1 l
~..LI.
i;.(
rl?
\...I
CV~ ,Li..-\lq'f'Q-0
v =
.,
\4-
I) :
\J (
ct
-e.JJ..__ U.J...
"\O'Q
"
f..tw-
.J
.p ,.(
1 Oo .
--1
I__/ ([
\/
l ct
I..
dek~d-Jo_J
l)~=""X
-ef"') d
s,
~C\..
'Y
2,00
C..CY\"t'
'fo '("
C) :
"
1\0()
/,'\
\t
\ \~
\ -r'ld
U)f'(\
,J
=-
(.0
rrt
!:,,. )
<l
--
'-
-.rid
.I
h ),,- ~
\J()
,
\1'.1-.~l"> i AJD
\J dJJJ.__oS
q_
d,,e
\a f
(J~O
n \.i'YlA ,( q--e_
,<l ooa,~
UJ,__
\J'{J
tv00~'\
~
IY\1f'l i MO
~("'
'1.
= 2-
'<)
ka'l
)p.r.Q.-t ~ {y)
'-'
1+
'I ( LJ
rn, f'.\
( rn I fl\ ('("')O
==-z : .1-
f'.Jo --eh1-tre?
en~
-end
-'\
\/( 1'):
St' \J Hi~
si Y ~uck.
--
"'
{ 'l
,..
35
or
-f"'
-e,,nd
7~
\v .::: 1 ()
tY' a._ cl
\J'-
o... ~ ,
oJ, ~ ~\ -e.
=t> 0 .
'fQ
'-../
.....
~.
36
a. .::;-,i..
j_
flpO. r'
Jo,
\..:,..
,+-
~ ~ / 2- -e__n-teAro
18.
~l'l..
=-=
ro \JY\ ~ I Z I 2 ')
'--
par .
=D "
--
=-0
- re_d.P n. de.a .
\
\,.,,,.
/,
/
,,
),\e_nd \
R po 'f
= P.a::i r- ,
a_,;
?t,
).
I\
p-por
/l
''\
( f\<, .Q_V._-',;.,Y-Q ~ 9
\
J..
Cl..,\ "JO~r
l :::::--2,
'-\
aJ... J,o r
0 'f'{ CJ...)-,\_
'-
\Ja_
, ~ Q i ('("--\}
(' Q.__
c.Rf"\
\, ::; 3
-A C:WClti ~a
'
\,
u
OU '-
0a..ctct Ll){\
k
'hOrra_ 11 cv-\I'-
-e)_
{'vV-fl)J' 9
t){),(,t~
dJJ
~rP,
-
"--'
l/")
~ -0
'
ot
c:;-ve,,
rr ~ C'Q v-
f(JI'.
H)'V' M
b-__ VO nQ SLR.,, ~ _
~ Pa
WACK
Y\D
'-1.
S..r"
folo& ~
r- Oa r
(.) veGL(_,
'
G(}Vva
-= t-\' cti
ca
(' ,v i Qfi'c,
'-JSO
~..,
37
COMPUT ACION 1
Instituto de Computaci6n
Curso 2014
~~
:? INCilNtlllA
PRACTICO N 4
Introduccion
El objetivo de este pnictico es practicar en la creaci6n de scripts y funciones en Matlab, mostrando las
principales diferencias entre ambos estilos de programaci6n.
I
Ejercicio 1
Corisidere los siguientes programas:
partel.m:
% script
a=a +2 ;
b=b +4 ;
c=a+b;
rarte2.m:
funcion
t'f' //
I
function [a ,b] =parte2 (~ ~y, ~
x =(y+ z )/ 2 ;
c=x +y ;
a =c;
b =y+z;
15
principal.m:
% principal
a =4;
b=6;
c =2 ;
part el ;
a =c ;
[~,b]=par t e 2 (a ,b, c );
<;"<iL.O
Si ejecutamos desde la linea de comandos del Matlab el script llamado principal, L,Cuales son los
valores finales de las variables a, b y c?
Ejer/cio 2
Supongamos que queremos implementar en Matlab las funciones hiperbolicas senh y cosh cuyas
e x + e-x
ex - e-x
y cosh( x) =- - formulas son: senh ( x) =
Escribir dos script llamados senhl s y coshl s que implementen dichas funciones.
( Escribir dos funciones llamadas senhlf y cashlf que implementen las funciones
hiperbolicas.
Ejerc.4'o 3
Sab~;; que la derivada n-esima de senh(x) es senh(x) para n pares y cosh(x) para n impares.
Utilizando las funciones hiperbolicas predefinidas en Matlab:
aX Escriba un script que evalue la derivada n-esima (valor dado en la variable n) de senh
/ ' para un valor dado en la variable x.
/
Ejercicio 4
Ahefra vamos a implementar las mismas formulas de senh y cash que en el ejercicio 2 pero con
la siguiente variante. Defina en su programa una variable auxiliar Hamada auxi que contenga el
valor de ex y luego utilicela para calcular el resultado (de senh o cash segun corresponda).
Recuerde que e-x
= Yex .
Este cambio realicelo en los script y cambie su nombre a senh2s y cash2s, y tambien en las
funciones y renombrelas a senh2f y cash2f Este manipulacion podria justificarse si suponemos
que el calculo de la exponencial es mas costoso que el realizar una division (esto no siempre es
cierto).
Version 3.0.0
1/5
---- - :
38
COMPUT ACION 1
~~
~an
Instituto de Computaci6n
Curso 2014
~INCi!NJ!llA
Ejercicio 5
Considere el siguiente script:
x=2;
senhls;
auxi=y;
x=4;
coshls;
resultado=y+auxi
Ejecutelo en Matlab y recuerde su resultado. Ahora sustituya los nombres de los scripts senhls y
coshls por senh2s y cosh2s respectivamente. Ejecutelo nuevamente y compare con el resultado
anterior. Podria explicar, worque difieren los resultados?
Ejercicio 6
Consideremos ahora el siguiente script:
x=2;
y=senhlf (x);
auxi=y;
x=4;
y=coshlf(x);
resultado=y+auxi
Ejecutelo en Matlab y recuerde su resultado. Ahora sustituya los nombres de las funciones
senhlfy coshlfpor senh2f y cosh2frespectivamente. Ejecutelo nuevamente y compare con el
resultado anterior. l,Podria explicar que sucedi6 en este caso?
. / . 7
EJery1c10
Cortsidere los siguientes programas:
medio.m:
extremos.m:
extremosF.m:
% calcula nuevos
% extremos
% calcula nuevos
% extremos
a=x (2);
b=x ( 1); .'.3
x(l)=(a+b)/2;
x(2)=4*(a+b)/2;
f u ncti o n ~p==extremosF(x)
a=x(2);
b=x(l);
x(l)=(a+b)/2;
x(2)=4*(a+b)/2;
a=x(l);
b=x(2);
pto = (a+b)/2;
"1:
Luego de copiar los programas ejecute desde la linea de comandos las siguientes instrucciones:
x= [ 3, 15]
extremos;
medi<?;
pto
y ahora las siguientes:
x=[3,15]
extremosF(x);
media;
pto
Version 3.0.0
2/5
39
COMPUT ACION 1
Instituto de Computaci6n
Curso 2013
~~
~-n1
SJNG!Jlil!a.lA
Ej~ icio 8
El programador del siguiente algoritmo cometi6 un error, identifiquelo y corrijalo. Este
algoritmo ordena un vector de numeros de menor a mayor.
% ordena un vector
fu n ct i on x = o rdenar( x )
n=l e n g th( x ); %obteng o largo del vec t o r
for i=1:n-l
fo r j= n
if x(i) >x(j) %intercambiar valores
X (j) =x ( i) i
x (i)=x(j);
N..HJJC\
end
end
end
vo...n~bl(_ ~ .
Eje_!!tcio 9
El siguiente algoritmo no se comporta como esta especificado, encuentre el problema y
corrijalo.
% Funci6n mayor(x) devuelve el mayor de
% los elementos del vector desordenado x
fu nction maxima = ma yo r( x )
n=length(x);
max imo=x(l);
f o r i=2:n
if x(i) > x (i-1)
maxima= x (i);
end
end
/
,.
Eje 1cio 10
x +3
f un ction d=derivada( x )
d x= . 01;
fx= ( (exp (Ss in (~ i )) + fy (xA2 + 3 )) -1;
f dx=((exp (S * sin (x+dx *pi )) + ~ / (x+dx) A2+3 - l ;
"~ .if fx >fdx
.
d=[fx - fdx] / d x ;
else
..
AV~<;
n~
.c.,
"'
Version 3.0.0
d=[ fx
f dx ] /dx ;
end
3/5
40
COMPUT ACION 1
Instituto de Computaci6n
Curso 2013
~~
!:;
:;
i;INGINJH.IA
/
Ejerdcio 11
Resuflva, en una sola sentencia, cada uno de los siguientes problemas en Matlab:
,4 Crear una matriz de 20 filas y 15 columnas cuyos elementos sean todos cero.
,;rr_Ji
}5)
/';l(
I')_
(?
cio 12
Escriba una funci6n agregarf que agregue F nuevas filas a una matriz, rellenas con el
numero X.
Escriba una funci6n agregarc que agregue C nuevas columnas a una matriz, rellenas con el
numero X.
E.scriba una funci6n agregarfc que agregue F nuevas filas y C nuevas columnas' a una
matriz, rellenas con el numero X.
Ej~13
Escriba una funci6n traza que calcule la traza de una matriz de tamafio NxN.
Nota: Se define traza de una matriz cuadrada como la suma de los elementos de su diagonal.
Ejer-~ 14
Esc6b::a funci6n transconj que devuelva la transpuesta conjugada de una matriz de tamafio
MxN.
Sugerencia: utilizar la funci6n de Matlab imag para averiguar si un numero es complejo.
Ejercido 15
Escn~a una funci6n pertenece que encuentre el numero X en una matriz de MxN elementos. En
caso de encontrarlo, la funci6n debe retomar dos valores con la posici6n i, j de la primera
aparici6n del elemento en la matriz. En caso de no encontrarlo, la funci6n debe retomar ambos
valores en cero.
Nota: la busqueda se debe realizar por filas.
Ejerr4 16
Escrl'ba~~~a funci6n repeticiones que retome las posiciones (i, j) de todas las apariciones del
numero X en una matriz de MxN elementos. La funci6n debe retomar una matriz de 2 columnas
y tantas filas como veces aparece X en la matriz. Cada fila debe contener la posici6n (i, j) de
cada aparici6n. Si X no pertenece a la matriz, la funci6n debe retomar el vector vacio.
EjelJicio 17
1_ ).
.t1>
Escriba una funci6n extraer_ tridiagonal que extraiga la tridiagonal de una matriz M, no
necesariamente cuadrada, pasada como parametro. La tridiagonal de M posee unicamente los
elementos de su diagonal principal, de la primera diagonal debajo de esta y de la primera
diagonal que se encuentra por encima de la diagonal principal.
Por ejemplo:
>> M = [ 1 4 6 5; 3 4 1 9; 8 2 3 4; 9 1 1 3] ;
>> D
extraer_tridiagonal(M);
Resultado:
D = [1 4 0 0; 3 4 1 0; 0 2 3 4; 0 0 1 3);
Version 3.0.0
4/5
:a;
ING!NIUJA
41
COMPUTACJON l
Instituto de Computaci6n
Curso 2013
Ejercicio 18
Escriba una funci6n suma_por_jilas que tome como entrada una matriz de tamaiio MxN Y
devuelva un vector de M elementos, donde el elemento en la posici6n i del vector sea la suma de
las celdas de la fila i de la matriz.
Ejemplos:
suma_por_filas([4,l,3; 2,-1,-1; -3,1,-2]) devolveria [8,0,-4]
suma_por filas ( [-1, O, -2; 3, 0, OJ) devolveria [-3, 3]
Ejercicio 19
Escribir la funcion reverso que toma como panimetro un vector v y devuelve un vector con los
mismos elementos pero en orden inverso.
Ejemplo:
>> w = reverso([2 5 6 1 3 7])
w = [7 3 1 6 5 2]
Ejercicio 20
Escribir la funci6n rotar que toma como parametro una matriz M, no necesariamente cuadrada,
y devuelve una matriz con sus mismos elementos rotados 180.
Ejemplo:
>> r = rotar([9,6,3; 2,1,4; 5,7,8])
r = [8,7,5; 4,1,2; 3,6,9];
Eje~fclo 21
Algunas preguntas de examen teorico. Hay una sola opci6n correcta por cada pregunta
/
en un script el alcance de las variables es global, mientras que en las funciones es local
d. Ninguna respuesta es verdadera
(@)
= 1;
= 4;
+ 1 = x;
y
function y
incognita(a,b)
= O;
for i=l :b
y
a;
end
u==- .:5
\
CL
1
2
0
6=-- ~
'-j
s
1)0
1S
~
Version 3.0.0
5/5
--------------1
"t_--- ------------------------l
------------------ --
------
------------ - ~ - -
ff2.-f\-C} ~CO_
- - - - - - -- --- - - - - - -
@ ~____C\-= 4 _____
_____ l
~j
- :('\?-
------------
----
~~=~-=~ :-1~~:'"
--- -
---
42
~6 -_
~1:::1=====~=-~
--
____
__ \ _______________ _
1----,1\r'-q/ -
@ __4)
Senh t s . f-\
_________
0 /.
_ t0
----
--
____ _
c.,o..S h
: ____________ _
'
~CQe:l
___________ _
~.::_ _ _---=.
,________ h) _Wf'l(-,,cn
- - - --- -------
Gm \A.,
~ ( .e?#!--t ~
-------------------.,
SQn_'h,_-_-_$e_n_Y'i_"'i~C_x.._~=----------~
-------
--
N (\ (
>---------(a_\A
,_____q]
n
--~\~+-
c..aJ ~ ::.
IO()
= (
cos
h A:_-{-.:___(--x._____r_)_ _ _ _ _ __
?<..-1--e-
)')_ -
---------
~ ~c.-t,o (\
=:
~ d ( (\ \~)_ ;::;__=_<:>____
~f", v
___ ~t~ ri~ _=- __e oh_~ s. Lx_,_)_ _ _ __-=.d_~_\J ::: ~rx. ------
~ ~-----
...
e. JI 2.
-e1S,.-Q-- __ _
~ v - Le=-~- -x.)12.
--------- e-l}d .
e rcQ . -
--
f-----------------
- - --------------- ~---
, - - - - - - - - - - - - -- - - - - - - - - -
(4)
r~ k.'2s . .
---------43
rn:
---x- =
'}(_::
CUfY.A
s::en h
= e '"X..-
-------
{).JJ ?lA
= (OJ.J?U -
1 {OJ)').; )
/ 12-
( Q
; e 'X-
'
~n h2-f ~ Y'(') :
tune1\ on
senh =SRJnh2f- (~)
O,.)J 'Y).
\__{) I ,
-e~
;.
-..--.....
A_l
---- - ------- - -
----------------
---
hJ nc:-t \on
~n2.+(x')
--
= -e I(...
/LU ,., j
CQS
m'
v- =
( (.U.)~
-t ~ (CU)/';(), ) / 2.
----
..,..
0-?'\S
k,:::-~_
-'<r
-Xl)")=-
\
',U /
N'loJ
f'A_-=
=\
bc36
.J)--t() ::::
'(
?L ~
I~
__ le> ____________
I ~
G_}_"------------ - -- - -
Co \}Alo~-5 .e.!
,~vcu..;e
.,,,....------...
.._j
,ru' J '")((~\ =
-"')(
( ~ -11"~\
___
------ 1'"2..-;;,
"),)_\ s
---..---- --
------~
--
44
::: ( ~ S--t 3.
J2
==-
e.{')O .
45
-erd
")
J
' ['
t,j
d} ~ ::: LB> \ C
! - - - ~ - ~ ~ - - - ~ - - --
--~
e/~ M
\...---'
---------------
1/\ ( [
'"2-
Ji :J
_ _s = ~ M-(:~~-~)-:-~\--t1_~ ~ 1 \ ~ L3 ~ 30 G~_li~~j
j
1---4)
(o
s '.
1----------
Tl
~ ) = I ~I 2 s
G :
I
'2-- 5
S I-+ a
i 3:'
1.
+~
+ J
I~
46
------------------------------------
@:)__i)__~c-\(lQ(\
------------ tra:triz
-----------
=- H . __
------- _J J'f\,f\J-:
- - - - - - _ _ _'I_=_ ?, __ .- 9 Y\LJ_
( '\ , (')1
------
----------------------
~ LJ .
_________ _
~ -- - - -
------------
~nd
-~--=--- c_)-~
_________________ _
----
~--------------~
>---'1 .
-----'-(~~~,~?,~e-~j
--L---
_IY\~"i_(\~-::: [ (V'Cti
"t-, 'v]
---------------------------------------------
___ -,
--
- - - - - ------------------------
r
47
((e')
... ---- - -
-rra. ~a.,
n :::: leng-tv...
( M")
.....,
S,v(r)Q .:=;;--Q
1fo,
-( M.1
'1
-- -
---------
;:::: l'\ ; 0
Si.JYV.-a....
'.>Uf'(\C(_-
\'!'\ (~.~)
-end
,c -: -\- r ct
-N fl c-n on
( f"(')
\
('\" :::- s, be (. HJ
}
_12 r ___i,
c\0 r
I
I
, c.
-:::
\ (k~
ON'J
( f)
4-L
- --- -
'"""- -~.,-~~-r-&~ OJ
?- t.5:! t.......,..... f\C 1 .
-- - -
- --- - ---- -
\C(t.,\ ")-=
-r C ( ( ,' \
-----
-- I\,,n
01
------ -----. h
,I\. ~
::;=-
f\S c..o n
CD
-~
"1\ ( '
- l"c..'
---- - - - - -
\;")
(\
',~
---
erd
- - - -------,.--
-ex')d. .
/1\5)
'-....---"
-- - - - - - - - - - - - - -
Nn c-\\Gn
f\ '-'--\ ~ D
'2- = ()
I
(lf'i~
,~
s, x:e
( rn ,f\~=-
\_ -=
,Q.
I
\ LI ~\e_.
I
I
L. ') ==
~-tt ne re
l M) :
T
t,J-
("\ ~
\&
- - ---- ---
~- ~
'f\~
10
=
- -- --
~ -=
v s..e..,
'"
I
'
=- - --
----------------
-------
l.J
,.
L -= \
\ -t-
l..
-e,0.d_
..Pf'Y'i.
-1
- - - ----- - ---
f\~ :
'
- - ( \ '\ ~--- - -- -
c.---
.,~1
Y"\OJJ\
,=
1..
.,
\jJ ~ \..;
I
- -
,,
I
<::: rn
=\~.i..
--
- ~ - - - - - - - - - + P c - 1 _ 0_
ff\
\
lI
.J
48
__J
en
,0 .
f-------------'o-ffi___ '(\
::::
s' re.
e{""Oj
f\
D
'\
49
~ <tUD ct\ o 0
Sv'('{'I C<.. -=
(mJ\')=
s, te.. \ ~J
'
I-
' I
--
- - - - - -
_._
g..,
50
COMPUTACION 1
Instituto de Computacion
Curso 2014
~~
~ ING!NIERIA
PRA.CTICO N5
lntroduccion
El objetivo de este pnictico es familiarizarse con el concepto aritmetico de cambio de base y su uso en
la representacion numerica de datos segun lo visto en el teorico.
Los ejercicios del 1 al 4 de este practico son para ser realizad6s "a mano" (o sea sin la ayuda de la
computadora, calculadora, etc.).
Ej'twcicio J .
.
.
Hall~d decimal equ1valente de:
) (110101
7365 8
lb
..
/
3FA816
.
Ejerc"cio 2
Convier a los siguientes numeros decimales a binarios:
~ 120625
. 21x2 4
~ 73
.
Ej~io3
1998
Ejei'N~ 4
. .
Ejcio 5
exadecirrial .
. ..
..
D{niili.os numero promedio de uh numero entero positivo al numero que se obtiene de sumar
sus digitos de posici6n impar y restar sus digitos de posici6n par ( el digito 1 es el que esta
mas a la derecha).
Ej.: el numero promedio de 31854.7 es -2 pues -3 +1-8 +5 -4 +7 = -2
Escriba un~ fun_ci6n it~rativa para ob ten er el numero promedio de un entero _p9sitivo .dado.
Ej~io6
Implemente una funci6n iterativa que reciba un valor entero (decimal) y devuelva . su
equivalenteen sistema binario.
Vale recordar que para pasar un numero decimal a binario hay que dividirlo sucesivamente
p or 2 hasta que el resultado sea 1. Luego tomar ese 1 y los restos en forma inversa para
representarlo.
1: 47 / 2 = 23 resto 1
2: 23 I 2 ~ 1,1 resto 1
3: 11 / 2 = 5 resto I
4: 5 I 2 = 2 resto 1
5: 2 I 2 = 1 resto 0
..
Version 3.0.0
1/2
COMPUTACION 1
Instituto de Computaci6n
Curso 20.14
~~
g'"
S ING!Nl!fUA
.
~e
o7
, ..
51
'
'
' entero pos1tlvo
..
. ' }teratlva
.
. abase JO que rec1"b a. como parametro
E senb a una func1on
un numero
N expresado en base b, y lo pase a base 10. El numero N estara representado por un vector,
donde cada elemento representa un. digito de N en base b.
Ejemplos:
.. >> y= aba s el O ( [ 1 , 0 , 1, 0 , OJ , 2 )
y =
: 20 .
= .
483
Eje "cio 8
lmplemente la funci6n iterativa sumaBil'l;aria que toma dos numeros binarios a y b,
representados como vectores de ceros y unos, y retorne los siguientes paran1etros de salida:
La suma de a y b, que debera estar representada como un vector de ceros y unos.
Ejemplo:
>>
[ s ] -
s urnaBinaria([l O Q . 1],
[ 101 1 ] )
s =
.o
1 0 0
Ejercicio 9
Preguntas de examen te6rico. Hay una sola opci6n correctapor cada pregunta.
1-. La base en un sistema de numeracion indica:
a. Si es un sisteina de numeraci6n posicional o nci posicional.
@ La cantidad de simbolos que utiliza el sistema para la represen:taci6n de
cantidades.
i) 11001010011 2 (base 2)
c.
..
Indique cual de las siguientes opciones corresponde a la expresi6n decimal del binario:
101110
.
a. . 0*2
4
1*25 + 0.*2
1*23 + 1.*2 2 + 1*2 1 + 0*2
4
5
c. 1*10 + 0*10 + 1*103 + 1*102 + 1*10 1 + 0*10
d. Ninguna de las anteriores
Version 3.0.0
2/2
52
f>~C,1 \ C/0 S .
1"10 10 ~ !\;\I'\
Cl..).
t\~'2..0-T \ r:21\ -t ~')( 2'1.... -t <a )( 2.."3-t ~)(21.\.. ....\-0 )1 1...s ...\ ~~It.
-t \'1.2-T
'\ -t '2--\ ~
~G
-t"
b)
'.t-3.G SA
I
(_)
t->-f ().{
x8 -+ 6 ~6'
--t
~ )( '\, a 3
I\G
::,
'2..9 c;;
tc::t" v-a
f<.1
t5
\ ,.-1 1.., ~
~2.
- .. gk
~I'\ - \
Jf\ Z8 .
~fl
(2.J,
\ '"4
l\(A--
'")_
S-3
'\
'.:)..
L1=-
26
13
\ '2,
6
C
---- -
\&, }
'
11\
Q~Q
l__j \....._.i
'2,
C)__
I "2.
3
I\
l\ f\ 0"\0'\"\"\ _
......._____/
-t ->
fqr
lli'J
...__... 1;) ? ~ S
-\:
f""'-'1
&'1
'
'\=, ~
,1))
3 1-6J...-t +~e3
-t
fn'I.~-+ ~
S -t
3 ~61(/'_
:=;
~ -i i\
I
'--t\ 32 '.:lr
0
~
I
I
\..2:1
53
c)
~~<)~
l\l\:'\_
--
L-----1 \__--J
,...,
/\ '2
__,,1~+
1
9
~\~~ '.
31\ 6
"S
4. 'i-
',6 ~
.s
"esl-\+
ra.r e
L; 3 2 ~
\~~r.
'I~
~
---.,
3/\'6S~
\... ~o
"3 "\ '6 S
(S)
1(J
31\e
s '\ \
- -.
A. C)
0) @) " I
~\\ c..1: \ <:) f')
e=-0.
P -
P-fo~d~o (
(,,--3)
i'J)
'---"
"\o
\
s: =- 1-
I\
N ) ~ l\o .
W\A.,l\e.p
A~ i>
=p
N :. J_\,cov- ( WI ~a) \
\.
-=- - s. 7
---"')
-e.nc\'
r ~ Loi0
9)Je._ J2l
lk
p::::- -p -rtJ ~ S
ev-Q_~
de
9i"Qi.-0.0
r ' u
~ i'() ;U f\i.,O
-Paf'Cl
Ua.J...or
r..e }{,e,
f a('Q rq C--,,.--te
'(VJ?..1
J
B)
"
54
{~ ) _
bet !-i (
/\a
\Cd-JO~
?(CL,
~~
d.J qj. \
C) .~
~ \) e,--\, 00.
'-..,\ = o-..\::~=l k
V
LtJ
=\e(')q --n" l N;
\)JJ
ct.po_(-e 4 ("'CD..A_
\)Q.)....).._
0... ~
1L T "fQ__ J
~ j
~~
"\<:> ( NI b)
'
~ =O
AQ,
~. LW
e{)o\.
55
-
- - - - --
- I
CD
a.)
- f>- f2,f\
-C.- ( \- UC>
- -'S
- .-
~ 10'\ () '"'"""'
bJ
+ 3i6 S ~
c')
3rA~11,,_
- - - - - - - - - -- - - ~---<
st (o Q
=--
- =
Av. \t, 0
G '(
'\-~:i..'1"
I=--
2'\5. ~Cl
e~
-t '1 'O
-f
+- 3
'I.
~ h' t-
\0
\1--
I}
l I.{
l ""S
t3
.D
e'
e, 2-S
6 ~ -t 1-x e, 3. =
'\.5
36'L
'\O .
l( '\
[~
c,
(2) O)
\ 2-0
'L...
(a<() 3 I'2-
":L
3o \'5(;
()
'
'L
~So ~ tQ
'\ 06'1 \
''.:l-'53',
')._
~t-1
2~.S
":L
I\~~
'2..
/} ~+
1
3=t69
"'
I\
- -
'":L.
'":L
'\
::,. \
'\
4, u. "l..
')_
' S8 -\2-4;
'L.
')._
'"1-
2...
'IL\ \
0
\ ~ ~ o '\Q1\'\ \'GO'\'ioCJ()1\"....
.
56
lo;
2"\
~
'33.f> \
0
-.:.. :;?, r; .
x'2 Lt
'Vo8
\ '"2..
6Y
'
2...
~ ')_
\Jo-
'21
'\
2..
C)
b1-~ \
'L
2..
"
"a,0000'2-.
'\
~)
'
e::=
'-J
t\ o
/\'O .
':l-
1..
2.
3 3 G' .
1ci'ia Ll _
0
~q~
'\
'L
~
~
2.
249
'\
\ 2'\2,4
0
')_
(o2..
0
I\'\ A/\"\
00 "\ "\ I\ 0) .
-..
I 2-_~
3\
'\
'3=_
1\-S ) 2-
"
':t- 1 r:: ~
"\ --:::
1
57
(3)
'2-J---5 '2-2--S
<:x,~
'2.'l-S 1-1..S
.2.,0 '\S~
\ f?
ss19
'6
l.\~4 \
~'-\
\ 6
,-1' '\-\
(1-)6
Pi
~)l~dMAJ
2..7..-
s 1-'2 s
\<)
\ '1 6 .
~B
~~ C'1;G
819
15
Sl.t
\)
t'
L 'J__
'V~
':)__
$~
'\
\_
")_
2-6
,0
'
"2-
I\~
'
~A.0'\0'\'\ ~ 2. .
CJ
\ '-\
"\6
'
bJ.
\~
.I\"
'
'3.~FC 9 "'
ci) 2 "\S
(L
" 6'
'\L
(4)
\l
I\'\
'--'
~
l() f\C)
'\"
')
::\-
'\
'-------' ..________,
r~
.~
'321" ~
D=t- ~,._
')_
G
u
\_
I\
'
'1-.
"
' ..$
58
e\e_~l.P .
318S~1'"
3 1 e:,s'-1 r
5 -+ 5 - '1
+ ,-
10
31\6.S'-i
4"
- 3 ;-'\ -
'\Q
s~~s , ~o
s ~"ei
\ 1\0
'3 '\
l\>O
"'I
.::;)
N'f\(i \ {}(')
S 0('() CJ.-..
"....,
S~l\..:-0 ._
s ::- 1.: ~
I\ ) 0
w'Al \.e.
-s
S-=-
(Y\()d_ ( "' \
"
"<))
~s .1
-t\OO'f" ( Y\ l ~O)
I\ :.
'
-.1\d..
(w
<Nf\(--tl
\j
~~ll
= o.\oi' f)CJ..'(\0 (
"
f\J
'
'
n ') = ")_..
wvi \e
l f\
~
" ~ +loo, ( Y\ 12) ;
\?
-=c
\Q
d.
vl
--LJ'\~
'y::
f n\Y ] .
,.
59
(tJ _
~ (-\~Oft
r- tJ \I::,\.....
n =lPV:l --t\l'.
( N) I
(;J
,c~o \
r\--O"t'
\,=-'\'.f\
?<.= X.--t
N l~>
((')
-L,)
00icl .
(e')
,<: -;:.
,h.rf\c_"i\ <ln
11~ ~-t\A(O-_)
.._,
s~
0
=: (
t()'('
~~ ( ~
?;-OJ \ 1\. \
lc.t,lo)
'(\ ~
: ~ -E'.J eJ
~=~i;\A. ( b);
Cef"l
(\-;-~.\
(\-tr\) \
'c) ,
I..., :::.
5 (
'
\ ..\-
:;:-;o ;
S l. " ' ~)
sc~,-:::
A~,~
i-l
= _3.
:i_
-e,(jq
e,f\~.
\0
rilon (\: ~
1-~
I\
~
il ~
'.:L
,n I\ \
<0~01~ .
~
(\:::: ~
'
O,~
/,
I\,...
-
n/ L.
~ .fh
'\3
I\
I
1\:::-3
l_O 0
fil ~ O "\
1 Q
1 i
\
12_
<..A../-
i::t )
. -
' \
60
r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 :.
A) . 2. -
I) I\
--
'-----'
'------" '---------'
2.
?-
3 123 6
-=
-..____/
~S34 E9
.,.
'\ '). 2L
,-
'\ X 2 "3
-t 0'1-2 l-\ ,
'j "2
,..
61
COMPUT ACION 1
Instituto de Computaci6n
Curso 2014
PRACTICO N 6
Jntroducci6n
Este practico esta orientado a familiarizarse con la representaci6n de numeros enteros en una
computadora. Los ejercicios de este practico son para ser realizados "a mano" (o sea sin la ayuda de la
computadora, calculadora, etc.).
Ejercl8o 1
~ 0000
Nota: EI tamafio del registro esta determinado por la cantidad de bits de cada caso. Por
ejemplo, el tamafio de registro para el ejercicio b) es de 7 bits; el tamafio para el e) es de 4
bits.
Ejer.4cio 2
Re;?r;;;~te el equivalente binario de -86 en los siguientes sistemas de representaci6n, para un
tamafio de registro de 10 bits:
Complemento a uno
~ - esplazamiento a "m"
c.~omplemento a dos
Ej~ icio 3
~126 10
b \-34 10
23810
rn
Eje-4io 4
Lo{:~:eros binarios que se enumeran abajo estan representados en Complemento a uno. El
tamafio de registro es de 6 bits. Obtenga el resultado de realizar las siguientes operaciones
aritmeticas en el sistema de numeraci6n especificado. Verifique los resultados obtenidos.
'il_
001110+ 110010,
~ 010101
+000011,
111001 +001010,
01010 - 111001,
101011-100110
111001-001010,
Eje
Re ita el problema anterior, asumiendo que los numeros estan representados en Complemento
a dos.
'
Ej~1
R
ea iceiciloas operac10nes
antmet1cas
Ej-~ cio 7
oZ:~\as siguientes operaciones de resta con numeros en base 10, pasarlos a comP-lemento a
..2 y realizar las restas como sumas:
/
Version 3.0.0
234- 032,
yf 56 -67,
1/3
C'
62
COMPUT ACION 1
lnstituto de Computaci6n
Curso 2014
INt.-EN l!IUA
Ej9tcio 8
~ados los siguientes numeros enteros representados en Complemento a uno:
NI = 10011011 y N2 = 01010011, calcular Nl + N2 y NI - N2
NI= OlQU 11 ! y N2 = lJJQ.IJJQ_Q, calcular Nl + N2 y Nl - N2
{ NI= 00110011 y N2 = 00011101, calcular Nl + N2, NI -N2, N2 -Nl y -NI - N2
Eje tcio 9
Dados los siguientes numeros enteros representados en Complemento a dos:
,tNI = 00011011 y N2 = 11011000, calcular Nl + N2 y Nl - N2
. Nl = 01011010 y N2 = 00101010, calcular Nl + N2, Nl - N2 y N2 -Nl
Eje. 10
lm~m~ la funci6n iterativa sumaComplementoA Uno que tome dos numeros binarios a y
b en Complemento a uno, representados como vectores de ceros y unos, y retorne los
siguientes para.metros de salida:
Un valor booleano que toma el valor VERDADERO si ha ocurrido desbordamiento y
FALSO en caso contrario.
La suma de a y b utilizando aritmetica en Complemento a uno. En caso de
desbordamiento, el valor de la suma es indeterminado.
Ejemplos:
>> [o sJ = sumaComplementoAUno([l O 1 OJ ,
[l
1 1 OJ)
s = 1 0 0 1
>> [o sJ = sumaComplementoAUno([l O O OJ,
o=~,,...s = !() 1 l
110ac:i
[l 1 1 OJ)
1
'\Oi'\
\/\Oo\? c,
O
___ /__
f\ O<QO
'\ ,'\ -'\ 0
Eje/.~n:10 11 .
Ejercicio 12
Se desea verificar que los resultados obtenidos en los ejercicios 4, 5, 8 y 9 son correctos,
utiliz.ando funciones que convierten a decimal, enteros binarios representados tanto en
Complemento a uno como en Complemento a dos. Para ello:
a
J5
/
d) Implemente un script que ejecute la funci6n cJADecimal para todos los arreglos
posibles (con repetici6n) y consecutivos de 3 bits (000, 001, 010, ... , 011 , 100,
101, .. ., 111), mostrando (con disp) una linea por cada resultado. 6Cual es el menor
numero representable? 6Cual es el mayor? 6Cuantas veces aparece el cero? 6Los
resultados estan ordenados? 6Que desventaja podria tener esto? Interprete estos
resultados.
e) Repita la parte d), pero con la funci6n c2ADecimal.
';!( Verifique los resultados de los ejercicios 4, 5, 8 y 9 con las funciones implementadas.
Version 3.0.0
2/3
63
COMPUT ACION 1
Instituto de Computaci6n
Curso 2014
Ejrio13
Preguntas de examen te6rico.
Hay una sola opci6n correcta por cada pregunta.
a. Signo y Magnitud ./
t@
c.
Exceso aM
Complemento a Uno v
{(;/'
.::,
b. 111000
c.
100111
C,,\_!;_
'
:.a.
-t
-:;-;;,.-., ~s-o
01000110
b. 010001010
c.
Inqique si alguna de las siguientes codificaciones tiene una unica representaci6n para el
cero:
0 . 0 0 00
a. Signo y Magnitud )<
(e,f Q
I\ 0000
'---------
c.
ExcesoaM
<
Complemento a uno X
t-A-0-..u-~\
l a... = 0
-e--x..p =- u
?uO l?v-f.t ck
\-/Y'"
Co aJ ~ (J1'2-f
"';;.j
Version 3.0.0
3/3
9\)-.R) .
64
, ().}
, 'I O 1
10 '\G {Q '\
Cl A.,0 "\
C1 (
>I
01010 10 .
'
Gl\oA,, Q ~'\
o)
() I) I\~ 0
c,-
'\ 0
C><::) .
'\ 0 <::)
l..)
pcc.sq r
l{'a.._
1-\ ~
paA1.o
--
f "' ,I
.L
-t
~
fq
C ')
d-0 V\cr<
!\
'
I 0.,.-..
ovc.... C ,1
IACU-{
1\ ~~l\~'\O,
(.l. -
~ ~ \ ~ ~"
e")
(c-ero)
~~'\ '\
C1 -
(cera ')
~,\.1\,1
!\o ~
-t
(Q "~"' ~
ooo o
cefo
\ lQ
I'\(_,
{ Lf{ ~~--Ca cl
\\ ~
'--\
ne ~
!\O b ,-t~.
'2- 1
- L ')_
fV
'
(\
..:5
'\
~ b 'i~
('")Ir'\
tY~
\ ""2.
2.
0
s~~~
l{'e..{)y ~
1 n
"(
\ e,\LR.JnC).
\ '2.
a- b So v.J"t--c:)
~()
-_)--A_
ol\..A,_
~"i
C A.
,<")
CA.)
L-
../2.}...A._
J__
"
\.....J....A.. C\...
- -eG.
4~ \., '":}..,
()
{,E'"{\o)
'/
c...2 - ~() oc o
8G,( '"' \
t....N 'O
\ QA.jo.J.. .
0000,
C. ")_ -
('";)_)
j._'I
c" -
( -'I, -
Cl. ( ?-
'\,.(2.A ('
-0\
,e.
v- ~'r-=' oop'1"'
001..0 00
d)
\
) (,')_
(_')_
t,
65
'*-
k:})
_J
0 00 J\ Ol\04 '\ 0
1 11
G) 'i
0'\0 "'\ oo L
11 0 1\ 01001
-r-
I\ :'11
c)
L-J
.1...
1 0 10
" 0
~ .poS1 ci~"
d)-,
I\
~ i -e (Y'i
('N... ~~
-I
"""\
'
&~
------...
- "-
? ( Q c;:,~
(Y'e..
Q
(
'
-
()IJ.;;;)) -
'\
01
l
'2
f\V{V\Q_.,\ oj
\..,OJ
't(:id.t)~
'
( f{'\
'I<:>
~b,--r de--
,ff\ - 1....
= '2.
G'.\
'{\}-.__a 1,1 o
-= S1'.)__
'
.
.
( o\
i i\\
'\ Q
o n
~ ~ 0 0 0 0 0 0 i\ 0,
c0
(-i\)
"-o
(.-'1,)
11\ I\ I\
i 1\1\
'A~~ I
S ~'.l
. 8G
213
- l\l_.
f\
L ':l..
1<>6
,>,./
0 I\ I\
c::....,
L CG
~~
~
to
'"X___Q...
L_
'53
C>/\ 0 I\ 0 '\~1
~,......C'
sz ~
\.2
'7,,6
"
\.._2,__
I
6 ('"ts.
-1
I,,
. I-,
3. ''"2.
\
J,
66
(~)
u..)
b, -ts.
t126 \
'J_
011'\/\"'\"\0 ~ .
I
G'3
')_
LL
31
r \ .=::.
'\
JL
~ ' 2.
A
\
'6
\, ~a
C~
(.,'2.,.
'o)
.QA f \ ~ '
f? u--e__j
\ L..
'Pr
Q::)
l~3 '1)
I 2-
't)
I ')_
\...J
()
2- \
C I\
Cl.
1\110~1~ '\o
()_
'
( - 3 4)
2..
2..3B
1"4
\_ '2- _
'\
s~
-
2..4
'"2-
\2
')L-j
0 It "\'\Q .
r-
'-Iii \....0\
-e ~
~\\'\~ ~ y
- 'BF? / .... - \ 2~ --P
-A'.
c_ '\
-e J
~~
'
'
')._
'
:::>
()
L-=I\
II
~ -I
\)~\
NO
0.0
'\'I~
,~
=3'2...-t-2_ _
v.. '\2::..C)
2)
3~
(' ()J.J..A,:"2i ~
I")_
A
== 2.. q. - \ ~ i2~
"."LT .
fa__
->J.._
r-,....1.
C. " .
'n>./'"'\
67
\l r.fJ
\t.. ~
Lf\\ tvJO
~f\/J" #,.;...O
\)a;.o r
L":L
Cl.
.e~ct.o
\~VO
6)
J2.;J._
-(2r-,-( \
:::: - 1 2.-e
~ -\\i..f\-,'- t\)
~ ~
)..1- '
'
ff4;fe~"tctrlo
..e.u-
C..":l..
2.'.2.-'l.-11 a .
~r<.\f,.tA'L
C. i
-e..l.A..
~ 1-.-1'""
'-\S.1 2
e')
'\
~~
<O
11..
L 2- .
1J
\
o.
.:=.1'
0 '0 'i O 1 ~ 0
1
C f\
C...')_ -
~)
re
2...
If
~,(J
0'0 "
:::;
( L< :5)
'
t\ ~ 0 ~ 0'0 '\ Q .
I\ I\ 0 "'
4s
J-
A.
~ 1k
~G .
r "
C1.
I\ !\<J"'\
<()G .-\ 0
OQ
~~
\-4s ;
'\ I\ Gs::)
-+ !
l()(J"\Q j!Qj,
( ~~)
'
68
.,,-----
{y')
-
(~
4)
'\
ckJo.v/\
\ Ot..l I n
!\ '\
1,J
. 7[0]
.
-t (- ~~)
'\'\0010
Or, C!O'l'I 0
+1
<> a nna 1
b)
2-1 .
0 "\ 0'\0'\
~noo1 ~
__
CJ
,,.--
1- \1\ 001\
tn a "lo"\'O
0
oo O
3
'2~ v-
o 1 'l'O On
A.\
OC)'O
-~
'\'()
ti..
\ ~
-t
rQOD 1 C 0
,.,------.,_
aJ
/~
()1\ 0 I\ '\
!\I\~
Q \ 0
oOG
-2-<)
\ OG
GC)C'i'\A.~
1\ 'CJQ A.
e)
an
---:,
a "\Of'\O'\
r\ G<) '\ \ ~
- '2.".:)-
\J..Q\.\
~ i) I\
-t
'V
:;._
(")"'\ () \
'\ -\
A_
CQD
-t (
-=i-;
1~
Gt'.~~<"\/\
.
-+ L
oa
t)
OG '\ a ,\o
,\ ;\ 1
0 0 {0'\-0
-toao\\0
OQ '\
'-.. -
C\
o \ aao o
1 \ "
1'-\ V
o
11c
t ~
\6 .
' vir
, r
1 '1
i""
I ()1 J..J
-
69
q)
V
11 '.j
00 -\
\()C)
'\0-\0
~-1 '\I\ 00 ~
nG "\ 0
"'I 0
-c=..
~
'\O
-1\0 -~
'
~()1\ '\"'.'\
O'\oooa
(- l\r;\v
I
\~
I\() '\
..,. n
/\GG1'\\l
i\
<) a -\
~ i\
I\ '\
$1/
;- '\
-~
25
OOG "\ n
(5')
a "o I\ <JC\
--'I
oo
(A)
I\ '\I\~
(1
{ \ L\)
(s > -
I\
I\ '\
oo '\. C)
( ... 00 ".1
-t
t
\14)
G2.. ()()I\'\ \ 0
1 L-t
C:C-\~\O
'
(-.
;
....,, ~Y
"\ R) (\ "\ \)
V""'"
I'
'
b)
11 b.
,(X.".M
(_)
.
<:;.~
o),(..
(\ () '\ Q I '(::)
c, oaa ""'\ o
'\'\'\oo
~
( 'l
'i
-+
n ~ . J po f\ 1"' \ r-.('OJ.
( 10)
( =+-)
"
(- -=r)
n (") '\
'2-
l...
'~ ""i
I\ t\ t\
'\G
~
\,""'
70
dJ
I\ l\f\ Q<)Q
1...
-t(
")
C ') ('\("\
( "2 \ )
1\
X '\
'\
~ -2 .,,
( (J }
~-,
+c-e1
O QO
n O C\
1)
( '"L
1\ 0'\0'\ '\
-1-
ooa~'\1
( -A.
'-
G'\'\l\ 00
.1-
A-
'\
u \
~ ;.._/le'\ --'\ ~ , \
el
" "'
Ctt
(, ouu'
.
A
t I \ -~
'"\O 'io'\
--
0 00 1/\ "\
.\-)
i\~"'I
C1
of\
'A)
C. '1...1\
J\ \ Q
' - - - --
( 2-
(- ::+'\
( -~)
- -( ') O)
--
\'\O)
-
-t
-r ,-,+
oo
'\O "\CJ
ao
() '\ G
I\ " '
ri
:'.'.\-)
l\'1-
I\
1 ( =+1
t 1\-9)
, 0 0 '\ n /\O
ooa 1 i\. Q
t 1..
(YC\ () '\ "
C-
'- G r\
X aa,, 110
i.
~'l '\00'\
( A.
O '\
A, 0
G()Q '\
-t
(')
\_
( -
"l"\"\ 0 0 \
1.
( . . . .=, '--"
( "
I\;,,
'!IC) \
-\ .i
l;.")
C'l.
"~o
'\ 1
/\J\"\ 00 '\
--t
"\'\O '\-'\\J
Cl
( -' -~ ~
--'\
( _, 10)
_,
oo \'.J
+ -'\
lA/
l\()O'\'\()
() '\ C) '\OD
-+
( t\
0 "\ '\ 00 I\
( "2 '}
IVC)1 a I\ 1\
0 I\'\. 'C> 10
IQ ()0 11"0 1
i.
l--'2-")
( '2.-G
I.,,,-
\. '\-'
l v--
71
C
~ ,\- .
3'5 + l.i'O .
;s \ '2
'\ '\ '"t-
=i 'o--\
"2_ -
'\
s.
\_ L-
6
C)
i.3:-.
'2...
\.3:...
-"\
L1() \ 2..
L2:...
l'2,C
l.,(') ~ 't\-::::
1()
"\(")~o(')o .....
"-
\ '"2
"'
f')
\ '2-
'2- L2.-
'\
I\
,,------..__
3$
ci7 () I\~'\ o oa
L.t~
::)S
\fl0ill1 I\
~
P\
2.,
11 - -1
.::::::2
' '---'
'
rl ,::"
J. h~.
' G:;--.
'=T - 1
,,(_ .A..,...
.b\-t s
~,
( t;3')
"
'
72
- ---- - - - - - - -
__ 3S L"2-'\
- --
,. . ._
'\'::lr \ "--
-- --
------- - - - - - - - - -- - - - - - 0 _ ____
- - - -- --
---------!
1___________________.
______. ___
- - - - - - - - - ---J
- - - --- - - - - - - - - - -- -
- ----~ ........!)~=--------- -
0 .'\C>
----- - - - -- --o
- - - --- ---
- - - - - - - -
1..2=-
--r2.:
'\
------ - - - - -- - - - - - - - - - - - -- - --
-----------------!
---t--------------
-----..-----o .-tj___ _____ ____________
0
. C1
1<:)
'\ Q "\
I\
+i
-
- - - - - - - -
- - - - - - --------------
~fl-/,
1_.9 I\'\'\ Q
/\~ I\ ~oo
_ _-
i\
- '-\a
::::==-==------
()" 10 1 ~ 1 - - 1------------
3.S ______ 1 ~ 1
---------~
~ - - - -- - - - - - - - - - - - !
73
z..'3 ~
?_ ~
'I q .
'J
"'") 3 Iv.
\~
(?
yep {~
to'y'('S
li ./i/\ Q I\ O'\
::.
~e
'\
\_~
,~
29
1\ "11.i
ch
'\
~:l_
\._2::_
'7l...
\ 2::-
Ct:::) ~
1~
'i
'\
\._:!:_
2..
L-3=_
()
'\
'\
(3'1-)
Ono
{'l.
~""
(1 :a
-t-
b l'tS .
( 23~"") -
~"~
"ti 49.
l\coaoa
~ - ~'.:l.)
0'1(Jf'\
(LAL.) v .,,.
-'\D~ ('"\
- ( - ~L)
'
-t- ( '2-t
~ +- 6 l{ ;-
1'"2 6)
'
1,) S6-G-:+.
I '2..
()- ? ~
.::::
:= ).._:...
~'"2..-:.
()CfJD ~
('\ L '\t\A,o-A;"
C '2.
'2
I /()
<=r-,- ti.
4 b',t s- :
1\.6
"u
o . _-
")_
~f'rt:
-:::
-t '2-o:L .
s;f;
\ ~
()
\ 2.
"'\.4
'
\. ":l.
6~
) 2.
3's
'\
'l..
~6
~
~:::,-~-~
2=
f.o r t..S .
'")...
'\
'l 6
()
Co~(~:} -
e ~, -t~.
LI:_
Lt
- W:..n
'>-
{"\
~
I,,-'--
6.'.t --
C) "'\ ~oa"=>
~
\
74
( Co '+)
~6
0o ""~ ..000
i\
-q
t-~1
,, 11\"\'\0'\0~
i..
'\
('
.19 '\ 0
+ l
n not""'\ 10 I\ 1 - 1~
C.J
?-50 - "\2.3
2SG ' 20
11..S
'\
,-z..so ~
')_.
-31
'\
1.:S
'\
')_
1 2.
'\S
~\o\i.S
l
I\
':\--
c"
'\ ,{
( '\2.3)
C. 2.. l\'\o a o o , o 1
.l \').~::
'l
"l,.S"'O
a A <::i I\
"K ~ (} I\ ~ ,'\ ~ ~
\-\'l.3)
"\I\ 2 .
'-2:---
'\ 1\000
-:a
\ '2
'\
~'2.. ~
"2..
1
/' 00 "\ '\I\ I\
1
I
t2_
"'
3-C
\.2::..-
'"".)....
<o1 \
\ 12-
I\
=-
')...
'2\bl-tS ~ '2. So
I '2-.
~ '2..
~
t\.'2...::)
'2.-'.:)- ( 2..5 o .
- '12.3
11.,-:,. v---
"
"
75
c{)
a =t-6 - Y2..3 .
~
1 - - - - - - - - - - --
- - --
- - -- --
tb\"tS),
-- ---- -- - - - - -- ----
:ir8 '
f\b,"'\S.,__l_~
jl")..._?_-::;_0_1~1_-1_"\_ 0_'I_'\ _ __ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ __
__,
C~
(\l.1J
f 'L..
'\ CO OQ ""'- Cl ~
- - ------------------j
------
\- ,1-~)
- - --
'O
'\()QC)'("\
I\ IQ
'\ "\ n ;\
<"\
'\
----- ------
- - - -- - - -
(::te)
~ -
(- \'2.3)
- lt 'S. .
1-------------------------------
76
(6)
0.)
N 'l.--=- 0
~a
( - '\ 0 0 )
'\OO ~ "\
I\
I'
C'\ ~
(02>)
()'\'\,QQ"\,00
y -r ~j '2
( ~ -\,.. i-J'L.
f\
I\ co
I
"T
I\ .I\ /\
(.\ \J
"- fu)
( - '\'=T)
( r~-"') ..,-
i..
lN11 -t--,1'}..(
l
,,-r:1-f
'<L9'
'\ QO l\~C)"'\ ~
QI\
pWde_
(f
cl r~Jo\ 1 a c:t..o
\o)
~~
(b
"""\
O O 1\
--
nn r"
bi-r-c -
( cts\
I
C
( - '3S)
1"1"'\() "'\1\1\0'<:::>
A-l
C(() 0
"\ 00 0 '\ -\
'
'1 '\
G"\O 'I"'\"\"'\"\
( ~C5)
1 '\"\()I\~ I\ 0 0
(-5S)
t\
c:::i ()~ \
'\ 'C)
i '\
'\
r-. () 'Q
\ N\-N<1\11\~I\
l.'\
La
'(\
( <n a")
C>"-1\/\0D
Q\)""
aoo '\'\
~r\l{\
-e..,u..
.I\Q\<> '\'\OQ
p f < ~'-ClV-
l'J<i.= "\Af\(J"\"\"\ OO
\ l\\"i~Q.'
- - ... -
o{J'OG r
- "\00 - lB 3 = -~~ :1
'2 + - '\ :::; 12..::t <.. '\'63 .
{\Jo
1 00
L- ~oo)
'\~~'\l i~'\(\
,..,.. G 1.-\ -=
I/'
(")0"'\QI"\ '\/\1\I\
'9S
ooa "\.
3'"5
(\"" 7\
aac:i AJ\.
f\r\,;:i ()
i<::::i
( ~3
'
0) .../"
<-J
( s,1
___,_N--"---""2~=- 0-=o-=-----::,'J,<_'\----'-------/\-""'-o=------.,_"\_
L _ __
77
____,(.--",-i:_,4)'---+----- - - -- - - - - - - - - - j
S \ -t-'t-51
::::c
60
::c
CO I\~ oo"'l-"\
ot\
({)QO'\.t\!\
t\JA -
--
IJQ.._
, 0
(~ .L
eo,""
<
'
5 t\ --? ~ :.- 22
oo I\"'\ I\ C) \
l 19.)
OQ/\"'\001\~
+ /\
noo10c_-29J
'l'\'1
~ ~
noo"\u
Dnri 11 G
\ Q'\
4N'L-Nt\
r
'=-
oo
-\,- .
ooo "'"" ~
"l
CJ.-')__' )
"'\ "'\ 0
(_"" C
if\ "
')...~-S ~ ~-)...2
oo
1 I\
{ s ~)
c::)
c.-sQ
0 '\
~'\00~""\00
, \'\ 10"\on I\
c~
- s '\ -2..,-9 ;;:::
~-~,\-l'-J'J_ \ I
I\ '\
'-'
:=j
oc:i
<)(j<Q
-~a
"\'\a o
~ e; .
10~ a'\\ 1a
t
'\,'u \
c,
a
1
o'\\ \ ~
o 1\ 000(:)
lCl)
78
(9')
ca~~\R.,~\'Cl
o\,
---:2...
G.._
\ "2.-'1-)
N" =
c1 ~
(-~'u)
\QQ'\C)Q'\'1~
1\ N l\""t
'2-r;- -40
}J~ I ::::
J
t-
- -\ '3 .
( '"2.
"'I
'1'\ 01'100 ~
\ i 1 '\ ~~ "\
~ ~ oaoa"" '\
C)
( - '(3),..-,
~
1
C'2- 0000 ~"\ a
I
l '\~)
'\
Nf\-N'L
'
l 0~) ./
\
b) N'\ = 01\Q~"\O"\C
N12..:::
,..
I
\ Nf\-\}-h.. :;.-
oo l'\o'\o"\O
\ 4o)
( ~')..,J
()0 '\
"\ a
,a '
-pv ..('d('
o I\ '.)'\C
(\(\'i\
f'' ~
l\a<J
e --pr .Q ~C I tr r
,e
Y" ,
\ N, - NQ. ~ qa - ~ 1- = t1A
'
I
1 00 AO'\ 01\ D
(,' t1 ~
~
l~'2_)
1.
\<::)'\~ '\ ~~
'
0-'\ Q
1'"
I\ '\
-
"\ '\
() (\ 'I\
\ - V\k/
Cl'\ ~
A, er, D ~ f)
( 116\ ~
tA ~t r ' . .
79
_LJ
-
N
~ - }.J =:. l\.L -"-j ~ =- - '-\ 8
------~--------------------
. - - - - - - - - - - - - - - - - - - --------------
----------- -
---------------~------------
( to
1-----""__
(""1:L_______
'I C~'\-01.c>
__.'\_c=._...c1c......co=;c...o-=-.c'\:.....:co:;.___,_1_ _ _ _ _ _ _ _ _ . __
C\_
Q
C)_
_
_
------
_ _ _ __
_j__-
Y."<?i .-_
00 \Q 1 '\ "\
"1_
----------------------------------
~-==~..,.::::'.l=====
----------
g __ Y\ (.GlJ-+.
_? _= a i ______ 0 \-\-, =o
).e
________________ ----------------------------
------------
T _OO"\OJ\..0"'\(Q
---t I\"'\ 0
n : - "'-:_1- ____ - - - - - - - - - - - - - - - - - - - -
\k"
----------------- --- ------ --- u t'"l-\_ =.pt- _____________ J_ ________ ~~ H. s, ~~-= :=-'2_
----------_________________________ _
0\r\\
= 'i_
----------~----------=...,...
____
-\,-S li,1 ::c ~-
-~------
----------- ~ d _- -----------~--~-------------
u \-\\
-=-
------- - - - - -ci~
------------------------------------------
80
'
':;) l"\
s C,') ::-'--:: i.
wW..\R..,
L-;;; \.~-~ .-
I
I
I
I
-:::O\
=- i.-,
-f:l'nc\
I
~
-
-E:'.J')c\
p)
( S,
[;. <.JY'f\-
C() M 9
kJY'l-e.,n--t o A- c o s.
( q , to)
'
0 = ~iv-..( '-) .\
"'
\J \-\\ ;:; 0 ;
s~
\,"i'\-;;_
~I..)
~Q~
I\ 1Y'i)
:;;.-0
--
kor
'
\,=
S( '-)
:-"\: i_.
::;.
a.LL,')
-1-
b ( li "i
~\..)\~; u \'"t\
, .t.. !> c.. C) :-= 11...
sc..~')-=o;
I
;:; 1;
\j \-\'\
,A~\+
S(.,(\.: =-3
Sl~'):: .i\
\j ,.., \
= ~..: \
,e.l~
u"',
:::o
<
end.
-e;(\o\ .
\J.
\j \-\ \ ,,_. ::
9-J\ \,)1-f I
1._
-ex--ic\ .
'
-\-
u \""\"',
[ .L. _.______:a:~)L___~~~C~:i~1o~n_ _
81
1
------=S~VYYt(1___:__:_::.=---=_____:::b n=ac_!_Y\_:_:.
~:_____\_(__:v__L)_ _ _ _ _ _ _ _ __
_'.__!_1
n :--i.1
l., :::
~y--
S-umCL=
~ V(Y\~
-r
"-I
l t1
.er-.o .
b)
AeG. :;;
~ c -t\Q()
"-1. (. /\\
::;;
\+
V)
"' l'- \ =-
1...
--
d. <;,..,;
"!L;:_,:::o.
,()cl
~~
---e..(J
ci-e.ej == c.."'2-~P<-u M
aJ.. ( 'v')
= ~-t'v- \ "') ~
V\ ==f\i
\ .\-- '--J
ck
1)
n-~1
f')
"-4 ' \. Y=
NDcf ,an
.1-
( -= /\ '.
{-Or
C:,}
,A,,,.
1 v... t 'I) i
0 = ~
\ +-
I\ ,P... C,e_cifY\ ~ (
2---
~I\\==~ .
1() r
\-.:.
f\ . '(')
\k- ~l l CJ -=
-== 0
"! l {') ~
1..
e),_~
-e,n cl
-er<')O\.
w\rv..\e.,
\j
l~'i :.-.::
u
LI
'j , -
82
.en~
'v('(,),::: ' i
'
'e DA .
c\ er 'i -:: :. 6
f\ct --r-.o
( "J
I
<i)
3. 'b'\ ~~ '
..I
.l.
(\ I\ '\
'
..no-u
~,'\'\
'
t - ?, ,~)
- (2-~-"\ - \~ : :- -,3.
c-e(\o
f\00
\.
2- \l-e_ce :s.
83
Ir
\c:l.~
(!(a)
r r'.\
<\-vn ('.,\ 0 (\
()..JJ--\Jb'I \ -
-- .-r, n
u-.. 1..v-... ~ .
cJ \.-'I:\
,- ~
~r
.=
0,:, ( '\
1l)
( ~v\ :-~ , \
4,o\d
s I...J'fY') 0\... -
\ +
'f\.e_1
l \
;
J
t:\.(
s V('('\ a.__
C'\,
z.
b ( C'\
-1;
ao\d.
s ( t,) = s (JY'(")a..., .
"~Ji) ;;..0;
g__(.e \
-+
f;\...){'('.~
s (~)
~
;:::- 0
==- ')_
N:.uJ - i_',
)..,1-e.,
s. ( t, ) :::. 1-_ :
0.... ne.,w ~ 'i-,;
eK'td
\ ..\- Cl a\d. ,.__ :
.'-,..--'
d == -L \
'-. 'f\eJ.J.J
s. =
1:;-_ ('OJ
\ '\ 1r\)~
-Q.A~
\~
a f\lJ..J.J
:; ::;-
t ==-1);
\jJ
vJ. 're
S(~\=G
( ::= ~ -
t,11d
5:'cC ') =-fX'i d.
0nd.
b o rd a.,L,U. )
-::...o,
a.a\C\ =-a ;
a-- o__ {)e.JJ_) :::c a ;
~J
fl = ~-tlA.
( 4-) ;
.._,
Ll_('tf~
(f
q \
=O
::
84
\l
3
()
,, tri /\ 'I
OQ
( '"2-
'2.
C1
(2~)
'\ 00'\~~
.1.
()...
l-2\.\J
{::, =
~-=
I
l"\l\oa '\O l\ 0
-r
1 ~
'\ "1
"'\ ' \
'\
OIQ "\ G
'\
0i)
( f\?-3'
C "\.
( - s3 ')
\ ~23)
(- S3 ~
Q '\
{ s i r.
'
'C) ~
i.
01 (:) OQ "'\
1~
\ ?r'O) v
w.
'-....,./.
85
...
COMPUTACION l
Jnstituto de Computaci6n
Curso 2014
~~
~
:i ING!Nt U.IA
PRACTICO N 7
Introduccion
El objetivo de este pnictico es familiarizarse con la representaci6n en una computadora de numeros reales
en distintos fonnatos, junto con las operaciones aritmeticas correspondientes. Una vez mas, los ejercicios de
este practico son para ser realizados "a mano" (o sea sin la ayuda de la computadora, calculadora, etc.).
Nota: Para la representaci6n del exceso a M, se usa M = i<n-l ) _ 1.
Ejerr,.ifio 1
Da~l;~ siguientes patrones de bits:
,,JY.j
,,
Eje~o2
j)
~~
'
y 104 ' 0 en los siguientes formatos de
Ej~3
l,Que numeros reales representan las siguientes codificaciones en norma IEEE 754?
.)151100{11061101 1101110111011101110
1111-,1111 ,1 00000000000000000000000
j)
~p-9900001/11110000000000000000000
01000000011110000000000000000000
l._
---------~
Eje cicio 4
C dificar en IEEE 754 los siguientes numeros reales:
4x2 -20
J!,1
~o
pj -80000
Ejercicio 5
Dados los siguientes modelos de pto. flotante con desplazamiento en el exponente como lo
propone la IEEE:
.
;r) 1 bit de signo, 7 bits para el exponente, 8 bits para la mantisa.
1 bit de signo, 5 bits para el exponente, 10 bits para la mantisa.
l,Cuales son en cada modelo el numero positivo normalizado mas grande y el mas pequefio?
'\o
Ejer<;icio 6
Repfusentar 67 x T 7 y 37 x 2 7 en punto flotante 16 bits (signo, exponente de 5 bits y mantisa de 10
bits). Sumarlos.
Version 3.0.0
1/2
-,
86
COMPUTACION l
Instituto de Computacion
Curso 2014
~~
~...a
i1N6DUI1UA
Ej~io7
Re~~ar en punto flotante de 16 bits (signo, exponente de 5 bits y significante de 10 bits) los
siguientes numeros y realizar las operaciones pedidas:
Nl
50 X 24 N2 = 90 X 2-8 N3
1 X 2 13
fo1+N2,rl-N3 ~ iB-N2
Ejercicio 8
/
Preguntas de examen te6rico.
_....;.
~~b
/.
i,Cual de las siguientes opciones corresponde a la representaci6n del numero -10 en punto
flotante?
a. 1 11111111 01100000000000000000000
b. 1 00000000 01100000000000000000000
1 10000010 01000000000000000000000
d. Ninguna de las respuestas anteriores es correcta
-. i,Cual de las siguientes opciones corresponde a la representacion del numero 5 en punto
flotante de simple precision?
a. 0 01111101 01000000000000000000000
b. 0 01111111 01000000000000000000000
c. 01000000110100000000000000000000
~ Ninguna de las respuestas anteriores es correcta
a. 5
b. 13
6.5
Version 3.0.0
2/2
87
+.
f,a.ci;;co
pf) -;'\
U../
0008
bJ
c)
- O OOC\
C '1
. .
~.~ Oy(l-o
....
OOOOOQco
LJ
n o\a.k) .
-t
-'\i~
)<.
~'()
'000
riolO
0, ClOG - . - Qs.O()
....__,
\
T
~dvo
~ ..o~
s:...
OOC>000\00
e..'<'-
t5:)
Ck, A. '
\}l*
2-3,.. 2-r~~
l{ -
- -'\ -- 23 -
p-oN?ntc..
OQ f{\L
'
-F-
?0
('.'lj
'--'" CG r< \
Cl\.
Ii'(\
23 \_3::_
~
VI
\_2=__
"\.
'2.3 ljO
'G-
--5
,A
,.,
l 7...
==-
1\, 0 1\-\ ~
ne.J\u
MOJu two eK PO
V
., i ~
V
_)\J-0,('
'I
0 '1'\"\
'J...<-~
2.c.O .
'f...
35
f...
-:=;
<:~
I
~\f::lvJ .
pV-Q__c:to
<;~
(X)('(l,f
~(\{L,r
.e(
11'11\
'
= 1'5 11 <:::>
3<_. .
'
~
N"O
.Pj
---
0()
:,-::: 1
e- ......4 -
I V\ -
,..,....,
88
b;
ti
f-
'll\J
. M ::; 2-. 8
-t -
'\ '2--T
c'6--\- \'2-=t- -= 1. 5S .
'\5 S
l..'.3=-
I\ -;..:::,.
\
1 '2..
\.2:-
3(8
1'"1
.,
\..-!=-
'
/"\
')
l\: \- '2..
2.. t2
<O
"
,s
$1,Q ~
~)
-pctr-te.
--
.-..;,
i')
d..
\__j
:.-
'-
?.3
..
'{ 2 - ~ L-\
'A
1 ,0'1 '\\
2-
2..o .
.:i- .
~~
"T } ::::
-'l,Q
~
' --..
se,{" ~ a_ -t-'1 \J 0
~ v'\-0 Cl!..,;('
NJ. -eJ'rt O
0),
pv,.Q__d C)
I\ 0=-}- \_
'\
").,
!\()~~():::..
53
I '2..
'\
"16
.,
1\3
\
----
L..
~~'tJT.~-!~r
~ v01 G b,\tS .
O i /\ 01a -v\
--
e----i=.~iQ-- 3
~ Q"'\ I\
, '2.
LO
1'\ 0
I~
-------------------
() "\"\'\ OOooO'G
89
- - - - - - - - - - - - - - - -r=
______ kP -\-
--------!
-cf\
l-
12_..
y G
l---);;;:
o ~"
-------- - - - - - - - - -
1-a-.~
-~
--__ 12
- - - - - - - - - - --
- - --
----<
----
~------
- ---- - - - - - - - - - - - - - - - - - - -- - - - - -- - -- -- - - - - !
_ f'' ~~i~Q_t'\q_
N-.Q
Lc:U~ -tl()J
t,
--- ---------- - - - - - - - - - - - - - - - - - - - - -
- - - - -- --
- ---1
0
---------------
~O Y.6-S'.\-6
I\ a
- - - - , - -- - -- - - - - - --
_ ~
-;
---1
"to...J.A.b,-e..,n
~-~~~~~ 6~ -- - -- - ~dt.,r &s-n0
qeY'O?v.M'-.
I\Qlj'f) :fl\_<:)~
,-
1 - - - - - - - - - - - - - - - - --
- - --
- - - - - - - - - - -- - ~
- - - - - - - -- - - - -- -- ---
- - - -- --
--
90
'
,::;
!\
~\..,,_ = so
50 \
0
1(1:) .
'
'f.. '). L\
<;;0
C)_
2-5'
ll.r\ -:.
1 d.~
"\Q)<' ' )
). '2-
\.
12.
'\
')..
2-
=,
.I
'2.
/ so~ i
'-1.
1 , "\ aa -1'C"'\
)(
'
2~ \
<9 + 1S = 2.'-,
"2 '1
'
Lt
\~
l\'2.
cQ
G
0
' '2.
..3
) 2.
It
,1
"i I\ 0
NA-:. {)
C") C""\
).;:- 1;-1
~40 -i ~-e
No -::
4,a )
'St"J,'t~ ,/
<,, () I, (\
'2_
~
s 1 <.
I\
22.
\()
u_
I\ { \
'\
~q""'"o -
~
')_
W:-
. \.
A
:=.
'\ ")...~
'\
'(. 2 -e
.,..
-2
~
\
91
~:)
A.~~.o -- '\ \0
"2.
'-
'\
\.-...-.
~
-3
':,, \ s:
V'"
\. '2...
, I
\ tJq_-=- 0
a '\A''\
I
\'-1?, - t\ 'f. ~~ -- ,__
1\3 t
'?.'6 ,
I\"$ ':;
-........,
?.'6 '
st)
? '(5 A<n
".:.l_
'\ \.\
:+ \..3:__.
.....
-~
'\
'
s bi { <:
,,_,,,...
-,.,
<'-:)
~ ~'~
J, O<O
'--"
Oooo~~oo o
'\ "J\00
I\ -\
\ N~ -: 0
-::.
ckt
\a.~
.{)~.&ra r
1'<\cu, -(11 aJ
1\0 .
I
~/\
N ()
I\ .. '\ 00 ~
t'l (") 0
0 < x:
:ic...x-~ ("')
~.JC>~-) COO('")
r .I\
/) I\ OC)::)
'( 2
0/\1\01\
I' 2 '1
O '\ 1 a
')( 2-<=t
l:!t o
~nC1c- ... ,
1~ v
/\ CC)
I\Q OQ o~CJ
deS'P.e'.'
.\
u-' <
=-N"A., -\>JJ'()
= N'\.
--
92
Nt\- tJ3
- (tJ"'1 - tJ t\J
=--
--
tJ ~
(XX)oooabcD .
'\
-
N /I
'
(\
n
fY\.e.
'0<)
( C\ N'()
I\
1 /\
I\ ,(JC)
'/,.
t\-i1 0 0 111no
')(
1.
<yv-Qct,o
'11\ I\ (}()0
l""1
.r:::)
'2
'2
13
--
\ '3,
'2. \3
--c.e.f\ao
._,
><::)
-~....
,
() () (yV\OJi .,-<tl r
()
1".1-
~ ')_
!\?~11::::: L---==r
tz.__1-. \
"\
2-.
I\ -:2_,
'\
) 2.
G )_'"")_
0
a
/\
It (C) 11\
.,
L--2/1
'1 "\C)
I\'\
'\ 1\Q
'I d\
1 1\
Cf::>
1 '1
C)C) le)
tJ'!:. -N 1
}J" - }J3. .
'
NQ. -W()__
'"tef\dK~
<.--(
I
~Q_~
!\.i2Y~ -
~U-t,
\}()__
I\
0 ~1 Ol'\07, "2~ ?-
corr er
1S
'r
cl
Cl_
w~r.eJ
Pi
C'lu ec
,.._
I\ i-- '2..'\3 .
<l
~t..-0
ck vol
'\Q
'
k?i~. - -
--
93
t--1-------f_c_a_c.~:1:_,CN
_ ___,
=t'-..
-----------------<
(~.w
a)
u) ('I'\ f.)
A)ioa
\-e ~ ( )
a"""'
- ( 2"'~
'\"\OD
. 1/)c('(C"(')
nrfD
\.( l
('\{'("'( "')
n '\ r-if1
l.()nOO
<)("\c) '\
nnoa
f.hm
CY,C'f""\
(2'4.
+'2 15 tL G-t2
-t-'2.,7,'2....s.-22."3+2-'7,L{,-t"'l."l.5
'
CJ
IsI
I\
st"'-(} le
~\ f
j ,<:...<'::>V'-
'>''rl-N
L-~
--
0()n "'\'1"\"\'\
:::
.L -::
\ +--
F"i.
--t>
oa
I\
"t )_ -\
~ev:_
'-\
t (:5 --\"\
6 -= 3-:h-
'?
I\,\
-\--2
\'5
""'"2.'2.-\
M =-
-1- =
20 -1 -
'2:, '\ -=
+ /\ ?...+
-e
"' 2 -
:=;
':3 \ - \'21"
__,,
1.'2'L..
: ;:_ - -t.G,
~
"\ "\ "\ o
-4 '
'I..
'2
'
a
2 '3 -\-t-
"'6
t--'-\.
-t-
--t
- 9 si 'XL.
-\- L q.- -\ L
--\"'
~2
/ _ Q ;,:.
7-.S
6--t l-9
-::::::
Q'-..,
I
I
:::;-
- 9S4
- '\ U.:::)
"IL.
\7
-\J.,.
t fo .
<
I'\ "\I'\
k-2
l\'L.'1-.
'2
:FJ
'2. :
b)
~ ""'""
'\"I "\O
'C/SCf
\(:j
~)..
-\-
r-2.-'
---------------------------------- - - ------------------------3 .
[
94
- - - - - - - -
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _+ _ _ _ _ _ _ _ _ _ _
___Q_____ _Q_
---
___ ::::_
-------------
o __
-
----
- - - - . - - --- -
- - - -
-----------------------------
---------------
-----
________
--- - - -
-------------------
- ~ - - -- ---. --------
t,./\ 6 - 1...
'\
"'\ '2, :;-~:.._L ___ __ - - - - ~ - ~ -- - - - - - - - - - -
=- - - - - - - - -
- - -- - - - - - -
---- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~ - - - - - <
--------------------~--------
____ .{'~OM.1-<!&
0000 OOCXJ __
-::12__ Q .
----------1
~----------------------------'.'.2~--------------------------2
~~
' 2,,~
!--------------
\_ '.2_
""
\ L..
---~----------~-----...-j
:s
)'2
-------~
___ -1:1
= ~ ~
-----------I\
:=
-=t-
------ --------------~
-
:=
v3
-t--1- =- 3j ___
~-----<
--------------
95
1~
35
!\ <".t-
I")_
1\
x_ f
'")_
12
'-1
1
\ '2..
J_
NO
'o)
{)\}-{> c},,p
\
P, eSPM-16 , \.C
t-1 == '2e-,
-e ')( c<)~(Yle..
\
.'\'\ ~ \~<
.p_
':)-~
1\"s s ",(""\ ~
L2::_
,
'i,,- "'<~ 6
;:c. \
\ '2--
=t
s 5.
'I
l L-3 rs 2- 9.-vt
\ '2...
'.)_
C)
. - ~
,1 0
<")
\ L'\
3 .,......, =
' \ <::)
2~
e>CP -
'"'E ')..'v..,
'f
:::
I\
'I "I I\
.,
I\
'
l ?..o
I'\"\...._
,3:..
'\
V,
"\ ca_ fJ 1\ a
~4 lb-
()
e -=
D\ }-Q de.,
'
( (\ '('( \'f\J.Jl.f> i l iQ
~-'20--=
f -P Df-P SP.fttU:'r
f,A_Q_
c1f )
( Ll
'
"~ '
1X }(),\
'
W-Q_,SfO
'-"
)I )
L -~
"'
N\Ovv-'\\ Sq -
N\= T
tJ ~
~ ~
'3~ ~
rr' <X'if\P fl
\ '")_
'\
1-\ b\ \ s cJ,.e
()(\
'
'6 h t,.S
1) $5
~ b1'tS
dcl
96
+-
==-
'2:;-
'r ")..a
-- -
_,
-== ;..-1- .
) ~ bts.
L '")_
'1.3
'\
1\
\ ri_
I\
el
~ 0r \
6i~~ -
'-:=\-~
t\
'\
\~
'3.~
0
\2
~
1\(3
'1 t2:__
~ ~
r)
'2.- ~
()
()
I\ ffi I\ CX) I\
'\
N"'"C>('\C()~ .
\ N 0{'/'JXO O p t 0 ;<-
J~
----------------~---=~~-------------------_- - - - - - - - - - 97
[ ____________________________________________
----------------- ----------------------
l\o IB_~I\D
------------------------,
----- ____g___S2_~~~~ \
---------------------
_'2..
_ _ _ _ __
L1::_______-~
13 '\ '1'13 \
_J_~--~-6- _\. ~
-------
1 - -~6_5-~~~ ' ~
_\ _2
o_ ...E/2 ~-;, 8.
2Sf,
--------------".'
.
)_
"'
2
e \
_______________ \:'.) __fl"-\
J_
l\o'l.~ ')__
- - - - - ------------------
\ ')_
\ ~ ~--------------~
----------
------
'-\_ \.:_~
----
-------
'\ ":" a
:1-,
_Q__1_--I
_______
---------- ----------------------------------------------
- - ----------
----
98
-j'
"\l-4.,-.
,>J
\.
1\ v._.,_ -::: l\'1.."t
+
~ I\\ O<OOCK:)C)c}<::>aQ
(2>')
0),
= ~ ~1"2-0
"\'"l--;
/-
:;; ~ ~
OL\e3 S.,-6 .
I\
11 Oo /) '\ '\ ca"'\-"\ o "'\ "I'\ o :'\ "i "\n11 "'1-"\a '\ '\""I. G
'\""'\a
.
_jl
.\
G
"' C'\CJ '\ /\ '\
M-=
'\56
C)
'6 - "\
~ ~
::::
-::.
;. "1.. ~ .\- e
<5
k "\ 6
-t r\'1,t:5 - 1.SG.
t\ 1.. ""::\-
e :: '2.-~
I\ '\ 'I Cl:'\'\ "'l _q "\ "\ '\ .0 ,"\ "'\'\ O '\'\"' :Cl '.'I'\"\
.:::
'\ 2 ~
-1
2'2 '"'2..
~ '"') 'L. \
1 "I
":)-
""I"'
~
'2.- -S
'2..1,.I.
(A ')~
=:.
-I
-2i
--
/::i"' 28
~
s, :,- y
A'2-9
-'2 ')_
L.
,>
.....
-\
"''2_
..., \ .-;
\
'ti "
"l""i"'\ Q
""''2-\3 -\2\1..\
36;.
"l-1
)<_ '")..
X ')_1'
,e
\'t
,:'::v
-+
99
b)
('("'\ 0
CY""\(""''p'.- 'C - I
---
-l
~ '\ "\ \
-t
( Q
+ ) . 1-' - "'"6:
0 1 '!"I '1"'\:, "\ "'i 1-i "'\ "i "'\ ""\ 'I -"'\ '\ ""\ "
11 '1 --i --1
~ '1 "\
'2
"'
- '12-C
-.
:i_ '\ 2~
Cn+ AL-1 44
A '"3 RA.
\
~-L
O QO(")O
......_
aoo
- .
----
.... .....
"--
d)
~.
--
CJ;:) -
oo o onaa---i
H = '\ '1-'i-
I\ "2.
~' -:
"'
'\
.-._...,.
".)
:r- "'e
')
"\ '\
-\-
3/\
--
'f..
-::::: _1"l,..G .
-"\ /\ I\ I\ '\
A_
2.
- \.\
'2.
-~
'A. )...
-\-'\6 '
- \ 1.. ~ .
_-=I
-=3 ~
'\" 3 \
- '\~ ':::::l
0 '"2,
..
(-.....:::,
;::
100
e')
0i
' \ QC'C
11' W.K._
}'C)
"
/\~'I "\
c')f'\
. . 0()()
2_,. .
12~
i-
e,
--t-
i_.
)<
e = 1-._
2-l-\
--t':) '1
'I...
-s
'2.
-2.-'C)
y y_L
J..._
2.
1.2:__
'\
-::c
I\
oa_
"' - '100- --
I\
t; 'i 2'2-0
'\ -=
t'O.. ~ .
-(>"'),(
l\aci \
~
\ 2-
2-~
'l..
"2..:
'L
11,oei\('2-
--
7\'2
'2--0
18
1\1\0"'i"\ o"'\..,
\2:_
'13
'\
6
0
")_
3.
\2::_
1
()"l~O 'l')Q"\
;:..
Sy
. I() 0
'./"
( '2..SS
1\0~
'i
,(\ t"i
'-
CiO
. . . 00
-2.3
6)
()
OOc'\r\,;;: w
K 11.-')
..
'
C'l0')
'2-":l.,
A,
~
.rv'YJ , . 0 o 0
---
,.
- - - - - - - - - - - - - - - - - - - - - - -- - - - ------- - - - ] .
101
---~----
__ c) __ -
-- ...----------------------------- ...
- - ------------ -
_.
___
------------------------
s ooo
'2.
---------------
= - --- --~O_d'h:~9 ~
______
_________
o __ 02,s __
l ""2...
_____Q_____J_:L
'
-- ___
("2_
--
--
\ -')..
------0
--- ---
----
s.../.
---~----------------
-----
-----
I\
o _Q_ =- _______
"''
II
-------- ---
---------- ------- - - - - - - - - - - - - -
I'\ v\ ~
------------------------------1..l...,,,' 2-=----
"::r-'\
'\
8____ ~ '(_
------------------
0
Y
\ i_
- - - - - - - - - - - - - - - ~ - - - - - - - ~ - ----------------\.. z - --- -----------1
---------------
~----
---------------
'-._.,
102
, ., od
(5)_ a")
'
'S\~
V
'::\ L{ '\ ~
P')(
\ 8 \:)\ IS
(lO N.._)(YiJZ.
t ~ 2 +_1\-\ ~
"'"2.'4- \
'l
\__~~ =
fV\O,..J-A-1 ; :;a. .
-=- 1'1 ~.
2'::r-\ - '\
-=
63
y
-
2_
L'":)_
EJ3
u_
3 \
/\
"
':2._
~-S
L "2.
::\-
I\
'\
t
\_.::-.--
1.
/)
()
\A. ~ e.,?'.)) .\
w
( -e)..
at
q---{
a.,u+e) '
<-
F,'S
t;'
vn
I\
'
= "\'2 G . (
-{:'"Y .D ::.
'
-i
u == G~
(\ IJ'Mbe r - '>( .
(A
/\/()t
C)
'\'\"I~'\/\"\'\
?('. '2-
G3
--'I
I\
<S:" 'I ~
-~
X ')_
--
S 1'l .._'2-e
.
I\ '\R y X ")'C)
'\.1
~ x.i. NJ::J-
"\
CrD
cxx:x:x3:J1
1 ooo - - ,. --::.. "I
X2
~,a
\;
yl
F =c 1__ .
F ~
"
(?"X
7-,
-f}Yo, v'\-
63-= -5 ~.
\
- '\
- 6 L_
2...
103
.I,___
- - - - - - - 1
b/ \
I\
b\ i
~,is
~iq,ro
V
-e 'X
fo'tls:
1/\0
eo
(\l ()'"Ce
C:
f()QJYi '\ ._;
0.. .
t--'\ ~
e>l,p = e- -
0
2 -t l1. -r-
-=-
- I\ (o -
30 .
= 1.S .
/\ "I. /\ -'\ \
'I '\ 'I "\ "\ '\ '\ '\ '\ '\
7__,DLq..
;=-
= '30-1S=iS,
"\ /\ /j"IO
'\
6 -r I\G
--
'\ I\ '\ '\ "\ '\ "' "- '\ '\ "-
X L - "\Q
:::
'l<.
'2.- .l\(C)
0S
~-;:,-.
=::: '"2.,0
So~ .\
(Y\.0.'k> (V.JO -
-=
"\
cf)/)(,0-:::
e-- -
1---\.. =- - .I\"-'\
V\ -:::: /\S
~
/\
cc Cx
()(')_
-.
)n
I\
"" J
"''2
~ \V\
- I\~
== - I\ )(: '2
/\ 1"-- 2' /\ L-
--
...
(o \ /yQ )(
-~
;\IQ
'I-..
""
t.
104
"' s \ 91--<(\'Q .
5 -ex_p
l /\0 ~
(,-}- I ?-.
~
33
\ J....
'\~
'"),
\ '2
,a
I\ 0 0 00 "\ I\
~~
'}__
=\'\
t-,._\ A-:; Q
\ =-
'\5 - I\
I\~
\ '2..
'\
G
"'I. I O C)OO I\ "' )( 1)__
- ?r
'IL
'2
s-1
M= 2
-1
-=:
oaoo 'l
I'\
I\
~ '2. 6
'I.
"L
\ '"L.
I\
6 '\I\ "\ ()
2--+-
Lt
"1'41\o-::::
I\ a:::;o O /\ '\ ~
u _
,()
6+
,\s cz. .
0 \.,..o-=
<)
~-+ :::
o rno
I\'\
o~ .
I\
- 1
,..
[- - _- - _-------------~~-=--==1
105
"---N_2....._-=--""'3___,+-'-'-1:
__
2---=---=,::,....,..__ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _~ - - - - - - - - - - 3+ t(O-=
'\
00:_..~
. :. . :<0;: ___~ ~---------1
-------------------------------
\2
'-1
--------
-\
?-
2..
~--------------
__L?-
_________________________ _,
0
1
______ ________________ ----------------------,_
3 1..
__I_ __
2-"T-
---
___._.--~------~------~---
oo '\
3 1"'\
'\
o '\ _:I, ?._s
____
:t-=-----\------------------------------ --
1-
00 ~,() \
-:=: I\
117....
'LJ_------l-- - - - - - - _'f_c ________________________
~----
~~
--
1 = _15. -------
________
--------------
- - - ~ f,
) '2..
3
\. '2-
-----"'
'\
1
- - - - - - - - - - - - - - - - - - -------------------!
---------
--------------
-----------
.00 ~ ~-Q_QODO.---------------------
-------------- - - - - - - ------------------
'-..,,
106
I
NI\
(\
N'0
0.
N I\
I\
nn
'\'2-
o~
I\
'\
1---
QCY)OI\ (\ X
I\
l\l Q_
Or<YJ /\ /\<C)C)co
Y.. <)__
i:
n I 80oooaaoa~
o "\ _ooo /\"\
-~
2 \ '2..
()Q I\ ()
I\
'\ D ~aocL.0
,J
I\~
f'i'"\
r,..J'."),\)
c\ ('\
,()
1 I\
on/\[1"\ r-oooa
/\/\011
'>cl \2...
NA -\- }.JQ_ .
1B)
8 I\.".- "\ O
..____,,
l
A.O
'2....
,2
"'
1 () -=-
L3::_
-1
/\, O'\O
f; ::::
,..,
fA. ::- 2- (0
'\30
1 O_== I\ ,a 1 lG
- '\
- "'
-\- ..P----X_,,,p
't.
:::;
A,'l..
+ -t ~
-;:;- 130
2-
6S
~
J-3
- '\~~
1 ~'\) Ml -= "
..._,
\ L.
32-
{c)
'2..
"-6
\..3:_
,e
IQ
\ '"2...
'-\
()
\.k_
l... \.')_
()
107
s l 2-.
')_ ,.
'\
s~-==
2,
\ 2..
"\
.\ 01\ ..,.
tJ\:: '\'2-,.+
-p- =- 1\1..-
a
3 ..
't ()Or"'Y'")OO 1
t,I\
/\ () o:;:,::y:;:n '\
aoon
---~-
. - , 000-
@.
'")..3
l'\01\ OOtr'""\ - -
--
aoo.
'? '"=<
= t\t..-9
tJ\ ==- 12-:::r
-p-
1\ , 1\0t\
'\ '\ () I\
1\3
I\-+~
"-.~~ X
-=
'\ I'\ 0 ;\
-3
)(.. 1-
"t"(8 =- t\ 3
2 '2.
-i
= l\~r--'1-
-::;;
6S.
(CC),
108
(~).
I\ s19.no
.{?
man;;s a..
'10
so~2 Lf
('\\ I\ ~
so
:}_
so,.""::..
\2:_
l).5
'\
\__::__
1\ 2
0
~
~
1
-
so -
M ~2s
--
2~
- '
'I..
"2-
'\
-=
"" "" ~ =
~'2.
IQ
-:;.
"\OO "\ O
'9
)( '?.-
t\ .s'\S -r 9, -=
2 1 ( 3'\ ..---
\.!::_
(a
tJ-.::. 0
'\
,0
"l"\ OO"IO"
\ '2.
.,
I'\"\ 000
1
"\o ol\O oaoa()
___
-----~===3
109
--------~-~
----------~---~---~---
~ - - - - - - - - - - - - - - - - - - -
C\a \_
> - - - - ~ - - -- - ~-
------------ 0
----------
1:L_L:?::..__ . -------------- --
'\
~ - - - . . --
-----
~---- - - - - - -
-- ---------
----
~
---------a
1
- - - - - - -----------------------------
--------- -~-'\_
- ~ - - --------
------ ---------<
~~.
')..
-==
'1 \ o
'l'\ o
\.__,,
-~
1------
~ ._
- - - - - - - ----
-,-....-
__
____,
~ - - - - - - - - - - - - -- - - - .
\ ':)
")_
--"""'"""~------------"
~
---------------
l2:1
3
'\
------
___Q_
l'L~ 0 ____ 6
-- ~~-:: !\S~_ --------- - ------t -=- l'\S "' '\3 = '2 6 ( 3 \__
. .--_26_ __\.. '2.... _
______ 0 ____1 l\_
-
-- -
--
-- -------
\_L;...,
'\__
---~J::!>1\0 = _,i.:1_1Qs'.:)_.~~~--~
-L.1...-~-
-~----3-L ~-=
""
-1
---------- - ---~ -
------ - - - - - - - - - - ~ - - - - -
110
}1~::. 0
"'.l\A. 00
0000000-1~.
0..)
) NI\
N0 \
1"
-\
0
I\
, <CJ
'\ QC)"\ 0
-- 4
o ooaa
-rI\
-'\
I\ OtCJ I\ c
'\
X '")
oo
<(')
00 000.
Y--
2-
~'"9
. ooonl'inonn o
)(.. 2.'9
.,, ;'4
I\ oO "\ Oo n n O O '\O""\,...,n"\t:i
I
'
\o
'1/\C:OQ
/\ C'JC) /\,
ooonora \
b)
I'~" - JJ" I
'\ I
t\ 00 '\Cl
o ('") acs::;;
Y.
.
x2
"'I OOC'l
1 'I
'I
'I
"I
'\
"'
1.., -'4
~ ~
'i<L'\~
"""\ ooaooi:._~oaoo
' O "o 'on'1 '\ h"o" o a
'\ '\ 1(} 0~ \ 1 ('\ a
Q
=- N 3
- NA.
"'?.'~
'y,
,t3
= I\)? ->JI\.
f\J 2,-NI\ -
!\
I\ I\
Q () /\
-1
0 C) X /_
7.---=t'I
\V\ ='\S .
: ::::-
I\J\
":l..
l3:...
'\3
"
L2::.
/'
1:::...1
IC
-----
Nq
- t,.J I\ -=-
lt'\ -
3 -
" I\ 0
I\"\
'\.
t,
I;\~
'")
,2
1
'\
/\ "\ 0 0 ~~"'\ 0 0 0
'\ '\ 0 0
"'"'"'
ooa.
;
111
()
N'<, - NC")
'1'3
-~
1 G/\"10~ x 'L
.::.
e 19."l.
o 1-s,s1c;,
61\9 \
GSo'-1
'\
I\
'\
\:'.;,
11
n\l'"')
('\
'\
1 '\ 1
ii
). ') \.3
'.J
"----~
1
('\'CJ
~5
\\Q
~ '
2 2,.
'
A./\0'\,
____
,( 2 fl_
- 6'\66
/I..,
6 \ '9. 'l
C.
s-e;
--
112
COMPUTACION I
lnstituto de Computacion
Curso 2014
PIUCTICO N 8
Introducci6n
El objetivo de este practico es la comprens10n de la mecodologia de programac10n Hamada recurs10n
rnediante ejercicios de complejidad creciente. Tambien se trata de mostrar Los prosy contras de esta tecnica.
Eje1 cio 1
La meto ologia de resolucion de! siguiente ejercicio sera la de ejecutar "manualmente" las funciones de
cada parte, para que se entienda mejor corno fonciona la recursion. Luego debera verificar sus conclusiones
con el uso de la computadora.
Indique cual es el resultado devuelto por las siguiemes funciones cuando se !es pasa el valor 5
como parametro .
Par~
function y
if x==O
y
else
Recursiva(x)
=l
==
if mod(x,2)
0
y = 1 + Recursiva(x-2)
else
y = 2 + Recursiva(x- 1 )
end
end
r;
function y = Recursiva_(x)
if x==O I x==l
'
/
/
else
a
Recursiva(x-1)
b = Recursiva(x-2)
y
a + b
end
Escriba una funcicSn recursiva que reciba un entero positivo como parameuo y retorne la suma de todos los
enteros desde cero hasta el.
Ejer icio 3
Escriba una funcicSn recursiva que reciba un entero positivo y retorne la suma de todos los enteros impares
desde cero hasta el.
Ej~cio4
Escriba una funcicSn recursiva que reciba dos enteros m > 0 y n >= 0 y calcule 111 elevado a la n.
~~
EJer
o:,
Escriba una funci6n recursiva que reciba un vector de N enteros y devuelva la suma de todos sus elementos.
E~o6
Escriba una funci6n recursiva que reciba un vector de N enteros y un entero X, y devuelva la suma de todos
los elementos de! vector que son ma yores que X
Ejercicio 7
Version 3.0.0
l/3
113
COMPUT ACION I
Instituto de Computaci6n
Curso 2014
Esc1iba una funcion recursiva que reciba un vector de enteros y devuelva el maxima valor
?racenado en el vector.
/ : . Escriba una funcion recursiva que reciba un vector de enteros y tlevuelva dos variables
conteniendo el valor maxi mo y el valor mfnimo del vector.
r
EjXcio8
Escriba una funci6n recursiva que reciba un vector de N enteros y un entero X , y devuelva la primera
posicion dentro del vector en la cual se encuentra X, o (-1) si X nose encuentra en el vector.
Ejercicio 9
/
Y
c.
Tmplemente una funcion iterativa que verifique si dos vectores son iguales (misrnos elementos en
el mismo orden).
lmplementar una timcion recursiva que verifique si dos vectores so11 iguales (mismos eleme11tos
en el mismo orden).
Tmplementar una funcion recursiva que recibe dos vectores y verifica si uno e refiJ , del otro.
/ 10
. .cw
E Jere
Implementar en Matlab una funcion recursiva Hamada "separarPareslmpares". Dicha funcion
recibe como unico parametro de entrada un vector de enteros; y devuelve como parametros de
salida dos vectores agrupando los numeros pares en el primer parametro de salida, y los numeros
impares en el segundo parametro de salida. Se tiene que respetar el orden relativo entre los
elementos de los vectores.
Ejemplo:
>> [ab ] = separarParesi mpar e s( [ l ,8, 6 , 2 , 1 , 7 ,9, 3 , 5 , 1 , 9 , 2 , 7 ) )
a
[ 8 , 6 , 2 ,2 )
b
[1 , 1 , 7 , 9 , 3 ,5, 1 , 9 ,7 ]
Er-11
Version 3.0.0
2/3
114
COMPUTACION 1
Instituto de Computacion
Curso 2014
Ejercicio 12
El objetivo de este ejercicio es aprender a utilizar la herramienta dispVariables. Esta funcion
permite depurar programas, para entender su funcionamiento y encontrar posibles errores.
Dada la siguiente funcion:
f u n ct i on Tet = mul tiplos (numero)
dispVariables;
if numero == 0
ret = 1 ;
else
if mod(numero,3 ) == 0
x = mu ltip l e s( numero /3 );
ret = x + 3 ;
elseif mod(numero, 3) == 1
* 2;
else
= z
2;
end
end
~
C)
IO
'l
ispVaz:>i.ab_:es~
Version 3.0.0
3/3
[-
115
--- -
------
s,
'jCl'j .
Cj).)f.[J
__ a_
,
OJ.__
sota
P- ~
,1(.
\ ia..
vu.elvo O'-\ d(
1...../
I
c<+').
ac:W.cu.-rJZ..
\_ e_, _ V--,)-:.
_ __JJ_e ~
(Uf'-~ ~ +-
'{
.- -
ecilo\ cl~
(,:i u. 1D Gf { ,o
\g_(Cl \ 't~'
'-'I
---.r
cU
ft\ o:->:') cf
\ a._
o..-tyo J
d,l_
OJY-..). ~a J
aa..u.au.:~
tJ::)
-cl
----
e LlJf'<.;
---- k\J (\ (-t\ 0 ()------ -a--= _f\ \/ ::: _\,e__r\~~\,.. l V)
____Q
==
; 0 (\
V'< c -t<)
{
(\,')
--
~ \'I) -----
d- ~
( f\ ,; "1 ( 'I/ ' ____- - - - - --- _____________
__\_
'
S1Q0
---
'-J
t '2 '.
\V))
I
- &<"'Id
--------------
------------------------
------------
~-
------------- --
--------- ---------
-- - -- - - -
---
-------------
----.-------~--------
116
~ c t i o{)
=- "
V,
...,
.f'
1~
r +-
= '\ +
e..l<;.e.
('It-
i.)
end
..e..-n c~ .
---\ !:::
,-e.
-
l 4)
w-fS.'1 \J a
I.___.
c.ur 5, \ V o...
(~)
\..--.-.4
'l-
(0]
..______
'\.-t if'r'O~\VCl.
I\
\~~s I
-I
b) N 11 c~\.c ri
\+ "X. -=-::: a
'-'I =~
'J
.0 \
$..12...
-r..etJJ'f'r iva..(x-t..'\
'-A:::.
<..)
enct .
t;:1..
f-L.:.J
'; -:::
>
I_
'
.j..
"
~
-
r e( (1..') t {~(..\<))
~
,_
r
-:;;,
'f ~ c. ~ 3 ~ 'f'e c. t
f.~r
,e.J I\$ .
J-" )
~1 . "('~ C.
f lU.XS.\v o.. ( ~)
2Y
l A.).
'
'<
\-, f:
'3
\6
h {~ C. \ I\ ")..i. 'f~ (...( 0)
-
117
=
\v == ~-t\A.lv)
U\u
( \/)
\ +-
\\./ -= ~ o
a
'
\J~t-tQ(' \JQU'O
Vv,...
ci~
Jo..
-:::: 'SV{'l'l~fC, (
'
'V
-RKOy
C::~.
p-a~-0 \
iv =-== '\
'
'--;:::
.hJ-0 C,\ ,a (\
s;.
'(VO
_end.
xc.....
\/
c.l\ ::::-
(8
q,vJl
uO ( 'rt,()('{\ P Lo
--4'
'-/ l'\" /
)L)
'
c:;;;: ::--0 .
I()
'>
'-" l "\
'X-
s =s. -t
a.
Y\.l J..
(,..,
('
NO....L/01
1. ,, ]\
(\
( 'B)
sl
(,\ l('\
( X.
\J(I\\
P = Y\ f'(\R_)('
\ \J = \e.,(\.q_'"\'I,\..
\A-
'
ef'Jd
~:
~j
l 'y)
-D
.....,a
' .
~--o
.LP Ct
( tJ
0.a
,1
a ci:
\1 (/\)) )<_
IJ
'l'J :::=-=~
p
= - 1..
'I
p}.~
f+
"(/\) = =
'?<.
-1
p ::: a_',
eJ S'e
CUJ ')t__
rt
= ~ f\ N\ e,,r
(lJ.Jf)l_ /'>J
'P .:::
..llr>d
=- - i_
OJ.)')(_ -+
i_
I
I
.
118
(1)
11_-::.
0-}
~n c11on
==-
; .c.
?(.-==-a.
'-\ ~..L
e-l M'
mad
\ "t
(~.~
-=:-0
'-'\-:. 1
v
( X
-'"2..)
e.t~
rf
'--;j= 2 +
(.)J(
~ \ vo. l )( - i.")
f nd
end.
.
, 5
)C
'-\ I
~~Cl
rx_
-"
I j
)<-<\
'2
'j
l\
'\ yf ( "1..
~ ~
'2
~' ?(_
l\'"''f' 111!
rx__
l ~
2\
a
\
.1..
l ~-= s
-
b)
C'X.-
i+
x~ = 1-.
,t=-=O \
\ =~
V
Pl
(..p
o... =--
va...
,0t-\J
ecur ~\ , a..
{ X-J.)
D..J'f~ 1
h -= f
,~
fJ..Ad,.
;L
16 V
Cl ' \ E'C{"-.)
!)
'V
~--
\Pr,~)
24
'1
~~
\ }>
'"\-~,-~,\
"' \J1
\
I,.....,_\
\ ";I__, \
I(~ (\ ~
3
"
'
ni
\ ;\ [\
) I "'Q
\ 'j
I (c '~ )
\ 1 \ q1 \
/\.S
?03
),.
, et(,')
r)L \
.---t
'(tll~""
l\
. a.
\
'-...,_
\1~2y
I
2_
~ \(:-;(A
b \r~(1 )
:-\ \ G
E~--
119
----------- =J
- - . ------
'
----- - - - - - - - ~ - - - - ~ - - - - - - - ----------~---'-\t..1.-..---.-._'___
"X.. -=-:_o
__~----------------
~=-a.
- - - - ~---.
. . . . . l . . > - - - - ~ - - - - ~ - , - - - -- - - - - - - - ~
----
e>-_$-Q.. -
----------
'd
- --
-= --2(...--+ ~ c..vr
{ rx.. - ~l-~- - -
0rd
--- ---- -
lrx;..__)-,,c____
a .
------
---- -- - - -
----- - ------~-------------------------.
-----------
--- -
--------- ---
----
_____
------------ --- -___ 0 __.1e ----------- -- --- ---- ----------- --------------------------~- =- ff(.)..)'-~: 2=) ~ X- ---------------------------------- .end_~--------------------------- --------------- ----- ----------ry_
.1
j
/\. --
----------~-~ --. - - - - - - -
. ---- --- s
------- t
_?t_~f'(:.
----~-u<CL\~---- ____1
4 ________~
----~-----------
_____ _
.
----------
120
(Y))C
h rn c-\ ,Qfv
'
\~ =-
\~
=::.
( N
\ () CJJ-f""
fl)
'
V\ == ~
w
ct S,.p
I..-\
i.,I
,e
fY\ .
'(\ - i.)
fY\
OJ'("' (
e>r\ol .
rn L.
1)
')
ri
\
I
l'f'\
2..
f\
(\
'
.......
'1
"l.)
'-\
{'(')
.2.._ ( <'C \ Q
'1
1.-~
-:;.. 2..
(\
,)
( 5) .
L
l)_
i..-----
{Y\
ND C"i \ -0(\
'---\
-;::::
'I
'ffCJJ'<""(
V)
t')-:::
\...\ :::. 0 .
ct s.e.
~
.)
E:_.' (')d
l /\)
-\-
1-f' c...u
( 'v (
'
'(\) ~,
2 . 1t:1 Cl~ ~) =
,..
121
- - ~ -~-
~-- -- "'rr..~ S ,
<5
,_______________J_ _
+-cL.>,
e u.x
~- '--'--"c4;::.:,,,)~.~--+
~ .--'t:.___~:___
n .1__~2-..,
f _:~--- -
i - - - - - - - - - - -- - - - - - - - - - " "~
<)
__t(('\\ ~2..
- -=-~ 0) -::: t-rl \) -, ~
122
knci ion
( f\AO'X
fy::~ )p ~ -t ~
N)
\ t{'")
CJ
\A-
f\ ~ =G .
3~
N\ l"J. "I....:;;.. 0
I) ==- j_
.Pl LP\+
CJ .
NJ
S<)_
~ ry_
.f'(' ( "')
\t-.J. ,.:' (\
e>,U
( u.111)( '
1/v..l (',~ -~
'-
\~
'
'
e c.ur ( t{"'
'-
\. "'
l,
~ ( I\) l_ vv__c('}t
'
"" I
&
Pr<l
~
'1-C-
~~
.f)d
( f\"'i
l.._
4.). ("\
MD.
(\ = \'SL /\\
'
'-.._
c:,v..eaCUJ
.,. v,
,J.
t'
-, Cl..
i
'.::2,\S '\21
3.
1 f (,ll{
f\
1\1(1
C,('l
VvJ (\
- - 4 ' , (CC
'2.- -
It'\~))
'\iJ
5
'\
f'
r'r"d 'L).
2
- - - - t'
7_
.I\
M
CrX '-:: 2.. rv,,. :
A. --:
7-
__,_----
IL
~
I '
/\
-Px-d
~~
,.
-------------
E-
=1
123
- - -~- - ~- ------~~~-------r---~=~~===~=J
- - - ~ - ._ _ ___.___\f'\
~::; ~-\'_~ __LY\\-~----~-__ -1::~----
-----------~----
_L ::: _f eWY":_
----~---- ______ j_;f:-_____~
-=--~ - - - - - - - - ~
6 ----------- 5
-- f') __
wSi) - .:> __________ _
_i _=- f .et-l-2~~-=-
3, ____ ,
-----------+-------
ec.. l@:\1.:_
1:._
---------------
---- --- -------- ---- 3 ~ 6 ------~-------- _------ ----- 3 ------ n <2_ _ _ _ _ _ _____b -~----------------------------NC~') 'l
__L!!~.t~l ___~r~<_(( i
__i'Ui1______2__
~ _ 6 ~ - - - - --- ----------------
----------------------------------------------------~--------------
--~--------------------------------------------------------------- - - - - -
1---------------------------
-------------------
- - - - - -------
------------------------
124
(9"")
.......___,, a.J
.{-ur r-(\ on
'-1
./
(\ -
CJ
\+
\ t-ex-c'.:A-\ \
J 0...
lJ.-)
t-f
"
(V..\
Vi= a .
.eJ..~
'\.,
lor
I\ .
::-
\ ..\-
\\S"((\
I
-e\ to
=-=
U.\ ~~
'L
\ :.
--\~a.
~d
0nd'
ij) d
b)
Wnc\\Of\
V\ ::::-
\ ,_()._){
(\ = \.en.q-\ ~ ( t'-?)
1-1:___(\ ::= = 1\{ 'N'( "-."l ~
( t,f ,u...J
Q ~'\'\
\.A-., =- .1_ .
-e \y__
~ =-Cl
(?_1 ~ ~ -
,l
e>..._~
'---'\~<:::::; .
P..K'"'d.
I\
"
.,__L
"2.-
V\
'
.
125
E
~- .
_jL
l ~-~ ~ ~'2:) ~
o.. - : :
=O
f\\L "\
0-SQ.-'..
b -:: :
~ (__11')
>_,,,rd
- - ) .P.,\ <.....
( u 1:lo), :::- <;t _A:;;\ r~(
'-
1f
i(\~ (j'
(A_:::
p~(.o
\ (\
I
-~
, ec C3'l)
3 ,
1
~
~
0. ::: ~
~
N( ~")
ef\d
2.
>
f c>~ C
2,-)
C( :.
2.
b-=-
~ /
. . -----/
...'--
o....~
,,
')_
b-=
\ \ /
...._______7
n,l
126
-N1"\c-t:1'-0 n
N ::~
'rv=~--\
-; \.S'(' .- 0
( D-1 ,
~el (Q,~~
J2 }( ,,~ \
(Y\--
f'. (
\- -
'-
,+-
f\ -::: :: -a.
~-::
0~'1t--
'('(\ ~ c:;:C)
;: : :- a...,..-
(>1 >.,
r.{ .:::- \ 4_ ('\)
hr "\)
'
PX""\d .
---iu0icrr -e j_
v
a.),
~-
r{'\\) \ "'i
\-P \0
S (
I\$)
b( ~ .
( a_, ~2:'r)'j
'--'
r""\
~.
<
I\ ._::::_
":'." 1s.
'(\IJ'(Y'K' (Q
ls)
ff',\) \'\''
?l-::.
Li
,.e--t
y -t3 -=t .
=.
e,
== +
bJ
'"'
,,
' -(-t
-= ?::."2-
~-==-
'2..
y--.,,..-\
....
--t
'"2..2.:::
' ,.'') -
0 V'0'\e
\D) -
I\
'e--\--:::-
ro
=-
15 .
-, ( e_-t
\:::-IT'i\1~
(~,,:. '--1\ ., 2
.._,
cD.s P \f q no 0 \R..l
i_
('\\} rf\J \
ti
=--} .
I\ ~1..-::: '2. .
I r
'( (
l'f
\
,;..
7
'
127
COMPUT ACION 1
lnstituto de Computacion
Curso 2014
PMCTICO N 9
Introduccion
El objetivo de este pnictico es la comprension de la metodologia de programacion llamada recursion, en
primera instancia con ejercicios de sistema de numeracion y luego con ejerdcios de dificultad superior.
Observacion: La metodologia de resolucion de los siguientes dos ejercicios seni la de ejecutar
"manualmente" la funcion para que entiendan un poco mejor como funciona la recursion. Luego podni
verificar sus conclusiones con el uso de la computadora.
Ej' cio 1
Definimos SumRestDig de un numero entero positivo al numero que se obtiene de sumar sus
digitos de posici6n impar y restar sus digitos de posici6n par (el digito 1 es el que esta mas a la
derecha).
Ej.: el numero SumRestDig de 2694517 es 12 pues +2-6+9-4+5-1+7 = 12
Escriba una funci6n recursiva para obtener el numero SumRestDig de un entero positivo dado.
Ej~o2
Implemente una funci6n recursiva que reciba un valor entero (decimal) y devuelva su equivalente
en sistema binario.
Ejemplo: 47 en binario es 101111
paso 1: 47 / 2 = 23 resto 1
paso 2: 23 / 2 = 11 resto 1
paso 3: 11 / 2 = 5 resto 1
paso 4: 5 / 2 = 2 resto 1
paso 5: 2 / 2 = 1 res to 0
E7o3
Escriba una funci6n recursiva abaselO que reciba como parametro un numero entero positivo N
expresado en base b, y lo pase a base 10. El numero N estara representado por un vector, donde
cada elemento representa un digito de N en base b.
Ejemplos:
>> y= abaselO ( [1, 0, 1, 0, OJ, 2)
y = 20
>> y= abase1 0 ([7, 4, 3] , 8 )
y = 483
Eje7io4
lmplemente la funci6n recursiva binarioADecimal que tome un natural binario (~O) representado
como un vector de ceros y unos, y retome el decimal correspondiente.
Version 3.1.0
1/4
128
..
COMPUTACION I
Instituto de Computacion
Curso 2014
~~
~
i1NG!Nll1UA
Ej~o5
Los poliiromios de Hermite se definen por las siguientes formulas :
Ho(x) = I
H1(x) = 2x
Hn(x) = 2:xH,,.i(x) - 2(n-l)Hn.h)
, para n> l
"af Escriba una funci6n recursiva h = hermite(n,x) que calcule el valor del polinomio de Hermite
/ it;;-de grado n en el punto x.
~
Eje~o6
Suponiendo que una funcionf(x) tiene una raiz unica en el intervalo [a,b], se desea implementar
en Matlab el metodo de bisecci6n para calcular la raiz de f(x) en [a,b].
El metodo de biseccion se basa en el Teorema de Bolzano, que demuestra que sif(a) y f(b) tienen
signos distintos entonces f debe tener, al menos, una raiz en el interval6 [a,b]. En cada paso, el
metodo de bisecci6n divide el intervalo en dos, usando un tercer punto c=(a+b)/2. En ese
momento existen dos posibilidades: o bienf(a) y f(c) tienen signo distinto, o bienf(c) y f(b) tienen
signo distinto. A continuacion, el metodo selecciona el intervalo adecuado y continua buscando la
raiz, hasta que el tarnafio del intervalo sea menor que cierto valor de tolerancia.
Escribir una funcion recursiva bisec_rec que reciba la funcion a evaluar, los extremos a y
b y el valor de tolerancia tol, y que devuelva la raiz def en [a,b] calculada a partir del
metodo de bisecci6n.
)>f Escribir una funci6n iterativa bisec_iter, analoga a la anterior, pero implementada como
un algoritrno iterativo.
Nota: Se recomienda utilizar las funcionesfeva/ y sign en la implementacion de los ejercicios.
Ej~io7
Escriba una funci6n recursiva que determine la cantidad de celdas de valor 1, en una matriz M
dada de numeros enteros, cuadrada de dimension 1024 x 1024 (vea que 1024 es 2 10).
Version 3.1.0
2/4
129
COMPUTACJON I
Instituto de Computaci6n
Curso 2014
~~
g""
S:1NG!Hl!IUA
Ej;;z~io 8
Una forma de calcular aproximadamente la integral de una funci6n consiste en dividir el intervalo
de integraci6n en pequefios intervalos, y aproximar la funci6n linealmente en cada intervalo.
Para integrar la funci6n fen un intervalo [a,b], utilizamos la siguiente aproximaci6n:
Cuanto mas pequefios los intervalos, mejor sera la aproximaci6n. Por lo tanto si la aproximaci6n
es suficientemente buena (E es menor que una tolerancia to! determinada por el usuario), entonces
nos quedamos con el valor I. De lo contrario dividimos el intervalo [a,b] en dos subintervalos
[a,m] y [m,b] donde m=(a+b)/2 es el punto medio del intervalo.
Aplicamos el mismo procedimiento a cada uno de los subintervalos [a,m] y [m,b], pero exigiendo
un error menor que tol/2 en cada uno.
De esta manera obtenemos (eventualmente luego de varias subdivisiones) dos valores 11 e 12 para
la integral de cada subintervalo, con error menor que tol/2 cada uno. La integral sobre el intervalo
[a,b] es entonces 11+12 con error menor que to!.
'. J N6tese que el resultado de este procedimiento es subdividir en intervalos mas pequefios aquellas
/\ ~ egiones donde la funci6n a integrar es mas irregular.
I_ Escribir una funci6n recursiva I=integro('r, a, b, tol) que calcula la integral de la funci6n
y=f(x) en el intervalo [a,b] con un error estimado menor que tol, segun el esquema anterior.
;{Escribir una funcion iterativa I=integrit('r, a, b, tol) que haga lo n:usmo que integro, pero sin
utilizar recursion.
Sugerencia: En este caso es necesario utilizar al menos un bucle (while o for segun
corresponda) y mantener en una estructura de datos la subdivision de intervalos. Por ejemplo, se
puede mantener un vector x que inicialmente seria igual a [a,b ], e iria creciendo, a medida que sea
necesario subdividir intervalos. Cuando un intervalo es suficientemente pequefio se puede calcular
su integral y acumular ese valor en una variable I. Si los intervalos se calculan de izquierda a
derecha, un indice icalc, puede recordar basta que elemento de x se han acumulado intervalos en
I. Cuando icalc = length(x) terminamos de calcular la integral.
c) Para ilustrar c6mo se subdividen los intervalos, modifique la funcion de la parte {a) o (b), de
manera que devuelva en un vector x, los puntos en que fue subdividido el intervalo.
Version 3.1.0
3/4
130
COMPUTACION I
Instituto de Computacion
Curso 2014
~~
i...W
iINGUfUIUA
Eje~io9
a1{ Considere una funci6n f: N ~ R. Podemos representar los n primeros valores de dicha funcion
l mediante un vector en Matlab [f1 f2 fn] ,
Se denomina derivada discreta def en i (se nota como Df1) al valor f,+1 - f1
Escriba una funci6n recursiva "derivadadiscrec" en Matlab que tome como entrada un vector
que contenga los n primeros valores de f y devuelva un vector que represente los n-1 primeros
valores de la derivada discreta de f.
Dado un vector Df que representa la derivada discreta de f y una constante C, es posible hallar
la integral discreta de Df en i (se nota como S;) mediante la recurrencia:
S1
=C
S1+1
= S, + Df1, para i 2: 1
Ejercicio 10
Calcular el determinante de una matriz cuadrada M mm'
n
Version 3.1.0
4/4
131
2)
p\
I I\
'2....
b-=2-~1
11
'1-1=
~2
=-
'2
T"
'1
.q~t'':l.
2 . ~"":). '\:" \ =! .
Cl ,.
0-t c.
C,,,'
--\-
0 ..
-1-.._
~ . i ~ o.
-fo.
B ; f\ \D) ~ r~c..o...~{n
o,,
"\I\ \
A ,::-<:::).
P<..-c
6 ,
f\
run c-(,~()
(' =
q_:-
B=
,e f'Y\-
( D,
~OQ'I (
\ J- CJ. =:
8
c:A~
X""id .
'O)
'(' \J
2-) ,'
0/~)1
r,
=-'Q .
P-,
().Le Qtjl f\ (
r
I-
1)<._c.
6L
0-..
u~r
-s i..
-------- -
@ ___ jio
(')(.J
~ 1..
-------------- - - - - - - - - - - -
132
1-\ ~ (. 'X-:)____
' -:.. 2- 'X..-------------- ------________
___ _ H /\ ( 'X.) ~ 2 -x. '1(\-_h (')(._J - 2.. Ln-_b)_ 'r\ o--i. '- ')<.. _ _
(\ )_i._. - - .
a)__
r'-ff'IC :1 \ 0 ()
,+- (\-:--
>
__
:::0
______________
~ =- ~ ____
:......),
t l~ \
(\-=
-----------
* ~_,_-_--
--------- - e;~---
--------------------------------
-------_________b_:: 12. )( ,_
'--..../
~ ',
=o
__ _______'a__= L - - - - ---------------------------------
--.A~
f\ -=- = -L
---- - - - - - '
- - - - - - - - - - - - - - - - - - - - ---- - -
-~~i_-~~ -?-_:
~ ::- '2.,
--------------~-(tor
------------------- __b: 2 ~
uJ.J ')(.A
-----------------------f___________________
(')
'"2...~_'x.; -------------------
OJJ?CJ?..
!'.2:J.}_'X.,l
_'
2-_ ________________
--------- .
-----
..e...r> c\- - --
- - - - - ------- ~ - - - - - - - -- ------------
- - - - - - - - - - - - - - -:r::~e-~,-,\/~ - - - - - - - ~ l \ f > ? ~
lli 0
4")cjo_ . __
_______________
----
__
-~- ----------------..------------------
'-._J
l\,Q'l.l..t .
,..-
--- 1
+-
lvl
-'l<Q).. \,{
~c:tio
\J)')qf :::
C \JY'\ 0
'*'
)
$ (
"
\t d==-~ .
\-1' ~::. ~.
V'(\ IOt
-= L .\
~~
!,J'N::i j - 0 ~
e.K\ct
f)_~
uY'QJ i
C\/'0oj (
.
U 1"'o,\ 'l.: c \.)'('\~ ( , l ~ _d.. /1..
\
\.
r J'Y\ aj ~
=-
c;J'f\<lj
, f"oNJ
J U. =
C)l'v-JO J
( ~ ( c I1.. -1 ~
\
vY\ ~
~d-
-=
\J'(\<:).S ~
'
i. :
~ '.
( H ( d,i1.:t l ~~
\
/
l
ct ::c \.erq-t'v-. ( k)
\ .\-
133
~
I
H
- L
c:\) \
I'\..) ;
'-
134
1'
'$
f\ ') 1..
( f'J\) -:: L, l- ~,
'H: j
ff\'\ ,;
i= ~
( ' 1'<'11 .\
/
~1(M.,._~~)
\I
I ,,
///,
,,;'
'
d-e-'t
""
-K}:'(" ,
t"\ ~ ._ -= ~ ( '), . f\ \ L \ : ~ - ~
/,
'/
I/
'
i ~ {. ~ ('\ 1),
I.
I,
i'/
ND c.,\o(\
() :=
,\ :::. ck~ ( M)
'
\e~"" l H);
1+ n
{=
.d = M
l C..OV\'51~
~ v a <:.S:'a)
<lV2..,.
=<::>
~ 'l
d ::. 1 ~.(\
lt>~ e
135
'
Sc..JY"0
SU'('() CL -==
l--\
:::> V{V\
'
C'.<.
'
Qd ( (\ \J"'<Y\R._f'O,
'\O\
~ (p
r"
S,0{'{'\o.. ~
3 ~ \) (
end .
? (a "4''
?~q4
2(2,
20'9
Li - f Pc.
9-
269}
f t'.C. (2.G)
2 (,
'2.
'2
G-v-(c:('2..1
1-
'
-2 . -=-
- --\
\ L-
'\ ~
\ '2.
'i
'2_
Q..
\ f"2-.
?r0f'i c._-1'10 ()
N "- "[.~.
J \Dar ( ?L I 2) (
\ -\-
~-:::- f~e...
tr~
C)
p),
6-2
'\
'-.
'
JI
+1ca("" \ -x \')..
2-._
N-Od.
l ')( 1'1..) j .
f(\.oc\ \
t(_ \
l-)
0-r,rl
"l..-3
P\ Df\\ "I
1-1
'\ '\
.\ ((('t-)1~
!\ l()
iO
136
(3),
,+
1',[(6~
ri== = j_
N~ {( I\"'\
eA~.
J\J
U\bC{\.e. 10 (
(\J (2~
rC')
1,
bj
~ ( ~"') ~ bA (n=-l1.
-\'
-eK>d
s.
I) ~
N ::. '\
""
N =
'\0 /\Qa
~\ =-
:::-
3
N ::- 0x2
-\- ( f (
'
'\
L-
t\ = '-\
it: '2_
'--\
+-
( ) ><- 2-
'!,_
'2-
O <p
10~
0100
i f t.e(
I\
Q_
~
2
~
Y.
, ::.3
-;1'2-.
3,
Z) ~
t'
~-'
r-
l-1
-t 1.v2
(~ )
,ckfV\
c.JJr.
( 5 ) . LAl 1 )f\C1\0 n
I
\ -\-
f\;.. . .:: 0
h .: :.
-civi\ +
b -==
eA
::c:-
b::.. '2. .
'.J-.
(\ =
= 1-
?_ >It- ~
('p.,
h= 2
t'Y\r\
n - 1 . x)
* ('(\- -(') , h~
A' ~
137
'1!::t
I'\= =- C)
pj(.e~+
b)
(\ -::::-::C
1-
he:: 2~-X
o Orn ' ~
L =-
I l ')( )
A-0, 'v-::::
h-==
f"2_ ~ ){_.
"2 :
cw '}(.J "I
o.;J ?().
-en d
ex-u .
MC-r\on
{to)' C{),
-
\ ('J..
.l
':\--
::=
8:-0 \'i a
(a,lo +-,e)
'(\<)
I ")_
(_ =- (a.-t b~
:I -{-
''
faJ.-t-= GL
1-
~~ ')=:;
=
r
1+
.f1C.)
'-'
f'ai 7 ei k, -1;~
\--~, \ :=t C(
1g
, cu.;
(a1c.1fle)
ts \_)
=-
-{
( C
-er'\ d
e.,nd
r,
"'_,
\(
..., -
'-
;,( -
{o.. ,
'IQ .
'\
~s;
::,
JB-::.
zS
,..1
I,
,.,
- .l..
0)
. L")
r '
l\
-
\L\
65
11, 1.5 .
- I'\'I
Li
15
.s
- -1<
'), 'l)
- 0,\'ZS I
1't /)S.
\
'
j, C
'5o\-t \
'O, 5
'~'i J.-
()J
~X)\L) (
_,
~'6~~
l-i
- '\+
\L
'\
l,\
'3.S
\
'\' ,LS
,.
138
-----------------
_J.?}___fu_f)_(j~\_O_()_ _ _~r_Ovk.
_'-_!t
----
. ----- -----
I+
--------\
-::c
_ f::C,UaJ \
-
C%--1L-il----
00\~?lV}:,Q_ina._a_-t ;ya___
f ~a)_=- - G
1CU:t -===--c_
---
---------------
- - - - - . - - ---------- ------------~
~ a __
~waJ cf+b+=
(o.):z -= b
--- -------------
- ~ - - ~ i +-
_______,
------ - elk___________________ _______________ ----_ _ _ _ _ _w_\.0 k
a.bQa_-b') __')._ e __
'
,-4- ~,~m}_~L-iQJ
-------------
('J=
_______________kL-- ,CG.~
_____________________ e,\rel___~ ~CW
s,'J(\~CU ( (u_
N'=:~~
--
-------
-___
fil_~
------------- o&
-------- ----- ~~ ~r1Qg~-~T---__ e0d _____________
--1\- ;__ ___ _;2- _____ r,
-;e: ___
vY)c_tjpV'\ _____ ~
a S =- t e
CA._N- ( .
t---\) ____
---- --------------
_______________
-: ~
n-f~-!r-2_,_\
.,. _ ('a
_[)
------
__________
----------------------- ~---------
C).Xl
-t1 (C)I;
4-0-
0")
___________________ . ___,
,'\
----
--- ~d.,_______________
-----
-----~
f----------------~~--------~~~
f---------------~-----
-~-----------~-
- - - - - --- - -
139
{R\
-f.-(c..') ~
+-lb"
C b-~J
Cl
2-.,
-=
( b -c/\ (
-t
f Cb) -
2-
f ( g__:__6') \
rW f>ct\ con
J.__ =
F ::: ( l;i-~) ~
\+-
E;
r {'_ C
( },wcu.
'J
'-~,
.{_ (a')
.
f- 'C{ b to( J
( tJ4l + ~-wa_;_ ( t, ~/) -'21- _fu_;a_t ( + {c,,1'?J /2 "i )
(
<-ta\
-t e,uoJ
1"'
( { 1-.J'))
-* \ b'-a') I l
'
el 5.
rn = (a.-t\o')
11-
:I_?.= '( (? C
.l :::: _J l\ ~:J"l..
end
b),
'N(')c.-t I or
l--= \ je(Q.'""\\\Jo
+,
lA ,
bi ,~
lJ
?<. -= (.~\bJ.
-t-
+weut+ioJ-"").~~ux:u f-(,
(0..--1:b')\.,_'))
J~
-r ';..a.
e ') -to\
\JJ\JJ'<e
\\ = \e,(V~1 ~A (--,<)
NJ=.
I '2...
lO-.-\\o)
'c : :-
f{\
T_-x t I\)
~ :.:
""T\() \
=i
-~ rl
0 == \-Cn~ \A
+o,
O\
1 'l<-
:r. .
b \ ,{ l
'l.
"2-
~{-c.voJ.{ f\l'"'\
l 2..
== l\ .n-1..
~-; '"X(l) ;
.r '\
~ f\) J
:)t-=
lo=
1< ( \."
..,,_
i)
J:--c\lW ( ,{ ,b ), 1
--
\'o-~ \~
~'
140
(4J
a)
D+ =
kf\~t\t\
r'\ -
,+
de(\\J f.ec_ur (
'
c4
-t 1
f\- ::: A
f){- ==- +( ,2 \~,{- (t3..J '
/
eJ~
D f -=-\!-().) --l--l ~') \ deA6 \Jre. CJ.Jr ( f:
c1- . n J )
P/rid _
_k)
~ -:
,t\Jf\ C'"t\ o 0
f\
= lPf\91 \.A..
,+
(Df, C.)
\ D-f)
--
\ V\ i r <-' c..vr
\\-:;;=c 0
<;.
'=
-el~
s~ I1fl-t(ecu((12f-(1'',/1-U
c~I Scr,-D
s=
--t
--
c'\ 1
_.
D f ( n-1-) l_,
I
.e.nc\ -;::
'\
L-.{
1'.:2,?0
s
5-:!- r-c:c_("' 3 2=~
I
. .1/
c_ l
~\
'2..
'(
(f( ( )
C I S("J-r 1
C. 1 Sc"1-t1, S l9-"') t 3
S(l\')-t~
SC 0.J
S ( 3 j
-\ '2._ I S. ( 4)
C-t~;-3,I C. "\
"
(ec ( f)
(Pt( 'I~)
'
c_ \
'\:)
L,
Y'\ ccc:
1~12,
t':)
A.. 1'" ~ -t 2. ,,
S ( 3') +- 2.
-t C)
-
'2 Dl\
~ 1 D~
'1-0~
0~
C, ~+c'. \
o~c-
t'L"'"C..
3i-t
[.__
l\+L.
141
COMPUT ACION 1
Instituto de Computaci6n
Curso 2014
~~
g. .
;lJN6Nll!lUA
PRACTICO N 10
Introduccion
El objetivo de este practico es que el alumno se familiarice con los temas representaci6n
vectorial de polinomios y matrices dispersas. Los ejercicios o ejemplos presentados deben ser
ejecutados en el entomo de desarrollo de Matlab .
Polinomios
Ej~,,(lcio 1
LajegI'a.de Ruffini se utiliza fundamentalmente cuando el polinomio dividendo tiene como
uni ca variable lax y el divisor es (x - a) . Utiliza los coeficientes del dividendo y el valor de a,
obteniendose los coeficientes de] polinomio cociente y el valor del resto (observese que el
resto siempre sera un numero), disponiendose en la forma que se muestra en el ejemplo
siguiente:
Ejemplo: (x3 + x 2 - x - 1)/(x - 2)
I~ I~
10
9 (resto)
Metodologia:
Se deben colocar todos los coeficientes de] dividendo ordenados de mayor a
menor grado y, si falta el correspondiente a algun grado intermedio, colocar un 0.
Se "baja" el primer coefi.ciente del dividendo .
Se multiplica a por el coefi.ciente bajado y se coloca el resultado debajo del
segundo coeficiente ( el signo de a sera positivo si el divisor es del tipo (x-a) y
negativo si el divisor es del tipo (x+a) ).
Se suma el segundo coeficiente con el resultado anterior.
Se continua el proceso hasta terminar con los coeficientes.
Los numeros de la fila inferior obtenida son los coeficientes del cociente (de un
grado menor al dividendo) excepto el ultimo numero que es el valor del resto .
Como caso particular cuando a es raiz del polinomio dividendo, el resto es 0.
Escribir una funci6n en Matlab que implemente el metodo mencionado recibiendo como
parametro el polinomio Pn y el valor de la raiz r.
E~ckio 2
~
~~cribir y probar en Matlab una funcion recursiva LimpiarCeros (p) que recibe un
1
polinomio
en formato Matlab y elimina todos los coeficientes de mas a la izquierda que
valgan cero.
Version 3.0.0.
1/4
142
COMPUT ACION 1
Instituto de Computacion
Curso 2014
Ejerci&o 3
Imis{e~-;ntar en Matlab una funci6n que obtenga los coeficientes de la funcion derivada de un
polinomio dado .
<-/
Ejercicio 4
/ " a) Ingrese un polinomio pen Matlab y un valor en x, luego ejecute polyval (p, x) .
'"', Ejercicio 5
, ~,'
,'
~ \l
,.,'
'\
..-
Ho(x) = 1
HJ(x) = 2x
Hn(x) = 2xHn-J(x) - 2(n-l)Hn-2(x), para n> 1
Escriba una funcion recursiva h = hermite (n) que calcule el polinomio de Hermite Hn
en formato Matlab.
Matrices dispersas
~icio6
%
X
Implementar una funcion que reciba una matriz y devuelva otra matriz que sea su
transpuesta. Verifique su funcionamiento utilizando el calculo de . transpuesta
implementado en Matlab.
r.' Implementar una funcion que calcule la suma de matrices. Verificar las dimensiones de
las matrices.
ili(1mplementar una funcion que calcule el producto de matrices. Verificar las
/ dimensiones de las matrices.
m
Sean Amxk y
Bkxn
entonces C =A* B
donde
Cii
= Laik * bkJ
k= I
Implementar una funci6n que reciba una matriz dispersa (a,,, ai y a1) y devuelva otra
.
matnz que sea su transpuesta.
~ Implementar una funcion que haga la suma de matrices dispersas.
~~(0~!~:tl}--..lmpkmentar..una.funei6n-queiiaga-el--f)roeueto-de1natrices-dispersas:/
Version 3.0.0.
2/4
143
I~
~JNGlNIElllA
COMPUTACJON 1
Instituto de Computacion
Curso 2014
Eje"4io 7
s'Ze~;~
) ( Ejercicio 8
Vea el help de whos, y ejecute el siguiente script en Matlab:
a
b
fu l l (b );
whos
a) Implemente un script que obtenga una matriz identidad de 20x20 (ver la funcion eye de
Matlab), la matriz [ 1 , 1 , 0; 0, 1 , 1 ; 1 , 0 , 1] , y la representaci6n dispersa de las
mismas. Compare el espacio utilizado en las diferentes representaciones.
Ejercicio 9
Para comprimir una matriz completa que contiene datos que son generalmente iguales ( con
poca o casi nula variaci6n entre ellos) vamos a utilizar la siguiente metodologia:
1. Determinar la frecuencia de ocurrencia de cada uno de los datos que aparece en la
matriz.
2. Obtener el dato mas frecuente.
3. Restar a la matriz original el dato hallado en el punto anterior.
4. Convertir la nueva matriz (resta) completa en la representaci6n a 3 vectores para
matices dispersas vista en el curso.
Se pide por lo tanto que esc1iba y ejecute las siguientes funciones en Matlab :
a) una funci6n iterativa llamada "DatoFrec" que dada una matriz completa devuelva una
matriz de 2 columnas y N filas. Esta funci6n debe calcular la frecuencia de aparici6n de
los diferentes elementos (datos) que se encuentran en la matriz. En la primer columna
debe aparecer el dato yen la segunda su frecuencia (o numero de apariciones). En caso de
invocarla con una matriz nula devolver vector vacio.
b) una funci6n iterativa llamada ''MasFrec" que dada la matriz calculada en la parte a),
devuelva la fila correspondiente al elemento mas frecuente. Si existe mas de uno con
igual frecuencia devolver cualquiera de ellos.
c) una funci6n iterativa llamada "Comprimir" que dada una matriz completa realice el
procedimiento de compresi6n descrito anteriormente y devuelva la matriz en su
representaci6n dispersa. Para eso debe invocar a las funciones implementadas y las partes
a y b y realizar la descomposicion en 3 vectores vista en el curso para representar
matrices dispersas. En caso de invocarla con una matriz nula devolver los 3 vectores
vacios.
Version 3.0.0.
3/4
.
144
COMPUT ACIC~:.' l
Instituto de Co1:up-.:.~a-:I;:,;:-.
Curso 2014
I~
:!JNGUJIHJA
__ _______ -----,
\
- - ~ -----
" --- - :
L"-
~!:-.
L-
- -
..1
.._ _
e._ -~
1-
. ... ~------
! _
... .._.
;_--- -- -.
'
------ - -- -
.;.,
---
.;
--- - - - - - ---- - - --
c - -
- - - - - -c ..
'1 1' .
_..:,
_____ -
______ J
.I
--
.::_
.,
j \
.,.---- ---(
,,. J _
' -
"
J..:~
~-=-:: ,.___'.}'
"j)
-- -- -----~- --------
___ -
"
.J
--------
.:::
--
- ,:_
-'
._ ,/
,_
)'\
..
1_
__
1_ _ _ _ _ _ _ _ _
T-' : la
145
r
e) .
t)
1-)
( x - ?-J
'
\') -=-
_q
-t~
/ J<- -( '--) \
,,-------. (
{)(_~ tt'L'2
-X- - .i.
--
( ?(.. -
')(_ - ( -C\.)
':2--) . g__
-+ \
Ll
1\
"\
=2
'")<_.
-t
'
10
C,
".l. (
I f
--\
-\
l-J
r,oQ \,
(\1.H ?..\/0
i.
'X.. -
';J<...'4.. -
r.e~C.
T"3 ("\
LP=\.e~-t hr o""'i
T
;:.; r u~t\(\~ \
l'
Or
'
;- k
\,o::: = a.
fl.~
f, '
,-=f ) :
e\~,J-.
ID ::-= ~
I
e' l (?
Cf=O- '
r=
l\/'-0.--. .
,e ::._
6.
P \
e>--i-e._
q \ I\)
-:: p (
'I) ,
Lr,r
, = ') ~!lo - i J
<to( ('{\v\a.:
~ ('2-J
'
-0<\c\
{ ;;.
-ex-cl .
q_ ( L P. -
~"J
~ a_ -+
f'(\.p)
'
146
.
<:
'1.,
(2) ')
lo\
'l..
?--
st.
r / - ' , .-,_
1 \ \
I~
I~
'\ t\
l S\.Jt{"-a)
MJ "C-t1o0
\p
\e r'>'atk
:=
( p)
\~-= :::-
\ I;.
\"' = ~
\ , ; , p)
1
="
. $ U'(Y'\.'-.
8'~ \ ~
'
-eJ te..,
I
s \)'{'('\a__ =
..e....f "\d '
~<...l'f'l'APo\ ( y( I\ .\\f-i.)
l
'
\_
{'I
.
,,.,,,:.--
II
'
I)\
or=
'
.
"
{2.r)rl
==-
/"
~,o~
=- 1 ~ '()
T ( , 1..\ ~ ~li:.. ,)
'
{J"' ,tf\)
'1
fY)
"
e..nd .
"'
;,\
l, \ \ \=- \ ( \
"
r'
,:I
\.
+-
f' ( \ IY
147
{I;) b) 0,
~\\Cj.
-' .
6 3. :5
Cl) ::
w :.
h(aJ
~ 4
Cl\ .:.
QoU,; \",'\fl' }
~cfrD{')
\ If"\ fG
T V\== an~
\(.,-=
CJ:)
R\,('(Y\
35
tl.3
I~
J\1 ')
'
'
1'")
I
I
I
y -
---------
,.,
I
.J
-t,--- 5
-z.8
35 --r-2.
Ttl : ;_ t ro rspu.er1.oc.,
1 <;;o
CC' (OJ .
o.._
2...
::i-
c.e ro
f\/'~<JtACL
.,
(- Of'\
aJ., I
CL( )
a__, ;
\ ~; ;:; cu. ~
sJ
b) cC
fsn s'\..,
~'(\ C-f\0()
~ \
:::
s\f(Y'O.., (
u.n,~
b,
la ,; 0n i/:J..(;
'
\
(0)
CL,
5 ~ (u:7
\o
<id
'\ ta.
'-~
r:fl)f'
( VQ,f S} --:,'V,
j Qi
.J
$
\
o..._j, -
{A~ -
t...
.2
6 - 3
v
"
b~ ~
s
3 2
3 C,
'2,
3.
''{'\)' ',
~c
'\
(L)'\
loJ wcror"'
{1A_,o ,
\-t- Qr)('?)
1:b () l l )IV=-0
<;{\ -::
S ,-=
\ <:; \
.nd
\:_-=
.e,t~1~ .
::::
l s; (.,
'r=:- ""t-
\..
CUi ( I-'-)
l -==-L.-t-i.,
'J.
,.
--1~:=~c~--~f--=:~J
148
f---------=-'ct'-""'-"W=----'&-'------'c(_;c_=c
a., L>t:J_<,J;>}..L~\~((_w. c,LJ ~,,. be Ic) )_
~JJ-~-
f---------------~- ----=i,_,_a,_=_--1 s n ~
~ J_~~l'-l
_______
t - - - - - - - - - - - -~
L,
Tu()_1_
-s1
===
\._= ~~
- - - - - - - - - - el(")
- -
i.
--------------------
------------------------------
- - ~.er,'
Lq__,
l_
c\e ~
Y ora ..v.. o.. ~~
_ T?t~. da r e~JYl.JfrtoJ
_____ . _____
Lsn , 'bnJJ:_~Lb l
wQJ.4Q
1oo...
_----:r_
"""" I~~--U_.\.a.~~
\---------------------__
____ _
_____s_'-_-=-_(__.~L~)cti ~~
~ \ -:; [,S~ '~-~' ~
-------------
-ex-C\.
>-------------
--------
----~---------~----!
------------------- - - - - - - - - - - ---~-~-~-------------
bj
f L)'
149
----i
rncc;.
An -=-
'l
~ :; r
!~
\ S)
A, -
l r1'l r-6 on
, =
JJl
f lr'N 0J-e a
\2 ]
d.JO-R-
L\
~(~) =A,l~')
____j
"
'f-..ft 1
,;;;J
'1+m
"
T =- A(\ f L f~;y,
'
PX')rl
I-, ( f\ , LA
\I
- li
-~. 0-,.____----------------11
150
C..0
__
:0
. _____f_.__a
-'=--". c ~T "_\
;1---_ _ _ _ _ _ _
0')
\:A'-ec") 0
:;;c
-r
\, Q..f\,. \jO
r\"v(\C..,-{\O)'"\
\(f)D
J-
1.-
9-= Pt")
'
-for-
( -=q
?- .
=-T q
L-
n- :l..
q ( ( -1)
I
-+ p(~\
;If- \
'
1
J
Q'\d.
~(f'-i_J
v-<k O ;::..
+ p( nJ
*'
,t\J(\c( ,nn
(\ =
L
\_pJ\q--\;\.,t... (
-( f
( r.r)
CJ..K
p)
f- qi (.f'J-t.cl,..,
r <h
'
,._,,
I
I
I
/)
I
-
"\
..
er-,;
-~
-"\
nc~~
IQ
-::c
re ux
l
r
pt" '.
-r-
1'1-
0 l D)
0i
,)
151
wr /_ p-') ___________________________________ _
____ __________ n-::c ~:0-_lP1-_________ _
>-------...
. .
- - - ~ -::::c _ f --e
------ -----------..-~------.
-- -------------------if __ '()=__:::.-_ G
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ,- - - -
r: = t,')
.
- ' --- -------------4~------ , - -- --, _'__ --- -- -,---,---~-
----------------- -clj.? ____ --------------------- - ----------- .--- ____________________ ' I.f-___ X C I\J rJ __=- o ------------------------
n~,~+-----
L\
- - - - --.---.----_I.....------.-~-~- -----
-----
--
- --- - . . . .
------
______.,........,...
___
-.....----------------. ---....--~
....._---
----.-- .... ._- - - - - - - - - - _._., ____ _. ,. . . . _____ -...-- .... ~----- ---- --..----- ... ---------
0 ~ 3 _________________________________,____ -----------
'C)
L,
_e('0_ ==- C)
~=:-
_ 1 _ __
L~ c_ t :o_0_2~)
_0--~-::_fl_c_(~/\_?...'?:,_V)
________
~-== 1~
___
____________ ___ _
---------------,-------'
----------------- - - -
----- liJJ
----------------
,\D,\c_-\\ o0
'-J
(Y'I
.._..___
\----'~"--'--'-----
___________________ _
~ ------ ---------------------------
e'Yt:-\ .
n-:: \,e'("q--t
L,_ (
v)
______,
__ i_LO:. ::_1-
----
------
--__,_ _ _ _ _ _ . ., .________
- - - - -------------- __
'
t ~) _
152
GI
i(
n : :-
( y IP)
l.e..,0.....1
I
c::;;::::.
-r
-n.," l ,1 "i
t-..J(O S ( \
'rY\
l;\..,<;:i
i \~.._ ( p ~ ;
1)
f\ -I rf', \
(0(
.....
I .=
.. r\
I\ .
' .
y-
r('\
f--
1= ( c-+ ~
--\
-~)_-~_
-0f'\d
-e;(\~
\\3)
-
D-=<N0c-t\ 01i
n = \,e,n.cr-t~ ( p)
a
f)
-==-
7-L('O l (
"('\-1.)
/\
f:o r l. = -1 : n - .1...
I) (
i_'
= pl I..) '
I
()1 - \..)
'
enc-0.
6 J. C\)
D .
In
w0 c ,1 on
Pi
-=-
(N)
A=- ~ J C(Y\ / \ )
+ocr
I
J
(l),yY\~-= S1.:=z:e
'-
(-:='\:
i-or
" ._ fY\...
::.-
'A ( \ ,l)
\I
PY')d
-efd,
= IV'\ lC ,'\)
~
.L
153
,t\Jn c--t', on
( (Y\
,81
C: -- Sl5YV\ a M'--i;- ( A
-=- S i t C ( p; l ,
(f,~"i ~site((3'\i
f'\)
'
i~ CfY'\ ~ =- f ~ ~ ~h~::-:f)
)('O)
C fY\ 1n)
'S=
J._(;)
h:)r
:=-'\'.fl
rK)V'
'
--\-f, (CI j)
SC L, ,\-=- ~l \ \,')
.
'
"'
P,,,r\d
e.,nd
'
\Q__ -
,1
ct re,
/ ~
s~ -CJ
_J'<..... \ \ l
~d.
\ 0 :.
- >
1---
\{"
c_
rt\rn c-tio0
\
( ff\,\\\-::: .s\ k
'
1+
lA-) ;
~ \ ~\
:::
'S, \
_J
\.
(A1B)
<-
~ 1
'I-<-
l ~'yl
'
(n ~=eJ
C== ~ J (
'
t()\
l = I\
I'./\ \
ca..\
rn
kO \ -\ : ;_ '\ '_
-j
~ \ . yi = I\ ._ VJ
( (l
-ef'lol
e)(')d
-X>o\ '
-V,)-0
C= C1
ef"'\d .
'
1\J : :
A (
(,.l ~ )
b ~. \e. \ 'J)
"T (
154
( _'r
J0
=c
ND
ct lO(')
eA '
\..
= fY'"'\
155
- - - . . - - - - - - - - - - - - - ...........
..-~--
...... -~-------------------
--
--~-----------,,rd----------- ---1--------
----------------
-----
______ , ret~~ -tr~,g, e c., ( { t 1.:. Y\') _1__ c. t'.1-'- ~'\_\_J;_( 2. ' 0\)__
---------------
~~------ -
((_~l::_~
C ::-
e:'\
:>
)\.A.,U?"
~~'L'. r"\
2~~~,z_, ~l
'.?
5 2
-------
--=- - - - - - - - - - - - - - - - - - - -
4 l"l\~\all?(.._____
-----------
4~--
(J_l-c+ciJ
Cf )___ --------~---------------- ---- ---~---------------- ---
-t.cD \0-. ~. -t
L} =~iv--
-'\(l'G
--
>-------------
>---------------------- ~ q
-------------------------------- ---
- - ---------------------------------------------- - - ~------------------------------------------~-----------.
______________,
------~-----
----
------.....-------
- ----------._..
---------------
-------------------~--------
-------------------~-------------------------~-- -- ------
156
_...
6J
(cuOJ\oy-
rou.:,..
2 -e 0i
r ~o(oS
k\J"f\ C,1 o (\
r
.)
f"-
<;_ t
\J D..J-)6 (
Wr
--\ () \,.e
j 2_
If' Q....>->-- C
( t/2,'1
s. l. l...
S(. -
T,i. ::
Ci ,V-{_ \1J\~ro
ccu.c.u \a 'f"
")<_-::.
S I\ -=- "X...
-a
u \or io
1'
, -ec..
'fa.\ '7 _
M.
.,
C:{Q,\ 2d () )
.e ~r"\r
( IA
0:::
~{\<::J
- '/(_
(C(_\9- ~-
(-e'\
q_
D-400J {\?Ql ()
-"') \)' 0-J...G-r d,c., \o. ,a...C+ . t ')<_)
5'ct..AJ d C\.
,0
f _ (.,
~- S\.. .
~\o~ ~
\ s. (-t ! - s l, \I < e
CJV-(.,
\ S.0 l..;...l--c.} 0 N
\"C~'""tN ~ \
~ '() C-t\Oll
r aJ. z:;-
::;
(?Ce)
'""'(.
s. a.. 'f\"t -
'2...-
<;;,rw--_. =
'
UlW \.e.,
S.af\-1:
S f\lJ,
=
-;..
'I
S Cl rd)
'
::; (\v-,
s; c:u,-,-
- ( Sant
~ $ 'lrri'
AO 10
-=t3
--x-'J I
('2.
s~vr+J
-e r,d_
\ ;:: S'r-..~ .
~fa.._
"--I.
-e.J_
r au. OJ\~'( ,\
pcx- VQ
'f...
C'.",,v--.Q_
~v- cf~
0(_
-tt...0 <;:>(
\.)0
l...),..A..~
r ,n,
,a,.-/\
OJ....>..._
U'So
-eJ
O....>.J.....-t. 0 K'i 0
--
- - tJ< (~ S\ ~
(' f:)(\
f'f
'.
r', a.~\L
IC';
{ I
~-...J-J,
-1:
)Q),JO
(J O
,f'
OJJJU'vqr
SoU':J
'r'
157
, -so1...u uo1v
\
I
~ f')
.'\J'
-t \ {}"(\
e) ,
f e c. ( ~ ?.. (
(' -;:::
-4
'"'---
,_
C)
<P ~
) \J-
"
'
~tl
{' -e_ C
(
'
~-t
a'-'
-4.
t\'IJ-G
e..1
'tl_
~-
A,
CIJJ-..\ \
'2..
eJ
V' <JJ-_...C
a,-e., ()JJv--t
--x. e,),
I
' n'i) ,
l p
-e.A~
f--.. (
\J. :::
( fl U--(.
e)
' ')(_
(.)
~d .
.
~o
..p~
\N'q
\Cl\vr ~~
\.}..A..
..P \
6) Q u.,---e '{'()
9v--<.
VCJJ...0 f""
S\.l'N--. 0Y
-t.Vv\ o r
f'Q
\A.,()
tAA..,
"\ C)
\ (', v-.LJ->..__"U?.
('u , e V)
-e J
(
.)
\.o \
d,-e.
rn(\ i"O)
\)--A.. o...._
~ \ Y\-t
-
~ ('\ c-( \ () (\
'-A ::::
\}==-
\J.
N"""")
I\::..
::.. 0
I...\ =- 0
;T
ti
~-r\r..(r-r-)
'""' ,
(' IC,p<) -f
<J
'
ej_~
'j
~.