IMD 1.16: 29/05/2007 12:16:19 FOGCPM.023 --FOGCPM023PERT INT8 PERTHELPINT2 PERTHLP0INT;PERTOVR2INTB !PERTOVR5INT1"#$%&'(PERTOVR6INT<)*+,-./0PERTOVR7INTA123456789PERTOVR8INT:PERTSORTINT ;<PERTWS DOC<=>?@ABCDPINSTALLINT1EFGHIJKDEMO PRT LMCPA BASGNOPQRSTUVCPA DOCWPERT DOCXYZ[\]^_`abcdefgPERT DOCdhijklmnopqrst-01-00 86 -CPM023 DOCPERT128 BAS]uvwxyz{|}~PERT80 BAS]PERT80 DOC PERTSAMPCOMPERTSAMPCOMRPERTTEST This is the disk name. PERTOVR2INTB !PERTOVR5INT1"#$%&'(PERTOVR6INT<)*+,-./0PERTOVR7INTA123456789PERTOVR8INT:PERTSORTINT ;<PERTWS DOC<=>?@ABCDPINSTALLINT1EFGHIJKDEMO PRT LMCPA BASGNOPQRSTUVCPA DOCWPERT DOCXYZ[\]^_`abcdefgPERT DOCdhijklmnopqrstPERT128 BAS]uvwxyz{|}~PERT80 BAS]PERT80 DOC PERTSAMPCOMPERTSAMPCOMRPERTTEST CHEKLISTCRC1$*x aaaa a~~~~~~ a~~~~a~~a~~~~~~aaaa7,6aaaa!   a`paA:PINSTALL.DATj!a!a`"a&):):):):>#a06#a00 7$a16΀$a11 7%a&01!!)>&a6'a6(a&-).)/)>)a&2*>*a@,a,a06.,a00 7-a0 !2.a0!!:7/a16s/a0!!:11 70a0 !0 !01!!:R21a2a6Z63a0 !24a65a3 !6a !27a !28a !29a !2:a  !2;a  !2a  !2?a  !2@a  !2Aa  !2Ba  !2Ca  !2Da !2Ea06Ea00 70 !26׀GaGa $d4IaKaKa  7- 2 La26; <2 >2Ma4Na2SOOa4P 7b4PPa222Qa06Qa400 7€Ra-2Sa 2Ta_2Ua6VaT7Հ2XaXa!!LYa*!!pp:[a[a * !*  \a" #  ^a_a_al`aofbagba,2caR2dafafa6hahad4d4WAIT...$d4iaPINSTALLyjaINCOMPATIBLE INSTALL FILE$d4mamamaqarara6sa56pApppp:Rta65pApppp:Rua67Tva6܀ya{a{a06F{a*00 7|a56$*0p#d4}a0 !20 !0 !2~a66a06a 00 7a0!!pa6a%aaaaaaa8a9PERT MENUaa"! C hange/Add a R eview data a S ave a ESC  = quit2a"!Critical a P ath a G annt chart a J ump to CPM2a%7a:"!;"!a6r: N ew Data a R ead from Disk a ESC =Quita;Change a I nstallation parametersaa,76 aad4ja56$ $H$ $elp$ $d4a%76 рaa56$$da)Copyright 1984 Claude Ostyn2a)$d4d4Version 2.4$d4a1a06?a00 7Va11)0UQa6/a17h66p)NT2aaR$d4ILLEGAL VERSION -- GOODBYE!$d4a)RT.I)2)PE)2a)kaPINSTALLyaad4aLicense to use and circulate this software is hereby$d4agranted to all CP/M users groups and their members.$d4aNo copy or derivative version of this software may$d4abe resold or distributed for profit without written$d4aauthorization of the copyright owner.$d4ad4aIf this program is useful to you, you may send $40$d4ato: Claude Ostyn$d4a P.O. Box 2035$d4a Sitka, Alaska 99835 U.S.A.$d4aas an encouragement toward future improvements.$d4aa $d4-,<2a%7 6 a)RINH2a,)\7 6 рaa,R7 0,2 6܀a,I7 F,26pa,7 U6Sa΀a,N7 sPERTOVR2ya,H7 ,2PERTHLP0yaa)SCRPGJH2a,)\7 6 рaa,S7 6܀a,7 6Sa΀aa` aPERT.INTja,C7 "PERTOVR2ya,R7 :PERTOVR5ya,P7 RPERTOVR6ya,G7 jPERTOVR7ya,J7 PERTOVR8ya,2PERTHELPyaa5 6$R$aReinsert the PERT program disk!$d4a6 рaaa9READ DISK FILE#a]a:a;a`Va87 1a%,26aj΀a% 7 P6 jaa !7 j+aja&(*>a(SPERT7 6za`za&+*$*>a&=)%):&)'*>a%*7Ua5 6$aFILE TOO LARGE FOR MEMORY $d4a -- DROPPING $a%*p#a ACTIVITIES$R$da%*a,2a&-).)/)>a06a%00 7?a56$%0p#d4a&0 !*0 !*0!!)a0!!)0!!)0!!)0!!)a0!!)0!!)0!!)0 !!)0 !!)0 !!)>a6sa@a>a6 a a?< FILE NOT FOUND! >6 a a@ a?< NOT A PERT DATA FILE > ad46 a56$$d4$d4aaaaa7PERTOVR6ya,29SAVE#a]a:FILE: aj;a87.62a΁a(PERT-2a`ʁauaj a@!a"a56$$56$#aFile exists... Overwrite? $d$a%a<Yy\762&a΁'a`(ak)a&(,?*a&+,$,?+a&*p+%p+&+',?,a&-+.+/+?-a06=-a%00 7߁.a&0 !,0 !,0!!+/a0!!+0!!+0!!+0!!+0a0!!+0!!+0!!+0 !!+0 !!+0 !!+?1a6-2a@3a625a5a? DISK SEEMS FULL - PUT IN ANOTHER FORMATTED DISK 6a7a56$$d4$d48a@:a;a>a>aABC ?a5A6$Name of disk file: $d4@a$(Drive B assumed unless otherwise specified)$ $d4AaՁBaD786LCaDs2DaSA:SB:Ea 7!B:2FaTV.PRTGa 7L.PRT2HaJaJa9QUIT?Ka: Y es La N o Ma%7:Na: R estart from scratchOajPa-,2Qa<Y76Ra<R% 76Sa6܁UaVaVa9RECYCLING#΁Wa+6܁YaYa%@ 716Za; Y es [a N o\a: Without saving data?]aj^a-_a<Y7,26܁`a $d4bacadaeagagajalalamama56$$d4oapapa56$dqa46qa44 7ra$d4sa6uavava56$$wa56$$9$$d4xa$d4ya$d4{a|a|a#569T$$:$ $d4~aaaE756$$($'$)$d4Ea569T$$;$ $$d4aaaa567?$?$d4aaaa56$$d4aF6CaFF 7āa567?$?$d4a46zax44 7}6ja567?$a?TS$d4a46ax44 76a63aaaa?<< WAIT... I'M WORKING >>a쁖aaaaaaaw76aGx>a쁬a-aaaaaaDHaI7JaI76Qa5A6B$aDJCS$a5A6B$daaH7EDJHS$daaaaGG 7g6^aaG G 76ŁaaGG  76aaHG 762a6aaHDJTHaC 7߀HHa66aJT7DDJaJTa7'DDJSaJJJTVa6,Ja6aHHaH7PDDHS6UDa6aaHaC7{K$ $K$d6aHHaDD<aJT7JaJT7JJJTVa6aaH7ހDDJHSa6DaaDTDS a 7DDDTV6aJDa5A6B$DCS$d4aaaaaaaaaՁaaG7maIH 7}aHDT 76aDsZAPa7La46́aH44 7aD4U1234567890.\a7a6a7+? ENTER A NUMBER! aaG6Ja=DXa=M=N 7Ha=M7ja? TOO LARGE 6z? TOO SMALL aJDG6JaaaaHG 7621$*x aaa~~~~~~ a~~~~a~~a~~~~~~aaaaaa6na01pApppp:Ra10pApppp:Ra6~2Ta"a"a"a3HELP#a%a%a,H,&a 7UPERTy(a(a,C)a7}PERTOVR2y+a+a,R,a7 PERTOVR5y-a,P.a7. &PERTOVR6y/a,G0a7O)PERTOVR7y3a3a3a01'$d4a EXPLANATION OF THE PERT MAIN MENU$d46ad46aChange/Add.....Add activities to the list,$d47a or change the code, description or times$d48a for an activity,$d49a or change time units, the project title$d4:a or the starting date.$d4;aReview.........Review or print out the input data,$d4aSave...........Save the current data$d4?a in a disk file.$d4@aCritical Path..Identify the activities that make up$d4Aa the critical path, figure out how$d4Ba long the critical path is, and$d4Ca estimate your chances of completing$d4Da the project within schedule.$d4EaGannt Chart....Generate a graphic display of the$d4Fa different activities against a time$d4Ga line.$d4Ha\Ia47TJa01'$dKaEXPLANATION OF THE PERT MAIN MENU (CONTINUED)$d4Mad4MaJump to CPM....Go on to the CPM program; if the CPM$d4Na program is not available, you will be$d4Oa returned to this menu.$d4PaESC............QUIT$d4Qa Used throughout the program to signal$d4Ra that you want to quit whatever you$d4Sa are doing; at the main menu, use it$d4Ta to signal that you want to exit the$d4Ua PERT program.$d4Va\XaXaZaZa01'$d[a  DATA REVIEW$d4\aYou can review two sets of data: either the input$d4]adata, which is the information you gave to the$d4^aprogram, or the results of the time calculations.$d4`ad4`aThe input data lines are numbered. These numbers$d4aaare only used to let you know how many items are in$d4bathe list, and what part of the list the screen is$d4cacurrently showing. Note that the list is sorted by$d4danode numbers.$d4fad4faThe time calculation results are:$d4ga- estimate of the time required for the activity;$d4ha- earliest times the activity can begin and be$d4ia completed;$d4ja- latest times the activity can be started and be$d4ka completed without affecting the overall schedule;$d4la- slack time for the activity, if any; if the slack$d4ma time is zero, it means the activity is on the$d4na critical path.$d4oa\qaqa01'$draThe critical path is the sequence of activities$d4safor which there is no slack time; any delay in a$d4tacritical activity affects the whole schedule.$d4vad4vaThe CRITICAL PATH option will display the codes for$d4wathe activities that make up the critical path, and$d4xathe time of the critical path. You will also be$d4yaable to print out a more detailed list of these$d4zaactivities.$d4|ad4|aThe PROBABILITY option will allow you to estimate$d4}ayour chances of completing the project on time,$d4~adepending on how much time you schedule for it.$d4aYoy will be able to keep track of the estimates$d4aby printing them out as you go.$d4ad4aESC will return you to the PERT main menu.$d4a\aa01'$daThe Gannt chart is a graphic representation of the$d4awhole project timeline.$d4ad4aYou will be able to see it on the screen, print it$d4aout, or save it into a disk file for inclusion into$d4aa proposal text or another program.$d4ad4aBecause the time scale in the chart is divided into$d4atime units, it cannot be produced if the number of$d4atime units exceeds the available width. In that$d4acase, try using the ADD/CHANGE option to switch to$d4alarger time units, for example from hours to days.$d4ad4aAn explanation of the chart symbols is automatically$d4aprinted out or included in the disk file. To see$d4athe explanation on the screen, type 'E'. Pressing$d4aany other key after you read the explanation will$d4arestore the chart.$d4a\aaaaaaaaaa01'$$d4aaa01'$da56؀a55 7怩a$d4a6Ȁaaa01'$$a01'$$3$$d4a$d4a$d4aaa013T'$$6$ $d4aaa7701'$$($'$)$d47a013T'$$8$ $$d4aaaa0129t'$9$d4aaaa01'$$d4a:6 a:: 7a0129t'$9$d4a56Dax55 7G64a0129t'$a9TS$d4a56ax55 76ua6aaaa9<< WAIT... I'M WORKING >>aaaaaaaaw76Ҁa;x4;Raaaa01'$dҀaa47'4^a6I01'$-$01'$d4a44saaaa9<< PRESS ANY KEY TO CONTINUE >>aaaaaaaa<=a>7?a>76a0@1A'$a= 7G%a=7?a>76a0@1A'$a= 7G%a=aproject, and identify the activities which are$d4?acritical in keeping the project within schedule.$d4Aad4AaThis program will give you time estimates, show you$d4Bathe critical path in a project, and draw a chart of$d4Cathe activities.$d4DaIt will create a table of data which can be used as a$d4Eastarting point for application of the CPM method.$d4FaCPM (Critical Path Method) is used to figure out how$d4Gato reduce the overall time required by the project,$d4Habased on known characteristics and costs of the$d4Iaindividual activities.$d4Ja-LaMaMa-01-$dNaThroughout the PERT programs, menus will be shown in$d4Oathe top part of the screen, with the choices$d4Pahighlighted or between brackets < >.$d4QaTo select a choice, press just one key. Depending$d4Raon the status of the data at that point, several$d4Sathings may happen:$d4Ta- you will see a message asking you to wait while$d4Ua the computer is working; or$d4Va- you will be presented with another menu; or$d4Wa- the data you requested will appear on the screen,$d4Xa or you will be asked to enter some information.$d4Zad4ZaKeep an eye on the menus and the top of the screen$d4[afor indications of what is happening or of what you$d4\aare supposed to do.$d4^ad4^aWhen you have to enter information, you usually will$d4_ahave to press the or key to signal$d4`athat your entry is complete.$d4aa-0 1-$d4baThe ESC key will usually allow you to get out of$d4cathe present menu or operation, and return you to the$d4damain menu.$d4fad4faPress ESC at the main menu to exit the program$d4gagracefully.$d4iad4iaNote, however, that the ESC key will not work while$d4jathe 'WAIT... I'M WORKING' message is visible.$d4ka-manana-01-$doaYou can get the data into this program from two$d4pasources: either by reading a disk file of data saved$d4qaduring a previous session, or by entering new data$d4raat the keyboard.$d4tad4taDo you need more information about entering new data$d4uafrom the keyboard?$d4vaTwa4Yy\7 -xa-01-$dyaTo use this program, you need to have drawn a$d4zanetwork diagram of the activities and nodes (or$d4{amilestones) making up the project you are$d4|aevaluating.$d4~ad4~aIn this diagram, nodes are represented by a circle$d4acontaining a whole number beginning at 1 (the$d4astarting node). The node numbers do not need to$d4abe consecutive (you may skip certain numbers so$d4ayou can add nodes later), but they should increase$d4aas the project progresses.$d4a'Backtracking' to a node with a smaller number$d4amay cause errors in the calculations.$d4aThe nodes are connected by lines representing$d4aactivities. The length or orientation of the lines$d4ais meaningless -- only the node numbers matter.$d4aUse codes of up to 3 characters to mark each$d4aactivity line on your diagram. To avoid confusion,$d4athe same code should be used only once in the$d4adiagram.$d4a-01-$daAll nodes must be connected, and there can be only$d4aone final node. The calculations will stop if a$d4adisconnected node is detected, and you will have$d4ato correct the input data. If necessary, you can$d4ause 'dummy' activities (represented by a line of$d4adashes) to fill in the missing connections.$d4ad4aFor each activity, you will be asked to provide$d4afive numbers: the beginning and end node numbers,$d4aas well as your optimistic, likely and pessimistic$d4aestimates of how long it will take to complete the$d4athe activity.$d4a-01-$daThe node numbers must be whole numbers ranging$d4afrom 1 to 99. You can skip numbers if you think$d4ayou might insert nodes later.$d4ad4aThe time estimates can be decimal fractions$d4a(such as '1.25') or whole numbers (such as '23').$d4aOf course, all three numbers will be 0 in the case$d4aof a 'dummy' activity.$d4ad4aThe number of activities you can enter will depend$d4aon the memory available on your system. The maximum$d4anumbers of activities will be visible when you enter$d4ayour activity data.$d4ad4aOnce you have entered all the data, enter a $d4aonly, and you will see the PERT MENU which will$d4aenable you to start the automatic calculation$d4aand evaluation process. I suggest you select the$d4aeview, nput data option and print your data$d4abefore going on; it will make corrections easier.$d4aaaa-aaaaaaaaaa01-$$d4aaa01-$da56Za55 7ha$d4a6Jaaa01-$$a01-$$6$$d4a$d4a$d4aaao016T-$$3$ $d4aaa77 01-$$($'$)$d47a016T-$$8$ $$d4aaaa0129z-$9$d4aaaa01-$$d4a:6a:: 7a0129z-$9$d4a56ƀax55 76a0129z-$a9TS$d4a56ax55 7 6a6aaaa9<< WAIT... I'M WORKING >>a8aaaaaaaw7b6Ta;x4;Raaaa01-$dTaa47a6ˀ01-$-$01-$d4a44saaaa9<< PRESS ANY KEY TO CONTINUE >>a8ayaaaaaa<=a>7??a>7J6a0@1A-$aa>= 7?a=7??a>7J6a0@1A-$ah>a?a?a,92AaBaBa,C7X6hCa67Da4SORTING %pW ACTIVITIESEaPERTSORTyFa)PSRGJ2Ga,)\766HaIa,Ja7PERTyKa,P7PERTOVR6yLa7PERTOVR6yMa,R7PERTOVR5yNa,S7/PERTyOa,G7GPERTOVR7yPa,J7_PERTOVR8yRaTaWaWa,2Xa%76/Ya4CHANGE/ADDZa7 A dd, or [a E dit\a8]a>h^a_a9A7:%`a;<aa6ba9E% 76܀ca97#6da6Ӏfaiaia4NEW DATAkalalasma;7]6]oaoaـpa;7u6]rara4sa4NEW DATAtaua12J$vaYou can now enter up to$*p#dwaactivities.$d4d4xaThe activities will be sorted automatically.$d4zazaf{a97+6]|a:~a~aրa:7Q,2a6aaaPERTyaaa4TITLE7+>a=1=2 J$Project title:$da>? a@7π+;s2aaaa4TIME UNITSa7 H ours, a D ays, a W eeks, a M onthsa>A8h=a1=2 J$Time units: $da܀a979Ba;9sa;HDWM\76ـa;H7̀'HOURS2a;D7'DAYS2a;W7'WEEKS2a;M7'MONTHS2a1=2J$'$d4aaaa4START DATE7$>a= 1=2J$aProject Starting Date:$d4a>?a;756̀a$T@ 764a;T7̀$;2aaaa4ADDING AN ACTIVITYaCa:*7'aD< OUT OF ROOM >6aE7;::a8Entry #:pWa of up to *pWaAhaECaa aaFa a;; 76ڀaa;F 7aa Uaa aaaaaaaaaFa6a;76ڀa8 RETURN  to continue a E  to edit entryaAhaa9E7aC< a:76a< 76_a:*76րaa:7Ȁ5a%:aaa::6aaa4EDITING<aCEa7Move cursor to field to changea8Enter 'ZAP' to delete activity, a ESC  when donea>Aha=>a1=2>J$da܀a99saa< < = a 7 ==6 aa< < =a 7 ==6 a<7 aa< <  < 7 86 aa0$ $0$d4aG=aG wb^96 6 U6 6666aE7 6 ŀaa<7 aa= 7 =G6 =Ga>a6 aaaCE 7 aa:*% 7 6 aH:6 a%HH 7 a12J$Hp#d4aI6 Ha II 7 haHI!!HI!!a6 8aI6 aII 7 aHI !HI !2a6 sa6 a%7 ԁa%%a6 a6 ـ% a:% aE aaaaa;Sa12J$Code for the Activity:$;$d4a Activity Description:$;$d4a Beginning Node:$;$d4a End Node:$;$d4a Optimistic Time:$;$d4a Likely Time:$;$d4a Pessimistic Time:$;$d4aaaaB: !a=>?a;sZAP7 :Ea: !;s2 a!a"a"aB: !#a=>?$a;sZAP7 E%a: !;2'a(a)a)aJpK.?*aB:!!W+a=>,aL:!!7 6-a:!!L/a0a1a1aJ.pK.?2aB:!!W3a=>4aL:!!7m65a:!!L7a8a9a9aJpK.?:aC7K:!!B:!!W;a= >DaL:!!7fEa:!!LGaHaIaIaJ:!!K.?Ja= >KaL:!!7ÀLa:!!LNaOaRaRa5CSa4EDIT WHICH?Ta7 A ctivity Ua S tart Date Va T itleWa8Time Xa U nits Time Conversion Ya F actorsZa>h[a\a9A76]a9S746^a9T7s6_a9U76`a9F7R6aa976ba6dadaB'Sفfafa;B7:haha4CALCULATINGiaBH7f6kaka;D7L.-la;W7Lma.-.na;M7Loa.-./paBD76rara;H7߀L-sa;W7L..ta;M7Lua../vaBW7!6axaxa;H79L-.ya;D7KL.za;M7aL./{aBM7q6}a}a;H7L~a-./a;D7L./a;W7L/aM!!a:6၂a%:: 7a1=2J$ Hours/day:$d4a Days/week:$ d4aWeeks/month:$d4aCB-W<a? JpK.a@7-La1=2>J$-#d4a==<aB.WK.a@7*.La1=2>J$.#d4a==<aB/Wa@7i/La1=2>J$/#d4aCaaEC6aaa%76a4FIND HOW?C:a7 C ode a D escriptiona8 S can alla>ha4EDIT ACTIVITYa9C7U6a9D7h6a9S7{%6a976΁a6'a7D< NOT FOUND! >a6aa57Ba6܁aaa=>1=2J$aCode of the activity to edit?$d4a>?;;sa;7?6wa;: !s7Ua::a:%7o6?aaaaa=>1=2J$aDescription of activity? $d4a>?;;sa;76a;: !s\7a::a:%76aaaaa:a4SCANNINGa7 E dit this one a B ack one a N ext onea8 ESC  = return to menua>Aha a5aɁaa9B: 7::6Ɓa9N:a% 7 ::6Ɓa9B9Na 7NDEND OF FILE6فa9a7e56ua9E7u6Ɓaaaa Ɂa:7a%7aC-a9E76aaaa=>1=2>J$: !$ $d4a=1=2>J$: !S$d4aH6;aHH 7ya==a;:H!!W1=2>J$a;S$d4a6+aaaaaaaaaaa12J$$d4aaa12J$daN6aNN 7a$d4a6҂aaa12J$$a12J$$4$$d4a$d4a$d4 a a a124TJ$$7$ $d4 aaaA712J$$($'$)$d4Aa124TJ$$8$ $$d4aaaa123DJ$D$d4aaaa12J$$d4aO6aOO 7a123DJ$D$d4aN6NaxNN 7Q6>a123DJ$aDTS$d4aN6axNN 76a6 a!a"a"aD<< WAIT... I'M WORKING >>#a%a&a*a*a+a,a,aw76܂-ah4a6S12J$-$12J$d45a99s7a8a9a9aD<< PRESS ANY KEY TO CONTINUE >>:a;a=a>a?a@aAaAa;@BaC7ǀBCaC76%Da1=2>J$Ea;B?S$Fa1=2>J$dHaHa@7;B@S$dJaJa܂LaLa<< 7;62NaNa< < 7T6PaPa<<  7m6RaRa@< 76Sa6҂UaUa@;BT@Va? 7@@Wa66҂XaBT7ˀ;;BYaBTZa7;;BSBBBTV\a6B]a6҂^a@@_a@7$;;@S6);`a6҂baba@ca?7O0$ $0$d6҂da@@ea;;9faBT7wBgaBT7BBBTVha6҂jaja@7;;B@Ska6;mama;T;S na 7;;;TV6oaB;pa1=2>J$;?S$d4ratatauavawaxaxaya{a{a<7A|aC@ 7Q}a@;T 7m6Ђ~a;sZAPa7EaN6a@NN 7Ђa;NU1234567890.\a7ʀa6a7D ENTER A NUMBER! a悆a<6aL;XaLKLJ 7 aLK7 >aD TOO LARGE 6 ND TOO SMALL aB;<6am6RaRa@< 76Sa6҂UaUa@;BT=a>a?a@aAaAa;@BaC7ǀBCaC76%Da1=2>J$Ea;B?S$Fa1=2>J$dHaHa@7;B@S$dJaJa܂LaLa<< 7;62NaNa< < 7T6PaPa<<  7m6RaRa@< 76Sa6҂UaUa@;BT@Va? 7@@Wa66҂XaBT7ˀ;;BYaBTZa7;;BSBBBTV\a6B]a6҂^a@@_a@7$;;@S6);`a6҂baba@ca?7O0$ $0$d6҂da@@ea;;9faBT7wBgaBT7BBBTVha6҂jaja@7;;B@Ska6;mama;T;S na 7;;;TV6oaB;pa1=2>J$;?S$d4ratatauavawaxaxaya{a{a<7A|aC@ 7Q}a@;T 7m6Ђ~a;sZAPa7EaN6a@N1$*x aaaaa a~~~~~~ a~~~~a~~a~~~~~~aaaaa0Ra1 a1!### a1!/ /a1!/ / a1! #### !a1!#####.## $a$a(a(a)a)a6*a23pApppp:R+a32pApppp:R,a6!4T.a1a1a,R7=,26o2a,RT7T,26 ʀ3a54a6PERT MENU5a7"!8"!7a8a8a:a:a,92;a:CRSPGJa>a,R7,26o?a/@a,C7PERTOVR2yAa,P7PERTOVR6yBa,S, 73PERTyCa,G7KPERTOVR7yDa,J7cPERTOVR8yFaJaJaMaMa,26REVIEWNa8 ESC  Oa H elpPa7 I nput data Qa T ime analysisRaSaTa9I7 6݀Ua9T76 ʀVa9H7:,R2PERTHELPyWa97I6'Xa6Za[a[a7 P rint\a%77]a B ack ^a N ext _a7`a8  ESC  = quitaaˀ;6cagagaga6REVIEW INPUT DATA8iaiaUkalala23$ma BEGIN END $na OPTIMIST LIKELY PESSIMIST$d4oa$paNo. CODE DESCRIPTION NODE NODE$qa TIME TIME TIME $$d4satata<vawawaxa=< END OF FILE >ya{a{a97%B6'|a9P78U}a9B< 7Z~a<<6a9N<%a 7<<6퀁a9N9B 7sa6 aaa23$da>6Ѐa>> 7a<>%7$d6a1!c<>p#da1!c<> !$da1!c<> !$da?6Ka?? 7la1!c<>?!!#da6;a?6a?? 7a1!c<>?!!#da6waa>7d4a6aaaaa)aga97a/afa"a@6a%@@ 7a1!c@p#da1!c@ !$da1!c@ !$da?6ja?? 7a1!c@?!!#da6Za?6a?? 7a1!c@?!!#da6ad4aAAa@0pB0p@p7"a6aaAAa݀a$d4aBagaaaaB7064$daBBad4$da%07qa JPage $aBp#d46sd4ad4aPROJECT: $+$-JSTART DATE: $$$d4a-JTIME UNITS: $'$d4ad4aJ$INPUT DATA$$d4ad4aa BEGIN END $aOPTIMISTIC LIKELY PESSIMISTIC$d4a$aNo. CODE DESCRIPTION NODE NODE $a TIME TIME TIME $daT7 _$da$d4aA aaaaa !!p7 ,RT2/PERTOVR6ya6REVIEW CALCULATED TIMES8aaUaaa23$a EXPECTED EARLY EARLY $a LAST LAST SLACK$d4a$aCODE DESCRIPTION DURATION START FINISH $a START FINISH TIME$$d4aaa<aaa ƀa=< END OF FILE >aaa97 HB6'a9P7 [ Ua9B< 7 }a<<6 a9N<%a 7 <<6 a9N9B 7 sa6 -aaa23$da>6 a>> 7 a<>%7 $d6 a/ /c<> !$da/ /c<> !$da?6 ha ?? 7 a#####.## c<>?!!#da6 Xa#####.##c<> !!#da>7 d4a6 aaaaa)a97 aga/afaa@6 a%@@ 7 a/ /c@ !$da/ /c@ !$da`7 a?6 qa?? 7 a1!c@?!!#d a6 a a?6 a ?? 7 ˁ a#####.## c@?!!#d a6 ad4aAAa@0pB0p@p7 a6 aAAa݁a$d4aBagaaaa7 PRINTER READY? a Y es a N oaa)626WAITINGa97 a9N7Հ7Ready printer, then SPACE!a"a6)#a97%af%aB'a(a)a)aB76$d*aBB+ad4$d,a%07R-a JPage $.aBp#d46Td40ad40aPROJECT: $+$-JSTART DATE: $$$d41a-JTIME UNITS: $'$d43ad43aJ$TIME ANALYSIS$$d45ad45a6a $d7a`7BEGIN END $d8aEXPECTED EARLY EARLY LAST LAST SLACK$d4:a:a$;aCODE DESCRIPTION $da$d4?aA AaBaCaCa?6CaBA?? 7Ead4Ea6GaHaIaJaLaLaOaQaQaRaRa23$$d4TaUaUa23$dVa@6oVa@@ 7}Wa$d4Xa6_Za[a[a23$$\a23$$6$$d4]a$d4^a$d4`aaaaa236T$$7$ $d4cadada;7 23$$($'$)$d4;ea236T$$8$ $$d4gahaiaia234=$=$d4kalamama23$$d4naC6naCC 7%oa234=$=$d4pa@6ہpax@@ 76ˁqa234=$ra=TS$d4sa@6sax@@ 76 ta6vawaxaxa=<< WAIT... I'M WORKING >>yaM{a|aaaaaaw7w6iaDx9DRaaaa23$diaa97a623$-$23$d4a99saaaa=<< PRESS ANY KEY TO CONTINUE >>aMaaaaaaa:EaF7TGaF7_6a2H3I$a:GJS$a2H3I$daaE7:GES$daaiaaDD 76aaD D 76&aaDD  76aaED 76a6_aaE:GTEaJ 7@EEa6C6_aGT7X::GaGTa7::GSaGGGTVa6Ga6_aEEaE7::ES6:a6_aaEaJ70$ $0$d6_aEEa::9aGT7GaGT7GGGTVa6_aaE7?::GESa6D:aa:T:S a 7q:::TV6GaG:a2H3I$:JS$d4aaaaaaaaa6aaD7΀aFE 7aE:T 76]a:sZAPa7Ka@6.aE@@ 7]a:@U1234567890.\a7Wa6a7= ENTER A NUMBER! asaD6aL:XaLMLN 7aLM 7ˁa= TOO LARGE 6ۀ= TOO SMALL asG:D6a6aaED 76a6_aaE:GTEaJ 7aaa:EaF7TGaF7_6a2H3I$a:GJS$a2H3I$daaE7:GES$daaiaaDD 76aaD D 76&aaDD  76aaED 76a6_aaE:GTEaJ 7@EEa6C6_aGT7X::GaGTa7::GSaGGGTVa6Ga6_aEEaE7::ES6:a6_aaEaJ70$ $0$d6_aEEa::9aGT7GaGT7GGGTVa6_aaE7?::GESa6D:aa:T:S a 7q:::TV6GaG:a2H3I$:JS$d4aaaaaaaaa6aaD7΀aFE 7aE:T 76]a:sZAPa7Ka@6.aE@@ 7]a:@U1234567890.\a7Wa6a7= ENTER A NUMBER! asaD6aL:XaLMLN 7aLM1$.00001$0.00001$99999$0.0000001$2.7182818$3.1415926$.5$.3326$.4361836$.1201676$.937298$.0001$*x aaaaa a a aaa~~~~~~a~~~~a~~a~~~~~~a a a a"a"a0 #a0!/ /$a0!/ /%a0!##,###.## &a0! ###.##\%'a0! ### (a1Probability of completing project on time:)a2,a-a-a6P.a34pApppp:R/a43pApppp:R0a6`5T2a3a3a !!p 76 5a9a9a9a,P76%:a67PERT MENU;a8"!9"!=a=a?a?a,:2@a)PCRGJS2Aa,)\7 6؀Ba,P76%Ca)EaEa27.Fa,C7FPERTOVR2yGa,R7^PERTOVR5yHa,G7vPERTOVR7yIa,J7PERTOVR8yJa,S, 7PERTyLaMaMafNaԀOa$d4Pa2RagSaTaTa;6TaA<;; 7Vad4Va6߀WaT7gXaYaf[a\a_ababa,27CRITICAL PATH EVALUATIONca8 C ritical path da ESC ea9 P robabilityfa47ŀga99 of completing on timeha99  H elpiajalala27ma:H7"),P2PERTHELPyna:C75*6%oa:P7K) U6%pa:7Z6qa6satata22ua27Ԁvad46$d4wa JPage $2p#d4xaPROJECT: $+$d4yaSTART DATE: $$$ $zaCRITICAL PATH TIME: $d{a0!c !!#d'$d4|a<~aaaaa7CRITICAL PATHa8 !!dpBdpW 'aŀa=<34 $da>6a%>> 7.a> !!.76(a/ /c> !$da==aa=7d4=a<<a<7(a<34 $da<a6aa9 P rint a ESC  = quitaaa:7}6ia:P76haaa7PRINTER READY?a8 Y es a N oaŀaa:N: 76ia:Y76րaafaaa27fad4J$aCRITICAL PATH ACTIVITIES$$d4ad4a<<aaya>6a%>> 7ea> !!.76_a0!c> !$da0!c> !$da0!c>!!#da0!c>!!#da0!c>!!#da0!c>!!#da0!c> !!#d4a<<a<=7_fya6qaga6a%>> 7a34 $%>p#d4a??>!!>!!ppa6a??I!!? a!a$a$a%a !!: 7*6w&a7CALCULATING9EARLIEST ACTIVITY TI MES'a~)(a?p*a+a+a>6+a%>> 7,a34 $d0!c%>p#d4.a.a>!!>!!>!!p>!!p0a1a1a>!!2ap73>!!p>!!>!!64a4a>!!p5a=6a5a%== 77a7a=!!>!!769a9a=!!>!!:a7>!!=!!;a6Q=a=a>!!>!!>!!>a6@a@a9LATEST ACTIVITY TIMES BaCaCa !!pEaEa>%6UEa>>897GaGa>!!&7o6IaIa !!>!!7 !!>!!Ja63LaLa>%6؁La>>897AMa76;Na34 $d0!c>p#d4PaPa>!!Qa&75> !! !!6SaSa> !!.TaEpVa=%6~Va==897XaXa>!!=!!76Za\a\aEp]a= !!> !!^a7> !!= !!_a6\`aEp7K> ! > !caca> !!> !!>!!da6faiaia7R6ja9SLACK TIMES AND CRITICAL PATHka !!pla>6la%>> 7ma76na34 $d0!c%>p#d4papa> !!> !!>!!rara=6ra == 7sa>=!!p>=!!. ta0 7M>=!!pvava>=!!p7waK> ! > !xa6ya6{a{a !! !!|a7}a%d 7ՀR$d4aaa !!p 7q7aError in data: at least one node does not seem connecteda~a34 $K$d4a,C2a)aPERTOVR2yaaa8No error detected...Ła,R,RTa 7PERTOVR5ya,S7PERTya,J7PERTOVR8ya,G7PERTOVR7ya6aaaaaaaaaa34 $$d4aaa34 $da;6ia;; 7wa$d4a6Yaaa34 $$a34 $$7$$d4a$d4a$d4aaa~347T $$8$ $d4aaaL734 $$($'$)$d4La347T $$9$ $$d4aaaa345FV $F$d4aaaa34 $$d4aM6aMM 7a345FV $F$d4a;6Ձax;; 76Ła345FV $aFTS$d4a;6ax;; 76a6aaaaF<< WAIT... I'M WORKING >>aGaaaaaaaw7q6caNx:NRaaaa34 $dcaa:7a6ڀ34 $-$34 $d4a::saaaaF<< PRESS ANY KEY TO CONTINUE >>aGaaaaaaaKOaP7NQaP7Y6a3@4A $aKQBS$a3@4A $daaO7KQOS$daacaaNN 76aaN N 76 aaNN  76aaON 7 6a6YaaOKQTOaB 7:OOa6=6YaQT7RKKQaQTa7KKQSaQQQTVa6Qa6YaOOaO7KKOS6Ka6YaaOaB7R$ $R$d6YaOOaKK:aQT7QaQT7QQQTVa6Y a aO79KKQOS a6>K a aKTKS  a 7kKKKTV6AaQKa3@4A $KBS$d4aaaaaaaaa0aaN7ȀaPO 7aOKT 76WaKsZAPa7 Sa;6(aO;; 7W aK;U1234567890.\!a7Q"a6#a7F ENTER A NUMBER! $am%aN6&aEKX'aEDEC 7(aED7ł)aF TOO LARGE 6ՀF TOO SMALL *amQKN6,a6aaON 7 6a6YaaOKQTOaB 7:OOa6=6YaQT7RKKQY6a3@4A $aKQBS$a3@4A $daaO7KQOS$daacaaNN 76aaN N 76 aaNN  76aaON 7 6a6YaaOKQTOaB 7:OOa6=6YaQT7RKKQaQTa7KKQSaQQQTVa6Qa6YaOOaO7KKOS6Ka6YaaOaB7R$ $R$d6YaOOaKK:aQT7QaQT7QQQTVa6Y a aO79KKQOS a6>K a aKTKS 1$.5$0.00001$*x aaaaa a a~~~~~~a~~~~a~~a~~~~~~aaaaaa6a01pApppp:Ra10pApppp:Ra62Ta634p.r a655TV"a"a !!p 7PERTOVR6y$a(a(a(a,G76Ԁ)a67PERT MENU*a8"!9"!,a,a.a.a,:2/a)PCRGJS20a,)\7`6.1a,G7p6Ԁ2aYl4a4a;7f6a6a`#7aPERT.INTj8a,C7PERTOVR2y9a,R7PERTOVR5y:a,P7PERTOVR6y;a,J7PERTOVR8yaReinsert PERT program disk$d4?a6.AaBaBafCaDa$d4Ea;GagHaIaIa<6IaA=<< 7Kad4Ka6LaT7NaOaRaUaUa,2Va7GANNT CHARTWa8On Xa S creen, Ya P rint, or write to Za D isk file9 H elp \a ESC  = quit]a_a_a`a> Chart is too  large aa'Mba7ހ>>-- Try larger time units dada4 !!pB:ea476€fa018$$d4ga)SPDH2ha:)\7R6Ԁia:7a6ja:H7,G2PERTHELPyka:S76€la:P7 &6€ma:D7 6€na !2 !2oa7w6pa66Ԁrasatata:S7*ua4 !!pB:va:P7Rwa4 !!pB:xa:D7zya4 !!pB:za47{a>Too large for |a:S7>>screen}a:P7؀>>printer~a:D7>>use in disk filea474aaaaa7&6Ҁa?a89PROJECT: +aYaa܀aa@aaa8 E xplanation a ESC  = quita%7ꀓa8 B ack a N ext a8aAa6aaa018$$d4a>< END OF FILE >aa:7Ll6Ҁaa:E:? 7j 6a:B@ 7a@@6a:N@%a 7@@6a:N:B 7a6aaaaaca018$B$d4a018$$START: $$$ $d4aa$B$d4a018$$daCR. PATH: ####.## c !!#da'$ $$d4aaaaC6aCC 7 a0C18$$0C18$da@Ca%7D@Caa$B$a$d46d4a6aaaa018$$d4aE6 ;aEE 7 C$d46 +a018$B$d4a5B$d4axB$d4aB$d4aB$018$daAaF 6 aFF 7 a0F18$$d4a@Fa%7 D@Fa0F18$a$B$$d4a6 aaaa7 16 #a?a8 PRINTER READY? a Y es a N o a ESC  = quita9aa:7 6 #a:Y7 6 &aa8 SPACE  when ready, or a ESC  = quitaa:7 #6 #aa7PRINTING...Yafa -aa JaaD6 pa%DD 7 aaga018$%Dp#d4afaaaBT7 a$B$$d4a==aaD0pB0pDp7 a==a a -a Ja6 `a aa afa$d4a;agaaaa;7 ; 6 @$d4a;;a$da%07 z a JPage$ a;p#d46 |d4 aPROJECT: $+$-JSTART DATE: $$$d4 aCRITICAL PATH TIME: ####.## c !!#d a'$-JTIME UNITS: $'$d4ad4a=aaaa<6 %aB=<< 7 0ad4a6 aT7 @aaaacaB$d4aa$B$$d4a== a!a"a"acB$d4#aB$d4%a%aB$d4&a5B$d4'axB$d4(aB$d4)aB$d4*a==,a-a0a0aG:7 6V1a7CHART TO DISK8 How wide?2a9( !!pBW-128)3a94aHI#J5aK !!pBLpف6a:76V7a?M:4? !!pB:9a9aE?:a;a676VaBGANNT CHART FOR + IN '?a&B,?@aBSTART DATE $Aa&B,?Ba& ,?DaDacEa&5B,?GaGaHa&5B,?Ia& ,?KaKaD6Ka%DD 7́La018$d###c%Dp#d4MaNaBT7ƀ&5B,?Oa6yQaQacRa&5B,?TaTaUa&5B,?Va& ,?XaXa&B,?Ya5&B,?Zax&B,?[a&B,?\a&B,?]a@_a_aaababaR$d4ca@da><< DISK WRITE ERROR >>eafa6Vhaiaia6jaH0H18$Disk file name:$d4ka$la(Drive B is assumed, unless you specify drive A)$ $d4maIJ dBBsna018$$d4$d4oaB7b66paBSB:BSA:qa 7BB:BraBVPRT70 18$sa.PRT type is reserved for PERT data files$d4ta6ua8FILE: BYva`waBjxa@ya018$$d4za018$$d4{a$018$File exists: overwrite? $d|a}a:Yy\76aaYaua`ځaBka018$$d4aaaa018$$d4a018$Cannot open file: try another disk? $daa:Yy\7Za018$$d466]6aaaBSNFaE6a?4pB:EE 7 aNF 7: 6:N0Ra47׀BB4SaBB:aFFaF 7NNFa6aÁaaaaBSNO0123456789aE6_a?4pB:EE 7a:ONUa47BB4SaBB:aNNaN 7Na6FaÁaaaaBT !!pa4ppp7 BB !!p4pp:SaBT?7BB?Saa !2 !2a !T?7a ! !2a ! !2a6>aaaa:*aBaaD !---D !  76aaD !TD ! a 7BSD !a6aaBD !D !TSaBBD !a4D !TSaaE3D!!aE7BB !ESaaD !!.76aaa3D !!D!!a7BBEL6aBBEaaE3D !!aE7?BB !ESaaE3D!!aE7zBB !ESaBBLa6aaaE3D!!aE7ÀBB*a6aP6ށaEPP 7aBB:a6΁aaaaB* = expected duration for critical path activityaaB- = expected duration for activity not on critical pathaaBE = earliest starting time for non-critical activityaaBL = latest allowable finish time for activity without aaB extending the time of the critical pathaaaaaaaaaaaa018$$d4aaa018$da<6a<< 7a$d4a6aaa018$$a018$$7$$d4a$d4a$d4aaa017T8$$8$ $d4aaaA7J018$$($'$)$d4Aa017T8$$9$ $$d4aaaa012>8$>$d4 a a a a018$$d4 aE6΂ aEE 7Oa012>8$>$d4a<6ax<< 76a012>8$a>TS$d4a<6Fax<< 7I66a6aaaa><< WAIT... I'M WORKING >>awaaaa a!a!aw76"aQx:QR$a%a&a&a018$d(a(a:7)a6 018$-$018$d4*a::s,a-a.a.ag/a><< PRESS ANY KEY TO CONTINUE >>0aw1a3a4a5a6a7a7aB?8aR7S9aR76:a0H1I8$;aBSJS$a>a?7BS?S$d@a@aBaBaQQ 76DaDaQ Q 76TFaFaQQ  7(6FHaHa?Q 7=6Ia6KaKa?BST?LaJ 7n??Ma6q6NaST7BBSOaSTPa7BBSSQaSSSTVRa6SSa6Ta??Ua?7߀BB?S6BVa6XaXa?YaJ7 T$ $T$d6Za??[aBB:\aST72S]aST7KSSSTV^a6`a`a?7mBBS?Saa6rBcacaBTBS da 7BBBTV6ueaSBfa0H1I8$BJS$d4hajajakalamananaoadqaqaQ7raR? 7 sa?BT 7(6taBsZAPua7AUva<6\va?<< 7waB<U1234567890.\xa7ya6Lza7> ENTER A NUMBER! {a|aQ6ق}aMBX~aMLMK 7aML7a> TOO LARGE 6 > TOO SMALL aSBQ6قa(><< PRESS ANY KEY TO CONTINUE >>0aw1a3a4a5a6a7a7aB?8aR7S9aR76:a0H1I8$;aBSJS$a>a?7BS?S$d@a@aBaBaQQ 76DaDaQ Q 76TFaFaQQ  7(6FHaHa?Q 7=6Ia6KaKa?BST?LaJ 7n??Ma6q6NaST7BBSOaSTPa7BBSSQaSSSTVRa6SSa6Ta??Ua?7߀BB?S6BVa6XaXa?YaJ7 T$ $T$d6Za??[aBB:\aST72S]aST7KSSSTV^a6`a`a?7mBBS?Saa6rBcacaBTBS da 7BBBTV6ueaSBfa0H1I8$BJS$d4hajajakalamananaoadqaqaQ7raR? 7 sa?BT 7(6taBsZAPua7AUva<6\va?<< 7waB<U1234567890.\xa7ya6Lza7> ENTER A NUMBER1$*x aaa~~~~~~ a~~~~ a~~a~~~~~~aaaaaaaa6ya01pApppp:Ra10pApppp:R a62T#a#a#a6&a'a'a*a,a,a-a-ad4012$$d4/a0a0a360a33 71a0312$$d42a6Ԁ4a5a5a012$$6a012$$4$$d47a$d4$d49a:a:a014T2$$5$ $d4>QaSaTaTa7< NOT IMPLEMENTED YET >ȀUa,2PERTyWaXa~a~~~~~~aaaaaaaa61$10000000$*x aaaa a~~~~~~ a~~~~a~~a~~~~~~aaaaa a a!a!a6"a01pApppp:R#a10pApppp:R%a)a)a)a2"!3"!*a&p4%+a%7,a56ڀ,a%55 7-a5!!&7&5!!.a6ʀ/a6.7p0a8%2a2a883a01;$8p#d44a87O6܀5a9%86a:7a5:8a;58:a:a5!!65!!75!!;a;!!6;!!7;!!76=a=a<6=a << 77>a<#!5PaPa56 Pa 55 7 Qa5!!pRa6Sa"!22"!32Ta01;$$d4Ua,R7gPERTOVR5yVa,F7PERTOVR6yWa,J7PERTOVR8yXa,C7PERTOVR2yYa,G7PERTOVR7yZaPERTy]a^a^a_a!!&7&5!!.a6ʀ/a6.7p0a8%2a2a88 a a!a!a6"a01pApppp:R#a10pApppp:R%a)a)a)a2"!3"!*a&p4%+a%7,a56ڀ,a%55 7-a5!!&7&5!!.a6ʀ/a6.7p0a8%2a2a883a01;$8p#d44a87O6܀5a9%86a:7a5:8a;58:a:a5!!65!!75!!;a;!!6;!!7;!!76=a=a<6=a << 77>a<#!5PaPa56 Pa 55 7 Qa5!!pRa6Sa"!22"!32Ta01;$$d4Ua,R7gPERTOVR5yVa,F7PERTOVR6yWa,J7PERTOVR8yXa,C7PE PERT Copyright 1984 Claude Ostyn CONTENTS A. GENERAL DESCRIPTION B. FEATURES C. RUNNING THE PROGRAM D. PROGRAM DEMO E. KNOWN BUGS F. DUMMY ACTIVITIES A. GENERAL DESCRIPTION I ca b difficul t estimat ho lon comple projec wil take PER (Performanc Evaluatio Revie Technique i use t mak suc a estimate base o estimate o ho lon eac activit wil take Amon al thes activities som o whic ma b overlapping PER i use t identif critica path o i othe word t identif th sequenc o activitie whic criticall affec th tota duratio o th project figure thi wa jus wha neede fo som proposal an bid wa workin on Alas coul no affor Milestone an th othe program foun wer painfu t us an ridde wit bugs Als the jus di no d wha neede the t do suc a generat nic timelin chart tha coul pic u wit WordSta an integrat int m proposals Afte analyzin thos programs decide i woul b easie t writ m ow rathe tha fixin them Thi progra i base o dat forma simila t th on explaine i th May 198 issu o BYT Magazine an use i Dou Hurst' PER progra i th FO librar dis FOG/APP.013 summar o ho t us th PER metho an how t ente th dat i availabl a th firs men i m program b typin "H fo Help Furthe hel i availabl wit specifi functions Pleas refe t bot o th source mentione abov fo additiona backgroun information. B. FEATURES - Thi progra i writte i CBASI an require CRUN2.CO rathe tha MBASIC.CO t run. - I i interactive i yo wan t chang o ad data o eve adjus th tim unit used yo ca d i easily. - Thi progra i friendly i prompt yo al th wa an even includes some on-line help screens. - Th calculatio bug whic allowe th ol progras t com u wit negativ time an bizarr critica pat time whe mor tha on activit wa happenin a exactl th sam tim hav bee eliminate b th us o differen algorithm. - Mos error ar caugh an identifie throug sophisticate and friendly error-trapping. - Thi progra wil allo yo t rea an writ you dat o disk Yo ca switch dat disk an 'dis ful' error ar trappe s yo ar no lef wit n plac t sav you data. - Th progra wil dra Gant char (timeline o th activities identifyin thos o th critica path Th char ca b writte t th screen t printer o int disk file--for inclusion into a proposal for instance. The chart is automatically scaled to fit the output device. - Yo ca chang th tim units th dat wil automaticall b recalculated an yo ca adjus th conversio facto (numbe o hour pe day o week pe month etc.). - A installatio progra allow PER t b adapte t numbe o terminals computer an printers. Ther ar fe disadvantage: - Th numbe o activitie i limite t wha ca fi i memory Wit m Osborn 1 i i abou 16 fo thi versio o PERT Large project ma hav t b broke u int subproject (probabl necessar anywa t kee you activit networ char withi manageabl size) - T conserv memory th progra use overlay (lik WordStar) whic mean yo sometime hav t wai fo fe second a yo g fro on functio t th next. - CBASI wil no wi an spee prizes A th numbe o activitie increases tim calculation begi t tak longe an longer Hopefull Turb Pasca versio wil solv tha proble (i als wil hav roo fo mor activities sinc i won' nee run-tim interpreter) bu don' hol your breath yet. I'll need inspiration. CP (Critica Pat Method program wil b adde som tim i th future CP i use t determin ho change i critica pat activitie tim o cos affec th overal tim an cos o th project T b useful CP progra ha t b quit bi mor complicate and a o thi writing a stil ponderin what to include. C. RUNNING THE PROGRAM 1. Making a program disk Mak cop o th whol diskett an us SYSGE t cop th syste track o you ne disk Us PI t cop CRUN2.CO (th CBASI run-tim interpreter o th ne disk Yor progra dis i no ready. 2. Starting PERT Put your program disk in drive A: Put a formatted disk in drive B: (to save your data) If you have an Osborne 1: Press the RESET button, then RETURN If you have another computer At the CP/M prompt, type CRUN2 PERT (RETURN) I yo ar runnin th PER fo th firs time i wil automaticall ru th PINSTALL progra an creat fil o installatio dat o driv A I you termina o printe i no liste i th installatio menus yo ma hav t refe t you manual t ge th code require fo installation (follow instructions on screen). D. PERT PROGRAM DEMO fil o demonstratio dat i include o th disk T load the file type "R" (to Read a file) at the first menu. Sinc PER assume tha dat file ar o driv an th dem file is on drive A with the programs, type "A:DEMO" as file name. Typ "H fo hel a th nex men t ge a explanatio o the different program functions. E. KNOWN BUGS 1. Printing Th onl obviou bu foun t dat i tha i yo tr t prin t nonexisten printer th syste wil han up Sinc thi i syste proble an no progra problem ther i littl tha ca b don withou sacrificin th portabilit o th program However befor printin yo wil alway b aske to check that your printer is ready. PER expect continuou paper wit 6 line pe page Ther i n provisio fo stoppin th printin betwee pages. Th printin o lon listing o dat coverin severa page ha no bee full tested s chec th pape alignmen after each printout. 2. Error-trapping in data This is not a bug, but a somewhat confusing feature. Th progra attempt t identif error i dat tha woul lea t misleadin results Typically suc error aris whe event ar no connecte an mor tha on en even i detected However i ther i mor tha on erro PER wil onl sho yo th firs one an yo wil hav t correc i befor proceeding Yo wil no b abl t sav you dat unti al error ar corrected Yo wil sav tim b usin th Revie optio t prin lis o you inpu dat an checkin fo unconnecte even number o you printout Afte editin on activit entry yo wil b abl t sca th whol fil bac an fort fo othe entrie tha nee correction. F. DUMMY ACTIVITIES I i sometime necessar t us dumm activit t connec tw event tha otherwis woul b unconnected dumm activit ha duratio o zero I yo us "--- (thre dashes o "space characte a th cod fo dumm activity an ente nothin o "space characte a th description th activit wil no sho u o th Gant chart. esults Typically suc error aris whe event ar no connecte an mor tha on en even i detected However i ther i mor tha on erro PER wil onl sho yo th firs one an yo wil hav t correc i befor proceeding Yo wil no b abl t sav you dat unti al error ar corrected Yo wil sav tim b usin th Revie optio t prin lis o you inpu dat an checkin fo unconnecte even number o you printout Afte editin on activit entry yo w1$1.0$*x aaaa a a~~~~~~a~~~~a~~a~~~~~~aaaaaaaR2a0a, Enter your choice 2 a1or for no change !a2Osborne "a-p#a.p$a/.pp&a'a'a! 3 )a+a+a7܀4-a.a0a0a`1aA:PINSTALL.DATj2a3a@4aQ5aPERT/CPM INSTALLATION PROGRAM$d46a(c) 1984 by Claude Ostyn$d48ad48aThis program will adapt the PERT/CPM to your$d49aparticular computer and printer, and establish$d4:acertain operating constants.$d4;ad4Press any key to continue, to exit$d4aQCOMPUTER OR TERMINAL$d4d4?a 1. Osborne 1, 52 column$d4@a 2. Osborne 1, 80 column$d4Aa 3. Osborne 1, 104 column$d4Ba 4. Osborne Executive$d4Ca 5. Kaypro II$d4Da 6. Other$d4Fad4Fa67&Current choice: $6$d4Ga,$dHa67=1$dIa{Ja5 6 7Y6 vKa57h6La550Ma55 768Na0Oa76Oa77 7Pa73!Qa6Ra5b^9666606G6Sa68UaUa621, 52 col.6Va621, 80 col.6Wa621, 104 col.6ȀXa62Executive6Ya6Kaypro IIPZa76xZa77 7[a73!\a6h]a 3!R^a6+_a6Other6aaaa46ӀbaP6Ӏcaheaea3!lfa3!mga3!)ha3!(ia 3!Tkaka3!la3!=ma3!Rna3!Eoa3!Rqaqa ratauauaQvaYou will now have to give the information$d4warequired to control the cursor on your screen$d4yad4yaHow many characters per line?n;8":'za87;{a848Ȁ|a 7{I can't handle that. Try again.$d4}a6.~a8aFor each of the following screen controls, enter$d4athe control string sent to the screen.$d4ad4aCLEAR SCREEN:$d4a3!9ad4HOME CURSOR:$d4a3!9ad4SET CURSOR POSITION LEAD-IN STRING:$d4a3!9ad4OFFSET VALUE FOR SETTING CURSOR:n;":'ad4ROW BEFORE COLUMN? $d{a:Nn\a7ހ6ad4d4aHALF INTENSITY:$d4a3!9ad4FULL INTENSITY:$d4a3!9ad4UNDERLINE OR INVERSE VIDEO:$d4a3!9ad4END UNDERLINE OR INVERSE VIDEO:$d4a3!9ad4CLEAR TO END OF CURRENT LINE:$d4a 3!9ad4INSERT LINE AT CURSOR POSITION:$d4a3!9ad4DELETE LINE AT CURSOR POSITION:$d4a3!9a6Custom installationaaaaQaPRINTER$d4d4a1. EPSON MX-80 type III (see I.D. plate on printer)$d4a2. EPSON MX-80 type I or II$d4a3. EPSON RX-80$d4a4. 'Any' 80 column printer$d4a5. 'Any' 132 column printer$d4a6. Other printer$d4ad4a;7 Current choice: $;$d4a,$da;7 1$da{a57 6a5 ; 7 6Ӏa550a55 7 6 va0a5 b^96 6 6 96 6 *6 ~a6 vaa;Epson MX-80 type III6 La;Epson RX-80aa3! R@Ra3!Ra 3!-RRa 3!-RRa 3! Ra 3!Raa L;Epson MX-80 type I or IIa 3! 3!aaa;'Any', 80 col.Pa6 Faa;'Any', 132 col.a76 aa 77 7 ta73!a6 QaaaaQaHow many characters per line?n;8":'a87 6 À8aYou will have to give me the control codes$d4a(if any) required to get the best use from$d4ayour printer.$d4ad4PRINTER INITIALIZATION STRING$d4a(I.E. TO TURN ON COMPRESSED PRINTING):$d4a3!9ad4PRINTER 'DEINITIALIZATION' STRING$d4a(SENT TO PRINTER AFTER PRINTING COMPLETE):$d4a3!9ad4BEGIN UNDERLINE:$d4a 3!9ad4END UNDERLINE:$d4a 3!9ad4FORM FEED CHARACTER:$d4a 3!9ad4BACKSPACE CHARACTER:$d4a 3!9a;Otheraaaa6ـaQaThe following values are assumed$d4afor time conversions:$d4a1 day = $-# hours$d4a1 week = $.# days$d4a1 month = $/# weeks$d4ad4aPress to leave as is, or to change$d4a{a576a5 76ta:Cc\76a66ـaad4d40aHow many hours per dayn;-"'aHow many days per weekn;."'aHow many weeks per monthn;/"'a6ـaaa0761aua`aA:PINSTALL.DATja@aOVERWRITING OLD INSTALLATION FILE$d4aaa`?aA:PINSTALL.DATkala@aInstallation is now complete$d4d4a61 a aQ a@ aUnable to write the installation data to disk$d4 aMake sure write-protect tab is removed, and$d4 apress any key to try again, or to quit$d4a{a:76aQ6aaQUIT? $d{a:Yy\7.68aa3!$d4a47aRETURNING TO CP/M...$d4d4a I cannot restart PERT myself because of a$d4a memory conflict. Please restart PERT yourself$d4a whenever you are ready.$d4ad4d4aaWAIT...$d4a76#a77 76a73! a6!aPERTy#a&a&a'a'a76l'a77 7qd46\)a+a+a+aw76{,a5x:5R.a/a/a0aEnter the DECIMAL value of the characters that make$d41aup the control string (up to 6 characters).$d42aEnter only to end string, or if function is$d43anot available.$d44a (Example: 27 61 ).$d45a976a7an;:h8a:76b:a:a<6с:a:T<< 7;a:<U0123456789\a7:?aNOT A VALID CHARACTER VALUE - REENTER$d4@a6Aa99:X:RBa77Ca77b6DaFaGaGa76Ga77 7Ha7!!73!TpIa7!!:7Ja<6ӁJa7!!:<< 7Ka7<!!73!<UQpLa6Ma6wNa&p+p+p+p+?Oa760Oa77 7Pa&7!!+7!!+7!!+7!!+Qa7!!+7!!+7!!+?Ra6 Sa&-+.+/+?Ta&6,;,?VaWaXaXa&):):):):>Ya76Ya77 7#Za<6Za<< 7[a&7\a6]a6ځ^a&-).)/)>_a&6*;*>aaaa76caa77 7ba73!ca7!!:7ԁda<6da7!!:<< 7сea73!73!7<!!:Rfaga66ha73!ia6Skala=a6>a7:?aNOT A VALID CHARACTER VALUE - REEing, or if function is$d43anot available.$d44a (Example: 27 61 ).$d45a976a7an;:h8a:76b:a:a<6с:a:T<< 7;a:<U0123456789\a7:?aNOT A VALID CHARACTER VALUE - REENTER$d4@a6Aa99:X:RBa77Ca77b6DaFaGaGa76Ga77 7Ha7!!73!TpIa7!!:7Ja<6ӁJa7!!:<< 7Ka7<!!73!<UQpLa6Ma6wNa&p+p+p+p+?Oa760Oa77 7Pa&7!!+7!!+7!!+7!!+Qa7!!+7!!+7!!+?Ra6 Sa&-+.+/+?Ta&6,;,?VaWaXaXa&):):):):>Ya76Ya77 7#Za<6Za<< 7[a&7\a6]a6ځ^a&-).)/)>_a&6*;*>aaaa76caa77 7ba73!ca7!!:7ԁda<6da7!!:<< 7сea73"PERT-" "PROPROSAL DEVELOPMENT","2/15/84" 173,15,30,"DAYS" 8,5,4.33333333 "","",0,0,0,0,0,0,0,0,0,25.5833333333,25.5833333333 "RFP","Study RFP",1,2,2,3,5,3.16666666667,0,3.16666666667,4.33333333333,7.5,4.33333333333 "INI","Initial contacts",1,4,3,4,7,4.33333333333,0,4.33333333333,0,4.33333333333,0 "1DR","1st draft outline",2,3,3,4,5,4,3.16666666667,7.16666666667,7.5,11.5,4.33333333333 "1BU","1st outline budget",2,5,2,3,4,3,3.16666666667,6.16666666667,8.5,11.5,5.33333333333 "2DR","2nd draft",3,10,3,4,5,4,7.16666666667,11.1666666667,11.5,15.5,4.33333333333 "PER","Personnel line-up",4,5,5,7,10,7.16666666667,4.33333333333,11.5,4.33333333333,11.5,0 "SUP","Get support material",4,20,7,10,15,10.3333333333,4.33333333333,14.6666666667,11.1666666667,21.5,6.83333333333 "TIM","Timeline",5,10,3,4,5,4,11.5,15.5,11.5,15.5,0 "REV","Draft review",10,11,3,4,5,4,15.5,19.5,15.5,19.5,0 "BUD","Budget detail",10,20,4,5,6,5,15.5,20.5,16.5,21.5,1 "APP","Appendix compilation",10,25,2,3,4,3,15.5,18.5,20,23,4.5 "COR","Revise & correct",11,20,1,2,3,2,19.5,21.5,19.5,21.5,0 "PRI","Printout final vers.",20,25,1,1.5,2,1.5,21.5,23,21.5,23,0 "ASS","Assemble proposal",25,26,0.5,1,1.5,1,23,24,23,24,0 "ML","Deliver proposal",26,30,1,1.5,2.5,1.58333333333,24,25.5833333333,24,25.5833333333,0 3333333333 "1BU","1st outline budget",2,5,2,3,4,3,3.16666666667,6.16666666667,8.5,11.5,5.33333333333 "2DR","2nd draft",3,10,3,4,5,4,7.16666666667,11.1666666667,11.5,15.5,4.33333333333 "PER","Personnel line-up",4,5,5,7,10,7.16666666667,4.33333333333,11.5,4.33333333333,11.5,0 "SUP","Get support material",4,20,7,10,15,10.3333333333,4.33333333333,14.6666666667,11.1666666667,21.5,6.83333333333 "TIM","Timeline",5,10,3,4,5,4,11.5,15.5,11.5,15.5,0 "REV","Draft review",10,11,3,4,5,4,15.5,19.5,15.5,19.5,0 "BUD","Budget detail",10,20,4,5,6,5,15.5,20.5,16.5,21.5,1 "APP","Appendix compilation",10,25,2,3,4,3,15.5,18.5,20,23,4.5 "COR","Re10 PRINT CHR$(26):REM "CRITICAL PATH ANALYSIS" 20 PRINT "CRITICAL PATH METHOD NORMAL AND CRASH TIME/COST" 50 PRINT:PRINT "*** NOTE BEGINNING EVENTS WILL BE SORTED NUMERICAL ORDER ***" 55 INPUT "DIMENSION FOR ACTIVITIES";D%:PRINT 60 DIM A$(D%,2),A(D%,13),SV(12) 70 PRINT :PRINT: PRINT "INPUT MENU": PRINT: PRINT 80 PRINT " K KEYBOARD" 90 PRINT " D DISK FILE" 100 PRINT " R READ STATEMENT" 110 PRINT: PRINT 130 INPUT "SELECTION";IO$ 140 IF IO$ <> "K" THEN 330 150 INPUT "NUMBER OF ACTIVITIES";M%:EE=0 160 PRINT "IF THIS IS GOING TO BE WORK YOU MUST NOW INPUT UP TO ";M%;" ACTIVITIES" 170 FOR I = 1 TO M% 180 INPUT "ACTIVITY CODE ";A$(I,1) 190 INPUT "DESCRIPTION, BEGINNING EVENT NO., END EVENT NO., NORMAL TIME & COST, AND CRASH TIME & COST";A$(I,2),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6) 200 NEXT I 210 GOTO 480 330 IF IO$ <> "D" THEN 420 340 INPUT "NAME OF FILE:DISK ";B$:REM DISK INPUT 350 OPEN "I",1,B$ 360 INPUT #1,M%,EE 370 FOR I = 1 TO M% 380 INPUT #1,A$(I,1),A$(I,2),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6) 390 NEXT I 400 CLOSE 1 410 GOTO 480 420 IF IO$ <> "R" THEN PRINT CHR$(7);CHR$(26);: GOTO 70 430 READ M%,EE 440 FOR I = 1 TO M%:REM READ INPUT 450 READ A$(I,1),A$(I,2),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5),A(I,6) 460 IF A$(I,1) = "END" THEN 480 470 NEXT I 480 REM PRINT INPUT DATA FOR VERIFICATION 490 M=M%:TP=0:FOR I = 1 TO M:IF A(I,2) > TP THEN TP = A(I,2) 495 NEXT : EE=TP 500 FOR I = 1 TO M-1 510 FOR J = I + 1 TO M 520 IF A(I,1)<=A(J,1) THEN 550 530 FOR K = 1 TO 12:SV(K)=A(I,K):A(I,K)=A(J,K):A(J,K)=SV(K):NEXT K 540 FOR K = 1 TO 2:SV$(K)=A$(I,K):A$(I,K)=A$(J,K):A$(J,K)=SV$(K):NEXT K 550 NEXT J,I 560 XX=5:PRINT"VERIFICATION OF INPUT" 570 Z1$="CODE DESCRIPTION TIME EARLY EARLY LAST LAST SLACK" 580 Z2$=" USED START FIN START FIN TIME" 590 Z3$="CODE DESCRIPTION BEGIN END NORMAL CRASH" 600 Z4$=" EVENT EVENT TIME COST TIME COST" 610 PRINT "NO ";Z3$ 620 PRINT " ";Z4$ 625 PRINT 630 K=0 640 C4$="### " 650 FOR I = 1 TO M% 660 PRINT USING C4$;I; 670 C1$=" #### " 680 C2$="\ \ \ \":C3$=" ####.##" 690 PRINT USING C2$;A$(I,1),A$(I,2); 700 FOR J = 1 TO 2 710 PRINT USING C1$;A(I,J);:NEXT J 720 FOR J = 3 TO 6 730 PRINT USING C3$;A(I,J);:NEXT J 740 K=K+1:IF K >= 13 THEN PRINT:INPUT "ENTER TO PAGE";DU$:K=0 750 PRINT:NEXT I 760 INPUT "-2 TO ADD, -1 TO CONTINUE OR NUMBER TO CHANGE";L:IF L =-1 THEN 810 770 IF L <>-2 THEN 790 780 L=M%+1:M%=L:N%=N%+1 790 INPUT "INPUT CODE, DESCRIPTION, BEGINNING EVENT NUMBER, END EVENT NUMBER,NORMAL TIME, COST AND CRASH TIME AND COST";A$(L,1),A$(L,2),A(L,1),A(L,2),A(L,3),A(L,4),A(L,5),A(L,6) 800 GOTO 480 810 INPUT "HARD COPY OF INPUT DATA (Y/N)";P$ 820 IF P$<>"Y" THEN 960 830 INPUT "TITLE";T$:LPRINT "TITLE: ";T$ 840 INPUT "DATE";T$:LPRINT "DATE: ";T$ 850 LPRINT "NO ";Z3$ 860 LPRINT " ";Z4$ 870 FOR I = 1 TO M% 880 LPRINT USING C4$;I; 890 LPRINT USING C2$;A$(I,1),A$(I,2); 900 FOR J=1 TO 2 910 LPRINT USING C1$;A(I,J);:NEXT J 920 FOR J=3 TO 6 930 LPRINT USING C3$;A(I,J);:NEXT J 940 LPRINT " " 950 NEXT I 960 REM NOW THE WORK BEGINS BEGINNING EVENT IS 1 EARLY START = 0 FORWARD PASS 970 INPUT "NORMAL TIME OR FULL CRASH TIME (N/C)";NC$:IF NC$<>"N" AND NC$<>"C" THEN 970 980 FOR I =1 TO M%:IF NC$="N" THEN A(I,7)=A(I,3) 990 IF NC$="C" THEN A(I,7) = A(I,5) 1000 NEXT I 1010 FOR I = 1 TO M% 1020 IF A(I,1)=1 THEN A(I,8)=0:A(I,9)=A(I,7):GOTO 1100 1030 MAX=0! 1040 FOR J=1 TO M% 1050 IF A(J,2)<>A(I,1) THEN 1080 1060 IF A(J,9) >MAX THEN MAX=A(J,9) 1070 A(I,8) = MAX 1080 NEXT J 1090 A(I,9)=A(I,8)+A(I,7) 1100 NEXT I 1110 REM BACKWARD PASS 1120 XM=0! 1130 FOR I=M% TO 1 STEP -1 1140 IF A(I,2)<>EE THEN 1160 1150 IF XM A(J,1) THEN 1240 1220 IF A(J,10) < MIM THEN MIM =A(J,10) 1230 A(I,11) = MIM 1240 NEXT J 1250 A(I,10) = A(I,11)-A(I,7) 1260 NEXT I 1270 REM SLACK VARIABLE CALCULATIONS 1280 FOR I=1 TO M% 1290 A(I,12)=A(I,11) - A(I,9) 1300 NEXT I 1310 K=0:REM PRINT OUTPUT 1320 PRINT "CODE DESCRIPTION TIME EARLY EARLY LAST LAST SLACK" 1330 PRINT " USED START FIN START FIN TIME" 1340 C5$=" #####.##" 1350 FOR I = 1 TO M% 1360 PRINT USING C2$;A$(I,1),A$(I,2); 1370 FOR J=7 TO 12 1380 PRINT USING C5$;A(I,J);:NEXT J 1390 PRINT:K=L+1:IF K=13 THEN INPUT "ENTER TO PAGE";DU$:K=0 1400 NEXT I 1410 INPUT "HARD COPY OF RESULTS (Y/N)";P$:IF P$<>"Y" THEN 1490 1420 IF NC$="C" THEN LPRINT "FULL CRASH TIMER ANALYSIS" 1430 LPRINT " ":LPRINT Z1$:LPRINT Z2$ 1440 FOR I=1 TO M% 1450 LPRINT USING C2$;A$(I,1),A$(I,2); 1460 FOR J=7 TO 12 1470 LPRINT USING " #####.##";A(I,J);:NEXT J 1480 LPRINT " ":NEXT I 1490 PRINT "OUTPUT MENU" 1500 PRINT " C Cost and time of Critical Path" 1510 PRINT " D Disk" 1520 PRINT " E End" 1530 PRINT " R Recycle" 1540 PRINT " S Selective Crashing" 1560 INPUT " Selection ";OP$:IF OP$="R" THEN 480 1570 IF OP$ <>"S" THEN 1760 1580 IF NC$<>"N" THEN INPUT "Cannot Crash from full Crash Enter to Continue";DU$:GOTO 1490 1590 PRINT CHR$(26):PRINT "Selective Crashing -- Starts from Normal Run **": INPUT " New run (Y/N) ";DU$: IF DU$="Y" THEN FOR I=1 TO M%: A(I,13)=0:A(I,7)=A(I,3): NEXT I 1600 PRINT "NO CODE DESCRIPTION SELECT CRASH UNIT TOTAL" 1610 PRINT " TIME COST COST COST" 1620 J=0: FOR I=1 TO M%: IF A(I,13)=0 AND A(I,12)>.00001 THEN 1650 1630 X=(A(I,6)-A(I,4))/(A(I,3)-A(I,5)):PRINT USING C1$;I;:PRINT USING C2$;A$(I,1),A$(I,2);:PRINT USING C3$;A(I,7),A(I,13),X,A(I,6)-A(I,4) 1640 J=J+1: IF J=13 THEN J=0: INPUT "ENTER TO PAGE ";DU$ 1650 NEXT I 1660 INPUT "-1 TO CONTINUE OR NUMBER TO CHANGE";IZ:IF IZ=-1 THEN 1700 1670 INPUT "CRASH DOLLARS OVER NORMAL DOLLARS";CD:X=A(IZ,3)-A(IZ,5):TS=CD/((A(IZ,6)-A(IZ,4))/X):IF TS>X THEN S=X: INPUT "WASTED MONEY -- ENTER TO CONTINUE";DU$ 1680 A(IZ,13)=CD:A(IZ,7)=A(IZ,7)-TS: IF A(IZ,7).00001 THEN 1750 1740 X=(A(I,6)-A(I,4))/A(I,3)-A(I,5)): LPRINT USING C1$;I;:LPRINT USING C2$;A$(I,1),A$(I,2);:LPRINT USING C3$;A(I,7),A(I,13),X,A(I,6)-A(I,4): J=J+1: IF J=13 THEN J=0: INPUT "ENTER TO CONTINUE";DU$ 1750 NEXT I: GOTO 1010 1760 IF OP$<> "C" THEN 1910 1770 REM IDENTIFICATION OF CRITICAL PATH COSTS 1780 CO=0:PATH$=" ":CX=0:CY=0:CZ=0:CP=0:CW=0 1790 FOR I=1 TO M%: IF A(I,12)>.00001 THEN 1810: REM 0 DEFINED AS .00001 ... 1800 CO=CO+A(I,3):PATH$=PATH$+" "+A$(I,1):CX=CX+A(I,4):CY=CY+A(I,6):CZ=CZ+A(I,7):CP=CP+A(I,5):CW=CW+A(I,13) 1810 NEXT I: C6$="###,###,###.##":IF NC$="C" THEN CW=CY-CX 1820 PRINT CHR$(26):PRINT "CRITICAL PATH";:PRINT PATH$ 1830 PRINT "TIME OF CRITICAL PATH ";CZ:PRINT "COST OF CRITICAL PATH ";CW+CX,"INCREMENTAL COST ";CW:PRINT "NORMAL TIME CRITICAL PATH ";CO 1840 PRINT "NORMAL COST OF CRITICAL PATH ";CX 1850 PRINT "FULL CRASH TIME OF CRITICAL PATH ";CP:PRINT "FULL CRASH COST OF CRITICAL PATH ";CY 1860 INPUT "HARD COPY (Y/N)";P$:IF P$<>"Y" THEN 1490 1870 LPRINT " ": LPRINT "CRITICAL PATH ";PATH$ 1880 LPRINT "TIME OF CRITICAL PATH ";CZ:LPRINT "COST OF CRITICAL PATH ";CW+CX," INCREMENTAL COST ";CW: LPRINT "NORMAL TIME OF CRITICAL PATH ";CO 1890 LPRINT "NORMAL COST OF CRITICAL PATH ";CX 1900 LPRINT "FULL CRASH TIME OF CRITICAL PATH ";CP:LPRINT "FULL CRASH COST OF CRITICAL PATH ";CY: GOTO 1490 1910 IF OP$="E" THEN END 1920 IF OP$<>"D" THEN 2010 1930 INPUT "NAME OF FILE:DISK ";X$:OPEN"O",1,X$ 1940 PRINT #1,M%,EE 1950 FOR I=1 TO M%: PRINT #1,CHR$(34);A$(I,1);CHR$(34);",";CHR$(34);A$(I,2);CHR$(34);A(I,1);A(I,2);A(I,3);A(I,4);A(I,5);A(I,6):NEXT I 1960 CLOSE 1: GOTO 1490 2010 GOTO 1490 2020 REM PUT DATA HERE FIRST # ACTIVITIES THEN ENDING EVENT NUMBER THEN CODE, DESCRIPTION, BEGINNING EVENT, ENDING EVENT, NORMAL TIME, COST AND CRASH TIME, COST FOR EACH ACTIVITY 2030 DATA 18,9 2040 DATA A,ACCT. PAPERS,1,2,2,20,1,30 2050 DATA Z,PERMITS,2,7,5,50,4,80 2060 DATA B,SHOP BANKERS,1,3,4,40,3,60 2070 DATA C,SHOP REAL EST.,1,4,13,130,10,170 2080 DATA D,MARKET STUDY,2,3,4,40,3,50 2090 DATA G,CONTRACTOR,2,5,2.2,22,1.7,67 2100 DATA F,INSURANCE,2,6,1.3,13,.5,15 2110 DATA H,ART. PLANS,3,5,4,40,3,60 2120 DATA E,COST STUDY,3,4,4,40,3,50 2130 DATA I,LAND,4,5,11,110,10,130 2140 DATA J,MATERIAL,5,6,3,30,2,40 2150 DATA K,PLANS,5,7,5,50,2,120 2160 DATA L,SURVEY,5,8,2,20,1,40 2170 DATA M,BUY MAT #1,6,8,7,30,4,40 2180 DATA O,BUY MAT #2,6,9,8,20,5,50 2190 DATA N,LAYOUT,7,8,21,110,12,120 2200 DATA P,FOUNTATION,8,9,9,30,6,60 2210 DATA Q,HIRE CREW 2,7,9,2,20,1,30 ,8,20,5,50 (34);",";CHR$(34);A$(I,2);CHR$(34);A(I,1);A(I,2);A(I,3);A(I,4);A(I,5);A(I,6):NEXT I 1960 CLOSE 1: GOTO 1490 2010 GOTO 1490 20CPA is adapted from an article by Zimmerman and Conrad, BYTE Magazine, 7/82, pp. 378 - 390. To run, place CPA.BAS in drive A and MBASIC.COM in drive B. At the A> prompt, type B:MBASIC At the Ok prompt, type RUN "CPA" PERTOVR8INT:PERTSORTINT ;<PERTWS DOC<=>?@ABCDPINSTALLINT1EFGHIJKDEMO PRT LMCPA BASGNOPQRSTUVCPA $$$PERT DOCXYZ[\]^_`abcdefgPERT DOCdhijklmnopqrstPERT128 BAS]uvwxyz{|}~PERT80 BAS]PERT80 DOC PERTSAMPCOMPERTSAMPCOMRPERTTEST CHEKLISTCRC Programmin the Performance Evaluation and Review echnique (PERT) i BASIC " metho fo plannin comple activitie wher n precedent exist." Origina progra b Steve Zimmerma an Le M Conrad Develope an modifie fo th Osborn b Dou Hurst Tex an progra listin reprinte fro BYT Magazin wit permission. TABLE OF CONTENTS Osborn Prolog . . . . . . . . . . . 2 Introduction. . . . . . . . . . . . . 3 Origin o PERT. . . . . . . . . . . . 3 Th Star o PER Analysis. . . . . . 3 Th Bubbl Diagram. . . . . . . . . . 4 Th Critica Path. . . . . . . . . . . 4 Thre Tim Estimates. . . . . . . . . 5 Ou PER Program. . . . . . . . . . . 5 Runnin th Program. . . . . . . . . . 6 Conclusion. . . . . . . . . . . . . . 8 Figur 1 . . . . . . . . . . . . . 9 Tabl 1 . . . . . . . . . . . . . . 10  Glanc a th Mathematic o PERT 11 Programmin PER i BASIC " metho fo plannin comple activitie wher n precedent exist." Origina progra b Steve Zimmerma an Le M Conrad Develope an modifie fo th Osborn b Dou Hurst Tex an progra listin reprinte fro BYT Magazin wit permission. ...T1 Osborn Prolog Th BYT articl fro whic thi librar submissio wa extracte appear o page 465-47 o th Ma 198 issu wit th them "Japanes Computers Thi wa fairl eas progra t conver t ru o th O- a ar mos program writte i TRS-8 Leve I o Dis Basic(als b MicroSoft) Deletion t th progra includ al tap sav an loa routines Addition includ mean b whic t designat tim unit use an projec star date a wel a thei appearanc o th har cop output Also an mos important i th inclusio o th abilit t displa an printou GANN Char o th pertinen PER elements. Th progra ha grea practica utility A th Marin Corp Communication-Electronic School Twentynin Palms CA w ar involve i larg numbe o coursewar conversion (t Compute Aide Instruction(CAI) tha ar sprea out i som cases ove period a larg a years PER ha bee instrumenta i bot th plannin an monitorin o thes projects. Ther ar no mai program o th diskette PERTSAMP.COM PERT80.BAS an PERT128.BAS PERTSAMP.CO i somethin I' reall prou of althoug can' tak ful credi fo th originality pulle progra calle OSBOARD1.CO of Kell Smith' CP/ Ne whil back I wa reall a advertisemen fo progra whic make th O-1' graphic eas t use I doin s i showe th program' capability PERTSAMP.CO doe muc th same Jus plac th PER diskett i th driv an hi th return IMPORTAN Mak sur yo printe i u whe yo d so Wha yo wil ge i complet sampl ru o th PER progra includin printouts Yo shoul d thi righ awa eve thoug PER hasn' eve bee explaine yet Th page o outpu ar Listing 2,3,4,an a referre t i th articl proper PERTSAM i compile BASIC PERT80/128.BA ar name base o thei printe requirements TEM i merel fil whic yo ma read into the program for practice. Wit th lates addition tha is- th GANN Chart thi PER progra i swiftl approachin th qualit o MILESTON (o th Osborn Approve Softwar list Organi Software Retai Pric $295.00) (Note M friend fo th tim being Jerr Lawson ha bee ploddin awa a PERT' companio progra "Programmin th Critica Pat Metho i BASIC" (BYTE Jul 1982 page 378-390 fo quit som tim now force hi t d i becaus s muc ca b learne abou programin fro th copyin an debuggin process It' bee slo proces an beside h ha wif an famil t whic h i mor devote tha hi Osborne Can' understan that Whe h finishe hi part th progra wil b cleane up modifie an submitted Onc thi i done MILESTON wil hav bee equaled. ...T1 Introduction. Th Performanc Evaluatio an Revie Techniqu (PERT i powerfu metho o plannin comple activities especiall pioneerin project lik th creatio o ne busines o th developmen o ne machine Th innovativ natur o thes project assure tha fe precedent exis t hel estimat performanc time. PER give manager th tool t dea wit uncertainty PER i managemen i action I plans schedules an control activity Usin PERT contractors builders engineers an businessme ca improv plannin i th mids o uncertaint an sav mone a result. Unti now onl larg businesse wit acces t larg computer coul us PERT Th progra i listin (Listin ma b obtaine b loadin eithe PERT80.BA o PERT128.BAS settin WIDT LPRIN 80 an the doin LLIST. bring PERT' powe t microcompute users Befor presentin ou program however we'l giv yo glimps a PERT' history briefl describ th natur o PER analysis sugges on possibl PER applicatio fo manager an examin th mathematic behin PERT. ...T1 Origin o PERT. PER date bac t tea create b th Nav Specia Project Office Lockhee Aircraf Corporation an managemen consultin fir o Booz Allen an Hamilton Wor durin Worl Wa o th Gann schedulin char an th Gann mileston char shoul als b note becaus thes precipitate th developmen o th networ diagra (describe later use i PERT. Manager o man differen kind o task hav successfull applie PERT On particularl spectacula resul o th PER approac i th Polari missile whic als occasione PERT' development (Lockhee Aircraf wa th majo contracto fo Polaris. Completio tim wa critica i th Polari program bu ther wa considerabl uncertaint abou ho lon th require activitie woul take Moreover th star o man activitie depende o th completio o others Thes ar th chie reason wh PER employ networ schem an focuse o th probabilit o variou activitie finishin a specifie times. ...T1 Th Star o PER Analysis. PER analysi begin b reducin projec descriptio t lis o event an activities A activit i par o projec tha consume resource o tim an ha definabl beginnin an end A even i poin i time instant Th beginnin an endin point o a activit ar events T appl PER t comple project yo mus identif al th event neede t complet th projec an al th activitie tha resul i th identifie events. A a example we'l us simplifie versio o a actua constructio projec tha w jus completed T simplify we'l en ou exampl wit th completio o th building' foundation W identifie 1 activitie neede t complet thi foundation Tabl list th activities assigne letter throug an Z Eac o th nin event i th projec consist o th completio o on o mor activities. ...T1 Th Bubbl Diagram. Th secon stag i PER analysi i th layou o "bubble diagra tha show ho th necessar activitie an event for sequenc o steps Figur i th bubbl diagra o ou foundation-buildin example Wit o withou PERT specifyin th sequenc o project' step i obviousl a importan plannin activity Mos contractor la ou th sequenc o task i projec i som fashion bu PER make tas sequencin forma activity Formalizin thi proces lend valuabl structur t essentia planning I particular makin bubbl diagra force th planne t specif whic activitie depen o th completio o others. Diagram lik tha show i figur ar als calle networks PER networ ha on initia event a th extrem left an on termina event a th extrem right th circle i figur (afte yo perfor littl artwork ar numbere an represen events Th line ar lettere an represen activities eac lin ha a arro indicatin it directio i tim fro beginnin t completion Th networ a whol show th serie o activitie tha mus b performe t complet th project th arrow sho whic activitie an event logicall preced others. A even tha result fro completio o mor tha on activit i calle merg event a even tha represent th join beginnin o mor tha on activit i calle burs event Befor an activit ca start al precedin activitie mus b complete (bu no al simultaneously) A arrow' lengt an it compas directio ar insignificant. Dashe line i networ diagram represen "dummy"activities dumm activit exist whe th completio o on even depend o th completio o anothe bu require n additiona wor o activity PER handle dumm activitie lik an other bu assign th activit zer tim an zer costs. ...T1 Th Critica Path. Th longes rout fro th beginnin o th networ o th lef t it en o th righ determine th tim require t complet th project thi lin i th critica path whic determine th minimu tim require t complet job Althoug th concep o critica pat ma soun complex i i simpl onc you'v lai projec ou i bubbl diagram. Critical-pat analysi ca revea way t shorte th critica pat an t contro th tota lengt o job Becaus o th siz o ou computer thi progra analyze th critica pat bu doe no attemp t shorte it. ...T1 Thre Tim Estimates. Alon eac activit lin i figur 1 yo se thre decima numbers Thes number represen a optimistic likel an pessimisti estimat o th tim require t complet th activity Eac tim th activit i no o th critica path manager' decisio t authoriz expenditure fo overtim woul b foolis an wasteful Al activitie no o th critica pat hav "slac time, th differenc betwee th earlies an lates expecte finish B definition onl th activitie o th critica pat hav zer slac time We'l elaborat later. ...T1 Ou PER Program. Ou PER Progra i show i listin 1 dimensio (DIM statemen a lin 16 provide place t stor dat o activities Th sam DI statemen als provide storag fo dumm variable,SV t b use late durin sorts. O syste wit 32 (remembe th articl wa writte fo TRS-80 byte o memor an tw dis drives ou progra ca handl mor tha 20 activities W hav ye t nee mor tha 10 activities You machine' memor capacit an th limit o you DI statemen wil determin th siz o th proble tha ou progra ca handl fo you Yo ca fin th limit b experimentation. On wa t sav memor i t carefull omi remar (REM statements(Thes statement ar lef i i fn.f PERTSAMP.BA bu hav bee remove fro PERT80.BA an PERT128.BA i th Osborn version) A note before th critica pat consist o serie o activitie tha hav zer slac time T fin th critica path yo mus identif activitie tha hav zer slac time Th progra output consistin o tw tables i designe t identif thes activities. Th firs tabl (se listin 2 show th program' input listin al th activitie i th project thei beginnin an endin events an th thre estimate o th tim eac activit requires Yo shoul chec you inpu wheneve yo us thi progra becaus otherwis yo ma ge craz results. Th secon tabl (se listin 3 i th program' output Notic th las column "Slac Time. Zero i thi colum identif th critica path Yo can o course trac th activitie i th critica pat b lookin i th firs column "Code, fo eac activit wit zer slac time Bu ou progra als provide men optio CRITICA PAT AN TIME whic permit bot th critica pat an th tim require t complet it Familiarit wit th projec an th progra wil probabl mak listing an al yo wil nee t full monito yo program Unfortunately man time ther wil b nee t mak th schedulin o you projec understandabl t supervisor o other withou detaile explanation Thi i wher listin  become invaluable Listin i GANN char fo th project Thi char ca b heade i eithe on o tw way dependin o th tim estimate i you DAT statements Thi wil b eithe WEEK o MONTHS Th GANN char heade i triggere b yo inpu o lin 150 I yo ente WEEK you heade wil sho 1 month o week eac o PERT8 an year o week o PERT128 I yo pic MONTHS yo ge year o month o eithe PERT8 o PERT128 Th GANN Char list eac activit simila t listing an an actuall merel provide graphi representatio o listin 3 Th represent th earl star time Th and/o symbo represen th expecte tim fo th activit (C' i th activit i o th Critica Path) Th i fo th las finish B default an spac betwee th las fo a activit an th represent slac tim i th activit i starte a th earl star an i finishe i th expecte time Ther wil b n spac betwee th las an th fo an activity A stated thes li o th critica pat an ther i n slac time wor o cautio abou usin th program round-of problem i calculatio th critica pat force u t defin zer slac tim a 0.00 instea o tru zero Wher smal difference ar important thi approximatio o zer ca caus problems Th valu 0.00 i entere i lin 1490 perhap yo ca chang th valu t tru zer fo som o you applications Furthermore sinc w use statistica method t determin th probabilit o project' bein complete o time give schedule completio date yo shoul remembe tha dat generate b th progra i base o estimate an i itsel a estimate. ...T1 Runnin th Program. Th easies wa t inpu dat i t us DAT statement a th en o th progra startin alway a lin numbe 4000 Enterin dat fro th keyboar take tim an increase th numbe o errors Th bes wa d th DAT statement i t boo u WordSta i driv an th PER diskett i driv B Creat fil o driv i th "N non-documen mod tha prett wel discribe you project Lik "BUILDING.BAS" Simpl star usin lin 400 wit th numbe o activitie an th numbe o events The ad eac activit letter description,startin an endin even an lastl th optimistic likely an pessimesti times a below: 400 DAT 18,9 401 DAT A,ACCT PAPERS,1,2,1,2,3 402 DAT B,SHO BANKERS,1,3,2,4,6 403 DAT C,SHO REA EST.,1,4,1,13,17 ETC...... Onc thi i done sav th program No boo u MBASI an LOA "x:PERT80 o "x:PERT128" MERG "x:BUILDING t appen you DAT line t th progra the SAV "x:BUILDING (x th dis driv o choice) Thi save th entir progra unde th nam formerl use b you DAT line an leave PERT80/12 intac withou dat line an availabl fo futur projects Th followin descriptio o progra ru assume tha DAT statement wer  use fo input. Whethe yo inpu dat fro DAT statement o th keyboard th progra begin b givin th identificatio messag an the displays: ** NOT BEGINNIN EVENT WIL B SORTE INT NUMERICA ORDE *** whe asking DIMENSION FO ACTIVITIES?_ (NOTE Thi wil onl appea i dat i t b entere fro keyboard or disk file.) TIM UNIT WIL B MEASURE IN?_ and PROJECT START DATE?_ A yo se i listin 2 event ar arrange accordin t th earlies startin even i eac activity an tie ar broke b referenc t th earlies endin even fo eac activity. No th progra present th inpu menu: INPU MENU KEYBOARD DIS FILE Optio cause th progra t rea DAT statement a th en o th program Afte brie delay th progra wil displa fo verificatio th inpu o wha wa read. Th vide displa o th inpu wil loo slightl differen tha th tabl i listin becaus o th difference i th scree an printe sizes I singl scree won' accommodat al th input th progra wil as yo t pag through. Afte listin al th input th progra wil say: - ADD - T CONTINU O NUMBE T CHANGE?_ Th numbe referre t i th numbe o an activit tha yo wis t change Assumin yo wan t continu an ente -1 th progra wil ask: HAR COP O INPU DAT (Y/N)?_ I yo reques har copy th progra wil prin line o EG dat an the asks: TITLE?_ DATE?_ an wil prin you responses a wel a th measur o tim unit a th to o th page Ou sampl se o dat use th titl PER SAMPL an th dat 11/26/82. Afte th inpu i printed th scree wil displa th results a show i listin 3 Fo eac activity yo wil se computation o ho lon i shoul b expecte t take th earlies wee (yo ma us month also i ca start th earlies i ca finish an th slac tim (th differenc betwee th earlies an lates possibl finish) Yo ma hav t pag throug scree displa o thi data Th progra wil agai as i yo wan har copy. Nex th GANN Char wil b displaye wit pagin agai i necessar an promp fo har copy Line 8 an 9 se scree an printe widt t accomodat al requirements. The yo wil see: OUTPU MENU CRITICA PAT AN TIME DISK END RECYCLE SELECTION?_ Optio C fo ou example result i displa lik th following: CRITICA PATH P TIM O CRITICA PATH 42.33 SCHEDULE PROJEC TIM (US SAM TIM UNIT A DATA)?_ Fo ou example th critica pat consist o shoppin fo real-estat agent obtainin land gettin architectura plans gettin detaile layou fo construction an actuall buildin th foundation Th tim o th critica pat i expecte t b 42.3 weeks Yo ca no inpu th schedule tim fo th project an th progra wil us th calculation explaine i th textbo " Glanc a th Mathematic o PERT t tel yo probabilit o meetin th schedule A show i listin 3 ther i 0.012385 probabilit o finishin i 3 week an 0.99053 probabilit o finishin i 5 weeks A note earlier ther i als .50 probabilit o finishin i th expecte tim o th critica pat - 42.3 weeks. ...T1 Conclusion. I yo nee hel plannin an schedulin comple projects thi PER progra ca provid it Yo ca us i withou knowin ho t perfor th calculation involved Althoug w repea ou cautio abou relyin o estimate-base estimates w stil believ PER ha prove itsel valuabl manageria too an tha ou progra accuratel represent PERT. _ |2 |7| |8 _ |9| |1 |3 |5| _ |4 |6 (NOTE Sinc i i impossibl t dra ful fledge bubbl diagra wit WordStar perfor th followin upo printin thi documentation Connec th bubble an labe th resultan line a show below. 1- A-1,2, 4- I-8,11,13 1- B-2,4, 5- J-2,3,4 1- C-2,13,1 5- K-2,5,12 2- D-2,4, 5- L-1,2,4 2- G-1.4,2.2,6. 6- M-2,3,4 2- F-.4,1.3,1. 6- O-1,2,5 2- Z-4,5, 7- N-9,11,12 3- E-3,4, 7- Q-1,2,3 3- H-2,4, 8- P-1,3,6 ...T2 Figur 1 Th PER networ diagra o th activitie require t buil foundation Eac circl represent a even an eac lin betwee circle represent on o th activitie liste i tabl 1 Th thre number give fo eac activit represen huma estimate o th optimistic(minimum) likely an pessimistic(maximum tim i week tha eac activit wil take Th networ ha on initia event even a th extrem lef an on termina event even a th extrem right Th critica pat i th on tha take th mos tim t ge fro even t even 9.  Lette Activit Beginnin End Even Event assembl accountin dat 2 loo fo ban 3 loo fo real-estat agen 4 see permit 7 mak marke stud o are 3 loo fo contracto 5 see insuranc fo con- 6 struction ge basi architectura plan 5 mak cos stud 4 bu lan 5 lis material 6 ge mor detaile architec- 7 tura plans hav surve mad 8 bu firs batc o material 8 bu secon batc o 9 materials  complet detaile interna 8 layou o foundation hir cre 9 buil foundatio 9 ...T2 Tabl 1 Th activitie require t buil foundation th progra i listin use th letter a lef t identif th activities Th tw column a righ lis th firs an las even durin eac activity A even i th completio o on o mor activities. ...T2  Glanc a th Mathematic o PERT Th mathematic o PER involve som interestin statistica concepts Yo don' hav t understan th mathematic t us PERT bu i help yo t understan ho ou progra works. First w mus refres you recollectio o som basi statistica terms th mea o se o occurence o som variabl i th arithmeti averag o th value o th occurences th standar deviatio i th squar roo o th mea o th square o th deviation o individua occurence fro th mean) th varianc i th squar o th standar deviation. Fo example i w hav thre value 9.1 an 15 thei mea i 36/3=12 thei varianc is (9-12) (12-12) (15-12) 18 an th standar deviatio i th squar roo o 18 whic i approximatel 4.24. I i commo statistica assumptio tha th standar deviatio i unimoda distribution (distribution tha hav onl singl most-likel occurrin value i roughl sixt o th rang o distributio lie wit thre standar deviation o th mean an fo th norma distribution 99. percen o th distributio lie withi thre standar deviation o th mean. Sinc w hav estimate o th minimu tim an th maximu tim require t complet a activity w hav establishe a estimate rang o actua times W ca estimat th standar deviatio o th actua tim as (b-a)  6 Sinc PER assume tha chance o rando factor wil influenc th actua tim neede t complet a activity w ca expec th actua time t b distribute alon som curve PER assume tha th mea actua tim wil follo th distributio know a th bet distribution whic i containe i finit interva an ma b eithe symmetri o skewed Ou mos likel tim o completio i th mod o th curv fo eac activity th followin equation base o th assumptio tha ou formul fo th standar deviatio i correct i linea approximatio o th valu o th expecte value EV o th mea time: (a+4xm+b) E ---------- 6 A yo ca see thi i jus weighte average countin th minimu an maximu eac onc an th mod fou times the dividin th tota b 6 O lin 99 o listin 1 sam equatio i expresse as:  A(I,6)=(A(I,3)+4*A(I,4)+A(I,5)/6 Th followin equatio give th varianc o th bet distributio fo eac activity: VA =((b-a)/6)2 Fo eac activity th progra applie th statistica principle describe abov an calculate th tim th activit shoul last th earlies tim a whic i ca start th earlies finish th lates start an th lates finish Calculatio o th earlies star an finis time i calle th "forwar pass an take plac i ou progra a line 97 t 1080 Calculatio o th lates star an finis i calle th "backwar pass an take plac a line 109 t 1230. Th differenc betwee th earlies an lates projecte finis fo eac activit i calle "slac time" A line 124 t 1290 th progra calculate slac tim fo eac activity Th even tha hav zer slac tim for th critica path. T obtai th approximat varianc fo th critica path ad th variance o th activitie o th path: VAR(Path)=VAR(1)+VAR(2 ....+VAR(n) I happen tha th Centra Limi theore enable us base o th foregoing t assum tha th distributio o th tim require t complet th critica pat i normal Base o thi assumption w ca calculat th probabilit o th project' bein o time give som specifie targe completio time Th calculation' basi i th deviatio o th schedule completio tim fro th estimate mea completio wit th deviatio measure i unit o standar deviations Thi deviatio i calle Z Th calculatio fo th standar norma tabl is: (schedule tim o ) tim critica path) ---------------------------------- VAR(Path) Rathe tha requir yo t us norma table wit ou program w hav buil i Taylo serie t approximat th tables ( Taylo serie i powe serie tha give th expansio o functio f(x i th neighborhoo o poin a provide al derivative exis an serie converges. Th Taylo serie i locate a lin 244 an followin i ou program. Th expecte tim o th critica pat i th su o th expecte time o al th activitie o th path I th schedule tim o th projec equal th expecte tim o th critica path yo hav 5 percen chanc o completin th projec o time. pletio wit th deviatio measure i unit o standar deviations Thi deviatio i calle Z Th calculatio fo th standar norma tabl is: (schedule tim o ) tim critica path) ---------------------------------- VAR(Path) Rathe tha requir yo t us norma table wit ou program w hav buil i Taylo serie t approximat th tables ( Taylo serie i powe10 CLEAR 1000:PRINT CHR$(26): REM PERTSAMP.BAS 20 PRINT "PERT/CRITICAL PATH SCHEDULING PROGRAM" 30 PRINT "BY STEVEN ZIMMERMAN AND LEO M. CONRAD" 40 PRINT "MODIFIED FOR THE OSBORNE 1 BY D. M. HURST, 1982" 85 WIDTH 128 100 PRINT:PRINT "*** NOTE BEGINNING EVENTS WILL BE SORTED ***" 110 PRINT" *** INTO NUMERICAL ORDER ***":PRINT 111 PRINT:INPUT "TIME UNITS WILL BE MEASURED IN ";DWM$ 113 PRINT:INPUT "PROJECT START DATE IS (MM/DD/YY) ";ST$ 115 ON ERROR GOTO 119 117 READ D%:DIM A$(D%,2),A(D%,11),SV(11):RESTORE:IO$="R":GOTO 230 119 RESUME 120 120 PRINT:PRINT " !!! WARNING !!!" 130 PRINT:PRINT "NO DATA READ STARTING AT LINE 4000. AM ASSUMING" 140 PRINT "DATA TO BE ENTERED FROM KEYBOARD OR DISK FILE." 150 PRINT:PRINT "ENTER TOTAL NUMBER OF ACTIVITIES (ALLOW EXTRA" 152 INPUT "FOR ANTICIPATED ADDITIONS) ";D%:PRINT 160 DIM A$(D%,2),A(D%,11),SV(11) 170 KK$="N" 180 PRINT "INPUT MENU" 190 PRINT" K KEYBOARD" 200 PRINT" D DISK FILE" 220 INPUT "SELECTION";IO$  230 IF IO$<>"K" THEN 310 240 PRINT CHR$(26):M%=D%:EE=0 250 PRINT"THIS IS GOING TO BE WORK YOU MUST NOW INPUT" 252 PRINT "UP TO ";M%;" ACTIVITIES.":PRINT 260 FOR I=1 TO M% 270 INPUT "ACTIVITY CODE ";A$(I,1) 280 INPUT "DESCRIPTION ";A$(I,2) 281 INPUT "BEGINNING EVENT ";A(I,1) 282 INPUT "ENDING EVENT ";A(I,2) 283 INPUT "OPTIMISTIC TIME ";A(I,3) 284 INPUT "LIKELY TIME ";A(I,4) 285 INPUT "PESSIMISTIC TIME ";A(I,5) 286 PRINT:IF I"D" THEN 400 320 LINE INPUT "NAME OF Drive:Fn.Ft ";B$: REM DISK INPUT 330 OPEN "I",1,B$ 340 INPUT#1 ,M%,EE 350 FOR I = 1 TO M% 360 INPUT#1,A$(I,1),A$(I,2),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5) 370 NEXT I 380 CLOSE 1 390 GOTO 470 400 IF IO$<>"R" THEN 160 410 READ M%,EE 420 FOR I=1 TO M%:REM READ INPUT 430 READ A$(I,1),A$(I,2),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5) 440 IF A$(I,1) ="END" THEN 470 450 NEXT I 460 REM PRINTS INPUT DATA FOR VERIFICATION 470 M=M%: TP=0:FOR I=1 TO M: IF A(I,2)>TP THEN TP=A(I,2) 480 NEXT I:EE=TP 490 FOR I=1 TO M-1 500 FOR J=I+1 TO M 510 IF A(I,1)<=A(J,1) THEN 540 520 FOR K=1 TO 11:SV(K)=A(I,K):A(I,K)=A(J,K):A(J,K)=SV(K):NEXT K 530 FOR K =1 TO 2:SV$(K)=A$(I,K):A$(I,K)=A$(J,K):A$(J,K)=SV$(K):NEXT K 540 NEXT J,I 550 XX=5:PRINT CHR$(26):PRINT "VERIFICATION OF INPUT" 560 Z1$="CODE DESCRIPTION EXPECTED EARLY EARLY LAST LAST SLACK" 570 Z2$=" TIME START FIN START FIN TIME" 580 Z3$="CODE DESCRIPTION BEGIN END OPTIMIST LIKELY PESSI" 590 Z4$=" EVENT EVENT TIME TIME TIME" 600 PRINT " NO ";Z3$ 610 PRINT " ";Z4$ 620 K=0 630 C4$="###" 640 FOR I = 1 TO M% 650 PRINT USING C4$;I; 660 C1$ =" #### " 670 C2$ =" \ \\ \":C3$=" ####.##" 680 PRINT USING C2$;A$(I,1),A$(I,2); 690 FOR J=1 TO 2 700 PRINT USING C1$;A(I,J);:NEXT J 710 FOR J=3 TO 5 720 PRINT USING C3$;A(I,J);:NEXT J 730 K=K+1:IF K>13 THEN PRINT :INPUT "ENTER TO PAGE";DU$:K=0 740 PRINT :NEXT I 750 INPUT "-2 TO ADD, -1 TO CONTINUE OR NUMBER TO CHANGE";L:IF L=-1 THEN 800 760 IF L<>-2 THEN 780 770 L=M%+1:M%=L:N%=N%+1 780 PRINT CHR$(26):PRINT" ENTER CHANGE/ADD DATA":PRINT 781 INPUT "ACTIVITY CODE ";A$(L,1) 782 INPUT "DESCRIPTION ";A$(L,2) 783 INPUT "BEGINNING EVENT ";A(L,1) 784 INPUT "ENDING EVENT ";A(L,2) 785 INPUT "OPTIMISTIC TIME ";A(L,3) 786 INPUT "LIKELY TIME ";A(L,4) 787 INPUT "PESSIMISTIC TIME ";A(L,5) 790 GOTO 470 800 INPUT "HARD COPY OF INPUT DATA (Y/N)";P$:WIDTH LPRINT 255 810 IF P$<>"Y" THEN 980 811 LPRINT:LPRINT:LPRINT "PERT/CRITICAL PATH SHEDULING PROGRAM" 812 LPRINT "BY STEVEN ZIMMERMAN AND LEO M. CONRAD" 813 LPRINT "MODIFIED FOR THE OSBORNE 1 BY D. M. HURST, 1982" 814 LPRINT 820 INPUT "TITLE";T$:LPRINT "TITLE: ";T$ 830 INPUT "DATE";TT$:LPRINT "DATE: ";TT$ 840 LPRINT "TIME IS IN ";DWM$ 845 LPRINT "PROJECT START DATE ";ST$ 850 LPRINT " NO ";Z3$ 860 LPRINT " ";Z4$ 870 FOR I =1 TO M% 880 LPRINT USING C4$;I; 890 LPRINT USING C2$;A$(I,1),A$(I,2); 900 FOR J=1 TO 2 910 LPRINT USING C1$;A(I,J);:NEXT J 920 FOR J=3 TO 5 930 LPRINT USING C3$;A(I,J);:NEXT J 940 LPRINT " " 950 NEXT I 960 LPRINT CHR$(12) 970 REM FORWARD PASS 980 FOR I=1 TO M% 990 A(I,6)=(A(I,3)+4*A(I,4)+A(I,5))/6 1000 IF A(I,1)=1 THEN A(I,7)=0:A(I,8)=A(I,6):GOTO 1080 1010 MAX=0! 1020 FOR J=1 TO M% 1030 IF A(J,2)<>A(I,1) THEN 1060 1040 IF A(J,8)>MAX THEN MAX = A(J,8) 1050 A(I,7)=MAX 1060 NEXT J 1070 A(I,8)=A(I,7)+A(I,6) 1080 NEXT I 1090 REM BACKWARD PASS 1100 XM=0! 1110 FOR I=M% TO 1 STEP -1 1120 IF A(I,2)<>EE THEN 1140 1130 IF XMA(J,1) THEN 1220 1200 IF A(J,9)"Y" THEN 1500 1420 LPRINT " ":LPRINT Z1$:LPRINT Z2$ 1430 FOR I=1 TO M% 1440 LPRINT USING C2$;A$(I,1),A$(I,2); 1450 FOR J=6 TO 11 1460 LPRINT USING C3$;A(I,J);: NEXT J 1470 LPRINT " ":NEXT I 1480 LPRINT CHR$(12) 1500 K=0 1505 IF LEFT$(DWM$,1)="W" THEN 1510 ELSE IF LEFT$(DWM$,1)="M" THEN 1540 ELSE 2300 1510 PRINT:PRINT " GANNT CHART FOR ";T$;" IN WEEKS";" START DATE ";ST$ 1515 PRINT " YEAR #1 YEAR #2" 1520 PRINT " 12345678911111111112222222222333333333344444444445551234567891111111111222222222233333333334444444444555" 1530 PRINT " 0123456789012345678901234567890123456789012 0123456789012345678901234567890123456789012":GOTO 1580 1540 PRINT " GANNT CHART FOR ";T$;" IN MONTHS";" START DATE ";ST$ 1550 PRINT " YR#1 YR#2 YR#3 YR#4 YR#5" 1560 PRINT " 123456789111123456789111123456789111123456789111123456789111" 1570 PRINT " 012 012 012 012 012" 1580 PRINT:PRINT CHR$(27)"l" 1590 FOR I=1 TO M% 1600 FOR J=6 TO 11 1610 A(I,J)=INT(A(I,J)) 1620 NEXT J 1630 NEXT I 1640 FOR I=1 TO M% 1645 IF A(I,10)+25 > 128 THEN PRINT CHR$(27)"m";"NOT ENOUGH ROOM FOR SCREEN PRINT":GOTO 2000 1650 PRINT USING C2$;A$(I,1),A$(I,2); 1660 PRINT TAB(A(I,7)+24);"E"; 1670 FOR J=1 TO (A(I,6)-1) 1680 IF A(I,11)=0 THEN PRINT "C"; ELSE PRINT "@"; 1690 NEXT J 1700 IF A(I,11)=0 THEN PRINT TAB(A(I,7)+A(I,6)+24);"L" ELSE PRINT TAB(A(I,10)+24);"L" 1705 K=K+1:IF K=13 THEN PRINT CHR$(27)"m";"ENTER TO PAGE";:INPUT DU$:PRINT CHR$(27)"l":K=0 1710 NEXT I 1720 PRINT CHR$(27)"m" 1730 PRINT:PRINT "E = EARLIEST START FOR AN ACTIVITY" 1740 PRINT "C & @ = EXPECTED TIME FOR AN ACTIVITY WITH C DESIGNATING THOSE ON THE CRITICAL PATH" 1750 PRINT "L = LAST FINISH FOR AN ACTIVITY WITHOUT EXTENDING THE TIME OF THE CRITICAL PATH" 1760 PRINT:PRINT 2000 INPUT"DO YOU WANT A GANNT CHART PRINTOUT (Y/N)";KK$ 2020 IF KK$="Y" AND LEFT$(DWM$,1)="W" THEN 2023 ELSE IF KK$="Y" AND LEFT$(DWM$,1)="M" THEN 2060 ELSE KK$="Y":GOTO 2290 2023 IF LEFT$(DWM$,1)="W" THEN LPRINT CHR$(15) 2030 LPRINT " GANNT CHART FOR ";T$;" IN WEEKS";" START DATE ";ST$ 2035 LPRINT " YEAR#1 YEAR #2 YEAR #3" 2040 LPRINT "  123456789111111111122222222223333333333444444444455512345678911111111112222222222333333333344444444445551234567891111111111222222222233333333334444444444555" 2050 LPRINT " 0123456789012345678901234567890123456789012 0123456789012345678901234567890123456789012 0123456789012345678901234567890123456789012":GOTO 2100 2060 LPRINT " GANNT CHART FOR ";T$;" IN MONTHS";" START DATE ";ST$ 2070 LPRINT " YR#1 YR#2 YR#3 YR#4 YR#5" 2080 LPRINT " 123456789111123456789111123456789111123456789111123456789111" 2090 LPRINT " 012 012 012 012 012" 2100 LPRINT:LPRINT CHR$(27)"-"CHR$(1) 2110 FOR I=1 TO M% 2120 FOR J=6 TO 11 2130 A(I,J)=INT(A(I,J)) 2140 NEXT J 2150 NEXT I 2160 FOR I=1 TO M% 2170 LPRINT USING C2$;A$(I,1),A$(I,2); 2180 LPRINT TAB(A(I,7)+24);"E"; 2190 FOR J=1 TO (A(I,6)-1) 2200 IF A(I,11)=0 THEN LPRINT "C"; ELSE LPRINT "@"; 2210 NEXT J 2220 IF A(I,11)=0 THEN LPRINT TAB(A(I,7)+A(I,6)+24);"L" ELSE LPRINT TAB(A(I,10)+24);"L" 2230 NEXT I 2235 IF LEFT$(DWM$,1)="W" THEN LPRINT CHR$(18) 2240 LPRINT CHR$(27)"-"CHR$(0) 2250 LPRINT:LPRINT "E = EARLIEST START FOR AN ACTIVITY" 2260 LPRINT "C & @ = EXPECTED TIME FOR AN ACTIVITY WITH C DESIGNATING THOSE ON THE CRITICAL PATH" 2270 LPRINT "L = LAST FINISH FOR AN ACTIVITY WITHOUT EXTENDING THE TIME OF THE CRITICAL PATH" 2280 LPRINT CHR$(12) 2290 GOTO 970 2300 PRINT "OUTPUT MENU" 2310 PRINT " C CRITICAL PATH AND TIME" 2320 PRINT " D DISK" 2330 PRINT " E END" 2340 INPUT " R RECYCLE SELECTION";OP$:IF OP$="R" THEN KK$="N":GOTO 470 2350 IF OP$<> "C" THEN 2520 2360 REM IDENTIFICATION OF CRITICAL PATH AND COSTS 2370 CO=0:PATH$=" ":SI=0 2380 FOR I=1 TO M%: IF A(I,11)>.001 THEN 2400:REM NOTE >0 SHOULD WORK BUT .0001 USED 2390 CO=CO+A(I,6):PATH$=PATH$+" "+A$(I,1):SI=SI+((A(I,3)-A(I,5))/6)^2 2400 NEXT I:C6$="###,###,###.##":SI=SQR(SI) 2410 PRINT CHR$(26):PRINT "CRITICAL PATH":PRINT PATH$:PRINT 2420 PRINT "TIME OF CRITICAL PATH":PRINT USING C6$;CO:INPUT "SCHEDULED PROJECT TIME(USE SAME TIME UNITS AS DATA)";ST:Z=(ST-CO)/SI:XX=0 2430 BB$="PROBABILITY OF BEING COMPLETED ON TIME":IF Z<0 THEN 2470 2440 A=.436184:B=-.120168:C=.937298:D=(2.7182818# ^ (-Z^2/2))*(2*3.1415926#)^(-.5):E=(1+.3326*Z)^(-1):P=1-D*(A*E+B*E^2+C*E^3):IF XX>0 THEN 2460 :REM TAYLOR SERIES 2450 PRINT "Z= ";Z,BB$;P: GOTO 2480 2460 PRINT "Z= ";-Z,BB$;1-P:GOTO 2480 2470 XX=99:Z=-Z:GOTO 2440 2480 INPUT "HARD COPY (Y/N)";P$:IF P$<>"Y" THEN 2300 2490 WIDTH LPRINT 80:LPRINT " ":LPRINT "CRITICAL PATH":LPRINT PATH$:LPRINT " ":LPRINT "SCHEDULED PROJECT TIME IS ";ST 2500 LPRINT "TIME OF CRITICAL PATH":LPRINT USING C6$;CO:IF XX=0 THEN LPRINT "Z= ";Z,BB$;P:GOTO 2300 2510 LPRINT "Z= ";-Z,BB$;1-P:GOTO 2300 2520 IF OP$="E" THEN END 2530 LINE INPUT "NAME OF FILE: DISK ";X$:OPEN "O",1,X$ 2540 PRINT #1,M%,EE 2550 FOR I=1 TO M%:PRINT# 1,CHR$(34);A$(I,1);CHR$(34);",";CHR$(34);A$(I,2);CHR$(34);A(I,1);A(I,2);A(I,3);A(I,4);A(I,5):NEXT I 2560 CLOSE 1:GOTO 2300 2570 REM "THE REMAINDER OF THE PROGRAM WILL CONSIST" 2580 REM "OF DATA TO BE READ IN. STARTING AT 4000 " 2590 REM "ENTER # OF ACTIVITIES AND ENDING EVENT # " 2600 REM "AS -----4000 DATA 15,4----- " 2610 PRINT 2620 REM "THEN LIST ACTIVITY,DESCRIPTION,STARTING" 2630 REM "EVENT#,ENDING EVENT#, OPTIMISTIC TIME, " 2640 REM "LIKELY TIME, AND PESSIMISTIC TIME-AS " 2650 REM " ---4010 DATA A,MAKE HASTE,2,5,3,4,6---" #, OPTIMISTIC TIME, " 2640 REM "LIKELY TIME, AND PESSIMISTIC TIME-AS " 26RINT 80:LPRINT " ":LPRINT "CRITICAL PATH":LPRINT PATH$:LPRINT " ":LPRINT "SCHEDULED PROJECT TIME IS ";ST 2500 LPRINT "TIME OF CRITICAL PATH":LPRINT USING C6$;CO:IF XX=0 THEN LPRINT "Z= ";Z,BB$;P:GOTO 2300 2510 LPRINT "Z= ";-Z,BB$;1-P:GOTO 2300 2520 IF OP$="E" THEN END 2530 LINE INPUT "NAME OF FILE: DISK ";X$:OPEN "O",1,X$ 2540 PRINT #1,M%,EE 2550 FOR I=1 TO M%:PRINT# 1,CHR$(10 CLEAR 1000:PRINT CHR$(26): REM PERTSAMP.BAS 20 PRINT "PERT/CRITICAL PATH SCHEDULING PROGRAM" 30 PRINT "BY STEVEN ZIMMERMAN AND LEO M. CONRAD" 40 PRINT "MODIFIED FOR THE OSBORNE 1 BY D. M. HURST, 1982" 85 WIDTH 128 100 PRINT:PRINT "*** NOTE BEGINNING EVENTS WILL BE SORTED ***" 110 PRINT" *** INTO NUMERICAL ORDER ***":PRINT 111 PRINT:INPUT "TIME UNITS WILL BE MEASURED IN ";DWM$ 113 PRINT:INPUT "PROJECT START DATE IS (MM/DD/YY) ";ST$ 115 ON ERROR GOTO 119 117 READ D%:DIM A$(D%,2),A(D%,11),SV(11):RESTORE:IO$="R":GOTO 230 119 RESUME 120 120 PRINT:PRINT " !!! WARNING !!!" 130 PRINT:PRINT "NO DATA READ STARTING AT LINE 4000. AM ASSUMING" 140 PRINT "DATA TO BE ENTERED FROM KEYBOARD OR DISK FILE." 150 PRINT:PRINT "ENTER TOTAL NUMBER OF ACTIVITIES (ALLOW EXTRA" 152 INPUT "FOR ANTICIPATED ADDITIONS) ";D%:PRINT 160 DIM A$(D%,2),A(D%,11),SV(11) 170 KK$="N" 180 PRINT "INPUT MENU" 190 PRINT" K KEYBOARD" 200 PRINT" D DISK FILE" 220 INPUT "SELECTION";IO$  230 IF IO$<>"K" THEN 310 240 PRINT CHR$(26):M%=D%:EE=0 250 PRINT"THIS IS GOING TO BE WORK YOU MUST NOW INPUT" 252 PRINT "UP TO ";M%;" ACTIVITIES.":PRINT 260 FOR I=1 TO M% 270 INPUT "ACTIVITY CODE ";A$(I,1) 280 INPUT "DESCRIPTION ";A$(I,2) 281 INPUT "BEGINNING EVENT ";A(I,1) 282 INPUT "ENDING EVENT ";A(I,2) 283 INPUT "OPTIMISTIC TIME ";A(I,3) 284 INPUT "LIKELY TIME ";A(I,4) 285 INPUT "PESSIMISTIC TIME ";A(I,5) 286 PRINT:IF I"D" THEN 400 320 LINE INPUT "NAME OF Drive:Fn.Ft ";B$: REM DISK INPUT 330 OPEN "I",1,B$ 340 INPUT#1 ,M%,EE 350 FOR I = 1 TO M% 360 INPUT#1,A$(I,1),A$(I,2),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5) 370 NEXT I 380 CLOSE 1 390 GOTO 470 400 IF IO$<>"R" THEN 160 410 READ M%,EE 420 FOR I=1 TO M%:REM READ INPUT 430 READ A$(I,1),A$(I,2),A(I,1),A(I,2),A(I,3),A(I,4),A(I,5) 440 IF A$(I,1) ="END" THEN 470 450 NEXT I 460 REM PRINTS INPUT DATA FOR VERIFICATION 470 M=M%: TP=0:FOR I=1 TO M: IF A(I,2)>TP THEN TP=A(I,2) 480 NEXT I:EE=TP 490 FOR I=1 TO M-1 500 FOR J=I+1 TO M 510 IF A(I,1)<=A(J,1) THEN 540 520 FOR K=1 TO 11:SV(K)=A(I,K):A(I,K)=A(J,K):A(J,K)=SV(K):NEXT K 530 FOR K =1 TO 2:SV$(K)=A$(I,K):A$(I,K)=A$(J,K):A$(J,K)=SV$(K):NEXT K 540 NEXT J,I 550 XX=5:PRINT CHR$(26):PRINT "VERIFICATION OF INPUT" 560 Z1$="CODE DESCRIPTION EXPECTED EARLY EARLY LAST LAST SLACK" 570 Z2$=" TIME START FIN START FIN TIME" 580 Z3$="CODE DESCRIPTION BEGIN END OPTIMIST LIKELY PESSI" 590 Z4$=" EVENT EVENT TIME TIME TIME" 600 PRINT " NO ";Z3$ 610 PRINT " ";Z4$ 620 K=0 630 C4$="###" 640 FOR I = 1 TO M% 650 PRINT USING C4$;I; 660 C1$ =" #### " 670 C2$ =" \ \\ \":C3$=" ####.##" 680 PRINT USING C2$;A$(I,1),A$(I,2); 690 FOR J=1 TO 2 700 PRINT USING C1$;A(I,J);:NEXT J 710 FOR J=3 TO 5 720 PRINT USING C3$;A(I,J);:NEXT J 730 K=K+1:IF K>13 THEN PRINT :INPUT "ENTER TO PAGE";DU$:K=0 740 PRINT :NEXT I 750 INPUT "-2 TO ADD, -1 TO CONTINUE OR NUMBER TO CHANGE";L:IF L=-1 THEN 800 760 IF L<>-2 THEN 780 770 L=M%+1:M%=L:N%=N%+1 780 PRINT CHR$(26):PRINT" ENTER CHANGE/ADD DATA":PRINT 781 INPUT "ACTIVITY CODE ";A$(L,1) 782 INPUT "DESCRIPTION ";A$(L,2) 783 INPUT "BEGINNING EVENT ";A(L,1) 784 INPUT "ENDING EVENT ";A(L,2) 785 INPUT "OPTIMISTIC TIME ";A(L,3) 786 INPUT "LIKELY TIME ";A(L,4) 787 INPUT "PESSIMISTIC TIME ";A(L,5) 790 GOTO 470 800 INPUT "HARD COPY OF INPUT DATA (Y/N)";P$:WIDTH LPRINT 132 810 IF P$<>"Y" THEN 980 811 LPRINT:LPRINT:LPRINT "PERT/CRITICAL PATH SHEDULING PROGRAM" 812 LPRINT "BY STEVEN ZIMMERMAN AND LEO M. CONRAD" 813 LPRINT "MODIFIED FOR THE OSBORNE 1 BY D. M. HURST, 1982" 814 LPRINT 820 INPUT "TITLE";T$:LPRINT "TITLE: ";T$ 830 INPUT "DATE";TT$:LPRINT "DATE: ";TT$ 840 LPRINT "TIME IS IN ";DWM$ 850 LPRINT " NO ";Z3$ 860 LPRINT " ";Z4$ 870 FOR I =1 TO M% 880 LPRINT USING C4$;I; 890 LPRINT USING C2$;A$(I,1),A$(I,2); 900 FOR J=1 TO 2 910 LPRINT USING C1$;A(I,J);:NEXT J 920 FOR J=3 TO 5 930 LPRINT USING C3$;A(I,J);:NEXT J 940 LPRINT " " 950 NEXT I 960 LPRINT CHR$(12) 970 REM FORWARD PASS 980 FOR I=1 TO M% 990 A(I,6)=(A(I,3)+4*A(I,4)+A(I,5))/6 1000 IF A(I,1)=1 THEN A(I,7)=0:A(I,8)=A(I,6):GOTO 1080 1010 MAX=0! 1020 FOR J=1 TO M% 1030 IF A(J,2)<>A(I,1) THEN 1060 1040 IF A(J,8)>MAX THEN MAX = A(J,8) 1050 A(I,7)=MAX 1060 NEXT J 1070 A(I,8)=A(I,7)+A(I,6) 1080 NEXT I 1090 REM BACKWARD PASS 1100 XM=0! 1110 FOR I=M% TO 1 STEP -1 1120 IF A(I,2)<>EE THEN 1140 1130 IF XMA(J,1) THEN 1220 1200 IF A(J,9)"Y" THEN 1500 1420 LPRINT " ":LPRINT Z1$:LPRINT Z2$ 1430 FOR I=1 TO M% 1440 LPRINT USING C2$;A$(I,1),A$(I,2); 1450 FOR J=6 TO 11 1460 LPRINT USING C3$;A(I,J);: NEXT J 1470 LPRINT " ":NEXT I 1480 LPRINT CHR$(12) 1500 K=0 1505 IF LEFT$(DWM$,1)="W" THEN 1510 ELSE IF LEFT$(DWM$,1)="M" THEN 1540 ELSE 2300 1510 PRINT:PRINT " GANNT CHART FOR ";T$;" IN WEEKS";" START DATE ";ST$ 1515 PRINT " YEAR #1 YEAR #2" 1520 PRINT " 12345678911111111112222222222333333333344444444445551234567891111111111222222222233333333334444444444555" 1530 PRINT " 0123456789012345678901234567890123456789012 0123456789012345678901234567890123456789012":GOTO 1580 1540 PRINT " GANNT CHART FOR ";T$;" IN MONTHS";" START DATE ";ST$ 1550 PRINT " YR#1 YR#2 YR#3 YR#4 YR#5" 1560 PRINT " 123456789111123456789111123456789111123456789111123456789111" 1570 PRINT " 012 012 012 012 012" 1580 PRINT:PRINT CHR$(27)"l" 1590 FOR I=1 TO M% 1600 FOR J=6 TO 11 1610 A(I,J)=INT(A(I,J)) 1620 NEXT J 1630 NEXT I 1640 FOR I=1 TO M% 1645 IF A(I,10)+25 > 128 THEN PRINT CHR$(27)"m";"NOT ENOUGH ROOM FOR SCREEN PRINT":GOTO 2000 1650 PRINT USING C2$;A$(I,1),A$(I,2); 1660 PRINT TAB(A(I,7)+24);"E"; 1670 FOR J=1 TO (A(I,6)-1) 1680 IF A(I,11)=0 THEN PRINT "C"; ELSE PRINT "@"; 1690 NEXT J 1700 IF A(I,11)=0 THEN PRINT TAB(A(I,7)+A(I,6)+24);"L" ELSE PRINT TAB(A(I,10)+24);"L" 1705 K=K+1:IF K=13 THEN PRINT CHR$(27)"m";"ENTER TO PAGE";:INPUT DU$:PRINT CHR$(27)"l":K=0 1710 NEXT I 1720 PRINT CHR$(27)"m" 1730 PRINT:PRINT "E = EARLIEST START FOR AN ACTIVITY" 1740 PRINT "C & @ = EXPECTED TIME FOR AN ACTIVITY WITH C DESIGNATING THOSE ON THE CRITICAL PATH" 1750 PRINT "L = LAST FINISH FOR AN ACTIVITY WITHOUT EXTENDING THE TIME OF THE CRITICAL PATH" 1760 PRINT:PRINT 2000 INPUT"DO YOU WANT A GANNT CHART PRINTOUT (Y/N)";KK$ 2020 IF KK$="Y" AND LEFT$(DWM$,1)="W" THEN 2023 ELSE IF KK$="Y" AND LEFT$(DWM$,1)="M" THEN 2060 ELSE KK$="Y":GOTO 2290 2023 IF LEFT$(DWM$,1)="W" THEN LPRINT CHR$(15) 2030 LPRINT " GANNT CHART FOR ";T$;" IN WEEKS";" START DATE ";ST$ 2035 LPRINT " YEAR #1 YEAR #2" 2040 LPRINT " 12345678911111111112222222222333333333344444444445551234567891111111111222222222233333333334444444444555" 2050 LPRINT " 0123456789012345678901234567890123456789012 0123456789012345678901234567890123456789012":GOTO 2100 2060 LPRINT " GANNT CHART FOR ";T$;" IN MONTHS";" START DATE ";ST$ 2070 LPRINT " YR#1 YR#2 YR#3 YR#4 YR#5" 2080 LPRINT " 123456789111123456789111123456789111123456789111123456789111" 2090 LPRINT " 012 012 012 012 012" 2100 LPRINT:LPRINT CHR$(27)"-"CHR$(1) 2110 FOR I=1 TO M% 2115 IF A(I,10)+25 > 128 THEN PRINT CHR$(27)"m";"NOT ENOUGH ROOM FOR 8 1/2 INCH PRINT":LPRINT CHR$(12);CHR$(18);CHR$(27)"-"CHR$(0):GOTO 2300 2120 FOR J=6 TO 11 2130 A(I,J)=INT(A(I,J)) 2140 NEXT J 2150 NEXT I 2160 FOR I=1 TO M% 2170 LPRINT USING C2$;A$(I,1),A$(I,2); 2180 LPRINT TAB(A(I,7)+24);"E"; 2190 FOR J=1 TO (A(I,6)-1) 2200 IF A(I,11)=0 THEN LPRINT "C"; ELSE LPRINT "@"; 2210 NEXT J 2220 IF A(I,11)=0 THEN LPRINT TAB(A(I,7)+A(I,6)+24);"L" ELSE LPRINT TAB(A(I,10)+24);"L" 2230 NEXT I 2235 IF LEFT$(DWM$,1)="W" THEN LPRINT CHR$(18) 2240 LPRINT CHR$(27)"-"CHR$(0) 2250 LPRINT:LPRINT "E = EARLIEST START FOR AN ACTIVITY" 2260 LPRINT "C & @ = EXPECTED TIME FOR AN ACTIVITY WITH C DESIGNATING THOSE ON THE CRITICAL PATH" 2270 LPRINT "L = LAST FINISH FOR AN ACTIVITY WITHOUT EXTENDING THE TIME OF THE CRITICAL PATH" 2280 LPRINT CHR$(12) 2290 GOTO 970 2300 PRINT "OUTPUT MENU" 2310 PRINT " C CRITICAL PATH AND TIME" 2320 PRINT " D DISK" 2330 PRINT " E END" 2340 INPUT " R RECYCLE SELECTION";OP$:IF OP$="R" THEN KK$="N":GOTO 470 2350 IF OP$<> "C" THEN 2520 2360 REM IDENTIFICATION OF CRITICAL PATH AND COSTS 2370 CO=0:PATH$=" ":SI=0 2380 FOR I=1 TO M%: IF A(I,11)>.001 THEN 2400:REM NOTE >0 SHOULD WORK BUT .0001 USED 2390 CO=CO+A(I,6):PATH$=PATH$+" "+A$(I,1):SI=SI+((A(I,3)-A(I,5))/6)^2 2400 NEXT I:C6$="###,###,###.##":SI=SQR(SI) 2410 PRINT CHR$(26):PRINT "CRITICAL PATH":PRINT PATH$:PRINT 2420 PRINT "TIME OF CRITICAL PATH":PRINT USING C6$;CO:INPUT "SCHEDULED PROJECT TIME(USE SAME TIME UNITS AS DATA)";ST:Z=(ST-CO)/SI:XX=0 2430 BB$="PROBABILITY OF BEING COMPLETED ON TIME":IF Z<0 THEN 2470 2440 A=.436184:B=-.120168:C=.937298:D=(2.7182818# ^ (-Z^2/2))*(2*3.1415926#)^(-.5):E=(1+.3326*Z)^(-1):P=1-D*(A*E+B*E^2+C*E^3):IF XX>0 THEN 2460 :REM TAYLOR SERIES 2450 PRINT "Z= ";Z,BB$;P: GOTO 2480 2460 PRINT "Z= ";-Z,BB$;1-P:GOTO 2480 2470 XX=99:Z=-Z:GOTO 2440 2480 INPUT "HARD COPY (Y/N)";P$:IF P$<>"Y" THEN 2300 2490 WIDTH LPRINT 84:LPRINT " ":LPRINT "CRITICAL PATH":LPRINT PATH$:LPRINT " ":LPRINT "SCHEDULED PROJECT TIME IS ";ST 2500 LPRINT "TIME OF CRITICAL PATH":LPRINT USING C6$;CO:IF XX=0 THEN LPRINT "Z= ";Z,BB$;P:GOTO 2300 2510 LPRINT "Z= ";-Z,BB$;1-P:GOTO 2300 2520 IF OP$="E" THEN END 2530 LINE INPUT "NAME OF FILE: DISK ";X$:OPEN "O",1,X$ 2540 PRINT #1,M%,EE 2550 FOR I=1 TO M%:PRINT# 1,CHR$(34);A$(I,1);CHR$(34);",";CHR$(34);A$(I,2);CHR$(34);A(I,1);A(I,2);A(I,3);A(I,4);A(I,5):NEXT I 2560 CLOSE 1:GOTO 2300 2570 REM "THE REMAINDER OF THE PROGRAM WILL CONSIST" 2580 REM "OF DATA TO BE READ IN. STARTING AT 4000 " 2590 REM "ENTER # OF ACTIVITIES AND ENDING EVENT # " 2600 REM "AS -----4000 DATA 15,4----- " 2610 PRINT 2620 REM "THEN LIST ACTIVITY,DESCRIPTION,STARTING" 2630 REM "EVENT#,ENDING EVENT#, OPTIMISTIC TIME, " 2640 REM "LIKELY TIME, AND PESSIMISTIC TIME-AS " 2650 REM " ---4010 DATA A,MAKE HASTE,2,5,3,4,6---" #, OPTIMISTIC TIME, " 2640 REM "LIKELY TIME, AND PESSIMISTIC TIME-AS " 2650 REM " ---4010 DATA A,MAKE HASTE,2,5,3,4,6---" PATH$:LPRINT " ":LPRINT "SCHEDULED PROJECT TIME IS ";ST 2500 LPRINT "TIME OF CRITICAL PATH":LPRINT USING C6$;CO:IF XX=0 THEN LPRINT "Z= ";Z,BB$;P:GOTO 2300 2510 LPRINT "Z= ";-Z,BB$;1-P:GOTO 2300 2520 IF OP$="E" THEN END 2530 LINE INPUT "NAME OF FILE: DISK ";X$:OPEN "O",1,X$ 2540 PRINT #1,M%,EE 2550 FOR I=1 TO M%:PRINT# 1,CHR$(34);A$(I,1);CHR$(34);",";CHR$(34);A$(I,2);CHR$(34PERT80 is intended for use on 80 column matrix printers capable of printing in condensed mode (132 columns per line) and for wide carriage printers with 132 column capacity in normal mode. PERT128 is intended for wide carriage matrix printers capable of more than 200 columns in condensed mode. These MBASIC progams are set up to send the Epson condensed mode command string to the printer. For non-Epson application, change lines 2023 and 2235. Both PERT tables and a GANNT chart are provided by this system. To run, place the .BAS files in drive B and MBASIC.COM in drive A. At the A> prompt, type B: At the B> prompt, type A:MBASIC program where program represents PERT80 or PERT128. PERTTEST is a test file with three activities. PERTSAMP is a sample run of PERT which will run completely thru without operator interaction. It is initiated by AUTOST. Place these .COM files in drive A and perform a cold boot (RESET-RETURN) with the printer turned on. For detailed information, see PERT.DOC.  wide carriage printers with 132 column capacity in normal mode. PERT128 is intended for wide carriage matrix printers capable of more than 200 columns in condensed mode. These MBASIC progams are set up to send the Epson condensed mode command string to the printer. For non-Epson application, change lines 2023 and 2235. Both PERT tables and a GANNT chart are provided by this system. To run, place the .BAS files in drive B and MBASIC.COM in drive A. At the A> prompt, type B: At the B> prompt, type A:MBASIC program where program represents PERT80 or PERT128. PERTTEST is a test file with three activities. PERTSAMP is a sample run of PERT which will run completely thru without operator interaction. It is initiated by AUTOST. Place these .COM files in drive A and perform a cold boot (RESET-RETURN) with the printer turned on. For detaiê);)+ ;=+|G+y%+|Gz)*͊(+?0|)+DM!>)z+)b+ z+=T+|r+x+ʋ+*͊(*&x)*e(| ++DM!>ü+ һ+7>{_zW}o|g=²+h+|G+|)Ooyg)* +|'*J(͙+g{o)+! ~w! ~G+N (C,/<#Fwx+ 3,F+N9(! G>w2 ! -xw,: 2 ,Ҽ,4y0B-ü,>,! -G: «,! Vwz# ,xƒ,%! J-,xʼ,! w%: ,! ~++w! 4#,4y0+60 ! ,>!  2,# ,~/w! Oyw# -q--NsY+"-- W~w+7-0-! 4-~w# L-6(: %'͎.qʊ-G,B-x s-j-Â,! -Â-L} : Aҷ--! ͺ(U-: -2 !e(- ! ͺ(-, ! ͺ(>..,! $.=---! 5%! >5= .>! N#F#=.>! p+q+=*.: ʅ0: %'44y0͎.!7 qA>,?e.>,: <=,! L-!0 J-xS.! 5S.%y2 +6 ~q+™.(+~y0w,4y0%$*[%>2 `h)~&Z-.+.+/.w/e.E&/l/L/q/Q%/:g ?/>?/~%ʄ/#ʕ/!ʖ/d?/DV/͟/#D0V/_{_//Z/\(U!H')U V/ܟ/.!H'!k)V/͟/V/)*U(.=UO'-b5!k*͏3b5!U)k3n:*}8u*S:uͶ:u*vb5!J)͏3|!J)ͣ>!ͥ=!w=*͛;S:n:*%!u)<<CͿ=|Ϳ=))w=Mw=w=w=1w=!u)<<C!D)?38u*S:uͶ:u*͛;S:!:*!:n:*v!u)<))Mc::oS:8u*S:uͶ:uT!:8*S:n:* !:8u* !u)<))c:͊:!)<))c:; n:*I !)<<!u)<))" c:"))EI:!)<*))"c:*I:Ec:*I:8*S:Ͷ:*n:* !)<<""<!u)<< *> "!)<< *> *>8*S:Ͷ:*_ 8*S:Ͷ:8u*S:uͶ:u!:*b5!w?͏3b5!,)͏3!(ͣ>!(ͣ>!^(ͣ>! (ͣ>b5!(k3!͏3b5!(k3!͏3!:*!(ͣ>*͛;S:n:*ø !4!uP3!(ͣ>!'ͣ>!'ͣ>!4!u)<<Ck3|k3n:* !4!)<<!u)<))c:![P38*S:Ͷ:* n:*O !4!)<<!u)<))c:![P38*S:Ͷ:* 8*S:Ͷ:* b5!k*͏3b5!'k3n:*Ó 8*S:Ͷ:* !:*b5!k*͏38u*S:uͶ:u b5!'k3n:* 8u*S:uͶ:u* b5!'͏3Ë :* *#͛;S:!)<"*#"!'1a0!)<"<"C͝1*|͝1*))"͝1*M͝1*͝1*͝1*1͝13b5!&k3n:*ã 8u*S:uͶ:u* b5!&͏3!&ͣ>!&?x5!k*͏3x5!k*͏3x5!&͏3x5!*͏3x5!)͏3x5!k*͏3!&ͣ>!&ͣ>b5!&k3n:*. 8u*S:uͶ:u*' b5!͏3x5!&k3!͏3b5!&k3n:*l 8u*S:uͶ:u*e b5!͏3x5!&k3!͏3x5!l&k3!|͏3x5!^&k3!y͏3x5!(k3!͏3x5!(k3!͏3*͛;S:n:*ê!Y5!uP3!Y5!u)<<Ck3|k3n:*F!Y5!)<<!u)<))c:![P38*S:Ͷ:*n:*Ì!Y5!)<<!u)<))c:![P38*S:Ͷ:*\x5!(͏38u*S:uͶ:u x5! w?͏3*͛;S:n:* !u)<))c:͊:c::8͊:1c:8*9*}I:!u)<))"c::*V*6:**}c:*I:!:**͛;S:n:*!)<))Mc:͊:!u)<))c:;!)<))c::S:!u)<))6:8*S:Ͷ:p!u)<))c:͊:}c:8I:8u*S:uͶ:u!:*!: **͛;f!u)<))Mc::_!u)<))c::_S:8u S:u6; ~ͻ:u*.ÇͶ:u*.!: **͛;Â!u)<))"Mc::*6:R!:*!:**͛;1!u)<))Mc:͊:!)<))c:;*!)<))ac::S:!u)<))6:8S:6;Iͻ:*RͶ:*!u)<))c:͊:}c:9aI:8u S:u6; ͻ:u*ãͶ:u**͛;S:n:*!u)<))c:͊:c:9I:8u*S:uͶ:u!&?'!:*b5!w?͏3b5!&͏3b5!(͏3 !'ͣ>*͛;S:#n:*!4!u)<<Ck3|k3n:*Ù! 4!)<<!u)<))c:![P38*S:Ͷ:*i8*S:Ͷ:*b5!k*͏3b5!'k3n:*8*S:Ͷ:*!:*b5!k*͏38u*S:uͶ:u#@b5!%k3n:*(8u*S:uͶ:u*!b5!&͏3!&ͣ>!&?x5!%͏3x5!͏3x5!͏3*͛;S:'n:*!Y5!u)<<Ck3|k3n:*!Y5!)<<!u)<))c:![P38*S:Ͷ:*x5!%͏38u*S:uͶ:u'x5! w?͏3b5!w?͏3!:*y!?!%?Ly!?!%?y'b5!k*͏3b5!%k3!͏3b5!h%͏3b5!%͏3ãb5!$k3!͏3b5!$͏3b5!6$͏3b5!#͏3b5!k*͏3b5!w?k3!#͏3*͛;S:+n:*n:*!)<<!u)<))c:![i8I:8*S:Ͷ:*8u*S:uͶ:u+*͛;S:/n:*!4!u)<<Ck3|k3b5!u)<))c:8*W<8!k*k3!#k3!u)<))}c:8*S:3n:*!u)<))c:d;b5!#k3b5!#k38*S:Ͷ:3!u)<))"c:d;7b5*c:͊:*}c:88*W<8!k*k3!#͏3`b5!u)<))c:8*W<8!k*k3!#͏38*S:Ͷ:*b5!w?k3!#k3!'k3n:*Ü8*S:Ͷ:*b5!w?k3!#͏3!:*8u*S:uͶ:u/>b5!w?k3!#͏3b5!k*͏3b5!#͏3b5!M#͏3b5!"͏3b5!k*͏3b5!k*͏3b5!"k3n:*88u*S:uͶ:u*1b5!&͏3!&ͣ>!&ͤ?y!?!%ͤ?|g}o|°!&ͤ?y!?!%ͤ?|g}o|!&ͣ>$x5!%k3!͏3x5!h%͏3x5!%͏3x5!$k3!͏3x5!$͏3x5!6$͏3x5!#͏3x5!k*͏3x5!w?k3!"k3!w?͏3*͛;S:7n:*Án:*l!)<<!u)<))c:![i8I:8*S:Ͷ:*=8u*S:uͶ:u75*͛;S:;n:*!Y5!u)<<Ck3|k3x5!u)<))c:8*W<8!k*k3!#k3!u)<))}c:8*S:?n:*=!u)<))c:d;-x5!#k36x5!#k38*S:Ͷ:? !u)<))"c:d;x5*c:͊:*}c:88*W<8!k*k3!#͏3x5!u)<))c:8*W<8!k*k3!#͏38u*S:uͶ:u;x5!w?k3!"k3!w?͏3x5!k*͏3x5!#͏3x5!M#͏3x5!"͏3x5! w?͏3b5!"͏3b5!"͏3b5!"͏3b5!z"͏3b5!Z"k3n:*c8u*S:uͶ:u*\b5!U"͏3n:*É8u*S:uͶ:u*C!#ͣ>C!Q"?!M"ͣ>3C!#?(!:F*J!(ͣ>!:M**͛;S:Qn:*{!u)<))c::*t!u)<))"}c:8FS:FJ!(>"<C*>Jͣ>*c:͊:*1c:9*9*͐8*8MS:M8u*S:uͶ:uQU!<"ͣ>!Ms8S:Mb5!w?͏3b5!,"͏3b5!J͏3b5!k*͏3b5!"͏3!U4!Ft3b5!!k3n:*8u*S:uͶ:u*b5!Ft3n:*8u*S:uͶ:u*!:XF9XFB9MS:\!:*`!!ͣ>';\:!:c*!:gr*!:k~*y8\*9*9z*͡;8*͉:ͱ8**:9ͱ;S:o&9\v*8*͐8*S:s&9cs͊:y8s**9g8͊:y8s**9k8*9o9*S:w,;b5!!k3!\,!3!`k3!wt3Nb5!!k39\![,3!`k39*w![t3N!:n*9\S:\Tb5!!k3n:*f8u*S:uͶ:u*_b5!&͏3!&ͣ>!&?'x5!%͏3x5!,"͏3x5!J͏3x5!%͏3x5!!k3!Xt3x5!"͏3!UY5!Ft3;;x5!!k3!\,3!`k3!wt3Ͱ,x5!!k39\![,3!`k39*w![t3Ͱ,C!#?6Ͱ,!i!1!{2!e!QT{!yT!4*>3!t3*͛;S:~n:*!4!"w?k3!u)<<Ck3!"w?k3!a!k3!"w?k3|k3!"w?k3))c:![P3Mc:![P3c:![P3c:![P31c:![t38u*S:uͶ:u~z!͑O'b5!k*͏3DI 18,9ch A,ACCT. PAPERS,1,2,1,2,3} Z,PERMITS,2,7,4,5,8Ü B,SHOP BANKERS,1,3,2,4,6ÿ C,SHOP REAL EST.,1,4,2,13,17 D,MARKET STUDY,2,3,2,4,5  G,CONTRACTOR,2,5,1.4,2.2,6.7" ' F,INSURANCE,2,6,.4,1.3,1.5? D H,ART. PLANS,3,5,2,4,6\ a E,COST STUDY,3,4,3,4,5u z I,LAND,4,5,8,11,13Ð J,MATERIAL,5,6,2,3,4é K,PLANS,5,7,2,5,12 L,SURVEY,5,8,1,2,4 M,BUY MAT #1,6,8,2,3,4 ! O,BUY MAT #2,6,9,1,2,5!! N,LAYOUT,7,8,9,11,124!9! P,FOUNDATION,8,9,1,3,6R!W! Q,HIRE CREW 2,7,9,1,2,3^!* "END"Ͱ,d!,h!Ol!NAME OF FILE: DISK !SCHEDULED PROJECT TIME IS !HARD COPY (Y/N)!Z= &!PROBABILITY OF BEING COMPLETED ON TIME3!SCHEDULED PROJECT TIME(USE SAME TIME UNITS AS DATA)"TIME OF CRITICAL PATH /"CRITICAL PATH?"###,###,###.##P"NT"RX" C]" R RECYCLE SELECTION }" E END" D DISK " C CRITICAL PATH AND TIME "OUTPUT MENU"-("DO YOU WANT A GAANT CHART PRINTOUT (Y/N)O"L = LAST FINISH FOR AN ACTIVITY WITHOUT EXTENDING THE TIME OF THE CRITICAL PATHSP#C & @ = EXPECTED TIME FOR AN ACTIVITY WITH C DESIGNATING THOSE ON THE CRITICAL PATH"#E = EARLIEST START FOR AN ACTIVITY#m#L#@#C#E#lS# 012 012 012 012 012S9$ 123456789111123456789111123456789111123456789111123456789111N$ YR#1 YR#2 YR#3 YR#4 YR#53$  GAANT CHART FOR R% #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14 #15Rk% MTH MTH MTH MTH MTH MTH MTH MTH MTH MTH MTH MTH MTH MTH MTH-% GAANT CHART FOR %M%W% %HARDCOPY OF RESULTS (Y/N)F&CODE DESCRIPTION EXPECTED EARLY EARLY LAST LAST SLACK a&TIME IS IN o&PROJECT START DATE: &DATE: &DATE:? &TITLE: &TITLE:? &11/28/82 &PERT SAMPLE$&PERT/CRITICAL PATH SHEDULING PROGRAM&Y& Y&HARD COPY OF INPUT DATA (Y/N)'INPUT CODE, DESCRIPTION, BEGINNING EVENT NUMBER, END EVENT NUMBER, MOST OPTIMISTIC TIME, MOST LIKELY TIME AND THE PESSIMISTIC TIME' -1-'-2 TO ADD, -1 TO CONTINUE OR NUMBER TO CHANGE 'ENTER TO PAGE' ####.##' \ \\ \( #### (###( ( NO ;#( EVENT EVENT TIME TIME TIME9a(CODE DESCRIPTION BEGIN END OPTIMIST LIKELY PESSIF( TIME START FIN START FIN TIMEF(CODE DESCRIPTION EXPECTED EARLY EARLY LAST LAST SLACK/)VERIFICATION OF INPUTG)ENDM)10/15/82X)PROJECT START DATE IS: r)MONTHz)TIME UNITS WILL BE IN: &) *** INTO NUMERICAL ORDER ***,)*** NOTE BEGINNING EVENTS WILL BE SORTED ***/)MODIFIED FOR THE OSBORNE 1 BY D. M. HURST, 1982%*BY STEVEN ZIMMERMAN AND LEO M. CONRAD%F*PERT/CRITICAL PATH SCHEDULING PROGRAMn*F}J*oS_nwz@@OC*~@P@ 0;U–hI:T-[[[[ BASLIB #000000 5.30 - OWNED BY MICROSOFT, 1980 ++ TDM*"0@*E.##".@,>2"+2%+*^#V"#+##^#V"&+ 2(+!v+!!"")+!,"+6#6P>2,>2,>2,"+û+%+û+ò+_U#~¤U`iiWÅU>O #~p(PY!' ůw͝W:!͊Zʻ =ʝ =UѯÚ< ,6#s#r#=^,>2+>2+>2+2+!+"+!$\"+>&2+D+?C6#}’,|’,ͲC STO͠-ð,*.*+.. . ......../B*+|·,:+%-*+|%-+-4.  s#r4.  {̓.w#6"+*+*+>2+̈́.ê,!9N#F4.~#~]-~+c-~#~]-+^#V###;-###;-|o-~#fo!w-ͲC Internal Error - No Line Number ÿ+4.~# .ͲC at line+-Ϳ-*.>-<----<-09Z--}_|W!.Z~#fo>ͲC at address|C}C*.> 9Z> 9Z~#*C.Z~#foɪJi!9"+!K.*+Q."+!r.*+*.!.~<ʞ.=ʞ.#~#.Ê.#øCSyntax Error in DATRETURN without GOSU Type MismatcOut of DatIllegal Function CalOverfloOut of Memor Subscript Out of Rang Division By ZerOut of String SpacString Formula Too CompleRESUME without Erro2Field Overflo3Internal Erro4Bad File Numbe5File Not Foun6Bad File Mod7File Already Ope9Disk I/O Erro:File Already Exist=Disk Ful>Input Past En?Bad Record Numbe@Bad File NamCToo Many FileUnprintable Erro N#"_0!9"Z0"\0y2^0*+|ʃ0*+!m1"+A~#**3Z:,£0~m1(1µ05Fø0"\0!^05*Z0C~21#~#^#VͤC++%BVXڡ,:*2G.*+|&2!*2AAͦ>*+@\"V]PY[2*T]! ~#foCs#r/\:<\!<\!& ÐV~# xA\DMͩ\ʸ ͞\! w!( V6 v\zwͧ\ʸ ͞\! ~!Ù\! ^#V! s#rDM͖\͐\C" ̓#\>ͨS]ýC ** C!I9}o|g!8}o|g \G.͘3|4G.ͣ3|4G.ͮ3|4G.n3|4G.͘3Þ4G.ͣ3Þ4G.ͮ3Þ4G.4Þ4G.͘3L4G.ͣ3L4G.ͮ3L4G.4L4[ù3[ù3"[3H~# º3x2D:+s4C43 HA<ͪ4~3ͥY#3͙4 H~3 ĥY#3>2D:+s4F#~#foxC4̪4:414~#ͥY%4:4%BC4>"åYG:+xC4MZ*++~ åYC4>,ͥYW*+#^ 44+=4:,=4MZz{4{_4G.b5×5G.|+5}T 5*X`i"+++"+!65"+!15"+2+7X.,P͖W}o|gS5> ͥY+|H5MZG.x5×5!,"+!"+2+7!,"+!"+2+7G.ͭ5X.,X.û,+ͦ>>2+!5"+:+ʡ5252525:5G:+*+_x†6:5ʡ5þ5:55:5̾5*5DM*5}"6:Dʧ5| H~Y6ͥY#6:D§5*5EN#^#V` U6 H6ͥY86$U6> ͥYN6%B:5525X:+~#ʱ7 {6 h6C:+7ͥY_W7W~#!ʬ7#6:++~#ʧ7ʙ7+>ʉ6+~#.7_ʈ7:++~#d6€6:+~6*€6x#6:+~> 66#WJ7~#.7#6,)7z@W6~#>.€6# J7~##7H7T]^###xG#J7z+j7xj7~-e7j7>Wx25Cxҡ5zg."5`i"5257~#ͥYx†6ß77ͥYx2525ò7ò77x25y25>2525z>+ĥY!+~6#w~!7CN7X.i&, +S8*+{<8MZ{)8=> ͥY8|,}*+)8<8S8}8|,}8|[8!*+#n&;b.ͲhĢf_.PbmZ^#V#G.c8^#͙:ë8^#V#ͺZÅ8lZ^#V#G.*\÷8^#͙:8^#V#ͱZý8 ^9z9̀9^9z9̀9^9z9̀9͌9^9z9̀9͌9^9z9̀9^9z9̀9^9z9̀9͌9^9z9̀9͌9͛9͹9^#V#9"8*8͛9d9͛9^#͙:Õ9͛9^#V#Ϳ9j9"8~28"8G.*8*8:8nZ:8íZ:899)ee*fe9x`h`_&^Z~#fonZ9:[2[nZ:[:2[#,^#V#^#V#͐Z^#V#͐ZͅZ^#V#ͅZ1:xZnZ^#͙:xZ^#͙:ͅZÅ:&)))4.>:>:>:>:>:>^#V#^#V#w;>:>:>:>:>:>^#V#![w;>;>;>;>;>;>^#͙:[w;>B;>B;>B;>B;>B;>^#V#!z.w;>k;>k;>k;>k;>k;>z.![w;Â; G==ʖ;~#foØ;##b. gb.axZab.bxZb^#V#G.;G.;G.z;|;|*gQg^#V;^#V#=|/g}/o=!.=G|*=!=o& Gȯ|g}o1=G=>T=~+~?~_=+#l=+ l=G.]>ID[>ö=G.f>5F|>`D[>ö=G.]>ͮE[>ZG.f>~,"=#"~==# =X.,"=#|>x" >yZ+~ > =yAͦ>4.^#V#{)>!+"+"+>2+>N#F#*+~=X>}|X>͎>C>f>:+>*+Z~=X.,Z~,Š>#"+ɧ>*+"++V+^"+X.,G.A>~##++ĥB>Z+V+^+>+r+sBG.ͦ>~BG.,͕A ? ?%B%B~#~#foZG.|,BKT?PYG.|,BK E? o_(?G.z,z\? b?_h?o}`iB%BDMG.|,!9>A>æ?>æ?>æ?>æ?>æ?>?!+>?>?>?>?>?>??~#fo##GN @y @#~#fo~#fo@#@ ? y@y<.@)@)%B%BRNE 1 4@7@.:@.=@U@@TC@1F@2I@L@O@CR@U@X@E[@ ^@ME_!+@4q@5*,@",@~#N#F#ڱ@@ Zt@yxҖ@ t@+++6@#yw#xw+++6###!+@~6@@q@!A*,@#~#~q@X.,!*.@",@~#^#V#A@Z@| A@++~_w#~Ww#@@*.@DM~#^#V#{A;A*A+zXB+{XB##{z~#q#p_*AypAxpADM*A~#pA*AYP+++",@6@###{_zW+r+sɷA*2@|¨AX.,a@^#V+"2@w#s#r+++r+s##!AA*C{z*C?A}|~# AyG͕AxZG͕Ax#N#F& BAͥBB*C*CZTB(CNBͥBB###5BzBͲC during G.C. ÿ+zBͲC ÿ+ͲC Internal Error - String Space Corrup#N#F*.@yxB*0@yxB++`i+V+^ZoB##6+6+~6  >@++*2@"2@s#r+!A*,@#~_#~WCX.,r+s##6"0@###!2@~#fo#w##ZgC++6+64@a@|,},!,w|,},!,wɧ~9Z#=¦C͸C~9Z#øCG~#C#C++C0:C9ZA(I, )MIMm JmA(I,)A(I, )A(I,)rM>F~ͧ+#rDç+ D![ÐD>![[2D# –D![x`![wE]>>ڹD>|}+!-FÀ_?E͑g+6![>a2[!)FÞe!%FÀ_![À_~_#~W#~O#h,e!L)efEɇ<o&mD g*[*[BE"[`i"[![^#V#N#F#!)F*fhx{Ҿh![6͞gwg>&ih{E:DGw#{EvEÐE![wE[rM[rMnE*[||2D Eaj F L}DDjD:N>2C`h F~&ʍM-dF+dF+XMKG.FevFE FXMlʎFLʎFqʎFQʟF:DʹF>ùF~%F#G!GdʹFDFGXM̓MXMھGF_{_(G8GFDrM!EFrM FGdFXM!E!EFGXMFID`DrMKED=rMDDDG¹H"[`i"[#~+1I-I0OxG1I#~H`xE&Iy H>2C6I|HIH"[`i"[4E#WEK:CdInIrIrIK60IE L+~0ʁI.IEʳIrM>"w#6+I6-/</ ҦI:#p#w#6!C#z:JJKzKͣL{D=KCHIp#6!C#:D~ I*I+JXM-+_:+{02J#XM2J++w(JI2J6%JVJLͦDdJ H+6% EMJnEEKJ_xKK LKKI_y6GJ8GJ{_xJKKJ͸KyKO͸KGO LJ*D=KPIWDѯJnE7EKy6GOzWO8GKK/< K/>͍D4L>͍Dp#=+L![1EgLE>QE4EHM?K?E/{_#zW#yO++{LD#4Ep#mL>éLNM>KN#F#*[/}o|gҼL"[p#=©LKw1_cƤ~@zZrN vH Tʚ;@B''d #~: XM XM XM0?<=:DM7-++XMNOʞMHʞM+ͪMڳM FH#MùMX.,M!MM}0?)))صoMM!MM}N0? N? ))))صoMa{ ErM:[:[D:C2C2CX.,X.,*!))MG!ut))}!͇))͐dd!u͜));ͤ*ͯͰp!uͷ))ͥ̀} Qu*uuWG.}T-X*X!' ~LO LO#~AO`i(Q"O>O #~goPY!' ůw\Q:*+"THX=BX=€Oѯ3X$P!' ~WO\Q|UG.}T-X!&O! ~+ngG.}T-X! n&*+~'X*+T]% N#F+q#p###6 =Q\Q:)+"T>UQ>w+w!(P7?*+' 6#67~EX#^#fk_ڥQN#~:ʩQ++@EXy@EXEXN #Q~.QQ7ÿQ#Q2N%Bz EXEX> QQ> QQG.͈QUNN< Z͈Q:N!NKXN<6XN*O~*X#N#F++%B OʓRIʓRR*X*O|“R!"O}_T¦R|U{T9Xz͈Q ͸U"+#N> Z66\Q~R.tY S:, W:,T> tYtYqYNS~*6?# TO!!4:T#4:T#4y"OTHX><"O>2+!W"+:+<2+*+" O!T"+G."OZR*+|ʛT##n͙OÊT.͔O* OG.òTG.2 OU" OUG.TG.2 OU" OU-X<-X=_!+~#foU##{U++T*+!U"+q#p#s#4#5++###DM !+"O~#foZU+V+^##*O{z&UBK^#V+*Os#r! DMlU*O DMBs#r# 6# xoU !+T]~#fo-Xx‡Uy‡U~#~+*+"+s#r**O|U! s#r#wU2U}T*X! ^#V: OU* O{0X+s#r! w#w! ~#fo!X-VkVBK>!)@V)#AV))OV NV#=6V}_}la)KXfV#xKX"U! "U!) "U!}o|gXڕVbk:UVXҪVVDM*U*U/W"UPYV}o|g*U#"UxVVDM*U*U/W"UPYV2X*U! ~#foXs#rW:X+W!+W!& OP~# x0WDM͘W?X͍W! w!( V6 eWzw͖W?X͍W! ~!ÈW! ^#V! s#rDMͅWWX}T-XʸW*X`i"+!W"+WmQX.!>,G.|,,W-:+-X*+!+"+{͕Af$%X! X*+W|}!"+>6>4>?>=>:>7>5>2>3>@>C>X.o&,b.!"+!*2"*3hX:1yXͲC?yXp͟YíX:pY>\2pY“XxXtY+ʧX~tYûX+tY»XtYqY!*22pYþX͟YOX:pYX>\tY2pYy>YwY7 eY >Y XyX>YwYyX$YyXtY> tY>àX Y>#çX9Y6qY!*2͉YûX ڻXx<>IYyq#tY »X> tY͟YVY ʻXþX:1qYwU*.9Z>^tY@tYqY~ ˜Y> tYtY#ÉY͞+!M*+ ʼY#~+<ʻY=MZ $Z'Z Y4+~# ͥY~=+Z*+!,"+ͥY"+> ͥY> åY:,=hZ> ͮ+> ͮ+*Y^#V#xZɷ![Z![ÏZ[Z[Zw#w#w#w#Z>[Z>[Z ~#=Z!Z#~ Z ZɅo$ɧGw#Z{z6#\'_Ͳha$\'_a _![3b!_Jbhp\3d!3[ _-_ _a\͐^!;[]y\6_!3[A]!;[̀_ý\:\77ÙhpB.={`ԝ!Ms==Cz(/i1e:|\);8Jb!\̀_:[8]H2]A_͐^2[R_:[Ɓ8]3dͅa!(`̀_A_!\^o_i_!\^!9h`'_X_![4#^!_x`i_!_3b."\`!_Jbhh `Jb]![~6!H`̀_!_x`'_!@`Jb#^!_x`!]^!P`h`!3[ _oga!X`̀_!3[x`7v޸-~Mοu9~5A`kc~2fI(L */3b\^hO^!h![y#]+]h?h'_Ͳha ^'_a _![3bʌ^:[h:\/Na`2[:[(ahx/F+N+=G_![[_![>q#p#=^_![À_"+[R_A_-_*+[3bʙh:[ʙh!\N#F͂fͪaqʽ_G`ax ¦__(a![aõ_j0 TeB׳]h!I.k '_Ͳha`'_a![À_7![q#~++w+q`hDNn"~`35zr1{r1h!I3bhyO2\~`3bh:[ _Ґ`/< _9h:\O͑gG2[!\a:[2[x![[a``4a:[`![~++wh![4#`4 `+6![[# `ɯ# aa(a/![Oyw# aG:[Qa![Vwz# 6ax)aÙh![daIax`![wҙh`~w# fa'_ͲhaÅa'_a![x`'_Ͳhaáa'_a _![h`y2\![2[~q+·aqaNsY+aa W~w+aa![a gaͲh![w#bhb}JbbÍbJb͑g![F#^#V#Nyh͍b}[~#8bG++Nyh[6bͲhbx>@G2[>ͦgx͡e,e!)c*fͰg=cbGûh7![Ͳh>bҢb7hchb![6͞gg>&i|_g!>œbakͲh!c)ebͲhxb7"~4fͦg͢fͰgx͎e!-c͋ec!)c͋e3d!-c)e3d!1cdd&X4#]IͲhSc3d!3dQYfhc!cmgͤe 8fړc!cͦg!c)emg!cdͤe!cd!c͋e3d!c)e׳]b5~P$L~yI Ͳh3d͢f3dhh$dh,dͦgdͥff|;hd!3ddͦg͞d0fAd>OQYûhMgh![~+>wh:[xdhpdͦg͢fƁxdmg͑e!ddJ4fQYûhhhhh|Yt&wz^Pc|u~r1ͻhd7>2[!ddͦgog g/e }}{(qnz ͦgh0fd0fg~#Ͳh=x-fh/e eg,ehh:[ʻh?e/O/egáehMghȯG͂f"[y2[Fodgmg!D*[:[Oe[4hhefg.*[:[Ozefg.*[:[ex<=f{_zWxG)yOHGyhg-fhʾhh͂fy+F+F+Fw`h|zfgy^f:[O|g}oxG-|Rf}MfûgElaOLf![~Gxfƀʘhw͑gw+ɷhhÙhhx{Ҿh![6͞gwgfz¿f >&i|ԋh{>2[ͻg/))Ҍg =„g![~7w?##wy7O*[*["["[ajSXhʙhJS\E![ҙh/ i i7>{_zW}o|g=i|g}o5iCZQ(i o-yOzW{_xG8i[*[DM^#V#N#F#xyh:[:[7|/G}/O!>:[ex<=f{_zWxG)yOHGyhg-fhʾhh͂fy+F+F+Fw`h|zfgy^f:[O|g}oxG-|Rf}MfûgElaOLf![~Gxfƀʘhw͑gw+ɷhhÙhhx{Ҿh![6͞gwgfz¿f >&i|ԋh{>2[ͻg/))Ҍg =„g![~7w?##wy7O*[*["["[ajSXhʙhJS\E![ҙh/% 3 4 "A","START" 1 2 1 2 3 "B","MIDDLE" 2 3 1 2 3 "C","ENDING" 3 4 1 3 5 U" Ö^+*v +"v +PERTOVR2INTB !PERTOVR5INT1"#$%&'(PERTOVR6INT<)*+,-./0PERTOVR7INTA123456789PERTOVR8INT:PERTSORTINT ;<PERTWS DOC<=>?@ABCDPINSTALLINT1EFGHIJKDEMO PRT LMCPA BASGNOPQRSTUVCPA DOCWPERT DOCXYZ[\]^_`abcdefgPERT DOCdhijklmnopqrstPERT128 BAS]uvwxyz{|}~PERT80 BAS]PERT80 DOC PERTSAMPCOMPERTSAMPCOMRPERTTEST$$$CHEKLISTCRC This is the release date of the disk. PERTHELPINT PERTHLP0INT PERTOVR2INT !PERTOVR5INT "PERTOVR6INT )PERTOVR7INT 1 PERTOVR8INT :PERTSORTINT ;PERTWS DOC =PINSTALLINT EDEMO PRT LCPA BAS N#CPA DOC WPERT DOC XrPERTWS .DOC 25 B0 7680 60 PINSTALL.INT 33 F8 6272 49 DEMO .PRT 91 5A 1408 11 CPA .BAS CC 27 9088 71 CPA .DOC 96 06 256 2 PERT .DOC 6F 27 29184 228 PERT128 .BAS 95 F3 11904 93 PERT80 .BAS 0E 0D 11904 93 PERT80 .DOC B2 49 1152 9 PERTSAMP.COM 2B 27 26880 210 PERTTEST. 09 7F 128 1  Fog Library Disk FOG-CPM.023 Copyright (1986) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. Two PERT (one for CBasic, one for MBasic) and one CPA programs fill this disk. Filename Description -01-00  .86 This is the release date of the disk. -CPM023 .DOC This is the description of the disk contents. PERT .INT 0C88 7K [CBasic PERT 1 of 13] Menu-driven Performance Evaluation and Review Technique program which requires run-time module of CBasic from Digital Research. PERTHELP.INT D7E7 7K [CBasic PERT 2 of 13] PERTHLP0.INT 67F8 8K [CBasic PERT 3 of 13] PERTOVR2.INT D0E0 9K [CBasic PERT 4 of 13] PERTOVR5.INT 70B3 7K [CBasic PERT 5 of 13] PERTOVR6.INT 7FF3 8K [CBasic PERT 6 of 13] PERTOVR7.INT 8886 9K [CBasic PERT 7 of 13] PERTOVR8.INT 2596 1K [CBasic PERT 8 of 13] PERTSORT.INT A64A 2K [CBasic PERT 9 of 13] PERTWS .DOC 25B0 8K [CBasic PERT 10 of 13] PINSTALL.INT 33F8 7K [CBasic PERT 11 of 13] DEMO .PRT 915A 2K [CBasic PERT 12 of 13] CPA .BAS CC27 9K [CBasic PERT 13 of 13] CPA .DOC 9606 1K [Critical Path Anal 1 of 2] Critical Path Analysis from the July, 1982 BYTE magazine. Requires MBasic or conversion to your Basic program. PERT .DOC 6F27 29K [Critical Path Anal 2 of 2] PERT128 .BAS 95F3 12K [MBasic PERT 1 of 5] Performance Evaluation and Review Technique program written for either 80 or 128+ column printers. Requires either MBasic or conversion to your Basic. PERT80 .BAS 0E0D 12K [MBasic PERT 2 of 5] PERT80 .DOC B249 2K [MBasic PERT 3 of 5] PERTSAMP.COM 2B27 27K [MBasic PERT 4 of 5] PERTTEST. 097F 1K [MBasic PERT 5 of 5] quires run-time module of CBasic from Digital Research. PERTHELP.INT D7E7 7K [CBasic PERT 2 of 13] PERTHLP0.INT 67F8 8K [CBasic PERT 3 of 13] PERTOVR2.INT D0E0 9K [CBasic PERT 4 of 13] P&'