1 00:00:00,000 --> 00:00:01,500 >> [ΜΟΥΣΙΚΗ ΠΑΙΖΟΝΤΑΣ] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID MALAN: Εντάξει αυτό είναι CS50 και αυτό είναι το τέλος της εβδομάδας ένα. 4 00:00:16,110 --> 00:00:20,760 Έτσι θα ήθελα να εισαγάγει πρώην μου advisee, Andel Duff, ο οποίος όχι μόνο κάνει 5 00:00:20,760 --> 00:00:25,460 iPhone 5 ξεχωρίζει, καθώς αυτό αναλόγιο, κάνει επίσης τα αυτοκίνητα. 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 ANSEL DUFF: Πώς πάει, όλοι; 8 00:00:29,510 --> 00:00:31,980 Θέλω μόνο να σας πω μια μικρή bit για το Formula SAE, της οποίας 9 00:00:31,980 --> 00:00:32,604 είμαι ο καπετάνιος. 10 00:00:32,604 --> 00:00:33,437 Είναι μια ομάδα του MIT. 11 00:00:33,437 --> 00:00:35,520 Θέλω μόνο να σας πω παιδιά λίγο γι 'αυτό 12 00:00:35,520 --> 00:00:37,520 και ελπίζω να δημιουργήσει κάποιο ενδιαφέρον. 13 00:00:37,520 --> 00:00:41,590 >> Έτσι, επιτρέψτε μου να τρέχει μέσα από ένα δυο πράγματα για την ομάδα μας. 14 00:00:41,590 --> 00:00:43,640 Έτσι, είμαστε εντελώς πορεία των φοιτητών, όπου όλοι 15 00:00:43,640 --> 00:00:47,300 του σχεδιασμού των μελών, προσομοίωση, δοκιμή, και τον κατασκευαστή ένα υποσύστημα 16 00:00:47,300 --> 00:00:48,090 του αυτοκινήτου. 17 00:00:48,090 --> 00:00:51,240 Έχουμε το δικό μας μηχανουργείο και γκαράζ, και N52-- ή συγγνώμη, 18 00:00:51,240 --> 00:00:54,140 N51-- το οποίο είναι το ίδιο κτίριο όπως το Μουσείο Επιστημών του ΜΙΤ. 19 00:00:54,140 --> 00:00:55,990 Και εμείς οι άνθρωποι που οδηγούν το αυτοκίνητο. 20 00:00:55,990 --> 00:00:58,340 Υπάρχει ένας εθνικός διαγωνισμός στην αρχή του καλοκαιριού, 21 00:00:58,340 --> 00:01:01,215 και, στη συνέχεια, υπάρχουν μικρότερα πέναλτι αγώνες όλο το χρόνο. 22 00:01:01,215 --> 00:01:04,400 Και τότε θα κάνουμε την εκπαίδευση των οδηγών ημέρες για να πάρει νέα μέλη γνωρίσουν. 23 00:01:04,400 --> 00:01:08,280 >> Ημέρες κατασκευής μας είναι σε Σάββατο από τις 11 π.μ. έως τις 20:00. 24 00:01:08,280 --> 00:01:11,060 Το μεσημεριανό γεύμα και το δείπνο φροντίζοντας της, από Bertucci και Beantown 25 00:01:11,060 --> 00:01:12,130 αντίστοιχα. 26 00:01:12,130 --> 00:01:15,260 Έχουμε μια εβδομαδιαία συνάντηση και σεμινάριο, το οποίο είναι για την πορεία της πιστοληπτικής ικανότητας. 27 00:01:15,260 --> 00:01:18,560 Ποια είναι νέο από αυτό το εξάμηνο, και θα είναι επίσης για το επόμενο εξάμηνο, 28 00:01:18,560 --> 00:01:19,940 έτσι ώστε να μπορούν να διασχίσουν-reg για αυτό. 29 00:01:19,940 --> 00:01:22,960 Και στη συνέχεια, έχουμε το σχεδιασμό, κατάστημα, και ημέρες CAD κατά τη διάρκεια της εβδομάδας, 30 00:01:22,960 --> 00:01:26,870 ενώ τα μέλη θα είναι ανεξάρτητα Μέρη CAD, stock προκειμένου et cetera. 31 00:01:26,870 --> 00:01:29,200 >> Έτσι, για την ηλεκτρική μηχανικής στην ομάδα 32 00:01:29,200 --> 00:01:31,110 έχουμε ελκτική μας, σύστημα υψηλής τάσης, 33 00:01:31,110 --> 00:01:33,390 που τρέχει σε ένα ονομαστικό 300 βολτ, η οποία περιλαμβάνει 34 00:01:33,390 --> 00:01:35,360 κινητήρες, οι ελεγκτές κινητήρα, και μπαταριών. 35 00:01:35,360 --> 00:01:37,235 Στη συνέχεια, έχουμε ένα χαμηλό τάση συστήματος, το οποίο τρέχει 36 00:01:37,235 --> 00:01:40,180 σε 12 βολτ, η οποία περιλαμβάνει ελέγχους, ΜΠΟΡΕΙ κόμβοι, τον εγκέφαλο 37 00:01:40,180 --> 00:01:41,570 box, και το ταμπλό. 38 00:01:41,570 --> 00:01:43,890 Όσον αφορά CS πηγαίνει, κάνουμε έχουν συντήρησης ιστοσελίδα 39 00:01:43,890 --> 00:01:47,940 ότι χρειάζεται να γίνει για εκδηλώσεις, συμμετοχή αλλαγές, νέες εικόνες και υλικό PR. 40 00:01:47,940 --> 00:01:51,540 Και τότε έχουμε κώδικα που ελέγχει την αυτοκινήτου για το σύστημα ελέγχου πρόσφυσης μας, έναρξη 41 00:01:51,540 --> 00:01:55,750 τον έλεγχο, τον έλεγχο παύλα, ροπή διανυσματοποίηση, και την αναγεννητική συστήματα πέδησης, η οποία 42 00:01:55,750 --> 00:01:59,170 τρέχει συνήθως σε MATLAB, Simulink, και LabView. 43 00:01:59,170 --> 00:02:00,910 >> Να σας πω λίγο για το αυτοκίνητο. 44 00:02:00,910 --> 00:02:02,470 Γι 'αυτό είναι περίπου 500 κιλά. 45 00:02:02,470 --> 00:02:04,285 Είναι κανόνες που περιορίζεται σε 85 κιλοβάτ. 46 00:02:04,285 --> 00:02:08,310 Διαθέτει 2 EMRAX 207 κινητήρες το πίσω, ένα για κάθε τροχό. 47 00:02:08,310 --> 00:02:11,880 Έχει custom-built μπαταριών από την πρισματική κύτταρα Α123 θήκη, 48 00:02:11,880 --> 00:02:14,780 συνολικού ύψους 300 βολτ και 5.6 κιλοβατώρες. 49 00:02:14,780 --> 00:02:17,950 Και αυτό είναι άμεση κίνηση με μια αναλογία 2,64 έως 1 μονάδα. 50 00:02:17,950 --> 00:02:20,970 Εδώ είναι μερικές εικόνες που πήρε από το σε ανταγωνισμό. 51 00:02:20,970 --> 00:02:25,820 Εδώ είναι ο κώνος πλάτη, τη μύτη, και εδώ είναι οι κινητήρες, 52 00:02:25,820 --> 00:02:29,682 εκείνα τα μεγάλα μαύρα δίσκους κάτω από το et mens manus. 53 00:02:29,682 --> 00:02:32,140 Εδώ είναι μια διαφάνεια που τράβηξα από καθεστώς ανταγωνισμού μας. 54 00:02:32,140 --> 00:02:35,389 Και αυτό είναι μόνο συγκρίνοντας το αυτοκίνητό μας σε ένα ζευγάρι των εμπορικά διαθέσιμων αυτοκινήτων, 55 00:02:35,389 --> 00:02:38,380 όπως η KTM XBOW, Ariel Atom, και Caterha M 7-280. 56 00:02:38,380 --> 00:02:42,110 Αν είστε εξοικειωμένοι με την τιμή, εξουσία τραβήξτε το βάρος, δολάρια ανά ίππο, 57 00:02:42,110 --> 00:02:44,930 δολάρια ανά ροπή, και το αυτοκίνητό μας όλα αυτά φυσά έξω από το νερό. 58 00:02:44,930 --> 00:02:47,520 Εάν έχετε οποιεσδήποτε ερωτήσεις, σημειώνω αυτή τη διεύθυνση ηλεκτρονικού ταχυδρομείου. 59 00:02:47,520 --> 00:02:50,800 Πυροβόλησε μας ένα email στο fsae@mit.edu. 60 00:02:50,800 --> 00:02:53,350 >> Είμαστε στην ευχάριστη θέση να μιλήσει για κάτι που θα θέλατε. 61 00:02:53,350 --> 00:02:55,600 Φοιτητές του Χάρβαρντ είναι το είδος της μειονότητας για την ομάδα του. 62 00:02:55,600 --> 00:02:58,350 Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με ότι μπορείτε να κάνετε πυροβολούν μας ένα e-mail, 63 00:02:58,350 --> 00:03:00,810 στην ευχάριστη θέση να μιλήσει, και να πάω να το κεφάλι πίσω πάνω στον David. 64 00:03:00,810 --> 00:03:01,550 Ευχαριστώ. 65 00:03:01,550 --> 00:03:02,466 Το εκτιμώ, παιδιά. 66 00:03:02,466 --> 00:03:03,615 [Χειροκρότημα] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID MALAN: Ansel πέρασε το καλοκαίρι εργάζονται μαζί μας εδώ στην πανεπιστημιούπολη στο CS50 69 00:03:10,980 --> 00:03:11,480 αυτό το καλοκαίρι. 70 00:03:11,480 --> 00:03:13,505 Και εκτός από την εργασία για τα πράγματα όπως τα δυαδικά λαμπτήρες, 71 00:03:13,505 --> 00:03:16,090 στην πραγματικότητα άνοιξε πραγματικά μας eyes-- και το δικό μου σε particular-- 72 00:03:16,090 --> 00:03:20,535 σε ό, τι πραγματικά τη διασταύρωση των όχι υλισμικού και λογισμικού μπορεί να είναι. 73 00:03:20,535 --> 00:03:23,410 Στην πραγματικότητα πολλά από τα πράγματα που μόλις περιόδευσαν σας μέσω είναι τελικά 74 00:03:23,410 --> 00:03:26,030 δημιουργήθηκε για πρώτη φορά το λογισμικό, και, στη συνέχεια, τελικά κατασκευάζονται 75 00:03:26,030 --> 00:03:27,299 στον πραγματικό κόσμο στο hardware. 76 00:03:27,299 --> 00:03:29,590 Έτσι, αν σας ενδιαφέρει εξερευνώντας αυτή τομή, 77 00:03:29,590 --> 00:03:31,430 ίσως αναλάβει αυτή την ομάδα. 78 00:03:31,430 --> 00:03:34,140 >> Τώρα, εν τω μεταξύ, όσοι από εσάς οι οποίοι είναι λάτρεις της τεχνολογίας, 79 00:03:34,140 --> 00:03:36,140 και τα προϊόντα της Apple σε Συγκεκριμένα γνωρίζουμε ότι υπάρχει 80 00:03:36,140 --> 00:03:37,860 ήταν ένα ζευγάρι από ανακοινώσεις χθες. 81 00:03:37,860 --> 00:03:39,776 Αλλά σκεφτήκαμε να δείξουμε Είσαι ένας που βγήκε 82 00:03:39,776 --> 00:03:43,590 λίγες ημέρες πριν ότι μπορεί να μην έχετε δει. 83 00:03:43,590 --> 00:03:46,150 >> JORGEN EGHAMMER: Ξέρετε, φορά σε λίγο κάτι 84 00:03:46,150 --> 00:03:49,540 που έρχεται αλλάζει τον τρόπο που ζούμε. 85 00:03:49,540 --> 00:03:53,479 Μια συσκευή τόσο απλή και διαισθητική χρησιμοποιώντας αισθάνεται σχεδόν οικεία. 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 Παρουσιάζοντας 2015 Κατάλογος ΙΚΕΑ. 88 00:04:04,138 --> 00:04:10,420 Δεν είναι ένα ψηφιακό βιβλίο ή ένα e-book, είναι ένα βιβλίο-book. 89 00:04:10,420 --> 00:04:14,440 >> Το πρώτο πράγμα που πρέπει να σημειωθεί είναι όχι καλώδια, ούτε καν ένα καλώδιο τροφοδοσίας. 90 00:04:14,440 --> 00:04:18,519 Το 2015 Κατάλογος IKEA είναι πλήρως φορτισμένη, 91 00:04:18,519 --> 00:04:20,550 και η διάρκεια ζωής της μπαταρίας είναι αιώνια. 92 00:04:20,550 --> 00:04:27,300 Η διεπαφή είναι 7,5 με 8 ίντσες, αλλά μπορεί να επεκταθεί σε 15 από 8 ίντσες. 93 00:04:27,300 --> 00:04:32,410 Η πλοήγηση γίνεται με βάση την απτική επαφή τεχνολογία που μπορείτε πραγματικά να αισθάνονται. 94 00:04:32,410 --> 00:04:37,120 >> Το περιεχόμενο έρχεται προ-εγκατεστημένο με 328 σελίδες υψηλής ευκρίνειας 95 00:04:37,120 --> 00:04:40,180 από πρωτότυπες ιδέες σπίτι επίπλωση. 96 00:04:40,180 --> 00:04:43,740 Για να ξεκινήσετε την περιήγηση, απλώς αγγίξτε και σύρετε. 97 00:04:43,740 --> 00:04:50,870 Από δεξιά προς αριστερά για να προχωρήσουμε προς τα εμπρός, αριστερά προς τα δεξιά για να μετακινηθείτε προς τα πίσω. 98 00:04:50,870 --> 00:04:52,770 >> Παρατηρήστε κάτι άλλο; 99 00:04:52,770 --> 00:04:53,780 Αυτό είναι σωστό. 100 00:04:53,780 --> 00:04:55,190 Δεν lag. 101 00:04:55,190 --> 00:04:58,400 Κάθε πεντακάθαρα σελίδα φορτία ακαριαία, 102 00:04:58,400 --> 00:05:00,586 δεν έχει σημασία πόσο γρήγορα θα μετακινηθείτε. 103 00:05:00,586 --> 00:05:03,710 Αν θέλετε να πάρετε μια γρήγορη επισκόπηση, Απλά κρατήστε το στην παλάμη του χεριού σας, 104 00:05:03,710 --> 00:05:06,816 και χρησιμοποιώντας μόνο τον αντίχειρά σας, ταχύτητα περιηγηθείτε στο περιεχόμενο. 105 00:05:06,816 --> 00:05:10,930 >> Εάν βρείτε κάτι που θέλετε να αποθηκεύσετε για αργότερα, μπορείτε απλά να το σελιδοδείκτη. 106 00:05:10,930 --> 00:05:17,620 Και ακόμα και αν κλείσετε την εφαρμογή, μπορείτε εύκολα να βρείτε ξανά το σελιδοδείκτη. 107 00:05:17,620 --> 00:05:18,490 Amazing. 108 00:05:18,490 --> 00:05:20,434 >> [Γέλια] 109 00:05:20,434 --> 00:05:21,406 [Χειροκρότημα] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 Και αυτό μας φέρνει στο το τέλος της εβδομάδας ένα. 112 00:05:29,870 --> 00:05:31,760 Τώρα λίγες ανακοινώσεις. 113 00:05:31,760 --> 00:05:33,440 Έτσι τομής είναι τώρα σε εξέλιξη. 114 00:05:33,440 --> 00:05:36,860 Πηγαίνετε σε αυτό το URL εδώ κάποια στιγμή μεταξύ σήμερα και την Παρασκευή το μεσημέρι 115 00:05:36,860 --> 00:05:39,960 να καθορίσετε πραγματικά αν είστε μεταξύ εκείνων λιγότερο άνετα, πιο 116 00:05:39,960 --> 00:05:41,690 άνετο, ή κάπου στο ενδιάμεσο. 117 00:05:41,690 --> 00:05:44,511 >> Αυτό είναι συνήθως ένα από αυτά πράγματα που μπορείτε ακριβώς το είδος του ξέρουν. 118 00:05:44,511 --> 00:05:47,510 Και στην πραγματικότητα, όσοι από εσάς είναι λιγότερο άνετα ίσως γνωρίζετε τόσο πολύ, 119 00:05:47,510 --> 00:05:49,634 όσοι από εσάς είναι πιο άνετο γνωρίζουμε ως πολύ, 120 00:05:49,634 --> 00:05:54,960 και πάλι, αν δεν είστε αρκετά βέβαιοι οποία αυτών των κάδων θα πέσουμε είστε 121 00:05:54,960 --> 00:05:56,210 πιθανότατα κάπου στο μεταξύ. 122 00:05:56,210 --> 00:05:59,810 Αλλά να είστε σίγουροι μπορείτε να ανταλλάξετε μετά από μερικές εβδομάδες, αν παραστεί ανάγκη. 123 00:05:59,810 --> 00:06:02,620 >> Εν τω μεταξύ, για την ερχόμενη εβδομάδα δεν αρχίσουμε τμήματα per se, 124 00:06:02,620 --> 00:06:04,760 αλλά σούπερ τμήματα, τα οποία είναι ανοικτή σε όλους τους φοιτητές. 125 00:06:04,760 --> 00:06:08,220 Αυτή την Κυριακή στην περιοχή για να θα ανακοινωθούν στην ιστοσελίδα του μαθήματος 126 00:06:08,220 --> 00:06:10,190 θα έχουμε ένα για τις λιγότερο άνετα, 127 00:06:10,190 --> 00:06:12,470 καθώς και μία για εκείνοι πιο άνετα. 128 00:06:12,470 --> 00:06:15,460 Και εκείνοι κάπου ανάμεσα μπορούν να επιλέξουν ποια από αυτά τα δύο, 129 00:06:15,460 --> 00:06:17,360 ή και τα δύο, αν θέλετε, να καθίσετε στο. 130 00:06:17,360 --> 00:06:19,630 Και το επίκεντρο εκείνων θα είναι τελικά σε C, 131 00:06:19,630 --> 00:06:22,440 η οποία θα συνεχίσει να μας συνομιλία του σήμερα. 132 00:06:22,440 --> 00:06:25,070 >> Πρόβλημα που εν τω μεταξύ είναι 0 ελπίζουμε στα χέρια σας. 133 00:06:25,070 --> 00:06:27,500 Επισήμως οφείλεται αύριο, Πέμπτη το μεσημέρι. 134 00:06:27,500 --> 00:06:29,490 Αν δεν έχετε μετρητά σε ένα 5 τελευταίες μέρες σας, 135 00:06:29,490 --> 00:06:31,780 πράγμα που θα φέρει μέχρι την Παρασκευή το μεσημέρι. 136 00:06:31,780 --> 00:06:34,420 Πρόβλημα που 1 εν τω μεταξύ θα είναι αναρτηθεί στην ιστοσελίδα του μαθήματος. 137 00:06:34,420 --> 00:06:37,381 Και αυτό θα είναι το πρώτο μας επιδρομή ως τάξη σε C. 138 00:06:37,381 --> 00:06:40,630 Και αυτό το πρόβλημα που spec θα σας καθοδηγήσει με πολλά από τα μηχανική του τι 139 00:06:40,630 --> 00:06:43,960 αρχίσαμε να μιλάμε για τη Δευτέρα, και εμείς θα συνεχίσουμε να μιλάμε για το σήμερα. 140 00:06:43,960 --> 00:06:46,770 C, το Linux, το CS50 συσκευής, όλα αυτά 141 00:06:46,770 --> 00:06:48,990 θα σας περιμένουν στην προδιαγραφή. 142 00:06:48,990 --> 00:06:52,840 >> Οι ώρες λειτουργίας εν τω μεταξύ είναι σε εξέλιξη, σε προπτυχιακό τραπεζαρία. 143 00:06:52,840 --> 00:06:56,240 Επικεφαλής σε αυτή τη διεύθυνση URL εδώ για να δείτε το προγραμματίσει για απόψε και αύριο, 144 00:06:56,240 --> 00:06:57,930 αν θα θέλατε να συμμετέχετε. 145 00:06:57,930 --> 00:07:01,920 Ερωτήσεις Εν τω μεταξύ, έτσι ώστε να έχουν την ευκαιρία να κάνουν ερωτήσεις 146 00:07:01,920 --> 00:07:05,860 ασύγχρονα, 24/7, συνειδητοποιούν είστε δεν περιορίζεται σε τμήματα και γραφεία 147 00:07:05,860 --> 00:07:09,530 ώρες, αλλά μάλλον αυτό το εργαλείο Εδώ, CS50 Συζητήστε σε αυτό το URL 148 00:07:09,530 --> 00:07:12,150 θα είναι σε απευθείας σύνδεση του μαθήματος ανακοινώσεων λογισμικό του σκάφους, μέσω του οποίου 149 00:07:12,150 --> 00:07:15,030 μπορείτε να κάνετε ερωτήσεις των συμμαθητές και το προσωπικό. 150 00:07:15,030 --> 00:07:18,492 Έτσι, έχετε κατά νου ότι πόρου, καθώς και. 151 00:07:18,492 --> 00:07:20,200 Εν τω μεταξύ, μια παράδοση ξεκινά την ερχόμενη Παρασκευή. 152 00:07:20,200 --> 00:07:23,200 Όπως μπορεί να έχετε πάρει μια γεύση από βίντεο teaser της περασμένης Τετάρτης, 153 00:07:23,200 --> 00:07:25,510 έχουμε μια παράδοση πιο κάθε Παρασκευή κατά τη διάρκεια 154 00:07:25,510 --> 00:07:28,750 από τη λήψη περίπου 50 μαθητές και του προσωπικού σε ένα τοπικό εστιατόριο που ονομάζεται 155 00:07:28,750 --> 00:07:31,510 Fire and Ice, στην οποία είμαστε συνήθως ενώνονται με μερικούς αποφοίτους 156 00:07:31,510 --> 00:07:33,850 ή τους φίλους σας από τη βιομηχανία σε γενικές γραμμές φιλοδοξούν 157 00:07:33,850 --> 00:07:35,780 να κάνει μια μεγάλη κατηγορία αισθάνονται μικρότερη. 158 00:07:35,780 --> 00:07:37,560 Έτσι, αυτό είναι ένα εντελώς απλό γεύμα. 159 00:07:37,560 --> 00:07:40,160 Μια δέσμη από εμάς, το προσωπικό ιδιαίτερα, θα παίξει μουσικές καρέκλες 160 00:07:40,160 --> 00:07:43,360 και να συνομιλήσετε με τους μαθητές για 50, η ζωή έξω από το 50, 161 00:07:43,360 --> 00:07:46,510 ζωή στο μέλλον, το πραγματικό κόσμο, Μιλώ για ευκαιρίες απασχόλησης 162 00:07:46,510 --> 00:07:47,680 με φίλους στη βιομηχανία. 163 00:07:47,680 --> 00:07:51,110 >> Έτσι, αν θα θέλατε να ενωθούν μαζί μας αυτή την Παρασκευή, το κεφάλι σε αυτό το URL εδώ. 164 00:07:51,110 --> 00:07:54,180 Ο χώρος είναι περιορισμένος, αλλά θα το κάνουμε αυτό recurringly καθ 'όλη τη διάρκεια. 165 00:07:54,180 --> 00:07:57,380 Επικεφαλής εκεί να cs50.harvard.edu/rsvp. 166 00:07:57,380 --> 00:07:59,380 Και αν δεν έχετε σε αυτή τη φορά, για να μην ανησυχείτε. 167 00:07:59,380 --> 00:08:02,390 Εμείς θα το κάνουμε και πάλι σε τις επόμενες εβδομάδες, καθώς και. 168 00:08:02,390 --> 00:08:05,434 >> Έτσι, αυτή είναι η εικόνα βάψαμε την περασμένη εβδομάδα, 169 00:08:05,434 --> 00:08:07,350 και έχετε πιθανώς ασχολείται με την μέχρι στιγμής. 170 00:08:07,350 --> 00:08:10,360 Αλλά ας προσπαθήσουμε να συνδέσετε αυτό τώρα σε αυτό που πάμε να κάνουμε σήμερα 171 00:08:10,360 --> 00:08:11,440 και μετά. 172 00:08:11,440 --> 00:08:14,760 Θα μπορούσα να έχω έναν εθελοντή; 173 00:08:14,760 --> 00:08:16,000 Εντάξει, ή αρκετά. 174 00:08:16,000 --> 00:08:18,460 Πόσο περίπου εδώ για το τέλος, το μπλε πουκάμισο. 175 00:08:18,460 --> 00:08:20,329 Έλα πάνω, ποιο είναι το όνομά σας; 176 00:08:20,329 --> 00:08:20,870 ALANA: Αλάνα. 177 00:08:20,870 --> 00:08:21,661 DAVID MALAN: Αλάνα. 178 00:08:21,661 --> 00:08:25,100 Έτσι Αλάνα, μόνο για ένα moment-- nice to meet Εσύ-- 179 00:08:25,100 --> 00:08:28,260 πρόκειται να παίξει το ρόλο αυτής της λειτουργίας εδώ. 180 00:08:28,260 --> 00:08:31,290 Το πορφυρό τετράγωνο έχουμε που ονομάζεται μέχρι σήμερα λειτουργία. 181 00:08:31,290 --> 00:08:34,830 Λοιπόν, τι Πάω να πάει μπροστά εδώ και προσφέρουν Αλάνα 182 00:08:34,830 --> 00:08:38,380 είναι μια μικρή ετικέτα ονόματος, να κάνει σαφές ποιο ρόλο παίζετε. 183 00:08:38,380 --> 00:08:39,753 >> Έτσι θα πρέπει να είναι το μπλοκ ας πούμε. 184 00:08:39,753 --> 00:08:41,419 Αν θέλετε να πάτε μπροστά και να βάλουμε αυτό. 185 00:08:41,419 --> 00:08:43,169 Και θα πάμε να κρατήσει αυτό το σούπερ απλό. 186 00:08:43,169 --> 00:08:46,180 Αν ο στόχος είναι στο χέρι απλά τώρα να εφαρμόσει με Alana, 187 00:08:46,180 --> 00:08:49,710 αυτό το λεγόμενο λένε μπλοκ, εδώ είναι το πώς πρόκειται να λειτουργήσει. 188 00:08:49,710 --> 00:08:52,574 I have-- ας το ονομάσουμε ένα επιχείρημα ή μια παράμετρο, 189 00:08:52,574 --> 00:08:54,240 Είναι πραγματικά ακριβώς ένα κενό φύλλο χαρτιού. 190 00:08:54,240 --> 00:08:57,239 Και αυτό είναι λευκό για το είδος του να θυμίζει του λευκού πλαισίου μέσα στο οποίο θα 191 00:08:57,239 --> 00:08:58,080 μπορεί να γράψει τα λόγια. 192 00:08:58,080 --> 00:09:00,660 >> Εν τω μεταξύ, είμαι πρόκειται να πάει εδώ. 193 00:09:00,660 --> 00:09:06,560 Πάω να προχωρήσει και γράφετε H-Ε-Ε-Ε-O κόμμα κόσμο. 194 00:09:06,560 --> 00:09:09,972 Και τώρα, όπως λένε τον προγραμματιστή, δεν πραγματικά γνωρίζουν πώς να πω κάτι. 195 00:09:09,972 --> 00:09:12,180 Μπορώ να καταλήξει με τις λέξεις, αλλά εγώ δεν κάνω απαραίτητα 196 00:09:12,180 --> 00:09:15,220 γνωρίζουν πώς να εκφραστώ προφορικά ή στην οθόνη. 197 00:09:15,220 --> 00:09:17,280 Και έτσι τι Πάω να κάνετε είναι να πάρετε αυτό το κομμάτι 198 00:09:17,280 --> 00:09:21,157 της λειτουργικότητας, των οποίων input-- ή επιχείρημα, όπως θα την αποκαλούμε, 199 00:09:21,157 --> 00:09:23,990 Έχω γράψει για αυτό το κομμάτι της paper-- και πάω να το αναθέσουν σε τρίτους. 200 00:09:23,990 --> 00:09:26,831 >> Και πράγματι αυτό είναι το ρόλο που διαδραματίζουν λειτουργίες σε μια γλώσσα προγραμματισμού 201 00:09:26,831 --> 00:09:27,330 μπορεί να παίξει. 202 00:09:27,330 --> 00:09:29,246 Κάτι σαν το λόγο μπλοκ μπορεί να αναθέσει σε εξωτερικούς συνεργάτες 203 00:09:29,246 --> 00:09:32,074 σε κάποιον που πραγματικά ξέρει ό, τι αυτός ή αυτή είναι να μιλάμε για. 204 00:09:32,074 --> 00:09:33,990 Έτσι, αν θα βήμα πάνω εδώ μόνο για μια στιγμή, 205 00:09:33,990 --> 00:09:40,092 Πάω να περάσει αυτήν την είσοδο Αλάνα, και σας ζητάμε να πω αυτή την είσοδο. 206 00:09:40,092 --> 00:09:41,202 >> ALANA: Hello, world. 207 00:09:41,202 --> 00:09:42,160 DAVID MALAN: Αυτό είναι. 208 00:09:42,160 --> 00:09:43,326 Έτσι ώστε να υπάρχει μία λειτουργία. 209 00:09:43,326 --> 00:09:46,556 Τώρα μπορούμε να το πάρει λίγο περισσότερο, μπορούμε να κάνουμε ένα βήμα προς τα εμπρός εδώ. 210 00:09:46,556 --> 00:09:48,180 Επειδή αυτό ήταν σαφώς απογοητευτικό. 211 00:09:48,180 --> 00:09:51,670 Ας τώρα να μετατρέψει αυτό σε κάτι λίγο πιο πολύπλοκα. 212 00:09:51,670 --> 00:09:53,630 >> Έτσι, αυτό φυσικά είναι δική μας εκδοχή C. 213 00:09:53,630 --> 00:09:56,760 Έτσι τώρα, αν θέλετε να πάρετε ότι εφάπαξ, η ετικέτα ονόματος off, 214 00:09:56,760 --> 00:09:58,530 και ας το έχετε βάλει σε ένα νέο όνομα. 215 00:09:58,530 --> 00:10:00,850 Αλλά ουσιαστικά είστε παίζει τον ίδιο ρόλο, 216 00:10:00,850 --> 00:10:03,400 ακριβώς έτσι συμβαίνει να να ονομάζεται printf τώρα. 217 00:10:03,400 --> 00:10:06,930 >> Η ιστορία είναι, φυσικά, πρόκειται να είναι-- πιθανώς 218 00:10:06,930 --> 00:10:09,317 ακριβώς όπως underwhelming-- είναι πρόκειται να είναι η ακόλουθη. 219 00:10:09,317 --> 00:10:10,650 Είστε πλέον η printf λειτουργία. 220 00:10:10,650 --> 00:10:13,300 Είμαι ο καλών ή ο προγραμματιστής, ο οποίος θέλει 221 00:10:13,300 --> 00:10:15,745 να σταθεί στους ώμους του οι άνθρωποι στο παρελθόν, όπως και εσείς, 222 00:10:15,745 --> 00:10:18,670 που έχουν ήδη βρει τον τρόπο πραγματικά να γράψετε κάτι κάτω. 223 00:10:18,670 --> 00:10:20,650 Και έτσι αυτή τη φορά, αντί να πω ότι ας 224 00:10:20,650 --> 00:10:22,255 πραγματικά χρησιμοποιείτε την οθόνη μας εδώ. 225 00:10:22,255 --> 00:10:24,130 Έτσι, αν θέλετε να εντείνουν εδώ, θα πάω 226 00:10:24,130 --> 00:10:27,196 να περάσει και πάλι αυτό ως είσοδος σε φίλο printf μου. 227 00:10:27,196 --> 00:10:29,320 Αν θα μπορούσε να προχωρήσει και εκτύπωση που εμφανίζεται στην οθόνη, 228 00:10:29,320 --> 00:10:31,611 απλά σχεδιάζοντας με σας δάχτυλο στη μαύρη οθόνη. 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 Εξαιρετική. 231 00:10:44,180 --> 00:10:47,350 Εντάξει, έτσι ώστε πολλά από αγωνία για πώς ότι επρόκειτο να παίξει έξω. 232 00:10:47,350 --> 00:10:51,390 >> Έτσι τώρα ας πάρουμε τα πράγματα ένα τελική εγκοπή, αν μπορούσαμε, ως εξής. 233 00:10:51,390 --> 00:10:53,980 Έτσι, αυτό είναι ένα πρόγραμμα C όπως είπαμε και την προηγούμενη φορά. 234 00:10:53,980 --> 00:10:57,460 Και αυτό κάνει ακριβώς ό, τι έκανε, εκτυπώνει στην οθόνη, γεια σου, τον κόσμο. 235 00:10:57,460 --> 00:11:00,290 Ακόμα κι αν υπάρχει σαφώς μια πολύ αποσπούν την προσοχή από πράγματα εκεί. 236 00:11:00,290 --> 00:11:03,630 Αλλά ας πάρουμε τα πράγματα επάνω μια εγκοπή και εισαγάγει αυτήν την έκδοση, που θυμίζουν 237 00:11:03,630 --> 00:11:06,160 Ήταν η τρίτη εκδοχή ότι καταλήξαμε με την τελευταία φορά. 238 00:11:06,160 --> 00:11:09,120 >> Και τώρα υπάρχει σαφώς δύο χρήσεις της printf. 239 00:11:09,120 --> 00:11:12,280 Υπάρχουν 2 κλήσεις προς Αλάνα σε αυτή την περίπτωση για την printf, 240 00:11:12,280 --> 00:11:14,740 αλλά υπάρχει επίσης μια κλήση σε μια άλλη λειτουργία. 241 00:11:14,740 --> 00:11:17,150 Τι είναι αυτή η λειτουργία σαφώς; 242 00:11:17,150 --> 00:11:17,650 GetString. 243 00:11:17,650 --> 00:11:18,980 >> Μπορούμε να έχουμε μια πιο εθελοντής; 244 00:11:18,980 --> 00:11:20,980 Εντάξει, έλα επάνω. 245 00:11:20,980 --> 00:11:21,805 Ποιο είναι το όνομά σου; 246 00:11:21,805 --> 00:11:22,990 >> JAVIER: Javier. 247 00:11:22,990 --> 00:11:24,750 >> DAVID MALAN: Javier, έλα επάνω. 248 00:11:24,750 --> 00:11:27,270 Έτσι, ο ρόλος Javier είναι σε αυτό το κομμάτι χαρτί. 249 00:11:27,270 --> 00:11:28,860 Ποια Πάω να καλέσετε γενικά s. 250 00:11:28,860 --> 00:11:32,250 Τώρα αυτό είναι μια μεταβλητή, είναι τύπου string, όπως υπονοείται 251 00:11:32,250 --> 00:11:34,290 από την εν λόγω δεύτερη γραμμή στη μέση εκεί. 252 00:11:34,290 --> 00:11:36,540 Και θα ήθελα να πάω να μου ένα string. 253 00:11:36,540 --> 00:11:40,120 Συγκεκριμένα το κεφάλι κάτω για να την ορχήστρα τμήμα και να μου το όνομα κάποιου, 254 00:11:40,120 --> 00:11:43,142 και να επανέλθει με μια μεταβλητή που περιέχει την αξία αυτή. 255 00:11:43,142 --> 00:11:44,225 Μπορεί να είναι κάποιος που θέλετε. 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> Εδώ πάμε. 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 Εντάξει, Javier είναι γράφοντας το όνομα. 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 Εντάξει. 262 00:12:03,280 --> 00:12:05,740 Μπορούμε όλοι πιθανώς μαντέψει πώς αυτό πρόκειται να παίξει έξω. 263 00:12:05,740 --> 00:12:07,489 Είμαστε ίσως το βασανίζω το σημείο από ό, τι 264 00:12:07,489 --> 00:12:10,320 είναι μια λειτουργία που κάνει, αλλά παρ 'όλα αυτά σας ευχαριστώ πολύ. 265 00:12:10,320 --> 00:12:13,890 >> Έτσι Javier έχει επιστρέψει αυτή τη σειρά εδώ, η οποία, δεν μπορούν να καταλάβω, 266 00:12:13,890 --> 00:12:15,800 Jonathan είναι το string ότι έχουμε πάρει. 267 00:12:15,800 --> 00:12:18,330 Μέχρι τώρα αυτό που είμαι πραγματικά συμβαίνει να παρέχουν στην Αλάνα αν 268 00:12:18,330 --> 00:12:20,150 Είναι κάτι λίγο διαφορετικό. 269 00:12:20,150 --> 00:12:23,800 Επειδή σε αυτή την έκδοση του πρόγραμμα, πρώτα υπάρχει αναφέρετε το όνομά σας. 270 00:12:23,800 --> 00:12:26,160 Έτσι, το πρώτο επιχείρημα Θα πρέπει να παρέχουν Αλάνα 271 00:12:26,160 --> 00:12:33,030 με πρόκειται να είναι αναφέρει κυριολεκτικά το όνομά σας. 272 00:12:33,030 --> 00:12:35,280 Εντάξει, τόσο απλό Θα παραδώσει σε εσάς. 273 00:12:35,280 --> 00:12:36,730 Και όπως έχω γράψει μέχρι το επόμενο επιχείρημα, αν 274 00:12:36,730 --> 00:12:39,230 θέλω να πάω μπροστά και να γράψω αυτό στον πίνακα, ας πάμε μπροστά 275 00:12:39,230 --> 00:12:42,659 και να κάνουμε το τελευταίο παράδειγμα εδώ για να σαφές τι είναι τελικά πήρε να συμβεί. 276 00:12:42,659 --> 00:12:44,450 Έτσι αναφέρετε το όνομά σας, γράψετε προς την κορυφή 277 00:12:44,450 --> 00:12:47,220 αν δεν σας πειράζει, απλά έτσι ώστε να έχουμε περιθώρια για μία δεύτερη γραμμή. 278 00:12:47,220 --> 00:12:52,890 Επειδή το τελευταίο πράγμα που θα πάω να σας παρέχουν τώρα με δεν είναι μία, 279 00:12:52,890 --> 00:12:57,220 αλλά δύο κομμάτια του χαρτιού. 280 00:12:57,220 --> 00:12:58,074 >> Εντάξει. 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-Ο κόμμα και στη συνέχεια μια κενή γραμμή. 282 00:13:01,920 --> 00:13:04,780 Έτσι, αυτό που είμαι έτοιμος να παραδώσει Αλάνα τώρα Είναι κάτι λίγο διαφορετικό. 283 00:13:04,780 --> 00:13:08,600 Δεν είναι μόνο ότι όλο αυτό, όπου συμπληρώστε το κενό αντιπροσωπεύει 284 00:13:08,600 --> 00:13:12,050 ότι percent-- ποια ήταν η κράτησης θέσης που έχουμε χρησιμοποιήσει; 285 00:13:12,050 --> 00:13:13,890 Ναι, έτσι τοις εκατό s. 286 00:13:13,890 --> 00:13:16,530 Εν τω μεταξύ, Πάω να περάσει της σε ένα δεύτερο επιχείρημα, το οποίο 287 00:13:16,530 --> 00:13:19,290 Είναι ακριβώς ό, τι Javier ανακτώνται από Jonathan. 288 00:13:19,290 --> 00:13:20,534 >> Έτσι, επιτρέψτε μου να σας δώσω αυτά τα δύο. 289 00:13:20,534 --> 00:13:22,575 Εάν θέλετε να, να προχωρήσει και εκτύπωσης που ισχύ. 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 Τι τελικά συμβαίνει τώρα είναι, Αλάνα πάλι 292 00:13:28,130 --> 00:13:29,410 παίζει το ρόλο της printf. 293 00:13:29,410 --> 00:13:32,160 Javier έπαιζε ο ρόλος της GetString. 294 00:13:32,160 --> 00:13:34,700 Έτσι, ότι θα είναι σουβενίρ σας. 295 00:13:34,700 --> 00:13:39,910 Και τελικά τι συμβαίνει, παρά Αυτό hello-- yep προχωρήσει και κόμμα. 296 00:13:39,910 --> 00:13:41,410 ALANA: Μήπως λάβω αυτό ακόμα ή όχι; 297 00:13:41,410 --> 00:13:43,451 DAVID MALAN: Ναι, μπορείτε έλαβαν και τα δύο ταυτόχρονα. 298 00:13:43,451 --> 00:13:45,740 Έτσι, η ιδέα είναι ότι μπορείτε μπορούν τώρα να αναστρέψετε τη σελίδα 299 00:13:45,740 --> 00:13:50,000 να χειριστεί το δευτερόλεπτο αυτών των δύο εισόδων. 300 00:13:50,000 --> 00:13:53,280 Έτσι, αυτό είναι μόνο για να καταστήσουμε σαφές το επισημάνω ότι ενώ Αλάνα εκτελούνται 301 00:13:53,280 --> 00:13:55,830 αυτή η πράσινη γραμμή εδώ, και στη συνέχεια, Javier έκανε αυτό για εμάς 302 00:13:55,830 --> 00:13:57,820 και να επιστρέψει σε μένα κάτι θα καλέσουμε s, αλλά ήταν πραγματικά 303 00:13:57,820 --> 00:13:59,520 μόνο αυτό το κομμάτι χαρτί της δικής του. 304 00:13:59,520 --> 00:14:02,320 Και τώρα Αλάνα έχει κάνει αυτή η τρίτη γραμμή. 305 00:14:02,320 --> 00:14:06,010 >> Και παρόλο που όλα αυτά φαίνεται τόσο απίστευτα αινιγματική ίσως 306 00:14:06,010 --> 00:14:08,870 με την πρώτη ματιά, είναι πραγματικά Είναι τόσο απλό. 307 00:14:08,870 --> 00:14:11,390 Περνώντας εισόδους γύρω, να πάρει τα αποτελέσματα, είτε 308 00:14:11,390 --> 00:14:14,560 που φυσικά επιστραφεί κάτι, ή να δει μια παρενέργεια όπως αυτό. 309 00:14:14,560 --> 00:14:17,170 Κάτι οπτικά γραμμένο στην οθόνη. 310 00:14:17,170 --> 00:14:19,990 Ας πάμε μπροστά και να Ευχαριστώ Αλάνα και Javier, 311 00:14:19,990 --> 00:14:25,012 που ήταν εδώ κάτω, για ένταξή μας εδώ. 312 00:14:25,012 --> 00:14:25,934 >> [Χειροκρότημα] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> Έτσι, τώρα ας ρίξουμε δεδομένο πόσο απλή όλα αυτά θα μπορούσε να είναι. 315 00:14:33,480 --> 00:14:36,775 Και ας προχωρήσουμε στην πραγματικότητα κάνει κάτι σε πραγματικό κώδικα. 316 00:14:36,775 --> 00:14:40,620 Έτσι, στην οθόνη εδώ είναι ένα screenshot του λεγόμενου συσκευή CS50. 317 00:14:40,620 --> 00:14:43,980 Και αν έπρεπε να σε, ως 14:00, την Τετάρτη το απόγευμα, 318 00:14:43,980 --> 00:14:46,602 εξηγήσει σε κάποιο φίλο τι η συσκευή CS50 είναι, 319 00:14:46,602 --> 00:14:48,185 πώς θα το ορίσετε σε μια πρόταση; 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 Κάθε μία φράση; 322 00:14:53,240 --> 00:14:54,876 Ναι; 323 00:14:54,876 --> 00:14:57,334 ΦΟΙΤΗΤΗΣ: Είναι σαν ένα πρόγραμμα που καθιστά τον υπολογιστή του καθενός 324 00:14:57,334 --> 00:14:58,460 τρέχουν με το ίδιο σύστημα. 325 00:14:58,460 --> 00:14:59,210 DAVID MALAN: Good! 326 00:14:59,210 --> 00:15:02,810 Είναι ένα πρόγραμμα που δίνει τη δυνατότητα σε όλους του υπολογιστή για να τρέξει με το ίδιο σύστημα. 327 00:15:02,810 --> 00:15:04,920 Είναι το είδος της δικής σας αντίγραφο του λειτουργικού 328 00:15:04,920 --> 00:15:07,540 σύστημα που συμβαίνει σε να ονομάζεται Ubuntu Linux. 329 00:15:07,540 --> 00:15:11,070 Και αυτό λειτουργεί αποτελεσματικά στο εσωτερικό της ένα παράθυρο για τη δική σας Mac ή PC, 330 00:15:11,070 --> 00:15:15,080 έτσι ώστε με τον τρόπο αυτό το δικαίωμα από την πύλη στην εβδομάδα 1, όλοι εδώ στην τάξη 331 00:15:15,080 --> 00:15:17,590 έχει πρόσβαση στα ίδια εργαλεία, η ίδια διαμόρφωση, 332 00:15:17,590 --> 00:15:21,250 και δεν υπάρχει συγκεκριμένη καμπύλη μάθησης σε ένα Mac ή ένα PC ειδικότερα. 333 00:15:21,250 --> 00:15:25,620 >> Τώρα έχουμε ανοίξει, μέσα από το CS50 συσκευής, τη Δευτέρα, το πρόγραμμα εδώ. 334 00:15:25,620 --> 00:15:27,040 Συμβαίνει να ονομάζεται gedit. 335 00:15:27,040 --> 00:15:29,050 Αλλά αυτό είναι πραγματικά μόνο ένα γραφικό επεξεργαστή. 336 00:15:29,050 --> 00:15:33,170 Είναι κάτι όπως το σημειωματάριο ή Κείμενο Επεξεργασία σε Windows ή Mac OS αντίστοιχα. 337 00:15:33,170 --> 00:15:36,720 Και πρότεινα ότι υπήρχαν στην πραγματικότητα τρία σημαντικά μέρη σε αυτή την οθόνη. 338 00:15:36,720 --> 00:15:39,560 Η επάνω πλευρά είναι όπου μπορείτε θα γράψετε τον κωδικό σας. 339 00:15:39,560 --> 00:15:44,080 Και αυτό είναι όπου περάσαμε πολύ από μας τρία παραδείγματα σε διάλεξη της Δευτέρας. 340 00:15:44,080 --> 00:15:47,650 Το κάτω μέρος που ονομάζεται αυτό, αυτό το μαύρο παράθυρο, ναι; 341 00:15:47,650 --> 00:15:48,640 >> ΦΟΙΤΗΤΗΣ: Compiler; 342 00:15:48,640 --> 00:15:51,500 >> DAVID MALAN: Compiler μας προσπελαστεί μέσω του εν λόγω παραθύρου. 343 00:15:51,500 --> 00:15:53,040 Αλλά γενικότερα. 344 00:15:53,040 --> 00:15:54,540 Ναι, αυτό ήταν απλώς ένα παράθυρο τερματικού. 345 00:15:54,540 --> 00:15:57,780 Αυτή είναι μια εποχή παλιά όρο ότι μόνο περιγράφει ουσιαστικά μια αναβοσβήνει 346 00:15:57,780 --> 00:16:01,910 προτροπή, ότι πριν από χρόνια χρησιμοποιείται για να είναι σε μία από αυτές τις μεγάλες οθόνες CRT στυλ. 347 00:16:01,910 --> 00:16:04,300 Αλλά στις μέρες μας είναι είδος του εικονικού σε λογισμικό. 348 00:16:04,300 --> 00:16:06,710 Και τα παράθυρα τερματικού ας είναι μαζί μας πληκτρολογήσετε εντολές. 349 00:16:06,710 --> 00:16:11,750 Είναι το είδος του απλοποιημένη έκδοση της διεπαφής χρήστη ή UI. 350 00:16:11,750 --> 00:16:14,060 Δεν είναι μια γραφική διεπαφή χρήστη ή GUI, 351 00:16:14,060 --> 00:16:17,250 είναι μια διεπαφή που βασίζεται σε κείμενο ή ένα περιβάλλον γραμμής εντολών. 352 00:16:17,250 --> 00:16:20,770 >> Και πράγματι αυτό είναι που τελικά Ήμουν σε θέση να γράψει λίγο κώδικα. 353 00:16:20,770 --> 00:16:24,200 Μόλις είχα γράψει κάποιο κώδικα όμως, Υπενθυμίζουμε ότι χρησιμοποίησα αυτή την εντολή. 354 00:16:24,200 --> 00:16:26,210 Και δεδομένου ότι το όνομα είδος του προτείνει, αυτό 355 00:16:26,210 --> 00:16:29,860 επιτρέπει μου να κάνω μια πρόγραμμα που ονομάζεται Hello. 356 00:16:29,860 --> 00:16:33,400 Αλλά τι πραγματικά κάνουν; 357 00:16:33,400 --> 00:16:36,180 Καλά κάνουν έπαιρνε μου εισόδου, μου τον πηγαίο κώδικα, 358 00:16:36,180 --> 00:16:39,380 και μετατρέποντας σε ό, τι, τελικά; 359 00:16:39,380 --> 00:16:40,060 >> Κωδικός αντικειμένου. 360 00:16:40,060 --> 00:16:42,790 Και αντικειμενικού κώδικα είναι μόνο ένα φανταχτερό τρόπος για να πούμε μηδενικά και μονάδες. 361 00:16:42,790 --> 00:16:46,420 Και στη συνέχεια μία φορά θέλησα για να εκτελέσετε αυτόν τον κώδικα αντικειμένου, 362 00:16:46,420 --> 00:16:50,940 μία φορά θέλησα να περάσει ως συμβολή αυτών μηδενικά και αυτοί στο χρήστη του υπολογιστή μου 363 00:16:50,940 --> 00:16:54,430 εγκεφάλου, η λεγόμενη CPU ή κεντρική μονάδα επεξεργασίας, 364 00:16:54,430 --> 00:16:55,730 Έπρεπε να τρέξει το πρόγραμμα. 365 00:16:55,730 --> 00:16:59,042 Αλλά δεν ήταν αρκετά απλή τη Δευτέρα όπως ακριβώς το διπλάσιο πατώντας κάποιο εικονίδιο. 366 00:16:59,042 --> 00:17:01,375 Τι αντίθετα δεν έχω να κάνουμε, προκειμένου να εκτελέσετε ένα πρόγραμμα; 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> Ποια ήταν η δεύτερη εντολή; 369 00:17:07,890 --> 00:17:09,619 Ακούω λίγο καθέτους; 370 00:17:09,619 --> 00:17:10,544 Ναι, ναι; 371 00:17:10,544 --> 00:17:12,474 >> ΦΟΙΤΗΤΗΣ: Dot κάθετο και το όνομα του προγράμματος. 372 00:17:12,474 --> 00:17:13,349 DAVID MALAN: Ακριβώς. 373 00:17:13,349 --> 00:17:15,030 Dot κάθετο και το όνομα του προγράμματος. 374 00:17:15,030 --> 00:17:16,210 Τώρα τι αυτό σημαίνει; 375 00:17:16,210 --> 00:17:19,470 Λοιπόν τελεία είναι απλά μια απόκρυφη τρόπο του λέγοντας τρέχοντα κατάλογο. 376 00:17:19,470 --> 00:17:23,440 Όποια και αν είναι φάκελος θα είναι σε είναι αναφέρεται ως, αναπαρίσταται ως τελεία. 377 00:17:23,440 --> 00:17:26,680 Η κάθετος είναι ακριβώς αυτό που έχετε δει σε Mac OS και Windows για χρόνια, 378 00:17:26,680 --> 00:17:30,329 Είναι ένα διαχωριστικό μεταξύ ενός καταλόγου ή το φάκελο και το υπόλοιπο κάποιο όνομα. 379 00:17:30,329 --> 00:17:32,620 Στα Windows αυτό συμβαίνει για να πάει προς τα πίσω, στο Linux και Mac 380 00:17:32,620 --> 00:17:34,210 OS συμβαίνει να πάει προς τα εμπρός. 381 00:17:34,210 --> 00:17:37,560 Αλλά αυτό είναι ακριβώς το διαχωριστικό, έτσι ώστε να είναι απλά μια πληκτικός συντακτική λεπτομέρεια. 382 00:17:37,560 --> 00:17:40,440 >> Το ζουμερό μέρος του μαθήματος είναι το όνομα του προγράμματος, Hello. 383 00:17:40,440 --> 00:17:42,650 Και αυτό είναι ό, τι κάνουν δημιούργησε για εμάς. 384 00:17:42,650 --> 00:17:44,910 Είναι εξάγεται το αρχείο μας. 385 00:17:44,910 --> 00:17:46,700 Αλλά πώς φτάσαμε σε αυτό το σημείο; 386 00:17:46,700 --> 00:17:48,870 Ας τώρα να ζητήσει από το ερώτημα, τι ήταν στην πραγματικότητα 387 00:17:48,870 --> 00:17:52,470 συμβαίνει εδώ, τουλάχιστον με όσον αφορά ορισμένες από αυτή τη σύνταξη; 388 00:17:52,470 --> 00:17:57,000 >> Έτσι, σε μια φράση ή έτσι, πώς να εξηγήσουμε μακριά 389 00:17:57,000 --> 00:17:59,020 αυτή η πρώτη γραμμή που είναι τονίζεται στο πράσινο; 390 00:17:59,020 --> 00:18:02,998 Ποια ήταν η πρώτη γραμμή κάνει, σε σχέση με το πρόγραμμα μου; 391 00:18:02,998 --> 00:18:03,974 Ναι; 392 00:18:03,974 --> 00:18:05,067 >> ΦΟΙΤΗΤΗΣ: [δεν ακούγεται]. 393 00:18:05,067 --> 00:18:06,150 DAVID MALAN: Πες το ξανά; 394 00:18:06,150 --> 00:18:08,734 ΦΟΙΤΗΤΗΣ: Συμπεριλαμβανομένων και τη λήψη παρελθόν λειτουργίες [δεν ακούγεται]. 395 00:18:08,734 --> 00:18:09,483 DAVID MALAN: Καλή. 396 00:18:09,483 --> 00:18:11,900 Συμπεριλαμβανομένων, εγώ δεν θα πω τη λήψη, αλλά ας πούμε 397 00:18:11,900 --> 00:18:15,500 συμπεριλαμβανομένων και των λειτουργιών που οδηγεί τους ανθρώπους έχουν γράψει στο παρελθόν. 398 00:18:15,500 --> 00:18:18,260 Και αυτές οι λειτουργίες υλοποιούνται κάπου στον υπολογιστή μου. 399 00:18:18,260 --> 00:18:20,470 Κάποιος έγραψε ένα αρχείο χρόνια πριν, και ότι το αρχείο 400 00:18:20,470 --> 00:18:23,490 είναι κάπου στο εσωτερικό του CS50 συσκευής ή στο σκληρό δίσκο μου 401 00:18:23,490 --> 00:18:24,480 γενικότερα. 402 00:18:24,480 --> 00:18:27,810 Και έτσι αυτή η γραμμή ουσιαστικά λέει, πηγαίνετε να βρείτε το αρχείο, πρότυπο I / O dot 403 00:18:27,810 --> 00:18:31,740 h, και αντιγραφή και επικόλληση του περιεχομένου της εδώ στην κορυφή του αρχείου μου 404 00:18:31,740 --> 00:18:33,860 έτσι ώστε να μην χρειάζεται να το κάνουμε αυτό με το χέρι μου. 405 00:18:33,860 --> 00:18:40,970 >> Και μεταξύ των juiciest κομμάτια στο εσωτερικό της ότι το αρχείο που ισχυρίστηκε ήταν ποια λειτουργία; 406 00:18:40,970 --> 00:18:45,740 Ποια ήταν η λειτουργία λέμε κηρύχθηκε ή αναφέρονται σε standard I / O dot h 407 00:18:45,740 --> 00:18:47,120 πιο πιθανό; 408 00:18:47,120 --> 00:18:47,900 Printf, σωστά; 409 00:18:47,900 --> 00:18:50,797 Εμείς δεν γράφουν printf για Κυριακή, απλά υπήρχε. 410 00:18:50,797 --> 00:18:52,880 Μοιάζει πολύ με Αλάνα απλά ήρθε επάνω στη σκηνή και αυτή ακριβώς 411 00:18:52,880 --> 00:18:55,540 υπήρχαν και ήξερε πώς να συντάξει κάτι στην οθόνη, 412 00:18:55,540 --> 00:18:58,660 έτσι δεν υπάρχει printf για πολλά χρόνια. 413 00:18:58,660 --> 00:19:00,240 Και έτσι αυτό είναι το πώς θα έχει πρόσβαση. 414 00:19:00,240 --> 00:19:03,280 Τώρα, αν προχωρήσουμε εδώ, κύριος ήταν ανάλογη μας 415 00:19:03,280 --> 00:19:06,620 είπε στο κομμάτι του παζλ καλείται όταν πατηθεί πράσινη σημαία 416 00:19:06,620 --> 00:19:07,620 στον κόσμο του Scratch. 417 00:19:07,620 --> 00:19:10,130 Είναι ακριβώς το είδος του προεπιλεγμένο όνομα που οι άνθρωποι 418 00:19:10,130 --> 00:19:13,340 αποφάσισε να αντιπροσωπεύουν το προεπιλεγμένο σημείο εισόδου σε ένα πρόγραμμα. 419 00:19:13,340 --> 00:19:16,540 Το κομμάτι του κώδικα προγραμματισμού ότι παίρνει εκτελείται για πρώτη φορά. 420 00:19:16,540 --> 00:19:19,700 >> Εν τω μεταξύ, αυτά τα άγκιστρα είναι κάτι σαν το καμπύλο σχήμα 421 00:19:19,700 --> 00:19:21,410 από πολλές από αυτές τις κίτρινες μηδέν κομμάτια. 422 00:19:21,410 --> 00:19:24,860 Είναι το είδος των εμπεριέχουν μια ολόκληρη δέσμη των οδηγιών μαζί. 423 00:19:24,860 --> 00:19:28,350 Γι 'αυτό ακριβώς το είδος της συνδέει κάποια σχετική λειτουργικότητα. 424 00:19:28,350 --> 00:19:33,750 printf φυσικά είναι μια λειτουργία που Εκτυπώνει την οθόνη, όπως ακριβώς έκαναν. 425 00:19:33,750 --> 00:19:35,190 >> Τι γίνεται με αυτές τις παρενθέσεις; 426 00:19:35,190 --> 00:19:38,770 Πώς θα define-- ακόμα κι αν έχετε ποτέ προγραμματιστεί πριν, αλλά βασίζεται μόνο 427 00:19:38,770 --> 00:19:41,320 τώρα σε μια αύξηση ελπίζω διαίσθηση, τι 428 00:19:41,320 --> 00:19:43,290 οι παρενθέσεις κάνουν για μας εδώ; 429 00:19:43,290 --> 00:19:45,450 Ή τι είναι αυτό που περιβάλλει; 430 00:19:45,450 --> 00:19:46,360 Ναι; 431 00:19:46,360 --> 00:19:49,360 >> ΦΟΙΤΗΤΗΣ: Λένε ό, τι θα πάμε για να εκτυπώσετε με printf. 432 00:19:49,360 --> 00:19:52,401 >> DAVID MALAN: Ναι, λένε ό, τι θα πάμε για να εκτυπώσετε με printf. 433 00:19:52,401 --> 00:19:56,260 Ή γενικότερα, είναι γύρω από τις εισόδους στη λειτουργία. 434 00:19:56,260 --> 00:19:58,530 Έτσι, μπορείτε σχεδόν να σκεφτείτε των εν λόγω παρενθέσεις 435 00:19:58,530 --> 00:20:01,620 ως σαν το μέταλλο κλιπ για αυτό το πρόχειρο. 436 00:20:01,620 --> 00:20:05,940 Είναι αυτό που κρατάει, είναι ό, τι είναι πρόκειται να χρησιμοποιηθεί για να παρέχει επιχειρήματα 437 00:20:05,940 --> 00:20:08,500 σε λειτουργία, η οποία σε αυτή την περίπτωση ονομάζεται printf. 438 00:20:08,500 --> 00:20:12,390 >> Έτσι, σε γενικές γραμμές σχεδόν κάθε φορά καλούμε μια συνάρτηση, 439 00:20:12,390 --> 00:20:14,280 πρόκειται να δούμε ένα ζευγάρι παρενθέσεων. 440 00:20:14,280 --> 00:20:17,000 Ίσως κάτι σε αυτό, όπως τώρα, ίσως και τίποτα σε αυτό. 441 00:20:17,000 --> 00:20:19,770 Αλλά αυτό είναι όπου θα βάλετε οι είσοδοι ή των λεγόμενων επιχειρήματα 442 00:20:19,770 --> 00:20:20,680 σε μια λειτουργία. 443 00:20:20,680 --> 00:20:22,470 >> Εδώ είναι ένα τέτοιο επιχείρημα. 444 00:20:22,470 --> 00:20:24,467 Έχω τόνισε πάντα ανάμεσα στα εισαγωγικά, 445 00:20:24,467 --> 00:20:26,300 επειδή αποδεικνύεται σε αυτή τη γλώσσα που ονομάζεται 446 00:20:26,300 --> 00:20:29,950 C, όταν θέλετε να αντιπροσωπεύουν ένα string-- ότι είναι μια λέξη ή μια φράση 447 00:20:29,950 --> 00:20:33,470 ή ακόμα και ένα paragraph-- θα πρέπει να περιβάλλουν με διπλά εισαγωγικά. 448 00:20:33,470 --> 00:20:35,420 Δεν μονά εισαγωγικά, διπλά εισαγωγικά. 449 00:20:35,420 --> 00:20:37,460 Και αυτό είναι ακριβώς ό, τι έχω κάνει εδώ. 450 00:20:37,460 --> 00:20:39,900 >> Εν τω μεταξύ, υπάρχει μια funky σύμβολο προς το τέλος εκεί. 451 00:20:39,900 --> 00:20:41,600 Το backslash n. 452 00:20:41,600 --> 00:20:43,460 Τι μπορούμε να πούμε ότι εκπροσωπούνται; 453 00:20:43,460 --> 00:20:44,093 Ναι; 454 00:20:44,093 --> 00:20:44,980 >> ΦΟΙΤΗΤΗΣ: Μια νέα γραμμή. 455 00:20:44,980 --> 00:20:45,896 >> DAVID MALAN: Νέα γραμμή. 456 00:20:45,896 --> 00:20:47,910 Δεξιά, δεν το κάνετε γενικά πατήστε Enter όταν 457 00:20:47,910 --> 00:20:50,430 θέλετε το πρόγραμμα να φτύσει μια νέα γραμμή. 458 00:20:50,430 --> 00:20:54,210 Μάλλον θα το πω ρητά με αυτήν την ομολογουμένως απόκρυφες κομμάτι 459 00:20:54,210 --> 00:20:58,770 της σύνταξης, backslash n, ότι θέλετε μια νέα γραμμή για να πάει εκεί. 460 00:20:58,770 --> 00:20:59,810 Τέλος, η άνω τελεία. 461 00:20:59,810 --> 00:21:01,560 Δεν είχαμε πραγματικά να μιλήσω πάρα πολύ γι 'αυτό, 462 00:21:01,560 --> 00:21:04,893 και τώρα αυτό θα είναι ο όλεθρος των μερικών της ύπαρξής σας για το πρώτο πρόβλημα 463 00:21:04,893 --> 00:21:07,990 που, όταν μπορείτε απλά απέτυχε να συνειδητοποιήσει έχετε ξεχάσει κάτι τόσο ηλίθιο 464 00:21:07,990 --> 00:21:08,614 ως ένα ερωτηματικό. 465 00:21:08,614 --> 00:21:11,600 Και γενικά βάζοντας Θα υπάρχει διορθώσετε αυτό το πρόβλημα. 466 00:21:11,600 --> 00:21:13,511 Αλλά τι είναι αυτό που κάνει για μας, θα λέγατε; 467 00:21:13,511 --> 00:21:15,670 >> ΦΟΙΤΗΤΗΣ: [δεν ακούγεται]. 468 00:21:15,670 --> 00:21:17,484 >> DAVID MALAN: Συγγνώμη; 469 00:21:17,484 --> 00:21:18,532 >> ΦΟΙΤΗΤΗΣ: [δεν ακούγεται]. 470 00:21:18,532 --> 00:21:19,990 DAVID MALAN: Τελειώνοντας μια δήλωση. 471 00:21:19,990 --> 00:21:22,770 Είναι κάπως σαν την περίοδο σε το τέλος του μια αγγλική φράση, 472 00:21:22,770 --> 00:21:25,790 ενώ σε αυτή τη γλώσσα C που είναι τελειώνει μια δήλωση. 473 00:21:25,790 --> 00:21:29,250 Η διδασκαλία του προγραμματισμού κώδικα που απλά θέλετε να πείτε, 474 00:21:29,250 --> 00:21:30,500 Είμαι κάνει με αυτό. 475 00:21:30,500 --> 00:21:32,240 Τώρα παρατηρήσετε ότι είναι ο μόνος εδώ. 476 00:21:32,240 --> 00:21:34,614 Έτσι δεν θέλετε να έρθετε σε μια συνήθεια να θέτει ερωτηματικά 477 00:21:34,614 --> 00:21:36,190 μετά από κάθε κλειστή παρένθεση. 478 00:21:36,190 --> 00:21:38,610 Για παράδειγμα, δεν υπάρχει καμία δίπλα στο άκυρη, και θα 479 00:21:38,610 --> 00:21:40,430 επανέλθω στο μέλλον σε ποιο κενό μέσα. 480 00:21:40,430 --> 00:21:44,080 Αλλά σε αυτή την περίπτωση printf σας είναι ένα λειτουργία, ή δήλωση που χρησιμοποιείται, 481 00:21:44,080 --> 00:21:47,420 και έτσι θέλουμε να έχουμε ότι άκρο στο τέλος της. 482 00:21:47,420 --> 00:21:50,980 >> Και είμαι σκόπιμα να πάρει την C. Και ειλικρινά πολλές γλώσσες όπως η C, C ++, 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript, και οποιοδήποτε αριθμό των άλλες γλώσσες έχουν πολλά από αυτά 484 00:21:55,000 --> 00:21:56,730 το είδος των συντακτικών λεπτομέρειες. 485 00:21:56,730 --> 00:22:00,120 Αυτό σίγουρα, αν είστε νέοι στην προγραμματισμός μπορεί να σας ταξίδι πραγματικά επάνω. 486 00:22:00,120 --> 00:22:02,307 Και εσείς θα σηματοδοτήσει μου λόγια, κάποιοι από εσάς θα 487 00:22:02,307 --> 00:22:04,140 έχουν αυτή την εμπειρία σε ώρες γραφείου ή αργά 488 00:22:04,140 --> 00:22:07,554 τη νύχτα εργάζονται για κάποιο p-set, όπου καταραμένο πρόγραμμα σας απλά δεν συγκεντρώνουν, 489 00:22:07,554 --> 00:22:09,470 δεν τρέχει, έχετε καμία ιδέα για το τι είναι λάθος, 490 00:22:09,470 --> 00:22:11,513 φαίνεται εντελώς λογικά σωστή για σας. 491 00:22:11,513 --> 00:22:13,596 Και αυτό συμβαίνει γιατί έχετε ξεχάσει κάτι σαν χτύπημα 492 00:22:13,596 --> 00:22:15,250 ένα ερωτηματικό στο τέλος κάποιας γραμμής. 493 00:22:15,250 --> 00:22:17,590 >> Αλλά αυτά είναι τα είδη των πραγμάτων είστε Θα μάθετε αμέσως να δείτε. 494 00:22:17,590 --> 00:22:20,048 Και πράγματι, αυτά είναι τα πράγματα ότι και TF είναι η Καλιφόρνια έχουν 495 00:22:20,048 --> 00:22:23,210 έχουν το είδος των εκπαιδεύονται για να δείτε πολύ πιο γρήγορα από ό, τι μπορείτε. 496 00:22:23,210 --> 00:22:26,610 Και αυτό είναι μόνο για να πω, όπως σας βουτιά στο πρόβλημα που ειδικά 1, 497 00:22:26,610 --> 00:22:28,217 μην απογοητευτείτε από αυτά τα πράγματα. 498 00:22:28,217 --> 00:22:30,050 Μόλις το είδος του εγκλιματιστεί στον κόσμο, σας 499 00:22:30,050 --> 00:22:35,130 αρχίσετε να βλέπετε τα πράγματα που μπορεί να μην δείτε την πρώτη ματιά αυτή η πρώτη εβδομάδα. 500 00:22:35,130 --> 00:22:37,440 >> Έτσι πηγαίο κώδικα είναι κάτι τέτοιο. 501 00:22:37,440 --> 00:22:40,370 Θέλουμε να το δώσετε σε το λεγόμενο compiler. 502 00:22:40,370 --> 00:22:42,850 Και ότι compiler ως είπαμε παρέχει έξοδο 503 00:22:42,850 --> 00:22:45,660 γνωστή ως αντικειμενικού κώδικα, η λεγόμενες μηδενικά και μονάδες. 504 00:22:45,660 --> 00:22:47,747 Αλλά από εκεί, τι μας δίνουν; 505 00:22:47,747 --> 00:22:49,080 Καλά μας δίνει αυτά τα πρότυπα. 506 00:22:49,080 --> 00:22:52,020 Και πάλι τον υπολογιστή σας, Intel σας μέσα, 507 00:22:52,020 --> 00:22:54,350 καταλαβαίνει αυτά τα πρότυπα από μηδενικά και μονάδες. 508 00:22:54,350 --> 00:22:57,300 Και μερικές φορές το μοτίβο αντιπροσωπεύει ένα πραγματικό δεκαδικό αριθμό 509 00:22:57,300 --> 00:22:59,770 όπως είδαμε την περασμένη εβδομάδα, μερικές φορές αντιπροσωπεύει ένα γράμμα 510 00:22:59,770 --> 00:23:02,730 όπως είδαμε την περασμένη εβδομάδα, μερικές φορές αντιπροσωπεύει μια εντολή, 511 00:23:02,730 --> 00:23:05,460 όπως εκτύπωση κάτι στην οθόνη. 512 00:23:05,460 --> 00:23:08,782 >> Έτσι printf για instance-- αλλά, επιτρέψτε μου προς τα πίσω. 513 00:23:08,782 --> 00:23:11,240 Έχουμε ήδη λάβει ως δεδομένο ότι τα μηδενικά και αυτά είναι 514 00:23:11,240 --> 00:23:14,200 που παράγεται από αυτό το make εντολή. 515 00:23:14,200 --> 00:23:16,050 Αλλά κάνουν δεν είναι ένα compiler. 516 00:23:16,050 --> 00:23:19,370 Κάντε δεν είναι το πράγμα στη μέση αυτό είναι που παράγουν τα μηδενικά και μονάδες. 517 00:23:19,370 --> 00:23:23,780 Αντί να είναι απλά μια πολύ βολική ονομάζεται το πρόγραμμα του οποίου σκοπός στη ζωή 518 00:23:23,780 --> 00:23:27,267 είναι ουσιαστικά να καταλάβω πώς να καταρτίσει το πρόγραμμά σας. 519 00:23:27,267 --> 00:23:29,350 Και εμείς να το χρησιμοποιήσετε σε αυτά πρώτες εβδομάδες, επειδή ακριβώς 520 00:23:29,350 --> 00:23:30,910 μας σώζει πολλά προβλήματα. 521 00:23:30,910 --> 00:23:34,080 >> Αλλά αυτό που κάνει είναι πραγματικά να κάνει κατά τη μεταγλώττιση γεια, 522 00:23:34,080 --> 00:23:36,690 είναι, όπως είπαμε και την προηγούμενη φορά, είναι ψάχνει στο σκληρό σας δίσκο 523 00:23:36,690 --> 00:23:40,620 ή στον τρέχοντα φάκελο, για αρχείο που ονομάζεται τι, προφανώς; 524 00:23:40,620 --> 00:23:41,815 Hello.c, σωστά; 525 00:23:41,815 --> 00:23:43,190 Αυτό είναι ακριβώς το είδος της σύμβασης. 526 00:23:43,190 --> 00:23:45,620 Είναι αυθαίρετο, αλλά αυτός είναι ο τρόπος που τα πράγματα είναι. 527 00:23:45,620 --> 00:23:48,620 Βεβαιωθείτε, αν απλά καθορίσετε το όνομα ενός προγράμματος που δεν υπάρχει ακόμα, 528 00:23:48,620 --> 00:23:52,200 πρόκειται να ψάξουν για τον πηγαίο κώδικα σε ένα αρχείο, εξ ορισμού σημαίνει hello.c. 529 00:23:52,200 --> 00:23:53,530 Και αν διαπιστώσει, μεγάλη. 530 00:23:53,530 --> 00:23:56,650 Είναι πρόκειται να μετατρέψει την πηγή κώδικα σε κώδικα αντικειμένου για εσάς. 531 00:23:56,650 --> 00:23:59,670 >> Αλλά κάθε φορά που έχω να πατήσετε το Enter μετά το τρέξιμο κάνει γεια, 532 00:23:59,670 --> 00:24:03,560 Θυμάστε να δει τελευταία φορά αρκετά μακρύ και αινιγματική ακολουθία 533 00:24:03,560 --> 00:24:06,430 από άλλα λευκά γράμματα και χαρακτήρες στην οθόνη; 534 00:24:06,430 --> 00:24:11,220 Λοιπόν αυτή ήταν η πραγματική εντολή, η πραγματική compiler, που έτρεχε. 535 00:24:11,220 --> 00:24:15,500 Έτσι, η πραγματική compiler θα χρησιμοποιήσει το μεγαλύτερο μέρος της το εξάμηνο είναι κάτι που ονομάζεται κλαγγή. 536 00:24:15,500 --> 00:24:19,280 Μερικοί από εσάς μπορεί να χρησιμοποιηθεί Visual Studio πριν, ή GCC, 537 00:24:19,280 --> 00:24:21,340 ή οποιοδήποτε αριθμό άλλων compilers. 538 00:24:21,340 --> 00:24:22,620 Θα χρησιμοποιήσουμε το κουδούνισμα. 539 00:24:22,620 --> 00:24:26,950 >> Και κλαγγή μας επιτρέπει πραγματικά να μετατρέψει ότι ο πηγαίος κώδικας να αντιταχθεί κώδικα. 540 00:24:26,950 --> 00:24:29,430 Τι σημαίνει αυτό στην πραγματικότητα σημαίνει αυτό στην πράξη; 541 00:24:29,430 --> 00:24:33,390 Λοιπόν επιτρέψτε μου να πάω σε ένα από τα φακέλους μου από την τελευταία φορά. 542 00:24:33,390 --> 00:24:35,760 Στο εσωτερικό της συσκευής CS50. 543 00:24:35,760 --> 00:24:42,080 Και επιτρέψτε μου να πάει μπροστά και να δημιουργήσει αυτό ίδιο αρχείο, περιλαμβάνουν πρότυπο I / O dot h. 544 00:24:42,080 --> 00:24:42,875 Int κύρια κενό. 545 00:24:42,875 --> 00:24:46,000 Και θα επανέλθουμε στο μέλλον ως σε ό, τι int μέσα και ποιες κενό μέσα. 546 00:24:46,000 --> 00:24:49,130 Αλλά για τώρα ας κάνουμε hello world backslash n, 547 00:24:49,130 --> 00:24:50,500 ακριβώς όπως κάναμε και στο διοικητικό συμβούλιο. 548 00:24:50,500 --> 00:24:53,930 >> Επιτρέψτε μου να αποθηκεύσετε αυτό το αρχείο ονομάζεται hello.c. 549 00:24:53,930 --> 00:24:58,280 Και τώρα, αν θέλω να συντάξει αυτό I could-- επιτρέψτε μου να zoom in-- τρέξιμο 550 00:24:58,280 --> 00:25:00,450 να γεια εισάγετε. 551 00:25:00,450 --> 00:25:02,645 Και αυτό ήταν και πάλι ότι πολύ αινιγματικό γραμμή. 552 00:25:02,645 --> 00:25:05,120 Αλλά τώρα τουλάχιστον μία λέξη πιθανώς πηδά έξω σε σας. 553 00:25:05,120 --> 00:25:07,087 Clang είναι ότι η γραμμή που είδαμε πριν. 554 00:25:07,087 --> 00:25:10,420 Τώρα υπάρχουν πολλά άλλα πράγματα ειλικρινά ότι θα κύμα τα χέρια μας στο σήμερα. 555 00:25:10,420 --> 00:25:14,020 Αλλά υπάρχουν μερικά υποσύνολα, μερικοί χαρακτήρες εδώ 556 00:25:14,020 --> 00:25:14,907 που παρουσιάζουν ενδιαφέρον. 557 00:25:14,907 --> 00:25:16,490 Αλλά Πάω να πάει μπροστά και να κάνουμε αυτό. 558 00:25:16,490 --> 00:25:18,281 Πάω στην πρώτη εκτέλεση Γεια σας, απλά για να αποδείξει 559 00:25:18,281 --> 00:25:20,320 ότι αυτό λειτουργεί όπως ήταν τη Δευτέρα. 560 00:25:20,320 --> 00:25:22,330 Αλλά τώρα Πάω να διαγράψετε το πρόγραμμα. 561 00:25:22,330 --> 00:25:25,870 Και σαν είχαμε αυτά σύντομα ονόματα για τελευταία φορά, 562 00:25:25,870 --> 00:25:29,787 η εντολή για την απομάκρυνση κάτι που είναι rm, αφαίρεση, εισάγετε. 563 00:25:29,787 --> 00:25:31,870 Θα πάμε για να πάρει κάποια αρκετά αινιγματικά ερωτήματα. 564 00:25:31,870 --> 00:25:35,210 Δύσκολο να πιστέψει κανείς ότι μπορείτε να κάνετε ακόμα και αυτή η ερώτηση είναι δύσκολο να καταλάβει. 565 00:25:35,210 --> 00:25:38,100 Αλλά αφαιρέσετε τακτική γεια αρχείο μόνο μέσα θέλετε να διαγράψετε ένα γεια. 566 00:25:38,100 --> 00:25:42,650 >> Και μπορώ να πάω μπροστά και πληκτρολογήστε y για ναι, Enter, και τώρα θα φύγει. 567 00:25:42,650 --> 00:25:45,130 Τι σημαίνει αυτό τώρα, αν μπορώ να σβήσω την οθόνη μου, 568 00:25:45,130 --> 00:25:47,301 είναι ότι αντί κάνει να hello-- σας 569 00:25:47,301 --> 00:25:48,800 ξέρετε τι, είμαι πάρει καλή σε αυτό. 570 00:25:48,800 --> 00:25:50,690 Πάω να τρέξει ο ίδιος τον compiler. 571 00:25:50,690 --> 00:25:53,330 Δεν χρειάζεται κάποιο πρόγραμμα για να καταλάβω τι αρχείο μου ονομάζεται. 572 00:25:53,330 --> 00:25:55,370 Έγραψα hello.c, I ξέρω τι λέγεται, 573 00:25:55,370 --> 00:25:57,640 Είμαι σαφώς σε θέση να πληκτρολογήσετε αυτό. 574 00:25:57,640 --> 00:26:02,620 Έτσι, Πάω να πάει μπροστά και δεν κλαγγή hello.c Enter. 575 00:26:02,620 --> 00:26:03,264 >> Φαίνεται να λειτουργεί. 576 00:26:03,264 --> 00:26:05,930 Και δεν υπάρχει κανένα πρόσθετο έξοδο, γιατί κλαγγή είναι ο compiler. 577 00:26:05,930 --> 00:26:08,590 Είναι αυτό που είναι η μετατροπή πηγαίο κώδικα σε μηδενικά και μονάδες. 578 00:26:08,590 --> 00:26:12,870 Έτσι, αν το κάνω τώρα dot κάθετο γεια Enter, hm. 579 00:26:12,870 --> 00:26:14,630 Νέο μήνυμα σφάλματος σήμερα. 580 00:26:14,630 --> 00:26:17,610 Έτσι bash είναι μόνο το όνομα του αναβοσβήνει εντολών που χρησιμοποιείτε. 581 00:26:17,610 --> 00:26:20,360 Αυτή είναι μια πρόχειρη υπεραπλούστευση, αλλά για τώρα που είναι όλα αυτά είναι, 582 00:26:20,360 --> 00:26:21,401 είναι η προτροπή που αναβοσβήνει. 583 00:26:21,401 --> 00:26:22,880 Και γι 'αυτό φωνάζει σε μας. 584 00:26:22,880 --> 00:26:25,690 >> Δεν υπάρχει τέτοιο αρχείο ή κατάλογος είναι λίγο πιο απλή. 585 00:26:25,690 --> 00:26:28,190 Αλλά σίγουρα έχω κάνει αυτόν τον κώδικα αντικειμένου. 586 00:26:28,190 --> 00:26:30,930 Αλλά η σύλληψη είναι, ότι αν πληκτρολογήσετε την εντολή 587 00:26:30,930 --> 00:26:34,650 για να δείτε τα περιεχόμενα αυτής της κατάλογο, η οποία είναι ό, τι; 588 00:26:34,650 --> 00:26:36,210 ls για τη λίστα. 589 00:26:36,210 --> 00:26:39,332 Υπάρχουν ένα σωρό πράγματα εδώ, μερικά από τα οποία ήρθε με τη συσκευή, 590 00:26:39,332 --> 00:26:42,040 όπως το φάκελο Desktop μου, Λήψεις φάκελο, φάκελο Dropbox, και όλες 591 00:26:42,040 --> 00:26:42,850 αυτά τα πράγματα. 592 00:26:42,850 --> 00:26:45,410 Αλλά αυτό που είναι ενδιαφέρον είναι hello.c, η οποία 593 00:26:45,410 --> 00:26:47,286 I δημιουργήθηκε πριν από ένα χρόνο με το gedit. 594 00:26:47,286 --> 00:26:49,160 Και ποιο είναι το πιο περίεργο αναζητούν όνομα εδώ, 595 00:26:49,160 --> 00:26:53,110 ίσως γιατί δεν το έκανε δείτε την τελευταία φορά σε όλα; 596 00:26:53,110 --> 00:26:54,710 >> a.out, σωστά; 597 00:26:54,710 --> 00:26:56,920 Έτσι, πίσω στην ημέρα, το ήταν μόλις αποφάσισε ότι, όταν 598 00:26:56,920 --> 00:26:58,760 θα καταρτίσει ένα πρόγραμμα για πρώτη φορά, 599 00:26:58,760 --> 00:27:02,360 και δεν καθορίσετε το όνομα ενός αρχείου, ας το call. 600 00:27:02,360 --> 00:27:05,800 Και a.out σημαίνει ακριβώς αυτό ήταν η έξοδος του μεταγλωττιστή. 601 00:27:05,800 --> 00:27:07,790 Έτσι, αυτό είναι ένα φρικτό όνομα για ένα πρόγραμμα. 602 00:27:07,790 --> 00:27:12,820 Αλλά με αυτή τη λογική, dot κάθετος για τρέχοντα κατάλογο, κάθετο a.out, 603 00:27:12,820 --> 00:27:16,102 θα πρέπει να σημαίνει ότι δεν υπάρχει στην πραγματικότητα μου hello world πρόγραμμα. 604 00:27:16,102 --> 00:27:17,560 Τώρα, μια μικρή προθέρμανση άσκηση, πάρα πολύ. 605 00:27:17,560 --> 00:27:20,420 Αν θέλετε να μετονομάσετε αυτό αρχείο, αποδεικνύεται ότι 606 00:27:20,420 --> 00:27:23,000 μετακινήσετε ένα αρχείο από ένα όνομα στο άλλο. 607 00:27:23,000 --> 00:27:28,750 Έτσι mv a.out, και στη συνέχεια θα μπορείτε να καλέσετε γεια Enter. 608 00:27:28,750 --> 00:27:30,940 Έτσι, αυτό είναι μια εντολή Linux. 609 00:27:30,940 --> 00:27:34,370 DOS είχε εδώ και χρόνια, Τα Windows διαθέτουν ένα παράθυρο τερματικού 610 00:27:34,370 --> 00:27:36,460 από κάποιο είδος που μοιάζει όπως αυτή, Linux και Mac 611 00:27:36,460 --> 00:27:38,140 υπολογιστές έχουν αυτή αναβοσβήνει γραμμή. 612 00:27:38,140 --> 00:27:41,490 Ακόμα κι αν οι περισσότεροι από εμάς ίσως σπάνια, αν όχι ποτέ, να το χρησιμοποιήσετε. 613 00:27:41,490 --> 00:27:44,590 >> Ό, τι έχω κάνει, αλλά εκτελείται μια προγράμματος, του οποίου το όνομα είναι mv, 614 00:27:44,590 --> 00:27:47,900 και έχω παρέχονται με δύο επιχειρήματα, να το πω έτσι. 615 00:27:47,900 --> 00:27:48,630 Δύο είσοδοι. 616 00:27:48,630 --> 00:27:50,260 a.out είναι το αρχικό όνομα. 617 00:27:50,260 --> 00:27:51,630 Γεια σας είναι το νέο όνομα. 618 00:27:51,630 --> 00:27:55,670 Έτσι, αν κάνω τώρα dot κάθετος Γεια σας, Enter, ότι υπάρχει. 619 00:27:55,670 --> 00:28:00,770 Και αν κάνω dot κάθετος a.out, τι περιμένεις πρέπει να δω; 620 00:28:00,770 --> 00:28:02,250 >> Bash, δεν υπάρχει τέτοιο αρχείο ή κατάλογος. 621 00:28:02,250 --> 00:28:03,350 Επειδή ακριβώς μετονομαστεί. 622 00:28:03,350 --> 00:28:04,975 Έτσι, αυτό παίρνει ένα κομμάτι της να συνηθίσει. 623 00:28:04,975 --> 00:28:06,977 Αλλά το πρόβλημα που 1 προδιαγραφή πραγματικά θα 624 00:28:06,977 --> 00:28:08,810 κρατήστε το χέρι σας μέσα μέρος αυτής της minutae. 625 00:28:08,810 --> 00:28:11,050 Επειδή αυτό είναι ένα πλήρες διανοητική απόσπαση της προσοχής 626 00:28:11,050 --> 00:28:12,966 από την πιο ενδιαφέρουσα ιδέες στο χέρι, το οποίο 627 00:28:12,966 --> 00:28:15,310 είναι στην πραγματικότητα η δημιουργία κάτι έξω από τον κωδικό. 628 00:28:15,310 --> 00:28:18,830 Αλλά ας κάνουμε μια τροποποίηση τώρα σε αυτό το πρόγραμμα. 629 00:28:18,830 --> 00:28:23,150 >> Υπενθυμίζεται ότι η τελευταία φορά που έκανα κάτι όπως αυτό, αναφέρει printf όνομά σας. 630 00:28:23,150 --> 00:28:25,790 Και πράγματι κάναμε ακριβώς αυτό στη μεγάλη οθόνη εκεί. 631 00:28:25,790 --> 00:28:30,640 Και τότε έκανα κορδόνι s παίρνει GetString ανοιχτή παρένθ, κοντά paren. 632 00:28:30,640 --> 00:28:33,430 Και paren μόνο στενογραφία σημειογραφία για την παρένθεση. 633 00:28:33,430 --> 00:28:36,460 Έτσι δεν GetString λάβει όλα τα επιχειρήματα; 634 00:28:36,460 --> 00:28:38,440 Δεν υπάρχουν είσοδοι όχι, αλλά χρειάζεται τις παρενθέσεις, 635 00:28:38,440 --> 00:28:41,830 γιατί αυτό είναι που οριοθετεί η κλήση της συνάρτησης. 636 00:28:41,830 --> 00:28:46,440 >> Έτσι, Πάω να πάει μπροστά και να προσπαθήσουμε να εκτελέστε τον compiler σε αυτό το πρόγραμμα τώρα. 637 00:28:46,440 --> 00:28:50,774 Κλαγγή hello.c, γιατί δεν είχε αλλάξει το όνομά της για τώρα. 638 00:28:50,774 --> 00:28:51,940 Και πήρα ένα σωρό λάθη. 639 00:28:51,940 --> 00:28:53,570 Ας σμίκρυνση εδώ. 640 00:28:53,570 --> 00:28:55,420 Αν μετακινηθείτε προς τα επάνω και πάλι, όπως είπα και την προηγούμενη φορά, 641 00:28:55,420 --> 00:28:58,420 στο πρώτο, το ίδιο σφάλμα ότι πήρα την τελευταία φορά. 642 00:28:58,420 --> 00:29:04,210 On line 6 του hello.c είχα μια αδήλωτης κορδόνι αναγνωριστικό, 643 00:29:04,210 --> 00:29:05,590 δεν εννοώ πρότυπο; 644 00:29:05,590 --> 00:29:06,750 Δεν το έκανα. 645 00:29:06,750 --> 00:29:10,050 Διότι ποιο το λάθος έχω κάνει σε αυτό το πρόγραμμα, αν θυμηθούμε από την τελευταία φορά; 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 Ναι, χρειαζόμαστε το λεγόμενη ρόδες 648 00:29:15,010 --> 00:29:16,510 ότι θα χρησιμοποιήσει μόνο για λίγες εβδομάδες. 649 00:29:16,510 --> 00:29:19,480 Αλλά πρέπει να διευκρινιστεί ότι, επίσης, κάπου στο εσωτερικό της συσκευής, 650 00:29:19,480 --> 00:29:22,720 είναι ένα αρχείο που γράψαμε μόλις πριν από λίγα χρόνια. 651 00:29:22,720 --> 00:29:26,500 Μέσα από τις οποίες είναι συναρτήσεις όπως προφανώς GetString. 652 00:29:26,500 --> 00:29:35,160 Έτσι τώρα, αν πάω πίσω εδώ, μεγέθυνση, και επαναληπτικές κλαγγή hello.c. 653 00:29:35,160 --> 00:29:36,500 Γαμώτο, ένα άλλο λάθος. 654 00:29:36,500 --> 00:29:38,590 Αλλά δεν έχουμε δει αυτό πριν. 655 00:29:38,590 --> 00:29:41,900 >> Αυτό και μόνο είναι λίγο πιο απόκρυφα για να καταλάβω. 656 00:29:41,900 --> 00:29:46,910 Αλλά αυτό είναι σκόπιμα στην οθόνη, γιατί θέλαμε να πω αυτή την ιστορία. 657 00:29:46,910 --> 00:29:51,280 Κατά τη μεταγλώττιση hello.c, όπως ακριβώς η εικόνα από πριν προταθεί, 658 00:29:51,280 --> 00:29:54,650 είστε μόνο να μετατρέψει την πηγαίο κώδικα σε μηδενικά και μονάδες. 659 00:29:54,650 --> 00:30:00,340 Τώρα προσωπικό CS50 πριν από λίγα χρόνια έγραψε CS50.h, και ένα αντίστοιχο αρχείο, 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 Και εμείς, πριν από μερικά χρόνια, καταρτίζονται τα αρχεία 662 00:30:04,490 --> 00:30:07,290 σε ένα αρχείο που συμβαίνει να ονομάζεται CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> Ή μπορεί να μετονομαστεί ένας μερικά διαφορετικά πράγματα. 664 00:30:09,180 --> 00:30:11,054 Αλλά αυτό είναι ένας απλός τρόπος σκέψης σχετικά με αυτό. 665 00:30:11,054 --> 00:30:14,960 Γι 'αυτό και συγκεντρώνονται CS50 του βιβλιοθήκη σε μηδενικά και μονάδες. 666 00:30:14,960 --> 00:30:20,340 Αλλά πουθενά δεν έχω καθορίζεται ότι θέλω να συνδυάσουν μηδενικά μου 667 00:30:20,340 --> 00:30:24,030 και αυτά για hello world μου πρόγραμμα με τα μηδενικά και μονάδες 668 00:30:24,030 --> 00:30:29,760 ότι το προσωπικό CS50 δημιουργήθηκε λίγα χρόνια πριν σε ένα πλήρες πρόγραμμα. 669 00:30:29,760 --> 00:30:34,100 Το μόνο που έχετε καθορίσει με γραπτή κλαγγή hello.c είναι καταρτίζουν hello.c. 670 00:30:34,100 --> 00:30:38,380 >> Δεν έχω πει κλαγγή να σύνδεσμο στα μηδενικά και μονάδες 671 00:30:38,380 --> 00:30:41,650 ότι το προσωπικό CS50 δημιουργήθηκε για σας πριν από λίγο καιρό. 672 00:30:41,650 --> 00:30:48,280 Έτσι είναι μια εύκολη αποτύπωση, παύλα l για σύνδεση, CS50. 673 00:30:48,280 --> 00:30:52,600 Και θα δούμε και πάλι αυτό πριν από καιρό ξανά και ξανά. 674 00:30:52,600 --> 00:30:54,420 Να σημειωθεί όμως τώρα δεν υπήρχε κανένα παράπονο. 675 00:30:54,420 --> 00:30:59,770 Έτσι τώρα, αν Τρέχω dot κάθετος Γεια σας, τώρα δουλεύει. 676 00:30:59,770 --> 00:31:03,840 Αν και αυτό είναι λίγο παραπλανητικό δεδομένου ότι μόνο ανασυνταχθεί ποιο αρχείο; 677 00:31:03,840 --> 00:31:05,880 a.out. 678 00:31:05,880 --> 00:31:07,930 >> Έτσι, επιτρέψτε μου προς τα πίσω για μια στιγμή. 679 00:31:07,930 --> 00:31:10,900 Το πρόγραμμα που μόλις καταρτίζονται έχει τις τρεις γραμμές κώδικα. 680 00:31:10,900 --> 00:31:14,710 Όταν έτρεξα hello world, γειά σου μια στιγμή Πριν, δεν είδα να αναφέρει το όνομά σας. 681 00:31:14,710 --> 00:31:17,080 Και αυτό γιατί έτρεξα το παλιά έκδοση του προγράμματος. 682 00:31:17,080 --> 00:31:22,700 Αλλά αν όντως τρέχει dot κάθετος a.out Εισάγετε, αναφέρετε το όνομά σας, Rob, γεια σου, 683 00:31:22,700 --> 00:31:23,370 κόσμο. 684 00:31:23,370 --> 00:31:23,870 Χμ. 685 00:31:23,870 --> 00:31:26,110 Αυτό είναι το είδος της ένα bug. 686 00:31:26,110 --> 00:31:28,560 Μάλλον ήθελε να πει ο Rob, σωστά; 687 00:31:28,560 --> 00:31:30,997 Έτσι ποια είναι η λύση εδώ στον κώδικα. 688 00:31:30,997 --> 00:31:31,872 ΦΟΙΤΗΤΗΣ: [δεν ακούγεται]. 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID MALAN: Ακριβώς. 691 00:31:39,290 --> 00:31:43,160 Γι 'αυτό ακριβώς πρέπει να κάνουμε αυτή την τελική τσίμπημα έτσι ώστε να περνάω σε ένα σύμβολο κράτησης θέσης, 692 00:31:43,160 --> 00:31:45,690 σαν συμπληρώστε το κενό, όπως κάναμε πριν από λίγο. 693 00:31:45,690 --> 00:31:47,870 Αλλά τοις εκατό s είναι τώρα ότι συμπληρώστε το κενό. 694 00:31:47,870 --> 00:31:52,100 Έτσι, τέλος, ας αποκαλύψει μια τελευταία λεπτομέρεια, έτσι ώστε δεν υπάρχει καμία μαγική. 695 00:31:52,100 --> 00:31:54,090 Πάω να πάει μπροστά και να απαλλαγούμε από hellow. 696 00:31:54,090 --> 00:31:56,070 Πάω να πάει μπροστά και να απαλλαγούμε από a.out. 697 00:31:56,070 --> 00:31:58,410 Μέχρι τώρα δεν έχω προγράμματα, μόλις μου τον πηγαίο κώδικα. 698 00:31:58,410 --> 00:32:01,100 Και Πάω να τρέξει ένα ελαφρώς μεγαλύτερη εντολή, κλαγγή 699 00:32:01,100 --> 00:32:05,650 παύλα o γεια hello.c παύλα LCS50. 700 00:32:05,650 --> 00:32:08,700 >> Τώρα αυτό έχει αρχίσει να ταξινομήσετε του πάει το ένα αυτί και από την άλλη ίσως. 701 00:32:08,700 --> 00:32:10,366 Αλλά μόλις πειράζω χώρια τι κάνει αυτό. 702 00:32:10,366 --> 00:32:14,910 Clang είναι ο compiler, παύλα LCS50 σκόπιμα στο τέλος 703 00:32:14,910 --> 00:32:18,330 κάνει ό, τι σε μια πρόταση; 704 00:32:18,330 --> 00:32:19,607 Σύνδεση με τη βιβλιοθήκη CS50. 705 00:32:19,607 --> 00:32:21,440 Αρπάζει τα μηδενικά και αυτά που το προσωπικό έκανε 706 00:32:21,440 --> 00:32:23,310 και να τους στριμώχνει στο δικό μου πρόγραμμα. 707 00:32:23,310 --> 00:32:27,040 Έτσι, η τελευταία ερώτηση στο χέρι είναι, τι είναι η παύλα o γεια πιθανώς 708 00:32:27,040 --> 00:32:30,530 κάνει, ακόμα και αν έχετε ποτέ δει αυτή τη σύνταξη πριν; 709 00:32:30,530 --> 00:32:34,920 >> Outputting ένα πρόγραμμα που είναι δεν κατονομάζονται την προεπιλεγμένη a.out. 710 00:32:34,920 --> 00:32:37,330 Μάλλον αυτό είναι το όνομα γεια. 711 00:32:37,330 --> 00:32:39,460 Μέχρι τώρα δεν υπάρχει καμία a.out. 712 00:32:39,460 --> 00:32:42,660 Δεν υπάρχει τέτοιο αρχείο ή κατάλογος, γιατί είπα ρητά 713 00:32:42,660 --> 00:32:46,720 καλέσετε αυτό το πρόγραμμα γεια, έτσι ώστε να Μπορώ τώρα να πληκτρολογήσετε ένα όνομα όπως αυτό 714 00:32:46,720 --> 00:32:47,790 και να συμπεριφέρονται. 715 00:32:47,790 --> 00:32:50,180 >> Τώρα ειλικρινά, αγόρι είναι ότι πληκτικός να έχουν 716 00:32:50,180 --> 00:32:52,170 να θυμόμαστε όλοι ότι λίγο λεπτομέρειας, σωστά; 717 00:32:52,170 --> 00:32:54,180 Ας πάμε μπροστά και να να απαλλαγούμε από ένα γεια και πάλι. 718 00:32:54,180 --> 00:32:57,880 Και ας επιστρέψουμε τώρα σε έναν κόσμο το οποίο αρκεί για να πω ένα γεια κάνει. 719 00:32:57,880 --> 00:33:00,410 Αλλά αυτή είναι η μαγεία που να κάνει για σας, 720 00:33:00,410 --> 00:33:02,320 ότι είναι η ανία, ότι το κάνει για σας. 721 00:33:02,320 --> 00:33:04,630 Και όπως τα προγράμματα μας και προβλήματα να πάρει πιο σύνθετες, 722 00:33:04,630 --> 00:33:06,142 κάνει θα είναι πραγματικά φίλος σου. 723 00:33:06,142 --> 00:33:07,850 Επειδή δεν είναι πολύ καιρό από τώρα θα πάμε 724 00:33:07,850 --> 00:33:11,150 να έχουν τα προγράμματα που είναι γραμμένα όχι με ένα αρχείο, αλλά πολλά αρχεία, 725 00:33:11,150 --> 00:33:16,310 και να κάνουν θα αυτοματοποιήσει τη διαδικασία της κατάρτιση όλα αυτά για εμάς μαζί. 726 00:33:16,310 --> 00:33:20,620 >> Έτσι τώρα να εκτυπώσετε. 727 00:33:20,620 --> 00:33:24,960 printf είναι μέσα από αυτό το αρχείο, πρότυπο I / O dot h, που έχουμε δει στο παρελθόν, 728 00:33:24,960 --> 00:33:26,980 αλλά υπάρχει περισσότερο για να printf από αυτό. 729 00:33:26,980 --> 00:33:30,482 Υπάρχει backslash n, αλλά υπάρχει επίσης ένα σωρό άλλες ακολουθίες διαφυγής. 730 00:33:30,482 --> 00:33:32,940 Και ακολουθία διαφυγής είναι μόνο ένα φανταχτερό τρόπο λέγοντας κάτι 731 00:33:32,940 --> 00:33:35,990 που ξεκινά με μια ανάστροφη κάθετο, δεν είναι μια κάθετος, μια ανάστροφη κάθετο, 732 00:33:35,990 --> 00:33:37,920 και κάνει κάποια ειδική πράγμα. 733 00:33:37,920 --> 00:33:43,770 Και εμείς δεν θα σταθώ στις περισσότερες από αυτές, αλλά γιατί είναι backslash υπάρχουν διπλά εισαγωγικά, 734 00:33:43,770 --> 00:33:44,830 νομίζεις; 735 00:33:44,830 --> 00:33:48,010 Γιατί είναι αυτό το παράξενο ακολουθία υπάρχει χαρακτήρες, backslash διπλά εισαγωγικά, 736 00:33:48,010 --> 00:33:50,505 γιατί θα μπορούσε να είναι χρήσιμο; 737 00:33:50,505 --> 00:33:51,380 ΦΟΙΤΗΤΗΣ: [δεν ακούγεται]. 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID MALAN: Ακριβώς, σωστά; 740 00:33:57,760 --> 00:34:01,830 Σκεφτείτε πίσω στο hello world πρόγραμμα μας ότι έχουμε δει αρκετές φορές μέχρι τώρα, 741 00:34:01,830 --> 00:34:05,880 κάθε φορά που έχουμε δει ότι ο κόσμος γεια το πρόγραμμα που είχαμε διπλά εισαγωγικά μέσα 742 00:34:05,880 --> 00:34:08,210 των οποίων είναι γειά σου κόμμα κόσμο backslash n. 743 00:34:08,210 --> 00:34:10,070 Αλλά σκεφτείτε τον εαυτό σας, τι αν πραγματικά 744 00:34:10,070 --> 00:34:12,520 ήθελε να εκτυπώσετε ένα σημάδι εισαγωγικά; 745 00:34:12,520 --> 00:34:16,100 Το πρώτο ένστικτό σας μπορεί να είναι, εγώ δεν κάνω ξέρω γιατί ίσως να θέλετε να do-- εδώ, 746 00:34:16,100 --> 00:34:18,780 μπορούμε να είμαστε λίγο παθητικός επιθετική, γειά σου φίλος. 747 00:34:18,780 --> 00:34:21,350 Θα μπορούσαμε να θέλουμε να κάνουμε κάτι τέτοιο. 748 00:34:21,350 --> 00:34:25,230 >> Αλλά γιατί είναι αυτό τώρα προβληματική; 749 00:34:25,230 --> 00:34:28,730 Αγνοώντας τα σγουρά εισαγωγικά άκρη ότι εναρκτήρια ομιλία έκανε για μας αυτόματα. 750 00:34:28,730 --> 00:34:29,730 Γιατί είναι αυτό το πρόβλημα; 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> Ακριβώς. 753 00:34:37,270 --> 00:34:39,022 Επειδή έχουμε σαν 4 εισαγωγικά. 754 00:34:39,022 --> 00:34:41,230 Λοιπόν η πρώτη ίσως πηγαίνει με το δεύτερο, 755 00:34:41,230 --> 00:34:43,271 και ίσως ο τέταρτος πηγαίνει με το τρίτο, 756 00:34:43,271 --> 00:34:46,170 ή, μπορώ να πω ότι δεν είμαι καν σίγουρος, ούτε είναι ο υπολογιστής πρόκειται να είναι. 757 00:34:46,170 --> 00:34:48,352 Υπολογιστές και πάλι, compilers και πάλι, είναι αρκετά χαζός. 758 00:34:48,352 --> 00:34:50,060 Θα κάνω μόνο ό, τι θα τους πω να κάνουν. 759 00:34:50,060 --> 00:34:54,270 Και αν δεν είστε σαφής ότι πρόκειται πιθανώς για να ρίξει ένα λάθος. 760 00:34:54,270 --> 00:34:57,700 >> Αν δεν είστε σαφείς ως προς το πώς να κάνει μια φυστικοβούτυρο και μαρμελάδα 761 00:34:57,700 --> 00:34:59,510 παράξενα πράγματα που μπορεί να φτάσει. 762 00:34:59,510 --> 00:35:00,580 Είναι η ίδια ιδέα. 763 00:35:00,580 --> 00:35:03,100 Τώρα αρκεί να πούμε ότι υπάρχει κάποιες άλλες ακολουθίες διαφυγής, 764 00:35:03,100 --> 00:35:04,820 αλλά θα έρθει σε εκείνους που πριν από καιρό. 765 00:35:04,820 --> 00:35:07,410 Πρόκειται ουσιαστικά για απόδραση ακολουθίες αντιπροσωπεύουν κάτι 766 00:35:07,410 --> 00:35:10,480 ότι μπορεί να μην είναι σε θέση πάρα πολύ εύκολα στο πληκτρολόγιο, 767 00:35:10,480 --> 00:35:12,010 χωρίς να συγχέει τον υπολογιστή. 768 00:35:12,010 --> 00:35:15,733 >> Τώρα, εν τω μεταξύ έχουμε σύμβολα κράτησης θέσης στην printf. 769 00:35:15,733 --> 00:35:19,630 Τοις εκατό d, η οποία μπορεί επίσης να γραφεί σε σχεδόν όλες τις περιπτώσεις, ως επί τοις εκατό Ι, 770 00:35:19,630 --> 00:35:21,610 είναι ένα σύμβολο κράτησης θέσης για το είδος των δεδομένων; 771 00:35:21,610 --> 00:35:23,920 Τι είδους σχέση; 772 00:35:23,920 --> 00:35:24,920 Ένας δεκαδικός αριθμός. 773 00:35:24,920 --> 00:35:27,234 Έτσι, στην πραγματικότητα θα αρχίσει χρησιμοποιώντας τοις εκατό i επειδή είναι 774 00:35:27,234 --> 00:35:28,650 λίγο πιο απλό, όπως ένα ακέραιο. 775 00:35:28,650 --> 00:35:29,550 Ποσοστό i. 776 00:35:29,550 --> 00:35:31,320 Ένας ακέραιος που συμβαίνει να είναι δεκαδικό. 777 00:35:31,320 --> 00:35:35,690 >> Ποσοστό s είπαμε ήταν ένα σύμβολο κράτησης θέσης για μια σειρά. 778 00:35:35,690 --> 00:35:38,630 Ποια είναι απλώς μια λέξη, μια φράση, μια παράγραφο, ένα δοκίμιο, οτιδήποτε. 779 00:35:38,630 --> 00:35:40,830 Είναι μια σειρά από χαρακτήρες από κάποιο μήκος. 780 00:35:40,830 --> 00:35:42,820 Και θα δούμε πριν από καιρό ορισμένες από αυτές τις άλλες. 781 00:35:42,820 --> 00:35:45,950 Αλλά τοις εκατό c είναι για ένα μόνο χαρακτήρα. 782 00:35:45,950 --> 00:35:48,500 Ποσοστό f είναι για ένα αριθμός κινητής υποδιαστολής, 783 00:35:48,500 --> 00:35:50,860 σαν ένα πραγματικό αριθμό που έχει ένα δεκαδικό σημείο σε αυτό, το οποίο 784 00:35:50,860 --> 00:35:52,550 Φυσικά, δεν είναι ένας ακέραιος. 785 00:35:52,550 --> 00:35:54,670 Και υπάρχει μια ολόκληρη δέσμη των άλλων, καθώς και. 786 00:35:54,670 --> 00:35:56,990 >> Εν τω μεταξύ σε C, και σε πολλές γλώσσες, 787 00:35:56,990 --> 00:35:58,650 έχουμε διαφορετικούς τύπους δεδομένων. 788 00:35:58,650 --> 00:36:00,650 Διαφορετικοί τύποι γυαλί κύπελλα αν θέλετε. 789 00:36:00,650 --> 00:36:03,830 Το κύπελλο που χρησιμοποίησα τελευταία φορά ήταν για μπαλάκια του πινγκ πονγκ, 790 00:36:03,830 --> 00:36:06,990 αλλά μπορούμε επίσης να αποθηκεύσετε διαφορετικά αξίες, όπως χαρακτήρες και έγχορδα 791 00:36:06,990 --> 00:36:10,820 και ακέραιοι σε ένα δοχείο, σαν μία μεταβλητή, και C έχει αυτά. 792 00:36:10,820 --> 00:36:14,020 Char είναι το είδος των δεδομένων, ο τύπος της μεταβλητής, 793 00:36:14,020 --> 00:36:15,700 στην οποία μπορείτε να αποθηκεύσετε ένα χαρακτήρα. 794 00:36:15,700 --> 00:36:19,560 Float είναι ένας τύπος της μεταβλητής σε το οποίο μπορείτε να αποθηκεύσετε έναν πραγματικό αριθμό. 795 00:36:19,560 --> 00:36:21,220 >> Int είναι βέβαια για έναν int. 796 00:36:21,220 --> 00:36:23,760 Και μάλλον γελοία ονομάζεται μια μακρά μακρά 797 00:36:23,760 --> 00:36:26,830 είναι όπου μπορείτε να αποθηκεύσετε ουσιαστικά ένα πραγματικά μεγάλο αριθμό, με ακόμη 798 00:36:26,830 --> 00:36:29,930 περισσότερα ψηφία τότε ένα τυπικό int κατάστημα δύναμη. 799 00:36:29,930 --> 00:36:32,420 Αλλά θα επανέλθω στο θέμα αυτό πριν από καιρό. 800 00:36:32,420 --> 00:36:35,520 >> Σε CS50 dot h εν τω μεταξύ το άλλο αρχείο κεφαλίδας 801 00:36:35,520 --> 00:36:37,630 ότι έχουμε δει ένα ζευγάρι φορές σε χρήση, υπάρχει 802 00:36:37,630 --> 00:36:41,350 δύο άλλους τύπους δεδομένων, ότι Δεν υπάρχουν στην C συνήθως. 803 00:36:41,350 --> 00:36:45,000 Ένα είναι εγχόρδων, και θα δούμε σε λίγες εβδομάδες ποιες χορδές πραγματικά 804 00:36:45,000 --> 00:36:46,610 είναι κάτω από την κουκούλα. 805 00:36:46,610 --> 00:36:47,950 Και ένα είναι bool. 806 00:36:47,950 --> 00:36:51,650 Και μια bool είναι μια μεταβλητή που μπορεί να πάρει μόνο σε ορισμένες αξίες. 807 00:36:51,650 --> 00:36:54,370 Και μόνο με βάση την προηγούμενη εβδομάδα εξήγηση του Scratch, 808 00:36:54,370 --> 00:36:56,680 και πιο πρόσφατα, C, τι θα μαντέψει 809 00:36:56,680 --> 00:37:01,770 είναι οι δύο πιθανές τιμές για κάποια δοχείο που είναι του τύπου bool; 810 00:37:01,770 --> 00:37:02,860 >> Ναι και όχι. 811 00:37:02,860 --> 00:37:03,870 Ένα και μηδέν. 812 00:37:03,870 --> 00:37:04,502 Σωστό ή λάθος. 813 00:37:04,502 --> 00:37:07,460 Και πράγματι αυτό είναι το τελευταίο που τείνει να είναι συμβατική σε έναν προγραμματισμό 814 00:37:07,460 --> 00:37:10,030 γλώσσα, λέγοντας κάτι όπως αληθείς ή ψευδείς. 815 00:37:10,030 --> 00:37:13,160 >> Εν τω μεταξύ, η βιβλιοθήκη CS50 έρχεται με μια δέσμη των λειτουργιών 816 00:37:13,160 --> 00:37:16,640 ότι το προσωπικό που έγραψε για σας, εκτός από απλά να πάρει ένα string. 817 00:37:16,640 --> 00:37:20,910 Γράψαμε σε λειτουργίες των προτέρων ότι μπορεί να πάρει έναν ακέραιο από το χρήστη, 818 00:37:20,910 --> 00:37:22,990 πάρετε ένα ενιαίο χαρακτήρα, πάρετε μια float, ότι 819 00:37:22,990 --> 00:37:25,160 Είναι απλά ένας αριθμός με το δεκαδικό σημείο. 820 00:37:25,160 --> 00:37:28,290 Πάρτε μια πολύ καιρό, μια πραγματικά μεγάλη αξία από το χρήστη. 821 00:37:28,290 --> 00:37:30,930 Έτσι, έχουμε δει μόνο αυτό το δράση με τη μορφή του GetString. 822 00:37:30,930 --> 00:37:33,230 Αλλά με αυτές τις λειτουργίες σύντομα θα είναι σε θέση να γράψει 823 00:37:33,230 --> 00:37:36,070 προγράμματα που παίρνουν είσοδο από το χρήστη. 824 00:37:36,070 --> 00:37:39,230 >> Εν τω μεταξύ, σκεφτείτε το πρόγραμμα, και να εξετάσει 825 00:37:39,230 --> 00:37:42,600 πώς θα μπορούσαμε τώρα να αρχίσουμε να προσθέσετε σε αυτό με νέα δομήματα. 826 00:37:42,600 --> 00:37:44,530 Μια γρήγορη ανεμοστρόβιλος περιοδεία και στη συνέχεια θα εξετάσουμε 827 00:37:44,530 --> 00:37:47,340 σε μερικά γράφοντας κάποια προγράμματα με το χέρι μας. 828 00:37:47,340 --> 00:37:49,700 Εφεξής, αν θέλουμε να εφαρμόσουν μια κατάσταση, 829 00:37:49,700 --> 00:37:52,790 δεν πρόκειται να μοιάζει με ένα ωραίο μικρό όμορφο κομμάτι του παζλ. 830 00:37:52,790 --> 00:37:54,460 Είναι πρόκειται να δούμε λίγο πιο απόκρυφες. 831 00:37:54,460 --> 00:37:57,620 Αλλά αυτή είναι η κανονική δομή μιας κατάστασης στο C. 832 00:37:57,620 --> 00:38:00,380 >> Η λέξη εάν, δύο παρενθέσεις, εντός του οποίου 833 00:38:00,380 --> 00:38:02,590 πρόκειται να είναι κάποιο είδος της Boolean έκφραση. 834 00:38:02,590 --> 00:38:04,999 Τώρα το κάθετο κάθετο στη μέση, αυτό είναι 835 00:38:04,999 --> 00:38:07,290 αυτή τη στιγμή το είδος της, όπως pseudocode κωδικό κράτησης θέσης. 836 00:38:07,290 --> 00:38:11,576 Αλλά πιο σωστά, κάθε γραμμή κώδικα σε C που ξεκινάει με κάθετο κάθετο 837 00:38:11,576 --> 00:38:12,850 είναι ένα σχόλιο. 838 00:38:12,850 --> 00:38:15,920 >> Είναι σαν μια κολλώδη σημείωση που μπορεί να βάλει σε ένα δοκίμιο, τυπωμένο σε χαρτί. 839 00:38:15,920 --> 00:38:17,290 Είναι μια σημείωση για τον εαυτό σας. 840 00:38:17,290 --> 00:38:20,100 Δεν έχει καμία λειτουργική αντίκτυπο στο πρόγραμμα. 841 00:38:20,100 --> 00:38:23,580 Είναι το είδος της μια υπενθύμιση, είναι δική σας τεκμηρίωση για το τι συμβαίνει. 842 00:38:23,580 --> 00:38:25,720 Έτσι το κάνετε αυτό αυτή τη στιγμή είναι ένα είδος σύμβολο κράτησης θέσης 843 00:38:25,720 --> 00:38:27,560 για ό, τι είναι μέσα αυτών άγκιστρα 844 00:38:27,560 --> 00:38:29,810 τελικά πρόκειται να κάνει κάτι. 845 00:38:29,810 --> 00:38:35,160 >> Εν τω μεταξύ, έχετε δύο πιρούνια στο δρόμο, αν ένας άλλος κατασκευάσει σαν αυτό. 846 00:38:35,160 --> 00:38:37,024 Μπορείτε αν, elseif, αλλιώς. 847 00:38:37,024 --> 00:38:39,690 Τώρα αξίζει να σημειωθεί, ιδιαίτερα αν έχετε Googling γύρω 848 00:38:39,690 --> 00:38:42,480 σε απευθείας σύνδεση για τους πόρους από περιέργεια, ή αν έχετε πάρει 849 00:38:42,480 --> 00:38:44,575 ένα από τα φυσικά του συνιστώμενα βιβλία για C, 850 00:38:44,575 --> 00:38:48,430 θα δείτε ότι οι άνθρωποι έχουν πολλά από διαφορετικές προτιμήσεις για το πώς 851 00:38:48,430 --> 00:38:50,510 να εκφραστούν σε κώδικα. 852 00:38:50,510 --> 00:38:53,800 Μερικοί άνθρωποι επιθυμούν να θέσουν το αγκύλες, όπως έχω κάνει εδώ. 853 00:38:53,800 --> 00:38:57,760 Μερικοί άνθρωποι επιθυμούν να βάλει το σγουρά τιράντες, για παράδειγμα, μέχρι εδώ. 854 00:38:57,760 --> 00:39:01,700 >> Μερικοί άνθρωποι επιθυμούν να βάλει το elses μέχρι εδώ και, στη συνέχεια, αυτό εδώ. 855 00:39:01,700 --> 00:39:05,120 Υπάρχουν πολλοί τρόποι για να κωδικό εγγραφής, και κανένας από αυτούς 856 00:39:05,120 --> 00:39:06,566 είναι σωστό per se. 857 00:39:06,566 --> 00:39:08,440 Παρά το γεγονός ότι υπάρχει μια μερικά που είναι πολύ λάθος. 858 00:39:08,440 --> 00:39:11,315 Αλλά υπάρχουν no-- εάν αυτό είναι τελικά μια πολύ θρησκευτική συζήτηση. 859 00:39:11,315 --> 00:39:13,940 Στην πραγματικότητα, ένα από τα πιο ενοχλητικά πράγματα για την επιστήμη των υπολογιστών 860 00:39:13,940 --> 00:39:16,310 είναι πώς δογματικός επιστήμονες της πληροφορικής μπορεί να είναι. 861 00:39:16,310 --> 00:39:19,880 Και θα βρείτε την πάροδο του χρόνου ότι ακόμη και να αναπτύξουν τις προσωπικές τους προτιμήσεις 862 00:39:19,880 --> 00:39:22,130 ως προς τον τρόπο κωδικός σας θα πρέπει να εξετάσουμε. 863 00:39:22,130 --> 00:39:27,162 >> Όχι μόνο συμπεριφέρονται, όχι μόνο τη δημιουργία εξόδου, αλλά το πώς θα πρέπει να κοιτάξουμε αισθητικά. 864 00:39:27,162 --> 00:39:30,120 Έτσι, αυτό που θα κάνουμε είναι να σας καθοδηγήσει κατά μήκος το δρόμο προς, προς το παρόν τουλάχιστον, 865 00:39:30,120 --> 00:39:34,825 ένα πρότυπο στυλ CS50 ότι τουλάχιστον κρατά τα πράγματα ομοιόμορφη και εύκολο να το διαβάσετε. 866 00:39:34,825 --> 00:39:37,330 Αλλά περισσότερο για εκείνους διακρίσεις πριν από καιρό. 867 00:39:37,330 --> 00:39:41,830 >> Μια Boolean έκφραση σε C, εάν ήθελε να πει αν αυτή η συνθήκη είναι αληθής 868 00:39:41,830 --> 00:39:44,650 και αυτή η άλλη κατάσταση είναι αλήθεια, δεν γράψετε τη λέξη 869 00:39:44,650 --> 00:39:46,610 και, όπως θα κάνατε και στα αγγλικά. 870 00:39:46,610 --> 00:39:50,580 Μπορείτε να χρησιμοποιήσετε συμπλεκτικό σύμβολο, για λόγους που εμείς θα επανέλθουμε. 871 00:39:50,580 --> 00:39:54,520 Αν θέλετε να πείτε ή να χρησιμοποιήσετε δύο κάθετες μπάρες, η οποία σε ένα πληκτρολόγιο ΗΠΑ 872 00:39:54,520 --> 00:39:57,650 είναι γενικά πάνω από το Enter κουμπί δίπλα στην ανάστροφη κάθετο. 873 00:39:57,650 --> 00:40:03,080 Και αυτό σημαίνει ότι μόνο εάν αυτή κατάσταση ή αυτή η άλλη προϋπόθεση είναι αλήθεια το κάνουμε αυτό. 874 00:40:03,080 --> 00:40:05,210 >> Εν τω μεταξύ, υπάρχει αυτή η τρελό πράγμα, το οποίο 875 00:40:05,210 --> 00:40:07,760 θα έχετε την ευκαιρία να χρησιμοποιήσει μια φορά σε λίγο. 876 00:40:07,760 --> 00:40:10,390 Αλλά είναι απλά μια εναλλακτική λύση τρόπος για να εκφραστείτε. 877 00:40:10,390 --> 00:40:12,400 Αυτό, για τώρα, ας ορίζουν, είναι ακριβώς 878 00:40:12,400 --> 00:40:16,880 άλλο funky τρόπος για να εκφράσουν αν, elseif, elseif, elseif, elseif. 879 00:40:16,880 --> 00:40:19,720 Είναι μόλις διαμορφωθεί σε όρους των περιπτώσεων, όπου μπορείτε κυριολεκτικά 880 00:40:19,720 --> 00:40:23,420 απαριθμήσει τις αξίες που ίσως να θέλετε να ελέγξετε για. 881 00:40:23,420 --> 00:40:24,410 >> Εν τω μεταξύ βρόχους. 882 00:40:24,410 --> 00:40:26,842 Είδαμε μια σύγκριση των Ξύστε με μια θηλιά. 883 00:40:26,842 --> 00:40:29,550 Και Πάω να κύμα το χέρι μου στο τι σημαίνει το καθένα από αυτά τα πράγματα. 884 00:40:29,550 --> 00:40:33,520 Αλλά παρατηρήσετε ότι ένας βρόχος θα είναι πολύ συχνά ξεκινούν με τη λέξη-κλειδί για το. 885 00:40:33,520 --> 00:40:36,350 Ή θα ξεκινήσει με τη λέξη-κλειδί, ενώ. 886 00:40:36,350 --> 00:40:41,360 Ή θα ξεκινήσει με τη λέξη-κλειδί κάνει, και τέλος με τη λέξη-κλειδί, ενώ. 887 00:40:41,360 --> 00:40:43,920 >> Αλλά αυτό που είμαστε για να δούμε είναι τα πράγματα περισσότερο σαν αυτό. 888 00:40:43,920 --> 00:40:47,950 Εδώ είναι, σε γενικές γραμμές σε C, πώς θα μπορούσε δηλώσετε μια μεταβλητή και να του δώσετε μια τιμή. 889 00:40:47,950 --> 00:40:50,610 Στην C δεν αρκεί, όπως στο Ξυστό, απλά 890 00:40:50,610 --> 00:40:52,810 πει να μου δώσει μια μεταβλητή που ονομάζεται κάτι. 891 00:40:52,810 --> 00:40:55,960 Θα πρέπει να πείτε C, και πείτε compiler σας, πιο συγκεκριμένα, 892 00:40:55,960 --> 00:40:58,680 τι είδος της αξίας που κάνετε θέλετε να βάλετε στο γυάλινο μπολ. 893 00:40:58,680 --> 00:40:59,610 >> Είναι ένας ακέραιος; 894 00:40:59,610 --> 00:41:02,210 Αν ναι, θα πρέπει να κυριολεκτικά λένε int και, στη συνέχεια, 895 00:41:02,210 --> 00:41:04,220 το όνομα της μεταβλητής, τότε ένα ερωτηματικό. 896 00:41:04,220 --> 00:41:08,050 Αν αντί ήθελε εγχόρδων και κάλεσε είναι s, όπως έκανα τον κωδικό μου εδώ σήμερα, 897 00:41:08,050 --> 00:41:10,920 θα σας πω ερωτηματικό συμβολοσειράς s. 898 00:41:10,920 --> 00:41:14,200 Όταν θέλετε να δώσετε μια τιμή τότε μπορείτε να χρησιμοποιήσετε το σύμβολο ίσον, 899 00:41:14,200 --> 00:41:16,211 αλλιώς γνωστή ως ο τελεστή ανάθεσης. 900 00:41:16,211 --> 00:41:17,960 Και παρατηρήστε πώς το καθένα από αυτές τις γραμμές του κώδικα 901 00:41:17,960 --> 00:41:20,650 έχει το ερωτηματικό στο τέλος της. 902 00:41:20,650 --> 00:41:22,550 >> Αλλά ειλικρινά αυτό ακριβώς φαίνεται λίγο άσχημο. 903 00:41:22,550 --> 00:41:26,580 Γιατί δεν μπορώ να πω στον υπολογιστή, δίνουν με μια μεταβλητή και να προετοιμάσει το μηδέν. 904 00:41:26,580 --> 00:41:28,380 Δηλαδή, να μου δώσει ένα άδειο γυάλινο μπολ. 905 00:41:28,380 --> 00:41:28,980 Ενώ μπορείτε. 906 00:41:28,980 --> 00:41:32,250 Και έτσι ένα της αποφάσεως σας καλεί θα έχουν να κάνουν στυλιστικά την πάροδο του χρόνου 907 00:41:32,250 --> 00:41:36,290 είναι, μπορείτε να γράψετε τον κωδικό σας αρέσει αυτό, ή Δεν είστε το είδος του να το καθαρίσει και να εντυπωσιάσετε 908 00:41:36,290 --> 00:41:39,040 οι άνθρωποι γράφοντας δύο γραμμές, όπως ακριβώς ένα. 909 00:41:39,040 --> 00:41:41,830 Και αυτό θα μπορούσε να θεωρηθεί γενικά ένα πιο κομψό τρόπο 910 00:41:41,830 --> 00:41:43,870 της γραφής κωδικό σας στυλιστικά. 911 00:41:43,870 --> 00:41:45,200 >> Λειτουργίες είμαστε φυσικά δει. 912 00:41:45,200 --> 00:41:46,340 Θα πάμε για να πάρει αυτή τη μορφή. 913 00:41:46,340 --> 00:41:48,881 Το όνομα της συνάρτησης, μερικοί παρενθέσεις, και τότε ίσως κάποιοι 914 00:41:48,881 --> 00:41:49,910 πράγματα μέσα. 915 00:41:49,910 --> 00:41:52,540 Ή μπορείτε να δείτε χρήσεις πολλαπλές λειτουργίες πλευρά 916 00:41:52,540 --> 00:41:55,980 από την πλευρά της, σαν κάτι σαν αυτό. 917 00:41:55,980 --> 00:41:59,390 Τώρα, ως εφαπτόμενη, κάνει αυτό το αστείο κάνει τώρα νόημα; 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [Γέλια] 920 00:42:04,960 --> 00:42:09,360 Αυτό δεν σημαίνει ότι είναι αστείο, αλλά ίσως κάνει λίγο περισσότερο νόημα. 921 00:42:09,360 --> 00:42:12,140 Έτσι, τώρα ας πάμε σε η Συσκευή CS50 για μια στιγμή. 922 00:42:12,140 --> 00:42:14,640 Και επιτρέψτε μου να ανοίξει ένα teaser εδώ. 923 00:42:14,640 --> 00:42:17,470 >> Και μάλιστα ένας από τους λόγους για την εισαγωγή κατάλογος ΙΚΕΑ 924 00:42:17,470 --> 00:42:20,080 και αναβοσβήνει την εικόνα του iPhone πριν από λίγο 925 00:42:20,080 --> 00:42:24,700 ήταν να συνδέσει πραγματικά σε από κοινού το το γεγονός ότι μόλις πριν από λίγα χρόνια, το 2007, 926 00:42:24,700 --> 00:42:26,540 αυτό το κομμάτι του κώδικα ήταν απελευθερώνεται, το οποίο 927 00:42:26,540 --> 00:42:29,820 μία από την πρώτη κιόλας εφαρμογή από ένα κομμάτι του λογισμικού 928 00:42:29,820 --> 00:42:31,494 ότι κάνει ό, τι λέγεται jailbreaking. 929 00:42:31,494 --> 00:42:34,410 Για όσους δεν είναι εξοικειωμένοι, jailbreaking κάτι σαν ένα τηλέφωνο ή ένα iPhone 930 00:42:34,410 --> 00:42:37,680 σημαίνει ουσιαστικά υπολογίζοντας πώς να κάνει τα πράγματα 931 00:42:37,680 --> 00:42:39,864 με το ότι η εταιρεία ο οποίος έκανε ότι δεν είχε την πρόθεση. 932 00:42:39,864 --> 00:42:42,780 Όπως θέλετε να εγκαταστήσετε ορισμένες λογισμικό που δεν είναι στο App Store, 933 00:42:42,780 --> 00:42:45,405 jailbreaking τηλέφωνό σας που κάνετε τα πράγματα όπως αυτό και περισσότερα. 934 00:42:45,405 --> 00:42:47,447 Αλλά τι ήταν διασκεδαστικό σε 2007-- και έχει υπάρξει 935 00:42:47,447 --> 00:42:49,780 δεκάδες διαφορετικές εκδόσεις από αυτά τα πράγματα από τότε, 936 00:42:49,780 --> 00:42:53,540 σε όλα τα είδη των languages-- είναι ότι αυτό το πρόγραμμα εδώ, ονομάζεται iUnlock, 937 00:42:53,540 --> 00:42:57,036 ήταν στην πραγματικότητα γραμμένο σε C. Και γι 'αυτό τράβηξε μέχρι τον πηγαίο κώδικα για αυτό, 938 00:42:57,036 --> 00:42:59,910 ακριβώς για να δείξει το είδος σας μερικές από τις οι ομοιότητες με τα κατασκευάσματα 939 00:42:59,910 --> 00:43:01,450 έχουμε συζητήσει μέχρι στιγμής. 940 00:43:01,450 --> 00:43:05,150 Τώρα υπάρχει τρόπος για μεγαλύτερη πολυπλοκότητα εδώ από ό, τι έχουμε δει ήδη στην τάξη. 941 00:43:05,150 --> 00:43:07,160 Επιτρέψτε μου να μετακινηθείτε προς τα επάνω ακριβώς λίγο εδώ. 942 00:43:07,160 --> 00:43:11,520 >> Αλλά παρατηρήσετε these-- καλά θα παρατηρήσετε μερικά things-- αλλά παρατηρήσετε αυτές τις γραμμές εδώ, 943 00:43:11,520 --> 00:43:14,090 συμπεριλαμβανομένων των standard I / O dot h. 944 00:43:14,090 --> 00:43:17,660 Και all-- γραμμή 24, σε παρακαλώ παρατηρήσετε πρότυπο I / O 945 00:43:17,660 --> 00:43:21,380 dot h και ένα σωρό άλλα Τα αρχεία που προφανώς άλλους ανθρώπους 946 00:43:21,380 --> 00:43:22,160 έχουν γράψει. 947 00:43:22,160 --> 00:43:24,850 Και αν μετακινηθείτε προς τα κάτω μέσω Αυτό, λίγο αυθαίρετα, 948 00:43:24,850 --> 00:43:27,910 προκήρυξη δεν ξέρω πώς να γράψω όλα αυτά ο ίδιος αναγκαστικά ακόμα, 949 00:43:27,910 --> 00:43:28,880 αλλά δεν υπάρχει περίπτωση. 950 00:43:28,880 --> 00:43:30,400 Έτσι, προφανώς, αυτό έχει ένα υποκατάστημα. 951 00:43:30,400 --> 00:43:33,210 >> Και αν μετακινηθείτε προς τα κάτω λίγο επιπλέον υπάρχει μια άλλη περίπτωση. 952 00:43:33,210 --> 00:43:38,210 Αν μετακινηθείτε προς τα επάνω, νομίζω γύρω από τη γραμμή 100 είδα. 953 00:43:38,210 --> 00:43:40,020 Γι 'αυτό και δεν είμαι σίγουρος πώς αυτό λειτουργεί ακόμα, 954 00:43:40,020 --> 00:43:43,180 αλλά αυτό είναι ένα βρόχο που πρόκειται να επιτρέψτε μου να επαναλάβει κάποια αριθμός των φορές. 955 00:43:43,180 --> 00:43:45,230 Και αν μετακινηθείτε όλα ο τρόπος με τον πυθμένα 956 00:43:45,230 --> 00:43:51,020 Βλέπω ότι υπάρχει μια λειτουργούν εδώ κάτω που ονομάζεται 957 00:43:51,020 --> 00:43:54,570 κύριες, καθώς και ορισμένες πρόσθετες πιστώσεις για την ευχαρίστηση σας ανάγνωση. 958 00:43:54,570 --> 00:43:57,830 >> Έτσι, αυτό είναι μόνο για να say-- και θα θέσει αυτή η σύνδεση μεταξύ πηγής του μαθήματος 959 00:43:57,830 --> 00:44:01,480 Κωδικός today-- ότι ακόμη και ορισμένοι από αυτούς συσκευές που παίρνουμε για δεδομένος, 960 00:44:01,480 --> 00:44:05,130 στο τέλος της ημέρας είστε ακόμα χρησιμοποιώντας αυτές τις βασικές δομές που έχουμε 961 00:44:05,130 --> 00:44:07,430 έχουν εισάγει ήδη μέχρι σήμερα. 962 00:44:07,430 --> 00:44:08,620 Αυτό είναι αρκετό από εκείνο το ένα. 963 00:44:08,620 --> 00:44:11,480 Εντάξει, τώρα ας οικοδομήσουμε πραγματικά κάτι. 964 00:44:11,480 --> 00:44:15,640 >> Ας πάμε πέρα ​​από κάτι σαν hello.c, και να ανοίξει αυτό, 965 00:44:15,640 --> 00:44:17,170 ας γράψω αυτό το πρόγραμμα εδώ. 966 00:44:17,170 --> 00:44:19,850 Πάω να προχωρήσει και γράψετε ένα πρόγραμμα που ονομάζεται adder.c, 967 00:44:19,850 --> 00:44:23,310 σκοπός της οποίας στη ζωή πρόκειται να είναι όπως η πρώτη μου σούπερ απλή αριθμομηχανή 968 00:44:23,310 --> 00:44:24,840 ότι προσθέτει μόνο ένα ζευγάρι των αριθμών. 969 00:44:24,840 --> 00:44:27,050 Όχι γιατί αυτό είναι ένα δύσκολο πρόβλημα, αλλά επειδή 970 00:44:27,050 --> 00:44:29,390 μου επιτρέπει να δέσει τώρα μαζί μερικά πράγματα. 971 00:44:29,390 --> 00:44:33,100 Έτσι, Πάω να πάει μπροστά και να περιλαμβάνουν πρότυπο I / O dot h και CS50 dot h. 972 00:44:33,100 --> 00:44:34,670 Πάω να πω int main κενό. 973 00:44:34,670 --> 00:44:36,545 Και πάλι στο μέλλον Θα επανέλθουμε σε αυτό 974 00:44:36,545 --> 00:44:38,560 μέσα σε αυτό το πλαίσιο και το κενό μέσα. 975 00:44:38,560 --> 00:44:43,340 >> Και τώρα θα πάω να πω κάτι όπως η printf, να μου δώσει έναν ακέραιο. 976 00:44:43,340 --> 00:44:47,610 Και τώρα στη δεύτερη γραμμή μου, πώς μπορώ να εκφραστώ όπως 977 00:44:47,610 --> 00:44:50,980 ότι θέλω να δηλώσει μια μεταβλητή ότι πρόκειται να αποθηκεύσετε ένα int; 978 00:44:50,980 --> 00:44:55,470 Κυριολεκτικά, τι μπορώ να πληκτρολογείτε αν θέλω να δημιουργήσετε μια μεταβλητή που αποθηκεύει μια int 979 00:44:55,470 --> 00:44:58,270 θα λέγατε; 980 00:44:58,270 --> 00:44:59,650 int a ισούται getint. 981 00:44:59,650 --> 00:45:00,485 Σίγουρα, έτσι που να λειτουργεί. 982 00:45:00,485 --> 00:45:02,360 Και μόνο για λόγους συνέπειας με τον κώδικα που θα 983 00:45:02,360 --> 00:45:04,485 δείτε σε απευθείας σύνδεση, επιτρέψτε μου αλλαγή αυτό με x, μόνο και μόνο επειδή x 984 00:45:04,485 --> 00:45:06,830 είναι ένα κοινό όνομα μεταβλητής να χρησιμοποιήσει, τουλάχιστον σε άλγεβρα. 985 00:45:06,830 --> 00:45:08,720 Τώρα, επιτρέψτε μου να πάει μπροστά και να κάνουμε τις printf και πάλι. 986 00:45:08,720 --> 00:45:10,692 Δώστε μου ένα άλλο ακέραιο. 987 00:45:10,692 --> 00:45:12,900 Και τώρα θα πάω με το είδος από μάθουν από αυτό το μοτίβο, 988 00:45:12,900 --> 00:45:14,490 Πάω να πω int y παίρνει να GetInt. 989 00:45:14,490 --> 00:45:16,340 >> Και εμείς δεν έχουμε χρησιμοποιήσει GetInt πριν, αλλά μόλις 990 00:45:16,340 --> 00:45:19,860 όπως GetString πηγαίνει και παίρνει ένα string, όπως Javier έκανε από το κοινό, 991 00:45:19,860 --> 00:45:22,780 ομοίως κάνει GetInt αρχίσει να αναβοσβήνει η γραμμή. 992 00:45:22,780 --> 00:45:26,750 Και αποτελεσματικά αναμονή για τον χρήστη για να δώσει έναν ακέραιο, πληκτρολογώντας τον στο 993 00:45:26,750 --> 00:45:27,900 και πατώντας Enter. 994 00:45:27,900 --> 00:45:30,850 Τώρα, τέλος, Πάω να κάνω αυτό, printf το άθροισμα of-- 995 00:45:30,850 --> 00:45:36,080 και επιτρέψτε μου να πάρει φανταχτερά now-- τοις εκατό τοις εκατό Ι και Ι είναι παρούσα 996 00:45:36,080 --> 00:45:39,270 i επιφώνημα σημείο backslash n. 997 00:45:39,270 --> 00:45:42,750 Και τι νομίζετε ότι θα πάω να θέσει τώρα ως πρόσθετες είσοδοι 998 00:45:42,750 --> 00:45:44,620 με τις printf; 999 00:45:44,620 --> 00:45:47,380 >> Δεν θέλω να πω κυριολεκτικά παραθέτω σε εισαγωγικά x. 1000 00:45:47,380 --> 00:45:52,210 Θέλω να τάξη στο x και Στη συνέχεια, και τώρα ας πάρει φανταχτερά 1001 00:45:52,210 --> 00:45:54,420 και ας υποθέσουμε μπορούμε να κάνουμε ό, τι θέλουμε. 1002 00:45:54,420 --> 00:45:56,330 Τι θέλετε να πείτε; 1003 00:45:56,330 --> 00:45:57,070 x συν y. 1004 00:45:57,070 --> 00:45:58,520 Και πράγματι, αυτό θα λειτουργήσει. 1005 00:45:58,520 --> 00:46:01,760 Είναι ελάχιστα γλώσσες προγραμματισμού καταλαβαίνω βασική αριθμητική, 1006 00:46:01,760 --> 00:46:03,500 και έτσι αυτό θα πρέπει στην πραγματικότητα το έργο. 1007 00:46:03,500 --> 00:46:06,730 >> Έτσι, επιτρέψτε μου να πάει μπροστά και να κάνουν αθροιστή σε μαύρο και άσπρο παράθυρο μου 1008 00:46:06,730 --> 00:46:08,090 εδώ κάτω, Enter. 1009 00:46:08,090 --> 00:46:10,830 Αινιγματικές γραμμή, αλλά δεν υπάρχει σφάλμα μήνυμα, έτσι ώστε να είναι καλό. 1010 00:46:10,830 --> 00:46:14,410 Dot κάθετο αθροιστή, να μου δώσει έναν ακέραιο, 1. 1011 00:46:14,410 --> 00:46:16,230 Δώστε μου ένα άλλο ακέραιο, 2. 1012 00:46:16,230 --> 00:46:18,770 Το ποσό των 1 και 2 είναι 3. 1013 00:46:18,770 --> 00:46:21,730 >> Εντάξει, έτσι, ένα πολύ ασήμαντο πρόγραμμα, αλλά τι είναι αυτό που κάνει; 1014 00:46:21,730 --> 00:46:25,680 Αυτό μου επέτρεψε να χρησιμοποιήσετε μια λειτουργία καλέστε εδώ, καλέστε μια άλλη λειτουργία εδώ, 1015 00:46:25,680 --> 00:46:29,260 δύο κλήσεις προς GetInt, ένα τρίτη πρόσκληση υποβολής προτάσεων για την printf, 1016 00:46:29,260 --> 00:46:30,720 και στη συνέχεια, χρησιμοποιώντας αυτά τα σύμβολα κράτησης θέσης. 1017 00:46:30,720 --> 00:46:33,160 Γι 'αυτό είναι λίγο πιο εξελιγμένα από την τελευταία φορά. 1018 00:46:33,160 --> 00:46:35,260 Αλλά τι γίνεται αν θέλω να να πάρει λίγο πιό φανταχτερό; 1019 00:46:35,260 --> 00:46:38,900 >> Επιτρέψτε μου να προχωρήσει και τώρα το κάνετε αυτό. 1020 00:46:38,900 --> 00:46:42,890 Επιτρέψτε μου να προχωρήσει και να δημιουργήσει ένα νέο αρχείο που ονομάζεται συνθήκες μηδέν. 1021 00:46:42,890 --> 00:46:44,890 Και Πάω να αποθηκεύσετε κάποια στιγμή για τις κατηγορίες χάρη 1022 00:46:44,890 --> 00:46:48,260 και απλά επικόλληση σε ότι κώδικας ως σημείο εκκίνησης. 1023 00:46:48,260 --> 00:46:51,510 Και τώρα είμαι απλώς πρόκειται να θέσει κάτι νέο εδώ στη μέση. 1024 00:46:51,510 --> 00:46:55,889 Έτσι printf θα ήθελα έναν ακέραιο παρακαλώ. 1025 00:46:55,889 --> 00:46:58,180 Και όλα αυτά κώδικας είναι διαθέσιμος στην ιστοσελίδα του μαθήματος, 1026 00:46:58,180 --> 00:47:00,556 δεν χρειάζεται να είναι όλα πληκτρολογήσετε στην τάξη, αν δεν έπαιρνα μάλλον. 1027 00:47:00,556 --> 00:47:02,638 int, και τώρα είμαι πρόκειται να χρήση, αντί των χ και γ, 1028 00:47:02,638 --> 00:47:05,270 Πάω να χρησιμοποιήσει n, η οποία είναι ίσως η πιο κοινή ονομασία 1029 00:47:05,270 --> 00:47:09,220 για έναν ακέραιο αριθμό σε ένα πρόγραμμα υπολογιστή. 1030 00:47:09,220 --> 00:47:12,060 Και τώρα θέλω να κάνω ένα μικρή κρίση εδώ. 1031 00:47:12,060 --> 00:47:15,460 Πάω να δω αν n είναι μεγαλύτερη από μηδέν, τότε 1032 00:47:15,460 --> 00:47:23,670 Πάω να πω printf-- κραυγών, printf-- έχετε πάρει ένα θετικό αριθμό, 1033 00:47:23,670 --> 00:47:25,370 θαυμαστικό backslash n. 1034 00:47:25,370 --> 00:47:26,460 Κλείστε αυτό. 1035 00:47:26,460 --> 00:47:33,150 Αλλιώς Πάω να εκτυπώσετε printf έχετε πάρει έναν αρνητικό αριθμό. 1036 00:47:33,150 --> 00:47:35,377 >> Τώρα, πριν να μου φωνάζεις, ας τρέξει αυτό το πρόγραμμα. 1037 00:47:35,377 --> 00:47:36,210 Επιτρέψτε μου να πάω εδώ κάτω. 1038 00:47:36,210 --> 00:47:40,730 Και πώς μπορώ να καταρτίσει ένα πρόγραμμα ονομάζονται συνθήκες παύλα 0; 1039 00:47:40,730 --> 00:47:42,300 Κάντε συνθήκες παύλα 0. 1040 00:47:42,300 --> 00:47:45,560 Είδος ένα ηλίθιο όνομα, αλλά-- διάολε. 1041 00:47:45,560 --> 00:47:47,560 Εντάξει, καλή διδασκαλία στιγμή. 1042 00:47:47,560 --> 00:47:48,410 Γιατί να σπάσει; 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> Τι έκανα λάθος καλέσετε αυτό το αρχείο; 1045 00:47:54,710 --> 00:47:56,876 Μπορείτε είδους μπορούμε να συμπεράνουμε από την καρτέλα μέχρι εδώ. 1046 00:47:56,876 --> 00:47:58,750 Έτσι, δεν είναι κακό που το έκανε αυτό, γιατί αυτό 1047 00:47:58,750 --> 00:48:00,208 θα συμβεί ίσως κάποιοι από εσάς. 1048 00:48:00,208 --> 00:48:03,880 Γι 'αυτό και κατά λάθος το όνομά μου κατάσταση πηγαίο κώδικα 0. 1049 00:48:03,880 --> 00:48:09,950 Αλλά μου τον πηγαίο κώδικα από την σύμβαση θα πρέπει να να είναι σε ένα αρχείο που ονομάζεται όρο 0 παύλα c, 1050 00:48:09,950 --> 00:48:11,720 ή ό, τι dot c. 1051 00:48:11,720 --> 00:48:12,610 >> Έτσι, επιτρέψτε μου να το διορθώσω αυτό. 1052 00:48:12,610 --> 00:48:16,880 Ακριβώς όπως το Microsoft Word μπορώ να ανεβεί για να σώσει Όπως και να το κάνουμε όρο 0 dot c. 1053 00:48:16,880 --> 00:48:20,100 Τώρα, ακριβώς για να είναι τακτοποιημένο είμαι πρόκειται να προχωρήσει και να αφαιρέσετε 1054 00:48:20,100 --> 00:48:23,020 κατάσταση 0, η οποία ήταν παλιά η δική μου εκδοχή. 1055 00:48:23,020 --> 00:48:26,550 Και τώρα ας κάνουν κατάσταση 0, Enter. 1056 00:48:26,550 --> 00:48:27,870 Εντάξει, φαίνεται καλό. 1057 00:48:27,870 --> 00:48:29,510 >> Κατάσταση 0, Enter. 1058 00:48:29,510 --> 00:48:33,530 Θα ήθελα έναν ακέραιο παρακαλούμε, 50, έχετε πάρει ένα θετικό αριθμό. 1059 00:48:33,530 --> 00:48:35,390 Τώρα σχετικά με το πώς αρνητική 50; 1060 00:48:35,390 --> 00:48:37,660 Μπορείτε διάλεξε έναν αρνητικό αριθμό. 1061 00:48:37,660 --> 00:48:39,605 Πόσο περίπου τώρα, 0. 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 Αρκετά σίγουρος 0 δεν είναι αρνητική. 1064 00:48:45,350 --> 00:48:47,780 >> Έτσι, αυτό είναι το είδος της ένα λογικό σφάλμα. 1065 00:48:47,780 --> 00:48:50,680 Πώς μπορώ να το διορθώσω αυτό; 1066 00:48:50,680 --> 00:48:57,260 Αλλιώς, αν n είναι μικρότερο από 0, το κάνετε αυτό, αλλιώς μπορούμε να έχουμε ένα υποκατάστημα τρεις τρόπο εδώ, 1067 00:48:57,260 --> 00:49:01,740 printf που διάλεξε 0. 1068 00:49:01,740 --> 00:49:06,150 Έτσι τώρα, αν μου επανάληψη αυτή πρόγραμμα, μετά την μεταγλώττιση 1069 00:49:06,150 --> 00:49:10,790 πάλι με τη μάρκα, και τώρα επανάληψη κατάσταση 0, αυτό που θα δείτε εδώ 1070 00:49:10,790 --> 00:49:14,570 0 μου δίνει αυτή την έξοδο. 1071 00:49:14,570 --> 00:49:16,280 Έτσι, όταν θα πάμε με αυτό; 1072 00:49:16,280 --> 00:49:18,930 >> Καλά είναι πολύ εύκολο να χάσουμε από τα μάτια από το δάσος για τα δέντρα. 1073 00:49:18,930 --> 00:49:23,590 Και έτσι μας επιτρέπει να συμπεράνουμε με αυτό το 2 και 1/2 λεπτό βίντεο 1074 00:49:23,590 --> 00:49:25,710 ότι, τελικά, είναι ένα κομμάτι μιας διαφήμισης από την Google, 1075 00:49:25,710 --> 00:49:28,850 αλλά αυτό είναι πραγματικά απόδειξη για ό, τι ακόμη και με αυτά τα βασικά δομικά 1076 00:49:28,850 --> 00:49:33,020 μπλοκ μπορούμε τελικά να κάνουμε μία φορά έχουμε ένα κομμάτι του προγραμματισμού 1077 00:49:33,020 --> 00:49:34,463 Μπήκες κάτω από τις ζώνες μας. 1078 00:49:34,463 --> 00:49:35,150 >> [ΜΟΥΣΙΚΗ ΠΑΙΖΟΝΤΑΣ] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO Brierley (αφήγηση): Ήταν πριν από 26 χρόνια, 1081 00:49:40,540 --> 00:49:42,470 και ήμουν έτοιμος να γυρίσει 5. 1082 00:49:42,470 --> 00:49:45,465 Πήραμε στο σιδηροδρομικό σταθμό και επιβιβαστήκαμε τρένο μας μαζί. 1083 00:49:45,465 --> 00:49:48,010 Ο αδελφός μου μόλις είπε εγώ θα μείνετε εδώ, και εγώ θα επανέλθω. 1084 00:49:48,010 --> 00:49:51,140 Και εγώ σκέφτηκα, καλά γνωρίζετε, Θα μπορούσε κάλλιστα να πάει για ύπνο 1085 00:49:51,140 --> 00:49:52,690 και αυτός θα ξυπνήσει μόλις μου επάνω. 1086 00:49:52,690 --> 00:49:55,145 Και όταν ξύπνησα το επόμενο ημέρα, η όλη μεταφορά 1087 00:49:55,145 --> 00:49:59,125 ήταν άδειο για ένα τραίνο δραπέτη, ένα φάντασμα τρένο μου λαμβάνοντας εγώ δεν ξέρω πού. 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> I εγκρίθηκε από την Αυστραλία, σε μια αυστραλιανή οικογένεια. 1090 00:50:06,280 --> 00:50:09,710 Και η μαμά είχε διακοσμηθεί μου δωμάτιο με το χάρτη της Ινδίας, 1091 00:50:09,710 --> 00:50:11,950 η οποία έβαλε δίπλα στο κομοδίνο μου. 1092 00:50:11,950 --> 00:50:15,830 Ξύπνησα κάθε πρωί βλέποντας ότι χάρτη, και ως εκ τούτου, 1093 00:50:15,830 --> 00:50:18,530 το είδος του κράτησε τις μνήμες ζωντανές. 1094 00:50:18,530 --> 00:50:20,530 Οι άνθρωποι θα λένε, είσαι προσπαθεί να βρει μια βελόνα 1095 00:50:20,530 --> 00:50:23,560 στα άχυρα, Saroo ποτέ δεν θα το βρείτε. 1096 00:50:23,560 --> 00:50:28,540 >> Θα έχουν έλαμψε από τα μέρη που έχω χρησιμοποιείται για να πάει, οι λάμψεις της οικογένειάς μου 1097 00:50:28,540 --> 00:50:29,890 αντιμετωπίζει. 1098 00:50:29,890 --> 00:50:34,060 Υπήρχε η εικόνα της μητέρας μου, κάθεται με τα πόδια σταυρωμένα, 1099 00:50:34,060 --> 00:50:35,740 Απλά βλέποντας την κραυγή της. 1100 00:50:35,740 --> 00:50:38,160 Η ζωή είναι τόσο δύσκολο. 1101 00:50:38,160 --> 00:50:41,237 Αυτός ήταν ο θησαυρός μου. 1102 00:50:41,237 --> 00:50:44,320 Και έψαχνα στο Google Map και συνειδητοποίησε ότι υπάρχει το Google Earth, καθώς και. 1103 00:50:44,320 --> 00:50:48,140 Σε έναν κόσμο όπου μπορείτε να κάνετε ζουμ σε, Άρχισα να έχω όλες αυτές τις σκέψεις 1104 00:50:48,140 --> 00:50:51,500 και τι δυνατότητες ότι αυτό θα μπορούσε να κάνει για μένα. 1105 00:50:51,500 --> 00:50:54,890 Είπα στον εαυτό μου, ξέρετε, έχετε πήρε όλες αυτές τις φωτογραφικές αναμνήσεις 1106 00:50:54,890 --> 00:50:58,590 και ορόσημα από πού είσαι, και Ξέρετε ποια είναι η πόλη μοιάζει. 1107 00:50:58,590 --> 00:51:03,060 Αυτό θα μπορούσε να είναι μια εφαρμογή που που μπορείτε να χρησιμοποιήσετε για να βρείτε το δρόμο σας πίσω. 1108 00:51:03,060 --> 00:51:06,720 >> Σκέφτηκα, καλά θα βάλω ένα κουκκίδα στο σιδηροδρομικό σταθμό της Καλκούτας, 1109 00:51:06,720 --> 00:51:10,890 και μια γραμμή ακτίνα, ξέρετε, ότι θα Θα πρέπει να ψάχνουν γύρω από αυτόν τον τομέα. 1110 00:51:10,890 --> 00:51:13,750 I είδος του ήρθε σε ολόκληρη αυτές οι γραμμές του τρένου. 1111 00:51:13,750 --> 00:51:18,160 Και άρχισα μετά από αυτήν, και Ήρθα σε ένα σιδηροδρομικό σταθμό που 1112 00:51:18,160 --> 00:51:22,228 αντανακλούσε την ίδια εικόνα ότι ήταν σε αναμνήσεις μου. 1113 00:51:22,228 --> 00:51:23,707 Τα πάντα ταιριάζουν. 1114 00:51:23,707 --> 00:51:27,950 Απλά σκέφτηκα yep, I ξέρετε πού θα πάω. 1115 00:51:27,950 --> 00:51:30,116 Είμαι ακριβώς πρόκειται να αφήσει το χάρτη που έχω στο κεφάλι μου 1116 00:51:30,116 --> 00:51:33,080 οδηγήσει μου και να μου πίσω στην πατρίδα μου. 1117 00:51:33,080 --> 00:51:36,420 >> Ήρθα στο κατώφλι της το σπίτι που γεννήθηκα. 1118 00:51:36,420 --> 00:51:39,140 Και περπάτησε γύρω από περίπου 15 μέτρα γύρω από τη γωνία, 1119 00:51:39,140 --> 00:51:42,980 Ήταν εκεί τρεις κυρίες στέκεται έξω, δίπλα στην άλλη. 1120 00:51:42,980 --> 00:51:47,830 Και η μέση ένα βήμα προς τα εμπρός, και Απλώς σκέφτηκα, αυτή είναι η μητέρα σου. 1121 00:51:47,830 --> 00:51:53,450 Ήρθε προς τα εμπρός, που με αγκάλιασε, και ήμασταν εκεί για περίπου πέντε λεπτά. 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> Άρπαξε το χέρι μου και με πήρε στο σπίτι 1124 00:51:59,000 --> 00:52:02,450 και πήρε στο τηλέφωνο, όπου χτύπησε την αδελφή μου και τον αδελφό μου 1125 00:52:02,450 --> 00:52:05,600 να πούμε ότι, ξέρετε, Ο αδελφός σας έχει μόνο 1126 00:52:05,600 --> 00:52:09,340 όλα ξαφνική εμφανίστηκε σαν φάντασμα. 1127 00:52:09,340 --> 00:52:12,440 Και τότε η οικογένεια επανασυνδέθηκε και πάλι. 1128 00:52:12,440 --> 00:52:15,110 Τα πάντα είναι όλα καλά, Βοήθησα τη μητέρα μου έξω, 1129 00:52:15,110 --> 00:52:17,110 ότι δεν πρέπει να μοχθούν. 1130 00:52:17,110 --> 00:52:19,555 Μπορεί να ζήσει το υπόλοιπο από τη ζωή της στην ειρήνη. 1131 00:52:19,555 --> 00:52:23,460 >> Ήταν μια βελόνα στα άχυρα, αλλά η βελόνα ήταν εκεί. 1132 00:52:23,460 --> 00:52:24,400 Τα πάντα είναι εκεί. 1133 00:52:24,400 --> 00:52:28,260 Ό, τι έχουμε στον κόσμο είναι το πάτημα ενός κουμπιού. 1134 00:52:28,260 --> 00:52:32,010 Αλλά έχετε να έχουν τη θέληση και η αποφασιστικότητα να το θέλουν. 1135 00:52:32,010 --> 00:52:32,950 >> [ΜΟΥΣΙΚΗ ΠΑΙΖΟΝΤΑΣ] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID MALAN: Υπέροχα γλυκό μαρτυρία 1138 00:52:38,170 --> 00:52:40,540 ακριβώς ό, τι μπορείτε τώρα κάνει με την τεχνολογία. 1139 00:52:40,540 --> 00:52:43,390 Θα σας δούμε την επόμενη εβδομάδα. 1140 00:52:43,390 --> 00:52:44,374