Tengo formación en ciencias de la computación e intento enseñar los fundamentos de la programación a los estudiantes. Parece que tienen dificultades para entender la diferencia entre x=5
y x==5
. Sin embargo, tratar de explicarlo, me hizo preguntarme cuál es el significado de $x = 5$ es en matemáticas.
¿Existe el concepto de asignación en matemáticas? ¿O se trata de una ecuación/ligadura/afirmación/algo más? ¿Cuál es su nombre propio? ¿Y el uso de la $=$ de su uso en la función siguiente?
$$f(x) = \begin{cases} \displaystyle 1 \quad \text{if } x \bmod 2 = 0\\ \displaystyle 0 \quad \text{if } x \bmod 2 = 1\\ \end{cases}$$
¿Existe una clasificación de los usos del operador de igualdad en matemáticas? ¿O es el mismo en todos los casos y yo no lo veo?
1 votos
Normalmente, en matemáticas no tenemos una operación de "asignación".
0 votos
En su ejemplo sobre $f(x)$ se puede ver cómo la operación de "asignación" (que falta) se elude utilizando la igualdad; la definición se puede leer como una especie de especificación: "si $x=0$ entonces $f(x)=1$ ; si $x=1$ entonces $f(x)=0$ ".
1 votos
Precisamente porque no hay ninguna tarea en matemáticas que
x=5
en programación informática es tan engañoso para los novatos. Supongo que esa es también la razón por la que algunos lenguajes utilizan:=
o<-
en su lugar. Algunos autores de matemáticas han robado esto y escriben por ejemplo $x:=5$ para una definición.0 votos
Gracias. Empezaba a sospechar que no hay asignación. Pero lo que es
x=5
¿Llamado? ¿Y cómo se llama cuando se utiliza en $if x=1$ ?1 votos
Si quisiera un encargo, podría decir "Vamos a $x=5$ ".
1 votos
La notación en matemáticas suele ser como la programación funcional. Sin embargo, no es cierto que no se pueda utilizar $=$ para significar una asignación destructiva. En la mayoría de mis artículos lo utilizo así. Lo único es que necesito hacer la aclaración, porque no es el uso común.
0 votos
Mientras tanto $\text{mod}$ no es realmente una función en matemáticas (la función en la que está pensando es el resto de la división) y por eso podría escribir más a menudo una equivalencia como en $x \equiv 0 \pmod 2$ en lugar de $x \bmod 2 = 0$ En efecto $x \equiv 6 \pmod 2$ también sería cierto en ese caso
0 votos
@orole Se puede hacer cualquier cosa, siempre que se aclare y defina correctamente. Cuando escribo que no existe tal cosa, me refiero al uso común, claro. Y supongo que en trabajos de CS puede ocurrir. En matemáticas más "convencionales" no veo cómo podría ser útil, pero vaya usted a saber. Igualmente, el libro "Concrete Mathematics" ha introducido (o al menos ha ayudado a difundir) algunas notaciones muy útiles, como "[x=y]" para significar 1 si x=y y 0 en caso contrario. Pero incluso éstas siguen sin ser comunes.
0 votos
@Henry Interesante, porque el libro al que me refiero justo arriba define una función $a \mod b$ . Y es perfectamente aceptable (y útil, ya que a veces realmente quieres el resto exacto de la división, no una clase de equivalencia).
0 votos
@Jean-ClaudeArbaut Hago matemáticas bastante convencionales. La asignación destructiva es bastante útil cuando escribes algoritmos. De lo contrario, la notación se vuelve muy engorrosa. Tu falta de experiencia no significa que no exista.
0 votos
@orole Precisamente: algoritmos . A eso me refería con CS, pero por supuesto los algoritmos no se limitan realmente a la informática. De hecho, me parece que la asignación sólo es útil para los algoritmos. Además, tu condescendencia es ridícula.
0 votos
Le interesarán los aspectos más destacados de la obra de Vladimir Voevodsky. Quién sabe, quizá dentro de un siglo los matemáticos utilicen $==$ - ver math.stackexchange.com/q/2461509/432081 y el artículo necrológico del NYT.