home *** CD-ROM | disk | FTP | other *** search
/ AppleDisk 1 / AppleDisk_001.dsk / DIETA.bas < prev    next >
Encoding:
BASIC Source File  |  1986-01-01  |  28.1 KB  |  572 lines

  1. 1  REM   **********************
  2. 2  REM   *       DIETA        *
  3. 3  REM   *     PERSONALE      *
  4. 4  REM   *                    *
  5. 5  REM   * (C)1986 EDITRONICA *
  6. 6  REM   **********************
  7. 10 D$ =  CHR$(4): DIM NT$(25)
  8. 20  CALL  -936: GOTO 26100
  9. 30  VTAB 24: HTAB 5: INVERSE : PRINT "PREMI UN TASTO PER PROSEGUIRE";: NORMAL 
  10. 35  POKE  -16368,0: WAIT  -16384,128: POKE  -16368,0: RETURN 
  11. 40  FOR U = 0 TO 39: PRINT "-";: NEXT : RETURN 
  12. 50 LI = 768: DIM NB$(48): PRINT D$"OPEN NOTAVIDEO"
  13. 52  PRINT D$"READ NOTAVIDEO"
  14. 55  FOR I = 0 TO 48
  15. 57  CALL LI,NB$(I)
  16. 58  NEXT 
  17. 60  PRINT D$"CLOSE NOTAVIDEO"
  18. 100  GOTO 150
  19. 105 QW = 1: GOSUB 3540:QW = 0
  20. 150  CALL  -936: INVERSE : PRINT "      INSERIMENTO  DATI PERSONALI      ";: NORMAL : PRINT : PRINT :T = 18
  21. 160  PRINT "NOME E COGNOME" TAB( T)": ";:A = 19: GOSUB 900:NO$ = W$
  22. 185  PRINT "SESSO (M/F)" TAB( T)": ";:A = 1
  23. 190  GOSUB 900:S$ = W$: IF S$ < >"M"  AND S$ < >"F"  THEN  GOSUB 850: GOTO 190
  24. 195  PRINT "ETA' (15-99)" TAB( T)": ";:A = 2
  25. 200  GOSUB 900:E =  VAL(W$): IF E <15  OR E >99  THEN  GOSUB 850: GOTO 200
  26. 205  PRINT "ALTEZZA (CM)" TAB( T)": ";:A = 3
  27. 210  GOSUB 900:H =  VAL(W$)/100: IF H <1.3  OR H >2.2  THEN  GOSUB 850: GOTO 210
  28. 215  PRINT "PESO ATTUALE (KG)" TAB( T)": ";
  29. 220  GOSUB 900:PA =  VAL(W$): IF PA <40  OR PA >120  THEN  GOSUB 850: GOTO 220
  30. 225  PRINT "SENO O PETTO (CM)" TAB( T)": ";
  31. 230  GOSUB 900:SE =  VAL(W$): IF SE <70  OR SE >130  THEN  GOSUB 850: GOTO 230
  32. 235  PRINT "VITA (CM)" TAB( T)": ";
  33. 240  GOSUB 900:VI =  VAL(W$): IF VI <50  OR VI >130  THEN  GOSUB 850: GOTO 240
  34. 245  PRINT "FIANCHI (CM)" TAB( T)": ";
  35. 250  GOSUB 900:FI =  VAL(W$): IF FI <60  OR FI >130  THEN  GOSUB 850: GOTO 250
  36. 255  PRINT "POLSO (CM)" TAB( T)": ";:A = 2
  37. 260  GOSUB 900:CS =  VAL(W$):CW = CS: IF CS <10  OR CS >20  THEN  GOSUB 850: GOTO 260
  38. 275  PRINT "CAVIGLIA (CM)" TAB( T)": ";
  39. 280  GOSUB 900:CV =  VAL(W$): IF CV <10  OR CV >25  THEN  GOSUB 850: GOTO 280
  40. 285  PRINT "ATTIVITA' FISICA": PRINT "(LEGGERA/NORMALE)  
  41. 287  PRINT "        /PESANTE)" TAB( T)": ";:A = 1
  42. 290  GOSUB 900:L$ = W$: IF L$ < >"L"  AND L$ < >"N"  AND L$ < >"P"  THEN  GOSUB 850: GOTO 290
  43. 292 LL$ = "LEGGERA": IF L$ = "N"  THEN LL$ = "NORMALE"
  44. 294  IF L$ = "P"  THEN LL$ = "PESANTE"
  45. 300  PRINT : PRINT : PRINT  TAB( 4)"CONFERMI QUESTI DATI (S/N) ? ";
  46. 305  GET A$: IF A$ < >"S"  AND A$ < >"s"  AND A$ < >"N"  AND A$ < >"n"  THEN 305
  47. 310  IF A$ = "S"  OR A$ = "s"  THEN 2255
  48. 320  POKE 34,1: CALL  -936: GOTO 160
  49. 350  POKE 34,1: CALL  -936: RETURN 
  50. 500  GOSUB 30
  51. 510  POKE 34,2: CALL  -936: RETURN 
  52. 850  VTAB  PEEK(37): HTAB 20: CALL  -868: RETURN 
  53. 860  VTAB  PEEK(37): HTAB 36: CALL  -868: RETURN 
  54. 900 W$ = "":K = 0
  55. 910  GET A$
  56. 912  IF K <0  THEN K = 0
  57. 915  IF A$ =  CHR$(13)  AND K >0  THEN  PRINT " ": RETURN 
  58. 918  IF A$ =  CHR$(8)  AND K >0  AND AA = 1  THEN  VTAB  PEEK(37) +1: HTAB 33: CALL  -868:K = 0:W$ = "": GOTO 910
  59. 919  IF A$ =  CHR$(8)  AND K >0  AND AA = 2  THEN  VTAB  PEEK(37) +1: HTAB 36: CALL  -868:K = 0:W$ = "": GOTO 910
  60. 920  IF A$ =  CHR$(8)  AND K >0  THEN  HTAB 20: CALL  -868:K = 0:W$ = "": GOTO 910
  61. 925  IF A$ <" "  OR A$ >"Z"  OR A$ =  CHR$(34)  OR A$ = ","  OR A$ = ";"  OR A$ = ":"  OR K > = (A)  THEN 910
  62. 930  PRINT A$;:W$ = W$ +A$:K = K +1: GOTO 910
  63. 1300  IF FC <1200  THEN FR% = 120:A = 200: GOTO 1330
  64. 1310  IF FC <1500  THEN FR% = 150:A = 250: GOTO 1330
  65. 1320  IF FC <2000  THEN FR% = 200:A = 335: GOTO 1330
  66. 1325 FR% = 250:A = 415
  67. 1330 R = CD -A: IF R <0  THEN R =  INT( RND(1) *50)
  68. 1335 UT% = FC -R: RETURN 
  69. 2255 A = 15:B = 2.5:FC = 69:P = 75 *H: IF S$ = "F"  THEN B = 2:FC = 61:P = 68 *H
  70. 2260  FOR I = 0 TO 3: IF CS < = (A)  THEN P = P -(FC -I *(B +1)):I = 3: NEXT I: GOTO 2270
  71. 2265 A = A +B: NEXT I
  72. 2266  IF E >24  AND E < = 29  THEN 2400
  73. 2267  IF E < = 16  THEN P = P -3
  74. 2270  IF E >16  AND E < = 19  THEN P = P -2.5
  75. 2273  IF E >19  AND E < = 24  THEN P = P -2
  76. 2275  IF (E > = 30  AND E < = 49)  OR E > = 56  THEN P = P +2: GOTO 2400
  77. 2280  IF E >49  AND E < = 55  THEN P = P +3: IF S$ = "F"  THEN P = P -.5: GOTO 2400
  78. 2285  IF S$ = "F"  THEN P = P +.5
  79. 2400  IF CS <16  THEN SW$ = "LONGILINEA"
  80. 2420  IF CS <20  AND CS > = 16  THEN SW$ = "NORMOLINEA"
  81. 2440  IF CS > = 20  THEN SW$ = "BREVILINEA"
  82. 2670 A = P *40
  83. 2680  IF S$ = "F"  THEN 2800
  84. 2700 FC = A +600: IF L$ = "L"  THEN FC = A +200
  85. 2720  IF L$ = "N"  THEN FC = A +400
  86. 2740  GOTO 3420
  87. 2800 FC = A +200: IF L$ = "N"  THEN FC = A -200
  88. 2810  IF L$ = "L"  THEN FC = A -400
  89. 3420 DP = PA -P
  90. 3421  IF DP >20  THEN FC = FC *.6: GOTO 3450
  91. 3423  IF DP <1  THEN 3450
  92. 3424 A = .90:B = 2: IF S$ = "M"  THEN B = 2.5
  93. 3425  FOR I = 2 TO 20  STEP B
  94. 3426  IF DP < = I  THEN FC = FC *A:I = 20: GOTO 3429
  95. 3427  IF I >10  THEN A = A -.01: GOTO 3429
  96. 3428 A = A -.05
  97. 3429  NEXT I
  98. 3450 FC =  INT(FC): IF FC <1100  THEN FC = 1100
  99. 3453  IF FC >4000  THEN FC = 4000
  100. 3490  GOSUB 350: VTAB 8: HTAB 3: PRINT "FABBISOGNO CALORICO GIORNALIERO:"FC: PRINT 
  101. 3495  HTAB 3: PRINT "PESO IDEALE  (KG.):"P: PRINT : HTAB 3: PRINT "PESO ATTUALE (KG.):"PA: PRINT 
  102. 3497  IF DP <0  THEN  HTAB 3: PRINT "SEI SOTTOPESO DI (KG.):" ABS(DP): GOTO 3505: PRINT 
  103. 3500  HTAB 3: PRINT "SEI IN SOVRAPPESO  (KG.):" INT(DP *100)/100
  104. 3505  GOSUB 30
  105. 3540  CALL  -936: IF F2 = 1  THEN 4280
  106. 3560  DIM AS$(9,16)
  107. 3580  DATA  PRIMO   GIORNO,SECONDO GIORNO,TERZO   GIORNO,QUARTO  GIORNO
  108. 3590  DATA  QUINTO  GIORNO,SESTO   GIORNO,SETTIMO GIORNO
  109. 3600  DIM AN%(20,4),P1%(32,4),P2%(14,4),S1%(44,4),S2%(26,4),MO%(44,4)
  110. 3620  DIM C%(15,4),FO%(34,4),DO%(6,4),CO%(14,4)
  111. 3660  DIM AN$(20),P1$(32),P2$(14),S1$(44),S2$(26),MO$(44),C$(15),FO$(34)
  112. 3700  DIM DO$(6),CO$(14)
  113. 3725  POKE 34,0: CALL  -936: PRINT  TAB( 15)"AVVERTENZE": VTAB 3: FOR I = 0 TO 18: PRINT NB$(I): NEXT 
  114. 3727  PRINT D$"OPEN NOTASTAMPA": PRINT D$"READ NOTASTAMPA":A$ = ""
  115. 3728  FOR CR = 1 TO 25
  116. 3729  CALL LI,NT$(CR)
  117. 3732  NEXT CR
  118. 3733  PRINT D$"CLOSE NOTASTAMPA"
  119. 3734  GOSUB 30
  120. 3735  POKE 34,1: CALL  -936: VTAB 3: FOR I = 19 TO 35: PRINT NB$(I): NEXT 
  121. 3750  PRINT D$"OPEN FD":A$ = ""
  122. 3760  PRINT D$"READ FD": INPUT N1
  123. 3800  FOR A = 1 TO N1: FOR B = 1 TO 5: INPUT PK:PK(B) =  INT(PK *10): NEXT B: INPUT NR$
  124. 3810  IF A < >130  THEN 3900
  125. 3815  GOSUB 30
  126. 3820  CALL  -936: VTAB 5: FOR I = 36 TO 48: PRINT NB$(I): NEXT 
  127. 3900 I = PK(5)/10: IF I >10  THEN 4200
  128. 3920  ON I GOSUB 4720,4860,5000,5140,5280,5420,5560,5700,5980,6260
  129. 4200  NEXT A
  130. 4220  PRINT D$"CLOSE FD"
  131. 4221  GOSUB 30
  132. 4230  FOR I = 0 TO 48:NB$(I) = "": NEXT :F2 = 1: IF QW = 1  THEN  RETURN 
  133. 4280  FOR D = 1 TO CA:AN%(D,0) = 1: NEXT 
  134. 4300  FOR D = 1 TO CB:P1%(D,0) = 1: NEXT 
  135. 4320  FOR D = 1 TO CC:P2%(D,0) = 1: NEXT 
  136. 4340  FOR D = 1 TO CX:S1%(D,0) = 1: NEXT 
  137. 4360  FOR D = 1 TO CE:S2%(D,0) = 1: NEXT 
  138. 4380  FOR D = 1 TO CF:MO%(D,0) = 1: NEXT 
  139. 4400  FOR D = 1 TO CG:C%(D,0) = 1: NEXT 
  140. 4420  FOR D = 1 TO CH:FO%(D,0) = 1: NEXT 
  141. 4460  FOR D = 1 TO CL:DO%(D,0) = 1: NEXT 
  142. 4500  FOR D = 1 TO CN:CO%(D,0) = 1: NEXT 
  143. 4600  GOTO 6660
  144. 4720 CA = CA +1: FOR D = 1 TO 4:AN%(CA,D) = PK(D): NEXT :AN$(CA) = NR$: RETURN 
  145. 4860 CB = CB +1: FOR D = 1 TO 4:P1%(CB,D) = PK(D): NEXT :P1$(CB) = NR$: RETURN 
  146. 5000 CC = CC +1: FOR D = 1 TO 4:P2%(CC,D) = PK(D): NEXT :P2$(CC) = NR$: RETURN 
  147. 5140 CX = CX +1: FOR D = 1 TO 4:S1%(CX,D) = PK(D): NEXT :S1$(CX) = NR$: RETURN 
  148. 5280 CE = CE +1: FOR D = 1 TO 4:S2%(CE,D) = PK(D): NEXT :S2$(CE) = NR$: RETURN 
  149. 5420 CF = CF +1: FOR D = 1 TO 4:MO%(CF,D) = PK(D): NEXT :MO$(CF) = NR$: RETURN 
  150. 5560 CG = CG +1: FOR D = 1 TO 4:C%(CG,D) = PK(D): NEXT :C$(CG) = NR$: RETURN 
  151. 5700 CH = CH +1: FOR D = 1 TO 4:FO%(CH,D) = PK(D): NEXT :FO$(CH) = NR$: RETURN 
  152. 5980 CL = CL +1: FOR D = 1 TO 4:DO%(CL,D) = PK(D): NEXT :DO$(CL) = NR$: RETURN 
  153. 6260 CN = CN +1: FOR D = 1 TO 4:CO%(CN,D) = PK(D): NEXT :CO$(CN) = NR$: RETURN 
  154. 6660 :
  155. 6662  POKE 34,0: CALL  -936: INVERSE : PRINT "      D I E T A    P E R S O N A L E    ":B$ = "   ": NORMAL 
  156. 6663 C9$ = " ALIMENTO DA ELIMINARE (0=NESSUNO):"
  157. 6665  PRINT : PRINT  TAB( 11)"PIATTI MEMORIZZATI": PRINT : PRINT :A$ =  CHR$(13)
  158. 6668  PRINT " TIPO     NUMERO         CATEGORIA": PRINT 
  159. 6670  PRINT B$"1" SPC( 8)(CA) TAB( 23)"ANTIPASTI"A$B$"2" SPC( 8)CB TAB( 23)"PRIMI ASCIUTTI"
  160. 6675  PRINT B$"3" SPC( 8)CC TAB( 23)"PRIMI IN BRODO"A$B$"4" SPC( 8)CX TAB( 23)"SECONDI DI CARNE"
  161. 6680  PRINT B$"5" SPC( 8)CE TAB( 23)"SECONDI DI PESCE"A$B$"6" SPC( 8)CF TAB( 23)"MONOPIATTI"
  162. 6685  PRINT B$"7" SPC( 8)CG TAB( 23)"CONTORNI"A$B$"8" SPC( 8)(CH) TAB( 23)"UOVA E FORMAGGI"
  163. 6690  PRINT B$"9" SPC( 8)CL TAB( 23)"DOLCI"A$"  10" SPC( 8)CN TAB( 23)"COLAZIONI"
  164. 6695  PRINT : PRINT : PRINT "   SCEGLI LA CATEGORIA DA ESAMINARE"
  165. 6700  PRINT "   O DA MODIFICARE (0=NESSUNA): ";:A = 2
  166. 6705 AA = 1: GOSUB 900:AA = 0:CS =  VAL(W$): IF CS <0  OR CS >10  OR W$ <"0"  OR W$ >"9"  THEN  VTAB  PEEK(37): HTAB 33: CALL  -868: GOTO 6705
  167. 7060  IF CS = 0  THEN 7440
  168. 7120  ON CS GOTO 17160,17720,18000,18300,18500,18800,19100,19400,19700,20000
  169. 7178  VTAB 24: HTAB 3: PRINT C9$;:A = 2: GOSUB 900:NE =  VAL(W$)
  170. 7440 GI = 3: RESTORE :T9 = 0
  171. 7442 A$ = "0120120":B$ = A$
  172. 7448  FOR I = 0 TO 6:PH%(I) =  VAL( MID$ (A$,I +1,1)):PW%(I) =  VAL( MID$ (B$,I +1,1)): NEXT 
  173. 7450  FOR I = 0 TO 7:A =  RND(1) *7:B =  RND(1) *7:C = PH%(A):PH%(A) = PH%(B):PH%(B) = C: NEXT 
  174. 7460  READ GI$:T8 = 0
  175. 7500 C1 =  INT(FC *.15): GOSUB 22200:C2 =  INT(FC *.35):C3 =  INT(FC *.4):PC = FC *.146:PT = PC/4
  176. 7520 P1 = PT *.15:P2 = PT *.35:P3 = PT *.4:LC = FC *.25:LT = LC/9:L1 = LT *.15:L2 = LT *.35:L3 = LT *.4
  177. 7540 GC = FC *.63:GT = GC/4:G1 = GT *.15:G2 = GT *.35:G3 = GT *.4
  178. 7760  IF GI >3  OR T9 = 1  THEN 7815
  179. 7770 T9 = 1: CALL  -936
  180. 7775  INVERSE : PRINT "FABBISOGNO CALORICO GIORNALIERO:"; STR$(FC)" ":A$ =  CHR$(13):A = 100
  181. 7780  PRINT : PRINT : HTAB 6: PRINT "COLAZIONE CALORIE "; INT(C1 *A)/A: NORMAL : PRINT : PRINT  TAB( 16)"PROTIDI ";
  182. 7782  PRINT  INT(P1 *A)/A
  183. 7785  PRINT  TAB( 16)"LIPIDI  " INT(P1 *A)/A;A$ TAB( 16)"GLUCIDI " INT(G1 *A)/A
  184. 7790  PRINT : HTAB 6: INVERSE : PRINT "PRANZO    CALORIE " INT(C2 *A)/A: NORMAL : PRINT : PRINT  TAB( 16)"PROTIDI " INT(P2 *A)/A
  185. 7795  PRINT  TAB( 16)"LIPIDI  " INT(L2 *A)/A;A$ TAB( 16)"GLUCIDI " INT(G2 *A)/A
  186. 7800  PRINT : HTAB 6: INVERSE : PRINT "CENA      CALORIE " INT(C3 *A)/A: NORMAL : PRINT : PRINT  TAB( 16)"PROTIDI ";
  187. 7802  PRINT  INT(P3 *A)/A
  188. 7805  PRINT  TAB( 16)"LIPIDI  " INT(L3 *A)/A;A$ TAB( 16)"GLUCIDI " INT(G3 *A)/A
  189. 7810  GOSUB 30
  190. 7815  IF T8 = 0  THEN  CALL  -936: VTAB 12: HTAB 13: FLASH : PRINT GI$: NORMAL :T8 = 1
  191. 8380 CD = C1:PD = P1:LD = L1:GD = G1
  192. 8400 NA =  INT( RND(1) *CN) +1
  193. 8420  IF CO%(NA,0) = 0  THEN 8400
  194. 8500 AS$(GI,1) = CO$(NA):CO%(NA,0) = 0:SK$ = SK$ + CHR$(9) + CHR$(NA)
  195. 8520 CD = CD -CO%(NA,1)/10:PD = PD -CO%(NA,2)/10:LD = LD -CO%(NA,3)/10
  196. 8580 GD = GD -CO%(NA,4)/10
  197. 8581 CD = C2 +CD:PD = P2 +PD:LD = L2 +LD:GD = G2 +GD
  198. 8585  IF FC <1200  THEN CD = CD +50:PD = PD +3:LD = L:GD = GD +13
  199. 8600 NA =  INT( RND(1) *CA) +1
  200. 8610  IF AN%(NA,0) = 0  OR AN%(NA,3)/10 >LD *.6  OR AN%(NA,2)/10 >PD *.6  THEN 8600
  201. 8615  IF AN%(NA,1)/10 >CD *.7  THEN 8600
  202. 8620 AS$(GI,3) = AN$(NA):AN%(NA,0) = 0: IF FC <1200  AND (GI = 3  OR GI = 8)  THEN AN%(NA,0) = GI
  203. 8625 SK$ = SK$ + CHR$(1) + CHR$(NA)
  204. 8630 CD = CD -AN%(NA,1)/10:PD = PD -AN%(NA,2)/10:LD = LD -AN%(NA,3)/10
  205. 8635 GD = GD -AN%(NA,4)/10
  206. 8650 X = PW%(GI -3) +1: ON X GOTO 8700,8890,9960
  207. 8700 TR = 0
  208. 8710 NA =  INT( RND(1) *CF) +1
  209. 8715  IF MO%(NA,0) = 0  OR MO%(NA,3)/10 >LD *.7  OR MO%(NA,2)/10 >PD *.7  THEN 8750
  210. 8720  IF MO%(NA,1)/10 >CD *.8  THEN 8750
  211. 8725 AS$(GI,4) = MO$(NA):MO%(NA,0) = GI
  212. 8730 SK$ = SK$ + CHR$(6) + CHR$(NA)
  213. 8735 CD = CD -MO%(NA,1)/10:PD = PD -MO%(NA,2)/10:LD = LD -MO%(NA,3)/10
  214. 8740 GD = GD -MO%(NA,4)/10
  215. 8745  GOTO 11600
  216. 8750 TR = TR +1: IF TR >40  THEN 7500
  217. 8755  GOTO 8710
  218. 8890 TR = 0
  219. 8895  IF  RND(1) >.8  THEN 9320
  220. 8900 NA =  INT( RND(1) *CB) +1
  221. 8960  IF P1%(NA,0) = 0  OR P1%(NA,3)/10 >LD *.6  OR P1%(NA,2)/10 >PD *.6  THEN 9280
  222. 9000  IF P1%(NA,1)/10 >CD *.7  THEN 9280
  223. 9160 AS$(GI,4) = P1$(NA):P1%(NA,0) = GI
  224. 9165 SK$ = SK$ + CHR$(2) + CHR$(NA)
  225. 9180 CD = CD -P1%(NA,1)/10:PD = PD -P1%(NA,2)/10:LD = LD -P1%(NA,3)/10
  226. 9240 GD = GD -P1%(NA,4)/10: GOTO 11600
  227. 9280 TR = TR +1: IF TR >50  THEN 7500
  228. 9300  GOTO 8900
  229. 9320 TR = 0
  230. 9325 NA =  INT( RND(1) *CC) +1
  231. 9340  IF P2%(NA,0) = 0  OR P2%(NA,1)/10 >CD *.7  OR P2%(NA,2)/10 >PD *.6  THEN 9700
  232. 9460  IF P2%(NA,3)/10 >LD *.45  THEN 9700
  233. 9580 AS$(GI,4) = P2$(NA):P2%(NA,0) = GI:CD = CD -P2%(NA,1)/10
  234. 9585 SK$ = SK$ + CHR$(3) + CHR$(NA)
  235. 9600 PD = PD -P2%(NA,2)/10:LD = LD -P2%(NA,3)/10:GD = GD -P2%(NA,4)/10: GOTO 11600
  236. 9700 TR = TR +1: IF TR >20  THEN 7500
  237. 9720  GOTO 9325
  238. 9960 X = PH%(GI -5) +1: ON X GOTO 9999,10320,10700
  239. 9999 TR = 0
  240. 10000 NA =  INT( RND(1) *CX) +1
  241. 10020  IF S1%(NA,0) = 0  OR S1%(NA,1)/10 >CD *.75  THEN 10280
  242. 10060  IF S1%(NA,2)/10 >PD  OR S1%(NA,3)/10 >LD *.75  OR S1%(NA,4)/10 >GD *.75  THEN 10280
  243. 10160 AS$(GI,4) = S1$(NA):S1%(NA,0) = GI:CD = CD -S1%(NA,1)/10:PD = PD -S1%(NA,2)/10
  244. 10162 LD = LD -S1%(NA,3)/10:GD = GD -S1%(NA,4)/10
  245. 10165 SK$ = SK$ + CHR$(4) + CHR$(NA): GOTO 11600
  246. 10280 TR = TR +1: IF TR >60  THEN 7500
  247. 10300  GOTO 10000
  248. 10320 TR = 0
  249. 10325 NA =  INT( RND(1) *CE) +1
  250. 10340  IF S2%(NA,0) = 0  OR S2%(NA,1)/10 >CD *.75  OR S2%(NA,2)/10 >PD  THEN 10580
  251. 10380  IF S2%(NA,3)/10 >LD *.75  OR S2%(NA,4)/10 >GD  THEN 10580
  252. 10480 AS$(GI,4) = S2$(NA):S2%(NA,0) = GI:CD = CD -S2%(NA,1)/10:PD = PD -S2%(NA,2)/10
  253. 10482 LD = LD -S2%(NA,3)/10:GD = GD -S2%(NA,4)/10
  254. 10485 SK$ = SK$ + CHR$(5) + CHR$(NA): GOTO 11600
  255. 10580 TR = TR +1: IF TR >30  THEN 7500
  256. 10600  GOTO 10325
  257. 10700 TR = 0
  258. 10705 NA =  INT( RND(1) *CH) +1
  259. 10710  IF FO%(NA,0) = 0  OR FO%(NA,3)/10 >LD  OR FO%(NA,2)/10 >PD  THEN 10745
  260. 10715  IF FO%(NA,1)/10 >CD  THEN 10745
  261. 10720 AS$(GI,4) = FO$(NA):FO%(NA,0) = GI
  262. 10725 SK$ = SK$ + CHR$(8) + CHR$(NA)
  263. 10730 CD = CD -FO%(NA,1)/10:PD = PD -FO%(NA,2)/10:LD = LD -FO%(NA,3)/10
  264. 10735 GD = GD -FO%(NA,4)/10
  265. 10740  GOTO 11600
  266. 10745 TR = TR +1: IF TR >30  THEN 7500
  267. 10750  GOTO 10705
  268. 11600 :
  269. 12080  IF CD <52  AND CD > = 0  AND FC <1200  THEN 12140
  270. 12083  IF GD >45  AND  RND(1) >.5  THEN  GOSUB 25010: GOTO 12140
  271. 12085  IF GD >45  THEN AS$(GI,5) = "Pane 25 g.":CD = CD -145
  272. 12090  IF GD >45  THEN PD = PD -4.1:LD = LD -.2:GD = GD -33.7: GOTO 12140
  273. 12100  IF GD <45  THEN AS$(GI,5) = "Grissini 15 g.":CD = CD -52
  274. 12110  IF GD >45  THEN PD = PD -1.5:LD = LD -1.7:GD = GD -8.3
  275. 12130  IF (CD <0  OR PD <0  OR LD <0  OR GD <0)  AND FC >1200  THEN 7500
  276. 12140 AS$(GI,6) = "Acqua minerale naturale"
  277. 12580 CD = C3 +CD:PD = P3 +PD:LD = L3 +LD:GD = G3 +GD
  278. 12582  IF FC <1200  THEN CD = CD +50:PD = PD +3:LD = LD +3:GD = GD +13
  279. 12585  IF (GI < >3  AND GI < >6)  OR FC <1200  THEN 13160
  280. 12600 TR = 0
  281. 12700 NA =  INT( RND(1) *CB) +1
  282. 12760  IF P1%(NA,0) = 0  OR P1%(NA,1)/10 >CD *.6  OR P1%(NA,2)/10 >PD *.6  THEN 13120
  283. 12860  IF P1%(NA,3)/10 >LD *.5  THEN 13120
  284. 12920 AS$(GI,9) = P1$(NA):P1%(NA,0) = GI
  285. 12925 SK$ = SK$ + CHR$(2) + CHR$(NA)
  286. 13020 CD = CD -P1%(NA,1)/10:PD = PD -P1%(NA,2)/10:LD = LD -P1%(NA,3)/10
  287. 13080 GD = GD -P1%(NA,4)/10: GOTO 13640
  288. 13120 TR = TR +1: IF TR >60  THEN 7500
  289. 13140  GOTO 12700
  290. 13160 TR = 0
  291. 13165 NA =  INT( RND(1) *CC) +1
  292. 13180  IF P2%(NA,0) = 0  OR P2%(NA,1)/10 >CD *.8  OR P2%(NA,2)/10 >PD *.6  THEN 13560
  293. 13260  IF P2%(NA,3)/10 >LD *.5  THEN 13560
  294. 13440 AS$(GI,9) = P2$(NA):P2%(NA,0) = 0: IF FC <1200  AND (GI = 3  OR GI = 8)  THEN P2%(NA,0) = GI
  295. 13445 SK$ = SK$ + CHR$(3) + CHR$(NA)
  296. 13460 CD = CD -P2%(NA,1)/10:PD = PD -P2%(NA,2)/10:LD = LD -P2%(NA,3)/10
  297. 13520 GD = GD -P2%(NA,4)/10: GOTO 13640
  298. 13560 TR = TR +1: IF TR >40  THEN 7500
  299. 13580  GOTO 13165
  300. 13640 X = PH%(GI -3) +1: ON X GOTO 13800,14200,14700
  301. 13800 TR = 0
  302. 13840 NA =  INT( RND(1) *CX) +1
  303. 13860  IF S1%(NA,0) = 0  OR S1%(NA,1)/10 >CD *.9  OR S1%(NA,2)/10 >PD  THEN 14160
  304. 13960  IF S1%(NA,3)/10 >LD *.75  THEN 14160
  305. 14040 AS$(GI,10) = S1$(NA):S1%(NA,0) = GI:CD = CD -S1%(NA,1)/10
  306. 14042 PD = PD -S1%(NA,2)/10:LD = LD -S1%(NA,3)/10:GD = GD -S1%(NA,4)/10
  307. 14045 SK$ = SK$ + CHR$(4) + CHR$(NA): GOTO 14915
  308. 14160 TR = TR +1: IF TR >40  THEN 7500
  309. 14180  GOTO 13840
  310. 14200 TR = 0
  311. 14205 NA =  INT( RND(1) *CE) +1
  312. 14220  IF S2%(NA,0) = 0  OR S2%(NA,1)/10 >CD  OR S2%(NA,2)/10 >PD  OR S2%(NA,3)/10 >LD  THEN 14500
  313. 14400 AS$(GI,10) = S2$(NA):S2%(NA,0) = GI:CD = CD -S2%(NA,1)/10
  314. 14402 PD = PD -S2%(NA,2)/10:LD = LD -S2%(NA,3)/10:GD = GD -S2%(NA,4)/10
  315. 14405 SK$ = SK$ + CHR$(5) + CHR$(NA): GOTO 14915
  316. 14500 TR = TR +1: IF TR >40  THEN 7500
  317. 14520  GOTO 14205
  318. 14700 TR = 0
  319. 14705 NA =  INT( RND(1) *CH) +1
  320. 14710  IF FO%(NA,0) = 0  OR FO%(NA,3)/10 >LD  OR FO%(NA,2)/10 >PD  THEN 14745
  321. 14715  IF FO%(NA,1)/10 >CD  THEN 14745
  322. 14720 AS$(GI,10) = FO$(NA):FO%(NA,0) = GI
  323. 14725 SK$ = SK$ + CHR$(8) + CHR$(NA)
  324. 14730 CD = CD -FO%(NA,1)/10:PD = PD -FO%(NA,2)/10:LD = LD -FO%(NA,3)/10
  325. 14735 GD = GD -FO%(NA,4)/10
  326. 14740  GOTO 14915
  327. 14745 TR = TR +1: IF TR >30  THEN 7500
  328. 14750  GOTO 14705
  329. 14915 TR = 0
  330. 14920 NA =  INT( RND(1) *CG) +1
  331. 14940  IF C%(NA,0) = 0  THEN 15220
  332. 15000  IF C%(NA,1)/10 >CD  OR C%(NA,2)/10 >PD  OR C%(NA,3)/10 >LD  THEN 15220
  333. 15100 AS$(GI,11) = C$(NA):C%(NA,0) = GI
  334. 15105 SK$ = SK$ + CHR$(7) + CHR$(NA): GOTO 15280
  335. 15220 TR = TR +1: IF TR >40  AND FC =  >1300  THEN 7500
  336. 15225  IF TR >40  AND FC <1300  THEN 16000
  337. 15230  GOTO 14920
  338. 15280 CD = CD -C%(NA,1)/10:PD = PD -C%(NA,2)/10:LD = LD -C%(NA,3)/10
  339. 15340 GD = GD -C%(NA,4)/10
  340. 16000  IF FC <1200  AND (CD <52  OR GD <8.3)  THEN 16100
  341. 16005  IF GD >45  AND  RND(1) >.5  THEN  GOSUB 25000: GOTO 16100
  342. 16010  IF GD >45  THEN AS$(GI,12) = "Pane 25 g.":CD = CD -145
  343. 16012  IF GD >45  THEN PD = PD -4.1:LD = LD -.2:GD = GD -33.7: GOTO 16100
  344. 16020  IF GD <45  THEN AS$(GI,12) = "Grissini 15 g.":CD = CD -52
  345. 16022  IF GD <45  THEN PD = PD -1.5:LD = LD -1.7:GD = GD -8.3
  346. 16100 AS$(GI,13) = "Acqua minerale naturale"
  347. 16120  IF CD >92  THEN AS$(GI,13) = "Vino 1 bicchiere":CD = CD -92
  348. 16320 TR = 0
  349. 16330  IF CD <143  OR FC <1800  THEN 16650
  350. 16340 NA =  INT( RND(1) *CL) +1
  351. 16360  IF DO%(NA,0) = 0  OR DO%(NA,4)/10 >GD  OR DO%(NA,3)/10 >LD  THEN 16580
  352. 16380  IF DO%(NA,1)/10 >CD  OR DO%(NA,2)/10 >LD  THEN 16580
  353. 16460 AS$(GI,14) = DO$(NA)
  354. 16480 CD = CD -DO%(NA,1)/10:PD = PD -DO%(NA,2)/10:LD = LD -DO%(NA,3)/10
  355. 16540 GD = GD -DO%(NA,4)/10: GOTO 16650
  356. 16580 TR = TR +1: IF TR >30  THEN 16650
  357. 16600  GOTO 16340
  358. 16650  IF FC <1500  AND CD < -50  THEN 7500
  359. 16700 A$ = "": GOSUB 1300
  360. 16703  IF CD <0  THEN CD = 0
  361. 16704  CALL  -936
  362. 16705  INVERSE : PRINT " DIETA ";: NORMAL : HTAB 15: INVERSE : PRINT "CALORIE DISPONIBILI " STR$(FC): NORMAL 
  363. 16710  HTAB 16: INVERSE : PRINT "CALORIE UTILIZZATE " STR$(UT%): NORMAL 
  364. 16715  PRINT GI$;: HTAB 17: INVERSE : PRINT "CALORIE RIMANENTI    ";:I$ =  STR$( INT(R))
  365. 16717  HTAB 39 - LEN(I$): PRINT I$: NORMAL 
  366. 16720 B$ = ""
  367. 16722  GOSUB 40
  368. 16725  VTAB 24: INVERSE : HTAB 5: PRINT "P";: NORMAL : PRINT "ROSSIMO GIORNO";: NORMAL : HTAB 25: INVERSE : PRINT "R";: NORMAL : PRINT "IPETERE";
  369. 16730  VTAB 5: HTAB 1: INVERSE : PRINT "COLAZIONE";: NORMAL : HTAB 11: PRINT AS$(GI,1)A$
  370. 16732  PRINT : GOSUB 40
  371. 16735  INVERSE : PRINT "PRANZO";: NORMAL : HTAB 11: PRINT AS$(GI,3): FOR I = 4 TO 6: PRINT  TAB( 11)AS$(GI,I): NEXT 
  372. 16737  PRINT : GOSUB 40
  373. 16740  INVERSE : PRINT "CENA";: NORMAL : HTAB 11: PRINT AS$(GI,9): FOR I = 10 TO 14: PRINT  TAB( 11)AS$(GI,I): NEXT 
  374. 16741  PRINT : GOSUB 40
  375. 16742  PRINT " 2 SPUNTINI da "FR%"g. a base di frutta"
  376. 16745  VTAB 24: HTAB 22: GET A$: IF A$ = "P"  THEN  CALL  -936: GOTO 17000
  377. 16750  IF A$ = "R"  THEN  CALL  -936:T8 = 0: GOTO 7500
  378. 16755  GOTO 16745
  379. 17000 GI = GI +1:CD = 0:PD = 0:LD = 0:GD = 0:SK$ = "": IF GI <10  THEN 7460
  380. 17020  VTAB 12: HTAB 5: PRINT "VUOI STAMPARE LA DIETA (S/N) ?";
  381. 17025  GET A$: IF A$ = "N"  OR A$ = "n"  THEN 17110
  382. 17030  IF A$ < >"S"  AND A$ < >"s"  THEN 17025
  383. 17100  CALL  -936: GOSUB 21160
  384. 17110  GOTO 26500
  385. 17150  RESTORE :GI = 3: GOTO 150
  386. 17160  CALL  -936: HTAB 11: INVERSE : PRINT " A N T I P A S T I ": NORMAL : PRINT 
  387. 17163  FOR Q = 1 TO CA: PRINT Q;:A$ = ""
  388. 17165  IF AN%(Q,0) >0  THEN A$ = AN$(Q)
  389. 17170  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  390. 17175  NEXT 
  391. 17178  VTAB 23: PRINT C9$;:A = 2
  392. 17179 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  393. 17180  IF NE <0  OR NE >(CA)  THEN  GOSUB 860: GOTO 17179
  394. 17185  IF NE = 0  THEN 6660
  395. 17190 AN%(NE,0) = 0: GOSUB 510: GOTO 17163
  396. 17720  CALL  -936: HTAB 6: INVERSE : PRINT " P R I M I   A S C I U T T I ": NORMAL : PRINT 
  397. 17723  FOR Q = 1 TO CB: PRINT Q;:A$ = ""
  398. 17725  IF P1%(Q,0) >0  THEN A$ = P1$(Q)
  399. 17730  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  400. 17735  NEXT 
  401. 17740  VTAB 23: PRINT C9$;:A = 2
  402. 17743 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  403. 17745  IF NE <0  OR NE >CB  THEN  GOSUB 860: GOTO 17743
  404. 17750  IF NE = 0  THEN 6660
  405. 17755 P1%(NE,0) = 0: GOSUB 510: GOTO 17723
  406. 18000  CALL  -936: HTAB 7: INVERSE : PRINT " P R I M I  I N  B R O D O ": NORMAL : PRINT 
  407. 18005  FOR Q = 1 TO CC: PRINT Q;:A$ = ""
  408. 18010  IF P2%(Q,0) >0  THEN A$ = P2$(Q)
  409. 18015  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  410. 18020  NEXT 
  411. 18025  VTAB 23: PRINT C9$;:A = 2
  412. 18028 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  413. 18030  IF NE <0  OR NE >CC  THEN  GOSUB 860: GOTO 18028
  414. 18035  IF NE = 0  THEN 6660
  415. 18040 P2%(NE,0) = 0: GOSUB 510: GOTO 18005
  416. 18300  CALL  -936: HTAB 6: INVERSE : PRINT " S E C O N D I  D I  C A R N E ": NORMAL : PRINT 
  417. 18303  FOR Q = 1 TO CX: PRINT Q;:A$ = ""
  418. 18305  IF S1%(Q,0) >0  THEN A$ = S1$(Q)
  419. 18310  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  420. 18315  NEXT 
  421. 18320  VTAB 23: PRINT C9$;:A = 2
  422. 18323 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  423. 18325  IF NE <0  OR NE >CX  THEN  GOSUB 860: GOTO 18323
  424. 18330  IF NE = 0  THEN 6660
  425. 18335 S1%(NE,0) = 0: GOSUB 510: GOTO 18303
  426. 18500  CALL  -936: HTAB 5: INVERSE : PRINT " S E C O N D I   D I   P E S C E ": NORMAL : PRINT 
  427. 18505  FOR Q = 1 TO CE: PRINT Q;:A$ = ""
  428. 18510  IF S2%(Q,0) >0  THEN A$ = S2$(Q)
  429. 18515  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  430. 18520  NEXT 
  431. 18525  VTAB 23: PRINT C9$;:A = 2
  432. 18528 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  433. 18530  IF NE <0  OR NE >CE  THEN  GOSUB 860: GOTO 18528
  434. 18535  IF NE = 0  THEN 6660
  435. 18540 S2%(NE,0) = 0: GOSUB 510: GOTO 18505
  436. 18800  CALL  -936: HTAB 10: INVERSE : PRINT " M O N O P I A T T I ": NORMAL : PRINT 
  437. 18805  FOR Q = 1 TO CF: PRINT Q;:A$ = ""
  438. 18810  IF MO%(Q,0) >0  THEN A$ = MO$(Q)
  439. 18815  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  440. 18820  NEXT 
  441. 18825  VTAB 23: PRINT C9$;:A = 2
  442. 18828 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  443. 18830  IF NE <0  OR NE >CF  THEN  GOSUB 860: GOTO 18828
  444. 18835  IF NE = 0  THEN 6660
  445. 18840 MO%(NE,0) = 0: GOSUB 510: GOTO 18805
  446. 19100  CALL  -936: HTAB 12: INVERSE : PRINT " C O N T O R N I ": NORMAL : PRINT 
  447. 19105  FOR Q = 1 TO CG: PRINT Q;:A$ = ""
  448. 19110  IF C%(Q,0) >0  THEN A$ = C$(Q)
  449. 19115  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  450. 19120  NEXT 
  451. 19125  VTAB 23: PRINT C9$;:A = 2
  452. 19128 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  453. 19130  IF NE <0  OR NE >CG  THEN  GOSUB 860: GOTO 19128
  454. 19135  IF NE = 0  THEN 6660
  455. 19140 C%(NE,0) = 0: GOSUB 510: GOTO 19105
  456. 19400  CALL  -936: HTAB 5: INVERSE : PRINT " U O V A  E  F O R M A G G I ": PRINT : NORMAL 
  457. 19405  FOR Q = 1 TO CH: PRINT Q;:A$ = ""
  458. 19410  IF FO%(Q,0) >0  THEN A$ = FO$(Q)
  459. 19415  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  460. 19420  NEXT 
  461. 19425  VTAB 23: PRINT C9$;:A = 2
  462. 19428 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  463. 19430  IF NE <0  OR NE >CH  THEN  GOSUB 860: GOTO 19428
  464. 19435  IF NE = 0  THEN 6660
  465. 19440 FO%(NE,0) = 0: GOSUB 510: GOTO 19405
  466. 19700  CALL  -936: HTAB 15: INVERSE : PRINT " D O L C I ": PRINT : NORMAL 
  467. 19705  FOR Q = 1 TO CL: PRINT Q;:A$ = ""
  468. 19710  IF DO%(Q,0) >0  THEN A$ = DO$(Q)
  469. 19715  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  470. 19720  NEXT 
  471. 19725  VTAB 23: PRINT C9$;:A = 2
  472. 19728 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  473. 19730  IF NE <0  OR NE >CL  THEN  GOSUB 860: GOTO 19728
  474. 19735  IF NE = 0  THEN 6660
  475. 19740 DO%(NE,0) = 0: GOSUB 510: GOTO 19705
  476. 20000  CALL  -936: HTAB 11: INVERSE : PRINT " C O L A Z I O N I ": NORMAL : PRINT 
  477. 20003  FOR Q = 1 TO CN: PRINT Q;:A$ = ""
  478. 20005  IF CO%(Q,0) >0  THEN A$ = CO$(Q)
  479. 20010  HTAB 4: PRINT A$: IF  INT(Q/18) *18 = Q  THEN  GOSUB 500
  480. 20015  NEXT 
  481. 20020  VTAB 23: PRINT C9$;:A = 2
  482. 20023 AA = 2: GOSUB 900:AA = 0:NE =  VAL(W$)
  483. 20025  IF NE <0  OR NE >CN  THEN  GOSUB 860: GOTO 20023
  484. 20030  IF NE = 0  THEN 6660
  485. 20035 CO%(NE,0) = 0: GOSUB 510: GOTO 20003
  486. 21000  REM  ***************STAMPANTE*******************
  487. 21160  VTAB 10: HTAB 9: PRINT "STO STAMPANDO LA DIETA ": PRINT : HTAB 19: PRINT "DI": PRINT : HTAB 20 - LEN(NO$)/2: FLASH : PRINT NO$: NORMAL 
  488. 21162  PRINT D$"PR#1": PRINT  CHR$(9)"80N"
  489. 21165 PT = FC *.146/4:LT = FC *.25/9:GT = FC *.63/4
  490. 21168 K4$ =  CHR$(13):A = 100:PT =  INT(PT *A)/A:LT =  INT(LT *A)/A:GT =  INT(GT *A)/A:Q = H *A
  491. 21170  PRINT K4$: FOR C = 1 TO 79: PRINT "*";: NEXT : PRINT "*"
  492. 21175  PRINT  TAB( 6) CHR$(14)"D I E T A   P E R S O N A L E " CHR$(15)
  493. 21180  FOR C = 1 TO 79: PRINT "*";: NEXT : PRINT "*": PRINT K4$K4$K4$K4$
  494. 21185  PRINT "DIETA PERSONALIZZATA ELABORATA PER:" TAB( 12)NO$K4$K4$
  495. 21195  PRINT  TAB( 29)"PARAMETRI FISIOLOGICI:"K4$ TAB( 29)"----------------------"K4$
  496. 21200  PRINT  TAB( 12)"ETA':" TAB( 18 - LEN( STR$(E)));E;
  497. 21205  PRINT  TAB( 16)"SESSO: " TAB( 14)S$
  498. 21210  PRINT  TAB( 12)"ALTEZZA (CM.):" TAB( 9 - LEN( STR$(Q)));Q;
  499. 21215  PRINT  TAB( 16)"CIRC. POLSO (CM.):" TAB( 4 - LEN( STR$(CW)));CW
  500. 21220  PRINT  TAB( 12)"PESO ATTUALE (KG.):" TAB( 4 - LEN( STR$(PA)));PA;
  501. 21225  PRINT  TAB( 16)"SENO (CM.):" TAB( 11 - LEN( STR$(SE)));SE
  502. 21230 A$ =  LEFT$( STR$(P),5): PRINT  TAB( 12)"PESO IDEALE (KG.):" TAB( 5 - LEN(A$))A$;
  503. 21235  PRINT  TAB( 16)"VITA (CM.):" TAB( 11 - LEN( STR$(VI)));VI
  504. 21240  PRINT  TAB( 12)"ATTIV. FISICA: "LL$;
  505. 21245  PRINT  TAB( 16)"FIANCHI (CM.):" TAB( 8 - LEN( STR$(FI)));FI
  506. 21250  PRINT  TAB( 12)"CAVIGLIA (CM.):" TAB( 8 - LEN( STR$(CV)))CV;
  507. 21255  PRINT  TAB( 16)"STRUTTURA: "SW$K4$K4$
  508. 21260  PRINT  TAB( 20)"FABBISOGNO CALORICO GIORNALIERO (KCAL.):"FC
  509. 21265  PRINT  TAB( 20)"----------------------------------------"K4$
  510. 21270  PRINT  TAB( 32)"SUDDIVISO IN:"
  511. 21275  PRINT  TAB( 32)"PROTIDI (G.):" TAB( 9 - LEN( STR$(PT)))PT
  512. 21280  PRINT  TAB( 32)"LIPIDI  (G.):" TAB( 9 - LEN( STR$(LT)))LT
  513. 21285  PRINT  TAB( 32)"GLUCIDI (G.):" TAB( 9 - LEN( STR$(GT)))GT;K4$K4$
  514. 21290  PRINT  TAB( 29)"PROPOSTE DI DIETE GIORNALIERE:"
  515. 21295  PRINT  TAB( 29)"------------------------------"K4$
  516. 21300  PRINT  TAB( 32) CHR$(14)"GIORNO 1" CHR$(15)K4$K4$ TAB( 25)"COLAZIONE:"
  517. 21310  PRINT  TAB( 25)AS$(9,1)
  518. 21320  PRINT K4$ TAB( 25)"PRANZO: "AS$(9,3)
  519. 21330  FOR U = 4 TO 8: PRINT  TAB( 33)AS$(9,U): NEXT 
  520. 21340  PRINT K4$ TAB( 25)"CENA:   "AS$(9,9)
  521. 21350  FOR U = 10 TO 16
  522. 21360  PRINT  TAB( 33)AS$(9,U): NEXT 
  523. 21370  FOR U = 1 TO 7: PRINT : NEXT 
  524. 21400  FOR T = 2 TO 7  STEP 2:A = T +2:B = T +3: PRINT  TAB( 12) CHR$(14)"GIORNO"T; CHR$(15);
  525. 21402  PRINT  TAB( 21) CHR$(14)"GIORNO"T +1 CHR$(15);K4$
  526. 21405  PRINT "COLAZIONE:" TAB( 34)"COLAZIONE:"
  527. 21410  PRINT AS$(A,1) TAB( 44 - LEN(AS$(A,1)))AS$(B,1)K4$
  528. 21415  PRINT "PRANZO: "AS$(A,3) TAB( 36 - LEN(AS$(A,3)))"PRANZO: "AS$(B,3)
  529. 21420  FOR U = 4 TO 8: PRINT  TAB( 8)AS$(A,U) TAB( 44 - LEN(AS$(A,U)))AS$(B,U)
  530. 21425  NEXT : PRINT K4$"CENA: "AS$(A,9) TAB( 36 - LEN(AS$(A,9)))"CENA:   "AS$(B,9)
  531. 21430  FOR U = 10 TO 16: PRINT  TAB( 8)AS$(A,U) TAB( 44 - LEN(AS$(A,U)))AS$(B,U)
  532. 21435  NEXT : PRINT K4$
  533. 21450  NEXT : GOSUB 26000
  534. 21485  FOR U = 1 TO 8: PRINT : NEXT : RESTORE : PRINT D$"PR#0"
  535. 21486  GOSUB 23800: RETURN 
  536. 22200  IF SK$ = ""  THEN  RETURN 
  537. 22210  FOR I = 1 TO  LEN(SK$)  STEP 2:X =  ASC( MID$ (SK$,I,1)):Y =  ASC( MID$ (SK$,I +1,1))
  538. 22220  ON X GOSUB 22300,22320,22340,22360,22380,22400,22420,22440,22460
  539. 22240  NEXT :SK$ = "": RETURN 
  540. 22300 AN%(Y,0) = 1: RETURN 
  541. 22320 P1%(Y,0) = 1: RETURN 
  542. 22340 P2%(Y,0) = 1: RETURN 
  543. 22360 S1%(Y,0) = 1: RETURN 
  544. 22380 S2%(Y,0) = 1: RETURN 
  545. 22400 MO%(Y,0) = 1: RETURN 
  546. 22420 C%(Y,0) = 1: RETURN 
  547. 22440 FO%(Y,0) = 1: RETURN 
  548. 22460 CO%(Y,0) = 1: RETURN 
  549. 23800  FOR I = 1 TO 9: FOR J = 1 TO 16:AS$(I,J) = "": NEXT : NEXT : RETURN 
  550. 25000 AS$(GI,12) = "Crackers 25 g.":CD = CD -145:PD = PD -4.1:LD = LD -.2:GD = GD -33.7
  551. 25002  RETURN 
  552. 25010 AS$(GI,5) = "Crackers 25 g.":CD = CD -145:PD = PD -4.1:LD = LD -.2:GD = GD -33.7
  553. 25012  RETURN 
  554. 26000  PRINT K4$K4$K4$K4$: FOR U = 1 TO 79: PRINT "-";: NEXT : PRINT 
  555. 26020  PRINT  TAB( 31) CHR$(14)"NOTA BENE" CHR$(15)K4$
  556. 26030  FOR I = 1 TO 25: PRINT NT$(I): NEXT I: RETURN 
  557. 26100  VTAB 3: INVERSE : PRINT "           DIETA  PERSONALE           "
  558. 26110  VTAB 24: PRINT " (C) 1986 -  EDITRONICA SRL - MILANO  ": NORMAL 
  559. 26120  FLASH : VTAB 12: HTAB 9: PRINT "ATTENDI ALCUNI SECONDI": NORMAL 
  560. 26130 HEX$ = "300:20 BE DE 20 E3 DF A2 00 20 75 FD 86 FD 20 39 D5 A5 FD 20 52 E4 A2 00 A0 02 20 E2 E5 A0 00 A5 FD 91 83 C8 A5 6F 91 83 C8 A5 70 91 83 60 N D823G"
  561. 26140  FOR H = 1 TO  LEN(HEX$)
  562. 26150  POKE 511 +H, ASC( MID$ (HEX$,H,1)) +128
  563. 26160  NEXT 
  564. 26170  POKE 72,0
  565. 26180  CALL  -144
  566. 26190  GOTO 50
  567. 26500  CALL  -936: VTAB 11: HTAB 11: INVERSE : PRINT "1";: NORMAL : PRINT " - MENU APPLEDISK"
  568. 26510  PRINT : HTAB 11: INVERSE : PRINT "2";: NORMAL : PRINT " - UN'ALTRA DIETA"
  569. 26520  VTAB 15: HTAB 18: PRINT "< >";
  570. 26530  VTAB 15: HTAB 19: GET A$: PRINT A$: IF A$ < >"1"  AND A$ < >"2"  THEN 26530
  571. 26540  IF A$ = "1"  THEN  PRINT  CHR$(4)"RUN HELLO2": END 
  572. 26550  GOTO 17150