Ciao, ragazzi! Sto facendo una serie di esercizi sullo scope statico e scope dinamico, ma credo di non aver compreso perfettamente la differenza su alcuni punti.
Ad esempio, ho provato a svolgere il seguente esercizio, il più semplice. Potete controllare per favore se ho inserito i valori corretti (nei commenti)?
Questa è la traccia :
Si dica cosa viene stampato dal seguente frammento di codice scritto in uno pseudolinguaggio che usa scope dinamico e passaggio per riferimento.
Inoltre non ho ancora ben capito cosa mi cambia ai fini del risultato se il passaggio avviene per riferimento, anziché per valore, quali valori otterrei? Per me, sempre riferendomi a questo esercizio, il risultato non cambierebbe..codice:{int x = 1; int y = 1; void pippo(reference int z){ z = x + y + z; } {int y = 3; {int x = 3; // Secondo me, questo blocco viene ignorato, perché é mascherato da x = 1; } pippo(y); // ---> y = 5 write(y); // ---> Stampa a video 1 (ma non ne sono sicura) } write(y); // ---> Stampa 1 }![]()

Rispondi quotando