Version 2 of the TI Nspire operating system

My main complaint about the Nspire and Nspire CAS, the need to have some kind of input statement in its programmnig language, looks like it is closer to reality. I just have to fiddle with it some more to see if it can really place data in tables (or now, spreadsheets), and see if I can really do I/O in a running program as was the case for the TI-84 family. To be clear, I am not using the new “touchpad” version of the CAS, I am using the slightly older version, which had the original keyboard.

When I did a test statement

Request "---> ", j
and ran it, the calculator came back with a screen using “–>” as a prompt, and a blank for me to input something. I entered “36”, then the input window disappeared, then the string

--> 36
was output. The input window seems cumbersome.  That could be because I like command line input, and think it has less memory overhead on a device where every byte of RAM is precious.

At any rate, the value is stored in j, and this was proven by doing the multiplication

4j
and I got 144. This was on a calculator whose memory was cleared due to the OS upgrade. The cursor is much more sensitive, and there is a noticeable speed impovement over prior OS versions.

I tried to make a simple program, and got nowhere with the Request statement, when I placed it inside a FOR/END FOR loop in a named program.

Programming on the TI-84, Nspire and Nspire CAS

The TI-Nspire comes with a great deal of programming tools, but after many updates, it is still crippled by the lack of an input statement.

Without input, what you have is a collection of functions. You have to run and re-run functions with new parameters each time to enter a list.

Of course they provide their spreadsheet, which requires the user to tab to a new cell after each input. Then to go to the first cell of the new row, you need to arrow down then left for several arrow presses until you return to the first cell of the row below. Once all your data is input, TI says you are given two choices: either run your function on your spreadsheet (the output going into a new column), or run your program in calculator mode, using the variables from your spreadsheet as parameters.

Running a TI-84 with an input command, I input data into multiple lists, pressing only the enter key until the end of the list (list length was the first data entered). These lists ended up in the table, namely L1 to L6. To correct my input, I could always return to the table and correct  anything I needed. If the list consisted of multiple items for each row in a table, that was no problem. The program I wrote took care of the tabulation and did the calculations on columns, storing the output in new columns, as the code below illustrates.

I can only see the Nspire becoming most useful after the raw data is fully tabulated. I can see how formerly complex calculations and metadata generation becomes greatly simplified once the table is in place, using the Nspire. I have appreciated how cutting and pasting, and the invocation of spreadsheet-based functions greatly resemble that of Microsoft Excel. Before we appreciate the math power it holds, it is comparatively a slog, with having to navigate back and forth across a spreadsheet.
__________________________
This is a TI-84 Program to input student marks based on 4 categories and calculate statistics on class evaluations. Indentation is for presentation only. You cannot indent code in the TI-84.

VARIABLE DICTIONARY
K: Knowledge out of            A: Application out of
T: Thinking out of             C: Communication out of
N: # of tests                  I: Counts test #
L: Knowledge mark              B: Application mark
U: Thinking mark               D: Communication mark
Z: Used in calculating student's percentage
Y: Amount of mark accounted for so far
L1, L2, L3, ... L6
   ... arrays which hold raw scores or mid-stage calculations,
   each array element accessed through counter I. These are the
   lists stored and tabulated as they appear on the TI-84.

PURPOSE:
This program attempts to convert the 4-mark grade awarded to
students to a percentage overall grade. While many teachers
consider this a "no-no", students appreciate it, and have
a better feel for what the mark means.

If the user chooses not to enter a certain category, then s/he
should enter "0" when prompted at the beginning for what that
category is out of. For example, if the teacher chooses to omit
the category "Application", then s/he should enter "0" in response
to

     AP OUT OF? 0

The user is never prompted for an application mark again.

This program allows for missing sections. Up to 3 of the four
categories can be missing and an adequate percentage will be
calculated, assuming:
     Knowledge 30%
     Application 30%
     Thinking 20%
     Communication 20%
PROGRAM: MARKS

Clear Entries
ClrAllLists
Input "NO OF TESTS? ", N
Input "KN OUT OF? ", K
Input "AP OUT OF? ", A
Input "TH OUT OF? ", T
Input "COMM OUT OF? ", C
For(I, 1, N, 1)
   0->L
   0->B
   0->U
   0->D
   0->Y
   0->Z
   If (K>0)
      Then
         Input "K? ", L
         (L/K)*.3->L1(I)
         L1(I)->Z
         .3->Y
   End
   If (A>0)
      Then
         Input "A? ", B
         (B/A)*.3->L2(I)
         Z+L2(I)->Z
         Y+.3->Y
   End
   If (T>0)
      Then
         Input "T? ", U
         (U/T)*.2->L3(I)
         Z+L3(I)->Z
         Y+.2->Y
   End
   If (C>0)
      Then
         Input "C? ", D
         (D/C)*.2->L4(I)
         Z+L4(I)->Z
         Y+.2->Y
   End
   Disp "MARK: ", (Z/Y)*100
   (Z/Y)->L5(I)
End
(L5*100)->L6
1-Var Stats L6

UPDATE: I had to type in the above code by hand, since no Windows-based editor is available for this coding, and there is no editable file for this code that I am aware of, except through the calculator itself. In the process, I spotted some errors, which have now been corrected.  In the old code, “Y” appeared to be counting a possible total of 1.2 instead of 1. Also, the Communication mark was based on 30% instead of 20%.  Since I have no serious intention to maintain the code on this blog entry, send me a comment if you have any other difficulties with this code.

~~~~~~~~~~~~~~~~~~~~~~
One of the serious disadvantages of programming the TI-84 is the utter lack of syntax structuring for the purposes of readability, such as indentation. Notice also that the IF statement takes up two lines. THEN seems to be treated as though it marks the beginning of a statement block, ended by END.

But, I suppose in the service of reducing the keyword count, END seems to end any statement block, such as a FOR loop. There is also another problem with not being able to move backward to correct data until after the program has finished execution.

While readability was an issue with the TI-84, I am still willing to live with that for the want of an INPUT statement in the NSPIRE. This code allows for efficient keying in of long lists of data.