   10REM  >  donmcd.calc.EgyptianF,     25/5/95.
   20
   30MODE 12
   40FOR d = 1 TO 2
   50   PRINT" BBC BASV Program donmcd.calc.EgyptianF,  25.5.95, 15.06.95"
   60   NEXT d                                                      
   70
   80PRINT '"Calculate unit fractions (Fractions all positive or mixed)"'"Egyptian series for REAL fraction"'"by Don S McDonald, 63/5 Hut chi son Rd, Wellington2, N.Z."
   90
  100      @% = &90A
  110      DIM pos$(2)
  120      pos$(1) = "positive"
  130      pos$(2) = "mixed"
  140
  150ON ERROR  REPORT : PRINT "  at erl. ";ERL
  160REPEAT
  170   PRINT' "Hit  Tt.able    or <Space> , Dd.enominators only, "
  180   table$ = GET$
  190   UNTIL INSTR("Dd Tt", table$) > 0
  200
  210REPEAT
  220   INPUT'"enter REAL fraction number (expression), 0 return end.";x$
  230   IF x$ = "0" OR x$ = "" THEN  PRINT "Prog EgyptianF  (fraction minus) e.n.d. " :  END
  240   x = EVAL x$
  250   FOR  i = 1 TO 2
  260      PRINT pos$(i)  " terms."
  270      S = INT x
  280      e = x - S
  290      IF INSTR("Tt", table$) > 0 THEN PRINT"  n     |  n'  = 1/n   |   S     |  e = x - S"
  300      PRINT;   S TAB(25) S TAB(38) e
  310   
  320      WHILE  ABS e > 2^ -30
  330         n = 1/e
  340         IF n <> INT n THEN
  350            IF i =1 THEN   n = INT n + 1
  360            IF i =2  THEN  n = INT( n + .5)
  370            ENDIF
  380         n1 = 1/n
  390         S += n1
  400         e  = x - S
  410         PRINT; n"'  ";
  420         @% = &2090A
  430   
  440         IF INSTR("Tt", table$) > 0 THEN  PRINT TAB(12); n1"  "S"  "e
  450         @% = &90A
  460         ENDWHILE
  470         PRINT pos$(i)  " terms."
  480         NEXT i
  490
  500   UNTIL FALSE
  510
  520END