home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol040 / charfreq.bas < prev    next >
BASIC Source File  |  1984-04-29  |  1KB  |  64 lines

  1. 10 PRINT
  2. 20 PRINT "Please wait while I 'Clean House' on Array Set-up..."
  3. 30 PRINT
  4. 40 CLEAR 3000
  5. 50 D=2500
  6. 60 S=0
  7. 70 DIM B$(2550)
  8. 80 DIM C(D)
  9. 90 DIM L$(D)
  10. 100 FOR N=0 TO D
  11. 110 L$(N)="%"
  12. 120 NEXT N
  13. 130 PRINT "Enter Analysis Text, and terminate with '%'"
  14. 140 PRINT
  15. 150 FOR N=0 TO 10
  16. 160 INPUT B$(N)
  17. 170 IF B$(N)="%" GOTO 190
  18. 180 NEXT N
  19. 190 PRINT "Working...and this will take some time!"
  20. 200 F=N-1
  21. 210 FOR N=O TO F
  22. 220 L=LEN(B$(N))
  23. 230 FOR K=1 TO L
  24. 240 A$=MID$(B$(N),K,1)
  25. 250 FOR J=0 TO D
  26. 260 IF L$(J)=A$ GOTO 330
  27. 270 NEXT J
  28. 280 L$(S)=A$
  29. 290 C(S)=C(S)+1
  30. 300 T=T+1
  31. 310 S=S+1
  32. 320 GOTO 350
  33. 330 C(J)=C(J)+1
  34. 340 T=T+1
  35. 350 NEXT K
  36. 360 NEXT N
  37. 370 M=1
  38. 380 FOR K=1 TO S-2
  39. 390 FOR N=1 TO S-M
  40. 400 IF C(N-1)=C(N) GOTO 470
  41. 410 T$=L$(N-1)
  42. 420 U=C(N-1)
  43. 430 L$(N-1)=L$(N)
  44. 440 C(N-1)=C(N)
  45. 450 L$(N)=T$
  46. 460 C(N)=U
  47. 470 NEXT N
  48. 480 M=M+1
  49. 490 NEXT K
  50. 500 PRINT
  51. 510 PRINT "       Character Frequency Analysis"
  52. 520 PRINT "       ============================"
  53. 530 PRINT
  54. 540 PRINT "Total Characters Entered = ",T
  55. 550 PRINT
  56. 560 PRINT "Character","Occurrence","Probablity (%)"
  57. 570 PRINT "------------------------------------------"
  58. 580 PRINT
  59. 590 FOR N=0 TO D
  60. 600 PRINT L$(N),C(N),100*(C(N)/T)
  61. 610 IF L$(N)="%" GOTO 630
  62. 620 NEXT N
  63. 630 PRINT "------------- End of Analysis ------------":END
  64.