2017-09-13 15 views
1

TI-84 Plus가 있으며, n 차원 벡터의 크기를 계산하는 프로그램을 만들고 있습니다. 아래에 코드와 출력을 포함 시켰습니다.TI-BASIC : 프롬프트 또는 입력 명령에 대한 인덱싱

프로그램 편집기 :

PROGRAM:NTHDMAG 
Disp "HOW MANY DIMENSIONS?" 
Prompt N 
{X,Y,Z,T,A,B,C,D,E,F,G,H,I,J,L,M,P,U,V,W}->L1 
For(K,1,N,1) 
L1(K)->Q 
Prompt Q 
End 

출력 표시 :

pgrmNTHDMAG HOW MANY DIMENSIONS? N=?3 Q=?1 Q=?2 Q=?3 Done 

내가 원하는 질문의 프롬프트에서 각각 L1, 문자, 및 인덱싱 L1 (K)로 대체한다 명령이 오류를 발생시킵니다. L1 글자의 값은 각 구성 요소의 값이 무엇이든 상관 없습니다 (예 : 1i + 2j + 3k).

나는 이것이 명확하길 바란다.하지만 그렇지 않은가를 분명히하는 것 이상이다. 제공 할 수있는 도움에 감사드립니다.

+0

는'Input' 사용자 정의 문자열을 표시 할 수 있습니다, 그러나 이것은 당신이 처음에 필요 정말? 사용자는 일반적인'{A, B, C} 문법으로 목록을 직접 입력 할 수 있습니다. (물론 편리 할 수도있는 기존의 목록과 함께'Rcl '을 사용할 수 있습니다.) 물론 N은 미리 결정되지 않았습니다. – harold

+0

@harold 사용자가 문자열을 입력하게하는 것은 사용자 친화적이지 못하며 원하지 않습니다. 내가 할 수 있다면 할 수 있다는 것을 의미하지만, 한 번에 하나의 변수 만 제시하는 것을 선호합니다. – ProgrammingEnthusiast

+0

'Input'은 사용자 정의 문자열을 * 표시 할 수있게합니다. (또한 입력으로 읽지 만 요점은 아닙니다.) 그게 당신이하려고하는 것입니다, 그렇죠? "Q =?" 맞춤 문자열로? – harold

답변

1

이것은 당신이 뭘 하려는지 수 있으며,

Prompt N 
0->dim(|LT 
For(I,1,N 
    Input sub("XYZTABCDEFGHIJLMPUVW",I,1)+"=?",X 
    X->|LT(I) 
End 
Disp |LT 
DelVar |LT 

enter image description here

Input

은 우리가 문자열을 선택할 수 있도록 Prompt 대신 사용됩니다. 문자열은 "XYZTABCDEFGHIJLMPUVW"에서 단일 문자 부분 문자열을 취한 다음 을 추가하여 변경하는 것이 물론 Prompt처럼 보이게 만듭니다. SourceCoder 구문이므로 |L은 목록 이름에 이상한 작은 ∟를 의미합니다. 목록 T가 보관 된 경우 작동하지 않을 수 있지만 작동하도록 만들 수 있지만 IMO하지 않아야합니다. 일반적으로 보관 된 목록은 사용자가 보관하려고 함을 의미합니다.

그것은

Input "Input List:",|LT 
Disp |LT 
DelVar |LT 

이 예를 들어 더 편리 (전체 목록) 사용자 입력과 같은 Rcl 및 목록 작업을 할 수 있습니다 예를 들어, 사용자가 비록 목록 자신을 입력 할 수 있도록하는 것이 훨씬 더 쉽다 :

enter image description here

아니면 전형적인 :

enter image description here

그러나 N은 명시 적입니다.

결과를 Ans으로두면 유용 할 것입니다. 마지막 줄에서 올바른 명령 대신 값을 평가하여 암시 적으로 인쇄하면 Done이 없어지지만 그렇게 할 수는 없습니다.

Input "Input List:",|LT 
sqrt(sum(|LT^^2 
DelVar |LT 
Ans 

enter image description here

+0

대단히 감사합니다! 난 그냥 하나의 질문을 후속 : 목록은 for 루프 안에 선언 된 이후로, 내 코드에서 다른 곳에서 사용자가 만든 변수를 호출 할 수있을 것인가? – ProgrammingEnthusiast

+0

@ProgrammingEnthusiast 그렇습니다. 변수는 전역 변수이며 심지어 선언되지 않았습니다. 변수가 존재하지 않으면 목록을 생성하는 '0-> dim (| LT')입니다. – harold

+0

변수 X, Y, Z 등을 의미하는 경우 @ProgrammingEnthusiast .. 그런 식으로 작동하지 않습니다 결과는 목록에 있습니다. "변수 변수"에 할당하는 합리적인 방법은 없습니다 (대부분의 언어에서 마찬가지입니다). – harold