salve a tutti.
dovrei utilizzare uno script da linkare ad un foglio di calcolo.
in parole povere ho creato una funzione myfunz(cip,ciop) dove cip è una lunghezza mentre ciop è un numero tra 0,1,2.
ciop serve solo per aumentare di un tot cip a seconda di 0,1 oppure 2.
quindi calcolo cipmassimo=cip+tot;
a questo punto ho 2 moduli da 2,30 o 1,80.
devo calcolare la miglior combinazione di N2,30 + N1,80 affinche sia il piu possibile vicino a cipmassimo ma inferiore. vi allego le mie funzioni ma il problema è che qualsiasi parametro gli passi il risultato mi da 0.
P.S. le due funzioni sono identiche cambia solo il return per darmi una il numero di moduli da 1,80 e una da 2,30 e alcune cose sono inutili ma servono per una possibile modifica.
grazie
codice:
function nCampate180(lung,sporto){
var maxmultiplo180;
var multiplosu230=0;
var multiplogiu180=0;
var l180=0;
var l230=0;
var lmin=0;
var lmax=0;
var lsomma=0;
var migliorlsomma=0;
var pezzi180;
var pezzi230;
if(sporto==0){
lmax=lung+0,20;
}else if(sporto==1){
lmax=lung+1,60;
}else if(sporto==2){
lmax=lung+3;
}
maxmultiplo180=1,80;
while(maxmultiplo180<lmax){ //calcolo multiplo massimo 1,80<lung
maxmultiplo180=maxmultiplo180+1,80 ;
}
multiplogiu180=maxmultiplo180;
while(multiplogiu180 < 0){ //inizio ciclo con massimo multiplo 180 finche' non negativo
if(multiplogiu180+2,30<lmax){ //controllo possibilità aggiunta 230
while( multiplogiu180+multiplosu230 < lmax){ // controllo<lmax .. aggiungere >lmin se non necessario controllo migliorelsomma
multiplosu230=multiplosu230+2,30;
}
}
lsomma=multiplogiu180+multiplosu230;
if(lsomma>migliorlsomma){ //controllo miglior risultato
migliorlsomma=lsomma;
l180=multiplogiu180;
l230=multiplosu230;
}
multiplosu230=0;
multiplogiu180=multiplogiu180-1,80;
}
pezzi180=l180/1,80;
pezzi230=l230/2,30;
return pezzi180;
}