Module: 서브루틴: 절차 및 기능 - 1


Problem

9 /12


로컬 및 글로벌 변수

Theory Click to read/hide

서브루틴에서만 사용되는 추가 변수를 사용해야 하는 경우가 종종 있습니다. 이러한 변수를 로컬 (또는 로컬)이라고 하며 변수가 생성된 서브루틴 내에서만 조작할 수 있습니다.
 

로컬 변수 범위는 선언된 함수 또는 절차입니다

따라서 실제로 필요한 서브루틴으로만 변수의 범위(범위)를 제한할 수 있습니다. 프로그래밍에서 이 기술을 캡슐화  - 외부에서 변경되는 변수를 숨깁니다.

프로그램의 모든 서브루틴에서 볼 수 있는 변수를 선언해야 하는 경우 이러한 변수는 모든 서브루틴 외부에서 선언됩니다(아래 표의 프로그램 3 참조)
이러한 변수를 전역이라고 합니다.

세 가지 프로그램 분석: <몸> 가 표시됩니다. 가 화면에 표시됩니다.

Problem

높이 n의 왕관이 있는 크리스마스 트리를 표시하는 매개변수 n이 있는 프로시저를 작성하십시오.
메인 프로그램은 변수 n 값의 입력과 프로시저 호출을 포함해야 합니다.

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);
종료합니다.
<헤드> <일># <몸>
입력 출력
1 5 <예비>     영형    우   오오오  오오오오오 우우우우우우