Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: ivan15 en 27 de Agosto 2015, 19:49

Título: Valor de verdad de expresiones lógicas con and, or, mayor, menor, comparaciones
Publicado por: ivan15 en 27 de Agosto 2015, 19:49
Hola buenas gente, me dieron un ejercicio en programacion pero no tengo ni idea de como se hace, me podrian tirar alguna idea para resolverlo? es este.

Código: [Seleccionar]
Indique el valor de verdad de las siguientes expresiones lógicas considerando las declaraciones

dadas a continuación:

int puntos = 10;

int intentos = 5;

boolean esValido = (puntos > 0) && (puntos < 15);

boolean terminoPartido = (intentos >= 5) || (puntos > 9);

• esValido && (intentos < 10) && ! terminoPartido

• !( (intentos < puntos) || (intentos == 4) || (! terminoPartido) )

• ( (! terminoPartido) || ((puntos < 3) && (intentos > 5) && esValido))

• (! esValido) || (esValido && !terminoPartido) ||

(esValido && terminoPartido && (puntos < intentos))
Título: Re:valor de verdad de expreciones logicas
Publicado por: GonzaH en 27 de Agosto 2015, 20:12
Hola Ivan, por logica y por lo que entiendo tenes que analizar esas codiciones y ver si te da verdadero o falso

Ejemplo vamos a realizar una para que ver si logras entender y puedas hacer las siguentes

Esta seria la condición
Código: [Seleccionar]
esValido && (intentos < 10) && ! terminoPartido
Entonces revisamos la funcion esValido y vemos que dice que si puntos es mayor que 0 y que si puntos es menor 15 seria verdadero. Comprobamos puntos vale 10 y puntos es mayor que 0 y menor que 15 asi que es verdero. Despues nos vamos a comprobar la otra parte por que hay un operador and que seria intentos es menor que 10 intentos vale 5 asi que intentos es menor que 10 y da verdadero, despues nos vamos ala ultima ! terminoPartido
terminoPartido dice que que si intentos que vale 5 es mayor o igual 5 o  si puntos es mayor que  10 se cumpla la condicion en este caso da verdadero pero como  tenemos adelante ! lo que hace este operador es darlo vuelta ejemplo si nos da verdadero lo convierta a falso y viceversa.

Entonces dijimos que esValido nos daba verdadero y (intentos < 10) tambien pero ! terminoPartido nos da falso por el operador !. Entonces en esta condicion nos daria falso por que una de esas tres condicione no se cumple.

¡Saludos!
Título: Re:valor de verdad de expreciones logicas
Publicado por: ivan15 en 27 de Agosto 2015, 20:59
Hola muchas gracias, entonces si tengo un operador and, todas las condiciones tienen que ser verdaderas para que sea verdadera?, segun lo que entendi seria algo asi no?

esValido && (intentos < 10) && ! terminoPartido  ----> esta seria falsa porque terminopartido es verdadera pero como hay un inversor se transforma en falsa y las otras 2 son verdaderas pero como hay 1 falsa entonces su valor de verdad es falso?


PD: y si tengo un negador al principio como aca  • !( (intentos < puntos) || (intentos == 4) || (! terminoPartido) )

seria falsa directamente no?
Título: Re:valor de verdad de expreciones logicas
Publicado por: GonzaH en 27 de Agosto 2015, 21:32
Cuando tenes un operador and (&&) todas las codiciones tiene que ser verdadera para que se cumplan, pero cuando tenes el operador or (||) que seria "o" si una condición  da verdadera entraria como verdadera.

Citar
y si tengo un negador al principio como aca  • !( (intentos < puntos) || (intentos == 4) || (! terminoPartido) )

Da falso, por que tiene adelante el operador adelante ! pero si no tiene el operador adelante ! que condicion se cumple para que te de verdadero?

Título: Re:valor de verdad de expreciones logicas
Publicado por: ivan15 en 27 de Agosto 2015, 21:58
Se cumpliria la condicion terminoPartido que es verdadera
Título: Re:Valor de verdad de expresiones lógicas con and, or, mayor, menor, comparaciones
Publicado por: GonzaH en 28 de Agosto 2015, 18:39
Esta condicion da falso por el operador !  (! terminoPartido) , pero esta (intentos < puntos) da verdadero y esta  (intentos == 4) falso. Entonces tenemos tres condiciones que dos dan falso y una verdadero. Acardate que estamos con el operador OR (||) que dice que si una de las condiciones da verdadero entra. Entonces esta condicioón da verdadero ( (intentos < puntos) || (intentos == 4) || (! terminoPartido) ) por que una de esas tres condiciones es verdadera, pero acordate que tenes el operador !( (intentos < puntos) || (intentos == 4) || (! terminoPartido) ) que dice que si nos da verdadero lo convierte en falso.

¡Saludos!
Título: Re:Valor de verdad de expresiones lógicas con and, or, mayor, menor, comparaciones
Publicado por: ivan15 en 28 de Agosto 2015, 20:13
Esta condicion da falso por el operador !  (! terminoPartido) , pero esta (intentos < puntos) da verdadero y esta  (intentos == 4) falso. Entonces tenemos tres condiciones que dos dan falso y una verdadero. Acardate que estamos con el operador OR (||) que dice que si una de las condiciones da verdadero entra. Entonces esta condicioón da verdadero ( (intentos < puntos) || (intentos == 4) || (! terminoPartido) ) por que una de esas tres condiciones es verdadera, pero acordate que tenes el operador !( (intentos < puntos) || (intentos == 4) || (! terminoPartido) ) que dice que si nos da verdadero lo convierte en falso.

¡Saludos!

Muchas gracias con lo que me explicaste ya pude hacer casi todos los ejercicios que me dieron, saludos


EDIT: tengo otra consulta, ahora me piden esto:

Código: [Seleccionar]
9. A partir de las siguientes variables:
int notaPrimerParcial
int notaSegundoParcial
boolean aproboRecuperatorio
boolean aproboTrabajosPracticos
boolean aproboFinal
construir una expresión booleana que indique si un alumno aprobó o no la materia, considerando la
posibilidad de promocionarla.

el problema es que para promocionar la materia se nesecita un 7o + en los 2 parciales y para aprobarla 4 como minimo, asi que tendria que poder asignarle valores aleatoreos a notaprimerparcial y a notasgundo parcial, o como tendria que hacerlo?
Título: Re:Valor de verdad de expresiones lógicas con and, or, mayor, menor, comparaciones
Publicado por: GonzaH en 29 de Agosto 2015, 00:00
Que lenguaje estas aprendiendo, estos enunciado hay que hacerlo todo en papel??

¡Saludos!
Título: Re:Valor de verdad de expresiones lógicas con and, or, mayor, menor, comparaciones
Publicado por: ivan15 en 29 de Agosto 2015, 00:10
Que lenguaje estas aprendiendo, estos enunciado hay que hacerlo todo en papel??

¡Saludos!

Estoy aprendiendo java, pero primero estoy empezando con una vercion mas simple que se llama dr.java, saludos, los puedo hacer donde quiera, no son de resolucion obligatoria solo para practicar
Título: Re:Valor de verdad de expresiones lógicas con and, or, mayor, menor, comparaciones
Publicado por: GonzaH en 29 de Agosto 2015, 06:31
Podrias empezar estudiar este tutorial Java desde 0 (https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188) para aprender su sintaxis. Con el tema del enunciado yo podria ayudarte con la lógica , pero no con el código ya que desconozco el lenguaje Java.

¡Saludos!
Título: Re:Valor de verdad de expresiones lógicas con and, or, mayor, menor, comparaciones
Publicado por: ivan15 en 29 de Agosto 2015, 19:29
Podrias empezar estudiar este tutorial Java desde 0 (https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188) para aprender su sintaxis. Con el tema del enunciado yo podria ayudarte con la lógica , pero no con el código ya que desconozco el lenguaje Java.

¡Saludos!

oka gracias!