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


Problem

1/10

서브루틴 기능

Theory Click to read/hide

함수는 결과(숫자, 문자열 등)를 반환하는 서브루틴입니다.

온라인 상점에서 제품을 주문했다고 상상해 보십시오. 프로그래밍 관점에서 볼 때 특정 서브루틴을 호출했으며 절차와 달리 이 서브루틴은 결과를 반환해야 합니다. 주문한 제품을 배송합니다. 이러한 서브루틴을 함수라고 합니다.
함수는 프로시저와 거의 같은 방식으로 형식화됩니다. <예비> 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));

Problem

자연수의 자릿수 합을 계산하는 함수를 작성하세요.
이 함수를 이용하여 입력한 5개의 자연수 중에서 자릿수의 합이 최대인 수를 찾는 프로그램을 작성하시오. 그러한 숫자가 여러 개인 경우 더 큰 숫자를 인쇄하십시오.
 
<헤드> <일># <몸>
입력 출력
1 15
234
11
9
111112
234
Write the program below
var n, i, max, nmax: integer;
// функция, которая вычисляет сумму цифр числа    
// основная программа   
begin
    max := 0;
    nmax := 0; 
    for i := 0 to 4 do
    begin 
    end;
    writeln(nmax);
end. 

     

Program check result

To check the solution of the problem, you need to register or log in!