서브루틴에서만 사용되는 추가 변수를 사용해야 하는 경우가 종종 있습니다. 이러한 변수를 로컬 (또는 로컬)이라고 하며 변수가 생성된 서브루틴 내에서만 조작할 수 있습니다.
 
로컬 변수 범위는 선언된 함수 또는 절차입니다 em >
따라서 실제로 필요한 서브루틴으로만 변수의 범위(범위)를 제한할 수 있습니다. 프로그래밍에서 이 기술을 
캡슐화  - 외부에서 변경되는 변수를 숨깁니다.
프로그램의 모든 서브루틴에서 볼 수 있는 변수를 선언해야 하는 경우 이러한 변수는 모든 서브루틴 외부에서 선언됩니다(아래 표의 프로그램 3 참조)
이러한 변수를 
전역이라고 합니다.
세 가지 프로그램 분석:
<몸>
| 1) 이 프로그램에서 변수 i는 로컬입니다. 지역 변수는 서브루틴 내에서 선언됩니다. | 
2) 여기서 메인 프로그램에 변수 i(값 7)가 있어도 값 5인 새로운 로컬 변수 i가 생성됩니다.  
이 프로그램을 실행하면 화면에 값 75 | 가 표시됩니다.
3) 이 프로그램에는 전역 변수 i가 있습니다. 그 값은 서브루틴 내부와 메인 프로그램 내부에서 변경할 수 있습니다 
프로시저는 전역 변수 i로 작동하며 2와 같은 새 값이 할당됩니다. 값 2 | 가 화면에 표시됩니다.
절차 테스트(); 
var i: 정수; 
시작하다 
    나는 := 5; 
    writeln(i); 
종료; | 
var i: 정수; 
 
프로시저 테스트(); 
var i: 정수; 
시작하다 
    나는 := 5; 
    writeln(i); 
종료; 
 
시작하다 
    나는 := 7; 
    쓰기(i); 
    테스트(); 
종료합니다. | 
var i: 정수; 
 
프로시저 테스트(); 
시작하다 
    나는 := 2; 
종료; 
 
시작하다 
    테스트(); 
    writeln(i); 
종료합니다. | 
테이블>