{ File: varlocal.pas } { Scopo: esemplificare errori nell'uso di variabili locali } program VariabiliLocali; var ch : integer; procedure Conta; var contatore : integer; { variabile locale } begin contatore := contatore + 1 { ATTENZIONE: questa istruzione NON ha senso dal momento che la variabile contatore viene creata ad ogni attivazione della procedura. Quindi, ad ogni attivazione della procedura il suo valore e` indeterminato. } end; { Conta } begin { VariabiliLocali } contatore := 0; { ERRORE: la variabile contatore NON e` visibile nel programma principale } repeat write('Vuoi continuare? '); readln(ch); if (ch = 's') or (ch = 'S') then Conta until (ch <> 's') and (ch <> 'S'); writeln(contatore) { ERRORE: la variabile contatore NON e` visibile nel programma principale } end. { VariabiliLocali }