SPEAKER 1: Supponiamo ora che volevo per dare la possibilità Scratch starnutire pure. Beh, il mio primo istinto sarebbe essere, come prima, per fare un blocco, chiamare questo starnuto. Preciso che mi piacerebbe precisare con un numero di quante volte Scratch dovrebbe starnutire. Successivamente fare clic su OK. Permettetemi di spostare questo verso destra per darmi un po 'più spazio. E poi mi permetta di andare di nuovo a ripetere, sovrascrivendo il valore predefinito 10 con n. Lasciatemi andare alla comunicazione voce e dire che non "ciao", ma "Achoo" per un secondo. Poi prendere un attimo di tregua. E questo è tutto. Ora ho un blocco chiamato starnuto, nonché un blocco chiamato tosse. Quindi, che ora se voglio Gratta a tossire e starnuto, posso semplicemente specificare un starnuto sotto la tosse. Tre volte, dire. Fare clic sulla bandiera verde, e dovrei vedere infatti, tosse, tosse, tosse. Seguito da achoo, achoo, achoo. I miei starnuti più realistici fino ad oggi. Ora notate qualcosa che è male per questo motivo. Anche se non ho duplicato a titolo definitivo tutti i pezzi del puzzle, I sicuramente trascinati piuttosto tanto gli stessi pezzi del puzzle, dando la funzione One una sempre leggermente nome diverso rispetto agli altri, starnuto contro la tosse. Quindi, questa è un'opportunità per factoring qualche codice comune. Infatti, notare l'unica differenza tra tosse e starnuto è quello Scratch ha detto "tosse", il altro di cui dire "achoo". Quindi non potremmo in qualche modo generalizzare questo codice in modo tale che, semplicemente Specifichiamo che parola che vogliamo per il Gratta soggiornare? E a seconda di quella parola, lo farà effettivamente essere un colpo di tosse o sarà uno starnuto. Quindi cerchiamo di andare avanti e fare questo. Facciamo una terza funzione e chiamare questo ", dice." e voglio che accettare, non solo un numero, ma questa volta una stringa, altrimenti noto come parola o frase. E chiameremo questa "parola". E cosa voglio dire? E quante volte faccio voglio dire questa parola? Beh diciamo specificare un numero, chiamando di nuovo n. E proprio per rendere questo blocco più leggibile, lasciami andare avanti e aggiungere un etichetta chiamata "tempi". Così che quando si Leggere questo blocco da sinistra a destra, si letteralmente dice "dicono volte la parola n". Ora lasciatemi andare avanti e fare clic su OK. E adesso lasciatemi implementare questo blocco, nuovamente utilizzando un blocco di ripetizione. Specificando che voglio a ripetere n volte. Precisando che voglio dire qualcosa per un secondo. Ma piuttosto che qualcosa di duro codificato in questa funzione, diamo invece trascinamento e rilasciare la parola che è stato passato dentro Andiamo quindi attendere per un secondo. E ora torniamo indietro e migliorare la mia implementazioni di starnuto e tosse, in modo che essi chiamano questo funzionamento a turno. Quindi cerchiamo di buttare via questo codice. Buttiamo via questo codice. Andiamo al mio blocco personalizzato e trascinare in "dire". E digitare l'argomento di "tosse" tre volte. E qui andiamo trascinare in "dire" "Achoo" per tre volte. Così ora lasciami andare indietro e perfezionare la mia implementazioni di tosse e starnuti, in modo tale che queste due funzioni chiamare questa terza funzione, così minimizzando la quantità di duplicare il codice. Quindi cerchiamo di buttare letteralmente questo codice di distanza. Buttiamo questo codice via. E questa volta, facciamo semplicemente specificare che tosse dovrebbe essere attuato da dire "tossire" un determinato numero n di volte. E allo stesso modo, possiamo tornare indietro e re-implementare starnuto in modo che utilizzi dire con un argomento dei tempi "achoo" n. Allora cosa abbiamo fatto? Abbiamo riconosciuto il codice che è stato comune sia per la nostra tosse e la nostra starnutire funzioni, presi fuori in una nuova terza funzione, e poi tosse riscritto e starnutire in tale un modo che essi chiamano terza e nuova funzione. Ora abbiamo assolutamente fatto tutto questo programma più complicato di quanto davvero bisogno di essere. Dopo tutto, alla fine della giornata, abbiamo solo bisogno Scratch a tossire tre volte e starnutire tre volte. E avremmo potuto fare che, con Pochi pezzi del puzzle. Ma, come i nostri programmi ottenere molto di più complicato, ei nostri programmi più sofisticata, questa tecnica di factoring out codice comune, o gerarchica decomposizione tuo programma in funzione di piccoli, ciascuno dei quali chiamare altre funzioni, è molto tecnica convincente. Perché farà in modo che il codice, anche come si arriva più complessi, rimane facile da aggiornare e anche molto leggibile. Infatti, si consideri il risultato finale. Quando la bandiera verde viene cliccato, tosse per tre volte, starnutire tre volte. E questo è tutto. In realtà, facciamo esattamente questo. Fare clic sulla bandiera verde e otteniamo una tosse, due colpi di tosse, tre colpi di tosse. Seguito da, speriamo, una volta starnutire, due starnuti, e un terzo starnuto. Spero che si rimetta presto.