Para el siguiente algoritmo sea n = 0. Para cada persona en la sala, establezca n = n + 1 ‘. ¿Dónde exactamente explica el algoritmo que compones n?

Solo para complementar la respuesta de Bart Loesley.

Para comprender qué significan este tipo de algoritmos, trate de averiguar qué significa cada uno de estos símbolos.

En programación, el símbolo “=” se usa como una asignación y no como un símbolo que representa la igualdad. Significa que tomas el valor de lo que está a la derecha y asignas ese valor a lo que está a la izquierda. Entonces n = n + 1 se traduce como “tomar el valor de n en este momento preciso y agregarle 1. Ok, ahora este es el nuevo valor de n”. Entonces su algoritmo se traduce en:
Nombra un número n.
Digamos que este número es 0
Ahora para cada persona en la sala, agregue 1 a este nomber y recuerde su valor.

También puede encontrar el símbolo “==”. Este símbolo significa algo completamente diferente. Es una comparación. Puedes pensarlo como una pregunta. “¿El valor de lo que está a mi izquierda es el mismo valor que lo que está a mi derecha?”

Por lo que dijiste en un comentario, entiendo que estás practicando no hacer suposiciones o inferencias. Lo que intento mostrarles es que, en el caso de los algoritmos, esto se convierte en darse cuenta de que los símbolos con los que pueden estar familiarizados pueden significar cosas diferentes a las que están acostumbrados.

Podría usar un código psuedo java aquí:

n = 0;
foreach (persona en la habitación) {
n = n + 1; / * aquí es donde n incrementos (también podría escribirse n + = 1 en c lenguajes derivados) * /
}
(suponga que la sala es una matriz con un registro para cada persona en la sala)

Primero se inicializa n, asegurándose de que se establece en 0 inicialmente, luego se usa el foreach para iterar a través de la matriz e incrementar n en cada paso.

En su caso, cuando dice “n = n + 1”, lo que sucede es que toma la variable n (actualmente 0) y dice “que n sea igual a su valor actual más 1” o más específicamente en este paso, “let n igual a 0 más 1 “. Todo en el lado derecho de “=” se trata como un valor, mientras que el lado izquierdo se trata como una referencia a una ubicación de memoria.

Espero que esto tenga sentido.