Sa  h: ():  PERTSAMP.BASb "PERT/CRITICAL PATH SCHEDULING PROGRAM"/b "BY STEVEN ZIMMERMAN AND LEO M. CONRAD"gb( "MODIFIED FOR THE OSBORNE 1 BY D. M. HURST, 1982"pbU bd: "*** NOTE BEGINNING EVENTS WILL BE SORTED ***"bn" *** INTO NUMERICAL ORDER ***":co: "TIME UNITS WILL BE MEASURED IN ";DWM$6cq: "PROJECT START DATE IS (MM/DD/YY) ";ST$Dcs ( wxcu D%: A$(D%,),A(D%, ),SV( ): :IO$p"R": fcw) x4cx: " !!! WARNING !!!"nc: "NO DATA READ STARTING AT LINE 4000. AM ASSUMING"%d  "DATA TO BE ENTERED FROM KEYBOARD OR DISK FILE."]d: "ENTER TOTAL NUMBER OF ACTIVITIES (ALLOW EXTRA"d "FOR ANTICIPATED ADDITIONS) ";D%:%d  A$(D%,),A(D%, ),SV( )d*KK$p"N"Dd4 "INPUT MENU"^d>" K KEYBOARD"ydH" D DISK FILE"e\ "SELECTION";IO$$ef IO$o"K" O 6 "DATE";TT$: "DATE: ";TT$nH "TIME IS IN ";DWM$nR " NO ";Z3$"n\ " ";Z4$2nf I  N M%Anp Y C4$;I;^nz Y C2$;A$(I,),A$(I,);ln Jp N o Y C1$;A(I,J);: Jo Jp *o" C3$;A(I,J);: J5o " "=o6 IJo@ ( )]oJ FORWARD PASSloT Ip N M%o^A(I,)p(A(I,)rtA(I,)rA(I,))u@oh A(I,)p O A(I,):A(I,)pA(I,): 8NoMAX]o| Jp N M%xo A(J,)qA(I,) O $p A(J,)oMAX O MAX p A(J,)'pA(I,)pMAX/p$ JHp.A(I,)pA(I,)rA(I,)Pp8 IdpB BACKWARD PASSqpLXMppV IpM% N  sp` A(I,)qoEE O t8pj XMqA(I,) O XMpA(I,)@pt ITp~ IpM%  Q szp A(I,)pEE A(I, ) XM: NqMIMpOCq JpM% N  Q s7q& A(I,)qoA(J,) O Uq A(J,)MIM MIMA(J,)eqA(I, )pMIMmqD JqNA(I,)pA(I, )A(I,))q SLACK VARIABLE CALCULATIONS1qb Iql I p N M%\qvA(I, )pA(I, )A(I,)dq Ixq  KK$"Y" | r PRINT OUTPUTrKbr( "CODE DESCRIPTION EXPECTED EARLY EARLY LAST LAST SLACK"1r2 " TIME START FIN START FIN TIME"Dr<C5$p" ####.##"rF Ip M%rP Y C2$;A$(I,),A$(I,);rZ Jp N  sd C5$;A(I,J);: JGsn :KpKr: Kp O "ENTER TO PAGE";DU$:KpOsx Is "HARDCOPY OF RESULTS (Y/N)";P$: P$o"Y" O \s  " ": Z1$: Z2$)s Ip N M%Fs  C2$;A$(I,),A$(I,);Us J N  ns Y C3$;A(I,J);:  J|s " ": I tH ( )t\KMt (DWM$,)p"W" O f :" (DWM$,)"M"  :" ,t: " GANNT CHART FOR ";T$;" IN WEEKS";" START DATE ";ST$u " YEAR #1 YEAR #2"'u " 12345678911111111112222222222333333333344444444445551234567891111111111222222222233333333334444444444555"5vz " 0123456789012345678901234567890123456789012 0123456789012345678901234567890123456789012": ,v " GANNT CHART FOR ";T$;" IN MONTHS";" START DATE ";ST$pv " YR#1 YR#2 YR#3 YR#4 YR#5"Lw " 123456789111123456789111123456789111123456789111123456789111"w" " 012 012 012 012 012":w,: ()"l"w6 Ip M%w@ Jp  wJA(I,J)(A(I,J))vwT Jw^ I xh I N M%Zxm A(I, )r   ()"m";"NOT ENOUGH ROOM FOR SCREEN PRINT": Pwxr Y C2$;A$(I,),A$(I,);x| A(I,)r);"E";%x Jp N (A(I,)s)x A(I, )p O  "C"; :"  "@";x Jy A(I, )p O  PA(I,)A(I,)r);"L" :"  PA(I, )r);"L"WyKpK: Kp  ()"m";"ENTER TO PAGE";: DU$: ()"l":K_y Ioy8 ()"m"yB: "E = EARLIEST START FOR AN ACTIVITY"yL "C & @ = EXPECTED TIME FOR AN ACTIVITY WITH C DESIGNATING THOSE ON THE CRITICAL PATH"^zV "L = LAST FINISH FOR AN ACTIVITY WITHOUT EXTENDING THE TIME OF THE CRITICAL PATH"fz`:zP"DO YOU WANT A GANNT CHART PRINTOUT (Y/N)";KK$tzd KK$"Y" (DWM$,)p"W" O  :" KK$p"Y" w (DWM$,)p"M" O   : KK$"Y": r{g (DWM$,)p"W" O  ()q{ " GANNT CHART FOR ";T$;" IN WEEKS";" START DATE ";ST$e{s " YEAR #1 YEAR #2"m|x " 12345678911111111112222222222333333333344444444445551234567891111111111222222222233333333334444444444555"{| " 0123456789012345678901234567890123456789012 0123456789012345678901234567890123456789012": 4_}  " GANNT CHART FOR ";T$;" IN MONTHS";" START DATE ";ST$} " YR#1 YR#2 YR#3 YR#4 YR#5"~  " 123456789111123456789111123456789111123456789111123456789111"n~* " 012 012 012 012 012"~4: ()"-"()~> Ip N M%C A(I, )r o  O  ()"m";"NOT ENOUGH ROOM FOR 8 1/2 INCH PRINT": ( );();()"-"(): |H Jp N  *RA(I,J)p(A(I,J))2\ J:f IIp Ip M%fz Y C2$;A$(I,),A$(I,);} A(I,)r);"E"; Jp N (A(I,)s) A(I, )p O  "C"; :"  "@";" J A(I, )p O  PA(I,)A(I,)r);"L" :"  PA(I, )r);"L" I(; (DWM$,)p"W" O  ()= ()"-"()jJ: "E = EARLIEST START FOR AN ACTIVITY"MT "C & @ = EXPECTED TIME FOR AN ACTIVITY WITH C DESIGNATING THOSE ON THE CRITICAL PATH", "L = LAST FINISH FOR AN ACTIVITY WITHOUT EXTENDING THE TIME OF THE CRITICAL PATH"9 ( )Cr JW| "OUTPUT MENU" " C CRITICAL PATH AND TIME"  " D DISK"  " E END"q$  " R RECYCLE SELECTION";OP$: OP$p"R" O KK$p"N": V. OP$q "C" O X 78  IDENTIFICATION OF CRITICAL PATH AND COSTSPB COp:PATH$p" ":SIpL  Ip M%: A(I, )nw O ` : NOTE >0 SHOULD WORK BUT .0001 USEDV COpCOrA(I,):PATH$pPATH$r" "rA$(I,):SIpSIr((A(I,)sA(I,))u)v`  I:C6$p"###,###,###.##":SIp(SI)1j  (): "CRITICAL PATH": PATH$:t  "TIME OF CRITICAL PATH": Y C6$;CO: "SCHEDULED PROJECT TIME(USE SAME TIME UNITS AS DATA)";ST:Zp(STCO)uSI:XXd~ BB$"PROBABILITY OF BEING COMPLETED ON TIME": Z O & z ApS_:Bpsv}:CpCro:Dp(x:Tx- v (sZvu))t(UBhZI)v(s):Ep( J*tZ)v(s):PpsD(AtEBtEvrCtE): XXo O  : TAYLOR SERIES  "Z= ";Z,BB$;P: 0 2 "Z= ";sZ,BB$;sP: 0 & XXpc:ZpsZ:  r0 "HARD COPY (Y/N)";P$: P$qo"Y" O |E: ! T: " ": "CRITICAL PATH": PATH$: " ": "SCHEDULED PROJECT TIME IS ";ST D  "TIME OF CRITICAL PATH": Y C6$;CO: XXp  "Z= ";Z,BB$;P: |*N  "Z= ";sZ,BB$;sP: < OP$p"E" O ib  "NAME OF FILE: DISK ";X$: "O",,X$xl #,M%,EEcv Ip N M%:# ,(");A$(I,);(");",";(");A$(I,);(");A(I,);A(I,);A(I,);A(I,);A(I,): Iq C : |$  "THE REMAINDER OF THE PROGRAM WILL CONSIST" V  "OF DATA TO BE READ IN. STARTING AT 4000 "  "ENTER # OF ACTIVITIES AND ENDING EVENT # "A(  "AS -----4000 DATA 15,4----- "G2 w< "THEN LIST ACTIVITY,DESCRIPTION,STARTING"'F  "EVENT#,ENDING EVENT#, OPTIMISTIC TIME, "WP  "LIKELY TIME, AND PESSIMISTIC TIME-AS "Z  " ---4010 DATA A,MAKE HASTE,2,5,3,4,6---" EVENT#, OPTIMISTIC TIME, "P  "