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