PROGRAM another_procedure_example; VAR count : INTEGER; index : INTEGER; PROCEDURE print_data_out(puppy : INTEGER); BEGIN WRITELN('This is the print routine',puppy:5); puppy := 12; END; PROCEDURE print_and_modify(VAR cat : INTEGER); BEGIN WRITELN('This is the print and modify routine',cat:5); cat := 35; END; BEGIN (* main program *) FOR count := 1 TO 3 DO BEGIN index := count; print_data_out(index); WRITELN('Back from the print routine, index =',index:5); print_and_modify(index); WRITELN('Back from the modify routine, index =',index:5); print_data_out(index); WRITELN('Back from print again and the index =',index:5); WRITELN; (* This is just for formatting *) END; END. (* of main program *)