로고-절차

프로시 저는 명령 모음을 캡슐화하는 방법을 제공합니다. 프로 시저가 생성되면 기본 제공 명령이 사용되는 방식으로 만 사용할 수 있습니다. 프로 시저의 "의미"는 개별 명령의 의미입니다.

인수가없는 프로시 저는 첫 번째 줄에 'to'(예약어)라는 단어와 프로 시저 이름이 있습니다. (로고에서 예약어는 변수로 사용할 수 없으며 의미와 용도가 잘 정의되어 있습니다.) 마지막 줄에 예약어 'end'가 있습니다.

서브 프로그램은 다른 프로그램이 실행할 명명 된 일련의 단계입니다. 서브 프로그램의 다른 이름은 프로 시저 및 기능입니다. 로고에서는 컴퓨터에 작업 방법을 알려줍니다. 예를 들어

to square
repeat 4 [fd 100 rt 90]
end

절차를 Logo에 설명했으면 기본 제공 항목에 대해 수행하는 것처럼 명령 줄에 해당 이름을 입력 할 수 있습니다. 이 경우 명령 줄에 'square'를 입력하고 Logo는 명령을 검색하여 사각형을 만듭니다.

라는 버튼을 클릭하십시오. Edall(모두 편집 용) 로고의 내장 편집기를 불러옵니다. (로고에 Edall 버튼이 없으면 명령 줄에 'edall'을 입력합니다). 다음 코드 블록에는 필요한 서브 프로그램 구조가 있습니다.

to procedurename
steps of your procedure here
end

프로 시저 또는 서브 프로그램은 'to'라는 단어로 시작하고 그 뒤에 우리가 생각하는 이름이 와야합니다. 다음 단계는 명령 줄에 작성하는 것과 동일한 단계를 모두 입력하는 것입니다. 절차는 'end'라는 단어로 끝나야합니다. 모든 주석 또는 설명 줄은 세미콜론 (;)으로 시작해야합니다.

다음은 위 예의 실제 데모입니다.

이제 명령 줄에서 아래와 같이 "square"라는 이름을 사용하여 절차를 실행합니다.

프로시 저는 기본 제공 명령을 포함 할 수있을뿐만 아니라 다른 프로시 저도 포함 할 수 있습니다.

다음 예제에서 'flower'프로시 저는 본문에서 사전 정의 된 프로 시저 'square'를 호출합니다.

다음 스크린 샷은 "flower"프로 시저가 호출 될 때의 출력을 보여줍니다.

우리는 모든 사각형이 같은 크기가되는 것이 아니라 다양성을 원합니다. 로고에서는 값을 변경할 수있는 변수를 만듭니다. 다음 예제에서 약간의 변경 사항이있는 동일한 제곱 절차를 사용합니다.

to square :n
repeat 4 [fd :n rt 90]
end

아래와 같이 명령 줄에서 ': n'에 대한 대체 값을 Logo에 제공합니다.

square 50
square 75
square 100

다음은 위 예의 실제 데모입니다.

이제 두 개의 인수를 프로 시저에 전달하는 방법에 대해 설명하겠습니다. 다음 스크린 샷은 동일한 실제 데모입니다.