Italian subtitles

← 02ps-04 Proc - Solutione

Soluzione alla domanda che chiede di spuntare le funzioni equivalenti a quella base fornita come esempio

Get Embed Code
6 Languages

Showing Revision 2 created 08/01/2014 by Fran Ontanaya.

  1. Per risolvere questo problema, dovete ben comprendere
  2. quello che fa la funzione originale "proc"
  3. Quindi prendiamo i due casi che veramente incorporano il risultato di questa funzione
  4. Ci sono 2 parametri, ma il risultato dipende solo dal valore di "A"
  5. Nello specifico, il valore della funzione "test" su "a"
  6. se "test(a)" è vero, allora ritorniamo il secondo parametro, b
  7. se test(a) è falso, allora ritorniamo il primo parametro, a
  8. Ecco quello che si deve controllare in ciascuna di queste funzioni. Iniziamo ad esaminarle
  9. In "proc1", se "test(x)", che è il primo parametro, è vero, ritorniamo "y"
  10. Questo corrisponde con la funzione originale
  11. Se "test" sul primo parametro è vero, ritorniamo il secondo, come facciamo in "proc1"
  12. Se "test" del primo parametro è falso, ritorniamo quel parametro "x"
  13. "test(x)" è falso, il che equivale a "test(a)", anch'esso falso,
  14. ed intrambi i casi ritorniamo "a" ed "x",
  15. che sono semplicemente nomi diversi per la stessa variabile in questa funzione.
  16. Questo è equivalente
  17. Esaminiamo la seconda funzione--"proc2"
  18. Notate che questa condizione è basata sul valore di "b"
  19. Sappiamo che non è possibile che sia uguale a "proc", la nostra funzione originale
  20. visto che il risultato qui non è dipendente dal valore di "b"
  21. Possiamo capire al volo che questo è falso, Questo non equivale alla nostra funzione originale
  22. Esaminiamo proc3
  23. La struttura qui è un poco diversa, ma procediamo attraverso entrambi gli esempi
  24. nel caso in qui "test(a)" sia vero, impostiamo il risultato in "result" e ri-ritorniamo "result"
  25. Come faceva la nostra funzione originale, se "test(a)" è vero, ritorniamo "b"
  26. Se "test(a)" è falso, semplicemente ritorniamo "result", che era stato impostato all'inizio ad "a"
  27. Quindi la funzionalità globale è che se "test(a)" è vero, ritorniamo "a"
  28. Questo corrisponde con la nostra definizione della funzione originale
  29. Quindi questo è equivalente a "proc"
  30. Ora abbiamo l'ultima funzione--"proc4"
  31. Potrebbe disorientarvi il fatto che vedete "udacity" fra apici qui, che non è presente
  32. in alcuna altra funzione, ma è importante che esaminiamo passo passo il problema
  33. Se "test(a)" è vero, allora "not test(a)" è falso.
  34. Ritorniamo "b"
  35. Se "test(a)" è vero, ritorniamo b
  36. Che corrisponde con la definizione originale
  37. Se "test(a)" è falso, "not test(a)" è vero
  38. quindi impostiamo "b" ad "udacity", poi però ritorniamo "a"
  39. se "test(a)" è false, cambiamo il valore di "b"
  40. ma non facciamo poi nulla con esso--semplicemente ritorniamo "a"
  41. Il risultato è lo stesso della nostra funzione "proc" originale