Параметры в TI-BASIC

Я написал программу, которая радикально упрощает, но она довольно уродливая, и я заинтересован в том, чтобы «украсить» интерфейс:

prgmSIMPRAD
IN?
R=?48
OUT:
                        4
IN:
                        3
                     DONE

В идеале я хотел бы что-то вроде этого:

prgmSIMPRAD(48)
       4(radical symbol)3

После быстрого гугления я понял, как украсить ответ, но мне все еще любопытно, можно ли поставить параметр в вызове программы.


person Tako M.    schedule 03.08.2014    source источник
comment
И да, я проверил документацию. Ничего не нашел.   -  person Tako M.    schedule 03.08.2014


Ответы (3)


Из того, что я знаю, это невозможно с какими-либо реальными особенностями того, как интерпретатор выполняет программу (нет системной переменной для аргументов или синтаксиса для нее как команды, но я могу ошибаться). Однако вы можете сделать что-то вроде этого:

48:prgmSIMPRAD

Это передаст 48 непосредственно в системную переменную Ans, а затем выполнит программу (: — это просто новая строка). Очевидно, что многие другие вещи будут устанавливать значения в переменную Ans, поэтому вы захотите сразу же сохранить ее, например:

Ans->A
//code here
person Lemon Drop    schedule 27.08.2014
comment
Я собирался ответить на это, к счастью, я прокрутил вверх и увидел, что это уже было сказано. - person Vaelus; 24.05.2015

Это отвечает на вопрос о форматировании текста: http://tibasicdev.wikidot.com/forum/t-601799/radical-simplifying

Input "√(",A
iPart(√(A                ;This is where we start testing for factors of A
While fPart(A/Ans²       ;repeat so long as Ans² does not perfectly divide A
Ans-1                    ;Since the previous number was not a square factor, go to the next
End
Text(0,0,Ans,"√(",A/Ans²,")
person Tako M.    schedule 03.08.2014

Вы можете сделать это, используя красоту команды Output(.

Вы можете сделать это, подсчитав цифры обоих чисел (см. документацию для log(), используя команды If, чтобы проверить, равно ли какое-либо число нулю, и, конечно же, отобразив √( в виде строки.

person user3932000    schedule 27.01.2015