ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

70 lines
3.3 KiB

  1. 1 REM TIMUSAN
  2. 5 CLEAR 1000
  3. 10 CLS:PRINT TAB(10);"TIME USE ANALYSIS":PRINT
  4. 20 PRINT "TO USE THIS PROGRAM THE SUBJECT MUST KEEP A CAREFUL
  5. 30 PRINT "LOG OF HOW HE SPENDS HIS TIME FOR A WEEK, OR POSSIBLY
  6. 35 PRINT "SOME OTHER PERIOD. EACH CATEGORY OF ACTIVITY IS GIVEN A
  7. 40 PRINT "CODE, E.G. LUNCH MIGHT BE A 1. THE CODES ARE SUCCESSIVE
  8. 45 PRINT "INTEGERS BEGINNING WITH 1.
  9. 50 PRINT :PRINT "WHEN THE DESIRED AMOUNT OF DATA IS AVAILABLE THEN
  10. 55 PRINT "FOR EACH ACTIVITY AND TIME PERIOD THE USER ENTERS THE CODE
  11. 60 PRINT "AND NUMBER OF MINUTES PERFORMING THE ACTIVITY.
  12. 70 PRINT :PRINT "THE FINAL PRINTOUT IS A SUMMARY OF THE PROPORTION OF
  13. 75 PRINT "TIME SPENT ON EACH ACTIVITY"
  14. 90 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
  15. 100 CLS
  16. 110 INPUT "ENTER THE NUMBER OF DIFFERENT ACTIVITY CATEGORIES";N
  17. 115 R=300:DIM A$(N+1),C(R),T(R),CT(N+1),NT(N+1)
  18. 120 PRINT
  19. 130 FOR I = 1 TO N
  20. 140 PRINT "CATEGORY";I;"DESCRIPTION(<=10 CHARACTERS)";:INPUT A$(I)
  21. 150 NEXT I
  22. 155 PRINT
  23. 160 GOSUB 1000
  24. 165 PRINT
  25. 170 INPUT "IS CATEGORY PRINTOUT ON LINE PRINTER DESIRED(Y/N)";Z2$
  26. 180 IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 170
  27. 190 IF Z2$="Y" THEN INPUT "PRESS ENTER WHEN LINE PRINTER READY";Z9$
  28. 200 IF Z2$="Y" THEN FOR I=1 TO N:LPRINT I;"---";A$(I),:NEXT
  29. 202 IF Z2$="Y" THEN LPRINT " "
  30. 250 CLS
  31. 260 PRINT "TIME USE INPUT NEXT. FOR EACH ITEM ENTER CODE AND
  32. 265 PRINT "NUMBER OF MINUTES PERFORMING THE ACTIVITY AT THIS
  33. 270 PRINT "TIME. ENTER 0,0 TO END AND -1,0 TO DISPLAY CATEGORIES
  34. 271 PRINT "300 ENTRIES MAY BE MADE"
  35. 272 PRINT "THERE ARE ";N;" CATEGORIES."
  36. 275 J=0:REM NUMBER OF TIME USE ITEMS
  37. 280 PRINT
  38. 290 PRINT "ENTRY";J+1;:INPUT "ENTER CATEGORY #,TIME(0,0 END -1,0 DISPLAY";C(J+1),T(J+1)
  39. 295 IF C(J+1)=0 AND T(J+1)=0 THEN GOTO 400 ' FINISH ENTRY
  40. 297 IF C(J+1)=-1 AND T(J+1)=0 THEN GOSUB 1000:GOTO 280
  41. 300 IF C(J+1)<>INT(C(J+1)) OR C(J+1)<1 OR C(J+1)>N THEN GOSUB 10000:GOTO 280
  42. 310 J=J+1
  43. 320 T=T+T(J):REM TOTAL TIME
  44. 330 CT(C(J))=CT(C(J))+T(J):REM TOTAL TIME IN CATEGORY
  45. 335 NT(C(J))=NT(C(J))+1:REM NO. TIMES IN CATEGORY
  46. 340 GOTO 290
  47. 400 REM ANALYSIS AND PRINTOUT
  48. 410 F$(1)="CAT # DESCRIPTION TIME(MIN) # OCCUR AVG.TIME % TOTAL"
  49. 420 F$(2)=" ### % % #####.# ### ####.# ###.##"
  50. 430 CLS
  51. 440 INPUT "IS LINE PRINTER OUTPUT AVAILABLE(Y/N)";Z2$
  52. 450 IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 440
  53. 460 IF Z2$="Y" THEN INPUT "PRESS ENTER WHEN LINE PRINTER READY";Z9$
  54. 470 IF Z2$="Y" THEN LPRINT TAB(20); "TIME USE ANALYSIS":LPRINT " "
  55. 480 CLS:PRINT F$(1):IF Z2$="Y" THEN LPRINT F$(1):LPRINT " "
  56. 490 FOR I= 1 TO N
  57. 500 IF NT(I)>0 THEN PRINT USING F$(2);I,A$(I),CT(I),NT(I),CT(I)/NT(I),CT(I)/T*100
  58. 510 IF NT(I)=0 THEN PRINT USING F$(2);I,A$(I),CT(I),NT(I),0,CT(I)/T*100
  59. 520 IF Z2$<>"Y" THEN GOTO 550
  60. 530 IF NT(I)>0 THEN LPRINT USING F$(2);I,A$(I),CT(I),NT(I),CT(I)/NT(I),CT(I)/T*100
  61. 540 IF NT(I)=0 THEN LPRINT USING F$(2);I,A$(I),CT(I),NT(I),0,CT(I)/T*100
  62. 550 IF I/12=INT(I/12) THEN GOSUB 10100:CLS:PRINT F$(1)
  63. 560 NEXT I
  64. 570 PRINT :END
  65. 1000 REM LIST CATEGORIES ON SCREEN
  66. 1010 CLS:FOR I=1 TO N:PRINT I;" ";A$(I),:NEXT :RETURN
  67. 10000 PRINT "INPUT ERROR! TRY AGAIN!":FOR JE=1 TO 300:NEXT :RETURN
  68. 10100 INPUT "PRESS ENTER TO CONTINUE";Z9$:RETURN