0% encontró este documento útil (0 votos)
6 vistas31 páginas

Tema4 Datos Logicos 2024

Cargado por

gepro.esteban
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas31 páginas

Tema4 Datos Logicos 2024

Cargado por

gepro.esteban
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 31

TEMA 4

Datos lógicos y su importancia


en el
control de un programa

INFORMÁTICA. GRUPOS B y C1. 2024


• Datos de tipo lógico
• Operaciones relacionales y lógicos
• Índices lógicos
• Funciones para buscar condiciones lógicas

Diapositiva 2
4.1 Datos de tipo lógico Pag. 88-89

Es necesario utilizar variables de contenido lógico (true o false)


true (se guarda como 1)
Tipo de datos
logical false (se guarda como 0)

Se pueden crear variables lógicas:

1. Por asignación directa

Diapositiva 3
4.1 Datos de tipo lógico Pag. 88-89

Se pueden crear variables lógicas:


1. Por asignación directa
2. A partir de valores numéricos utilizando la función logical()

x=logical(número) Si número es 0, devuelve falso


Cualquier otro número devuelve cierto

3. Como resultado de operaciones de comparación o


lógicas
En general las utilizaremos así

Diapositiva 4
4.1 Datos de tipo lógico Pag. 88-89

Si un programa espera encontrar un valor lógico pero en su


lugar encuentra un número NO PRODUCE ERROR

INTERPRETA EL NÚMERO como lo haría logical ():


si es cero  false
si No es cero  true

Diapositiva 5
4.2 Operadores relacionales o de comparación Pag. 89-91

Operan dos valores numéricos y devuelven como resultado un valor de tipo lógico

Windows,
Para obtener este símbolo Linux

Mac

Actualizamos tabla de prioridad (pag. 97)

Diapositiva 6
4.2 Operadores relacionales o de comparación Pag. 89-91

¿De qué tipo son las variables u, v y w?

Obtén los resultados de las operaciones relacionales

¿De qué tipo son las variables c, d, e, f? ¿Qué valor tienen asignado?

Analiza con detalle:


asignación comparación

Diapositiva 7
4.2 Operadores relacionales o de comparación Pag. 89-91

Los operadores relacionales se pueden utilizar para operar datos matriciales


- Comparando matriz con escalar
Se compara cada
elemento de la matriz con
el escalar, obteniendo una
matriz de tipo lógico

Programa que usa esta operación para contar cuántos elementos de la matriz son
iguales a 7

Diapositiva 8
4.2 Operadores relacionales o de comparación Pag. 89-91

Los operadores relacionales se pueden utilizar para operar datos matriciales


- Comparando matriz con matriz (o vectores) (deben ser del mismo tamaño)
Se compara elemento a
elemento, obteniendo una
matriz de tipo lógico del
mismo tamaño

¿Cómo obtendrías el número de elementos que coinciden en valor y posición?

sum(A==B)

Diapositiva 9
4.3 Operadores relacionales con números double Pag. 91-93

Los valores del tipo double son números con una precisión de 15 decimales.

Si el valor real a guardar tiene más de 15 decimales, la aproximación que se


realiza no será exacta.
Ejemplos: π, o expresiones como 1/3

La forma que tiene el ordenador de guardar los datos double, hace que pueda
haber inexactitudes incluso con números de menos decimales.

¿Falso?
¿no son iguales?

Diapositiva 10
4.3 Operadores relacionales con números double Pag. 91-93

¿Cómo comparamos entonces?

Veremos si la diferencia entre


los valores es muy pequeña

Ahora sí

TOMA NOTA!!

Nunca compares directamente dos datos double

Diapositiva 11
4.4 Operadores lógicos Pag. 94-96

 Operan uno o dos valores lógicos y devuelven como resultado otro valor lógico.
 Mediante los operadores lógicos, se pueden combinar varios resultados lógicos
obteniendo uno nuevo.

se representa con el caracter |

Se usa entre dos valores lógicos


El resultado es verdadero si al menos uno de los operandos es verdadero

Vamos a utilizar el operador OR si se


quieren combinar varias
condiciones y se quiere comprobar si
se cumple al menos una de ellas.

Diapositiva 12
4.4 Operadores lógicos Pag. 94-96

se representa con el caracter &

Se usa entre dos valores lógicos

El resultado es verdadero si los dos operandos son verdaderos

Vamos a utilizar el operador AND si se


quieren combinar varias
condiciones y se quiere comprobar si
se cumplen todas ellas.

Diapositiva 13
4.4 Operadores lógicos Pag. 94-96

se utiliza con la sintaxis xor(A,B)

Se usa con dos valores lógicos

El resultado es verdadero si uno y solo uno de los operandos es cierto

Vamos a utilizar el operador OR


Exclusivo si se quieren combinar dos
condiciones y se quiere comprobar si
se cumple solo una.

Diapositiva 14
4.4 Operadores lógicos Pag. 94-96

se representa con el caracter ∼

Se usa sobre un único valor lógico situado a su derecha

El resultado es el valor contrario al del operando

Suele utilizarse para hacer referencia a


una condición contraria a la que se
esté estudiando

Diapositiva 15
4.4 Operadores lógicos Pag. 94-96

Simplifican la operación que se realiza con & y |

En ciertos casos puede evitar errores.


¿Qué pasa con las siguientes expresiones si a es cero?
c = (a∼=0) & (b/a>5) c = (a∼=0) && (b/a>5)
Diapositiva 16
4.5 Prioridad de operadores Pag. 97-98

En MATLAB no puede haber más de una asignación en la misma sentencia

Diapositiva 17
4.5 Prioridad de operadores Pag. 97-98

Analiza el siguiente fragmento de programa. ¿qué se escribe en pantalla?

Modifícalo para que sea correcto!!!

Diapositiva 18
4.6 Operadores lógicos y relacionales aplicados a matrices Pag. 98-99

 Estos operadores se pueden aplicar a matrices

 Operan punto a punto

Diapositiva 19
4.6 Operadores lógicos y relacionales aplicados a matrices Pag. 98-99

Interpreta el siguiente programa ¿qué se obtiene?

Diapositiva 20
4.7 Extracción de elementos de tablas mediante índices lógicos Pag. 99-103

Recordemos la extracción de elementos

¿Qué ocurre si como índice se pone un vector de tipo lógico?


Se extraen los elementos correspondientes a los
índices de valor cierto

V([false, true, false, false, true, false]) 8 2

Diapositiva 21
4.7 Extracción de elementos de tablas mediante índices lógicos Pag. 99-103

Ejemplo de utilización:

Practicamos más:

X=[ 1, 3, -5, 7, -2, 2];


Y=X(X<0)   Extrae los elementos de X menores que 0
N=length( X(X<0) )   ¿Cuántos elementos de X son menores que cero?

Diapositiva 22
4.7 Extracción de elementos de tablas mediante índices lógicos Pag. 99-103

Para matrices, el resultado será un vector columna con los elementos de la matriz
que cumplan la condición lógica, tomados en orden columnas,

Se pueden asignar nuevos valores a los


elementos que cumplan cierta condición

Diapositiva 23
4.7 Extracción de elementos de tablas mediante índices lógicos Pag. 99-103

¿y qué se obtiene con esta instrucción?

Los elementos de V mayores que 5


quedan multiplicados por -1

Lo comprobamos …

Diapositiva 24
4.8 Funciones para búsqueda de condiciones lógicas en matrices Pag.
103-106
Funciones any( ) alll ( ) find( )

Función any( ) any(V) recibe un argumento, que puede ser un vector o una matriz.

Si V es un vector: devuelve true (logical 1) si al menos un elemento de V es true

Diapositiva 25
4.8 Funciones para búsqueda de condiciones lógicas en matrices Pag.
103-106
Funciones any( ) alll ( ) find( )

Función any( ) any(V) recibe como argumento V, que puede ser un vector o una ma

Si V es una matriz: devuelve un valor por cada columna, true (logical 1) si al


menos un elemento de la columna es true

Diapositiva 26
4.8 Funciones para búsqueda de condiciones lógicas en matrices Pag.
103-106
Funciones any( ) alll ( ) find( )

Función all( ) Similar a any, devuelve true si TODOS los elementos son ciertos

Diapositiva 27
4.8 Funciones para búsqueda de condiciones lógicas en matrices Pag.
103-106
Funciones any( ) alll ( ) find( )

any() y all() aplicadas a matrices, para que devuelvan un único valor, en lugar de
uno por cada columna, hay que volver a aplicar la función al resultado:
any( any( ) ) all( all ( ) )

Diapositiva 28
4.8 Funciones para búsqueda de condiciones lógicas en matrices Pag.
103-106
Funciones any( ) alll ( ) find( )

Función find( ) La funcion find() devuelve un vector con los índices de los
elementos que cumplen la condición.

Cuando se aplica a
una matriz
devuelve las
posiciones
considerando la
matriz como vector
columna
Diapositiva 29
4.8 Funciones para búsqueda de condiciones lógicas en matrices Pag.
103-106
Funciones any( ) alll ( ) find( )

TOMA NOTA!!

any y all comprueban si se cumplen las condiciones

find nos dice en qué posiciones se cumplen

Diapositiva 30
FIN TEMA 4
Datos lógicos y su importancia
en el
control de un programa

INFORMÁTICA. GRUPOS B y C21.


2023

También podría gustarte