ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Community :: Articles :: Of Mice and Math Programs
Of Mice and Math Programs

Posted on 28 August 1998

The following text was written by S.T.L.:

Why'd I choose that title? I don't know, it sounded niftier than, "Of Mice and Math and Science Programs".

Anyways, it's late at night again, and I'm browsing through the ticalc.org archives. One thing I notice is that there is a serious deficiency of math/science programs in general, and a waaaay serious deficit of assembly math/science programs. Well, I know they can't be as popular as games, but they sure are darn useful. So, the basic idea of this article is that: Some changes need to be made in the way math/science programs are conceived and written.

Let me take the TI-85 TI-Basic Math program Diviz as an example. It tests numbers to see if they're prime. The author writes: "But this one is the fastest I've seen." Well, it's not that fast at all. (No offense intended to the programmer, it's great he wrote a math program.) The process Diviz uses is Baby Trial Divide. Without going into serious mathematical language here, there exists a better process called Wheel Factorization. Had the author studied Number Theory (the area of math involved with primes and such) a little, he'd at least know about that. It's pretty simple, I implemented it on my TI-85. There are of course even better things, but they can't be done on a TI-85. This example of deficient programming isn't restricted to one program. There are some triangle solving programs there, and some of them (all of them?) don't seem to know of the Law of Cosines, which would let them solve more triangles. It's also pretty simple, I implemented it on my TI-85.

Now, let's talk about Periodic Table programs. I *used* to have one on my TI-85. I also can't program one, since I'm assembly-illiterate. Yet I deleted it. Why? Because I do some heavy-duty work with chemistry, and I'm a precision fanatic. I want as much precision in the atomic masses as I can get. Thus I've gone back to using a paper table. *If* a TI-85 program that had 7+ decimal precision for atomic masses came out, it would be really useful.

Now, all this has led me to the opinion that math/science programmers have to know the subject they're doing in detail before they write a program, so that it is as detailed, as efficient, and as useful as possible. For example, I'm not bothering to upload my program TRI, because anyone can hack up that sort of thing in TI-BASIC, and may even be better than mine. I'm also probably not going to upload my program PRIME2. Why? Though it's pretty speedy for a TI-85, for the TI-92, there's something infinitely better that I couldn't ever make by myself. The TI-92 Number Theory library, the NTH, can be found at http://home1.gte.net/paulp/nth/ Now, I think ticalc.org should have a link to that. :-D

So, what's this all mean? Well, I've got some opinions on that. Namely:

  1. There need to be more math and science programs (both TI-BASIC and assembly) for all the TI calculators. (Granted, some cannot support the heavy-duty math sometimes required, as in the NTH. No other calculator (except the TI-89) could support that.)
  2. A programmer writing math/science should get to know the subject in detail, to make a program that has many useful features.
  3. Also, a programmer writing math/science should go to extremes to provide precision. (This mostly applies to science. I refuse to use a Periodic Table that gives Oxygen a mass of 16. I'll consider using a Periodic Table that gives Oxygen a mass of 15.9994.)
  4. A programmer writing math/science should get to know ways to implement the algorithms needed, in detail, to make an efficient and quick program. (This mostly applies to math.) If game programmers spend sleepless nights to speed up their games and shave off 11 bytes, then so can math/science programmers.
  5. Also, programs should be written so that they can be used as sub-programs, with no or little modification. For the case of the TI-92 (and 89) they should come in Function format, too. (This mostly applies to math programs. I did this for my program PRIME2, transforming it into PRIME3.)
  6. Programs should be made for really complicated things. Now, while programs that do (say) quadratic equations are useful in their own right for some/most people, there also exists a need for heavy-duty math and science. (Probably the NTH is the first attempt at this that I've seen. A look at the ticalc.org archives shows that most TI-BASIC math programs are for a 8th grade Algebra I audience. And the TI-BASIC science programs are for a medium high school level. And the assembly programs are few and far between.)

Well, anyone else have other suggestions?

  Reply to this item

Re: Article: "Of Mice and Math Programs"
Philip

I totally agree that there should be more asembly prog. deldicated to math and science. I'm much more interest in program such as element85. I hope there will be more misc. type of program are being develop.

Thank you; sincerely
ti- lover

Reply to this comment    3 January 1999, 04:08 GMT


Re: Re: Article: "Of Mice and Math Programs"
snb  Account Info

I have two programs: one that converts decimal to hex, and another that converts decimal to roman numeral. Do you want them?(If you do tell me to upload them and I will.)

Reply to this comment    24 March 2002, 22:16 GMT

Re: Article: "Of Mice and Math Programs"
Cecil W. Ellis

I was reading your article and you made me start
thinking about what I'd like to see on my
calcultor (TI-86). I'm in a chemistry class right
now but the teacher will not let me use a
programmable calculator; bummer. Anyway, you were
talking about the precision of numbers in your
opening comment. I still like to use my TI for homework and my wishlist is, an Approximate
number calculator program which takes in
consideration precision and accuracy and uses the
correct significant figures as the results. Probably an inline filter that catches the
numbers after an operator or parenthesis is
typed. Is something like this already posted?
Also ,while I'm at it, what about a good old
"shift" or "INV" "EE" and "EE" after a result
with a mantissa and exponent is displayed to
move a decimal thru a number one decimal at a
time either forward or backward. TI history
shows pressing "INV" "EE down-arw" the exponent
will increase and pressing "EE down-arw" by
itself makes the exponent decrease. Probably
just pressing the EE and using the arrow keys
would work fine. Well its a thought. I can
program but my brain has fossilized and I got a
bag of school work to do.

Reply to this comment    22 January 1999, 06:58 GMT

Re: Article: "Of Mice and Math Programs"
Bubba

Yo S.T.L! Are you gay? I can see you throwing up your arms and screaming like a girl after every exclamation mark.

Reply to this comment    16 March 1999, 10:12 GMT


Re: Re: Article: "Of Mice and Math Programs"
Blah Poop  Account Info

LOL~

Reply to this comment    24 December 2003, 10:21 GMT

Re: Article: "Of Mice and Math Programs"
eraser
(Web Page)

Hey, don't dis my good friend, the TI-85! It's been with me for 2 years, and it's my buddy. *hiss* And I refuse to acknowledge the existence of the TI-89. The TI-92+ can do everything it does, and more. Now, to find a 92+ Module....

Reply to this comment    21 March 1999, 19:57 GMT
1  2  3  4  5  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer