문제는 정지가 루프를 끊는 대신 프로그램을 완전히 종료한다는 것입니다. 대신 또는 루프를 들어 사용하여,이 문제를 해결하려면, 당신은 반복 루프를 사용할 수 있습니다
:1→D
:Repeat (D*E=C and D+E=B) or D=100
::1→E
::Repeat (D*E=C and D+E=B) or E=100
:::E+1→E
::End
::1+D→D
:End
당신은 그들이 명확성을 위해 단지 거기에 있지만, 당신이 그들을 떠날 경우 그들이 작동하기 때문에 코드가 여전히 작동, 여분의 콜론을 무시할 수 있습니다 개행과 동일합니다.
D*E=C and D+E=B
조건이 충족되면 반복 루프가 중단되지만 변수 E
및 D
의 초기화 및 증가를 직접 처리해야합니다.
또한 A
이 1이 아닌 경우 인수 분해 알고리즘이 실패 할 수 있습니다. B
과 C
을 A
으로 나눈 다음 일정한 계수로 A
을 출력하는 것을 고려하십시오.
코드에 또 다른 오류가 발생했습니다. End
문이 너무 많지만이 문제를 해결해도 프로그램이 수정되지 않으며 여전히 Stop
에서 종료됩니다. Then
이없는 If
에는 End
이 필요 없지만 조건이 true이면 한 줄만 실행됩니다. 예를 들어 :
:If <condition>
:<one statement>
또는
:If <condition>
:Then
:<statement 1>
:<statement 2>
:<statement ...>
:<statement n>
:End
문제 1 진짜 문제가되지 않습니다. 'End's는 콜론 (:)으로 구분되기 때문에 각각의 줄에있는 것과 같습니다. 그것은 단지 선호의 문제입니다. 또한'Goto' 명령은'Lbl' 키워드를 사용하면 오류를 줄 것입니다. 레이블 이름, 단순히 'Goto A'로만 따라야합니다. – kamoroso94