1 00:00:00,000 --> 00:00:03,290 >> [Jouer de la musique] 2 00:00:03,290 --> 00:00:04,989 3 00:00:04,989 --> 00:00:06,280 JASON HIRSCHHORN: OK, tout le monde. 4 00:00:06,280 --> 00:00:07,460 Bienvenue à la Section. 5 00:00:07,460 --> 00:00:10,840 Ceci est CS50, notre très première section de super. 6 00:00:10,840 --> 00:00:13,700 Comme vous le savez, la semaine prochaine sections régulières vont commencer, 7 00:00:13,700 --> 00:00:15,580 mais cette semaine, nous sommes tous ensemble. 8 00:00:15,580 --> 00:00:17,730 >> Il est moi-même. 9 00:00:17,730 --> 00:00:18,840 Mon nom est Jason. 10 00:00:18,840 --> 00:00:20,630 Je suis un professeur de sciences informatiques. 11 00:00:20,630 --> 00:00:23,910 Nous avons Andi, qui est à la tête du TA CS50. 12 00:00:23,910 --> 00:00:27,630 Et Scaz, le professeur Brian Scassellati, Il est professeur en sciences informatiques. 13 00:00:27,630 --> 00:00:30,970 >> Nous sommes les chefs de CS50 à Yale. 14 00:00:30,970 --> 00:00:34,992 Vous pouvez toujours envoyer un courriel nous heads@cs50.yale.edu. 15 00:00:34,992 --> 00:00:35,950 Nous serons à des conférences. 16 00:00:35,950 --> 00:00:37,547 Nous serons aux heures de bureau. 17 00:00:37,547 --> 00:00:40,130 Si jamais il ya quelque chose que nous pouvons faire pour vous, tout ce que vous avez besoin, 18 00:00:40,130 --> 00:00:42,610 hésitez pas à vous adresser à nous. 19 00:00:42,610 --> 00:00:44,140 >> Alors qu'allons-nous faire aujourd'hui? 20 00:00:44,140 --> 00:00:47,790 Ou avant, ce qui est à venir cette semaine? 21 00:00:47,790 --> 00:00:52,620 Donc, les heures de bureau sont du lundi, le mardi, Mercredi et jeudi, 8h00 à 11h00. 22 00:00:52,620 --> 00:00:54,770 Il ya un calendrier sur le site. 23 00:00:54,770 --> 00:00:57,830 >> Sections, comme je l'ai mentionné, sont dès la semaine prochaine. 24 00:00:57,830 --> 00:01:01,390 Et vous découvrirez cette semaine ce Temps de votre section est, quel jour on est, 25 00:01:01,390 --> 00:01:03,350 et qui est votre TA est. 26 00:01:03,350 --> 00:01:08,610 >> Problème Set 1 est due au jeudi à midi, vendredi à midi avec un jour de retard. 27 00:01:08,610 --> 00:01:10,817 Oui, vous avez neuf jours de retard. 28 00:01:10,817 --> 00:01:12,150 Et il ya neuf ensembles de problèmes. 29 00:01:12,150 --> 00:01:14,320 Et ne pouvez utiliser qu'une jour de retard par set de problème. 30 00:01:14,320 --> 00:01:17,930 Oui, en effet, tout problème ensembles sont dues vendredi à midi. 31 00:01:17,930 --> 00:01:18,550 C'est tout. 32 00:01:18,550 --> 00:01:20,400 Tout ce que les détails sont sur le programme. 33 00:01:20,400 --> 00:01:22,360 >> Chaque vendredi, nous avons déjeuners. 34 00:01:22,360 --> 00:01:25,230 Nous aimons faire de cette grande Bien sûr se sentir un peu plus petit. 35 00:01:25,230 --> 00:01:26,580 Donc, vous êtes invités à confirmer leur présence. 36 00:01:26,580 --> 00:01:30,050 Déjeuner libre avec son compatriote camarades de classe et le personnel. 37 00:01:30,050 --> 00:01:34,120 cs50.yale.edu/rsvp. 38 00:01:34,120 --> 00:01:36,940 >> Toutes ces choses qui Je dois à l'écran, 39 00:01:36,940 --> 00:01:43,330 en plus, vous pouvez trouver cs50.yale.edu ou cs50.harvard.edu, si vous allez à Harvard 40 00:01:43,330 --> 00:01:46,800 et sont en regardant cette ligne. 41 00:01:46,800 --> 00:01:50,240 >> Aussi sur ces sites, il sont une tonne de ressources pour vous. 42 00:01:50,240 --> 00:01:54,610 Chaque conférence a non seulement la vidéo de la conférence, mais aussi des notes. 43 00:01:54,610 --> 00:01:58,184 Quelqu'un va regarder le des conférences et à prendre des notes pour vous. 44 00:01:58,184 --> 00:02:00,100 Ainsi, vous pouvez tout simplement payer attention au cours de conférences, 45 00:02:00,100 --> 00:02:03,970 ou vous pouvez utiliser leurs notes / notre note pour compléter vos propres notes. 46 00:02:03,970 --> 00:02:04,987 >> Il ya des diapositives en ligne. 47 00:02:04,987 --> 00:02:07,320 La source tout code-- David va plus dans la leçon, 48 00:02:07,320 --> 00:02:09,979 ou Scaz dépasse conférence, qui le code source est disponible en ligne 49 00:02:09,979 --> 00:02:11,750 ainsi, que comme je l'ai mentionné vidéos. 50 00:02:11,750 --> 00:02:14,257 >> Sections, de même, seront tous filmés. 51 00:02:14,257 --> 00:02:15,840 Tous ces diapositives seront disponibles. 52 00:02:15,840 --> 00:02:18,190 Tout cela code être disponible pour vous. 53 00:02:18,190 --> 00:02:22,440 Il ya un short sur le site où Les membres du personnel CS50 passent de cinq à 10 54 00:02:22,440 --> 00:02:24,130 minutes en passant par les sujets pour vous. 55 00:02:24,130 --> 00:02:26,750 Certains de ceux que vous avez déjà rencontré dans les ensembles de problèmes. 56 00:02:26,750 --> 00:02:30,430 >> Heures de bureau, comme je le disais, lundi au jeudi, 8h00 à 11h00. 57 00:02:30,430 --> 00:02:32,600 Étude CS50 est une ressource fantastique. 58 00:02:32,600 --> 00:02:37,100 Il ya des problèmes pratiques, diapositives échantillons, bugs connus 59 00:02:37,100 --> 00:02:40,920 que les étudiants aiment courir dans, essentiellement pour tous les sujets que nous 60 00:02:40,920 --> 00:02:42,650 couvrira dans ce cours. 61 00:02:42,650 --> 00:02:46,350 >> Et enfin, sur cette diapositive au moins, Reference50 62 00:02:46,350 --> 00:02:49,690 qui vous donne des informations sur l'ensemble des fonctions C 63 00:02:49,690 --> 00:02:53,160 vous pourriez jamais éventuellement espérer à utiliser et beaucoup, beaucoup plus. 64 00:02:53,160 --> 00:02:55,690 >> Encore une fois, ce que Dot Dot Dot à le bas de l'écran 65 00:02:55,690 --> 00:02:59,990 est pour indiquer que il ya même plus de ressources sur ces deux sites: 66 00:02:59,990 --> 00:03:04,270 cs50.yale.edu, cs50.harvard.edu. 67 00:03:04,270 --> 00:03:05,840 >> Alors, que faisons-nous aujourd'hui? 68 00:03:05,840 --> 00:03:08,970 Eh bien, d'abord, je vais donner vous regardez les ressources. 69 00:03:08,970 --> 00:03:10,010 Déjà que l'on a fait. 70 00:03:10,010 --> 00:03:11,590 Regarde nous. 71 00:03:11,590 --> 00:03:16,430 >> Maintenant, nous allons passer en revue les types et les opérateurs dans les données C. 72 00:03:16,430 --> 00:03:19,990 Puis Andi viendra ici et aller sur les bibliothèques en C, Printf (), 73 00:03:19,990 --> 00:03:24,570 une fonction avec laquelle vous êtes déjà familiers ou va rapidement devenir très 74 00:03:24,570 --> 00:03:25,530 familier. 75 00:03:25,530 --> 00:03:27,810 Et vous aurez aussi aller sur conditions et les boucles. 76 00:03:27,810 --> 00:03:30,900 >> Et puis finalement, Scaz ira sur l'ID CS50. 77 00:03:30,900 --> 00:03:34,250 Si vous ne l'avez pas colombe déjà problème Set 1, 78 00:03:34,250 --> 00:03:37,060 ainsi que la façon d'utiliser le terminaux et utiles commandes 79 00:03:37,060 --> 00:03:42,280 et puis vous donner quelques démos et codage de la pratique dans l'ID de CS50. 80 00:03:42,280 --> 00:03:45,130 >> Avant je saute dans cette le contenu de ce côté, 81 00:03:45,130 --> 00:03:46,770 quelqu'un at-il des questions à ce jour? 82 00:03:46,770 --> 00:03:53,190 83 00:03:53,190 --> 00:03:54,030 Génial. 84 00:03:54,030 --> 00:03:54,950 D'ACCORD. 85 00:03:54,950 --> 00:03:55,810 Changer de vitesse. 86 00:03:55,810 --> 00:03:58,760 >> [CHANGER DE VITESSE] 87 00:03:58,760 --> 00:04:03,070 >> Ce fut moi décalage engrenages dans une voiture manuelle. 88 00:04:03,070 --> 00:04:10,920 Donc, les types de données en C, vous ne pouvez pas avoir une variable x et ont-il sur la ligne 10, 89 00:04:10,920 --> 00:04:17,170 un nombre entier, peut-être le numéro 1, sur la ligne 20, un nombre décimal 10,5, 90 00:04:17,170 --> 00:04:20,500 et puis un couple de lignes plus tard, une chaîne, je l'aime CS50. 91 00:04:20,500 --> 00:04:25,052 >> En C, les variables ne peuvent être une chose, et une seule chose. 92 00:04:25,052 --> 00:04:26,510 Et vous devez leur donner types. 93 00:04:26,510 --> 00:04:28,780 Et sur ce forum, nous avoir une liste des types. 94 00:04:28,780 --> 00:04:32,000 Il ya caractères, ce qui se présenter aux personnages. 95 00:04:32,000 --> 00:04:36,850 Voilà donc une lettre A, B, C, D. Ce peut également être un espace, 96 00:04:36,850 --> 00:04:40,290 ou qui peuvent être également un caractère de nouvelle ligne. 97 00:04:40,290 --> 00:04:45,030 >> Il ya des nombres entiers, qui sont juste numbers-- nombres, entiers ou entiers 98 00:04:45,030 --> 00:04:47,130 rather-- mais pas de décimales. 99 00:04:47,130 --> 00:04:49,790 >> Pour les décimales, nous avons nombres à virgule flottante. 100 00:04:49,790 --> 00:04:53,200 Nombres à virgule flottante sont des nombres décimaux. 101 00:04:53,200 --> 00:04:58,160 >> Ensuite, il ya longs, qui sont essentiellement plus longs des nombres entiers. 102 00:04:58,160 --> 00:05:01,160 Vous remarquerez qu'une longue 8 est alors un int est 4. 103 00:05:01,160 --> 00:05:02,640 Je vais y revenir dans une seconde. 104 00:05:02,640 --> 00:05:07,390 Voilà parce longs peuvent stocker encore plusieurs entiers que int peuvent stocker. 105 00:05:07,390 --> 00:05:10,100 Double est un long flotteur. 106 00:05:10,100 --> 00:05:12,460 >> Et enfin, nous avons chaîne, qui est un type 107 00:05:12,460 --> 00:05:14,430 que vous avez probablement utilisé avant. 108 00:05:14,430 --> 00:05:21,100 Si vous incluez hashtag # includeCS50.h dans votre fichier source, 109 00:05:21,100 --> 00:05:23,170 alors vous pouvez utiliser un type de chaîne. 110 00:05:23,170 --> 00:05:25,560 Il est pas réellement construit en C. 111 00:05:25,560 --> 00:05:27,760 >> Il ya quelques autres types ainsi. 112 00:05:27,760 --> 00:05:32,900 Mais ce sont les principaux avec que vous allez utiliser et de rencontrer. 113 00:05:32,900 --> 00:05:36,210 C comme, encore une fois je l'ai mentionné, chaque variable-- il 114 00:05:36,210 --> 00:05:38,620 ne peut être un type et un seul type. 115 00:05:38,620 --> 00:05:42,890 Voilà parce que C est un statiquement langage typé, par opposition 116 00:05:42,890 --> 00:05:45,780 de langages typés dynamiquement où si vous créez une variable 117 00:05:45,780 --> 00:05:50,081 vous pouvez changer ce qui est stocké dans comme vous allez dans votre programme. 118 00:05:50,081 --> 00:05:52,580 Ici sur la main droite côté, je dois les différentes tailles 119 00:05:52,580 --> 00:05:57,440 de ces types de données en octets. 120 00:05:57,440 --> 00:05:59,710 Ainsi, un personnage est 1 octet. 121 00:05:59,710 --> 00:06:01,250 Voilà 8 bits. 122 00:06:01,250 --> 00:06:05,530 Et cela signifie parce 8 il ya huit bits de 0 et de 1. 123 00:06:05,530 --> 00:06:08,280 Nous avons vu ces démos dans la première semaine que les ampoules binaires. 124 00:06:08,280 --> 00:06:15,680 >> Avec 8 bits ou 1 octet, nous pouvons représenter des nombres entre 0 et 255. 125 00:06:15,680 --> 00:06:16,180 Droit. 126 00:06:16,180 --> 00:06:18,770 Si tous les 8 bits sont 0 qui est 0. 127 00:06:18,770 --> 00:06:23,640 Si le premier bit est 1, qui est le nombre l'un, et ainsi de suite, tout le chemin jusqu'à 255. 128 00:06:23,640 --> 00:06:28,290 Et voilà pourquoi les caractères que vous pouvez ont essentiellement jusqu'à 255 d'entre eux, 129 00:06:28,290 --> 00:06:31,210 mais cela a beaucoup à couvrir tous les personnages, nous devons utiliser. 130 00:06:31,210 --> 00:06:38,060 >> Pour les entiers, vous pouvez avoir 0 et alors vous avez 2 à 32 moins 1. 131 00:06:38,060 --> 00:06:40,340 Ce sont comment de nombreuses options vous avez pour les entiers. 132 00:06:40,340 --> 00:06:44,780 >> Pendant longtemps, vous avez 0 à 2 à la 64 moins 1. 133 00:06:44,780 --> 00:06:48,860 Donc, vous avez beaucoup, beaucoup, plus d'options pour longs. 134 00:06:48,860 --> 00:06:54,220 >> Cordes, qui est un point d'interrogation parce que ce un cliffhanger pour plus tard. 135 00:06:54,220 --> 00:06:55,000 Ouais. 136 00:06:55,000 --> 00:06:56,350 Je pourrais dire que tout le monde est sur le bord de leur siège, 137 00:06:56,350 --> 00:06:57,450 comme ce qui est cette interrogation? 138 00:06:57,450 --> 00:06:58,390 Il est un cliffhanger. 139 00:06:58,390 --> 00:07:02,340 Nous allons couvrir à terme la taille de cordes et parlent plus sur cordes. 140 00:07:02,340 --> 00:07:04,692 Parce que la chaîne est en fait l'une des roues d'entraînement 141 00:07:04,692 --> 00:07:06,400 nous mettons dans ce Bien sûr au début 142 00:07:06,400 --> 00:07:09,700 et puis décoller plus tard sur, parce que les chaînes en C 143 00:07:09,700 --> 00:07:13,320 sont des pointeurs effectivement à des tableaux de caractères. 144 00:07:13,320 --> 00:07:15,810 Mais encore une fois, voilà un cliffhanger pour plus tard. 145 00:07:15,810 --> 00:07:18,890 Avant de passer sur toutes les questions, commentaires, préoccupations au sujet de cette diapositive? 146 00:07:18,890 --> 00:07:25,800 147 00:07:25,800 --> 00:07:26,630 >> D'ACCORD. 148 00:07:26,630 --> 00:07:30,330 Je dois être un explicateur fantastique. 149 00:07:30,330 --> 00:07:33,210 De même, lorsque vous programmez, vous allez utiliser ces opérateurs. 150 00:07:33,210 --> 00:07:36,730 Signes très simples qui peuvent faire simple, opérations, avec laquelle vous êtes probablement 151 00:07:36,730 --> 00:07:38,340 déjà très familier. 152 00:07:38,340 --> 00:07:42,580 >> Par exemple, sur la droite côté, nous voyons ajouter. 153 00:07:42,580 --> 00:07:44,640 Pour ajouter, vous faites juste un signe Plus. 154 00:07:44,640 --> 00:07:46,850 Et alors vous pourriez avoir deux variables x et y. 155 00:07:46,850 --> 00:07:48,810 Vous pouvez le faire x + y dans votre code. 156 00:07:48,810 --> 00:07:52,790 Peut-être que vous voulez-vous dire to-- avoir le numéro 7 et 3, 157 00:07:52,790 --> 00:07:55,780 vous voulez stocker cette en une somme variable appelée. 158 00:07:55,780 --> 00:08:03,010 Vous pouvez le faire int pour le type, l'espace somme, le nom de la variable, 7 = + 3; 159 00:08:03,010 --> 00:08:05,780 >> Que serait ce magasin en somme? 160 00:08:05,780 --> 00:08:07,190 Toute personne? 161 00:08:07,190 --> 00:08:09,270 Si je devais en somme = 7 + 3. 162 00:08:09,270 --> 00:08:10,437 Que seraient stockés en somme? 163 00:08:10,437 --> 00:08:11,520 Vous pouvez simplement le crier. 164 00:08:11,520 --> 00:08:12,120 AUDIENCE: 10. 165 00:08:12,120 --> 00:08:12,995 >> JASON HIRSCHHORN: 10! 166 00:08:12,995 --> 00:08:14,870 Exactement. 167 00:08:14,870 --> 00:08:19,520 Qu'en est-il en somme = 7 - 3, Je viens d'utiliser ce signe de bord. 168 00:08:19,520 --> 00:08:20,871 Qu'est-ce qui se passe pour être stocké? 169 00:08:20,871 --> 00:08:21,370 Public: 4. 170 00:08:21,370 --> 00:08:22,203 JASON HIRSCHHORN: 4. 171 00:08:22,203 --> 00:08:25,770 Somme est probablement le mauvais nom pour cette variable, mais quatre serait stocké. 172 00:08:25,770 --> 00:08:31,890 >> Pour multiplier dans C, utiliser la petite Caractère Star, vous ne l'utilisez un x. 173 00:08:31,890 --> 00:08:35,990 Pour diviser, utiliser un Forward Slash pas le symbole de la division. 174 00:08:35,990 --> 00:08:39,580 Et modulo, utilisez le symbole de pourcentage. 175 00:08:39,580 --> 00:08:47,900 >> Alors disons que je veux voir int z = 7% 3, ce qui serait stocké dans z? 176 00:08:47,900 --> 00:08:51,250 Donc, voilà l'essentiel demandant ce ne modulo faire? 177 00:08:51,250 --> 00:08:52,750 Quelqu'un sait-il ce que modulo fait? 178 00:08:52,750 --> 00:08:53,940 Ouais. 179 00:08:53,940 --> 00:08:54,870 4 y. 180 00:08:54,870 --> 00:08:56,120 ENCEINTE 1: Il est le reste. 181 00:08:56,120 --> 00:08:58,369 JASON HIRSCHHORN: Il est le reste lorsque vous divisez. 182 00:08:58,369 --> 00:09:02,790 Donc 7 divisé par 3 est 2 reste 1. 183 00:09:02,790 --> 00:09:04,690 Donc 1 seraient stockées. 184 00:09:04,690 --> 00:09:06,970 >> Vous avez fait la soustraction, mais Voilà comment cela fonctionne. 185 00:09:06,970 --> 00:09:09,140 Voilà ce que l'opérateur modulo fait. 186 00:09:09,140 --> 00:09:12,360 Il faut un certain nombre divise par un autre numéro et retourne à vous 187 00:09:12,360 --> 00:09:14,590 le restant. 188 00:09:14,590 --> 00:09:19,770 Encore une fois, 7% 3 vous donne 1, parce 7 divisé par 3 est 2 reste 1, 189 00:09:19,770 --> 00:09:21,650 et renvoie le reste. 190 00:09:21,650 --> 00:09:24,470 >> Qu'en est-il revenons jusqu'à une étape à ce signe de division. 191 00:09:24,470 --> 00:09:29,194 Si je l'ai fait 7 / divisé par 3 ne Quelqu'un sait ce que cela revenir? 192 00:09:29,194 --> 00:09:30,090 >> SPEAKER 2: 2. 193 00:09:30,090 --> 00:09:32,240 >> JASON HIRSCHHORN: Pourquoi 2 et non pas 2.333? 194 00:09:32,240 --> 00:09:34,560 >> SPEAKER 2: Je pense qu'il coupe au bout de nombre entier. 195 00:09:34,560 --> 00:09:36,310 JASON HIRSCHHORN: Donc, qui est exactement ça. 196 00:09:36,310 --> 00:09:39,880 En C, si vous faites de la division deux entiers 7 divisé par 3, 197 00:09:39,880 --> 00:09:43,430 il obtient la réponse qui dans ce cas 2.3333 jamais 198 00:09:43,430 --> 00:09:47,080 et il constate que point décimal et côtelettes tout éteint après la virgule 199 00:09:47,080 --> 00:09:49,240 et il vous revient à seulement 2. 200 00:09:49,240 --> 00:09:51,120 >> Donc, si je l'ai fait 8 divisé par 3. 201 00:09:51,120 --> 00:09:54,010 Cela fait, nous savons que pour revenir 2,666, 202 00:09:54,010 --> 00:09:57,050 mais il coupe tout arrêt la virgule, tronque tout, 203 00:09:57,050 --> 00:09:58,640 et retourne juste pour vous deux. 204 00:09:58,640 --> 00:10:02,090 Donc 6 divisé par 3, 7 divisés de 3, 8 divisé par 3, 205 00:10:02,090 --> 00:10:04,840 allons tous revenir à vous 2. 206 00:10:04,840 --> 00:10:08,770 >> Est-ce que quelqu'un sait, ou avoir une conjecture, à comment je pourrais réellement obtenir 207 00:10:08,770 --> 00:10:10,790 la réponse complète si je veux que décimal? 208 00:10:10,790 --> 00:10:13,120 209 00:10:13,120 --> 00:10:13,620 Ouais. 210 00:10:13,620 --> 00:10:14,152 Aller de l'avant. 211 00:10:14,152 --> 00:10:15,110 Intervenant 3: Utilisez un flotteur? 212 00:10:15,110 --> 00:10:16,942 JASON HIRSCHHORN: Que voulez-vous dire? 213 00:10:16,942 --> 00:10:19,786 Intervenant 3: Parce que vous avez dit flotteur est pour les nombres [inaudible] 214 00:10:19,786 --> 00:10:22,900 215 00:10:22,900 --> 00:10:23,900 JASON HIRSCHHORN: Droit. 216 00:10:23,900 --> 00:10:26,100 Donc, ce que est exactement ça. 217 00:10:26,100 --> 00:10:28,440 La figure 7 est un nombre entier. 218 00:10:28,440 --> 00:10:31,690 Mais si je voulais faire de cette en un nombre à virgule flottante, 219 00:10:31,690 --> 00:10:34,674 Je dois stocker que comme 7,0 parce que l'ordinateur 220 00:10:34,674 --> 00:10:37,090 est vraiment stupid-- nous avons vu que avec le PB et J example-- 221 00:10:37,090 --> 00:10:38,930 il ne fera que faire exactement ce que vous lui dites. 222 00:10:38,930 --> 00:10:40,846 >> Donc, si vous écrivez 7, il pense que ce un entier. 223 00:10:40,846 --> 00:10:43,640 Si vous écrivez 7.0, même si nous savent ces choses sont équivalentes, 224 00:10:43,640 --> 00:10:45,550 il traite que comme un nombre à virgule flottante. 225 00:10:45,550 --> 00:10:50,441 Donc, si vous avez fait 7,0 divisé par 3 ou divisé par 3,0, 226 00:10:50,441 --> 00:10:52,440 ce serait dire, OK, maintenant nous avons affaire avec des flotteurs. 227 00:10:52,440 --> 00:10:57,514 Je reviendrai à vous 2,333333 toujours. 228 00:10:57,514 --> 00:10:59,930 Mais pas vraiment pour toujours, parce comme nous l'avons vu également dans la leçon, 229 00:10:59,930 --> 00:11:03,350 ces nombres à virgule flottante ne sont pas exactement précis. 230 00:11:03,350 --> 00:11:05,940 >> Donc, si vous ne voulez que décimal, ou une partie de cette décimal, 231 00:11:05,940 --> 00:11:08,090 alors vous devez use-- l'un d'eux doit être un nombre à virgule flottante 232 00:11:08,090 --> 00:11:11,048 et l'ordinateur doit comprendre que cela est un point flottant vous êtes 233 00:11:11,048 --> 00:11:13,350 traiter, et non pas un nombre entier. 234 00:11:13,350 --> 00:11:16,760 Des questions sur cette table sur du côté de la main droite, jusqu'à présent? 235 00:11:16,760 --> 00:11:22,650 Ou votre gauche, votre à gauche, votre côté gauche. 236 00:11:22,650 --> 00:11:23,264 Ouais. 237 00:11:23,264 --> 00:11:23,972 ENCEINTE 4: Droit. 238 00:11:23,972 --> 00:11:26,216 Pour tout comme une régulière entiers, vous le feriez 239 00:11:26,216 --> 00:11:30,230 write-- auriez-vous pour écrire flotter? 240 00:11:30,230 --> 00:11:31,920 >> JASON HIRSCHHORN: Ouais donc. 241 00:11:31,920 --> 00:11:34,400 Eh bien, si vous voulez créer une variable qui est un flotteur, 242 00:11:34,400 --> 00:11:37,020 vous devez dire flotteur z est égal à quelque chose. 243 00:11:37,020 --> 00:11:37,640 >> ENCEINTE 4: OK. 244 00:11:37,640 --> 00:11:41,950 >> JASON HIRSCHHORN: Mais si je voulais faire 7 divisé par 3 et obtenir que décimal, 245 00:11:41,950 --> 00:11:48,540 Je ferais flotteur z = 7,0 / 3,0; et qui me donnerait la virgule flottante 246 00:11:48,540 --> 00:11:49,273 nombre. 247 00:11:49,273 --> 00:11:50,000 >> ENCEINTE 4: OK. 248 00:11:50,000 --> 00:11:56,370 >> JASON HIRSCHHORN: Si je l'ai fait quelque chose comme int z = 7 / par 3, 249 00:11:56,370 --> 00:12:00,856 cela me donnerait un nombre entier, parce que ce sont tous les entiers. 250 00:12:00,856 --> 00:12:01,730 Cela a-t-il du sens? 251 00:12:01,730 --> 00:12:02,320 >> ENCEINTE 4: Oui. 252 00:12:02,320 --> 00:12:02,950 >> JASON HIRSCHHORN: OK. 253 00:12:02,950 --> 00:12:03,450 Génial. 254 00:12:03,450 --> 00:12:06,030 Toutes les autres questions à ce sujet table? 255 00:12:06,030 --> 00:12:07,220 Vraiment? 256 00:12:07,220 --> 00:12:08,380 Je suis vraiment enthousiaste. 257 00:12:08,380 --> 00:12:09,120 D'ACCORD. 258 00:12:09,120 --> 00:12:13,910 >> Ainsi, certaines autres choses que vous allez utiliser, souvent dans des conditions ou des boucles, 259 00:12:13,910 --> 00:12:17,580 sont ces types de operators-- ces types d'expressions booléennes. 260 00:12:17,580 --> 00:12:23,140 Et comme nous avons appris, == est ce que vous utiliser pour vérifier si deux choses sont égales. 261 00:12:23,140 --> 00:12:28,170 >> Donc ici, je vais vérifier si x == y, allons- nouveau supposons que x est égal à 7 et y est égal à 3. 262 00:12:28,170 --> 00:12:33,220 Donc, si je l'ai écrit 7 == 3, ce qui ce que cela revenir à moi? 263 00:12:33,220 --> 00:12:34,220 Est-ce vrai ou faux? 264 00:12:34,220 --> 00:12:35,275 >> AUDIENCE: Faux. 265 00:12:35,275 --> 00:12:36,150 JASON HIRSCHHORN: OK. 266 00:12:36,150 --> 00:12:37,370 Je me sens comme tout le monde peut obtenir celui-ci. 267 00:12:37,370 --> 00:12:39,054 Donc tout le monde, quelle serait-elle revenir? 268 00:12:39,054 --> 00:12:39,720 AUDIENCE: Faux. 269 00:12:39,720 --> 00:12:40,130 JASON HIRSCHHORN: Faux. 270 00:12:40,130 --> 00:12:40,850 Génial. 271 00:12:40,850 --> 00:12:41,930 7 ne correspond pas à 3. 272 00:12:41,930 --> 00:12:44,530 Donc 7 == 3 reviendrait faux. 273 00:12:44,530 --> 00:12:50,746 Vous ne possédez pas un signe égal, si je contrôlée Cette 7! = 3, quelle serait-elle revenir? 274 00:12:50,746 --> 00:12:51,370 AUDIENCE: Vrai. 275 00:12:51,370 --> 00:12:52,650 JASON HIRSCHHORN: Vrai. 276 00:12:52,650 --> 00:12:53,200 Excellente. 277 00:12:53,200 --> 00:12:55,990 Quelqu'un était très catégorique en le dos et l'apprécie. 278 00:12:55,990 --> 00:12:59,070 Ensuite, vous avez moins de l'opérateur, inférieure ou égale à l'opérateur, 279 00:12:59,070 --> 00:13:01,990 opérateur supérieur à, supérieur supérieure ou égale à l'opérateur. 280 00:13:01,990 --> 00:13:03,490 >> Donc, encore une vérification de cohérence. 281 00:13:03,490 --> 00:13:05,660 Si je devais 7 est supérieure supérieur ou égal à 3. 282 00:13:05,660 --> 00:13:06,966 Qu'est-ce que ce retour? 283 00:13:06,966 --> 00:13:07,692 >> AUDIENCE: Vrai. 284 00:13:07,692 --> 00:13:08,650 JASON HIRSCHHORN: Vrai. 285 00:13:08,650 --> 00:13:10,050 Oui. 286 00:13:10,050 --> 00:13:13,290 Ce arrière-salle, côté arrière de la salle, fantastique. 287 00:13:13,290 --> 00:13:16,240 Vous pouvez combiner ces expressions si vous voulez, ainsi, 288 00:13:16,240 --> 00:13:21,880 avec une logique et qui est && Ou un OU logique qui est || 289 00:13:21,880 --> 00:13:22,800 ||. 290 00:13:22,800 --> 00:13:25,785 Et maintenant vous pouvez tester deux Est-ce que les choses together-- drôle? 291 00:13:25,785 --> 00:13:28,250 Pourquoi est-ce drôle? 292 00:13:28,250 --> 00:13:35,200 >> Donc, si je voulais, je peux dire est 7 supérieur à 3 et 2 est inférieur à 4? 293 00:13:35,200 --> 00:13:37,090 Eh bien, si 7 est supérieure de 3, cela est vrai. 294 00:13:37,090 --> 00:13:38,400 2 est inférieur à 4, cela est vrai. 295 00:13:38,400 --> 00:13:41,140 Donc, tout cela reviendrait vrai. 296 00:13:41,140 --> 00:13:45,130 >> Si je l'ai testé 7 est supérieure à 3 et-- Je suis juste la cueillette des nombres aléatoires ici-- 297 00:13:45,130 --> 00:13:47,340 4 est inférieur à 2, bien que est faux. 298 00:13:47,340 --> 00:13:49,610 Donc vrai et le faux faire de fausses. 299 00:13:49,610 --> 00:13:54,520 Et vous pouvez aller et vous combiner autant beaucoup de conditions ainsi que vous le souhaitez. 300 00:13:54,520 --> 00:14:00,000 >> Quelqu'un at-il des questions, commentaires, préoccupations jusqu'ici? 301 00:14:00,000 --> 00:14:03,862 Et je vois certains d'entre vous de prendre des photos de moi dans l'écran, que je remercie. 302 00:14:03,862 --> 00:14:05,070 Espérons que ça ne snapchat. 303 00:14:05,070 --> 00:14:06,417 Espérons que ce soit pour vos notes. 304 00:14:06,417 --> 00:14:08,500 Mais tous ceux-ci vont être disponible en ligne. 305 00:14:08,500 --> 00:14:11,210 Donc, vous ne devez pas prendre des photos de cette. 306 00:14:11,210 --> 00:14:15,150 Comme je l'ai mentionné, tout sera disponible en ligne pour vous. 307 00:14:15,150 --> 00:14:15,650 D'ACCORD. 308 00:14:15,650 --> 00:14:17,980 Je suis sur le point d'obtenir coulisses, il en va tout le monde 309 00:14:17,980 --> 00:14:20,350 quelque chose à dire avant que cela arrive? 310 00:14:20,350 --> 00:14:21,080 Questions? 311 00:14:21,080 --> 00:14:21,680 >> [Interposition VOIX] 312 00:14:21,680 --> 00:14:22,250 >> JASON HIRSCHHORN: Oh, arrêtez. 313 00:14:22,250 --> 00:14:23,290 Les gars, vous êtes trop gentil. 314 00:14:23,290 --> 00:14:23,790 D'ACCORD. 315 00:14:23,790 --> 00:14:26,520 Je vais marquer sur. 316 00:14:26,520 --> 00:14:27,240 Allons-y. 317 00:14:27,240 --> 00:14:29,570 >> ANDI PENG: Nous allons faire un changement micro maladroite maintenant. 318 00:14:29,570 --> 00:14:32,280 >> JASON HIRSCHHORN: je suis va prendre cette option. 319 00:14:32,280 --> 00:14:33,946 ANDI PENG: apprécions le soutien, les gars. 320 00:14:33,946 --> 00:14:42,250 321 00:14:42,250 --> 00:14:43,180 Peux-tu m'entendre? 322 00:14:43,180 --> 00:14:43,930 Est-ce bon? 323 00:14:43,930 --> 00:14:44,760 Parfait. 324 00:14:44,760 --> 00:14:45,630 Beau. 325 00:14:45,630 --> 00:14:47,490 Permettez-moi simplement tuck que. 326 00:14:47,490 --> 00:14:49,100 D'ACCORD. 327 00:14:49,100 --> 00:14:54,140 Donc, je suis sur le point de le faire comme un géant informations déverser sur vous les gars en ce moment. 328 00:14:54,140 --> 00:14:57,370 Et pas de soucis que ce soit si vous êtes ne pas suivre chaque petite ligne de ce que 329 00:14:57,370 --> 00:14:58,812 Je suis sur le point de vous montrer. 330 00:14:58,812 --> 00:15:00,770 Comme l'a dit Jason tout, est entièrement en ligne. 331 00:15:00,770 --> 00:15:03,780 Juste nous allons essayer d'introduire tous les concepts couvert 332 00:15:03,780 --> 00:15:05,270 dans certains de ces diapositives. 333 00:15:05,270 --> 00:15:06,582 Donc, il suffit de suivre le long. 334 00:15:06,582 --> 00:15:09,540 Pas de soucis si vous ne comprenez pas tout; Toutefois, si à tout moment 335 00:15:09,540 --> 00:15:12,820 vous vous sentez perdu, levez Par contre, nous nous arrêterons, pas de soucis. 336 00:15:12,820 --> 00:15:15,060 Frais. 337 00:15:15,060 --> 00:15:19,270 >> Donc, je pense que quelque chose que David a déjà mentionné dans sorte de conférence 338 00:15:19,270 --> 00:15:23,240 et Jason a en quelque sorte fait allusion aujourd'hui est ce qu'est une bibliothèque. 339 00:15:23,240 --> 00:15:27,510 Donc dans la programmation, nous avons ces choses appelées bibliothèques. 340 00:15:27,510 --> 00:15:29,690 Où, essentiellement, tous les ils sont est juste un ensemble 341 00:15:29,690 --> 00:15:32,610 des fonctions, soit essentiellement juste code qui est 342 00:15:32,610 --> 00:15:35,070 déjà été écrit par quelqu'un d'autre que nous pouvons tous 343 00:15:35,070 --> 00:15:36,410 utiliser au sein de nos programmes. 344 00:15:36,410 --> 00:15:38,790 >> Alors, comment une normale travail en bibliothèque, à droite? 345 00:15:38,790 --> 00:15:40,030 Vous entrez dans la porte de la bibliothèque. 346 00:15:40,030 --> 00:15:41,890 Vous avez tous ces livres que vous pouvez sortir 347 00:15:41,890 --> 00:15:44,590 et vous pouvez accéder aux informations dans ces livres. 348 00:15:44,590 --> 00:15:45,840 Même chose dans la programmation. 349 00:15:45,840 --> 00:15:48,820 >> Vous avez une bibliothèque qui a déjà été écrit par d'autres personnes. 350 00:15:48,820 --> 00:15:51,530 Et la façon dont vous pouvez, en tant que programmeur ou un étudiant, 351 00:15:51,530 --> 00:15:55,780 peuvent avoir accès à cette bibliothèque est par hashtag #include. 352 00:15:55,780 --> 00:15:59,720 >> Par exemple, en nous C avoir trois C-- la plus 353 00:15:59,720 --> 00:16:03,420 couramment utilisé trois C standard libraries-- la bibliothèque d'entrée / sortie, 354 00:16:03,420 --> 00:16:05,540 la bibliothèque de chaîne, et la bibliothèque de mathématiques. 355 00:16:05,540 --> 00:16:07,610 >> Donc, au sein de votre première problème de couple, définit, 356 00:16:07,610 --> 00:16:10,940 ceux qui seront les trois que vous êtes en utilisant principalement. 357 00:16:10,940 --> 00:16:14,610 Alors que David déjà expliqué dans la leçon, 358 00:16:14,610 --> 00:16:17,460 le standard I / O bibliothèque, ou la / bibliothèque de sortie entrée standard 359 00:16:17,460 --> 00:16:18,620 fait exactement cela. 360 00:16:18,620 --> 00:16:23,530 Il vous permet, dans votre code, à l'entrée quelque chose de l'utilisateur et que la sortie 361 00:16:23,530 --> 00:16:25,960 à l'écran, essentiellement impression à l'écran. 362 00:16:25,960 --> 00:16:29,990 >> Et chaque fois que vous utilisez des fonctions, par exemple la fonction printf () qui 363 00:16:29,990 --> 00:16:33,319 nous allons aller sur la diapositive suivante, assurez-vous d'inclure la norme I / O 364 00:16:33,319 --> 00:16:36,360 bibliothèque ou bien vous ne allez pas être en mesure d'utiliser la fonction printf (). 365 00:16:36,360 --> 00:16:39,110 Parce que vous, comme le programmeur jamais réellement écrit cette fonction, 366 00:16:39,110 --> 00:16:41,840 vous êtes juste à l'aide de quelqu'un le code d'autre au sein de votre propre code. 367 00:16:41,840 --> 00:16:43,620 >> Est-ce logique que tout le monde? 368 00:16:43,620 --> 00:16:44,520 Frais. 369 00:16:44,520 --> 00:16:48,530 >> Et puis nous obtenons essentiellement sur la bibliothèque de string.h et math.h 370 00:16:48,530 --> 00:16:52,970 bibliothèque, signifie simplement .h bibliothèque, d'autres bibliothèques que vous finirez 371 00:16:52,970 --> 00:16:55,310 être à l'aide de votre code. 372 00:16:55,310 --> 00:16:57,620 >> Toutefois, aux fins de cette bibliothèque, nous avons aussi 373 00:16:57,620 --> 00:17:01,170 have-- de cette class-- nous avons aussi ce qu'on appelle la bibliothèque CS50, 374 00:17:01,170 --> 00:17:05,270 cs50.h, où nous, pour votre lecture ont créé 375 00:17:05,270 --> 00:17:07,369 de nombreuses fonctions importantes et utiles. 376 00:17:07,369 --> 00:17:09,550 Alors que vous en tant que programmeur peut greffer off 377 00:17:09,550 --> 00:17:14,470 ce que nous avons déjà écrit de telle sorte que est disponible pour cette fonction pour vous 378 00:17:14,470 --> 00:17:15,599 pour votre usage. 379 00:17:15,599 --> 00:17:18,359 >> Je vais couvrir un couple de les fonctions couramment utilisées, 380 00:17:18,359 --> 00:17:20,839 mais sachez que ce sont tous googleable ligne. 381 00:17:20,839 --> 00:17:24,904 Sentez-vous libre, tirer vers le haut de la bibliothèque et CS50 alors vous avez toutes les fonctions là. 382 00:17:24,904 --> 00:17:25,828 Ouais. 383 00:17:25,828 --> 00:17:28,140 >> SPEAKER 5: Donc, si vous étiez pas en utilisant le logiciel 384 00:17:28,140 --> 00:17:29,916 nous est fourni par la classe, le fait que 385 00:17:29,916 --> 00:17:32,698 dire que nous aurions à télécharger et trouver déposer cet en-tête et nous dire 386 00:17:32,698 --> 00:17:33,840 l'ordinateur sur lequel il est? 387 00:17:33,840 --> 00:17:34,320 >> ANDI PENG: Bonne question. 388 00:17:34,320 --> 00:17:34,820 Exactement. 389 00:17:34,820 --> 00:17:38,194 Donc, il est comme si vous n'êtes pas physiquement présents à une bibliothèque, 390 00:17:38,194 --> 00:17:40,360 il n'y a aucun moyen pour vous de effectivement aller et y accéder. 391 00:17:40,360 --> 00:17:42,589 Donc la même chose avec programmation en C, vous 392 00:17:42,589 --> 00:17:45,880 devez vous assurer que vous utilisez notre appareil car la bibliothèque est déjà 393 00:17:45,880 --> 00:17:47,270 été incorporé. 394 00:17:47,270 --> 00:17:50,020 Et puis quand vous hashtag #include, de la bibliothèque il. 395 00:17:50,020 --> 00:17:50,520 Ouais. 396 00:17:50,520 --> 00:17:51,920 Bonne question. 397 00:17:51,920 --> 00:17:53,461 Tout le monde la bonne? 398 00:17:53,461 --> 00:17:53,960 Frais. 399 00:17:53,960 --> 00:17:56,371 400 00:17:56,371 --> 00:17:56,870 Bien. 401 00:17:56,870 --> 00:17:59,330 Donc, nous allons frapper, essentiellement, ce qui est 402 00:17:59,330 --> 00:18:01,620 la première fonction que Nous, les programmeurs sont 403 00:18:01,620 --> 00:18:03,900 allez l'utiliser au sein de notre code. 404 00:18:03,900 --> 00:18:05,690 Ceci est appelé la fonction printf (). 405 00:18:05,690 --> 00:18:08,450 Ainsi, la fonction printf (), comme je l'ai déjà dit dans la dernière diapositive, 406 00:18:08,450 --> 00:18:11,830 est incluse dans la norme E / S, la norme d'entrée / sortie, bibliothèque. 407 00:18:11,830 --> 00:18:16,470 >> Donc, assurez-vous que tout ce que vous using-- Oh, laissez-moi prendre le laser pointer-- 408 00:18:16,470 --> 00:18:18,660 chaque fois que vous utilisez la fonction printf (), 409 00:18:18,660 --> 00:18:21,790 vous devez inclure la norme I / O bibliothèque ou autre, lorsque vous compilez, 410 00:18:21,790 --> 00:18:23,760 vous allez obtenir une erreur parce que l'ordinateur sera comme, 411 00:18:23,760 --> 00:18:26,140 oh je ne sais pas où printf () est, vous n'êtes pas me dire où printf () 412 00:18:26,140 --> 00:18:26,830 est. 413 00:18:26,830 --> 00:18:30,150 Bien printf () est inclus dans le E / S standard, de sorte que lorsque vous utilisez printf (), 414 00:18:30,150 --> 00:18:32,960 assurez-vous d'avoir ce ligne au-dessus de votre code. 415 00:18:32,960 --> 00:18:36,040 >> Ainsi, par exemple, printf () ici est une fonction. 416 00:18:36,040 --> 00:18:40,260 Tout ce qu'il fait est d'imprimer quelque chose à l'intérieur des parenthèses à l'utilisateur. 417 00:18:40,260 --> 00:18:44,840 Quelqu'un voudrait-il prendre un coup de couteau à ce que cette ligne de code droit 418 00:18:44,840 --> 00:18:46,420 ici va imprimer? 419 00:18:46,420 --> 00:18:48,730 Par conséquent, la réponse est sur l'écran. 420 00:18:48,730 --> 00:18:50,480 Toute personne? 421 00:18:50,480 --> 00:18:51,380 >> Verdi: Le fond. 422 00:18:51,380 --> 00:18:53,510 >> ANDI PENG: Verdi, pourquoi ne vas-tu pas avant et disent toute déclaration? 423 00:18:53,510 --> 00:18:55,718 >> VERDI: Bonjour, mon nom est Andi, et je suis âgé de 20 ans. 424 00:18:55,718 --> 00:18:57,270 ANDI PENG: Ah, belle. 425 00:18:57,270 --> 00:19:00,240 Donc, dans cette ligne, nous allons imprimer, Bonjour, mon nom est Andi, 426 00:19:00,240 --> 00:19:04,280 et je suis âgé de 20 ans, qui est en fait une véritable déclaration. 427 00:19:04,280 --> 00:19:05,090 >> Syntaxe. 428 00:19:05,090 --> 00:19:08,830 Alors quelques questions syntaxiques vous les gars voulez vous assurer que vous savez. 429 00:19:08,830 --> 00:19:09,360 Guillemets. 430 00:19:09,360 --> 00:19:13,170 Guillemets indiquent au ordinateur que tout à l'intérieur 431 00:19:13,170 --> 00:19:14,850 va être imprimée. 432 00:19:14,850 --> 00:19:16,620 >> Tout à l'intérieur boîte juste être exactement comment 433 00:19:16,620 --> 00:19:19,920 vous tapez, sauf pour généralement à la fin, 434 00:19:19,920 --> 00:19:23,610 nous allons vouloir inclure un hash-- oh sorry-- un tiret n. 435 00:19:23,610 --> 00:19:24,640 Ainsi, un tableau de bord n. 436 00:19:24,640 --> 00:19:28,884 >> Quelqu'un veut-il prendre une proposition à ce que cela fait à notre code? 437 00:19:28,884 --> 00:19:29,465 Ouais. 438 00:19:29,465 --> 00:19:30,840 CONFÉRENCIER 6: le met sur une nouvelle ligne. 439 00:19:30,840 --> 00:19:31,650 ANDI PENG: Exactement. 440 00:19:31,650 --> 00:19:34,660 Donc, tout cela ne fait que permettre à tout ce qui arrive 441 00:19:34,660 --> 00:19:37,520 après cela, après cette déclaration, à imprimer à une nouvelle ligne. 442 00:19:37,520 --> 00:19:40,030 De sorte que lorsque vous écrivez votre code que vous ne possédez pas les choses au hasard 443 00:19:40,030 --> 00:19:41,738 plaquées sur de l'extrémité que vous ne voulez pas. 444 00:19:41,738 --> 00:19:43,700 Que tout se soigneusement imprimés une ligne 445 00:19:43,700 --> 00:19:46,870 puis nous commençons sur la ligne suivante. 446 00:19:46,870 --> 00:19:50,970 >> Quelqu'un se souvient-ce que virgule fait quand nous codage? 447 00:19:50,970 --> 00:19:54,580 448 00:19:54,580 --> 00:19:55,330 Ouais. 449 00:19:55,330 --> 00:19:55,740 >> Haut-parleur 7: Déclaration. 450 00:19:55,740 --> 00:19:56,010 >> ANDI PENG: Désolé? 451 00:19:56,010 --> 00:19:57,100 >> Haut-parleur 7: Est-ce la fin de la déclaration? 452 00:19:57,100 --> 00:19:57,766 >> ANDI PENG: Ouais. 453 00:19:57,766 --> 00:20:02,670 Donc en C, ou de toute la programmation la langue, le point-virgule 454 00:20:02,670 --> 00:20:04,640 désigne la fin d'une ligne de programmation. 455 00:20:04,640 --> 00:20:09,240 Ainsi, par exemple, en anglais, nous utilisons période à-dire, oh ceci est la fin d'une phrase. 456 00:20:09,240 --> 00:20:12,857 Dans la programmation, même chose, nous avons une le point-virgule pour indiquer une fin de ligne. 457 00:20:12,857 --> 00:20:14,690 Souvent, lorsque vous êtes de commencer à programmer, 458 00:20:14,690 --> 00:20:17,150 vous vous réalisez oublier d'ajouter un point-virgule 459 00:20:17,150 --> 00:20:19,400 et puis vous essayez d'exécuter votre code et il ne fonctionne pas. 460 00:20:19,400 --> 00:20:21,520 Et vous êtes comme, Ah, je ne sais pas savoir pourquoi, il devrait fonctionner. 461 00:20:21,520 --> 00:20:24,394 >> Les chances sont que vous avez probablement oublié une virgule ou un support ou quelque chose 462 00:20:24,394 --> 00:20:25,020 quelque part. 463 00:20:25,020 --> 00:20:27,740 Donc, ce qui est important à retenir. 464 00:20:27,740 --> 00:20:29,627 Frais. 465 00:20:29,627 --> 00:20:31,960 Tout droit, à main levée, comment beaucoup de gens ici ont jamais 466 00:20:31,960 --> 00:20:37,210 pris AP Computer Science ou programmé en Java avant, jamais? 467 00:20:37,210 --> 00:20:37,710 D'ACCORD. 468 00:20:37,710 --> 00:20:38,210 Belle. 469 00:20:38,210 --> 00:20:41,340 Ce ne sera pas applicable ensuite, mais en Java, vous 470 00:20:41,340 --> 00:20:44,960 avoir quelque chose appelé System.out.println qui ne existe pas dans C. 471 00:20:44,960 --> 00:20:49,927 >> Donc, dans C, chaque fois que vous vouloir ajouter des variables 472 00:20:49,927 --> 00:20:51,760 dans tout ce que vous voulez d'imprimer, il ya 473 00:20:51,760 --> 00:20:54,620 une syntaxe spécifique nous allons utiliser. 474 00:20:54,620 --> 00:20:56,520 Ce qu'on appelle le placeholding-- essentiellement 475 00:20:56,520 --> 00:21:01,180 nous ajoutons des espaces réservés à la place du nombre entier ou la variable 476 00:21:01,180 --> 00:21:02,580 que nous voulons imprimer. 477 00:21:02,580 --> 00:21:07,430 >> Donc, comme vous pouvez voir les gars, nous avons inclus déposer un nouvel en-tête de la bibliothèque ici. 478 00:21:07,430 --> 00:21:09,130 La bibliothèque CS50. 479 00:21:09,130 --> 00:21:13,160 Et contenue dans cette bibliothèque de CS50 est une fonction commune nous utiliserons 480 00:21:13,160 --> 00:21:15,610 dans notre cours intitulé getint (). 481 00:21:15,610 --> 00:21:21,830 >> Quelqu'un veut-il prendre un coup de couteau à ce getint () peut éventuellement être fait. 482 00:21:21,830 --> 00:21:22,830 >> AUDIENCE: [inaudible] 483 00:21:22,830 --> 00:21:23,550 >> ANDI PENG: Désolé. 484 00:21:23,550 --> 00:21:24,370 Impossible de vous entendre. 485 00:21:24,370 --> 00:21:25,511 Maddie, personne. 486 00:21:25,511 --> 00:21:27,260 MADDIE: Oh, il invite vous pour un entier. 487 00:21:27,260 --> 00:21:28,051 ANDI PENG: Exactement. 488 00:21:28,051 --> 00:21:30,670 Donc cette fonction, un autre fonction qui est déjà 489 00:21:30,670 --> 00:21:33,690 été écrit par quelqu'un d'autre que nous pouvons faire appel à l'entreprise. 490 00:21:33,690 --> 00:21:38,000 Tout ce qu'il est est rapide le vous, l'utilisateur, à l'entrée que vous voulez que le code 491 00:21:38,000 --> 00:21:41,850 est en marche et il stocke whatever-- dans ce cas, nous sommes getint () - ING, 492 00:21:41,850 --> 00:21:44,060 ce qui signifie que nous sommes l'obtention d'un nombre entier. 493 00:21:44,060 --> 00:21:46,150 >> Et nous allons stocker que dans un autre nombre entier 494 00:21:46,150 --> 00:21:48,900 que nous avons juste fait appelé âge. 495 00:21:48,900 --> 00:21:51,500 Qui font sens pour tout le monde? 496 00:21:51,500 --> 00:21:52,190 Frais. 497 00:21:52,190 --> 00:21:56,400 >> Alors, maintenant que nous avons stocké cet entier, que nous avons incités à partir de l'utilisateur, 498 00:21:56,400 --> 00:22:00,010 dans cette variable, nous avons créé de type int appelé âge, 499 00:22:00,010 --> 00:22:03,720 nous pouvons aller de l'avant et lieu cette fonction dans notre printf (). 500 00:22:03,720 --> 00:22:08,970 Donc, la syntaxe généralement pour printf () est que partout où dans votre physique réelle 501 00:22:08,970 --> 00:22:14,410 ligne que vous souhaitez inclure cet entier, vous faites ce symbole là, 502 00:22:14,410 --> 00:22:17,800 le symbole pour cent, avec le type de variable que vous voulez. 503 00:22:17,800 --> 00:22:20,090 >> Donc dans ce cas l'âge est un entier. 504 00:22:20,090 --> 00:22:25,030 Donc, vous allez comprendre % i car il est un entier. 505 00:22:25,030 --> 00:22:26,860 Et puis après votre déclaration, vous allez 506 00:22:26,860 --> 00:22:30,370 faire virgule et le le nom de la variable. 507 00:22:30,370 --> 00:22:33,420 >> Donc, ici, nous allons imprimer out, Bonjour, mon nom est Andi, 508 00:22:33,420 --> 00:22:35,730 et je suis vieux années vierges. 509 00:22:35,730 --> 00:22:38,890 Hashta-- ou, sorry--, âge avec tout ce que je entrée. 510 00:22:38,890 --> 00:22:42,790 Donc, si je devais entrée 20 pour mon getint () ici, 511 00:22:42,790 --> 00:22:44,500 il serait imprimer exactement la même chose. 512 00:22:44,500 --> 00:22:47,990 Mais, si je voulais quelque chose d'entrée d'autre, comme peut-être 40 ou 45, 513 00:22:47,990 --> 00:22:50,800 alors vous verriez qui reflète en conséquence dans le code. 514 00:22:50,800 --> 00:22:52,886 >> Donc, ceci est un exemple de quelque chose dans lequel 515 00:22:52,886 --> 00:22:55,260 il imprime et cherche à vous comme si elle est la même chose, 516 00:22:55,260 --> 00:22:57,593 mais sous le capot de l'ordinateur il ya en fait 517 00:22:57,593 --> 00:22:59,560 passe des choses très différentes. 518 00:22:59,560 --> 00:23:00,060 Frais. 519 00:23:00,060 --> 00:23:02,760 520 00:23:02,760 --> 00:23:03,260 Bien. 521 00:23:03,260 --> 00:23:06,940 Alors que faire si nous voulons plusieurs variables? 522 00:23:06,940 --> 00:23:08,290 Plutôt facile. 523 00:23:08,290 --> 00:23:09,150 La même chose. 524 00:23:09,150 --> 00:23:11,930 Nous avons aussi une nouvelle fonction appelé ici GetString (), 525 00:23:11,930 --> 00:23:15,380 Sont également inclus dans la bibliothèque CS50, que tout ce qu'il fait est de demander à l'utilisateur 526 00:23:15,380 --> 00:23:18,120 pour une chaîne, qui est juste un ensemble de caractères, 527 00:23:18,120 --> 00:23:19,810 donc comme une phrase ou comme un nom. 528 00:23:19,810 --> 00:23:25,470 >> Donc dans ce cas, nous aurions deux espaces réservés% s pour une chaîne et% i 529 00:23:25,470 --> 00:23:26,750 de nombre entier. 530 00:23:26,750 --> 00:23:29,190 Et nous allons suivre que par les deux variables 531 00:23:29,190 --> 00:23:32,670 nous voulons inclus, dans l'ordre qu'ils apparaissent dans la phrase. 532 00:23:32,670 --> 00:23:35,471 Ainsi, par exemple, mon nom est vierge, je veux un nom là-bas, 533 00:23:35,471 --> 00:23:36,970 donc je vais avoir le prénom. 534 00:23:36,970 --> 00:23:39,637 Et puis après, je veux âge, veulent avoir deuxième âge. 535 00:23:39,637 --> 00:23:42,720 Et si je voulais entrée, Bonjour, Andi de mon nom, et je suis âgé de 20 ans. 536 00:23:42,720 --> 00:23:46,370 Si je entré Andi et 20, la exactement la même chose serait imprimer; 537 00:23:46,370 --> 00:23:51,134 Cependant, maintenant nous avons deux stocké variables de nom ainsi que int. 538 00:23:51,134 --> 00:23:51,634 Ouais. 539 00:23:51,634 --> 00:23:54,124 >> ENCEINTE 8: Serait-il capable de courir si vous avez changé 540 00:23:54,124 --> 00:23:55,620 nom et l'âge à la fin de cette? 541 00:23:55,620 --> 00:23:55,840 >> ANDI PENG: Ouais. 542 00:23:55,840 --> 00:23:57,006 Voilà vraiment une bonne question. 543 00:23:57,006 --> 00:23:59,520 Tant histoire courte, non. 544 00:23:59,520 --> 00:24:03,070 Parce que ce nom et age-- type de variable est le nom? 545 00:24:03,070 --> 00:24:03,950 >> ENCEINTE 8: String. 546 00:24:03,950 --> 00:24:05,440 >> ANDI PENG: Et qu'est-ce type de variable est l'âge? 547 00:24:05,440 --> 00:24:06,231 >> ENCEINTE 8: Entier. 548 00:24:06,231 --> 00:24:10,290 ANDI PENG: Nous avons donc ici un espace réservé pour chaîne et entier, non? 549 00:24:10,290 --> 00:24:13,350 Donc, si vous deviez passer ceux-ci, l'ordinateur ne va pas savoir. 550 00:24:13,350 --> 00:24:16,250 Il va vérifier une chaîne, et si vous essayez de lui donner un int, 551 00:24:16,250 --> 00:24:18,083 ça va être comme attendre Je suis confus, vous 552 00:24:18,083 --> 00:24:21,100 m'a dit que je devrais être attribution mémoire pour un int. 553 00:24:21,100 --> 00:24:23,760 Et ici, quand il attend un nombre entier 554 00:24:23,760 --> 00:24:25,640 et vous lui donnez un nom et une chaîne à la place, 555 00:24:25,640 --> 00:24:28,931 il va aussi être très déroutant, il ne fonctionne pas exactement comme vous en avez besoin. 556 00:24:28,931 --> 00:24:35,280 Donc, ici, de nommage et syntaxe est très important pour l'exécution de code. 557 00:24:35,280 --> 00:24:37,991 Tout le monde la bonne? 558 00:24:37,991 --> 00:24:38,490 Ouais. 559 00:24:38,490 --> 00:24:39,476 Maddie. 560 00:24:39,476 --> 00:24:44,620 >> MADDIE: Voici, je sais que nous avons examiné des exemples en classe, où ils demandent 561 00:24:44,620 --> 00:24:46,950 Quel est votre âge, ce qui est votre nom. 562 00:24:46,950 --> 00:24:50,250 Ici, ce que ce serait elle doesn't-- si nous devions exécuter ce code, 563 00:24:50,250 --> 00:24:51,750 il ne serait pas demander cela? 564 00:24:51,750 --> 00:24:54,740 Mais vous le feriez seulement deux numéros entrée et puis il irait comme ça? 565 00:24:54,740 --> 00:24:55,781 >> ANDI PENG: Oui, exactement. 566 00:24:55,781 --> 00:24:58,250 Donc, si vous vouliez pour qu'il écran, s'il vous plaît entrer votre âge, 567 00:24:58,250 --> 00:25:01,100 vous pouvez simplement ajouter une fonction printf () qui dit, S'il vous plaît entrez votre âge, 568 00:25:01,100 --> 00:25:01,600 Au dessus de. 569 00:25:01,600 --> 00:25:02,711 Voilà une bonne question. 570 00:25:02,711 --> 00:25:03,210 Ouais. 571 00:25:03,210 --> 00:25:07,964 >> Haut-parleur 9: Alors, serait déjà inclus dans getint () [inaudible]. 572 00:25:07,964 --> 00:25:09,380 PENG ANDI: Non, il est en fait pas. 573 00:25:09,380 --> 00:25:11,809 Donc, tout cela fait est juste invite un écran vide 574 00:25:11,809 --> 00:25:13,100 à l'utilisateur d'entrer quelque chose. 575 00:25:13,100 --> 00:25:17,420 Si vous voulez, si vous le voulez pour imprimer quelque chose qui indique à l'utilisateur comme, 576 00:25:17,420 --> 00:25:21,110 s'il vous plaît me donner votre âge, alors vous aurait à printf () vous-même. 577 00:25:21,110 --> 00:25:23,789 Parce que tout le monde utilise ce fonction pour des choses différentes, 578 00:25:23,789 --> 00:25:26,080 vous pourriez être stockez âge, vous pourriez être stockez adresse, 579 00:25:26,080 --> 00:25:28,060 vous pourriez être le stockage des numéros de téléphone. 580 00:25:28,060 --> 00:25:31,190 Et donc il est vraiment à usages individuels de vos gars 581 00:25:31,190 --> 00:25:34,390 pour ce que vous voulez dire. 582 00:25:34,390 --> 00:25:34,890 Ouais. 583 00:25:34,890 --> 00:25:38,236 >> ENCEINTE 10: Donc, juste pour clarifier, où -vous faire entrer le nom et l'âge 584 00:25:38,236 --> 00:25:43,020 de sorte qu'il apparaît à la place de% s? 585 00:25:43,020 --> 00:25:44,320 >> ANDI PENG: Comme dans le mode? 586 00:25:44,320 --> 00:25:47,165 >> ENCEINTE 10: Oui, comme comment puis-je faire it-- où puis-je mettre Andi, 587 00:25:47,165 --> 00:25:48,350 et où puis-je mettre 20? 588 00:25:48,350 --> 00:25:48,640 >> ANDI PENG: Ouais. 589 00:25:48,640 --> 00:25:50,250 Donc, si vous deviez effectivement exécuter ce code, 590 00:25:50,250 --> 00:25:52,875 Je ne suis pas fait courir le code, ceci est juste ici en ce moment. 591 00:25:52,875 --> 00:25:56,910 Si je devais exécuter le code, je le ferais compiler le code, rendre le fichier, 592 00:25:56,910 --> 00:26:00,760 exécuter le code, puis il y aurait juste être deux espaces pour moi d'entrée il. 593 00:26:00,760 --> 00:26:01,260 Ouais. 594 00:26:01,260 --> 00:26:03,843 Les gars, vous verrez lorsque vous jouez avec le code vous-même. 595 00:26:03,843 --> 00:26:05,760 596 00:26:05,760 --> 00:26:09,645 >> Tout droit, nous allons passer dans la section suivante de ce que 597 00:26:09,645 --> 00:26:11,610 nous aborderons aujourd'hui. 598 00:26:11,610 --> 00:26:13,980 Nous allons passer en revue ce instructions conditionnelles sont. 599 00:26:13,980 --> 00:26:16,500 Donc, si vous les gars me souviens et de rappeler de conférence, 600 00:26:16,500 --> 00:26:19,210 instructions conditionnelles, tout ce qu'ils sont sont un ensemble 601 00:26:19,210 --> 00:26:24,010 des instructions à l'ordinateur à qui, si une certaine condition est vraie, 602 00:26:24,010 --> 00:26:27,470 vous exécutez le code à l'intérieur de cette condition. 603 00:26:27,470 --> 00:26:30,101 >> Donc, en Scratch-- essentiellement le grand thème à partir d'aujourd'hui 604 00:26:30,101 --> 00:26:32,850 est ce que vous les gars ont déjà toutes vu la logique derrière tout 605 00:26:32,850 --> 00:26:34,020 que nous sommes couvrant. 606 00:26:34,020 --> 00:26:36,190 Et tout ce que nous faisons est traduire quelque chose 607 00:26:36,190 --> 00:26:39,090 qui a été très intuitive Scratch, et dur coder 608 00:26:39,090 --> 00:26:41,950 dans la syntaxe nous utiliserons pour la classe qui est C. 609 00:26:41,950 --> 00:26:47,550 Donc, logiquement, tout ce bloc était est que morceau de code là. 610 00:26:47,550 --> 00:26:49,995 Ouais. 611 00:26:49,995 --> 00:26:50,900 D'ACCORD. 612 00:26:50,900 --> 00:26:55,290 >> Nous obtenons également dans un if ... else déclaration qui est juste une couche supplémentaire 613 00:26:55,290 --> 00:26:59,120 de la complexité de l'instruction if où l'ordinateur prend un oeil à cette 614 00:26:59,120 --> 00:27:04,260 et voit, si cette condition est vrai, faire tout ce qui est à l'intérieur de ces deux supports, 615 00:27:04,260 --> 00:27:08,470 else-- donc un peu comme si la valeur par défaut il ne répond pas à la condition-- faire. 616 00:27:08,470 --> 00:27:10,120 Il est comme une bifurcation de la route. 617 00:27:10,120 --> 00:27:14,400 Si il pleut dehors, je mets sur une veste de pluie, sinon rien 618 00:27:14,400 --> 00:27:16,330 sinon je ne mets pas sur une veste de pluie. 619 00:27:16,330 --> 00:27:18,400 >> Est-ce que la logique de sens pour tout le monde? 620 00:27:18,400 --> 00:27:21,031 Frais. 621 00:27:21,031 --> 00:27:21,530 Bien. 622 00:27:21,530 --> 00:27:24,970 Donc, comme un exemple de disque ce que nous aimerions voir dans C 623 00:27:24,970 --> 00:27:28,890 est que si je voulais créer un variable appelée heures de devoirs. 624 00:27:28,890 --> 00:27:32,050 Et si les heures de travail à domicile est moins de cinq ans, je dis vie est belle. 625 00:27:32,050 --> 00:27:33,070 C'est merveilleux. 626 00:27:33,070 --> 00:27:36,450 Cependant, dit La lutte est bien-- qui est ce que nous avons tous en ce lundi 627 00:27:36,450 --> 00:27:39,337 après-midi, jusqu'à Science Hill sont probablement en train de faire maintenant-- 628 00:27:39,337 --> 00:27:40,170 AUDIENCE: [rire] 629 00:27:40,170 --> 00:27:42,510 ANDI PENG: Ils façon dont nous serait, je vous remercie pour cela. 630 00:27:42,510 --> 00:27:46,180 La façon dont nous aurions hardcode cela dans C est si-- supposons 631 00:27:46,180 --> 00:27:49,920 nous avons déjà une variable de type int appelé heures de devoirs ici. 632 00:27:49,920 --> 00:27:53,870 Si les heures de travail à domicile est moins cinq printf (), La vie est belle. 633 00:27:53,870 --> 00:27:57,330 Rappelez-vous garder / n, car vous voulez une nouvelle ligne après. 634 00:27:57,330 --> 00:27:59,660 ELSE PRINT, La lutte est réelle. 635 00:27:59,660 --> 00:28:03,720 >> Tout le monde comprend comment Je transitioned de ce bloc 636 00:28:03,720 --> 00:28:07,610 dans ce bloc de code? 637 00:28:07,610 --> 00:28:08,110 Frais. 638 00:28:08,110 --> 00:28:11,030 639 00:28:11,030 --> 00:28:11,840 Bien. 640 00:28:11,840 --> 00:28:15,930 >> Alors maintenant, nous allons jeter un oeil à Si plusieurs déclarations tout à fait. 641 00:28:15,930 --> 00:28:18,140 Donc, supposons que le but de ce programme 642 00:28:18,140 --> 00:28:20,870 était que nous invite l'utilisateur à un grade. 643 00:28:20,870 --> 00:28:24,450 Nous invite utilisant getint () pour une année, et ils entrer une valeur, 644 00:28:24,450 --> 00:28:27,700 et vous souhaitez afficher ce type de pente qu'ils ont obtenu. 645 00:28:27,700 --> 00:28:30,730 >> Donc, si je devais concevoir un programme, je signifie généralement dans l'ensemble de nos yeux, 646 00:28:30,730 --> 00:28:35,490 90-100 est un A, 80 à 90 est un B, et ainsi de suite et ainsi de suite. 647 00:28:35,490 --> 00:28:39,040 Quel est le problème avec ce morceau de code qu'il est pas 648 00:28:39,040 --> 00:28:41,393 faire ce que je veux faire. 649 00:28:41,393 --> 00:28:41,892 Ouais. 650 00:28:41,892 --> 00:28:45,100 >> ENCEINTE 11: Ils ont des limites plus basses, mais ils ne possèdent pas les limites supérieures. 651 00:28:45,100 --> 00:28:46,280 >> ANDI PENG: Exactement. 652 00:28:46,280 --> 00:28:47,950 Tout le monde a entendu ce qu'elle a dit? 653 00:28:47,950 --> 00:28:50,200 Il va être supérieure limites, mais pas de limites inférieures. 654 00:28:50,200 --> 00:28:52,540 Désolé, inverse, limites inférieures, pas de limites supérieures. 655 00:28:52,540 --> 00:28:55,090 Alors voulez-vous prendre un coup de couteau à dire 656 00:28:55,090 --> 00:28:58,945 ce qui serait imprimé sur cette écran si je devais exécuter ce code. 657 00:28:58,945 --> 00:28:59,820 ENCEINTE 11: Une erreur? 658 00:28:59,820 --> 00:29:01,140 ANDI PENG: Une erreur? 659 00:29:01,140 --> 00:29:02,740 Grande conjecture, pas tout à fait raison. 660 00:29:02,740 --> 00:29:05,465 Quelqu'un at-il un autre coup de poignard? 661 00:29:05,465 --> 00:29:06,640 Ouais, Aaron. 662 00:29:06,640 --> 00:29:10,099 >> AARON: Si vous mettez en quelque chose supérieur à 90, 663 00:29:10,099 --> 00:29:11,640 il serait montrer toutes les qualités que vous avez obtenus. 664 00:29:11,640 --> 00:29:13,640 Il serait montrer que vous avez obtenu un A, vous avez obtenu un B, vous avez un C. 665 00:29:13,640 --> 00:29:13,870 >> ANDI PENG: Ouais. 666 00:29:13,870 --> 00:29:14,840 Exactement. 667 00:29:14,840 --> 00:29:17,820 Donc, ce serait merveilleux. 668 00:29:17,820 --> 00:29:21,781 Cependant, ils sont mutuellement exclusif, je pense. 669 00:29:21,781 --> 00:29:23,280 Si je devais exécuter ce morceau de code. 670 00:29:23,280 --> 00:29:26,200 Et puis, disons simplement, je entré le grade de 95. 671 00:29:26,200 --> 00:29:30,360 Donc 95 est maintenant stocké dans INT appelle grade. 672 00:29:30,360 --> 00:29:33,610 >> Et si C est une langue qui monte haut en bas, 673 00:29:33,610 --> 00:29:36,000 donc ça va toujours courir jusqu'à en bas. 674 00:29:36,000 --> 00:29:39,420 Donc, il va venir ici, lu si teneur est supérieure ou égale à 90, 675 00:29:39,420 --> 00:29:42,850 printf () vous avez obtenu un A. Grande, je avoir un 95, ce qui est supérieur à 90. 676 00:29:42,850 --> 00:29:44,866 Il va imprimer, Je suis un A. Il va 677 00:29:44,866 --> 00:29:48,850 de jeter un oeil à ce cas, il va dites, eh bien 95 est également supérieur à 80, 678 00:29:48,850 --> 00:29:52,970 il va imprimer vous aussi avez un got une marque d'exclamation B, et ainsi de 679 00:29:52,970 --> 00:29:53,690 suite. 680 00:29:53,690 --> 00:29:55,890 >> Donc, comme nous pouvons tous le voir, ceci est un bogue commune 681 00:29:55,890 --> 00:30:00,760 qui peuvent se produire quand nous sommes l'écriture de code à regarder dehors pour. 682 00:30:00,760 --> 00:30:05,430 Toute personne, des questions sur pourquoi ce qui se passait? 683 00:30:05,430 --> 00:30:05,930 Génial. 684 00:30:05,930 --> 00:30:08,920 685 00:30:08,920 --> 00:30:09,440 D'ACCORD. 686 00:30:09,440 --> 00:30:12,110 >> Alors, comment pouvons-nous résoudre ce problème, est évidemment la prochaine question logique. 687 00:30:12,110 --> 00:30:16,290 Eh bien, nous avons ces belles choses appelées si quelque chose si 688 00:30:16,290 --> 00:30:18,010 si else. 689 00:30:18,010 --> 00:30:22,230 Donc vous pouvez le voir, si vous vouliez pour changer ce problème, 690 00:30:22,230 --> 00:30:25,260 vous avez voulu faire chacun des conditions mutuellement exclusives, 691 00:30:25,260 --> 00:30:26,860 vous souhaitez ajouter un autre ... if. 692 00:30:26,860 --> 00:30:30,068 >> Et ceux-ci de course-- pensent d'eux comme échelles, ou comme les barreaux sur le ladder-- 693 00:30:30,068 --> 00:30:34,050 vous pouvez ajouter autant de ces que vous vouloir pour autant de conditions que vous voulez. 694 00:30:34,050 --> 00:30:36,790 Donc, ici, si je entré année à 95. 695 00:30:36,790 --> 00:30:39,479 Si année est supérieur à 95, printf (), je me suis un A. Grande. 696 00:30:39,479 --> 00:30:42,020 Il va voir un autre ... si et il va savoir, Oh non, 697 00:30:42,020 --> 00:30:43,750 Je l'ai déjà exécuté la première chose. 698 00:30:43,750 --> 00:30:47,020 Je know-- ou le premier si-- Je sais que Je ne dois pas regarder l'un de ces 699 00:30:47,020 --> 00:30:48,920 parce que l'un d'entre eux a déjà été vrai. 700 00:30:48,920 --> 00:30:50,410 Donc ça va fonctionner de haut en bas. 701 00:30:50,410 --> 00:30:53,650 Dès que le premier est vrai, alors il va sauter sur tout le reste 702 00:30:53,650 --> 00:30:54,675 des autre ... ifs. 703 00:30:54,675 --> 00:30:55,550 Cela a-t-il du sens? 704 00:30:55,550 --> 00:30:57,841 Ainsi, de cette façon vous avez les différents niveaux de contrôle 705 00:30:57,841 --> 00:31:01,090 et dès que l'un d'eux est faux, la reste sont aussi, ils ne seront même pas vérifier. 706 00:31:01,090 --> 00:31:03,577 707 00:31:03,577 --> 00:31:04,076 Frais. 708 00:31:04,076 --> 00:31:07,680 709 00:31:07,680 --> 00:31:08,180 Bien. 710 00:31:08,180 --> 00:31:11,180 >> Ainsi, ceci est un exemple d'un autre sorte d'instruction conditionnelle 711 00:31:11,180 --> 00:31:15,250 nous voyons moins souvent, mais nous les voyons et nous les utilisons. 712 00:31:15,250 --> 00:31:18,120 Et ils sont souvent plus efficace pour certains cas. 713 00:31:18,120 --> 00:31:20,020 Donc, nous avons ce qu'on appelle une instruction switch. 714 00:31:20,020 --> 00:31:25,140 Donc, avant, nous avons couvert ce qui est un autre déclaration, une déclaration if ... else. 715 00:31:25,140 --> 00:31:27,790 Ici, nous avons ce sont appelé les états de commutation. 716 00:31:27,790 --> 00:31:31,100 >> Alors, quand le faire, nous utilisons l'interrupteur déclarations est la clé? 717 00:31:31,100 --> 00:31:34,090 Donc, dans un communiqué de l'interrupteur, vous habituellement, généralement, en fait vous 718 00:31:34,090 --> 00:31:38,010 Puis seulement entiers d'entrée pour votre variable qui vous vérifiez. 719 00:31:38,010 --> 00:31:42,390 Donc, si je voulais vérifier pour voir si un certain number-- par exemple 720 00:31:42,390 --> 00:31:43,720 une note, si je obtenu un 90. 721 00:31:43,720 --> 00:31:48,190 Je veux voir si cela est un A, B ou C. je pouvais avoir un cas ici. 722 00:31:48,190 --> 00:31:50,840 Cependant, l'affaire a être une autre constante. 723 00:31:50,840 --> 00:31:53,170 >> Donc, dans ce sens, le instruction switch ne peut 724 00:31:53,170 --> 00:31:55,290 vérifier l'égalité de deux nombres. 725 00:31:55,290 --> 00:31:57,242 Il ne vérifie pas pour autre chose. 726 00:31:57,242 --> 00:31:59,950 Voilà donc de quoi être très attention quand vous utilisez ce. 727 00:31:59,950 --> 00:32:04,810 Donc, ici, si je voulais vérifier pour voir si ma note de 90 est égale à 90 ou 80 728 00:32:04,810 --> 00:32:08,500 ou 70 ou 60, puis print le grade correspondant, 729 00:32:08,500 --> 00:32:11,420 Je serais capable d'écrire que dans une instruction switch. 730 00:32:11,420 --> 00:32:15,120 >> Donc, il va venir ici, chèque est ce nombre entier égal à cette constante? 731 00:32:15,120 --> 00:32:17,030 Si non, il va sauter. 732 00:32:17,030 --> 00:32:19,880 Est-il égal à constant deux, et ainsi de suite et ainsi de suite, 733 00:32:19,880 --> 00:32:22,390 jusqu'à ce que vous atteignez la valeur par défaut, si aucun d'entre eux sont égales. 734 00:32:22,390 --> 00:32:24,590 Dès que l'un d'eux est réglé pour être égal, 735 00:32:24,590 --> 00:32:27,040 ça va le faire ligne de code et pause. 736 00:32:27,040 --> 00:32:30,990 Ce qui signifie qu'il va frapper que courir, casser, et juste complètement sauter 737 00:32:30,990 --> 00:32:32,240 à la partie inférieure de ce code. 738 00:32:32,240 --> 00:32:37,550 Donc, dans ce sens, le type de fonctions comme un autre si si instruction else if. 739 00:32:37,550 --> 00:32:40,830 >> Alors, voici un béton par exemple pour vous les gars. 740 00:32:40,830 --> 00:32:46,140 Supposons donc que je voulais créer une variable appelée année fondée. 741 00:32:46,140 --> 00:32:50,230 Et je tiens à inviter l'utilisateur à l'entrée l'année que leur école a été fondée. 742 00:32:50,230 --> 00:32:53,300 Donc, je peux créer une instruction switch ici. 743 00:32:53,300 --> 00:32:56,650 Et disons simplement, je entrée 1636. 744 00:32:56,650 --> 00:33:01,120 >> Ce code ici va voir interrupteur Année de fondation qui équivaut à 1636. 745 00:33:01,120 --> 00:33:03,940 Il va voir le cas 1636, oh ceux sont égaux, 746 00:33:03,940 --> 00:33:06,230 printf () devrait pas vous être à cette école dans le nord? 747 00:33:06,230 --> 00:33:08,770 Parce que nous supposons qu'ils ne le font pas allez ici si ils vont à Harvard, 748 00:33:08,770 --> 00:33:10,380 casser et sauter à la fin. 749 00:33:10,380 --> 00:33:14,090 >> Si je devais entrée de 1701, qui Je suppose que nous sommes tous d'entrée, 750 00:33:14,090 --> 00:33:17,500 il serait ignorer ce cas, venez vers le bas pour deux cas qui est de 1701, 751 00:33:17,500 --> 00:33:19,660 et imprimer Bienvenue à Yale! 752 00:33:19,660 --> 00:33:21,360 Pause, sauter à la fin. 753 00:33:21,360 --> 00:33:25,130 Sinon, vous êtes probablement prenez ce cours en ligne dans lequel case-- accueil génial 754 00:33:25,130 --> 00:33:29,020 à Yale-- ça va aller à la impression par défaut, Internet Bonjour! 755 00:33:29,020 --> 00:33:29,870 Et briser. 756 00:33:29,870 --> 00:33:30,466 Ouais. 757 00:33:30,466 --> 00:33:32,090 >> ENCEINTE 12: Pouvez-vous utiliser autre au lieu de défaut il? 758 00:33:32,090 --> 00:33:34,550 >> PENG ANDI: Non, parce que la façon que cette fonction entière 759 00:33:34,550 --> 00:33:39,170 interrupteur est construit, la syntaxe besoin d'utiliser les majuscules cas par défaut. 760 00:33:39,170 --> 00:33:42,400 Il est comme l'autre si, si, ce il ya un cas cas par défaut. Ouais. 761 00:33:42,400 --> 00:33:45,650 ENCEINTE 13: Vous peut-être déjà dit cela, mais pouvez-vous avoir plus de deux cas? 762 00:33:45,650 --> 00:33:48,066 ANDI PENG: Ouais, vous pourriez avoir autant de cas que vous le souhaitez. 763 00:33:48,066 --> 00:33:50,050 Pensez-y comme tout comme l'ajout en continu de suite. 764 00:33:50,050 --> 00:33:52,396 >> ENCEINTE 14: Si vous 1701 à 1636 commuté, 765 00:33:52,396 --> 00:33:54,187 il ne fait pas vraiment un droit de différence? 766 00:33:54,187 --> 00:33:55,770 Il va juste être vérifier pour elle. 767 00:33:55,770 --> 00:33:56,900 >> ANDI PENG: Voilà une très bonne question. 768 00:33:56,900 --> 00:33:58,880 Et nous touchons plus tard, mais juste 769 00:33:58,880 --> 00:34:01,160 savent que l'interrupteur est déclaration est infinitely-- il est 770 00:34:01,160 --> 00:34:03,536 plus efficace que si elle et else if car il fonctionne 771 00:34:03,536 --> 00:34:06,660 en utilisant un autre type de fonction que vous permet, pour l'essentiel, à un peu 772 00:34:06,660 --> 00:34:08,790 sauter directement à la cas où vous devriez être à. 773 00:34:08,790 --> 00:34:10,547 Ouais. 774 00:34:10,547 --> 00:34:11,255 ENCEINTE 14: Cool. 775 00:34:11,255 --> 00:34:11,754 Merci. 776 00:34:11,754 --> 00:34:12,526 ANDI PENG: Oui 777 00:34:12,526 --> 00:34:16,687 >> ENCEINTE 14: Et vous ne pouviez pas faire cas similaires et supérieur. 778 00:34:16,687 --> 00:34:17,270 PENG ANDI: Non 779 00:34:17,270 --> 00:34:19,860 Donc, voilà ce qui se limitant à propos de la instruction switch est que vous avez 780 00:34:19,860 --> 00:34:21,564 d'avoir des constantes, seuls des nombres entiers seulement. 781 00:34:21,564 --> 00:34:22,064 Ouais. 782 00:34:22,064 --> 00:34:25,179 783 00:34:25,179 --> 00:34:25,820 D'ACCORD. 784 00:34:25,820 --> 00:34:28,659 >> Donc ceci est quelque chose que vous les gars vont rencontrer moins souvent de, 785 00:34:28,659 --> 00:34:32,280 mais je voulais juste introduire au cas où. 786 00:34:32,280 --> 00:34:36,210 Nous avons ici ce qui est appelé opérateur ternaire. 787 00:34:36,210 --> 00:34:39,370 Où essentiellement, il est juste comme un if compilé dans une seule ligne. 788 00:34:39,370 --> 00:34:42,630 Ici, je vais aller sur la ligne suivante, la page suivante, car il est plus facile à voir. 789 00:34:42,630 --> 00:34:44,860 >> Donc, nous avons tous vu ce droit? 790 00:34:44,860 --> 00:34:46,110 Ceci est assez facile à suivre. 791 00:34:46,110 --> 00:34:51,290 Si je voulais faire une variable appelée chaîne nommée s, si un certain nombre 792 00:34:51,290 --> 00:34:54,770 Je lui donne est inférieur à 100, je vouloir assigner faible à la chaîne, 793 00:34:54,770 --> 00:34:57,240 sinon je veux accorder une haute. 794 00:34:57,240 --> 00:35:01,370 >> Cette ici est en train de faire exactement la même chose ces huit lignes de code font. 795 00:35:01,370 --> 00:35:03,600 Donc ici, je veux créer une chaîne variable. 796 00:35:03,600 --> 00:35:08,520 Et telle est la condition, je suis contrôle, si un nombre est inférieur à 100, 797 00:35:08,520 --> 00:35:12,750 alors vous assignez la valeur de bas, d'autre affecter la valeur de la haute. 798 00:35:12,750 --> 00:35:15,802 >> Ces diapositives seront en ligne, pas de soucis si vous les gars ne reçoivent pas cette baisse. 799 00:35:15,802 --> 00:35:18,510 Ceci est juste un moyen plus simple, plus un moyen efficace de l'écriture de code. 800 00:35:18,510 --> 00:35:21,290 801 00:35:21,290 --> 00:35:21,810 D'ACCORD. 802 00:35:21,810 --> 00:35:25,190 >> Alors maintenant, nous allons saisir ce qui, pour la plupart des gens 803 00:35:25,190 --> 00:35:28,660 sont comme un très, très déroutant chose à penser au premier abord. 804 00:35:28,660 --> 00:35:30,226 La section de la boucle. 805 00:35:30,226 --> 00:35:32,600 Donc, aujourd'hui, nous allons parler environ trois types de boucles. 806 00:35:32,600 --> 00:35:34,890 Nous allons commencer avec un tout boucle, puis parler d'une boucle Do While, 807 00:35:34,890 --> 00:35:36,740 puis parler pour les boucles. 808 00:35:36,740 --> 00:35:40,010 >> Donc, essentiellement, pour les plus apprenants visuels là-bas, 809 00:35:40,010 --> 00:35:44,410 nous avons, pour l'essentiel, un graphique représentation de ce qu'est une boucle while fait. 810 00:35:44,410 --> 00:35:48,290 Ainsi, dans une programmation, vous commencerez et entrer dans la boucle à un certain point. 811 00:35:48,290 --> 00:35:49,470 Vous vérifiez une condition. 812 00:35:49,470 --> 00:35:52,165 Et si la condition est vraie, vous exécutez le code à l'intérieur. 813 00:35:52,165 --> 00:35:53,790 Et vous revenez autour et vous vérifiez. 814 00:35:53,790 --> 00:35:57,190 Si il est encore vrai que vous continuer à courir ce code autour et autour dans une boucle. 815 00:35:57,190 --> 00:36:00,970 >> Cependant, la seconde que la condition devient fausse, 816 00:36:00,970 --> 00:36:02,739 vous allez casser et terminer la boucle. 817 00:36:02,739 --> 00:36:05,030 Et cela est essentiellement le syntaxe que vous allez utiliser. 818 00:36:05,030 --> 00:36:08,250 Alors qu'une certaine condition est vrai ce faire, si elle est pas vrai, 819 00:36:08,250 --> 00:36:12,920 vous allez passer à la fin et aller de l'avant avec votre programme. 820 00:36:12,920 --> 00:36:13,690 D'ACCORD. 821 00:36:13,690 --> 00:36:17,250 >> Quelqu'un at-il un exemple sur ce qui peut potentiellement se produire 822 00:36:17,250 --> 00:36:19,160 si je tente d'exécuter ce morceau de code? 823 00:36:19,160 --> 00:36:22,470 Par ailleurs, que ce Scaz SAJ--, Andi, Jason-- nous signons nos e-mails, 824 00:36:22,470 --> 00:36:24,830 Amour, SAJ. 825 00:36:24,830 --> 00:36:25,573 C'est nous. 826 00:36:25,573 --> 00:36:26,500 D'ACCORD. 827 00:36:26,500 --> 00:36:29,829 >> Quelqu'un at-il un exemple, ou avoir une idée sur ce que cela pourrait imprimer? 828 00:36:29,829 --> 00:36:30,870 Type d'une question piège. 829 00:36:30,870 --> 00:36:34,550 830 00:36:34,550 --> 00:36:39,380 Donc, ici, rappeler la condition Nous vérifions pour tout est vrai. 831 00:36:39,380 --> 00:36:42,840 Ainsi, alors que cela est vrai, il est aller à imprimer, je l'aime SAJ! 832 00:36:42,840 --> 00:36:48,460 Yat-il un point sur lequel nous serions changer en ce que le contraire? 833 00:36:48,460 --> 00:36:49,050 Aucun droit? 834 00:36:49,050 --> 00:36:51,470 >> Donc, ici, nous avons rencontré ce qui est probablement 835 00:36:51,470 --> 00:36:54,310 va être mise sur écoute beaucoup de vos programmes, la boucle infinie. 836 00:36:54,310 --> 00:36:56,268 Vous verrez que si vous exécuter ce morceau de code, 837 00:36:56,268 --> 00:36:58,160 il va juste garder l'impression, je l'aime SAJ! 838 00:36:58,160 --> 00:37:00,701 Bien que nous apprécions le soutien, nous ne voulons pas de vos ordinateurs 839 00:37:00,701 --> 00:37:02,910 à planter parce que vous garder l'impression I love SAJ! 840 00:37:02,910 --> 00:37:05,320 >> Alors s'il vous plaît, s'il vous plaît, éviter la boucle infinie 841 00:37:05,320 --> 00:37:07,320 car il ne va jamais d'évaluer à false 842 00:37:07,320 --> 00:37:08,780 et vous allez jamais à laisser la boucle. 843 00:37:08,780 --> 00:37:10,530 Et vous allez être aspiré toujours. 844 00:37:10,530 --> 00:37:13,000 Frais. 845 00:37:13,000 --> 00:37:13,694 D'ACCORD. 846 00:37:13,694 --> 00:37:15,610 Le deuxième type de boucle nous allons parler aujourd'hui 847 00:37:15,610 --> 00:37:17,580 est le do while, do while. 848 00:37:17,580 --> 00:37:20,580 Et on appelle ça un do while parce que vous avez un do et un tout. 849 00:37:20,580 --> 00:37:24,390 Donc, cela est assez similaire à un moment boucle, mais un peu différent. 850 00:37:24,390 --> 00:37:27,620 Ici, vous allez faire tout ce qui est à l'intérieur de cette 851 00:37:27,620 --> 00:37:29,747 tandis qu'une certaine condition est vraie. 852 00:37:29,747 --> 00:37:32,580 Donc, si je devais C et l'ordinateur, je suis couler ce morceau de code, 853 00:37:32,580 --> 00:37:33,880 Je prends un coup d'oeil au sommet. 854 00:37:33,880 --> 00:37:36,890 Je vais à C, je dis faire cette chose. 855 00:37:36,890 --> 00:37:40,550 Et puis je vérifie, alors que ce est vrai, je dois le répéter. 856 00:37:40,550 --> 00:37:42,750 Mais tout cela est faux, puis je aller de l'avant 857 00:37:42,750 --> 00:37:44,700 et je ne retournerai jamais à cette boucle à nouveau. 858 00:37:44,700 --> 00:37:48,360 >> Quelqu'un peut-il prendre un coup de couteau à ce que la différence 859 00:37:48,360 --> 00:37:52,130 entre cette boucle et la une nous juste regardé était pratiquement. 860 00:37:52,130 --> 00:37:52,717 Ouais. 861 00:37:52,717 --> 00:37:55,050 ENCEINTE 15: La condition vient après plutôt qu'avant? 862 00:37:55,050 --> 00:37:55,841 ANDI PENG: Exactement. 863 00:37:55,841 --> 00:37:57,984 Alors elle a dit la condition vient après, pas avant. 864 00:37:57,984 --> 00:38:00,400 En fin de compte, la différence entre ce dernier et la boucle while 865 00:38:00,400 --> 00:38:03,597 est que vous allez juste faire tout ce qui est à l'intérieur de ce indépendamment de 866 00:38:03,597 --> 00:38:06,430 si oui ou non votre état est vrai, et ensuite vérifier l'état. 867 00:38:06,430 --> 00:38:08,304 Donc dans ce cas, vous êtes always-- de cette manière, 868 00:38:08,304 --> 00:38:11,240 vous êtes toujours en veillant quel que soit est fonctionne à l'intérieur d'au moins 869 00:38:11,240 --> 00:38:14,230 une fois avant de vérifier si vous souhaitez l'exécuter à nouveau. 870 00:38:14,230 --> 00:38:18,040 >> Et voici un exemple quand nous l'utiliser. 871 00:38:18,040 --> 00:38:22,570 Ainsi, par exemple, si je voulais avoir une variable de type int nommée âge, 872 00:38:22,570 --> 00:38:25,640 et je tiens à inviter l'utilisateur pour leur âge, 873 00:38:25,640 --> 00:38:27,910 Je vais faire printf () Quel âge as-tu? 874 00:38:27,910 --> 00:38:30,330 âge = getint (), qui est invitant l'utilisateur. 875 00:38:30,330 --> 00:38:32,140 >> Et certaines personnes vont être très ennuyeux. 876 00:38:32,140 --> 00:38:34,931 Et vous ne voulez pas de bogues dans le programme de quelqu'un d'entrer comme, 877 00:38:34,931 --> 00:38:36,680 oh je suis négative de 4 ans ou peu importe. 878 00:38:36,680 --> 00:38:39,900 Dans ce cas, si elles faire, ce évalue 879 00:38:39,900 --> 00:38:43,150 true, ce qui signifie que je vais avoir à garder aller et le faire. 880 00:38:43,150 --> 00:38:45,310 Donc, cela va continuer re-demander à l'utilisateur 881 00:38:45,310 --> 00:38:47,960 pour vous donner comme un vrai Numéro d'âge et il est 882 00:38:47,960 --> 00:38:51,930 va continuer à aller en arrière et refaire jusqu'à ce qu'ils vous donner un âge réel 883 00:38:51,930 --> 00:38:56,900 supérieur à un, ou différent de zéro. 884 00:38:56,900 --> 00:38:58,020 >> Donc indice, indice. 885 00:38:58,020 --> 00:39:02,263 Ce sera très, très utile pour un de vos problèmes de PSEt. 886 00:39:02,263 --> 00:39:04,155 Ouais. 887 00:39:04,155 --> 00:39:05,580 >> ENCEINTE 16: Oups, désolé. 888 00:39:05,580 --> 00:39:06,288 >> ANDI PENG: Yep. 889 00:39:06,288 --> 00:39:09,424 >> ENCEINTE 16: Y at-il, pas d'être un trou du cul, mais- 890 00:39:09,424 --> 00:39:10,340 ANDI PENG: Pas de soucis. 891 00:39:10,340 --> 00:39:11,990 ENCEINTE 16: il --existe des règles différentes ici, 892 00:39:11,990 --> 00:39:13,810 ou avez-vous simplement oublié de mettre la citation? 893 00:39:13,810 --> 00:39:14,250 >> ANDI PENG: Oh Yeah. 894 00:39:14,250 --> 00:39:15,530 Désolé, ce est totalement mon mauvais. 895 00:39:15,530 --> 00:39:17,100 Ce fut certainement censé être une citation. 896 00:39:17,100 --> 00:39:17,690 Bonne prise. 897 00:39:17,690 --> 00:39:18,800 Cela aurait pas courir. 898 00:39:18,800 --> 00:39:22,070 899 00:39:22,070 --> 00:39:22,830 D'ACCORD. 900 00:39:22,830 --> 00:39:26,160 >> Ainsi, le dernier type de boucle, nous allons parler à propos et, en fin de compte, type de la plus 901 00:39:26,160 --> 00:39:28,854 complexe est la boucle. 902 00:39:28,854 --> 00:39:30,770 Ne vous inquiétez pas si vous ne le faites pas savent ce que cela signifie. 903 00:39:30,770 --> 00:39:32,061 Il est assez déroutant au premier abord. 904 00:39:32,061 --> 00:39:33,640 Nous allons passer en revue un exemple. 905 00:39:33,640 --> 00:39:37,040 >> Tout ce qui se passe dans une boucle for est que vous avez trois états 906 00:39:37,040 --> 00:39:38,380 que vous allez comprendre. 907 00:39:38,380 --> 00:39:42,130 Donc, pour une certaine chose, vous êtes va initialiser une variable. 908 00:39:42,130 --> 00:39:45,280 Vous allez ajouter la condition à cette boucle qui va continuer à courir. 909 00:39:45,280 --> 00:39:47,790 Et puis, à la fin de la boucle, vous allez mettre à jour. 910 00:39:47,790 --> 00:39:50,248 Vous pouvez mettre à jour la variable que vous voulez garder la trace. 911 00:39:50,248 --> 00:39:52,530 Donc, nous utilisons généralement pour les boucles pour quand nous 912 00:39:52,530 --> 00:39:55,390 vouloir exécuter une boucle pour une certain nombre de fois 913 00:39:55,390 --> 00:39:58,900 et nous savons déjà, Oh je veux cette boucle à exécuter comme 10 fois, 914 00:39:58,900 --> 00:40:03,060 alors vous do-- je vais aller sur un exemple à la page suivante. 915 00:40:03,060 --> 00:40:07,830 >> Donc, ici, par exemple, dans Scratch, si vous je voulais quelque chose de répéter 10 fois, 916 00:40:07,830 --> 00:40:10,790 tout ce que vous aviez à dire était, répéter 10 fois I love SAJ! 917 00:40:10,790 --> 00:40:15,260 qui est un plus acceptable spectacle de soutien pour nous 918 00:40:15,260 --> 00:40:17,120 au lieu de la boucle infinie. 919 00:40:17,120 --> 00:40:19,920 Ici, la façon dont vous le feriez transition vers C et écriture 920 00:40:19,920 --> 00:40:26,040 qui est pour int-- je vais créer ou déclarer une variable de type int nommé i. 921 00:40:26,040 --> 00:40:30,089 Je vais d'initialiser à 0, donc i = 0; 922 00:40:30,089 --> 00:40:31,630 et cela va être ma condition. 923 00:40:31,630 --> 00:40:33,860 Donc i est inférieur à 10. 924 00:40:33,860 --> 00:40:36,096 Et puis à la end-- la dernière déclaration que vous êtes 925 00:40:36,096 --> 00:40:38,710 va avoir est la mise à jour des ce qui se passe à la variable i 926 00:40:38,710 --> 00:40:40,206 à la fin de votre boucle. 927 00:40:40,206 --> 00:40:42,830 Donc, il est une sorte de confusion, car différentes parties de cette ligne 928 00:40:42,830 --> 00:40:44,871 se produisent à différents les types de la boucle. 929 00:40:44,871 --> 00:40:46,746 Mais je vais aller sur une exemple de pseudo-code que 930 00:40:46,746 --> 00:40:50,360 et peut-être expliquer cette juste un peu mieux. 931 00:40:50,360 --> 00:40:51,500 >> Donc ici. 932 00:40:51,500 --> 00:40:52,929 Voilà la boucle nous venons de voir. 933 00:40:52,929 --> 00:40:55,470 Essentiellement en pseudo-code, ce qui qui se passe dans ce programme, 934 00:40:55,470 --> 00:40:57,940 est d'abord je crée i, l'initialiser à 0. 935 00:40:57,940 --> 00:41:00,440 Je vérifie pour voir si i est moins de 10, auquel cas 936 00:41:00,440 --> 00:41:02,840 la première fois qu'il est parce que 0 est inférieur à 10. 937 00:41:02,840 --> 00:41:04,727 Ainsi la boucle va courir. 938 00:41:04,727 --> 00:41:06,310 Et puis je vais imprimer cette ligne. 939 00:41:06,310 --> 00:41:11,240 Et puis à la fin de cette ligne, à droite ici, je vais faire incrément i, i ++, 940 00:41:11,240 --> 00:41:13,370 tout ce qui est des moyens incrémenter par un. 941 00:41:13,370 --> 00:41:15,460 >> Donc i est maintenant 1. 942 00:41:15,460 --> 00:41:17,960 Parce qu'il était autrefois 0, si je incrémenter il est, il est maintenant 1. 943 00:41:17,960 --> 00:41:19,610 Et puis je vais revenir au début de la boucle 944 00:41:19,610 --> 00:41:20,730 et je vérifier l'état. 945 00:41:20,730 --> 00:41:22,080 Est la condition toujours vrai? 946 00:41:22,080 --> 00:41:24,030 Oui, 1 est toujours inférieur à 10. 947 00:41:24,030 --> 00:41:27,370 Donc, il va imprimer ce message, aller puis incrémenter i, et vérifiez 948 00:41:27,370 --> 00:41:29,180 la condition de façon continue, en permanence, 949 00:41:29,180 --> 00:41:33,290 jusqu'à ce que vous obtenez finalement au point où i est 10. 950 00:41:33,290 --> 00:41:36,300 >> Vous allez imprimer cette 10 fois et puis je vais égaler est 10. 951 00:41:36,300 --> 00:41:37,800 Vous allez vérifier l'état. 952 00:41:37,800 --> 00:41:38,760 Est de 10 à moins de 10? 953 00:41:38,760 --> 00:41:40,370 Non, ce qui est faux. 954 00:41:40,370 --> 00:41:43,020 Ainsi, cette boucle ne va pas à courir, il va se casser, 955 00:41:43,020 --> 00:41:45,040 et vous allez continuer avec votre code. 956 00:41:45,040 --> 00:41:47,550 >> Donc, comme vous les gars pouvez le voir, cette est un très bon exemple 957 00:41:47,550 --> 00:41:53,110 d'une boucle, vous pouvez programmer dans ce fonctionne pour un montant de fois spécifié. 958 00:41:53,110 --> 00:41:54,457 Chacun clair? 959 00:41:54,457 --> 00:41:54,956 Ouais. 960 00:41:54,956 --> 00:41:59,060 >> ENCEINTE 17: Que diriez-vous incrément de façon exponentielle, est-ce codage différent? 961 00:41:59,060 --> 00:42:02,060 >> ANDI PENG: Vous can-- nous irons au cours de cette dans la diapositive suivante. 962 00:42:02,060 --> 00:42:03,350 Bonne question. 963 00:42:03,350 --> 00:42:05,910 Est anyone-- avant que je passe on-- qui que ce soit confus, 964 00:42:05,910 --> 00:42:07,640 parce que cela est un concept vraiment difficile. 965 00:42:07,640 --> 00:42:09,510 Pas de soucis, si you're-- OK. 966 00:42:09,510 --> 00:42:10,010 Frais. 967 00:42:10,010 --> 00:42:12,836 968 00:42:12,836 --> 00:42:13,490 >> Bien. 969 00:42:13,490 --> 00:42:14,610 Juste une diapositive général. 970 00:42:14,610 --> 00:42:18,020 Cette boucle while fait la exactement la même chose pour la boucle était. 971 00:42:18,020 --> 00:42:19,631 Il vient d'écrire différemment. 972 00:42:19,631 --> 00:42:22,130 Les gars, vous pouvez parcourir les diapositives à votre convenance plus tard. 973 00:42:22,130 --> 00:42:24,880 Mais il suffit de savoir qu'il ya multiples façons d'écrire la même chose 974 00:42:24,880 --> 00:42:28,300 à se produire avec différentes boucles. 975 00:42:28,300 --> 00:42:28,800 D'ACCORD. 976 00:42:28,800 --> 00:42:32,380 >> Donc, maintenant nous obtenons dans la question de ce que si on a une boucle à l'intérieur d'une boucle. 977 00:42:32,380 --> 00:42:35,810 Nous entrons dans réel Inception Type trucs ici. 978 00:42:35,810 --> 00:42:40,640 Lorsque vous voulez faire des choses multiples fois à l'intérieur d'autres choses 979 00:42:40,640 --> 00:42:44,129 qui font des choses plusieurs fois, vous vouloir ce que l'on appelle une boucle imbriquée. 980 00:42:44,129 --> 00:42:47,420 Pour ceux d'entre vous qui voient cette première et très troublé, tout ce que nous faisons ici 981 00:42:47,420 --> 00:42:50,580 est d'avoir une boucle où nous avons une variable de rang. 982 00:42:50,580 --> 00:42:54,500 Mais à l'intérieur de celui-ci, nous avons aussi un autre pour boucle de colonne de variable appelée. 983 00:42:54,500 --> 00:42:58,560 Et je vous suggère fortement de vous tous qui sont confus d'abord garder 984 00:42:58,560 --> 00:43:00,310 track-- tirer cette, dessiner cela. 985 00:43:00,310 --> 00:43:03,000 Ne pas essayer de juste cause à travers elle, le tirer. 986 00:43:03,000 --> 00:43:06,630 >> Dans votre tête, sur ce morceau de papier, ou que ce soit, la ligne d'écriture, 987 00:43:06,630 --> 00:43:08,614 garder une trace de ce que la ligne est égale à. 988 00:43:08,614 --> 00:43:10,780 Donnez votre colonne, de garder trace de ce que la colonne est égale à. 989 00:43:10,780 --> 00:43:13,490 Et de garder trace de ce qui est imprimer à chaque itération. 990 00:43:13,490 --> 00:43:16,320 Chaque itération de cette boucle, à chaque itération de la boucle plus large, 991 00:43:16,320 --> 00:43:17,820 juste continuer à suivre la logique. 992 00:43:17,820 --> 00:43:20,190 Et je vous garantis, vous allez adorer ce que vous voyez, 993 00:43:20,190 --> 00:43:24,307 car il est aussi très applicable pour vos ensembles de problèmes. 994 00:43:24,307 --> 00:43:24,806 Frais. 995 00:43:24,806 --> 00:43:27,501 996 00:43:27,501 --> 00:43:28,000 Bien. 997 00:43:28,000 --> 00:43:30,723 Donc, la chose la plus importante que vous les gars sont probablement tous 998 00:43:30,723 --> 00:43:32,400 penser à ce moment, sont votre problème Réglez 1s, 999 00:43:32,400 --> 00:43:33,650 qui sont dus jeudi / vendredi. 1000 00:43:33,650 --> 00:43:36,890 1001 00:43:36,890 --> 00:43:39,710 >> Dans votre programme de water.c, Conseil Vous allez avoir 1002 00:43:39,710 --> 00:43:41,590 à inviter l'utilisateur à une entrée. 1003 00:43:41,590 --> 00:43:43,640 Dans votre programme de mario.c vous allez avoir 1004 00:43:43,640 --> 00:43:46,431 d'utiliser un imbriquée boucle for, qui est une boucle pour l'intérieur d'une boucle for, 1005 00:43:46,431 --> 00:43:50,247 d'imprimer un bloc de pyramide, essentiellement comme ce que Mario doit sauter à travers. 1006 00:43:50,247 --> 00:43:53,330 Et puis à l'intérieur de votre greedy-- ou peut-être Réussir le changement, si l'un de vous les gars 1007 00:43:53,330 --> 00:43:55,740 ont déjà entendu parler de that-- vous allez devoir être très 1008 00:43:55,740 --> 00:43:58,160 minutieuse des premières valeurs à virgule flottante. 1009 00:43:58,160 --> 00:44:01,860 Rappelez-vous décimales flottantes et sont des nombres entiers pas la même chose. 1010 00:44:01,860 --> 00:44:03,620 Gardez une trace de qui on est qui. 1011 00:44:03,620 --> 00:44:05,953 Et vous allez utiliser instructions conditionnelles, ainsi. 1012 00:44:05,953 --> 00:44:09,070 1013 00:44:09,070 --> 00:44:10,940 >> Tout droit, dernière chose. 1014 00:44:10,940 --> 00:44:12,770 Je dois quelques minutes. 1015 00:44:12,770 --> 00:44:13,460 Style. 1016 00:44:13,460 --> 00:44:19,320 Donc ceci est quelque chose qui ne fait effectuer l'efficacité, 1017 00:44:19,320 --> 00:44:21,010 ou le fonctionnement réel de votre code. 1018 00:44:21,010 --> 00:44:24,380 Cependant, il nous effets que vos élèves, que vos lecteurs. 1019 00:44:24,380 --> 00:44:27,290 Il vous affecte, si vous êtes en essayant de trouver un problème. 1020 00:44:27,290 --> 00:44:30,700 Il effectue la lisibilité de votre code. 1021 00:44:30,700 --> 00:44:34,070 >> Donc, le style, comme lorsque vous essayez de coiffer un essai pour l'anglais, si vous 1022 00:44:34,070 --> 00:44:36,070 n'a pas eu paragraphes, vous avez tout genre 1023 00:44:36,070 --> 00:44:39,190 des pêle-mêle sur une seule ligne, il qui le rend vraiment difficile pour quiconque 1024 00:44:39,190 --> 00:44:42,620 à lire votre essai, même si vos points sont logiquement son. 1025 00:44:42,620 --> 00:44:44,390 Même chose dans la programmation. 1026 00:44:44,390 --> 00:44:47,910 Vous pouvez avoir horriblement obscure Code qui Scaz couvrira, 1027 00:44:47,910 --> 00:44:49,660 et il peut encore fonctionner et la fonction. 1028 00:44:49,660 --> 00:44:53,110 Mais pour nous, que vos beaux PS, qui sera être la lecture et l'évaluation de vos psets, 1029 00:44:53,110 --> 00:44:54,460 ce n'est pas très gentil. 1030 00:44:54,460 --> 00:44:56,859 >> Alors s'il vous plaît, pour l'amour de nous et vous, 1031 00:44:56,859 --> 00:44:58,900 quand vous essayez de fixer un problème dans votre code, 1032 00:44:58,900 --> 00:45:00,774 et vous essayez de lire votre propre code, assurez- 1033 00:45:00,774 --> 00:45:03,910 vous que vous suivez certaines conventions que nous allons passer en revue. 1034 00:45:03,910 --> 00:45:04,510 >> Alors d'abord. 1035 00:45:04,510 --> 00:45:07,070 Donnez vos variables des noms significatifs. 1036 00:45:07,070 --> 00:45:11,450 Si vous souhaitez stocker un nombre entier appelé l'âge, s'il vous plaît nommer âge. 1037 00:45:11,450 --> 00:45:12,875 Ne pas nommer hauteur. 1038 00:45:12,875 --> 00:45:14,750 Lorsque vous essayez de stocker un âge en hauteur, 1039 00:45:14,750 --> 00:45:16,722 il fait tout très déroutant pour nous. 1040 00:45:16,722 --> 00:45:17,930 Nous ne voulons pas être confondu. 1041 00:45:17,930 --> 00:45:19,180 Vous ne voulez pas être confondu. 1042 00:45:19,180 --> 00:45:20,350 Personne ne aime pas confondre. 1043 00:45:20,350 --> 00:45:23,100 Si vous allez créer quelque chose, nommer quelque chose de significatif. 1044 00:45:23,100 --> 00:45:26,440 >> Cependant, en boucle, seule variables caractères sont habituellement très bien. 1045 00:45:26,440 --> 00:45:31,350 Et pour la boucle, si vous voulez juste i, et j, k, hésitez pas à faire ça. 1046 00:45:31,350 --> 00:45:32,670 >> Conformément initialisation. 1047 00:45:32,670 --> 00:45:33,770 donc, qu'est-ce que ça veut dire? 1048 00:45:33,770 --> 00:45:37,600 Cela signifie que techniquement, théoriquement, vous pouvez lancer et de créer 1049 00:45:37,600 --> 00:45:40,140 plusieurs variables sur la même ligne. 1050 00:45:40,140 --> 00:45:42,820 Ainsi, par exemple, je peux créer un entier appelé scaz_age, 1051 00:45:42,820 --> 00:45:47,110 et entier appelé andi_age = 20, et un entier appelé jason_age 1052 00:45:47,110 --> 00:45:48,090 sur la même ligne. 1053 00:45:48,090 --> 00:45:52,060 Et je peux aussi assigner un seul eux et pas les autres à des valeurs. 1054 00:45:52,060 --> 00:45:54,142 Nous vous demandons s'il vous plaît ne faites pas cela. 1055 00:45:54,142 --> 00:45:57,350 Parce que là, vous avez essentiellement créé trois variables, mais un seul d'entre eux 1056 00:45:57,350 --> 00:45:58,295 a fait une valeur. 1057 00:45:58,295 --> 00:46:00,170 Et puis quand nous sommes en essayant de lire votre code, 1058 00:46:00,170 --> 00:46:01,850 ou si vous essayez de fixer un problème dans votre code, 1059 00:46:01,850 --> 00:46:03,340 il est très déroutant à suivre. 1060 00:46:03,340 --> 00:46:09,300 Donc, juste pour votre lisibilité, pour notre lisibilité, ne fais pas ça. 1061 00:46:09,300 --> 00:46:10,355 >> Accolades cohérente. 1062 00:46:10,355 --> 00:46:12,980 Certaines personnes aiment mettre leur accolades dans des endroits différents. 1063 00:46:12,980 --> 00:46:14,100 Il n'a pas vraiment d'importance. 1064 00:46:14,100 --> 00:46:17,900 Assurez-vous simplement que vous êtes cohérent dans votre propre code sur l'endroit où vous souhaitez les mettre. 1065 00:46:17,900 --> 00:46:18,950 >> Conformément espacement. 1066 00:46:18,950 --> 00:46:22,040 Si vous mettez un espace après un pour la boucle, toujours le faire. 1067 00:46:22,040 --> 00:46:24,930 Ne pas juste comme sorte de le faire à certains endroits, ne le font pas dans d'autres. 1068 00:46:24,930 --> 00:46:26,580 Juste être cohérent. 1069 00:46:26,580 --> 00:46:29,500 >> Deuxièmement, si quelqu'un souhaite de parcourir le Guide de Style CS50, 1070 00:46:29,500 --> 00:46:33,230 nous avons officiellement un guide de style que vous toutes ces conventions dit, 1071 00:46:33,230 --> 00:46:34,890 et plus encore. 1072 00:46:34,890 --> 00:46:35,530 Il est en ligne. 1073 00:46:35,530 --> 00:46:38,670 Il est comme cs50.net/style ou quelque chose comme ça. 1074 00:46:38,670 --> 00:46:40,180 Vous pouvez google. 1075 00:46:40,180 --> 00:46:41,399 >> La cohérence est essentielle. 1076 00:46:41,399 --> 00:46:43,190 Donc ne vous inquiétez pas ce que font les autres, 1077 00:46:43,190 --> 00:46:46,180 assurez-vous juste que vous êtes cohérente au sein de votre propre code. 1078 00:46:46,180 --> 00:46:50,570 Quiconque a des questions à ce sujet? 1079 00:46:50,570 --> 00:46:51,070 Ouais. 1080 00:46:51,070 --> 00:46:53,370 >> ENCEINTE 18: Donc, la bonne chose à voir avec l'initialisation est juste 1081 00:46:53,370 --> 00:46:56,130 les avoir tous dans un document distinct ligne, est que ce que vous dites? 1082 00:46:56,130 --> 00:46:58,850 >> ANDI PENG: Donc, je l'ai rarement cela se produit. 1083 00:46:58,850 --> 00:47:02,230 Mais si vous voulez, si vous vouliez être comme économiser de l'espace dans votre code, 1084 00:47:02,230 --> 00:47:04,000 ou que ce soit, vous pouvez le faire. 1085 00:47:04,000 --> 00:47:07,800 Nous demandons que vous venez de ne pas initialiser une chose et pas les autres. 1086 00:47:07,800 --> 00:47:12,600 Donc, si vous voulez faire int scaz_age, int andi_age, int jason_age, ça va. 1087 00:47:12,600 --> 00:47:15,600 Il suffit de ne pas initialiser un et pas les autres est tout. 1088 00:47:15,600 --> 00:47:18,380 1089 00:47:18,380 --> 00:47:19,904 >> Questions? 1090 00:47:19,904 --> 00:47:20,850 Bien. 1091 00:47:20,850 --> 00:47:24,610 Je vais passer la microphone, et le pointeur laser, 1092 00:47:24,610 --> 00:47:28,862 et le relais à Scaz à ce point. 1093 00:47:28,862 --> 00:47:29,808 C'est embarrassant. 1094 00:47:29,808 --> 00:47:32,650 1095 00:47:32,650 --> 00:47:33,200 C'est ici. 1096 00:47:33,200 --> 00:47:34,408 >> BRIAN Scassellati: Je vous remercie. 1097 00:47:34,408 --> 00:47:42,500 1098 00:47:42,500 --> 00:47:43,380 Comment est-ce pour son? 1099 00:47:43,380 --> 00:47:46,420 1100 00:47:46,420 --> 00:47:47,900 Le son est bon? . 1101 00:47:47,900 --> 00:47:49,220 Excellente. 1102 00:47:49,220 --> 00:47:50,350 D'ACCORD. 1103 00:47:50,350 --> 00:47:52,110 Alors, salut tout le monde. 1104 00:47:52,110 --> 00:47:56,540 >> Je vais essayer de travailler à travers un exemple pratique avec vous. 1105 00:47:56,540 --> 00:48:00,850 Et nous allons utiliser de CS50 environnement de développement, ce qui est appelé 1106 00:48:00,850 --> 00:48:03,120 l'environnement de développement intégré. 1107 00:48:03,120 --> 00:48:05,145 Et vous avez vu cette démontré dans la leçon. 1108 00:48:05,145 --> 00:48:07,520 Et dans le problème Set 1, vous êtes allez avoir l'occasion 1109 00:48:07,520 --> 00:48:10,890 de l'utiliser, et de jouer avec , et s'y habituer, 1110 00:48:10,890 --> 00:48:13,640 parce que nous allons utiliser à travers le reste du semestre. 1111 00:48:13,640 --> 00:48:20,350 >> Donc, dans cet IDE, vous avez ce qui ressemble comme un navigateur de fichier très traditionnelle 1112 00:48:20,350 --> 00:48:21,890 sur un côté. 1113 00:48:21,890 --> 00:48:24,360 Vous avez une partie jusqu'à sommet où vous allez 1114 00:48:24,360 --> 00:48:28,850 pour voir votre code source, votre Cfile, le code que vous écrivez. 1115 00:48:28,850 --> 00:48:31,880 Et en bas en bas, vous aurez avoir une fenêtre de terminal 1116 00:48:31,880 --> 00:48:36,330 que vous allez utiliser pour à la fois compiler votre programme 1117 00:48:36,330 --> 00:48:39,090 et d'exécuter ou exécuter votre programme. 1118 00:48:39,090 --> 00:48:40,100 D'ACCORD. 1119 00:48:40,100 --> 00:48:46,560 >> Donc, juste pour nous donner un peu de fondation, dans cette fenêtre de terminal, 1120 00:48:46,560 --> 00:48:48,930 vous allez être en utilisant un ensemble de commandes 1121 00:48:48,930 --> 00:48:53,040 qui sont des commandes standard dans toute la plupart des systèmes Unix ou Linux. 1122 00:48:53,040 --> 00:48:55,890 Et si vous avez déjà utilisé toute forme de Unix, Ubuntu, 1123 00:48:55,890 --> 00:48:59,140 ou l'un des autres saveurs, ceux-ci vont vous sembler familier. 1124 00:48:59,140 --> 00:49:00,890 >> Si vous ne l'avez pas, ne vous inquiétez pas. 1125 00:49:00,890 --> 00:49:02,830 Il n'y a rien de compliqué sur eux. 1126 00:49:02,830 --> 00:49:05,330 Ils sont juste en utilisant un autre la syntaxe, une dénomination différente 1127 00:49:05,330 --> 00:49:07,630 convention que vous avez vu avant. 1128 00:49:07,630 --> 00:49:12,190 >> Donc, pour lister les fichiers dans un répertoire particulier, 1129 00:49:12,190 --> 00:49:15,310 ils vont utiliser un commande appelé ls, ou liste. 1130 00:49:15,310 --> 00:49:18,010 Si vous voulez tout voir avec tous les détails, 1131 00:49:18,010 --> 00:49:21,535 vous utilisez une commande argument de ligne avec ls -l. 1132 00:49:21,535 --> 00:49:23,910 Et que vous montrerai tout plus en détail, y compris 1133 00:49:23,910 --> 00:49:26,270 les autorisations pour un fichier. 1134 00:49:26,270 --> 00:49:31,190 >> Pour changer de répertoire, vous utilisez la commande cd. 1135 00:49:31,190 --> 00:49:35,180 Et vous serez en mesure de changer de répertoire à la fois pour aller à votre répertoire personnel. 1136 00:49:35,180 --> 00:49:38,500 Voilà simplement cd tout par lui-même, avec deux cd 1137 00:49:38,500 --> 00:49:42,930 points vous revenir jusqu'à un niveau à votre répertoire précédent. 1138 00:49:42,930 --> 00:49:46,400 Et vous pouvez également cd à un sous-répertoire en tapant cd 1139 00:49:46,400 --> 00:49:48,500 et le nom de ce sous-répertoire. 1140 00:49:48,500 --> 00:49:50,540 >> Vous pouvez également créer de nouveaux répertoires. 1141 00:49:50,540 --> 00:49:52,790 Et nous allons marcher grâce à cela en seulement une minute. 1142 00:49:52,790 --> 00:49:54,498 Mais juste pour mettre tout sur l'écran. 1143 00:49:54,498 --> 00:49:56,310 De sorte que vous pouvez les voir. 1144 00:49:56,310 --> 00:50:00,420 >> Vous aurez également la possibilité pour manipuler des fichiers directement 1145 00:50:00,420 --> 00:50:02,100 à partir de la ligne de commande. 1146 00:50:02,100 --> 00:50:06,059 Vous serez en mesure de les copier, les déplacer ou de les supprimer, 1147 00:50:06,059 --> 00:50:07,600 qui est, de manière efficace, de les supprimer. 1148 00:50:07,600 --> 00:50:10,310 1149 00:50:10,310 --> 00:50:15,350 >> L'IDE CS50 vous donne la pleine puissance d'arguments de ligne de commande. 1150 00:50:15,350 --> 00:50:20,280 Et cela signifie que vous pouvez également faire des choses très dangereuses. 1151 00:50:20,280 --> 00:50:21,560 D'ACCORD. 1152 00:50:21,560 --> 00:50:25,010 Par exemple, vous pouvez supprimer, ou qui est suppression, 1153 00:50:25,010 --> 00:50:28,750 un fichier sans demander pour une confirmation. 1154 00:50:28,750 --> 00:50:31,820 Et vous pouvez même retirer recursively-- qui est 1155 00:50:31,820 --> 00:50:38,940 le tableau de bord r flag-- un ensemble sous-répertoire et tout son contenu. 1156 00:50:38,940 --> 00:50:39,660 D'ACCORD. 1157 00:50:39,660 --> 00:50:42,940 Ils figurent en rouge parce que vous devraient réfléchir "Danger" à chaque fois 1158 00:50:42,940 --> 00:50:45,000 vous voyez ces choses. 1159 00:50:45,000 --> 00:50:45,920 D'ACCORD. 1160 00:50:45,920 --> 00:50:46,420 Bien. 1161 00:50:46,420 --> 00:50:50,090 1162 00:50:50,090 --> 00:50:53,430 >> Maintenant, enfin, les choses qui sont va être vraiment intéressant pour vous, 1163 00:50:53,430 --> 00:50:57,270 sont il ya quelques bonnes astuces de savoir que vous naviguez 1164 00:50:57,270 --> 00:50:59,190 à travers cette fenêtre de terminal. 1165 00:50:59,190 --> 00:51:03,590 D'abord, vous pouvez effacer l'écran à tout moment en tapant simplement en clair. 1166 00:51:03,590 --> 00:51:06,310 Et vous allez voir moi de le faire assez souvent. 1167 00:51:06,310 --> 00:51:09,990 Vous pouvez aussi afficher le texte d'un fichier 1168 00:51:09,990 --> 00:51:13,992 en tapant plus et puis le nom du fichier. 1169 00:51:13,992 --> 00:51:17,200 Vous serez alors en mesure de faire défiler avant suite et ce juste avec la barre d'espace 1170 00:51:17,200 --> 00:51:19,010 et les touches fléchées. 1171 00:51:19,010 --> 00:51:25,450 >> Si vous avez, comme nous l'avons fait aujourd'hui en conférence, un programme qui est en cours d'exécution en continu 1172 00:51:25,450 --> 00:51:29,190 en boucle infinie, vous peut arrêter ce programme 1173 00:51:29,190 --> 00:51:35,160 d'exécuter en tapant dans le contrôle, qui est maintenant Control-C. 1174 00:51:35,160 --> 00:51:38,360 Et vous pourriez avoir à faire ce à plusieurs reprises. 1175 00:51:38,360 --> 00:51:40,620 L'ordinateur est loin de vous. 1176 00:51:40,620 --> 00:51:43,380 Et vous avez parfois besoin de donner quelques essais 1177 00:51:43,380 --> 00:51:46,280 avant il va vraiment venir à travers. 1178 00:51:46,280 --> 00:51:48,760 >> Vous serez également en mesure de trier les commandes 1179 00:51:48,760 --> 00:51:54,230 que vous venez de taper à l'aide de la touche haut, du clavier, puis sur la touche flèche vers le bas. 1180 00:51:54,230 --> 00:51:57,560 Et ce qui est le plus utile est la place de taper des noms de fichiers longs, 1181 00:51:57,560 --> 00:52:02,209 vous serez en mesure de l'utilisation de tabulation pour autocomplete quelques instructions. 1182 00:52:02,209 --> 00:52:04,750 Maintenant, nous allons démontrer tous ceux en seulement une seconde. 1183 00:52:04,750 --> 00:52:06,780 Donc, si vous ne vous souvenez eux, ne vous inquiétez pas. 1184 00:52:06,780 --> 00:52:10,780 Ce sont des choses que vous aurez ramasser et utiliser comme nous allons le long. 1185 00:52:10,780 --> 00:52:11,470 D'ACCORD. 1186 00:52:11,470 --> 00:52:18,830 >> Donc, en C-- contrairement à Scratch-- C est un langage compilé. 1187 00:52:18,830 --> 00:52:23,210 Cela signifie que nous allons prendre une source file-- qui est le texte que vous écrivez, 1188 00:52:23,210 --> 00:52:26,500 les commandes que vous écrivez, printf () déclarations, les boucles, 1189 00:52:26,500 --> 00:52:32,580 tout else-- et nous allons de prendre ce fichier et de le remettre au large 1190 00:52:32,580 --> 00:52:34,670 à un programme appelé le compilateur. 1191 00:52:34,670 --> 00:52:39,850 >> Le compilateur prendra ensuite que le texte que vous avez écrit 1192 00:52:39,850 --> 00:52:43,270 et le traduire en les instructions binaires 1193 00:52:43,270 --> 00:52:46,010 que votre ordinateur est passe réellement utilisation. 1194 00:52:46,010 --> 00:52:49,700 On appelle cela l'objet ou le fichier exécutable. 1195 00:52:49,700 --> 00:52:55,320 Si vous regardez ce fichier, vous allez pour voir le code que vous avez écrit. 1196 00:52:55,320 --> 00:52:59,480 Si vous regardez ce fichier, vous allez pour voir une séquence aléatoire de caractères 1197 00:52:59,480 --> 00:53:01,680 qui font aucun sens. 1198 00:53:01,680 --> 00:53:03,250 Voilà parce que cela est le binaire. 1199 00:53:03,250 --> 00:53:05,560 Ça ne signifie pour vous d'être lisez. 1200 00:53:05,560 --> 00:53:08,690 >> Cependant, chaque fois que vous voulez lancer quelque chose, ce que vous allez 1201 00:53:08,690 --> 00:53:13,670 être en cours d'exécution est ce fichier objet. 1202 00:53:13,670 --> 00:53:19,110 Alors, quand nous travaillons avec ces fichiers, nous écrirons un fichier dans C 1203 00:53:19,110 --> 00:53:23,400 Nous allons ensuite compiler, en utilisant un commande make qui invoquera 1204 00:53:23,400 --> 00:53:27,070 le cliquetis de compilateur pour le langage C. 1205 00:53:27,070 --> 00:53:31,530 Et qui va produire un objet déposer, comme un dehors, ou dans ce cas, 1206 00:53:31,530 --> 00:53:36,580 le nom, mon dossier, que je ai mis dans. 1207 00:53:36,580 --> 00:53:37,780 Bien. 1208 00:53:37,780 --> 00:53:39,790 >> Donc, nous allons effectivement essayer. 1209 00:53:39,790 --> 00:53:42,850 Alors je suis venu avec un exemple de ce que je voulais essayer. 1210 00:53:42,850 --> 00:53:47,380 Et l'une des choses qui me fascine est l'animation. 1211 00:53:47,380 --> 00:53:51,010 Donc, nous allons essayer de faire un peu d'animation 1212 00:53:51,010 --> 00:53:53,760 utilisant seulement des caractères ASCII. 1213 00:53:53,760 --> 00:53:56,470 Personnages Nous pouvons imprimer facilement maintenant. 1214 00:53:56,470 --> 00:54:00,890 >> Alors, voici ma meilleure tentative à créer pour vous 1215 00:54:00,890 --> 00:54:07,005 l'animation d'un lapin courir à travers les hautes herbes. 1216 00:54:07,005 --> 00:54:07,505 Le voilà. 1217 00:54:07,505 --> 00:54:10,150 1218 00:54:10,150 --> 00:54:10,670 D'ACCORD. 1219 00:54:10,670 --> 00:54:14,050 Donc, il ne fonctionne pas encore, mais il est debout dans l'herbe haute. 1220 00:54:14,050 --> 00:54:17,810 >> Maintenant, si je devais un animateur, dans l'ancienne école 1221 00:54:17,810 --> 00:54:20,860 version de l'animation, ce que je voudrais faire est je produis 1222 00:54:20,860 --> 00:54:23,640 une image de ce lapin dans l'herbe. 1223 00:54:23,640 --> 00:54:25,390 Et puis je voudrais produire Une autre image-- 1224 00:54:25,390 --> 00:54:30,600 une autre ce qu'ils appelaient cell-- que avait le lapin que légèrement déplacé. 1225 00:54:30,600 --> 00:54:34,870 Et puis un troisième qui avait le lapin déplacé un peu plus loin. 1226 00:54:34,870 --> 00:54:40,610 >> Et je voudrais produire un ensemble séquence de ces cellules. 1227 00:54:40,610 --> 00:54:44,220 Certains où le lapin est terminée sur le côté gauche. 1228 00:54:44,220 --> 00:54:47,050 Et puis se déplace lentement, une par l'une vers le milieu. 1229 00:54:47,050 --> 00:54:51,120 Et puis, à partir du milieu vers la droite. 1230 00:54:51,120 --> 00:54:55,760 Et si je devais alors, vraiment la chance, je pouvais mettre ensemble 1231 00:54:55,760 --> 00:54:57,970 et je pouvais les animer. 1232 00:54:57,970 --> 00:55:00,370 Et il ya mon lapin courir dans l'herbe. 1233 00:55:00,370 --> 00:55:02,310 >> Voilà mon grand PowerPoint tromper pour la journée. 1234 00:55:02,310 --> 00:55:02,809 D'ACCORD. 1235 00:55:02,809 --> 00:55:04,760 Donc, cela est aussi bon qu'il obtient. 1236 00:55:04,760 --> 00:55:05,260 D'ACCORD. 1237 00:55:05,260 --> 00:55:08,455 Donc, ici, une fois de plus, voici notre lapin de courir dans l'herbe. 1238 00:55:08,455 --> 00:55:09,217 >> ENCEINTE 19: Encore une fois. 1239 00:55:09,217 --> 00:55:11,050 BRIAN Scassellati: Un plus de temps, tout droit. 1240 00:55:11,050 --> 00:55:11,940 Il ya votre lapin. 1241 00:55:11,940 --> 00:55:12,940 D'ACCORD. 1242 00:55:12,940 --> 00:55:15,470 >> Donc, aujourd'hui, ce que nous allons à faire est que nous allons 1243 00:55:15,470 --> 00:55:21,110 pour essayer d'automatiser le processus de production de ces cellules. 1244 00:55:21,110 --> 00:55:24,135 Nous ne serons pas tout à fait obtenir au point de être en mesure de les mettre tous ensemble. 1245 00:55:24,135 --> 00:55:28,900 Mais, nous allons essayer d'automatiser le processus de génération de cette séquence. 1246 00:55:28,900 --> 00:55:32,900 >> Et cela est une grande partie de ce que animation d'aujourd'hui est comme. 1247 00:55:32,900 --> 00:55:36,690 Autrement dit, vous ne faites pas les choses nécessairement en tirant tout à la main. 1248 00:55:36,690 --> 00:55:40,610 Nous utilisons un ordinateur pour automatiser parties de ce processus. 1249 00:55:40,610 --> 00:55:41,110 D'ACCORD. 1250 00:55:41,110 --> 00:55:47,720 >> Alors permettez-moi de basculer maintenant à notre IDE CS50. 1251 00:55:47,720 --> 00:55:54,260 Et je l'ai créé pour us-- et laisser moi zoome un peu ici, je l'ai bit-- 1252 00:55:54,260 --> 00:55:58,420 créé pour nous un point de départ. 1253 00:55:58,420 --> 00:56:03,830 >> Chaque fois que nous vous demandons de siéger vers le bas et écrire un morceau de code, 1254 00:56:03,830 --> 00:56:09,250 ce que nous sommes vraiment vous demander de faire nous demandons est de résoudre un problème. 1255 00:56:09,250 --> 00:56:11,810 Et la façon dont vous devriez penser à faire ce que 1256 00:56:11,810 --> 00:56:17,900 est de commencer par quelques simple, une partie de cette solution. 1257 00:56:17,900 --> 00:56:21,730 Et puis construire à partir de cette partie. 1258 00:56:21,730 --> 00:56:23,400 Et voilà ce que nous allons faire aujourd'hui. 1259 00:56:23,400 --> 00:56:27,570 >> Donc, plutôt que d'essayer tout à la fois à écrire l'ensemble du groupe de code qui est 1260 00:56:27,570 --> 00:56:30,770 va produire ceux 10 cellules d'animation, 1261 00:56:30,770 --> 00:56:35,506 nous allons commencer à la place avec un morceau qui fonctionne. 1262 00:56:35,506 --> 00:56:37,380 Et puis nous allons construire un peu autour de cette 1263 00:56:37,380 --> 00:56:39,740 et un peu plus et un peu plus. 1264 00:56:39,740 --> 00:56:42,550 >> Maintenant, la bonne chose à propos résoudre les problèmes de cette façon 1265 00:56:42,550 --> 00:56:46,716 est qu'il vous permettra de commencer toujours avec quelque chose que vous savez 1266 00:56:46,716 --> 00:56:51,130 fonctionne et introduire un changement graduel. 1267 00:56:51,130 --> 00:56:54,090 Et voilà un excellent moyen pour apprendre à coder, 1268 00:56:54,090 --> 00:56:58,590 parce que chaque fois que vous faites une changement, vous voir l'impact que cela a. 1269 00:56:58,590 --> 00:56:59,540 D'ACCORD. 1270 00:56:59,540 --> 00:57:01,450 >> Alors, voici notre point de départ. 1271 00:57:01,450 --> 00:57:01,950 D'ACCORD. 1272 00:57:01,950 --> 00:57:08,030 Donc, au début de mon dossier, Je l'ai hachage #include stdio.h. 1273 00:57:08,030 --> 00:57:12,560 Voilà donc que je peux obtenir le fonction printf () fonctionne. 1274 00:57:12,560 --> 00:57:15,240 >> Je alors je dois ma fonction principale. 1275 00:57:15,240 --> 00:57:18,760 Et cela ressemble encore un peu arcane ou obscur pour certains d'entre vous. 1276 00:57:18,760 --> 00:57:20,010 C'est bon. 1277 00:57:20,010 --> 00:57:23,190 Tout ce qu'il dit est que la fonction principale prend 1278 00:57:23,190 --> 00:57:27,830 pas de moyens arguments-- vides rien dans C. Et il 1279 00:57:27,830 --> 00:57:29,940 retours par convention un entier. 1280 00:57:29,940 --> 00:57:33,290 Principal renvoie toujours un nombre entier, habituellement un code de dire des choses 1281 00:57:33,290 --> 00:57:35,071 qui a bien ou n'a pas bien. 1282 00:57:35,071 --> 00:57:35,570 D'ACCORD. 1283 00:57:35,570 --> 00:57:39,110 Mais principale doit avoir que former pour nous en ce moment. 1284 00:57:39,110 --> 00:57:42,080 >> Je l'ai alors mis dans trois lignes de code. 1285 00:57:42,080 --> 00:57:46,760 Et avec chaque ligne de code, je me suis mis un commentaire. 1286 00:57:46,760 --> 00:57:51,340 Or l'une des choses qui nous insisterons pour que vous fassiez, 1287 00:57:51,340 --> 00:57:55,320 et il est tellement important la pratique de la programmation, 1288 00:57:55,320 --> 00:57:57,800 est toujours commenter votre code. 1289 00:57:57,800 --> 00:58:02,550 Toujours écrire dans un Anglais commenter quelque chose 1290 00:58:02,550 --> 00:58:06,740 que vous pensez que le code est censé faire. 1291 00:58:06,740 --> 00:58:11,360 De cette façon, plus tard, quand vous revenez à , vous pouvez le regarder et vous pouvez dire, 1292 00:58:11,360 --> 00:58:13,800 Oh, je me souviens de ce que je faisais essayons de faire avec cela. 1293 00:58:13,800 --> 00:58:17,590 Ou quand un TA assoit avec vous essayer de vous aider à les heures de bureau, 1294 00:58:17,590 --> 00:58:20,890 ils peuvent examiner cette question et aller, je voyez ce que vous essayiez de faire, 1295 00:58:20,890 --> 00:58:25,630 mais au lieu de cela est ce qui se passe réellement. 1296 00:58:25,630 --> 00:58:26,130 D'ACCORD. 1297 00:58:26,130 --> 00:58:30,300 >> Donc, je dois trois parties à mon code, Je vais tout d'abord l'impression 1298 00:58:30,300 --> 00:58:33,110 quelques points au début. 1299 00:58:33,110 --> 00:58:37,480 Je vais ensuite imprimer mon lapin très fantaisie. 1300 00:58:37,480 --> 00:58:40,600 Et puis certains peu de points à la fin. 1301 00:58:40,600 --> 00:58:45,220 >> Et ces trois déclarations d'impression devrait vous sembler familier à ce point. 1302 00:58:45,220 --> 00:58:47,350 Tout ce que je fais dans chacun d'eux est que je suis 1303 00:58:47,350 --> 00:58:49,780 imprimer une séquence de caractères. 1304 00:58:49,780 --> 00:58:51,370 Il n'y a pas de variables impliquées. 1305 00:58:51,370 --> 00:58:54,320 Tout est plat. 1306 00:58:54,320 --> 00:58:55,270 D'ACCORD. 1307 00:58:55,270 --> 00:59:07,340 >> Donc, si je descends maintenant à mon terminal-- Voyons si je peux obtenir ce retour out-- 1308 00:59:07,340 --> 00:59:09,370 et je vais saisir à nouveau clair. 1309 00:59:09,370 --> 00:59:12,507 >> ENCEINTE 20: Faites nous utilisons le double barre oblique de commenter? 1310 00:59:12,507 --> 00:59:14,340 BRIAN Scassellati: Can utiliser le oui double--. 1311 00:59:14,340 --> 00:59:16,920 Il ya de multiples façons de laisser des commentaires en C. Un 1312 00:59:16,920 --> 00:59:19,440 moyen est d'utiliser la double barre oblique. 1313 00:59:19,440 --> 00:59:24,910 L'autre consiste à utiliser une barre oblique et une étoile puis fermer avec une étoile et une barre oblique. 1314 00:59:24,910 --> 00:59:26,110 Bien. 1315 00:59:26,110 --> 00:59:28,950 >> Tout d'abord, je vais commencer à naviguer ici. 1316 00:59:28,950 --> 00:59:35,350 Donc, si je vais à mon répertoire, Je l'ai changé répertoires là, 1317 00:59:35,350 --> 00:59:40,230 Je vais regarder et voir ce qui est dans ce répertoire, ls, lister. 1318 00:59:40,230 --> 00:59:43,230 Je vais voir ce que je l'ai obtenu deux sous-répertoires. 1319 00:59:43,230 --> 00:59:47,910 Faisons de cette un peu plus grand ici afin que nous puissions tous le voir. 1320 00:59:47,910 --> 00:59:50,610 >> Je peux voir que je l'ai obtenu deux sous-répertoires. 1321 00:59:50,610 --> 00:59:53,510 Je vais changer de répertoire pour aller dans l'espace de travail. 1322 00:59:53,510 --> 00:59:58,380 Et je vais taper seulement partie, et puis juste frappé Tab. 1323 00:59:58,380 --> 01:00:01,520 Et il va compléter le reste pour moi. 1324 01:00:01,520 --> 01:00:03,370 Fantaisie. 1325 01:00:03,370 --> 01:00:04,960 >> Je vais regarder et à voir dans l'espace de travail. 1326 01:00:04,960 --> 01:00:08,431 Et en ce moment, je travaille sur la super-section 1327 01:00:08,431 --> 01:00:09,680 que nous enseignons à l'heure actuelle. 1328 01:00:09,680 --> 01:00:10,971 Donc, je vais aller dans ce répertoire. 1329 01:00:10,971 --> 01:00:14,770 1330 01:00:14,770 --> 01:00:15,970 Et enfin, regarder et voir. 1331 01:00:15,970 --> 01:00:18,480 Et je dois ce fichier bunny.c. 1332 01:00:18,480 --> 01:00:20,980 >> Tous droits alors laissez-moi clairement une fois de plus. 1333 01:00:20,980 --> 01:00:24,370 Et je vais encore une fois je suis maintenant-- en restant dans ce répertoire 1334 01:00:24,370 --> 01:00:27,540 et il me dit que je suis dans ce répertoire de super-section. 1335 01:00:27,540 --> 01:00:30,690 Je vais aller de l'avant et faire mon lapin de programme. 1336 01:00:30,690 --> 01:00:33,730 1337 01:00:33,730 --> 01:00:38,810 Et cette commande, assurez-lapin, tout en sonnant un peu bizarre, 1338 01:00:38,810 --> 01:00:42,960 invoque également le compilateur clang. 1339 01:00:42,960 --> 01:00:46,470 >> Et il est produit pour me une sortie qui est 1340 01:00:46,470 --> 01:00:52,130 un funny-- un exécutable fichier exécutable appelé lapin. 1341 01:00:52,130 --> 01:00:52,700 D'ACCORD. 1342 01:00:52,700 --> 01:00:56,700 Je peux alors, et cela sonne pire encore, exécuter lapin. 1343 01:00:56,700 --> 01:00:59,360 1344 01:00:59,360 --> 01:01:00,680 D'ACCORD. 1345 01:01:00,680 --> 01:01:03,150 Et nous allons voir ce qu'il fait. 1346 01:01:03,150 --> 01:01:04,527 D'ACCORD. 1347 01:01:04,527 --> 01:01:06,360 Voilà un peu de ce que je m'y attendais. 1348 01:01:06,360 --> 01:01:11,290 Je dois ma photo de lapin là, mais je voulais que ce genre de par lui-même. 1349 01:01:11,290 --> 01:01:13,186 Qu'est ce que j'ai raté? 1350 01:01:13,186 --> 01:01:14,478 >> ENCEINTE 21: Slash l ou n slash. 1351 01:01:14,478 --> 01:01:15,602 BRIAN Scassellati: Slash n. 1352 01:01:15,602 --> 01:01:16,580 D'ACCORD. 1353 01:01:16,580 --> 01:01:18,800 Donc revenons ici. 1354 01:01:18,800 --> 01:01:20,330 Et je vais sortir de cela. 1355 01:01:20,330 --> 01:01:23,320 Et je vais retourner dans celui-ci. 1356 01:01:23,320 --> 01:01:27,720 Et nous allons jeter un coup d'oeil maintenant de ma fonction principale ici. 1357 01:01:27,720 --> 01:01:29,280 >> Alors que devrais-je faire? 1358 01:01:29,280 --> 01:01:30,465 Je veux terminer la ligne. 1359 01:01:30,465 --> 01:01:34,020 1360 01:01:34,020 --> 01:01:35,800 Donc, je vais mettre dans un commentaire. 1361 01:01:35,800 --> 01:01:38,430 Je vais mettre dans un printf (). 1362 01:01:38,430 --> 01:01:41,350 Et qu'est-ce que je dois mettre en? 1363 01:01:41,350 --> 01:01:41,890 / n. 1364 01:01:41,890 --> 01:01:43,480 D'ACCORD. 1365 01:01:43,480 --> 01:01:46,040 Que dois-je mettre fin avec? 1366 01:01:46,040 --> 01:01:47,100 Point-virgule. 1367 01:01:47,100 --> 01:01:48,730 Bien. 1368 01:01:48,730 --> 01:01:52,880 >> Maintenant, l'un des vraiment choses importantes est assurez- 1369 01:01:52,880 --> 01:01:56,720 chaque fois que vous faites un changement dans votre code, que vous enregistrez. 1370 01:01:56,720 --> 01:02:01,380 Si vous n'êtes pas enregistré votre code, vous êtes allez remarquer une petite étoile là-haut. 1371 01:02:01,380 --> 01:02:03,420 Et cette étoile vous dit ont pas enregistré ce code. 1372 01:02:03,420 --> 01:02:07,790 >> Si je compile en ce moment, il est pas aller à refléter tout de ces changements, 1373 01:02:07,790 --> 01:02:11,680 parce que le compilateur regarde le fichier qui est sur le disque, pas le fichier qui est 1374 01:02:11,680 --> 01:02:13,790 ouvrir dans votre éditeur. 1375 01:02:13,790 --> 01:02:14,290 Bien. 1376 01:02:14,290 --> 01:02:20,830 >> Donc, nous allons l'enregistrer et puis nous passerons à droite sur ici, de revenir sur. 1377 01:02:20,830 --> 01:02:24,670 Descendez à mon terminal. 1378 01:02:24,670 --> 01:02:27,193 Et nous allons effacer à nouveau l'espace. 1379 01:02:27,193 --> 01:02:30,690 1380 01:02:30,690 --> 01:02:35,760 >> Et nous pouvons aller de l'avant et un de plus le temps de rendre notre programme de lapin. 1381 01:02:35,760 --> 01:02:40,180 Et exécuter le lapin. 1382 01:02:40,180 --> 01:02:42,500 Cela n'a pas fonctionné non plus. 1383 01:02:42,500 --> 01:02:43,950 Slash erronées. 1384 01:02:43,950 --> 01:02:52,280 Donc, si vous regardez ce que je dois, je mets un / n là-dedans, mais je devais le mauvais slash. 1385 01:02:52,280 --> 01:02:56,190 >> Tout ce que votre ordinateur biches est très explicite. 1386 01:02:56,190 --> 01:02:57,230 D'accord? 1387 01:02:57,230 --> 01:03:01,250 Une petite erreur de ponctuation, et tout à coup vous ne recevez pas ce que vous voulez. 1388 01:03:01,250 --> 01:03:01,750 Bien. 1389 01:03:01,750 --> 01:03:03,740 Donc, nous allons faire un zoom avant à nouveau. 1390 01:03:03,740 --> 01:03:04,410 Nous allons revenir. 1391 01:03:04,410 --> 01:03:07,930 Eh bien faire cette réparation très rapide. 1392 01:03:07,930 --> 01:03:09,270 Nous allons mettre le droit slash. 1393 01:03:09,270 --> 01:03:10,570 Nous allons l'enregistrer. 1394 01:03:10,570 --> 01:03:13,410 Nous allons faire un zoom avant. 1395 01:03:13,410 --> 01:03:16,730 >> Pour une raison quelconque, cela ne être heureux, mais Allons de l'avant 1396 01:03:16,730 --> 01:03:19,850 et nous allons revenir à la borne ici. 1397 01:03:19,850 --> 01:03:22,940 Éclaircir. 1398 01:03:22,940 --> 01:03:24,880 Nous allons l'agrandir. 1399 01:03:24,880 --> 01:03:28,410 Et une fois de plus, nous ferons lapin. 1400 01:03:28,410 --> 01:03:32,360 Et maintenant, bien sûr, cela fonctionne. 1401 01:03:32,360 --> 01:03:33,240 Hourra. 1402 01:03:33,240 --> 01:03:34,300 D'ACCORD. 1403 01:03:34,300 --> 01:03:39,580 >> Essayons donc de faire ce un peu plus générale. 1404 01:03:39,580 --> 01:03:46,750 Voyons si au lieu de simplement l'impression d'une image particulière, 1405 01:03:46,750 --> 01:03:49,610 nous allons voir si nous pouvons faire de cette afin que nous puissions obtenir tous 10 1406 01:03:49,610 --> 01:03:52,960 les trames d'animation de que nous voulions avoir. 1407 01:03:52,960 --> 01:03:56,550 Encore une fois, nous allons jeter ce une étape à la fois. 1408 01:03:56,550 --> 01:03:59,900 >> Voyons d'abord généraliser, pas de sorte que je fais tous les cadres, 1409 01:03:59,900 --> 01:04:03,990 mais si je fais une quelconque cadre qui je pourrais avoir besoin. 1410 01:04:03,990 --> 01:04:05,920 Alors, quelle est la différence entre les cadres? 1411 01:04:05,920 --> 01:04:07,377 Est le lapin de la même chose? 1412 01:04:07,377 --> 01:04:07,960 Public: Oui. 1413 01:04:07,960 --> 01:04:08,390 BRIAN Scassellati: Ouais. 1414 01:04:08,390 --> 01:04:09,370 Quelle est la différence? 1415 01:04:09,370 --> 01:04:10,246 >> AUDIENCE: Position. 1416 01:04:10,246 --> 01:04:11,870 BRIAN Scassellati: Sa position, à droite? 1417 01:04:11,870 --> 01:04:15,590 Et comment puis-je contrôler sa position? 1418 01:04:15,590 --> 01:04:17,340 Combien de points je suis mettre au début 1419 01:04:17,340 --> 01:04:19,048 et combien de points je suis mettre à la fin. 1420 01:04:19,048 --> 01:04:21,970 Donc je devais cinq à la début et à la fin cinq. 1421 01:04:21,970 --> 01:04:28,320 >> Nous allons remplacer que cinq avec une boucle for. 1422 01:04:28,320 --> 01:04:29,380 D'ACCORD. 1423 01:04:29,380 --> 01:04:32,330 Et je vais créer un pour boucle maintenant que va dire, 1424 01:04:32,330 --> 01:04:37,800 Je vais imprimer un nombre de points au début. 1425 01:04:37,800 --> 01:04:39,600 Je vais utiliser une variable. 1426 01:04:39,600 --> 01:04:44,150 Disons, que diriez-vous que i le compteur dans ma boucle. 1427 01:04:44,150 --> 01:04:47,200 Et je vais déclarer en haut. 1428 01:04:47,200 --> 01:04:49,360 >> Et puis dans la boucle for Je dois faire trois choses. 1429 01:04:49,360 --> 01:04:52,340 La première chose que je dois faire est que je dois initialiser i. 1430 01:04:52,340 --> 01:04:56,570 Que dois-je initialiser à commencer à être? 1431 01:04:56,570 --> 01:04:57,160 0. 1432 01:04:57,160 --> 01:04:58,310 D'ACCORD. 1433 01:04:58,310 --> 01:05:00,950 >> Puis-je besoin de dire, ce qui est la condition de terminaison? 1434 01:05:00,950 --> 01:05:03,020 Quand dois-je arrêter? 1435 01:05:03,020 --> 01:05:05,983 Eh bien combien de points vous faire vouloir imprimer sur celui-ci? 1436 01:05:05,983 --> 01:05:06,921 >> AUDIENCE: Cinq. 1437 01:05:06,921 --> 01:05:08,170 BRIAN Scassellati: Cinq à nouveau? 1438 01:05:08,170 --> 01:05:10,650 Que diriez-vous Faisons quelque chose différente, nous avons fait cinq. 1439 01:05:10,650 --> 01:05:12,584 Montrons qu'il est différent. 1440 01:05:12,584 --> 01:05:13,250 ENCEINTE 22: Deux. 1441 01:05:13,250 --> 01:05:13,580 BRIAN Scassellati: Deux. 1442 01:05:13,580 --> 01:05:14,080 D'ACCORD. 1443 01:05:14,080 --> 01:05:17,760 Donc, si je veux deux points, que dois-je faire ici? 1444 01:05:17,760 --> 01:05:19,140 >> AUDIENCE: Trois. 1445 01:05:19,140 --> 01:05:20,530 >> BRIAN Scassellati: Trois. 1446 01:05:20,530 --> 01:05:21,400 D'ACCORD. 1447 01:05:21,400 --> 01:05:24,220 Combien de fois est-ce passer en revue? 1448 01:05:24,220 --> 01:05:28,469 Cela va passer par trois fois, 0, 1, et 2, droit? 1449 01:05:28,469 --> 01:05:30,010 Très bien, revenons à deux. 1450 01:05:30,010 --> 01:05:31,570 Maintenant, nous aurons deux points. 1451 01:05:31,570 --> 01:05:35,800 Et qu'est-ce que je veux faire chaque fois que je vais à travers la boucle? 1452 01:05:35,800 --> 01:05:38,657 Qu'est-ce qui doit changer chaque fois que je vais à travers? 1453 01:05:38,657 --> 01:05:39,850 >> ENCEINTE 23: Ajouter un point. 1454 01:05:39,850 --> 01:05:41,020 >> BRIAN Scassellati: Je dois continuer. 1455 01:05:41,020 --> 01:05:41,978 Je vais ajouter un point. 1456 01:05:41,978 --> 01:05:45,310 Je vais imprimer un point, à chaque fois dans la boucle. 1457 01:05:45,310 --> 01:05:49,990 Mais comment vais-je garder la trace de la façon dont de nombreuses fois où je suis allé à travers la boucle? 1458 01:05:49,990 --> 01:05:53,260 Je suis en utilisant i, qui variable, ce compteur. 1459 01:05:53,260 --> 01:05:57,110 >> Donc, chaque fois à travers, je vais à incrémenter le compteur d'une unité. 1460 01:05:57,110 --> 01:06:00,670 Maintenant, cela est la même pour me disant que i = i + 1. 1461 01:06:00,670 --> 01:06:01,210 C'est bon. 1462 01:06:01,210 --> 01:06:04,653 Je pouvais le faire that-- je l'aime sténographie, donc je vais dire i ++. 1463 01:06:04,653 --> 01:06:07,190 1464 01:06:07,190 --> 01:06:08,370 D'ACCORD. 1465 01:06:08,370 --> 01:06:10,680 >> Faisons la même chose ici-bas au fond. 1466 01:06:10,680 --> 01:06:11,846 Seulement je sorte de fait celui-là. 1467 01:06:11,846 --> 01:06:13,990 Je vais vous laisser les gars faire complètement celui-ci. 1468 01:06:13,990 --> 01:06:14,260 Bien. 1469 01:06:14,260 --> 01:06:15,426 >> Alors, que dois-je écrire ici? 1470 01:06:15,426 --> 01:06:17,170 Voici ma boucle for. 1471 01:06:17,170 --> 01:06:23,162 Je vais faire un printf () et je vais de faire en sorte que je ne imprime un point 1472 01:06:23,162 --> 01:06:25,740 sur ce fond. 1473 01:06:25,740 --> 01:06:27,740 >> Que dois-je écrire l'intérieur de cette boucle for maintenant? 1474 01:06:27,740 --> 01:06:30,897 1475 01:06:30,897 --> 01:06:33,948 Eh bien, tout d'abord ce que variables doivent-je utiliser? 1476 01:06:33,948 --> 01:06:35,430 >> ENCEINTE 24: j. 1477 01:06:35,430 --> 01:06:36,880 >> BRIAN Scassellati: Je pourrais utiliser j. 1478 01:06:36,880 --> 01:06:38,040 Puis-je utiliser le même? 1479 01:06:38,040 --> 01:06:39,961 Puis-je utiliser de nouveau sur i? 1480 01:06:39,961 --> 01:06:40,460 Ouais. 1481 01:06:40,460 --> 01:06:45,531 Voilà OK, parce que l'Est que je suis en utilisant ici, 1482 01:06:45,531 --> 01:06:47,780 Je ne pas besoin d'eux à nouveau lorsque Je descends à ce point. 1483 01:06:47,780 --> 01:06:52,240 1484 01:06:52,240 --> 01:06:53,790 >> Alors, que dois-je initialiser i à? 1485 01:06:53,790 --> 01:06:56,675 1486 01:06:56,675 --> 01:06:57,300 ENCEINTE 25: 10. 1487 01:06:57,300 --> 01:06:58,567 BRIAN Scassellati: 0. 1488 01:06:58,567 --> 01:06:59,400 Que dois-je vérifier? 1489 01:06:59,400 --> 01:07:02,960 Combien de points dois-je maintenant à la fin si je ai deux points au début? 1490 01:07:02,960 --> 01:07:05,820 1491 01:07:05,820 --> 01:07:09,165 Je besoin de huit à la fin, de sorte que ce dois-je vérifier, inférieur à: i 1492 01:07:09,165 --> 01:07:12,645 >> AUDIENCE: Sept, huit, neuf. 1493 01:07:12,645 --> 01:07:14,020 BRIAN Scassellati: je l'ai entendu sept. 1494 01:07:14,020 --> 01:07:14,810 Je entendu huit. 1495 01:07:14,810 --> 01:07:15,970 Et je entendu neuf. 1496 01:07:15,970 --> 01:07:16,470 D'ACCORD. 1497 01:07:16,470 --> 01:07:19,540 Donc, nous sommes tous dans le droit ball-- Jason dit 10. 1498 01:07:19,540 --> 01:07:21,550 D'ACCORD. 1499 01:07:21,550 --> 01:07:25,920 >> Si je devais deux points pour le premier, combien faire 1500 01:07:25,920 --> 01:07:30,170 I-- et je dois huit points pour le dernière One-- je mets deux au-dessus, 1501 01:07:30,170 --> 01:07:31,743 que dois-je mettre bas? 1502 01:07:31,743 --> 01:07:32,570 >> AUDIENCE: Huit. 1503 01:07:32,570 --> 01:07:33,611 >> BRIAN Scassellati: Huit. 1504 01:07:33,611 --> 01:07:35,695 Parce que ce qui se passe à compter de zéro à sept. 1505 01:07:35,695 --> 01:07:38,490 Et qui est huit fois dans la boucle. 1506 01:07:38,490 --> 01:07:38,990 D'ACCORD. 1507 01:07:38,990 --> 01:07:41,774 Et qu'est-ce que je dois faire à la fin? 1508 01:07:41,774 --> 01:07:42,670 >> AUDIENCE: i ++. 1509 01:07:42,670 --> 01:07:44,400 >> BRIAN Scassellati: i ++. 1510 01:07:44,400 --> 01:07:45,440 Bien. 1511 01:07:45,440 --> 01:07:48,260 Alors que cherche assez bonne là-bas. 1512 01:07:48,260 --> 01:07:50,620 Essayons et nous allons voir ce qu'il fait. 1513 01:07:50,620 --> 01:07:51,450 D'ACCORD. 1514 01:07:51,450 --> 01:07:53,770 Donc, nous allons l'enregistrer. 1515 01:07:53,770 --> 01:07:54,940 Nice et sauvé. 1516 01:07:54,940 --> 01:07:56,910 >> Nous allons faire un zoom arrière. 1517 01:07:56,910 --> 01:07:58,220 Nous allons essayer ici dans le terminal. 1518 01:07:58,220 --> 01:08:01,440 1519 01:08:01,440 --> 01:08:02,970 Nous allons l'agrandir. 1520 01:08:02,970 --> 01:08:05,416 Oops. 1521 01:08:05,416 --> 01:08:09,990 Nous allons, une fois de plus, rendre notre programme de lapin. 1522 01:08:09,990 --> 01:08:14,460 Et aller de l'avant et d'exécuter lapin. 1523 01:08:14,460 --> 01:08:15,980 Et il est là. 1524 01:08:15,980 --> 01:08:17,710 >> Donc, il ya notre lapin. 1525 01:08:17,710 --> 01:08:25,130 Où il dispose de deux points au début et huit points à la fin. 1526 01:08:25,130 --> 01:08:27,540 Tout le monde toujours avec moi? 1527 01:08:27,540 --> 01:08:28,770 D'ACCORD. 1528 01:08:28,770 --> 01:08:29,580 >> Donc, nous avons construit le haut. 1529 01:08:29,580 --> 01:08:33,000 Nous avons construit un lapin, un cadre particulier. 1530 01:08:33,000 --> 01:08:36,229 Maintenant, nous avons pu généraliser et dire que de construire 1531 01:08:36,229 --> 01:08:38,390 de plus, différents types de cadres. 1532 01:08:38,390 --> 01:08:42,399 >> Maintenant, nous allons aller de l'avant, et ont il génère pas un seul cadre, 1533 01:08:42,399 --> 01:08:46,290 mais nous allons générer 10 cadres, où nous lentement 1534 01:08:46,290 --> 01:08:50,569 faire le lapin déplacer tous le chemin à travers le champ. 1535 01:08:50,569 --> 01:08:51,430 Bien. 1536 01:08:51,430 --> 01:08:53,660 >> Allons en arrière. 1537 01:08:53,660 --> 01:08:54,839 Et nous allons essayer maintenant. 1538 01:08:54,839 --> 01:09:00,680 1539 01:09:00,680 --> 01:09:02,830 Alors, que dois-je vraiment besoin de changer ici? 1540 01:09:02,830 --> 01:09:06,139 1541 01:09:06,139 --> 01:09:07,180 Que dois-je changer? 1542 01:09:07,180 --> 01:09:10,638 >> ENCEINTE 26: Vous devez d'abord modifier le nombre de points maximal 1543 01:09:10,638 --> 01:09:11,626 au début. 1544 01:09:11,626 --> 01:09:16,850 Parce que si nous faisons 10 points, il va avoir besoin de jusqu'à l'échelle. 1545 01:09:16,850 --> 01:09:17,850 BRIAN Scassellati: Ouais. 1546 01:09:17,850 --> 01:09:23,760 Donc maintenant je l'ai sorte d'câblé de toujours faire deux points au début 1547 01:09:23,760 --> 01:09:27,890 et toujours faire huit points à la fin. 1548 01:09:27,890 --> 01:09:30,660 >> Je veux construire une autre boucle, non? 1549 01:09:30,660 --> 01:09:33,290 Parce que je ne veux pas construire une seule image de lapin, 1550 01:09:33,290 --> 01:09:37,140 Je veux construire 10 images lapin. 1551 01:09:37,140 --> 01:09:41,500 Donc, je dois construire une autre boucle, et que je passe par cette boucle, 1552 01:09:41,500 --> 01:09:44,660 Je souhaite modifier le nombre de points je imprimer au début 1553 01:09:44,660 --> 01:09:50,529 et combien de points je imprimer à la fin, sur la base de laquelle le cycle de la boucle 1554 01:09:50,529 --> 01:09:52,270 J'en suis. 1555 01:09:52,270 --> 01:09:52,770 Bien. 1556 01:09:52,770 --> 01:09:54,430 >> Alors soyons un autre compteur. 1557 01:09:54,430 --> 01:09:58,142 Quelqu'un a dit avant j, donc nous allons faire un autre j. 1558 01:09:58,142 --> 01:10:00,100 Et maintenant, nous allons construire une autre boucle. 1559 01:10:00,100 --> 01:10:02,650 1560 01:10:02,650 --> 01:10:06,200 >> Ce qui se passe à l'intérieur de cette boucle? 1561 01:10:06,200 --> 01:10:09,060 Ce truc doit aller intérieur de la boucle, non? 1562 01:10:09,060 --> 01:10:11,190 Est-ce que le lapin ont aller à l'intérieur de la boucle? 1563 01:10:11,190 --> 01:10:13,390 Dois-je un lapin dans chacune de ces 10 cadres? 1564 01:10:13,390 --> 01:10:14,099 >> AUDIENCE: Uh-huh. 1565 01:10:14,099 --> 01:10:15,098 BRIAN Scassellati: Ouais. 1566 01:10:15,098 --> 01:10:17,250 Je veux un lapin dans chaque des 10 cadres, non? 1567 01:10:17,250 --> 01:10:20,531 Comment sur les points à la fin, dois-je cela? 1568 01:10:20,531 --> 01:10:21,030 D'ACCORD. 1569 01:10:21,030 --> 01:10:22,550 >> Donc, je vais mettre en retrait chacun d'eux. 1570 01:10:22,550 --> 01:10:25,110 Je vais mettre en évidence tous cela, et je vais frapper Tab. 1571 01:10:25,110 --> 01:10:28,590 Et cela va les pousser partout un peu, de sorte qu'il est facile pour moi 1572 01:10:28,590 --> 01:10:32,010 pour voir ce qui est dans la boucle. 1573 01:10:32,010 --> 01:10:33,710 Et puis, je vais terminer. 1574 01:10:33,710 --> 01:10:35,850 Disons. 1575 01:10:35,850 --> 01:10:36,430 D'accord? 1576 01:10:36,430 --> 01:10:39,230 >> Or, dans cette boucle qui Je suis building-- whoops, 1577 01:10:39,230 --> 01:10:43,810 faire ce que vous pouvez see-- Je dois mon compteur j. 1578 01:10:43,810 --> 01:10:45,630 Je vais il a commencé à 0. 1579 01:10:45,630 --> 01:10:47,829 Combien de fois je veux pour aller à travers cette boucle? 1580 01:10:47,829 --> 01:10:48,620 AUDIENCE: 10 fois. 1581 01:10:48,620 --> 01:10:49,786 BRIAN Scassellati: 10 fois. 1582 01:10:49,786 --> 01:10:51,402 Alors quel numéro dois-je mettre ici? 1583 01:10:51,402 --> 01:10:52,880 >> AUDIENCE: 9, 10. 1584 01:10:52,880 --> 01:10:55,600 >> BRIAN Scassellati: 9, 10, quelqu'un a à dire 11, non? 1585 01:10:55,600 --> 01:10:58,190 1586 01:10:58,190 --> 01:11:01,585 Je voulais deux points avant et de mettre i inférieur à 2. 1587 01:11:01,585 --> 01:11:03,810 Je voulais huit points, Je mets i moins de 8. 1588 01:11:03,810 --> 01:11:06,950 Maintenant, je veux aller à 10 fois, donc je mis j inférieur à: 1589 01:11:06,950 --> 01:11:07,590 >> AUDIENCE: 10. 1590 01:11:07,590 --> 01:11:08,610 >> BRIAN Scassellati: 10. 1591 01:11:08,610 --> 01:11:10,150 Nous y voilà. 1592 01:11:10,150 --> 01:11:13,360 Et qu'est-ce que je fais à la fin pour j? 1593 01:11:13,360 --> 01:11:15,310 ++, Incrémenter. 1594 01:11:15,310 --> 01:11:16,230 D'ACCORD. 1595 01:11:16,230 --> 01:11:21,500 Maintenant, voici la partie difficile, ce qui est qui va se passer en ce moment si je fais cela? 1596 01:11:21,500 --> 01:11:24,537 Vais-je imprimer 10 images? 1597 01:11:24,537 --> 01:11:26,370 ENCEINTE 27: Je pense que ils vont tous être les mêmes. 1598 01:11:26,370 --> 01:11:28,453 BRIAN Scassellati: Ils vont être la même, non? 1599 01:11:28,453 --> 01:11:31,750 Parce que chacun d'entre eux sont toujours en cours de mettre deux points au début. 1600 01:11:31,750 --> 01:11:34,162 Mais je ne veux pas tous à avoir deux points au début. 1601 01:11:34,162 --> 01:11:35,870 Combien de points puis-je veulent au début? 1602 01:11:35,870 --> 01:11:39,097 1603 01:11:39,097 --> 01:11:40,020 >> AUDIENCE: Modification. 1604 01:11:40,020 --> 01:11:42,840 >> BRIAN Scassellati: Je veulent que ça change, non? 1605 01:11:42,840 --> 01:11:46,588 Alors, que dois-je ici qui change chaque fois que la boucle passe par? 1606 01:11:46,588 --> 01:11:48,242 >> AUDIENCE: Nombre de points, j. 1607 01:11:48,242 --> 01:11:49,950 BRIAN Scassellati: j, le nombre de points. 1608 01:11:49,950 --> 01:11:54,782 Donc, je peux changer cela pour être j. 1609 01:11:54,782 --> 01:11:59,190 La première fois à travers le boucle, qu'est-ce que cela va être? 1610 01:11:59,190 --> 01:12:01,700 Que dois-je mis j au premier? 1611 01:12:01,700 --> 01:12:02,420 >> AUDIENCE: 0. 1612 01:12:02,420 --> 01:12:05,700 >> BRIAN Scassellati: Alors, combien de fois vais-je faire cela? 1613 01:12:05,700 --> 01:12:06,750 0. 1614 01:12:06,750 --> 01:12:11,750 Le deuxième passage dans la boucle, les j va être une parce que je l'incrémenter. 1615 01:12:11,750 --> 01:12:14,180 Combien de points vais-je imprimer? 1616 01:12:14,180 --> 01:12:15,100 1. 1617 01:12:15,100 --> 01:12:19,904 Le troisième passage dans la boucle, combien de points vais-je imprimer? 1618 01:12:19,904 --> 01:12:20,587 >> AUDIENCE: Trois. 1619 01:12:20,587 --> 01:12:22,170 BRIAN Scassellati: j va être 3. 1620 01:12:22,170 --> 01:12:24,890 Combien de points vais-je imprimer? 1621 01:12:24,890 --> 01:12:26,817 Oh, désolé, j va être 2. 1622 01:12:26,817 --> 01:12:28,233 Combien de points vais-je imprimer? 1623 01:12:28,233 --> 01:12:28,980 >> AUDIENCE: 2. 1624 01:12:28,980 --> 01:12:29,855 >> BRIAN Scassellati: 2. 1625 01:12:29,855 --> 01:12:32,460 OK, donc je vais continuer à incrémentation que nous avançons. 1626 01:12:32,460 --> 01:12:33,460 Que diriez-bas? 1627 01:12:33,460 --> 01:12:34,310 Ce qui se passe ici? 1628 01:12:34,310 --> 01:12:38,080 Je ne veux pas 8 toujours à la fin plus? 1629 01:12:38,080 --> 01:12:39,269 >> ENCEINTE 28: 10. 1630 01:12:39,269 --> 01:12:40,685 BRIAN Scassellati: Je veux 10 points? 1631 01:12:40,685 --> 01:12:43,440 1632 01:12:43,440 --> 01:12:44,620 Je veux que ça change, aussi. 1633 01:12:44,620 --> 01:12:47,469 Alors, comment puis-je veux que ça change? 1634 01:12:47,469 --> 01:12:49,167 >> AUDIENCE: [inaudible]. 1635 01:12:49,167 --> 01:12:51,750 BRIAN Scassellati: Eh bien, si je avoir cinq points au début, 1636 01:12:51,750 --> 01:12:53,293 combien de points puis-je obtenir à la fin? 1637 01:12:53,293 --> 01:12:54,020 >> AUDIENCE: Cinq. 1638 01:12:54,020 --> 01:12:55,630 >> BRIAN Scassellati: Si je dois six points au début, 1639 01:12:55,630 --> 01:12:56,875 combien puis-je obtenir à la fin? 1640 01:12:56,875 --> 01:12:57,500 AUDIENCE: Quatre. 1641 01:12:57,500 --> 01:12:58,950 BRIAN Scassellati: Si je suis sept points au début, 1642 01:12:58,950 --> 01:13:00,204 combien puis-je obtenir à la fin? 1643 01:13:00,204 --> 01:13:00,870 AUDIENCE: Trois. 1644 01:13:00,870 --> 01:13:03,161 BRIAN Scassellati: Si je l'ai obtenu points j au début, 1645 01:13:03,161 --> 01:13:04,790 combien puis-je obtenir à la fin? 1646 01:13:04,790 --> 01:13:07,520 10-j. 1647 01:13:07,520 --> 01:13:08,650 D'ACCORD. 1648 01:13:08,650 --> 01:13:10,390 Essayons donc de cela. 1649 01:13:10,390 --> 01:13:13,180 >> Donc, je vais sauver notre programme de lapin. 1650 01:13:13,180 --> 01:13:16,270 Une fois de plus, nous allons effectuer un zoom arrière. 1651 01:13:16,270 --> 01:13:19,090 Nous descendons à notre terminal. 1652 01:13:19,090 --> 01:13:20,180 Nous allons effacer. 1653 01:13:20,180 --> 01:13:23,410 Et agrandir. 1654 01:13:23,410 --> 01:13:26,410 Nous ferons de notre programme de lapin, encore une fois. 1655 01:13:26,410 --> 01:13:27,690 Et nous allons l'exécuter. 1656 01:13:27,690 --> 01:13:30,462 1657 01:13:30,462 --> 01:13:32,090 Uh-oh. 1658 01:13:32,090 --> 01:13:34,580 >> Attendez, nous allons effectuer un zoom arrière. 1659 01:13:34,580 --> 01:13:36,860 Ai-je obtenir 10 images? 1660 01:13:36,860 --> 01:13:38,970 Eh bien, comment de nombreux lapins je ne vois là-haut? 1661 01:13:38,970 --> 01:13:43,330 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. 1662 01:13:43,330 --> 01:13:44,820 Je me suis 10 images. 1663 01:13:44,820 --> 01:13:46,375 Sont-ils tous les mêmes? 1664 01:13:46,375 --> 01:13:47,000 AUDIENCE: Ouais. 1665 01:13:47,000 --> 01:13:48,740 Non. 1666 01:13:48,740 --> 01:13:50,000 >> BRIAN Scassellati: Non 1667 01:13:50,000 --> 01:13:55,050 Ce premier, le lapin est loin sur la gauche. 1668 01:13:55,050 --> 01:13:57,541 Et ici, le lapin est loin sur la 1669 01:13:57,541 --> 01:13:58,290 ENCEINTE 29: Droit. 1670 01:13:58,290 --> 01:14:00,502 BRIAN Scassellati: Donc, qu'ai-je oublié de faire? 1671 01:14:00,502 --> 01:14:01,750 ENCEINTE 30: Début d'une nouvelle ligne. 1672 01:14:01,750 --> 01:14:04,041 BRIAN Scassellati: ai oublié pour commencer une nouvelle ligne, nouveau. 1673 01:14:04,041 --> 01:14:05,270 Même erreur que je faisais avant. 1674 01:14:05,270 --> 01:14:07,120 Très bien, allons corriger cela. 1675 01:14:07,120 --> 01:14:11,690 Maintenant, je dois encore le code là-bas pour faire une nouvelle ligne. 1676 01:14:11,690 --> 01:14:13,899 Pourquoi at-il pas fonctionné? 1677 01:14:13,899 --> 01:14:15,440 ENCEINTE 31: Il est pas à l'intérieur de la boucle. 1678 01:14:15,440 --> 01:14:17,710 BRIAN Scassellati: Oh, il est pas à l'intérieur de la boucle. 1679 01:14:17,710 --> 01:14:18,520 C'est vrai. 1680 01:14:18,520 --> 01:14:20,150 Il est assis à l'extérieur ici. 1681 01:14:20,150 --> 01:14:23,470 1682 01:14:23,470 --> 01:14:29,050 Et la boucle est tout qui est à l'intérieur de ce texte. 1683 01:14:29,050 --> 01:14:35,500 >> Donc, je vais passer cet intérieur de la boucle. 1684 01:14:35,500 --> 01:14:39,410 Et je vais Tab en face d'elle à montrer qu'il est à la bonne place. 1685 01:14:39,410 --> 01:14:42,020 Et maintenant, nous allons enregistrer de nouveau. 1686 01:14:42,020 --> 01:14:44,350 Nous allons effectuer un zoom arrière. 1687 01:14:44,350 --> 01:14:45,770 Nous allons passer à notre terminal. 1688 01:14:45,770 --> 01:14:48,330 1689 01:14:48,330 --> 01:14:50,360 Agrandir. 1690 01:14:50,360 --> 01:14:54,050 Nous refaisons notre programme de lapin. 1691 01:14:54,050 --> 01:14:59,070 Et maintenant, maintenant nous avons nos 10 cadres. 1692 01:14:59,070 --> 01:15:00,190 >> [APPLAUDISSEMENTS] 1693 01:15:00,190 --> 01:15:02,120 >> BRIAN Scassellati: OK. 1694 01:15:02,120 --> 01:15:04,080 Ainsi. 1695 01:15:04,080 --> 01:15:08,370 Voici notre boucles for imbriquées. 1696 01:15:08,370 --> 01:15:13,140 Nous étions en mesure de générer dans le boucle intérieure combien de points je voulais 1697 01:15:13,140 --> 01:15:15,320 à imprimer, au début, à la fin. 1698 01:15:15,320 --> 01:15:21,570 Et la boucle externe contrôlée le nombre d'images que je construisais. 1699 01:15:21,570 --> 01:15:26,340 Nous avons commencé avec une petite le problème de noyau, 1700 01:15:26,340 --> 01:15:30,320 et nous avons construit à partir de ce point. 1701 01:15:30,320 --> 01:15:30,820 Bien. 1702 01:15:30,820 --> 01:15:33,500 >> Faisons un pas de plus. 1703 01:15:33,500 --> 01:15:35,040 Tu es prêt? 1704 01:15:35,040 --> 01:15:38,800 Il ya une chose ici où nous avons fait un peu arrivés 1705 01:15:38,800 --> 01:15:42,180 plus de complexité que nous avons besoin. 1706 01:15:42,180 --> 01:15:44,700 Nous allons jeter un coup d'oeil. 1707 01:15:44,700 --> 01:15:52,050 Donc, dans notre programme de lapin, si je Zoom arrière ici, 1708 01:15:52,050 --> 01:15:54,980 Je fais effectivement partie de la même chose encore et encore. 1709 01:15:54,980 --> 01:15:59,032 Que fais-je que ce genre de la même chose répétée deux fois? 1710 01:15:59,032 --> 01:16:00,310 >> ENCEINTE 32: Imprimer les points. 1711 01:16:00,310 --> 01:16:03,526 >> BRIAN Scassellati: Oui Je imprime deux fois ces points. 1712 01:16:03,526 --> 01:16:05,710 Vraiment, je devrais avoir ce commentaire ici. 1713 01:16:05,710 --> 01:16:09,037 Je imprimer certains points à la en commençant, juste ici. 1714 01:16:09,037 --> 01:16:10,620 Et puis je imprimer certains points à la fin. 1715 01:16:10,620 --> 01:16:14,694 Et je fais genre d'exactement la même chose. 1716 01:16:14,694 --> 01:16:17,110 Ce que nous allons commencer travailler dans les prochaines semaines 1717 01:16:17,110 --> 01:16:23,440 est d'être capable de prendre ces blocs de code que nous utilisons encore et encore, 1718 01:16:23,440 --> 01:16:25,800 et à travers un processus appelé l'abstraction, 1719 01:16:25,800 --> 01:16:31,100 nous allons les sortir et écrivez-les une fois pour que nous puissions ensuite 1720 01:16:31,100 --> 01:16:35,130 réutiliser encore et encore. 1721 01:16:35,130 --> 01:16:37,210 Essayons donc de cela. 1722 01:16:37,210 --> 01:16:38,220 Prêt? 1723 01:16:38,220 --> 01:16:42,200 >> Nous allons prendre ce bloc de code. 1724 01:16:42,200 --> 01:16:45,280 Et je vais le sortir de là. 1725 01:16:45,280 --> 01:16:50,530 Et je vais define-- vers le bas vers le bas, 1726 01:16:50,530 --> 01:16:53,130 Je vais écrire une nouvelle fonction. 1727 01:16:53,130 --> 01:16:54,750 Il ne va rien retourner. 1728 01:16:54,750 --> 01:16:58,550 Et je vais l'appeler printDots. 1729 01:16:58,550 --> 01:17:01,530 >> Il va prendre un argument un entier qui 1730 01:17:01,530 --> 01:17:04,920 howManyDots dit que je devrais imprimer. 1731 01:17:04,920 --> 01:17:09,310 1732 01:17:09,310 --> 01:17:17,720 Et maintenant, au lieu d'imprimer des points j, je vais imprimer dire howManyDots je devrais imprimer. 1733 01:17:17,720 --> 01:17:21,581 >> Et il ya un petit problème ici. 1734 01:17:21,581 --> 01:17:22,580 Quelqu'un sait-il ce qu'il est? 1735 01:17:22,580 --> 01:17:27,270 1736 01:17:27,270 --> 01:17:31,505 Que dois-je qui est listée ici qui est pas défini? 1737 01:17:31,505 --> 01:17:34,165 1738 01:17:34,165 --> 01:17:35,090 >> AUDIENCE: [inaudible] 1739 01:17:35,090 --> 01:17:37,465 >> BRIAN Scassellati: Eh bien comment de nombreux points sont définis jusqu'à 1740 01:17:37,465 --> 01:17:40,584 ici, mais je suis en utilisant cette variable i. 1741 01:17:40,584 --> 01:17:43,750 Donc, je vais prendre cette variable i et je vais le définir dans ici 1742 01:17:43,750 --> 01:17:44,610 au lieu. 1743 01:17:44,610 --> 01:17:49,683 >> Alors maintenant, il va stay-- oops, a obtenu le verrouillage des majuscules somehow-- je suis 1744 01:17:49,683 --> 01:17:52,060 va garder i bas ici. 1745 01:17:52,060 --> 01:17:57,050 >> Alors maintenant, voici ma petite fonction ou sous-routine, et il dit, 1746 01:17:57,050 --> 01:18:00,640 combien de points vais-je imprimer? 1747 01:18:00,640 --> 01:18:05,300 Et ça va aller travers cette boucle et imprimer encore et encore. 1748 01:18:05,300 --> 01:18:10,940 >> Je peux ensuite modifier mon programme ici. 1749 01:18:10,940 --> 01:18:12,540 Et qu'ai-je appeler cette fonction? 1750 01:18:12,540 --> 01:18:13,960 printDots. 1751 01:18:13,960 --> 01:18:17,060 Donc, je vais appeler printDots. 1752 01:18:17,060 --> 01:18:21,530 Combien de points que je veux imprimer la première fois devant le lapin? 1753 01:18:21,530 --> 01:18:22,030 AUDIENCE: j. 1754 01:18:22,030 --> 01:18:23,230 BRIAN Scassellati: j. 1755 01:18:23,230 --> 01:18:27,110 Combien de points que je veux imprimer à la fin, après le lapin? 1756 01:18:27,110 --> 01:18:30,610 1757 01:18:30,610 --> 01:18:31,110 10-j. 1758 01:18:31,110 --> 01:18:35,020 1759 01:18:35,020 --> 01:18:38,010 >> Et il ya une chose que je suis absent. 1760 01:18:38,010 --> 01:18:43,740 Comme vous l'avez vu dans la conférence d'aujourd'hui, nous allons déclarer printDots 1761 01:18:43,740 --> 01:18:52,430 au-dessus pour donner le prototype. 1762 01:18:52,430 --> 01:18:56,740 1763 01:18:56,740 --> 01:18:58,220 D'ACCORD. 1764 01:18:58,220 --> 01:19:03,530 >> Donc ce que je fais est je l'ai essayé de isoler la partie réutilisés code 1765 01:19:03,530 --> 01:19:06,430 que je l'ai fait maintes et maintes fois. 1766 01:19:06,430 --> 01:19:11,120 Et je l'ai essayé de le sortir de telle sorte que tout cela est contenu dans un seul endroit. 1767 01:19:11,120 --> 01:19:16,810 De cette façon, si je dois une erreur quelque part, Il me suffit de le fixer en un seul endroit. 1768 01:19:16,810 --> 01:19:17,310 Bien. 1769 01:19:17,310 --> 01:19:18,470 >> Donc, nous allons l'enregistrer. 1770 01:19:18,470 --> 01:19:20,950 Et faisons en sorte que cela fonctionne. 1771 01:19:20,950 --> 01:19:22,050 Alors sortons. 1772 01:19:22,050 --> 01:19:25,200 Nous allons à nouveau à notre terminal. 1773 01:19:25,200 --> 01:19:27,960 Nous allons l'agrandir. 1774 01:19:27,960 --> 01:19:31,010 Nous allons faire ce processus de lapin. 1775 01:19:31,010 --> 01:19:32,380 >> Oh. 1776 01:19:32,380 --> 01:19:34,800 Et il m'a donné un avertissement. 1777 01:19:34,800 --> 01:19:37,070 Qu'est-ce qu'il me dit? 1778 01:19:37,070 --> 01:19:39,870 Eh bien, dans l'une de ces Parfois, vous voulez toujours 1779 01:19:39,870 --> 01:19:44,170 pour faire défiler jusqu'à la première error-- maintenant sur celui-ci, je ne ai qu'une. 1780 01:19:44,170 --> 01:19:52,700 >> Il me dit en bunny.c, sur la ligne 8, colonne 9, il ya un problème. 1781 01:19:52,700 --> 01:19:58,650 Il dit, vous avez déclaré cette i variable et vous avez pas utilisé. 1782 01:19:58,650 --> 01:20:02,230 >> Maintenant, normalement, que ce pas la pire erreur. 1783 01:20:02,230 --> 01:20:04,300 Voilà une question facile à résoudre. 1784 01:20:04,300 --> 01:20:07,550 Et en fait, nous ne pouvons revenir en arrière. 1785 01:20:07,550 --> 01:20:09,910 Nous pouvons revenir à Bunny. 1786 01:20:09,910 --> 01:20:13,010 Et dans ce cas, tout ce que nous avoir à faire est de se débarrasser de i, 1787 01:20:13,010 --> 01:20:16,630 parce que nous ne sommes pas à l'aide i sein principale plus. 1788 01:20:16,630 --> 01:20:19,860 Nous sommes en train de l'utiliser au sein de notre sous-routine. 1789 01:20:19,860 --> 01:20:22,777 >> Alors sauvons cela. 1790 01:20:22,777 --> 01:20:23,360 Nous allons revenir. 1791 01:20:23,360 --> 01:20:26,760 1792 01:20:26,760 --> 01:20:28,630 Et agrandir. 1793 01:20:28,630 --> 01:20:30,700 Nous allons une fois de plus faire lapin. 1794 01:20:30,700 --> 01:20:33,810 1795 01:20:33,810 --> 01:20:36,530 Et il ya encore une fois nos 10 cadres. 1796 01:20:36,530 --> 01:20:39,450 1797 01:20:39,450 --> 01:20:41,360 D'ACCORD. 1798 01:20:41,360 --> 01:20:43,190 >> Chaque fois que vous êtes donné un procedure-- Ouais. 1799 01:20:43,190 --> 01:20:44,690 ENCEINTE 33: Je dois a-- Je suis confus. 1800 01:20:44,690 --> 01:20:45,892 Pouvez-vous revenir sur le code? 1801 01:20:45,892 --> 01:20:46,850 BRIAN Scassellati: Yep. 1802 01:20:46,850 --> 01:20:50,730 1803 01:20:50,730 --> 01:20:54,367 >> ENCEINTE 33: Donc, quand vous avez écrit votre prototype, l'argument que vous 1804 01:20:54,367 --> 01:20:56,550 il avait nommé a été appelé howMany? 1805 01:20:56,550 --> 01:20:57,540 Mais, below-- 1806 01:20:57,540 --> 01:20:57,640 >> BRIAN Scassellati: Oh oui. 1807 01:20:57,640 --> 01:20:59,140 >> ENCEINTE 33: les --called quelque chose différent, je ne comprends pas. 1808 01:20:59,140 --> 01:21:00,240 >> BRIAN Scassellati: Pourquoi sont-ils différents. 1809 01:21:00,240 --> 01:21:01,780 Voilà donc une excellente question. 1810 01:21:01,780 --> 01:21:08,250 Donc la question était, jusqu'à ici, je l'ai écrit howMany, 1811 01:21:08,250 --> 01:21:12,380 et en bas, je l'ai écrit howManyDots. 1812 01:21:12,380 --> 01:21:15,590 >> La raison est que dans votre prototype, il est effectivement pas attention 1813 01:21:15,590 --> 01:21:17,090 les noms que vous mettez dans. 1814 01:21:17,090 --> 01:21:20,530 Tout ce qu'il se soucie vraiment de est qu'il est un entier. 1815 01:21:20,530 --> 01:21:23,080 Il veut savoir la forme de ce que vous mettez dans. 1816 01:21:23,080 --> 01:21:31,560 >> Maintenant stylistically-- oops-- ce que je devrais faire, est que je voudrais faire ceux-ci correspondent. 1817 01:21:31,560 --> 01:21:33,150 D'ACCORD. 1818 01:21:33,150 --> 01:21:36,430 Parce que ça va être le garder plus facile pour moi de me rappeler. 1819 01:21:36,430 --> 01:21:38,390 Mais ce fut mon erreur Ouais. 1820 01:21:38,390 --> 01:21:47,620 >> ENCEINTE 34: Et donc pour le prototype fonctionne, tout simplement 1821 01:21:47,620 --> 01:21:50,510 écrit cette ligne, écrit le prototype, 1822 01:21:50,510 --> 01:21:53,932 permet que la fonction qui vient juste en dessous pour aller à la fin 1823 01:21:53,932 --> 01:21:55,140 et récupérer ce que cela signifie? 1824 01:21:55,140 --> 01:21:58,480 >> BRIAN Scassellati: Ce que cela signifie est lorsque le compilateur passe à travers, 1825 01:21:58,480 --> 01:22:01,930 il va de la partie supérieure de votre code pour le fond. 1826 01:22:01,930 --> 01:22:05,430 Et ce que ce prototype est, est qu'il est essentiellement une promesse. 1827 01:22:05,430 --> 01:22:09,570 >> Il dit, il va y avoir une fonction définie quelque part. 1828 01:22:09,570 --> 01:22:11,880 Il va être appelées printDots. 1829 01:22:11,880 --> 01:22:15,110 Et il va prendre un argument que ça va être un entier 1830 01:22:15,110 --> 01:22:18,590 et il va revenir rien, type void. 1831 01:22:18,590 --> 01:22:19,310 D'ACCORD. 1832 01:22:19,310 --> 01:22:22,950 Je vous promets que ça va être défini quelque part sur la route. 1833 01:22:22,950 --> 01:22:25,590 Mais chaque fois que vous voir que, comme vous descendez 1834 01:22:25,590 --> 01:22:28,710 à travers le reste de ma fonction principale, je veux 1835 01:22:28,710 --> 01:22:33,800 vous traiter cela comme une fonction qui prend une entrée entier. 1836 01:22:33,800 --> 01:22:37,970 >> Et donc quand le compilateur descend par ce biais, il voit cette promesse. 1837 01:22:37,970 --> 01:22:40,220 Et quand il descend, continue à aller, continue à aller, 1838 01:22:40,220 --> 01:22:43,060 il trouve la première fois printDots est mentionné. 1839 01:22:43,060 --> 01:22:46,910 Et il dit: Oh, vous donnez moi ce j. j est un nombre entier. 1840 01:22:46,910 --> 01:22:49,570 >> Eh bien, vous me promis que voulez- un entier et que ce droit. 1841 01:22:49,570 --> 01:22:51,370 C'est bon. 1842 01:22:51,370 --> 01:22:53,880 Et puis finalement, en baisse tout en bas, 1843 01:22:53,880 --> 01:22:58,340 avant de passer à la fin de mon fichier, je fais ma promesse 1844 01:22:58,340 --> 01:22:59,896 et je le définis. 1845 01:22:59,896 --> 01:23:01,868 D'accord? 1846 01:23:01,868 --> 01:23:06,320 >> ENCEINTE 35: Alors, il l'saves-- programme permettra d'économiser des espaces vides 1847 01:23:06,320 --> 01:23:09,570 qu'il remonte et remplit à la fin? 1848 01:23:09,570 --> 01:23:12,140 >> BRIAN Scassellati: Il est pas à propos de l'allocation de mémoire. 1849 01:23:12,140 --> 01:23:16,800 Il est fait à peu près ce que Type vous attendez-vous à voir. 1850 01:23:16,800 --> 01:23:19,340 Si cette chose avoir un un argument ou cinq arguments? 1851 01:23:19,340 --> 01:23:23,590 Devrait avoir entiers être qui lui est donné, ou chaînes? 1852 01:23:23,590 --> 01:23:25,780 Voilà tout ce qu'il est à la recherche à faire est de vérifier, 1853 01:23:25,780 --> 01:23:29,303 vous me donnez la bon type d'argument. 1854 01:23:29,303 --> 01:23:31,560 D'accord? 1855 01:23:31,560 --> 01:23:32,300 Bien. 1856 01:23:32,300 --> 01:23:38,570 >> Permettez-moi de vous laisser avec un autre peu à regarder. 1857 01:23:38,570 --> 01:23:44,850 Art ASCII est pas le grand modèle de l'animation telle qu'elle est aujourd'hui. 1858 01:23:44,850 --> 01:23:50,850 Mais certaines personnes bien sûr prendre les choses et ils poussent à leurs extrémités. 1859 01:23:50,850 --> 01:23:56,790 >> Ceci est, comme David a démontré en lecture, un morceau de code 1860 01:23:56,790 --> 01:24:02,150 que vous devriez en aucun cas essayer de vous reproduire. 1861 01:24:02,150 --> 01:24:05,260 Parce qu'il est terrible stylistiquement. 1862 01:24:05,260 --> 01:24:11,180 En fait, il est conçu pour être aussi difficile que possible de lire. 1863 01:24:11,180 --> 01:24:11,680 D'ACCORD. 1864 01:24:11,680 --> 01:24:16,210 >> Donc, pour faire encore une fois, nous allons faire un zoom ici. 1865 01:24:16,210 --> 01:24:20,120 Je vais y aller maintenant, changement de répertoire. 1866 01:24:20,120 --> 01:24:24,050 Je vais monter d'un niveau, revenir à mon espace de travail. 1867 01:24:24,050 --> 01:24:29,760 Je vais donc changer de répertoire dans ce autre répertoire que je l'ai créé. 1868 01:24:29,760 --> 01:24:36,190 >> Et cela est l'international Programmation C Obfuscated concours. 1869 01:24:36,190 --> 01:24:40,650 Des moyens brouillées que dure que possible à comprendre. 1870 01:24:40,650 --> 01:24:44,150 Alors s'il vous plaît, ne soyez pas effrayés si vous regardez à cela et aller, je ne peux pas le lire. 1871 01:24:44,150 --> 01:24:46,350 Voilà le point de lui. 1872 01:24:46,350 --> 01:24:47,700 D'accord? 1873 01:24:47,700 --> 01:24:52,770 >> Mais, nous avons cette merveilleux programme que je suis 1874 01:24:52,770 --> 01:24:57,180 va regarder en tapant simplement plus. 1875 01:24:57,180 --> 01:25:01,890 Et nous allons voir si je peux faire un zoom arrière juste un peu, de sorte que vous pouvez le voir 1876 01:25:01,890 --> 01:25:03,940 >> Et voilà le programme. 1877 01:25:03,940 --> 01:25:08,080 Il est nommé endo.c. 1878 01:25:08,080 --> 01:25:14,850 Et il semble que ce seau avec genre des lettres F-L-U-I-D en elle. 1879 01:25:14,850 --> 01:25:16,440 >> Ceci est en fait un programme. 1880 01:25:16,440 --> 01:25:20,260 Il est écrit dans le plus obscur manière que les auteurs auraient pu éventuellement 1881 01:25:20,260 --> 01:25:21,760 écris le. 1882 01:25:21,760 --> 01:25:29,210 Mais il est un merveilleux petit morceau qui génère un modèle de la dynamique des fluides. 1883 01:25:29,210 --> 01:25:34,870 >> Et donc nous allons donner ce modèle une entrée qui 1884 01:25:34,870 --> 01:25:42,520 ressemble à ceci, d'un staired ensemble de conteneurs 1885 01:25:42,520 --> 01:25:45,820 avec un peu de liquide, quelques-unes liquide, au sommet. 1886 01:25:45,820 --> 01:25:48,790 Et nous l'aurons simuler qu'est-ce qui lui arrive. 1887 01:25:48,790 --> 01:25:52,415 >> Je vais donc appeler cette fonction, endo. 1888 01:25:52,415 --> 01:25:59,000 Et je vais lui donner ce que fichier d'entrée que je connaisse. 1889 01:25:59,000 --> 01:26:02,830 Et il est de notre quintessence de l'art ASCII. 1890 01:26:02,830 --> 01:26:08,960 Un simulateur de dynamique des fluides complète l'exécution en quelques lignes de code. 1891 01:26:08,960 --> 01:26:13,750 >> Maintenant ce qui est en fait vraiment étonnante au sujet de ce petit programme 1892 01:26:13,750 --> 01:26:17,280 est que je veux arrêter ça maintenant, donc je vais utiliser ce commandement? 1893 01:26:17,280 --> 01:26:18,660 >> AUDIENCE: Control-C. 1894 01:26:18,660 --> 01:26:20,390 >> BRIAN Scassellati: Control-C. D'ACCORD. 1895 01:26:20,390 --> 01:26:22,960 Donc, je vais utiliser Control-C. C qui va l'arrêter. 1896 01:26:22,960 --> 01:26:25,330 Je vais de nouveau sur CLEAR. 1897 01:26:25,330 --> 01:26:31,210 Et maintenant, je vais appeler le programme, exécuter le programme, 1898 01:26:31,210 --> 01:26:33,740 lui-même en utilisant comme entrée. 1899 01:26:33,740 --> 01:26:36,760 1900 01:26:36,760 --> 01:26:42,700 >> Et nous verrons la dynamique des fluides simulation de ce point de fusion. 1901 01:26:42,700 --> 01:26:43,830 D'ACCORD. 1902 01:26:43,830 --> 01:26:48,180 S'il vous plaît ne laissez pas ce programme être la chose qui vous confond. 1903 01:26:48,180 --> 01:26:52,220 Il est juste afin que nous puissions terminer sur quelque chose de cool et intéressant. 1904 01:26:52,220 --> 01:26:53,930 D'ACCORD. 1905 01:26:53,930 --> 01:26:56,330 >> Bonne chance avec vos ensembles de problèmes. 1906 01:26:56,330 --> 01:26:59,030 Nous serons heureux de répondre à des questions après la classe. 1907 01:26:59,030 --> 01:27:01,180 Merci beaucoup, les gars. 1908 01:27:01,180 --> 01:27:02,793