Italian subtitles

← cs101_unit2_07_l_Using-Procedures

dummy description

Get Embed Code
8 Languages

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

  1. Sfortunatamente, non siamo ancora pronti per essere del tutto sorridenti.
  2. Sebastian mi ha detto ci vorrà ancora qualche anno prima che possa avere
  3. la mia auto "self-driving", ma il problema maggiore di cui non abbiamo ancora parlato
  4. è come usare veramente la procedura.
  5. Quello che abbiamo fatto è crearne, finchè non ne useremo veramente
  6. non abbiamo ancora una buona ragione per essere veramente felici.
  7. Impareremo ad usarle e poi torneremo ad essere sorridenti.
  8. Impareremo ora ad usare le procedure.
  9. Il modo di usare una procedura. Ci servirà il nome della procedura, seguito da
  10. una parentesi aperta, seguita da una lista di inputs.
  11. Può esserci qualsiasi numero di input, ma deve essere lo stesso numero di inputs che
  12. la procedura si aspetta.
  13. Questi input sono a volte chiamati "operandi".
  14. Altre volte sono chiamati "argomenti".
  15. Non discuteremo su questo.
  16. Li chiameremo semplicemente inputs.
  17. Hai realmente già fatto qualcosa di molto simile a questo.
  18. Nella Unit 1, hai imparato ad usare "find" su "stringhe".
  19. A "find" passeresti uno o due input.
  20. Il primo input è una "stringa".
  21. Che è la stringa che stai cercando--è il primo input--
  22. e il secondo input potrebbe essere un numero--la posizione da cui partire
  23. nella ricerca di tale stringa.
  24. Abbiamo usato "find" in molti modi nella Unit 1, così come l'hai usata
  25. da te nell'homework per l'Unit 1.
  26. "find" è un po' diversa dalla procedura che hai definito.
  27. Prima di tutto, è incorporata [built in].
  28. L'altro motivo è che, invece di avere solo "find", abbiamo
  29. un'altro input coinvolto.
  30. Abbiamo la stringa sulla quale operiamo "find", diciamo
  31. sia la variabile "page"--che è davvero un altro input a "find".
  32. Parleremo in un corso successivo del perchè questo sia diverso, ma è
  33. molto simile a chiamare una procedura dove uno degli input è implicito
  34. e gli altri due sono espliciti.
  35. E' un po' diverso da questo e non ci addentreremo oltre in questo corso ma
  36. in un corso successivo impareremo di più su cosa questo significhi realmente.
  37. Per tutte le procedure che stai definendo, non avremo nessun
  38. oggetto su cui invocarle.
  39. Avremo solo la procedura da chiamare e gli argomenti o operandi o input,
  40. come preferisci chiamarli, da passare in ingresso.
  41. Vediamo ora come ciò funziona con una semplice procedura.
  42. Definisco la procedura "restofstring" e gli daremo
  43. parametro "s", che significa che prende un input e useremo
  44. il nome "s" per riferirci al valore dell'input.
  45. Gli faremo ritornare una stringa dal primo carattere alla fine.
  46. Uiseremo l'operatore di indiczzazione della stringa "return s[1:]".
  47. Questo valuterà la "stringa", rimuovendo il primo carattere, e questo per tutte le stringhe, da
  48. posizione 1 fino alla fine della "stringa".
  49. Questo è quello che ritorniamo.
  50. Quindi l'output di "restofstring" è la stringa che parte dalla
  51. seconda lettera della stringa in ingresso.
  52. Qui c'è un esempio di come usare questa procedura.
  53. Possiamo chiamarla direttamente.
  54. Possiamo dire "print restofstring".
  55. E' la nostra procedura.
  56. Ora metteremo la nostra parentesi e passeremo un input.
  57. C'è un parametro a "restofstring", così dobbiamo
  58. passare in ingresso un input che dovrebbe essere una "stringa".
  59. Passeremo la stringa "audacity".
  60. Quello che succede quando chiamiamo la procedura, è che l'esecuzione salterà
  61. al corpo della procedura.
  62. Possiamo pensare a costa sta facendo ora l'interprete.
  63. Invece di eseguire il codice qui,l'interprete si moverà.
  64. Quando chiamiamo una procedura, salterà al codice dentro la procedura.
  65. Assegnerà ai parametri i valori passati come input.
  66. Possiamo pensare ci sia un assegnamento che dice che ora il valore
  67. "s" è il valore dell'input da passare in ingresso.
  68. Ora valuteremo il corpo della procedura.
  69. In questo caso c'è una sola istruzione--è l'istruzione di return.
  70. Troveremo che il valore in uscita è s[1:].
  71. Il risultato sarà quindi la stringa "udacity".
  72. Poi abbiamo il valore di ritorno.
  73. "return" significa che salteremo indietro.
  74. Stiamo saltando indietro a dove abbiamo chiamato la procedura, ma ora
  75. abbiamo davvero un risultato.
  76. Quando saltiamo indietro, il valore che questo valuta è qualsiasi valore
  77. abbiamo ritornato.
  78. In questo caso è la stringa "udacity".
  79. Non abbiamo la nostra auto "self--driving", ma ora puoi
  80. definire ed usare le procedure.
  81. E' un concetto davvero potente. Qualsiasi cosa faremo nel proseguo del corso e qualsiasi cosa
  82. Qualsiasi cosa faremo nel proseguo del corso e qualsiasi cosa
  83. praticamente tutti quelli che programmano computers hanno a che fare con definire
  84. procedure ed utilizzare procedure.
  85. Ora dovremmo avere un gran sorriso.
  86. Possiamo pensare alle nostre procedure in termini di mappare input e output.
  87. Possiamo pensare anche a noi umani come a una mappatura di input e output.
  88. x
  89. dalla bocca--magari anche dal naso.
  90. Non proverò a disegnare nessuno degli output della nostra procedura umana, ma dal momento
  91. che le procedure sono un concetto così importante, avremo diversi
  92. quiz ora che verificheranno che tu li abbia capiti bene.
  93. Not Synced
    Al di fuori della procedura--quando arriviamo alla riga 7--"s" è non definito.
  94. Not Synced
    Così ora stiamo provando a stampare.
  95. Not Synced
    E' un concetto davvero potente.
  96. Not Synced
    Ghiamiamo ora "t".
  97. Not Synced
    La definizione di "s" dura finchè siamo all'interno della procedura.
  98. Not Synced
    Nel corpo della procedura, il parametro "s" ha un valore che
  99. Not Synced
    Nel corpo della procedura, il valore di "s"
  100. Not Synced
    Non abbiamo la nostra auto "self--driving", ma ora puoi
  101. Not Synced
    Non proverò a disegnare nessuno degli output della nostra procedura umana, ma dal momento
  102. Not Synced
    Non è definito.
  103. Not Synced
    Ora puoi pensare che stampi "s" prima di usare il nome "s" qui.
  104. Not Synced
    Possiamo fare quello che vogliamo col risultato della procedura--come ogni
  105. Not Synced
    Possiamo pensare alle nostre procedure in termini di mappare input e output.
  106. Not Synced
    Possiamo pensare anche a noi umani come a una mappatura di input e output. Abbiamo input che vengono dagli occhi,
  107. Not Synced
    Possiamo vedere "s" mentre è in "restofstring".
  108. Not Synced
    Possiamo vedere che l'esecuzione è cominciata dalla print;
  109. Not Synced
    Quando eseguiamo ciò, quello che otteniamo è un errore.
  110. Not Synced
    Quello che voglio farvi vedere--supponiamo non chiameremo quella "s"
  111. Not Synced
    Questo è il perchè dell'errore di nome quando stampiamo il valore di "s" qui.
  112. Not Synced
    Quindi vediamo i i risultat "udacity".
  113. Not Synced
    Vedremo il "Sono qui" in "reat:of:string.
  114. Not Synced
    altra espressione in Python, così possiamo memorizzare una variabile
  115. Not Synced
    che le procedure sono un concetto così importante, avremo diversi quiz ora che verificheranno che tu li abbia capiti bene.
  116. Not Synced
    che è il risultato che abbiamo nel tabulato.
  117. Not Synced
    chiamare "restofstring", eseguire questo codice, ritornare il risultato
  118. Not Synced
    dalla bocca, magari anche dal naso.
  119. Not Synced
    definire ed usare le procedure.
  120. Not Synced
    praticamente tutti quelli che programmano computers hanno a che fare con definire procedure ed utilizzare procedure. Ora dovremmo avere un gran sorriso.
  121. Not Synced
    è passato ai corrispondenti church