This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's
TI-BASIC subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.
TI-Basic =>
TI-BASIC
Author |
Message |
|
MrXuj
Newbie
Joined: 09 Jan 2010 Posts: 12
|
Posted: 19 Mar 2010 12:51:02 pm Post subject: |
|
|
Hi there everyone,
I was playing with some code and I ended up with two pieces of code in a program.
Both were part of a Repeat loop. So I wanted to try something out. It works so far, however, I don't know whether this will mess things up later on.
What I have, not the actual code, but a simple rendition of it:
If not(Ans
Repeat A=B
If 0<Ans
Repeat A=C
End
Is this an effective way to do something that's written the same way, in two loops? Or would this bring errors?
Last edited by Guest on 21 Jun 2010 11:39:53 pm; edited 1 time in total |
|
Back to top |
|
|
calc84maniac
Elite
Joined: 22 Jan 2007 Posts: 770
|
Posted: 19 Mar 2010 03:05:56 pm Post subject: |
|
|
This is actually not a good idea. It will screw up the Basic parser if it tries to skip over this bit of code, because the number of Repeats and Ends don't match. |
|
Back to top |
|
|
MrXuj
Newbie
Joined: 09 Jan 2010 Posts: 12
|
Posted: 19 Mar 2010 04:40:33 pm Post subject: |
|
|
Ah, I see. Well back to typing again then. Thanks for the answer. |
|
Back to top |
|
|
calcdude84se
Member
Joined: 09 Aug 2009 Posts: 207
|
Posted: 19 Mar 2010 06:40:14 pm Post subject: |
|
|
The BASIC parser can be strange (or fun, if that's what you think) like that. One of my favorite examples: (this is not an original idea, I am sure that this has been mentioned elsewhere)
Code: ...
For(X,-1,0
If X
Goto S
End
...
Lbl S
...
End
This is about the closest one can get to a subroutine. (I say subroutine, not function, for various reasons) |
|
Back to top |
|
|
Weregoose Authentic INTJ
Super Elite (Last Title)
Joined: 25 Nov 2004 Posts: 3976
|
Posted: 19 Mar 2010 08:06:02 pm Post subject: |
|
|
Repeat A=Bnot(Ans)+C(0<Ans
Again, a simple rendition, as Ans will likely need to be preserved better.
Should Ans always remain in the positives:
Repeat A=Bnot(Ans)+Cnot(not(Ans
or
Repeat A=C+(B-C)not(Ans
The two being of equal size, we should now test which one is faster:
startTmr→T
For(X,0,1)
For(A,0,16)
For(B,0,16)
For(C,0,16)
X
expr
End
End
End
End
checkTmr(T
expr = A=Bnot(Ans)+Cnot(not(Ans
116 seconds
expr = A=C+(B-C)not(Ans
121 seconds
Last edited by Guest on 21 Jun 2010 08:55:57 pm; edited 1 time in total |
|
Back to top |
|
|
|
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.
»
Go to Registration page