A este paso, a la línea de código :
... le van a acabar llamando algoritmo de asignación.
Tu supuesto problema, llamado como algoritmo, te cierra las puertas para entender algo que sin el nombre de algoritmo, cae por su lógica.
Si tienes pongamos una lista de objetos, para recorrerlos todos necesitas un bucle. Si después necesitas acceder a cada objeto para obtener uno a uno los subelementos de una lista de dicho elemento, pués no tienes más remedio que crear un 2º bucle que respecto del primero se dice que está anidado. Entender esto es lógica, darle tratamiento de algoritmo, lo hace misterioso e importante al profesor, que parece que te va a revelar misterios insondables para el cerebro humano.
Por ejemplo imagina que tienes una imagen. Y quieres aplicar un efecto o un filtro a la imagen , vamos a suponer que deseas variar la luminancia.
Necesitarías en primer lugar colocar un bucle para recorrer las filas. Como cada fila tiene una cantidad de píxeles fijo (como toda área rectangular), necesitas añadir un 2 º bucle para recorrer las columnas (píxeles individuales de cada fila). Es dentro de este bucle donde tendrás acceso a los componentes RGB de cada píxel, para modificar la luminancia.
Si nadie te habla de 'algoritmo de corte' , cualquiera encuentra la solución de como resolverlo, porque ES OBVIO, que tienes que crear 2 bucles anidados incluso un 3º si decides tratar los valores RGB de cada píxel, como una matriz de 3-4 bytes. Ahora bien si te dicen 'debes resolverlo con el algoritmo tal...', pués salvo que tengas muy claro que la referencia al algoritmo es una 'parida', te quedarás bloqueado por que supuestamente a priori, nadie conoces los entresijos de un algoritmo cuyo nombre le resulta desconocido, aunque la realidad, es que, es al darle nombre cuando te han bloqueado y te han vuelto más ignorante de lo que de base puedas ser.
Estructurar el conocimiento es necesario para manejarlo y entenderlo, pero reclamar nombres para cada organización posible de pocos elementos enfanga el conocimiento porque resultan como puertas a cada paso. Si desde la colina se ve el sendero que lleva hasta el valle resulta estúpido poner carteles indicativos de 'por aquí se llega hasta el valle', pués transitar así sólo te hace ir de descubrimiento en descubrimiento de cada cartel como si estuvieras ciego y no pudieras ver por ti mismo que en todo momento el camino entero queda expuesto a la vista. Los carteles sólo son necesarios al llegar a cruces de caminos, especialmente si no se ve el destino, éste no reúne ninguno de los 2 casos.
El algoritmo subyacente es la iteración, lo demás es marear la perdiz.
...en mi tierra a esto se le llama buscarle las 5 patas al gato.