( rpsoft | 2020. 12. 30., sze – 18:30 )

Itt inkább az a baj, hogy ha a szubrutinnak valami változókat kell átadni, akkor azokat a neveket nem szabad a főprogramban másra használni. Főleg, ha a szubrutin még belül is csinál valami érdemlegeset, pl. egy olyan szubrutin, hogy

45 rem "szubrutin"
50 let pi = 0.0
55 let s = 1.0
60 for i = 0 to 1000
65 let pi = pi + s/(2.0*i+1.0)
70 let s = -s/3.0
75 next i
80 let pi = sqr(12.0)*pi
85 return

egész jól működik, ha a főprogram

10 rem "főprogram"
20 gosub 45
30 print pi
40 quit

de elég rosszul, ha az i változót valaki használja valamire, és ezt mind fejben kell tartani, hogy melyik szubrutin milyen változóneveket használ.