Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
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.

This forum is locked: you cannot post, reply to, or edit topics. TI-Basic => TI-BASIC
Author Message
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 13 Jan 2010 07:54:16 am    Post subject:

The other day I started with REDUE22, Which has a " For(J,1,16" loop, that performed as follows:

On the first pass the problem was displayed but when I inputted the correct answer instead of pausing, REDUE22 , as it should, it jumped to the next problem.

On the second pass the process repeated.

On the third pass of the J loop those little dots on the upper right side of the screen kept running. The only way I could stop the running was to shut off the 84.

The first thing I did was {1}-->OVER1. That was to stop the hanging of the 84.
I then checked J on the home screen and it was 17 not 1.

After some thought I decided to put "STOP" in various places in REDUE22 and see where J went from 1 to some other number. To my amazement I discovered that the comments I was putting in the code were causing J to increase. So I reduced the comments to this example:
While 0:3:End

Then I numbered the "While" statements in sequence. I decided I could answer any questions by making a simple Excel spread sheet and explain what was between two sequential numbers for anyone who wanted to know what certain code did.

That left me with just a J value of 2 instead of 1. If I STOP and check the following code as described above then J=1

For(J,1,dim(⌊JONL4
If 3<⌊JONL4(J)
J→⌊JONL5(1+dim(⌊JONL5
End
If I STOP and check the code as described above after the "End" then J=2

Please help me.
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 13 Jan 2010 09:45:50 am    Post subject:

Is the problem such that J ends up at a different place than you expect it to as it leaves the loop? If so, this is not a bug, but a feature. ;)

For( always advances the variable in question at its End. It then checks to see whether the variable has surpassed the limit as described by the third For( argument; if it has, then it will exit the loop without reverting the variable to its destination value; rather, the maximal difference would be described by the increment of the loop, which is 1 by default, but otherwise defined by the fourth argument (which is entirely optional). Of course, setting that increment to zero would probably get you nowhere fast. :)

In this sense, For( is different from a While loop you might write yourself in that it doesn't do an "equal-to" comparison to check for departure. Instead, it asks whether the number you provided has already elapsed.

Was that helpful?


Last edited by Guest on 01 Jul 2010 09:55:20 am; edited 1 time in total
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 13 Jan 2010 01:43:20 pm    Post subject:

Hi Weregoose,

Good to here from you.

Your design of the division code was wonderful. As I closer to getting my big program running, the problems get easier to talk about but appear much more difficult to solve. I have been working on this problem for about three months now. It has been just in the last week or two that I have been able to quantify the problem in a way that others have been able to significantly help.

Let me summarize my longwinded post. If initial values for J are 1,3,5, Thus is 2 illegal. Correct?

If I let my program run without the STOP so that J is now 2 vice 1, after passing over the referenced code. I get an invalid dim error when I want to use J in an TEXT print statement. It is an invalid dim because 2, as a value cannot exist by definition.

So the problem is simple to explain.

Design me some code that performs the discussed function but does not index J from 1 to 2. I sincerely hope & pray you can design me a solution. Rolling Eyes
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 13 Jan 2010 03:20:14 pm    Post subject:

So, if I'm understanding, you want J to skip over all the numbers that are illegal? How do you determine which ones are? Forgive me for not knowing the context of this program as well as I should.

Last edited by Guest on 01 Jul 2010 09:55:40 am; edited 1 time in total
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 13 Jan 2010 04:23:24 pm    Post subject:

Not to worry my friend.

On this site please look at the TI-basic ->For statement that skips numbers

That should make things clear. The content of a program called REDUE22 is under discussion. It's main For loop is For(J,1,16

I can summarize here. J may have values of {1,3,5,7,9} for example. There are some details that I will not explain because it may make this problem more complicated than necessary. In the REDUE22 program is some code that inserts "0s" where there are spaces in the count. So the above would become {1,0,3,0,5,0,7,0,9}. The 0s are where J does not exist. Thus a J of 2 is not possible. Do you see why? This should result in skipping certain flash cards / problems.

But when in normal operation of REDUE22 when it passes over the four lines of code under discussion J is incremented from 1 to 2. When REDUE22 tries to use the J value of 2 to print a TEXT statement it results an invalid dim error because there is not such thing as a J value of 2.

So the object of this rain dance is design some code which performs the same function as the code discussed but does not increment J.

Not clear? Please advise.

Later thinking via edit.

We know that when in normal operation of REDUE22 when ever it passes over the code under discussing that J gets incremented. Is there anything wrong with decrementing it with

J-1-->J

I tried it on the home screen. I seems to work there.


Last edited by Guest on 13 Jan 2010 04:57:18 pm; edited 1 time in total
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 13 Jan 2010 04:45:37 pm    Post subject:

As soon as J adopts its new value, add one to J if the corresponding list element is zero:

For(J,1,16
J+not(listname(J→J



Last edited by Guest on 01 Jul 2010 09:54:01 am; edited 1 time in total
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 13 Jan 2010 05:01:52 pm    Post subject:

I guess our posts passed in the night. What do you think about J-1-->J from my previous post.
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 13 Jan 2010 05:43:59 pm    Post subject:

After looking through both threads, I agree that that might work.

I'd be excited to see this in action for the first time once all the bugs finally get worked out. Once the files are grouped, how do you suppose it will be launched to students?
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 14 Jan 2010 10:54:51 am    Post subject:

I will sell them an 84 loaded with all the programs/ lessons for $140. If they do not like it, I will refund them all but $35 at any time. There will be 48 of these programs. There is code in design that will link all 48 programs. This code is not done yet. It is called MOD0. When the kid shuts off the 84 in lesson 3 for example after lessons 1 and 2 have been successfully completed, then turns the 84 on again it will return the kid to the start of lesson 3. The programs are all stored in non volatile memory and are retrieved by MOD0.

I do have some very very interesting data for you to consider. As always I do not have any answers only test data :biggrin:

To day 1/14 I put a version of SHOWSTUF imbedded in RESUE22. OVER1 in REDUE22 looks like this{1,0,3,0,5,0,7} so values for J of 2 and 4 are illegal if the skipping is done correctly.
SHOWSTUF is shown below. It's function is to display the values shown on each pass of the J loop

ClrHome
Output(1,1,"L4 "
Output(1,5,⌊JONL4
Output(2,1,"L5 "
Output(2,5,⌊JONL5
Output(3,1,"L1 "
Output(3,5,⌊JONL1
Output(4,1,"TWO "
Output(4,5,⌊OVER1
Output(8,1,"JA "
Output(8,5,J
Pause
ClrHome
On each consecutive pass I recorded the values shown below.

Some short hand L4, L5,L1,J
So there we go.
Pass 1
L4 {3}
L5{}
L1{}
J 1
pass two
L4{3,3
L5{}
Li{2}
J 2
pass three
L4{3,3,3,}
L5{}
L1{2}
J 3

pass four
L4 {3,3,3,3}
L5{}
L1 {2,4}
J 4

pass five
L4 {3,3,3,4}
L5{5}
L1{2,4}
J 5.

Some observations about the data. When the program runs the first flash card runs everything is O.K. On the next pass which should be Illegal I get the reversed message. On the third pass which is in the same problem as pass two I get the correct answer. There is a pattern here.
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 14 Jan 2010 07:08:01 pm    Post subject:

Call me blind, but I didn't think that there was going to be money involved, and I'm turned off by it. It's worth noting how easy it is to distribute TI-Basic code freely once it's obtained, and in the case where buyers begin to use their calculators contrary to the purposes of the program, the data is sensitive enough where I would expect the program's behavior to be compromised somehow. And ultimately, I'm all for writing programs that expand the function of the device, but I always make this code public, as I happily did for your project. I'd never deliberately conceal the "how" and ask income for itóand that makes me a terrible economistóbut I'd sooner write my own flashcard program and upload it to ticalc.org than be an abettor to this trade, which is essentially building a brick wall between the students and your gift to them.
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 14 Jan 2010 08:22:03 pm    Post subject:

When the code is finished, I would make it available to anyone for free.

My focus is for those people that do not have a computer, are not computer literate enough to get the code into a calculator. I dream of the day when TI has as an application on their site. I would give it to them for free. I decided after I retired that I wanted to spend my remaining days helping children with their math skills. Given that I suffer from dyslexia, a learning disability, make my effort all the more appealing.

The Mary Robinson the woman that developed this process gets paid $35/hour as a tutor. She has a masters in Education specializing in children with math and reading disabilities. She has been working on this process for 13 years. I some cases with people of means, she tutors them for a year or more to get them to do all the things that the problems demand. So 35 times 52 is $1820

So for $140 the recipient gets an equivalent of what just maybe a better thing than Mary's process. After all flash cards are just that. But for a 2nd grader, they just may interpret the 84, as a wonderful space age toy.

1. The calculator

2. A battery charger so their is not a problem keep the 84 running for 2 or more years, over concerns that the child will get no help from their caregiver.

3. The code

Just remember please, I am not in this for the money.

I cannot say anything else of significance. If this post does not change your views of my effort, I do not expect to here from you or get help from you. If on the other hand, if you want to help, let us concentrate on bring there issues to closure.
:biggrin:
Back to top
rthprog


Newbie


Joined: 19 Apr 2009
Posts: 1

Posted: 15 Jan 2010 10:20:12 am    Post subject:

Why not just charge for only the cost of the calculator?
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 15 Jan 2010 09:14:15 pm    Post subject:

I am working on a number of things.

I want to make a battery charger to run the calculator with the batteries not in the calculator but in the charger. There is packing and shipping charges to get the calculators and shipping charges to get the stuff to the child. When we get close to completion, I will make a cost estimate and provide it to anyone who is interested.

I am committed to not making a profit on this operation. That has been my position from the beginning. If someone wants to audit my records & receipts somewhere along the line, that would be fine with me.

Right now our goal should be to have two sets of programs linked together by MOD0 ASAP. From there it should go to Mary so she can start testing. She has agreed to allow me to sit in while the child uses it.
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 16 Jan 2010 08:48:13 am    Post subject:

I fixed the bug.

J→O
0→dim(⌊JONL5
For(O,1,dim(⌊JONL4
If 3<⌊JONL4(O)
O→⌊JONL5(1+dim(⌊JONL5
End

As you can see, I substituted "O" for "J" thus "J" could not possibly be incremented. Rolling Eyes Rolling Eyes
Back to top
Bhaliar


Member


Joined: 16 Nov 2009
Posts: 221

Posted: 20 Jan 2010 11:44:55 pm    Post subject:

I just want to point out that some Ti calculators have flash card applications, and can be connected to a computer where they can make there own flash cards. That seems preferable because its more flexible and molded to what the child wants to know. ANd less money.
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 21 Jan 2010 08:01:29 am    Post subject:

This is a long story but since I have nothing better to do, I will tell you my story.

When I retired, I decided that I would spend my remaining good days( my DOB is 1930 :biggrin:) helping kids with their math skills. I tutored at a church two nights a week. After I had done this for about two years, I concluded that I could help kids with their algebra but had no clue on how to teach +, -, *, and /. I now refer to"+, -, *, and /" as basic math skills. In particular, I found that teaching basic math skills to children with learning disibilities, was well beyond my skill set!

Quite by coincidence, I met Mary Robinson, who has here masters in education, specializing with children with math & learning disabilities. As a side note I do not believe in coincidences. She had a small incubator space and had been working on a process to teach children their basic math skills for 13 years. The child holds individual flash cards. The child holds the flash card stack in their right hand. There is a math problem displayed there. The child calls out the answer to Mary and in a single motion flips over the flash card,to the left hand to display the correct answer. The child must do 16 flash cards in 1 minute to graduate out of this lesson. Mary's hypothesis is"If they really get it, they will get it quick" Mary says "I never make a change to my process until I try it out on my kids.

I decided that should join forces with Mary since we had common goals. It was clear that Mary needed exposure. In Mary's mind that meant getting out of the incubator and into the class room.

I asked myself how can I help Mary get exposure outside of Charlottesville Virginia USA. After some thinking I decided I would emulate Mary's process on the 84. Mary's process has 48 lessons. So I am on lesson two, after 6 months of work. I am old, slow, and my memory is in the tank. My biggest problem has been to be able to explain a problem in a program without being able to give someone the code so that they can run the code. . As things progressed, I sharpened my skill set in this area. I have made more progress in the last two weeks than I had made in the prior two months.

So now you know
:biggrin:
Back to top
Bhaliar


Member


Joined: 16 Nov 2009
Posts: 221

Posted: 21 Jan 2010 07:20:32 pm    Post subject:

Just one question, are the cards in the same order for each lesson? Also, i'm willing to help, just wanted to point out flash card app. Though it does require some tech savvy to use it to its fullest. Preloaded cards may help more.
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 21 Jan 2010 09:13:06 pm    Post subject:

Mary has a specific order, for each lesson. I measure reaction time for the answering of each question. I use? as a prompt. It is the place where the student knows the answer belongs. When the ? is displayed the timer starts. The child must

1. Recognize ?
2. decide on an answer
3. input the answer
4. press"enter"

If they do that in <4 seconds that is not considered as a long time, which is an error condition

Do you know of any flash card program that does that?

Mary is copyrighting it. :biggrin:

If you really want to help me, I suggest that go to the Cemetech.net and look for a post called "Deleting elements in a list"

You can direct questions to me at

1johnmassey@gmail.com

Or join in with what is going on at cemetech.net


Last edited by Guest on 21 Jan 2010 10:08:08 pm; edited 1 time in total
Back to top
Bhaliar


Member


Joined: 16 Nov 2009
Posts: 221

Posted: 22 Jan 2010 03:38:13 pm    Post subject:

I was just wondering. After a while a kid could memorize the cards, but I doubt that that is the case. That that, wierd. hmm, anyhow.
Back to top
john massey


Advanced Newbie


Joined: 26 Jul 2009
Posts: 50

Posted: 22 Jan 2010 04:12:00 pm    Post subject:

What Mary wants, is to have the children having instant recall with all the problems. :biggrin:
Back to top
Display posts from previous:   
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
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are GMT - 5 Hours

 

Advertisement