home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / etronic2 / progr2.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1989-01-07  |  3.0 KB  |  89 lines

  1. 200  REM  SIMULTANEOUS EQUATIONS
  2. 201  CLS
  3. 202  PRINT "THIS PROGRAM SOLVES SIMULTANEOUS LOOP EQUATIONS."
  4. 203  INPUT "WOULD YOU LIKE TO SOLVE FOR 2 OR 3 VARIABLES? ",N
  5. 204  IF N = 2 OR N = 3 THEN 209
  6. 205  PRINT
  7. 206  PRINT THIS PROGRAM WILL ON;Y SOLVE FOR 2 OR 3 VARIABLES."
  8. 207  INPUT "PLEASE TRY AGAIN.",N
  9. 208  GOTO 204
  10. 209  A$ = "123"
  11. 210  IF N = 3 THEN 247
  12. 211  REM                 SOLVING FOR TWO VARIABLES
  13. 212  PRINT
  14. 213  PRINT "THIS PROGRAM WILL SOLVE TQO SIMULTANEOUS EQUATIONS."
  15. 214  PRINT "     V1 = ?I1 + ?I2"
  16. 215  PRINT "     V2 = ?I2 + ?I2"
  17. 216  PRINT "FOR THE VARIABLE I1 AND I2"
  18. 217  PRINT "(QUESTION MARKS REPRESENT COEFFICIENTS TO BE ENTERED.)"
  19. 218  PRINT
  20. 219  PRINT "PLEASE ENTER THE FOLLOWING DATA IN BASE UNITS."
  21. 220  PRINT
  22. 221  DIM C(1,1), V(1)
  23. 222  FOR I = 0 TO 1
  24. 223  FOR J = O TO 1
  25. 224  IF J > 0 THEN 228
  26. 225  PRINT "EQUATION NUMBER";I + 1; ":"
  27. 226  PRINT "     V"; MID$(A$,J +1, 1);
  28. 227  INPUT " : ", V(I)
  29. 228  PRINT "     COEFFICIENT OF I"; MID$(A$,J + 1, 1);
  30. 229  INPUT " : ", C(I,J)
  31. 230  NEXT J
  32. 231  NEXT I
  33. 232  PRINT
  34. 233  PRINT
  35. 234  DET = C(0,0)*C(1,1) - C(0,1)*C(1,0)  ' DETERMINANT OF MATRIX C
  36. 235  IF DET <> 0 THEN 237
  37. 236  PRINT "YOUR LOOP EQUATIONS ARE IN ERRE." : END
  38. 237  DETI1 = V(0)*C(1,1) - C(0,1)*V(1)  ' DETERMINANT FOR CAMER'S RULE
  39. 238  DETI2 = C(0,0)*V(1) - V(0)*C(1,0)
  40. 239  PRINT "ANSWERS:"
  41. 240  PRINT
  42. 241  PRINT "     I1 is"; DETI1 / DET
  43. 242  PRINT "     I2 is"; DETI2 / DET
  44. 243  PRINT
  45. 244  PRINT " (A NEGATIVE VALUE INDICATES THE ASSUMED"
  46. 245  PRINT " DIRECTION OF CURRENT WAS INCORRECT.)"
  47. 246  GOTO 290
  48. 247  REM                 SOLVING FOR THREE VARIABLES
  49. 248  PRINT
  50. 249  PRINT " THIS PROGRAM WILL SOLVE THE SIMULANEOUS EQUATIONS"
  51. 250  PRINT "     V1 = ?I1 + ?I2 + ?I3"
  52. 251  PRINT "     V2 = ?I1 + ?I2 + ?I3"
  53. 252  PRINT "     V3 = ?I1 + ?I2 + ?I3"
  54. 253  PRINT " FOR THE VARIABLES I1, I2, AND I3"
  55. 254  PRINT " QUESTION MARKS REPRESENT COEFFICIENTS TO BE ENTERED."
  56. 255  PRINT
  57. 256  PRINT " PLEASE ENTER THE FOLLOWING DATA IN BASE UNITS."
  58. 257  PRINT "(IF A VARIABLE IS NOT PRESENT IN AN EQUATION, ENTER"
  59. 258  PRINT " A ZERO FOR ITS COEFFICIENT.)"
  60. 259  PRINT
  61. 260  DIM C(2,2), V(2)
  62. 261  FOR I = 0 TO 2
  63. 262  FOR J = 0 TO 2
  64. 263  IF J > 0 THEN 267
  65. 264  PRINT "EQUATION NUMBER"; I + 1; ":"
  66. 265  PRINT "     V"; MID$(A$,I + 1, 1);
  67. 266  INPUT ": ", V(I)
  68. 267  PRINT "     COEFFICIENT OF I"; MID$(A$,J+1,1);
  69. 268  INPUT ": ", C(I,J)
  70. 269  NEXT J
  71. 270  NEXT I
  72. 271  PRINT
  73. 272  PRINT
  74. 273  DET = C(0,0)*C(1,1)*C(2,2) + C(0,1)*C(1,2)*C(2,0) + C(0,2)*C(1,0)*C(2,1) - C(0,2)*C(1,1)*C(2,0) - C(0,1)*C(1,0)*C(2,2) - C(0,0)*C(1,2)*C(2,1)
  75. 274  IF DET <> 0 THEN 276
  76. 275  PRINT "YOUR LOOP EQUATIONS ARE IN ERROR.": END
  77. 276  DETI1 = V(0)*C(1,1)*C(2,2)+ C(0,1)*C(1,2)*V(2) + C(0,2)*V(1)*C(2,1) - C(0,2)*C(1,1)*V(2) - C(0,1)*V(1)*C(2,2) - V(0)*C(1,2)*C(2,1)
  78. 277  DETI2 = C(0,0)*V(1)*C(2,2) + V(0)*C(1,2)*C(2,0) + C(0,2)*C(1,0)*V(2) - C(0,2)*V(1)*C(2,0) - V(0)*C(1,0)*C(2,2) - C(0,0)*C(1,2)*V(2)
  79. 278  DETI3 = C(0,0)*C(1,1)*V(2) + C(0,1)*V(1)*C(2,0) + V(0)*C(1,0)*C(2,1) - V(0)*C(1,1)*C(2,0) - C(0,1)*C(1,0)*V(2) - C(0,0)*V(1)*C(2,1)
  80. 279  PRINT " ANSWERS:"
  81. 280  PRINT
  82. 281  PRINT "     I1 is"; DETI1 / DET
  83. 282  PRINT "     I2 is"; DETI2 / DET
  84. 283  PRINT "     I3 is"; DETI3 / DET
  85. 284  PRINT
  86. 285  PRINT "(A NEGATIVE VALUE INDICATES THAT THE ASSUMED"
  87. 286  PRINT " DIRECTION OF CURRENT WAS INCORRECT.)"
  88. 290  LOCATE 25,20: INPUT ; "MORE CALCULATIONS (Y/N) ",A$: IF A$="Y" OR A$="y" THEN RUN 200 ELSE IF A$="N" OR A$="n" THEN RUN "MENU1"
  89.