- TI nspire
[TI-Nspire] 프로그래밍 If, Lbl, and Goto to Control Program Flow
원본 출처 :
https://education.ti.com/html/webhelp/nspire/4.2/NAVHH/TI-NspireNavigatorHelp_EN/Content/M_Programming/PR_Using_If_Lbl_and_Goto.htm
You are here: Programming > Using If, Lbl, and Goto to Control Program Flow
Using If, Lbl, and Goto to Control Program Flow
If 명령어와 여러 If...EndIf 구조는 조건부로 명령문이나 명령문 블록을 실행할 수 있게 해 줍니다. 즉, (예: `x>5`)와 같은 테스트 결과에 따라 실행됩니다. Lbl(레이블)과 Goto 명령어는 함수나 프로그램 내에서 한 위치에서 다른 위치로 분기하거나 점프할 수 있게 합니다.
If 명령어와 여러 If...EndIf 구조는 Program Editor의 Control 메뉴에 있습니다.
`If...Then...EndIf`와 같은 구조를 삽입하면 템플릿이 커서 위치에 삽입됩니다. 커서는 조건부 테스트를 입력할 수 있는 위치로 이동됩니다.
If Command
조건부 테스트가 참일 때 단일 명령을 실행하려면 일반 형식을 사용하십시오:
If x>5 Disp "x is greater than 5" À Disp x Á |
À |
Executed only if x>5; otherwise, skipped. |
Á |
Always displays the value of x. |
In this example, you must store a value to x before executing the If command.
If...Then...EndIf Structures
조건부 테스트가 참일 경우 하나의 명령 그룹을 실행하려면 다음 구조를 사용하십시오:
If x>5 Then Disp "x is greater than 5" À 2¦x&x À EndIf Disp x Á |
À |
Executed only if x>5. |
Á |
Displays the value of: 2x if x>5 x if x{5 |
Note: EndIf marks the end of the Then block that is executed if the condition is true.
If...Then...Else...EndIf Structures
조건부 테스트가 참일 경우 하나의 명령 그룹을 실행하고, 조건이 거짓일 경우 다른 명령 그룹을 실행하려면 다음 구조를 사용하십시오:
If x>5 Then Disp "x is greater than 5" À 2¦x&x À Else Disp "x is less than or equal to 5" Á 5¦x&x Á EndIf Disp x  |
À |
Executed only if x>5. |
Á |
Executed only if x{5. |
 |
Displays value of: |
If...Then...ElseIf... EndIf Structures
더 복잡한 형태의 If 명령어를 사용하면 여러 조건을 테스트할 수 있습니다. 예를 들어, 사용자로부터 제공된 인수가 네 가지 옵션 중 하나를 나타내는지 테스트하려고 한다고 가정해 보세요.
각 옵션을 테스트하려면(예: `If Choice=1`, `If Choice=2` 등), If...Then...ElseIf...EndIf 구조를 사용하십시오.
Lbl and Goto Commands
Lbl(레이블)과 Goto 명령어를 사용하여 흐름을 제어할 수도 있습니다. 이러한 명령어는 Program Editor의 Transfers 메뉴에 있습니다.
Lbl 명령어를 사용하여 함수나 프로그램 내 특정 위치에 레이블(이름)을 지정할 수 있습니다.
Lbl labelName |
name to assign to this location (use the same naming convention as a variable name) |
그런 다음, Goto 명령어를 함수나 프로그램의 원하는 지점에서 사용하여 지정된 레이블에 해당하는 위치로 분기할 수 있습니다.
Goto labelName |
specifies which Lbl command to branch to |
Goto 명령어는 무조건적이기 때문에(항상 지정된 레이블로 분기), 종종 If 명령어와 함께 사용되어 조건부 테스트를 지정할 수 있습니다. 예를 들어:
If x>5 Goto GT5 À Disp x -------- -------- Á Lbl GT5 Disp "The number was > 5" |
À |
If x>5, branches directly to label GT5. |
Á |
For this example, the program must include commands (such as Stop) that prevent Lbl GT5 from being executed if x{5. |
세상의모든계산기 님의 최근 댓글
낮에 TV에서 영화 '말모이' 해주더라구요. 그래서 한번 물어 봤습니다. 2025 10.10 마지막 발언이 마지막 힌트이자 문제의 핵심이군요. 처음 들은 달이 8월이었다면 (15일인지 17일인지 확신할 수 없어서) 마지막 대사를 할 수 없지만, 처음 들은 달이 7월이었다면 (선택지가 16일 하나라서 확신이 가능하므로) 마지막 대사를 할 수 있다. 대사를 했으니 7월이다. 이제 이해되었습니다. 지금 보니까 이해가 되는데, 당시에는 왜 이해가 안됐을까요? 세가지 전제 하에 문제를 풀면 A는 마지막 대화 2줄만으로 C의 생일을 알 수 없어야 정상인데, 무슨 이유에서인지 "그럼 나도 앎!"이라고 선언해 버립니다. 알게 된 이유를 대화 속에서 찾을 수는 없습니다. 이 편견에 사로잡혀 빠져나오지 못하고 다른 길로 계속 샜나봅니다. 2025 10.09 (장*훈)님 (+10,000원) 계좌 후원(2025/10/09) 감사 드립니다. 2025 10.09 원래 식이 풀어진 상태에서는 두번째 인수 v가 분모, 분자에 섞여 있어서 계산기가 처리하지 못하는 듯 합니다. 이 때는 위에서와 반대로 분모 부분만 다른 문자(w)로 치환한 다음 completesquare(,v^2) 처리를 하면 일부분은 묶이는 듯 합니다. 하지만 여기서 처음 모양으로 더 이상 진행되진 않네요. 2025 10.08 전체 식에서 일부분(분모, 루트 내부)만 적용할 수는 없습니다. 번거롭더라도 해당 부분만 따로 끄집어 내서 적용하셔야 합니다. https://allcalc.org/30694#comment_30704 2025 10.08