¿Qué significa: = significa en algoritmos?

Raramente se usa en lenguajes de programación reales, pero en psuedocode el operador: = es el operador de asignación; más específicamente, asigna el valor del elemento a la derecha del símbolo: = a la variable a la izquierda. Esto generalmente también devuelve el valor a la derecha, lo que permite el encadenamiento evaluado de derecha a izquierda, por lo que la expresión X: = A: = 2 + 7 evalúa A: = 2 + 7 primero (deduciendo que 2 + 7 = 9, y luego asignando el valor 9 a la variable A). Luego evalúa el siguiente eslabón de la cadena, X: = A (recuerde, simplemente configuramos esto en 9), por lo que ahora X = A = 9 y listo.

Para el ejemplo dado en los detalles de la pregunta, digamos que i = 7:

Luego, para evaluar la línea LOWLINK (v): = NUMBER (v): = i: = i + 1

Primero calculamos el valor más a la derecha (i + 1, que es igual a 8).

LOWLINK (v): = NUMBER (v): = i: = 8

Luego evaluamos la expresión (i: = 8), que asigna el valor 8 a la variable i, y devuelve i (que es lo mismo que devolver 8, ya que son iguales)

LOWLINK (v): = NUMBER (v): = i

Luego establecemos NUMBER (v) para que sea igual al valor de i (8), y obtenemos

LOWLINK (v): NÚMERO (v)

Y finalmente configuramos LOWLINK (v) para que sea igual a NUMBER (v), que es igual a 8, y hemos evaluado completamente la expresión.

LOWLINK (v): = NUMBER (v): = i: = i + 1 es una forma de una línea de:

……

i = i + 1;
NÚMERO (v) = i;
LOWLINK (v) = NÚMERO (v);

… ..

Es lo mismo, encadenados en una sola línea. Personalmente, probablemente usaría la versión expandida en código real porque permite una mejor legibilidad (y, posiblemente más importante, cuando está depurando el código línea por línea, es más fácil saber qué asignación está causando problemas).

Se utiliza en algunos lenguajes de programación como operador de asignación en oposición al operador de igualdad. Tomemos por ejemplo PASCAL (Free Pascal, Lazarus, Delphi, etc.) que es bastante similar a su pseudocódigo sintax / semántico:

Si A = B entonces

Empezar

D: = A;

Fin;