함수는 결과(숫자, 문자열 등)를 반환하는 서브루틴입니다.
온라인 상점에서 제품을 주문했다고 상상해 보십시오. 프로그래밍 관점에서 볼 때 특정 서브루틴을 호출했으며 절차와 달리 이 서브루틴은 결과를 반환해야 합니다. 주문한 제품을 배송합니다. 이러한 서브루틴을 함수라고 합니다.
함수는 프로시저와 거의 같은 방식으로 형식화됩니다.
<예비>
function <function name>(<variable name>:<its type> 세미콜론으로 구분된 매개변수 목록): <return value type>
시작하다
<함수 본체>
종료;
함수와 프로시저의 차이점은 함수는 값을 반환해야 한다는 것입니다. 이렇게 하려면 함수 이름을 변수로 사용하거나 특수 변수 Result를 사용해야 합니다.
<예비>
함수 합계(a, b:정수): 정수;
시작하다
합계 := a + b;
종료;
또는
<예비>
함수 합계(a, b:정수): 정수;
시작하다
결과 := a + b;
종료;
두 정수의 산술 평균을 반환하는 함수는 다음과 같습니다.
<예비>
함수 평균(a, b: 정수): 실수;
시작하다
평균 := (a + b) / 2;
끝;
메인 프로그램에서 이 함수를 호출하는 방법을 이해해야 합니다.
프로시저를 호출하는 것과 같은 방식으로 함수를 호출하면 안 됩니다.
<예비>
평균(10, 5);
함수에 의해 반환된 값은 손실됩니다. 마치 온라인 상점의 상품이 누구에게도 주어지지 않고 버려지는 것과 같습니다. 고객이 좋아할 것 같지 않습니다.
결과를 변수에 저장(또는 화면에 인쇄)하는 것이 더 정확합니다.
<예비>
a := 평균(10, 5);
또는
<예비>
writeln(평균(10, 5));