이제 사용자가 어떤 실수를 했는지에 따라 사용자의 오류에 대한 응답으로 다른 메시지를 표시해야 한다고 상상해 봅시다.
이 경우 각 오류에 대해 고유한 프로시저를 작성할 수 있습니다.
<예비>
프로시저 printErrorZero();
시작하다
writeln('오류. 0으로 나누기!');
끝;
<예비>
절차 printErrorInput();
시작하다
writeln('입력 오류!');
끝;
가능한 오류가 더 많으면 어떻게 됩니까? 이 솔루션은 우리에게 적합하지 않습니다!
표시할 오류 메시지를 알려줌으로써 절차를 제어하는 방법을 배워야 합니다.
이를 위해서는 프로시저 이름 뒤에 괄호 안에 쓸 매개변수가 필요합니다.
<예비>
프로시저 printError(s: string);
시작하다
writeln(들);
종료;
이 절차에서 s는 매개변수, 즉 절차를 제어할 수 있는 특수 변수입니다.
매개변수는 서브루틴의 작동 방식을 결정하는 변수입니다. 매개변수 이름은 하위 프로그램 헤더에 세미콜론으로 구분되어 나열됩니다. 매개변수 뒤에는 콜론과 해당 유형이 옵니다.
이제 프로시저를 호출할 때 프로시저 내부의 매개변수(변수 s)에 할당될 실제 값을 괄호 안에 표시해야 합니다.
<예비>
printError('오류! 0으로 나누기!');
이 값을 인수라고 합니다.
인수는 서브루틴이 호출될 때 전달되는 매개변수 값입니다.
인수는 상수 값일 뿐만 아니라 변수 또는 산술 표현식이 될 수도 있습니다.