Presents a table of values of y1 to y4. User sets range and # of digits and functions displayed. ----begin documentation---- This program was designed to (roughly) emulate a TI-82's table feature on a TI-85. While it has flaws, it does many things nicely. To use the program, first store one to four functions in y1, y2, y3, and y4, and then run the program. The opening menu allows you to set many things: Range: Sets the initial value of x, "TblMin", and "Tbl", the increment between x values. The defaults are 0 and 1, respectively. #Fns: Sets the number of functions you want to use in your table. This is necessary because there is apparently no way for a program to sense which of y1, y2, y3, and y4 are defined on the TI-85. Select "1" to choose just y1, select "3" to choose y1, y2, and y3, etc. The default is "1". #digt: Sets the number of digits to display past the decimal in the table; enter "-1" for float-mode. "3" or "4" work well, the default is "-1", i.e. float-mode. The first three options above return you to the main menu when you are done with them. quit: Ends the program. Use this rather than pressing "ON" to halt execution: the program may have put the calculator in "fix" mode, and "quit" returns the calculator to "float" mode. Table: Shows the actual table, either the default or as set by the menu options above. x and y1 (and y2 if two or more functions were selected) are presented in a table with six entries. A sub-menu appears: PageD: Shows the next 6 entries in the table, i.e. larger x's. PageU: Shows the previous 6 entries in the table, i.e. smaller x's. NxtFn: If more than one function was selected in the #Fns option, this will show the "next column to the right", i.e. if y1,y2 were displayed, NxtFn will display y2,y3. This wraps around to y1 when you run out of functions. PrvFn: Opposite of NxtFn, this shows the "column to the left", i.e. if y3,y4 were displayed, PrvFn will display y2,y3. This wraps also. Main: Returns to the main menu, where settings can be changed. Notes: Since the font available for programming is large, not a lot fits on the screen. If the numbers are large (i.e. require scientific notation), things get a bit cramped. If the numbers have MANY digits, the columns overlap in ugly ways. If the user requests, say, three functions when only y1 and y2 are defined, the program crashes. If the user presses "QUIT" as they should, they can re-run the program by simply pressing "ENTER". If the user presses "GOTO", they are put in edit mode and could easily wreck the program. To help avert this, I've put some comments in the program that the user would see at that point, saying: "y3 undefined! Press EXIT". If they do, all is well. Please send me comments about this program and its usefulness or lack thereof. Program written by Prof. Mark Janeba, Dept. of Math, Willamette Univ, Salem, OR 97301 (internet: mjaneba< at >willamette.edu) web page: http://www.willamette.edu/~mjaneba/ ----end documentation---- ----begin ASCII---- \START\ \COMMENT=Program file dated 09/28/94, 16:04 \NAME=TABLE \FILE=table.85P 1\->\FnNo:0\->\tblmin:1\->\\UC-Delta\t 1\->\NFns:Float:\(-)\1\->\NDigs Lbl START ClLCD Disp "":Disp "":Disp "Your function(s)" Disp "should be in y1..y4." Menu(1,"Range",Rng,2,"#Fns",SET,3,"#digt",NDg,4,"Table",Tbl,5,"quit",TQ\#\ UIT) Lbl NDg ClLCD Disp "# digits to show" Input "(\(-)\1 for float):",NDigs max(iPart (NDigs),\(-)\1)\->\NDigs min(NDigs,11)\->\NDigs Goto START Lbl Rng ClLCD Disp "Range Setup" Input "TblMin=",tblmin Input "\UC-Delta\Tbl=",\UC-Delta\t Goto START Lbl SET Repeat (abs (NFns-2.5)\<=\1.5)(iPart NFns==NFns) Disp "How many functions?" Input "Enter 1,2,3,or 4:",NFns End Goto START Lbl Tbl tblmin\->\x Goto TESTfns Lbl CONTD If NFns>1 mod(FnNo,NFns)+1\->\FnNo2 ClLCD Outpt(1,1,"x") Outpt(1,8,"y") Outpt(1,9,FnNo) If NFns>1:Then Outpt(1,15,"y") Outpt(1,16,FnNo2) End If NDigs==\(-)\1:Then Float Else:Fix NDigs:End For(cnt,2,7,1) Outpt(cnt,1,x) If FnNo==1 Outpt(cnt,8,y1) If FnNo==2 Outpt(cnt,8,y2) If FnNo==3 Outpt(cnt,8,y3) If FnNo==4 Outpt(cnt,8,y4) If NFns>1:Then If FnNo2==1 Outpt(cnt,15,y1) If FnNo2==2 Outpt(cnt,15,y2) If FnNo2==3 Outpt(cnt,15,y3) If FnNo2==4 Outpt(cnt,15,y4) End x+\UC-Delta\t\->\x End Float Menu(1,"PageDn",CONTD,2,"PageUp",CONTU,3,"NxtFn",ContR,4,"PrvFn",ContL,\#\ 5,"Main",START) Lbl CONTU x-12\UC-Delta\t\->\x Goto CONTD Lbl ContR mod(FnNo,NFns)+1\->\FnNo x-6\UC-Delta\t\->\x Goto CONTD Lbl ContL mod(FnNo-2,NFns)+1\->\FnNo x-6\UC-Delta\t\->\x Goto CONTD Lbl TQUIT ClLCD Disp "To run table again," Disp "just press ENTER" Return Lbl TESTfns tblmin\->\x "y1 undefined! Press EXIT!" y1\->\y "y2 undefined! Press EXIT!" If 2\<=\NFns:y2\->\y "y3 undefined! Press EXIT!" If 3\<=\NFns:y3\->\y "y4 undefined! Press EXIT!" If 4\<=\NFns:y4\->\y Goto CONTD \STOP\ ----end ASCII---- ----begin UUE---- begin 644 table.85p M*BI423@U*BH:#`!03$N+GDT+B+6365N=2@Q+")286YG92(L4FYG+#(L(B-&;G,B M+%-%5"PS+"(C9&EG="(L3D1G+#0L(E1A8FQE(BQ48FPL-2PB<75I="(L5%%5 M250IUDQB;"!.1&?60VQ,0T361&ES<"`B(R!D:6=I=',@=&\@2!F=6YC=&EO;G,_(M9);G!U="`B16YT97(@,2PR+#,L M;W(@-#HB+$Y&;G/616YDUD=O=&\@4U1!4E363&)L(%1B;-9T8FQM:6X<>-9' M;W1O(%1%4U1F;G/63&)L($-/3E1$UDEF($Y&;G,^,=9M;V0H1FY.;RQ.1FYS M*2LQ'$9N3F\RUD-L3$-$UD]U='!T*#$L,2PB>"(IUD]U='!T*#$L."PB>2(I MUD]U='!T*#$L.2Q&;DYO*=9)9B!.1FYS/C$Z5&AE;M9/=71P="@Q+#$U+")Y M(BG63W5T<'0H,2PQ-BQ&;DYO,BG616YDUDEF($Y$:6=S/3T:,3I4:&5NUD9L M;V%TUD5L3$IUDEF($9N3F\R/3TRUD]U='!T*&-N M="PQ-2QY,BG6268@1FY.;S(]/3/63W5T<'0H8VYT+#$U+'DS*=9)9B!&;DYO M,CT]--9/=71P="AC;G0L,34L>30IUD5N9-9X*[YT''C616YDUD9L;V%TUDUE M;G4H,2PB4&%G941N(BQ#3TY41"PR+")086=E57`B+$-/3E15+#,L(DYX=$9N M(BQ#;VYT4BPT+")0-9';W1O($-/3E1$UDQB;"!#;VYT4M9M;V0H1FY.;RQ. M1FYS*2LQ'$9N3F_6>"TVOG0<>-9';W1O($-/3E1$UDQB;"!#;VYT3-9M;V0H M1FY.;RTR+$Y&;G,I*S$<1FY.;]9X+3:^=!QXUD=O=&\@0T].5$363&)L(%11 M54E4UD-L3$-$UD1I3,@=6YD M969I;F5D(2!030<>=9';W1O($-/ %3E1$YQ\` ` end ----end UUE----