New Reply

TI-89 "PAY" program, infinite loop problem?

 
Share Thread Thread Tools
May18-11, 07:09 PM   #1
 

TI-89 "PAY" program, infinite loop problem?


I have tried to write a program required for class (Math Analysis, junior in highschool, everyone else has an 83 or 82 but my grandmother bought me this one......so nobody else has been able to help yet) but after solving one error message (I had to unlock a variable) another problem comes up. "Warning: overflow replaced by infinity or negative infinity." When I break the program's functioning by pressing ON it consistently takes me to the same place. Here's the entire program. I bolded the spot where Error: Break takes me to. I used lowercase letters, if there is an upper case letter thats because the lower case was easy to confuse with a number.
:pay()
:Prgm
:Input "loan", b
:Input "apr", r
:Input "payment", p
:b->L
:While p (less than or equal to sign goes here)btimesr/1200
:Disp "payment too small"
Input "payment=", p
EndWhile
0->n
1+r/1200->m
While b>p
btimesp-p->b
n+L->n
EndWhile
ptimesn+b->t
t-L->i
Disp "number payments", n
Disp "last payment", b
Disp "total paid", t
Disp "interest", i
EndPrgm
PhysOrg.com
PhysOrg
science news on PhysOrg.com

>> Galaxies fed by funnels of fuel
>> The better to see you with: Scientists build record-setting metamaterial flat lens
>> Google eyes emerging markets networks
May20-11, 01:09 PM   #2
 
Mentor
Quote by TTPW View Post
I have tried to write a program required for class (Math Analysis, junior in highschool, everyone else has an 83 or 82 but my grandmother bought me this one......so nobody else has been able to help yet) but after solving one error message (I had to unlock a variable) another problem comes up. "Warning: overflow replaced by infinity or negative infinity." When I break the program's functioning by pressing ON it consistently takes me to the same place. Here's the entire program. I bolded the spot where Error: Break takes me to. I used lowercase letters, if there is an upper case letter thats because the lower case was easy to confuse with a number.
I don't have any experience with TI-89 programming, so I'm not sure what it allows you to do. Can you have variable names with more than one letter? Your program would be easier to follow if the variable names were more suggestive of what they represent.

Also, put code inside [ code] and [ /code] tags (without the extra space that I included)
Quote by TTPW View Post
Code:
:pay()
:Prgm
:Input "loan", b
:Input "apr", r
:Input "payment", p
:b->L
:While p (less than or equal to sign goes here)btimesr/1200
Does your code actually use btimesr? I would think it would be something like b * r/1200
Quote by TTPW View Post
Code:
:Disp "payment too small"
Input "payment=", p
EndWhile
0->n
1+r/1200->m
While b>p
btimesp-p->b
Should this be b * p - p -> b?
If you have an infinite loop here, it is because b > p and the line below isn't decrementing b to the point where b <= p.
Quote by TTPW View Post
Code:
n+L->n
EndWhile
ptimesn+b->t
p * n + b -> t ?
Quote by TTPW View Post
Code:
t-L->i
Disp "number payments", n
Disp "last payment", b
Disp "total paid", t
Disp "interest", i
EndPrgm
May20-11, 05:49 PM   #3
 
Blog Entries: 9
Recognitions:
Gold Membership Gold Member
Since the loop implies B>P, it's likely that B*P-P = P(B-1) > B unless P is small. Thus, B continually increases causing the infinite loop.

Mark, FYI the TI-89 uses a limited version of BASIC called TI-BASIC. (I remember the language fondly from my high school days with a TI-84, in the way that horrible experiences are sometimes remembered fondly after being done with them. It's a great language to tinker with, but once you've used a full programming language you wonder how you ever managed with it...)
May20-11, 08:32 PM   #4
 

TI-89 "PAY" program, infinite loop problem?


whenever I put "times" i meant the symbol. I knew using x would have made things horribly confusing and I didn't put much thought into what else I could use. Its weird how the math wouldn't come out right because it works on the 82 and 83, I'd think that they would have the same problem
May20-11, 09:56 PM   #5
 
Quote by TTPW View Post
whenever I put "times" i meant the symbol. I knew using x would have made things horribly confusing and I didn't put much thought into what else I could use. Its weird how the math wouldn't come out right because it works on the 82 and 83, I'd think that they would have the same problem
Typically, "*" is used for the multiplication symbol.

Does it work now, or is it still giving the same error? If it's still not working, I can help. But, it would be helpful to know exactly what the program is supposed to do.
May20-11, 10:15 PM   #6
 
Blog Entries: 9
Recognitions:
Gold Membership Gold Member
What is your test case? I ran your code on an 84 and ended up with an overflow.
May21-11, 01:36 PM   #7
 
Yes its still giving the same error. What is a test case?
And the program is supposed to tell you the number payments, last payment, total paid, and the amount of interest spent after you plug in the info requested at the beginning. We're in a finance unit. Well, we were, the test is over (I borrowed another person's calculator with the working program).
May21-11, 01:50 PM   #8
 
Blog Entries: 9
Recognitions:
Gold Membership Gold Member
I.e. the inputs you used with a known answer to test the program.
May21-11, 07:30 PM   #9
 
Ah, well thank you. APR: 18 Monthly Payment: 100 Loan: 1500
The answers weren't whole numbers. I memorized the inputs because I tested it so many times trying to figure out how to make it work. If you get answers that aren't even numbers I'll search through my homework to find the problem.
New Reply
Thread Tools


Similar Threads for: TI-89 "PAY" program, infinite loop problem?
Thread Forum Replies
In binary can we have a value with "deci" "centi" "mili" or more lower valued prefix? Computers 14
A "countable basis" vs. "countably locally finite" problem Calculus & Beyond Homework 2
Finding "a" and "b" in an infinite series limit comparison test Calculus & Beyond Homework 10
loop problem, "critical velocity" Introductory Physics Homework 6