1 00:00:00,000 --> 00:00:07,070 [Powered by Google Translate] [♪ ♪ Buzzing] 2 00:00:07,070 --> 00:00:10,380 Έτσι για να σας παρουσιάσουμε ό, τι έχω στην οθόνη? 3 00:00:10,380 --> 00:00:12,710 είναι ένα από τα εργαλεία που αναπτύχθηκαν στη διάρκεια του καλοκαιριού? 4 00:00:12,710 --> 00:00:15,530 λέγεται CS50 χώρους, 5 00:00:15,530 --> 00:00:18,860 και είναι συνεργατική εφαρμογή κωδικοποίησης μας 6 00:00:18,860 --> 00:00:20,180 ότι θα πάμε για χρήση σε τμήματα. 7 00:00:20,180 --> 00:00:22,470 Είναι αρκετά δροσερό. 8 00:00:22,470 --> 00:00:26,040 Έχετε κάποια από σας δει CS50 τρέχει ακόμα; 9 00:00:26,040 --> 00:00:29,760 Επιτρέψτε μου να τραβήξει ότι σε μια άλλη καρτέλα. 10 00:00:29,760 --> 00:00:33,440 Run.cs50.net 11 00:00:33,440 --> 00:00:36,230 Έτσι 12 00:00:36,230 --> 00:00:39,700 αν πας να run.cs50.net, 13 00:00:39,700 --> 00:00:43,030 μπορείτε να δείτε αυτό είναι στο δρόμο browser σας για να 14 00:00:43,030 --> 00:00:45,940 πραγματικά κώδικας - γράφουν κώδικα C, 15 00:00:45,940 --> 00:00:47,460 και να τρέξει στη συνέχεια, 16 00:00:47,460 --> 00:00:50,960 γι 'αυτό και θα συγκεντρώνει, τρέχει, τότε επιστρέφει την έξοδο σας, 17 00:00:50,960 --> 00:00:53,350 έτσι αυτό είναι το είδος του ένα δροσερό τρόπο για να πειραματιστείτε 18 00:00:53,350 --> 00:00:56,060 με μερικά από τα κώδικα ότι ο David πηγαίνει πάνω σε διαλέξεις 19 00:00:56,060 --> 00:00:58,640 και να δίνουμε σε σας για σύνολα πρόβλημα 20 00:00:58,640 --> 00:01:01,900 χωρίς να χρειάζεται να ανάψουν τη συσκευή. 21 00:01:01,900 --> 00:01:04,489 >> Έτσι, αυτό που κάνει Χώροι αυτό είναι διαφορετικό από αυτό 22 00:01:04,489 --> 00:01:07,450 αν αλλάξω πίσω σε αυτήν την καρτέλα, 23 00:01:07,450 --> 00:01:11,580 Χώροι CS50 είναι επιχείρηση, όπως βλέπετε εδώ, 24 00:01:11,580 --> 00:01:15,380 αλλά αν μετακινηθείτε προς τα πάνω και να δούμε την άλλη πλευρά του παραθύρου, 25 00:01:15,380 --> 00:01:18,130 βλέπετε το δικαίωμα είμαι το μόνο πρόσωπο σε αυτό το χώρο, 26 00:01:18,130 --> 00:01:21,030 αλλά τι Πάω να κάνουμε είναι να σας ρωτήσω παιδιά να ενταχθούν σε αυτό το διάστημα μαζί μου 27 00:01:21,030 --> 00:01:24,590 και όλοι θα πάρετε τον κώδικα στο ίδιο μικρό παράθυρο, 28 00:01:24,590 --> 00:01:26,070 μοιράζονται τον κώδικα με κάθε άλλη, 29 00:01:26,070 --> 00:01:28,900 και να μιλήσουμε για τις διαφορές μεταξύ μας κώδικα. 30 00:01:28,900 --> 00:01:31,530 Έτσι είναι το είδος του ένα δροσερό πράγμα - 31 00:01:31,530 --> 00:01:35,770 ώστε να ενταχθούν, αν θα επισκεφτείτε αυτόν τον σύνδεσμο εδώ στην κορυφή 32 00:01:35,770 --> 00:01:38,980 ότι έχω επισημανθεί, 33 00:01:38,980 --> 00:01:53,860 μπορείτε απλά να πληκτρολογήσετε apps.cs50.net/spaces/vqcspSnO. 34 00:01:53,860 --> 00:01:56,610 >> Εντάξει, έτσι ώστε να ξεκινήσει, 35 00:01:56,610 --> 00:01:59,720 Πάω να σας δώσω ένα μικρό κομμάτι της περιοδείας αυτής. 36 00:01:59,720 --> 00:02:01,720 Εμείς θα κάνουμε κάποια ανόητα λίγο κωδικοποίηση με αυτό σε πρώτη φάση, 37 00:02:01,720 --> 00:02:06,200 ακριβώς έτσι ώστε ο καθένας παίρνει κάπως μια ιδέα για το τι θα πει, 38 00:02:06,200 --> 00:02:09,000 αλλά αυτό που έχω κάνει - 39 00:02:09,000 --> 00:02:11,830 ή ό, τι είμαι έτοιμος να κάνω το σωστό είναι εδώ - 40 00:02:11,830 --> 00:02:13,480 Πάω να πάρετε τον κώδικα που έχω γράψει εδώ, 41 00:02:13,480 --> 00:02:15,800 η οποία όπως βλέπετε αυτή τη στιγμή είναι άδειο? 42 00:02:15,800 --> 00:02:17,090 δεν κάνει τίποτα. 43 00:02:17,090 --> 00:02:21,080 Είναι απλά λέβητα κωδικό πλάκα, θα το ονομάσουμε. 44 00:02:21,080 --> 00:02:23,820 Με λίγη-να κάνουμε σχόλιο. 45 00:02:23,820 --> 00:02:27,850 Πάω να το αποθηκεύσετε πατώντας το κουμπί Αποθήκευση. 46 00:02:27,850 --> 00:02:30,190 Και τι κάνει είναι να 47 00:02:30,190 --> 00:02:34,400 υπογράμμισε ότι εδώ εν συντομία - ότι η αναθεώρηση πράσινο κουτί αποθήκευσης, 48 00:02:34,400 --> 00:02:37,570 και τώρα, αν ψάχνετε για μένα στο Διάστημα, 49 00:02:37,570 --> 00:02:40,340 κάνετε κλικ στο όνομά μου, 50 00:02:40,340 --> 00:02:43,370 μπορείτε να δείτε ότι έχω αυτό το δικαίωμα εδώ αναθεώρηση, 51 00:02:43,370 --> 00:02:45,490 και αν κάνετε κλικ σε αυτή την αναθεώρηση, 52 00:02:45,490 --> 00:02:48,240 αυτό θα φορτώσει αυτόν τον κώδικα στο χώρο σας, πάρα πολύ. 53 00:02:50,510 --> 00:02:54,160 >> Έτσι, ο καθένας έχει φορτωθεί ο κώδικας τους στο Διάστημα; 54 00:02:54,160 --> 00:02:57,810 Εντάξει, αν δεν το έχετε κάνει ακόμα, να προχωρήσει και να το κάνουμε αυτό, 55 00:02:57,810 --> 00:03:01,120 και στη συνέχεια ό, τι θέλω εσείς να κάνετε σε αυτό το μικρό-για να κάνουμε το τμήμα 56 00:03:01,120 --> 00:03:05,940 έχει γράψει ένα μικρό κομμάτι χρησιμοποιώντας printf για τον εαυτό σας, 57 00:03:05,940 --> 00:03:08,310 Έτσι, για παράδειγμα, θα ήθελα να γράψω 58 00:03:08,310 --> 00:03:12,270 printf ("Το όνομά μου είναι Nate")? 59 00:03:15,140 --> 00:03:17,700 και στη συνέχεια, θα ήθελα να γράψω 60 00:03:17,700 --> 00:03:21,660 «Αποφοίτησα το 2009 61 00:03:21,660 --> 00:03:24,440 από το Stanford " 62 00:03:26,050 --> 00:03:28,390 και θα ήθελα πολύ να ακούσω για 63 00:03:28,390 --> 00:03:30,270 ποιο χρόνο θα είναι στο σχολείο, 64 00:03:30,270 --> 00:03:33,910 αν είστε στο κολέγιο ή το σχολείο των επιχειρήσεων 65 00:03:33,910 --> 00:03:36,130 ή άλλη σχολή του Χάρβαρντ, 66 00:03:36,130 --> 00:03:39,200 τι είστε μελετώντας αν είναι γνωστό ακόμα? 67 00:03:39,200 --> 00:03:41,290 αν δεν είναι γνωστό, αυτό είναι εντελώς δροσερό. 68 00:03:41,290 --> 00:03:45,170 Δεν είχα αποφασίσει μέχρι ήμουν αργά το έτος δευτεροετών φοιτητών μου. 69 00:03:46,910 --> 00:03:49,210 και στη συνέχεια, θα ήθελα επίσης πολύ να μάθω 70 00:03:49,210 --> 00:03:51,610 κάτι τρελό θέλετε να μου πείτε ή 71 00:03:51,610 --> 00:03:54,790 κάτι σχετικά με το μάθημα ή οτιδήποτε άλλο. 72 00:03:56,930 --> 00:04:00,370 Όταν τελειώσετε εγγράφως ότι με λίγη printf σας, 73 00:04:00,370 --> 00:04:03,480 αν θα σώσει την αναθεώρηση ή όχι 74 00:04:03,480 --> 00:04:06,080 πρώτα να βεβαιωθείτε ότι μπορείτε να εκτελέσετε 75 00:04:06,080 --> 00:04:10,640 και ότι τυπώνει ακριβώς τι θέλετε να εκτυπώσετε, 76 00:04:14,050 --> 00:04:16,399 και στη συνέχεια, αν πάτε μπροστά και να σώσει ότι η αναθεώρηση 77 00:04:16,399 --> 00:04:21,600 Αναθεώρηση χρησιμοποιώντας το κουμπί Αποθήκευση, αυτή η πρώτη μικρός τύπος εδώ, 78 00:04:24,080 --> 00:04:27,340 και θα περάσει κάπως και να κάνουμε μια μικρή εισαγωγή με αυτόν τον τρόπο. 79 00:04:27,340 --> 00:04:30,150 Έτσι, θα πρέπει απλά να πατήσετε το κουμπί Play, 80 00:04:30,150 --> 00:04:32,550 που είναι εδώ πάνω αριστερά, 81 00:04:32,550 --> 00:04:35,340 έτσι ώστε αυτό το κουμπί Play στο πάνω αριστερά θα 82 00:04:35,340 --> 00:04:39,050 στείλετε τον κωδικό σας μακριά στον server μας, όπου παίρνει συγκεντρώνονται και στη συνέχεια να εκτελέσετε. 83 00:04:40,600 --> 00:04:43,300 Έτσι, αυτό που είναι κάπως τρελός γι 'αυτό είναι 84 00:04:43,300 --> 00:04:46,550 αυτός ο κώδικας είναι στην πραγματικότητα δεν τρέχει στον υπολογιστή σας? 85 00:04:46,550 --> 00:04:49,290 αυτό είναι πραγματικά που αποστέλλονται μέσω του Internet. 86 00:04:49,290 --> 00:04:51,240 >> Πώς πάει, Charlotte; 87 00:04:51,240 --> 00:04:54,810 >> Ι - εντάξει. I'm - Νομίζω ότι είμαι 88 00:04:54,810 --> 00:04:57,330 έχουν δυσκολίες εξοικονόμηση 89 00:04:57,330 --> 00:05:00,530 στον server, έτσι ώστε να μπορεί - Μπορώ να τρέξει το πρόγραμμα. 90 00:05:02,090 --> 00:05:05,780 Και στη συνέχεια, όταν προσπαθώ να το τρέξει, λέει ότι υπάρχει ένα σφάλμα. 91 00:05:05,780 --> 00:05:08,850 Χαρακτηρίστηκε ως έναν ιό, ο οποίος δεν είναι πια εκεί. 92 00:05:08,850 --> 00:05:11,860 Αχ, ας δούμε? Μπορεί να σας χτυπήσει Αποθήκευση πάλι; 93 00:05:11,860 --> 00:05:13,770 Το βλέπω στην οθόνη. 94 00:05:13,770 --> 00:05:15,120 >> Δεξιά, εντάξει, έτσι ώστε να είναι ό, τι έχω. 95 00:05:15,120 --> 00:05:19,430 Και δεν ξέρω γιατί δεν επιτρέψτε μου να τρέξει. 96 00:05:22,990 --> 00:05:24,990 Ω, εντάξει, συγνώμη. 97 00:05:27,930 --> 00:05:31,220 Μπορείτε να εξηγήσετε γιατί - αυτό που ήταν λάθος - αυτό που δεν δούλευε με αυτό; 98 00:05:31,220 --> 00:05:34,760 >> Ναι, γιατί δεν είδα ότι υπήρχε μια τελευταία γραμμή όπου υπάρχει ακόμα μια μεταβλητή 99 00:05:34,760 --> 00:05:37,700 ότι δεν είχε δηλωθεί, το οποίο δεν είχα την πρόθεση για να είναι εκεί. 100 00:05:37,700 --> 00:05:38,730 Ναι, τέλεια! 101 00:05:38,730 --> 00:05:40,390 >> Τώρα, αν θα το αποθηκεύσετε, νομίζω ότι θα πρέπει να εργαστεί. 102 00:05:40,390 --> 00:05:42,970 Τώρα που έχετε αποθηκεύσει το, δουλεύει? Φοβερό. 103 00:05:42,970 --> 00:05:44,570 >> Οπότε ναι, καθώς περνάμε - 104 00:05:44,570 --> 00:05:46,690 έτσι τι συνέβαινε, 105 00:05:46,690 --> 00:05:49,130 Είμαι ακριβώς πρόκειται να επαναλάβω αυτό για την κάμερα. 106 00:05:49,130 --> 00:05:51,760 Αυτό που συνέβαινε ήταν ότι αυτή η μεταβλητή s 107 00:05:51,760 --> 00:05:54,310 έμεινε στην μετά - υποθέτω ότι έχετε διαγράψει κάποια άλλα πράγματα 108 00:05:54,310 --> 00:05:56,670 όπου δηλώνονται ως, 109 00:05:56,670 --> 00:05:59,560 και έτσι αυτό πετούσε τα πράγματα μακριά και δεν επιτρέποντάς σας να τρέξει. 110 00:05:59,560 --> 00:06:02,540 Έτσι, αυτό είναι ακριβώς αυτό που θέλουμε να κάνουμε στο τμήμα 111 00:06:02,540 --> 00:06:05,690 είναι οι άνθρωποι προσπαθούν εγγράφως διαφορετικά κομμάτια του κώδικα, 112 00:06:05,690 --> 00:06:08,490 συντάσσουν και να δούμε τι λειτουργεί, να δούμε τι δεν κάνει, 113 00:06:08,490 --> 00:06:10,730 και στη συνέχεια κάπως μιλάμε για αυτά τα πράγματα, γιατί αυτά είναι τα σημεία ενεργοποίησης που 114 00:06:10,730 --> 00:06:12,850 Εξακολουθώ να συναντήσει, 115 00:06:12,850 --> 00:06:15,470 Εγώ ακόμα - να κάνω πολλά πράγματα ανόητο όλη την ώρα, 116 00:06:15,470 --> 00:06:17,820 και δεν ξέρω γιατί δεν λειτουργεί, 117 00:06:17,820 --> 00:06:22,960 οπότε ας σηκώσει την αναθεώρηση του Σαρλόττα 3, 118 00:06:23,980 --> 00:06:25,380 και εμείς θα το τρέξει. 119 00:06:25,380 --> 00:06:28,950 >> Έτσι, όταν τρέχω, τώρα που έχω τον κωδικό της εδώ, 120 00:06:28,950 --> 00:06:31,450 Μπορώ να μεγεθύνετε, πατήστε το κουμπί Run, 121 00:06:31,450 --> 00:06:33,680 ανεβάζει, χτίζει αυτό, τρέχει, 122 00:06:33,680 --> 00:06:36,980 λέει ότι έτρεξε με επιτυχία, και αν μετακινηθείτε προς τα κάτω, 123 00:06:36,980 --> 00:06:39,440 δείτε Charlotte είναι μια junior στο Adams House, 124 00:06:39,440 --> 00:06:42,720 ψυχολογία, δευτεροβάθμια στην οικονομία? φοβερό. 125 00:06:42,720 --> 00:06:44,310 Μεγάλη να σας γνωρίσουμε! 126 00:06:44,310 --> 00:06:46,550 Awesome. 127 00:06:46,550 --> 00:06:49,670 Εντάξει, κινείται, ας πάμε στον Δανιήλ, 128 00:06:49,670 --> 00:06:52,710 πηγαίνετε στο αναθεώρηση 3, 129 00:06:52,710 --> 00:06:54,180 καταρτίζουν, τρέχει? 130 00:06:54,180 --> 00:06:56,680 γιατί δεν μπορείτε να μας πείτε λίγα πράγματα για τον εαυτό σου, Daniel; 131 00:06:56,680 --> 00:06:59,380 Τηλεφώνησέ μου >> Dan. 132 00:06:59,380 --> 00:07:01,920 Πάω στο σχολείο επιχειρήσεων απέναντι από σας παιδιά, 133 00:07:01,920 --> 00:07:05,020 και ήμουν στο πεζοναύτες πριν από εδώ, 134 00:07:05,020 --> 00:07:08,020 και όλα αυτά είναι νέα για μένα, οπότε ναι. 135 00:07:08,020 --> 00:07:11,060 Να μην αισθάνονται άσχημα? Είμαι 30 και δεν ξέρω κανένα από αυτά τα πράγματα. 136 00:07:11,060 --> 00:07:13,800 Awesome? Χάρη, Dan! 137 00:07:13,800 --> 00:07:17,300 Εντάξει, έχουμε ένα άλλο Δανιήλ. 138 00:07:17,300 --> 00:07:20,930 Μπορείτε να πάτε από τον Daniel - θα εισαγάγει τον εαυτό σας, Ντάνιελ; 139 00:07:20,930 --> 00:07:22,260 >> >> Σίγουρα, είμαι ο Daniel. 140 00:07:22,260 --> 00:07:24,330 Είμαι δευτεροετής φοιτητής στο Mather τώρα. 141 00:07:24,330 --> 00:07:25,840 Είμαι επικεντρώνεται στην κυβέρνηση, 142 00:07:25,840 --> 00:07:28,760 αλλά ήθελα να CS50 επειδή έχω ακούσει πολύ καλές κριτικές για την κατηγορία 143 00:07:28,760 --> 00:07:30,750 και ποτέ δεν έχω δοκιμάσει πριν CS. 144 00:07:30,750 --> 00:07:34,680 Μετακινηθείτε προς τα κάτω και εδώ δείχνουν αυτό - δροσερό. 145 00:07:36,330 --> 00:07:39,090 Προχωρώντας, Jared. 146 00:07:39,090 --> 00:07:41,990 Πώς πάει; 147 00:07:41,990 --> 00:07:43,430 >> Καλό, how are you? 148 00:07:43,430 --> 00:07:47,520 Όπως μπορείτε να δείτε, είμαι κατώτερος συγκεντρωτή φιλοσοφία σε Eliot, 149 00:07:47,520 --> 00:07:50,260 αρχικά από τη νότια Καλιφόρνια, 150 00:07:50,260 --> 00:07:53,100 και είμαι ενδιαφέρονται να CS50 επειδή μου αρέσει η λογική του, 151 00:07:53,100 --> 00:07:57,420 και φαίνεται πραγματικά δροσερό για να κάνουμε τα πράγματα στον υπολογιστή, έτσι. 152 00:07:57,420 --> 00:07:59,570 Awesome? Όπου στη νότια Καλιφόρνια είσαι; 153 00:07:59,570 --> 00:08:02,340 >> Περίπου μια ώρα από [δεν ακούγεται], μια μικρή πόλη [δεν ακούγεται]. 154 00:08:02,340 --> 00:08:04,850 Ω, ναι, ο μπαμπάς μου είναι από Redlands. 155 00:08:04,850 --> 00:08:07,060 Cool πράγματα. 156 00:08:07,060 --> 00:08:12,130 >> Εντάξει, Jimmy? Πώς θα συμβεί, Jimmy; 157 00:08:12,130 --> 00:08:15,130 >> Καλό, how are you? 158 00:08:15,130 --> 00:08:16,040 Να κάνει αρκετά καλά! 159 00:08:16,040 --> 00:08:17,710 Μιλήστε μας για τον εαυτό σας. 160 00:08:17,710 --> 00:08:20,840 >> Είμαι καινούριος και δεν είμαι απόλυτα σίγουρος τι είμαι σε majoring 161 00:08:20,840 --> 00:08:22,820 αλλά είμαι κάπως κλίνει προς την οικονομία. 162 00:08:22,820 --> 00:08:25,680 Όπως Daniel πριν από μένα, ποτέ δεν έχω κάνει καμία CS, αλλά ακούγεται κάπως δροσερό. 163 00:08:25,680 --> 00:08:28,120 Είμαι αρχικά από το Σικάγο. 164 00:08:28,120 --> 00:08:31,640 Awesome. Έτσι ελέγξτε έξω εκτύπωση του εδώ. 165 00:08:31,640 --> 00:08:34,630 Ήθελα να ρωτήσω, έκανε αυτή την εκτύπωση, όπως περιμένατε; 166 00:08:34,630 --> 00:08:37,650 >> Όχι, έχω ξεχάσει να εκτυπώσετε μια νέα γραμμή. 167 00:08:37,650 --> 00:08:41,270 Εγώ πραγματικά ξέχασε ότι όταν έγραφα το πράγμα μου 168 00:08:41,270 --> 00:08:43,090 για πρώτη φορά, πάρα πολύ. 169 00:08:43,090 --> 00:08:46,330 Είναι το είδος του πόνου για να θυμηθείτε να βάλετε σε χέρι. 170 00:08:46,330 --> 00:08:50,560 Θα ήταν ωραίο αν το μόνο που ξέρουν είναι ότι ό, τι ήθελε. 171 00:08:50,560 --> 00:08:53,630 >> Εντάξει, Kelly. 172 00:08:53,630 --> 00:08:56,050 Πω πω, έχουμε 2 Kellys? 2 Daniels, 2 Kellys. 173 00:08:56,050 --> 00:09:00,490 Έτσι Kelly - πηγαίνετε από Kelly Ρεν; 174 00:09:00,490 --> 00:09:03,870 Εντάξει, φοβερό. 175 00:09:03,870 --> 00:09:07,270 Ή Kelly, εννοώ. 176 00:09:07,270 --> 00:09:10,260 >> Οπότε ναι, έτσι είμαι Kelly. 177 00:09:10,260 --> 00:09:12,930 Είμαι δευτεροετής φοιτητής στο Pfoho. 178 00:09:12,930 --> 00:09:17,000 Πήρα ένα e-mail σήμερα ότι έχω ακόμα 7 εβδομάδες να κηρύξει συγκέντρωση μου, 179 00:09:17,000 --> 00:09:20,940 έτσι προσπαθώ να μην το σκέφτομαι, 180 00:09:20,940 --> 00:09:24,090 και μου αρέσει το ψήσιμο, το τρέξιμο, και Craisins. 181 00:09:24,090 --> 00:09:29,110 Δεν έχω εμπειρία με περισσότερες από CS? 182 00:09:29,110 --> 00:09:32,700 Εγώ ο ίδιος δίδαξε να οικοδομήσουμε ιστοσελίδες όταν ήμουν πολύ νέος, 183 00:09:32,700 --> 00:09:35,750 αλλά νομίζω ότι ίσως διδάξει τον εαυτό μου λάθος πολλές φορές. 184 00:09:35,750 --> 00:09:39,260 Ας ελπίσουμε ότι θα μάθω λίγο περισσότερο 185 00:09:39,260 --> 00:09:41,450 και - ναι. 186 00:09:41,450 --> 00:09:44,100 >> Awesome? Καλά, σας ευχαριστώ. 187 00:09:44,100 --> 00:09:47,190 Ας πάμε στο άλλο Kelly? 188 00:09:47,190 --> 00:09:48,880 Δεν έχω τίποτα - δεν θα πω κάτι εδώ; 189 00:09:48,880 --> 00:09:51,880 >> [Δεν ακούγεται] 190 00:09:51,880 --> 00:09:56,180 Εκεί είναι! 191 00:09:56,180 --> 00:09:58,120 Γλυκό! 192 00:09:58,120 --> 00:10:01,400 >> Εντάξει, έτσι είμαι Kelly. 193 00:10:01,400 --> 00:10:03,980 Είμαι μια πρωτοετής μεταπτυχιακός φοιτητής. 194 00:10:03,980 --> 00:10:05,560 Είμαι majoring στο μυαλό, Εγκέφαλος και Παιδεία. 195 00:10:05,560 --> 00:10:07,940 Αποφοίτησα το Franklin & Marshall College το 2008 196 00:10:07,940 --> 00:10:10,840 με μεγαλύτερες εταιρίες στην ψυχολογία και κοινωνιολογία 197 00:10:10,840 --> 00:10:13,120 και ένας ανήλικος στα γαλλικά. 198 00:10:13,120 --> 00:10:15,330 Παίρνω CS50 199 00:10:15,330 --> 00:10:18,080 επειδή είμαι ενδιαφέρονται για να πάρει το διδακτορικό στις Νευροεπιστήμες 200 00:10:18,080 --> 00:10:21,220 και νιώθω σαν αυτό θα με βοηθήσει να κατανοήσουν τις τεχνολογίες που χρησιμοποιούνται. 201 00:10:21,220 --> 00:10:23,150 Awesome. 202 00:10:26,980 --> 00:10:29,390 Προχωρώντας, Μικαέλα. 203 00:10:29,390 --> 00:10:31,640 Είναι ότι η σωστή προφορά; 204 00:10:31,640 --> 00:10:32,990 Εντάξει, φοβερό. 205 00:10:32,990 --> 00:10:34,640 >> >> Είμαι Mikhaila. 206 00:10:34,640 --> 00:10:36,870 Είμαι δευτεροετής φοιτητής στο Kirkland House, 207 00:10:36,870 --> 00:10:39,950 και εγώ θα επικεντρωθώ σε Μηχανολόγων Μηχανικών. 208 00:10:39,950 --> 00:10:43,180 Μου αρέσει πολύ το ποδήλατο, ένα ποδήλατο χτίστηκε αυτό το καλοκαίρι. 209 00:10:43,180 --> 00:10:46,140 Παίρνω CS, στην πραγματικότητα, 210 00:10:46,140 --> 00:10:48,350 ως απαίτηση συγκέντρωση, 211 00:10:48,350 --> 00:10:52,550 αλλά ξέρετε, νομίζω ότι είναι ακόμα δροσερό είδος της μηχανικής. 212 00:10:52,550 --> 00:10:55,150 Awesome - έχετε δημιουργήσει ένα ποδήλατο αυτό το καλοκαίρι; 213 00:10:55,150 --> 00:10:56,730 Ναι >>. 214 00:10:56,730 --> 00:10:58,900 Πω πω, όπως το πλαίσιο και όλα αυτά; 215 00:10:58,900 --> 00:11:00,120 >> Uh-hunh (θετική). 216 00:11:00,120 --> 00:11:01,530 Πω πω, αυτό είναι πραγματικά δροσερό. 217 00:11:01,530 --> 00:11:06,370 >> [Ακούγεται off-camera συνομιλίας] 218 00:11:06,370 --> 00:11:10,000 [Γέλια] 219 00:11:12,640 --> 00:11:14,200 Ναι, αυτό είναι τόσο μεγάλο διάστημα. 220 00:11:14,200 --> 00:11:16,730 Ποτέ δεν ξέρεις, έτσι δεν είναι; 221 00:11:16,730 --> 00:11:19,420 Λοιπόν, δροσερό? Καλά χάρη, Mikhaila. 222 00:11:19,420 --> 00:11:21,390 >> Εντάξει, δεσποινίς. 223 00:11:21,390 --> 00:11:23,280 >> Missy όνομά μου? Είμαι καινούριος, 224 00:11:23,280 --> 00:11:25,500 έτσι ώστε να σημαίνει ότι δεν ξέρω τίποτα! 225 00:11:25,500 --> 00:11:29,180 Θέλω να επικεντρωθώ στην αστροφυσική. 226 00:11:29,180 --> 00:11:31,220 Το CS50, 227 00:11:31,220 --> 00:11:33,350 Νιώθω σαν σίγουρα θα βοηθήσει με αυτό. 228 00:11:33,350 --> 00:11:37,750 Ένα περίεργο γεγονός για μένα είναι ότι είμαι ένα εθνικό πιστοποιημένο πυροσβέστης. 229 00:11:37,750 --> 00:11:39,960 Wow! 230 00:11:39,960 --> 00:11:42,440 Πώς συνέβη αυτό; 231 00:11:42,440 --> 00:11:45,570 >> Παρακολούθησα μια ακαδημία 232 00:11:45,570 --> 00:11:49,000 και πήγε μέσα από την κόλαση για πολλές εβδομάδες 233 00:11:49,000 --> 00:11:51,200 και πήρε την πιστοποίηση μου. 234 00:11:51,200 --> 00:11:54,090 Πω πω, συγχαρητήρια! 235 00:11:54,090 --> 00:11:57,280 Αυτό δεν είναι μικρό κατόρθωμα, αυτό είναι σίγουρο. 236 00:11:57,280 --> 00:11:59,070 Εντάξει, έτσι τώρα θα κάνω. 237 00:11:59,070 --> 00:12:01,290 Είμαι η επόμενη στη σειρά. 238 00:12:01,290 --> 00:12:04,510 I'm - να τρέξει. 239 00:12:04,510 --> 00:12:07,580 >> Έτσι, το όνομά μου είναι Nate. 240 00:12:07,580 --> 00:12:11,160 Ήμουν τάξη του 2009 στο Πανεπιστήμιο του Στάνφορντ. 241 00:12:11,160 --> 00:12:13,840 Ήμουν ένα συμβολικό Συστήματα μεγάλες, 242 00:12:13,840 --> 00:12:17,370 το οποίο είναι παρόμοιο με το μυαλό, Εγκέφαλος, Συμπεριφορά συγκέντρωση εδώ, 243 00:12:17,370 --> 00:12:19,300 αλλά αυτό είναι το είδος της ένα μείγμα από 244 00:12:19,300 --> 00:12:22,350 επιστήμη των υπολογιστών, γλωσσολογία, ψυχολογία, και φιλοσοφία. 245 00:12:22,350 --> 00:12:26,600 Είδος - ναι, πολλά περίεργα πράγματα, αλλά ήταν μεγάλη, 246 00:12:26,600 --> 00:12:29,880 και στη συνέχεια έκανα μεταπτυχιακό μου στην Επιστήμη των Υπολογιστών εκεί, καθώς και. 247 00:12:29,880 --> 00:12:33,250 Έτσι, είμαι νέος στο Χάρβαρντ φέτος. 248 00:12:33,250 --> 00:12:35,750 Ήθελα πραγματικά να μπει σε διδασκαλία. 249 00:12:35,750 --> 00:12:39,860 Πέρασα τα τελευταία 4 χρόνια σε τάξεις του Stanford TA-σης Επιστήμη των Υπολογιστών 250 00:12:39,860 --> 00:12:43,370 και έτσι ο David επιτρέψτε μου έλα, 251 00:12:43,370 --> 00:12:45,550 και εγώ θα πρέπει να βοηθήσετε με CS50, 252 00:12:45,550 --> 00:12:47,890 έτσι ώστε να κάνω αυτό με πλήρη απασχόληση? Δεν είμαι στο σχολείο grad. 253 00:12:47,890 --> 00:12:50,330 Ήταν διασκεδαστικό. 254 00:12:50,330 --> 00:12:53,130 Ας ελπίσουμε ότι αυτό θα συνεχίσει να είναι διασκέδαση? Είμαι σίγουρος ότι θα το κάνει. 255 00:12:53,130 --> 00:12:56,040 >> Εντάξει, Σαμ. 256 00:13:01,910 --> 00:13:05,470 >> Το όνομά μου είναι Σαμ? Είμαι δευτεροετής φοιτητής στο κολέγιο, ειδικά στο νόμο. 257 00:13:05,470 --> 00:13:10,110 Μεγάλες μου θα είναι ιστορία της επιστήμης, κατά πάσα πιθανότητα, και Ves δευτεροβάθμια, 258 00:13:10,110 --> 00:13:13,240 και το αγαπημένο μου χρώμα είναι κίτρινο. 259 00:13:18,790 --> 00:13:21,100 Δεν πρέπει να κρίνουμε ή οτιδήποτε, αλλά είναι ένα καλό χρώμα! 260 00:13:21,100 --> 00:13:24,780 Και Στέλλα. 261 00:13:24,780 --> 00:13:26,980 >> Γεια σου, είμαι Στέλλα? Είμαι μια πρωτοετής στο Grays. 262 00:13:26,980 --> 00:13:30,070 Δεν έχω ιδέα τι έχω συγκεντρώνεται σε ακόμα, 263 00:13:30,070 --> 00:13:32,500 CS50 έτσι ήταν ακριβώς το είδος της τυχαίας, 264 00:13:32,500 --> 00:13:34,220 η οποία είναι ενδιαφέρουσα. 265 00:13:34,220 --> 00:13:36,080 Γεγονός Fun, Jimmy ήταν ο πρώτος φίλος του ορυχείου του Χάρβαρντ, 266 00:13:36,080 --> 00:13:38,360 επειδή είμαστε και οι δύο από το Σικάγο. 267 00:13:38,360 --> 00:13:42,450 Cool, και η Grace - που υποτίθεται ότι είναι το πολύ ωραίο, έτσι δεν είναι; 268 00:13:42,450 --> 00:13:45,220 Σκέφτηκα >> [δεν ακούγεται]. 269 00:13:45,220 --> 00:13:46,690 Ω, ναι. 270 00:13:46,690 --> 00:13:51,210 [Δεν ακούγεται / off-camera συνομιλίας] 271 00:13:51,210 --> 00:13:54,420 Εντάξει? Είμαι ακόμα μαθαίνω, ακόμα μαθαίνω. 272 00:13:54,420 --> 00:13:57,800 >> Έτσι, έχουμε κάτι άλλο το οποίο είναι το είδος του ενδιαφέροντα εδώ. 273 00:13:59,600 --> 00:14:02,870 Ναι, είμαι απλώς αναρωτιούνται, έχετε μια ιδέα που συμβαίνει εδώ; 274 00:14:02,870 --> 00:14:05,890 Ξέρεις πώς να το ερμηνεύσουμε αυτό; 275 00:14:05,890 --> 00:14:13,340 >> Θα έπρεπε να θέσει το ερωτηματικό μετά από κάθε γραμμή. 276 00:14:13,340 --> 00:14:16,370 Αυτό είναι το είδος του πόνου. 277 00:14:16,370 --> 00:14:19,100 Μερικές φορές αυτά τα ερωτηματικά μπορεί να είναι ένας πραγματικός πόνος για να εντοπίσουμε. 278 00:14:19,100 --> 00:14:21,420 Έτσι, αποδεικνύεται ότι 279 00:14:21,420 --> 00:14:22,820 το ειδικό πρόγραμμα που χρησιμοποιούμε για φέτος 280 00:14:22,820 --> 00:14:26,670 καταρτίζουν C κώδικα μας ονομάζεται Clang, 281 00:14:26,670 --> 00:14:29,460 και ο λόγος που έχουν αρχίσει να χρησιμοποιούν Clang φέτος - 282 00:14:29,460 --> 00:14:32,030 γιατί δεν έχετε χρησιμοποιήσει αυτό το πρόγραμμα στο παρελθόν? 283 00:14:32,030 --> 00:14:35,710 έχουμε χρησιμοποιήσει ένα άλλο που ονομάζεται GCC που είναι πολύ δημοφιλής - 284 00:14:35,710 --> 00:14:38,420 Clang σας δίνει πραγματικά μηνύματα λάθους που να έχει νόημα. 285 00:14:38,420 --> 00:14:41,420 Αυτό και μόνο λέει ότι «αναμένεται»? »Μετά την έκφραση", 286 00:14:41,420 --> 00:14:45,260 και το λέει ακόμα και την έκφραση σας μετά από την οποία θα χρειαζόταν ένα ερωτηματικό. 287 00:14:45,260 --> 00:14:47,830 Έτσι θα είναι για τον καθορισμό; 288 00:14:47,830 --> 00:14:48,930 >> Ναι, αυτή τη στιγμή. 289 00:14:48,930 --> 00:14:52,040 Awesome? Επιτρέψτε μου να ξέρω και θα το σηκώσει, και θα το τρέξει. 290 00:14:52,040 --> 00:14:55,830 Αλλά ναι, βάζοντας αυτά τα ερωτηματικά είναι το είδος του πόνου. 291 00:14:55,830 --> 00:14:59,580 >> Το έφτιαξα, οπότε πιστεύω ότι θα πρέπει να λειτουργεί. 292 00:14:59,580 --> 00:15:02,760 Awesome - αναθεώρηση 3. 293 00:15:02,760 --> 00:15:05,250 Αυτό μοιάζει με αυτό. 294 00:15:05,250 --> 00:15:08,580 Εντάξει, έτσι τώρα αν θέλουμε να τρέξει, 295 00:15:08,580 --> 00:15:11,020 εκεί πηγαίνει. 296 00:15:11,020 --> 00:15:13,830 Cool πράγματα. 297 00:15:13,830 --> 00:15:15,340 >> Εντάξει. 298 00:15:15,340 --> 00:15:18,230 Έτσι, ευχαριστώ για αυτό. 299 00:15:18,230 --> 00:15:20,210 Είναι μεγάλη για να σας γνωρίσουμε παιδιά. 300 00:15:20,210 --> 00:15:22,880 Αυτό που θα κάνουμε τώρα είναι να περάσουν το επόμενο λίγο 301 00:15:22,880 --> 00:15:24,740 κάπως καταδύσεις στα προβλήματα ενότητα 302 00:15:24,740 --> 00:15:27,550 που προέρχονται από το πρόβλημα που από αυτή την εβδομάδα 303 00:15:27,550 --> 00:15:29,920 και εμείς θα κάνουμε ότι για τα περισσότερα από τα τμήματα 304 00:15:29,920 --> 00:15:32,110 για το υπόλοιπο της περιόδου, 305 00:15:32,110 --> 00:15:35,580 και στη συνέχεια θα σώσει την τελευταία 15, 20 λεπτά ή έτσι 306 00:15:35,580 --> 00:15:38,490 να μιλήσουμε για το ίδιο το πρόβλημα που 307 00:15:38,490 --> 00:15:41,420 και στη συνέχεια, μόλις οποιαδήποτε άλλη απορία έχετε γενικά για την τάξη. 308 00:15:43,380 --> 00:15:45,670 Τούτου λεχθέντος, αυτό που πραγματικά θέλω να κάνω 309 00:15:45,670 --> 00:15:49,390 είναι ότι όλοι συμμετέχουν 310 00:15:49,390 --> 00:15:51,500 χρησιμοποιώντας τα πράγματα χώρους, 311 00:15:51,500 --> 00:15:53,500 ρίχνουν στον κώδικα, ρίχνοντας σε προτάσεις, 312 00:15:53,500 --> 00:15:56,500 και όταν μιλάμε για πράγματα όπως το διάλειμμα 313 00:15:56,500 --> 00:15:58,360 ή δεν λειτουργούν, μόνο και μόνο επειδή αυτά είναι πράγματα που 314 00:15:58,360 --> 00:16:00,870 Ξέρω ότι ήρθα σε 315 00:16:00,870 --> 00:16:03,180 όταν άρχισα κωδικοποίησης, 316 00:16:03,180 --> 00:16:05,490 και ήταν πραγματικά κάπως απογοητευτικό μερικές φορές 317 00:16:05,490 --> 00:16:08,690 γιατί αν είναι σαν δύο το πρωί πριν από σύνολο πρόβλημά σας οφείλεται, 318 00:16:08,690 --> 00:16:11,330 έτσι - μόνο για την αποκάλυψη, 319 00:16:11,330 --> 00:16:14,590 Δεν είχα ξεκινήσει προγραμματισμό μέχρι ήμουν δευτεροετής φοιτητής στο κολέγιο. 320 00:16:14,590 --> 00:16:17,360 Ήταν το είδος του αυτό το παράξενο, άγνωστο πράγμα 321 00:16:17,360 --> 00:16:20,360 ότι άκουσα ήταν κάπως δροσερό 322 00:16:20,360 --> 00:16:23,590 και έχω ακούσει επίσης θα μπορούσε να είναι ένας πραγματικός πόνος στην άκρη 323 00:16:23,590 --> 00:16:27,610 αν χάσετε ένα ερωτηματικό και αυτό είναι το μόνο σφάλμα διατηρώντας το πρόγραμμά σας από την εργασία 324 00:16:27,610 --> 00:16:30,890 και σας κρατά από το να πηγαίνουν για ύπνο, 325 00:16:30,890 --> 00:16:32,650 έτσι σίγουρα, 326 00:16:32,650 --> 00:16:34,020 Εάν έχετε ερωτήσεις, όπως ότι, 327 00:16:34,020 --> 00:16:37,060 εάν έχετε προβλήματα όπως αυτό, επιτρέψτε μου να ξέρω, 328 00:16:37,060 --> 00:16:40,050 επειδή θέλω να κάνω αυτό μια καλή εμπειρία για σας παιδιά. 329 00:16:40,050 --> 00:16:44,620 >> Έτσι, έχετε κατεβάσει όλα τα παιδιά το πρόβλημα που ακόμα; 330 00:16:44,620 --> 00:16:47,160 Κάπως ξέρετε πού είναι; Εντάξει. 331 00:16:47,160 --> 00:16:51,490 Έτσι θα πάμε να cs50.net, γιατί δεν το έχουν σε αυτό το λογαριασμό, 332 00:16:51,490 --> 00:16:54,110 τραβήξτε τα σύνολα πρόβλημα, 333 00:16:54,110 --> 00:16:57,940 τραβήξτε σετ πρόβλημα 2, και θα εξετάσουμε το πρότυπο έκδοση σήμερα. 334 00:16:57,940 --> 00:17:01,190 Θα τραβήξει μέχρι και τις προδιαγραφές εδώ. 335 00:17:02,640 --> 00:17:04,420 Μετακινηθείτε προς τα κάτω. 336 00:17:06,790 --> 00:17:11,109 Γι 'αυτό και θα αρχίσουν να βλέπουν αυτό το τμήμα των ερωτήσεων. 337 00:17:14,069 --> 00:17:16,710 Έχετε δει αυτά τα παιδιά σορτς ακόμα; 338 00:17:16,710 --> 00:17:18,329 Εντάξει. 339 00:17:18,329 --> 00:17:21,329 Έτσι υπάρχουν σορτς για βρόχους, 340 00:17:21,329 --> 00:17:24,700 η οποία γίνεται από τον Tommy, ένας από τους υποτρόφους διδασκαλίας κεφάλι. 341 00:17:24,700 --> 00:17:27,230 Υπάρχει ένα αφορά το πεδίο εφαρμογής, 342 00:17:27,230 --> 00:17:30,530 Πιστεύω ότι γίνεται από άλλο συναδέλφους διδασκαλίας που ονομάζεται David 343 00:17:30,530 --> 00:17:33,400 και στη συνέχεια, ένα για Caesar Cipher γίνει επίσης από τον David. 344 00:17:33,400 --> 00:17:35,550 Είναι αρκετά δροσερό. 345 00:17:35,550 --> 00:17:37,770 Έχετε παιδιά έχουν βλέποντας σορτς τους μέχρι τώρα; 346 00:17:37,770 --> 00:17:39,270 Πώς το ότι ήταν; 347 00:17:39,270 --> 00:17:41,490 Χρήσιμη κριτική; Εντάξει, καλό να γνωρίζουμε. 348 00:17:41,490 --> 00:17:44,210 Αν δεν είστε, μπορείτε να το πω έτσι. 349 00:17:46,290 --> 00:17:49,870 Αλλά πριν το κάνετε, 350 00:17:49,870 --> 00:17:52,600 έχετε παιδιά εξέτασαν αυτές τις ερωτήσεις 351 00:17:52,600 --> 00:17:55,430 καθόλου; 352 00:17:55,430 --> 00:17:57,480 >> Ας μιλήσουμε γι 'αυτό λίγο. 353 00:17:57,480 --> 00:18:00,600 Έτσι, έχουμε εισαγάγει τις τελευταίες δύο εβδομάδες 354 00:18:00,600 --> 00:18:02,480 σε διάλεξη 355 00:18:02,480 --> 00:18:04,910 ένας αριθμός διαφορετικών βρόχων. 356 00:18:04,910 --> 00:18:06,140 Υπάρχει ο βρόχος for, 357 00:18:06,140 --> 00:18:09,570 ενώ ο βρόχος, και στη συνέχεια το do-while loop, 358 00:18:09,570 --> 00:18:13,100 και σε διάλεξη, έχουμε μιλήσει πολύ για 359 00:18:13,100 --> 00:18:16,010 πώς αυτές οι βρόχοι είναι όλα 360 00:18:16,010 --> 00:18:18,320 αρκετά παρόμοια με πολλούς τρόπους, 361 00:18:18,320 --> 00:18:21,210 και μπορείτε να κάνετε πολλά από τα ίδια πράγματα με έναν βρόχο, ενώ 362 00:18:21,210 --> 00:18:23,260 ότι μπορείτε να κάνετε με ένα βρόχο for. 363 00:18:23,260 --> 00:18:26,300 Απλά πρέπει να το είδος χρήσης τους σωστούς συνδυασμούς των μεταβλητών και τέτοια. 364 00:18:26,300 --> 00:18:28,680 και έτσι πραγματικά 365 00:18:28,680 --> 00:18:31,200 η πραγματική διάκριση μεταξύ όλων των βρόχων είναι ότι 366 00:18:31,200 --> 00:18:33,620 μερικές φορές είναι πιο χρήσιμο 367 00:18:33,620 --> 00:18:36,930 να τα χρησιμοποιήσετε σε ένα χρόνο από ό, τι σε άλλη χρονική στιγμή. 368 00:18:36,930 --> 00:18:39,340 >> Έτσι για παράδειγμα, 369 00:18:39,340 --> 00:18:42,260 ο βρόχος ενώ διαφέρουν από ένα do-while loop. 370 00:18:42,260 --> 00:18:45,680 Μήπως όλοι αισθάνονται σαν να έχουν μια καλή λαβή για το πότε 371 00:18:45,680 --> 00:18:48,650 ένα do-while loop είναι περισσότερο 372 00:18:48,650 --> 00:18:50,990 χρήσιμο ή ποια είναι η διαφορά; 373 00:18:50,990 --> 00:18:53,410 >> Νομίζω ότι η διαφορά είναι ένα do-while loop 374 00:18:53,410 --> 00:18:56,960 τρέχει - δεν ξέρω αρκετά τι είναι η ορολογία, 375 00:18:56,960 --> 00:18:59,750 αλλά η σειρά των λειτουργιών στο εσωτερικό του βρόχου. 376 00:18:59,750 --> 00:19:02,020 Τα αυτόματα - θα κάνει τρεξίματα του τουλάχιστον 377 00:19:02,020 --> 00:19:05,390 πριν από ελέγχει την κατάσταση, ή ο βρόχος ενώ θα τρέχει μόνο όταν 378 00:19:05,390 --> 00:19:08,290 τρέχει συνεχώς - αν ή όχι η κατάσταση είναι ικανοποιημένοι. 379 00:19:08,290 --> 00:19:11,010 Ναι, κάνει ότι κάνει αίσθηση; 380 00:19:11,010 --> 00:19:14,200 >> Ας ρίξουμε μια ματιά σε ένα μικρό κομμάτι του κώδικα. 381 00:19:14,200 --> 00:19:16,930 Έτσι απλά για να επαναλάβετε την ερώτηση, 382 00:19:16,930 --> 00:19:19,230 ή η απάντηση, μάλλον? 383 00:19:19,230 --> 00:19:22,050 η απάντηση ήταν ότι 384 00:19:22,050 --> 00:19:25,850 ένα βρόχο, ενώ θα ελέγξει για να δει εάν η κατάσταση 385 00:19:25,850 --> 00:19:27,440 που καθορίζετε ικανοποιείται 386 00:19:27,440 --> 00:19:31,320 πριν τρέχει το σώμα του βρόχου, για πρώτη φορά, 387 00:19:31,320 --> 00:19:35,000 λαμβάνοντας υπόψη ότι η do-ενώ, βρόχος θα εκτελείται αυτόματα το σώμα του βρόχου 388 00:19:35,000 --> 00:19:38,450 Είναι αυτό που λέμε - είναι παράξενο ορολογία, 389 00:19:38,450 --> 00:19:41,460 αλλά αν πω ποτέ κάτι που δεν έχει νόημα, επιτρέψτε μου να ξέρω - 390 00:19:41,460 --> 00:19:45,360 το σώμα βρόχου είναι ότι τα πράγματα που βάζετε ανάμεσα στα άγκιστρα. 391 00:19:45,360 --> 00:19:47,840 Και σε ένα do-while loop, 392 00:19:47,840 --> 00:19:50,220 Ο εν λόγω οργανισμός να πάρει τρέξει τουλάχιστον μία φορά, 393 00:19:50,220 --> 00:19:54,460 και τότε η κατάσταση γίνεται έλεγχος πριν από την εκτέλεση κάθε διαδοχική φορά. 394 00:19:54,460 --> 00:19:56,580 >> Έτσι, στην πραγματικότητα, ο Σαμ, 395 00:19:56,580 --> 00:20:00,820 πειράζει γραπτώς, ενώ ένα απλό βρόχο 396 00:20:00,820 --> 00:20:02,840 σε χώρους; 397 00:20:02,840 --> 00:20:05,600 >> Πώς μπορείτε να ταξινομήσετε του, όπως 398 00:20:05,600 --> 00:20:07,060 δημιουργήσετε ένα νέο ...; 399 00:20:07,060 --> 00:20:09,220 Θέλω μόνο να διαγράψετε ό, τι έχετε εκεί. 400 00:20:09,220 --> 00:20:11,300 Ναι, καταργήστε ακριβώς έξω. 401 00:20:11,300 --> 00:20:14,510 >> Λοιπόν, πιστεύω ότι είμαι έχοντας αυτό - 402 00:20:14,510 --> 00:20:16,640 ποια θέλετε, λίγο, ή θέλετε ...; 403 00:20:16,640 --> 00:20:19,350 Ναι, απλά λίγο αλήθεια, εκτυπώσετε κάτι. 404 00:20:21,050 --> 00:20:23,140 Και ας δούμε. 405 00:20:23,140 --> 00:20:25,850 Αλέξανδρος, συνειδητοποίησα ότι ποτέ δεν εισήγαγε. 406 00:20:25,850 --> 00:20:27,510 >> Ω, αυτό είναι εντάξει. 407 00:20:27,510 --> 00:20:30,760 Μήπως σας - μπορείτε να κωδικοποιήσουν ένα do-while loop για εμάς; 408 00:20:30,760 --> 00:20:32,520 >> Ναι, θα προσπαθήσω. 409 00:20:32,520 --> 00:20:34,370 Εντάξει, θα τραβήξει αυτά ακριβώς επάνω στην οθόνη, 410 00:20:34,370 --> 00:20:38,240 έτσι ώστε να έχουν το είδος του μια λαβή για το ποιες είναι οι διαφορές. 411 00:20:38,240 --> 00:20:41,280 >> Έτσι, εδώ είναι ό, τι έχει κάνει ο Σαμ. 412 00:20:41,280 --> 00:20:44,460 Πήρε έναν ακέραιο που ονομάζεται i 413 00:20:44,460 --> 00:20:47,480 ότι αυτός είναι που ξεκινά σε 17. 414 00:20:47,480 --> 00:20:51,570 Τότε, λέει, ενώ (int i = 17) 415 00:20:51,570 --> 00:20:54,230 printf ("Το όνομά μου είναι Σαμ.")? 416 00:20:54,230 --> 00:20:57,300 Έτσι τι συμβαίνει όταν εκτελέσετε αυτόν τον κώδικα; 417 00:20:57,300 --> 00:21:00,340 Υπάρχει ένα λάθος? Τι κάνει το λάθος να πω; 418 00:21:00,340 --> 00:21:02,890 Ας το σηκώσει και να μιλήσουμε γι 'αυτό. 419 00:21:02,890 --> 00:21:05,040 Παρουσιάστηκε σφάλμα, λέει. 420 00:21:05,040 --> 00:21:07,400 Ας μετακινηθείτε προς τα κάτω. 421 00:21:07,400 --> 00:21:09,460 Γι 'αυτό μας έδωσε αυτό το σφάλμα, και είπε, 422 00:21:09,460 --> 00:21:12,690 "Γεια σου, περίμενα μια έκφραση." 423 00:21:12,690 --> 00:21:16,180 Αυτό είναι κάπως αινιγματικό. 424 00:21:19,160 --> 00:21:23,140 Ναι, έτσι ακριβώς - και πάλι, 425 00:21:23,140 --> 00:21:27,140 θα υπάρχει ένα άλλο μικρό έντομο που θα πιάσει σε μόλις ένα δευτερόλεπτο. 426 00:21:27,140 --> 00:21:31,800 Αλλά αυτό είναι ένα άλλο ένα από αυτά τα περίεργα είδος της ορολογίας πράγματα, 427 00:21:31,800 --> 00:21:36,150 έτσι αυτό το int i = 17 428 00:21:36,150 --> 00:21:39,290 δεν είναι μια έκφραση. 429 00:21:39,290 --> 00:21:41,220 Αυτό που μοιάζει να κάνει είναι ότι είναι 430 00:21:41,220 --> 00:21:43,410 δηλώνοντας έναν ακέραιο αριθμό που ονομάζεται i 431 00:21:43,410 --> 00:21:45,540 και τον καθορισμό αυτό να ισούται με έως 17 432 00:21:45,540 --> 00:21:48,780 ή, μάλλον, βάζοντας 17 σε εκείνο το int i ονομάζεται. 433 00:21:50,560 --> 00:21:53,350 Και ότι δεν έχει νόημα 434 00:21:53,350 --> 00:21:55,790 στο πλαίσιο αυτού του βρόχου, ενώ. 435 00:21:55,790 --> 00:21:58,190 Αυτό έχει νόημα, όπως θα δούμε, 436 00:21:58,190 --> 00:22:01,250 στο πλαίσιο ενός βρόχου for, επειδή για τις δηλώσεις βρόχο δεν ξεκινούν 437 00:22:01,250 --> 00:22:05,800 με ότι για int i ισούται με κάτι 438 00:22:05,800 --> 00:22:07,830 και συνεχίζεται. 439 00:22:07,830 --> 00:22:09,500 >> Έτσι έκανες - 440 00:22:09,500 --> 00:22:12,630 διορθώσετε κάτι, εντάξει. 441 00:22:12,630 --> 00:22:15,270 Εδώ πηγαίνει? Φοβερό. 442 00:22:15,270 --> 00:22:17,920 Μέχρι τώρα τα πράγματα φαίνονται λίγο διαφορετικά. 443 00:22:17,920 --> 00:22:19,030 Ένα ζευγάρι από τα πράγματα έχουν αλλάξει. 444 00:22:19,030 --> 00:22:21,300 Μπορείτε να μας πείτε ποια πράγματα έχουν αλλάξει; 445 00:22:21,300 --> 00:22:24,950 >> Πήρα το int, οπότε δεν υπάρχει δήλωση [δεν ακούγεται] αντί της εκχώρησης. 446 00:22:24,950 --> 00:22:28,770 Το ένα σύμβολο της ισότητας, έβαλα 2 ίσες σημάδια, που σημαίνει μια ίσοι. 447 00:22:28,770 --> 00:22:30,560 Awesome. 448 00:22:30,560 --> 00:22:33,320 Ναι, ναι, τι έκανε ο Σαμ ήταν αυτός που έβγαλε το int 449 00:22:33,320 --> 00:22:35,770 που ήταν εδώ νωρίτερα, 450 00:22:35,770 --> 00:22:39,340 οπότε αν εξετάσουμε μόνο σε αυτό - αυτό είναι ό, τι ήταν προηγουμένως, είπε int, 451 00:22:39,340 --> 00:22:41,970 η οποία θα δηλώνεται - έτσι πήραμε από τον τύπο. 452 00:22:41,970 --> 00:22:44,710 Υπάρχει int, char, string, σύντομο, 453 00:22:44,710 --> 00:22:47,380 αυτά ονομάζονται τύπους. 454 00:22:47,380 --> 00:22:49,510 Έτσι πήρε από τον τύπο 455 00:22:49,510 --> 00:22:51,580 και ακολούθως προηγουμένως, 456 00:22:51,580 --> 00:22:54,190 είχε ακριβώς το ενιαίο ίσον 457 00:22:54,190 --> 00:22:57,300 και ό, τι είπε ήταν προβληματική σχετικά με αυτό 458 00:22:57,300 --> 00:22:59,580 όταν έχετε 1 ίσον, 459 00:22:59,580 --> 00:23:01,780 αυτό είναι ένας φορέας ανάθεσης. 460 00:23:01,780 --> 00:23:04,930 Αυτό δεν είναι να εξεταστεί κατά πόσον ή όχι 2 πράγματα είναι ίσες. 461 00:23:04,930 --> 00:23:07,920 Αυτός είναι πραγματικά κάτι ρύθμιση ίση με κάτι. 462 00:23:07,920 --> 00:23:11,110 Βάζουμε τον αριθμό 17 στη μεταβλητή i. 463 00:23:11,110 --> 00:23:13,850 Έτσι για να κάνει αυτό το είδος της σύγκρισης, 464 00:23:13,850 --> 00:23:16,430 θα πρέπει να χρησιμοποιήσετε το διπλό ισούται, 465 00:23:16,430 --> 00:23:19,640 το οποίο είναι το είδος του ένα παράξενο πράγμα 466 00:23:19,640 --> 00:23:22,760 αλλά είναι ένα αρκετά συνηθισμένο σφάλμα. 467 00:23:23,980 --> 00:23:27,830 Έτσι, ένα άλλο πράγμα που θα επισημάνω, αν δεν σας πειράζει, 468 00:23:27,830 --> 00:23:30,610 είναι ότι σε 469 00:23:30,610 --> 00:23:33,210 λειτουργία μας εδώ στο int main, 470 00:23:33,210 --> 00:23:36,740 μπορείτε να δείτε ότι το σώμα της λειτουργίας μας 471 00:23:36,740 --> 00:23:39,810 αντισταθμίζεται από την αριστερή πλευρά 472 00:23:39,810 --> 00:23:42,400 με 4 θέσεις ή μια καρτέλα. 473 00:23:42,400 --> 00:23:44,730 Ο λόγος που το κάνουμε αυτό 474 00:23:44,730 --> 00:23:47,000 είναι μόνο για ανάγνωση. 475 00:23:47,000 --> 00:23:51,620 Όπως μπορείτε να δείτε στο βρόχο, ενώ Σαμ εδώ, 476 00:23:51,620 --> 00:23:53,120 δεν είχε καθόλου περίπτωση, 477 00:23:53,120 --> 00:23:55,390 και ότι δεν επηρεάζει τη λειτουργικότητα του κώδικα. 478 00:23:55,390 --> 00:23:57,860 Θα τρέξει ακριβώς το ίδιο. 479 00:23:57,860 --> 00:24:00,950 >> Έτσι, για παράδειγμα, αν έρθει μέχρι την κορυφή εδώ 480 00:24:00,950 --> 00:24:02,680 και πατήστε το κουμπί Play μας, θα το χτίσει, 481 00:24:02,680 --> 00:24:04,470 αυτό θα το τρέξει, 482 00:24:04,470 --> 00:24:06,700 και τι πρόκειται να συμβεί; 483 00:24:06,700 --> 00:24:08,360 Γιατί εξακολουθούν να λένε τρέχει; 484 00:24:08,360 --> 00:24:10,560 >> Επειδή θα το επαναλαμβάνουμε γεια. 485 00:24:10,560 --> 00:24:12,900 Ακριβώς, και γιατί να το επαναλαμβάνω, γεια; 486 00:24:12,900 --> 00:24:15,850 >> Επειδή ο ακέραιος δεν αλλάζει ποτέ, γι 'αυτό είναι πάντα 17. 487 00:24:15,850 --> 00:24:18,030 Ναι, ακριβώς, έτσι 488 00:24:18,030 --> 00:24:20,970 Ας δούμε, μετά - μου θυμίζουν το όνομά σας και πάλι; 489 00:24:20,970 --> 00:24:24,020 Jimmy. Έτσι, Jimmy είπε ότι 490 00:24:24,020 --> 00:24:27,340 το λόγο αυτό συνεχίζει να επαναλαμβάνει hi ξανά και ξανά 491 00:24:27,340 --> 00:24:30,510 οφείλεται στο γεγονός ότι αυτή η κατάσταση είναι πάντα αλήθεια. 492 00:24:30,510 --> 00:24:33,270 Εμείς ποτέ δεν αλλάξετε την τιμή του i. 493 00:24:33,270 --> 00:24:36,170 Εμείς δεν αλλάζουν ποτέ τα περιεχόμενα του τι είναι αποθηκευμένα σε αυτή τη μεταβλητή. 494 00:24:36,170 --> 00:24:39,180 Έτσι, σε αυτό το σημείο έχουμε αυτό το σφάλμα που 495 00:24:39,180 --> 00:24:42,170 πρόγραμμα σας δημιουργούνται πάρα πολύ εξόδου, 496 00:24:42,170 --> 00:24:45,100 και αν μετακινηθείτε προς τα κάτω και το είδος του ματιά στο τι συμβαίνει εδώ, 497 00:24:45,100 --> 00:24:49,160 μπορείτε να δείτε ότι είναι γεια, γεια, γεια, γεια, γεια, γεια, γεια σε όλη τη διαδρομή μέσω. 498 00:24:49,160 --> 00:24:51,200 Awesome. 499 00:24:51,200 --> 00:24:53,750 >> Έτσι, το είδος του πίσω στο αρχικό σημείο 500 00:24:53,750 --> 00:24:57,020 ότι έχοντας την οδόντωση εδώ 501 00:24:57,020 --> 00:25:00,110 στο σώμα του βρόχου, ενώ δεν επηρέασε τίποτα. 502 00:25:00,110 --> 00:25:03,050 Το πρόγραμμα έτρεξε ακόμα μια χαρά. 503 00:25:03,050 --> 00:25:06,790 Συνήθως, για το καλό στυλ - 504 00:25:06,790 --> 00:25:10,210 και αυτό είναι κάτι που θα δούμε στο σετ πρόβλημά σας - 505 00:25:10,210 --> 00:25:13,930 σας ζητάμε να εδάφιο αυτό με 4 θέσεις, που μπορείτε να κάνετε 506 00:25:13,930 --> 00:25:16,440 πατώντας απλά το πλήκτρο Tab 507 00:25:16,440 --> 00:25:18,860 ή με το χέρι βάζοντας τον εαυτό σας σε 4 θέσεις. 508 00:25:21,880 --> 00:25:25,050 Cool, εντάξει οπότε ας πάμε πίσω και να εξετάσουμε 509 00:25:25,050 --> 00:25:30,460 Του Αλεξάνδρου do-λίγο. 510 00:25:30,460 --> 00:25:32,980 >> Απλά έχοντας κάπως ένα μικρό πρόβλημα. 511 00:25:32,980 --> 00:25:34,390 Εντάξει, λοιπόν, ας εργαστούν μέσα από αυτό. 512 00:25:34,390 --> 00:25:36,400 Είναι ότι δροσερό; 513 00:25:36,400 --> 00:25:37,430 Ναι >>. 514 00:25:37,430 --> 00:25:39,200 >> Εντάξει, τόσο εδώ πηγαίνουμε. 515 00:25:39,200 --> 00:25:41,010 Αυτός είναι ο κώδικας που έγραψε ο Αλέξανδρος. 516 00:25:41,010 --> 00:25:43,410 Μην πηγαίνετε από τον Alex - εντάξει. 517 00:25:43,410 --> 00:25:46,380 Έτσι, εδώ είναι ο κώδικας ότι ο Alex έχει γράψει. 518 00:25:46,380 --> 00:25:50,500 Έτσι, έχουμε δήλωση του κύριου μας εδώ, 519 00:25:50,500 --> 00:25:54,410 και τότε έχουμε αυτό που ονομάζεται ακέραια μεταβλητή i 520 00:25:54,410 --> 00:25:57,320 να δηλωθεί εδώ. 521 00:25:57,320 --> 00:26:01,060 Έχουμε ένα do δήλωση 522 00:26:01,060 --> 00:26:04,600 και στη συνέχεια το σώμα και πάλι με αυτά τα άγκιστρα, 523 00:26:04,600 --> 00:26:06,520 έτσι αυτό είναι το σώμα του do-ενώ - 524 00:26:06,520 --> 00:26:09,210 επιτρέψτε μου να κάνετε ζουμ σε αυτό έτσι ώστε να είναι πιο ευανάγνωστο - 525 00:26:09,210 --> 00:26:12,730 και στο σώμα, προσπαθούμε να εκτυπώσετε "αυτό είναι το σώμα», 526 00:26:12,730 --> 00:26:14,300 i + +, 527 00:26:14,300 --> 00:26:17,710 έτσι αυξήσετε το περιεχόμενο του i και το κάνετε αυτό 528 00:26:17,710 --> 00:26:19,470 i παίρνει μέχρι να είναι 3, 529 00:26:19,470 --> 00:26:22,440 και στη συνέχεια, το πρόγραμμά μας τελειώνει. 530 00:26:22,440 --> 00:26:24,680 >> Έτσι τι συμβαίνει όταν τρέξει αυτό το πρόγραμμα; 531 00:26:24,680 --> 00:26:27,580 >> Περίμενα ένα αναγνωριστικό. 532 00:26:27,580 --> 00:26:32,070 Εντάξει, έτσι χτίσει, να τρέξει, προκύπτει σφάλμα. 533 00:26:32,070 --> 00:26:34,820 Τι συμβαίνει; 534 00:26:34,820 --> 00:26:37,060 Είμαστε εδώ για κύλιση προς τα κάτω, 535 00:26:37,060 --> 00:26:40,260 έχουμε αυτό το πράγμα κάπως αινιγματικά αναζητούν, 536 00:26:40,260 --> 00:26:43,930 αναμένεται ερωτηματικό μετά την κορυφή δήλωση επίπεδο. 537 00:26:43,930 --> 00:26:46,620 Αυτό είναι κάπως περίεργο. 538 00:26:46,620 --> 00:26:50,990 Μήπως κάποιος έχει μια ιδέα για το τι μπορεί να συμβαίνει; 539 00:26:53,080 --> 00:26:54,640 Κάπως περίεργο, ναι. 540 00:26:54,640 --> 00:26:57,640 >> [Δεν ακούγεται] να δηλώνονται έξω από τις παρενθέσεις; 541 00:26:57,640 --> 00:27:03,480 Έτσι, δεν που δεν ισχύει τότε όταν χρησιμοποιείτε παρενθέσεις; 542 00:27:03,480 --> 00:27:07,390 Έτσι δήλωσε αυτός ο τύπος έξω από τα οποία παρένθεση; 543 00:27:09,670 --> 00:27:12,240 Αχ, αυτά τα παιδιά - τα άγκιστρα; 544 00:27:12,240 --> 00:27:13,850 Ναι >>. 545 00:27:13,850 --> 00:27:15,310 Ναι, ακριβώς. 546 00:27:15,310 --> 00:27:17,120 Έτσι, αποδεικνύεται ότι 547 00:27:17,120 --> 00:27:21,550 δεν μπορείτε να δηλώσουν πραγματικά μια μεταβλητή δικαίωμα όπως αυτό εδώ. 548 00:27:23,750 --> 00:27:26,690 Τι μπορεί να έχουν προσπαθήσει να κάνει ήταν - 549 00:27:26,690 --> 00:27:30,110 κόψτε από εκεί - 550 00:27:30,110 --> 00:27:34,330 μπορείτε να βάλετε είτε μέσα στα άγκιστρα εδώ 551 00:27:34,330 --> 00:27:37,400 ή ένα άλλο εναλλακτικό 552 00:27:37,400 --> 00:27:40,350 είναι να θέσουμε εντελώς έξω. 553 00:27:42,480 --> 00:27:46,610 Και έτσι αυτά - ανάλογα με το πού βάζετε πραγματικά τη δήλωση 554 00:27:46,610 --> 00:27:48,550 αυτής της μεταβλητής ακεραίου, 555 00:27:48,550 --> 00:27:53,540 μπορείτε να πάρετε 2 πολύ διαφορετικά είδη των μεταβλητών? 556 00:27:53,540 --> 00:27:55,100 όταν είναι έξω από το κύριο, 557 00:27:55,100 --> 00:27:58,240 Είναι αυτό που λέμε μια global μεταβλητή. 558 00:27:58,240 --> 00:28:00,070 Είναι εκτός του πεδίου οποιαδήποτε από τις λειτουργίες - 559 00:28:00,070 --> 00:28:03,420 δεν είναι σε λειτουργία - 560 00:28:03,420 --> 00:28:07,050 ενώ αν το βάλετε μέσα από τα κύρια, 561 00:28:07,050 --> 00:28:10,000 όπως εδώ, τότε αυτό λέγεται τοπική μεταβλητή, 562 00:28:10,000 --> 00:28:13,830 επειδή είναι τοπικά στο πεδίο εφαρμογής των βασικών. 563 00:28:13,830 --> 00:28:16,720 Και θα μιλήσουμε λίγο περισσότερο για το τι είναι οι διαφορές 564 00:28:16,720 --> 00:28:20,970 μεταξύ των 2 τύπων και γιατί χρησιμοποιούν διαφορετικά είδη των μεταβλητών, 565 00:28:20,970 --> 00:28:23,040 αλλά προς το παρόν, 566 00:28:23,040 --> 00:28:25,070 μπορείτε απλά να κρατήσει όλες τις μεταβλητές των τοπικών, 567 00:28:25,070 --> 00:28:28,320 επειδή δεν έχουμε καμία ανάγκη για την παγκόσμια μεταβλητές. 568 00:28:28,320 --> 00:28:31,390 >> Εντάξει, έτσι αυτό είναι ένα πράγμα ακριβώς εκεί. 569 00:28:31,390 --> 00:28:34,680 Ας προσπαθήσουμε τρέχει αυτό πάλι, να δούμε τι θα συμβεί. 570 00:28:37,420 --> 00:28:40,270 Τρέξτε, πάρτε ένα άλλο λάθος. 571 00:28:40,270 --> 00:28:43,320 Ζουμ σε λίγο, τι έχουμε; 572 00:28:45,110 --> 00:28:50,000 Παίρνουμε αυτό αναμένεται παρένθεση μετά do / while. 573 00:28:53,660 --> 00:28:55,260 Οποιεσδήποτε ιδέες τι συμβαίνει; Dan; 574 00:28:55,260 --> 00:28:58,880 >> Είναι η παρένθεση, ενώ στη συνέχεια και μετά - 575 00:28:58,880 --> 00:29:01,990 Δεν ξέρω αν θα πρέπει να ξαναορίσετε int, 576 00:29:01,990 --> 00:29:04,980 αλλά το κάνει, ενώ (i <3). 577 00:29:04,980 --> 00:29:06,930 Ακριβώς, ναι. 578 00:29:06,930 --> 00:29:08,830 Έτσι, αποδεικνύεται ότι ο Dan είναι ακριβώς σωστό. 579 00:29:08,830 --> 00:29:11,230 Δεν χρειάζεται να βάλετε αυτό το είδος εδώ και πάλι. 580 00:29:11,230 --> 00:29:14,440 Μπορούμε να σκοτώσει αντ 'αυτού τον τύπο 581 00:29:14,440 --> 00:29:17,220 και κάνει ακριβώς αυτό. 582 00:29:19,270 --> 00:29:21,640 Εντάξει. 583 00:29:21,640 --> 00:29:24,950 Θα μεγεθύνετε έξω, να το δοκιμάσετε για μια ακόμη φορά. 584 00:29:26,360 --> 00:29:29,580 Κοίτα ότι? Τρέχει επιτυχής. 585 00:29:29,580 --> 00:29:33,260 Αν μετακινηθείτε προς τα κάτω, "αυτό είναι το σώμα" τυπωμένο από 3 φορές. 586 00:29:33,260 --> 00:29:35,820 Αυτό είναι πολύ γλυκό. 587 00:29:35,820 --> 00:29:38,670 Μπράβο, μπράβο, παιδιά. 588 00:29:38,670 --> 00:29:41,080 Μπράβο. 589 00:29:41,080 --> 00:29:43,250 Πώς είναι αυτή η μετάβαση μέχρι τώρα; 590 00:29:43,250 --> 00:29:46,200 Αξιοπρεπής ρυθμό; 591 00:29:46,200 --> 00:29:49,200 Εντάξει, δροσερό. 592 00:29:49,200 --> 00:29:52,590 >> Έτσι, όπως το είδος του πίσω στην αρχική ερώτηση, 593 00:29:52,590 --> 00:29:55,430 εμείς - και τώρα αν δούμε τη διαφορά, 594 00:29:55,430 --> 00:29:58,240 θα δείτε ότι σε αυτό το do-while loop, 595 00:29:58,240 --> 00:30:00,030 η κατάσταση έρχεται τελευταία. 596 00:30:00,030 --> 00:30:02,530 Έτσι, όπως ο υπολογιστής διαβάζει το πρόγραμμα 597 00:30:02,530 --> 00:30:06,050 δεδομένου ότι τα προγράμματα που εκτελούνται C είδος του σε αυτή την διαδοχική σειρά, 598 00:30:06,050 --> 00:30:09,450 όπου κυριολεκτικά ξεκινήσει με την πρώτη γραμμή της κύριας, 599 00:30:09,450 --> 00:30:13,450 και εκτέλεση στη συνέχεια της γραμμής 6, γραμμή 7, γραμμή 8, γραμμή 9, 600 00:30:13,450 --> 00:30:16,150 γραμμή 10, γραμμή 11, 601 00:30:16,150 --> 00:30:18,440 όλα αυτά τα πράγματα στην κορυφή εδώ 602 00:30:18,440 --> 00:30:20,020 πρόκειται να εκτελέσει μία φορά 603 00:30:20,020 --> 00:30:23,350 πριν δοκιμάσει ποτέ αυτή την κατάσταση για να δούμε 604 00:30:23,350 --> 00:30:26,240 αν ή όχι i - ή το περιεχόμενο του i, και όχι - 605 00:30:26,240 --> 00:30:29,750 είναι μικρότερο από τον αριθμό 3. 606 00:30:29,750 --> 00:30:33,300 Και μόνο αν έχουμε μια φορά στη γραμμή 12, 607 00:30:33,300 --> 00:30:36,260 τα περιεχόμενα του i είναι μικρότερο από 3 608 00:30:36,260 --> 00:30:39,150 εμείς πραγματικά άλμα πίσω μέχρι γραμμή 7 609 00:30:39,150 --> 00:30:41,140 και επαναλάβετε τη διαδικασία, 610 00:30:41,140 --> 00:30:44,620 και στη συνέχεια να ελέγξουμε την κατάσταση ξανά και ξανά και ξανά. 611 00:30:44,620 --> 00:30:47,440 >> Έτσι μπορούμε να συγκρίνουμε αυτό 612 00:30:47,440 --> 00:30:50,240 με - ζουμ πίσω έξω, 613 00:30:50,240 --> 00:30:56,500 μετακινηθείτε προς τα κάτω στην έκδοση του Σαμ, 614 00:30:56,500 --> 00:31:00,760 Θα είμαστε εξετάσουμε αυτό το θέμα, ελαφρώς αλλάξει, έτσι ώστε δεν είναι πλέον ένα άπειρο βρόχο - 615 00:31:00,760 --> 00:31:03,570 όπου αν μεγέθυνση, 616 00:31:03,570 --> 00:31:06,300 βλέπουμε ότι το πρόγραμμα εκτελείται, 617 00:31:06,300 --> 00:31:09,120 πρόκειται να δηλώνουν πρώτα int i, 618 00:31:09,120 --> 00:31:12,030 που το περιεχόμενο του i να είναι στο 0, 619 00:31:12,030 --> 00:31:15,820 και στη συνέχεια χτυπά την κατάσταση του βρόχου ενώ η πρώτη, 620 00:31:15,820 --> 00:31:19,210 έτσι σε αυτή την περίπτωση, αυτό το σώμα, αυτό το printf ("γεια") και i + + 621 00:31:19,210 --> 00:31:21,630 δεν θα εκτελέσει ακόμη και 622 00:31:21,630 --> 00:31:24,310 εκτός και i είναι στην πραγματικότητα μικρότερη από ή ίση με 2. 623 00:31:24,310 --> 00:31:26,750 Έτσι, αν το i είναι 3, για παράδειγμα, 624 00:31:26,750 --> 00:31:28,840 αν θέσουμε αυτό το δικαίωμα εδώ 625 00:31:28,840 --> 00:31:32,160 ίση με 4 - ή θα κάνω 3, επειδή είπα 3 - 626 00:31:32,160 --> 00:31:34,890 και να τρέξει στη συνέχεια, 627 00:31:34,890 --> 00:31:38,320 αυτό θα χτίσει, αυτό θα τρέξει εντελώς καλά, 628 00:31:38,320 --> 00:31:40,530 αλλά στην πραγματικότητα δεν θα εκτυπώσει τίποτε, 629 00:31:40,530 --> 00:31:43,030 επειδή απέτυχε το κριτήριο αυτό για την πρώτη περίπτωση. 630 00:31:44,780 --> 00:31:47,530 Έτσι στην τάξη, αυτό το είδος του μίλησε για τους οποίους αυτά τα do-while loops 631 00:31:47,530 --> 00:31:49,800 είναι χρήσιμο μερικές φορές 632 00:31:49,800 --> 00:31:53,140 και γι 'αυτό θα το χρησιμοποιήσετε σε αντίθεση με ένα βρόχο while. 633 00:31:53,140 --> 00:31:56,450 >> Υπάρχουν - εσείς δεν έχετε οποιεσδήποτε προτάσεις 634 00:31:56,450 --> 00:31:59,090 γιατί για ένα do-while loop μπορεί να είναι πιο χρήσιμη; 635 00:31:59,090 --> 00:32:02,560 >> Λοιπόν, νομίζω do-while loops είναι αν θέλετε είσοδο του χρήστη, 636 00:32:02,560 --> 00:32:05,020 επειδή με αυτόν τον τρόπο μπορείτε να τα αφήσετε 637 00:32:05,020 --> 00:32:07,780 βάλει κάτι σε μία? αν είναι σωστή, 638 00:32:07,780 --> 00:32:09,300 μπορούμε να προχωρήσουμε στο υπόλοιπο του προγράμματος, 639 00:32:09,300 --> 00:32:11,250 αλλά αν αυτό δεν είναι σωστό, τότε θα συνεχίσει να ζητά από το χρήστη 640 00:32:11,250 --> 00:32:13,250 μέχρι να τεθεί το δικαίωμα εισόδου. 641 00:32:13,250 --> 00:32:14,260 Ναι, ακριβώς - ακριβώς, 642 00:32:14,260 --> 00:32:16,840 έτσι ένα do-while loop είναι χρήσιμο 643 00:32:16,840 --> 00:32:18,930 επειδή κατά την προτροπή για την είσοδο χρήστη 644 00:32:18,930 --> 00:32:23,000 γιατί πρέπει να πάρετε είσοδο του χρήστη για να μπορέσετε να ελέγξετε πραγματικά. 645 00:32:23,000 --> 00:32:27,330 Έτσι, σε PSET 1, PSET 2, 646 00:32:27,330 --> 00:32:29,650 Όπου και αν προτροπή για είσοδο του χρήστη πολλά, 647 00:32:29,650 --> 00:32:31,200 αυτό είναι ένα πρακτικό πράγμα που πρέπει να χρησιμοποιήσετε 648 00:32:31,200 --> 00:32:33,740 σε αντίθεση με ένα απλό βρόχο while. 649 00:32:33,740 --> 00:32:36,780 Εάν χρησιμοποιείτε ένα βρόχο, ενώ, μπορείτε να κάνετε το ίδιο πράγμα - 650 00:32:36,780 --> 00:32:38,750 μπορείτε να κάνετε το ίδιο πράγμα με ένα βρόχο, ενώ 651 00:32:38,750 --> 00:32:40,580 όπως κάνετε με ένα do-while loop. 652 00:32:40,580 --> 00:32:43,380 Απλά πρέπει να έχουμε το είδος αυτό αντίγραφο της διαδικασίας 653 00:32:43,380 --> 00:32:47,010 όπου μπορείτε να πάρετε την είσοδο και στη συνέχεια να ξεκινήσει βρόχο, ενώ σας. 654 00:32:47,010 --> 00:32:49,800 Εκτιμώντας ένα do-while loop, απλά πρέπει να το γράψω μια φορά 655 00:32:49,800 --> 00:32:52,430 και είναι ένα καθαριστικό παρτίδας. 656 00:32:52,430 --> 00:32:54,650 >> Εντάξει. 657 00:32:55,970 --> 00:32:57,330 Οποιεσδήποτε ερωτήσεις; 658 00:32:59,350 --> 00:33:01,380 Κάντε νόημα; 659 00:33:01,380 --> 00:33:06,200 Η επιστροφή >> 0 - αυτό είναι ακριβώς το είδος του περιπτέρου ή είναι -; 660 00:33:06,200 --> 00:33:08,960 Ναι, έτσι μπορούμε - 661 00:33:08,960 --> 00:33:11,960 καλά, θα καλύψουμε αυτό το λίγο περισσότερο αργότερα 662 00:33:11,960 --> 00:33:13,290 αλλά αποδεικνύεται ότι 663 00:33:13,290 --> 00:33:15,720 0 Επιστροφή αυτό που έχουμε θέσει 664 00:33:15,720 --> 00:33:19,090 στο τέλος της κύριας όλη την ώρα - 665 00:33:19,090 --> 00:33:21,980 μπορείτε να πάρετε κάπως απλά ως κάτι που κάνουμε 666 00:33:21,980 --> 00:33:24,930 για την ώρα. 667 00:33:24,930 --> 00:33:28,860 Αυτό που έχουμε αρχίσει να μιλάμε για τις λειτουργίες 668 00:33:28,860 --> 00:33:31,600 είδος του στο τέλος της περασμένης εβδομάδας και στη συνέχεια και πάλι αυτή την εβδομάδα 669 00:33:31,600 --> 00:33:33,550 είναι ότι μια συνάρτηση 670 00:33:33,550 --> 00:33:37,680 παίρνει εισροές που είναι αυτά τα πράγματα μέσα στις παρενθέσεις? 671 00:33:37,680 --> 00:33:41,690 αυτά είναι 2 είσοδοι, τα επιχειρήματα ή τις παραμέτρους μας, 672 00:33:41,690 --> 00:33:44,540 αυτό που είστε, επίσης, ονομάζεται το κύριο έργο μας, 673 00:33:44,540 --> 00:33:48,510 και στη συνέχεια μια λειτουργία παράγει μία έξοδο 674 00:33:48,510 --> 00:33:51,290 την οποία ονομάζουμε μια τιμή επιστροφής. 675 00:33:51,290 --> 00:33:56,260 Και η τιμή επιστροφής στην περίπτωση της κύριας είναι αυτό int, 676 00:33:56,260 --> 00:33:58,320 αυτό ακέραιο, 677 00:33:58,320 --> 00:34:01,160 και ο τρόπος σας πω μια λειτουργία, "Hey, αυτό είναι ό, τι σας έξοδο 678 00:34:01,160 --> 00:34:05,840 πρόκειται να είναι, «είναι με αυτή τη λέξη« επιστροφή », 679 00:34:05,840 --> 00:34:07,960 ότι η λέξη-κλειδί, μάλλον, 680 00:34:07,960 --> 00:34:11,000 και έτσι η κύρια επιστρέφουν 0 681 00:34:11,000 --> 00:34:13,389 ή την κύρια έξοδο 0 682 00:34:13,389 --> 00:34:15,139 είναι στάνταρ σε προγράμματα C 683 00:34:15,139 --> 00:34:18,110 επειδή επιστρέφουν 0 από βασικότερο μέσο που 684 00:34:18,110 --> 00:34:21,600 "Γεια σου, πάντα εκτελούνται με το πρόγραμμά μου μια χαρά." 685 00:34:21,600 --> 00:34:24,639 Αν ήταν να βάλει κάτι άλλο εκτός από 0, 686 00:34:24,639 --> 00:34:27,440 όπως 1, για παράδειγμα, 687 00:34:27,440 --> 00:34:31,080 που χρησιμοποιείται για να πει όποιος έτρεξε αυτό το πρόγραμμα 688 00:34:31,080 --> 00:34:33,540 ότι κάτι πήγε στραβά. 689 00:34:35,739 --> 00:34:39,989 Έτσι, όπως έχουμε περισσότερο ασχολούνται με πράγματα πέρα ​​του εξαμήνου, 690 00:34:39,989 --> 00:34:42,670 αν είστε ποτέ να χρειάζεται να πω, 691 00:34:42,670 --> 00:34:46,650 "Ωχ, ξέρετε, κάτι πήγε στραβά με αυτό το πρόγραμμα," 692 00:34:46,650 --> 00:34:49,409 αντί συντριβή πρόγραμμα μου, θέλω να γνωστοποιούν 693 00:34:49,409 --> 00:34:52,310 ο δρομέας του προγράμματός μου ότι κάτι πήγε στραβά, 694 00:34:52,310 --> 00:34:54,530 μπορείτε να χρησιμοποιήσετε την τιμή επιστροφής, 695 00:34:54,530 --> 00:34:57,230 όπως την αποκαλούμε, αυτό δεν είναι 0. 696 00:35:00,180 --> 00:35:02,240 >> Έτσι θα καλύψουμε ότι λίγο περισσότερο 697 00:35:02,240 --> 00:35:05,480 τη στιγμή που θα μπει σε λειτουργία. 698 00:35:05,480 --> 00:35:09,030 Αυτό το είδος της νόημα; 699 00:35:09,030 --> 00:35:11,240 Εντάξει. 700 00:35:11,240 --> 00:35:13,530 Οι συναρτήσεις είναι το είδος της παράξενο - 701 00:35:13,530 --> 00:35:17,270 Νομίζω ότι για τους ανθρώπους που έχουν πολλά φόντο μαθηματικά, 702 00:35:17,270 --> 00:35:20,100 έρχεται λίγο πιο εύκολα, 703 00:35:20,100 --> 00:35:22,540 ειδικά αν έχετε λίγο πιο αφηρημένο φόντο μαθηματικά 704 00:35:22,540 --> 00:35:24,240 και έχετε συνηθίσει να μιλάμε για λειτουργίες 705 00:35:24,240 --> 00:35:27,370 και όλα τα τέτοιου είδους πράγματα. 706 00:35:28,590 --> 00:35:30,610 Αλλά θα προσπαθήσουμε και να καλύπτει τους 707 00:35:30,610 --> 00:35:33,280 και να πάνε ωραία και αργή, όπως έρχονται. 708 00:35:34,730 --> 00:35:37,870 Επίσης, όλο αυτό το int argc, 709 00:35:37,870 --> 00:35:41,090 char * argv [], 710 00:35:41,090 --> 00:35:44,960 για αυτή τη στιγμή, μπορείτε να πάρετε, επίσης, ότι η πλάκα λέβητα. 711 00:35:46,650 --> 00:35:49,050 Έχουμε αρχίσει να καλύψει αυτές τις λίγο σε διάλεξη 712 00:35:49,050 --> 00:35:53,060 όταν μιλάμε για τα επιχειρήματα που παίρνουν πέρασε στα προγράμματα στη γραμμή εντολών, 713 00:35:53,060 --> 00:35:55,700 αλλά σε σύνολα πρόβλημά σας και τα προγράμματά σας, 714 00:35:55,700 --> 00:35:58,760 είναι εντελώς πρόστιμο μόνο και μόνο για να γράψει άκυρη και κρατήστε το απλό. 715 00:35:58,760 --> 00:36:01,490 Και τι σημαίνει αυτό το κενό είναι ότι 716 00:36:01,490 --> 00:36:04,630 "Γεια σου, κύριος δεν πρόκειται να αποδεχθεί οποιαδήποτε εισόδους? 717 00:36:04,630 --> 00:36:07,440 αυτό είναι μόνο ένα πρόγραμμα που είμαστε θα τρέξει μόνο. 718 00:36:07,440 --> 00:36:09,320 Είμαστε Δε θα δώσει καμία επιπλέον πληροφορία 719 00:36:09,320 --> 00:36:12,420 κάθε φορά που το ξεκινήσει το τρέξιμο. " 720 00:36:14,730 --> 00:36:16,600 Έτσι, προς το παρόν, μπορείτε να το κάνετε αυτό? 721 00:36:16,600 --> 00:36:19,710 μπορείτε επίσης να παραλείψετε ακόμη και το 0 επιστροφής 722 00:36:19,710 --> 00:36:22,650 στο τέλος των προγραμμάτων σας και θα τρέχουν μια χαρά, 723 00:36:22,650 --> 00:36:26,150 αλλά ήθελα να συστήσω διατηρώντας μόνο ότι μέσα 724 00:36:26,150 --> 00:36:28,320 Σε μια-δυο εβδομάδες, θα αρχίσουμε με το είδος του 725 00:36:28,320 --> 00:36:31,340 τραβήξτε προς τα πίσω το κάλυμμα λίγο και να κατανοήσουν περισσότερα για την 726 00:36:31,340 --> 00:36:34,380 όλα αυτά τα διαφορετικά ελάχιστα κινούμενα μέρη. 727 00:36:34,380 --> 00:36:38,160 >> Εντάξει, τώρα ας μιλήσουμε για το δεύτερο ερώτημά μας εδώ. 728 00:36:38,160 --> 00:36:43,190 Λοιπόν, τι σημαίνει «αδήλωτη αναγνωριστικό" συνήθως υποδεικνύει 729 00:36:43,190 --> 00:36:46,040 αν εξάγεται από Clang; 730 00:36:46,040 --> 00:36:49,290 Νομίζω ότι θα μπορούσαμε να έχουμε δει ότι ήδη σήμερα. 731 00:36:51,170 --> 00:36:54,370 Μπορεί κάποιος να δώσει μια ανακεφαλαίωση του τι σημαίνει αυτό; 732 00:36:54,370 --> 00:36:57,680 Ας δούμε, Kelly - ένα από τα Kellys. 733 00:37:02,580 --> 00:37:05,300 Έτσι >> - 734 00:37:05,300 --> 00:37:07,080 Ναι, αυτό που κάνει - 735 00:37:07,080 --> 00:37:10,140 >> Νομίζω ότι όταν, όπως, δεν δηλώνουν τις μεταβλητές και να προσπαθήσετε να το χρησιμοποιήσετε. 736 00:37:10,140 --> 00:37:13,310 Ναι, ακριβώς, ακριβώς. 737 00:37:13,310 --> 00:37:15,250 Έτσι, αν έχετε δει ποτέ αυτήν την έξοδο 738 00:37:15,250 --> 00:37:17,690 όταν προσπαθείτε να μεταγλωττίσετε το πρόγραμμά σας, 739 00:37:17,690 --> 00:37:19,470 όπως είπε ο Κέλι, 740 00:37:19,470 --> 00:37:24,210 αυτό σημαίνει ότι θα χρησιμοποιηθεί μια μεταβλητή που δεν έχετε δηλώσει, 741 00:37:24,210 --> 00:37:28,460 οπότε αν πάω πίσω στο Διάστημα μας, 742 00:37:28,460 --> 00:37:31,150 και να κάνω κάτι σαν 743 00:37:31,150 --> 00:37:34,800 printf ( 744 00:37:34,800 --> 00:37:38,260 "Γεια σας% s") 745 00:37:40,070 --> 00:37:42,440 και να προσπαθήσουμε και να συμπληρώσετε σε αυτό το% s 746 00:37:42,440 --> 00:37:45,640 με μια μεταβλητή s που δεν έχω δηλώσει πουθενά 747 00:37:45,640 --> 00:37:48,330 και προσπαθώ να το τρέξει, 748 00:37:48,330 --> 00:37:51,330 θα δούμε τι θα πιάσουμε σε αυτό κάτω δεξιά εδώ: 749 00:37:51,330 --> 00:37:54,010 "Χρήση της αδήλωτης αναγνωριστικό 's'"? 750 00:37:54,010 --> 00:37:57,710 αυτό σημαίνει ότι απλά δεν έχετε δηλώσει μεταβλητή σας. 751 00:37:57,710 --> 00:38:00,750 Το ίδιο πράγμα θα συμβεί αν 752 00:38:00,750 --> 00:38:05,240 έχετε x και την προσπάθειά σας και να αποθηκεύσετε 7 σε αυτό 753 00:38:05,240 --> 00:38:08,720 και δεν είχα δηλώσει Χ. 754 00:38:08,720 --> 00:38:10,200 Παίρνω το ίδιο σφάλμα: 755 00:38:10,200 --> 00:38:13,480 "Χρήση του« x »της αδήλωτης αναγνωριστικό". 756 00:38:16,390 --> 00:38:18,250 >> Εντάξει, 757 00:38:18,250 --> 00:38:21,720 έτσι το Caesar Cipher, δεν είναι πολύ ασφαλές, 758 00:38:21,720 --> 00:38:24,590 Θα σας αφήσω να παιδιά να παρακολουθήσετε αυτό το σύντομο, το είδος των καταλάβω γιατί, 759 00:38:24,590 --> 00:38:27,590 και ελπίζουμε ότι μετά από αυτό το πρόβλημα αυτής της εβδομάδας που 760 00:38:27,590 --> 00:38:29,270 όπου μπορείτε να γράψετε ένα πραγματικά Cipher Caesar, θα καταλάβετε λίγο περισσότερο 761 00:38:29,270 --> 00:38:32,600 για το τι σημαίνει να είναι μια ασφαλής και ανασφαλής - 762 00:38:36,180 --> 00:38:38,960 ή δεν είναι ασφαλές, υποθέτω - ανασφαλής είναι ελαφρώς διαφορετική. 763 00:38:40,560 --> 00:38:43,140 Το άλλο πράγμα που ήταν αυτά τα έχουμε άλλες ερωτήσεις εδώ 764 00:38:43,140 --> 00:38:45,470 σχετικά με τις λειτουργίες 765 00:38:45,470 --> 00:38:47,330 και τι είναι μια λειτουργία, 766 00:38:47,330 --> 00:38:52,820 και το είδος του μίλησε γι 'αυτό το σύντομο χρονικό διάστημα, όταν μιλούσαμε για αξίες επιστροφή? 767 00:38:52,820 --> 00:38:54,560 για κάποιον που είναι ήδη σε διάλεξη, 768 00:38:54,560 --> 00:38:57,790 μπορείτε να ανακεφαλαιώσουμε ποιος ήταν να μιλήσει σήμερα; 769 00:38:57,790 --> 00:38:59,670 Εντάξει. 770 00:39:01,210 --> 00:39:04,320 Ας δούμε? Ας ρίξουμε - μπορεί κάποιος να μας πει τι είναι μια λειτουργία; 771 00:39:04,320 --> 00:39:06,060 Kelly; 772 00:39:07,800 --> 00:39:11,260 >> >> Βασικά κάτι που σχεδιάζετε σε κάτι που είναι γραμμένο στη βιβλιοθήκη που είναι 773 00:39:11,260 --> 00:39:14,460 πιο περίπλοκη εκεί πέρα, και στη συνέχεια μπορείτε να γράψετε μόνο μια σύντομη μορφή του, 774 00:39:14,460 --> 00:39:17,360 έτσι όπως είστε παραπέμποντας στην εν λόγω βιβλιοθήκη, χρησιμοποιώντας 775 00:39:17,360 --> 00:39:19,650 όλα αυτά πολύ καιρό κώδικα και [δεν ακούγεται]. 776 00:39:19,650 --> 00:39:22,680 Ναι, ακριβώς, και στη συνέχεια, θέλετε να προσθέσετε κάτι σε αυτό; 777 00:39:22,680 --> 00:39:27,050 >> Ναι, το σκέφτομαι ως παρόμοια με την έννοια ενός τύπου στα μαθηματικά 778 00:39:27,050 --> 00:39:30,130 όπου μπορείτε να γράψετε μόνο έναν τύπο και στη συνέχεια, μπορείτε να συνδέσετε σε μεταβλητές 779 00:39:30,130 --> 00:39:32,660 και αυτό είναι μια λειτουργία είναι [δεν ακούγεται]. 780 00:39:32,660 --> 00:39:35,390 >> Ναι, έτσι έχουμε ένα ζευγάρι των απαντήσεων εδώ 781 00:39:35,390 --> 00:39:38,080 που είναι και οι δύο πολύ καλά και ακριβώς πάνω. 782 00:39:38,080 --> 00:39:43,040 Εκεί αναφέρεται με τον κωδικό που είναι ήδη γραμμένο στην βιβλιοθήκη κάπου 783 00:39:43,040 --> 00:39:45,390 που είναι πιο περίπλοκη 784 00:39:45,390 --> 00:39:47,130 και στη συνέχεια μπορείτε να σχεδιάσετε από τον κώδικα 785 00:39:47,130 --> 00:39:50,480 και να το χρησιμοποιήσετε στην πραγματικότητα μόνο γραπτώς από τη σύντομη μορφή της - 786 00:39:50,480 --> 00:39:54,060 ή, μάλλον, το όνομά του - 787 00:39:54,060 --> 00:39:57,590 και στη συνέχεια υπάρχει επίσης αυτή η σύγκριση με έναν τύπο στα μαθηματικά 788 00:39:57,590 --> 00:40:00,400 ή φυσικής, όλα τα τέτοιου είδους πράγματα 789 00:40:00,400 --> 00:40:02,980 όπου έχετε ένα τύπο 790 00:40:02,980 --> 00:40:05,690 και στη συνέχεια μπορείτε να συνδέσετε 791 00:40:05,690 --> 00:40:08,100 οι μεταβλητές αυτού του τύπου 792 00:40:08,100 --> 00:40:11,130 στη συνέχεια να πάρει το αποτέλεσμα του τύπου, 793 00:40:11,130 --> 00:40:14,580 έτσι νομίζετε γι 'αυτό, όπως και η τετραγωνική εξίσωση. 794 00:40:14,580 --> 00:40:17,690 Φανταστείτε αν αντί να χρειάζεται να μάθουν για 795 00:40:17,690 --> 00:40:21,310 ποια είναι η τετραγωνική τύπος είναι στην κατηγορία μαθηματικά, 796 00:40:21,310 --> 00:40:24,610 είχατε μόνο ένα μικρό πρόγραμμα υπολογιστή που το έκανε για σένα. 797 00:40:24,610 --> 00:40:28,930 Μήπως κάποιος χρησιμοποιεί προγράμματα υπολογιστή στις τάξεις μαθηματικών στο γυμνάσιο; 798 00:40:28,930 --> 00:40:31,020 Ναι, φυσική τάξεις; 799 00:40:31,020 --> 00:40:34,670 Πού μπορείτε απλά να πείτε, "Hey, τετραγωνικό τύπο. 800 00:40:34,670 --> 00:40:37,740 Αυτές είναι οι μεταβλητές που θέλετε να εισάγετε. 801 00:40:37,740 --> 00:40:40,250 Τώρα να μου δώσει την απάντηση. " 802 00:40:40,250 --> 00:40:42,170 Αυτό είναι το είδος του τι είναι μια λειτουργία. 803 00:40:42,170 --> 00:40:44,850 Είναι ένας τρόπος για μας να 804 00:40:44,850 --> 00:40:47,720 το είδος της εγγραφής σαν ένα μικρό λίγο υπο πρόγραμμα 805 00:40:47,720 --> 00:40:51,700 στο μεγαλύτερο πρόγραμμα μας 806 00:40:51,700 --> 00:40:55,090 και να το χρησιμοποιήσετε ξανά και ξανά 807 00:40:55,090 --> 00:40:58,380 έτσι ώστε να μην χρειάζεται να αντιγράψετε και να επικολλήσετε κώδικα, 808 00:40:58,380 --> 00:41:04,220 μπορούμε να δώσουμε διαφορετικές εισόδους και να πάρει διαφορετικά αποτελέσματα, 809 00:41:04,220 --> 00:41:07,090 είναι εξαιρετικά βολικό 810 00:41:07,090 --> 00:41:11,420 όταν προσπαθείτε να γράφουν διάφορα προγράμματα σε διαφορετικές χρονικές στιγμές. 811 00:41:11,420 --> 00:41:14,580 >> Έτσι, για παράδειγμα, μια συνάρτηση που έχουμε χρησιμοποιήσει ξανά και ξανά και ξανά 812 00:41:14,580 --> 00:41:17,310 καθ 'όλη τη διάρκεια είναι printf. 813 00:41:17,310 --> 00:41:19,680 Printf αυτή είναι μια συνάρτηση 814 00:41:19,680 --> 00:41:23,360 και αποδεικνύεται ότι είναι στην πραγματικότητα μια αρκετά μακρά και περίπλοκη, 815 00:41:23,360 --> 00:41:26,420 άσχημη εμφάνιση, λειτουργούν για να γράψει. 816 00:41:26,420 --> 00:41:29,590 Έτσι, είναι τόσο απλό όσο φαίνεται να μας 817 00:41:29,590 --> 00:41:31,810 για να εκτυπώσετε τα πράγματα από την οθόνη, 818 00:41:31,810 --> 00:41:34,820 επειδή όλοι έκαναν ακριβώς ότι κατά την έναρξη της σημερινής τμήμα, 819 00:41:34,820 --> 00:41:36,870 αποδεικνύεται ότι είναι πραγματικά, ξέρετε, 820 00:41:36,870 --> 00:41:39,900 ένα καλό ζευγάρι των εκατό γραμμές κώδικα. 821 00:41:42,030 --> 00:41:45,620 Δεν είναι κάτι που θα μπορούσε ποτέ να γράψει, στα σίγουρα, 822 00:41:45,620 --> 00:41:47,480 αλλά έχουμε την ευκαιρία να το χρησιμοποιήσετε κάθε μέρα? αυτό είναι το είδος της δροσερό, 823 00:41:47,480 --> 00:41:49,020 έτσι έχουμε την ευκαιρία να το μοιραστείτε με το άλλο, 824 00:41:49,020 --> 00:41:51,790 με διαφορετικά προγράμματα, 825 00:41:51,790 --> 00:41:54,520 έτσι θα είναι πιο καταδύσεις σε λειτουργίες? 826 00:41:54,520 --> 00:41:56,090 προς το παρόν, δεν είμαστε - 827 00:41:56,090 --> 00:41:59,150 η μόνη λειτουργία που πρόκειται να είναι η κύρια σύνταξη. 828 00:41:59,150 --> 00:42:01,570 Κύρια ίδια είναι επίσης μια λειτουργία, 829 00:42:01,570 --> 00:42:04,270 και μπορείτε να δείτε το πήρε εξόδου του, 830 00:42:04,270 --> 00:42:06,610 εισόδους της, όπως μιλήσαμε, 831 00:42:06,610 --> 00:42:08,930 και στη συνέχεια το όνομά του, το οποίο είναι το κύριο. 832 00:42:08,930 --> 00:42:11,800 Κύρια είναι ένα είδος του - είναι μια ειδική λειτουργία εκεί. 833 00:42:11,800 --> 00:42:14,800 Στο C πρόγραμμά σας, θα πρέπει να υπάρχει μια κύρια λειτουργία, 834 00:42:14,800 --> 00:42:17,900 και έτσι για τώρα, έχουμε το είδος της γραφής παραλείπεται 835 00:42:17,900 --> 00:42:21,400 το πρωτότυπο, ή η δήλωση του, ο κύριος. 836 00:42:21,400 --> 00:42:23,050 Έχουμε δεδομένου ότι σε σας, 837 00:42:23,050 --> 00:42:25,650 και έχουμε μόλις είχε μπορείτε να συμπληρώσετε το είδος των κενών. 838 00:42:25,650 --> 00:42:29,120 >> Έτσι, για >> το δεύτερο σύνολο πρόβλημα, δεν χρειάζεται να 839 00:42:29,120 --> 00:42:31,350 γράψετε στο δεύτερο λειτουργία; 840 00:42:31,350 --> 00:42:34,200 Δεν πιστεύω έτσι. 841 00:42:34,200 --> 00:42:37,600 Πιστεύω ότι είναι όλα εδώ. 842 00:42:37,600 --> 00:42:41,710 Ναι, έτσι Caesar Cipher, 843 00:42:41,710 --> 00:42:45,000 δεν έχετε να, δεν μοιάζει, 844 00:42:48,740 --> 00:42:53,150 και Vigenere, εσείς δεν το κάνετε είτε, 845 00:42:53,150 --> 00:42:56,400 έτσι - και βγάζει δεν έχουν ποτέ πραγματικά να γράψω 846 00:42:56,400 --> 00:42:58,250 μια λειτουργία, έτσι δεν είναι; 847 00:42:58,250 --> 00:43:01,950 Μπορείτε πάντα να καλέσετε βάλει όλα του κωδικού σας στο κεντρικό, 848 00:43:01,950 --> 00:43:04,500 και πολλοί προγραμματιστές κάνουν αυτό. 849 00:43:04,500 --> 00:43:07,130 Καθώς προχωρούμε σε, 850 00:43:07,130 --> 00:43:09,480 αρχίσουμε την εισαγωγή λειτουργεί ως ένα τρόπο 851 00:43:09,480 --> 00:43:11,530 να καθαρίσει τον κωδικό σας, 852 00:43:11,530 --> 00:43:13,380 για να γίνει πιο κομψή, 853 00:43:13,380 --> 00:43:16,890 σε περίπτωση που έχετε εργασίες - κάτι σαν όταν μιλήσαμε για βρόχους, 854 00:43:16,890 --> 00:43:20,400 πώς μερικές φορές υπάρχουν πράγματα που θέλετε να κάνετε ξανά και ξανά και ξανά, 855 00:43:20,400 --> 00:43:23,510 και έχετε το είδος της αφελής τρόπος - 856 00:43:23,510 --> 00:43:26,360 ή αυτό που ονομάζουμε συχνά το "άνθρωπος άχυρο" λύση, 857 00:43:26,360 --> 00:43:29,390 είναι απλά να αντιγράψετε και να επικολλήσετε ξανά και ξανά - 858 00:43:29,390 --> 00:43:31,000 μπορείτε να κάνετε το ίδιο πράγμα με τις λειτουργίες, όπου μπορείτε απλά να αντιγράψετε και να επικολλήσετε 859 00:43:31,000 --> 00:43:33,360 ο ίδιος κώδικας ξανά και ξανά, 860 00:43:33,360 --> 00:43:35,750 αλλά ότι bloats κωδικό σας - 861 00:43:35,750 --> 00:43:38,550 καταλήγει καθιστώντας τον κωδικό σας πραγματικά μεγάλο - 862 00:43:38,550 --> 00:43:41,550 και παίρνει επίσης μια μικρή σύγχυση, 863 00:43:41,550 --> 00:43:43,470 και τότε αυτό σημαίνει ότι δεν είστε σε θέση να τους αρέσει - 864 00:43:43,470 --> 00:43:45,250 αν θελήσετε ποτέ να χρησιμοποιεί το εν λόγω κώδικα και πάλι σε ένα άλλο πρόγραμμα, 865 00:43:45,250 --> 00:43:48,610 είστε κολλημένοι, επίσης, αντιγραφή και επικόλληση πάλι, 866 00:43:48,610 --> 00:43:51,170 έτσι ένα από τα πράγματα που θα μιλήσουμε για είναι 867 00:43:51,170 --> 00:43:54,960 το είδος του σχεδιασμού και το ύφος των προγραμμάτων σας, 868 00:43:54,960 --> 00:43:57,010 και έτσι όταν έχει νόημα να το είδος του 869 00:43:57,010 --> 00:43:59,800 πακέτο κάτι και να το βάλετε ως μια ξεχωριστή λειτουργία, 870 00:43:59,800 --> 00:44:02,080 σας παροτρύνουμε να το κάνετε αυτό, 871 00:44:02,080 --> 00:44:04,700 και ότι είναι κάτι που, και πάλι, 872 00:44:04,700 --> 00:44:07,790 δεν υπάρχει κανένας σκληρός και γρήγορος κανόνας. 873 00:44:07,790 --> 00:44:11,540 Εμείς σπάνια λένε ότι πρέπει να γράψετε μια λειτουργία που ονομάζεται αυτό, 874 00:44:12,870 --> 00:44:16,320 αλλά είναι περισσότερο από ένα από εκείνα τα πράγματα που απλά την πάροδο του χρόνου 875 00:44:16,320 --> 00:44:19,470 όπως σας γράψω περισσότερα και περισσότερα προγράμματα. 876 00:44:21,940 --> 00:44:24,790 >> Κάθε άλλες ερωτήσεις; 877 00:44:26,340 --> 00:44:30,610 Εντάξει, οπότε ας τώρα 878 00:44:30,610 --> 00:44:34,750 να δημιουργήσετε αντίγραφα ασφαλείας σε αυτόν τον τύπο εδώ, 879 00:44:34,750 --> 00:44:37,800 έτσι είμαι ακόμα σε αυτό το τμήμα των ερωτήσεων. 880 00:44:37,800 --> 00:44:39,900 Έχουμε μιλήσει για όλα αυτά τα διαφορετικά μέρη, 881 00:44:39,900 --> 00:44:42,050 τι είναι μια λειτουργία, γιατί να γράψει λειτουργίες, 882 00:44:42,050 --> 00:44:44,700 όταν μπορείτε απλά να αντιγράψετε και να επικολλήσετε; 883 00:44:44,700 --> 00:44:47,700 Ας ελπίσουμε ότι θα έχουμε την πεποίθηση ότι η γραφή λειτουργίες είναι ένα καλό πράγμα. 884 00:44:47,700 --> 00:44:50,870 Έτσι τώρα ας περάσουμε σε αυτό το πρόγραμμα MySpace, 885 00:44:50,870 --> 00:44:53,080 και θα περάσουν λίγο χρόνο να γίνει αυτό. 886 00:44:54,600 --> 00:44:56,480 >> Έτσι, ας δούμε, 887 00:44:56,480 --> 00:45:00,230 μπορεί να έχω διαβάσει κάποιος αυτό για μένα; 888 00:45:02,640 --> 00:45:04,660 Ας έχουν Mikhaila - θα μπορείτε να διαβάσετε αυτό για εμάς; 889 00:45:07,660 --> 00:45:08,890 >> Εννοείς πίσω, όταν το MySpace - 890 00:45:08,890 --> 00:45:10,920 Επιστροφή όταν MySpace ήταν δροσερό. 891 00:45:10,920 --> 00:45:12,070 >> "Πίσω όταν MySpace ήταν δροσερό, 892 00:45:12,070 --> 00:45:14,900 ήταν όλη η οργή για τον τύπο σαν αυτό. 893 00:45:14,900 --> 00:45:17,320 Ίσως είναι ακόμα; Δεν είμαι πραγματικά σίγουρος. 894 00:45:17,320 --> 00:45:19,990 Σε κάθε περίπτωση, χρησιμοποιώντας τη συσκευή CS50, 895 00:45:19,990 --> 00:45:22,600 CS50 Run, ή CS50 χώρους, 896 00:45:22,600 --> 00:45:25,370 γράψετε ένα πρόγραμμα το οποίο ζητά από το χρήστη για ένα μήνυμα 897 00:45:25,370 --> 00:45:29,350 και στη συνέχεια, εξάγει το μήνυμα με το πρώτο γράμμα κεφαλαίο της, 898 00:45:29,350 --> 00:45:31,800 με όλα τα άλλα γράμματα σε εναλλασσόμενη περίπτωση, 899 00:45:31,800 --> 00:45:34,010 σύμφωνα με το παρακάτω δείγμα εξόδου, 900 00:45:34,010 --> 00:45:37,060 όπου boldfaced κείμενο αποτελεί εισαγωγή κάποιου χρήστη. 901 00:45:37,060 --> 00:45:39,800 Για λόγους απλότητας, μπορείτε να υποθέσουμε ότι ο χρήστης 902 00:45:39,800 --> 00:45:42,810 θα είσοδος μόνο πεζά γράμματα και κενά. 903 00:45:42,810 --> 00:45:45,900 Σκεφτείτε αυτό το πρόβλημα την ευκαιρία να εξασκήσουν? 904 00:45:45,900 --> 00:45:48,640 δεν θα σας ζητηθεί να υποβάλετε αυτό το πρόγραμμα. " 905 00:45:48,640 --> 00:45:51,640 >> Awesome, σας ευχαριστώ. 906 00:45:51,640 --> 00:45:54,750 Έτσι, όπως είπε ο Mikhaila, 907 00:45:54,750 --> 00:45:58,850 πρόκειται να γράψει ένα πρόγραμμα που MySpaces κωδικό σας. 908 00:45:58,850 --> 00:46:02,230 Το ίδιο έκαναν και κάποιος από εσάς παιδιά χρησιμοποιούν το MySpace; 909 00:46:02,230 --> 00:46:04,100 Οποιοσδήποτε από εσάς έχετε λογαριασμούς στο MySpace; 910 00:46:04,100 --> 00:46:05,920 Ω, ναι, ναι! 911 00:46:05,920 --> 00:46:08,300 Ήταν αρκετά δροσερό. 912 00:46:08,300 --> 00:46:09,950 [Γέλια] 913 00:46:09,950 --> 00:46:12,060 Το ξέρω. 914 00:46:12,060 --> 00:46:14,500 Ραντεβού τον εαυτό μου. 915 00:46:15,490 --> 00:46:18,300 Έτσι, αυτό που προσπαθούμε να κάνουμε είναι να γράψετε ένα πρόγραμμα 916 00:46:18,300 --> 00:46:21,110 που περνά μέσα από 917 00:46:21,110 --> 00:46:24,490 και σε κεφαλαίο το πρώτο γράμμα 918 00:46:24,490 --> 00:46:27,140 και στη συνέχεια, κάθε επιστολή στη συνέχεια - 919 00:46:27,140 --> 00:46:29,350 ή κάθε άλλη επιστολή στη συνέχεια, λυπάμαι. 920 00:46:29,350 --> 00:46:32,910 >> Έτσι - και μπορείτε να δείτε σε αυτό το παράδειγμα, 921 00:46:32,910 --> 00:46:35,260 αυτό είναι το πώς θα τρέξει το πρόγραμμα, 922 00:46:35,260 --> 00:46:38,780 και έτσι αυτό είναι ακριβώς λέει, "Έχουμε ένα πρόγραμμα που ονομάζεται a.out. 923 00:46:41,490 --> 00:46:44,630 Η είσοδος ότι θα πάμε για να δίνει 924 00:46:44,630 --> 00:46:47,090 πρόκειται να ζητηθεί. 925 00:46:47,090 --> 00:46:51,150 Εμείς δεν είμαστε θα παρέχει την είσοδο στη γραμμή εντολών. " 926 00:46:51,150 --> 00:46:54,100 Αν έχετε ακολουθήσει όλες τις διαλέξεις 927 00:46:54,100 --> 00:46:56,710 και ακρόαση σχετικά με τα επιχειρήματα της γραμμής εντολών, 928 00:46:57,810 --> 00:47:00,080 αυτό είναι το είδος του, όπου αυτά - ότι funky σύνταξη 929 00:47:00,080 --> 00:47:04,530 στο κεντρικό έρχεται με το int argc, όλα αυτά τα πράγματα, 930 00:47:04,530 --> 00:47:07,630 έτσι και εδώ δεν είμαστε χρησιμοποιώντας αυτό? εμείς δεν έχουμε να κάνουμε με κάποιο από αυτά. 931 00:47:09,400 --> 00:47:12,650 Είμαστε απλά θα πάρει αυτό το δακτυλογραφημένο από τον χρήστη, 932 00:47:12,650 --> 00:47:15,700 και στη συνέχεια η δεύτερη γραμμή με το funky κεφαλαιοποίηση 933 00:47:15,700 --> 00:47:18,550 είναι ό, τι θέλουμε το πρόγραμμά μας για την έξοδο. 934 00:47:19,790 --> 00:47:22,860 >> Έτσι, αντί να χρησιμοποιούν τη συσκευή ή Run, θα χρησιμοποιήσουμε χώρους, 935 00:47:22,860 --> 00:47:25,360 επειδή έχουμε χώρους, 936 00:47:25,360 --> 00:47:28,640 και έτσι αν εσείς θα 937 00:47:28,640 --> 00:47:32,380 λάβετε τον κωδικό σας για να δείτε κάτι σαν αυτό, 938 00:47:32,380 --> 00:47:35,930 έτσι είμαι πρόκειται να αποθηκεύσετε αυτή την αναθεώρηση 939 00:47:35,930 --> 00:47:38,390 ακριβώς έτσι έχετε το δικαίωμα πλάκα λέβητα εδώ 940 00:47:38,390 --> 00:47:42,840 που μοιάζει με αυτό, int main (void), τίποτα σε αυτό. 941 00:47:44,480 --> 00:47:48,460 Στην πραγματικότητα, αυτό που θα κάνουμε είναι ότι θα διαγράψει τα πάντα όλα μαζί. 942 00:47:48,460 --> 00:47:50,330 Θέλουμε μια κενή πλάκα, 943 00:47:50,330 --> 00:47:52,470 επειδή δεν είμαστε Θα αρχίσετε να γράφετε κώδικα? 944 00:47:52,470 --> 00:47:55,380 μάλλον, είμαστε θα προσπαθήσω να γράψω μερικά ψευδοκώδικα 945 00:47:55,380 --> 00:47:58,580 που πραγματικά σημαίνει απλά θα πάμε να γράψω κάτι που δεν είναι κώδικας 946 00:47:58,580 --> 00:48:01,010 αυτό το είδος της περιγράφει τι θέλουμε να κάνουμε, 947 00:48:01,010 --> 00:48:05,180 κάπως όπως ο David έκανε την πρώτη ημέρα της διάλεξης, 948 00:48:05,180 --> 00:48:08,310 ή υποθέτω ότι ήταν η δεύτερη ημέρα της διάλεξης, όταν έκανε την όλη demo κάλτσες. 949 00:48:08,310 --> 00:48:10,990 Εσείς να θυμάστε ότι - βλέποντας τις κάλτσες; 950 00:48:10,990 --> 00:48:13,300 Ιωσήφ ήταν εκεί το είδος του πληκτρολογώντας στην αγγλική γλώσσα; 951 00:48:13,300 --> 00:48:16,300 Έτσι, θα κάνουμε το ίδιο πράγμα. 952 00:48:16,300 --> 00:48:18,380 >> Έτσι, όταν αρχίζω να γράφω ψευδοκώδικα, 953 00:48:18,380 --> 00:48:22,640 Θα ήθελα να ξεκινήσω με την εξέταση τι η είσοδος θα είναι. 954 00:48:22,640 --> 00:48:24,950 Και κάνω μια υπόθεση δείγμα, 955 00:48:24,950 --> 00:48:28,780 έτσι όπως το "thanks for the add!" 956 00:48:35,030 --> 00:48:38,010 Και τότε εγώ επίσης να γράψετε ό, τι θέλω το αποτέλεσμα να είναι, 957 00:48:38,010 --> 00:48:42,210 που στην προκειμένη περίπτωση είναι κάτι σαν αυτό. 958 00:48:53,790 --> 00:48:56,050 Και αυτό το είδος του μου δίνει ένα καλό, όπως, σημείο εκκίνησης για να σκεφτούμε, 959 00:48:56,050 --> 00:48:59,730 "Εντάξει, θέλω να πάρω γραμμή 1 960 00:48:59,730 --> 00:49:03,560 και θέλω να το μετατρέψει σε γραμμή 2 " 961 00:49:03,560 --> 00:49:06,570 και αυτό το είδος της σκέψης βοηθά τον οδηγό μου. 962 00:49:06,570 --> 00:49:09,990 Αυτό είναι ένα καλό μέρος για να ξεκινήσετε. 963 00:49:09,990 --> 00:49:12,190 Ένας άλλος τρόπος για να το σκεφτώ, επίσης, όπως εμείς κάπως να προχωρήσουμε 964 00:49:12,190 --> 00:49:15,020 και όπως μπορείτε να το κάνετε αυτό στο δικό σας προγράμματα, είναι να 965 00:49:15,020 --> 00:49:18,530 σκεφτούμε κάτι σαν ποιες είναι οι περιπτώσεις άκρη σε αυτό; 966 00:49:18,530 --> 00:49:20,740 Τι είναι το είδος του τα παράξενα σενάρια; 967 00:49:20,740 --> 00:49:23,660 Ποια είναι τα παράξενα εισόδους που μπορεί να πάρει; 968 00:49:23,660 --> 00:49:26,550 Και τι θα πρέπει αυτά τα αποτελέσματα μοιάζουν; 969 00:49:26,550 --> 00:49:29,670 Για παράδειγμα, ένα παράξενο είσοδο 970 00:49:29,670 --> 00:49:33,200 θα είναι αυτό, 971 00:49:33,200 --> 00:49:35,630 δημιουργία απολύτως τίποτα, 972 00:49:35,630 --> 00:49:37,840 όπως αυτό που θα πρέπει να εξάγει σε αυτή την περίπτωση; 973 00:49:37,840 --> 00:49:40,530 Κάτι που θέλουμε να σκεφτούμε, πάρα πολύ. 974 00:49:40,530 --> 00:49:44,450 >> Έτσι ακριβώς όπως ένα ερώτημα, 975 00:49:44,450 --> 00:49:46,870 τι μπορεί να θέλουμε να εξόδου; 976 00:49:46,870 --> 00:49:50,740 Αν δεν πάρετε οποιαδήποτε είσοδο σε όλα, αυτό που πρέπει να μας πρόγραμμα έξοδο; 977 00:49:53,740 --> 00:49:54,860 Τίποτα >>. 978 00:49:54,860 --> 00:49:57,340 Τίποτα; Ακούγεται μεγάλη. 979 00:49:57,340 --> 00:49:59,280 Έτσι, θέλουμε να είμαστε σίγουροι ότι δεν γράφουμε τίποτα 980 00:49:59,280 --> 00:50:01,500 αν δεν πάρει τίποτα μέσα 981 00:50:01,500 --> 00:50:04,320 Cool. Εντάξει. 982 00:50:04,320 --> 00:50:07,370 Έτσι 983 00:50:07,370 --> 00:50:09,380 Πάω να καλέσετε σε ένα ζευγάρι των ανθρώπων που περνάμε 984 00:50:09,380 --> 00:50:12,790 και μόλις καταλάβω κάτι σαν αυτό που ο γενικός αλγόριθμος είναι 985 00:50:12,790 --> 00:50:15,250 και θα αρχίσουμε να εργαζόμαστε είδος μέσω αυτής μαζί. 986 00:50:16,240 --> 00:50:19,710 >> Έτσι, ας δούμε. Missy. 987 00:50:19,710 --> 00:50:21,220 Πώς νομίζετε ότι θα ξεκινήσει; 988 00:50:21,220 --> 00:50:24,830 Τι θα ήταν ένα καλό μέρος για να ξεκινήσετε εδώ 989 00:50:24,830 --> 00:50:27,900 αν θέλουμε να μετατρέψουμε, ας πούμε, γραμμή 1 990 00:50:27,900 --> 00:50:29,440 στην γραμμή 2; 991 00:50:29,440 --> 00:50:32,650 Μπορείτε να το είδος του απλά να μου εξηγήσει, στα αγγλικά, τι σκέφτεστε; 992 00:50:32,650 --> 00:50:34,770 Μην ανησυχείτε, ακόμη και για τον κωδικό. 993 00:50:34,770 --> 00:50:38,250 >> Το πρώτο πράγμα που θα έκανα θα ήταν να 994 00:50:38,250 --> 00:50:41,170 το είδος της άμεσης χρήστη να τους πείτε ό, τι θέλετε. 995 00:50:41,170 --> 00:50:44,730 Εντάξει, έτσι, ας πούμε, 996 00:50:44,730 --> 00:50:47,450 "Γεια σου, χρήστη. Θέλω 997 00:50:47,450 --> 00:50:50,560 ένα string "- φοβερό. 998 00:50:50,560 --> 00:50:52,990 Ας γράψω αυτό το προς τα κάτω. 999 00:50:52,990 --> 00:50:56,140 Ερώτηση στον χρήστη για ένα string. 1000 00:50:56,140 --> 00:50:59,270 Αυτό ακούγεται σαν μια καλή αρχή. 1001 00:51:03,920 --> 00:51:06,460 Εντάξει. 1002 00:51:06,460 --> 00:51:09,750 Ας ρωτήσουμε Kelly Ren αυτή τη φορά. 1003 00:51:09,750 --> 00:51:11,580 Τι θα πρέπει λοιπόν θέλουμε να κάνουμε το επόμενο βήμα; 1004 00:51:11,580 --> 00:51:14,220 Τι είναι το είδος του επόμενου μας -; 1005 00:51:14,220 --> 00:51:18,080 Συλλέξτε >> συμβολή τους και να το αποθηκεύσετε ως μια μεταβλητή. 1006 00:51:18,080 --> 00:51:20,470 Μεγάλη. 1007 00:51:20,470 --> 00:51:24,280 Έτσι, τη συλλογή των χορδών, 1008 00:51:25,450 --> 00:51:27,880 αποθηκεύστε το σε μια μεταβλητή. 1009 00:51:34,840 --> 00:51:36,460 Έτσι, είναι κάτι το ιδιαίτερο που θέλουμε να κάνουμε εδώ; 1010 00:51:36,460 --> 00:51:39,700 Θέλουμε να ελέγξετε τη συμβολή τους 1011 00:51:39,700 --> 00:51:42,260 πριν -; 1012 00:51:42,260 --> 00:51:43,790 Ναι >>. 1013 00:51:43,790 --> 00:51:46,330 Τι μπορεί να θέλετε να ελέγξετε για; 1014 00:51:46,330 --> 00:51:48,980 >> Λοιπόν, είπατε ότι δεν έχουμε να ελέγξετε αν είναι ένας αριθμός, έτσι δεν είναι; 1015 00:51:48,980 --> 00:51:52,400 Επειδή θα υποθέσουμε ότι είναι πεζά; 1016 00:51:52,400 --> 00:51:55,650 Ναι. 1017 00:51:56,380 --> 00:51:58,920 >> Έτσι, αποδεικνύεται ότι - ναι. 1018 00:51:58,920 --> 00:52:01,850 Έτσι getString είναι εγγυημένη για να επιστρέψει ένα string μας. 1019 00:52:01,850 --> 00:52:05,050 Δεν πρόκειται να επιστρέψει έναν αριθμό σε μας ή κάτι τέτοιο. 1020 00:52:05,050 --> 00:52:09,140 Μπορεί να υπάρχουν ψηφίο χαρακτήρες εντός του εν λόγω σειρά, όμως. 1021 00:52:09,140 --> 00:52:13,460 Και εκείνοι, μπορούμε να αγνοήσουμε, όπως κάναμε την κεφαλαιοποίηση. 1022 00:52:13,460 --> 00:52:16,620 Αλλά ένα κενό string είναι εντελώς καλά, 1023 00:52:16,620 --> 00:52:19,900 έτσι την υπόθεση εδώ στη γραμμή 4 και 5, 1024 00:52:19,900 --> 00:52:22,020 δεξιά, όπου δεν υπάρχει καμία εισαγωγή, 1025 00:52:22,020 --> 00:52:25,190 και έχουμε βάλει τίποτα ως έξοδο μας. 1026 00:52:25,190 --> 00:52:28,730 Δεν χρειάζεται να ανησυχείτε για να διασφαλίσουμε ότι υπάρχει κάτι στη σειρά 1027 00:52:28,730 --> 00:52:31,840 ή ότι η συμβολοσειρά είναι τουλάχιστον 4 χαρακτήρες? 1028 00:52:31,840 --> 00:52:34,190 όλα είναι μια χαρά. 1029 00:52:34,190 --> 00:52:38,270 Έτσι, αυτό έρχεται σε αντίθεση, για παράδειγμα, με τα προγράμματα, όπως πένες που γράψατε 1030 00:52:38,270 --> 00:52:42,340 όπου θα έπρεπε να βεβαιωθείτε ότι έχετε πάρει ήταν μη-αρνητικούς αριθμούς? 1031 00:52:42,340 --> 00:52:46,430 θα έπρεπε να βεβαιωθείτε ότι έχετε πάρει το σωστό αριθμό των ημερών σε ένα μήνα. 1032 00:52:46,430 --> 00:52:49,630 Και πώς κάνετε εσείς αυτό; 1033 00:52:49,630 --> 00:52:51,470 Πώς θα το κάνετε αυτό το τεστ; 1034 00:52:51,470 --> 00:52:54,090 Τι έκανε ότι απαιτούν από εσάς να χρησιμοποιήσετε; 1035 00:52:54,090 --> 00:52:55,650 >> Do-while. 1036 00:52:55,650 --> 00:53:00,840 Do-while loops? Άλλα είδη βρόχων, πάρα πολύ, ναι. 1037 00:53:02,190 --> 00:53:04,520 Έτσι βγάζει δεν έχουμε να χρησιμοποιήσει ένα βρόχο σε αυτή την περίπτωση, 1038 00:53:04,520 --> 00:53:07,360 όταν είμαστε προτρέποντας για μια σειρά, η οποία είναι το είδος της Νίκαιας. 1039 00:53:08,280 --> 00:53:10,620 >> Εντάξει, κινείται. 1040 00:53:12,410 --> 00:53:14,270 Έτσι, Στέλλα. 1041 00:53:14,270 --> 00:53:17,530 Μπορείτε να μας πείτε λίγο για το τι θα πρέπει να κάνουμε το επόμενο βήμα; 1042 00:53:17,530 --> 00:53:20,270 Έτσι τώρα έχουμε το string, έχουμε να αποθηκεύεται σε μια μεταβλητή? 1043 00:53:20,270 --> 00:53:23,360 τι πρέπει να κάνουμε με το string; 1044 00:53:26,790 --> 00:53:33,530 >> Πρέπει να - 1045 00:53:33,530 --> 00:53:36,550 προσδιορίσει το 2 - 1046 00:53:36,550 --> 00:53:39,290 Ναι, λένε ότι μόνο στην αγγλική γλώσσα, αυτό είναι φοβερό. 1047 00:53:39,290 --> 00:53:42,670 Προσδιορίστε τις >> [δεν ακούγεται] πρωτεύουσες - ή, κεφαλαία. 1048 00:53:44,420 --> 00:53:48,130 Ναι, έτσι θα προσδιορίσει ποια είναι κεφαλαία και πεζά. 1049 00:53:50,020 --> 00:53:54,180 Δεν μπορούμε κεφαλαία ή πεζά τους έως ότου έχουμε προσδιορίσει ποιες είναι αυτές. 1050 00:54:03,790 --> 00:54:06,350 Έτσι θα βάλουμε ότι εδώ. 1051 00:54:06,350 --> 00:54:10,210 >> Έτσι, απλά να σκεφτόμαστε αυτή τη διαδικασία, 1052 00:54:10,210 --> 00:54:13,200 πώς μπορούμε να κάνουμε αυτή την ταύτιση; 1053 00:54:13,200 --> 00:54:15,050 Ξέρετε, Dan; 1054 00:54:15,050 --> 00:54:18,120 Είδος τι εμείς - τι εργαλείο που θα πρέπει να χρησιμοποιούν από εργαλειοθήκη μας; 1055 00:54:18,120 --> 00:54:22,500 >> Θα ήθελα να το θέσω σε κάπως σαν σε έναν πίνακα ή σε κάθε γραμμή 1056 00:54:22,500 --> 00:54:24,240 Είναι δικό του μικρό κουτί του, 1057 00:54:24,240 --> 00:54:27,240 κεφαλαία και στη συνέχεια από εκεί ή όχι. 1058 00:54:27,240 --> 00:54:30,440 Εντάξει, έτσι ένα εργαλείο που μπορούμε να χρησιμοποιήσουμε είναι ένας πίνακας. 1059 00:54:30,440 --> 00:54:33,760 Τι έχουμε να δούμε στη σειρά, 1060 00:54:33,760 --> 00:54:36,680 όμως, να καταλάβω - είχαμε να δούμε τους χαρακτήρες. 1061 00:54:36,680 --> 00:54:40,890 >> Έτσι έχετε να δούμε το μήκος του string; 1062 00:54:40,890 --> 00:54:43,880 Ναι, έτσι ώστε μέρος του που είναι να πάρει το μήκος του string. 1063 00:54:50,450 --> 00:54:54,150 Απλά από περιέργεια, τι θα χρησιμοποιήσετε για να πάρει το μήκος του string; 1064 00:54:54,150 --> 00:54:58,080 >> Strlen; 1065 00:54:58,080 --> 00:55:02,870 Ναι, strlen? Αυτό που λέμε "strlen" 1066 00:55:04,180 --> 00:55:08,620 Όλες αυτές οι λειτουργίες συμβολοσειρά, ώστε strlen είναι μια συνάρτηση, 1067 00:55:08,620 --> 00:55:10,670 και είναι εξαιρετικά βολικό, επειδή μπορούμε να το χρησιμοποιήσουμε για να πω, 1068 00:55:10,670 --> 00:55:13,430 Γεια σου, strlen: Εδώ είναι μια σειρά, να μου πείτε πόσο καιρό είναι. 1069 00:55:13,430 --> 00:55:17,350 Στη διάλεξη σήμερα, ο David μίλησε πολύ για το πώς strlen υλοποιείται, 1070 00:55:17,350 --> 00:55:20,370 τι πραγματικά συμβαίνει πίσω από τις σκηνές. 1071 00:55:20,370 --> 00:55:25,450 Αλλά αυτό είναι ένα από τα πολύ σούπερ πρακτικό αυτούς. 1072 00:55:25,450 --> 00:55:29,170 Υπάρχουν και άλλα αυτά που είναι επίσης στη βιβλιοθήκη συμβολοσειρά, 1073 00:55:29,170 --> 00:55:34,690 όπως strcmp, το οποίο είναι γραμμένο "strcmp", 1074 00:55:34,690 --> 00:55:38,010 το οποίο χρησιμοποιείται για να συγκρίνει τις συμβολοσειρές σε άλλο. 1075 00:55:41,220 --> 00:55:45,020 Άλλες αυτά που θα χρησιμοποιήσετε σαν strstr, 1076 00:55:45,020 --> 00:55:48,770 το οποίο είναι καλό για την εύρεση υπο χορδές και ούτω καθεξής. 1077 00:55:48,770 --> 00:55:53,380 Για το μεγαλύτερο μέρος, όλα αρχίζουν με την οδό και στη συνέχεια πήγαινε για να είναι κάτι άλλο. 1078 00:55:53,380 --> 00:55:57,080 Ο λόγος που δεν τους σημάνει πραγματικά σαν κορδόνι και ούτω καθεξής 1079 00:55:57,080 --> 00:56:00,260 επειδή είναι πίσω στις όπως τις πρώτες ημέρες της C, 1080 00:56:00,260 --> 00:56:04,100 όταν οι άνθρωποι ήταν πρώτη γραφή και όλα αυτά, 1081 00:56:04,100 --> 00:56:07,580 είχαν περιορισμούς στον αριθμό των χαρακτήρων που μπορείτε να χρησιμοποιήσετε 1082 00:56:07,580 --> 00:56:09,950 για τα ονόματα λειτουργία και τα ονόματα των μεταβλητών, 1083 00:56:09,950 --> 00:56:12,620 έτσι τα πάντα είναι σαν σούπερ συνοπτικές. 1084 00:56:12,620 --> 00:56:15,750 Αλλά κάθε φορά που βλέπω κάτι που ξεκινά με την οδό, 1085 00:56:15,750 --> 00:56:18,600 αυτό συνήθως σημαίνει αυτό έχει να κάνει με μια σειρά. 1086 00:56:20,990 --> 00:56:23,350 >> Εντάξει, έτσι έχετε να πάρετε το μήκος του string, 1087 00:56:23,350 --> 00:56:27,110 και, στη συνέχεια, τι θα κάνουμε με τους χαρακτήρες; 1088 00:56:27,110 --> 00:56:29,020 Ξέρετε, Σαμ; 1089 00:56:29,020 --> 00:56:32,410 >> Δεν έχω καμία ιδέα? Προσπαθούσα να το καταλάβω. 1090 00:56:32,410 --> 00:56:35,410 Πραγματικά δεν ξέρω - Εύχομαι να υπήρχαν κάποιο τρόπο να - 1091 00:56:35,410 --> 00:56:38,990 Θέλω να πω, θα ήθελα να πιστεύω ίσως θα μπορούσαμε να κάνουμε κάτι με την απόδοση και εξισώνει, 1092 00:56:38,990 --> 00:56:40,860 αλλά δεν ξέρω από οποιαδήποτε λειτουργία όπως αυτό. 1093 00:56:40,860 --> 00:56:42,240 Ναι. 1094 00:56:43,160 --> 00:56:45,200 >> Αλλά αυτό - δεν θα λειτουργήσουν απαραιτήτως, 1095 00:56:45,200 --> 00:56:48,690 γιατί τότε θα πάρετε οι χώροι να είναι - 1096 00:56:48,690 --> 00:56:51,130 θα πρέπει να έχουν το χώρο για να πάρετε συμβουλές για το πώς - 1097 00:56:51,130 --> 00:56:54,310 Εντάξει. 1098 00:56:54,310 --> 00:56:56,490 >> Δεν ξέρω - I'm είδος των χαμένων σε αυτό το σημείο. 1099 00:56:56,490 --> 00:56:58,120 Ναι - Όχι, όχι, όχι, αυτά είναι τα καλά σημεία. 1100 00:56:58,120 --> 00:57:00,420 Έτσι, αυτό που πρέπει να κάνουμε είναι, όπως δήλωσε ο Σαμ, 1101 00:57:00,420 --> 00:57:02,970 θα πρέπει να παρακολουθείτε ποια γράμματα είναι τα περίεργα γράμματα, 1102 00:57:02,970 --> 00:57:05,540 και ποιες είναι οι ακόμη και γράμματα. 1103 00:57:06,650 --> 00:57:09,090 Αλλά θέλουμε να σιγουρευτούμε ότι δεν είστε απλά ψάχνουν 1104 00:57:09,090 --> 00:57:12,110 στο μονές και ζυγές 1105 00:57:12,110 --> 00:57:14,030 δείκτες στη σειρά, 1106 00:57:14,030 --> 00:57:17,660 αλλά κοιτάζοντας τα περίεργα και ακόμα και γράμματα στη σειρά, 1107 00:57:17,660 --> 00:57:20,190 έτσι πρέπει να έχουμε κάπως αυτή τη διάκριση μεταξύ 1108 00:57:20,190 --> 00:57:25,190 γράμματα - όπως και ό, τι είναι στην πραγματικότητα A, B, C, D, ή ούτω καθεξής, 1109 00:57:25,190 --> 00:57:29,090 και ποια πράγματα δεν είναι γράμματα, αλλά ακόμα σε σειρά μας. 1110 00:57:29,090 --> 00:57:32,390 Για παράδειγμα, εδώ, όπως αυτό θαυμαστικό δεν είναι ένα γράμμα, 1111 00:57:32,390 --> 00:57:36,060 αλλά είναι ακόμα μέρος της σειράς μας? είναι ακόμα μια χαρα. 1112 00:57:36,060 --> 00:57:38,820 Παρομοίως, όλες αυτές χώρων - 1113 00:57:38,820 --> 00:57:41,710 δεν έχει νόημα να αξιοποιήσει ένα χώρο, έτσι δεν είναι; 1114 00:57:41,710 --> 00:57:46,160 Έτσι, θέλουμε να διασφαλίσουμε ότι θα παραλείψετε κάποιο τρόπο αυτούς 1115 00:57:46,160 --> 00:57:49,410 ενώ η παρακολούθηση ακόμη αποδόσεις και εξισώνει. 1116 00:57:50,900 --> 00:57:54,990 >> Έτσι, το είδος του προγραμματισμού στην εργαλειοθήκη μας 1117 00:57:54,990 --> 00:57:57,270 μέχρι τώρα, αν θέλετε, 1118 00:57:57,270 --> 00:58:01,310 έχουμε μια σειρά από διαφορετικά εργαλεία που έχουμε μιλήσει. 1119 00:58:01,310 --> 00:58:04,640 Έτσι ένα, για παράδειγμα, είναι μεταβλητές, 1120 00:58:04,640 --> 00:58:07,120 όπως έχουμε μιλήσει εδώ. 1121 00:58:07,120 --> 00:58:10,730 Ένα άλλο εργαλείο που έχουμε μιλήσει για τα καθήκοντα. 1122 00:58:10,730 --> 00:58:15,800 Έτσι, έχουμε μιλήσει για τις μεταβλητές σε ψευδοκώδικα μας εδώ 1123 00:58:15,800 --> 00:58:19,760 όπως αυτό που πρόκειται να χρησιμοποιήσετε για να αποθηκεύσετε σειρά μας. 1124 00:58:19,760 --> 00:58:24,630 Έχουμε μιλήσει για τις λειτουργίες για να πάρει το μήκος της χορδής, όπως strlen. 1125 00:58:28,510 --> 00:58:31,170 Έχουμε μιλήσει για κάτι άλλο, και έχουμε μιλήσει γι 'αυτό 1126 00:58:31,170 --> 00:58:34,850 για ένα πολύ νωρίτερα σήμερα στο τμήμα: βρόχους. 1127 00:58:39,390 --> 00:58:42,030 >> Τι τύποι σκέφτεστε σχετικά με τη χρήση ενός βρόχου σε αυτό το πρόγραμμα; 1128 00:58:42,030 --> 00:58:44,110 Jared, τι νομίζετε; 1129 00:58:47,150 --> 00:58:50,030 Θα χρησιμοποιούμε ένα βρόχο σε αυτό το πρόγραμμα; 1130 00:58:50,030 --> 00:58:52,500 >> Μάλλον όχι, όχι, γιατί δεν χρειάζεται να περάσει μέσα από αυτό περισσότερο από μία φορά. 1131 00:58:52,500 --> 00:58:55,260 Εντάξει, δεν χρειάζεται να περάσουν από ό, τι περισσότερο από μία φορά; 1132 00:58:55,260 --> 00:58:57,190 >> Το σύνολο εγχόρδων. 1133 00:58:57,190 --> 00:59:00,660 Σωστά, έτσι ώστε να μην χρειάζεται να περάσουν από τη σειρά ολόκληρη μια φορά. 1134 00:59:00,660 --> 00:59:03,330 Συγνώμη που έκανε απολύτως κανένα νόημα! 1135 00:59:03,330 --> 00:59:06,360 Δεν χρειάζεται να περάσουν όλη τη σειρά πάνω από μία φορά. 1136 00:59:06,360 --> 00:59:08,660 Εντάξει. 1137 00:59:09,790 --> 00:59:11,920 Ποια είναι η γνώμη σας; 1138 00:59:11,920 --> 00:59:14,110 >> Νομίζω ότι είναι καλύτερα να τα χρησιμοποιήσουν 1139 00:59:14,110 --> 00:59:16,640 έτσι μπορούμε να κάνουμε σαν κεφαλαιοποιήσει ενώ 1140 00:59:16,640 --> 00:59:19,750 η τοποθεσία του είναι [δεν ακούγεται] αριθμός. 1141 00:59:19,750 --> 00:59:22,940 Μεγάλη, και να κεφαλαιοποιήσουν και τι έγινε; 1142 00:59:22,940 --> 00:59:25,200 Εντάξει, έτσι λέμε ότι 1143 00:59:25,200 --> 00:59:28,130 θα πρέπει να χρησιμοποιήσουμε ένα βρόχο, γιατί θέλουμε να 1144 00:59:28,130 --> 00:59:32,550 ένα γράμμα κεφαλαίο, ενώ δεν είναι ένας αριθμός. 1145 00:59:35,130 --> 00:59:37,140 Έτσι - συγνώμη, δεν θέλετε να προσθέσετε; 1146 00:59:37,140 --> 00:59:39,340 >> Ήμουν έτοιμος να πω ότι ο τρόπος που αντιμετωπίζουν τη συμβολοσειρά 1147 00:59:39,340 --> 00:59:42,290 και [δεν ακούγεται] η ξεχωριστή [δεν ακούγεται] για τους χαρακτήρες; 1148 00:59:42,290 --> 00:59:43,710 Ναι. 1149 00:59:43,710 --> 00:59:45,850 >> Και τότε μπορούμε να εκχωρούν τους αριθμούς - 1150 00:59:45,850 --> 00:59:47,780 ή με βάση τη θέση των γραμμάτων στο string; 1151 00:59:47,780 --> 00:59:49,720 Ναι. 1152 00:59:49,720 --> 00:59:53,640 Και >> προσδιορίσει αν είναι μονό ή ζυγό και να κεφαλαιοποιήσει την ίδια επιστολή 1153 00:59:53,640 --> 00:59:57,750 ενώ η θέση της επιστολής είναι [δεν ακούγεται] - συγνώμη. 1154 00:59:57,750 --> 01:00:00,150 Μεγάλη. 1155 01:00:00,150 --> 01:00:03,430 >> Έτσι απλά μια ανακεφαλαίωση. 1156 01:00:03,430 --> 01:00:05,840 Μπορείτε να μου θυμίζουν το όνομά σας και πάλι - Συγγνώμη. 1157 01:00:05,840 --> 01:00:06,900 >> Charlotte. 1158 01:00:06,900 --> 01:00:08,490 Charlotte, εντάξει. 1159 01:00:08,490 --> 01:00:11,130 Έτσι, αυτό που λέει Charlotte, 1160 01:00:11,130 --> 01:00:14,950 η οποία είναι εντελώς σωστό - Θεέ, αυτό συμπαθεί την αυτόματη περίπτωση για μένα - 1161 01:00:14,950 --> 01:00:17,770 είναι ότι αν κοιτάξουμε σε μια σειρά 1162 01:00:17,770 --> 01:00:19,160 όπως αυτό στην κορυφή - 1163 01:00:19,160 --> 01:00:21,590 "Thanks for the add" - 1164 01:00:21,590 --> 01:00:24,790 ως μια ακολουθία των χαρακτήρων 1165 01:00:24,790 --> 01:00:29,010 όπου το είναι στη θέση 0, 1166 01:00:29,010 --> 01:00:32,260 το h είναι στη θέση 1. 1167 01:00:32,260 --> 01:00:36,880 Το Α είναι κατά 2, τότε έχουμε 3, 4, 5? 1168 01:00:36,880 --> 01:00:40,830 ο χώρος είναι στη θέση 6. 1169 01:00:42,380 --> 01:00:45,300 Εκτιμώντας - ποια είναι η θέση του στ? 1170 01:00:45,300 --> 01:00:47,610 7! 1171 01:00:47,610 --> 01:00:49,300 O; 8. 1172 01:00:49,300 --> 01:00:52,070 Ε; 9. 1173 01:00:52,070 --> 01:00:54,340 Και τότε έχουμε 10, και στη συνέχεια, δεν μπορώ να γράψω πραγματικά χωρίς να 1174 01:00:54,340 --> 01:00:57,430 κάπως να πάρει βρώμικο στην οθόνη. 1175 01:00:57,430 --> 01:01:02,340 Αλλά αυτό είναι πραγματικά πώς μπορούμε να μιλάμε για χορδές στη μνήμη. 1176 01:01:02,340 --> 01:01:04,660 Είναι μια σειρά 1177 01:01:04,660 --> 01:01:07,920 είναι μία ακολουθία χαρακτήρων, 1178 01:01:07,920 --> 01:01:12,430 και όταν αναφερόμαστε σε ένα συγκεκριμένο χαρακτήρα σε μια σειρά, 1179 01:01:12,430 --> 01:01:15,280 συχνά το κάνουν με αναφορά στη θέση ότι ο χαρακτήρας της 1180 01:01:15,280 --> 01:01:17,620 εντός της συμβολοσειράς, 1181 01:01:17,620 --> 01:01:19,910 κατά πάσα πιθανότητα με τον ίδιο τρόπο που μιλάμε για Σεπτέμβριο 1182 01:01:19,910 --> 01:01:22,870 είναι ο ένατος μήνας του έτους 1183 01:01:22,870 --> 01:01:27,730 ή τη Δευτέρα είναι η πρώτη ημέρα της εβδομάδας. 1184 01:01:29,280 --> 01:01:33,070 Έτσι αυτό μας παρέχει έναν τρόπο να 1185 01:01:33,070 --> 01:01:37,030 καταλάβω ποια είναι περίεργο, ακόμη και σε σχέση με 1186 01:01:37,030 --> 01:01:39,540 επειδή μπορείτε να δείτε εδώ, 1187 01:01:39,540 --> 01:01:43,640 αν θέλουμε να ταιριάζουν με αυτό το Τ, 1188 01:01:46,310 --> 01:01:49,360 μπορείτε να δείτε ότι όλα τα κεφαλαία αυτά 1189 01:01:49,360 --> 01:01:53,040 είναι ακόμη σε θέση, 1190 01:01:53,040 --> 01:01:55,880 τουλάχιστον για την πρώτη λέξη, 1191 01:01:55,880 --> 01:01:59,080 και τότε τα πράγματα παίρνουν αποτινάξει τη στιγμή που θα χτυπήσει το χώρο, 1192 01:01:59,080 --> 01:02:02,460 επειδή δεν μετράνε αυτό το χώρο ως ένα γράμμα, 1193 01:02:02,460 --> 01:02:05,150 έτσι είναι σαν να ξεκινήσαμε 1194 01:02:05,150 --> 01:02:08,930 και πήγε 0, 1, 2, 3, 4, 5, 1195 01:02:08,930 --> 01:02:12,600 χώρου, 6, 7, 8, το διάστημα, 1196 01:02:12,600 --> 01:02:16,440 9, και στη συνέχεια 10, 11, 12, και ούτω καθεξής. 1197 01:02:19,300 --> 01:02:22,910 >> Cool, έτσι σίγουρα θα θέλετε να χρησιμοποιήσετε κάποιο είδος του βρόχου 1198 01:02:22,910 --> 01:02:27,760 να πάει πέρα ​​από κάθε ένα από τους χαρακτήρες με τη σειρά. 1199 01:02:31,330 --> 01:02:34,580 Έτσι, σε αυτό το σημείο, 1200 01:02:36,490 --> 01:02:38,360 θα επανέλθει στο παλιό ψευδοκώδικα μας εδώ. 1201 01:02:40,970 --> 01:02:42,650 Ως μέρος αυτής της ταυτότητας του ποιοι από αυτούς 1202 01:02:42,650 --> 01:02:45,350 είναι κεφαλαία και ποια είναι πεζά, 1203 01:02:45,350 --> 01:02:48,340 θα θέλετε να το κάνετε αυτό σε κάποιο είδος του βρόχου. 1204 01:02:51,080 --> 01:02:53,390 Loop, του παχέος εντέρου. 1205 01:02:55,070 --> 01:03:01,220 Τι είδους του βρόχου, εκτός από τα είδη των βρόχων που έχουμε, 1206 01:03:01,220 --> 01:03:03,670 φαίνεται να είναι ένα καλό αποτέλεσμα για χρήση σε αυτή την περίπτωση; 1207 01:03:03,670 --> 01:03:05,610 >> Σκεφτόμουν για το βρόχο. 1208 01:03:05,610 --> 01:03:07,500 Και γιατί σκέφτεσαι για βρόχο; 1209 01:03:07,500 --> 01:03:10,000 >> Επειδή ξεκινά από το μηδέν, και στη συνέχεια, 1210 01:03:10,000 --> 01:03:13,000 όταν φτάνουμε το μήκος του string, 1211 01:03:13,000 --> 01:03:16,170 και στη συνέχεια κάθε επανάληψη μπορείτε να [δεν ακούγεται], πάρα πολύ; 1212 01:03:16,170 --> 01:03:18,260 Ναι, ακριβώς. 1213 01:03:18,260 --> 01:03:21,490 Έτσι, από τις διαφορετικές επιλογές των βρόχων, 1214 01:03:21,490 --> 01:03:25,350 έχουμε για βρόχους, ενώ βρόχους, και do-while. 1215 01:03:25,350 --> 01:03:28,550 Όταν ένας βρόχος for είναι ιδιαίτερα χρήσιμο 1216 01:03:28,550 --> 01:03:32,120 είναι όταν θέλετε να ξέρετε 1217 01:03:32,120 --> 01:03:34,940 είδος του όπου είστε σε στο βρόχο, 1218 01:03:34,940 --> 01:03:38,520 πόσες φορές ο βρόχος έχει εκτελεστεί μέχρι τώρα. 1219 01:03:38,520 --> 01:03:42,490 Ποια είναι ακριβώς αυτό που θέλουμε να γνωρίζουμε σε αυτή την κατάσταση, 1220 01:03:42,490 --> 01:03:44,640 όπως είπε ο Κέλι, 1221 01:03:44,640 --> 01:03:47,400 που βασίζονται στα ανοικτά των προηγούμενων σχόλιο Charlotte ότι θέλουμε να γνωρίζουμε τη θέση 1222 01:03:47,400 --> 01:03:49,900 του χαρακτήρα εντός της συμβολοσειράς, 1223 01:03:49,900 --> 01:03:51,750 και ο βρόχος for θα μας δώσει ακριβώς αυτό, 1224 01:03:51,750 --> 01:03:54,680 γιατί αν αρχίσουμε το είδος του κοιτάζοντας πίσω σε σειρά μας, 1225 01:03:54,680 --> 01:03:57,140 αν αρχίσουμε για βρόχο μας σε 0, 1226 01:03:57,140 --> 01:04:00,350 και ανεβαίνουμε διαμέσου του μήκους ολόκληρης της σειράς, 1227 01:04:00,350 --> 01:04:04,740 τότε μπορούμε να συνδέσει το γράμμα Τ 1228 01:04:04,740 --> 01:04:08,110 με το 0 σε μας για βρόχο, 1229 01:04:09,950 --> 01:04:13,080 Η επιστολή με το 1 στο βρόχο για μας, και ούτω καθεξής, 1230 01:04:13,080 --> 01:04:16,600 πηγαίνει σε όλη τη διαδρομή μέχρι το τέλος του string. 1231 01:04:18,810 --> 01:04:21,890 >> Ας ξεκινήσουμε αυτή την κωδικοποίηση μόλις λίγο 1232 01:04:21,890 --> 01:04:24,930 ακριβώς έτσι εσείς να πάρετε μια ιδέα για το τι αυτό μοιάζει. 1233 01:04:24,930 --> 01:04:27,980 Πάω να σώσει αυτό, 1234 01:04:27,980 --> 01:04:31,230 έτσι έχουμε ψευδο κώδικα μας εδώ, 1235 01:04:33,490 --> 01:04:38,120 και Πάω να διαγράψει τα πάντα. 1236 01:04:38,120 --> 01:04:42,210 Έτσι έχω μια κενή πλάκα. 1237 01:04:42,210 --> 01:04:45,910 Πάω να ξεκινήσει με το γράψιμο int main (void) 1238 01:04:45,910 --> 01:04:48,440 { 1239 01:04:48,440 --> 01:04:51,380 Πάω να θέσει το 0 στην επιστροφή 1240 01:04:51,380 --> 01:04:53,320 και στη συνέχεια το}. 1241 01:04:53,320 --> 01:04:56,130 Έτσι, συνήθως όταν αρχίζω να το πρόγραμμα, αυτό είναι ό, τι μπορώ να ξεκινήσω με. 1242 01:04:56,130 --> 01:04:59,370 Θα το σώσει, έτσι ώστε εσείς να έχετε. 1243 01:05:06,290 --> 01:05:08,440 Έτσι, ένα από τα πρώτα πράγματα που μίλησα ήταν 1244 01:05:08,440 --> 01:05:10,920 να πάρει στοιχεία από το χρήστη 1245 01:05:10,920 --> 01:05:13,740 και την αποθήκευσή του σε μια σειρά. 1246 01:05:13,740 --> 01:05:16,420 Πώς θα πάρετε είσοδο από το χρήστη; 1247 01:05:16,420 --> 01:05:19,640 >> GetString. 1248 01:05:19,640 --> 01:05:21,870 GetString, εντάξει. 1249 01:05:23,150 --> 01:05:26,820 Έτσι, αν πληκτρολογήσετε GetString () 1250 01:05:26,820 --> 01:05:32,150 και ένα ερωτηματικό. 1251 01:05:32,150 --> 01:05:36,630 Ας προσπαθήσουμε τρέχει αυτό? Θα το τρέξιμο, πρώτα απ 'όλα; 1252 01:05:36,630 --> 01:05:38,430 Και γιατί δεν θα το τρέξει; 1253 01:05:38,430 --> 01:05:40,090 >> Θα πρέπει να δηλώνουν τη μεταβλητή. 1254 01:05:40,090 --> 01:05:43,040 Θα πρέπει να δηλώσετε μια μεταβλητή. Εντάξει. 1255 01:05:43,040 --> 01:05:45,700 >> Λοιπόν, πώς μπορώ να το κάνω αυτό; 1256 01:05:45,700 --> 01:05:48,400 Σε πειράζει να γράψει κάτι, μοιράζονται αυτό; 1257 01:05:48,400 --> 01:05:51,270 Και τότε μπορούμε να το σηκώσει. 1258 01:05:51,270 --> 01:05:54,630 Ας δούμε, Dan, δεξιά, εντάξει. 1259 01:05:54,630 --> 01:05:59,100 Ή Δανιήλ. Αντιγράψτε ότι, είσοδο στοιχειοσειράς = GetString (). 1260 01:05:59,100 --> 01:06:01,340 Awesome. 1261 01:06:01,340 --> 01:06:02,890 Θα τρέξει αυτό; 1262 01:06:02,890 --> 01:06:05,210 Ας το προσπαθήσουμε. 1263 01:06:05,210 --> 01:06:08,890 Hit τρέξιμο, ανέβασμα πηγαίου κώδικα, κτίριο, ένα σφάλμα. 1264 01:06:08,890 --> 01:06:11,040 Εντάξει. 1265 01:06:11,040 --> 01:06:14,950 Λοιπόν, τι συμβαίνει εδώ; 1266 01:06:14,950 --> 01:06:18,700 Η χρήση του «χορδή» της αδήλωτης αναγνωριστικό. 1267 01:06:18,700 --> 01:06:22,840 >> Θα πρέπει να περιλαμβάνουν τις βιβλιοθήκες; 1268 01:06:22,840 --> 01:06:25,130 Ναι, έτσι είναι Dan λέγοντας ότι πρέπει να περιλαμβάνουν τις βιβλιοθήκες. 1269 01:06:25,130 --> 01:06:28,270 Είναι ότι αυτό που πρόκειται να πω, Στέλλα; Awesome. 1270 01:06:29,450 --> 01:06:31,430 Αυτό είναι φοβερό, έτσι Στέλλα, μπορεί να σας 1271 01:06:31,430 --> 01:06:34,800 Αντιγράψτε αυτόν τον κώδικα έξω από τον Χώρο του Δανιήλ; 1272 01:06:34,800 --> 01:06:37,580 Εάν κάνετε κλικ στο Roland Daniel Ki, αντιγράψτε, 1273 01:06:37,580 --> 01:06:41,360 και στη συνέχεια θα σας βάλει τη γραμμή περιλαμβάνουν, και στη συνέχεια να το αποθηκεύσετε έξω; 1274 01:06:46,580 --> 01:06:49,360 Επιτρέψτε μου να ξέρω όταν είστε έτοιμοι. 1275 01:06:57,160 --> 01:06:59,490 Έτσι, αυτή η σύνταξη είναι επίσης περιλαμβάνουν το είδος των funky? 1276 01:06:59,490 --> 01:07:02,210 υπάρχει σαν αυτή hash tag, 1277 01:07:02,210 --> 01:07:05,760 Και υπάρχει το περιλαμβάνουν, και στη συνέχεια, υπάρχουν οι αγκύλες. 1278 01:07:12,490 --> 01:07:15,360 Θυμάστε πώς αυτό λειτουργεί, ή θα πρέπει να το βάλετε επάνω σε αυτόν τον κώδικα εδώ; 1279 01:07:15,360 --> 01:07:17,850 >> Είμαι καλός. 1280 01:07:17,850 --> 01:07:19,810 Εντάξει. 1281 01:07:19,810 --> 01:07:23,260 >> Μπορώ να εκτυπώνονται - δεν ήμουν σίγουρος βιβλιοθήκη η οποία, όμως. 1282 01:07:23,260 --> 01:07:25,570 Ω, εντάξει - ναι, έτσι είναι το CS50 βιβλιοθήκη. 1283 01:07:25,570 --> 01:07:27,660 >> Ω, έβαλα stdio βιβλιοθήκη. 1284 01:07:27,660 --> 01:07:30,950 >> Ω, πήρε - ναι, όχι, that's - 1285 01:07:30,950 --> 01:07:34,380 έτσι αποδεικνύεται ότι η σειρά είναι πραγματικά κάτι που είναι ιδιαίτερο για CS50. 1286 01:07:36,590 --> 01:07:41,240 Υπάρχει στην πραγματικότητα δεν είναι μια αληθινή τύπου string 1287 01:07:41,240 --> 01:07:45,000 επειδή ακριβώς εδώ, string είναι στη θέση τύπου, - 1288 01:07:45,000 --> 01:07:49,140 είμαστε δηλώνοντας μια μεταβλητή που ονομάζεται είσοδος του τύπου string - 1289 01:07:49,140 --> 01:07:53,320 και βάζουμε μέσα της εισόδου 1290 01:07:53,320 --> 01:07:58,440 η τιμή που παίρνει επιστραφεί σε εμάς: η έξοδος από αυτό το GetString κλήση της συνάρτησης. 1291 01:07:58,440 --> 01:08:02,910 Μπορείτε να πείτε αυτό είναι μια κλήση της συνάρτησης, επειδή πήρε τις παρενθέσεις, όπως ακριβώς κάνει printf, 1292 01:08:02,910 --> 01:08:05,920 όπως ακριβώς κάνει strlen. 1293 01:08:05,920 --> 01:08:09,860 Αλλά σειρά δεν είναι στην πραγματικότητα ένα πραγματικό τύπο 1294 01:08:09,860 --> 01:08:11,760 στη γλώσσα C. 1295 01:08:11,760 --> 01:08:15,710 Έχουμε να γίνει σε ένα είδος, και θα διαρκέσει περίπου περισσότερο ό, τι είναι στην πραγματικότητα 1296 01:08:15,710 --> 01:08:19,000 σε C, επειδή υπάρχει ένας τρόπος για να συνεργαστεί με χορδές? 1297 01:08:19,000 --> 01:08:22,479 έχουμε κάνει κάτι μόνο και μόνο για να φανεί λίγο καλύτερο. 1298 01:08:22,479 --> 01:08:25,240 >> Έτσι, εδώ πηγαίνουμε. 1299 01:08:25,240 --> 01:08:28,439 Εδώ είναι κώδικας της Στέλλας. 1300 01:08:28,439 --> 01:08:32,470 Είναι πήρε το # include . 1301 01:08:32,470 --> 01:08:36,390 Άλλοι άνθρωποι θα καλέσει αυτό σαν ένα hash περιλαμβάνουν μερικές φορές ή μια απότομη περιλαμβάνουν. 1302 01:08:36,390 --> 01:08:39,580 Τώρα μπορούμε να το ξεκινήσει, τρέχει, 1303 01:08:39,580 --> 01:08:43,649 και έχουμε ακόμα ένα λάθος. 1304 01:08:43,649 --> 01:08:46,290 Ας δούμε τι συμβαίνει. 1305 01:08:48,069 --> 01:08:50,569 "« Εισόδου »Αχρησιμοποίητα μεταβλητή." 1306 01:08:50,569 --> 01:08:53,350 Εντάξει, έτσι ώστε να είναι δροσερό, αυτό είναι δροσερό. 1307 01:08:53,350 --> 01:08:55,859 Θέλω να πω, δεν είναι πραγματικά δροσερό, 1308 01:08:55,859 --> 01:08:57,930 επειδή παίρνουμε ένα λάθος και δεν τρέχει, 1309 01:08:57,930 --> 01:09:00,410 αλλά τι είναι αυτό που λέει είναι ότι 1310 01:09:00,410 --> 01:09:03,130 δεν έχουν χρησιμοποιηθεί μεταβλητή μας, το οποίο έχει νόημα. 1311 01:09:03,130 --> 01:09:06,090 Δεν έχουμε προσπαθήσει να κάνουμε τίποτα για αυτό. 1312 01:09:07,819 --> 01:09:10,490 Αυτός είναι ένας τρόπος που 1313 01:09:10,490 --> 01:09:14,170 Clang προσπαθεί να μας βοηθήσει να βεβαιωθείτε ότι δεν είμαστε μόνο με τη χρήση μεταβλητών 1314 01:09:14,170 --> 01:09:18,819 ακούσια και στη συνέχεια καλεί τους κάτι άλλο αργότερα στον κώδικά μας, 1315 01:09:18,819 --> 01:09:21,649 βοηθώντας μας να αποφύγετε λάθη με αυτόν τον τρόπο. 1316 01:09:23,130 --> 01:09:28,810 >> Εντάξει, έτσι έχουμε είσοδο από το χρήστη, 1317 01:09:28,810 --> 01:09:31,910 εμείς αυτή αποθηκεύεται σε μία μεταβλητή. 1318 01:09:31,910 --> 01:09:34,569 Το επόμενο βήμα ήταν να τότε 1319 01:09:34,569 --> 01:09:37,609 να αρχίσει να ψάχνει σε όλους τους χαρακτήρες της συμβολοσειράς 1320 01:09:37,609 --> 01:09:41,830 Ο εντοπισμός και ποια είναι να είναι κεφαλαίο 1321 01:09:41,830 --> 01:09:44,600 και ποια είναι να είναι πεζά. 1322 01:09:44,600 --> 01:09:49,439 Και όπως Kelly και Charlotte μεγαλώσει, 1323 01:09:49,439 --> 01:09:52,340 κάνουμε αυτό χρησιμοποιώντας ένα για βρόχο. 1324 01:09:52,340 --> 01:09:55,520 Έτσι, δεν θυμάμαι κανέναν τη σύνταξη ενός βρόχου for 1325 01:09:55,520 --> 01:09:58,670 και θα ήθελα να ρίξουμε μια μαχαιριά στο γράψιμο μόνο 1326 01:09:58,670 --> 01:10:03,170 η πρώτη γραμμή του βρόχου for, μόνο για το κομμάτι; 1327 01:10:05,740 --> 01:10:07,330 Kelly, θες να δώσει μια δοκιμή; 1328 01:10:07,330 --> 01:10:10,300 >> Ναι, έτσι θα πρέπει να αρχικοποιηθεί πρώτα, 1329 01:10:10,300 --> 01:10:13,170 έτσι έβαλα i = 0, 1330 01:10:13,170 --> 01:10:15,390 και στη συνέχεια έκανα i 01:10:18,570 Είναι στο χώρο σας - μπορώ να το σηκώσει; 1332 01:10:18,570 --> 01:10:21,330 >> Ναι, έκανα θάλασσα λίγο, αλλά ναι. 1333 01:10:21,330 --> 01:10:24,180 >> Εντάξει, ας το σηκώσει. 1334 01:10:24,180 --> 01:10:26,490 Awesome. 1335 01:10:26,490 --> 01:10:29,510 >> Αλλά τότε δεν ήξερα αν έπρεπε να - 1336 01:10:29,510 --> 01:10:32,180 Ναι, εντάξει. 1337 01:10:33,020 --> 01:10:36,030 Έτσι, εδώ είναι ό, τι του έχεις Kelly: ας δούμε γρήγορα. 1338 01:10:36,030 --> 01:10:40,290 Έτσι, αυτή είναι η CS50 περιλαμβάνονται βιβλιοθήκη στην κορυφή. 1339 01:10:40,290 --> 01:10:44,790 Έχει συμπεριληφθεί η πρότυπη βιβλιοθήκη IO στην κορυφή, 1340 01:10:45,550 --> 01:10:48,990 και η τυπική IO διαθέτει λειτουργίες όπως η printf, 1341 01:10:48,990 --> 01:10:51,690 οπότε αν θελήσετε ποτέ να χρησιμοποιήσετε printf, θα πρέπει να έχετε αυτή τη γραμμή. 1342 01:10:53,060 --> 01:10:56,140 Και τότε που περιλαμβάνονται στη βιβλιοθήκη εγχόρδων, 1343 01:10:56,140 --> 01:10:58,200 η οποία θα πρέπει, 1344 01:10:58,200 --> 01:11:01,010 επειδή η βιβλιοθήκη έχει σειρά strlen λειτουργία, 1345 01:11:01,010 --> 01:11:04,320 που θα πάρετε για να σε μόλις ένα κομμάτι. 1346 01:11:04,320 --> 01:11:07,560 Έτσι, αν κοιτάξουμε τι Kelly κάνει εδώ, 1347 01:11:07,560 --> 01:11:10,260 μπορείτε να μας καθοδηγήσει τι κάνατε; 1348 01:11:10,260 --> 01:11:13,600 >> Ναι, έτσι - θέλω να πω, πήρα τα λάθη, έτσι - 1349 01:11:13,600 --> 01:11:15,380 Ναι, όχι, it's - 1350 01:11:15,380 --> 01:11:18,580 >> Γι 'αυτό και ήθελε να καλέσει την σειρά που πήρα απλά "string". 1351 01:11:18,580 --> 01:11:22,230 Ήθελα να εκτυπώσετε το string 1352 01:11:22,230 --> 01:11:25,640 και τότε - 1353 01:11:27,450 --> 01:11:30,930 Ήθελα να αρέσει που το string ως σαν μια σειρά από κάθε χαρακτήρα 1354 01:11:30,930 --> 01:11:33,170 είναι διαφορετικό [δεν ακούγεται], έτσι δεν είναι; 1355 01:11:33,170 --> 01:11:38,080 Και τότε θα ήθελα να ξεκινήσει στη θέση 0 1356 01:11:38,080 --> 01:11:40,630 και στη συνέχεια κάθε 2 χώρους, 1357 01:11:40,630 --> 01:11:42,580 Ήμουν έτοιμος να αξιοποιήσει, 1358 01:11:42,580 --> 01:11:45,680 γι 'αυτό ακριβώς περιγράφεται ως 23, επειδή έψαχνα στο πίνακα ASCII. 1359 01:11:45,680 --> 01:11:48,730 Έτσι, αυτό είναι ό, τι σκεφτόμουν - Ξέρω ότι δεν είναι σωστό. 1360 01:11:48,730 --> 01:11:50,920 >> Πήρε αυτό, έτσι αυτό είναι ένα σπουδαίο ξεκίνημα. 1361 01:11:50,920 --> 01:11:54,120 Νομίζω ότι ένα μεγάλο μέρος του πλαισίου είναι σε θέση εδώ. 1362 01:11:54,120 --> 01:11:57,500 Ας περάσουν από το είδος της γραμμή προς γραμμή και να δούμε τι συμβαίνει. 1363 01:11:57,500 --> 01:12:01,040 Έτσι, ο τρόπος που μου αρέσει να κάνω αυτό μόλις αρχίσει με την κατάρτιση του κώδικα 1364 01:12:01,040 --> 01:12:04,300 και να αφήνει ο compiler μου πείτε σαν τι είναι λάθος με τον κωδικό μου, 1365 01:12:04,300 --> 01:12:07,450 επειδή ο compiler είναι πραγματικά καλοί στο να σας πω τι είναι λάθος με τον κωδικό σας. 1366 01:12:09,790 --> 01:12:12,780 Έτσι, αν το παιχνίδι, την οικοδόμηση, και δεν χτίσει. 1367 01:12:12,780 --> 01:12:14,860 Λέει υπήρχε ένα σφάλμα, 1368 01:12:14,860 --> 01:12:17,320 οπότε αν μετακινηθείτε προς τα κάτω και να δούμε το πρώτο σφάλμα, 1369 01:12:17,320 --> 01:12:20,960 είπε - 1370 01:12:20,960 --> 01:12:22,040 θα μετακινηθείτε προς τα πίσω μέχρι την κορυφή, 1371 01:12:22,040 --> 01:12:26,070 μπορούμε να δούμε υπάρχουν 5 λάθη που παράγονται εδώ κάτω στο κάτω μέρος. 1372 01:12:26,070 --> 01:12:30,180 Ωχ, αυτό είναι πραγματικά αποκοπεί. 1373 01:12:31,810 --> 01:12:35,790 Υποθέτω ότι απλά δεν πρόκειται να πάρει καθόλου καλύτερα. 1374 01:12:36,970 --> 01:12:38,500 >> Εδώ πάμε. 1375 01:12:39,790 --> 01:12:42,530 Έτσι, υπάρχουν 5 συνολικά λάθη που δημιουργούνται. 1376 01:12:42,530 --> 01:12:45,140 Εδώ μπορεί να δει μόνο τα πρώτα 2, 1377 01:12:45,140 --> 01:12:49,100 ώστε να μπορώ να μετακινήσετε αυτό μέχρι λίγο και στη συνέχεια το είδος της κύλισης επάνω. 1378 01:12:49,100 --> 01:12:53,220 Αυτή είναι η εντολή που εκτελέστηκε για τη σύνταξη του κώδικα, 1379 01:12:53,220 --> 01:12:59,030 και στη συνέχεια, το πρώτο σφάλμα ήταν file.c εδώ: 1380 01:12:59,030 --> 01:13:03,300 "Αναμένεται να προσδιορίσουν ή '('", και ήταν σε αυτή τη γραμμή 1381 01:13:03,300 --> 01:13:06,680 όπου είπαμε σειρά GetString = (). 1382 01:13:07,660 --> 01:13:12,920 Μπορείτε να δείτε εδώ ότι ήταν στη γραμμή 8 του file.c, 1383 01:13:12,920 --> 01:13:17,230 και τότε πιστεύω ότι αυτό είναι ο χαρακτήρας 12 - αυτό είναι το λάθος. 1384 01:13:17,230 --> 01:13:20,390 Έτσι, ποιο είναι το πρόβλημα στη γραμμή 8 - Kelly; 1385 01:13:20,390 --> 01:13:22,810 >> Απλά πρέπει να την αποκαλούμε, όπως, ένα γράμμα ή κάτι, 1386 01:13:22,810 --> 01:13:24,400 σαν string s ή κάτι άλλο; 1387 01:13:24,400 --> 01:13:28,250 Ναι, έτσι ώστε να αποδεικνύεται ότι αυτά τα ειδικά ονόματα τύπου, 1388 01:13:28,250 --> 01:13:31,770 έτσι string, int, char, σύντομο, 1389 01:13:31,770 --> 01:13:35,740 από όπου και αν όλες οι ειδικές λέξεις-κλειδιά, 1390 01:13:35,740 --> 01:13:38,940 και δεν μπορείτε να τα χρησιμοποιήσετε ως πραγματικά ονόματα των μεταβλητών σας, 1391 01:13:38,940 --> 01:13:41,430 επειδή ο compiler κοιτάζει και λέει ότι, 1392 01:13:41,430 --> 01:13:43,680 "Ω, ξέρω ότι είναι ένας τύπος," 1393 01:13:43,680 --> 01:13:46,530 έτσι δεν μπορείτε να έχετε πραγματικά μια μεταβλητή συμβολοσειράς που ονομάζεται χορδή, 1394 01:13:46,530 --> 01:13:50,800 όπως και εγώ προσπαθώ να κάνω εδώ? αυτό δεν θα λειτουργήσει. 1395 01:13:52,610 --> 01:13:58,250 Αλλά αντ 'αυτού, μπορούμε να το ονομάσουμε κάτι σαν s ή st ή str. 1396 01:13:58,250 --> 01:14:01,540 Επίσης, δεν θα μπορούσε να το ονομάσουμε int. 1397 01:14:01,540 --> 01:14:03,740 Δεν μπορούμε να έχουμε μια σειρά που ονομάζεται int. 1398 01:14:03,740 --> 01:14:06,740 Δεν μπορούμε να έχουμε μια σειρά που ονομάζεται char? Κανένας από αυτούς θα λειτουργήσει. 1399 01:14:06,740 --> 01:14:09,420 >> Έτσι θα λέμε απλώς ότι s προς το παρόν. 1400 01:14:10,630 --> 01:14:13,170 Awesome. 1401 01:14:13,170 --> 01:14:17,500 Έτσι, ποιο είναι το επόμενο συμβαίνει σε αυτή τη γραμμή; 1402 01:14:21,390 --> 01:14:24,350 String - η γραμμή αυτή φαίνεται αρκετά καλό; 1403 01:14:24,350 --> 01:14:27,830 Ας δώσουμε ένα άλλο προσπαθήσει? Ας τρέξει. 1404 01:14:27,830 --> 01:14:30,360 Εντάξει, έτσι έχουμε ακόμα τα λάθη. 1405 01:14:30,360 --> 01:14:32,080 Αυτή τη φορά, είμαστε σε 4 λάθη. 1406 01:14:32,080 --> 01:14:34,350 Γι 'αυτό και πήρε ένα από αυτά. 1407 01:14:34,350 --> 01:14:36,130 Ας ανεβάσουμε. 1408 01:14:36,130 --> 01:14:38,890 "« Κορδόνι »Απροσδόκητη όνομα του τύπου: αναμενόμενη έκφραση," ναι; 1409 01:14:38,890 --> 01:14:41,780 >> Ναι, αυτό είναι επειδή προσπάθησα να ονομάσει το string. 1410 01:14:41,780 --> 01:14:44,270 Ναι, έτσι ώστε να μοιάζει τώρα επίσης πρέπει να πάμε fix 1411 01:14:44,270 --> 01:14:46,560 όλες αυτές τις αναφορές σε string. 1412 01:14:46,560 --> 01:14:50,070 Μπορείτε να δείτε ότι υπάρχει μια αναφορά σε σειρά εδώ, ένα εδώ, ένα εδώ, 1413 01:14:50,070 --> 01:14:53,440 ώστε να μπορέσουμε να προχωρήσουμε σε όλα αυτά s. 1414 01:14:56,040 --> 01:15:00,930 Μεγάλη. Εντάξει, να τρέξει και πάλι. 1415 01:15:00,930 --> 01:15:03,260 Κτίριο - άλλο ένα σφάλμα. 1416 01:15:03,260 --> 01:15:06,900 >> Εντάξει, τώρα είμαστε κάτω σε ένα σφάλμα, 1417 01:15:06,900 --> 01:15:11,090 έτσι int i = s και στη συνέχεια οι αγκύλες. 1418 01:15:11,090 --> 01:15:14,880 Έτσι, μπορείτε να μας πείτε λίγο για αυτό που κάνατε εδώ, Kelly; 1419 01:15:14,880 --> 01:15:17,120 Ναι >>. 1420 01:15:17,120 --> 01:15:19,410 Ήταν επί της γραμμής 10. 1421 01:15:19,410 --> 01:15:22,760 >> Δεν ξέρω αν χρειαζόμαστε όλοι, 1422 01:15:22,760 --> 01:15:25,560 αλλά νομίζω ότι προσπαθούσε να - 1423 01:15:25,560 --> 01:15:27,580 Θα το αποθηκεύσετε ώστε να μπορείτε να ακολουθήσετε μαζί. 1424 01:15:27,580 --> 01:15:30,470 >> Νομίζω ότι ήταν 1425 01:15:30,470 --> 01:15:33,150 προσπαθεί να το πω για να ξεκινήσει στη θέση 0 1426 01:15:33,150 --> 01:15:35,030 στην αρχή της μου για βρόχου, 1427 01:15:35,030 --> 01:15:38,370 έτσι νομίζω ότι ίσως λέγοντας ήταν περιττή. 1428 01:15:39,690 --> 01:15:41,350 Έτσι απλά για να ανακεφαλαιώσουμε, 1429 01:15:41,350 --> 01:15:44,850 έλεγες ότι αυτό - που προσπαθούσαν να ξεκινήσει αυτό στη θέση 0 1430 01:15:44,850 --> 01:15:47,030 και να πάρει αυτό - ναι, 1431 01:15:47,030 --> 01:15:50,460 έτσι νομίζω νωρίτερα, επίσης, όταν ήταν το περπάτημα μέσα από τον κώδικα, 1432 01:15:50,460 --> 01:15:54,070 θα μιλούσαμε για το πώς θα ήθελαν να τη θεραπεία της συμβολοσειράς ως έναν πίνακα 1433 01:15:54,070 --> 01:15:57,440 έτσι μπορούμε να έχουμε πρόσβαση σε κάθε χαρακτήρα ξεχωριστά. 1434 01:15:57,440 --> 01:16:00,660 Νομίζω Dan συστοιχίες αναφέρονται, επίσης, προσπαθεί να μετατρέψει χορδές σε συστοιχίες. 1435 01:16:01,400 --> 01:16:03,300 >> Αποδεικνύεται ότι το είδος του κάτω από την κουκούλα, 1436 01:16:03,300 --> 01:16:06,060 μια σειρά πραγματικά αποθηκεύονται ως μια σειρά ήδη, 1437 01:16:06,060 --> 01:16:08,060 και μπορείτε να έχετε πρόσβαση σαν μια σειρά? 1438 01:16:08,060 --> 01:16:12,390 δεν υπάρχει καμία μετατροπή που έχετε να κάνετε. 1439 01:16:12,390 --> 01:16:15,770 Μια σειρά isn't - έτσι - 1440 01:16:15,770 --> 01:16:18,200 μια σειρά δεν είναι στην πραγματικότητα μια σειρά, 1441 01:16:18,200 --> 01:16:21,940 αλλά μπορείτε να έχετε πρόσβαση ως τέτοια, επειδή όλοι οι χαρακτήρες αποθηκεύονται 1442 01:16:21,940 --> 01:16:25,160 μία σωστή δίπλα στο άλλο στη μνήμη, 1443 01:16:25,160 --> 01:16:28,310 οπότε αν θέλετε να πάρετε τον πρώτο χαρακτήρα της συμβολοσειράς, 1444 01:16:28,310 --> 01:16:31,910 είναι το ίδιο με το να πάρει το πρώτο ακέραιο σε ένα πίνακα ακεραίων. 1445 01:16:31,910 --> 01:16:35,010 Γι 'αυτό και συχνά - we'll 1446 01:16:35,010 --> 01:16:36,360 αναφέρονται στο 2 όπως 1447 01:16:36,360 --> 01:16:38,590 Ω, ως ένα string, ως μια σειρά, 1448 01:16:38,590 --> 01:16:40,830 ακόμα κι αν πραγματικά - αλλά επιλέγουν να φτιάξουν πολύ διαφορετικά πράγματα, 1449 01:16:40,830 --> 01:16:43,410 αλλά μπορείτε να τους αντιμετωπίσουμε πάρα πολύ το ίδιο. 1450 01:16:44,700 --> 01:16:47,400 Έτσι, αποδεικνύεται ότι αυτή η γραμμή στην πραγματικότητα - 1451 01:16:47,400 --> 01:16:51,270 δεν χρειάζεται να κάνετε καμία μετατροπή, 1452 01:16:51,270 --> 01:16:53,500 και στην πραγματικότητα, 1453 01:16:53,500 --> 01:16:56,790 αυτό δεν είναι στην πραγματικότητα μια έγκυρη έκφραση, 1454 01:16:56,790 --> 01:16:59,040 η οποία είναι ό, τι compiler μας μας λέει. 1455 01:16:59,040 --> 01:17:01,290 Είναι λέει, "Hey, αυτό αναμένεται μια έκφραση, 1456 01:17:01,290 --> 01:17:04,610 και ό, τι έχω εδώ είναι κάτι που δεν είναι μια έκφραση. " 1457 01:17:04,610 --> 01:17:07,310 Για να δηλώσετε έναν πίνακα, 1458 01:17:07,310 --> 01:17:11,780 το μόνο που χρειάζεται να κάνετε είναι κάτι σαν αυτό με ένα ερωτηματικό, 1459 01:17:11,780 --> 01:17:15,080 και στη συνέχεια να σας πω τη σειρά πόσο καιρό θέλετε να είναι, 1460 01:17:15,080 --> 01:17:18,370 όπως 5, έτσι ώστε αυτή η γραμμή 10 1461 01:17:18,370 --> 01:17:23,880 θα κηρύξει μια σειρά που ονομάζεται i με 5 ακέραιους σε αυτό. 1462 01:17:23,880 --> 01:17:26,540 >> Αυτό είναι ένα μέρος? Αυτό δεν είναι αναγκαίο για τον κωδικό, 1463 01:17:26,540 --> 01:17:30,970 αλλά αυτό είναι - αυτό είναι το είδος του τι είναι η δήλωση μοιάζει. 1464 01:17:30,970 --> 01:17:35,310 >> Πώς θα χρησιμοποιήσετε δεν char i [strlen (s)]; 1465 01:17:35,310 --> 01:17:38,500 Char i [strlen (s)]; 1466 01:17:38,500 --> 01:17:41,500 >> Char i, και στη συνέχεια μέσα στις αγκύλες, strlen (s). 1467 01:17:43,900 --> 01:17:47,710 Ναι, έτσι θα μπορούσαμε - 1468 01:17:47,710 --> 01:17:49,460 θα μπορούσαμε να το κάνουμε αυτό, 1469 01:17:49,460 --> 01:17:52,160 και αυτό θα δηλώσει - τι θα κάνετε αυτό; 1470 01:17:52,160 --> 01:17:55,900 >> Νομίζω ότι θα κηρύξει μια σειρά 1471 01:17:55,900 --> 01:18:01,780 του, όπως και - της - 1472 01:18:01,780 --> 01:18:04,540 Ω, δεν χρειάζεται το i - ω, 1473 01:18:04,540 --> 01:18:06,420 ναι, σίγουρα δεν χρειάζεται το i. 1474 01:18:06,420 --> 01:18:10,250 Μπορείτε να δηλώσετε μια σειρά από χαρακτήρες 1475 01:18:10,250 --> 01:18:13,150 s το μήκος του. 1476 01:18:14,680 --> 01:18:16,770 Και έτσι ό, τι του λέει ο Σαμ είναι ότι 1477 01:18:16,770 --> 01:18:20,660 αυτή η γραμμή 10 - επιτρέψτε μου να βάλω κάποιο διάστημα στο μεταξύ ότι και τα υπόλοιπα ώστε να μπορούμε να το απομονώσει - 1478 01:18:20,660 --> 01:18:23,440 αυτή η γραμμή 10 θα κηρύξει μια σειρά 1479 01:18:23,440 --> 01:18:28,520 χαρακτήρες του, strlen (s) αξίας τους, 1480 01:18:28,520 --> 01:18:32,270 αλλά πραγματικά δεν χρειάζεται το i, 1481 01:18:32,270 --> 01:18:35,710 και ο λόγος που χρειαζόμαστε το i είναι γιατί πρέπει να δώσουμε στον πίνακα ένα όνομα? 1482 01:18:35,710 --> 01:18:38,900 διαφορετικά, δεν θα έχουμε έναν τρόπο για να παραπέμψει στη συστοιχία αργότερα στον κώδικα. 1483 01:18:38,900 --> 01:18:41,180 >> Έτσι, το δικαίωμα αυτό εδώ είναι το όνομα του πίνακα 1484 01:18:41,180 --> 01:18:43,420 και στο εσωτερικό είναι το μήκος. 1485 01:18:43,420 --> 01:18:45,010 Αυτό θα μας δώσει μια σειρά, 1486 01:18:45,010 --> 01:18:47,430 αλλά αυτό είναι - πάλι, αυτό είναι μια δήλωση. 1487 01:18:47,430 --> 01:18:50,380 Δεν είναι μια ανάθεση? Δεν είναι μια προετοιμασία. 1488 01:18:50,380 --> 01:18:52,330 Αν δηλώνουμε αυτό το array όπως αυτό, 1489 01:18:52,330 --> 01:18:54,490 υπάρχει πραγματικά τίποτα στα περιεχόμενα της συστοιχίας. 1490 01:18:54,490 --> 01:18:57,490 Είναι απλά σκουπίδια - ό, τι είναι εκεί. 1491 01:18:57,490 --> 01:18:59,780 Και όπως είπαμε, 1492 01:18:59,780 --> 01:19:01,340 εμείς πραγματικά δεν χρειάζεται καν να κάνουν αυτή τη μετατροπή, 1493 01:19:01,340 --> 01:19:04,810 γιατί μπορεί να θεραπεύσει ήδη string s ως μια σειρά. 1494 01:19:06,750 --> 01:19:09,170 Ξέρω ότι τρέχετε λίγο καιρό σε καιρό, 1495 01:19:09,170 --> 01:19:12,330 αλλά θέλω απλά να πάρει πολύ γρήγορα σε αυτό για βρόχο 1496 01:19:12,330 --> 01:19:14,850 και να σας δείξει πώς να έχουν πρόσβαση τα επιμέρους χαρακτήρες του πίνακα, 1497 01:19:14,850 --> 01:19:17,170 γιατί αυτό είναι το κλειδί για εκχώρηση μας. 1498 01:19:17,170 --> 01:19:20,790 Και τότε εμείς θα σας αφήσει να πάει από εκεί. 1499 01:19:20,790 --> 01:19:24,610 >> Τόσο εδώ, έχουμε ένα για βρόχο 1500 01:19:24,610 --> 01:19:28,310 που μοιάζει σχεδόν καλά. 1501 01:19:28,310 --> 01:19:30,960 Αυτό που δεν είναι αρκετά σχεδόν εκεί; 1502 01:19:30,960 --> 01:19:33,240 What's - ό, τι δεν είναι πολύ δίκιο σε αυτό για βρόχο; 1503 01:19:33,240 --> 01:19:36,010 >> Δεν άγκιστρα; 1504 01:19:36,010 --> 01:19:38,420 Δεν αγκύλες, για ένα. 1505 01:19:38,420 --> 01:19:42,580 Θέλετε να βεβαιωθείτε ότι έχουμε το σώμα του βρόχου με άγκιστρα. 1506 01:19:42,580 --> 01:19:45,240 Ωχ, δεν το στήριγμα πλατεία! 1507 01:19:45,240 --> 01:19:48,660 Και ποιο είναι το επόμενο πράγμα που πρέπει να κάνουμε με αυτό το βρόχο; 1508 01:19:48,660 --> 01:19:52,640 Αν προσπαθήσω και να το εκτελέσετε, 1509 01:19:52,640 --> 01:19:56,740 τι είναι αυτό το σφάλμα που παίρνω; 1510 01:19:56,740 --> 01:20:00,990 Παίρνω όλα αυτά τα λάθη - έχω να προετοιμαστεί i. 1511 01:20:00,990 --> 01:20:03,610 Μεγάλη. 1512 01:20:03,610 --> 01:20:05,770 Έτσι, αυτό θα είναι ένας βρόχος - αυτό δεν είναι αρκετά εκεί, 1513 01:20:05,770 --> 01:20:08,680 αλλά αυτό είναι να πάρει πραγματικά κοντά. 1514 01:20:08,680 --> 01:20:11,260 Αυτός ο κωδικός μπορούμε τώρα να τρέξει, 1515 01:20:11,260 --> 01:20:14,620 κατασκευή, ένα σφάλμα εξακολουθεί να εμφανίζεται. 1516 01:20:17,960 --> 01:20:19,800 Γιατί εξακολουθεί να διαμαρτύρονται, 1517 01:20:19,800 --> 01:20:22,030 λέγοντας ότι η έκφραση είναι αχρησιμοποίητο, 1518 01:20:22,030 --> 01:20:24,600 και αυτό είναι επειδή αυτή η γραμμή δεν κάνει τίποτα. 1519 01:20:24,600 --> 01:20:27,620 Εμείς δεν το αποθηκεύσετε οπουδήποτε? Δεν είχαμε σώσει το αποτέλεσμα. 1520 01:20:27,620 --> 01:20:30,210 Πού θα πρέπει να αποθηκεύσετε αυτό το αποτέλεσμα; 1521 01:20:30,210 --> 01:20:32,920 >> S ή i; 1522 01:20:32,920 --> 01:20:35,990 Ακριβώς, και αυτό το funky σύνταξη, 1523 01:20:35,990 --> 01:20:38,550 αυτό s με τις αγκύλες 1524 01:20:38,550 --> 01:20:41,500 σημαίνει πρόσβαση στο i-οστό χαρακτήρα του s. 1525 01:20:41,500 --> 01:20:45,650 Αυτό πρόκειται να είναι κάτι που είναι πολύ σημαντικό για την ανάθεση. 1526 01:20:45,650 --> 01:20:48,070 Δυστυχώς, θα πάμε να πρέπει να σταματήσει εδώ, 1527 01:20:48,070 --> 01:20:50,550 έτσι ώστε Sebastian τμήμα μπορεί να έρθει σε, 1528 01:20:50,550 --> 01:20:53,980 αλλά είμαι χαρούμενος που θα μείνω έξω και μετά θα λάβει οποιεσδήποτε ερωτήσεις. 1529 01:20:53,980 --> 01:20:56,680 Έτσι, σας ευχαριστώ που ήρθατε παιδιά. 1530 01:20:56,680 --> 01:20:59,730 Αυτό θα πρέπει τώρα να ανεβάσετε, να χτίσουν, να τρέξει. 1531 01:21:01,570 --> 01:21:04,320 Μπορούμε να εισαγάγετε μια συμβολοσειρά, όπως "Γεια σας" 1532 01:21:06,570 --> 01:21:08,730 και τυπώνει "QOX". 1533 01:21:08,730 --> 01:21:11,030 [Γέλια] 1534 01:21:11,030 --> 01:21:14,640 >> Έτσι, δεν είναι αρκετά εκεί, αλλά κινείται, να πάρει την επίτευξη αυτών των βρόχων! 1535 01:21:14,640 --> 01:21:18,640 Ευχαριστώ που ήρθες, και θα είμαι έξω.