2015-02-06 2 views
2

Возможно ли выполнить программу в другой программе, требующей параметров? (без наклеивания)Параметры программирования TI-84

E.g.

________________ 
- PROGRAM:ADD 
- :Prompt A,B 
- :A+B>C 
________________ 
- PROGRAM:TEST 
- :For(I,0,20) 
- :Disp (prgmADD (I,I+1)) 
- :End_________ 

Очевидно, что это не работает так, как есть в настоящее время, но я надеюсь, что дал понять, к чему я стремился.

ответ

2

Я не думаю, что есть способ сделать это - вы в основном просите поддельный ввод пользователя, который не поддерживается.

Способ, которым я обходился, заключается в предварительной загрузке переменных путем установки A и B в I, I + 1. Затем у вас есть другая переменная, которую вы никогда не касаетесь в какой-либо программе, которая является флагом, позволяющим подпрограмме знать, что она может пропускать вход.

Когда подпрограмма запускается, для проверки переменной флага используется элемент if. Если он установлен на определенное значение, которое вы выбрали, он знает, что это означает, что ему не нужно запускать команду Prompt, потому что A и B уже установлены. После проверки значения он должен сбросить флаг, чтобы при его запуске вручную он не пропускал приглашение.

Конкретное соглашение, которое я использовал, состояло в том, чтобы иметь последний список в системе, зарезервированный для использования моими программами. Каждая программа знала, что посмотреть на список параметров. Это сделало так, что мне не пришлось беспокоиться о том, чтобы между командами были сопоставлены переменные буквы. Таким образом, в этом случае первым элементом списка может быть 1, чтобы сигнализировать, что есть параметры для чтения. Если оно равно 0, оно использует подсказку. В противном случае он смотрит на второй и третий элементы для значений A и B. Он очищает список, когда он выполняется с ним, поэтому оставшиеся данные не мешают последующим запускам.

+0

Спасибо. Это неплохая работа. – Emcy

2

Как заявила Кэти, нет встроенного метода для передачи параметров между программами TI-Basic. Однако существует примитивный метод, посредством которого один параметр может передаваться функции.

Неоценимое выражение может быть проведено в одной из переменных Y-VARS. Использование этой переменной в вашей программе приведет к тому, что выражение, содержащееся внутри, будет оценено и результат будет возвращен. Интересной частью этого является то, что переменным Y-VARS может быть передан параметр, который будет заменен одной переменной в теле выражения. Переменная, которую она заменяет, зависит от используемой переменной Y-VARS. Function использование переменных X, Parametric использование T и, Polar использование θ.


Эта примерная программа демонстрирует то, что я описал.

:"XLog(X→Y1 
:Disp Y1(10 
:Disp Y1(5 

Когда Y1 передается 10 в качестве параметра, все экземпляр X в Y1 будут заменить 10. Y1 теперь эквивалентен 10log(10 или просто 10. Тот же аффект наблюдается при прохождении 5 в Y1.


Очевидным недостатком этого обходного пути является то, что может передаваться только один параметр. Другие недостатки включают в себя то, что вы можете вводить стандартные функции калькулятора только в один из Y-VARS и что доступ к Y-VARS имеет значительные накладные расходы.

4

Традиционный способ передачи аргументов в списке через Ans так:

________________ 
- PROGRAM:ADD 
- :Ans(1)+Ans(2 
________________ 
- PROGRAM:TEST 
- :For(I,0,20 
- :{I,I+1 
- :prgmADD 
- :Disp Ans 
- :End 
________________ 

 Смежные вопросы

  • Нет связанных вопросов^_^