DAVID MALAN: Αυτό είναι CS50, και αυτό είναι η αρχή της εβδομάδας ένα. Και τι σκεφτήκαμε να κάνουμε είναι να τραβήξτε προς τα πίσω η αυλαία μιας συσκευής που πολλοί ίσως έχετε περπάτησαν παρελθόν τώρα εδώ και χρόνια, αλλά ίσως ποτέ δεν είναι αρκετά γνωστό τι είναι. Έτσι, αυτή η συσκευή θα φανεί πιθανώς εξοικειωμένοι οι περισσότεροι από εσάς μέχρι τώρα. [PLAYBACK VIDEO] -Ένας θρίαμβος των μαθηματικών και μηχανική ικανότητα είναι αυτό το μεγάλο νέο αυτόματο κομπιουτεράκι στο Πανεπιστήμιο του Χάρβαρντ. Περίπλοκα προβλήματα στα μαθηματικά που μέσω της μηχανής σε κωδικοποιημένη μορφή για ταινία λυθεί με ακρίβεια σε ένα λεπτό κλάσμα του χρόνου που απαιτείται για την ανθρώπινη υπολογισμό. Σχεδιασμένο για να επισπεύσει όλες τις μορφές της μαθηματικών και της επιστημονικής έρευνας, ο γίγαντας μηχανική του εγκεφάλου θα εργάζονται για τις Ηνωμένες Πολιτείες Ναυτικό μέχρι το τέλος του πολέμου. [PLAYBACK VIDEO END] DAVID MALAN: Λοιπόν, αυτό που βλέπετε στην το Science Center, το οποίο είναι όπου ότι η μηχανή είναι τώρα στεγάζεται. Μπορείτε πραγματικά να δείτε ένα μόνο μέρος της. Μόνο ένα τμήμα αυτή τη στιγμή στην οθόνη, και αυτό είναι μια συσκευή που ονομάζεται το Mark I, και ήταν ουσιαστικά μια πραγματικά τεράστια αριθμομηχανή. Το πρόγραμμα αυτό διαδέχτηκε τον Mark II, και Είναι από το Mark II που στην πραγματικότητα πάρετε μια πρώτη γεύση από το λεξικό. Αυτή είναι η πρώτη περίπτωση καταγράφεται κάτι που είστε έτοιμος να γίνουν όλοι πάρα πολύ εξοικειωμένοι με πάνω από το διάρκεια του εξαμήνου - δηλαδή, ένα bug. Έτσι, αποδείχθηκε ότι σε ένα σημείο ο Mark II συσκευή δεν λειτουργεί σωστά, και μετά από προσεκτική εξέταση, υπήρχε πράγματι ένα bug - ένα έντομο - ότι σκώρο - στο εσωτερικό του. Και από τότε, έχουμε αναφερθεί σε λάθη σε προγράμματα, όπως σφάλματα. Έτσι, περισσότερα για αυτό να έρθει. Μιλώντας βίντεο, καθώς, αν δεν το έχετε ήδη, γνωρίζουμε ότι CS50 είναι προφανώς γυρίστηκε. Οι διαλέξεις συνήθως ανεβαίνουν αμέσως μετά τάξη σε ένα είδος pre-release ανέκδοτος μορφή, και στη συνέχεια μια ημέρα ή δύο αργότερα, βάζουμε μια υψηλότερη ανάλυση και υψηλότερη ποιότητα έκδοση. Μπορείτε να ανακαλέσετε Vanessa, ο οποίος είχε την τύχη παίζει με το Google Glass, που θυμήθηκα να χρεώνουν αυτή τη φορά. Έτσι, εάν θέλετε να καταλήξει μετά το μάθημα και να παίξει, θα πρέπει να εργαστούν σήμερα. Και αν θέλετε να δείτε τι Vanessa είδε την άλλη μέρα, τι θα δείτε εδώ - επιτρέψτε μου να αυξήσετε την ένταση εδώ στο laptop μου. [PLAYBACK VIDEO] -Επιτρέψτε μου λοιπόν ουρά αυτό είναι επάνω. Εντάξει. Έτσι αγγίξει αυτό. Εντάξει. OK, γυαλί. Καταγράψτε ένα βίντεο. Εντάξει. Vanessa; [PLAYBACK VIDEO END] DAVID MALAN: Εντάξει, έτσι ώστε ο λόγος ότι δεν λειτουργεί για τους περισσότερους από εσάς σε το τέλος της κατηγορίας ήταν επειδή προχώρησα να καταγράψει μια ώρα από ότι πλάνα που δείχνουν τον εαυτό μου μετά από Έβαλα τα γυαλιά κάτω. Έτσι, σήμερα, εγώ θα τους αφήσει μακριά, αλλά σας ευχαριστώ να Vanessa για να είναι μια τέτοια καλό του αθλητισμού. Εν τω μεταξύ, ένα ζευγάρι των ανακοινώσεων πριν προχωρήσουμε σήμερα. Έτσι, ένα, CS50 έχει παράδοση να κάνει ό, τι μπορούμε για να προσπαθήσουμε να κάνουμε μια πολύ μεγάλη κατηγορία αισθάνονται μικρότερη. Και προς αυτή την κατεύθυνση, οι περισσότεροι κάθε Παρασκευή, μαζευόμαστε σε εστιατόριο η πλατεία, Fire and Ice, με 30 ή 40 από τους συμμαθητές σας, τον εαυτό μου, μερικές από τις το διδακτικό προσωπικό, και εμείς απλά έχουν ένα πολύ απλό γεύμα. Εμείς συχνά προσκαλούν τους φίλους από τη βιομηχανία, αποφοίτους της τάξης του, απόφοιτοι του κολέγιο, πραγματικά ακριβώς για να συνομιλήσετε κάθε άλλον, μιλούν για τη ζωή μετά κολέγιο, η ζωή στο κολέγιο, και τα παρόμοια. Έτσι, αν θα θέλατε να συμμετέχετε σε αυτό πρώτη τέτοια γεύμα αυτή την Παρασκευή στις 13:15, το κεφάλι σε αυτό URL σε κάποιο σημείο. Ο χώρος είναι περιορισμένος, έτσι θα κάνουμε σειρά προτεραιότητας. Αλλά εμείς θα κάνουμε αυτό και πάλι σε ένα επαναλαμβανόμενο βάση, έτσι ώστε να μην ανησυχείτε αν δεν το κάνετε να είναι σε αυτή την πρώτη παρτίδα. Τώρα, όσον αφορά τους πόρους που προβλέπονται curricularly από την πορεία, υπάρχει ένα σύνολο γυρίζει, και αν δεν έχετε τράβηξε την ιστοσελίδα του μαθήματος ήδη, ιδίως, σύμφωνα με διαλέξεις, θα διαπιστώσετε ότι τα πάντα κάναμε την περασμένη εβδομάδα είναι εκεί, τόσο σε βίντεο και κάποιου είδους της ηλεκτρονικής μορφής. Αλλά πέρα ​​από τα βίντεο, θα βρείτε ότι υπάρχουν πλέον πλήρες κείμενο μεταγραφές, για παράδειγμα, από κάθε διάλεξη. Έτσι, αν θέλουμε πραγματικά να πάμε πίσω σε αυτή την οθόνη εδώ με τη Vanessa, και να περιηγηθείτε στην κάτω γωνία της οθόνης, θα διαπιστώσετε ότι στην πραγματικότητα, όχι για Διάλεξη της Παρασκευής, αλλά αν πάμε πίσω στο Τετάρτη, δεδομένου ότι αυτό το χαρακτηριστικό παίρνει λίγες ημέρες, θα διαπιστώσετε ότι μπορείτε να πραγματικά σηκώσει, για καλό ή για χειρότερα, κάθε λέξη που έχω ή εθελοντής στη σκηνή είπε. Και περισσότερο από ακριβώς αυτό. Μπορείτε να αναζητήσετε στην πραγματικότητα, μπορείτε να κάντε κλικ σε οποιαδήποτε από αυτές τις ποινές, άλμα σε εκείνο το σημείο στο βίντεο, όλα τα προς και στο τέλος της λήψης του υλικού σε όλη τη πιο πλωτό. Αλλά αν θέλετε ακολουθούν δεν είναι παρά με τόση λεπτομέρεια, θα βρείτε, για παράδειγμα, αυτό το μικρό μενού εδώ για 1.5x ταχύτητα, ταχύτητα 2x, ή εγώ έχω ήδη f μιλούν πολύ γρήγορα για σας, 0,75 x ταχύτητα. Έτσι συνειδητοποιήσει όλα αυτά είναι διαθέσιμα εκεί για σένα. Αλλά πέρα ​​από αυτό, για διαλέξεις, συνειδητοποιούν ότι θα κάνουν επίσης τους πόρους αυτούς Διατίθενται επίσης. Διαφάνειες, παράδειγμα κώδικα, κάτι που μου κάνει στη σκηνή ή στην εκ των προτέρων κατηγορίας, θα δημοσιεύσετε εκεί, έτσι ώστε να μπορείτε να παίξετε μαζί στο σπίτι ή στο Sanders. Αλλά αυτό που επίσης σκεφτήκαμε να το κάνουμε αυτό χρόνος για την πρώτη φορά, είναι επίσης σας παρέχει περάσματα αυτών των παραδειγμάτων. Όλο και περισσότερο, όπως έχω αντανακλάται στην αξία των διαλέξεων CS50 είναι, έχω αρχίσει στην ερώτηση πόσο χρήσιμο είναι για εσείς να καθίσει εκεί, για μένα να σταθεί εδώ, και για μένα να μιλήσω σε σας, ιδιαίτερα, όπως το υλικό, η παραδείγματα, να πάρει πιο σύνθετες. Επειδή πάντα, μετά από κάποιο αριθμό λεπτά, κάποιος θα ζώνη έξω, και τότε θα χάσετε κάποιες βασικές γνώσεις κάποιων παράδειγμα, και τότε είστε ουσιαστικά φύγει για το υπόλοιπο τμήμα της κατηγορίας, η οποία δεν είναι η καλύτερη χρήση των το χρόνο σας, ή, πραγματικά, το δικό μας συλλογικά ως τάξη. Και έτσι αυτό που νομίζαμε ότι θα προσπαθήσουμε να κάνουμε, ιδίως για μερικά από τα πιο περίπλοκα παραδείγματα που δεν μπορεί να κάνει δικαιοσύνης στην τάξη, ώστε δεν θα μπορούσε έχουν χρόνο για στην τάξη, ή μπορείτε να ακριβώς ζώνη κατά τη διάρκεια, είναι ότι θα παράγουν μια σειρά από περάσματα από αυτά παραδείγματα, έτσι ώστε αν πάτε στο για παράδειγμα, η σελίδα της περασμένης Παρασκευής βίντεο εδώ σύμφωνα με τα παραδείγματα, θα δείτε ότι για την Παρασκευή, υπάρχει τώρα αυτό σύνδεση με περάσματα. Και η μορφή αυτών των θα αλλάξει με την πάροδο του χρόνου. Προς το παρόν, είμαστε χρησιμοποιώντας μια απλή YouTube playlist. Αλλά αυτό που έκανα με την ομάδα παραγωγής μας στη συνέχεια ήταν με τα πόδια μέσα από κάθε και κάθε ένα από αυτά τα παραδείγματα και πάλι, ελπίζουμε επισημαίνοντας σε πολύ μεγαλύτερες σαφήνεια τι ακριβώς τα φαστ φουντ θα μπορούσε να είναι ή θα πρέπει να είναι από το καθένα. Έτσι, θα βρείτε, για παράδειγμα, από τον περασμένο εβδομάδα, όλα τα παραδείγματα μηδέν περάσαμε γίνονται γραμμικά στο ότι η μόδα. Έτσι αισθάνονται ελεύθεροι να συμμετάσχουν ή όχι συμμετέχουν σε αυτό το υλικό. Πραγματικά ένα θέμα του συγκεκριμένου μαθήματος είναι ότι υπάρχει πιθανώς περισσότερο με τον τρόπο των πόρων από ό, τι θα μπορούσε ενδεχομένως να απορροφήσει πάνω τη διάρκεια του εξαμήνου. Αλλά αυτό είναι σκόπιμη. Είναι γραφτό να γίνει έτσι ώστε εσείς, ως μεμονωμένους μαθητές μπορούν να αυτο-επιλέξτε με βάση το στυλ μάθησης σας. Έτσι, αν διαλέξεις να λειτουργήσει για σας, μεγάλη. Εάν τμήματα λειτουργήσει για σας, μεγάλη. Αν περάσματα εργάζονται για καλύτερα, μεγάλη. Πραγματικά θα είναι στο χέρι σας να επιλέξετε πόροι τι λειτουργεί καλύτερα για σας. Τέλος, χάρη σε μια απόφοιτος του Φυσικά, πρέπει επίσης να παρέχουν ένα κανονικό σύνολο σημειώσεων γραφέα. Έτσι, αντί να έχετε τα κεφάλια παιδιά προβλέπεται στο διαλέξεις κακογραφία κάτω πράγματα που έρχονται στην τάξη, εμείς, οι το προσωπικό, θα σας δώσει ό, τι πιστεύετε ότι είναι ένα κανονικό σύνολο σημειώσεις σας ελευθερώσω από την απόσπαση της προσοχής, έτσι ώστε να αν είστε εδώ και να ασχολούνται, είστε πραγματικά ασχολούνται με το τι συμβαίνει, με τους συμμαθητές σας κάνουν επάνω στάδιο, με ό, τι υπάρχει στην οθόνη, και όχι απλά γράφοντας επί λέξει τι συνέβη σε έχουν ειπωθεί. Έτσι συνειδητοποιήσουμε όλοι των πόρων αυτών είναι στη διάθεσή σας. Τομές, απαντώντας σε ερωτήσεις, θα αρχίσει την Τετάρτη. Εμείς ουσιαστικά περιμένουμε μέχρι μετά τα περισσότερα Οι άλλες κατηγορίες γίνει έτσι ώστε μπορούμε να ελαχιστοποιηθεί ο αριθμός των αλλαγών ότι πρέπει να κάνουμε. Αλλά έρχεται αυτό το Σαββατοκύριακο, ξεκινώντας Κυριακή, θα είναι μια χρονική στιγμή της αυτό που λέμε σούπερ τμήματα. Αυτά θα γυριστεί για εκείνους που δεν μπορούν να παραστεί, και ουσιαστικά, η κεφάλια μαθήματος θα μας καθοδηγήσει κάποια του τμήματος Γ του μαθήματος, προς το τέλος του σετ προβλήματος One, η οποία πρόκειται να είναι η πρώτη μας C βασίζεται set πρόβλημα. Και αυτά θα είναι μόνο προαιρετικές ενότητες εν αναμονή του τι θα να γίνουν επαναλαμβανόμενα τμήματα οδήγησε από 50 και πλέον του μαθήματος διδασκαλία των υποτρόφων εβδομάδα. Την Κυριακή ή Δευτέρα και την Τρίτη, θα διαθέτει 90 μικρά τμήματα σε ένα πολύ παραδοσιακή έννοια, η οποία θα είναι ευκαιρίες για τα χέρια και περισσότερο οικεία επανεξέταση της υλικό μαθήματος. Χωρίς άλλη καθυστέρηση, επιτρέψτε μου να εισαγάγει κεφάλια του μαθήματος, οι οποίοι είναι πίσω από τις σκηνές μαζί μου, κάνει τα πάντα συμβαίνουν. Αν αυτές εδώ σήμερα θα μπορούσε να ενταχθεί μου, Rob και Lauren και ο Ιωσήφ και Lucas, όλα από τους οποίους έχουν με το Φυσικά για κάποιο χρονικό διάστημα. RJ είναι η τρίτη τέτοια μέλος της ομάδας μας. Δεν θα μπορούσε να είναι εδώ σήμερα, αλλά μου ζήτησε να δείχνουν μια φωτογραφία του. Δεν είμαι σίγουρος ότι ήθελε αυτό ένα, αλλά εκεί είναι. Και επιτρέψτε μου ώστε η ομάδα να πει γεια και εισάγουν οι ίδιοι, έτσι ώστε μπορείτε να τους γνωρίσετε, καθώς σας τη δική τους συναδέλφους διδασκαλίας αυτός ο όρος. LAUREN CARVALHO: Hi. Το όνομά μου είναι Lauren Carvalho. Είμαι κάτοικος δάσκαλο στο Leverett Σώμα. Είμαι, επίσης, εξαιρετικά ενθουσιασμένοι να είναι ένα TV κεφάλι για CS50 φέτος. CS50 είναι μια πολύ δύσκολη κατηγορία, καθώς και ως μια πολύ μεγάλη κατηγορία, οπότε αν έχετε οποιεσδήποτε ανησυχίες, εάν αισθάνεστε όπως είστε μείνει πίσω, μη διστάσετε να φτάσει σε όλους μας σε heads@cs50.het, ή για μένα, αν θέλετε αρέσει να παίζουν με τα χρυσά μου κουτάβι retriever. Εδώ είναι Lucas. LUCAS FREITAS: Γεια σας, παιδιά. Το όνομά μου είναι Lucas Freitas. Είμαι μια junior [δεν ακούγεται] επιστήμη των υπολογιστών και τη γλωσσολογία. Είμαι πραγματικά από τη Βραζιλία, και θα ήθελα επίσης συνειδητοποιούν ανατολικά Ασιατικών Σπουδών. Έτσι, εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με επιστήμη των υπολογιστών ή γλώσσα ή τίποτα, απλά επιτρέψτε μου να ξέρω. Ή CS50, ιδιαίτερα. JOSEPH ONG: Hi. Είμαι Ιωσήφ. Είμαι ένας ανώτερος υπολογιστή μελέτη επιστήμης στην Elliott House. Έτσι, ας δούμε. Θα με δείτε γύρω από την άσκηση μία από αυτές τις τεράστιες κάμερες. Είμαι ο κάτοικος φωτογράφος του προσωπικού για 50, καθώς και οι μαθητές συχνά μερικές φορές με λάθος για μια ασιατική τουριστών. Έτσι, αν με δείτε με μια φωτογραφική μηχανή, δεν τρέχει μακριά. Απλά χαμόγελο και να μην είστε ντροπαλός. Και ελπίζω να απολαύσετε 50. Μου άρεσε πάρα πολύ όταν την πήρα, και γι 'αυτό έχω TFing για αυτά τα τρία χρόνια. ROB BOWDEN: Hi. Είμαι Rob. Αυτό είναι το τέταρτο εξάμηνο μου με CS50. Μόλις αποφοίτησε το Μάιο. Ήμουν σε Kirkland. Είμαι ενθουσιασμένος για αυτό το εξάμηνο, και ελπίζω να είναι πάρα πολύ. DAVID MALAN: Σας ευχαριστώ για την φετινή κεφάλια, και RJ, καθώς και. Έτσι, μερικές τελικές σημειώσεις σχετικά με τους πόρους. Ένα, p 0 που είναι ήδη επάνω. Αυτός υπάρχει μόνο στο πρότυπο έκδοση, η οποία προορίζεται για τη σύνολό της κατηγορίας. Ξεκινώντας με ρ σετ 1, θα υπάρξει εκδόσεις χάκερ περισσότερα σύνολα προβλήματος, η οποία, και πάλι, θα καλύψει το υλικό με λίγο περισσότερο από μια πρόκληση, ενώ εξακολουθούν να αγγίζουν σε ορισμένες τα ίδια θέματα. Να ρίξουμε μια ματιά στην ιστοσελίδα του μαθήματος για την εν λόγω προδιαγραφές για την παύση p 0. Ώρες γραφείου, επίσης, θα αρχίσει αυτή την εβδομάδα, απόψε, αύριο, Τετάρτη, και την Πέμπτη σε διάφορες τραπεζαρία αίθουσες στην πανεπιστημιούπολη. Αναχώρηση cs50.net/ohs για το γραφείο ώρες για το μάθημα, και να συνειδητοποιήσουμε το θα είναι πολύ απλό ευκαιρίες, Βεβαίως, κατά την έναρξη της εξαμήνου, να έρθουν κοντά με σας φορητό υπολογιστή κατά τη διάρκεια της διακοπής του εγκεφάλου. Φέρτε μερικούς φίλους και να συνομιλήσετε μέχρι το ΤΡ ΑΠ και φυσικά με οποιαδήποτε ερωτήσεις που μπορεί να έχετε. Και δεν μπορώ να τονίσω αρκετά, ακόμα και για το μηδέν και το πρόβλημα σύνολο 0, υπάρχει Πραγματικά δεν είναι χαζή ερώτηση. Δεν υπάρχει κανένας φοιτητής πάρα πολύ άβολα να υποβάλουν ερωτήσεις. Παρακαλώ μη διστάσετε να επωφεληθείτε αυτού του πόρου. Θα είναι εκεί recurringly τη διάρκεια του εξαμήνου, όπως θα CS50 Συζητήστε. Αυτό είναι online συζήτηση του μαθήματος φόρα σε αυτή τη διεύθυνση εκεί. Αυτό που, επίσης, θα κάνουμε κατά τη διάρκεια διαλέξεων είναι επίσης να παρακολουθεί αυτό, χάρη στην διδακτική ομάδα μαθήματος. Και έτσι, αν έχετε μία ερώτηση κατά την διάλεξη, επειδή είπα κάτι ανεπαρκώς ή καθόλου, με όλα τα μέσα, να ζητήσει ότι, σε πραγματικό χρόνο, αν έχετε σας φορητό υπολογιστή ή το τηλέφωνο στο δικτυακό τόπο, και εμείς θα κάνουμε το καλύτερο δυνατό σε σχεδόν πραγματικό χρόνο για απαντήσετε σε αυτό. Υπάρχουν ερωτήματα σχετικά με CS 50 εκεί; Στη συνέχεια, ένα τελευταίο σημειώσεις μου. Το ζήτημα της SAT ακόρεστων. Όπως θα ολοκληρώσει τις κάρτες σπουδών σας, αν δεν το έχετε ήδη, να συνειδητοποιήσουμε ότι η συνολικό όραμα της SAT ακόρεστων, διαθέσιμο για όλους τους μαθητές, είναι πραγματικά για να λάβει την άκρη από ένα μάθημα όπως αυτό, να το πω έτσι, ώστε αν βρείτε τον εαυτό σας αργά το βράδυ, δύο, τρεις, πραγματικά να χτυπάς το κεφάλι σου επάνω ενάντια το τείχος, όπου ξέρετε ότι είστε το 99% των ο τρόπος εκεί για να ολοκληρωθεί, αλλά θα έχουν τόσα πολλά άλλα πράγματα να κάνουμε, Νομίζω ότι μια καλύτερη χρήση, συχνά, της χρόνου των μαθητών είναι να πράγματι να προχωρήσουμε σε αυτά τα άλλα πράγματα, ώστε να μπορείτε να βελτιστοποιήσετε το χρόνο σας όλα γύρω. Και SAT ακόρεστων είναι ένας μηχανισμός μέσω του οποίου μπορείτε να πάρετε την άνεση στο γεγονός ότι το 99% του τρόπο υπάρχει ακόμα αρκετά καταριέται καλό. Ομοίως, πάρα πολύ, αν έχετε έρθει στο Φυσικά χωρίς προηγούμενη υπόβαθρο ή δεν είναι σχεδόν τόσο πολύ παρασκήνιο καθώς σκεφτείτε τους συμμαθητές σας θα μπορούσε να έχει, αλήθεια ή ψευδής, συνειδητοποιούν ότι αυτό είναι ένα ευκαιρία να λερώσετε τα χέρια σας με την πορεία, να θέσει τα δάχτυλα των ποδιών σας στο νερό, να το πω έτσι, σαν τον εαυτό μου έκανε χρόνια πριν με την επιτυχία / αποτυχία. Όπως είπα και την περασμένη εβδομάδα, είχε αυτή την πορεία, όπως και άλλοι, δεν ήταν διαθέσιμες επιτυχίας / αποτυχίας κατά τη χρονική στιγμή, εγώ κατά πάσα πιθανότητα θα Δεν έχουν ενισχυθεί ποτέ το πόδι στο η τάξη, ακόμα κι αν το έκανα, πέντε βδομάδες αργότερα, να αλλάξει το μυαλό μου, το οποίο μπορείτε μπορεί επίσης, και να περάσει στην ή από την επιστολή διαβαθμισμένη κατάσταση. Εντάξει. Έτσι κοιτάξαμε τα πράγματα όπως αυτό στο Παρασκευή, και είμαστε πολύ γρήγορα θα για τη μετάβαση σε κάτι που φαίνεται πιο αινιγματικό σήμερα. Αλλά παρ 'όλα αυτά η ίδια βασική ιδέα. Ποιος ήταν ο γενικός όρος που χρησιμοποιείται για να περιγράψει ένα κομμάτι του παζλ που έμοιαζε με αυτό; Έτσι, μια δήλωση. Και μπορείτε να καλέσετε αυτό οποιαδήποτε σειρά από πράγματα. Αλλά θα την αποκαλούν απλώς μια δήλωση, και μια δήλωση ακριβώς λέει το πρόγραμμα - ή, στην περίπτωση του Scratch, το sprite - να κάνει κάτι. Υποδεχτείτε σε αυτή την περίπτωση. Κάτι τέτοιο θα αντ 'αυτού ονομάζεται τι; Ναι, έτσι, ένα Boolean έκφραση. Μια λογική έκφραση είναι κάτι ότι είναι αληθής ή ψευδής, και έτσι Scratch αντλεί τους με αυτό το σχήμα, αλλά επίσης και με ένα ερωτηματικό για να μεταφέρω το ιδέα ότι η απάντηση στο ερώτημα αυτό είναι είτε αληθής ή ψευδής, ναι ή όχι ένα, 1 ή 0. Και χρησιμοποιούμε αυτές τις εκφράσεις Boolean στο εσωτερικό των κατασκευών, όπως αυτές, οι οποίες καλέσαμε τι; Έτσι, κατάσταση ή το υποκατάστημα. Και η κατάσταση που βλέπετε εδώ Scratch έχει ένα μικρό σύμβολο κράτησης θέσης για μια κομμάτι του παζλ αυτού του σχήματος, ο σκοπός εκ των οποίων είναι έτσι ώστε να μπορείτε να σύρετε και να ρίξετε από πάνω και στη συνέχεια υπαγορεύουν στο πρόγραμμα εάν αυτό Boolean έκφραση είναι αληθής, κάνει αυτό το σύνολο των οδηγίες, αυτό το σύνολο των δηλώσεων, άλλο να το κάνει αυτό το άλλο σύνολο των οδηγιών. Και υπενθυμίζουν ότι μπορείτε να φωλιά αυτά τα πράγματα. Ακόμα κι αν δεν υπάρχει πολύς χώρος οπτικά σε αυτό το κομμάτι του παζλ, Scratch θα αυξηθεί και θα συρρικνωθεί για να χωρέσει οτιδήποτε κομμάτια του παζλ που drag and drop σε οπότε εκεί μπορείτε πραγματικά φωλιά αυτό και έχουν ένα πιρούνι τρεις τρόπο στο δρόμο. Εάν, αλλιώς if, else. Και μπορείτε να πάτε ακόμη και πέρα ​​από ότι με φωλιάσματος περαιτέρω και περισσότερο, όπως απαιτείται. Έτσι, τέλος, είδαμε κατασκευάσματα όπως Αυτό, αλλιώς γνωστή ως βρόχος. Και αυτό είναι κάτι που κάνει κάτι ξανά και ξανά και ξανά. Σε αυτή την περίπτωση, συμβαίνει να είναι μια πεπερασμένη πολλές φορές, αλλά πρέπει επίσης είδε ένα παράδειγμα όπου ο αριθμός των φορές προήλθε από μια μεταβλητή, έτσι θα μπορούσε να αλλάξει. Και είδαμε επίσης ένα άλλο μπλοκ συνολικά ονομάζεται πάντα μπλοκ που μας επέτρεψε να βρόχο απείρως μεγάλη. Έτσι, ένα άλλο κατασκεύασμα που Scratch 2.0 έχει - και όσοι από εσάς περισσότερα άνετα με την προηγούμενη υπόβαθρο είναι ήδη εξοικειωμένοι με αυτό κατασκευή - αυτά τα πράγματα που ονομάζεται τι; Γι 'αυτό και ονομάζεται αυτές τις λειτουργίες, διαφορετικά γνωστή ως διαδικασίες. Υπάρχει μια μικρή σημασιολογική διαφορά, αλλά θα τους αποκαλούμε απλά λειτουργίες. Και μια λειτουργία, στην περίπτωση του Scratch, είναι ένα έθιμο κομμάτι του παζλ που μπορείτε μόνοι σας να δημιουργήσετε έτσι ώστε να έχετε ένα νέο κομμάτι του παζλ που, σε αυτή την περίπτωση, θα πρέπει να ονομάζεται βήχα, ότι εμφανίζεται μεταξύ όλων των άλλων διαθέσιμα κομμάτια παζλ στο Scratch. Ακόμα κι αν MIT δεν εφηύρε Αυτό το κομμάτι του παζλ, το έκανες. Έτσι, η λειτουργία σας επιτρέπει να δημιουργήσετε νέα συμπεριφορά, δώστε το όνομα μιας συνάρτησης, και τότε καλέστε, να το πω έτσι. Πραγματικά το χρησιμοποιήσετε σε προγράμματα και πάλι ξανά και ξανά χωρίς να χρειάζεται να περιμένει για κάποιον σαν MIT κάτω από το δρόμο για να εφεύρουν νέες λειτουργίες από το μηδέν. Μπορείτε μόνοι σας να οικοδομήσουμε αυτά τα παζλ κομμάτια τον εαυτό σας, και στη συνέχεια να τα ξαναχρησιμοποιήσετε στα δικά σας προγράμματα. Και θα δούμε ένα επαναλαμβανόμενο παράδειγμα από ότι σήμερα και μετά. Έτσι, σήμερα, έχουμε μετάβαση τώρα σε κάτι πιο απόκρυφες. Αλλά στο τέλος της ημέρας, κάτι πιο ισχυρή και εκφραστική και πιο εκπρόσωπος της διαδρομής που θα είμαστε σε όλα εξάμηνο σε έναν αριθμό γλωσσών - εκείνη του κωδικού ή του πηγαίου κώδικα. Και πηγαίο κώδικα, αποδεικνύεται, δεν είναι ό, τι ένας υπολογιστής συνήθως πραγματικά τρέχει. Ο πηγαίος κώδικας μοιάζει κάπως έτσι. Έτσι, αυτό είναι, και πάλι, ίσως ο απλούστερος πρόγραμμα που μπορεί να γράψει σε ένα γλώσσα που ονομάζεται C. Θα αρχίσει να πειράζω αυτό εκτός πριν από καιρό, και αν αυτό πραγματικά μοιάζει ελληνική σε σας τώρα, πιστέψτε με. Μέσα σε μόλις μια εβδομάδα ή δύο το χρόνο του, αυτή θα είναι πολύ εξοικειωμένοι και πραγματικότητα αρκετά αντιπροσωπευτική της ολοένα και περίπλοκα παραδείγματα με την οποία θα επίσης να πάρετε πιο άνετα. Αλλά δεν μπορείτε να εκτελέσετε μόνο αυτό είδος κώδικα συνήθως. Θα πρέπει να το μετατρέψουμε σε κάτι που ο υπολογιστής κατανοεί τον εαυτό της. Και έτσι γι 'αυτό, χρειαζόμαστε κάτι θα πάμε να καλέσετε έναν compiler. Ένας μεταγλωττιστής είναι ένα πρόγραμμα που διαρκεί πηγαίο κώδικα, όπως μόλις είδατε, όπως εισόδου και παράγει και μηδενικά αυτά ως έξοδο, αλλιώς γνωστή ως αντικειμενικό κώδικα. Και είναι αυτά τα μηδενικά και αυτά που μπορεί να μοιάζει αρκετά όπως αυτό που τελικά είναι κατανοητά από το Mac ή το PC σας. Αν έχετε ακούσει ποτέ τη διάθεση στην αγορά έκφρασης Intel Inside, ότι ακριβώς σημαίνει ότι μια εταιρεία που ονομάζεται Η Intel έχει κατασκευάσει η εγκέφαλος του υπολογιστή σας - αλλιώς γνωστή ως το CPU, κεντρική μονάδα επεξεργασίας - και αυτό είναι ακριβώς το πράγμα που αντιλαμβάνεται μοτίβα από μηδενικά και αυτοί. Και έτσι με τη μετατροπή του πηγαίου κώδικα σε Κωδικός αντικειμένου μέσα από αυτή τη διαδικασία εδώ ότι θα κάνουμε με ένα ζευγάρι των εντολών σε μόλις ένα κομμάτι, θα είναι δημιουργία μοντέλων από μηδενικά και αυτοί που έχουν οι εργαζόμενοι στην Intel αποφάσισε αντιπροσωπεύουν ορισμένες δηλώσεις. Τώρα, εγώ δεν γνωρίζω που το οποίο από μόνο ρίχνοντας μια ματιά στο αυτά τα μηδενικά και αυτοί. Οι περισσότεροι άνθρωποι αυτές τις μέρες δεν το κάνουν. Αλλά κάπου εκεί είναι ένα μοτίβο μηδενικά και αυτοί που αντιπροσωπεύει το Εκτύπωση δήλωση. Κάπου στη μπορούσε να υπάρξει μια διαφορετική που από μηδενικά και αυτοί που αντιπροσωπεύει την έννοια του για πάντα ή επαναλάβετε 10 φορές ή ακόμη νιαούρισμα, αν είναι στην πραγματικότητα ένα πρόγραμμα που μπορεί να περιλαμβάνει ορισμένα ήχους. Έτσι, με λίγα λόγια, οι άνθρωποι έχουν απλώς αποφάσισαν, πολύ όπως κάναμε για ASCII - για τα γράμματα του αλφαβήτου την περασμένη εβδομάδα - οι άνθρωποι έχουν αποφασίσει ότι, ακόμη και πιο πολύπλοκα σχήματα μηδενικά και αυτοί αντιπροσωπεύουν περισσότερο σύνθετη συμπεριφορά όπως εκτύπωση ή λέει ή meowing. Και έτσι για σήμερα, και σε μεγάλο βαθμό και μετά το εξάμηνο, θα αναλάβει για δεδομένο ότι κάποιος έχει καταλάβει πώς να το κάνουμε αυτό χαρτογράφηση. Αλλά εμείς, σύμφωνα με αυτή την ιδέα της στρωματοποίησης πάνω από το έργο των ανθρώπων που έχουν έρθει πριν από μας, θα λάβει για χορήγησε το γεγονός ότι αυτό συμβαίνει κάτω από το καπό. Αλλά είμαστε πολύ πιο ενδιαφέρονται για πράγματα κτίριο που είναι πιο ενδιαφέρον πάνω από όλα αυτό. Και έτσι πράγματι, το πρώτο πρόγραμμα που έγραψε στο Scratch ήταν αυτό το σούπερ απλό ένα Hello World. Και μπορείτε να σκεφτείτε αυτό ως το κύριο πρόγραμμα που διέπει το Scratch συμπεριφορά, όπως την περασμένη Παρασκευή. Σήμερα, θα πάμε για να αρχίσει να μεταφράσει Scratch κομμάτια του παζλ σε πηγαίο κώδικα σε αυτό που ονομάζεται γλώσσα C, έτσι ώστε ό, τι έμοιαζε με αυτό για Παρασκευή, αρχής γενομένης από σήμερα και μετά, είναι τώρα πρόκειται να μοιάζει με αυτό. Βεβαίως πιο αινιγματικό. Είναι αρκετά αποσπά την προσοχή και το είδος του μυαλού μούδιασμα για να δείτε όλες τις προσφορές και τα ερωτηματικά και οι παρενθέσεις και ούτω καθεξής. Αλλά αν αρχίσουμε να αγνοούμε ό, τι Δεν καταλαβαίνω, και πραγματικά να δούμε στην ουσία του λευκού κειμένου σχετικά με την οθόνη, σίγουρα θα δείτε, όπως εγώ, "Hello, World". Που ευθυγραμμίζεται με το μοβ δήλωση επάνω στην κορυφή, και αποδεικνύεται ότι η λέξη-κλειδί κύριος πρόκειται να παρατάξει εννοιολογικά με όταν είναι πράσινες σημαία κλικ. Έτσι, με άλλα λόγια, ενώ το Scratch, έχουμε εφαρμόσει αυτό το πρόγραμμα Hello World με αυτά τα δύο κομμάτια του παζλ, το C, θα πάμε να το υλοποιήσουμε με αυτά τέσσερις κάπως αινιγματικά γραμμές. Αλλά όπως έχουμε βουτήξει βαθύτερα αυτό, θα δείτε ότι κάθε ένα από αυτά λευκούς χαρακτήρες στην οθόνη πραγματικότητα έχει κάποια σημαντική έννοια, και τα περισσότερα από τα προγράμματά μας πρόκειται να δείτε δομικά ακριβώς το ίδιο. Έτσι, μια δήλωση, να είναι σαφής, αυτό που έμοιαζε με "Say hello world" στο Η Παρασκευή πρόκειται να αρχίσει να ψάχνει αρέσει αυτό τη Δευτέρα. printf ("Hello, World"). Και υπάρχει κάποια περίεργη backslash n, υπάρχει παρένθεση, υπάρχει ερωτηματικά. Αλλά στο τέλος της ημέρας, το κλειδί takeaway σήμερα είναι ότι όλοι κάνουμε μεταφράζει τα πράγματα από την εικόνα αποτελούν την μορφή κειμένου. Έτσι, ένας βρόχος που έμοιαζε με αυτό την περασμένη εβδομάδα πρόκειται να εξετάσουμε τώρα κάτι σαν αυτό. Και επιτρέψτε μου να αποποιηθεί, όπως ακριβώς και στην Scratch, υπάρχουν διαφορετικοί τρόποι για να επίτευξη του ίδιου στόχου. Ίδιο σε C. Δεν είμαι δείχνοντάς σας το μόνο τρόπος να κάνεις πράγματα, αλλά ένας τρόπος για να μεταφράσει αυτό για πάντα μπλοκ σε ένα βρόχο σε C. Αυτός εδώ, επαναλάβετε 10 φορές. Αυτός πραγματικά το είδος των κάμπτει το νου την πρώτη φορά που θα το δείτε. Αλλά για να εφαρμόσει ότι στο εξής, θα πάμε να χρησιμοποιήσετε ένα για το βρόχο, να το πω έτσι. Και προφανώς υπάρχει κάποια σύνταξη που είναι λίγο περίπλοκο εκεί μαζί μου και ίσες και 0, αλλά μόλις βουτήξει ότι και μετά σήμερα, είστε ακριβώς πρόκειται για να δούμε ότι αυτό είναι όλα απλά να κάνει κάποια βασική αριθμητική να μας πάρει από 0 μέχρι και σε 9 ή 10 στην προκειμένη περίπτωση. Τέλος, με τις μεταβλητές, θα θυμάστε ότι μια μεταβλητή είναι ένα κομμάτι της αποθήκευσης. Λοιπόν, αυτό που είχαμε στα αριστερά υπάρχει το τελευταίο εβδομάδα πρόκειται να δούμε λίγο κάτι σαν αυτό αυτή την εβδομάδα. Αλλά και πάλι, περισσότερα για αυτό να έρθει. Είχαμε Boolean εκφράσεις, οι οποίες την περασμένη εβδομάδα, έμοιαζε με αυτό. Αυτή την εβδομάδα και μετά, πρόκειται να αρχίζουν να κοιτάξουμε λίγο σαν αυτό. Και αυτό είναι στην πραγματικότητα λίγο καθησυχαστικό. Είναι πραγματικά σχεδόν τόσο απλό όπως το πράσινο μπλοκ. Αλλά εδώ έχουμε και πάλι κάποια νέα σύνταξη με συμπλεκτικά σύμβολα, αλλά μπορείτε να ίσως μαντέψει ενώ στο μηδέν, λένε Α-Ν-Α, προφανώς C, είμαστε πρόκειται να πω ampersand ampersand. Αλλά όλα αυτά θα γίνουν φυσικά πριν από καιρό. Συνθήκες. Την περασμένη εβδομάδα, έμοιαζε Αυτό στα αριστερά. Αυτή την εβδομάδα, στα δεξιά, είναι πρόκειται να μοιάσει με αυτό. Αλλά και πάλι, το βασικό όφελος εδώ είναι ότι όπως βλέπετε τα πράγματα όπως ότι στις το δικαίωμα, και ιδιαίτερα αν είναι λιγότερο άνετο, αυτό είναι το είδος του πάνω σας κεφάλι, μπορείτε να πάρετε μια λίγο συγκλονισμένοι ότι Δεν έχω πραγματικά καμία ιδέα για το πώς θα μπορούσα ενδεχομένως να καταλήξει σε ότι από το μηδέν - λογοπαίγνιο δεν προορίζονται - μόνο να συνειδητοποιήσουμε ότι είναι πραγματικά το ίδιο ιδέα που αισθάνθηκε κατά πάσα πιθανότητα πολύ περισσότερα φυσικά την προηγούμενη εβδομάδα. Και ακόμα κι αν δεν έχετε βουτούσαν set πρόβλημα 0, τολμώ να πω, θα βρείτε ότι τα κομμάτια του παζλ είναι αρκετά διαισθητική, ή τουλάχιστον γίνει τόσο πάροδο του χρόνου. Έτσι, ας βουτήξει μέσα Ας πάρουμε στα χέρια μας βρώμικα εδώ με Αυτό το πρώτο απλό πρόγραμμα. Και απλά είναι, φυσικά, σχετική. Για να γίνει αυτό, είμαι πρόκειται να αλλάξει οθόνες σε αυτήν τη συσκευή που ονομάζεται CS50 συσκευή. Το CS50 συσκευή είναι ένα κομμάτι της λογισμικό που τρέχει μέσα σε ένα παράθυρο στο Mac μου, και μπορείτε επίσης να εκτελέσετε σε ένα παράθυρο στο εσωτερικό του υπολογιστή σας, ώστε να μου επιτρέπει να έχουν την ίδια ακριβώς περιβάλλον του υπολογιστή, όπως κάθε TF, όπως κάθε CA, όπως κάθε μαθητή στην τάξη. Επειδή η συσκευή CS50 είναι κυριολεκτικά άλλο λειτουργικό σύστημα που ονομάζεται Linux - Συγκεκριμένα Fedora Linux - και εμείς, το προσωπικό, έχουν διαμορφωθεί η διαδικασία εγκατάστασης για το σκοπό αυτό λειτουργικό σύστημα κατά τέτοιο τρόπο ώστε το ένα, υπάρχει μια μικρή CS50 λογότυπο στην μέση, δύο, υπάρχει ένα προσαρμοσμένο μενού το κάτω μέρος, και τα τρία, παιδαγωγικά, έχουμε απλοποιήσει το περιβάλλον εργασίας χρήστη, όπως όσο το δυνατόν περισσότερο, έτσι ώστε όταν Η πρώτη εκκίνηση του αυτό το πράγμα για τη δική σας Mac ή PC, έχετε τις ίδιες περιβάλλον, όπως όλοι οι άλλοι, και θα έχουν όλα τα εργαλεία που χρειάζεστε για την πορεία, χωρίς να χρειάζεται να καταλάβουμε πώς να εγκαταστήσετε το καθένα και κάθε μέσο ξεχωριστά. Έτσι, αυτό φαίνεται σχετικά όπως το Mac OS ή Windows. Στην κάτω αριστερή γωνία, θα ουσιαστικά έχουν ένα μενού Έναρξη είδη, ή ένα μενού Apple. Και τότε θα έχετε ό, τι υποψιαζόμαστε θα είναι τα τρία πιο κοινά εικονίδια σας. Το ένα είναι Chrome. Υπάρχει ένα πρόγραμμα περιήγησης στο εσωτερικό της συσκευής. Δύο είναι ένα πρόγραμμα που ονομάζεται gedit, η οποία είδαμε εν συντομία την περασμένη εβδομάδα, η οποία είναι μόνο ένα πρόγραμμα επεξεργασίας γραφικών. Και τα τρία είναι ένα πρόγραμμα τερματικό, το οποίο είναι ένα μαύρο και άσπρο παράθυρο από χτες που μας επιτρέπει να πληκτρολογήσετε περισσότερους απόκρυφες αλλά πιο ισχυρές εντολές σε πληκτρολόγιο μας. Έτσι, Πάω να προχωρήσει και κάντε κλικ στο gedit, και να είστε σίγουροι ότι το πρόβλημα σετ 1, που θα κυκλοφορήσει την Παρασκευή, θα τα πόδια σας μέσα από όλα αυτά τα ίδια βήματα. Παρατηρήστε ότι έχω μια αρκετά απλή διεπαφή χρήστη με τρία μέρη. Στα αριστερά, έχω ένα μεγάλο κενό παράθυρο που ονομάζεται πηγαίο κώδικα. Αυτός είναι όπου είμαι πρόκειται να δείτε μια σύνοψη κάθε κώδικα που γράφω. Στη δεξιά πλευρά, έχω ένα μεγάλο καρτέλα, επί του παρόντος δεν έχουν αποθηκευτεί, και αυτό είναι όπου κωδικό μου πρόκειται να πάει. Και στο κάτω μέρος, έχω ένα ενσωματωμένο Παράθυρο του Terminal, ένα μαύρο και άσπρο εντολών στο οποίο μπορώ να πληκτρολογήσετε εντολές για να καταρτίζουν και να τρέξει τα προγράμματα μου - ότι είναι, να κάνει και να τρέξει τα προγράμματα μου. Ας αρχίσουμε λοιπόν απλό. Επιτρέψτε μου να ανεβαίνουν στο Αρχείο, Αποθήκευση. Πάω να προχωρήσει και πάει σε jharvard. Έτσι, η συσκευή, ανεξάρτητα από το τι το όνομά σας είναι, ανήκει σε μια επώνυμη άντρα John Harvard, ο οποίος έχει ένα σπίτι jharvard εσωτερικό κατάλογο των οποίων το σύνολο των σας αρχεία θα πάει. Είναι το δικό σας αντίγραφο του λογαριασμού του, έτσι δεν είμαστε όλοι μοιράζονται το ίδιο σκληρό δίσκο. Έχετε μόνο την ψευδαίσθηση των ιδίων John Χάρβαρντ. Στην εκ των προτέρων, στην πραγματικότητα εγκατασταθεί Dropbox. Η συσκευή έρχεται με προπαρασκευασμένα Dropbox, έτσι ώστε αν κάτι πάει στραβά κατά τη διάρκεια του εξαμήνου, εάν έχετε ρυθμίσει τη συσκευή σας με ένα δωρεάν Dropbox λογαριασμό, όλα τα αρχεία σας θα να δημιουργούνται αυτόματα αντίγραφα ασφαλείας, έτσι ώστε να μπορεί πολύ εύκολα να τα ανακτήσει. Και Πάω να μπω σε Dropbox μου καταλόγου, και είναι ήδη πηγαίνει να είναι ένα ζευγάρι άλλα πράγματα εκεί. Αλλά Πάω να πάει μπροστά και πηγαίνετε στο Αρχείο, Αποθήκευση. Πάω να μπω σε jharvard, Dropbox, και εδώ, Πάω να δώσει το πρόγραμμά μου ένα σούπερ απλό όνομα, hello.c, και στη συνέχεια να αποθηκεύσετε. Έτσι, δεν έχω την ίδια διεπαφή τώρα. Το μόνο πράγμα που έχει αλλάξει είναι η καρτέλα επάνω στην κορυφή. Έτσι είμαι πολύ γρήγορα πρόκειται να αναδημιουργήσει αυτό το πρόγραμμα από το διαφάνειες πριν από λίγο. Έτσι, στο main (void), και στη συνέχεια printf, "Hello, World", μια κάπως αινιγματικό backslash n, κοντά παράθεση, κλείστε παρένθεση, τελεία, και στη συνέχεια Ctrl S για να αποθηκεύσετε. Και ανακοίνωση ως μέρος τι ακριβώς εμφανίστηκε εδώ στην επάνω αριστερή γωνία. Και αυτό δεν είναι χρήσιμο σήμερα, αλλά θα είναι χρήσιμο πάροδο του χρόνου. Απλά δείτε, και πάλι, μια περίληψη των ο κώδικας που έχετε γράψει. Και επειδή έγραψα κάτι που ονομάζεται κύρια, γι 'αυτό η λέξη κύριο έσκασε μέχρι εκεί. Αλλά για το μεγαλύτερο μέρος, μπορούμε Δεν τη χρειαζόμαστε σήμερα. Εντάξει, γι 'αυτό ισχυρίζονται ότι αυτό είναι μου πρώτο πρόγραμμα γραμμένο σε μια προγραμματισμό γλώσσα που ονομάζεται Γ. Γνωρίζουμε από την Παρασκευή ότι τι αυτό το πράγμα πρόκειται να κάνει πολύ uninterestingly όταν τρέχει μόλις εμφανιστεί - Με άλλα λόγια, εκτύπωση, ως υπολογιστή επιστήμονας θα έλεγε - Hello World στην οθόνη. Έτσι για να το κάνετε αυτό, θα παρατηρήσετε ότι έχω για να πάει κάτω εδώ στο τερματικό μου παράθυρο, και τώρα έχω μια αναβοσβήνει εντολών. Αλλά αυτό είναι τώρα μια έκδοση πληκτρολόγιο John κατάλογο σπίτι μου Χάρβαρντ. Είναι ένας τρόπος πληκτρολογίου μέσω των οποίων για να περιηγηθείτε σκληρό δίσκο μου. Έτσι, δεν μπορώ να πληκτρολογήσετε στην πραγματικότητα, όπως έκανα την περασμένη εβδομάδα να γειά σου, γιατί είναι πρόκειται να πω κανένα κανόνα να κάνει στόχο - κάτι δεν πάει καλά. Δεν γνωρίζουμε ακριβώς τι αυτό το μήνυμα μέσα, αλλά αυτό είναι επειδή, από προεπιλογή, όταν αυτό το μαύρο και άσπρο παράθυρο είναι άνοιξε, είμαι μέσα John Χάρβαρντ κατάλογο. Αλλά πού θα σώσει αυτό το πρόγραμμα; Στο φάκελο Dropbox μου. Τώρα, όλοι μας έχουμε μεγαλώσει με υπολογιστές, όπου μπορείτε απλά κάντε διπλό κλικ στο εικονίδιο ενός φακέλου, το ανοίγει, και voila. Αυτός είναι όπου το αρχείο που ονομάζεται hello.c θα είναι. Έτσι, στην πραγματικότητα, ας το κάνουμε αυτό. Επιτρέψτε μου να πάμε μπροστά και να ελαχιστοποιήσει gedit ακριβώς όπως θα κάνατε σε Windows ή Mac OS. Επιτρέψτε μου να πάει στο σπίτι φάκελο στην κορυφή αριστερά. Θα δείτε εδώ ένα σωρό φακέλους. Εδώ είναι Dropbox φάκελο μου. Οι checkmarks σημαίνει ότι είναι ήδη συγχρονιστεί. Και υπάρχουν μερικά πράγματα εδώ, αλλά παρατηρήσετε ότι είναι hello.c πράγματι εκεί. Και έτσι σε Mac OS ή Windows, κανονικά, Θα κάνετε διπλό κλικ ότι, ανοίγει το ανεξάρτητα από το πρόγραμμα, και είμαι καλό να πάει. Αλλά τώρα, τουλάχιστον από σήμερα, θα Πρέπει να κάνουμε ένα βήμα προς τα πίσω μόνο για να να σας δώσω μερικά βασικά εργαλεία για σας kit εργαλείο με το οποίο να κάνουν περισσότερα ισχυρά πράγματα πριν από καιρό. Έτσι, σε αυτή την ερώτηση, έχω να κάνω την ισοδύναμο διπλό κλικ στο Φάκελο Dropbox. Και για να το κάνουμε αυτό, θα πάω με τον τύπο του CD αλλάξτε κατάλογο, Dropbox, εισάγετε. Και παρατηρούμε ότι οι παρενθέσεις στο μου λεγόμενη άμεση λέει τώρα που είμαι στην περισπωμένη, η μικρή squiggly σύμβολο στην πάνω αριστερή γωνία της Τα περισσότερα πληκτρολόγια, / Dropbox. Αυτό είναι ακριβώς στενογραφημένη για λέγοντας ανθρώπου, είστε τώρα μέσα το φάκελο Dropbox, ακριβώς σαν είχατε διπλό κλικ σε αυτό. Έτσι τώρα, αν πάω μπροστά και να πληκτρολογήσετε make Γεια σας, πληκτρολογήστε, βλέπω ένα πολύ αινιγματικό εντολή, αλλά όχι ένα μήνυμα σφάλματος, φαίνεται, και κατόπιν άλλο αναβοσβήνει εντολών. Και αν θυμάστε, ποτέ τόσο γρήγορα την Παρασκευή, το κάναμε αυτό. . / Γεια. Αυτό που είστε έτοιμος να δούμε είναι το αποτέλεσμα της μου τρέχει αυτό το πρόγραμμα, ή, σε Mac OS και PC όρους, αν είχα κανονικά διπλό κάντε κλικ σε ένα πρόγραμμα -. ένα app πρόγραμμα ή ένα αρχείο. exe, ανοίγει ένα παράθυρο και τρέχει. Πληκτρολογώντας. / Γεια είναι ακριβώς όπως το διπλό κάνοντας κλικ σε ένα πρόγραμμα να τρέξει, αλλά χρησιμοποιώντας το πληκτρολόγιό μου. Εισάγετε, hello world. Και αυτό είναι όλο. Ας δώσουμε έμφαση σε αυτό, εκτός γι 'αυτό δεν αισθάνεται πάρα πολύ σαν ελληνικά. Έτσι. / Σημαίνει τι; Όποιος ταξιδεύει ποτέ ένα πληκτρολόγιο περιβάλλον όπως αυτό, τι dot αναφέρεστε; Ο τρέχων κατάλογος. Έτσι, ο τρέχων κατάλογος είναι απλά ένα συνώνυμο για ένα φάκελο. Έτσι, λέγοντας dot κάθετος, λέω, ψάξτε για ένα πρόγραμμα που ονομάζεται γεια στα τρέχοντα κατάλογο - στον τρέχοντα φάκελο. Με άλλα λόγια, Dropbox φάκελο μου. Και γι 'αυτό το χτύπημα Εισάγετε στη συνέχεια στην πραγματικότητα τρέχει το πρόγραμμα. Αν τώρα τύπου LS, παρατηρήσετε ότι βλέπω πάντα στο Dropbox φάκελο μου. Να πάρει Started.pdf, η οποία Dropbox σας δίνει δωρεάν, φωτογραφίες μου καταλόγου, ένα δημόσιο κατάλογο, δεν έχουν αποθηκευτεί Έγγραφο 1 που έκανα κατά λάθος ένα πριν από λίγο, foo.c, που έκανα νωρίτερα σήμερα, και στη συνέχεια δύο γραμμές - hello.c και γειά σου. Hello.c είναι το πρόγραμμα που έγραψα με gedit, και τι είναι γειά σου σε πράσινο χρώμα; Το Hello σε πράσινο είναι το εκτελέσιμο. Με άλλα λόγια, όταν έτρεξα την εντολή πριν από λίγο - επιτρέψτε μου να κυλήσει πίσω στο χρόνο - όταν έτρεξα να γειά σου, αυτό είναι το μεσαίο βήμα εδώ. Και χρειάστηκαν hello.c ως είσοδο - AKA κώδικα - και παρήγαγε ένα αρχείο που ονομάζεται γεια ως παραγωγή, η οποία περιέχει όλα αυτά τα μηδενικά και αυτά. Και γι 'αυτό, στο τέλος, δεν μπορώ να τρέχουν στην πραγματικότητα μια εντολή όπως. / γεια. Λόγω της Intel Inside, λειτουργικό μου συστήματος, το Linux, ανοίγει τα μηδενικά και αυτοί, να τροφοδοτεί το εγκέφαλος του υπολογιστή μου - η CPU - και ότι η CPU ξέρει, OH, εδώ είναι ένα μοτίβο από μηδενικά και αυτά που λέει εκτυπώσετε την παρακάτω πράγμα στην οθόνη. Ποιο είναι το εξής πράγμα; Quote unquote, "hello world." Εντάξει, έτσι ώστε μια γρήγορη περίληψη μερικών αυτές τις εντολές, ώστε να μπορούμε να αρχίσουμε τη λήψη τους ως δεδομένο. Επιτρέψτε μου να προχωρήσετε σε όπου φύγαμε μακριά. Και θα θυμάστε ότι είχαμε CD στην πλάτη μας τελειώσει πριν από λίγο. Αυτά είναι, τολμώ να πω, για σκοπούς του σήμερα - ίσως αυτή την εβδομάδα - το μόνο εντολές που Ίσως χρειαστεί να πληκτρολογήσετε στη γραμμή εντολών, εκτός από κάνει. Έτσι CD στάθηκε για τι; Αλλάξτε κατάλογο. Είναι ακριβώς το ισοδύναμο της διπλής κάνοντας κλικ σε ένα φάκελο. Και ως ένα μέρος, αν έχετε χάσει ποτέ μέσα σας συσκευής, έτσι ώστε Dropbox - Θέλω να γυρίσω να μου jharvard directory - σε περίπτωση αμφιβολίας, CD, πληκτρολογήστε, με κανένα άλλο λέξεις, και αυτό ακριβώς φερμουάρ σας πίσω εκεί που ξεκίνησε, η οποία Είναι ένα ωραίο μικρό συντόμευση. Εντάξει, έτσι και τώρα άλλες εντολές. LS. Έχω πληκτρολογήσει ότι πριν από λίγο. Τι νομίζετε ότι LS σημαίνει; Έτσι, η λίστα, έτσι δεν είναι; Πίσω στην ημέρα, όταν οι άνθρωποι έρχονταν με αυτές τις εντολές, που προσπαθούσαν να είναι αποτελεσματική, και μάλλον πληκτρολογήσετε L-Ι-Σ-Τ Enter, που αποφάσισε LS. Αυτό είναι μια χαρά. Ακούγεται αρκετά σαν λίστα. Ας τύπου LS εισέλθουν, και ότι παραθέτει τα αρχεία ή τους φακέλους σε μου τρέχοντα φάκελο. mkdir, μπορείτε να μαντέψετε. Κάντε καταλόγου. Έτσι δεν πάτε σε κάποιο μενού Αρχείο και στη επιλέξτε Νέος φάκελος σε αυτό το περιβάλλον. Αντίθετα, πληκτρολογείτε το χώρο mkdir εντολή και στη συνέχεια το όνομα του φακέλου που θέλετε να δημιουργήσετε, και αυτό θα πρέπει να γίνει. rm, μπορείτε να μαντέψετε. Κατάργηση ή διαγραφή. Έτσι, εάν θέλετε να διαγράψετε ένα αρχείο, θα δείτε το σύνολο πρόβλημα το πώς θα να το κάνετε αυτό. Και rmdir, αφαιρέστε τον κατάλογο. Έτσι, και πάλι, θα έχουν την τάση να πετάξει μέσα από μερικές από αυτά τα στοιχεία, το ένα, γιατί δεν είναι όλοι τόσο πολύ διασκεδαστικό να περνούν φορά, αλλά δύο, θα σας παρέχουν σε πολύ μεγαλύτερη λεπτομέρεια σε οποιαδήποτε από τις Φυσικά το πρόβλημα θέτει, ιδίως το πρότυπο εκδόσεις, οποιοδήποτε από τα βήματα ότι ίσως χρειαστεί να πληκτρολογήσετε έτσι ότι μπορείτε να πάρετε όλο και περισσότερο άνετα με αυτά τα πράγματα. Τώρα, όμως, επιτρέψτε μου να δώσουμε έμφαση, εκτός ένα άλλο πράγμα. Όταν πληκτρολογήσει κάνει γεια πριν από λίγο, είδαμε μια αινιγματική ακολουθία εντολών. Είδαμε, και πάλι, να γεια. Εντάξει, ας το κάνουμε. Ήμουν έτοιμος να κάνει ένα λάθος, αλλά [Δεν ακούγεται] παραδέχονται τώρα ότι ήμουν έτοιμος να και το κάνει σκόπιμα. Τι έκανα λάθος μόλις τώρα; Ναι, έτσι δεν είμαι στο Dropbox καταλόγου, επειδή πριν από λίγο μου δακτυλογραφημένο CD και απλά πατήστε enter. Αυτό μου μεγεθύνεται πίσω όπου άρχισα, η οποία δεν είναι όπου το αρχείο μου είναι, γι 'αυτό πραγματικά πρέπει να κάνουμε CD Dropbox εισάγετε, και τώρα μπορώ να κάνω rm γεια εισάγετε, αφαιρέστε κανονικό αρχείο γεια. Δεν ξέρω γιατί είναι τόσο αινιγματική. Αυτό σημαίνει απλώς είσαι σίγουρος θέλετε να διαγράψετε ένα γεια; Μπορείτε να πληκτρολογήσετε y για ναι, εισαγωγή, και τώρα θα φύγει. Και τώρα αν πληκτρολογήσετε make Γεια σας και πάλι, αυτό είναι πρόκειται να αναδημιουργήσει τον κωδικό μου αντικείμενο, αναδημιουργήσει τα μηδενικά και μονάδες. Αλλά τι είναι η συμφωνία με Αυτό είναι πολύ μεγάλη εντολή; Λοιπόν, εμείς θα δώσουμε έμφαση αυτό, εκτός πριν από καιρό, αλλά να κάνει - Είπα ένα κομμάτι από ένα λευκό ψέμα πριν - δεν είναι ένα compiler. Κάντε είναι ένα πρόγραμμα που αυτόματα αριθμητικά στοιχεία για το πώς να εκτελέσετε μια compiler για σας. Έτσι, η εντολή που πραγματικά θα πρέπει να είναι τρέχει για τη μετατροπή hello.c Γεια σε πραγματικά μοιάζει λίγο περισσότερο σαν αυτό. Και ο Θεός φυλάξοι θα πρέπει πραγματικά να θυμηθείτε να πληκτρολογήσετε ποτέ όλο αυτό το ακολουθία εντολών έξω. Ο σκοπός της κάνουν στη ζωή είναι να να θυμάστε ότι η πολυπλοκότητα των μας και την αυτοματοποίηση ό, τι θα ήταν διαφορετικά να είναι πολύ κουραστική βήματα. Αλλά εγώ μπορεί να προσεγγίσει αυτό. Έτσι, ανά αυτό το μικρό φύλλο εξαπατήσει εδώ, μπορεί να προσεγγίσει αυτό ότι η εντολή είναι κάνει με απλά πληκτρολογώντας κλαγγή, η οποία είναι το όνομα του compiler θα είμαστε χρησιμοποιώντας αυτό το εξάμηνο. Αν κάποιος από εσάς έχετε κάνει ποτέ iOS ανάπτυξη για το iPhone ή το iPad, Clang είναι το πρόγραμμα που έχετε χρησιμοποιήσει στο Xcode για να κάνουν τις εφαρμογές σας. Κλαγγή, όμως, είναι ακριβώς ένα άλλο πρόγραμμα το όνομα του οποίου μπορούμε να πληκτρολογήσετε στη γραμμή εντολών, καθώς και με την εισαγωγή αυτό τώρα, Μπορώ να εισαγάγει κάτι που είναι λίγο εκπρόσωπος εντολές για να έρθει. Έτσι, επιτρέψτε μου να κάνω αυτό με το χέρι. Έτσι, rm γεια, και τώρα ανακοίνωση στην περίπτωση I, ακριβώς όπως μια λογική check - . / Γειά σου, τι νομίζεις ότι θα πρέπει να δούμε αν το κάνω αυτό; Κάποιο είδος του λάθους. Δεν υπάρχει τέτοιο κατάλογο αρχείων. Έτσι ώστε το ένα είναι στην πραγματικότητα αρκετά άμεση. Έτσι, τώρα επιτρέψτε μου να καθαρίσετε την οθόνη. Control S καθαρίζει μόνο την οθόνη για να αφαιρέσετε μερικά περισπασμούς. Και τώρα πάω να το χέρι Τύπος κλαγγή-o γεια hello.c. Έτσι τι είναι αυτό πρόκειται να κάνει; Ακριβώς το ίδιο πράγμα που κάνουν έκανε για μας, αλλά δεν είχα ρίξει μακριά μερικά από τα λόγια περιττά. Clang είναι το πρόγραμμα που πρόκειται να λάβει. το αρχείο c ως είσοδο και παράγει μηδενικά και αυτά ως έξοδο. Αλλά-o πλέον θα καλέσει ένας διακόπτης ή μια σημαία. Αυτό είναι ακριβώς techie διάλεκτο για να πούμε Αυτό είναι μια λέξη που πληκτρολογείτε σε μια γραμμή που επηρεάζει κάπως τη συμπεριφορά του προγράμματος τρέχετε. Έτσι, δεν θέλει κανείς να μαντέψει τι-o μεταφέρει; Έξοδος. Είναι απλά κάποιος αποφάσισε-o σημαίνει εξόδου ένα αρχείο που λέγεται γεια και να λάβει ως εισόδου ανεξάρτητα η τελευταία λέξη για το εντολών είναι, hello.c, έτσι ώστε αν χτύπησα Εισάγετε τώρα, τίποτα δεν φαίνεται να συμβαίνει. Και παραδόξως, σε αυτόν τον κόσμο της προγραμματισμό, αν δεν συμβαίνει τίποτα, αυτό είναι πιθανώς ένα καλό πράγμα γιατί δεν υπάρχει σφάλμα μήνυμα στην οθόνη. Γεια σας, Enter. Το πρόγραμμά μου έχει τώρα τρέχει. Αλλά μπορώ να κάνουν ηλίθια πράγματα, όπως να αυτό. κλαγγή-o, hihihi, hello.c, εισάγετε, και τώρα έχω ένα πανομοιότυπο πρόγραμμα που ονομάζεται hihihi. Συμπεριφέρεται το ίδιο, αλλά το όνομα είναι διαφορετικό. Έτσι, αυτό είναι μόνο να πω ότι αν θέλετε να επηρεάσει τη συμπεριφορά ενός προγράμματος, θα πάμε σε όλο και δείτε πράγματα που ονομάζεται τα επιχειρήματα της γραμμής εντολών. Αυτή είναι μια γραμμή. Είσαι πληκτρολογώντας εντολές. Ergo, γραμμή εντολών. Και τα επιχειρήματα της γραμμής εντολών είναι μόνο λέξεις ή μικρά κομμάτια της σύνταξης που με κάποιο τρόπο να επηρεάσει τη συμπεριφορά του τα προγράμματα που εκτελούνται. Εντάξει, που είναι ίσως το πιο βαρετό πρόγραμμα μπορούμε να γράψουμε και να δούμε. Ας κάνουμε τώρα κάτι πιο ενδιαφέρουσα. Επιτρέψτε μου να προχωρήσει και να δημιουργήσετε ένα νέο αρχείο. Πάω να πάει μπροστά και να σώσει αυτό Κατάλογο John Harvard, όπως, ας την ονομάσουμε custom.c, να λίγο προσαρμοσμένο πρόγραμμα. Πάω να μεγεθύνετε στην κορυφή μου οι καρτέλες εδώ και να αρχίσει ξανά. Συμπεριλάβετε πρότυπο stdio.h. Περισσότερα για αυτό σε μια στιγμή. int main (void), περισσότερο στην ότι σε μια στιγμή. printf ("Hello, David"). Πολύ πιο ενδιαφέρον, έτσι δεν είναι; Έτσι τώρα, αν - όχι λόγω του ονόματός μου, μόνο και μόνο επειδή είναι διαφορετικά - κάνει έθιμο enter. Προσαρμοσμένη, γεια σου, David. Αλλά ακόμη και αυτό, επίσης, είναι ένα λευκό ψέμα. Το πρόγραμμα αυτό θα μπορούσε κάλλιστα να ονομαστεί david.c, επειδή δεν είναι προσαρμοσμένη συμπεριφορά σε όλα. Πραγματικά, θέλω ένα πρόγραμμα που ζητά το χρήστη για το όνομα τους. Λοιπόν, πώς μπορώ να το κάνω; Λοιπόν, επιτρέψτε μου να μετακινηθείτε προς τα επάνω εδώ. Και πριν μπορώ να χρησιμοποιήσω μια δήλωση Scratch, πριν πάρω printf, αλλιώς γνωστή ως μια λειτουργία, επιτρέψτε μου να πρώτα να ζητήσει από το χρήστη για κάποια είσοδο. Έτσι, για να γίνει αυτό, θα πρέπει να κάνει μερικά πράγματα. Ένα, χρειάζομαι ένα μέρος για να αποθηκεύουν το χρήστη όνομα μετά έχω τον ρώτησε ή της για αυτό. Τι κατασκεύασμα χρειάζομαι για να χρησιμοποιήσει κατά πάσα πιθανότητα για να αποθηκεύσετε μια τιμή σαν αυτό; Μια μεταβλητή. Έτσι, σε αντίθεση με Scratch, όπου μπορείτε να πάρετε μόνο ένα ωραίο κομμάτι του παζλ, εδώ, θα πρέπει να χρησιμοποιούν, προφανώς, λόγια εκφραζόμαστε. Και στο εξής, οποιαδήποτε στιγμή θέλετε μια λέξη ή μια φράση, στον προγραμματισμό, θα πάμε να το αποκαλούμε ένα string. Έτσι, ένα string είναι μια λέξη ή μια φράση. Είναι μια ακολουθία από μηδέν ή περισσότερα χαρακτήρες, πιο επίσημα. Και αν θέλετε μια τέτοια μεταβλητή υπάρχουν, θα πρέπει να πω να μου δώσει ένα. Και ο τρόπος με τον οποίο θα γίνει αυτό είναι να λένε ερωτηματικό σειρά s, όπου s μπορεί να είναι ό, τι θέλετε. Στην πραγματικότητα, το s είναι μια μικρή underwhelming. Επιτρέψτε μου να προχωρήσει και πιο σαφώς αποκαλούν όνομα. Δώσε μου μια σειρά που ονομάζεται όνομα. Αλλά τώρα, ποιο είναι το πρόσωπο της όνομα από προεπιλογή; Λοιπόν, αν το ανθρώπινο δεν πληκτρολογήσετε τίποτα στο, προφανώς, εκεί θα να υπάρχει αξία στο όνομα. Και αποδεικνύεται σε C, αν δεν δώσει μια μεταβλητή μια τιμή, πρόκειται να έχουν αξία σκουπιδιών. Θα μπορούσε να έχει κάποια τυχαία μηδενικά και αυτά, έτσι είστε ακριβώς πρόκειται να δούμε σκουπίδια, πραγματικά, στην οθόνη αν προσπαθήσετε να το εμφανίσετε. Αλλά μπορώ να το διορθώσω αυτό λέγοντας, στην πραγματικότητα, μέσα στο κατάστημά του ονόματος του μετά την τιμή. Ο τρόπος που μπορείτε να αποθηκεύσετε τις τιμές στις μεταβλητές είναι αν έχετε ένα όνομα μεταβλητής για την αριστερά, θα πρέπει με κάποιο τρόπο να βάλετε ό, τι θέλετε να αποθηκεύσετε σε αυτό σχετικά με το δικαίωμα, και Η σύνταξη για αυτό πρόκειται να είναι ως ακολούθως. Δεν έχω ξαναδεί αυτό, αλλά να την πίστη για μια στιγμή ότι υπάρχει υπάρχει μια άλλη κατάσταση στον κόσμο ότι Πάω να καλέσω και πάλι τη λειτουργία, και αυτή η λειτουργία είναι καλείται να πάρει string. Και το κάνει κυριολεκτικά αυτό. Παίρνει κάποιο τρόπο μια ακολουθία χαρακτήρων από το ανθρώπινο και έπειτα κάνει κάτι με αυτό. Και αυτό μοιάζει αινιγματικό σύνταξη. Κανονικά, αν χρησιμοποιείτε το σύμβολο της ισότητας - είστε στον κόσμο της, ας πούμε, άλγεβρα, και είστε πραγματικά λέγοντας x ισούται με 1. Εδώ δεν λέμε ότι Όνομα ισούται πάρει string. Λέμε κατάστημα στο όνομα του τι είναι στη δεξιά πλευρά της που ισούται σημάδι. Η ίσον αντιπροσωπεύει ο φορέας ανάθεσης. Είναι η σύνταξη που λέει βάλει ό, τι για η δεξιά πλευρά μέσα σε αυτό είναι στα αριστερά. Έτσι, παίρνουν σειρά είναι ένα νέο κομμάτι του λειτουργικότητα που όχι μόνο δεν κάτι - ζητά από το χρήστη για μια σειρά - επιστρέφει επίσης, να το πω έτσι. Ας δούμε τι συμβαίνει να συμβεί εδώ. Πάω να προχωρήσει τώρα και σμίκρυνση, και είμαι πρόκειται να πάρει ένα ζευγάρι των λάθη στη γραμμή εντολών μου. Πάω να πληκτρολογήσετε κάνει έθιμο, εισάγετε. Wow. Ένα σωρό λάθη. Εντάξει, έτσι αυτό είναι το είδος της συντριπτική, σίγουρα σε πρώτη φάση, αλλά αποδεικνύεται ότι όλα αυτά τα πολύ ομολογουμένως είναι αινιγματικά μηνύματα λάθους αναφέρεται σε κάποια μοτίβα που θα αρχίσουμε να βλέπουμε την πάροδο του χρόνου. Έτσι, αυτό θα κόβω μακριά, επειδή είναι πρώτη. Χρήση της αδήλωτης συμβολοσειρά αναγνωριστικού. Αυτό σημαίνει απλά ότι gedit, ή Clang, σε αυτή την περίπτωση, δεν γνωρίζει Τι εννοώ με string. Και αυτό γιατί στο C, τον προγραμματισμό γλώσσας, στην πραγματικότητα υπάρχουν δεν είναι μεταβλητή τύπου string. C δεν γνωρίζουν ότι υπάρχουν χορδές. Αλλά εμείς, CS50 προσωπικό, το κάνουν. Και έτσι εκ των προτέρων κατηγορίας, θα δημιουργείται ένα αρχείο που ονομάζεται CS50.h. Και μέσα από αυτό το αρχείο - και περισσότερα σχετικά με τη σύνταξη για να έρθει - στο εσωτερικό αυτού του αρχείου είναι ένας ορισμός από ό, τι ακριβώς ορίζεται προφορικά, όπως ένα string. Έτσι, απλά με την ολοκλήρωση αυτής της μία γραμμή του κώδικα στο πρόγραμμά μου, είμαι τώρα διδασκαλία gedit και να κάνουν και Clang όλα με τη σειρά του αυτό είναι ένα string. Δεν ξέρω πόσο ακόμα. Σε λίγες εβδομάδες, θα φλούδα πίσω αυτό το στρώμα. Αλλά για τώρα, γνωρίζουμε ότι αυτό διδάσκει ο compiler τι ένα string είναι στην πραγματικότητα. Έτσι, τώρα επιτρέψτε μου να ξεκαθαρίσω μου τερματικού εδώ κάτω. Επιτρέψτε μου να επαναληφθεί κάνει έθιμο, και εγώ λυθούν όλα αυτά τα προβλήματα. Έτσι αυτό, επίσης, πρόκειται να είναι ένα επαναλαμβανόμενο θέμα. Έγραψα μόνο ένα 9 γραμμή του προγράμματος, και αλλά είχα 18 γραμμές των σφαλμάτων. Αυτό είναι το είδος του εκφοβισμού. Αλλά συνειδητοποιούν ότι συχνά καταρράκτη, όπως ότι ένα μικρό λάθος ενεργοποιεί η σύγχυση για τον compiler, και φαίνεται πολύ χειρότερη από ό, τι είναι. Έτσι τώρα ένας έξυπνος παρατηρητής θα γνωρίζουν ότι είμαι πάρει ένα string από το χρήστη, αλλά δεν είμαι πραγματικά κάνει ό, τι με αυτό; Δεν είμαι πραγματικά κάνει τίποτα με αυτό. Έτσι, αν λειτουργεί πραγματικά έθιμο και πάλι, πρόκειται να καθίσει ακριβώς εκεί. Τι συμβαίνει; Το πρόγραμμά μου φαίνεται να έχει κολλήσει σε ποια γραμμή, θα λέγατε; Έτσι είναι πραγματικά κολλήσει στη γραμμή 7. Και δεν έχουμε δει αυτό πριν, αλλά στη γραμμή 7, υπάρχει, και πάλι, αυτό δήλωση, να πάρει string. Και κάνει ό, τι λέει. Θα περιμένει τώρα για την ανθρώπινη να λάβει το string. Αυτό είναι εντελώς unintuitive για μένα, ο άνθρωπος, γιατί δεν έχω πει τι πρέπει να κάνουμε. Αλλά επιτρέψτε μου να προχωρήσει στην πίστη και επιτρέψτε μου να προσποιούνται ότι είναι Rob. Enter. Αυτό δεν είναι το πρόγραμμα που προορίζεται. Έτσι, έχουμε το πρώτο blog μας. Αλλά ας προσπαθήσουμε να τον λόγο μέσω γιατί αυτή είναι η περίπτωση. Κατ 'αρχάς, επιτρέψτε μου να διορθώσετε αυτό το πρώτο πρόβλημα. Επιτρέψτε μου να προσθέσω μια γραμμή που λέει εδώ printf, ποιο είναι το όνομά σου; Ας κάνουμε λίγο κοντά απόσπασμα, κλείσει παρένθεση. Τώρα, επιτρέψτε μου να εκτελέσετε ξανά το πρόγραμμα. Πρόβλημα. Δεν βλέπω αυτό. Δεξιά. Εγώ δεν το μεταγλωττίσετε. Έτσι, σε μια γλώσσα όπως η C, γιατί αλλάξετε τον πηγαίο κώδικα δεν σημαίνει ότι έχετε αλλάξει τον κωδικό σας αντικείμενο να δημιουργηθούν νέες αντικειμενικού κώδικα, νέες μηδενικά και μονάδες. Θα πρέπει να μεταγλωττίσετε. Αν τώρα επαναληφθεί έθιμο, εισάγετε, Αχ, λίγο πιο σαφής. Το όνομά μου είναι Rob. Ακόμα λάθη. Και θα έλεγα ότι υπάρχει ένα ζευγάρι σφάλματα τώρα. Αυτό φαίνεται μόνο ειδεχθή, ειλικρινά. Όπως, ελάχιστα, πρέπει να έχω ένα διάστημα εκεί, ή να μετακινήσετε το κέρσορα στη νέα γραμμή. Και στην πραγματικότητα, νέα γραμμή. Αυτό είναι το είδος της μια φράση κλειδί εδώ είναι ότι έχουμε δει, αλλά δεν έχει οριστεί. Ο τρόπος με τον οποίο μπορείτε να πάρετε ένα κείμενο για να μετακινηθείτε στην επόμενη γραμμή, να μην το κάνετε αυτό. Αυτό προκαλεί σύγχυση στον υπολογιστή. Αυτό μοιάζει με δύο χωριστές γραμμές του κώδικα, καμία από τις οποίες Είναι απολύτως σωστό. Μπορείτε αντ 'αυτού πρέπει να είναι πιο σαφείς και ας πούμε, να μου δώσει μια νέα γραμμή, η οποία θα αντιπροσωπεύουν σε c με backslash n. Έτσι, υπάρχουν μερικά τέτοια χαρακτήρες. Backslash n θα καθορίσει ότι η αισθητική. Επιτρέψτε μου να μεταγλωττίσετε το πρόγραμμά μου. Επιτρέψτε μου να εκτελέσετε ξανά το πρόγραμμα μου. Αυτό φαίνεται καλύτερα. Είναι ακόμα αρκετά πρωτόγονη, αλλά είναι επίσης ακόμα λάθη. Έτσι, υπάρχει ένα - ακόμη και αν δεν έχετε προγραμματίσει πριν, μπορείτε να πάρετε πιθανώς μια εικασία γιατί αυτό το πρόγραμμα εξακολουθεί να είναι εσφαλμένη. Τι χρειάζομαι για να το κάνουμε αυτό Δεν έχω κάνει ακόμα; Γι 'αυτό πρέπει πραγματικά να κάνουμε κάτι με το όνομα. Ακριβώς όπως και στο μηδέν, ίσως στην πραγματικότητα ορίσετε μια μεταβλητή, όπως n ή αντιμετώπιση όπως κάναμε την τελευταία εβδομάδα - μια τιμή. Αλλά αν δεν κάνουμε τίποτα με αυτό, τίποτα δεν πρόκειται να συμβεί. Εντάξει, ας ορίσει. Επιτρέψτε μου να πληκτρολογήσετε μεταβλητή μου εκεί, και επιτρέψτε μου να πάω εδώ κάτω. Επιτρέψτε μου να μεταγλωττίσετε, επιτρέψτε μου να re-run, Rob. Τώρα είμαι απλά ένας ηλίθιος, έτσι δεν είναι; Έτσι, αυτό δεν είναι πραγματικά να πάρει μου περαιτέρω. Αλλά αυτό ήταν ένα απόλυτα φυσικό ένστικτο, θα έλεγα, έτσι δεν είναι; Αν η μεταβλητή ονομάζεται name, και εγώ θέλουν να πάνε εκεί, γιατί δεν μπορώ απλά πληκτρολογήστε εκεί; Λοιπόν, φυσικά, έχουμε να διακρίνει τώρα μεταξύ του τι είναι ένα string; Παρατηρήστε ότι unquote παράθεση εδώ, γειά σου όνομα; Αυτό στην πραγματικότητα η ίδια είναι ένα string. Είναι σκληρό κωδικοποιούνται. Δεν είναι από το ανθρώπινο. Είναι από μένα, το αρχικό προγραμματιστή, αλλά είναι ακόμα ένα string. Έτσι, αν γράψω κυριολεκτικά Ν-Α-Μ-Ε μέσα του string, τι πρόκειται να να εκτυπωθεί; Λοιπόν, Ν-Α-Μ-Ε. Εμείς αντί να χρειάζεται να πει printf, δεν εκτυπώνονται έξω κυριολεκτικά όνομα. Εκτυπώστε την αξία του ονόματος. Και για να το κάνουμε αυτό, κάνουμε το εξής. Και αυτό είναι μόνο ένα ανθρώπινο σύμβαση. Εμείς λέμε αντί για% s, και ότι σημαίνει string. Και στη συνέχεια, στο τέλος της στενής εισαγωγικά μου, Πάω να θέσει ένα κόμμα και περάσει ένα δεύτερο επιχείρημα σε αυτήν την δήλωση. Πάω να πληκτρολογήσετε το όνομα εκεί. Έτσι τώρα παρατηρήσετε έχουμε μια ελαφρώς νέα σύνταξη. Έχουμε ακόμα δύο παρενθέσεις, και πλέον επιτρέψτε μου να πω ότι τα πράγματα μεταξύ παρένθεση αντιπροσωπεύει ορίσματα σε λειτουργία - εισροές που είναι κατά κάποιο τρόπο θα να επηρεάζουν τη συμπεριφορά του. Έτσι, με αυτή τη λογική, πόσα επιχειρήματα printf δεν φαίνεται να είναι λαμβάνοντας αυτή τη στιγμή; Γι 'αυτό φαίνεται να λαμβάνει δύο, και αυτό είναι όντως σιωπηρή από το κόμμα εδώ. Έτσι, αυτό είναι ένα επιχείρημα ανάμεσα σε εισαγωγικά. Ακόμα κι αν έχει ένα κόμμα σε αυτό, ό, τι είναι σε εισαγωγικά, πράγμα που σημαίνει Είναι μια μακρά σειρά. Κόμμα, το όνομα της μεταβλητής. Έτσι, τώρα επιτρέψτε μου σμίκρυνση. Επιτρέψτε μου να επαναληφθεί. Rob. Γαμώτο, τι έκανα λάθος; Εντάξει, έτσι ώστε να πρέπει να ξανακάνετε compile. Έτσι και πάλι, εύκολο να κάνουν λάθη νωρίς ξανά και ξανά. Έτσι τώρα επανάληψη έθιμο, Rob, εισάγετε, και voila. Έχουμε τώρα ένα προσαρμοσμένο πρόγραμμα. Έτσι έχω τώρα ένα πρόγραμμα που χρησιμοποιώντας μερικά χαρακτηριστικά που αξίζει να σημειωθεί. Ένα, είμαι με τη χρήση CS50.h, αλλιώς γνωστή ως η βιβλιοθήκη CS50. Και στο εσωτερικό της βιβλιοθήκης είναι CS50 λειτουργίες που άλλοι άνθρωποι έγραψαν - δηλαδή το προσωπικό - για να το χρησιμοποιήσετε, και να χορδών είναι ένα από αυτά. Στο εσωτερικό της γραμμής 2 είναι stdio.h, και γιατί είναι αυτό; Πάρτε μια εικασία. Τι υπάρχει στο εσωτερικό της πρότυπο IO γονέα; Printf. Έτσι, printf, δεν το βλέπω πουθενά άλλο στην οθόνη. Θα πρέπει να έρθει με το υπολογιστή με κάποιο τρόπο. Από πού προέρχεται; Είναι εσωτερικό του - είναι δηλωθεί, να το πω έτσι, μέσα από ένα αρχείο με όνομα stdio.h. Τώρα, για αυτά τα πράγματα, θα επανέλθουμε σε τελικά, γιατί είναι ένα κομμάτι αποσπούν την προσοχή για τώρα. Αυτό αναφέρεται σε τύπο επιστροφής μας. Αυτό αναφέρεται σε ένα επιχείρημα. Αλλά για σήμερα, είμαστε επικεντρώθηκε μόνο εδώ στις γραμμές αυτές. Έτσι, όνομα συμβολοσειράς, απλά για να ανακεφαλαιώσουμε, Τι έκανε αυτό για μένα; Έτσι δήλωσε μια μεταβλητή του τύπου string. Έτσι είναι γραφτό να γίνει για τις λέξεις, όχι για αριθμούς. Ακριβώς όπως Παρεμπιπτόντως, αν το έκανα θέλουν να είναι ένας αριθμός, θα έλεγα κάτι σαν int. Αν ήθελα να είναι κινητής υποδιαστολής αξία, κάτι με ένα δεκαδικό ψηφίο, Θα έλεγα float. Αλλά για σήμερα, έχω μόλις είπε string. Και έχω δώσει αυτή την μεταβλητή ένα όνομα το όνομα, αλλά θα μπορούσα έχουν αποκάλεσε τίποτα. Στην πραγματικότητα, αρχικά, μου ζητούσε S. Αυτό εδώ είναι ακριβώς μια άλλη δήλωση. Πόσα επιχειρήματα είναι αυτό Δήλωση παίρνετε; Έτσι, πρόκειται για τη λήψη μόνο ένα, και ότι είναι απλά μια αισθητική λεπτομέρεια εμφανίζοντας κάτι η οθόνη μου. Τι είναι αυτή η γραμμή κάνει 8 σε απλή γλώσσα; Είναι να πάρει μια τιμή από το χρήστη - δηλαδή, μια σειρά - και τι είναι αυτό που κάνει με αυτό; Είναι παράδοση κατ 'ουσίαν πάνω στο τύπος στην αριστερή πλευρά του ίσον έτσι ώστε σε αυτή την περίπτωση, η όνομα μεταβλητής μπορεί να αποθηκεύσει πραγματικά. Και τότε printf είναι ένα άλλο παράδειγμα μιας συνάρτησης. Και λέμε να καλέσετε μια συνάρτηση. Για να χρησιμοποιήσετε μια λειτουργία είναι για να καλέσετε μια συνάρτηση. Αυτό το πράγμα προφανώς παίρνει δύο επιχειρήματα. Αυτό και μόνο, κόμμα αυτό. Αυτό και μόνο είναι η ίδια ακριβώς μια σειρά που περιέχει ένα σύμβολο κράτησης θέσης. Μέσα% s βάλει άλλη σειρά εδώ. Και έτσι βάζοντας το όνομα μετά το κόμμα, που είναι εισαγωγή αυτό το πράγμα για μένα. Έτσι, μπορώ να κάνω άλλα πράγματα ακόμα. Επιτρέψτε μου τώρα να προχωρήσει και να κάνει ένα κομμάτι από ένα ανόητο πρόγραμμα, αλλά επιτρέψτε μου να διαγραφεί, και επιτρέψτε μου να δημιουργήσει μια θηλιά. Ενώ η αλήθεια. Το σύμβολο αλήθεια είναι προφανώς πάντα πρόκειται να είναι αληθινό. Οπότε τι είδους βρόχου είμαι πρόκληση γράφοντας μια γραμμή σαν αυτή; Έτσι, ένα άπειρο βρόχο, έτσι δεν είναι; Απλά ενώ η αλήθεια. Δεν υπάρχει κανένας τρόπος που μπορώ να αλλάξω τη λέξη αλήθεια να είναι οτιδήποτε άλλο, έτσι αυτό είναι ακριβώς πρόκειται να τρέξει για πάντα. Έτσι, αν έχετε ποτέ στην πραγματικότητα είχε ένα πρόγραμμα στο Mac ή στο PC σας που φαίνεται να έχουν κλειδωμένο, ή κάνει κάτι και κάτι, και απλά δεν μπορεί να πάρει το πράγμα για να σταματήσουν το κάπνισμα, εκτός και αν επανεκκινήσετε τον υπολογιστή σας ή να τραβήξει μέχρι το Task Manager ή τα παρόμοια, εδώ είναι ένα τέτοιο παράδειγμα. Μπορώ να πω, "είμαι ένα αμαξάκι του προγράμματος." Κλείσιμο απόσπασμα, κλείστε παρένθεση, τελεία. Έτσι και πάλι, παρατηρήστε τα πρότυπα. Ακόμη και αν κάποια από σύνταξη μας είναι νέα, ενώ η λέξη-κλειδί, η λέξη-κλειδί αλήθεια, Ανακοίνωση δεν έχω την ίδια είδος αγκύλες. Έχω ένα ερωτηματικό και παρενθέσεις. Έτσι, τώρα ας πάμε μπροστά και η συγκέντρωση αυτών. Κάντε έθιμο, έθιμο. Έτσι, σε αυτό το σημείο, δεν χρειάζεται να επανεκκινήσετε τη συσκευή σας, εντάξει; Έτσι, το εύκολο μάθημα εδώ είναι με δύο δάχτυλα, ελέγχου C, θα εγκαταλείψει το πρόγραμμα. Αλλά μπορείτε να δείτε ακριβώς γιατί αυτό το πράγμα αυτή επαναλαμβάνεται ξανά και ξανά. Μπορώ να κάνω κάτι λίγο πιο σύνθετη ως ένα τρέιλερ. Πάω να προχωρήσει και πω το εξής. Για int, η οποία είναι ένας ακέραιος, i είναι ακριβώς ένα γενικό όνομα που δίνουμε στα περισσότερα μεταβλητές στον προγραμματισμό όταν είστε απλά καταμέτρηση, ισούται με 0. Επιτρέψτε μου να προχωρήσει και να πω, ενώ θ είναι, ας πούμε, λιγότερο από 100 ευρώ, συν συν. Θα επανέλθουμε σε αυτό το συντακτικό, αλλά αυτό σημαίνει απλώς αυξήσετε i ξανά και ξανά. Και τι θέλω να κάνω εδώ; Printf, "μπορώ να βασίζομαι σε i." Αυτό είναι ένα αμαξάκι πρόγραμμα. Τι Σκοπεύω μάλιστα εδώ; Ποσοστό που δεν s, αλλά δεν θα μαντέψει αυτό. % D είναι ένας ακέραιος. Comma i. Επιτρέψτε μου να κυλήσει πίσω. Επιτρέψτε μου τώρα να μεταγλωττίσετε με κάνουν. Επιτρέψτε μου τώρα να επαναληφθεί με το έθιμο. Μπορώ να μετρήσει πραγματικά δεκάρα γρήγορα, όταν Γράφω ένα πρόγραμμα όπως αυτό. Τώρα ας κάνουμε κάτι λίγο ακούσια. Πόσο περίπου ας το κάνουμε αυτό, ενώ θ είναι μεγαλύτερο ή ίσο με μηδέν. Τι είναι αυτό πρόκειται να προκαλέσει; Έτσι, λογικά, αυτό δεν είναι τόσο σοφός, γιατί τώρα αν επαναληφθεί αυτό, αφηγούνται, Μπορώ τώρα να μετρήσει πραγματικά, πραγματικά υψηλή. Δυστυχώς, για τόσο υψηλές όσο μπορώ Πλήθος είναι 4 δισ. ευρώ, οπότε αυτό θα για να πάρει λίγο χρόνο. Γιατί λοιπόν να μην αφήσουμε αυτό ως μας Cliffhanger, υποσχόμενος ότι σε Τετάρτη θα δούμε αν Το πρόγραμμα αυτό γίνεται. Δύο, θα εισαγάγει τον εαυτό σας πώς γράψτε τη δική σας λειτουργία, έτσι ώστε πολύ γρήγορα, μέχρι την Τετάρτη, εμείς θα, όπως μετάβαση από το μηδέν σε C, ξεκινήστε γραπτώς ποτέ όλο και πιο περίπλοκο προγράμματα που κάνουν πολλά, πολύ περισσότερο από αυτό. Θα δούμε τότε. [Χειροκρότημα] ΟΜΙΛΗΤΗΣ 1: Στην επόμενη CS50, Ημέρα Puzzle ήταν μια επιτυχία.