서브루틴 기능
함수는 결과(숫자, 문자열 등)를 반환하는 서브루틴입니다.< / 디비전>
온라인 상점에서 제품을 주문했다고 상상해 보십시오. 프로그래밍 관점에서 일부 서브루틴을 호출했으며 절차와 달리 이 서브루틴은 결과를 반환해야 합니다. 주문한 제품을 배송합니다. 이러한 서브루틴을 함수라고 합니다.
함수는 프로시저와 정확히 같은 방식으로 형식화됩니다. 절차와 유일한 차이점은 특수 연산자 return 이 있다는 것입니다. 그 뒤에 기본 프로그램으로 반환될 값이 기록됩니다.
두 정수의 산술 평균을 반환하는 함수는 다음과 같습니다.
<예비>
데프 평균(a, b):
평균 = (a + b) / 2
평균 반환
메인 프로그램에서 이 함수를 호출하는 방법을 이해해야 합니다.
프로시저와 같은 방식으로 함수를 호출하면 안 됩니다.
<예비>
평균(10, 5)
함수에 의해 반환된 값은 손실됩니다. 마치 온라인 상점의 상품이 누구에게도 주어지지 않고 버려지는 것과 같습니다. 고객이 좋아할 것 같지 않습니다.
결과를 변수에 저장(또는 화면에 인쇄)하는 것이 더 정확합니다.
<예비>
a = 평균(10, 5)
<예비>
인쇄(평균(10, 5))
기억해야 합니다!
<올>
함수 서브루틴은 프로시저와 같은 형식입니다.
값을 입력할 프로그램의 위치에서 함수가 호출됩니다. 예를 들어, print() 문의 매개변수로 또는 산술 표현식에서.
|
유클리드 알고리즘
유클리드 알고리즘 — 효율적인 BC" title="알고리즘">알고리즘 찾기 최대 공약수 둘 정수 (또는 일반 측정 2 라인). 알고리즘 이름은 그리스어 수학 Euclid (기원전 3세기 ), VII 및 X 도서 « 시작". 오늘날 사용되는 가장 오래된 수치 알고리즘 중 하나입니다.
수학을 기억하세요.
두 자연수의 최대 공약수 (gcd)는 나눌 수 있는 가장 큰 자연수입니다.
예를 들어, 숫자 12와 18의 공약수는 2, 3, 6입니다. 최대 공약수는 6입니다. gcd(12, 18) = 6
프로그래밍에는 Euclid 알고리즘의 여러 구현이 있습니다. 다음은 블록 다이어그램 형식으로 그 중 하나에 대한 설명입니다.
이 알고리즘을 구현해 보세요.
|
논리 함수
종종 프로그래머는 부울 값 "true"를 반환하는 부울 함수를 사용합니다. 또는 "거짓" ( 참또는 거짓)
이러한 기능은 일부 속성을 확인하십시오.
숫자가 짝수인지 확인하는 논리 함수를 작성하는 두 가지 예를 살펴보겠습니다.
<헤드>
설명 |
서브루틴 예시 |
것>
<몸>
1) 더 좋은 방법: 표현식 n % 2 == 0의 결과는 참(True) 또는 거짓(False)입니다. |
<예비>
def isEven(n):
반환(n % 2 == 0)
|
2) 그렇게 써도 되지만, 어차피 긴 기록은 하지 않는 것이 좋다 |
<예비>
def isEven(n):
n % 2 == 0인 경우:
true를 반환합니다.
또 다른:
False 반환
|
테이블>
함수 및 프로시저 작업에 대한 마지막 참고 사항: 프로그램의 함수 및 프로시저 수에는 제한이 없습니다. 또한 하나의 서브루틴은 다른 서브루틴을 호출할 수 있으며 심지어 자신을 호출할 수도 있습니다.
|