1 00:00:00,000 --> 00:00:11,952 2 00:00:11,952 --> 00:00:13,800 >> DAVID J. MALAN: Έτσι, αυτό είναι CS50. 3 00:00:13,800 --> 00:00:18,970 Και αυτό ήταν CS50 δική Colton Ogden, για περισσότερο από το ποιος είναι μουσική που μπορεί να 4 00:00:18,970 --> 00:00:22,820 κατεβάσετε σε soundcloud.com/cs50. 5 00:00:22,820 --> 00:00:26,690 >> Έτσι, σήμερα έχουμε επικεντρώσει το ενδιαφέρον της σχετικά με την τέχνη του προγραμματισμού. 6 00:00:26,690 --> 00:00:28,980 Και παίρνουμε όπου αφήσαμε την περασμένη εβδομάδα, με επίκεντρο 7 00:00:28,980 --> 00:00:31,660 στο Scratch, το οποίο ήταν αυτό γραφική γλώσσα προγραμματισμού. 8 00:00:31,660 --> 00:00:35,490 Και να πάρουμε τα πράγματα σε ένα χαμηλότερο επίπεδο, χρησιμοποιώντας μια πιο παραδοσιακή προγραμματισμού 9 00:00:35,490 --> 00:00:38,420 γλώσσα γνωστή ως C. Αλλά στην πορεία, συνειδητοποιώντας 10 00:00:38,420 --> 00:00:40,730 ότι τις ίδιες ιδέες μίλησε για την περασμένη Παρασκευή 11 00:00:40,730 --> 00:00:44,390 θα επαναληφθεί, όχι μόνο σε αυτό το γλώσσα C, αλλά στις περισσότερες κάθε άλλη 12 00:00:44,390 --> 00:00:46,350 ότι θα δούμε σε αυτό το εξάμηνο. 13 00:00:46,350 --> 00:00:50,247 >> Γι 'αυτό και ονομάζεται αυτό το πράγμα εδώ ό, τι την τελευταία φορά; 14 00:00:50,247 --> 00:00:51,830 Αυτό είναι αντιπροσωπευτική της δήλωσης. 15 00:00:51,830 --> 00:00:53,080 Γι 'αυτό και ονομάζεται αυτή η δήλωση. 16 00:00:53,080 --> 00:00:54,100 Και αυτό κάνει κάτι. 17 00:00:54,100 --> 00:00:56,910 Είναι μια εντολή που ένα υπολογιστή ή Scratch μπορεί να εκτελέσει. 18 00:00:56,910 --> 00:00:59,910 Και πλέον, ας αρχίσουν επίσης να καλώντας κάτι σαν αυτό μια λειτουργία, 19 00:00:59,910 --> 00:01:02,070 για λόγους που θα δούμε σύντομα. 20 00:01:02,070 --> 00:01:03,681 >> Εν τω μεταξύ, είδαμε πράγματα όπως αυτό. 21 00:01:03,681 --> 00:01:05,680 Και αυτά είναι γενικά γνωστή ως τι κατασκευάσει; 22 00:01:05,680 --> 00:01:06,240 >> ΚΟΙΝΟ: Loop. 23 00:01:06,240 --> 00:01:06,860 >> DAVID J. MALAN: Έτσι ένας βρόχος. 24 00:01:06,860 --> 00:01:07,943 Έτσι, αρκετά απλή. 25 00:01:07,943 --> 00:01:09,470 Είναι κυριολεκτικά κάνει ό, τι λέει. 26 00:01:09,470 --> 00:01:12,210 Και στο Scratch, αν θέλετε να χώνω περισσότερα κομμάτια του παζλ εκεί, 27 00:01:12,210 --> 00:01:13,950 το κομμάτι θα αυξηθεί για να χωρέσει. 28 00:01:13,950 --> 00:01:16,790 Και θα δούμε στο C ότι μπορούμε να κάνουμε το ίδιο πράγμα. 29 00:01:16,790 --> 00:01:20,000 >> Ένας άλλος τύπος του βρόχου, όμως, στο Scratch μπορεί να είναι για πάντα, 30 00:01:20,000 --> 00:01:21,820 ή υπάρχει οποιοσδήποτε αριθμός από άλλες προσεγγίσεις. 31 00:01:21,820 --> 00:01:24,150 Αλλά ας ρίξουμε μια πιο γενικού εμφάνιση, με ένα πρόσωπο 32 00:01:24,150 --> 00:01:27,402 ότι είναι πιθανό αρκετά εξοικειωμένοι, σε βρόχους γενικότερα. 33 00:01:27,402 --> 00:01:29,110 Mark Zuckerberg: One πράγμα ότι οι υπολογιστές 34 00:01:29,110 --> 00:01:31,860 είναι πραγματικά καλοί στο να είναι επαναλαμβανόμενες εντολές. 35 00:01:31,860 --> 00:01:33,910 Ως ένα άτομο, θα παίρνατε πραγματικά βαρεθεί αν 36 00:01:33,910 --> 00:01:36,730 έπρεπε να κάνουν το ίδιο πράγμα πολλές φορές στη σειρά. 37 00:01:36,730 --> 00:01:40,530 Όμως, ένας υπολογιστής μπορεί να κάνει το ίδιο πράγμα εκατομμύρια ή ακόμη και δισεκατομμύρια φορές, 38 00:01:40,530 --> 00:01:43,290 και δεν βαριούνται, και να είναι σε θέση να πραγματοποιήσουμε πολύ καλά. 39 00:01:43,290 --> 00:01:45,650 >> Έτσι, για παράδειγμα, αν ήθελα να ευχηθώ σε όλους 40 00:01:45,650 --> 00:01:48,840 στο Facebook χαρούμενα γενέθλια στέλνοντας ένα μήνυμα ηλεκτρονικού ταχυδρομείου, 41 00:01:48,840 --> 00:01:51,550 μπορεί να μου πάρει περισσότερο από ένα αιώνα για να γράψει πραγματικά έξω 42 00:01:51,550 --> 00:01:53,000 όλα αυτά τα μηνύματα ηλεκτρονικού ταχυδρομείου σε όλους. 43 00:01:53,000 --> 00:01:57,780 Αλλά με λίγες γραμμές κώδικα, μπορώ έχουν ένα σύστημα στείλετε ένα email σε όλους 44 00:01:57,780 --> 00:01:59,930 στο Facebook επιθυμούν τα χαρούμενα γενέθλια. 45 00:01:59,930 --> 00:02:02,730 Έτσι, αυτό είναι ό, τι είναι βρόχους και γιατί που είναι πολύτιμο και κάτι 46 00:02:02,730 --> 00:02:04,740 ότι οι υπολογιστές μπορούν να κάνουν πολύ καλά. 47 00:02:04,740 --> 00:02:05,630 >> DAVID J. MALAN: Έτσι, αν έχετε γίνει αποδέκτης 48 00:02:05,630 --> 00:02:07,820 ορισμένων από CS50 και Χώρο Dropbox είναι αργά, 49 00:02:07,820 --> 00:02:10,590 ότι είναι στην πραγματικότητα ακριβώς αυτό που κάνουμε, χρησιμοποιώντας τον κωδικό ακριβώς έτσι. 50 00:02:10,590 --> 00:02:12,600 Έχουμε ουσιαστικά ένα μεγάλο υπολογιστικό φύλλο στο οποίο 51 00:02:12,600 --> 00:02:15,016 Οι λαοί έχουν την εισαγωγή τους τα ονόματα και τις διευθύνσεις ηλεκτρονικού ταχυδρομείου. 52 00:02:15,016 --> 00:02:18,160 Και έγραψε ένα μικροσκοπικό κομμάτι του κώδικα που να επαναλάβετε σε αυτές τις διευθύνσεις 53 00:02:18,160 --> 00:02:21,860 και φτύσει μοναδικές διευθύνσεις σε περίπτωση που κάποιος υποβάλει πολλαπλές φορές. 54 00:02:21,860 --> 00:02:25,120 Και στη συνέχεια, στέλνουμε ένα αυτοματοποιημένο email από το bot CS50 είναι, 55 00:02:25,120 --> 00:02:27,190 συμπεριλαμβανομένου του κωδικό κουπονιού. 56 00:02:27,190 --> 00:02:29,290 >> Τώρα είδαμε επίσης Αυτό το κατασκεύασμα τελευταία φορά. 57 00:02:29,290 --> 00:02:33,100 Και αυτό είναι ένα συγκεκριμένο παράδειγμα του τι; 58 00:02:33,100 --> 00:02:35,050 Οπότε, ναι, μια Boolean έκφραση. 59 00:02:35,050 --> 00:02:37,050 Και το σχήμα εννοείται να συλλάβει και αυτό. 60 00:02:37,050 --> 00:02:39,966 Όλες αυτές οι ερωτήσεις από το αποτελούν αληθής ή ψευδής σε Scratch 61 00:02:39,966 --> 00:02:41,590 Θα κοιτάξουμε λίγο κάτι σαν αυτό. 62 00:02:41,590 --> 00:02:43,200 Και λέμε αυτό μια Boolean έκφραση. 63 00:02:43,200 --> 00:02:46,170 Αυτό είναι πράγματι αληθής ή ψευδής, ναι ή όχι. 64 00:02:46,170 --> 00:02:49,150 Είναι ένας τρόπος για να απαντήσει σε μια ερώτηση. 65 00:02:49,150 --> 00:02:52,420 >> Και Εν τω μεταξύ, μπορείτε να χρησιμοποιήσετε αυτά τα Boolean εκφράσεις μέσα από δομές 66 00:02:52,420 --> 00:02:54,720 όπως αυτά, τα οποία του Φυσικά συνθήκες 67 00:02:54,720 --> 00:02:57,259 ή υποκαταστημάτων, παροιμιώδη πιρούνια στο δρόμο. 68 00:02:57,259 --> 00:02:59,550 Και να δούμε όχι μόνο όπως αυτό, αλλά μπορούν επίσης να 69 00:02:59,550 --> 00:03:02,080 Οι elses που συνδέονται με αυτά. 70 00:03:02,080 --> 00:03:05,820 Και μπορείτε να έχετε πραγματικά τριοδικό διακλάδωση του δρόμου ή τεσσάρων τρόπο πιρούνι 71 00:03:05,820 --> 00:03:08,340 στο δρόμο, με απλή φωλιάζουν αυτά τα πράγματα, 72 00:03:08,340 --> 00:03:10,510 όπως θα δείτε στο Scratch αν δεν έχετε ήδη. 73 00:03:10,510 --> 00:03:13,550 Και όπως μπορείτε να κάνετε σε C, καθώς και. 74 00:03:13,550 --> 00:03:16,810 >> Ας ρίξουμε μια άλλη γενικού δούμε ένα alumnist, καθώς, ο οποίος 75 00:03:16,810 --> 00:03:21,490 θα μπορούσε να παρουσιάσει μια διαφορετική προσέγγιση σε αυτά τα πράγματα που ονομάζεται συνθήκες. 76 00:03:21,490 --> 00:03:24,060 >> BILL GATES: Οι άνθρωποι κάνουν αποφάσεις κάθε μέρα. 77 00:03:24,060 --> 00:03:27,530 Για παράδειγμα, πριν πάτε έξω σας είδος έχει μια δήλωση if που λέει, 78 00:03:27,530 --> 00:03:31,480 αν βρέχει τότε Πρέπει να πάρω το σακάκι μου. 79 00:03:31,480 --> 00:03:36,820 Και οι υπολογιστές είναι καταπληκτική στιγμή που θα προσδιορίζουν τα είδη των καταστάσεων, 80 00:03:36,820 --> 00:03:42,280 ώστε να μπορούν να εκτελούν αξιόπιστα αυτά τα πράγματα σε απίστευτες ταχύτητες. 81 00:03:42,280 --> 00:03:48,240 Και έτσι, ένα πρόγραμμα υπολογιστή πραγματικά Είναι ένα μικρό κομμάτι των μαθηματικών και κάποια 82 00:03:48,240 --> 00:03:53,050 αν καταστάσεων όπου η απόφαση που παίρνει. 83 00:03:53,050 --> 00:03:55,020 >> DAVID J. MALAN: Έτσι όπως ίσως γνωρίζετε, ήταν 84 00:03:55,020 --> 00:03:57,880 λαοί, όπως ο Bill Gates, Paul Allen, και άλλοι 85 00:03:57,880 --> 00:04:00,240 ότι πραγματικά ξεκίνησε η λεγόμενες προσωπικός υπολογιστής 86 00:04:00,240 --> 00:04:01,990 επανάσταση πριν από μερικά χρόνια. 87 00:04:01,990 --> 00:04:04,140 Σκέφτηκα, πριν βουτήξει σε κάποια Μικροδιαχειριστικά, 88 00:04:04,140 --> 00:04:09,920 εμείς θα αφορούν ένα παραμύθι από το Albuquerque, Νέο Μεξικό Μουσείο Φυσικής Ιστορίας 89 00:04:09,920 --> 00:04:13,650 και της επιστήμης, όπου μερικά από Bill Gates » και πρώτες ιστορίες Paul Allen της 90 00:04:13,650 --> 00:04:17,470 Οι εξιστόρησε το πώς έχουμε τώρα σημερινή PCs και Macs και περισσότερο. 91 00:04:17,470 --> 00:04:22,390 Γι 'αυτό, όμως, χρειαζόμαστε δύο εθελοντές οι οποίοι έχουν πολύ καλές φωνές αφήγηση 92 00:04:22,390 --> 00:04:23,735 να διαβάσει ένα σενάριο δυνατά. 93 00:04:23,735 --> 00:04:25,530 >> Εντάξει, πώς περίπου στο πίσω εκεί. 94 00:04:25,530 --> 00:04:26,120 Έλα πάνω. 95 00:04:26,120 --> 00:04:27,770 Και πώς περίπου μπροστά εδώ. 96 00:04:27,770 --> 00:04:28,340 Ελάτε κάτω. 97 00:04:28,340 --> 00:04:29,600 Πάρτε τις θέσεις σας εδώ. 98 00:04:29,600 --> 00:04:32,444 Όπως εσείς καταλήξει, ένα ζευγάρι των διοικητικών ανακοινώσεις. 99 00:04:32,444 --> 00:04:34,360 τομής, η διαδικασία από την επιλογή ενός τμήματος, 100 00:04:34,360 --> 00:04:36,068 θα ξεκινήσει αυτό Τετάρτη έως την Παρασκευή. 101 00:04:36,068 --> 00:04:38,400 Περισσότερα για το ότι αυτό έρχεται Τετάρτη στην διάλεξη. 102 00:04:38,400 --> 00:04:41,770 >> Σούπερ τμήματα, εν τω μεταξύ, είναι κάτι που προσφέρει την επόμενη εβδομάδα 103 00:04:41,770 --> 00:04:45,310 σύμφωνα με την οποία είναι ολόκληρη η τάξη καλείται να συμμετάσχουν σε αρκετά μεγάλη κλίμακα 104 00:04:45,310 --> 00:04:47,690 τμήματα, ένα πιο άνετο, ένα λιγότερο άνετα. 105 00:04:47,690 --> 00:04:51,340 Και εμείς θα ανακοινώσει τα στοιχεία από αυτό, καθώς και, αργότερα αυτή την εβδομάδα. 106 00:04:51,340 --> 00:04:53,310 >> Τμήματα τω μεταξύ, οι ίδιοι, θα ξεκινήσει 107 00:04:53,310 --> 00:04:57,241 σε τρεις από τη διάρκεια εβδομάδων, μηδέν ευρετήριο, που σημαίνει ότι αυτά είναι μια-δυο εβδομάδες 108 00:04:57,241 --> 00:04:57,740 έξω. 109 00:04:57,740 --> 00:04:58,450 Έτσι, μην ανησυχείτε. 110 00:04:58,450 --> 00:05:01,014 Δεν έχετε ακόμα αναπάντητες τίποτα προς αυτή την κατεύθυνση. 111 00:05:01,014 --> 00:05:03,930 Εν τω μεταξύ, εν τω μεταξύ, αν απορίες διοικητικά, 112 00:05:03,930 --> 00:05:08,120 e-mail μου και Ντέβον και Gabe και Rob σε αυτή τη διεύθυνση εδώ. 113 00:05:08,120 --> 00:05:10,320 >> Τέλος, το πρόβλημα που 0 είναι, φυσικά, έξω. 114 00:05:10,320 --> 00:05:12,320 Μπορεί να έχετε παρατηρήσει στην ιστοσελίδα του μαθήματος. 115 00:05:12,320 --> 00:05:14,840 Θα πρέπει να σας παρέχει με όλες οι απαντήσεις στις ερωτήσεις 116 00:05:14,840 --> 00:05:18,250 μπορείτε να έχετε κατά μήκος του τρόπου για Ξεκινώντας με το σύνολο του προβλήματος. 117 00:05:18,250 --> 00:05:21,430 Αλλά αν βρείτε τον εαυτό σας ανάγκη από ένα χέρι βοήθειας, 118 00:05:21,430 --> 00:05:25,020 με όλα τα μέσα παρακολουθήσουν τις ώρες γραφείου, Δευτέρα, Τρίτη, Τετάρτη, Πέμπτη 119 00:05:25,020 --> 00:05:27,290 αυτής της εβδομάδας το βράδυ σε τέσσερις αίθουσες φαγητού. 120 00:05:27,290 --> 00:05:31,650 Δείτε αυτό το URL εκεί για τα στοιχεία από όπου ωρών γραφείου πρέπει να είναι. 121 00:05:31,650 --> 00:05:34,000 >> Τώρα Ας γνωρίσουμε μας δύο άτομα εδώ σήμερα. 122 00:05:34,000 --> 00:05:34,740 Ποιο είναι το όνομά σου; 123 00:05:34,740 --> 00:05:35,290 >> JAY PAUL: Jay Paul. 124 00:05:35,290 --> 00:05:36,880 >> DAVID J. MALAN: Jay Paul, Χαίρω πολύ. 125 00:05:36,880 --> 00:05:37,330 >> HIKARI: Hikari. 126 00:05:37,330 --> 00:05:37,975 >> DAVID J. MALAN: Hikari; 127 00:05:37,975 --> 00:05:38,250 >> HIKARI: Hikari. 128 00:05:38,250 --> 00:05:38,810 >> DAVID J. MALAN: Hikari. 129 00:05:38,810 --> 00:05:39,790 Χαίρω πολύ, καθώς και. 130 00:05:39,790 --> 00:05:42,123 Jay Paul και Hikari έχουν μπροστά τους σε αυτές μουσική 131 00:05:42,123 --> 00:05:45,100 βρίσκεται δύο σενάρια που εκτυπώνονται από σήμερα το πρωί από το Νέο Μεξικό 132 00:05:45,100 --> 00:05:46,692 Μουσείο Φυσικής Ιστορίας και Επιστημών. 133 00:05:46,692 --> 00:05:48,400 Και ό, τι νόμιζα Είχα κάνει την εναέρια 134 00:05:48,400 --> 00:05:52,830 Είναι συνοδεύει την απαγγελία σας του σεναρίου και αυτή την ιστορία 135 00:05:52,830 --> 00:05:54,700 με ορισμένες οπτικές εικόνες, χωρίς εκπλήξεις. 136 00:05:54,700 --> 00:05:57,512 >> Και ό, τι έχω κάνει εκ των προτέρων είναι prehighlight στο script σας 137 00:05:57,512 --> 00:05:59,470 τι θα πρέπει να διαβάσετε, και τι θα πρέπει να διαβάσετε. 138 00:05:59,470 --> 00:06:00,920 Και θα είμαστε ουσιαστικά εναλλάσσοντας τις παραγράφους. 139 00:06:00,920 --> 00:06:03,211 Γι 'αυτό είναι πολύ όπως ίσως έχουν γίνει στα αγγλικά τάξη. 140 00:06:03,211 --> 00:06:06,875 Αυτό είναι πραγματικά αναγκάσει το κοινό να πιστεύουν στο παραμύθι σας εδώ. 141 00:06:06,875 --> 00:06:07,600 Πρέπει να έχουμε; 142 00:06:07,600 --> 00:06:13,272 Έτσι, η ιστορία είναι εδώ, έχουμε μια BASIC, και αυτό αρχίζει στο Cambridge. 143 00:06:13,272 --> 00:06:18,750 >> JAY PAUL: Ήταν χειμώνας, 1974, σε Cambridge, Μασαχουσέτη 144 00:06:18,750 --> 00:06:20,240 όπου οι χειμώνες μπορεί να είναι κρύο. 145 00:06:20,240 --> 00:06:22,800 Ένας γενειοφόρος, μακρυμάλλης εγκατάλειψη κολλεγίων που ονομάζεται 146 00:06:22,800 --> 00:06:27,280 Paul Allen ήταν drudging όλη Χάρβαρντ Πλατεία, που απορροφάται στις σκέψεις του. 147 00:06:27,280 --> 00:06:31,050 Κύρια ανησυχία του σε εκείνες τις ημέρες ήταν πώς να πάρει ο φίλος του, ο Bill Gates, 148 00:06:31,050 --> 00:06:34,974 να εγκαταλείψει το σχολείο και να πάει στην επιχείρηση με αυτόν. 149 00:06:34,974 --> 00:06:37,890 HIKARI: Οι δυο τους είχαν ήδη φύγει μέσα από μια σειρά από επιχειρηματικές δραστηριότητες 150 00:06:37,890 --> 00:06:40,850 μαζί, αρχίζοντας στο Lakeside σχολείο στο Σιάτλ, όπου 151 00:06:40,850 --> 00:06:45,220 είχαν καταβληθεί στον ελεύθερο χρόνο του υπολογιστή για να δοκιμή ενός υπολογιστή PDP-10 σε μια τοπική ώρα 152 00:06:45,220 --> 00:06:46,580 μοιράζονται εταιρεία. 153 00:06:46,580 --> 00:06:50,930 Το πιο πρόσφατο σχέδιο ήταν να σταματήσουν το κάπνισμα σχολείο και να σχηματίσουν μια εταιρεία λογισμικού. 154 00:06:50,930 --> 00:06:53,440 Allen είχε αφήσει Ουάσιγκτον State University. 155 00:06:53,440 --> 00:06:58,380 Όμως, την τελευταία στιγμή, Πύλες αποφάσισε να κολλήσει με το Χάρβαρντ. 156 00:06:58,380 --> 00:07:02,080 >> JAY PAUL: Εκείνη τη μέρα, διασχίζοντας Χάρβαρντ Πλατεία, Allen εντόπισε το Ιανουάριο 157 00:07:02,080 --> 00:07:07,530 1975 τεύχος του Popular Electronics με τον τίτλο διακοπή της γης, 158 00:07:07,530 --> 00:07:11,900 Πρώτο Μινιυπολογιστής Kit κόσμο να ανταγωνιστεί εμπορικά μοντέλα. 159 00:07:11,900 --> 00:07:14,430 Κάτω από την επικεφαλίδα ήταν μια εικόνα από ένα μικρό κουτί 160 00:07:14,430 --> 00:07:16,160 διακοσμημένο με φώτα και διακόπτες. 161 00:07:16,160 --> 00:07:19,770 Κλήθηκε ο MITS Altair 8800. 162 00:07:19,770 --> 00:07:24,100 Και Allen ήξερε αυτό ήταν τι είχε ψάξει. 163 00:07:24,100 --> 00:07:26,350 >> HIKARI: Ημέρες του ακολούθησε συζήτηση. 164 00:07:26,350 --> 00:07:30,170 Allen και Γκέιτς κατανοητό το σημασία του Altair. 165 00:07:30,170 --> 00:07:32,480 Είχαν μιλήσει συχνά για μικροεπεξεργαστές 166 00:07:32,480 --> 00:07:35,250 και περίμεναν να δουν τι θα γίνει με αυτούς. 167 00:07:35,250 --> 00:07:39,770 Τώρα υπήρχε ένα κιτ μινιυπολογιστής για το κάλυμμα της Popular Electronics. 168 00:07:39,770 --> 00:07:42,830 Είναι προφανώς δεν είχε κανένα λογισμικό ακόμα. 169 00:07:42,830 --> 00:07:46,830 Θα φανταζόταν ένα έθνος προγραμματιστές κατεβαίνει για MITS. 170 00:07:46,830 --> 00:07:49,590 Και γι 'αυτό που ονομάζεται Ed Roberts, ο επικεφαλής της εταιρείας, 171 00:07:49,590 --> 00:07:53,330 που ισχυρίζονται ότι έχουν μια έκδοση του Γλώσσας προγραμματισμού BASIC σχεδόν έτοιμο 172 00:07:53,330 --> 00:07:54,710 για τον Altair. 173 00:07:54,710 --> 00:07:55,570 Δεν το έκανε. 174 00:07:55,570 --> 00:07:58,910 Και Roberts πρέπει να γνωρίζει ότι δεν το έκανε. 175 00:07:58,910 --> 00:08:03,170 Είχε πάρει 10 κλήσεις την ημέρα από άνθρωποι που είχαν ένα BASIC σχεδόν έτοιμο. 176 00:08:03,170 --> 00:08:05,570 Και απάντηση απόθεμα του ήταν, "Το πρώτο πρόσωπο 177 00:08:05,570 --> 00:08:11,090 ο οποίος εμφανίζεται με μια εργατική BASIC παίρνει τη σύμβαση. " 178 00:08:11,090 --> 00:08:13,910 >> JAY PAUL: Gates και Allen Ποτέ δεν είχε δει ένα Altair. 179 00:08:13,910 --> 00:08:17,600 Είχαν δει ποτέ ακόμη και το Intel 8080 μικροεπεξεργαστή 180 00:08:17,600 --> 00:08:19,060 στην καρδιά του Altair. 181 00:08:19,060 --> 00:08:21,470 Αλλά ένα-δύο χρόνια νωρίτερα Allen είχε γράψει ένα πρόγραμμα 182 00:08:21,470 --> 00:08:25,220 σε έναν κεντρικό υπολογιστή που μιμήθηκε η λειτουργία ενός προηγούμενου Intel 183 00:08:25,220 --> 00:08:26,217 μικροεπεξεργαστή. 184 00:08:26,217 --> 00:08:28,300 Και αυτή τη φορά γύρω από αυτά θα κάνουμε το ίδιο πράγμα. 185 00:08:28,300 --> 00:08:31,530 186 00:08:31,530 --> 00:08:34,380 >> HIKARI: Με επεξεργαστή Intel 8080 εγχειρίδιο στο πλευρό του, 187 00:08:34,380 --> 00:08:37,770 Allen κάθισε σε μια Harvard PDP-10 υπολογιστή 188 00:08:37,770 --> 00:08:42,010 και έγραψε τον εξομοιωτή και λογισμικό εργαλεία που είναι απαραίτητα για να κάνουν τον προγραμματισμό. 189 00:08:42,010 --> 00:08:45,820 Εν τω μεταξύ Gates σταμάτησε να πηγαίνει σε τάξεις και αφοσιώθηκε 190 00:08:45,820 --> 00:08:48,120 για το σχεδιασμό της BASIC, χρησιμοποιώντας κάθε τέχνασμα 191 00:08:48,120 --> 00:08:53,130 ήξερε να πάρει το μέγεθος κάτω από 4 kilobytes. 192 00:08:53,130 --> 00:08:55,870 >> JAY PAUL: Out στο Albuquerque, Ed Roberts πήρε μια κλήση από τον Γκέιτς 193 00:08:55,870 --> 00:08:59,754 ζητώντας λεπτομέρειες για το πώς η Altair χειρίζεται συγκεκριμένες ρουτίνες. 194 00:08:59,754 --> 00:09:01,170 Κανείς δεν είχε ζητήσει ποτέ ότι πριν. 195 00:09:01,170 --> 00:09:02,670 Και Roberts άρχισε να ενδιαφέρονται. 196 00:09:02,670 --> 00:09:05,240 197 00:09:05,240 --> 00:09:07,970 >> HIKARI: Με την ανάπτυξη τα εργαλεία και ο σχεδιασμός είναι έτοιμη, 198 00:09:07,970 --> 00:09:10,780 Gates και Allen έγραψε ο κωδικός για την PDP-10, 199 00:09:10,780 --> 00:09:16,060 κινητοποιήσει έναν άλλο μαθητή του Χάρβαρντ, Monte Davidoff, να γράψει μαθηματικά ρουτίνες. 200 00:09:16,060 --> 00:09:19,450 Μετά από μια τελευταία νύχτα του προγραμματισμού, Allen πήρε σε ένα αεροπλάνο 201 00:09:19,450 --> 00:09:22,970 να παραδώσει BASIC τους στο MITS. 202 00:09:22,970 --> 00:09:25,800 Πέρασε το αεροπλάνο βόλτα έξω να ανησυχείτε. 203 00:09:25,800 --> 00:09:28,490 Και πίσω στο Cambridge Gates ήταν ανησυχητική. 204 00:09:28,490 --> 00:09:32,100 Είχαν δοκιμαστεί BASIC τους και είχε εργαστεί στην εξομοιωτή. 205 00:09:32,100 --> 00:09:35,444 Αλλά τι θα γινόταν αν ο εξομοιωτής ήταν λάθος; 206 00:09:35,444 --> 00:09:37,360 JAY PAUL: Καθώς το αεροπλάνο πλησίασε Albuquerque, 207 00:09:37,360 --> 00:09:40,070 Allen συνειδητοποίησε ότι τους BASIC, τώρα τακτοποιημένα περιέχονται 208 00:09:40,070 --> 00:09:42,460 σε ένα μικρό ρολό διάτρητη χαρτοταινία, θα 209 00:09:42,460 --> 00:09:44,970 είναι άχρηστο χωρίς ένα ξεχωριστό πρόγραμμα, που ονομάζεται ένα φορτωτή, ότι 210 00:09:44,970 --> 00:09:47,550 θα πει το Altair πώς να διαβάσετε την χαρτοταινία ον 211 00:09:47,550 --> 00:09:49,620 τροφοδοτείται στη μηχανή τηλέτυπο. 212 00:09:49,620 --> 00:09:52,970 Πήρε το σημειωματάριό του και γρήγορα γραμμένα κάτω ένα πρόγραμμα φορτωτή 213 00:09:52,970 --> 00:09:56,819 σε γλώσσα Assembly, τότε το χέρι μεταφράζεται ότι στα 1s και 0s 214 00:09:56,819 --> 00:09:57,985 η Altair θα καταλάβει. 215 00:09:57,985 --> 00:10:00,530 216 00:10:00,530 --> 00:10:03,830 >> HIKARI: Allen περίμενα ένα καθαρό, μικρό, υψηλής τεχνολογίας της εταιρείας 217 00:10:03,830 --> 00:10:05,470 διοικούνται από άνδρες με τα κοστούμια. 218 00:10:05,470 --> 00:10:09,210 Έτσι, έμεινε έκπληκτος όταν Roberts συνάντησε του στο αεροδρόμιο αναζητούν σαν ένα ράντσο 219 00:10:09,210 --> 00:10:10,270 χέρι. 220 00:10:10,270 --> 00:10:12,070 Roberts ήταν επίσης έκπληξη. 221 00:10:12,070 --> 00:10:16,340 Όταν έριξε το Χάρβαρντ προγραμματιστής σε ένα ακριβό ξενοδοχείο, 222 00:10:16,340 --> 00:10:20,790 Allen έπρεπε να ομολογήσει ότι ο ίδιος δεν μπορούσε να αντέξει οικονομικά το δωμάτιο. 223 00:10:20,790 --> 00:10:24,510 >> JAY PAUL: MITS, η ίδια, ήταν βρίσκεται σε ένα σκονισμένο λωρίδα Mall. 224 00:10:24,510 --> 00:10:27,040 Μέσα σε ένα ακατάστατο πάγκο ήταν ένα Altair 225 00:10:27,040 --> 00:10:30,390 φορτωμένο με 5 kilobytes του μνήμη και συνδέεται με ένα καλώδιο 226 00:10:30,390 --> 00:10:32,030 σε ένα μηχάνημα τηλέτυπο. 227 00:10:32,030 --> 00:10:37,200 Roberts και Chief Engineer, Bill Yates, περίμεναν με προσμονή 228 00:10:37,200 --> 00:10:40,660 όπως Allen εναλλάσσεται φορτωτή του πρόγραμμα στο Altair. 229 00:10:40,660 --> 00:10:44,980 Το τηλέτυπο άρχισε chugging καθώς τράβηξε η ταινία του χαρτιού μέσω του αναγνώστη ταινία. 230 00:10:44,980 --> 00:10:47,215 Χρειάστηκαν ίσως 15 λεπτά για να φορτώσετε το πρόγραμμα. 231 00:10:47,215 --> 00:10:52,110 Στη συνέχεια, το τηλέτυπο απότομα τυπωμένο ένα άμεση μνήμη, τότε ένα έτοιμο προτροπή, 232 00:10:52,110 --> 00:10:55,340 και Allen ξεκίνησε πληκτρολογώντας εντολές μερικά τεστ. 233 00:10:55,340 --> 00:10:57,400 Προς έκπληξη όλων, το λογισμικό λειτούργησε. 234 00:10:57,400 --> 00:10:58,525 Υπήρχαν σφάλματα, φυσικά. 235 00:10:58,525 --> 00:11:02,070 Αλλά το κύριο πράγμα ήταν ότι λειτούργησε. 236 00:11:02,070 --> 00:11:06,570 >> HIKARI: Αργότερα, στην πορεία τους προς ένα $ 3,00 γεύμα στο Pancho, μια σφήκα πέταξε 237 00:11:06,570 --> 00:11:10,470 στο παράθυρο του pickup φορτηγό και τσιμπήσει Allen στο χέρι. 238 00:11:10,470 --> 00:11:13,070 Αλλά σε εκείνο το σημείο δεν θα μπορούσε να χαλάσει τη διάθεση. 239 00:11:13,070 --> 00:11:17,210 Ο Altair είχε τώρα BASIC της, η πρώτο εμπορικό λογισμικό για ένα σπίτι 240 00:11:17,210 --> 00:11:23,260 υπολογιστή, του Paul Allen και Bill Gates, την επιχειρηματική δραστηριότητα, όπως η Microsoft. 241 00:11:23,260 --> 00:11:25,336 >> DAVID J. MALAN: Πολλά χάρη σε δύο αναγνώστες μας. 242 00:11:25,336 --> 00:11:30,690 >> [Χειροκρότημα] 243 00:11:30,690 --> 00:11:32,520 >> DAVID J. MALAN: Τώρα έχετε την επιλογή σας, 244 00:11:32,520 --> 00:11:35,880 πριν φύγετε, ένα sparkly ή μια λάμψη στο dark-- oh, 245 00:11:35,880 --> 00:11:40,810 περιμένετε ένα δευτερόλεπτο, wait-- sparkly και μια λάμψη στο σκοτάδι ελέφαντα 246 00:11:40,810 --> 00:11:42,534 από τη δική Cheng Gong CS50 του. 247 00:11:42,534 --> 00:11:43,450 HIKARI: Aw, σας ευχαριστώ. 248 00:11:43,450 --> 00:11:45,324 DAVID J. MALAN: Όλα Εντάξει, σας ευχαριστώ πολύ. 249 00:11:45,324 --> 00:11:49,855 [Χειροκρότημα] 250 00:11:49,855 --> 00:11:51,105 DAVID J. MALAN: Έτσι αληθινή ιστορία. 251 00:11:51,105 --> 00:11:54,380 Αυτό είναι να πω ότι όλα αυτά μηχανημάτων και η ευκολία με την οποία μπορούμε 252 00:11:54,380 --> 00:11:56,270 χρήση τους τώρα και να λάβει δεδομένο, πραγματικά 253 00:11:56,270 --> 00:12:00,070 ξεκίνησε εδώ, μόλις λίγα βήματα από αυτό το πραγματικό θέατρο. 254 00:12:00,070 --> 00:12:03,930 Και τώρα, σήμερα, αν δεν πάει, αυτό είναι Maxwell Dworkin, ο υπολογιστής 255 00:12:03,930 --> 00:12:05,810 επιστήμες κτίριο, Επίσης, γύρω από τη γωνία. 256 00:12:05,810 --> 00:12:09,760 Και στον δεύτερο όροφο του αυτό κτίριο κρεμάσει τρεις σελίδες 257 00:12:09,760 --> 00:12:12,740 από το αρχικό πηγαίο κώδικα που Bill Gates και Paul Allen έγραψε. 258 00:12:12,740 --> 00:12:14,770 Στην πραγματικότητα, εάν η χρήση σας zoom σε μπορείτε να δείτε όχι μόνο 259 00:12:14,770 --> 00:12:17,350 τα ονόματά τους στην αρχικό τύπο, αλλά και 260 00:12:17,350 --> 00:12:22,100 υπογραφές τους που κοσμούσαν ένα Λίγα χρόνια πίσω, όταν επισκεφτήκατε τελευταία. 261 00:12:22,100 --> 00:12:25,800 >> Αλλά αυτό ήταν ιδιαίτερα επιτακτικό γι 'αυτό είναι αυτό που έθεσε ως στόχο να κάνει 262 00:12:25,800 --> 00:12:29,760 ήταν να γράψει ένα πρόγραμμα που θα επιτρέψετε σε άλλους ανθρώπους για να γράψει 263 00:12:29,760 --> 00:12:30,950 τα δικά τους προγράμματα. 264 00:12:30,950 --> 00:12:34,280 Κατά το χρόνο όλα ήταν εκεί με αυτό το μηχάνημα Altair πραγματοποιούνται από MITS. 265 00:12:34,280 --> 00:12:40,020 Και το μόνο που χρειαζόταν ήταν κάποιο τρόπο καθιστώντας εύκολο για τους χομπίστες και τους ανθρώπους 266 00:12:40,020 --> 00:12:45,300 μας αρέσει σε αυτό το δωμάτιο πραγματικά να το πρόγραμμα ότι, χωρίς κατ 'ανάγκην κατανόηση 267 00:12:45,300 --> 00:12:49,060 Κωδικός Συνέλευση, ή μηχάνημα κώδικα, ή Θεός φυλάξοι, 0s και 1s. 268 00:12:49,060 --> 00:12:51,190 Εμείς προγραμματιστές, όπως εκείνοι σε αυτό το δωμάτιο, θα 269 00:12:51,190 --> 00:12:54,070 θέλουν να είναι σε θέση να εκφράσουν τους εαυτούς μας πολύ περισσότερο σαν ψευδο-κώδικα 270 00:12:54,070 --> 00:12:57,330 ακόμα κι αν είναι λίγο πιο nit επιλεκτικοί από μιλήσαμε την περασμένη εβδομάδα. 271 00:12:57,330 --> 00:13:00,970 Δεν θέλουμε να γράφουν κώδικα, όπως αυτό, που έκανε ο Paul Allen και ο Bill Gates. 272 00:13:00,970 --> 00:13:04,850 Εμείς, αντίθετα, θέλουμε να γράφουν κώδικα, ότι φαίνεται ένα φιλικό προς το χρήστη λίγο περισσότερο. 273 00:13:04,850 --> 00:13:07,150 >> Τώρα αυτό είναι μια γλώσσα γνωστή ως BASIC. 274 00:13:07,150 --> 00:13:11,497 Και οι αριθμοί γραμμή είναι εκεί ό, τι χρησιμοποιήσετε για να αριθμούν μόνο τις γραμμές κώδικα 275 00:13:11,497 --> 00:13:12,330 ότι είστε γραπτώς. 276 00:13:12,330 --> 00:13:14,038 Δεν χρειάζεται καν να κάνουμε ότι αυτές τις μέρες. 277 00:13:14,038 --> 00:13:16,060 Αλλά μπορείτε να δείτε εδώ πώς PRINT "γειά σου, κόσμε!" 278 00:13:16,060 --> 00:13:18,660 Πράγματι, θα ήταν πιθανώς να εκτυπώσετε ακριβώς αυτό. 279 00:13:18,660 --> 00:13:22,710 Και έτσι αυτό που ο Bill και ο Παύλος έκανε ήταν ενδυναμώσουν τους ανθρώπους να γράφουν κώδικα, όπως αυτό 280 00:13:22,710 --> 00:13:27,240 αντί of-- αν ρίξετε μια ματιά στο επιστήμη των υπολογιστών wall-- κώδικα όπως αυτό. 281 00:13:27,240 --> 00:13:29,290 >> Στην πραγματικότητα, CS50 πρόσφατα είχε την ευκαιρία 282 00:13:29,290 --> 00:13:32,540 να καθίσει με τον καθηγητή Harry Lewis στο Τμήμα Επιστήμης Υπολογιστών, οι οποίοι 283 00:13:32,540 --> 00:13:34,640 στην πραγματικότητα δίδαξε Bill Gates πριν από μερικά χρόνια, 284 00:13:34,640 --> 00:13:38,460 και στέκεται εδώ πριν αυτές οι τρεις σελίδες αποσπάσματα. 285 00:13:38,460 --> 00:13:39,560 Ας ρίξουμε μια ματιά. 286 00:13:39,560 --> 00:13:45,520 >> HARRY LEWIS: Αυτό που έχουμε εδώ είναι μια κατάλογο των πρώιμο κομμάτι του λογισμικού 287 00:13:45,520 --> 00:13:50,240 γραμμένο από τον Bill Gates και Paul Allen, οι ιδρυτές της Microsoft. 288 00:13:50,240 --> 00:13:52,570 Έτσι ο κώδικας είναι ενδιαφέρουσα για δύο λόγους. 289 00:13:52,570 --> 00:13:55,480 Πρώτα από όλα, έγινε Το πρώτο προϊόν της Microsoft, 290 00:13:55,480 --> 00:14:01,810 που ήταν διερμηνέας η βασική γλώσσα προγραμματισμού. 291 00:14:01,810 --> 00:14:04,940 Και δεύτερον, αυτό ήταν μία από τις πρώτες προσπάθειες 292 00:14:04,940 --> 00:14:10,580 για να δημιουργήσετε ένα διερμηνέα τόσο συνηθισμένο οι άνθρωποι θα μπορούσαν να χρησιμοποιήσουν τους προσωπικούς υπολογιστές. 293 00:14:10,580 --> 00:14:12,670 >> Έτσι, ο Bill Gates ήταν μια φοιτητής στο Χάρβαρντ. 294 00:14:12,670 --> 00:14:14,820 Άρχισα να διδάσκει στο Χάρβαρντ το 1974. 295 00:14:14,820 --> 00:14:16,560 Αυτό έγινε το 1975. 296 00:14:16,560 --> 00:14:20,180 Έτσι ήταν νωρίς στην καριέρα του και νωρίς στην καριέρα μου. 297 00:14:20,180 --> 00:14:23,790 Δίδαξα πραγματικά Bill σε ένα μάθημα γύρω από αυτό το διάστημα. 298 00:14:23,790 --> 00:14:27,130 Paul Allen δεν ήταν ένα Harvard φοιτητής, αλλά 299 00:14:27,130 --> 00:14:31,020 ήταν ένα λύκειο συμμαθητής του Bill Gates. 300 00:14:31,020 --> 00:14:33,740 Αν έρθει και να εξετάσουμε στη λίστα, εσείς θα 301 00:14:33,740 --> 00:14:36,230 πραγματικά να βρει μια τρίτη όνομα, Monte Davidoff, 302 00:14:36,230 --> 00:14:39,260 ο οποίος ήταν συμμαθητής του Gates εδώ στο Harvard. 303 00:14:39,260 --> 00:14:41,340 >> Εντάξει, τόσο εδώ είναι μια ενδιαφέρουσα παρατήρηση εδώ. 304 00:14:41,340 --> 00:14:47,150 Λέει «Σε 4K να διαγράψετε τετραγωνική ρίζα αλλά για βρόχους θα πρέπει να εξακολουθεί να λειτουργεί. " 305 00:14:47,150 --> 00:14:53,080 Εντάξει, έτσι τι σημαίνει αυτό είναι ότι υπάρχει ήταν δύο τρόποι για την κατάρτιση αυτού του προγράμματος. 306 00:14:53,080 --> 00:14:57,860 Ένας ήταν να τρέξει σε μια έκδοση από αυτόν τον υπολογιστή Altair 307 00:14:57,860 --> 00:15:04,310 ότι είχε μόνο 4K λέξεις μνήμη, 4.096 λέξεις μνήμης. 308 00:15:04,310 --> 00:15:07,050 Αλλά η μεγάλη έκδοση είχε 8K. 309 00:15:07,050 --> 00:15:09,770 Και έτσι ό, τι αυτό λέει είναι ότι στην έκδοση 4K 310 00:15:09,770 --> 00:15:12,770 θα έπρεπε να διαγράψετε κάποια κώδικα ώστε να είναι κατάλληλο. 311 00:15:12,770 --> 00:15:14,790 Και ένα από τα πράγματα ότι θα διαγραφούν 312 00:15:14,790 --> 00:15:16,290 θα είναι η τετραγωνική ρίζα ρουτίνα. 313 00:15:16,290 --> 00:15:20,360 Αλλά προφανώς η για βρόχους θα πρέπει να εξακολουθούν να 314 00:15:20,360 --> 00:15:26,392 λειτουργήσει ακόμα και όταν είστε σύνταξη κάτω για την απλή εκδοχή 4K του υπολογιστή. 315 00:15:26,392 --> 00:15:29,350 DAVID J. MALAN: Έτσι, ένα από τα θέματα, όπως θα δούμε στην επιστήμη των υπολογιστών, 316 00:15:29,350 --> 00:15:31,430 Είναι αυτή η έννοια της layering και αφαίρεση, 317 00:15:31,430 --> 00:15:34,670 και πραγματικά στέκεται στους ώμους από τους λαούς που έχουν έρθει πριν από μας, δεν 318 00:15:34,670 --> 00:15:37,890 σε αντίθεση με ορισμένες από τις Bill Gates και Paul Allen αφήγηση εδώ. 319 00:15:37,890 --> 00:15:40,080 Και τι σημαίνει αυτό είναι ότι σήμερα μπορούμε να πάρουμε για 320 00:15:40,080 --> 00:15:43,490 δεδομένο ότι τα πράγματα είναι πραγματικά ευκολότερο για μας να γράφουν κώδικα. 321 00:15:43,490 --> 00:15:47,170 Πράγματι κώδικα, όπως δήλωσε την Παρασκευή, είναι πιο τεχνικά γνωστή ως πηγαίο κώδικα. 322 00:15:47,170 --> 00:15:52,210 Και είναι αυτό English σαν σύνταξη ότι είναι πιο σωστή και πιο καλά καθορισμένη 323 00:15:52,210 --> 00:15:55,480 από ό, τι κάτι σαν ψευδο-κώδικα, για που δεν υπάρχει επίσημος ορισμός. 324 00:15:55,480 --> 00:15:58,320 >> Και σήμερα τι θα πάμε να επικεντρωθώ είναι πηγαίο κώδικα 325 00:15:58,320 --> 00:16:01,010 που μοιάζει με αυτό, το οποίο Βεβαίως, με την πρώτη ματιά 326 00:16:01,010 --> 00:16:02,690 φαίνεται εντελώς αινιγματικό. 327 00:16:02,690 --> 00:16:08,540 Και ειλικρινά, είναι πολύ πιο αισθητικά πολύπλοκη από ό, τι η υποκείμενη πρόγραμμα είναι. 328 00:16:08,540 --> 00:16:13,300 Όλο αυτό το πρόγραμμα το κάνει, ανάκληση, είναι ό, τι είπαμε; 329 00:16:13,300 --> 00:16:14,990 Είναι απλά τυπώνει "hello world." 330 00:16:14,990 --> 00:16:19,600 Και όμως εξετάσουμε όλα τα πράγματα που χρειαζόμαστε για να τυλίξει γύρω από αυτή την πολύ απλή φράση. 331 00:16:19,600 --> 00:16:21,750 Αλλά πριν από καιρό όλα Αυτές οι γραμμές και περισσότερο 332 00:16:21,750 --> 00:16:24,800 θα κάνει πολύ καλύτερη αίσθηση για σας. 333 00:16:24,800 --> 00:16:26,940 >> Και η ροή είναι ως ακολούθως. 334 00:16:26,940 --> 00:16:31,220 Αυτό που χρειαζόμαστε στη διάθεσή μας είναι να λάβει κώδικας, σαν πηγή 335 00:16:31,220 --> 00:16:32,340 κώδικα που μόλις είδαμε. 336 00:16:32,340 --> 00:16:35,060 Και χρειαζόμαστε ένα νέο πρόγραμμα να τρέχει μέσα. 337 00:16:35,060 --> 00:16:39,130 Χρειαζόμαστε αλγόριθμοι που μπορούν να μετατρέψει τον πηγαίο κώδικα, όπως αυτό, 338 00:16:39,130 --> 00:16:41,932 σε κώδικα αντικειμένου, 0s και 1s. 339 00:16:41,932 --> 00:16:43,890 Με άλλα λόγια, τι θα πάμε να μάθουν σήμερα 340 00:16:43,890 --> 00:16:46,620 είναι πώς να το κάνετε αυτό, γράφετε πηγαίο κώδικα επάνω στην κορυφή, 341 00:16:46,620 --> 00:16:49,930 περάσει το ως είσοδος σε ένα ειδικό πρόγραμμα που είναι γνωστό ως ένα compiler, 342 00:16:49,930 --> 00:16:52,140 και θα πάμε να παράγουν κώδικα αντικειμένου. 343 00:16:52,140 --> 00:16:54,600 Ποια είναι ακριβώς ένα φανταχτερό τρόπο λέγοντας ότι θα λάβει κάτι 344 00:16:54,600 --> 00:16:58,350 που μοιάζει με αυτό, θα περάσει σε ένα πρόγραμμα που ονομάζεται compiler, 345 00:16:58,350 --> 00:17:01,210 παραγωγή κώδικα αντικειμένου που μοιάζει με αυτό. 346 00:17:01,210 --> 00:17:04,720 >> Έτσι, αυτά είναι κυριολεκτικά τα πρότυπα των 0s και 1s 347 00:17:04,720 --> 00:17:08,550 που είναι κατανοητή από ένα Intel υπολογιστή αυτές τις μέρες, 348 00:17:08,550 --> 00:17:12,480 ότι, αν ερμηνεύεται από την CPU, οι εγκέφαλοι μέσα από έναν υπολογιστή, 349 00:17:12,480 --> 00:17:16,130 θα εκτυπώσετε κυριολεκτικά έξω, πολύ απλά, "hello world." 350 00:17:16,130 --> 00:17:19,670 Τώρα υπάρχει τρόπος πιο 0s και 1s από ό, τι Θα ελπίζουμε να είναι απαραίτητο για αυτό. 351 00:17:19,670 --> 00:17:22,520 Αλλά αυτό συμβαίνει γιατί χτίζουμε σε μια καλή συμφωνία της πολυπλοκότητας 352 00:17:22,520 --> 00:17:24,270 ότι μπορούμε να πάρουμε πλέον δεδομένο. 353 00:17:24,270 --> 00:17:27,869 Με άλλα λόγια, πολλοί έξυπνοι άνθρωποι μας έχουν δώσει πολλά δροσερά εργαλεία 354 00:17:27,869 --> 00:17:32,480 και ισχυρό λογισμικό με το οποίο θα μπορεί τώρα να κάνει τα έργα του δικού μας. 355 00:17:32,480 --> 00:17:33,400 >> Οπότε ας ξεκινήσουμε. 356 00:17:33,400 --> 00:17:36,640 Ότι, την περασμένη Παρασκευή, και Πρόβλημα για Set 0 αυτή την εβδομάδα, 357 00:17:36,640 --> 00:17:39,000 θα παίζετε σε ένα κόσμο που μοιάζει με αυτό. 358 00:17:39,000 --> 00:17:42,180 Ξεκινώντας από σήμερα και για το Πρόβλημα Ορισμός 1 την επόμενη εβδομάδα, τον κωδικό 359 00:17:42,180 --> 00:17:45,410 πρόκειται να δούμε λίγο πιο αινιγματικά, αλλά λειτουργικά είναι 360 00:17:45,410 --> 00:17:46,940 πρόκειται να είναι το ίδιο. 361 00:17:46,940 --> 00:17:50,770 Έτσι ειδοποίηση, κορυφή είναι Scratch, κάτω είναι C. Ειλικρινά Scratch 362 00:17:50,770 --> 00:17:52,780 είναι πολύ πιο χρήστη φιλικό και προσιτό. 363 00:17:52,780 --> 00:17:56,890 Αλλά εάν τώρα συγκρίνουμε οπτικά πάνω στο κάτω, υπάρχει το είδος του ένα προς ένα 364 00:17:56,890 --> 00:17:59,690 η αλληλογραφία μεταξύ της κομμάτια του παζλ και η γλώσσα 365 00:17:59,690 --> 00:18:00,870 είμαστε για να παίξει με. 366 00:18:00,870 --> 00:18:04,420 Ειδικότερα, λένε, η μπλε παζλ κομμάτι επάνω στην κορυφή, 367 00:18:04,420 --> 00:18:08,370 είναι προφανώς ισοδύναμη με ποια λέξη-κλειδί ή ειδική φράση σε αυτή τη γλώσσα 368 00:18:08,370 --> 00:18:09,062 που ονομάζεται C; 369 00:18:09,062 --> 00:18:09,770 ΚΟΙΝΟ: printf. 370 00:18:09,770 --> 00:18:10,728 DAVID J. MALAN: printf. 371 00:18:10,728 --> 00:18:12,140 Αυτό σημαίνει μορφοποιημένο εκτύπωση. 372 00:18:12,140 --> 00:18:15,240 Και αυτό είναι μόνο ένα φανταχτερό τρόπος για να πούμε printf στη C 373 00:18:15,240 --> 00:18:18,615 Είναι πρόκειται να είναι μια δήλωση ή μια συνάρτηση που εκτυπώνει κάτι στην οθόνη. 374 00:18:18,615 --> 00:18:19,990 Τι εκτυπώνει στην οθόνη; 375 00:18:19,990 --> 00:18:23,627 Ό, τι μπορείτε να πείτε στο εσωτερικό εισαγωγικά, εντός παρενθέσεων. 376 00:18:23,627 --> 00:18:25,460 Έτσι, και πάλι, κατά γενική ομολογία, υπάρχουν πολλά πράγματα 377 00:18:25,460 --> 00:18:27,990 ότι θα πρέπει να έχετε κατά νου, παρενθέσεις, εισαγωγικά, ερωτηματικό, 378 00:18:27,990 --> 00:18:28,656 και όλα αυτά. 379 00:18:28,656 --> 00:18:30,600 Αλλά όλα αυτά είναι ένα είδος του δίπλα από το σημείο. 380 00:18:30,600 --> 00:18:33,660 Το ενδιαφέρον πακέτο για την επιχείρηση είναι ότι το μπλοκ ας πούμε στο Scratch 381 00:18:33,660 --> 00:18:37,520 είναι λίγο πολύ ισοδύναμη με η δήλωση printf σε C. 382 00:18:37,520 --> 00:18:41,390 >> Εν τω μεταξύ, το κίτρινο κομμάτι του παζλ επάνω στην κορυφή, όταν κάνετε κλικ πράσινη σημαία, 383 00:18:41,390 --> 00:18:44,736 είναι πιθανόν ισοδύναμη σε ό, τι λέξη-κλειδί εδώ; 384 00:18:44,736 --> 00:18:45,360 ΚΟΙΝΟ: Main. 385 00:18:45,360 --> 00:18:46,359 DAVID J. MALAN: Έτσι κύρια. 386 00:18:46,359 --> 00:18:47,410 Ίσως int, ίσως άκυρη. 387 00:18:47,410 --> 00:18:51,280 Αλλά το κύριο είδος των ήχων, όπως Είναι σημαντικό, και πράγματι είναι. 388 00:18:51,280 --> 00:18:54,080 Έτσι, όταν κάνετε κλικ πράσινη σημαία είναι, και πάλι, το κομμάτι του παζλ 389 00:18:54,080 --> 00:18:56,390 ότι ξεκινά μια Ολόκληρο το πρόγραμμα Scratch. 390 00:18:56,390 --> 00:19:02,140 Αλλά πρόκειται να ξεκινήσει τώρα καλώντας ότι η κύρια, αυτή η λειτουργία είναι γνωστή ως κύρια. 391 00:19:02,140 --> 00:19:06,410 >> Τώρα, εν τω μεταξύ εμείς θα γενικεύσουμε αυτό ως εξής. 392 00:19:06,410 --> 00:19:08,780 Θα μπορούσαμε να ονομάσουμε πω μια λειτουργία. 393 00:19:08,780 --> 00:19:10,580 Και αυτό μπορεί να μοιάζει Συγκεκριμένα, όπως αυτό. 394 00:19:10,580 --> 00:19:11,770 Λοιπόν, τι γίνεται με βρόχους; 395 00:19:11,770 --> 00:19:16,540 Αν θέλουμε να ξεκινήσει τη μετατροπή ή μετάφραση περισσότερο στο Scratch σε C, 396 00:19:16,540 --> 00:19:19,400 αυτό το πράγμα εδώ προφανώς μόνο λέει "hello world" για πάντα. 397 00:19:19,400 --> 00:19:23,060 Έτσι, αν έχετε συνδέσει αυτά σενάρια με μια γάτα στο Scratch, 398 00:19:23,060 --> 00:19:26,560 είναι ακριβώς πρόκειται να κρατήσει λέγοντας σε κάποιο είδος των κινουμένων σχεδίων φούσκα, 399 00:19:26,560 --> 00:19:29,922 "Γεια σας κόσμο, hello world, γεια κόσμο, "ad nauseum, για πάντα. 400 00:19:29,922 --> 00:19:33,130 Αν θέλουμε να κάνουμε κάτι παρόμοιο σε C, πρόκειται να δούμε μια μικρή αινιγματική. 401 00:19:33,130 --> 00:19:35,463 Αλλά μπορούμε να επιτύχουμε το ίδιο αποτέλεσμα, όπως τελικά θα 402 00:19:35,463 --> 00:19:36,861 μάθετε, με τη σύνταξη σαν αυτό. 403 00:19:36,861 --> 00:19:39,360 Πάω να χρησιμοποιήσει και πάλι printf, επειδή στο τέλος της ημέρας 404 00:19:39,360 --> 00:19:42,040 Θέλω να εκτυπώσετε "hello world." 405 00:19:42,040 --> 00:19:45,610 Και είμαι προφανώς χρησιμοποιώντας ένα λέξη-κλειδί που δεν είναι για πάντα. 406 00:19:45,610 --> 00:19:47,320 Είναι, αντίθετα, η λέξη, ενώ. 407 00:19:47,320 --> 00:19:49,650 Αλλά ακριβώς σημασιολογικά σε Αγγλικά, ενώ το είδος της 408 00:19:49,650 --> 00:19:52,120 προτείνει κάποιο είδος βρόχου ή κύκλου. 409 00:19:52,120 --> 00:19:55,070 >> Έτσι, αυτό συμβαίνει να είναι η λέξη-κλειδί που χρησιμοποιεί C. 410 00:19:55,070 --> 00:20:00,700 Και ενώ η αλήθεια, γιατί το κάνει, ενώ αλήθεια σημαίνει ουσιαστικά για πάντα; 411 00:20:00,700 --> 00:20:04,240 Λοιπόν, ενώ, όπως σύντομα θα εκτιμούν όλο και περισσότερο, 412 00:20:04,240 --> 00:20:08,140 έχει αυτό παρενθετική δίπλα όπου μπορείτε να βάλετε μια Boolean έκφραση. 413 00:20:08,140 --> 00:20:11,360 Και εφ 'όσον η έκφραση είναι αλήθεια, αυτός ο κώδικας, 414 00:20:11,360 --> 00:20:14,750 όπως υποδηλώνεται μεταξύ αυτών των δύο αγκύλες, όπως θα τους καλέσει, 415 00:20:14,750 --> 00:20:16,880 θα κρατήσει μόνο τρέχει ξανά και ξανά. 416 00:20:16,880 --> 00:20:18,410 >> Έτσι αλήθεια είναι αλήθεια. 417 00:20:18,410 --> 00:20:20,900 Έτσι, ενώ η αλήθεια μέσα απλά να το κάνετε αυτό για πάντα. 418 00:20:20,900 --> 00:20:23,480 Είναι σχεδόν ένα ηλίθιο κατασκευαστεί για να εκφράσουν τον εαυτό σας. 419 00:20:23,480 --> 00:20:26,590 Αλλά δεν ήταν εκεί για πάντα κλειδί στο C. Υπήρχε λίγο. 420 00:20:26,590 --> 00:20:29,390 Και υπήρχε μια πολύ απλή Boolean έκφραση, όπως ισχύει. 421 00:20:29,390 --> 00:20:32,210 Και έτσι αυτό, θα δούμε, επιτυγχάνει το ίδιο αποτέλεσμα. 422 00:20:32,210 --> 00:20:33,890 >> Πώς αλλιώς θα μπορούσε να υλοποιήσετε ένα βρόχο; 423 00:20:33,890 --> 00:20:36,980 Λοιπόν, στο Ξυστό θα μπορούσε σκληρό κώδικα ένα συγκεκριμένο αριθμό 424 00:20:36,980 --> 00:20:39,430 των επαναλήψεων στο βρόχο εδώ. 425 00:20:39,430 --> 00:20:43,210 Και αυτό είναι ακριβώς αυτό που μπορεί να κάνει σε αυτή την έκδοση της C, 426 00:20:43,210 --> 00:20:46,140 όπου έχουμε το λεγόμενο βρόχο for. 427 00:20:46,140 --> 00:20:49,850 Και για το βρόχο εδώ πρόκειται να επαναλάβει, κάπως αινιγματικά, 428 00:20:49,850 --> 00:20:54,100 από την τιμή 0 για μέχρι να, αλλά λιγότερο από 10. 429 00:20:54,100 --> 00:20:55,955 >> Τώρα μεταβλητές στο Scratch. 430 00:20:55,955 --> 00:20:57,830 Μπορεί να μην είχε ευκαιρία για να χρησιμοποιήσει αυτά. 431 00:20:57,830 --> 00:21:02,516 Αλλά ποιο είναι το σημείο, σε γενικές γραμμές, μιας μεταβλητής δεν λέμε την περασμένη εβδομάδα; 432 00:21:02,516 --> 00:21:03,015 Τι είναι αυτό; 433 00:21:03,015 --> 00:21:03,780 >> ΚΟΙΝΟ: Πόντοι. 434 00:21:03,780 --> 00:21:05,200 >> DAVID J. MALAN: Για το σημείο; 435 00:21:05,200 --> 00:21:05,700 Ω, επισημαίνει. 436 00:21:05,700 --> 00:21:07,620 OK, την παρακολούθηση των σημείων, για παράδειγμα, σε ένα παιχνίδι. 437 00:21:07,620 --> 00:21:09,510 Ή γενικότερα κάνει τι με τη μεταβλητή; 438 00:21:09,510 --> 00:21:10,450 Ποια είναι η χρησιμότητα τους; 439 00:21:10,450 --> 00:21:10,825 >> ΚΟΙΝΟ: Μνήμη. 440 00:21:10,825 --> 00:21:11,750 >> DAVID J. MALAN: Ναι, έτσι μνήμης. 441 00:21:11,750 --> 00:21:13,000 Είναι για την αποθήκευση κάτι. 442 00:21:13,000 --> 00:21:17,336 Και το είδος των ανόητη οπτική συνήθιζα τελευταία φορά ήταν σαν αυτό γυάλινο μπολ. 443 00:21:17,336 --> 00:21:19,710 Και αν θέλαμε να αποθηκεύσετε κάτι μέσα από μια μεταβλητή, 444 00:21:19,710 --> 00:21:21,918 για παράδειγμα, αυτή τη στιγμή η αξία είναι έξι, επειδή υπάρχει 445 00:21:21,918 --> 00:21:23,450 είναι έξι μπάλες του πινγκ-πονγκ εδώ. 446 00:21:23,450 --> 00:21:26,158 Είναι απλά ένα είδος αποθήκευσης δοχείο το οποίο κάτω από την κουκούλα 447 00:21:26,158 --> 00:21:30,030 υλοποιείται με bits, 0 και 1, Ωστόσο, ένας υπολογιστής που συμβαίνει να το κάνουμε αυτό. 448 00:21:30,030 --> 00:21:32,900 >> Έτσι, στο Ξυστό, αν θέλουν να έχουν μια μεταβλητή, 449 00:21:32,900 --> 00:21:34,840 μπορούμε να χρησιμοποιήσουμε ένα μπλοκ πορτοκαλί σαν αυτό. 450 00:21:34,840 --> 00:21:37,050 Θα τα λέμε ότι η καταπολέμηση της σε αυτή τη συγκεκριμένη περίπτωση. 451 00:21:37,050 --> 00:21:38,890 Μου αρχική τιμή 0. 452 00:21:38,890 --> 00:21:41,080 Και αυτό που εγώ τότε να κάνω; 453 00:21:41,080 --> 00:21:44,780 Forever, λένε μετρητή, η οποία αν παίζετε με αυτό το Scratch, 454 00:21:44,780 --> 00:21:45,780 θα δείτε ακριβώς Scratch. 455 00:21:45,780 --> 00:21:49,920 Η γάτα ή ό, τι κοστούμι θα τεθεί σε αυτόν θα μιλήσει ο αριθμός στην ερώτηση. 456 00:21:49,920 --> 00:21:52,840 >> Αλλαγή μετρητή κατά 1 είναι όπως η προσαύξηση κατά 1. 457 00:21:52,840 --> 00:21:56,580 Και έτσι αυτό πρόκειται να μετράνε από ό, τι έτσι τι; 458 00:21:56,580 --> 00:21:59,114 Από 0 til το άπειρο, ή μέχρι διαλείμματα Scratch, 459 00:21:59,114 --> 00:22:01,030 ή έως ότου το είδος της χάνουν το ενδιαφέρον τους για την παρακολούθηση 460 00:22:01,030 --> 00:22:02,650 πόσο ψηλά μπορεί πραγματικά μετράνε. 461 00:22:02,650 --> 00:22:04,800 >> Λοιπόν, πώς θα μπορούσαμε να μετατρέψει αυτό σε C; 462 00:22:04,800 --> 00:22:06,480 Είναι πρόκειται να δούμε μια μικρή αινιγματική. 463 00:22:06,480 --> 00:22:08,896 Αλλά και πάλι, αν δει κανείς σε κάθε από αυτές τις γραμμές ξεχωριστά 464 00:22:08,896 --> 00:22:10,410 που το είδος του lineup γενικά. 465 00:22:10,410 --> 00:22:13,526 Έτσι, προφανώς, int πρόκειται να έχουν κάποια ιδιαίτερη σημασία σε C. 466 00:22:13,526 --> 00:22:14,400 Θα δούμε ότι και πάλι. 467 00:22:14,400 --> 00:22:15,810 Όπως Παρεμπιπτόντως αυτό σημαίνει ακέραιο. 468 00:22:15,810 --> 00:22:16,990 Έτσι, αυτό σημαίνει απλά τον αριθμό. 469 00:22:16,990 --> 00:22:18,920 Έτσι, αυτό είναι το είδος της γυάλινο μπολ που θέλω, ένα 470 00:22:18,920 --> 00:22:21,120 που μπορεί να αποθηκεύσει αριθμούς, Δεν ping pong μπάλες. 471 00:22:21,120 --> 00:22:25,520 Και Πάω να χρησιμοποιήσετε το σύμβολο ίσον εκεί για να ορίσετε την τιμή 0. 472 00:22:25,520 --> 00:22:29,440 Έτσι, αυτό είναι σαν σύνολο σε αντίθεση με μηδέν, αλλά σε C. 473 00:22:29,440 --> 00:22:32,840 >> Εν τω μεταξύ, ενώ αληθές, ότι ήταν ισοδύναμο, βεβαίως, να για πάντα, 474 00:22:32,840 --> 00:22:35,980 ακόμα κι αν είναι λίγο αινιγματικό, και στη συνέχεια μέσα από τα άγκιστρα. 475 00:22:35,980 --> 00:22:39,188 Και μπορείτε να σκεφτείτε αυτά τα άγκιστρα, το οποίο μπορείτε να πληκτρολογήσετε στο πληκτρολόγιό σας, 476 00:22:39,188 --> 00:22:43,110 όπως πραγματικά είναι σαν την καμπυλότητα αυτά τα κίτρινα μπλοκ βρόχο στο Scratch. 477 00:22:43,110 --> 00:22:45,700 Αγκαλιάζει πολλαπλές γραμμές κώδικα. 478 00:22:45,700 --> 00:22:48,120 >> Printf είναι να πάρει ένα λίγο τρομακτικό τώρα γιατί 479 00:22:48,120 --> 00:22:51,120 βλέπε εισαγωγικά όχι μόνο σε παρενθέσεις. 480 00:22:51,120 --> 00:22:55,160 Αλλά τι άλλο είναι νέα συντακτικά σε αυτό το παράδειγμα; 481 00:22:55,160 --> 00:22:57,300 Υπάρχει ένα τοις εκατό d. 482 00:22:57,300 --> 00:22:58,551 Και τότε backslash n είναι εκεί. 483 00:22:58,551 --> 00:23:00,883 Εμείς δεν βλέπουμε ότι πριν, ακόμα και αν και εγώ δεν το αναφέρω. 484 00:23:00,883 --> 00:23:01,886 Στη συνέχεια, υπάρχει ένα κόμμα. 485 00:23:01,886 --> 00:23:03,010 Και έπειτα υπάρχει ένας μετρητής. 486 00:23:03,010 --> 00:23:05,010 >> Αλλά θα δούμε σε μόνο ένα στιγμή ότι αυτό είναι απλώς 487 00:23:05,010 --> 00:23:09,080 ένα πρότυπο τρόπο του λέγοντας εκτύπωση μια "Δεκαδικός αριθμός," απόσπασμα, εισαγωγικά, 488 00:23:09,080 --> 00:23:10,500 κάποια δεκαδικό αριθμό. 489 00:23:10,500 --> 00:23:13,370 Αλλά εγώ είμαι πρόκειται να σας πω αργότερα τι δεκαδικός αριθμός είναι. 490 00:23:13,370 --> 00:23:16,835 Έτσι, το γεγονός ότι υπάρχει ένα κόμμα σε αυτή τη γραμμή λέει printf, 491 00:23:16,835 --> 00:23:18,710 σημαίνει προχωρήσει και εκτύπωση κάποια δεκαδικό αριθμό. 492 00:23:18,710 --> 00:23:23,110 Ω, και από τον τρόπο, ο αριθμός είναι όποια και αν είναι η τιμή αυτής της μεταβλητής είναι. 493 00:23:23,110 --> 00:23:25,880 Και έτσι για να κάνουν αυτό το πιο σαφής, θα δούμε ένα παράδειγμα 494 00:23:25,880 --> 00:23:30,930 πριν από καιρό που αφορούν ακριβώς printf στο πλαίσιο των προγραμμάτων πραγματικό C. 495 00:23:30,930 --> 00:23:33,472 >> Τώρα απλά να τυλίξετε μερικά από αυτά τα κατασκευάσματα. 496 00:23:33,472 --> 00:23:36,680 Boolean εκφράσεις, μπορεί να μην έχουν ευκαιρία για να χρησιμοποιήσει αυτά στο πρόγραμμά σας 497 00:23:36,680 --> 00:23:39,450 αλλά θα μπορούσε πολύ καλά, ειδικά αν χρησιμοποιείτε συνθήκες. 498 00:23:39,450 --> 00:23:43,460 Και έτσι αυτά τα δύο παραδείγματα από Ξύστε σημαίνει αν το x είναι μικρότερο από το y, 499 00:23:43,460 --> 00:23:48,770 ή εάν το χ είναι μικρότερο από τα Υ και Υ είναι μικρότερη από το z, πώς θα μπορούσαμε να το μεταφράσουμε; 500 00:23:48,770 --> 00:23:50,810 >> Λοιπόν, το C είναι απλά πρόκειται να μοιάσει με αυτό. 501 00:23:50,810 --> 00:23:55,300 Ένα λίγο αινιγματικό, πιο παρενθέσεις, μερικά περίεργα συμπλεκτικά σύμβολα, αλλά ουσιαστικά 502 00:23:55,300 --> 00:23:59,160 οι ιδέες είναι τόσο απλά όσο φαίνονται είναι στον κόσμο κομμάτι του παζλ. 503 00:23:59,160 --> 00:24:02,690 Είμαστε απλά ελέγχοντας αν κάτι είναι μικρότερη από κάτι άλλο. 504 00:24:02,690 --> 00:24:03,910 >> Πώς σχετικά με τις συνθήκες; 505 00:24:03,910 --> 00:24:09,710 Με λίγα λόγια στα αγγλικά, τι κάνει αυτή η κομμάτι του κώδικα Scratch δεν θα λέγατε; 506 00:24:09,710 --> 00:24:11,050 >> ΚΟΙΝΟ: Συγκρίνει δύο αριθμούς. 507 00:24:11,050 --> 00:24:13,760 >> DAVID J. MALAN: Συγκρίνει δύο αριθμούς, και αν χ είναι μικρότερο από το y 508 00:24:13,760 --> 00:24:14,860 λέει τόσο πολύ. 509 00:24:14,860 --> 00:24:18,080 Αν το x είναι μεγαλύτερο από το y λέει τόσο πολύ, αλλιώς 510 00:24:18,080 --> 00:24:20,740 αν το x είναι ίσο με το y λέει τόσο πολύ. 511 00:24:20,740 --> 00:24:22,180 Τώρα πού x και y προέρχονται από; 512 00:24:22,180 --> 00:24:22,680 Ποιος ξέρει. 513 00:24:22,680 --> 00:24:25,380 Αυτό το κομμάτι του Scratch κώδικας είναι έξω από το πλαίσιο. 514 00:24:25,380 --> 00:24:29,050 Αλλά αυτό που θέλουμε να κάνουμε τώρα είναι να μεταφράσει αυτό για μια στιγμή για να δείτε. 515 00:24:29,050 --> 00:24:31,660 >> Έτσι, όπως μπορείτε να πάρετε άνετα αυτή την εβδομάδα στο πρόβλημα Set 516 00:24:31,660 --> 00:24:34,190 0 παίζοντας σε αυτόν τον κόσμο για την αριστερά, συνειδητοποιούν 517 00:24:34,190 --> 00:24:36,940 ότι οι ιδέες δεν αλλάζουν αυτή την εβδομάδα ή την επόμενη ή πέρα. 518 00:24:36,940 --> 00:24:38,690 Εμείς απλά θα αρχίσετε να γράφετε πράγματα 519 00:24:38,690 --> 00:24:41,240 με διαφορετικό τρόπο με μας πληκτρολόγιο αντί για το ποντίκι μας. 520 00:24:41,240 --> 00:24:44,577 >> Έτσι, αν το χ είναι μικρότερο από το Υ, και υπάρχουν κάποιες παρενθέσεις εκεί, 521 00:24:44,577 --> 00:24:47,160 τότε υπάρχει κάποια άγκιστρα πάλι να το είδος του συμπυκνώνουν 522 00:24:47,160 --> 00:24:48,970 ακριβώς όπως το κίτρινο παζλ κομμάτια κάνουν. 523 00:24:48,970 --> 00:24:53,000 Και Πάω να printf x είναι μικρότερο από το Υ και ούτω καθεξής. 524 00:24:53,000 --> 00:24:56,540 >> Τι είναι ωραίο για C, όπως μπορείτε να δείτε εδώ, 525 00:24:56,540 --> 00:25:00,480 είναι ότι δεν έχετε αυτό το φώλιασμα, ωοτοκίας, φωλιάζουν ότι είναι κατ 'ανάγκην 526 00:25:00,480 --> 00:25:02,220 πρόκειται να ωθήσει τον κωδικό σας προς τα δεξιά. 527 00:25:02,220 --> 00:25:04,990 Μπορείτε να έχετε τα πάντα, αντί lineup αρέσει τακτοποιημένα αυτό. 528 00:25:04,990 --> 00:25:08,960 Αλλά αυτό είναι μόνο ένα αισθητικό λεπτομέρεια θα δούμε και πάλι πριν από καιρό. 529 00:25:08,960 --> 00:25:09,660 >> Εντάξει. 530 00:25:09,660 --> 00:25:13,290 Και αυτό μας φέρνει πίσω στο αυτό το αινιγματικό πρόγραμμα ψάχνει. 531 00:25:13,290 --> 00:25:15,180 Ας γράφουν πραγματικά κάποιο κώδικα. 532 00:25:15,180 --> 00:25:16,830 Τώρα, πώς πηγαίνετε για το γράψιμο κώδικα; 533 00:25:16,830 --> 00:25:21,310 Όλα αυτά τα χρόνια που έχετε ανήκει ένα Mac ή PC, desktop ή laptop, 534 00:25:21,310 --> 00:25:24,520 έχετε πραγματικά είχε την ικανότητα για να αρχίσετε να γράφετε κώδικα προγραμματισμού. 535 00:25:24,520 --> 00:25:27,050 Αλλά είστε πιθανώς λείπει ένας ειδικός τύπος του προγράμματος. 536 00:25:27,050 --> 00:25:28,470 Μπορείτε να γράψετε σίγουρα κώδικα. 537 00:25:28,470 --> 00:25:30,740 Αλλά δεν μπορείς αναγκαστικά, έξω από το κουτί, 538 00:25:30,740 --> 00:25:34,210 μετατροπή αυτού του πηγαίου κώδικα σε κώδικα αντικειμένου, 0s και 1s 539 00:25:34,210 --> 00:25:35,619 χωρίς αυτό στον υπολογιστή σας; 540 00:25:35,619 --> 00:25:36,410 ΚΟΙΝΟ: Compiler. 541 00:25:36,410 --> 00:25:37,630 DAVID J. MALAN: Έτσι ένας compiler, σωστά. 542 00:25:37,630 --> 00:25:39,730 Τώρα οι περισσότεροι από εσάς ίσως Δεν έχουν στην ιδιοκτησία τους ένα compiler, 543 00:25:39,730 --> 00:25:41,259 Ποτέ δεν έχω κατεβάσει ένα compiler. 544 00:25:41,259 --> 00:25:44,300 Αλλά θα δείτε μπορείτε να κατεβάσετε όπως και οι περισσότεροι κάθε άλλο κομμάτι του λογισμικού. 545 00:25:44,300 --> 00:25:47,470 Στον κόσμο των Mac OS, ίσως κατεβάσετε ή να έχουν κατεβάσει ήδη 546 00:25:47,470 --> 00:25:50,437 κάτι που ονομάζεται Xcode ή GCC ή Clang. 547 00:25:50,437 --> 00:25:52,270 Αν έρχεστε από το Τα Windows σας κόσμο θα μπορούσε 548 00:25:52,270 --> 00:25:56,190 έχουν κατεβάσει Visual Studio, Visual Basic, περιβάλλοντα, όπως αυτό. 549 00:25:56,190 --> 00:25:59,200 Υπάρχουν δεκάδες compilers αυτές τις μέρες που μπορείτε να χρησιμοποιήσετε. 550 00:25:59,200 --> 00:26:01,940 Αλλά η μικρή του εδώ είναι ότι θα είναι ένας πόνος 551 00:26:01,940 --> 00:26:04,480 και, ειλικρινά, ένα τεχνολογικό εφιάλτη για εκατοντάδες 552 00:26:04,480 --> 00:26:07,680 των ατόμων με διαφορετικές διαμορφώσεις υπολογιστή σε όλους 553 00:26:07,680 --> 00:26:09,800 ρυθμίσετε τις μηχανές τους κατά τον ίδιο ακριβώς τρόπο 554 00:26:09,800 --> 00:26:11,700 έτσι ώστε να μπορούμε όλοι να είναι στην ίδια σελίδα. 555 00:26:11,700 --> 00:26:15,240 >> Έτσι, αυτό που εμείς, αντίθετα, κάνει σε CS50 είναι σας δίνουμε 556 00:26:15,240 --> 00:26:18,349 ένα πρότυπο περιβάλλον, ένα Linux περιβάλλον που είναι 557 00:26:18,349 --> 00:26:20,140 πρόκειται να δούμε λίγο κάτι σαν αυτό. 558 00:26:20,140 --> 00:26:22,980 Θα δείτε περισσότερα από αυτό το Πρόβλημα Set 1 προδιαγραφή που 559 00:26:22,980 --> 00:26:25,330 θα πάει σε απευθείας σύνδεση αυτό το βράδυ της Παρασκευής. 560 00:26:25,330 --> 00:26:28,360 >> Και τι σημαίνει αυτό είναι ότι πλέον 561 00:26:28,360 --> 00:26:32,060 πρόκειται να είναι σε θέση να κατεβάσετε και να εγκαταστήσετε ένα πρόγραμμα 562 00:26:32,060 --> 00:26:33,650 ονομάζεται το CS50 συσκευή. 563 00:26:33,650 --> 00:26:36,275 Και θα πάμε να κατεβάσετε και να εγκαταστήσετε ένα άλλο πρόγραμμα που ονομάζεται 564 00:26:36,275 --> 00:26:40,300 ένα hypervisor, το οποίο είναι απλά ένα φανταχτερό τρόπο επίτευξης αυτού του στόχου. 565 00:26:40,300 --> 00:26:44,600 Είτε είστε ιδιοκτήτης ενός Mac ή PC ή ένα Linux υπολογιστή ή έναν υπολογιστή Solaris, 566 00:26:44,600 --> 00:26:46,830 ή ό, τι τρελό λειτουργίας σύστημα τρέχετε, 567 00:26:46,830 --> 00:26:49,820 θα πάμε για να κατεβάσετε ένα πρόγραμμα ονομάζεται το hypervisor που είναι 568 00:26:49,820 --> 00:26:53,350 πρόκειται να τρέξει το CS50 Συσκευή στον υπολογιστή σας 569 00:26:53,350 --> 00:26:55,430 Δεν έχει σημασία τι λειτουργικό σας σύστημα είναι. 570 00:26:55,430 --> 00:27:00,640 Ένα hypervisor με άλλα λόγια μετατρέπει τα πράγματά μας σε ό, τι γλώσσα, 571 00:27:00,640 --> 00:27:03,850 ανεξάρτητα από τις οδηγίες σας δικό του υπολογιστή καταλαβαίνει. 572 00:27:03,850 --> 00:27:04,962 >> Έτσι, αυτό είναι ένα layering. 573 00:27:04,962 --> 00:27:06,920 Και πάλι, αυτό είναι το είδος θεματικών στον υπολογιστή 574 00:27:06,920 --> 00:27:08,722 την επιστήμη, το κτίριο πάνω από τα πράγματα. 575 00:27:08,722 --> 00:27:09,680 Μπορεί να έχετε τα Windows. 576 00:27:09,680 --> 00:27:10,710 Μπορεί να έχετε Mac OS. 577 00:27:10,710 --> 00:27:12,960 Όμως, ξεκινώντας από την επόμενη εβδομάδα θα είστε πρόκειται να έχουν κατεβάσει 578 00:27:12,960 --> 00:27:14,980 ένα ελεύθερο κομμάτι του λογισμικού ονομάζεται hypervisor. 579 00:27:14,980 --> 00:27:17,800 Θα πάμε να έχουν κατεβάσει ένα κομμάτι του λογισμικού που ονομάζεται το CS50 συσκευή. 580 00:27:17,800 --> 00:27:21,050 >> Αυτό πρόκειται να τρέξει στο hypervisor, το οποίο πρόκειται να τρέξει στον υπολογιστή σας. 581 00:27:21,050 --> 00:27:23,030 Και το τελικό αποτέλεσμα είναι ότι όλοι μας θα 582 00:27:23,030 --> 00:27:26,220 έχουν ένα απλό παράθυρο, όπως Αυτό για Mac ή το PC σας 583 00:27:26,220 --> 00:27:30,160 που μας δίνει την ψευδαίσθηση όλων τρέχει το ίδιο λειτουργικό σύστημα, 584 00:27:30,160 --> 00:27:32,800 χωρίς καμία άλλη επίπτωση στον υπολογιστή σας. 585 00:27:32,800 --> 00:27:34,870 Και μπορείτε πλήρη οθόνη αυτό και ουσιαστικά συμπεριφέρονται 586 00:27:34,870 --> 00:27:37,550 όπως κι αν τρέχετε ένα το λειτουργικό σύστημα που ονομάζεται Linux, 587 00:27:37,550 --> 00:27:40,270 η οποία είναι ό, τι το CS50 Συσκευή βασίζεται. 588 00:27:40,270 --> 00:27:42,930 >> Έτσι, ας πραγματικά χρησιμοποιούν αυτό τώρα να γράψει ένα πρόγραμμα. 589 00:27:42,930 --> 00:27:45,450 Μπορείτε να γράψετε ένα πρόγραμμα χρησιμοποιώντας το Microsoft Word. 590 00:27:45,450 --> 00:27:48,160 Μπορείτε να γράψετε ένα πρόγραμμα χρησιμοποιώντας TextEdit, ή Σημειωματάριο, 591 00:27:48,160 --> 00:27:51,880 ή WordPad, ή σχεδόν κάθε λέξη πρόγραμμα επεξεργασίας που έχετε χρησιμοποιήσει ποτέ. 592 00:27:51,880 --> 00:27:55,174 Αλλά η πραγματικότητα είναι ότι δεν θα πρέπει να χρησιμοποιούν πραγματικά κάποια από αυτά τα προγράμματα. 593 00:27:55,174 --> 00:27:57,840 Σίγουρα δεν θα πρέπει να χρησιμοποιούν κάτι όπως το Microsoft Word, το οποίο 594 00:27:57,840 --> 00:28:01,120 έχει τολμηρή επένδυση και πλάγια, και μεγαλύτερες γραμματοσειρές και μικρότερες γραμματοσειρές, 595 00:28:01,120 --> 00:28:03,560 επειδή ο υπολογιστής δεν νοιάζονται για τίποτα από αυτά. 596 00:28:03,560 --> 00:28:05,600 Όλα ο υπολογιστής είναι πρόκειται να νοιάζει είναι 597 00:28:05,600 --> 00:28:09,040 Αγγλικά, όπως οι οδηγίες είναι γραμμένες σε C. 598 00:28:09,040 --> 00:28:12,050 >> Έτσι, αυτό που θα κάνουμε μέσα του Appliance CS50 599 00:28:12,050 --> 00:28:14,290 είναι να χρησιμοποιήσετε ένα πρόγραμμα ελεύθερα διαθέσιμες, και είναι 600 00:28:14,290 --> 00:28:17,360 προ-εγκατεστημένο σε αυτό συσκευή, που ονομάζεται Gedit. 601 00:28:17,360 --> 00:28:22,280 Και Gedit είναι απλά μια εξαιρετικά απλή επεξεργαστή κειμένου, όπως το Mac OS της TextEdit, 602 00:28:22,280 --> 00:28:26,200 όπως το Windows Notepad, που πρόκειται να κοιτάξουμε λίγο κάτι σαν αυτό. 603 00:28:26,200 --> 00:28:28,910 >> Οπότε ας πραγματικότητα δεν εξετάσουμε διαφάνειες από αυτό. 604 00:28:28,910 --> 00:28:32,580 Αλλά ας πραγματικά να πάμε σε το ίδιο το περιβάλλον. 605 00:28:32,580 --> 00:28:36,090 Πάω να προχωρήσει και συνδεθείτε, σε αυτό το άλλο παράθυρο, 606 00:28:36,090 --> 00:28:40,910 να CS50 συσκευή μου, που έχω προ-εγκατεστημένο στον φορητό υπολογιστή μου εδώ. 607 00:28:40,910 --> 00:28:43,771 >> Παρατηρήστε ότι, όπως τα Windows και Mac OS, θα έχεις κάποιες επιλογές. 608 00:28:43,771 --> 00:28:45,520 Όπως και τα Windows θέτει εκεί κάτω, αντί 609 00:28:45,520 --> 00:28:47,020 του Mac OS, το οποίο βάζει εκεί κάτω. 610 00:28:47,020 --> 00:28:48,930 Αλλά η πραγματικότητα είναι ότι είναι όλα τα είδη της ίδιας. 611 00:28:48,930 --> 00:28:50,770 Και εδώ είναι ένα ολόκληρο δέσμη λογισμικού. 612 00:28:50,770 --> 00:28:51,770 Υπάρχει Dropbox. 613 00:28:51,770 --> 00:28:54,780 Υπάρχουν ένα σωρό αξεσουάρ, προγράμματα γραφικών ότι θα 614 00:28:54,780 --> 00:28:56,430 χρησιμοποιήσετε αργότερα στο όρος για το πρόβλημα σύνολα. 615 00:28:56,430 --> 00:28:59,650 Υπάρχει ένα πρόγραμμα περιήγησης στο web που χτίστηκε το έτσι ότι αυτό είναι ένα πλήρες υπολογιστή 616 00:28:59,650 --> 00:29:01,240 μέσα από έναν υπολογιστή. 617 00:29:01,240 --> 00:29:04,170 >> Αλλά Πάω να κάνετε κλικ σε αυτό αριστερότερο λευκό εικόνα εδώ, 618 00:29:04,170 --> 00:29:05,890 η οποία είναι η εικόνα για Gedit. 619 00:29:05,890 --> 00:29:09,650 Και πρόκειται να ανοίξει ένα παράθυρο ότι έχει τρία πάνελ σε αυτό, 620 00:29:09,650 --> 00:29:12,590 ένα αριστερό ένα, μια κορυφαία ένα, και ένα κάτω ένα. 621 00:29:12,590 --> 00:29:16,071 >> Τώρα είναι σε αυτό το top σωστό ότι Πάω να γράψω πραγματικά κάποια κώδικα. 622 00:29:16,071 --> 00:29:16,820 Έτσι, ας κάνουμε αυτό ,. 623 00:29:16,820 --> 00:29:19,040 Πάω να πάει στο αρχείο, Αποθήκευση. 624 00:29:19,040 --> 00:29:22,100 Και δεν θα μπορούσε ποτέ να δει αυτό το συγκεκριμένο παράθυρο πριν. 625 00:29:22,100 --> 00:29:23,620 Αλλά αυτό είναι σαν Mac OS ή Windows. 626 00:29:23,620 --> 00:29:25,490 Είναι απλά ένα παράθυρο με όλους τους φακέλους 627 00:29:25,490 --> 00:29:27,290 ότι έχω μέσα από αυτόν τον υπολογιστή. 628 00:29:27,290 --> 00:29:30,320 >> Και Πάω να αποθηκεύσετε το αρχείο ως hello.c. 629 00:29:30,320 --> 00:29:32,690 Και Πάω να πάει μπροστά και κάντε κλικ στο κουμπί Αποθήκευση. 630 00:29:32,690 --> 00:29:36,364 Και σήμερα παρατηρούμε ότι έχω μια καρτέλα στην επάνω αριστερή ονομάζεται hello.c. 631 00:29:36,364 --> 00:29:38,280 Έτσι, κατά πάσα πιθανότητα αρκετά εξοικειωμένοι ακόμη και αν δεν έχετε 632 00:29:38,280 --> 00:29:40,240 χρησιμοποιείται αυτό το συγκεκριμένο πρόγραμμα πριν. 633 00:29:40,240 --> 00:29:44,890 >> Και τώρα πάω να πληκτρολογήσετε σε αυτούς αρκετά κρυπτική ακολουθία των εντολών 634 00:29:44,890 --> 00:29:46,360 που είδαμε πριν από λίγο. 635 00:29:46,360 --> 00:29:49,330 Συμπεριλάβετε, πρότυπο I / O.h. 636 00:29:49,330 --> 00:29:50,600 Περισσότερα για αυτό σύντομα. 637 00:29:50,600 --> 00:29:55,670 Int κύρια κενό, ανοιχτό σγουρά τιράντες, έκλεισε σγουρά κηδεμόνα. 638 00:29:55,670 --> 00:30:01,570 Και τότε μέσα από εκεί νομίζω ότι είναι όπου είχαμε "hello world", ερωτηματικό. 639 00:30:01,570 --> 00:30:03,100 Και τώρα να σώσει. 640 00:30:03,100 --> 00:30:08,780 >> Έτσι, αυτό είναι ένα πρόγραμμα γραμμένο σε C, γραπτή, ως εκ τούτου, σε πηγαίο κώδικα. 641 00:30:08,780 --> 00:30:10,720 Αλλά δεν μπορώ να τρέξει αυτό το πρόγραμμα. 642 00:30:10,720 --> 00:30:13,390 Ι το είδος του θέλουν να διπλασιάσουν κάντε κλικ σε ένα εικονίδιο κάπου, 643 00:30:13,390 --> 00:30:16,390 αλλά δεν υπάρχει εικόνα υπάρχει άλλη από το αρχείο πηγαίου κώδικα. 644 00:30:16,390 --> 00:30:20,359 Αυτό, πάλι, είναι η διαδικασία τώρα που Θα πρέπει να εκτελέσετε αυτό το αρχείο μέσα; 645 00:30:20,359 --> 00:30:21,150 ΚΟΙΝΟ: Compiler. 646 00:30:21,150 --> 00:30:22,399 DAVID J. MALAN: Έτσι ένας compiler. 647 00:30:22,399 --> 00:30:24,890 Έτσι, σε διαφορετικούς υπολογιστές σας κάνουμε αυτό με διαφορετικούς τρόπους. 648 00:30:24,890 --> 00:30:27,480 Αλλά αυτό που έχουμε κάνει εδώ στην η συσκευή CS50 που είναι 649 00:30:27,480 --> 00:30:31,260 εκπρόσωπος του πώς θα μπορούσε το κάνετε αυτό σε πολλά διαφορετικά συστήματα, 650 00:30:31,260 --> 00:30:34,036 είναι είμαι απλώς πρόκειται να εκτελέσετε μια εντολή που ονομάζεται make. 651 00:30:34,036 --> 00:30:35,660 Και κάνουν κυριολεκτικά πρόκειται να το κάνουμε αυτό. 652 00:30:35,660 --> 00:30:36,640 Κάνε μου ένα πρόγραμμα. 653 00:30:36,640 --> 00:30:39,060 >> Έτσι κάνουν πρόκειται να εκτελέσετε μια compiler για μένα. 654 00:30:39,060 --> 00:30:42,160 Και το όνομα του προγράμματος Θέλω να είναι ένα γεια. 655 00:30:42,160 --> 00:30:43,510 Τώρα κάνει είναι ένα πρόγραμμα. 656 00:30:43,510 --> 00:30:47,170 Και να είναι αρκετά έξυπνος για να συνειδητοποιούν ότι εάν λέω να γεια, 657 00:30:47,170 --> 00:30:50,980 πρόκειται να δούμε αυτόματα για ένα αρχείο που ονομάζεται hello.c 658 00:30:50,980 --> 00:30:53,420 μόνο και μόνο επειδή αυτό είναι το τρόπο με τον οποίο έχει διαμορφωθεί. 659 00:30:53,420 --> 00:31:00,300 >> Έτσι, όταν εγώ τώρα πατήστε Enter εδώ, αυτό τρελό αινιγματικό γραμμή μόλις πήρε εκτελεστεί. 660 00:31:00,300 --> 00:31:02,720 Και πιστέψτε με, πριν μακριά, μέσα σε λίγες μόνο μέρες, 661 00:31:02,720 --> 00:31:05,590 θα καταλάβετε τι όλα του εν λόγω μέσου ανοησίες. 662 00:31:05,590 --> 00:31:11,150 Αλλά για τώρα, απλά να ξέρετε ότι κάνουν ενεργοποίησε τις εκτέλεση ενός compiler. 663 00:31:11,150 --> 00:31:13,290 Με άλλα λόγια, θα βρεθεί ένας compiler στον υπολογιστή μου 664 00:31:13,290 --> 00:31:14,820 ότι είναι προ-εγκατεστημένα για την συσκευή CS50 665 00:31:14,820 --> 00:31:16,560 ότι θα παραδώσει σε εσάς Πρόβλημα Set 1. 666 00:31:16,560 --> 00:31:20,990 Και τότε πήρε hello.c ως εισόδου, και παράγεται προφανώς 667 00:31:20,990 --> 00:31:23,040 0s και 1s ως έξοδο. 668 00:31:23,040 --> 00:31:29,410 >> Και εξ ορισμού αυτό που κάνει είναι να αποθηκεύει αυτές 0s και 1s σε ένα αρχείο που ονομάζεται γεια. 669 00:31:29,410 --> 00:31:33,180 Και αν αυτή τη σύνταξη ίδιο θα μπορούσε είναι νέα σε σας, λέγοντας απλώς dot 670 00:31:33,180 --> 00:31:37,110 κάθετο γεια πρόκειται να είναι η μέσα με τα οποία θα τρέχει αυτό το πρόγραμμα. 671 00:31:37,110 --> 00:31:40,360 >> Για τώρα και για τουλάχιστον ένα ζευγάρι των εβδομάδων, σχεδόν όλα τα προγράμματα 672 00:31:40,360 --> 00:31:44,230 Γράφουμε πρόκειται να είναι σε μαύρο και άσπρο παράθυρα κειμένου. 673 00:31:44,230 --> 00:31:47,006 Δεν ποντίκια, όχι κλικ, υπάρχουν παράθυρα, δεν υπάρχουν εικόνες. 674 00:31:47,006 --> 00:31:49,630 Εμείς πάμε για να το κρατήσετε απλό και να επικεντρωθεί στις βασικές ιδέες 675 00:31:49,630 --> 00:31:52,490 Αρχικά, πριν φτάσουμε σε κάτι υψηλότερο επίπεδο, για παράδειγμα, 676 00:31:52,490 --> 00:31:56,410 όπως το διάλειμμα από το παιχνίδι που μιλήσαμε σχετικά με την πρώτη διάλεξη την περασμένη εβδομάδα. 677 00:31:56,410 --> 00:32:00,820 >> Έτσι, όταν χτύπησα Εισάγετε εδώ, είναι ισοδύναμο σε ένα κείμενο μόνο το περιβάλλον 678 00:32:00,820 --> 00:32:03,272 να διπλασιάσει κλικ σε ένα εικονίδιο που ονομάζεται γεια. 679 00:32:03,272 --> 00:32:05,480 Τι περιμένεις βούληση συμβεί όταν χτύπησα Enter τότε; 680 00:32:05,480 --> 00:32:07,120 >> ΚΟΙΝΟ: Θα εκτυπώσετε "hello world." 681 00:32:07,120 --> 00:32:10,000 >> DAVID J. MALAN: Ας ελπίσουμε θα εκτυπώσει "hello world." 682 00:32:10,000 --> 00:32:11,370 Και πράγματι το έκανε. 683 00:32:11,370 --> 00:32:13,690 Τώρα έχει υπάρξει κάποια αινιγματικό σύνταξη εδώ. 684 00:32:13,690 --> 00:32:15,950 Ας τα πίσω για λίγο μια στιγμή και να δούμε αν μπορούμε 685 00:32:15,950 --> 00:32:19,530 Δεν μπορείτε να ξεκινήσετε συμπεράνει μόνο από μαστορέματα, προσπαθεί και αποτυγχάνει, 686 00:32:19,530 --> 00:32:21,130 ως προς το τι συμβαίνει εδώ. 687 00:32:21,130 --> 00:32:23,609 Τι και αν μπορώ να απαλλαγώ από το backslash n; 688 00:32:23,609 --> 00:32:25,650 Τώρα, κάποιοι από εσάς που έχετε προγραμματιστεί πριν πιθανότατα 689 00:32:25,650 --> 00:32:27,054 ξέρει αμέσως τι σημαίνει αυτό. 690 00:32:27,054 --> 00:32:29,220 Αλλά για εκείνους από εσάς που έχετε ποτέ προγραμματιστεί πριν, 691 00:32:29,220 --> 00:32:34,052 τουλάχιστον σκεφτείτε τον εαυτό σας τι συμβαίνει να αλλάξουν όταν εκτελέσετε ξανά το πρόγραμμα αυτό; 692 00:32:34,052 --> 00:32:37,010 Έτσι, Πάω να πάει πίσω για να μου λίγο μαύρο και άσπρο παράθυρο, το οποίο 693 00:32:37,010 --> 00:32:39,290 είναι το παράθυρο στο οποίο Μπορώ να καταρτίσει αυτό. 694 00:32:39,290 --> 00:32:41,130 Πάω να μεταγλωττίσετε ξανά γεια. 695 00:32:41,130 --> 00:32:43,520 Εμείς πάμε να δούμε το ίδιο κρυπτική ακολουθία των εντολών. 696 00:32:43,520 --> 00:32:45,719 Και Πάω να κάνω dot κάθετος γεια. 697 00:32:45,719 --> 00:32:48,260 Και τώρα, κάποιος, αν έχετε την καλοσύνη, ο οποίος ποτέ δεν έχει προγραμματιστεί πριν, 698 00:32:48,260 --> 00:32:49,770 τι θα μπορούσε να είναι διαφορετικά αυτή τη φορά; 699 00:32:49,770 --> 00:32:50,020 Ναι. 700 00:32:50,020 --> 00:32:51,840 >> ΚΟΙΝΟ: Δεν θα σταματήσει εκτύπωση "γεια κόσμο." 701 00:32:51,840 --> 00:32:52,660 >> DAVID J. MALAN: Είναι πρόκειται να-- συγγνώμη; 702 00:32:52,660 --> 00:32:54,210 >> ΚΟΙΝΟ: Δεν θα σταματήσει την εκτύπωση; 703 00:32:54,210 --> 00:32:55,810 >> DAVID J. MALAN: Δεν θα σταματήσετε την εκτύπωση "hello world." 704 00:32:55,810 --> 00:32:56,560 Έτσι, δεν είναι μια κακή ιδέα. 705 00:32:56,560 --> 00:32:58,633 Άλλες ιδέες; 706 00:32:58,633 --> 00:32:59,132 Ναι. 707 00:32:59,132 --> 00:33:00,060 >> ΚΟΙΝΟ: Εμφανίζεται μήνυμα λάθους; 708 00:33:00,060 --> 00:33:01,750 >> DAVID J. MALAN: Σφάλμα μήνυμα, εντάξει, θα μπορούσε να είναι. 709 00:33:01,750 --> 00:33:02,250 Τι άλλο; 710 00:33:02,250 --> 00:33:05,479 ΚΟΙΝΟ: Μπορεί να εκτυπώσει το βραχίονα με το ερωτηματικό, καθώς; 711 00:33:05,479 --> 00:33:08,270 DAVID J. MALAN: Μπορεί να εκτυπώσετε το βραχίονα με το ερωτηματικό, καθώς και. 712 00:33:08,270 --> 00:33:11,950 Έτσι ίσως ότι backslash τότε είναι μερικές το είδος της terminous που είναι σημαντικό. 713 00:33:11,950 --> 00:33:14,860 Οποιεσδήποτε άλλες σκέψεις; 714 00:33:14,860 --> 00:33:16,412 >> Έτσι, όλες οι καλές ιδέες. 715 00:33:16,412 --> 00:33:18,370 Και στην πραγματικότητα, πρόκειται να είναι ένα μήνυμα σφάλματος. 716 00:33:18,370 --> 00:33:20,400 Αυτό είναι ίσως το πιο πιθανό να είναι η απάντηση σε γενικές 717 00:33:20,400 --> 00:33:22,420 για τις επόμενες εβδομάδες όπως μαθαίνουμε να κωδικοποιήσει εδώ. 718 00:33:22,420 --> 00:33:27,680 >> Αλλά για τώρα θυμάστε ότι οι υπολογιστές κάνουμε μόνο ό, τι τους λέτε να κάνουν. 719 00:33:27,680 --> 00:33:30,400 Μοιάζει πολύ με το γελοίο φυστίκι βούτυρο και μαρμελάδα παράδειγμα. 720 00:33:30,400 --> 00:33:33,860 Ανθρώπινης υπολογιστές μας ήταν μόνο υποτίθεται να κάνουν ό, τι τους είπαν να κάνουν. 721 00:33:33,860 --> 00:33:36,250 Έτσι, σε αυτή την περίπτωση, αν Δεν λένε στον υπολογιστή 722 00:33:36,250 --> 00:33:41,190 για να μεταφερθεί η κέρσορα να αναβοσβήνει η επόμενη γραμμή, δεν πρόκειται να το κάνω. 723 00:33:41,190 --> 00:33:45,390 Έτσι, όταν τρέχω το πρόγραμμα τώρα, να παρατηρήσετε τη διαφορά. 724 00:33:45,390 --> 00:33:46,900 >> Μοιάζει με ένα bug. 725 00:33:46,900 --> 00:33:49,190 Είναι ένα αισθητικό σφάλμα, ίσως. 726 00:33:49,190 --> 00:33:53,310 Αλλά αυτό είναι διαφορετικό για αυτό εξόδου συναρτήσει την τελευταία προφανώς; 727 00:33:53,310 --> 00:33:53,810 Ναι. 728 00:33:53,810 --> 00:33:54,920 >> ΚΟΙΝΟ: Δεν κάνουμε μια νέα γραμμή. 729 00:33:54,920 --> 00:33:56,586 >> DAVID J. MALAN: Είναι δεν κάνει μια νέα γραμμή. 730 00:33:56,586 --> 00:33:58,740 Τώρα όσοι από εσάς έχουν ίσως γίνει ιστοσελίδες 731 00:33:58,740 --> 00:34:01,910 πριν, ίσως γνωρίζετε από το BR ετικέτα ή η ετικέτα της παραγράφου, 732 00:34:01,910 --> 00:34:03,120 πολύ παρόμοια με το πνεύμα. 733 00:34:03,120 --> 00:34:06,680 Ένα πρόγραμμα περιήγησης στο web θα σας αγνοήσει μέχρι μπορείτε να πείτε ακριβώς τι πρέπει να κάνουμε. 734 00:34:06,680 --> 00:34:10,020 Ομοίως, είναι μια γλώσσα όπως η C μόνο πρόκειται να κάνει αυτό που της λέτε να κάνουμε. 735 00:34:10,020 --> 00:34:12,730 >> Έτσι το λόγο ότι όλα αυτά τα παραδείγματα, 736 00:34:12,730 --> 00:34:15,350 μέχρι σήμερα, έχουν το είδος ανέμελα είχε αυτό το backslash 737 00:34:15,350 --> 00:34:18,560 εκεί, που είναι τα μέσα με το οποίο μπορείτε να εκφραστείτε 738 00:34:18,560 --> 00:34:21,380 ως χαρακτήρας νέας γραμμής, να το πω έτσι. 739 00:34:21,380 --> 00:34:26,219 Και μπορείτε να εκτιμήσετε το είδος της, ίσως, ότι αυτό θα εξετάσουμε το είδος των ηλίθιο 740 00:34:26,219 --> 00:34:27,070 αν μη τι άλλο. 741 00:34:27,070 --> 00:34:29,150 Αν ήθελα μια νέα γραμμή, απλά πατώντας Enter και στη συνέχεια το είδος 742 00:34:29,150 --> 00:34:32,219 από τη σφαγή του κώδικα, όπως αυτό Δεν πρέπει να τρίβετε πραγματικά το σωστό τρόπο. 743 00:34:32,219 --> 00:34:33,830 Και ακόμα κι αν δεν το κάνετε ενδιαφέρονται πραγματικά σε αυτό το σημείο, 744 00:34:33,830 --> 00:34:35,830 θα συνειδητοποιήσετε ότι αυτό δεν είναι ένα ιδιαίτερα 745 00:34:35,830 --> 00:34:37,870 καλή αναζητούν κομμάτι του κώδικα. 746 00:34:37,870 --> 00:34:39,969 >> Και έτσι αυτό που ο κόσμος αποφάσισε χρόνια είναι 747 00:34:39,969 --> 00:34:43,420 ότι όταν θέλετε να βάλετε το δρομέα πάνω σε μια νέα γραμμή ρητά, 748 00:34:43,420 --> 00:34:46,332 θα πρέπει να πω ρητά νέα γραμμή, backslash n. 749 00:34:46,332 --> 00:34:48,040 Και υπάρχουν κάποια άλλα σύμβολα όπως αυτό. 750 00:34:48,040 --> 00:34:50,719 Αλλά για τώρα απλά θα επικεντρωθεί στην backslash n. 751 00:34:50,719 --> 00:34:53,790 >> Τώρα ας κάνουμε το πρόγραμμα λίγο πιο ενδιαφέρουσα. 752 00:34:53,790 --> 00:34:59,200 Πάω να προχωρήσει και αυτή τη φορά να ανοίξει ένα νέο αρχείο. 753 00:34:59,200 --> 00:35:02,520 Πάω να σώσει αυτό το γεια-1.γ. 754 00:35:02,520 --> 00:35:05,540 Και μόνο για κλωτσιές, Πάω να πάει να το θέσω σε φάκελο Dropbox μου. 755 00:35:05,540 --> 00:35:09,030 >> Όπως θα δείτε στο CS50 τεκμηρίωση για τη συσκευή, 756 00:35:09,030 --> 00:35:11,210 αργότερα αυτή την εβδομάδα για το πρόβλημα Ορισμός 1, θα ενθαρρύνει 757 00:35:11,210 --> 00:35:13,230 μπορείτε να χρησιμοποιήσετε το Dropbox ή κάποια ισοδύναμη υπηρεσία, 758 00:35:13,230 --> 00:35:15,430 γιατί τότε όλοι τον κωδικό σας Θα πρέπει να υποστηρίζεται αυτόματα. 759 00:35:15,430 --> 00:35:17,830 Και αυτό είναι γιατί έχω πάει σε αυτό το φάκελο εδώ. 760 00:35:17,830 --> 00:35:20,230 >> Και τώρα πάω να γράψω ένα ελαφρώς διαφορετικό πρόγραμμα. 761 00:35:20,230 --> 00:35:24,740 Συμπεριλάβετε, πρότυπο I / O.h, int main κενό. 762 00:35:24,740 --> 00:35:29,660 Και στη συνέχεια, εδώ printf, hello world, η οποία είναι ακριβώς η ίδια όπως πριν. 763 00:35:29,660 --> 00:35:32,450 >> Αλλά τώρα θέλω να εκτυπώσετε κάτι Αυτό είναι λίγο διαφορετική. 764 00:35:32,450 --> 00:35:34,800 Θέλω να εκτυπώσετε, λένε, "Γεια σου, Ντέιβιντ." 765 00:35:34,800 --> 00:35:37,590 Εντάξει, προφανώς, θα πρέπει να ελπίζουμε 766 00:35:37,590 --> 00:35:40,360 είναι η υπόθεση ότι αν μεταγλωττίσετε ξανά αυτό το πρόγραμμα, θα επαναληφθεί, 767 00:35:40,360 --> 00:35:41,840 πρόκειται να πει "γεια, David." 768 00:35:41,840 --> 00:35:45,160 >> Αλλά τι γίνεται αν θέλω να εισαγάγει αυτό το είδος της μεταβλητής, 769 00:35:45,160 --> 00:35:49,240 η έννοια ενός δοχείου που πρόκειται για να αποθηκεύσετε D-α-ν-ι-δ και δεν είναι δύσκολο κωδικό αυτό 770 00:35:49,240 --> 00:35:50,600 στο πρόγραμμά μου. 771 00:35:50,600 --> 00:35:53,430 Λοιπόν, τι αν αρχίσω να κάνει κάτι τέτοιο; 772 00:35:53,430 --> 00:35:57,120 >> String s, έτσι αυτό είναι μια μεταβλητή. 773 00:35:57,120 --> 00:36:00,250 Αν θέλετε ένα string, γνωστή και ως μια λέξη ή μια φράση. 774 00:36:00,250 --> 00:36:03,485 Μια ακολουθία χαρακτήρων είναι τι είμαστε στον προγραμματισμό καλέσετε ένα string. 775 00:36:03,485 --> 00:36:06,610 Εμείς απλά θα γενικά κλήση το s, γιατί είναι ένα ωραίο απλό όνομα. 776 00:36:06,610 --> 00:36:08,010 Αλλά θα μπορούσαμε να την αποκαλέσουμε τίποτα. 777 00:36:08,010 --> 00:36:12,920 >> Πάω να πω ίσων χορδών s παραθέτω σε εισαγωγικά, "David," ερωτηματικό. 778 00:36:12,920 --> 00:36:18,330 Και τώρα θέλω να εισάγετε D-α-ν-ι-δ σε ό, τι είμαι εκτύπωση. 779 00:36:18,330 --> 00:36:23,720 Και πριν είδαμε ένα teaser για η οθόνη κάποιας ειδικής σύνταξης 780 00:36:23,720 --> 00:36:26,050 που μας επέτρεψε να υποκατάστατο σε μια αξία. 781 00:36:26,050 --> 00:36:29,250 Ποια ήταν η ειδική σύμβολο λίγες διαφάνειες πριν; 782 00:36:29,250 --> 00:36:30,040 >> Έτσι τοις εκατό. 783 00:36:30,040 --> 00:36:33,830 Κατά το χρόνο αυτό ήταν τοις εκατό d για δεκαδικό αριθμό. 784 00:36:33,830 --> 00:36:35,850 Αυτό πραγματικά δεν φαίνονται σχετικές εδώ. 785 00:36:35,850 --> 00:36:38,650 Βγάζει του εκεί άλλο σύμβολο τοις εκατό, 786 00:36:38,650 --> 00:36:42,810 η οποία είναι τοις εκατό, η οποία βρίσκεται για ένα σύμβολο κράτησης θέσης για μια σειρά. 787 00:36:42,810 --> 00:36:49,350 >> Μέχρι τώρα, πολύ απλά, είμαι πρόκειται να πάει να κάνει ένα γεια-1, 788 00:36:49,350 --> 00:36:54,210 επειδή αυτό το αρχείο ονομάζεται γεια-1.γ, και πατήστε Enter. 789 00:36:54,210 --> 00:36:56,230 Και εγώ μαντάρα. 790 00:36:56,230 --> 00:36:57,394 Τι συμβαίνει; 791 00:36:57,394 --> 00:37:00,560 Λοιπόν, εδώ είναι όπου θα πρέπει να αρχίσουμε να Εκτιμώ ότι είμαστε σε αυτήν την εντολή 792 00:37:00,560 --> 00:37:02,810 line περιβάλλον, αυτό κείμενο μόνο περιβάλλον. 793 00:37:02,810 --> 00:37:06,114 Δεν υπάρχει κλικ στις εικόνες όπως τους φακέλους τώρα. 794 00:37:06,114 --> 00:37:07,280 Και σκεφτείτε ότι πίσω πριν από λίγο. 795 00:37:07,280 --> 00:37:10,740 Σε ποιο φάκελο έκανε λέω Ήμουν εξοικονόμηση κωδικό μου; 796 00:37:10,740 --> 00:37:11,657 Έτσι, το φάκελο Dropbox. 797 00:37:11,657 --> 00:37:12,989 Θα μπορούσε να κληθεί τίποτα. 798 00:37:12,989 --> 00:37:14,530 Αλλά συμβαίνει να ονομάζεται Dropbox. 799 00:37:14,530 --> 00:37:18,380 Γι 'αυτό και με κάποιο τρόπο πρέπει να κάνετε διπλό κλικ στο αυτόν το φάκελο Dropbox, προκειμένου να πάρει 800 00:37:18,380 --> 00:37:21,657 σε αυτό και να πάρει μου κώδικα που ονομάζεται γεια-1.γ. 801 00:37:21,657 --> 00:37:24,490 Στην πραγματικότητα, επιτρέψτε μου να πάει μπροστά και να ελαχιστοποιήσει αυτό το παράθυρο για μια στιγμή. 802 00:37:24,490 --> 00:37:27,560 Ακριβώς όπως τα Windows και το Mac OS, υπάρχουν φάκελοι στο Linux. 803 00:37:27,560 --> 00:37:29,410 Υπάρχουν φάκελοι στο CS50 συσκευή. 804 00:37:29,410 --> 00:37:32,380 Είναι μόλις τώρα είμαστε περιορίζοντας τους εαυτούς μας σε αυτό το περιβάλλον κειμένου. 805 00:37:32,380 --> 00:37:34,700 >> Αλλά αν κάνω διπλό κλικ στο Dropbox, παρατηρήσετε εκεί 806 00:37:34,700 --> 00:37:37,210 είναι το αρχείο που θέλετε να μεταγλωττίσετε. 807 00:37:37,210 --> 00:37:41,430 Αλλά χρειάζομαι αυτό το μαύρο και άσπρο παράθυρο τερματικού, να το πω έτσι. 808 00:37:41,430 --> 00:37:45,750 Αλλά πρέπει, ως εκ τούτου, για να μετακινήσετε σε αυτόν το φάκελο ή κατάλογο. 809 00:37:45,750 --> 00:37:48,290 Έτσι κάπως απόκρυφες, αλλά θα συνηθίσουμε σε αυτό το πάρα πολύ. 810 00:37:48,290 --> 00:37:50,430 >> Στον κόσμο του Linux, η οποία και πάλι είναι το λειτουργικό 811 00:37:50,430 --> 00:37:54,860 σύστημα που τρέχετε μέσα από το CS50 Appliance, υπάρχει μια εντολή που ονομάζεται CD. 812 00:37:54,860 --> 00:37:58,310 Που σημαίνει ότι μπορώ να κάνω το CD, το διάστημα, Dropbox. 813 00:37:58,310 --> 00:37:59,900 CD, κατάλογο αλλαγή. 814 00:37:59,900 --> 00:38:00,400 Δεξιά. 815 00:38:00,400 --> 00:38:02,890 Πίσω στην ημέρα, όταν οι άνθρωποι ήταν εφευρίσκοντας ηλεκτρονικών υπολογιστών και λειτουργικά 816 00:38:02,890 --> 00:38:05,806 συστήματα όπως αυτό, ήθελαν να πληκτρολογήστε το δυνατόν οι λιγότερες πληκτρολογήσεις. 817 00:38:05,806 --> 00:38:08,760 Έτσι, ο ευκολότερος τρόπος για να πω κατάλογο αλλαγή ήταν το CD. 818 00:38:08,760 --> 00:38:13,910 >> Έτσι, αν χτύπησα CD, χώρο Dropbox, παρατηρήσετε τι έχει αλλάξει εδώ. 819 00:38:13,910 --> 00:38:16,480 Μέσα από παρενθέσεις η συσκευή είναι είδος 820 00:38:16,480 --> 00:38:19,360 της humoring μου και υπενθυμίζοντάς μου πού είμαι. 821 00:38:19,360 --> 00:38:21,480 Έτσι το ανοικτό φάκελο είναι Dropbox. 822 00:38:21,480 --> 00:38:24,950 Αν τώρα πληκτρολογήστε ls για κατάλογο, και πάλι συνοπτική, 823 00:38:24,950 --> 00:38:27,540 επειδή οι άνθρωποι δεν θέλουν να πληκτρολογήστε πίσω στην ημέρα L-Ι-δ-τ. 824 00:38:27,540 --> 00:38:29,300 Έτσι, αντί να κάνει αυτό ls. 825 00:38:29,300 --> 00:38:30,110 >> Enter. 826 00:38:30,110 --> 00:38:35,740 Παρατηρήστε Βλέπω δύο πράγματα, γεια-1.γ, και, στη συνέχεια, αυτό το αινιγματικό πράγμα, πηγή 1μ. 827 00:38:35,740 --> 00:38:38,310 Αυτός είναι ακριβώς ο τρόπος μου να λέει πηγαίου κώδικα για την εβδομάδα 1 Δευτέρα. 828 00:38:38,310 --> 00:38:42,020 Αυτός είναι ένας φάκελος που κατέβασα από Ιστοσελίδα CS50 είναι που έκανα νωρίτερα σήμερα 829 00:38:42,020 --> 00:38:43,990 και βάλτε το σε συσκευή εκ των προτέρων. 830 00:38:43,990 --> 00:38:47,550 >> Αλλά για τώρα το μόνο πράγμα που νοιάζει είναι να κάνει αυτό το πρόγραμμα. 831 00:38:47,550 --> 00:38:50,440 Έτσι, όταν πληκτρολογείτε κάνει γεια-1, Enter. 832 00:38:50,440 --> 00:38:51,320 Γαμώτο. 833 00:38:51,320 --> 00:38:53,060 Κάτι πήγε στραβά. 834 00:38:53,060 --> 00:38:54,580 Ας δώσουμε έμφαση αυτή χώρια. 835 00:38:54,580 --> 00:38:58,489 Και δυστυχώς, αυτό είναι όπου τα πράγματα πάρει λίγο άγχος στην αρχή, 836 00:38:58,489 --> 00:39:00,280 τουλάχιστον αν έχετε ποτέ προγραμματιστεί πριν. 837 00:39:00,280 --> 00:39:00,980 >> Θεέ μου. 838 00:39:00,980 --> 00:39:04,990 Έγραψα ένα πρόγραμμα δύο γραμμών και Έχω τέσσερις γραμμές των σφαλμάτων. 839 00:39:04,990 --> 00:39:07,180 Έτσι, αυτό που συμβαίνει εδώ. 840 00:39:07,180 --> 00:39:11,370 Πρώτον και κύριον πάντα μετακινηθείτε πίσω και να βρει το πρώτο μήνυμα λάθους, 841 00:39:11,370 --> 00:39:15,730 γιατί πολλές φορές compilers απλά μπερδευτείτε από ό, τι και να κάνω. 842 00:39:15,730 --> 00:39:17,000 Μεταφραστές είναι αρκετά χαζός. 843 00:39:17,000 --> 00:39:18,360 Θα κάνω μόνο ό, τι θα τους πω να κάνουν. 844 00:39:18,360 --> 00:39:21,484 Και αν τα συγχέουμε, είναι ακριβώς πρόκειται για το είδος του ρίξει τα χέρια τους 845 00:39:21,484 --> 00:39:25,010 και ίσως ρίξει περισσότερο μηνύματα λάθους από ό, τι είναι στην πραγματικότητα σχετικό. 846 00:39:25,010 --> 00:39:26,380 >> Έτσι, ας δούμε το πρώτο. 847 00:39:26,380 --> 00:39:27,540 Σούπερ αινιγματικές στην πρώτη. 848 00:39:27,540 --> 00:39:31,050 Αλλά προσέξτε, εδώ είναι το όνομα του αρχείο στο οποίο έχω μαντάρα προφανώς. 849 00:39:31,050 --> 00:39:36,570 Colon 5, του παχέος εντέρου 5 σημαίνει απλά για γραμμή 5 κατά την πέμπτη χαρακτήρα. 850 00:39:36,570 --> 00:39:39,760 Έτσι, πέμπτη στήλη του χαρακτήρες, αν θέλετε, λάθος. 851 00:39:39,760 --> 00:39:41,870 Χρήση της αδήλωτης αναγνωριστικό συμβολοσειράς. 852 00:39:41,870 --> 00:39:43,120 Μήπως εννοείτε πρότυπο n; 853 00:39:43,120 --> 00:39:44,850 >> Όχι, εννοούσα κορδόνι. 854 00:39:44,850 --> 00:39:47,640 Και τότε αυτό είναι το είδος της αντιγραφή και επικόλληση 855 00:39:47,640 --> 00:39:50,700 τι θα πληκτρολογήσει πραγματικά να επιστήσω μου προσοχή στο σημείο όπου έκανα θάλασσα. 856 00:39:50,700 --> 00:39:54,260 Έτσι, για κάποιο λόγο, C, ή τουλάχιστον ο compiler 857 00:39:54,260 --> 00:39:56,470 δεν καταλαβαίνει τη λέξη κορδόνι. 858 00:39:56,470 --> 00:39:57,890 Και αυτό γιατί το κάναμε επάνω. 859 00:39:57,890 --> 00:40:01,440 Έτσι κορδόνι δεν υπάρχει σε C. Τι CS50 κάνει, 860 00:40:01,440 --> 00:40:03,380 για τις πρώτες λίγες εβδομάδες μόνο από την τάξη, 861 00:40:03,380 --> 00:40:05,700 Είναι παρέχουμε κάποια εκπαίδευση τροχούς, να το πω έτσι. 862 00:40:05,700 --> 00:40:11,160 Και βάζουμε αυτούς τους τροχούς εκπαίδευση μέσα από ένα ειδικό αρχείο που ονομάζεται CS50.h. 863 00:40:11,160 --> 00:40:14,970 >> Έτσι, αυτό είναι το δεύτερο από τα δύο αρχείου ονόματα που προφανώς καταλήγουν σε dot h. 864 00:40:14,970 --> 00:40:16,300 Ας τα πίσω. 865 00:40:16,300 --> 00:40:19,360 Printf είναι μια κατάσταση ή λειτουργία που εκτυπώνει προφανώς κάτι 866 00:40:19,360 --> 00:40:20,580 στην οθόνη. 867 00:40:20,580 --> 00:40:23,470 Αλλά δεν με είδες εφαρμογή printf, σωστά. 868 00:40:23,470 --> 00:40:26,360 Κάποιος χρόνια πριν εφαρμοστεί printf. 869 00:40:26,360 --> 00:40:30,420 Σε ποιο αρχείο θα έχει ποντάρει ή έβαλε την εφαρμογή 870 00:40:30,420 --> 00:40:34,270 για printf, τον κωδικό για printf; 871 00:40:34,270 --> 00:40:36,860 >> Σε ένα αρχείο που ονομάζεται πρότυπο I / O.h. 872 00:40:36,860 --> 00:40:39,930 Στην πραγματικότητα, είναι πιθανώς σε δύο αρχεία, πρότυπο I / O.h, 873 00:40:39,930 --> 00:40:42,650 που σημαίνει κεφαλίδα αρχείο, και πρότυπο I / O.c, 874 00:40:42,650 --> 00:40:44,060 που σημαίνει C πηγαίο κώδικα. 875 00:40:44,060 --> 00:40:48,220 Έτσι, αυτός ή αυτή πριν από μερικά χρόνια plopped ο κώδικας που έγραψαν σε αυτό το αρχείο 876 00:40:48,220 --> 00:40:51,240 έτσι ώστε οι άνθρωποι σαν εμάς χρόνια αργότερα, μπορεί να περιλαμβάνουν, 877 00:40:51,240 --> 00:40:53,040 να το πω έτσι, στα δικά μας προγράμματα. 878 00:40:53,040 --> 00:40:56,320 >> Και πράγματι, αυτό είναι το σύμβολο της λίρας ακολουθούμενο από τη λέξη περιλαμβάνουν κάνει. 879 00:40:56,320 --> 00:41:00,250 Φαίνεται στην τοπική μονάδα σκληρού δίσκου, βρίσκει το αρχείο που ονομάζεται πρότυπο I / O.h, 880 00:41:00,250 --> 00:41:03,840 και στη συνέχεια αποτελεσματικά αντίγραφα και επικολλά το εσωτερικό του το δικό μου αρχείο. 881 00:41:03,840 --> 00:41:07,210 Μέχρι τώρα το πρόγραμμά μου ξέρει πώς να εκτυπώσετε στην οθόνη. 882 00:41:07,210 --> 00:41:11,120 >> Έτσι, με αυτή τη λογική, όπου ορίζεται κορδόνι; 883 00:41:11,120 --> 00:41:12,260 >> ΚΟΙΝΟ: CS50.h. 884 00:41:12,260 --> 00:41:13,290 >> DAVID J. MALAN: CS50.h. 885 00:41:13,290 --> 00:41:15,540 Και πράγματι, αυτό είναι ό, τι εμείς, ο πυρήνας του προσωπικού, έχουν γίνει. 886 00:41:15,540 --> 00:41:19,590 Έχουμε εφεύρει μερικά είδη δεδομένων, να το πω έτσι, σαν ένα string, 887 00:41:19,590 --> 00:41:22,370 εκτός από αυτά που πάρετε δωρεάν, σαν int. 888 00:41:22,370 --> 00:41:26,010 Και θα δούμε τους άλλους σαν char για ένα χαρακτήρα και λίγα περισσότερα. 889 00:41:26,010 --> 00:41:30,670 Μέσα από CS50.h προφανώς είναι τουλάχιστον κάποια αναφορά των εγχόρδων. 890 00:41:30,670 --> 00:41:34,980 >> Έτσι, τώρα επιτρέψτε μου να πάμε μπροστά και να επαναπροσδιοριστούν make γεια-1. 891 00:41:34,980 --> 00:41:37,100 Θα μεγέθυνση ξανά και διασχίζουν τα δάχτυλά μου. 892 00:41:37,100 --> 00:41:41,370 Τώρα με έχει κάνει ένα αλλάξω σταθερό περισσότερα πράγματα. 893 00:41:41,370 --> 00:41:42,100 Αλλά γαμώτο. 894 00:41:42,100 --> 00:41:44,290 Περισσότερες ποσοστά από τα επιχειρήματα των δεδομένων. 895 00:41:44,290 --> 00:41:45,980 Τι έκανα λάθος αυτή τη φορά; 896 00:41:45,980 --> 00:41:47,420 >> Έτσι, είναι ακόμα αρκετά αινιγματικό. 897 00:41:47,420 --> 00:41:51,560 Αλλά αυτό το σφάλμα είναι σε γραμμή 7 και 21 χαρακτήρων. 898 00:41:51,560 --> 00:41:53,880 Οπότε ας πάμε να βρούμε εδώ. 899 00:41:53,880 --> 00:41:55,350 Είναι λίγο λεπτή. 900 00:41:55,350 --> 00:41:59,167 Αλλά αν σκεφτούμε τι οι θεμελιώδεις ιδέες εδώ είναι, 901 00:41:59,167 --> 00:42:00,500 ίσως μπορούμε να πειράζω αυτό πέρα. 902 00:42:00,500 --> 00:42:02,300 >> Έτσι printf είναι το όνομα της συνάρτησης. 903 00:42:02,300 --> 00:42:04,960 Οι παρενθέσεις, μέχρι στιγμής, είναι ακριβώς όπως αυτό που βάζουμε γύρω από 904 00:42:04,960 --> 00:42:07,005 τα πράγματα που περνάτε ως εισροές σε λειτουργία. 905 00:42:07,005 --> 00:42:08,921 Εντάξει, μόνο ένα αυθαίρετη ανθρώπινη συνθήκη. 906 00:42:08,921 --> 00:42:09,919 Χρησιμοποιήστε παρενθέσεις. 907 00:42:09,919 --> 00:42:12,460 Μέσα από αυτές τις παρενθέσεις έχουμε βάζοντας διπλά εισαγωγικά, 908 00:42:12,460 --> 00:42:14,810 και στη συνέχεια μια σειρά όπως το "hello world." 909 00:42:14,810 --> 00:42:18,160 >> Αλλά σε εκείνη την προγενέστερη παράδειγμα πολύ συντομία έκανε κοιτάμε με το Scratch. 910 00:42:18,160 --> 00:42:22,590 Και είχαμε το ποσοστό δ, τι άλλο Ήταν μέσα από αυτές τις παρενθέσεις 911 00:42:22,590 --> 00:42:23,730 ότι Φώναξα προφορικά; 912 00:42:23,730 --> 00:42:24,230 Ναι. 913 00:42:24,230 --> 00:42:28,166 >> ΚΟΙΝΟ: Έτσι, αυτό που παίρνετε [Δεν ακούγεται] από μέσα [δεν ακούγεται] 914 00:42:28,166 --> 00:42:30,200 τι αυτοί [δεν ακούγεται]; 915 00:42:30,200 --> 00:42:31,200 DAVID J. MALAN: Ακριβώς. 916 00:42:31,200 --> 00:42:32,700 Έτσι είχαμε το ποσοστό d. 917 00:42:32,700 --> 00:42:36,620 Στη συνέχεια, όμως είχαμε πολύ στενή απόσπασμα, κόμμα, μετρητής. 918 00:42:36,620 --> 00:42:37,120 Δεξιά. 919 00:42:37,120 --> 00:42:40,680 Εμείς καθορίζεται τι θέλουμε να κάνουμε ως σύμβολο κράτησης θέσης. 920 00:42:40,680 --> 00:42:44,621 Λοιπόν, τι Πάω να κάνουμε εδώ είναι κόμμα, τι θέλεις να πω; 921 00:42:44,621 --> 00:42:45,120 ΚΟΙΝΟ: S. 922 00:42:45,120 --> 00:42:46,828 DAVID J. MALAN: S, επειδή s σε αυτή την περίπτωση 923 00:42:46,828 --> 00:42:48,700 είναι το όνομα του δοχείου αποθήκευσης. 924 00:42:48,700 --> 00:42:50,180 Είναι το όνομα του εν λόγω γυάλινο μπολ. 925 00:42:50,180 --> 00:42:53,610 Ενώ πριν ήταν αντίθετη σε αυτό απλό παράδειγμα Scratch κοιτάξαμε. 926 00:42:53,610 --> 00:42:56,630 Μέχρι τώρα έχουν γίνει δύο αλλαγές, επιτρέψτε μου να μεγεθύνετε 927 00:42:56,630 --> 00:42:59,800 και να προσπαθήσουμε για μια ακόμη φορά να την κατάρτιση αυτού του προγράμματος. 928 00:42:59,800 --> 00:43:01,596 >> Τώρα βλέπω ότι αινιγματικό γραμμή. 929 00:43:01,596 --> 00:43:03,470 Αλλά αυτό είναι στην πραγματικότητα η όνομα του compiler. 930 00:43:03,470 --> 00:43:04,886 Clang είναι το όνομα του compiler. 931 00:43:04,886 --> 00:43:07,100 Κάνε είναι ακριβώς εγώ εξοικονόμηση ο πονοκέφαλος από ποτέ 932 00:43:07,100 --> 00:43:09,830 πληκτρολογώντας τη μεγάλη τρελό εντολή έξω. 933 00:43:09,830 --> 00:43:14,900 Έτσι τώρα, αν κάνω dot κάθετο γεια-1, Θα πρέπει να δείτε "γειά σου, Δαβίδ." 934 00:43:14,900 --> 00:43:16,450 >> Πολύ απογοητευτικό, όμως, σωστά; 935 00:43:16,450 --> 00:43:18,158 Θα μπορούσαμε να έχουμε κάνει αυτό μια πολύ πιο απλά 936 00:43:18,158 --> 00:43:20,940 χωρίς να μιλάμε για τις μεταβλητές και CS50.h και όλα αυτά. 937 00:43:20,940 --> 00:43:23,080 Έτσι, ας κάνουν ένα λίγο πιο ενδιαφέρουσα. 938 00:43:23,080 --> 00:43:31,010 >> Εκτός από την CS50.h, έχουν τα πράγματα, όπως κορδόνι 939 00:43:31,010 --> 00:43:34,550 δηλωθεί, η βιβλιοθήκη CS50 επίσης έχει μερικές λειτουργίες. 940 00:43:34,550 --> 00:43:38,520 Έτσι ακριβώς όπως χρόνια πριν, κάποιος έγραψε printf και το βάζουμε στο πρότυπο I / O.h 941 00:43:38,520 --> 00:43:39,530 και κάποιο άλλο αρχείο. 942 00:43:39,530 --> 00:43:44,010 >> Εμείς, το προσωπικό CS50, έγραψε μια λειτουργία ονομάζεται getchar, GetDouble, GetFloat, 943 00:43:44,010 --> 00:43:47,610 GetInt, GetLongLong, GetString, και βάζουμε εκείνα μέσα σε ένα αρχείο 944 00:43:47,610 --> 00:43:49,890 ονομάζεται CS50.h και CS50.c. 945 00:43:49,890 --> 00:43:51,880 Και βάζουμε μέσα του CS50 συσκευή. 946 00:43:51,880 --> 00:43:53,880 Και οι άνθρωποι μπορούν επίσης να κατεβάστε τα σε απευθείας σύνδεση, αν 947 00:43:53,880 --> 00:43:55,880 θέλουν να τους θέσει σε τους τους δικούς του υπολογιστές, καθώς και. 948 00:43:55,880 --> 00:44:00,880 Ποια είναι να πούμε ότι έχουμε δημιουργήσει λειτουργίες που παίρνουν είσοδο από το χρήστη. 949 00:44:00,880 --> 00:44:02,930 Δεν ξέρω τι όλα από αυτούς τους τύπους δεδομένων είναι. 950 00:44:02,930 --> 00:44:06,490 GetInt είναι το είδος της απλής, όπως πάρει έναν ακέραιο κάπως από τον χρήστη. 951 00:44:06,490 --> 00:44:09,980 Και GetString είναι μάλλον σαν get μια λέξη ή μια φράση από το χρήστη. 952 00:44:09,980 --> 00:44:11,770 >> Οπότε ας επικεντρωθούμε σε αυτό. 953 00:44:11,770 --> 00:44:14,710 Και Πάω να πάει πίσω στο το συσκευή και είμαι πρόκειται να πάει μπροστά 954 00:44:14,710 --> 00:44:20,790 και να αποθηκεύσετε αυτό το αρχείο ως, ας την ονομάσουμε το γεια-2.γ ως δεύτερη εκδοχή μου. 955 00:44:20,790 --> 00:44:23,030 Και ας κάνει μια-δυο αλλαγές. 956 00:44:23,030 --> 00:44:25,800 >> Αυτή τη φορά, αντί των σκληρό κωδικοποίησης David, το οποίο 957 00:44:25,800 --> 00:44:29,120 κάνει μια απίστευτα συνεκτική αλλά απογοητευτικό πρόγραμμα, 958 00:44:29,120 --> 00:44:32,640 τι θα γίνει αν αντί να κάνουμε GetString; 959 00:44:32,640 --> 00:44:35,660 Τώρα παρατηρήσετε GetString έχει μια ανοικτή παρένθεση, 960 00:44:35,660 --> 00:44:38,500 κλειστή παρένθεση, διότι δεν χρειάζεται καμία εισαγωγή. 961 00:44:38,500 --> 00:44:40,850 Είναι ακριβώς πρόκειται να πάει να πάρει ένα κορδόνι από το χρήστη. 962 00:44:40,850 --> 00:44:42,460 >> Και τώρα μια λέξη για άλλη σύνταξη. 963 00:44:42,460 --> 00:44:45,439 Ερωτηματικά μόλις τελειώσει μια γραμμή κώδικα. 964 00:44:45,439 --> 00:44:46,730 Δεν τους χρειάζεται παντού. 965 00:44:46,730 --> 00:44:48,896 Αλλά αυτό σημαίνει ότι απλά είμαι γίνει με αυτή τη γραμμή του κώδικα. 966 00:44:48,896 --> 00:44:51,080 Επιτρέψτε μου να περάσω σε ένα άλλο δήλωση ή λειτουργία. 967 00:44:51,080 --> 00:44:53,010 String δηλώνει μια μεταβλητή. 968 00:44:53,010 --> 00:44:55,920 String είναι σαν να λέμε να μου δώσει ένα μπολ, παρακαλώ. 969 00:44:55,920 --> 00:44:57,940 Και επιτρέψτε μου να βάλει ένα string σε αυτό. 970 00:44:57,940 --> 00:44:59,430 >> Και τώρα το σύμβολο της ισότητας. 971 00:44:59,430 --> 00:45:03,510 Τι είναι το σύμβολο της ισότητας ουσιαστικά ισοδύναμο με; 972 00:45:03,510 --> 00:45:04,500 >> ΚΟΙΝΟ: Εκχώρηση. 973 00:45:04,500 --> 00:45:06,190 >> DAVID J. MALAN: Ναι, απόδοση αξίας. 974 00:45:06,190 --> 00:45:09,872 Έτσι, αν, για παράδειγμα, η κλήση Αυτό GetString λειτουργία, 975 00:45:09,872 --> 00:45:12,830 και θα δούμε σε μια στιγμή που είναι πρόκειται να ζητήσει από το χρήστη για ένα string. 976 00:45:12,830 --> 00:45:17,810 Αυτό είναι σαν να αφήσει εμένα στη συνέχεια να συντάξετε D-α-ν-ι-δ σε ένα κομμάτι χαρτί. 977 00:45:17,810 --> 00:45:21,060 Και όταν λέω κορδόνι s ισούται με GetString, 978 00:45:21,060 --> 00:45:24,140 ίση δεν σημαίνει πραγματικά ίση σε C προγραμματισμού. 979 00:45:24,140 --> 00:45:27,880 Αυτό σημαίνει εκχώρηση του δικαιώματος πλευρά προς την αριστερή πλευρά. 980 00:45:27,880 --> 00:45:29,510 >> Έτσι έχω πάρει ένα string. 981 00:45:29,510 --> 00:45:32,785 Και το σύμβολο της ισότητας σημαίνει το θέσω στο δοχείο αποθήκευσης που ονομάζεται s. 982 00:45:32,785 --> 00:45:36,730 Και τότε να περάσει αυτό μακριά για να printf για να κάνει πραγματικότητα το πράγμα του. 983 00:45:36,730 --> 00:45:39,790 >> Έτσι ώστε το τελικό αποτέλεσμα τότε πρόκειται για να δούμε λίγο διαφορετικά. 984 00:45:39,790 --> 00:45:40,840 Ας κάνουν ένα γεια-2. 985 00:45:40,840 --> 00:45:43,940 986 00:45:43,940 --> 00:45:45,260 Είτε θα μπορούσε να λειτουργήσει. 987 00:45:45,260 --> 00:45:46,450 Είσαι μετά μαζί. 988 00:45:46,450 --> 00:45:47,940 Κάντε γεια-2 εργαστεί. 989 00:45:47,940 --> 00:45:52,640 Dot κάθετο γεια-2, Enter. 990 00:45:52,640 --> 00:45:54,620 >> Μου φαίνεται να έχουν έναν άπειρο βρόχου ή κάτι τέτοιο. 991 00:45:54,620 --> 00:45:55,453 Τίποτα δεν συμβαίνει. 992 00:45:55,453 --> 00:45:56,134 Γιατί; 993 00:45:56,134 --> 00:45:57,805 >> ΚΟΙΝΟ: Είναι μια ατέρμονα βρόχο. 994 00:45:57,805 --> 00:45:59,430 DAVID J. MALAN: Είναι ένα άπειρο βρόχο. 995 00:45:59,430 --> 00:46:02,710 Είναι το είδος της αναμονής για μένα να στην πραγματικότητα παρέχουν με κάποια είσοδο. 996 00:46:02,710 --> 00:46:05,800 Έτσι, επιτρέψτε μου να πάει μπροστά και πληκτρολογήστε στο Δαβίδ, και πατήστε Enter. 997 00:46:05,800 --> 00:46:07,230 Και τώρα λέει «γεια σου, Δαβίδ." 998 00:46:07,230 --> 00:46:09,040 Αν εκτελέσετε ξανά. 999 00:46:09,040 --> 00:46:11,530 Ας πληκτρολογήσετε Rob, "γειά σου, Rob." 1000 00:46:11,530 --> 00:46:13,900 >> Τώρα αυτό είναι το χειρότερο διεπαφή χρήστη ποτέ. 1001 00:46:13,900 --> 00:46:16,110 Ο χρήστης είναι προφανώς υποτίθεται ότι θα ξέρετε τι να κάνετε. 1002 00:46:16,110 --> 00:46:17,120 Αλλά δεν έχει σημασία. 1003 00:46:17,120 --> 00:46:19,570 Χρησιμοποιώντας αυτά τα ίδια κτίριο μπλοκ ακριβώς όπως στο Scratch, 1004 00:46:19,570 --> 00:46:24,980 μπορούμε να λύσουμε αυτό το πρόβλημα και να πω κάτι σαν το όνομά σας παρακαλώ, του παχέος εντέρου, 1005 00:46:24,980 --> 00:46:27,820 χώρο, κλειστό απόσπασμα, κοντά παρένθεση, τελεία. 1006 00:46:27,820 --> 00:46:30,680 Έτσι, πολλά και πάλι ανοησία με τη σύνταξη. 1007 00:46:30,680 --> 00:46:34,040 >> Αλλά παρατηρήσετε Έχω μόλις προστεθεί κομμάτι του παζλ πάνω από αυτό 1008 00:46:34,040 --> 00:46:35,280 και πάνω από αυτό. 1009 00:46:35,280 --> 00:46:38,870 Έτσι τώρα, αν μου επανάληψη αυτή, γεια-2, Enter. 1010 00:46:38,870 --> 00:46:41,180 Περιμένετε ένα λεπτό. 1011 00:46:41,180 --> 00:46:41,830 Τι είναι λάθος; 1012 00:46:41,830 --> 00:46:43,570 Δεν συμπεριφέρεται καθόλου διαφορετικά. 1013 00:46:43,570 --> 00:46:44,200 Ναι. 1014 00:46:44,200 --> 00:46:46,010 >> ΚΟΙΝΟ: Εσείς δεν τρέχει κάνουν και πάλι. 1015 00:46:46,010 --> 00:46:47,968 >> DAVID J. MALAN: Δεν το έκανα τρέχει κάνουν και πάλι, σωστά. 1016 00:46:47,968 --> 00:46:49,430 Έτσι έχω αλλάξει τον πηγαίο κώδικα μου. 1017 00:46:49,430 --> 00:46:50,638 Αλλά και πάλι, δεν υπάρχει η ροή. 1018 00:46:50,638 --> 00:46:54,530 Πηγαίου κώδικα μέσω του compiler δίνει Είστε νέος κώδικας αντικειμένου, ή 0s και 1s. 1019 00:46:54,530 --> 00:47:00,209 Γι 'αυτό πρέπει πραγματικά να επανάληψη make γεια-2 Enter. 1020 00:47:00,209 --> 00:47:01,750 Εντάξει, κάτι που φαίνεται να έχει συμβεί. 1021 00:47:01,750 --> 00:47:04,220 Dot κάθετο γεια-2. 1022 00:47:04,220 --> 00:47:05,390 Το όνομά σας παρακαλώ. 1023 00:47:05,390 --> 00:47:09,990 Και για να είναι σαφές τώρα, γιατί είναι το δρομέα στην ίδια γραμμή; 1024 00:47:09,990 --> 00:47:10,490 Ακριβώς. 1025 00:47:10,490 --> 00:47:13,020 Δεν έβαλα το backslash n εδώ τον κωδικό μου. 1026 00:47:13,020 --> 00:47:16,110 Έτσι τώρα μπορώ να γράψω κάτι σαν Daven, Enter. 1027 00:47:16,110 --> 00:47:18,710 Μπορώ να το εκτελέσετε ξανά και πληκτρολογήστε κάτι σαν Gabe, Enter, 1028 00:47:18,710 --> 00:47:22,250 και έχουμε ένα διαφορετικό πρόγραμμα ξανά και ξανά και ξανά. 1029 00:47:22,250 --> 00:47:28,940 >> Τώρα, τελικά, θα πάμε να χρειάζονται να χρησιμοποιήσουν αρκετές διαφορετικές δυνατότητες. 1030 00:47:28,940 --> 00:47:32,860 Πρέπει να εισαχθεί τελικά κάποια προϋποθέσεις για να κάνουμε τα πράγματα υπό όρους. 1031 00:47:32,860 --> 00:47:35,550 Ίσως βρόχους έτσι μπορούμε να κάνουμε τα πράγματα ξανά και ξανά. 1032 00:47:35,550 --> 00:47:38,220 >> Ίσως θα ήταν ωραίο αν θα μπορούσαν να εφαρμόσουν τις δικές μας λειτουργίες, 1033 00:47:38,220 --> 00:47:41,355 όπως θα μπορούσαμε να εφαρμόσουμε τη δική μας printf ή τη δική μας εκδοχή της GetString 1034 00:47:41,355 --> 00:47:45,870 και GetFlow, γιατί τελικά ακόμα χρησιμοποιώντας αυτή τη γραμμή εντολών περιβάλλοντος 1035 00:47:45,870 --> 00:47:49,780 μπορούμε να κάνουμε ακόμα και τον πιο οπτικά ενδιαφέροντα πράγματα. 1036 00:47:49,780 --> 00:47:51,950 >> Πράγματι, εν κατακλείδι, επιτρέψτε μου να το κάνετε αυτό. 1037 00:47:51,950 --> 00:47:54,020 Πάω να πάει μπροστά και να κλείσουν αυτά τα παράθυρα 1038 00:47:54,020 --> 00:47:57,400 και ανοίξτε το εικονίδιο εδώ, το οποίο είναι απλά ένα μεγαλύτερο 1039 00:47:57,400 --> 00:48:00,020 έκδοση του ότι ο ενσωματωμένος παράθυρο τερματικού. 1040 00:48:00,020 --> 00:48:02,329 Έτσι Gedit έχει όχι μόνο ο τόπος για τον κωδικό μου, 1041 00:48:02,329 --> 00:48:05,620 αλλά επίσης ένα ενσωματωμένο στο παράθυρο τερματικού, η μαύρο και άσπρο παράθυρο όπου μπορώ να τρέξω 1042 00:48:05,620 --> 00:48:06,230 εντολές. 1043 00:48:06,230 --> 00:48:08,600 >> Απλά έτυχε να ανοίξει μια μεγαλύτερη εκδοχή του αυτό. 1044 00:48:08,600 --> 00:48:11,170 Και τώρα θα πάω να μπω σε ο φάκελος που έχω ήδη 1045 00:48:11,170 --> 00:48:13,150 τεθεί εκ των προτέρων στην ιστοσελίδα του μαθήματος. 1046 00:48:13,150 --> 00:48:16,720 Και Πάω να προχωρήσει και ανοίξετε ένα αρχείο που ονομάζεται thadgavin.c, 1047 00:48:16,720 --> 00:48:18,710 που γράφτηκε από κάποιον άλλο. 1048 00:48:18,710 --> 00:48:21,220 >> Και αν κοιτάξουμε αυτό, αυτό δεν είναι το είδος του κωδικού 1049 00:48:21,220 --> 00:48:24,370 θα πρέπει να γράφει από ο στόχος αυτού του κώδικα 1050 00:48:24,370 --> 00:48:28,450 ήταν να γράψει την πιο όμορφη αναζητούν τον κωδικό που αυτός ή αυτή θα μπορούσε, 1051 00:48:28,450 --> 00:48:31,290 ανεξάρτητα από το εάν ή όχι ένα άλλο ανθρώπινο ον θα μπορούσε ποτέ 1052 00:48:31,290 --> 00:48:33,660 κατανοήσουν αυτόν τον κώδικα. 1053 00:48:33,660 --> 00:48:37,050 >> Πράγματι, κάθε χρόνο υπάρχει είναι αυτό που είναι ονομάζεται μια ασαφή διαγωνισμό C, η οποία 1054 00:48:37,050 --> 00:48:39,570 είναι για πραγματική geeks που γράφουν κώδικα που κανένας άλλος δεν μπορεί να διαβάσει, 1055 00:48:39,570 --> 00:48:42,050 αλλά ότι κάνει κάτι, είτε πραγματικά απλό ή πραγματικά εκπληκτικό. 1056 00:48:42,050 --> 00:48:43,890 Και νομίζαμε ότι είχαμε συνάψει με αυτό το βλέμμα 1057 00:48:43,890 --> 00:48:48,300 σε κάτι που είναι αρκετά εκπληκτικό μπορεί να έχετε δει μια φορά πριν. 1058 00:48:48,300 --> 00:48:52,650 Αλλά εμείς θα καταλήξουμε σε αυτό το σημείωμα, dot κάθετος, thadgavin. 1059 00:48:52,650 --> 00:48:53,860 Αυτό, στη συνέχεια, είναι αυτό που περιμένει. 1060 00:48:53,860 --> 00:48:57,140 1061 00:48:57,140 --> 00:48:58,500 >> Αυτό είναι για το CS50. 1062 00:48:58,500 --> 00:48:59,935 Θα σας δούμε την Τετάρτη. 1063 00:48:59,935 --> 00:49:04,284 1064 00:49:04,284 --> 00:49:10,016 >> [ΜΟΥΣΙΚΗ ΠΑΙΖΟΝΤΑΣ] 1065 00:49:10,016 --> 00:53:31,883