Autor Tema: ¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?  (Leído 575 veces)

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« en: 30 de Agosto de 2010, 15:50:48 pm »
Hola,

Antes que nada, este es un tema que se trata en cualquier lenguaje de programación, elegí este foro porque es el más activo.
Nuestra profesora de Desarrollo de Software II (Java) nos ha puesto una tarea de identificar qué tipo de expresiones son las presentadas y qué valor imprimen.
Los tipos de expresiones que ella colocó son: "ASIGNACIÓN", "ASIGNACIÓN-EVALUACIÓN" y "LÓGICA".
Para mí las expresiones lógicas son las que llevan AND (&&), OR (||), NOT(!) o que retornan un tipo booleano (TRUE, FALSE).
Pero, ¿cuáles creen que son las diferencias entre 'ASIGNACIÓN' y 'ASIGNACIÓN-EVALUACIÓN'?

Aquí coloco algunas de las expresiones que las profesora nos colocó:

1. $b = ($x = 5) == ($y = -5);
R: FALSE

2. $x = 0; $z = --$x;
R: -1

3. $x=10; $y=($x %= 3);
R: 1

Entonces, la 1. entiendo yo que es una expresión lógica, la 3. es un operador con asignación, ¿será esa la "asignación-evaluación"? ¿Qué opinan ustedes?

Muchas gracias de antemano,
Saludos.

Comunidad PHPeros

¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« en: 30 de Agosto de 2010, 15:50:48 pm »

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« Respuesta #1 en: 30 de Agosto de 2010, 19:28:51 pm »
No se mucho solo tengo 14 años... :S

Pero creo que que si, y lo que hace es comparar dos datos para saber si es verdadero
o falso, de este modo.

Por descarte es la 3, pero busca info en google.

¿No es así?

Saludos

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« Respuesta #2 en: 30 de Agosto de 2010, 20:08:57 pm »
No se mucho solo tengo 14 años... :S
La edad no implica saber menos o más que otros.

Por descarte es la 3, pero busca info en google.
A ver, nos mandó casi 12 expresiones distintas, yo escogí tres al azar para mostrárselas xD

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« Respuesta #3 en: 31 de Agosto de 2010, 13:11:05 pm »
Pensándolo bien...
Estas dos:

2. $x = 0; $z = --$x;
3. $x=10; $y=($x %= 3);

Son muy parecidas, porque simplemente desarrollando un poco la 2.
2. $x = 0; $z=($x -= 1);

Y obtenemos dos exactamente iguales, simplemente en una se usa -= y en otra %= pero al caso es lo mismo...

Pon mas ejemplos, así podremos diferenciar las de asignación de las de asignación-evaluación, porque está claro que la primera es lógica.

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« Respuesta #4 en: 31 de Agosto de 2010, 19:16:28 pm »
x, y, z son enteros.
b = false y c son booleanos.



Esto es...

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« Respuesta #5 en: 01 de Septiembre de 2010, 16:29:21 pm »
No tengo ni idea, pero me parece que una asignacion-evaluacion puede ser algo como $a = $b == $c; porque asigna un valor booleano que depende de la evaluacion de una comparacion

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« Respuesta #6 en: 02 de Septiembre de 2010, 02:41:29 am »
Yo díria que las del tipo
x = 0; z = --x; (o z=(x -= 1))
Son las de asignación-evaluación.
Simplemente porque evaluan una expresion (--x) y luego asignan el resultado a la otra variable (z)

Por lo tanto las de asignacion serían del tipo:
x = 2 - 0;

Y las logicas:
b = A > a

No se si estaré en lo cierto.

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:¿Diferencia entre 'ASIGNACION' y 'ASIGNACION-EVALUACION'?
« Respuesta #7 en: 02 de Septiembre de 2010, 06:06:23 am »
Yo díria que las del tipo
x = 0; z = --x; (o z=(x -= 1))
Son las de asignación-evaluación.
Simplemente porque evaluan una expresion (--x) y luego asignan el resultado a la otra variable (z)

Por lo tanto las de asignacion serían del tipo:
x = 2 - 0;

Y las logicas:
b = A > a

No se si estaré en lo cierto.

Saludos
Exacto, eso fue justo lo que me puse a pensar... De paso me dí cuenta que ese trabajo que nos puso aún no era apto para nosotros, dado que la última parte eran unos problemas a resolver y la única manera de hacerlo era utilizando las estructuras de control en Java, cosa que áun no ha explicado... Aunque yo sí lo domino y ya había hecho los problemas, pero todos mis compañeros andaban perdidos, le comenté a la profe y dijo que lo cambiaría xD... Así que ya veremos si cambia esa parte.

Muchas gracias :P!