Non vedo tante soluzioni che possano evitare l'uso di piu' variabili ...

Per togliermi ogni dubbio, vorrei che tu mi facessi un esempio di come vorresti implementare (anche teoricamente) il ciclo di lettura del singolo record e come vorresti sfruttare i dati una volta letti.

Ovvero, mi spiego meglio, vorrei che fornissi un codice (anche pseudocodice ...) in cui mostri, per esempio, le eventuali funzioni che vuoi usare e come devono interagire con il codice che le richiama.