Хобрук: Ваш путь к мастерству в программировании

Назвать переменную BASIC (TI-84) несколькими символами?

Я пытаюсь создать простую программу BASIC для моего TI-84, которая будет вычислять среднюю точку двух заданных точек. Это мой текущий код ниже, который выдает ошибку при попытке запустить программу:

:Prompt XONE,YONE,XTWO,YTWO
:((XONE+YONE)/2)->X
:((XTWO+YTWO)/2)->Y
:Disp X,Y

Причина, по которой я подозреваю, что это как-то связано с моими именами переменных, заключается в том, что я пытался запустить ту же программу, за исключением того, что я назвал переменные A, B, C и D вместо того, что вы видите выше, и это работало нормально.

30.08.2013

Ответы:


1

Некоторые варианты TI BASIC (например, поставляемые с устройствами на базе процессоров 68000) разрешить более длинные имена переменных, но вариант, поставляемый с калькулятором TI-84, позволяет использовать только переменные с A по Z и тета. Подробнее см. здесь.

Следовательно, для них вы не можете использовать такие переменные, как XONE, как вы сделали в своем коде.

В любом случае, ваш расчет средней точки в корне неверен. В настоящее время вы усредняете XONE и YONE, чтобы получить среднюю точку на оси X, тогда как вы должны усреднять XONE и XTWO (это, конечно, игнорирует ограничения, уже упомянутые в отношении разрешенных имен переменных).

Другими словами (при условии, что переменные действительны для вашего калькулятора, а это не так), это будет:

:((XONE+XTWO)/2)->X
:((YONE+YTWO)/2)->Y

С обоими этими изменениями (исправление расчета средней точки и использование только разрешенных имен переменных) это будет примерно так:

:DISPLAY "X1:"
:PROMPT A

:DISPLAY "Y1:"
:PROMPT B

:DISPLAY "X2:"
:PROMPT C

:DISPLAY "Y2:"
:PROMPT D

:((A+C)/2)->E
:((B+D)/2)->F

:DISP E
:DISP F
30.08.2013
  • Поздравляю с ответом №7000! 30.08.2013
  • Я не знаю, кто принял это, но это очень неправильно. Переменные TI-84 ограничены значениями на калькуляторе. Похоже, вы имеете в виду базовый TI-89 (или даже топор). 26.10.2013
  • -1 потому что ваш ответ просто неверен. Возможно, вы отвечаете за какое-то более позднее воплощение TI-Basic (вопрос касается только TI-84) или за какой-то другой язык. Вы должны либо отредактировать свой ответ, чтобы он был правильным, либо указать в своем ответе, что он не относится к TI-84 TI-Basic. 28.02.2015
  • @dohaqatar7, ты действительно не читал ответ? ОП, по-видимому, сделал, поэтому я предполагаю, что они это приняли. В нем довольно четко указаны ограничения на имена переменных для TI-84. Код, который я дал, был просто для демонстрации неправильного расчета, поскольку вам нужно усреднить два x, а не x и y. Тем не менее, я постараюсь сделать это яснее, чтобы в будущем не возникало путаницы. 01.03.2015
  • @paxdiablo, цитируя ваш ответ, TI BASIC, как правило, должен иметь возможность обрабатывать переменные длиной не менее восьми символов. Это утверждение неверно. Я не знаю ни одного из TI-Basic, для которого это справедливо. 01.03.2015
  • @dohaqatar7: en.wikipedia.org/wiki/TI-BASIC#Variables но в контексте вопроса это не имеет значения, поэтому я его удалю. 01.03.2015
  • @paxdiablo Теперь я понимаю, что вызвало мое замешательство, и удалил свой голос против. Ваше утверждение верно для калькуляторов 68k (TI-89, TI-89 Titanium, TI-92, TI-92 Plus и Voyage 200), но вопросы, заданные о калькуляторе Z80 (TI-84). 01.03.2015
  • Нет проблем, @dohaqatar7, любые другие предложения по улучшению этого (или любого другого) ответа будут с благодарностью приняты. Ваше здоровье. 01.03.2015

  • 2

    Как правило, при объявлении переменных в калькуляторе вы хотите, если возможно, придерживаться одного или двух символов. До пяти работает, но обычно используется меньше. Если вы хотите, чтобы пользователь знал, что такое входные данные, попробуйте следующее:

    :DISP "XONE:"
    :PROMPT A
    :DISP "YONE:"
    :PROMPT B
    :DISP "XTWO:"
    :PROMPT C
    :DISP "YTWO:"
    :PROMPT D
    :((A+C)/2)->X
    :((B+D)/2)->Y
    :DISP X,Y
    

    Удачного кодирования!

    21.03.2014
  • +1, потому что это намного точнее, чем текущий лучший ответ; хотя следует отметить, что переменные списка могут иметь имена длиной до 5 символов во всех формах TI-Basic. 28.02.2015
  • Вместо Disp "XONE:":Prompt A используйте Input "XONE", A 06.09.2019

  • 3

    Вы правы, обычные переменные ограничены по длине одним символом; однако многосимвольные имена переменных могут использоваться в других аспектах программирования TI-Basic.

    Список переменных

    Переменные списка могут быть названы с использованием от 1 до 5 символов или с использованием 6 предопределенных переменных списка (L1-L6).

    {1,2,3,4→ALIST
    

    Системные переменные

    Системные переменные можно найти, нажав клавишу VARS на калькуляторе. Они состоят из статистических, табличных и графических переменных, которые обычно состоят из 3 или 4 символов. Примеры этих переменных включают Xmin, Xmax, Ymin, Ymax, TblStart и TblInput. Значения этих переменных могут быть сохранены таким же образом, как и обычные переменные.

    10→Xmin
    
    10→Xmax
    

    Финансовые переменные

    Финансовые переменные функционируют аналогично системным переменным. Они представляют собой набор предопределенных переменных с многосимвольными именами. Основное отличие состоит в том, что все они так или иначе относятся к финансам. Доступ к этим переменным осуществляется нажатием APPS, 1, Right Arrow. Примеры включают I%, PV и PMT.

    10→I%
    
    10→PV
    
    10→PMT
    

    Этот ответ полностью основан на калькуляторе TI-83 Plus. Насколько мне известно, это не должно быть проблемой, но любое непостоянство можно списать на это.

    18.01.2015

    4

    Мне нравится использовать ввод для этого:

    Disp "(A,B)(C,D)
    Input "A:",A
    Input "B:",B
    Input "C:",C
    Input "D:",D
    

    У меня есть программа с этой функцией, которую я постараюсь загрузить позже сегодня.

    РЕДАКТИРОВАТЬ: Загружено и доступно для скачивания здесь.

    07.04.2015
    Новые материалы

    Краткое руководство для начинающих по простому сквозному тестированию с помощью Cypress
    Автоматизированное тестирование, требующее только базовых навыков JavaScript. Цель этой статьи - показать, как с минимальными усилиями вы можете добавить полезные сквозные (E2E) тесты в свой..

    Руководство по быстрой разработке рекомендательной системы промышленного уровня
    В этой статье я намерен предоставить краткий обзор методов, которые можно использовать для разработки хорошо работающей рекомендательной системы. Я начал работать над Recommender Systems около 6..

    Arshaw FullCalendar для AngularJS — проблемы, с которыми столкнулись, и найденные решения для их устранения
    Arshaw FullCalendar — это полноразмерный календарь событий с возможностью перетаскивания, использующий jQuery. Подробнее об этом можно узнать здесь . Директива ui-calendar — это полная..

    Простое руководство по Redux для разработчиков React
    Понимание строительных блоков Redux Redux — это инструмент управления состоянием, который чаще всего используется с React или React Native. Когда я впервые начал использовать его год назад,..

    присоединение к атрисмаркетингу
    присоединение к атрисмаркетингу И много дополнительных привилегий. маркетинг — реклама-хорошие отзывы клиентов-доверие-счастье-лояльность и опытные сотрудники устойчивые лесозаготовительные..

    КОВАРИАНТНОСТЬ И КОРРЕЛЯЦИЯ
    ВВЕДЕНИЕ В этом посте мы обсудим ковариацию и корреляцию. Это играет важную роль при выборе функций. Статистические корреляции говорят нам как о силе связи между двумя переменными, так..

    Использование матриц Вигнера в случаях машинного обучения, часть 8
    Равномерный локальный закон для матриц Вигнера (arXiv) Автор: Джорджо Чиполлони , Ласло Эрдеш , Доминик Шредер . Аннотация: Мы доказываем общий локальный закон для матриц Вигнера, который..