10 REM ***********  PROGRAMMA DI CALCOLO DELLE PALLETTIZZAZIONI ***********
20 REM AUTORE ROBERTO BELLO              DI ARCHIMIA IN DATA 20 OTTOBRE 1985
30 KEY OFF: SCREEN 0: WIDTH 80
40 COLOR 6,0 : CLS
50 GOSUB 1740
60 LOCATE 2,1: PRINT "ARCHIMIA        CALCOLO DELLE DISPOSIZIONI OTTIMALI SU PALLET         " + MID$(DATE$,4,3)+ MID$(DATE$,1,3)+ MID$(DATE$,7,4)
70 LOCATE 5,17: PRINT "Vuoi le istruzioni? S/N ";
80 A$ = "": A$ = INKEY$ : IF A$ = "" THEN GOTO 80
90 IF A$ <> "S" AND A$<>"s" AND A$<> "N" AND A$<> "n" THEN BEEP: GOTO 70
100 IF A$ = "S" OR A$="s"  THEN GOSUB 1960 ELSE CLS
110 LOCATE 2,1:PERMIN = 0: PRINT "ARCHIMIA        CALCOLO DELLE DISPOSIZIONI OTTIMALI SU PALLET         " + MID$(DATE$,4,3)+ MID$(DATE$,1,3)+ MID$(DATE$,7,4)
120 LOCATE  4,1:INPUT "Primo lato Pallet   mm "; PRIMO
130 LOCATE  6,1:INPUT "Secondo lato Pallet mm "; SECONDO
140 LOCATE 8,1: INPUT "Altezza Pallet      mm "; ALPA
150  LOCATE 8,50: INPUT "Dati fissi?  S/N ";SN$
160  IF SN$="S" OR SN$="s" OR SN$="N" OR SN$="n" THEN GOTO 170 ELSE BEEP: GOTO 150
170  IF SN$="S" OR SN$="s" THEN GOTO 200
180  LOCATE 8,42: INPUT "Solo soluzioni migliori?  S/N ";SM$
190  IF SM$="S" OR SM$="s" OR SM$="N" OR SM$="n" THEN GOTO 200 ELSE BEEP: GOTO 180
200 IF PRIMO > SECONDO THEN MAGP = PRIMO : MINP = SECONDO ELSE MAGP = SECONDO: MINP = PRIMO
210 IF SM$="S" OR SM$="s" THEN GOTO 220 ELSE LOCATE 10,1:INPUT "Percent. minima utilizzo pallet ";PERMIN
220 LOCATE 10,42 : INPUT "Strati fra loro leganti ? S/N "; L$
230 IF L$ <> "S" AND L$ <> "s" AND L$ <> "N" AND L$ <> "n" THEN BEEP: GOTO 220
240 IF L$ = "s" THEN L$ = "S"
250 IF L$ = "n" THEN L$ = "N"
260 IF PERMIN < 0 OR PERMIN > 100 THEN BEEP: GOTO 210
270 LOCATE 12,1:INPUT "Lato maggiore cartone mm "; PRIMO
280 IF SN$ = "S" OR SN$ = "s" GOTO 320
290 LOCATE 12,40:INPUT " max "; PRIMOA
300 LOCATE 12,60:INPUT " passo "; PRIMOP
310 IF PRIMO + PRIMOP > PRIMOA THEN BEEP: GOTO 270
320 LOCATE 14,1:INPUT "Lato minore cartone   mm "; SECONDO
330 IF SECONDO > PRIMO THEN BEEP: GOTO 270
340 IF SN$ = "S" OR SN$ = "s" GOTO 380
350 LOCATE 14,40:INPUT " max "; SECONDOA
360 LOCATE 14,60:INPUT " passo "; SECONDOP
370 IF SECONDO + SECONDOP > SECONDOA THEN BEEP: GOTO 320
380 LOCATE 16,1:INPUT "Altezza cartone       mm "; ALTSCA
390 SUPPALLET = MINP * MAGP : VOLPA = SUPPALLET * ALPA
400 MAGS = PRIMO: MINS=SECONDO:MAGS1 = MAGS: MINS1=MINS
410 IF SN$ = "S" OR SN$ = "s" GOTO 450
420 FOR MAGS = PRIMO TO PRIMOA STEP PRIMOP
430 FOR MINS = SECONDO TO SECONDOA STEP SECONDOP
440 IF MAGS = MINS AND (L$ = "S" OR L$ = "s") THEN GOTO 910
450 GOSUB 460: MAGS9=MAGS: MINS9=MINS:MAGS=MINS9:MINS=MAGS9: GOSUB 460:MAGS=MAGS9:MINS=MINS9:GOTO 900
460 REM ******** SUBROUTINE ESAME COMBINAZIONI ********
470 FOR G = 0 TO INT(MAGP/MAGS)
480   FOR L = 0 TO INT(MAGP/MINS)
490        IF MINS < MAGS THEN MINL = MINS:MAGG = MAGS:MINS1=MINS:MAGS1=MAGS ELSE MINL = MAGS:MAGG=MINS:MINS1=MAGS:MAGS1=MINS
500        IF G * MAGS + L * MINS + MINS <= MAGP THEN  GOTO 710
510        IF G * MAGS + L * MINS > MAGP THEN  GOTO 710
520        FILEMAG = 0: FILEMIN = 0 : MAGXS = G: MINXS = L
530        IF MAGXS > 0 THEN FILEMAG = INT(MINP/MINS)
540        IF MINXS > 0 THEN FILEMIN = INT(MINP/MAGS)
550        IF FILEMIN > 0 THEN RESVER1 = MINP - FILEMIN * MAGS
560        IF FILEMAG > 0 THEN RESVER2 = MINP - FILEMAG * MINS
570        IF RESVER1 < RESVER2 THEN RESVER = RESVER1 ELSE RESVER = RESVER2
580        IF RESVER >= MINS1 THEN ORRO = INT(MAGP/MAGS1): ORRV = INT(RESVER/MINS1):ORROG =MAGS1:ORROL=MINS1:GOTO 630 ELSE ORRO = 0 : ORRV = 0
590        IF RESVER1 >= MINS1 THEN ORRO = INT((MAGP-MAGXS*MAGS)/MAGS1): ORRV = INT(RESVER1/MINS1):ORROG=MAGS1:ORROL=MINS1:GOTO 630 ELSE ORRO = 0 : ORRV = 0
600 IF ORRV = 0 THEN RESVER1 = 0
610        IF RESVER2 >= MINS1 THEN ORRO = INT((MAGP-MINXS*MINS)/MAGS1): ORRV = INT(RESVER2/MINS1):ORROG=MAGS1:ORROL=MINS1: GOTO 630 ELSE ORRO = 0 : ORRV = 0
620 IF ORRV = 0 THEN RESVER2 = 0
630        PERCUT = (MAGXS *  FILEMAG * MINS * MAGS  +  MINXS * FILEMIN * MINS * MAGS + ORRO * ORRV * MINS * MAGS) / SUPPALLET * 100
640        COMP = 0
650        IF FILEMIN > 0 THEN COMP = COMP + 1
660        IF FILEMAG > 0 THEN COMP = COMP + 1
670        IF ORRO > 0 THEN COMP = COMP + 1
680 IF L$ = "N" THEN COMP = 2
690        IF  PERCUT  >= PERMIN  AND PERCUT <= 100 AND COMP > 1 AND MAGP - MAGS* G - MINS * L < MINL THEN GOTO 700 ELSE GOTO 710
700        MINSC = MINS : MAGSC = MAGS : SWG = 0: IF SM$= "S" OR SM$="s" THEN PERMIN = PERCUT
705        GOSUB 970
710   NEXT L
720 NEXT G
730 MAGXS = INT(MAGP/MAGS)
740 FOR FILEMAG = 1 TO INT(MINP/MINS)
750 IF MINS < MAGS THEN MINL = MINS ELSE MINL = MAGS
760     ORRO = INT(MAGP/MINS)
770     ORROG=MINS:ORROL=MAGS
780     ORRV = INT((MINP - FILEMAG*MINS)/MAGS)
790     RESVER = MINP - FILEMAG*MINS
800     FILEMIN = 0: MINXS = 0
810     PERCUT = (MAGXS *  FILEMAG * MINS * MAGS  +  MINXS * FILEMIN * MINS * MAGS + ORRO * ORRV * MINS * MAGS) / SUPPALLET * 100
820     COMP = 0
830     IF FILEMIN > 0 THEN COMP = COMP + 1
840     IF FILEMAG > 0 THEN COMP = COMP + 1
850     IF ORRV > 0 THEN COMP = COMP + 1
860     IF  PERCUT  >= PERMIN  AND PERCUT <= 100 AND COMP > 1  AND MINP - FILEMAG * MINS - ORRV * MAGS < MINL THEN GOTO 870 ELSE GOTO 880
870     MINSC = MINS : MAGSC = MAGS : SWG = 1:IF SM$="S" OR SM$="s" THEN PERMIN = PERCUT
875     GOSUB 970
880 NEXT FILEMAG
890 RETURN
900 IF SN$ = "S" OR SN$ = "s" GOTO 930
910 NEXT MINS
920 NEXT MAGS
930 CLS: SCREEN 0:WIDTH 80:COLOR 6,0:LOCATE 23,1:INPUT "Vuoi continuare? S/N ";C$
940 IF C$ = "s" OR C$ = "S" OR C$ = "n" OR C$ = "N" THEN GOTO 950 ELSE BEEP:GOTO 930
950 IF C$ = "s" OR C$ = "S" GOTO 110
960 SYSTEM
970 CLS: GOSUB 1110 :COLOR ,3
980 STRATI = INT(ALPA/ALTSCA): SCATOT = (MAGXS*FILEMAG+MINXS*FILEMIN+ORRO*ORRV)*STRATI
990 LOCATE 1,1: PRINT USING "&####";"Pallet ";MAGP; " x ";MINP; " x ";ALPA;"    Perc. ";PERMIN
1000 LOCATE 7,1:PRINT USING "&####";"CART " ; MAGSC:LOCATE 7,31:PRINT "ALT. EFF."
1010 LOCATE 9,1:PRINT USING "&####";" x   ";MINS :LOCATE 9,31:PRINT " PALLET"
1020 LOCATE 11,1:PRINT USING "&####";" x   ";ALTSCA:LOCATE 11,33:PRINT USING "####"; ALTSCA*STRATI
1030 IF MAGXS > 0 THEN LOCATE 17,1:PRINT USING "&####"; "";MAGSC;"  x ";MINSC;"    CART. "; MAGXS;"    FILE ";FILEMAG
1040 IF MINXS > 0 THEN LOCATE 18,1:PRINT USING "&####"; "";MINSC;"  x ";MAGSC;"    CART. "; MINXS;"    FILE ";FILEMIN
1050 IF ORRO > 0  THEN LOCATE 19,1:PRINT USING "&####"; "";ORROG;"  x ";ORROL;"    CART. "; ORRO;"    FILE ";ORRV:GOTO 1060
1060 LOCATE  21,1:PRINT USING "&####";"CARTONI TOT.   "; SCATOT; "   STRATI PALLET"; STRATI
1070 PERVOL = SCATOT*MINSC*MAGSC*ALTSCA/VOLPA*100
1080 LOCATE  23,1:PRINT USING "&###";"SUP. OCCUPATATA "; PERCUT; "   VOL. OCCUPATO "; PERVOL
1090 R$="":R$=INKEY$:IF R$="" GOTO 1090
1100 RETURN
1110 REM ******** GRAFICO DEL PALLET E SUA UTILIZZAZIONE
1120 SCREEN 1,0: COLOR 1,1
1130 PALVE = MINP / MAGP
1140 LINE (109,19) - (209,19+PALVE*100),3,BF
1150 COL = 0
1160 FOR I = 1 TO MAGXS
1170 COL = COL + 1
1180 IF COL = 3 THEN COL = 1
1190     LINE(109+(I-1)*MAGSC/MAGP*100,19)-(109+I*MAGS/MAGP*100,19+FILEMAG*MINSC/MAGP*100),COL,BF
1200 IF I=1 THEN 1220
1210     LINE(109+(I-1)*MAGSC/MAGP*100,19)-(109+(I-1)*MAGS/MAGP*100,19+FILEMAG*MINSC/MAGP*100),3
1220 NEXT I
1230 PART = 109: ARR = 109+MAGXS*MAGSC/MAGP*100:PASS = MINSC/MAGP*100:LINEE=FILEMAG: GOSUB 1680
1240 FOR I = 1 TO MINXS
1250 COL = COL + 1
1260 IF COL >= 3 THEN COL = 1
1270     LINE(209-MINXS*MINSC/MAGP*100+(I-1)*MINSC/MAGP*100,19)-(209,19+FILEMIN*MAGSC/MAGP*100),COL,BF
1280     IF MINXS*MINSC/MAGP*100+(I-1)*MINSC/MAGP*100 = 100 THEN 1300
1290     LINE(209-MINXS*MINSC/MAGP*100+(I-1)*MINSC/MAGP*100,19)-(209-MINXS*MINSC/MAGP*100+(I-1)*MINSC/MAGP*100,19+FILEMIN*MAGSC/MAGP*100),3
1300 NEXT I
1310 IF ORRV = 0 GOTO 1640
1320 IF MINS < MAGS THEN MINS1=MINS: MAGS1=MAGS ELSE MINS1= MAGS: MAGS1 = MINS
1330 FOR X = 1 TO ORRO
1340 FOR Y = 1 TO ORRV
1350   COL = COL + 1
1360   IF COL >= 3 THEN COL = 1
1370     IF SWG = 0 AND RESVER >= MINS THEN LINE(109+(X-1)*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MINS/MAGP*100)-(109+X*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+Y*MINS/MAGP*100),COL,BF
1380     IF SWG = 0 AND RESVER >= MINS THEN LINE(109+(X-1)*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MINS/MAGP*100)-(109+X*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MINS/MAGP*100),3
1390     IF SWG = 0 AND RESVER >= MINS THEN LINE(109+(X-1)*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MINS/MAGP*100)-(109+(X-1)*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+Y*MINS/MAGP*100),3
1400     IF SWG = 0 AND RESVER >= MINS THEN LINE(109+(X)*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MINS/MAGP*100)-(109+(X)*MAGS/MAGP*100,19+(MINP-RESVER)/MAGP*100+Y*MINS/MAGP*100),3:GOTO 1610
1410     IF SWG = 1 AND RESVER >= MAGS THEN LINE(109+(X-1)*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MAGS/MAGP*100)-(109+X*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+Y*MAGS/MAGP*100),COL,BF
1420     IF SWG = 1 AND RESVER >= MAGS THEN LINE(109+(X-1)*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MAGS/MAGP*100)-(109+X*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MAGS/MAGP*100),3
1430     IF SWG = 1 AND RESVER >= MAGS THEN LINE(109+(X-1)*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MAGS/MAGP*100)-(109+(X-1)*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+Y*MAGS/MAGP*100),3
1440     IF SWG = 1 AND RESVER >= MAGS THEN LINE(109+(X)*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+(Y-1)*MAGS/MAGP*100)-(109+(X)*MINS/MAGP*100,19+(MINP-RESVER)/MAGP*100+Y*MAGS/MAGP*100),3: GOTO 1610
1450 IF SWG=0 AND RESVER1>0 THEN LINE(209-ORRO*MAGS1/MAGP*100+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(209-ORRO*MAGS1/MAGP*100+X*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+Y*MINS1/MAGP*100),COL,BF
1460 IF SWG=0 AND RESVER1>0 THEN LINE(209-ORRO*MAGS1/MAGP*100+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(209-ORRO*MAGS1/MAGP*100+X*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MINS1/MAGP*100),3
1470 IF SWG=0 AND RESVER1>0 THEN LINE(209-ORRO*MAGS1/MAGP*100+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(209-ORRO*MAGS1/MAGP*100+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+Y*MINS1/MAGP*100),3
1480 IF SWG=0 AND RESVER1>0 THEN LINE(209-ORRO*MAGS1/MAGP*100+(X)*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(209-ORRO*MAGS1/MAGP*100+(X)*MAGS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+Y*MINS1/MAGP*100),3:GOTO 1610
1490 IF SWG=1 AND RESVER1>0 THEN LINE(209-ORRO*MINS1/MAGP*100+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(209-ORRO*MINS1/MAGP*100+X*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+Y*MAGS1/MAGP*100),COL,BF
1500 IF SWG=1 AND RESVER1>0 THEN LINE(209-ORRO*MINS1/MAGP*100+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(209-ORRO*MINS1/MAGP*100+X*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MAGS1/MAGP*100),3
1510 IF SWG=1 AND RESVER1>0 THEN LINE(209-ORRO*MINS1/MAGP*100+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(209-ORRO*MINS1/MAGP*100+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+Y*MAGS1/MAGP*100),3
1520 IF SWG=1 AND RESVER1>0 THEN LINE(209-ORRO*MINS1/MAGP*100+(X)*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(209-ORRO*MINS1/MAGP*100+(X)*MINS1/MAGP*100,19+(MINP-RESVER1)/MAGP*100+Y*MAGS1/MAGP*100),3:GOTO 1610
1530 IF SWG=0 AND RESVER2>0 THEN LINE(109+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(109+X*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+Y*MINS1/MAGP*100),COL,BF
1540 IF SWG=0 AND RESVER2>0 THEN LINE(109+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(109+X*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MINS1/MAGP*100),3
1550 IF SWG=0 AND RESVER2>0 THEN LINE(109+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(109+(X-1)*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+Y*MINS1/MAGP*100),3
1560 IF SWG=0 AND RESVER2>0 THEN LINE(109+(X)*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MINS1/MAGP*100)-(109+(X)*MAGS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+Y*MINS1/MAGP*100),3 :GOTO 1610
1570 IF SWG=1 AND RESVER2>0 THEN LINE(109+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(109+X*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+Y*MAGS1/MAGP*100),COL,BF
1580 IF SWG=1 AND RESVER2>0 THEN LINE(109+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(109+X*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MAGS1/MAGP*100),3
1590 IF SWG=1 AND RESVER2>0 THEN LINE(109+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(109+(X-1)*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+Y*MAGS1/MAGP*100),3
1600 IF SWG=1 AND RESVER2>0 THEN LINE(109+(X)*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+(Y-1)*MAGS1/MAGP*100)-(109+(X)*MINS1/MAGP*100,19+(MINP-RESVER2)/MAGP*100+Y*MAGS1/MAGP*100),3:GOTO 1610
1610 NEXT Y
1620 PARI = ORRV MOD 2: IF PARI = 0 THEN COL = COL - 1
1630 NEXT X
1640 IF SWG = 0 THEN PART = 209-MINXS*MINSC/MAGP*100:ARR = 209:LINEE=FILEMIN:PASS = MAGSC/MAGP*100:Y1 = 0 : GOSUB 1680 : GOTO 1670
1650 IF SWG = 1 THEN PART = 109:ARR = 209:LINEE=FILEMAG:PASS = MINSC/MAGP*100:Y1 = 0 : GOSUB 1680: GOTO 1670
1660 Y1=LINEE*PASS : LINEE = ORRV: PASS = MINSC/MAGP*100: GOSUB 1680: Y1 = 0
1670 RETURN
1680 REM Tracciatura linee orrizzontali
1690 FOR I = 1 TO LINEE-1
1700    LINE(PART,19+Y1+I*PASS)-(ARR,19+Y1+I*PASS),3
1710    IF I=LINEE THEN X2=PART:Y2=19+Y1+I*PASS
1720 NEXT I
1730 RETURN
1740 REM LOGO ARCHIMIA
1741 J%=28 :LOCATE 5,J%:COLOR 3
1742 LOCATE ,J%:PRINT "  ******              ******"
1750 LOCATE ,J%:PRINT "**********          **********"
1760 LOCATE ,J%:PRINT "*****  *****      *****  *****"
1770 LOCATE ,J%:PRINT "****     *****  *****     ****"
1780 LOCATE ,J%:PRINT "****       ********       ****"
1790 LOCATE ,J%:PRINT "****      **********      ****"
1800 LOCATE ,J%:PRINT "****    *****    *****    ****"
1810 LOCATE ,J%:PRINT "**** ******        ****** ****"
1820 LOCATE ,J%:PRINT "******************************"
1830 LOCATE ,J%:PRINT " ****************************"
1840 LOCATE ,J%:PRINT
1850 LOCATE ,J%:PRINT "       A R C H I M I A":COLOR 6
1860 LOCATE ,J%:PRINT "   via  xxxxxx xx - Milano"
1870 LOCATE ,J%:PRINT "   telefono    xx/xxxxxxxx"
1880 LOCATE ,J%:PRINT
1890 LOCATE ,J%:PRINT "Programmi di utilita' Logistica"
1900 LOCATE ,J%:PRINT "       Versione del 1985       "
1930 LOCATE ,J%:PRINT "        B A N C A L E          "
1940 CLS
1950 RETURN
1960 REM  ******************** ISTRUZIONI PER L'USO  *****************
1970 CLS
1980 LOCATE 2,1: PRINT "ARCHIMIA        CALCOLO DELLE DISPOSIZIONI OTTIMALI SU PALLET         " + MID$(DATE$,4,3)+ MID$(DATE$,1,3)+ MID$(DATE$,7,4)
1990 LOCATE 4,1:PRINT "Il programma richiede le dimensioni del pallet in larghezza, lunghezza e altezza"
2000 LOCATE 5,1:PRINT "utilizzabili.  Le misure possono essere date in centrimetri o millimetri; scelta"
2010 LOCATE 6,1:PRINT "l'unita' di misura, essa  deve essere mantenuta  per tutte gli altri  parametri."
2020 LOCATE 8,1:PRINT "Successivamente viene richiesto se i dati relativi al cartone   sono  fissi o di"
2030 LOCATE 9,1:PRINT "tipo variabile.   Nel caso di dati di tipo fisso occorre fornire  le  dimensioni"
2040 LOCATE 10,1:PRINT "del lato maggiore,  del lato minore e dell'altezza del   cartone  usando  sempre"
2050 LOCATE 11,1:PRINT "l'unita' di misura inizialmente prescelta per i dati riferiti al pallet.      "
2060 LOCATE 13,1:PRINT "Nel caso di dati di tipo variabile, il programma richiede di fornire  per i due"
2070 LOCATE 14,1:PRINT "lati del  cartone,  la misura di partenza, la misura di arrivo (max) e l'incre-"
2080 LOCATE 15,1:PRINT "mento.  Il programma provera' tutte le combinazioni di misura  dei due lati  in"
2090 LOCATE 16,1:PRINT "grado di eguagliare o superare la percentuale minima di utilizzo della superfi-"
2100 LOCATE 17,1:PRINT "cie del pallet scelta a tastiera a seguito della specifica richiesta.          "
2110 LOCATE 18,1:PRINT "Si puo' chiedere che siano evidenziate solo le soluzioni via via migliori.     "
2120 LOCATE 19,1:PRINT "Il programma fornisce la composizione del pallet specificando  il  numero   dei"
2130 LOCATE 20,1:PRINT "cartoni sul lato maggiore e corrispondenti file, il numero dei cartoni sul lato"
2140 LOCATE 21,1:PRINT "minore e relative file e l'eventuale numero di cartoni e file orrizzontali  per"
2150 LOCATE 22,1:PRINT "il completamento del pallet.  Vengono forniti anche i dati dei cartoni  totali,"
2160 LOCATE 23,1:PRINT "della saturazione della superficie e del volume del pallet.                    "
2170 LOCATE 24,1:PRINT "PREMI UN TASTO PER ELABORARE                     PER STAMPARE LE VIDEATE: PrtSc"
2180 A$ = "": A$ = INKEY$: IF A$ = "" THEN GOTO 2180
2190 CLS
2200 RETURN