Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    verificare segno di tre parametri

    salve domani ho la prova in itinere
    su operatori logici e numerici, funzioni, variabili e comandi condizionali....

    non mi riesce però fare un esercizio.... il testo praticamente dice che
    ci sono 3 parametri di numeri interi, se i paramentri negativi sono in numero pari (es. 3 -2 -4, oppure -1 5 -30) allora il risultato è la sommatoria dei parametri, altrimenti se i paramentri negativi sono in numero dispari (es. 19 34 -65, oppure -14 -65 -3) il risultato è il prodotto dei parametri

    ho studiato, infatti finchè consideravo numeri diversi da zero mi stava tornando tutto... ma dovendo considerando anche l'ipotesi che ci sia lo zero non è che mi riesca molto ed ho già fatto diversi tentantivi .... potete darmi una mano?


    grazie

  2. #2
    scusa, ma dov'è il problema?
    I DON'T Double Click!

  3. #3
    Originariamente inviato da artorius
    scusa, ma dov'è il problema?
    il problema è che non mi riesce scrivere la funzione che risolva quell'esercizio...

  4. #4
    beh, lo 0 non lo conti come negativo, dato che non lo è, quindi se passa lo 0 e c' un solo negativo farai 0.

    Per il resto, se sai che i parametri sono 3, significa che hai una funzione del tipo:

    function pippo(param1, param2, param3){}

    a questo punto inizializzi un contatore a 0

    guardi il primo parametro se è > 0, in quel caso il contatore aumenterà ad uno
    fai per il secondo e per il terzo lo stesso, poi guardi se il contatore è pari o dispari.
    I DON'T Double Click!

  5. #5
    Originariamente inviato da artorius
    beh, lo 0 non lo conti come negativo, dato che non lo è, quindi se passa lo 0 e c' un solo negativo farai 0.

    Per il resto, se sai che i parametri sono 3, significa che hai una funzione del tipo:

    function pippo(param1, param2, param3){}

    a questo punto inizializzi un contatore a 0

    guardi il primo parametro se è > 0, in quel caso il contatore aumenterà ad uno
    fai per il secondo e per il terzo lo stesso, poi guardi se il contatore è pari o dispari.
    eh il problema è che non posso contare e usare cicli for... perchè ancora non l'ha spiegati! o meglio li ha spiegati ma nel compito di domani non ci sono... quindi devo fare senza!
    io lo zero l'ho contato come numero positivo...

  6. #6
    si, ma se sai che sono 3 ti basta fare:

    if(param1 >= 0) counter++;
    if(param2 >= ...etc
    I DON'T Double Click!

  7. #7
    Originariamente inviato da artorius
    si, ma se sai che sono 3 ti basta fare:

    if(param1 >= 0) counter++;
    if(param2 >= ...etc
    oddio anche queste cose il prof non ce l'ha spiegate
    praticamente io avevo fatto così

    dichiaro una funzione che ha i 3 parametri+il parametro del risultato
    poi avevo messo un operazione logica... cioè che se il prodotto dei parametri è <0 il risultato è lo stesso prodotto dei parametri (dato che se il prodotto è minore di zero vuol dire che ci sono dispari parametri negativi)...
    altrimenti se il prodotto dei parametri è >0 (quindi se ci sono pari parametri negativi) il risultato è la somma dei parametri.......
    Codice PHP:
    function calcola(abcr) {
    var 
    sa.value*b.value*c.value;

       if (
    s<0){
        
    r.value s;
       }
         else {
          
    r.value a.value*b.value*c.value*1;
         }

    il problema però si pone quando c'è lo 0!

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    forse dovresti dirci allora quali costrutti ti sono stati spiegati oppure quali costrutti puoi usare

    Dell'ultima soluzione proposta, che cosa non ti è stato spiegato?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    Originariamente inviato da fcaldera
    forse dovresti dirci allora quali costrutti ti sono stati spiegati oppure quali costrutti puoi usare

    Dell'ultima soluzione proposta, che cosa non ti è stato spiegato?
    allora il prof praticamente ci ha spiegato le cose che ho messo in quel pezzo di codice
    operatori logici e numerici
    dichiarazione di funzioni
    comandi condizionali

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    per esempio una funzione che ti permette di controllare con la stessa logica quanti parametri vuoi potrebbe essere

    codice:
        function foobar() {
    
            var product = 1;
            var sum     = 0;
            var num     = arguments.length;
    
            while (num--) {
                if (arguments[num] !== 0) product *= arguments[num];
                sum += arguments[num];
            }
    
            return (product < 0)
                ? product
                : sum;
    
        }
    e la puoi richiamare così
    alert(foobar(-3, 0, 4));

    ma anche
    alert(foobar(-3, 0, -4, 5, 0, 0 2, 5, ... ));
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.