Maggiore e minore

di il
3 risposte

Maggiore e minore

Scusate ma ho bisogno di chiarezza;
stò eseguendo una piccola esercitazione e quello che ho scritto è questo:

const dayWeek=[];
let dayhot;
let tH;

for(let i=0; i<7; i+=1){

dayWeek=prompt(`temperatura di ${giorno(i)}`,10); //

if (i==0){
dayhot=dayWeek;
tH=i;
}

console.log(`dayhot ${dayhot} valore ${dayWeek} indice ${i}`);
if (dayhot < dayWeek){
dayhot=dayWeek;
console.log(`nuova temperatura ${dayhot}`);
tH=i;
}


}

console.log(`le temperature della settimana`);

for(i=0;i<dayWeek.length;i+=1){
console.log(`${giorno(i)} - ${dayWeek} gradi`);
}

console.log(`il giorno più caldo ${giorno(tH)} con ${dayhot} gradi`);

function giorno(g){
let d;
switch (g) { //converte il numero in nome del giorno
case 0: //domenica
d = "domenica";
break;
case 1:
d = "lunedì";
break;
case 2:
d = "martedì";
break;
case 3:
d = "mercoledì";
break;
case 4:
d = "giovedì";
break;
case 5:
d = "venerdì";
break;
case 6: //sabato
d = "sabato";
}
return d;
}
....
la sequenza di valori che sto immettendo nell'array è 17,9,23,11,15,8,16
e il risultato che mi aspetto è che il valore di dayhot sia 23 ma, indovinate un po', il risultato che ottengo è 9
c'è qualcuno disposto a perdere 30 secondi facendo copia e incolla del programma e testarlo per fatti suoi e poi farmi sapere che succede?
per completezza devo aggiungere che stò testando su Mozilla firefox (ma non credo ci azzecchi molto);

3 Risposte

  • Re: Maggiore e minore

    Usa i tag code o non si capisce
  • Re: Maggiore e minore

    Riposto con tag:
    
    const dayWeek=[];
    let dayhot;
    let tH;
    
    for(let i=0; i<7; i+=1){
    
    dayWeek[i]=prompt(`temperatura di ${giorno(i)}`,10); //
    
    if (i==0){
    dayhot=dayWeek[i];
    tH=i;
    }
    
    // questa è la parte incriminata a meno che io non habbia mai capito una mazza 
    //  dovrebbe significare che se la variabile dayhot è più piccola del dato immesso
    // allora dovrebbe assumere il valore del nuovo input, ma così non è
    
    console.log(`dayhot ${dayhot} valore ${dayWeek[i]} indice ${i}`);
    if (dayhot < dayWeek[i]){
    dayhot=dayWeek[i];
    console.log(`nuova temperatura ${dayhot}`);
    tH=i;
    }
    
    }
    
    console.log(`le temperature della settimana`);
    
    for(i=0;i<dayWeek.length;i+=1){
    console.log(`${giorno(i)} - ${dayWeek[i]} gradi`);
    }
    
    console.log(`il giorno più caldo ${giorno(tH)} con ${dayhot} gradi`);
    
    function giorno(g){
    let d;
    switch (g) { //converte il numero in nome del giorno
    case 0: //domenica
    d = "domenica";
    break;
    case 1:
    d = "lunedì";
    break;
    case 2:
    d = "martedì";
    break;
    case 3:
    d = "mercoledì";
    break;
    case 4:
    d = "giovedì";
    break;
    case 5:
    d = "venerdì";
    break;
    case 6: //sabato
    d = "sabato";
    }
    return d;
    }
    
    posso solo aggiungere due cose:
    1) sul forum ho trovato un post del tutto simile di Tiziano01 ma che è senza soluzione
    2) se l'array è 'riempito' a priori ossia const dayWeek=[17,9,23,11,15,8,16]; (senza i valori immessi da tastiera,) il risultato che si ottiene è coerente con le aspettative (e questo vale anche per il problema proposto da Tiziano01 ).
    grazie a tutti quelli che vorranno prestare attenzione.
  • Re: Maggiore e minore

    Ho capito .. il prompt accetta valori solo in formato string, quindi tali valori vanno prima convertiti in numerici e poi assegnati alla variabile.
    Grazie comunque.
Devi accedere o registrarti per scrivere nel forum
3 risposte