9 votos

¿Qué es la $x=5$ ¿Llamado?

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.

4voto

scott Puntos 71

Además de los "iguales de identidad" e "iguales condicionales" que sugiere B.Goddard, también se podría enseñar " Condiciones de Yoda ", de modo que si se omite un '=' por descuido, se produciría un error de sintaxis.

Deben su nombre al famoso maestro Jedi, cuya sintaxis se invierte a menudo. En los lenguajes de programación de tipo C, x == 5 y 5 == x son equivalentes. Algunos entornos, como WordPress, tienen prácticas de programación que incluyen condiciones Yoda.

Por ejemplo, si desea codificar

if( x == 5 ) { /* code */ }

pero accidentalmente escribe

if( x = 5 ) { /* code */ }

tendrás horas de dolor tratando de encontrar tu error. Sin embargo, si pretende codificar un condicional Yoda como

if( 5 == x ) { /* code */ }

pero por accidente tipo

if( 5 = x ) { /* code */ }

se producirá un error. No es necesario depurar; el sistema le indica dónde está el error.

En otras palabras, la diferencia entre x = 5 y x == 5 es exclusivo de CS. Sus alumnos simplemente necesitan practicar con él para entenderlo. En mi opinión, las condiciones Yoda ayudarán a evitar un error común hasta que la comprensión sea lo suficientemente profunda como para que cometer ese error deje de ser un problema.

3voto

Evan Trimboli Puntos 15857

No eres sólo tú. La notación matemática tradicional está llena de notaciones ambiguas que tienes que distinguir caso por caso, guiándote por el contexto.

Sin contexto, supongo que $x = 5$ va precedido de algo como $x^3 - 3 = 122$ . Entonces $x = 5$ es una ecuación y se espera que el alumno "resuelva para $x$ ."

En el contexto de una operación iterada, el símbolo igual puede utilizarse como operador de asignación inicial (o final), p. ej, $$\prod_{x = 5}^{200} \frac{1}{x^2 - 1}.$$ Por supuesto, en tal caso, la mayoría de la gente preferiría utilizar $i$ o $k$ en lugar de $x$ . Pero aún así, el signo igual se utiliza donde un programador podría preferir ":=".

En cuanto a tu función de bit de paridad negado, hay un símbolo diferente que podrías utilizar para aclarar parte de la ambigüedad, el símbolo de equivalencia. p. ej, $f(x) = 1$ si $x \equiv 0 \bmod 2$ .

Esta página de Wolfram puede ser útil: http://reference.wolfram.com/language/tutorial/Equations.html

2voto

B. Goddard Puntos 2488

Para mis alumnos de primer año, hago la distinción entre "iguales de identidad" e "iguales condicionales". Parece aclarar algunas confusiones. Identidad igual significa que la frase es siempre verdadera, y para mi contexto, incluye "asignación" y "definición". Así que si decimos "Que $u = x^2+5$ "entonces queremos decir que esto es cierto para todos $x$ (en la configuración actual.) Y si decimos " $\cos^2 x+\sin^2 x =1$ "queremos decir que esto es cierto para todos $x.$

Igual condicional es cuando escribimos una ecuación y queremos saber cuando es verdad. Como en "Resuelve $x^2+5x-1=0$ ."

Nunca he encontrado la necesidad de dividir los cabellos más finamente (en clases de matemáticas de pregrado.)

1voto

Rohan Puntos 11

En matemáticas, el $=$ puede utilizarse como una simple declaración de hecho en un caso concreto ( $x = 5$ ), para crear definiciones (let $x=3$ ), sentencias condicionales (if $x = 2$ entonces ), o para expresar una equivalencia universal: $$(x^2+2x+1 )= (x+1)^2$$

Cuando se utiliza en programación informática, el $==$ es un operador relacional que comprueba la igualdad, a diferencia del operador $=$ reservado para asignaciones (con respecto a la programación C).

Para más información, consulte aquí .

2 votos

Es no lo mismo. En programación, $x=y$ significa que $x$ se sobrescribe con el valor de $y$ . En matemáticas, $x=y$ y $y=x$ suelen ser equivalentes, y no existe la asignación, por una sencilla razón: las "variables" no se "sobrescriben". No hay ámbito léxico y las variables no se "modifican".

1 votos

Sí, pero sigue siendo un poco erróneo: en C, tienes razón. En Pascal, la asignación es := y las pruebas de igualdad son = . En R, la asignación es <- y las pruebas de igualdad son == . En Common Lisp, la asignación es (setf variable value) . Sospecho que hay otras convenciones.

0 votos

Esto no responde realmente a la pregunta, ya que la pregunta se refiere a las matemáticas de un operador de asignación.

1voto

skyking Puntos 3392

Normalmente en matemáticas una variable no es variable en el sentido de que varía a lo largo de la discusión. Esto significa que no hay una diferencia real entre las interpretaciones. En lenguaje de programador el análogo más cercano sería que las variables matemáticas son constantes.

La declaración $x=5$ debe interpretarse como una afirmación de que $x$ es igual a $5$ . Puede que no hayamos definido $x$ pero en cuyo caso tal afirmación definiría $x$ (ya que suponemos que existe un $x$ ).

En cuanto a la asignación, lo normal sería considerar una secuencia de valores que $x$ con el tiempo y luego se le suele añadir el índice. Como cuando un programador escribe x := x+1 un matemático escribiría $x_{n+1} = x_{n}+1$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X