home *** CD-ROM | disk | FTP | other *** search
/ World of Ham Radio 1997 / WOHR97_AmSoft_(1997-02-01).iso / basic / intermod.bas < prev    next >
BASIC Source File  |  1997-02-01  |  3KB  |  84 lines

  1. 10 CLS
  2. 20 PRINT : PRINT : PRINT : PRINT : PRINT
  3. 30 PRINT "INTERMOD PROGRAM FOR UP TO REQUESTED NUMBER OF FREQUENCIES"
  4. 40 PRINT
  5. 50 PRINT "       A MINIMUM OF 3 FREQUENCIES MUST BE ENTERED"
  6. 60 PRINT
  7. 70 INPUT "          HOW MANY FREQUENCIES DO YOU WANT"; N
  8. 80 CLS
  9. 90 PRINT : PRINT : PRINT : PRINT
  10. 100 DIM A(100)
  11. 110 DIM B(100), C(100), D(100)
  12. 120 FOR I = 1 TO N
  13. 130 PRINT "FREQUENCY ", I, "";
  14. 140 INPUT A(I)
  15. 150 IF A(I) = 0 THEN 170
  16. 160 NEXT I
  17. 170 B = 1: C = 2: D = 3
  18. 180 FOR Z = 11 TO 200: NEXT Z
  19. 190 FOR S = 1 TO N
  20. 200 FOR I = 1 TO (N * N)
  21. 210 IF A(B) = A(C) OR A(C) = A(D) OR A(B) = A(D) GOTO 410
  22. 220 A = (2 * A(B)) - A(C): B2 = (2 * A(C)) - A(B)
  23. 230 C2 = (3 * A(B)) - (2 * A(C)): D2 = (3 * A(C)) - (2 * A(B))
  24. 240 E = A(B) + A(C) - A(D): F = A(C) + A(D) - A(B)
  25. 250 G = A(D) + A(B) - A(C): H = A(B) + (2 * A(C)) - (2 * A(D))
  26. 260 I1 = A(B) + (2 * A(D)) - (2 * A(C)): J = A(C) + (2 * A(B)) - (2 * A(D))
  27. 270 K = A(C) + (2 * A(D)) - (2 * A(B))
  28. 280 L = A(D) + (2 * A(B)) - (2 * A(C)): M = A(D) + (2 * A(C)) - (2 * A(B))
  29. 290 A1 = (2 * A(B)) + A(C): B1 = (2 * A(C)) + A(B)
  30. 300 C1 = (3 * A(B)) + (2 * A(C)): D1 = (3 * A(C)) + (2 * A(B))
  31. 310 E1 = A(B) + A(C) + A(D): F1 = A(C) + A(D) + A(B)
  32. 320 G1 = A(D) + A(B) + A(C): H1 = A(B) + (2 * A(D))
  33. 330 I2 = A(C) + (2 * A(D)) + (2 * A(C)): J1 = A(C) + (2 * A(B)) + (2 * A(D))
  34. 340 K1 = A(C) + (2 * A(D)) + (2 * A(B))
  35. 350 L1 = A(D) + (2 * A(B)) + (2 * A(C)): M1 = A(D) + (2 * A(C)) + (2 * A(B))
  36. 360 M = A(I + 2) + (2 * A(I + 1)) - (2 * A(I))
  37. 370 CLS
  38. 380 GOSUB 470
  39. 390 INPUT "PRESS 'ENTER' TO CONTINUE"; V$
  40. 400 IF V$ = "" GOTO 410
  41. 410 C = C + 1: D = D + 1
  42. 420 NEXT I
  43. 430 B = B + 1
  44. 440 C = 1: D = 2
  45. 450 NEXT S
  46. 460 GOTO 670
  47. 470 PRINT "2 - SIGNAL, 3RD ORDER PRODUCT OF"; A(B); "AND"; A(C)
  48. 480 PRINT "(-)     ", A, B2
  49. 490 PRINT "(+)     ", A1, B1
  50. 500 PRINT
  51. 510 PRINT "2 - SIGNAL, 5TH ORDER PRODUCT OF"; A(B); "AND"; A(C)
  52. 520 PRINT "(-)     ", C2, D2
  53. 530 PRINT "(+)     ", C1, D1
  54. 540 PRINT
  55. 550 IF A(D) = 0 THEN RETURN
  56. 560 PRINT "3 - SIGNAL, 3RD ORDER PRODUCT OF"; A(B); ","; A(C); "AND"; A(D)
  57. 570 PRINT "(-)     ", E, F, G
  58. 580 PRINT "(+)     ", E1, F1, G1
  59. 590 PRINT
  60. 600 PRINT "3 - SIGNAL, 5TH ORDER PRODUCT OF"; A(B); ","; A(C); "AND"; A(D)
  61. 610 PRINT "(-)     "; H; I1; J; K; L; M
  62. 620 PRINT "(+)     "; H1; I2; J1; K1; L1; M1
  63. 630 IF A(D) = 0 THEN 650
  64. 640 RETURN
  65. 650 INPUT "PRESS 'ENTER' TO  CONTINUE"; T$
  66. 660 IF T$ = "" GOTO 670
  67. 670 CLS : PRINT : PRINT : PRINT : PRINT : PRINT
  68. 680 PRINT "           COMPUTATIONS COMPLETE"
  69. 690 INPUT "           DO YOU WANT ANOTHER RUN"; W$
  70. 700 IF W$ = "YES" THEN RUN
  71. 710 END
  72. 720 A1 = (2 * A(I)) + A(I + 1)
  73. 730 C1 = (3 * A(I)) + (2 * A(I + 1)): B1 = (2 * A(I + 1)) + A(I)
  74. 740 D1 = (3 * A(I + 1)) + (2 * A(1)): E1 = A(I) + A(I + 1) + A(I + 2)
  75. 750 F1 = A(I + 1) + A(I + 2) + A(I)
  76. 760 G1 = A(I + 2) + A(I) + A(I + 1): H1 = A(I) + (2 * A(I + 1)) + (2 * A(I + 2))
  77. 770 I2 = A(I + 1) + (2 * A(I + 2)) + (2 * A(I + 1))
  78. 780 J1 = A(I + 1) + (2 * A(I)) + (2 * A(I + 2))
  79. 790 K1 = A(I + 1) + (2 * A(I + 2)) + (2 * A(I))
  80. 800 L1 = A(I + 2) + (2 * A(I)) + (2 * A(I + 1))
  81. 810 M1 = A(I + 2) + (2 * A(I + 1)) + (2 * A(I))
  82. 820 RETURN
  83.  
  84.