Operadores Relacionales y Lógicos Estructura de Control: if

Anuncio
Operadores Relacionales y Lógicos
Estructura de Control: if-then-else
Estructura de Repetición: while
Taller de Informática I
DC - FCEyN - UBA
26 de agosto de 2015
Taller de Informática I
26 ago 2015
La respuesta true o false ó en Matlab es 1 o 0
Cuando escriba:
>> 2 > 3
ans =
0
Taller de Informática I
26 ago 2015
Relaciones de orden y Comparaciones entre variables
Se mencionó la asignación como una operación del tipo:
>>a =5;
>>b =9;
Taller de Informática I
26 ago 2015
Operadores Relacionales
Operador
<
>
<=
>=
==
∼=
Debe leerse como
menor que
mayor que
menor que o igual a
mayor que o igual a
igual comparado
distinto comparado
Taller de Informática I
26 ago 2015
Ejemplos
>> A=20:29
A =
20
21
29
22
>> B= f l i p l r (A)
B =
29
28
27
20
>> S=(A==B)
S =
0
0
0
>> S2=(A˜=B)
S2 =
1
1
1
1
23
24
25
26
27
28
26
25
24
23
22
21
0
0
0
0
0
0
1
1
Taller de Informática I
1
26 ago 2015
1
1
0
1
Operadores Lógicos
Operador
&
|
∼
Taller de Informática I
y
o
negación
26 ago 2015
AND
&
0
1
0
0
0
1
0
1
OR
|
0
1
Taller de Informática I
0
0
1
1
1
1
26 ago 2015
NOT
0
1
∼
1
0
Tabla de verdad
NOT ((A > B)AND(A < B))
A
1
1
0
0
B
1
0
1
0
A>B
0
1
0
0
A<B
0
0
1
0
AND
0
0
0
0
Taller de Informática I
NOT
1
1
1
1
26 ago 2015
Resolución en Matlab
>> A=[1 1 0 0 ]
A =
1
1
0
0
>> B=[ 1 0 1 0 ]
B =
1
0
1
0
>> A<B
ans =
0
0
1
0
>> A>B
ans =
0
1
0
0
0
0
0
>> ˜ (A>B & A<B)
ans =
1
1
1
1
>> A>B & A<B
ans =
0
Taller de Informática I
26 ago 2015
Ejemplos Operadores Lógicos y Relacionales
>> A = 5 : 5 : 5 0 ; B = f l i p l r (A) ;
>> d i s p ( ˜A>3) % a t e n c i o n con l a p r e c e d e n c i a de l o s o p e r a d o r e s .
0
0
0
0
0
0
0
0
0
0
>> d i s p ( ˜ ( A>3) )
0
0
0
0
0
0
0
0
0
0
>> d i s p ( ˜ ( A>=30) )
1
1
1
1
1
0
0
0
0
0
Taller de Informática I
26 ago 2015
Estructura de Control: if-then-else
Es una estructura de control que de acuerdo al valor de verdad de una
EXPRESIÓN LÓGICA realiza o no cierta acción. Hay tres maneras de expresar los
condiconales:
if
if
i f expresion logica
sentencias
end
expresion logica
sentencias
else
sentencias
end
Taller de Informática I
26 ago 2015
expresion logica
sentencias
e l s e i f expresion
logica
sentencias
.
.
else
sentencias
end
Ejemplo
a=r a n d ;
i f a >=0.5
disp ( ’ el valor
else
disp ( ’ el valor
end
a l e a t o r i o e s mayor o i g u a l que 0 . 5 ’ )
a l e a t o r i o e s menor que 0 . 5 ’ )
Taller de Informática I
26 ago 2015
Ejemplo: n es divisible por 2? rem(n,m)
n =67;
i f rem ( n , 2 )==0
d i s p ( ’ n es d i v i b l e por 2 ’ )
else
d i s p ( ’ n no e s d i v i s i b l e p o r 2 ’ )
end
Taller de Informática I
26 ago 2015
Ejercicio: n es divisible por 2 y 3 o por 2 o por 3 o por ninguno de ellos
n=42
i f rem ( n , 2 )==0 & rem ( n , 3 ) ==0
d i s p ( ’ d i v por 2 y por 3 ’ )
e l s e i f rem ( n , 2 ) ==0
d i s p ( ’ d i v por 2 ’ )
e l s e i f rem ( n , 3 ) ==0
d i s p ( ’ d i s p por 3 ’ )
else
d i s p ( ’NO e s d i v n i p o r 2 n i p o r 3 ’ )
end
Transformar en una función llamada divible23 que tenga como entrada 1
número n y decida si es divisible por 2 o por 3 o por los dos o por ninguno.
Taller de Informática I
26 ago 2015
Dar una función que dado un número n decida si n es divisible por 2 y 3 o
por 2 o por 3, por ninguno rem
función divible23 que tiene un entero n como entrada y decide si es divisible
por 2 o por 3 o por los dos o por ninguno.
function
d i v i s i b l e 2 3 (n)
i f rem ( n , 2 )==0 & rem ( n , 3 ) ==0
d i s p ( ’ d i v por 2 y por 3 ’ )
e l s e i f rem ( n , 2 ) ==0
d i s p ( ’ d i v por 2 ’ )
e l s e i f rem ( n , 3 ) ==0
d i s p ( ’ d i s p por 3 ’ )
else
d i s p ( ’NO e s d i v n i p o r 2 n i p o r 3 ’ )
end
end
Taller de Informática I
26 ago 2015
Estructura de Repetición: while
Es una estructura de repetición que ejecuta de acuerdo al valor de verdad de
una EXPRESIÓN lÓGICA hasta que esta no se cumpla más.
Para ellos es necesario establecer una expresión lógica que NO se cumpla en
algún paso sino no pararı́a nunca, por lo tanto es importante tener un
CONTADOR.
while expresion logica
sentencias
end
Taller de Informática I
26 ago 2015
Ejemplo: generar un vector de n números enteros entre 10 y 20 y decir en
que indices hay múltiplos de 2
n=10
V=r o u n d ( r a n d ( 1 , n ) ∗(20 −10) +10) ;% g e n e r o e l v e c t o r de e n t e r o s
tam=l e n g t h (V) ;%v e o h a s t a que t a m a n i o r e c o r r e r
i =1; %u s o un i n d i c e
while
i <=tam
i f rem (V( i ) , 2 )==0
m1= ’ e l
indice
’ ; %armo p r i m e r s t r i n g
i n d=n u m 2 s t r ( i ) ; %c o n v i e r t o a s t r i n g a l i n d i c e
i
m2= ’ e s d i v i s i b l e p o r 2 ’ ; % armo s e g u n d a c a d e n a
sms=s t r c a t (m1 , i n d , m2) ; %armo e l m e n s a j e
d i s p ( sms ) ; %m u e s t r o e l m e n s a j e
end
i=i +1; % aumento e l i n d i c e
end
V
Convierta a una función que tenga como entrada n.
Taller de Informática I
26 ago 2015
Preguntas
Taller de Informática I
26 ago 2015
Descargar