ΟΜΙΛΗΤΗΣ: Είμαι [δεν ακούγεται]. Και είμαι ένας ανώτερος στο Leverett σπίτι. Έχω μελετήσει επιστήμη των υπολογιστών, και είμαι TF για CS50. Ως πρωτοετής, δεν είχα καν ένα φορητό υπολογιστή ή ένα smartphone. Δεν είχα καμία εμπειρία προγραμματισμού. CS50 ήταν η πιο αξέχαστη πορεία που Πήρα στο Χάρβαρντ, επειδή ήταν ένας αγώνας, αλλά ήταν μια πραγματικά αγώνα διασκέδαση ταυτόχρονα. Και έκανα πολλά καταπληκτικά, μόνιμες τους φίλους, και έμαθα πολλά πραγματικά εφαρμόζεται δεξιότητες. Είμαι τόσο χαρούμενος που δεν είχα αφήσει μου έλλειψη φόντο να αποτελεί δικαιολογία για μένα να μην πάρει CS50. Είμαι [δεν ακούγεται]. Είμαι ένας ανώτερος στο Leverett House, κλάση 2014. Και πήρα CS50. DAVID MALAN: Έτσι, αυτό είναι CS50. Αυτό είναι το τέλος της μηδενικής εβδομάδας. Και θυμηθεί από πού ξεκινήσαμε την τελευταία φορά, Με αυτές τις λάμπες, οι οποίες ήταν τόσο δημοφιλές που πήγαμε και αγόρασε λίγο περισσότερο σήμερα. Νομίζω λοιπόν ότι αυτό θα είναι πράγμα που μας φέτος - λάμπες γραφείου, αν ανέβει στη σκηνή, τουλάχιστον μέχρι να εξαντληθεί. Αλλά χρησιμοποιήσαμε αυτά ανάκληση, να εισαγάγει τα βασικά στοιχεία της αναπαράστασης των δεδομένων. Χρειαζόμασταν τρόπος για να ξεκινήσετε εκπροσωπούν πληροφοριών στο εσωτερικό του υπολογιστή. Και ο απλούστερος τρόπος για να γίνει αυτό ήταν με ένα συστατικό, η ηλεκτρική ενέργεια. Και το πιο απλό πράγμα που μπορείτε να κάνετε με το ηλεκτρικής ενέργειας είναι να ανάβετε και μακριά. Αφήστε τη ροή ηλεκτρονίων ή όχι. Και με αυτές τις δύο βασικές καταστάσεις, εκτός και με, ή ψευδείς και αληθινό, ή μηδέν και ένα, αρχίσαμε να βλέπουμε ότι θα μπορούσαμε να οικοδομήσουμε επάνω, στην περίπτωση αυτή, με το φως βολβοί, περισσότερους αριθμούς από ό, τι μόνο μηδέν και ένα. Μετρήσαμε τόσο υψηλές όσο επτά, για παράδειγμα, την τελευταία φορά. Αλλά το μόνο που έχουμε να κάνουμε είναι να κρατήσει τη ρίψη όλο και περισσότερο φως λαμπτήρων σε αυτό προβλήματος και, πραγματικά, μπορούμε να παριστάνουμε οποιοσδήποτε αριθμός που θα μπορούσε ενδεχομένως να θέλουν. Λοιπόν, θα μεταβεί σύντομα στη συνέχεια Τετάρτη για αυτό το byte των εθελοντών. 8 bits είναι αυτό που γενικά ονομάζουμε ένα byte, έτσι και εδώ είχαμε οκτώ εθελοντές την Τετάρτη, που συλλογικά εκπροσωπούν οκτώ bits. Και όταν τα χέρια τους πήγαν up, ήταν ένα. Και όταν τα χέρια τους ήταν κάτω, υπήρχαν μηδέν. Και είχαμε αυτά τα παιδιά καταλήξουμε σχετικά με το γιατί το στάδιο; Αυτό που είμαστε σε θέση να κάνουν με αυτή η αλληλουχία των bits; Για να δημιουργήσετε ένα αλφάβητο. Ήμασταν σε θέση να χτίσει στην κορυφή του ότι προηγούμενο μάθημα και πραγματικότητα να αρχίσει να κάνει πιο ενδιαφέρουσα πληροφορίες που είναι τουλάχιστον περισσότερο οικεία σε εμάς τους ανθρώπους. Και αυτό πρόκειται να είναι ένα επαναλαμβανόμενο θέμα σε όλη 50, αλλά και τον υπολογιστή επιστήμη γενικότερα, αυτή η ιδέα της layering, όταν, στο τέλος της ημέρα, αν πραγματικά άρχισε η βασικά με έναν υπολογιστή, ναι, είναι μηδενικά και μονάδες. Και κάτω από αυτό είναι απλά ηλεκτρικής ενέργειας. Αλλά εμείς πολύ γρήγορα να αρχίσουν να λαμβάνουν τα χαμηλού επιπέδου λεπτομέρειες δεδομένη και να αρχίσει να στρώμα πάνω του παρελθόντος λειτούργησε γίνεται έτσι ώστε να μπορέσουμε, τελικά, από το τέλος του εξαμήνου και, πραγματικά, γενικότερα ως επιστήμονες της πληροφορικής και προγραμματιστές, μπορεί να κάνει κάποια πραγματικά ισχυρά πράγματα με τη μόχλευση εργασίας ότι εμείς οι ίδιοι έχουμε κάνει, αλλά και στέκεται στους ώμους των άλλων. Τώρα έχουμε γρήγορα στράφηκαν την Τετάρτη από απλά χρειάζεται να αντιπροσωπεύουν πληροφορίες που θέλουν να κάνει κάτι με αυτό. Έτσι, αυτό που δεν ορίζουμε έναν αλγόριθμο, όπως; Μια σειρά από οδηγίες. Έτσι, είναι μια σειρά από οδηγίες, ένα αριθμό των βημάτων που έχετε, ένας άνθρωπος, ή ένας υπολογιστής, πιο τυπικά, θα εκτελέσει ένα μετά το άλλο, προκειμένου για να επιτευχθεί κάποιο γκολ. Και είχαμε σκοράρει μερικά γκολ την τελευταία φορά, ένα εκ των οποίων ήταν να μετρήσει άτομα σε ένα δωμάτιο. Και ένα άλλο τέτοιο παράδειγμα ήταν να βρεθεί Mike Smith σε ένα τηλεφωνικό κατάλογο. Έτσι, ίσως θυμάστε ότι έσκισε ένα τηλέφωνο βιβλίο στη μέση προς το σκοπό αυτό, μέχρι εύρεση Mike Smith. Ο σκοπός αυτής της οπτικής ήταν να αποδεικνύουν, και πάλι, ότι ήμασταν κυριολεκτικά σχίσιμο αυτό το πρόβλημα ήμισυ, στο μισό, στο μισό, και πολύ γρήγορα πηγαίνει από 1.000 σελίδες, όπως σε μία και μόνο σελίδα. Όσοι από εσάς που χάσατε αυτό σε Τετάρτη σκέφτηκα ότι θα παίξει πίσω μερικά πλάνα του τι χάσατε. Ας ρίξουμε μια ματιά. [PLAYBACK VIDEO] -Εκεί πάμε. 1500 σελίδες, Νίκαια καθαρή γραμμή, νόμιμο δάκρυ. [PLAYBACK VIDEO END] DAVID MALAN: Έτσι που ήταν την Τετάρτη. Εμείς μετάβαση, όμως, την Τετάρτη με την επιχειρηση να θέλουν να εκπροσωπεί αλγορίθμων κατά κάποιο τρόπο κάπως πρότυπο, όχι μόνο περιγράφοντας τους προφορικά, αλλά προσπαθώντας να τους εκφράσουν εγγράφως ή σε μια οθόνη υπολογιστή, έτσι ώστε θα μπορούσαμε να αρχίζουν να βελτιώσουμε την κατάσταση, και να τροποποιήσετε τους, και, τελικά, στην πραγματικότητα αναλύσει πόσο σωστή ή πόσο γρήγορα θα ήταν. Γι 'αυτό και εισήγαγε την έννοια του ψευδοκώδικα, το οποίο, Με άλλα λόγια, είναι αυτό; Εντάξει, τα λόγια. Ας πάμε λίγο βαθύτερα από αυτό. Αγγλικά, σίγουρα, δεν είναι παρά προς ποιο σκοπό; Οι λέξεις με τις οποίες να δημιουργήσει ή να να εκπροσωπεί αλγορίθμων. Έτσι, δεν υπάρχει κανένας γνωστός γλώσσα ως ψευδοκώδικα στον κόσμο. Είναι ακριβώς ότι, στην αγγλική γλώσσα, ή ό, τι ομιλούμενη γλώσσα σας, χρησιμοποιήστε ένα είδος βιαστική σύμβολα για να μεταφέρω μια ιδέα πολύ λακωνικά. Αλλά θα δούμε ότι, σίγουρα με ένα English ψευδοκώδικα, και αποδεικνύεται περισσότερες γλώσσες προγραμματισμού οι ίδιοι είναι παράγωγο της αγγλικής ίδια, θα διαπιστώσετε ότι υπάρχει κάποιο πρότυπο τρόποι αναπαράστασης pseudocode και Επίσης κώδικα προγραμματισμού. Έτσι, όπως μπορείτε να αρχίσετε να βλέπετε ακόμη και τα απλούστερα παραδείγματα σήμερα, συνειδητοποιούν αυτά ίδια πρότυπα θα επαναληφθεί την επόμενη εβδομάδα. Έτσι pseudocode ήταν κάποιο είδος της γλώσσας που μοιάζει με μια γλώσσα προγραμματισμού. Και το πρώτο παράδειγμα που είδαμε οπτικά γράψει ήταν αυτό. Ήταν μόνο ένα τριετές πρόγραμμα βήμα, η στόχος της οποίας ήταν να μετρήσει τον αριθμό των ανθρώπων σε ένα δωμάτιο dorm για ότι το βίντεο την Τετάρτη. Αλλά υπήρχαν μερικές ενδιαφέρουσες πτυχές του παρόντος απλό πρόγραμμα. Και αυτό θα είναι επαναλαμβανόμενα θέματα. Έτσι για εκείνους που είναι εξοικειωμένοι με αυτό, ένα, εισαγάγαμε μια μεταβλητή. Και κατά πάσα πιθανότητα ο καθένας σε αυτό το δωμάτιο είναι εξοικειωμένοι με μια μεταβλητή στο πλαίσιο της άλγεβρας. Αλλά εδώ στον προγραμματισμό, οι μεταβλητές Οι, ένα, μπορεί να είναι που ονομάζεται οτιδήποτε θέλουμε. Έχουμε ήδη με n ως μετρητής. Αλλά θα μπορούσαμε να χρησιμοποιήσουμε το μετρητή λέξη, ή, όπως θα δείτε, οι περισσότεροι κάθε φράση που θα θέλατε εφ 'όσον είναι περιγραφικό, αλλά είναι πραγματικά ακριβώς μια δοχείο αποθήκευσης. Είναι ένα κομμάτι της μνήμης, κάποιο αριθμό bits, και αυτό ποικίλλει από τον υπολογιστή, πώς πολλά κομμάτια υπάρχουν ότι συνθέτουν αυτή τη μεταβλητή. Αλλά μπορούμε να βάλουμε τις τιμές σε αυτό. Μέχρι στιγμής, έχουμε βάλει μόνο αριθμούς. Αλλά μπορούμε να βάλουμε τις πραγματικές λέξεις. Μπορούμε να βάλουμε τις σκέψεις. Μπορούμε να θέσει τις εικόνες - τίποτα, πραγματικά, μπορούμε να παριστάνουμε με μηδενικά και μονάδες, μπορούμε να βάλουμε σε Αυτό το υψηλότερο επίπεδο έννοια μιας μεταβλητής. Έτσι, αρκετά απλό εκεί. Και αυτό είναι μία γραμμή. Αλλά εμείς πολύ γρήγορα μετακινήθηκε από μία γραμμή για να κάνουν πραγματικά κάτι με αυτή τη μεταβλητή. Και στη γραμμή τρία, θα ενημερώνεται Εμείς N. αυξάνεται N. Και θα μπορούσαμε να γράψουμε αυτό οποιοδήποτε αριθμό από τρόπους. Αλλά ίσως η πιο προφανής είναι απλά να πω, που ισούται με N Όποια και αν N είναι συν 1. Έτσι που ήταν προσαύξηση μας. Εν τω μεταξύ, υπήρξε ένας βρόχος. Και αυτό, επίσης, είναι πιθανόν να αρκετά έξυπνο. Ένας βρόχος είναι μόνο κάτι σε ένα πρόγραμμα αυτό συμβαίνει ξανά και ξανά, μερικές το είδος του κύκλου. Και αυτή η φράση κλειδί εδώ, για το καθένα, είναι πραγματικά πολύ κοινά σε ολόκληρη την πιο γλώσσες προγραμματισμού, συμπεριλαμβανομένων των αυτά που θα δούμε στην πορεία. Κάθε φορά που βλέπετε τη λέξη, αυτό συνήθως μεταφέρει την ιδέα ότι ένας βρόχο, κάτι κυκλική, πρόκειται να συμβεί. Αλλά αξίζει να σημειωθεί ένα άλλα συντακτική λεπτομέρεια. Το γεγονός ότι η τρίτη γραμμή είναι πραγματικά εσοχή από ότι χτύπησε το χώρο μπαρ μερικές φορές είναι σκόπιμη. Επειδή η ανθρώπινη σύμβασης είναι τέτοια ώστε, όταν κάνεις κάτι ξανά και και πάλι, σε έναν βρόχο, που άρχισε στη γραμμή δύο, Σας περίπτωση κάτι που ανήκε σε αυτό το βρόχο μόνο για να καταστεί σαφές ότι Είναι γραμμή τρία και όχι, για παράδειγμα, line τέσσερις ή πέντε, αν υπήρχαν γραμμές ή πέντε, που είναι μέρος που βρόχους. Έτσι, αυτή η απλή εσοχή μεταδίδει ότι η βασική ιδέα. Έτσι εφαρμόσαμε τον αλγόριθμο, τώρα, σε μερικά παραδείγματα. Και αυτό, επίσης, απλό παράδειγμα στον πραγματικό κόσμο. Αλλά πρόκειται να είναι αντιπροσωπευτική της πώς θα πάει για τη δοκιμή σας κατέχουν όλο και πιο πολύπλοκα προγράμματα. Μπορείτε να δοκιμάσετε μερικά σενάρια, μερικά εκπροσώπους των εισροών, και δείτε αν μπορείτε να πάρει τα επιθυμητά αποτελέσματα. Έτσι, αυτό το παράδειγμα είχαν δύο άτομα κάθεται στο δωμάτιο της εστίας. Στα αριστερά είναι η ίδια ψευδο κώδικα. Και αυτό είναι ένα στιγμιότυπο οθόνης του πολύ τελευταίο στάδιο της εφαρμογής της παρούσας αλγόριθμο σε αυτές τις εισροές, όπου υπάρχει ήταν δύο άτομα στο δωμάτιο και, υπομνησθεί ότι, όπως εμείς το βήμα μέσα από τις γραμμές ενός, και δύο, και τρεις και δύο και τα τρία και να γίνει - μέχρι το τέλος του εν λόγω αλγορίθμου, είχαμε μάλιστα συνυπολογιστούν και οι δύο συνεργάτες που είναι στο δωμάτιο. Έτσι, έπειτα προσπαθήσαμε άλλο ένα παράδειγμα. Και είπαμε τι εάν υπάρχουν μηδέν άτομα σε ένα δωμάτιο; Είναι αυτός ο κώδικας εξακολουθεί να ισχύει; Και πράγματι ήταν. Συμβαίνει ακριβώς έτσι ότι η γραμμή δύο και, ως εκ τούτου, γραμμή τρεις ή δεν πρόκειται να εκτελέσει. Δεν πρόκειται να συμβεί σε όλους επειδή είναι απλώς να μην εφαρμόζεται αν υπάρχει μηδενική άτομα σε ένα δωμάτιο. Αλλά δεν είναι μια μεγάλη υπόθεση. Γραμμή ένα προετοιμαστεί Ν στο μηδέν, οπότε ακόμη και αν μόνο μια γραμμή αυτή πρόγραμμα τελειώνει πραγματικά να είναι χρήσιμη, αποδίδει ακόμα τη σωστή απάντηση, όπως υποδεικνύεται από το πορτοκαλί μηδέν στο κάτω μέρος. Στη συνέχεια, όμως αποφασίσαμε ότι ήταν το είδος της μια ηλίθια αλγορίθμου. Ήταν αρκετά αργή. Σίγουρα, μπορώ να κάνω δύο, τέσσερις, έξι, οκτώ, δέκα, όταν καταμέτρηση άτομα σε ένα δωμάτιο. Γι 'αυτό και tweaked τον αλγόριθμο, το ψευδοκώδικα, να πω, είναι τώρα στη γραμμή δύο, για κάθε ζεύγος ατόμων στο δωμάτιο, προχωρήσει σε, σύμφωνα τρεις, αύξηση Ο δύο σε κάθε επανάληψη. Έτσι, που θα έχουν εργαστεί εδώ για αυτό το ζευγάρι των ατόμων σε ένα δωμάτιο. Στη συνέχεια, όμως, αν αρχίσουμε να σκεφτόμαστε αυτό, και δεν άργησε να συνειδητοποιούν, περιμένετε ένα λεπτό αυτό είναι πρόκειται να σπάσει, σπάει σε ό, τι απλή υπόθεση; Αν υπάρχουν τρία άτομα στο δωμάτιο ή, γενικότερα, όταν υπάρχει μια μονός αριθμός των ατόμων στην δωμάτιο, συμπεριλαμβανομένου ενός. Θα χάσετε το πρόσωπο εδώ γιατί δεν υπάρχουν τέτοια ζεύγη. Γι 'αυτό και γρήγορα αντιμετωπιστεί με αντί εισάγοντας ποια πρόσθετα προγραμματιστικές δομές στην ψευδο κώδικα. Έτσι, μια κατάσταση, καλέσαμε αυτό, ή ένα υποκατάστημα. Και είναι γραφτό να μεταφέρω, οπτικά, το η ιδέα του υποκαταστήματος, μια διακλάδωση του δρόμου όπου μπορείτε να το κάνετε αυτό είτε ή, ίσως, και κάτι άλλο. Και πράγματι, έχουμε αντιμετωπίσει το θέμα αυτό από προσθέτοντας γραμμή 4, λέγοντας, πραγματικά, σε το τέλος, αν ένα άτομο παραμένει, στη συνέχεια, να προχωρήσει και να μετρήσει τους ειδικούς. Έτσι ταξινομήσετε ειδικών περιπτώσεων αυτών, ώστε να μιλήσει, έτσι ώστε σήμερα να μπορούμε να χειριστούμε τόσο ένας άρτιος αριθμός των ατόμων και περιττό αριθμό ατόμων. Τώρα υπάρχουν πολλοί τρόποι θα μπορούσαμε να είχαμε εκφράσει αυτό. Και ειλικρινά, θα μπορούσα να έχω πάει ακόμη πιο nit επιλεκτικοί όταν ήρθε στην επιλογή μου Αγγλικά για το ψευδοκώδικα. Αλλά τουλάχιστον το πνεύμα της η ιδέα μεταφέρεται. Εάν παρέδωσε τον κωδικό αυτό σε ένα φίλο που δεν είναι σε CS, ή δεν έχει λάβει CS, οι πιθανότητες είναι ότι θα μπορούσε να το καταλάβω, δίνεται τρία άτομα σε ένα δωμάτιο, πώς να μετρήσει αυτούς τους ανθρώπους που βασίζονται σε αυτές τις οδηγίες. Και αυτό είναι όλα πραγματικά θέλουμε να επιτύχουμε με ψευδοκώδικα, κατά κάποιο τρόπο τυποποίηση πώς θα πάμε για ιδεών που αντιπροσωπεύουν, έτσι ώστε να μπορούμε αρχίζετε να κάνετε πιο περίπλοκα πράγμα ακόμα. Έτσι, αυτό μας οδηγεί στη συνέχεια, σήμερα, σε πραγματικό κώδικα. Αρχίζουμε με το σημερινό πρόγραμμα, αν και σε ένα φιλικό περιβάλλον. Και τότε έχουμε μετάβαση πολύ γρήγορα μια πιο απόκρυφες σύνταξη, αλλά αυτό που θα δείτε, είναι ουσιαστικά το ίδιο με το οι ιδέες θα δει να εκδηλώνονται με αυτή η άλλη γλώσσα σήμερα. Είναι ακριβώς πρόκειται να δούμε λίγο διαφορετική. Έτσι, αντί να καλέσετε μόνο τον κωδικό αυτό, είμαι πρόκειται να είναι λίγο πιο ακριβή και να πω, πλέον, όταν γράφετε ένα πρόγραμμα, είστε γραπτώς τον πηγαίο κώδικα. Είναι κάτι σαν ψευδοκώδικα. Αλλά θα δείτε ότι δεν είναι το είδος της χαλαρής όταν πρόκειται για την επιλογή των λέξεων που χρησιμοποιείτε. Όταν προγραμματισμού σε μια γλώσσα, έχετε να χρησιμοποιήσει τις λέξεις, οι φράσεις, η σύνταξη, ότι οι άλλοι άνθρωποι έχουν αποφασίσει αντιπροσωπεύουν ότι η συγκεκριμένη γλώσσα. Έτσι pseudocodes είναι στο χέρι σας. Μια πραγματική γλώσσα προγραμματισμού, όπως C, όπως θα δούμε τελικά, είναι τυποποιηθεί από άλλους ανθρώπους. Επομένως, πώς θα πάμε για το γράψιμο κάποια πηγαίο κώδικα; Καλά είμαι πρόκειται να πάει μπροστά και να το κάνουμε αυτό. Πάω να προχωρήσει και ανοίξει ένα παράθυρο εδώ. Περισσότερα την επόμενη εβδομάδα. Αλλά αυτό είναι μια συσκευή που ονομάζεται η CS50 συσκευή. Τρέχω ένα κομμάτι του λογισμικού μου Mac, αν και μπορείτε να κάνετε το ίδιο πράγμα σε έναν υπολογιστή με Windows, η οποία δίνει με την ψευδαίσθηση χρησιμοποιεί διαφορετική λειτουργικό σύστημα εντελώς δεξιά εδώ σε ένα παράθυρο στο Mac μου. Έχω ακριβώς την πλήρη διαλογή, ώστε να μην πραγματικά να δείτε Mac OS αυτή τη στιγμή. Αυτό είναι ένα λειτουργικό σύστημα που ονομάζεται Linux. Είναι πολύ δημοφιλής. Είναι πολύ γρήγορα. Είναι πολύ ελεύθερη, η οποία έχει καταστήσει πολύ συναρπαστικό, ειδικά στην εμπορικό κόσμο. Και περισσότερο από ότι προς το τέλος της εξάμηνο όταν χρησιμοποιούν το Linux αρκετά ένα κομμάτι για web προγραμματισμό και φιλοξενία πραγματικές ιστοσελίδες και τα έργα. Έτσι τώρα, απλά να ξέρετε ότι αυτό είναι ένα desktop Αυτό είναι γραφτό να δούμε αόριστα εξοικειωμένοι με τα Windows και Mac OS. Έχει μόνο μερικά διαφορετικά ονόματα και τα εικονίδια για τα πράγματα. Αλλά αυτό είναι η λεγόμενη CS50 συσκευής, μια εικονική μηχανή που, αρχίζει την επόμενη εβδομάδα, εσείς θα τρέξει μέσα από ένα παράθυρο το δικό Mac ή το PC σας. Για σήμερα, Πάω να ανοίξει το απλούστερο των προγραμμάτων. Λέγεται gedit. Και αυτό είναι μόνο ένα πρόγραμμα επεξεργασίας γραφικών. Είναι κάτι σαν Microsoft Word, αλλά απλό. Είναι κάτι σαν κείμενο Επεξεργασία ή σημειωματάριο. Είναι απλά ένα πολύ απλό πρόγραμμα με ποια να γράψουν τις λέξεις που εμφανίζονται στην οθόνη. Είναι ακριβώς έτσι συμβαίνει ότι αν αποθηκεύσετε αρχεία που έχω δημιουργήσει, όταν αυτό το πρόγραμμα σε μια ειδική επέκταση, όπως. c, αντί της. doc ή. xls, ή οτιδήποτε άλλο είστε εξοικειωμένοι με, μπορώ πραγματικά να δημιουργία προγραμμάτων που χρησιμοποιούν ακόμα και αυτό το απλό επεξεργαστή κειμένου. Έτσι, επιτρέψτε μου να το κάνουμε αυτό. Επιτρέψτε μου να πάμε μπροστά και να σώσει αυτό το αρχείο πρώτα ως hello.c. Και πάλι, αυτή η διεπαφή χρήστη θα γίνονται γνωστά σε σας γρήγορα. Αλλά για τώρα, είμαι απλά πληκτρολογώντας σε ένα όνομα αρχείου. Πάω να το αποθηκεύσετε σε John μου Harvard σελίδα καταλόγου. Και τώρα έχω αυτήν την καρτέλα που δείχνει Είμαι πράγματι επεξεργασία ένα αρχείο που ονομάζεται hello.c. Έτσι, τίποτα δεν είναι πολύ ενδιαφέρουσα ακόμα. Και τώρα πρόκειται να πάρει αρκετά αινιγματικός. Πάω για μεγέθυνση, απλά έτσι ώστε να είναι πιο ορατή. Και Πάω να αρχίσετε να πληκτρολογείτε περιλαμβάνουν stdio.h, int main, κενό, σγουρή τιράντες, ένα, δύο, τρεις, τέσσερις χώρους της εσοχής, στ εκτύπωσης, για εκτύπωση κάτι σχηματοποιημένα, unquote απόσπασμα, "Hello, World" backslash, n, κοντά απόσπασμα, κλειστή παρένθεση, τελεία, εισάγετε backspace, backspace, backspace, backspace, έκλεισε άγκιστρο - Έχω προγραμματίσει. Εντάξει, έτσι αυτό είναι μια εξαιρετικά απλή πρόγραμμα, πραγματικά, το πρόγραμμα που ο καθένας ξεκινά τον προγραμματισμό με. Και το μόνο που κάνει, για όλη την πολυπλοκότητά της, η εκτύπωση σχετικά με την οθόνη, μάντεψε τι; Γεια σας κόσμο. Αλλά δεν αρκεί μόνο Να γράψετε ένα πρόγραμμα. Έτσι, αυτό είναι ο κωδικός. Αυτό είναι σε πηγαίο κώδικα μια γλώσσα που ονομάζεται c. Είναι αποθηκεύονται σήμερα ένα αρχείο που ονομάζεται hello.c. Τώρα κοιτάξτε στο κάτω μέρος της οθόνης εδώ. Περισσότερα για το θέμα αυτό, και πάλι, σε οι εβδομάδες που έρχονται. Αλλά αυτό είναι ό, τι θα καλέσουμε ένα παράθυρο τερματικού. Είναι μια αναβοσβήνει, μαύρο και το λευκό εντολών. Είναι το είδος του ένα παλιό interface σχολείο για να ένας υπολογιστής που γενικά δεν χρησιμοποιήσετε το ποντίκι ή άλλη γραφικά στοιχεία. Χρησιμοποιεί μόνο το πληκτρολόγιο σας. Και μπορώ να πληκτρολογήσετε εντολές σε Αυτό αναβοσβήνει εντολών. Και για τους σκοπούς του σήμερα, είμαι απλά πρόκειται να πληκτρολογήσετε τα ακόλουθα - κάνει γεια. Και αυτό το πρόγραμμα, να κάνει, είναι απλά μια πρόγραμμα που, στον πραγματικό κόσμο, αυτές ημέρες, θα διπλό κλικ στο. Αλλά σε αυτό το interface για σήμερα, είμαστε πρόκειται να πληκτρολογήσετε το όνομά του σε αυτή την ερώτηση. κάνει γεια είναι κυριολεκτικά πρόκειται να μου κάνει ένα πρόγραμμα που ονομάζεται γεια. Και πρόκειται να το πράξουν με την εξέταση για ένα αρχείο, μόνο από default, που ονομάζεται hello.c. Είναι πρόκειται να αναλάβει Θέλω ένα πρόγραμμα C από τη φύση του πώς αυτός ο υπολογιστής έχει ρυθμιστεί. Έτσι προχωρήστε και πατήστε enter. Βλέπω κάποια αινιγματικά παραγωγής, αλλά αυτό θα γίνει πολύ εξοικειωμένοι πριν από καιρό. Αυτό συνέβη για να τρέξει ένα compiler, πιο για αυτό σε μια στιγμή, που ονομάζεται Clang. Αλλά τώρα, έχω ακριβώς μια άλλη αναβοσβήνει εντολών. Και μπορώ να προχωρήσει τώρα και πληκτρολογήστε dot κάθετος, για πληκτικός λόγους που θα επανέλθω την επόμενη εβδομάδα - γεια. Έτσι, όλη η προσπάθεια αυτή μέχρι στιγμής μόνο για να γράψτε το απλούστερο των προγραμμάτων που, μόλις πατήσω το enter, το κάνει αυτό. Έτσι έχω γράψει το πρώτο μου πρόγραμμα. Έτσι είμαι σπρώχνει σκόπιμα διασκέδαση σε αυτό το πολύ απλό πρόγραμμα για δυο λόγους. Ένα, είναι δύσκολο να πάρετε ενθουσιασμένος για τη λήψη μια τάξη, αν Αυτό είναι το παιχνίδι τέλος. Αλλά περισσότερο από αυτό, υπάρχει ένα Πολλοί περισπασμούς εδώ. Η πρώτη φορά που θα μάθετε για το πρόγραμμα, για όσοι από εσάς λιγότερο άνετα, και ακόμα και εγώ, πίσω στην ημέρα, όταν για πρώτη φορά είδε κάτι σαν αυτό - μπορείτε να το είδος του σχήματος που, εντάξει, αυτό βρίσκεται σε μια εκτύπωση hello world. Αλλά υπάρχει τόσο πολύ απόσπαση της προσοχής. Υπάρχουν τόσα πολλά σύνταξη στην οθόνη που παίρνει με τον τρόπο του πολύ απλό, αλλιώς απλά, ιδέες. Λοιπόν, τι θα πάμε να κάνουμε σήμερα είναι ότι είμαστε πρόκειται να βάλει στην άκρη C και να έρθουν πίσω σε εκείνη τη Δευτέρα. Και θα πάμε να χρησιμοποιήσετε ένα γραφικό γλώσσα προγραμματισμού Scratch. Αυτό είναι μια γλώσσα προγραμματισμού, που έχω υπαινίχθηκε την Τετάρτη, που πρόκειται για να μας επιτρέψει να κάνουμε το ίδιο είδος της ουσίας αλλά κλείνουμε τα μάτια, για σήμερα, με τα άγκιστρα, οι παρενθέσεις, τα ερωτηματικά, και όλα αυτά τα ηλίθια περισπασμούς που παίρνουν με τον τρόπο, Αυτή η πρώτη ημέρα, για κάποια βασικά, αρκετά ενδιαφέρουσες ιδέες. Έτσι, προς το σκοπό αυτό, είμαι πρόκειται να πάει πίσω στην επιφάνεια εργασίας μου εδώ και σας παρουσιάσουμε την εναλλακτική λύση σε αυτό πρόγραμμα, το οποίο πρόκειται να δούμε ένα κάτι το φως αυτό. Αυτό είναι το πώς θα πάμε να εφαρμόσει η ίδιο πρόγραμμα σήμερα - δύο παζλ κομμάτια που, όταν συμπλέκονται και κάνετε κλικ επάνω, θα πουν στον κόσμο, hello world. Οπότε ας πάει πραγματικά εκεί. Έτσι, Πάω να προχωρήσει και να ανοίξει ένα ιστοσελίδα είναι γνωστή ως scratch.mit.edu. Και αυτό θα οδηγήσει μου αυτή την ιστοσελίδα εδώ. Στην εκ των προτέρων, έχω συνδεθεί σε αυτό ιστοσελίδα και τα πρώτα προβλήματα που θα σας καθοδηγήσει μερικά από αυτά τα βήματα. Πάω να προχωρήσει και κάντε κλικ στο φάκελο μηδέν μου εδώ. Και αυτό πρόκειται να μου δείξει ορισμένα έργα που έχω στην πραγματικότητα που δημιουργείται εκ των προτέρων. Και αποδεικνύεται ότι αυτό το γραφικό γλώσσα προγραμματισμού, όχι μόνο θα να μας πρόγραμμα με το σύρσιμο και ρίψη αυτά τα κομμάτια του παζλ, θα Δεν χρειάζεται καν ειδικό λογισμικό. Είναι όλα ενσωματωμένα σε ένα πρόγραμμα περιήγησης, ώστε ότι μπορείτε να το κάνετε αυτό, στη θεωρία, στην υπολογιστές σας τώρα, όπως κάποιοι από εσάς μπορεί να είναι, χωρίς καν να χρειαστεί λογισμικού, όπως τη συσκευή CS50, η οποία θα έρθει την επόμενη εβδομάδα. Έτσι, Πάω να πάει μέχρι την επάνω γωνία εδώ και κάντε κλικ στο Δημιουργία. Και σε μια στιγμή είμαι πρόκειται να πάρει ένα κενό οθόνη μέσω της οποίας μπορώ να ξεκινήσω προγραμματισμό σε αυτό το γραφικό το περιβάλλον προγραμματισμού. Αλλά αυτή τη φορά, πρόκειται να είναι πολύ, πολύ πιο απλό να το πράττει. Έτσι, σε μια στιγμή, όταν το Wi-Fi συνεργάζεται, τώρα έχουμε αυτή την οθόνη. Έτσι, μια γρήγορη λεκτική περιοδεία, αλλά τολμώ να πω, Σίγουρα όταν θα βουτήξει το πρώτο σετ πρόβλημα, θα βρείτε αυτό το πολύ προσιτή και αρκετά έξυπνο. Αλλά ας δίνουν μια διανοητική εικόνα για μια στιγμή. Έτσι, κάτω από αυτό το μήνυμα Save λέγοντας αλλαγές, είστε έτοιμος να δείτε το μηδέν. Αυτό είναι ένα ξωτικό. Είναι ένας χαρακτήρας. Και ζει για το τι θα καλέσουμε ένα στάδιο, αυτό το μεγάλο λευκό ορθογώνιο στο το οποίο μπορεί να κινηθεί προς τα επάνω, κάτω, αριστερά, δεξιά, και να κάνει, πραγματικά, Λοιπά είδη δράσεων. Εν τω μεταξύ, στη μέση αυτού του χρήστη interface, έχουμε ένα σωρό κομμάτια του παζλ. Και θα δείτε ότι λένε τα πράγματα όπως κινηθεί 10 βήματα, γύρισε 15 μοίρες, σημείο σε μια ορισμένη κατεύθυνση. Αλλά υπάρχουν κατηγορίες μπλοκ μέχρι εδώ. Έτσι, αν πάω στην εμφάνιση, θα δείτε ότι υπάρχει άλλη κομμάτια του παζλ που προφανώς θα πει αυτό cit να πω γεια, να σκεφτεί, να δείξει τον εαυτό του, να κρυφτεί. Αν πάω κάτω στο Ήχοι, αποδεικνύεται υπάρχει τρόπους για να παίξετε ακούγεται σαν νιαούρισμα, να σταματήσει όλους τους ήχους, για να παίξει ένα τύμπανο. Έτσι, τα πολυλογώ, υπάρχει ένα ολόκληρο μάτσο κομμάτια του παζλ που σας επιτρέπουν να πει αυτή η γάτα, ή οποιοδήποτε αριθμό των άλλους χαρακτήρες, τι να κάνω. Αλλά για να συμβεί αυτό σε όλους σας Πρέπει να αρχίσει ο προγραμματισμός. Και αυτό το μεγάλο άσπρο κουτί, ή γκρι πλαίσιο, για η δεξιά πλευρά, αυτό είναι όπου Πάω να πραγματικά να μεταφέρετε και να drop τα κομμάτια του παζλ. Αυτό είναι κενό κείμενο μου ισοδύναμο παράθυρο. Έτσι, Πάω να προχωρήσει και κάντε κλικ Έλεγχος στη μέση. Ή μάλλον, επιτρέψτε μου να ξεκινήσω up στην κατηγορία Εκδηλώσεις. Σύμφωνα Εκδηλώσεις πάγκο, θα παρατηρήσετε ένα μερικά πράγματα που είναι εσκεμμένα καμπυλώνεται στην κορυφή κατά τέτοιο τρόπο ώστε πιθανώς δεν αλληλοσυνδέονται σχετικά με την πάνω από τα κομμάτια του παζλ. Και αυτό επειδή αποσημαδεύει την έναρξη ενός προγράμματος, η αρχή μιας script, να το πω έτσι. Έτσι, αν πάω μπροστά και να σύρετε, όταν είναι πράσινες σημαία κλικ εδώ, και στη συνέχεια θα θέλουμε αυτή η γάτα να πω κάτι από την πρώτη. Έτσι, Πάω να πάει κάτω τα βλέμματα του πίνακα. Και Πάω να πάει μπροστά και να αρπάξει το πω γεια μπλοκ, και drag και drop, και να αφήσει να πάει, έτσι ώστε αυτόματα αλληλεμπλέκεται εκεί. Και στη συνέχεια, παρατηρήστε μπορώ κλικ στο κείμενο. Και μπορώ να παρακάμψετε να είναι πιο ειδικά όπως, ας πούμε, hello world. Και τώρα έχουμε το πρόγραμμα που έχω αυτή την αξίωση είναι ισοδύναμο με εκείνο πολύ πιο απόκρυφες πρόγραμμα που υλοποιείται σε C πριν από λίγο. Αν πάω πάνω από τώρα στην αριστερή πλευρά, παρατηρήσετε ότι υπάρχει ένα μεγάλο σημάδι στάσεων και μια μεγάλη πράσινη σημαία. Επιτρέψτε μου να μεγεθύνετε για λόγους σαφήνειας. Και όταν κάνω κλικ τώρα αυτή την πράσινη σημαία, μπορείτε να μαντέψετε τι είναι αυτό το πρώτο το πρόγραμμα είναι τώρα πρόκειται να κάνουμε. Έτσι εκεί, επίσης, είμαστε προγραμματισμό, αλλά δεν είμαστε πραγματικά να πάρει τέλμα σε μερικές από αυτές συντακτικά, μικρές λεπτομέρειες. Αλλά ας δοκιμάσουμε κάτι το λίγο πιο ενδιαφέρουσα. Επιτρέψτε μου να πάω στο φάκελο Scratch μου εδώ. Και στην πραγματικότητα, επιτρέψτε μου οπότε επιτρέψτε μου να ανοίξει ένα ξεχωριστό πρόγραμμα εδώ μόνο για ένα στιγμή, Μεγιστοποιήστε το παράθυρο, το αρχείο Open, και πάω να μπω σε σημερινή πηγαίο κατάλογο. Όπως πάντα, θα βρείτε, σήμερα και περαιτέρω, ότι όλα τα παραδείγματα σήμερα είναι προσβάσιμα μέσα ιστοσελίδα του μαθήματος. Και Πάω να προχωρήσει εδώ και πάρτε μέχρι λίγο κάτι διαφορετικό. Αυτός εδώ, για το οποίο Χρειάζομαι έναν εθελοντή. Ποιος θα ήθελε μια λάμπα γραφείου σήμερα; Εντάξει, πώς για κάποιον που είναι λίγο - Είστε στο τέλος; Ελάτε κάτω. Τώρα, θα θέλατε να συμμετέχετε, ή απλώς να πω ξεκινήσει με το επιτραπέζιο φωτιστικό; VANESSA: [δεν ακούγεται]. DAVID MALAN: OK. Εξαιρετικό, τι είναι το όνομά σας; Vanessa; David. Χάρηκα για τη γνωριμία. Έτσι, έλα και της Vanessa πρόκειται να αναλάβει τον έλεγχο της μου πληκτρολόγιο για μια στιγμή. Και αυτό που έχω κάνει εδώ, μόνο για το χρόνο του λόγους, όπως έχω συνειδητοποιήσει το Wi-Fi ήταν λίγο αργή, Scratch, η το περιβάλλον προγραμματισμού που είμαστε χρήση, μπορούν επίσης να κατεβάσουν και να τρέχει στον τοπικό υπολογιστή σας. Έτσι αυτό που έκανα πριν από διάλεξη, στο περίπτωση που συμβεί, είναι Κατέβασα όλα τα αρχεία που είμαστε για να παίξει με έτσι ώστε να μπορεί να τρέξει λίγο περισσότερο γρήγορα εδώ στο laptop μου. Έτσι, γι 'αυτό τώρα βλέπω ένα Mac ειδικό interface. Έτσι, Πάω να προχωρήσει και να ανοίξει αυτό. Πάω να προχωρήσει τώρα και πλήρη οθόνη το παράθυρο. Και όπως θα δείτε, μπορούμε πολύ γρήγορα, καθώς αυτό έκανε σπουδαστή, ένα από τα προκατόχους σας, πηγαίνετε από το hello world σε ένα πολύ πιο συναρπαστικό αίτησης. Τόσο εδώ είναι οι οδηγίες. Α, και έχουμε ένα άλλο πράγμα. Σκέφτηκα ότι θα ήταν διασκεδαστικό, δεδομένου ότι, Κανονικά, θα πρέπει να γυρισμάτων κάμερες με αυτόν τον τρόπο. Σκέφτηκα ότι θα ήταν διασκεδαστικό αν, Vanessa, θα μπορούσαμε να δούμε τον κόσμο μέσα από τα μάτια σας. Έτσι, εδώ έχουμε κάποια Google Glass. [Έκπληκτος λαχανιάζει] DAVID MALAN: Εμείς θα πρέπει να δίνει μακριά λάμπες γραφείου σήμερα. [Γέλια] Επιτρέψτε μου λοιπόν σύνθημα αυτό επάνω. Εντάξει, έτσι ώστε να αγγίξει αυτό. Εντάξει, γυαλί, εγγραφή βίντεο. Εντάξει, Vanessa; Τώρα, ως μέρος ότι έχει πήρα τίποτα να κάνει με το Scratch, αν κοιτάξετε ελαφρώς πάνω και προς τα δεξιά, θα δείτε η γραμματική γυαλί, και θα πρέπει να δείτε ένα μικρό ορθογώνιο παράθυρο. Θα πρέπει να δείτε όλοι οι συμμαθητές σας που γυρίστηκε τώρα; Ναι. VANESSA: Ναι. DAVID MALAN: OK. Έτσι, αυτό είναι εντάξει. Θα κυκλοφορήσει αυτό το βίντεο αργότερα. Προς το παρόν, να στρέψουμε την προσοχή σας στην οθόνη εδώ. Και ό, τι ο προκάτοχός σας έχει κάνει είναι βάλει κάποιες οδηγίες που εμφανίζονται στην οθόνη απλά χρησιμοποιώντας ένα πρόγραμμα ζωγραφικής. Έτσι θα πάμε να, σε μια στιγμή, πατήστε το πλήκτρο διαστήματος για να ξεκινήσει. Και στη συνέχεια, ορισμένα κομμάτια του παζλ θα να αρχίσει να κινείται μέχρι την οθόνη. Και θέλετε να χτυπήσει τα βελάκια, απλά Όπως και στην πραγματική DDR, σύμφωνα με τα πράγματα παράταξη με τις εν λόγω βέλη. VANESSA: OK. DAVID MALAN: Έχετε παίξει αυτό πριν. VANESSA: Ναι. DAVID MALAN: Εντάξει, Vanessa, να προχωρήσει και να το μεταφέρει αλλού. [MUSIC - Kayne WEST, "Stronger"] [Χειροκρότημα] DAVID MALAN: Ας τώρα κάνουμε ένα βήμα από αυτό. Έτσι, σαφώς, αυτό είναι το παιχνίδι τέλος. Το παιχνίδι τέλος δεν είναι hello world. Αλλά εσείς δεν χρειάζεται να έχουν οπωσδήποτε πράγματα που είναι τόσο διαδραστικό. Μπορείτε επίσης να κάνετε animation. Έτσι, για παράδειγμα, ένα άλλο από σας διαδόχους έκανε αυτό το πρόγραμμα εδώ, που αφηγείται μια ιστορία περισσότερο από ό, τι αυτό δεν υλοποιηθεί ένα παιχνίδι. Έτσι, επιτρέψτε μου να πάει μπροστά και να ανοίξει εδώ ένα το πρόγραμμα κατά τον ίδιο πηγαίο κατάλογο μας από σήμερα. Η μία κλήση, και ας αρχίσουμε με, μια ιστορία αγάπης μπισκότων. Και για να μην κάνουν αυτό το πολύ ακαδημαϊκό, αλλά και, όπως μπορείτε να παρακολουθήσετε αυτό το ένα, ότι για να τον εαυτό σας ποια από αυτά τα απλά έννοιες του προγραμματισμού έχουμε μιλήσει περίπου μέχρι σήμερα - μεταβλητές, και loops, και τις συνθήκες, έκανε ο προκάτοχός σας κατά πάσα πιθανότητα χρησιμοποιούν μόνο για την εφαρμογή ορισμένων από οι απεικονίσεις. Μπορείτε να δείτε εδώ. Έτσι, μπορώ να σας δώσω μια ιστορία αγάπης μπισκότων. [MUSIC - GREEN DAY, "HOLIDAY"] [CRASH] [MUSIC - τις χελώνες, "Ευτυχισμένοι Μαζί"] DAVID MALAN: Εντάξει, ώστε εκεί, είχαμε μια ιστορία αγάπης μπισκότων. Αλλά ακόμη και εκεί - [Χειροκρότημα] DAVID MALAN: Εντάξει, ακόμα και εκεί, σκεφτούμε, όπως οι καρδιές πήγαν από τον πυθμένα προς την κορυφή της οθόνης, στην πραγματικότητα, υπήρξε ένα κομμάτι της τυχαιότητα συμβαίνει. Και πράγματι, θα δούμε ότι ακόμα και στην απλούστερη περιβάλλοντα, όπως Scratch, όπως και στην C, μπορείτε να δημιουργήσετε τυχαίων αριθμών, ή η ψευδαίσθηση της τυχαίων αριθμών, έτσι ώστε το παιχνίδι είναι ένα λίγο πιο ενδιαφέρουσα από ό, τι θα μπορούσε να είναι, αν δεν είχε απολύτως σκληρό κωδικοποιούνται τα πάντα. Στην κίνηση που βλέπετε, υπάρχουν υπάρχει κάποιο είδος της ανταπόκρισης. Μόλις το μελόψωμο άνθρωπος αγγίζει The Gingerbread γυναίκα, φαίνεται να κινείται μακριά. Και έτσι, πράγματι, μπορείτε να εφαρμόσουν, σε περισσότερες γλώσσες προγραμματισμού, η έννοια των γεγονότων, σύμφωνα με την οποία αν κάποιος αγγίζει το χέρι Από την άλλη πλευρά, που μπορεί να προκαλέσει κάποια του πηγαίου κώδικα σας πράγματι εκτελέσει. Μπορείτε να ακούσετε για την εν λόγω τα πράγματα στην οθόνη. Έτσι, ας ρίξουμε μια γρήγορη περιήγηση, τότε, ορισμένα από τα δομικά στοιχεία μπορούμε να χρησιμοποιήσουμε για την επίτευξη ορισμένων από τους στόχους αυτούς. Έτσι, εδώ είναι που θα πλέον καλέσει μια δήλωση. Μια δήλωση που συμβαίνει να είναι μοβ Scratch, λίγο κάτι σαν αυτό, αλλά αυτό είναι αυθαίρετο. Μια δήλωση είναι απλώς ένα κομμάτι του παζλ ή, γενικότερα, μια εντολή, ότι λέει ο υπολογιστής να κάνει κάτι, μια δήλωση. Έτσι, εδώ είναι ένα απλό δείγμα. Say hello world. Ένας άλλος θα μπορούσε να περιμένει ένα δευτερόλεπτο. Έτσι, αυτό το κομμάτι του παζλ, το οποίο υποστηρίζεται στο Scratch, θα αφήσουμε σας χαρακτήρες παύση για μερικά αριθμό των δευτερολέπτων. Αυτό, επίσης, είναι απλώς μια δήλωση. Εδώ δίπλα, έχουμε μια άλλη πιο ενδιαφέρουσα, παιχνίδι νιαούρισμα ήχου, και το μικρό βέλος σημαίνει ότι το Scratch, Αυτό είναι ένα drop down μενού. Έτσι, μπορείτε να εισαγάγετε ήχους. Μπορείτε να ηχογραφήσετε ήχους και να κάνει άλλες διασκεδαστικά πράγματα στο Scratch. Και ότι, πάρα πολύ, όμως, στο τέλος της ημέρας, είναι απλώς μια δήλωση. Αλλά τώρα ας εισαγάγει μια πιο ενδιαφέρον κομμάτι, που είναι γνωστή ως Boolean έκφραση. Κεφάλαιο Β, το όνομά του έναν συνάδελφο που ονομάζεται Bool. Και μια Boolean έκφραση είναι απλά μια κομμάτι του παζλ ή, γενικότερα, μια κομμάτι των πληροφοριών που είναι ή αλήθεια ή ψέμα - ένα ή μηδέν, ναι ή όχι. Γι 'αυτό είναι μόνο μία από αυτές δύο αντιθέτων. Έτσι, μια τέτοια λογική έκφραση στο κόσμο της Scratch μοιάζει με αυτό το μπλε κομμάτι του παζλ. Και αυτό είναι μια ερώτηση, το ποντίκι κάτω, και που μπορεί να είναι είτε, της Φυσικά, αληθής ή ψευδής. Έτσι, με αυτό το κομμάτι του παζλ στο Scratch, καλά, θα είστε σε θέση να εντοπίσει αν υπάρχει παζλ αν το ποντίκι είναι, στην πραγματικότητα, είναι πραγματοποιήθηκε κάτω από το ανθρώπινο αλληλεπιδρούν με το πρόγραμμά σας. Αυτό και μόνο είναι λίγο πιο αφηρημένη, αλλά αυτά τα δύο λευκά κουτιά είναι μόνο για τους αριθμούς. Έτσι, μπορείτε να κάνετε πράγματα όπως είναι αυτή αριθμό μικρότερο από το άλλο; Και αν ναι, Scratch θα συμπεριφερθεί ένα ή τον άλλο τρόπο. Αυτό και μόνο είναι λίγο πιο γραφική. Είναι εάν η sprite, αν η γάτα, για παράδειγμα, αγγίζει πραγματικά το δείκτη του ποντικιού. Έτσι, αν το μικρό κεφάλι βέλος πλανάται πάνω από τη γάτα, τότε αυτό κομμάτι του παζλ θα αξιολογήσει την αλήθεια. Θα είναι αλήθεια, στην περίπτωση αυτή, αν χρησιμοποιήσετε αυτή τη λογική έκφραση, όπως θα δείτε σε μια στιγμή, σε ένα υποκατάστημα, μπορείτε να είτε να το κάνετε αυτό, ή μπορείτε να το κάνετε αυτό, σαν είχαμε μια κατάσταση που ελέγχονται, υπάρχει ένα ακόμη τελευταίο πρόσωπο στο δωμάτιο; Αν ναι, προσθέστε ένα. Διαφορετικά, μην ανησυχείτε περισσότερο. Έτσι, μια Boolean έκφραση μπορεί επίσης να είναι και-ed μαζί ή ή-ed μαζί. Έτσι, μπορείτε να συνδυάσετε Boolean εκφράσεις και να πω αυτό και αυτό πρέπει να ισχύει και για το όλο θέμα για να είναι αληθινό. Και εδώ είναι ένα πιο πραγματικό παράδειγμα κόσμο. Αν έχετε χρησιμοποιήσει CS50 Μαθήματα για να κάνει μάθημα ψώνια, τα πλαίσια ελέγχου εκεί, όπου κι αν ελέγξει το κουτί δίπλα στα μαθήματα, που θα πει, ναι, Δείξε μου μόνο τα μαθήματα για τα οποία η τιμή Q είναι 4.5 ή υψηλότερο. Εάν καταργήσετε την επιλογή αυτή, όχι, δεν ανησυχείτε για αυτό. Ή Ομοίως, σχετικά με το δικαίωμα, δεν Σύγκρουση με μαθήματα Παίρνω, αυτό είναι ή αλήθεια ή ψέμα. Είναι απλά μια Boolean έκφραση. Έτσι, όλο αυτό το διάστημα, όταν έχετε χρησιμοποιήσει ιστοσελίδες με πλαίσια ελέγχου, είστε ακριβώς εναλλαγή το ισοδύναμο μιας Boolean επί της έκφρασης και off. Έτσι, σε ποια μορφή θα χρησιμοποιήσετε αυτά; Λοιπόν, το Scratch, θα δούμε σε λίγο ότι υπάρχουν συνθήκες που μοιάζει με αυτό. Και αυτό είναι το είδος της λογικής, διότι πολλά όπως και σε ψευδοκώδικα, μπορούμε εσοχή το είδος του σχήματος U κομμάτια του παζλ, σημαίνει ότι τίποτα μέσα του U είναι πρόκειται να εκτελέσει, ή όχι, ανάλογα με σχετικά με το πού είναι. Έτσι, αν Boolean έκφραση, τότε ό, τι υπάρχει στο εσωτερικό θα πάρει εκτελεστεί. Εν τω μεταξύ, υπάρχει μια if / else block. Έτσι, εάν θέλετε ένα υποκατάστημα που πηγαίνει αυτό τρόπο ή ότι, μας δίνει Scratch αυτό. Και με αυτή τη λογική, τώρα, ακόμη και αν η κομμάτι του παζλ είναι σαφώς πολύ μικρό να σφηνώσει κάτι άλλο στο εσωτερικό του, τα κομμάτια του παζλ το μηδέν, από όπου και αν ακριβώς πρόκειται να αυξηθεί. Όταν κάνετε drag and drop πάνω από κάτι, απλώς θα αυξηθεί για να χωρέσει ό, τι είναι αυτό που προσπαθούμε να κάνουμε. Έτσι, μπορούμε να πάρουμε δύο από αυτά τα πράγματα και κάνει ένα πιρούνι τρεις τρόπο στο δρόμο και έτσι που κάνετε, είτε αυτό ή το άλλο, ή αυτό το άλλο πράγμα μόνο με φωλιές τους με αυτόν τον τρόπο. Φυσικά, αν το κάνετε αυτό πάρα πολύ πολύ, αρχίζει να παίρνει άσχημο. Αλλά σε εκείνο το σημείο, είστε πραγματικά πιθανόν να μην προγραμματισμό πολύ καλά. Και έτσι που θα είναι επαναλαμβανόμενες θέμα, επίσης, ότι του στυλ. Ακριβώς πόσο καλά κάνουν πραγματικά διαμορφώσετε τον κωδικό σας; Ή πόσο καλά μπορείτε να σχεδιάσετε τον κωδικό σας; Αλλά περισσότερα για αυτό στο μέλλον. Και τώρα έχουμε βρόχους. Υπάρχει ένα ωραίο βρόχο για πάντα στο Scratch που κυριολεκτικά σημαίνει ότι - κάνει ό, τι είναι μέσα από αυτό και πάλι, και ξανά, και ξανά. Μπορείτε να είναι πιο συγκεκριμένες και να πω, κάνω το εξής 10 φορές. Μπορείτε επίσης να χρησιμοποιήσετε μεταβλητές. Μπορείτε να έρθετε με οποιοδήποτε όνομα σε ότι λίγο να πέσει κάτω και να πω, να μου δώσει ένα μεταβλητή που ονομάζεται n, είναι ίσο με κάποια αξία. Και τότε μπορείτε να έχετε λειτουργίες. Αλλά περισσότερα για αυτά σε μια στιγμή. Επιτρέψτε μου να πάω πίσω για να μου Ξύστε interface. Και επιτρέψτε μου να πάει μπροστά αυτή τη φορά. Και ας πάμε μπροστά και να ανοίξει, ας πούμε, ένα παράδειγμα από - αυτό είναι λίγο πιο ενδιαφέρουσα. Επιτρέψτε μου να πάει μπροστά, και, στην πραγματικότητα, επιτρέψτε μου να κάνω τον εαυτό μου αυτό. Δεν χρειάζεται να ανοίξετε αυτό το ένα. Επιτρέψτε μου να πάω στο Αρχείο, Νέα. Πάω να πάει στο Events. Πάω να πάει για το πότε πράσινη σημαία κλικ, και είμαι πρόκειται να πάει στον ήχο. Και Πάω να drag and drop αυτό κομμάτι του παζλ, παίζουν νιαούρισμα ήχου. Θα ασφαλίσει μαζί. Και τώρα, αν κάνω κλικ στην πράσινη σημαία - [SOUND MEOW] DAVID MALAN: αξιολάτρευτο. ΕΝΤΑΞΕΙ, έτσι τώρα ας κάνουμε κάτι λίγο πιο λογικό μόνο για να αποδείξει ότι Μπορούμε, για τώρα. Πάω να απασφαλίσετε αυτό από τον τύπο. Πάω να πάει να ελέγξει. Και Πάω να αρπάξει μια κατάσταση. Έτσι, αν κάτι τότε. Έτσι, αυτό είναι το πώς φαίνεται εκεί. Γι 'αυτό χρειάζεται μια Boolean έκφραση. Και επιτρέψτε μου να προχωρήσει και να πω, επιτρέψτε μου να πάω με τους χειριστές. Πάω να κάνω κάτι λίγο Mathy, μόνο για πλάκα. Πάω να πάει εδώ και να πω, αν κάτι είναι μικρότερη από κάτι άλλο, να προχωρήσει και να κάνουμε κάτι. Έτσι τώρα, ξέρετε τι, ένα τυχαίο μπλοκ. Έτσι, παρατηρήστε πώς, αν αιωρείται πάνω από αυτό πράγμα εδώ, που θα σπάσει απότομα εκεί. Έτσι τώρα, ανακοίνωση, αρχίζω να κάνω κάτι που είναι ήδη πιο λογικά ενδιαφέρουσα. Εάν ένας τυχαίος αριθμός μεταξύ 1 και 10 είναι μικρότερη από ό, τι, ας πούμε έξι. Αν μπορώ να επιλέξω έξι, που ουσιαστικά μέσα, κάνει το ακόλουθο κείμενο, με το 50% πιθανότητα. Είναι σαν να ρίχνεις ένα κέρμα. Τώρα, μπορώ να κάνω κάτι όρους. Και ότι κάτι Πάω να κάνετε είναι να παίξετε τον ήχο. Έτσι τώρα, όταν κάνω κλικ στην οθόνη σημαία, είναι σαν να ρίχνουμε ένα κέρμα. [SOUND MEOW] DAVID MALAN: Ήταν κεφάλια ή οτιδήποτε εκεί. Ας το κάνουμε και πάλι. [SOUND MEOW] DAVID MALAN: κεφάλια και πάλι. [SOUND MEOW] DAVID MALAN: κεφάλια και πάλι. Φτου, OK. Ουρές εκείνη τη στιγμή. Έτσι, το 50% του χρόνου, αν το κάνουμε αυτό απείρως καιρό, θα πάρει το 50% meows και 50% σιωπές. Έτσι εκεί, ακριβώς ένα βασικό κτίριο μπλοκ που μας επιτρέπει να το κάνουμε αυτό. Αλλά αυτό είναι το είδος της κουραστική ότι έχω να κρατήσει πατώντας το κουμπί. Οπότε ας σύρετε και να ρίξει όλα αυτά μακριά. Αν τους έσυραν στη μέση, που θα διαγράψει ίδιοι ακριβώς. Επιτρέψτε μου να πάω μέχρι τον έλεγχο. Επιτρέψτε μου να πάω για πάντα. Και αυτή τη φορά, θα πάω να κάνω minorly κάτι ενοχλητικό. [Γέλια] DAVID MALAN: Και επιτρέψτε μου να πάω μπροστά και να κάνουμε τον έλεγχο. Περιμένετε ένα δευτερόλεπτο, ακριβώς έτσι δεν είναι πάρα πολύ τρίψιμο. [SOUND MEOW] DAVID MALAN: Αυτό δεν είναι φυσικό. OK. [SOUND MEOW] DAVID MALAN: Και προειδοποίηση τι, ωραία για Scratch, για όσους από εσάς έχουν προηγούμενη εμπειρία προγραμματισμού, σας Δεν χρειάζεται να ξεκινήσετε και να σταματήσετε. Δεν χρειάζεται να συγκεντρώνουν. Μπορείτε να αλλάξετε αυτό ακριβώς, και το πρόγραμμα θα προσαρμοστούν δυναμικά. Έτσι, αυτό είναι να πάρει ένα λίγο ενδιαφέρον. Αλλά ας τα πάρουμε ένα βήμα παραπέρα. Επιτρέψτε μου να πάω μπροστά και να πάρει απαλλαγούμε από αυτό το πρόγραμμα. [SOUND MEOW] DAVID MALAN: Αυτό είναι που θα καλέστε ένα σφάλμα στο Scratch. Δεν θα πρέπει να συνεχίσει να κάνει αυτό τον ήχο. Γι 'αυτό και εμείς θα του πω να σταματήσει. Εντάξει, έτσι τώρα είμαι πρόκειται να υπεισέλθω σε - Θα αφήσω MIT ξέρω. Θα πάμε εδώ για πάντα. Και τώρα, θέλω να κάνω κάτι ξανά και ξανά. Πάω να μπω σε έλεγχο. Και ας δούμε, Πάω να σύρετε αν μου κατάσταση εκεί. Έτσι παρατηρήσετε τώρα τη λογική. Όταν η πράσινη σημαία χτυπιέται, κάνει κάτι για πάντα, αλλά το κάνουμε μόνο κάτι, αν αυτό το άλλο πράγμα είναι αλήθεια. Πάω να πάει, ας ας πούμε, αίσθησης. Και Πάω να πάει μπροστά και να επιλέξετε αγγίζοντας και να το αφήσει εκεί. Αυτή είναι μια Boolean έκφραση. Και τώρα, παρατηρούμε, σε αυτή την πτώση down μενού, υπάρχουν κάποιες προκαθορισμένες τιμές. Έτσι, μπορώ να πω, είστε αγγίζοντας η άκρη της οθόνης; Ή είστε σε επαφή με το δείκτη του ποντικιού, το βέλος στην οθόνη; Έτσι, Πάω να το κάνουμε αυτό. Και αν ναι, τότε εγώ πάω να μπροστά και να παίξει ήχου νιαούρισμα. Έτσι, τώρα έχω το είδος της έχουν τη αρχή του παιχνιδιού - ένα αξιολάτρευτο παιχνίδι. [SOUND MEOW] DAVID MALAN: OK, ένα αξιολάτρευτο, παιχνίδι με λάθη. Επιτρέψτε μου να περιμένει, ας πούμε, ένα δευτερόλεπτο εκεί. Τώρα παίξει και πάλι, κάνοντας κλικ την πράσινη σημαία. [SOUND MEOW] DAVID MALAN: Μέχρι τώρα είναι όπως χάιδεμα μια γάτα. [SOUND MEOW] DAVID MALAN: Εντάξει, τώρα αυτό ένα που έκανε εκ των προτέρων. Πολύ αργά, παίρνει το είδος της εύκολο να κάνουν ηλίθια πράγματα. Έτσι, επιτρέψτε μου να πάω εδώ. Ας πούμε, ότι ήταν το Pet Cat. Ας τώρα να ανοίξετε Μην Pet τη γάτα. Τώρα, αν θα παίξει αυτό το ένα, μπορείτε να μαντέψετε, αν είστε κοιτάζοντας την οθόνη - [SOUND MEOW] DAVID MALAN: Τώρα, εάν το κατοικίδιο ζώο η γάτα [Βρυχηθμό LION'S] DAVID MALAN: Έτσι στην πραγματικότητα, δεν Pet Η γάτα στην εν λόγω υπόθεση. Μέχρι τώρα έχουμε μόνο ένα παράδειγμα ενός υποκατάστημα που συμβαίνει σε δύο κατευθύνσεις. Τώρα, επιτρέψτε μου να προχωρήσει και ανοίξετε ένα άλλο εδώ. Αυτό το ένα, επίσης, μεταξύ πηγή μας αρχεία κώδικα για την ημέρα. Έτσι, επιτρέψτε μου να πάω πίσω στην πηγή μου κατάλογο και να πάει σε, ας επιλέξουν αυτός ο τύπος εδώ και δείτε τι είναι διαφορετικό. Πω πω, εντάξει, οπότε τώρα είναι να πάρει λίγο πιο περίπλοκη. Και προτού να δούμε τι κάνει αυτός ο τύπος, ας προσπαθήσουμε να συναχθεί, από το πρόγραμμα στη δεξιά πλευρά. Και τώρα το μηδέν σαφώς μας επιτρέπει να έχουν πολλαπλά σενάρια, πολλαπλές προγράμματα που σχετίζονται με ένα sprite, με ένα χαρακτήρα, και, προφανώς, είναι και οι δύο πρόκειται να τρέξει σε lockstep. Επειδή και οι δύο από αυτά τα προγράμματα ξεκινά με όταν είναι πράσινες κλικ τη σημαία, αυτό είναι υπαινίχθηκε σε ένα πιο προχωρημένο θέμα, με που κάποιοι από εσάς μπορεί να είναι εξοικειωμένοι, γνωστή ως threading, ή multi-threading. Βγάζει, τα πολυλογώ, υπολογιστές Σήμερα μπορεί ουσιαστικά να κάνει πολλαπλές πράγματα ταυτόχρονα. Ή μπορούν να κάνουν ένα πράγμα κάθε φορά, ώστε γρήγορα που δεν χρειάζεται καν να παρατηρήσετε ότι είναι να κάνει πραγματικότητα ένα πράγμα κάθε φορά. Αλλά για τώρα, ας υποθέσουμε ότι και οι δύο αυτά τα προγράμματα που πρόκειται να εκτελέσει σε την ίδια στιγμή. Και ανακοίνωση, οι δυο τους έχουν πάντα πάζλ. Έτσι και οι δύο πρόκειται να συνεχίσει να τρέχει μέχρι που χτύπησε το κόκκινο σήμα στοπ. Λοιπόν, τι θα κάνεις; Στην αριστερή πλευρά, είμαι προφανώς με την οποία μια μεταβλητή που ονομάζεται σίγαση. Γι 'αυτό και δεν το ονομάσουμε κάτι σαν βαρετό όπως είναι ο Ν. κάλεσα σίγαση αυτό χρόνο για να μεταδώσει την έννοια. Έθεσα αυτό ισούται με μηδέν. Ας σκεφτούμε αυτό ως False, ή ας σκεφτούμε αυτό ως False. Τώρα, κάνουμε πάντα το εξής. Αν το πλήκτρο διαστήματος του πληκτρολογίου είναι πατημένο, στη συνέχεια, αν σίγαση ισούται με μηδέν, στη συνέχεια, αλλάξτε σίγαση σε ίσες μία. Αλλιώς, που σίγαση στο μηδέν. Έτσι, λογικά, ακόμα κι αν αυτό είναι ένα σύνολο μάτσο κομμάτια του παζλ που είναι απλά λέει, όταν χτύπησε το μπαρ του Διαστήματος, Τι πρέπει να κάνω για τη μεταβλητή ονομάζεται σίγαση; Την αλλαγή από το ένα έως το μηδέν, ή μηδέν έως ένα. Αυτό είναι όλο. Έτσι είναι σαν να γυρίζουμε ένα ελαφρύ διακόπτη ενεργοποιήσετε ή να απενεργοποιήσετε και να θυμόμαστε, με μεταβλητή, που έχω κάνει αυτό. Εν τω μεταξύ, στη δεξιά πλευρά, στην Με άλλα λόγια, ποιος είναι ο σκοπός της το σενάριο σχετικά με το δικαίωμα; ΦΟΙΤΗΤΗΣ: Για να παίξετε τον ήχο θαλάσσιο λιοντάρι. DAVID MALAN: Για να παίξετε Sea Lion ήχο, αν δεν είναι σε σίγαση, από φύση της εν λόγω μεταβλητή. Έτσι μοιραζόμαστε κατάσταση, να το πω έτσι, ανταλλαγή πληροφοριών μεταξύ των εν λόγω δύο σενάρια, διότι, παρατηρούμε εδώ, είμαστε πάντα κάνοντας τα εξής. Αν είναι σε σίγαση είναι μηδέν, οπότε αν δεν είναι σε σίγαση - αν σίγαση είναι ψευδής, τότε το παιχνίδι Αυτός ο ήχος Lion Θάλασσα. Και σκεφτείτε τον εαυτό σας, γεια, γεια, γεια, για από δύο δευτερόλεπτα, περιμένετε ένα λεπτό και, στη συνέχεια, ελέγξτε και πάλι. Έτσι, αν πάμε τώρα εδώ προς τα αριστερά, όπου αυτός ο τύπος είναι, και πατήστε το πράσινη σημαία, [SEA LION SOUND] DAVID MALAN: Σε ποιο σημείο Αυτό πάρει πραγματικά ενοχλητικό; Επειδή αυτό θα πήγαινε για πάντα. Έτσι, μερικές φορές, άπειρες φορές, να το πω έτσι, είναι σκόπιμη. Αλλά στην περίπτωση αυτή, το συντομότερο I χτύπησε το μπαρ του Διαστήματος, σταματά. Τώρα το πρόγραμμα δεν έχει εγκαταλείψει. Είναι ακόμη σε εξέλιξη σε αυτούς τους βρόχους. Αλλά αν πάρω το space bar και πάλι - [SEA LION SOUND] DAVID MALAN: Είναι πρόκειται να πάρει όπου έφυγε μακριά. Έτσι, υπάρχει ένας τρόπος για εμάς να κάνουμε κάτι ξανά και ξανά, αλλά, ότι χρόνο, μόνο υπό όρους. Λοιπόν, ενώ είμαστε σε αυτό το πνεύμα να κάνει τα πράγματα ξανά και ξανά, επιτρέψτε μου να πάω σε ένα άλλο τέτοιο παράδειγμα εδώ. Αυτό και μόνο θα καλέσουμε μετράει τα πρόβατα. Και παρατηρήστε τι κάνει αυτός ο τύπος. Είναι πραγματικά λίγο περισσότερο σαν το pseudocode παίξαμε με την Τρίτη, σύμφωνα με την οποία ο ίδιος θέτει κάποια πάγκο, σκέφτομαι ότι είναι η Ν ξανά, για να μηδέν, κάνει πάντα η ακόλουθη. Λέει την τιμή του μετρητή για ένα δευτερόλεπτα, περιμένει ένα δεύτερο, και κατόπιν αλλάζει το μετρητή κατά ένα. Και στο πλαίσιο αυτό, ότι μόνο σημαίνει προσαυξήσεις αυτό. Έτσι, το ένα προσθέτει σε αυτό. Έτσι, αυτό είναι κυριολεκτικά - δεν είναι ακριβώς αυτό που νομίζουμε της καταμέτρησης, όπως τα πρόβατα. Είναι το πρόβατο που κάνει την καταμέτρηση, πάντα, από το μηδέν. Έτσι, μπορούμε να κάνουμε παρόμοια πράγματα εκεί, λογικά. Αλλά τώρα ας προσπαθήσουμε να καθαρίσετε μερικά από αυτά τα πράγματα. Επιτρέψτε μου να προχωρήσει τώρα σε ένα απλό παράδειγμα όπου η γάτα μας είναι ακριβώς πρόκειται να έναρξη βήχα. Εντάξει, έτσι και εδώ έχουμε βήχα 0 - επιστήμονες εκκίνηση του υπολογιστή ξεκινώντας από το 0. Έτσι, αυτή η γάτα είναι ακριβώς πρόκειται να φτύνω τρεις φορές. Και εδώ είναι το πώς θα υλοποιηθεί αυτό. Όταν η πράσινη σημαία πατηθεί, βήχας, περιμένετε, βήχα, περιμένετε, βήχα, περιμένετε. Και το έκανα αυτό ακριβώς σύροντας και απόθεση κομμάτια του παζλ. Ή αν αρχίσουμε να πειραματιζόμαστε με Scratch, θα δείτε μπορείτε πραγματικά διπλούν κομμάτια, έτσι ώστε να μπορείτε να κάνετε τα πράγματα πιο γρήγορα χωρίς σύρσιμο και τη ρίψη nauseum τώρα. Αλλά δεν είμαστε στην καλύτερη διαδρομή εδώ. Διότι πώς μπορώ να τον κάνει να βήχα για τέταρτη φορά; Λοιπόν, θα μπορούσα να ταξινομήσετε του να πάει εδώ κάτω. Θα μπορούσα να επαναλάβει και στη συνέχεια επικόλληση αυτό εκεί. Πώς μπορώ να κάνω τον βήχα πέμπτη φορά; Λοιπόν, να αντιγράψετε και να επικολλήσετε ξανά. Ή σύρετε πτώση και πάλι. Και πολύ γρήγορα, αυτό το πρόγραμμα ξεκινά για να πάρει πραγματικά, πραγματικά περιττή, πραγματικά μεγάλο, αλλά πραγματικά ενδιαφέρον. Αλλά υπάρχει ένας τρόπος για να το καθαρίσω αυτό. Ποιος είναι ο προφανής τρόπος να καθαρίσει αυτό επάνω; Εντάξει, έτσι θα μπορούσαμε πραγματικά να πάμε πραγματικά έξω και, όταν χτύπησε το χώρο bar, να τον βήχα. Αλλά αν απλά θέλετε να κάνετε κάτι επαναληπτικά, υπενθυμίζουν ότι έχουμε κάποιο έλεγχο κατασκευάζει. Επιτρέψτε μου να περάσω αυτό έξω από το Έτσι, πάει κάτω από τον έλεγχο. Επιτρέψτε μου να κάνω μόνο μια επανάληψη, ας πούμε, τρεις φορές. Και τώρα επιτρέψτε μου να κλέψει μερικά από αυτά τα κομμάτια του παζλ. Επιτρέψτε μου να snap αυτό εδώ. Επιτρέψτε μου να ρίξει αυτά τα μακριά εντελώς. Και τώρα, έχω μια καλύτερη σχεδιασμένο πρόγραμμα. Γιατί; Αν θέλω να αλλάξω τον αριθμό των φορών αυτό το βήχα γάτα, το μόνο που έχω να κάνετε είναι να αλλάξετε μια μεταβλητή ή μια τιμή, μάλλον από τρεις, τέσσερις, ή πέντε ή έξι. Ή θα μπορούσα να κάνω κάτι όρους, ακόμη, με το χώρο Bar Αν ήθελα. Έτσι, αυτό είναι μια γενική αρχή. Μόλις ξεκινήσετε την αντιγραφή και επικόλληση κώδικα, είτε πρόκειται για το Scratch, ή C, κάνεις κάτι λάθος, το πιο πιθανό. Ή τουλάχιστον, αφού έχετε υπερβεί κάποια εύλογο αριθμό των αντιγράφων και πάστες, είστε κατά πάσα πιθανότητα κάνει κάτι λάθος. Αλλά ξέρετε τι; Δεν μου αρέσει αυτό. Αυτή δεν είναι η πιο καθαρή σχεδίαση. Μακάρι να υπήρχε ένα κομμάτι που ονομάζεται παζλ βήχα, γιατί τότε δεν θα πρέπει να εφαρμόσουν τον εαυτό μου αυτό, ο παλιός τρόπος, με έχοντας ας πούμε, και να περιμένουν - ό, τι αν ήταν μόνο ένα κομμάτι του παζλ βήχα. Λοιπόν, μπορώ να κάνω ότι στην πραγματικότητα. Επιτρέψτε μου να πάει κάτω από περισσότερα μπλοκ, κάντε κλικ στο κουμπί Κάντε ένα Block, και τώρα παίρνω αυτό παράθυρο εδώ. Πάω να καλέσετε αυτό το βήχα πράγμα. Πάω να προχωρήσει και κάντε κλικ στο OK. Και τώρα ανακοίνωση, να πάρω μια νέα εκκίνηση κομμάτι που είναι κυρτό στην κορυφή. Και τι Πάω να κάνω με αυτό, είμαι πρόκειται να κλέψει μόνο αυτά τα τμήματα. Πάω να τα βάλουμε εδώ. Και τώρα, με αυτά τα τρία κομμάτια, έχω εφαρμοστεί ό, τι Πάω να καλέσετε έναν λειτουργία ή μια διαδικασία, ή κάποια από μπορείτε να το ξέρετε ως μέθοδος. Μικρές διαφορές μεταξύ των λέξεων. Αλλά για τώρα, ας καλέσετε αυτό μια λειτουργία. Αυτό είναι απλώς ένα νέο κομμάτι του παζλ. Τώρα υλοποιείται σαν αυτό. Αλλά παρατηρήσετε ότι Scratch μας έδωσε ένα φυσική αναπαράσταση του συνόλου αυτού μπλοκάρει εδώ. Έτσι τώρα, μπορώ να μεταφέρετε μόνο αυτό εδώ, ας πούμε, επαναλάβετε τρεις φορές, και τι πρόκειται να συμβεί τώρα, όταν παίζω αυτό το σενάριο, είναι μόνο ένα πρόγραμμα τρέχει σε μια στιγμή. Υπάρχει μόνο ένα, όταν πράσινη σημαία κλικ. Αλλά αυτό μοβ μπλοκ που ονομάζεται βήχα είναι ουσιαστικά λέει Scratch, κάθε φορά που θα δείτε αυτό το κομμάτι του παζλ, στην πραγματικότητα εκτελέσει τα βήματα που θα τυχαίνει να εφαρμόσει το χέρι. Έτσι, αυτό είναι το είδος της τακτοποιημένο. Αλλά τώρα, ας υποθέσουμε ότι αποφάσισα, εγώ δεν κάνω θέλουν αυτή η γάτα απλά να βήχει. Τον θέλω να είναι σε θέση να φτερνιστεί, καθώς και. Λοιπόν, πώς θα μπορούσαμε να πάμε για εφαρμογή φτάρνισμα; Καλά θα μπορούσα λίγο πολύ κάνουν το ίδιο πράγμα. Θα μπορούσα να κάνω ένα άλλο μπλοκ. Θα μπορούσαμε να ονομάσουμε αυτό το φτάρνισμα, κάντε κλικ στο OK. Στη συνέχεια, εδώ θα μπορούσα στην πραγματικότητα έχουν, επιτρέψτε μου να επαναλάβει αυτό - και εκεί όπου θα πρέπει να αισθάνονται σαν κάνεις δεν είναι πιθανώς κάτι στην ο καλύτερος τρόπος. Θα μπορούσα να πω κάτι τέτοιο, achoo, για ένα δευτερόλεπτο. Περιμένετε ένα δευτερόλεπτο. Τώρα έχω ένα νέο μπλοκ που ονομάζεται φτάρνισμα. Και πράγματι, εκεί είναι. Αλλά αυτό, επίσης, θα πρέπει να αρχίσετε να αισθάνεστε - ίσως δεν είναι η πρώτη εβδομάδα της κατηγορίας, αλλά από το δεύτερο - ακριβώς λίγο περιττή. Σαφώς, υπάρχει κάποιος πλεονασμός εδώ. Έτσι, επιτρέψτε μου να προτείνω, αντ 'αυτού, ότι εμείς βελτιώσετε αυτός ο ορισμός ως εξής. Επιτρέψτε μου να ανεβαίνουν στο μενού αρχείο μου. Είμαι δεν πρόκειται να σώσει αυτήν την έκδοση. Πάω να πάει σε ένα από τα premade τα αρχεία μου εδώ. Και Πάω να προχωρήσει και να ανοίξει βήχα 2. Ωχ αυτό ήταν βήχα 2. Επιτρέψτε μου να πάμε μπροστά και να ανοίξει το βήχα 3, το οποίο είναι το πηγαίο κατάλογο. Βήχας 3 και παρατηρήστε - Ω, είπα η ιστορία με λάθος σειρά. Επιτρέψτε μου να ανακάμψει από αυτή την ιστορία. Η ιστορία που ήθελα να πω τελειώνει με βήχα 4 - εκεί που είναι. Έτσι τι εάν, αντ 'αυτού, καθορίζει ένα μεγαλύτερο κομμάτι ονομάζεται παζλ καθορίζουν, λένε λέξη n φορές. Το φτέρνισμα είναι απλά, προφανώς, στο Scratch, achoo. Γι 'αυτό και το εκφράζουν ως λέξη, μόνο και μόνο επειδή αυτή είναι η περιορισμός του προγράμματος. Και ο βήχας είναι [βήχα], αλλά βήχα, C-Ο-U-G-H. Έτσι, αυτό είναι μόνο δύο διαφορετικές λέξεις κάνει, κατ 'ουσίαν, το ίδιο πράγμα. Γι 'αυτό και μπορεί πραγματικά να κάνει μια νέο μπλοκ σαν αυτό. Δεν είχα χρησιμοποιήσει αυτή την επιλογή του μενού πριν. Αλλά όταν κάνετε κλικ στην επιλογή Κάντε Block, μπορείτε να επιλέξετε κάποιες επιλογές. Και μπορούμε να πούμε ότι αυτή η ομάδα πραγματικά Χρειάζονται κάποιες εισροές, αλλιώς γνωστή ως επιχειρήματα, ή τις παραμέτρους, έτσι ώστε ότι μπορείτε να τροποποιήσετε τη συμπεριφορά του μπλοκ σας. Έτσι αυτό που έκανα πριν από λίγο ήταν Κάλεσα αυτό το μπλοκ Say. Και τότε είπα, χρειάζεται μιας εισόδου στοιχειοσειράς. Και τώρα παρατηρήσετε, από προεπιλογή, λέει σειρά 1. Ένα string είναι απλώς μια λέξη, ή φράση, για τους σκοπούς μας. Αλλά είμαι απλώς πρόκειται να βάλουν κάποια το κείμενο κράτησης θέσης εκεί, όπως ακριβώς σε μια ιστοσελίδα, όταν βλέπεις το όνομα χρήστη, ή τον κωδικό πρόσβασης και, στη συνέχεια εξαφανίζεται όταν αρχίσετε να πληκτρολογείτε. Αυτό είναι ό, τι είναι. Και τώρα είμαι πρόκειται να προσθέσετε έναν αριθμό εισόδου. Και Πάω να καλέσετε αυτό το n - αλλά αυτό είναι αρκετά αυθαίρετη. Και τότε μόνο μια ετικέτα, απλά για να κάνουν Αυτό το μπλοκ λίγο περισσότερο τον εαυτό ΑΙΤΙΟΛΟΓΙΚΗ - φορές, αυτό είναι ό, τι ακριβώς έκανε. Και το τελικό αποτέλεσμα είναι ότι έχω ένα μπλοκ που μοιάζει με αυτό. Και παρατηρήσετε τώρα, είμαι με τη χρήση ένα μπλοκ επανάληψης. Αλλά όχι σκληρά κωδικοποίηση τρεις, είμαι μεταφορά και απόθεση n εκεί γι 'αυτό μπορεί να παραμετοποιήσετε τη λειτουργία. Μπορώ να κάνω αυτή η λειτουργία να κάνει κάτι ένα διαφορετικό αριθμό φορών με βάση αυτή την τιμή. Και παρατηρήσετε, ας πούμε, αυτό είναι ό, τι έκανα εδώ, αν σύρετε λέξη, μπορώ να πω όχι σκληρό κωδικοποιούνται λέξη, αλλά ό, τι περνιέται σε για ένα δευτερόλεπτο. Εν τω μεταξύ, πώς μπορώ εκ νέου εφαρμογή βήχας; Ορίζω αντί βήχα, όπως λέγοντας βήχα n φορές. Έτσι, με λίγα λόγια, πάω μέσα από αυτό γρήγορα, αλλά η βασική ιδέα είναι ταχύτερο όπως μπορείτε να αρχίσετε να βλέπετε στο πρόγραμμά σας ότι, περιμένετε ένα λεπτό, έχω κάνει κάτι αρκετά όπως αυτό πριν, μπορώ να συνυπολογίσει κάποια κοινά λειτουργικότητα; Μπορώ να αποσυντεθούν τι κάνω σε κάποιες βασικές ιδέες; Αυτό είναι αυτό που κάνουμε εδώ. Και έχω στοιβάζονται αυτά τα πράγματα, οπτικά, το ένα πάνω στο άλλο επειδή είναι απόδειξη σε αυτή την ιδέα της ξεκινώντας με δυαδική, θα ASCII, κάνοντας προγράμματα γραφικών, το είδος της layering όλο και πιο σύνθετες ιδέες για ένα πάνω στο άλλο. Ίδια ιδέα εδώ. Ξεκίνησα από το μηδέν, την εφαρμογή βήχα, τότε συνειδητοποίησα βήχας είναι πραγματικά λέει κάτι. Έτσι, επιτρέψτε μου αντί να εφαρμόσει το έννοια της λέει κάτι. Και πάνω από αυτό, μπορώ να εφαρμόσω achoo, ή βήχα; Και θα μπορούσαμε να κάνουμε περισσότερα από αυτά τα παραλλαγές ακόμα. Έτσι, από αυτή τη βασική αρχή, μπορούμε να αρχίσουμε να κάνουμε όλο και πιο πολύπλοκα προγράμματα. Επιτρέψτε μου να ανοίξει αυτό. Μπορούμε να έχουμε πραγματικά πολλές ξωτικά αλληλεπιδρούν στην οθόνη με τη μία. Αν πάω σε κατάλογο πηγή μου και πιάσε ένα αποκαλούμενο Θέματα, υπενθυμίζουν ότι μια το νήμα είναι ακριβώς πραγματικά η δυνατότητα των δύο σενάρια για να τρέξει δίπλα πλευρά ταυτόχρονα. Ανακοίνωση τώρα, έχουν και οι δύο μια sprite πουλιών και μια sprite γάτα, δύο εκ των οποίων έχουν τα δικά τους σενάρια. Έτσι ειδοποίηση, όταν κάνω κλικ στο γάτα, να πάρω αυτά τα σενάρια. Όταν κάνω κλικ το πουλί, Παίρνω αυτά τα σενάρια. Έτσι, κάθε ένα από αυτά τα παιδιά έχει τα δικά του προγράμματα. Όταν κάνω κλικ τώρα την πράσινη σημαία, παρατηρήστε ότι αυτό που κάνει αυτό το πρόγραμμα είναι έχουν τη γάτα, απίστευτα σιγά-σιγά, να κυνηγήσει το πουλί. Αλλά η γάτα έχει το πλεονέκτημα να έχει έχουν προγραμματιστεί με τέτοιο τρόπο ότι δεν έχει σημασία όπου το πουλί είναι, η γάτα πηγαίνει προς το μέρος του. Μπορούμε να παίξουμε αυτό το παιχνίδι πολύ πιο γρήγορα. Έτσι, αν είμαι στη γάτα, παρατηρήσετε ότι είμαι χρήση, ας πούμε προχωρήσουμε ένα βήματα. Ας τον έχουν κινηθεί σε πέντε βήματα ένα χρονικό διάστημα, έτσι πέντε κουκίδες σε μια στιγμή. Επιτρέψτε μου κλικ στο παιχνίδι. [Βρυχηθμό LION'S] DAVID MALAN: Εντάξει, τώρα μπορούμε να πραγματικά να δώσει τη γάτα το πλεονέκτημα. 10 βήματα σε μια στιγμή. [Βρυχηθμό LION'S] DAVID MALAN: Εντάξει, έτσι πολύ γρήγορα, παίρνει ένα μικρό πλεονέκτημα για τη γάτα. Αλλά εγώ θα κύμα το χέρι μου μερικές από τις λεπτομέρειες. Αλλά ο λόγος που η διαδρομή είναι ξεκινώντας λίγο διαφορετική κάθε φορά είναι ότι είμαι κάνει ένα κομμάτι της τυχαιότητας. Είμαι δείχνουν πραγματικά τη γάτα σε μια διαφορετική κατεύθυνση με βάση όπου τον θέλουν να ξεκινήσουν έτσι ώστε κάθε φορά το παιχνίδι, ή το animation, είναι μια λίγο διαφορετικό. Τώρα, επιτρέψτε μου να εισαγάγει ένα άλλα κατασκευάσει εδώ. Έτσι, στην περίπτωση αυτή, είχαμε λειτουργίες. Υπάρχει, επίσης, πρόκειται να είναι ένα κομμάτι του παζλ γνωστή ως μια σειρά, ή μια λίστα, που σας επιτρέπει να αποθηκεύετε πολλαπλές τιμές στο εσωτερικό μιας μεταβλητής. Είδαμε τα θέματα, και τώρα υπάρχει Events. Έτσι, εδώ είναι μια περίπτωση, με αυτοί οι δύο τύποι εδώ. Κι αν ανοίξει το αρχείο με όνομα Εκδηλώσεις από τα παραδείγματα του σήμερα, θα είμαστε δείτε ένα πρόγραμμα που μοιάζει λίγο σαν αυτό. Και παρατηρήσετε τώρα αυτός ο τύπος - έτσι παρατηρήσετε έχω το μπλε Muppet κλικ - κάνει μόνο το εξής. Αυτός δεν έχει ένα από αυτά πράσινα κομμάτια του παζλ της σημαίας. Έχει ένα όταν λάβω εκδήλωση - έτσι κάποια αυθαίρετη λέξη. Απλά πληκτρολογήσει εκδήλωση εκεί - ότι πρόκειται να πει, Polo, για δύο δευτερόλεπτα. Έτσι, όσοι από εσάς είναι εξοικειωμένοι Με αυτό το παιχνίδι θα μπορούσε να γνωρίζει όπου αυτό συμβαίνει. Εάν τώρα κάνετε κλικ στο πορτοκαλί Muppet, το πρόγραμμά του το κάνει αυτό. Forever, εάν το πλήκτρο διαστήματος του πληκτρολογίου καταστέλλεται, που πρόκειται να πει, Marco, για δύο δευτερόλεπτα στην οθόνη. Αλλά είναι, επίσης, πρόκειται να χρησιμοποιήσετε αυτό το φανταχτερό εμποδίσει γνωστή ως εκπομπή. Αυτός πρόκειται να μεταδοθεί απόσπασμα unquote, "γεγονός". Εν τω μεταξύ, ο τύπος με το μπλε, ανάκληση, είναι ακούγοντας unquote απόσπασμα, "γεγονός". Έτσι, κατά κάποιο τρόπο, τώρα, μπορούμε να έχουμε δύο ξωτικά που αλληλεπιδρούν. Και όταν φτάσουμε στο web προγραμματισμό, αργότερα στον όρο, ομοίως θα το να είναι πλεονεκτικό να έχουμε την ιστοσελίδα σας κάνει κάτι σε απάντηση για παράδειγμα, ένα κλικ του πληκτρολογίου. Έτσι, επιτρέψτε μου να πάει μπροστά και χτυπήσει την μπάρα διαστήματος. Orange τύπος λέει Marco. Μπλε τύπος λέει Polo. Αν το κάνω και πάλι πορτοκαλί τύπος λέει Μάρκο, μπλε τύπος λέει πόλο. Έτσι, ας ρίξουμε αυτό το ένα βήμα παραπέρα. Αυτή τη φορά, θα πάμε, κατά πάσα πιθανότητα, μόλις λίγα λεπτά εδώ. Μήπως έχουμε - φωτιστικό γραφείου, έλα κάτω. Έχετε δίκιο για το τέλος. Εντάξει, μπορείτε και οι δύο να καταλήξει. Έχουμε λάμπες γραφείου για όλους. Έλα. Δεν ξέρω αν μπορούμε να κρατήσουμε αυτή η γελοία gag up όλα εξάμηνο, όμως. Εντάξει, έλα κάτω. Και εν τω μεταξύ, έχουμε την ακόλουθα παραδείγματα για να τραβήξει επάνω, ακριβώς για να επιταχύνει τα πράγματα τώρα, έτσι ώστε να έχουμε έχουν μια εκδήλωση από την άλλη προκατόχου σου χρησιμοποιώντας την ίδια βασικά δομικά στοιχεία. Ποιο είναι το όνομά σου; JOHN: John. DAVID MALAN: John. Χάρηκα για μένα. Και; Setz: Setz. DAVID MALAN: Setz, χαίρομαι που σε εμένα. John, αν θέλετε να έρθετε επάνω πρώτα, αυτό είναι ένα παλιό παιχνίδι σχολείο που ονομάζεται Frogger. Μπορείτε να χρησιμοποιήσετε το πληκτρολόγιο για αυτό επίσης. Και ο στόχος είναι να μεταδώσουμε το δρόμο και το νερό. [Frogger ΜΟΥΣΙΚΗ ΚΑΙ ΕΡΓΑ ΗΧΟΥ] DAVID MALAN: Λυπάμαι, δεν φωτιστικό γραφείου για σας σήμερα. Εντάξει, Setz, θα σας ήθελε να έρθει προς τα πάνω; Εντάξει, ας το κάνουμε και πάλι. Setz: Μπορώ να χρησιμοποιήσω τα βέλη; DAVID MALAN: Ακριβώς τα βελάκια. Πάνω, κάτω, αριστερά, δεξιά. [Frogger ΜΟΥΣΙΚΗ ΚΑΙ ΕΡΓΑ ΗΧΟΥ] DAVID MALAN: Θα τους καλέσει βραβεία παρηγοριά σήμερα, στη συνέχεια, πολύ καλά κάνει. Εδώ, για τους δυο σας, ο John και Setz. Συγχαρητήρια, εντάξει. Έτσι και πάλι, όπως αυτό το παιχνίδι παίζει, σκεφτείτε τι συμβαίνει; Ένα, υπάρχει σαφώς μια πολλή κίνηση. Αλλά έχουμε δει πώς, με τη γάτα και το πουλί παράδειγμα, πώς μπορείτε να κάνετε το ψευδαίσθηση της κίνησης από μόνο τη μετάθεση ορισμένων αριθμό των pixels ξανά και ξανά. Και αν έχετε ένα μπλοκ για πάντα, θα μπορούσατε να έχετε αυτά τα αυτοκίνητα κάνουν αυτό για πάντα. Έχουμε την ικανότητα να έχουν κάποια τυχαιότητα. Έτσι, αυτό το παιχνίδι δεν πρέπει να είναι ακριβώς το ίδιο κάθε φορά. Τα κούτσουρα, τα αυτοκίνητα, μπορεί να αρχίσει σε ελαφρώς διαφορετικούς χρόνους, έτσι ώστε η ίδιο το παιχνίδι είναι πιο ενδιαφέρον με κάθε παιχνίδι. Και εν τω μεταξύ, έχουμε δει την ικανότητα για να ακούσετε την μπάρα διαστήματος. Αλλά σαφώς, στο Scratch, μπορεί επίσης να σας ακούστε για πάνω, κάτω, αριστερά, δεξιά, και πραγματικά οποιοδήποτε πλήκτρο στο πληκτρολόγιο. Και μπορείτε επίσης να κάνετε κάποια άλλα πράγματα. Επιτρέψτε μου να προχωρήσει και να πάει πίσω με την έκδοση του web. Επιτρέψτε μου να μπω σε συλλογή μας παραδείγματα εδώ. Και κάτω από Studio μου, βίντεο που είναι, ουσιαστικά, ένα φάκελο scratch.mit.edu. Έχουμε τις εκδόσεις των web όλα αυτά τα έργα. Και ας δούμε αν μπορώ να πάρω μου υπολογιστή να συνεργαστούν εδώ. Αυτό είναι γραμμένο από έναν από τους φίλους μας στο MIT, που ονομάζεται Μετακινήστε το Butterfly. Και όταν αυτό ανοίγει, αυτό είναι πρόκειται να χρησιμοποιήσετε στην πραγματικότητα περισσότερο από υλικό του υπολογιστή μου. Scratch συμβαίνει να εφαρμοστεί με το Flash. Flash μπορεί να μιλήσει στην κάμερα σας, εάν έχετε ένα. Έτσι, αν πάω μπροστά και πλήρη οθόνη αυτή εδώ, κάντε κλικ στην πράσινη σημαία, ανακοίνωση ότι το μήνυμα ασφαλείας του Flash λέει, θέλετε να επιτρέπουν να χρησιμοποιήσετε την κάμερα μου; Κανονικά, θα πρέπει να ίσως να πω αρνηθεί. Αλλά σε αυτή την περίπτωση, εμείς θα πούμε επιτρέπουν. Στη συνέχεια, Πάω να πω Chrome να επιτρέψει αυτό, καθώς και. Και τώρα, σε μια στιγμή, βλέπετε εμένα, ναι, εγώ. Και αν το χέρι μου ανεβαίνει - Έχω να μην κινηθεί μου κεφάλι ταυτόχρονα. Υπάρχει επίσης μια αντανάκλαση στην οθόνη. Έλα, πάμε εκεί - μπορείτε να το μετακινήσετε στην οθόνη επειδή υπάρχει επίσης κομμάτια του παζλ - Ω, ξέρουν τι είναι, είναι επειδή μπορείτε επίσης να δείτε την οθόνη του προβολέα πίσω μου. Έτσι, έχουμε ένα μικρό άπειρο πράγμα που συμβαίνει εκεί. Εντάξει, θα παίξω εδώ κάτω. Εκεί πάμε. Έτσι, υπάρχει επίσης ένα κομμάτι του παζλ που λέει, όταν βλέπεις κίνηση κάτω ένα από τα ξωτικά, μπορείτε να τα έχετε πάει πάνω, κάτω, αριστερά, δεξιά ή τα παρόμοια. Έτσι, έχουμε ένα κομμάτι της εικονικής πραγματικότητας συμβαίνει εδώ, καθώς, όλα αυτά κατά τη όρια του browser μου, απλά εδώ χρησιμοποιώντας κάμερα μου. Λοιπόν, τι είναι τότε στον ορίζοντα. Το πρώτο σετ το πρόβλημα, όπως θα δείτε, ή η ιστοσελίδα θα πάει σε απευθείας σύνδεση αργότερα απόψε στο cs50.net, είναι αρκετά πολύ θα είναι ανοιχτό. Και εφαρμογή ενός σχεδίου Scratch ενδιαφέρον για σας, ένα παιχνίδι, ένα αλληλεπίδραση, κάτι καλλιτεχνικό, και πρόκληση στον εαυτό σας να χρησιμοποιήσει οποιοδήποτε αριθμό από αυτά τα κομμάτια του παζλ. Και αυτό μπορεί να είναι είτε διαδραστικά με τον τρόπο αυτό. Ή μπορεί να είναι κάτι πιο σκόπιμα φτιάχτηκε για να πει μια ιστορία. Και πράγματι, αυτό είναι όπου θα καταλήξουμε off Σήμερα, με ένα τελευταίο παράδειγμα. Επιτρέψτε μου να πάω στο Scratch σε τοπικό επίπεδο. Επιτρέψτε μου να προχωρήσει και να το ανοίξετε, και να παίξετε ένα τελευταίο πρόγραμμα γραμμένο από έναν από τους προκατόχους σας, δηλαδή ότι ένα εδώ. Καλό, να αυξήσει την ένταση του ήχου για αυτό. [Παίζει μουσική] Αφηγητής: Στην επόμενη CS50, David καλεί έναν εθελοντή στη σκηνή. DAVID MALAN: Για αυτή τη διαδήλωση, θα πάμε να χρειάζονται έναν εθελοντή. Θα θέλατε να έρθει προς τα κάτω; Ποιο είναι το όνομά σου; Προχωρώντας.