1 00:00:00,000 --> 00:00:07,170 2 00:00:07,170 --> 00:00:09,100 >> LUCAS FREITAS: OK, je suppose maintenant, nous sommes en direct. 3 00:00:09,100 --> 00:00:11,220 Bienvenue à CS50 supersection. 4 00:00:11,220 --> 00:00:12,880 Nous sommes moins à l'aise. 5 00:00:12,880 --> 00:00:13,870 Mon nom est Lucas Freitas. 6 00:00:13,870 --> 00:00:16,230 Je suis un chef CS50 FO. 7 00:00:16,230 --> 00:00:17,523 C'est Lauren. 8 00:00:17,523 --> 00:00:19,002 >> LAUREN CARVALHO: Salut, je suis Lauren. 9 00:00:19,002 --> 00:00:21,330 Je suis également chef TF pour CS50. 10 00:00:21,330 --> 00:00:24,730 >> LUCAS FREITAS: Aujourd'hui, nous allons juste de donner un aperçu de ce que tout ce que vous 11 00:00:24,730 --> 00:00:28,440 les gars ont appris dans la première semaine, je l'espère pour vous donner un bon gars 12 00:00:28,440 --> 00:00:32,580 sens à ce que vous devez savoir pour régler un problème. 13 00:00:32,580 --> 00:00:34,120 >> Juste quelques annonces. 14 00:00:34,120 --> 00:00:36,490 Tout d'abord, les heures de bureau. 15 00:00:36,490 --> 00:00:41,580 Les heures de bureau sont du lundi passe au jeudi dans différentes maisons 16 00:00:41,580 --> 00:00:43,450 Annenberg chaque jour. 17 00:00:43,450 --> 00:00:46,680 Ils sont une très bonne ressource pour vous les gars à venir et poser des questions, et 18 00:00:46,680 --> 00:00:49,470 parler à FO, et même l'échange idées avec d'autres étudiants. 19 00:00:49,470 --> 00:00:55,420 Assurez-vous donc d'utiliser cette ressource en votre faveur. 20 00:00:55,420 --> 00:00:59,790 >> La deuxième chose est la CS50 Appliance. 21 00:00:59,790 --> 00:01:01,390 Pour la dernière [inaudible] 22 00:01:01,390 --> 00:01:04,180 vous les gars n'ont pas eu à fait disposer un appareil. 23 00:01:04,180 --> 00:01:06,910 Vous venez de faire tout en votre ordinateur personnel. 24 00:01:06,910 --> 00:01:10,330 Mais pour ce problème, vous avez fait d'avoir une machine virtuelle, donc 25 00:01:10,330 --> 00:01:14,680 Assurez-vous de télécharger le CS50 Appareil et le mettre en place. 26 00:01:14,680 --> 00:01:18,670 >> Et la troisième chose est assurez-vous de démarrer le problème posé juste ASAP 27 00:01:18,670 --> 00:01:22,740 parce que c'est beaucoup plus facile de trouver aider lorsque vous êtes dans le 28 00:01:22,740 --> 00:01:23,730 au début de la semaine. 29 00:01:23,730 --> 00:01:27,540 Parce que les gens ont tendance à attendre jusqu'à ce que le dernière seconde pour commencer le jeu de problème, 30 00:01:27,540 --> 00:01:29,730 et puis vous allez à des heures de bureau, et il ya beaucoup de personnes. 31 00:01:29,730 --> 00:01:33,020 Où si vous allez le lundi, vous allez de voir que vous pouvez parler à FO 32 00:01:33,020 --> 00:01:35,870 à peu près toute la nuit, et ils vont être plus 33 00:01:35,870 --> 00:01:37,790 heureux de vous aider. 34 00:01:37,790 --> 00:01:40,720 >> LAUREN CARVALHO: Puis-je arrêter juste vous pour juste une seconde? 35 00:01:40,720 --> 00:01:43,330 Tout le monde a été en mesure de télécharger le CS50 Appliance? 36 00:01:43,330 --> 00:01:44,255 Les gens ont essayé? 37 00:01:44,255 --> 00:01:47,120 >> LUCAS FREITAS: Pour télécharger, par le Ainsi, vous pouvez obtenir des instructions à 38 00:01:47,120 --> 00:01:48,045 cs50.net/appliance. 39 00:01:48,045 --> 00:01:48,817 >> LAUREN CARVALHO: Droit. 40 00:01:48,817 --> 00:01:53,120 Et cela prend un peu de temps pour notre administrateurs systèmes pour vous obtenir une licence 41 00:01:53,120 --> 00:01:55,450 clé, alors inscrivez-vous pour la premier essai gratuit. 42 00:01:55,450 --> 00:01:59,080 De cette façon, vous aurez pendant 30 jours, puis attendez que votre clé de licence 43 00:01:59,080 --> 00:02:02,650 ce qui devrait donner à vous pendant un an. 44 00:02:02,650 --> 00:02:04,100 >> LUCAS FREITAS: Tout d'abord, Parlons un peu 45 00:02:04,100 --> 00:02:06,180 sur le CS50 Appliance. 46 00:02:06,180 --> 00:02:10,770 Le CS50 Appliance est en fait un virtuel machine que vous allez 47 00:02:10,770 --> 00:02:15,040 fonctionner dans votre propre ordinateur qui est exécutant depuis un autre ordinateur 48 00:02:15,040 --> 00:02:16,010 l'intérieur de votre propre ordinateur. 49 00:02:16,010 --> 00:02:16,800 Ce qui est assez cool. 50 00:02:16,800 --> 00:02:19,420 Et en fait il est utilisé partout. 51 00:02:19,420 --> 00:02:23,150 Les gens qui à technologie savent que ceci est utilisé tout le temps. 52 00:02:23,150 --> 00:02:23,250 vous? 53 00:02:23,250 --> 00:02:26,200 Peut avoir plusieurs ordinateurs en un seul appareil. 54 00:02:26,200 --> 00:02:27,760 >> Prenons fait un coup d'oeil à l'appareil. 55 00:02:27,760 --> 00:02:32,680 56 00:02:32,680 --> 00:02:36,640 Quand vous allez à l'appareil après vous inscrivant, vous allez avoir à 57 00:02:36,640 --> 00:02:42,035 mettre votre nom et vous connecter à Harvard afin que nous puissions vous tous enregistré. 58 00:02:42,035 --> 00:02:46,570 Vous allez voir tout simplement à un fond d'écran, puis Accueil et Corbeille, 59 00:02:46,570 --> 00:02:48,980 et puis ces petites icônes. 60 00:02:48,980 --> 00:02:51,930 Ces trois icônes sont en fait le plus choses importantes que vous pouvez avoir dans 61 00:02:51,930 --> 00:02:53,000 votre appareil. 62 00:02:53,000 --> 00:03:00,270 >> Le premier est gedit, qui est un moins éditeur, tout comme le Bloc-notes ou comme 63 00:03:00,270 --> 00:03:01,440 tout type d'éditeur de texte. 64 00:03:01,440 --> 00:03:09,750 C'est juste quelque chose que nous utilisons pour écrire code, puis faire des choses avec elle. 65 00:03:09,750 --> 00:03:11,770 >> La deuxième chose que nous avoir ici est Chrome. 66 00:03:11,770 --> 00:03:13,910 Donc, si vous avez besoin d'utiliser l'Internet dans l'appareil, c'est 67 00:03:13,910 --> 00:03:15,030 ce que vous pouvez utiliser. 68 00:03:15,030 --> 00:03:22,000 >> Et la troisième chose est la borne, qui est en fait très doux. 69 00:03:22,000 --> 00:03:26,420 Les gens sont généralement peu peur de le terminal, car il s'agit très 70 00:03:26,420 --> 00:03:32,320 ancienne application façonné dans lequel vous juste fondamentalement tout type avec 71 00:03:32,320 --> 00:03:32,940 votre clavier. 72 00:03:32,940 --> 00:03:34,730 Il n'y a pas beaucoup d'interaction avec votre souris. 73 00:03:34,730 --> 00:03:39,780 Mais en réalité, le terminal fait de très bonnes choses. 74 00:03:39,780 --> 00:03:43,990 >> Tout d'abord, nous allons simplement passer par certaines commandes que vous 75 00:03:43,990 --> 00:03:48,765 peut utiliser dans le terminal. 76 00:03:48,765 --> 00:03:51,995 >> LAUREN CARVALHO: Et n'hésitez pas à arrêter nous si vous avez des questions. 77 00:03:51,995 --> 00:03:52,830 >> LUCAS FREITAS: Ouais. 78 00:03:52,830 --> 00:04:01,950 Donc, la première commande que nous avons pour le terminal est ls. 79 00:04:01,950 --> 00:04:06,450 ls signifie fondamentalement liste tout, tout les fichiers et tous les administrateurs, 80 00:04:06,450 --> 00:04:09,540 que j'ai à l'endroit que je suis à. 81 00:04:09,540 --> 00:04:15,200 Donc, si je fais ls ici, je vais voir que j'ai des répertoires. 82 00:04:15,200 --> 00:04:18,670 J'ai le bureau, les téléchargements, les journaux et les vhosts. 83 00:04:18,670 --> 00:04:21,260 Ce sont en bleu parce qu'ils sont tous les répertoires. 84 00:04:21,260 --> 00:04:24,160 >> Ensuite, vous avez d'autres fichiers. 85 00:04:24,160 --> 00:04:27,840 Vous avez comme bonjour et hello.c, qui sont seulement des fichiers, et ils sont en 86 00:04:27,840 --> 00:04:28,910 différentes couleurs. 87 00:04:28,910 --> 00:04:33,960 Donc, c'est une commande très importante juste vous pouvez voir quels sont les fichiers 88 00:04:33,960 --> 00:04:37,690 et les répertoires que vous avez dans le répertoire qui 89 00:04:37,690 --> 00:04:39,410 vous êtes dans le terminal. 90 00:04:39,410 --> 00:04:44,580 Quand vous voyez jharvard @ appareil et alors le petit symbole là, la 91 00:04:44,580 --> 00:04:49,185 tilde, cela signifie juste que c'est la répertoire que vous êtes en ce moment. 92 00:04:49,185 --> 00:04:52,970 >> LAUREN CARVALHO: Alors tapant ls est presque comme en cliquant sur le dossier 93 00:04:52,970 --> 00:04:57,380 qui est inscrit là, il montre dans vous tout le contenu qui sont 94 00:04:57,380 --> 00:04:58,886 dans ce dossier. 95 00:04:58,886 --> 00:05:04,232 >> PUBLIC: Y at-il moins après la bonjour.c? 96 00:05:04,232 --> 00:05:10,070 >> LAUREN CARVALHO: Oh, vous ne pouvez pas voir que, parce que c'est bleu. 97 00:05:10,070 --> 00:05:12,490 >> LUCAS FREITAS: Il est dit les journaux et les vhosts. 98 00:05:12,490 --> 00:05:14,450 >> LAUREN CARVALHO: Ce sont seulement d'autres dossiers. 99 00:05:14,450 --> 00:05:16,890 Je suis désolé, il est vraiment difficile de voir. 100 00:05:16,890 --> 00:05:19,090 Peut-être que si nous avons éteint les lumières? 101 00:05:19,090 --> 00:05:23,002 Colton, voulez-vous essayer de trouver l'interrupteur? 102 00:05:23,002 --> 00:05:24,960 Désolé à ce sujet. 103 00:05:24,960 --> 00:05:25,675 Je ne pense pas à ce sujet. 104 00:05:25,675 --> 00:05:27,340 >> LUCAS FREITAS: Mais c'est essentiellement - 105 00:05:27,340 --> 00:05:30,310 oui, si vous pouviez - 106 00:05:30,310 --> 00:05:32,278 >> LAUREN CARVALHO: Zoom sur votre écran. 107 00:05:32,278 --> 00:05:34,738 >> LUCAS FREITAS: Je ne sais pas avoir cette fonction. 108 00:05:34,738 --> 00:05:35,988 >> LAUREN CARVALHO: [inaudible]. 109 00:05:35,988 --> 00:05:39,528 110 00:05:39,528 --> 00:05:40,001 OK. 111 00:05:40,001 --> 00:05:44,270 Eh bien, il ya juste beaucoup de naturel lumière dans cette chambre. 112 00:05:44,270 --> 00:05:48,726 >> LUCAS FREITAS: Supposons simplement que il ya deux autres répertoires là-bas. 113 00:05:48,726 --> 00:05:49,780 >> LAUREN CARVALHO: Il suffit de garder avec nous. 114 00:05:49,780 --> 00:05:54,200 C'est la seule partie que vous aurez se pencher sur le terminal. 115 00:05:54,200 --> 00:06:00,160 >> LUCAS FREITAS: La commande suivante est fondamentalement peut-être vous souhaitez organiser 116 00:06:00,160 --> 00:06:01,080 vos fichiers - 117 00:06:01,080 --> 00:06:05,015 par exemple tous vos fichiers, C dans un répertoire, mais vous ne disposez pas d'un 118 00:06:05,015 --> 00:06:07,180 répertoire juste pour C dépose encore. 119 00:06:07,180 --> 00:06:11,590 Vous pouvez en principe créer un répertoire l'utilisation du terminal ainsi, ce qui est 120 00:06:11,590 --> 00:06:15,670 la même chose que clic droit et disant Nouveau dossier. 121 00:06:15,670 --> 00:06:20,640 La commande est make directory, qui est mkdir, donc en gros "faire" et 122 00:06:20,640 --> 00:06:21,260 «Répertoire». 123 00:06:21,260 --> 00:06:22,680 >> Et puis vous pouvez mettre le le nom du répertoire. 124 00:06:22,680 --> 00:06:32,490 Disons que je voulais être appelé, Je ne sais pas, disons pset1 Faire 125 00:06:32,490 --> 00:06:33,900 , je viens de créer un répertoire. 126 00:06:33,900 --> 00:06:35,910 Disons simplement vérifier qu'il est là. 127 00:06:35,910 --> 00:06:40,870 Donc, si je fais ls, maintenant je vois les journaux, et alors pset1, puis vhosts. 128 00:06:40,870 --> 00:06:44,360 J'ai donc le nouveau répertoire il. 129 00:06:44,360 --> 00:06:46,670 >> Et puis après vous avez un nouveau répertoire, peut-être vous voulez naviguer 130 00:06:46,670 --> 00:06:51,760 en elle, de sorte que la prochaine commande de ce cd, ce qui signifie en fait juste aller à une 131 00:06:51,760 --> 00:06:53,400 répertoire spécifique. 132 00:06:53,400 --> 00:06:58,377 Donc, si je veux aller à pset1, Je peux juste faire cd pset1. 133 00:06:58,377 --> 00:07:01,550 >> LAUREN CARVALHO: cd représente le changement répertoire, [inaudible] en mesure de 134 00:07:01,550 --> 00:07:02,230 n'oubliez pas que. 135 00:07:02,230 --> 00:07:05,460 >> LUCAS FREITAS: Et maintenant vous voyez que au lieu d'avoir juste jharvard 136 00:07:05,460 --> 00:07:09,150 appareil, j'ai jharvard appareil, puis pset1, parce qu'il nous montre 137 00:07:09,150 --> 00:07:14,150 moi où je suis dans cet ordinateur. 138 00:07:14,150 --> 00:07:17,510 >> Maintenant, si je veux revenir à la répertoire qui était avant celui-ci, je 139 00:07:17,510 --> 00:07:22,950 peut faire un point cd de points, ce qui signifie tout simplement aller dans le répertoire que j'étais avant, 140 00:07:22,950 --> 00:07:26,290 comme le parent de ce répertoire, essentiellement. 141 00:07:26,290 --> 00:07:30,460 Et maintenant, je vois que je suis Retour à jharvard. 142 00:07:30,460 --> 00:07:36,050 >> La prochaine chose que je peux le faire est rm, qui est supprimer un fichier. 143 00:07:36,050 --> 00:07:39,590 Par exemple, nous allons faire en premier ls pour voir ce que j'ai ici. 144 00:07:39,590 --> 00:07:41,790 J'ai bonjour et hello.c. 145 00:07:41,790 --> 00:07:43,780 Disons que je veux les supprimer. 146 00:07:43,780 --> 00:07:48,280 Je peux faire rm bonjour. 147 00:07:48,280 --> 00:07:52,770 Il va dire "supprimer fichier régulier bonjour? "Et je dis« oui ». Et maintenant, si je 148 00:07:52,770 --> 00:07:56,410 faire ls, je vois que c'est pas plus là-bas. 149 00:07:56,410 --> 00:07:59,700 >> Si j'essaie d'utiliser rm pour un répertoire, cependant, il ne va pas 150 00:07:59,700 --> 00:08:00,800 pour vous permettre de faire n'importe quoi. 151 00:08:00,800 --> 00:08:02,960 Il va dire, hé, vous ne peut pas supprimer un répertoire. 152 00:08:02,960 --> 00:08:08,100 Nous avons donc cette autre viennent appelé rmdir, ce qui signifie en fait juste 153 00:08:08,100 --> 00:08:09,800 supprimer le répertoire. 154 00:08:09,800 --> 00:08:12,842 Je peux, par exemple, retirez pset1. 155 00:08:12,842 --> 00:08:15,770 Et si je fais ls, je ne sais pas avoir plus. 156 00:08:15,770 --> 00:08:18,430 >> Vous avez des questions à ce sujet? 157 00:08:18,430 --> 00:08:20,200 Non? 158 00:08:20,200 --> 00:08:20,595 Ouais? 159 00:08:20,595 --> 00:08:23,954 >> PUBLIC: Est-il important que vous quittez un espace après - chaque fois que vous 160 00:08:23,954 --> 00:08:26,540 commencez à taper quelque chose dans? 161 00:08:26,540 --> 00:08:26,830 >> LUCAS FREITAS: Ouais. 162 00:08:26,830 --> 00:08:32,080 Si je fais comme les CD et le répertoire, Je dois mettre un espace. 163 00:08:32,080 --> 00:08:33,350 Qu'est-ce que l'espace parlez-vous? 164 00:08:33,350 --> 00:08:34,979 >> LAUREN CARVALHO: L'espace entre cd et [inaudible]. 165 00:08:34,979 --> 00:08:37,710 >> LUCAS FREITAS: Ouais, vous aurez à mettre les espaces car cd est la 166 00:08:37,710 --> 00:08:42,770 commande, puis la chaîne suivante qui vous type est essentiellement le répertoire. 167 00:08:42,770 --> 00:08:45,020 Donc, c'est comme un argument. 168 00:08:45,020 --> 00:08:45,360 Ouais? 169 00:08:45,360 --> 00:08:47,952 >> PUBLIC: Lorsque vous mettez, tous ceux sont des répertoires différents, non? 170 00:08:47,952 --> 00:08:50,125 >> LUCAS FREITAS: Ouais, ils sont dans le répertoire. 171 00:08:50,125 --> 00:08:53,524 >> PUBLIC: Qu'est-ce que les différences parmi les répertoires? 172 00:08:53,524 --> 00:08:55,390 >> LUCAS FREITAS: Ils sont juste différents dossiers. 173 00:08:55,390 --> 00:08:57,366 Répertoire est un dossier dans votre ordinateur. 174 00:08:57,366 --> 00:08:58,120 >> PUBLIC: Ouvrir le dossier. 175 00:08:58,120 --> 00:09:00,140 >> LUCAS FREITAS: Ouais, c'est juste un dossier ouvert. 176 00:09:00,140 --> 00:09:03,400 >> LAUREN CARVALHO: ici, ceux qui sont en bleu sont réelle 177 00:09:03,400 --> 00:09:07,107 répertoires que vous pouvez obtenir dans et alors voir un tas de choses qui sont 178 00:09:07,107 --> 00:09:10,248 dans ce qui est malheureux parce que vous ne pouvez pas réellement lire le 179 00:09:10,248 --> 00:09:11,290 ceux en bleu. 180 00:09:11,290 --> 00:09:16,166 Et ceux en blanc sont juste des fichiers qui sont dans le répertoire courant. 181 00:09:16,166 --> 00:09:17,870 >> LUCAS FREITAS: Alors répertoires des dossiers. 182 00:09:17,870 --> 00:09:18,810 Les autres sont des fichiers. 183 00:09:18,810 --> 00:09:22,810 >> PUBLIC: Quelle est la commande pour le réinitialiser ou de l'effacer? 184 00:09:22,810 --> 00:09:23,650 LUCAS FREITAS: Pour effacer? 185 00:09:23,650 --> 00:09:24,362 LAUREN CARVALHO: Pour effacer? 186 00:09:24,362 --> 00:09:27,985 LUCAS FREITAS: Je pense que il est "clair". Ouais. 187 00:09:27,985 --> 00:09:32,370 Donc, vous tapez simplement clair si votre écran est trop salissant. 188 00:09:32,370 --> 00:09:33,700 D'autres questions? 189 00:09:33,700 --> 00:09:36,720 Et vous apprendrez un tas d'autres commandes tout naturellement au cours de la 190 00:09:36,720 --> 00:09:38,405 semestre, car ils sont très utiles. 191 00:09:38,405 --> 00:09:42,380 192 00:09:42,380 --> 00:09:46,155 >> Donc, maintenant nous allons parler de la compilation. 193 00:09:46,155 --> 00:09:51,510 194 00:09:51,510 --> 00:09:54,730 Nous avons parlé de pseudo et le code source et le code objet. 195 00:09:54,730 --> 00:09:59,020 Et il ya beaucoup de codes, et peut-être vous les gars sont confus à ce sujet. 196 00:09:59,020 --> 00:10:02,190 Parlons un peu de ce que qui se passe quand vous écrivez un programme, 197 00:10:02,190 --> 00:10:06,620 et vous compilez, et il devient un fichier exécutable. 198 00:10:06,620 --> 00:10:10,190 Ce sont tous des mots que vous les gars probablement entendu parler, et peut-être vous n'êtes pas 199 00:10:10,190 --> 00:10:12,130 vraiment sûr de ce qui se passe. 200 00:10:12,130 --> 00:10:15,540 >> Disons, par exemple, que je veux écrire un programme qui dit «bonjour». La 201 00:10:15,540 --> 00:10:19,670 première chose qui vient à l'esprit est vous sorte de essayez de penser à la façon dont vous êtes 202 00:10:19,670 --> 00:10:23,000 va faire que dans votre esprit, et vous pensez probablement en anglais ou en 203 00:10:23,000 --> 00:10:25,550 une autre langue, comme naturel langue, probablement. 204 00:10:25,550 --> 00:10:28,770 Et puis vous pensez, bien, si je veux, par exemple, écrire un programme qui 205 00:10:28,770 --> 00:10:32,630 dit "bonjour", je voudrais lancer un programme, Je vais imprimer bonjour, puis je vais 206 00:10:32,630 --> 00:10:35,270 quitter le programme. 207 00:10:35,270 --> 00:10:36,350 Il s'agit d'un pseudo-code. 208 00:10:36,350 --> 00:10:41,740 Ceci est en fait juste vous essayez de venir avec une séquence d'événements 209 00:10:41,740 --> 00:10:46,510 que vous allez faire pour être capable d'écrire un programme. 210 00:10:46,510 --> 00:10:49,610 >> Ensuite, vous avez le code source, et le code source n'a pas à 211 00:10:49,610 --> 00:10:53,240 spécifiquement dans C. Nous parlons à propos du code source en C parce que c'est 212 00:10:53,240 --> 00:10:56,760 la langue que nous apprenons, mais bien sûr code peut être à peu près tout 213 00:10:56,760 --> 00:10:59,160 langage de programmation que vous avez. 214 00:10:59,160 --> 00:11:01,230 Plus tard dans la session, vous allez d'apprendre d'autres langues. 215 00:11:01,230 --> 00:11:03,230 C'est également le code source. 216 00:11:03,230 --> 00:11:07,380 >> Par exemple, ici, c'est ma source code, et puis je suis notamment un 217 00:11:07,380 --> 00:11:10,170 bibliothèque, puis je commence principal, puis-je imprimer. 218 00:11:10,170 --> 00:11:14,510 Et Laura va parler un peu peu de tout cela. 219 00:11:14,510 --> 00:11:16,190 Donc, c'est le code source. 220 00:11:16,190 --> 00:11:19,590 >> Et quel est le code de l'objet? 221 00:11:19,590 --> 00:11:22,500 L'objet est un tas de zéros et ceux, essentiellement. 222 00:11:22,500 --> 00:11:27,680 Ce qui se passe est que vous devez d'abord pseudo, qui est tout en anglais. 223 00:11:27,680 --> 00:11:29,020 Et je veux dire, vous comprenez. 224 00:11:29,020 --> 00:11:31,260 Probablement vos amis à comprendre , et la plupart des gens 225 00:11:31,260 --> 00:11:32,560 comprendre l'idée. 226 00:11:32,560 --> 00:11:36,770 Mais les ordinateurs sont vraiment stupide, et ils ne comprennent pas l'anglais, de sorte que vous 227 00:11:36,770 --> 00:11:41,320 ont traduire cela en quelque chose, habituellement traduit dans quelque 228 00:11:41,320 --> 00:11:42,460 langage de programmation. 229 00:11:42,460 --> 00:11:46,840 >> Et vous pouvez penser à une programmation langue comme un peu comme une langue 230 00:11:46,840 --> 00:11:50,970 que vous dites à votre façon d'ordinateur à parler et à comprendre. 231 00:11:50,970 --> 00:11:54,160 Vous êtes essentiellement d'écrire quelque chose dans une langue que chacun de vous et de votre 232 00:11:54,160 --> 00:11:55,190 ordinateur comprendre. 233 00:11:55,190 --> 00:11:56,470 C'est le code source. 234 00:11:56,470 --> 00:12:00,580 Ainsi va la forme pseudo-code à la source code, c'est à vous. 235 00:12:00,580 --> 00:12:03,130 Il s'agit essentiellement de vous faire votre programme. 236 00:12:03,130 --> 00:12:06,740 >> Mais le problème est que l' ordinateur n'a même pas 237 00:12:06,740 --> 00:12:08,360 comprendre le langage de programmation. 238 00:12:08,360 --> 00:12:10,320 Il ne comprend pas code source à tous. 239 00:12:10,320 --> 00:12:12,520 Il fait comprendre juste zéros et de uns. 240 00:12:12,520 --> 00:12:16,570 Nous avons donc cette chose très magique appelé un compilateur, qui est essentiellement 241 00:12:16,570 --> 00:12:19,755 allez obtenir la source appelée que vous écrit dans une langue à la fois vous 242 00:12:19,755 --> 00:12:25,320 et parler votre ordinateur, et maintenant vous êtes va transformer que dans 243 00:12:25,320 --> 00:12:26,270 zéros et de uns. 244 00:12:26,270 --> 00:12:30,860 Donc, fondamentalement, ce que le compilateur fait est il obtient le code source, dans ce cas, C, 245 00:12:30,860 --> 00:12:34,100 il va se transformer en zéros et ceux que l'ordinateur 246 00:12:34,100 --> 00:12:37,440 comprend et peut faire une fichier exécutable hors de lui. 247 00:12:37,440 --> 00:12:40,900 >> Cela fait-il sens? 248 00:12:40,900 --> 00:12:45,300 Vous pouvez simplement penser que le compilateur une sorte de traducteur qui est 249 00:12:45,300 --> 00:12:50,280 vous aider à expliquer à l'ordinateur exactement ce qu'il est censé faire. 250 00:12:50,280 --> 00:12:52,310 >> Mais comment puis-je compiler. 251 00:12:52,310 --> 00:12:59,680 Revenons à l'appareil, et disons que je fais ce programme. 252 00:12:59,680 --> 00:13:04,220 D'abord je vais créer un répertoire ici, et je vais l'appeler 253 00:13:04,220 --> 00:13:11,130 "Pratique". Maintenant, je vais naviguer pour le répertoire, la pratique de cd. 254 00:13:11,130 --> 00:13:13,210 Maintenant, je suis à l'intérieur pratique. 255 00:13:13,210 --> 00:13:16,860 >> Maintenant, je veux commencer gedit, alors comment puis-je faire cela? 256 00:13:16,860 --> 00:13:21,920 Je peux cliquer ici, ou je peux juste littéralement taper "gedit", et il va 257 00:13:21,920 --> 00:13:24,290 d'ouvrir pour moi. 258 00:13:24,290 --> 00:13:28,100 >> Maintenant, je vais taper mon programme, afin exactement ce que j'ai écrit dans la diapositive. 259 00:13:28,100 --> 00:13:30,360 Je déclarant une bibliothèque. 260 00:13:30,360 --> 00:13:35,440 Je fais int main, nulle. 261 00:13:35,440 --> 00:13:39,180 Et maintenant, je fais printf, bonjour. 262 00:13:39,180 --> 00:13:46,530 263 00:13:46,530 --> 00:13:50,170 Maintenant, je vais enregistrer ce. 264 00:13:50,170 --> 00:13:53,665 Permettez-moi de mettre en pratique, et Je vais appeler cette hello.c. 265 00:13:53,665 --> 00:13:57,710 266 00:13:57,710 --> 00:13:59,590 Alors maintenant, il est sauvé. 267 00:13:59,590 --> 00:14:03,250 >> Si je veux compiler, j'ai effectivement peut le faire dans deux endroits différents. 268 00:14:03,250 --> 00:14:07,090 Je peux soit faire dans une fenêtre de terminal, donc ce grand, ou vous pouvez 269 00:14:07,090 --> 00:14:09,860 utiliser gedit qui a fait un fenêtre de terminal ici. 270 00:14:09,860 --> 00:14:17,890 Ainsi, vous pouvez très bien faire juste votre code, et alors vous pouvez simplement taper 271 00:14:17,890 --> 00:14:20,670 quelle que soit ici, et essayez de le compiler. 272 00:14:20,670 --> 00:14:23,450 >> Alors, comment puis-je compiler le code? 273 00:14:23,450 --> 00:14:27,495 La meilleure façon que nous avons est d'utiliser faire, ce qui est une fonction qui 274 00:14:27,495 --> 00:14:29,590 est essentiellement va compiler votre code. 275 00:14:29,590 --> 00:14:34,170 Vous avez juste à dire faire bonjour, si «Faire» et le nom du programme. 276 00:14:34,170 --> 00:14:35,420 >> Oups. 277 00:14:35,420 --> 00:14:38,250 278 00:14:38,250 --> 00:14:39,280 C'est maladroit. 279 00:14:39,280 --> 00:14:41,738 >> LAUREN CARVALHO: Pouvez-vous [inaudible]? 280 00:14:41,738 --> 00:14:45,182 281 00:14:45,182 --> 00:14:45,990 >> LUCAS FREITAS: Désolé. 282 00:14:45,990 --> 00:14:49,960 Je ne l'ai pas, sauf dans les bon répertoire. 283 00:14:49,960 --> 00:14:52,130 Venez à la pratique, et maintenant enregistrer en tant que hello.c. 284 00:14:52,130 --> 00:14:54,750 Je suis désolé. 285 00:14:54,750 --> 00:14:56,250 Maintenant, il est sauvé. 286 00:14:56,250 --> 00:14:58,300 >> Permettez-moi de faire ls et être sûr que c'est ici. 287 00:14:58,300 --> 00:14:59,460 OK, maintenant il est ici. 288 00:14:59,460 --> 00:15:05,930 Alors maintenant, si je ne fais bonjour, il crache une beaucoup de choses, mais il donne juste 289 00:15:05,930 --> 00:15:08,870 moi une autre ligne pour le terminal, qui signifie qu'il a réussi. 290 00:15:08,870 --> 00:15:13,160 Alors maintenant, si je fais un ls de nouveau, j'ai effectivement voir ce fichier en vert, qui est le 291 00:15:13,160 --> 00:15:15,470 fichier exécutable. 292 00:15:15,470 --> 00:15:21,700 >> Et puis si je veux courir, tout ce qui Je dois faire est slash dot bonjour. 293 00:15:21,700 --> 00:15:25,830 Il va dire bonjour ici, donc c'est exactement ce que je lui demande pas. 294 00:15:25,830 --> 00:15:29,620 >> Il est une autre façon de compiler, qui utilise clang. 295 00:15:29,620 --> 00:15:35,740 Clang est juste un compilateur que nous avons, et il est un peu plus bavard à 296 00:15:35,740 --> 00:15:36,390 compiler. 297 00:15:36,390 --> 00:15:40,180 Mais cela fonctionne tout aussi bien. 298 00:15:40,180 --> 00:15:46,810 Donc, si je fais clang, puis-o, puis le nom que je veux donner à 299 00:15:46,810 --> 00:15:50,400 le fichier exécutable, alors disons «Bonjour». Et puis le fichier que je veux 300 00:15:50,400 --> 00:15:53,460 à compiler, hello.c. 301 00:15:53,460 --> 00:15:55,900 Il va aussi à compiler. 302 00:15:55,900 --> 00:15:59,020 Et vous avez le fichier ici, et Je peux exécuter ainsi. 303 00:15:59,020 --> 00:16:00,610 Donc, les deux d'entre eux travaillent. 304 00:16:00,610 --> 00:16:03,270 >> Cela fait-il sens? 305 00:16:03,270 --> 00:16:06,020 Vous avez des questions? 306 00:16:06,020 --> 00:16:09,020 >> PUBLIC: Pouvez-vous faire un zoom dans un peu? 307 00:16:09,020 --> 00:16:09,913 >> LUCAS FREITAS: Désolé? 308 00:16:09,913 --> 00:16:11,135 >> PUBLIC: Zoom? 309 00:16:11,135 --> 00:16:13,310 >> LAUREN CARVALHO: Je pense que vous peut tout commander en plus. 310 00:16:13,310 --> 00:16:14,295 >> LUCAS FREITAS: Commande quoi? 311 00:16:14,295 --> 00:16:16,060 >> LAUREN CARVALHO: Commande en plus. 312 00:16:16,060 --> 00:16:17,000 >> LUCAS FREITAS: Non 313 00:16:17,000 --> 00:16:19,350 >> LAUREN CARVALHO: Oh, ce n'est pas aller travailler parce que - 314 00:16:19,350 --> 00:16:25,548 c'est parce que nous avons mis la résolution pour cette chose. 315 00:16:25,548 --> 00:16:27,450 >> LUCAS FREITAS: Je ne sais pas pensons que nous pouvons agrandir 316 00:16:27,450 --> 00:16:30,852 317 00:16:30,852 --> 00:16:34,130 Oui, nous ne pouvons pas faire. 318 00:16:34,130 --> 00:16:36,200 Avez-vous une autre question? 319 00:16:36,200 --> 00:16:36,680 Désolé. 320 00:16:36,680 --> 00:16:39,170 >> PUBLIC: Pouvez-vous répéter bruit? 321 00:16:39,170 --> 00:16:40,630 >> LUCAS FREITAS: Le bruit? 322 00:16:40,630 --> 00:16:44,190 Clang est la même chose que marque, mais la différence est que je vais d'abord 323 00:16:44,190 --> 00:16:48,460 pour écrire clang, qui est la commande, alors je vais faire -0, tout ce qui est 324 00:16:48,460 --> 00:16:51,680 exactement ce que nous allons apprendre plus tard comme un drapeau. 325 00:16:51,680 --> 00:16:54,440 Il suffit donc de penser que vous avez toujours avoir à mettre l'option-o. 326 00:16:54,440 --> 00:16:58,690 >> Et puis d'abord, vous allez mettre le nom du fichier exécutable, 327 00:16:58,690 --> 00:17:00,680 essentiellement le fichier que vous êtes va créer. 328 00:17:00,680 --> 00:17:06,430 Donc je peux dire, par exemple, et hello2 le fichier que je veux compiler, 329 00:17:06,430 --> 00:17:07,800 qui est le fichier c.. 330 00:17:07,800 --> 00:17:09,240 C'est donc hello.c. 331 00:17:09,240 --> 00:17:10,871 Cela fait-il sens? 332 00:17:10,871 --> 00:17:12,635 >> PUBLIC: Bonjour quoi? 333 00:17:12,635 --> 00:17:13,076 Qu'est-ce que c'est? 334 00:17:13,076 --> 00:17:15,960 >> LUCAS FREITAS: Hello.c. 335 00:17:15,960 --> 00:17:19,849 Et si je compile, et si Je ne ls, j'ai aussi un 336 00:17:19,849 --> 00:17:22,010 hello2 que je viens compilé. 337 00:17:22,010 --> 00:17:26,339 Et si j'essaye de courir, il va faire exactement la même chose que bonjour, 338 00:17:26,339 --> 00:17:27,089 juste imprimer bonjour. 339 00:17:27,089 --> 00:17:31,660 >> PUBLIC: Comment venir à la marque vous pouvez mettre bonjour.c après? 340 00:17:31,660 --> 00:17:33,880 >> LUCAS FREITAS: En maquillage, vous ne pas avoir à mettre le. c. 341 00:17:33,880 --> 00:17:36,140 En maquillage, vous venez de dire le le nom du programme. 342 00:17:36,140 --> 00:17:37,750 Vous n'avez pas à dire. C. 343 00:17:37,750 --> 00:17:39,020 Mais pour clang, vous devriez. 344 00:17:39,020 --> 00:17:44,040 >> PUBLIC: Avec clang vous aussi avoir à ajouter le [inaudible] 345 00:17:44,040 --> 00:17:44,480 >> LAUREN CARVALHO: Ouais. 346 00:17:44,480 --> 00:17:46,180 Donc, vous avez également à la bibliothèque. 347 00:17:46,180 --> 00:17:51,170 >> LUCAS FREITAS: Oui, c'est quelque chose de nous allons utiliser plus tard. 348 00:17:51,170 --> 00:17:54,850 C'est ce qu'on appelle la liaison, et je pense que nous sommes va en parler plus tard. 349 00:17:54,850 --> 00:17:55,930 Une autre question? 350 00:17:55,930 --> 00:17:59,927 >> PUBLIC: Ne vous mettez un bruit de point de barre? 351 00:17:59,927 --> 00:18:01,060 >> LUCAS FREITAS: Non 352 00:18:01,060 --> 00:18:06,040 La barre de point est juste pour ouvrir le fichier exécutable. 353 00:18:06,040 --> 00:18:09,440 Donc, clang, vous écrivez simplement "clang", et alors la si vous voulez ouvrir le 354 00:18:09,440 --> 00:18:12,640 fichier exécutable que vous venez de compilé, alors vous n'avez dot 355 00:18:12,640 --> 00:18:13,780 slash et le nom. 356 00:18:13,780 --> 00:18:15,100 Cela fait-il sens? 357 00:18:15,100 --> 00:18:18,635 358 00:18:18,635 --> 00:18:22,435 >> AUDIENCE: Si vous deviez juste changement [Inaudible] à Bonjour tout le monde, pensez-vous 359 00:18:22,435 --> 00:18:23,870 avoir à le recompiler? 360 00:18:23,870 --> 00:18:24,750 >> LUCAS FREITAS: Ouais. 361 00:18:24,750 --> 00:18:36,650 si je veux dire, par exemple, "bonjour il, "je ne peux l'enregistrer en maintenant, et je 362 00:18:36,650 --> 00:18:38,020 suffit de compiler à nouveau. 363 00:18:38,020 --> 00:18:41,910 Alors permettez-moi de faire un make bonjour. 364 00:18:41,910 --> 00:18:48,490 Et si je fais bonjour, ça va dire "bonjour là." Fait sens? 365 00:18:48,490 --> 00:18:50,280 D'autres questions? 366 00:18:50,280 --> 00:18:54,384 >> PUBLIC: Avez-vous d'inclure le I / O standard pour coordonner le travail? 367 00:18:54,384 --> 00:18:55,480 >> LUCAS FREITAS: Ouais. 368 00:18:55,480 --> 00:18:58,050 Le standard E / S est essentiellement la bibliothèque qui a un 369 00:18:58,050 --> 00:19:00,050 mise en œuvre pour printf. 370 00:19:00,050 --> 00:19:03,450 371 00:19:03,450 --> 00:19:06,910 Alors que la bonne chose sur le supérieure comprend stdio. 372 00:19:06,910 --> 00:19:11,920 Celui inclut une bibliothèque qui a fait un tas de différents 373 00:19:11,920 --> 00:19:13,260 des outils que vous pouvez utiliser. 374 00:19:13,260 --> 00:19:13,480 un? 375 00:19:13,480 --> 00:19:17,820 D'entre eux est printf qui est une fonction que, fondamentalement, gravures 376 00:19:17,820 --> 00:19:21,290 messages à l'écran. 377 00:19:21,290 --> 00:19:23,200 >> D'autres questions? 378 00:19:23,200 --> 00:19:24,700 Non? 379 00:19:24,700 --> 00:19:25,060 OK. 380 00:19:25,060 --> 00:19:31,620 Donc, maintenant nous allons parler - 381 00:19:31,620 --> 00:19:33,948 >> LAUREN CARVALHO: Disons simplement aller au guide de style. 382 00:19:33,948 --> 00:19:35,896 Voulez-vous trouver juste il ici? 383 00:19:35,896 --> 00:19:37,880 >> LUCAS FREITAS: Alors, nous allons pour parler de style. 384 00:19:37,880 --> 00:19:47,006 385 00:19:47,006 --> 00:19:50,430 >> LAUREN CARVALHO: Oh, David n'a pas fini. 386 00:19:50,430 --> 00:19:51,230 OK. 387 00:19:51,230 --> 00:19:53,870 Pourquoi n'avons-nous pas revenir à le style à la fin? 388 00:19:53,870 --> 00:19:56,220 Il a effectivement été mis à jour que nous parlons. 389 00:19:56,220 --> 00:19:56,810 >> LUCAS FREITAS: Ouais. 390 00:19:56,810 --> 00:19:58,300 Voyons voie à David pour terminer que. 391 00:19:58,300 --> 00:20:07,150 392 00:20:07,150 --> 00:20:08,600 >> LAUREN CARVALHO: Can on passe réellement? 393 00:20:08,600 --> 00:20:14,920 394 00:20:14,920 --> 00:20:17,200 >> J'espère donc que tout le monde a été profiter de Scratch. 395 00:20:17,200 --> 00:20:21,950 Malheureusement, il est temps de s'éloigner de ce - 396 00:20:21,950 --> 00:20:25,280 malheureusement, il est temps de s'éloigner de ces jolis blocs de programmation 397 00:20:25,280 --> 00:20:28,530 à C. Mais heureusement, tous les programmation construit que vous avez 398 00:20:28,530 --> 00:20:32,370 travaille avec Scratch sont directement transposables à C, et nous sommes 399 00:20:32,370 --> 00:20:35,130 va commencer à en apprendre davantage sur certains d'entre eux en ce moment. 400 00:20:35,130 --> 00:20:39,200 Parlons d'abord sur les conditions dans les expressions booléennes. 401 00:20:39,200 --> 00:20:41,944 >> Ceci est en cours d'exécution dans les réserves puissance de la batterie. 402 00:20:41,944 --> 00:20:43,912 >> LUCAS FREITAS: Comment est qui ne fonctionne pas? 403 00:20:43,912 --> 00:20:47,850 404 00:20:47,850 --> 00:20:48,010 OK. 405 00:20:48,010 --> 00:20:50,256 Vous y allez, je vais faire la - 406 00:20:50,256 --> 00:20:53,700 407 00:20:53,700 --> 00:20:57,390 >> LAUREN CARVALHO: Donc les conditions sont importants car ils nous permettent de 408 00:20:57,390 --> 00:21:00,588 introduire la logique dans nos programmes. 409 00:21:00,588 --> 00:21:04,620 Voici un exemple d'une condition dans un programme C. 410 00:21:04,620 --> 00:21:06,130 Notons comment ce - 411 00:21:06,130 --> 00:21:11,324 Donc, dès ce bloc de condition ici, ce printf ne sera pas exécuté 412 00:21:11,324 --> 00:21:14,860 sauf si la condition dans le parenthèses, n supérieur à 0, 413 00:21:14,860 --> 00:21:16,800 évalue à true. 414 00:21:16,800 --> 00:21:20,780 >> Maintenant, toutes les conditions au sein de f états sont des expressions booléennes, 415 00:21:20,780 --> 00:21:22,970 ce qui signifie qu'il n'y n'y a que deux options. 416 00:21:22,970 --> 00:21:26,856 Ils pourraient soit la valeur true, ou ils peuvent évaluer la valeur false. 417 00:21:26,856 --> 00:21:33,174 Donc ici, si cela fait sens, non? n supérieur à 0, signifie qu'il s'agit d'un positif 418 00:21:33,174 --> 00:21:41,160 nombre, ce qui signifie qu'il va imprimer sur "vous avez choisi un nombre positif." 419 00:21:41,160 --> 00:21:44,630 >> Il ya beaucoup d'expressions booléennes qui peut former la condition d'une 420 00:21:44,630 --> 00:21:47,190 déclaration d'initialisation. 421 00:21:47,190 --> 00:21:48,520 Nous avons le moins. 422 00:21:48,520 --> 00:21:50,950 Ceci est inférieure ou égale à. 423 00:21:50,950 --> 00:21:52,200 C'est juste une drôle [inaudible]. 424 00:21:52,200 --> 00:21:54,800 425 00:21:54,800 --> 00:22:01,630 Si vous voulez le printf de se produire si c'est supérieur ou égal à 0, alors 426 00:22:01,630 --> 00:22:03,345 vous choisissez ce. 427 00:22:03,345 --> 00:22:07,750 Donc, l'égalité de ajoute les juste après le signe supérieur. 428 00:22:07,750 --> 00:22:12,030 >> Égal égale, ce qui est différent de juste un signe égal, égal égal 429 00:22:12,030 --> 00:22:16,430 signifie en fait que tout ce qui est sur la côté gauche de la présente est la même que 430 00:22:16,430 --> 00:22:20,610 ce qui est sur le côté droit de cette où un signe égal, c'est quoi? 431 00:22:20,610 --> 00:22:23,333 Ce qui est juste un signe égal? 432 00:22:23,333 --> 00:22:24,275 Affectation. 433 00:22:24,275 --> 00:22:25,985 >> LUCAS FREITAS: Qui a dit cela? 434 00:22:25,985 --> 00:22:27,170 Est-ce que des bonbons? 435 00:22:27,170 --> 00:22:27,370 Oh, non. 436 00:22:27,370 --> 00:22:27,885 Désolé. 437 00:22:27,885 --> 00:22:28,210 Désolé. 438 00:22:28,210 --> 00:22:30,400 Vous obtenez deux bonbons. 439 00:22:30,400 --> 00:22:31,510 Oh, OK! 440 00:22:31,510 --> 00:22:33,046 Trois personnes se bonbons! 441 00:22:33,046 --> 00:22:37,393 >> LAUREN CARVALHO: Donc celui-ci ici est l'opérateur bang précédentes 442 00:22:37,393 --> 00:22:40,240 le signe égal, si ce n'est pas égal à. 443 00:22:40,240 --> 00:22:46,560 Donc, si cela était dans mon état, le corps de l'état serait 444 00:22:46,560 --> 00:22:49,615 exécuter que si tout ce que est dans la gauche n'est pas la même que 445 00:22:49,615 --> 00:22:52,540 ce qui est sur la droite. 446 00:22:52,540 --> 00:22:57,680 >> Je peux aussi avoir juste l' point d'exclamation. 447 00:22:57,680 --> 00:23:01,250 En fait, nous verrons dans une fonction glisser comment cela pourrait être utilisé. 448 00:23:01,250 --> 00:23:03,830 >> LUCAS FREITAS: Des questions? 449 00:23:03,830 --> 00:23:06,450 Non? 450 00:23:06,450 --> 00:23:10,460 >> LAUREN CARVALHO: Nous pouvons combiner ces Expressions booléennes pour construire plus 451 00:23:10,460 --> 00:23:12,500 instructions conditionnelles complexes. 452 00:23:12,500 --> 00:23:19,680 Donc ici, si tout ce qui est sur la gauche côté des doubles barres ou 453 00:23:19,680 --> 00:23:23,160 tout ce qui est sur le côté droit de les doubles barres évalue à true, 454 00:23:23,160 --> 00:23:25,700 puis nous affichons invalide. 455 00:23:25,700 --> 00:23:29,503 Et puis ici, si tout ce qui est sur le côté gauche des deux 456 00:23:29,503 --> 00:23:33,480 perluètes et tout ce qui est sur la droite côté des deux esperluettes 457 00:23:33,480 --> 00:23:37,470 évalue à vrai, alors nous imprimons valide. 458 00:23:37,470 --> 00:23:42,195 Les doubles barres sont appelées la logique OU opérateur doubles esperluettes sont 459 00:23:42,195 --> 00:23:44,190 appelé l'opérateur logique ET. 460 00:23:44,190 --> 00:23:44,648 Oui? 461 00:23:44,648 --> 00:23:47,850 >> PUBLIC: Sont-ce seulement minuscules l's? 462 00:23:47,850 --> 00:23:48,620 >> LAUREN CARVALHO: Non 463 00:23:48,620 --> 00:23:50,890 Ils sont en fait - 464 00:23:50,890 --> 00:23:55,134 vous connaissez le jeu, comme dessus de votre clé de retour? 465 00:23:55,134 --> 00:23:56,585 Voyez-vous cela? 466 00:23:56,585 --> 00:23:57,940 >> LUCAS FREITAS: Il s'agit en fait d'un bar. 467 00:23:57,940 --> 00:24:02,100 >> LAUREN CARVALHO: Il s'agit en fait seulement deux bars. 468 00:24:02,100 --> 00:24:05,724 >> PUBLIC: Pouvez-vous utiliser la égal égal pour les chaînes? 469 00:24:05,724 --> 00:24:07,000 >> LUCAS FREITAS: Non 470 00:24:07,000 --> 00:24:09,130 Nous allons apprendre plus tard quelque chose. 471 00:24:09,130 --> 00:24:10,735 >> LAUREN CARVALHO: Il ya une fonction que vous pouvez utiliser. 472 00:24:10,735 --> 00:24:12,644 Mais vous n'avez pas à craindre que l'instant. 473 00:24:12,644 --> 00:24:15,530 474 00:24:15,530 --> 00:24:18,270 >> Que faire si je donne ce programme le numéro 5? 475 00:24:18,270 --> 00:24:20,850 Que va imprimer? 476 00:24:20,850 --> 00:24:22,100 >> PUBLIC: [inaudible] 477 00:24:22,100 --> 00:24:27,780 478 00:24:27,780 --> 00:24:28,275 valide. 479 00:24:28,275 --> 00:24:29,770 >> LAUREN CARVALHO: valide? 480 00:24:29,770 --> 00:24:30,135 Ouais. 481 00:24:30,135 --> 00:24:34,092 Je ne sais pas qui a obtenu que. 482 00:24:34,092 --> 00:24:35,036 >> [Rires] 483 00:24:35,036 --> 00:24:37,990 >> LAUREN CARVALHO: C'est le genre effrayant [inaudible]. 484 00:24:37,990 --> 00:24:40,900 >> PUBLIC: Donc le double et, cela signifie juste et? 485 00:24:40,900 --> 00:24:41,740 >> LAUREN CARVALHO: Ouais. 486 00:24:41,740 --> 00:24:46,160 Donc, le numéro 5 est à la fois une plus grande à 0 et inférieur à 100. 487 00:24:46,160 --> 00:24:48,970 >> PUBLIC: Pourquoi serait-il un? 488 00:24:48,970 --> 00:24:51,350 >> LAUREN CARVALHO: Une esperluette est fait quelque chose de différent, et c'est 489 00:24:51,350 --> 00:24:53,390 un opérateur de bits, que vous apprendre plus tard. 490 00:24:53,390 --> 00:24:58,250 Mais c'est quelque chose qui fonctionne réellement avec les bits d'un nombre donné. 491 00:24:58,250 --> 00:25:00,872 >> LUCAS FREITAS: Il suffit de penser qu'ils ne le font pas à vous inquiéter à ce sujet pour le moment. 492 00:25:00,872 --> 00:25:04,590 >> LAUREN CARVALHO: Je pense que c'est probablement venir la semaine prochaine. 493 00:25:04,590 --> 00:25:06,420 >> LUCAS FREITAS: D'autres questions? 494 00:25:06,420 --> 00:25:07,990 Non? 495 00:25:07,990 --> 00:25:12,480 >> LAUREN CARVALHO: Donc, nous avons vu que l' il peut bloquer autonome, mais il peut 496 00:25:12,480 --> 00:25:15,370 également être couplé avec et autre bloc. 497 00:25:15,370 --> 00:25:18,880 Donc dans ce cas, si n est supérieur à 0, nous allons imprimer "Vous 498 00:25:18,880 --> 00:25:23,855 choisir un nombre positif. "autre, ce qui signifie si elle est de 0 ou si elle est moins 499 00:25:23,855 --> 00:25:27,170 à 0, nous allons imprimer, "Vous avez choisi un nombre négatif." 500 00:25:27,170 --> 00:25:30,390 >> La chose intéressante ici est que ces sont exclusifs les uns des autres. 501 00:25:30,390 --> 00:25:33,940 Il ne va jamais être un cas et dans lequel ce ce 502 00:25:33,940 --> 00:25:35,544 peut à la fois imprimer. 503 00:25:35,544 --> 00:25:38,190 504 00:25:38,190 --> 00:25:41,030 >> Je suis sûr que vous avez travaillé avec le if / else boîte à Scratch, ce qui devrait être 505 00:25:41,030 --> 00:25:42,392 assez familier. 506 00:25:42,392 --> 00:25:42,874 Oui? 507 00:25:42,874 --> 00:25:48,522 >> PUBLIC: Avons-nous besoin de l'espace entre int n est égal GetInt espace, puis dans le 508 00:25:48,522 --> 00:25:49,460 if? 509 00:25:49,460 --> 00:25:51,565 Comme nous utilisons une ligne [inaudible] 510 00:25:51,565 --> 00:25:52,790 >> LAUREN CARVALHO: Oh, l'espace ici? 511 00:25:52,790 --> 00:25:56,742 >> PUBLIC: Comme ça, mais vous doublez l'espace. 512 00:25:56,742 --> 00:25:58,718 Non, monter. 513 00:25:58,718 --> 00:25:59,706 Allez-vous. 514 00:25:59,706 --> 00:26:00,610 >> LUCAS FREITAS: Juste la ligne? 515 00:26:00,610 --> 00:26:01,140 >> PUBLIC: Ouais. 516 00:26:01,140 --> 00:26:02,870 >> LUCAS FREITAS: Juste la ligne blanche? 517 00:26:02,870 --> 00:26:03,270 >> PUBLIC: Ouais. 518 00:26:03,270 --> 00:26:04,070 >> LAUREN CARVALHO: ligne en blanc? 519 00:26:04,070 --> 00:26:04,470 Non. 520 00:26:04,470 --> 00:26:06,320 C'est juste une chose stylistique. 521 00:26:06,320 --> 00:26:09,360 >> LUCAS FREITAS: C'est comme parfois vous sautez quelques lignes donc 522 00:26:09,360 --> 00:26:12,330 que le code ne ressemble pas un énorme bloc de texte. 523 00:26:12,330 --> 00:26:15,800 >> LAUREN CARVALHO: Je pense que ce qui s'est passé était que nous avions un commentaire ici, mais je 524 00:26:15,800 --> 00:26:18,220 il a fallu de sorte que vous les gars auraient à réfléchir sur le code plutôt 525 00:26:18,220 --> 00:26:19,920 que juste lire mon commentaire. 526 00:26:19,920 --> 00:26:24,170 En général, l'espacement sera pas vraiment affecter la façon dont votre programme s'exécute. 527 00:26:24,170 --> 00:26:26,070 Il s'agit plus d'une chose stylistique. 528 00:26:26,070 --> 00:26:29,460 Et quand nous avons le guide de style mis à jour et prêt à aller à la fin de 529 00:26:29,460 --> 00:26:33,260 supersection, nous parlerons à ce sujet plus. 530 00:26:33,260 --> 00:26:34,660 >> Il ya quelque chose de mal à ce programme, non? 531 00:26:34,660 --> 00:26:38,980 Parce que 0 n'est pas vraiment un nombre négatif. 532 00:26:38,980 --> 00:26:40,270 Donc, nous allons voir si nous pouvons résoudre ce problème. 533 00:26:40,270 --> 00:26:45,710 534 00:26:45,710 --> 00:26:48,370 >> Vous pouvez probablement imaginer avec ce dit, non? 535 00:26:48,370 --> 00:26:52,850 Si n est supérieur à 0, nous imprimons, "Vous choisir un nombre positif. "Puis d'autre 536 00:26:52,850 --> 00:26:57,340 si n est inférieur à 0, "Vous avez choisi une nombre négatif. "else" Vous avez choisi 537 00:26:57,340 --> 00:27:01,040 0. " 538 00:27:01,040 --> 00:27:06,030 >> Maintenant la chose intéressante est que cela pourrait durer éternellement. 539 00:27:06,030 --> 00:27:10,020 Vous pouvez avoir un si bloc, un autre si bloc, un autre bloc else if, else if, 540 00:27:10,020 --> 00:27:14,790 else if, else if, else, essentiellement aussi longtemps que vous le souhaitez. 541 00:27:14,790 --> 00:27:17,110 Et lorsqu'ils sont construits comme ça, ceux-ci vont tous être 542 00:27:17,110 --> 00:27:19,206 exclusives les unes des autres. 543 00:27:19,206 --> 00:27:19,650 Oui? 544 00:27:19,650 --> 00:27:24,130 >> PUBLIC: Alors pourquoi ne pas vous suffit d'utiliser une autre si, au lieu de [inaudible]? 545 00:27:24,130 --> 00:27:26,990 >> LAUREN CARVALHO: Dans ce cas, oui, je pourrait utiliser un autre cas, et il serait 546 00:27:26,990 --> 00:27:29,190 absolument parfait parce que le conditions se sont 547 00:27:29,190 --> 00:27:30,600 exclusives les unes des autres. 548 00:27:30,600 --> 00:27:33,560 Mais si les conditions n'étaient pas exclusive de l'autre, ce serait 549 00:27:33,560 --> 00:27:37,596 les forcer à jamais les deux évaluer, si cela fait sens. 550 00:27:37,596 --> 00:27:44,195 >> PUBLIC: Dans ce cas, pourrions-nous nid la seconde, si dans le premier cas? 551 00:27:44,195 --> 00:27:46,160 >> LAUREN CARVALHO: Si - qu'est-ce que tu veux dire? 552 00:27:46,160 --> 00:27:49,660 >> PUBLIC: Si les deux conditions ne s'excluent pas mutuellement? 553 00:27:49,660 --> 00:27:54,700 >> LAUREN CARVALHO: Si les conditions ne s'excluent pas mutuellement? 554 00:27:54,700 --> 00:27:58,000 Mais vous voulez seulement un d'entre eux pour courir? 555 00:27:58,000 --> 00:28:00,260 >> PUBLIC: Vous voulez juste si, au lieu d'autre. 556 00:28:00,260 --> 00:28:01,020 >> LAUREN CARVALHO: Ouais. 557 00:28:01,020 --> 00:28:03,630 Il y aura toujours d'être beaucoup de façons que vous pouvez faire cela. 558 00:28:03,630 --> 00:28:06,600 Vous pouvez certainement les imbriquer. 559 00:28:06,600 --> 00:28:10,390 Et vous le verrez dans une diapositive avenir vous pouvez avoir plusieurs ifs, une seule 560 00:28:10,390 --> 00:28:11,680 après l'autre. 561 00:28:11,680 --> 00:28:14,840 Mais c'est un moyen de logique organiser le flux de votre programme. 562 00:28:14,840 --> 00:28:18,000 >> LUCAS FREITAS: Et il ya une plus chose, c'est que vous avez demandé de mettre 563 00:28:18,000 --> 00:28:20,110 si et puis un autre si. 564 00:28:20,110 --> 00:28:25,240 Cela fonctionne parfaitement, mais il est mauvais conception, car, fondamentalement, si vous 565 00:28:25,240 --> 00:28:29,320 vérifier si la première, et vous remarquez que le nombre est supérieur à 0, vous 566 00:28:29,320 --> 00:28:30,660 peut juste finir le programme. 567 00:28:30,660 --> 00:28:33,080 Vous n'avez pas à vérifier si il est inférieur à 0, non? 568 00:28:33,080 --> 00:28:37,510 >> Mais si vous ne si si, ça va de vérifier à la fois, tandis que si je le fais si c'est autre chose, 569 00:28:37,510 --> 00:28:39,260 il va vérifier si il est supérieur à 0. 570 00:28:39,260 --> 00:28:43,500 Si c'est le cas, ça ne va pas de même regarder les autres lignes du code. 571 00:28:43,500 --> 00:28:48,560 Donc, vous êtes essentiellement le vérifier comme deux fois inutilement, c'est pourquoi nous 572 00:28:48,560 --> 00:28:50,750 faire si d'autre si. 573 00:28:50,750 --> 00:28:52,350 D'autres questions? 574 00:28:52,350 --> 00:28:56,547 >> PUBLIC: Donc la fonctionnalité de l'autre, si c'est le même que 575 00:28:56,547 --> 00:28:57,790 si c'était juste si? 576 00:28:57,790 --> 00:28:58,470 >> LAUREN CARVALHO: Non 577 00:28:58,470 --> 00:29:02,720 Vous allez vraiment voir dans mon prochain glisser un exemple dans lequel il peut 578 00:29:02,720 --> 00:29:03,270 être différent. 579 00:29:03,270 --> 00:29:05,690 Dans ce cas, il est presque le même. 580 00:29:05,690 --> 00:29:10,190 581 00:29:10,190 --> 00:29:15,410 >> Donc, ici, nous avons un exemple de multiples si les états, et la 582 00:29:15,410 --> 00:29:20,020 fonctionnalité n'est pas le même comme si je venais de dire si 583 00:29:20,020 --> 00:29:23,120 autre, si bien, si d'autre. 584 00:29:23,120 --> 00:29:26,970 Disons simplement penser à ce que serait imprimer si j'entre dans le numéro 95 585 00:29:26,970 --> 00:29:27,715 dans ce programme. 586 00:29:27,715 --> 00:29:29,764 >> PUBLIC: [inaudible] 587 00:29:29,764 --> 00:29:31,102 >> LAUREN CARVALHO: Et alors? 588 00:29:31,102 --> 00:29:32,340 >> PUBLIC: [inaudible] 589 00:29:32,340 --> 00:29:33,680 >> LAUREN CARVALHO: Ouais. 590 00:29:33,680 --> 00:29:37,430 Donc dans ce cas, ces conditions sont pas mutuellement exclusifs les uns des autres. 591 00:29:37,430 --> 00:29:41,040 Et parce qu'il n'y a rien qui empêche cette condition à partir de l'évaluation si ce 592 00:29:41,040 --> 00:29:44,730 on a déjà, ils sont juste tout va imprimer. 593 00:29:44,730 --> 00:29:46,222 Alors, comment pourrais-je résoudre ce problème? 594 00:29:46,222 --> 00:29:47,608 >> PUBLIC: ifs d'autre? 595 00:29:47,608 --> 00:29:48,910 >> LAUREN CARVALHO: Vous pouvez utiliser d'autre si. 596 00:29:48,910 --> 00:29:50,590 Je pouvais changer l'ordre de ceux-ci, non? 597 00:29:50,590 --> 00:29:53,800 Si je l'ai fait une première? 598 00:29:53,800 --> 00:29:55,120 Eh bien, en fait, non. 599 00:29:55,120 --> 00:29:57,100 Cela ne fonctionnera pas pour 95. 600 00:29:57,100 --> 00:29:58,490 >> LUCAS FREITAS: Non, seulement les ifs d'autre. 601 00:29:58,490 --> 00:30:01,720 >> LAUREN CARVALHO: La ailleurs ifs aurait résolu ce. 602 00:30:01,720 --> 00:30:07,050 Est-ce que dissiper la confusion entre IFS et IFS autre? 603 00:30:07,050 --> 00:30:11,480 >> PUBLIC: Je voulais juste vous demander, si vous avez utilisé d'autre si, il s'arrêter? 604 00:30:11,480 --> 00:30:11,840 >> LAUREN CARVALHO: Droit. 605 00:30:11,840 --> 00:30:13,330 Alors que ce premier. 606 00:30:13,330 --> 00:30:16,535 Si je suis entré dans le nombre 95, mais cette aurait imprimé, et il n'a jamais 607 00:30:16,535 --> 00:30:17,934 aurait progressé au autre. 608 00:30:17,934 --> 00:30:22,570 >> LUCAS FREITAS: Tout type de penser comme si cela se produit, le faire. 609 00:30:22,570 --> 00:30:26,990 L'autre est comme si pas, Chèque pour cela, puis le faire. 610 00:30:26,990 --> 00:30:28,690 Donc, comme ils sont tous mutuellement exclusif. 611 00:30:28,690 --> 00:30:30,270 Vous ne pouvez pas obtenir en deux sur ceux-ci. 612 00:30:30,270 --> 00:30:32,800 613 00:30:32,800 --> 00:30:37,630 >> PUBLIC: Pouvez-vous utiliser une logique ET pour cette situation? 614 00:30:37,630 --> 00:30:39,370 >> LAUREN CARVALHO: Ouais. 615 00:30:39,370 --> 00:30:41,400 C'est un autre moyen que nous pourrions ont résolu ce problème. 616 00:30:41,400 --> 00:30:43,470 Nous aurions pu défini cuisinières, non? 617 00:30:43,470 --> 00:30:49,410 Donc j'aurais pu dire si n est supérieur de 90 et de moins de - 618 00:30:49,410 --> 00:30:52,135 Eh bien, je suppose que celui-ci n'a pas vraiment d'importance, mais ici, j'aurais pu dire si 619 00:30:52,135 --> 00:30:53,960 n est supérieur à 80 et inférieur à 90. 620 00:30:53,960 --> 00:30:55,570 Supérieur à 70, inférieur à 80. 621 00:30:55,570 --> 00:30:59,077 Cela aurait également travaillé. 622 00:30:59,077 --> 00:30:59,891 >> [Rires] 623 00:30:59,891 --> 00:31:00,980 >> LUCAS FREITAS: Elle a peur. 624 00:31:00,980 --> 00:31:02,070 >> LAUREN CARVALHO: N'ayez pas peur. 625 00:31:02,070 --> 00:31:04,570 >> LUCAS FREITAS: Ce n'est pas qu'il sera mauvais. 626 00:31:04,570 --> 00:31:08,630 C'est juste que c'est inutilement verbose. 627 00:31:08,630 --> 00:31:13,480 Comme en informatique, on devrait être aussi simple que possible aussi longtemps que 628 00:31:13,480 --> 00:31:14,730 vous avez la fonctionnalité. 629 00:31:14,730 --> 00:31:16,725 630 00:31:16,725 --> 00:31:17,835 Voulez-vous les bonbons? 631 00:31:17,835 --> 00:31:19,084 >> PUBLIC: Ne pas en avoir besoin. 632 00:31:19,084 --> 00:31:20,340 >> LAUREN CARVALHO: Vous faites peur tout le monde, Lucas. 633 00:31:20,340 --> 00:31:21,590 >> LUCAS FREITAS: Désolé. 634 00:31:21,590 --> 00:31:24,650 635 00:31:24,650 --> 00:31:29,510 >> LAUREN CARVALHO: David a également mentionné ceux-ci passent déclaration en classe. 636 00:31:29,510 --> 00:31:33,180 Fondamentalement, ce qui se passe est le commutateur déclaration prend une variable. 637 00:31:33,180 --> 00:31:35,760 Dans ce cas, nous prenons un nombre entier. 638 00:31:35,760 --> 00:31:39,220 >> Si l'entier est 1, nous allons imprimer, "Vous avez choisi un petit 639 00:31:39,220 --> 00:31:42,000 nombre. "Si l'entier est 1,« Vous choisir un nombre moyen ". Si le 640 00:31:42,000 --> 00:31:45,730 entier est 3, "Vous avez choisi une grande nombre. "Et j'ai aussi eu un cas de défaut 641 00:31:45,730 --> 00:31:50,020 ici-bas, mais il ne montre pas vous, ce qui est dommage. 642 00:31:50,020 --> 00:31:53,120 643 00:31:53,120 --> 00:31:55,360 >> Fondamentalement, il s'agit juste d' une autre syntaxe. 644 00:31:55,360 --> 00:31:58,640 Nous aurions pu en œuvre cette exacte même chose avec si et else if 645 00:31:58,640 --> 00:31:59,390 états. 646 00:31:59,390 --> 00:32:05,530 Mais quand il ya beaucoup de différents conditions et beaucoup d'autre 647 00:32:05,530 --> 00:32:10,350 variations sur ce que vous voulez faire pour chaque entrée, il s'agit d'une option. 648 00:32:10,350 --> 00:32:13,262 Donc, c'est juste une bonne syntaxe savoir. 649 00:32:13,262 --> 00:32:15,099 Oui? 650 00:32:15,099 --> 00:32:21,380 >> PUBLIC: Pourquoi n'est-il pas une barre oblique inverse n dans le premier? 651 00:32:21,380 --> 00:32:23,340 >> LAUREN CARVALHO: Pour là-haut? 652 00:32:23,340 --> 00:32:27,600 Il n'y a pas contre-oblique n là-haut parce que le GetInt - 653 00:32:27,600 --> 00:32:30,140 si vous essayez, ça va vous donner ce message. 654 00:32:30,140 --> 00:32:32,290 Donnez-moi un nombre entier compris entre 1 et 3. 655 00:32:32,290 --> 00:32:35,550 Et si je mets le jeu n, il serait me prendre à la ligne suivante, mais je ne 656 00:32:35,550 --> 00:32:38,690 voulaient qu'ils tapent l'entier juste après la virgule. 657 00:32:38,690 --> 00:32:40,120 Vous auriez pu mettre le jeu n. 658 00:32:40,120 --> 00:32:42,374 Ce n'est pas une grosse affaire. 659 00:32:42,374 --> 00:32:43,288 Ouais? 660 00:32:43,288 --> 00:32:50,525 >> PUBLIC: Pour que ce code, est-ce cas, est que parce 661 00:32:50,525 --> 00:32:51,760 c'est le premier cas? 662 00:32:51,760 --> 00:32:52,260 Parce que - 663 00:32:52,260 --> 00:32:53,400 >> LAUREN CARVALHO: Non, non, non. 664 00:32:53,400 --> 00:32:56,480 Donc ce n'est me donner un nombre entier entre 1 et 3. 665 00:32:56,480 --> 00:32:59,070 Si n est 1, j'imprime cela. 666 00:32:59,070 --> 00:33:02,740 Si j'avais demandé des lettres, je pourrais avoir dit de me donner une lettre comprise entre A 667 00:33:02,740 --> 00:33:04,935 et C. Alors ce serait le cas A. 668 00:33:04,935 --> 00:33:05,910 >> PUBLIC: [inaudible]. 669 00:33:05,910 --> 00:33:08,090 L'affaire serait juste [inaudible] 670 00:33:08,090 --> 00:33:11,260 >> LAUREN CARVALHO: Ouais, c'est ça. 671 00:33:11,260 --> 00:33:11,550 Ouais? 672 00:33:11,550 --> 00:33:14,861 >> PUBLIC: Que faire si vous voulez avoir plus d'une expression relationnelle? 673 00:33:14,861 --> 00:33:17,645 Ainsi, au lieu de dire n est égal à 1, [inaudible] 674 00:33:17,645 --> 00:33:21,050 n est supérieur à 1 dans le premier cas,? 675 00:33:21,050 --> 00:33:26,630 >> LAUREN CARVALHO: En fait, si je ne fais pas définir certains de ces cas, ce serait 676 00:33:26,630 --> 00:33:28,500 être transporter vers le bas. 677 00:33:28,500 --> 00:33:30,680 Donc en fait, c'est peut-être pas ce que vous demandez. 678 00:33:30,680 --> 00:33:36,240 >> LUCAS FREITAS: Je pense qu'elle demandant si le cas était n supérieur à 0, cas 679 00:33:36,240 --> 00:33:37,150 inférieur à 0. 680 00:33:37,150 --> 00:33:39,210 >> LAUREN CARVALHO: Peut-être que l'interrupteur déclaration n'est pas vraiment ce que vous voulez 681 00:33:39,210 --> 00:33:39,880 à utiliser dans ce cas. 682 00:33:39,880 --> 00:33:42,420 >> LUCAS FREITAS: L'instruction switch est juste pour la valeur, si vous vérifiez de 683 00:33:42,420 --> 00:33:45,370 la valeur est comme ceci ou cela. 684 00:33:45,370 --> 00:33:47,025 Donc vous ne pouvez pas réellement poser des conditions. 685 00:33:47,025 --> 00:33:50,988 686 00:33:50,988 --> 00:33:55,920 >> PUBLIC: Que faire si la personne types avec [inaudible]? 687 00:33:55,920 --> 00:33:58,240 >> LAUREN CARVALHO: Cela aurait été mon cas de défaut, qui, malheureusement, 688 00:33:58,240 --> 00:33:58,910 vous ne pouvez pas voir. 689 00:33:58,910 --> 00:34:02,240 >> LUCAS FREITAS: [inaudible] leur faire voir. 690 00:34:02,240 --> 00:34:03,690 >> LAUREN CARVALHO: En fait, vous savez quoi? 691 00:34:03,690 --> 00:34:07,795 Allons juste à étudier 50, et je vais juste un zoom sur les lames sur étude 692 00:34:07,795 --> 00:34:10,610 50, parce que c'est tout simplement ennuyeux. 693 00:34:10,610 --> 00:34:14,938 Alors laissez-moi aller effectivement à l'état. 694 00:34:14,938 --> 00:34:17,860 Ce va juste prendre un peu de temps. 695 00:34:17,860 --> 00:34:26,940 696 00:34:26,940 --> 00:34:27,840 >> Très bien. 697 00:34:27,840 --> 00:34:29,590 Donc, je suis désolé. 698 00:34:29,590 --> 00:34:33,625 Au moins maintenant, nous serons en mesure de voir tout sans lui couper. 699 00:34:33,625 --> 00:34:36,230 700 00:34:36,230 --> 00:34:36,969 Très bien. 701 00:34:36,969 --> 00:34:43,800 >> Donc, si l'on met en 10, nous aurions par défaut ici pour mon cas de défaut, et je 702 00:34:43,800 --> 00:34:46,510 serait tout simplement imprimer invalide parce que je leur a demandé d'entrer un nombre entier 703 00:34:46,510 --> 00:34:49,460 entre 1 et 3. 704 00:34:49,460 --> 00:34:50,650 D'autres questions? 705 00:34:50,650 --> 00:34:51,081 Ouais? 706 00:34:51,081 --> 00:34:57,590 >> PUBLIC: Disons que pour un cas, cas trois, que vous vouliez qu'il soit tout le 707 00:34:57,590 --> 00:35:00,950 même chose, si vous avez choisi un certain nombre ce n'est pas un nombre moyen. 708 00:35:00,950 --> 00:35:03,840 Dans ce cas, serait-il superflu? 709 00:35:03,840 --> 00:35:08,371 Souhaitez-vous changez juste le texte à la fois d'entre eux, ou y aurait-il une certaine 710 00:35:08,371 --> 00:35:08,617 redondance? 711 00:35:08,617 --> 00:35:11,920 Est-il possible de combiner [Inaudible]? 712 00:35:11,920 --> 00:35:15,810 >> LAUREN CARVALHO: Il ya des façons de les combiner, mais je crois que vous pouvez 713 00:35:15,810 --> 00:35:18,730 seulement combiner adjacentes. 714 00:35:18,730 --> 00:35:22,250 Donc, si je n'ai pas défini tout pour le cas de deux, ce serait 715 00:35:22,250 --> 00:35:24,130 s'appliquer aux deux cas. 716 00:35:24,130 --> 00:35:28,110 Oh, si je ne mets rien pour le cas un, cela s'applique à la fois 717 00:35:28,110 --> 00:35:30,620 cas un et deux. 718 00:35:30,620 --> 00:35:33,616 Si cela fait sens. 719 00:35:33,616 --> 00:35:35,872 >> PUBLIC: Pouvez-vous répéter cette question? 720 00:35:35,872 --> 00:35:36,670 >> LUCAS FREITAS: OK. 721 00:35:36,670 --> 00:35:39,950 Si vous avez fait essentiellement, comme, vous avez la même chose, mais vous ne mettez pas 722 00:35:39,950 --> 00:35:46,820 quoi que ce soit ici, vous seriez soit pour Si un ou deux cas, le faire. 723 00:35:46,820 --> 00:35:47,930 Droite? 724 00:35:47,930 --> 00:35:54,010 Et cette rupture signifie que si vous obtenez dans ce cas, laissez simplement. 725 00:35:54,010 --> 00:35:55,030 C'est ce que signifie le frein. 726 00:35:55,030 --> 00:35:59,755 Donc, si je l'ai fait, vous regardez, c'est cas-ci, et vous voulez bien le faire. 727 00:35:59,755 --> 00:36:02,110 Si c'était le cas de deux, il serait également juste venir ici et faire cela. 728 00:36:02,110 --> 00:36:03,544 >> PUBLIC: Mais vous pouvez le faire? 729 00:36:03,544 --> 00:36:05,140 Si il ya quelque chose pour cas de deux [inaudible] 730 00:36:05,140 --> 00:36:07,095 >> LAUREN CARVALHO: Je ne crois pas vous pouvez le faire. 731 00:36:07,095 --> 00:36:09,380 Je ne pense pas que vous pouvez sauter autour. 732 00:36:09,380 --> 00:36:11,070 Pouvez-vous faire cela, Rob? 733 00:36:11,070 --> 00:36:13,300 Je ne le pense pas. 734 00:36:13,300 --> 00:36:16,548 >> PUBLIC: Donc un seul numéro peut aller après une affaire, non? 735 00:36:16,548 --> 00:36:21,410 Il ne peut y avoir un cas, virgule, deux? 736 00:36:21,410 --> 00:36:21,970 >> LUCAS FREITAS: Non, vous ne pouvez pas. 737 00:36:21,970 --> 00:36:25,085 Vous ne pouvez pas vraiment. 738 00:36:25,085 --> 00:36:28,770 >> LAUREN CARVALHO: Je veux dire, le point est c'est une option, et cela pourrait ne pas 739 00:36:28,770 --> 00:36:31,940 s'adapter à votre cas d'utilisation, alors vous utiliserait la si les conditions. 740 00:36:31,940 --> 00:36:33,906 >> PUBLIC: Alors, pourquoi le feriez-vous? 741 00:36:33,906 --> 00:36:34,314 Le commutateur? 742 00:36:34,314 --> 00:36:38,540 >> LAUREN CARVALHO: Je voudrais utiliser ce si vous avez très défini - 743 00:36:38,540 --> 00:36:39,730 effectivement, Lucas, est vous bloquez. 744 00:36:39,730 --> 00:36:40,982 >> LUCAS FREITAS: Oh, désolé. 745 00:36:40,982 --> 00:36:44,200 >> LAUREN CARVALHO: Si vous avez de très comportements définis que vous voulez pour 746 00:36:44,200 --> 00:36:48,105 chaque entrée, il peut s'agir d'un peu plus concis que d'écrire 747 00:36:48,105 --> 00:36:49,530 une instruction if pour chacun. 748 00:36:49,530 --> 00:36:51,210 >> PUBLIC: Qu'est-ce que la break dire encore? 749 00:36:51,210 --> 00:36:53,180 >> LAUREN CARVALHO: La rupture signifie arrêter. 750 00:36:53,180 --> 00:36:56,860 Rappelez-vous, si je n'ai pas eu cette rupture ici, nous aurions juste tombé 751 00:36:56,860 --> 00:36:58,110 dans le cas suivant. 752 00:36:58,110 --> 00:37:00,820 >> LUCAS FREITAS: Pause signifie pour obtenir de l'instruction switch. 753 00:37:00,820 --> 00:37:03,400 Parce que si c'est 1, je veux à l'imprimer et partir. 754 00:37:03,400 --> 00:37:04,640 Je ne veux pas de vérifier quoi que ce soit d'autre. 755 00:37:04,640 --> 00:37:05,790 >> PUBLIC: Vous ne voulez pas d'imprimer quoi que ce soit d'autre. 756 00:37:05,790 --> 00:37:06,730 >> LUCAS FREITAS: Ouais. 757 00:37:06,730 --> 00:37:08,260 Parce que c'est mutuellement exclusif. 758 00:37:08,260 --> 00:37:11,378 >> PUBLIC: Et cela ne procéder au cas suivant si le premier cas 759 00:37:11,378 --> 00:37:11,850 n'est pas vrai? 760 00:37:11,850 --> 00:37:14,120 Ou faut-il tester tous les cas en même temps? 761 00:37:14,120 --> 00:37:16,300 >> LUCAS FREITAS: Non, il vérifie séquentiellement. 762 00:37:16,300 --> 00:37:18,070 Séquentiellement, ouais. 763 00:37:18,070 --> 00:37:21,840 Une autre question, puis nous avons à passer afin que nous puissions tout couvrir. 764 00:37:21,840 --> 00:37:22,300 Ouais? 765 00:37:22,300 --> 00:37:25,280 >> PUBLIC: Donc, pour le cas, pourrait avoir fait autre chose que juste une? 766 00:37:25,280 --> 00:37:27,680 Pourriez-vous donner un éventail? 767 00:37:27,680 --> 00:37:28,580 >> LUCAS FREITAS: Non 768 00:37:28,580 --> 00:37:29,900 >> LAUREN CARVALHO: Je ne pense pas vous pouvez lui donner une portée. 769 00:37:29,900 --> 00:37:31,430 >> LUCAS FREITAS: Vous ne pouvez pas vous ne peut pas lui donner une portée. 770 00:37:31,430 --> 00:37:33,190 >> AUDIENCE: Le cas est spécifique [Inaudible]. 771 00:37:33,190 --> 00:37:34,840 >> LUCAS FREITAS: Commutateur est une sorte de valeurs. 772 00:37:34,840 --> 00:37:38,400 Vous faire des choses différentes en fonction sur une valeur, une valeur spécifique. 773 00:37:38,400 --> 00:37:41,050 Vous ne pouvez pas faire de gamme, vous ne pouvez pas faire autre chose. 774 00:37:41,050 --> 00:37:43,055 C'est juste un autre outil pour voir. 775 00:37:43,055 --> 00:37:46,570 >> LAUREN CARVALHO: La plupart des gens n'utilisent pas passer des déclarations très en CS50, 776 00:37:46,570 --> 00:37:48,760 mais il est là. 777 00:37:48,760 --> 00:37:49,920 >> Très bien. 778 00:37:49,920 --> 00:37:53,870 Alors, la prochaine chose que nous allons parler est sur l'opérateur ternaire. 779 00:37:53,870 --> 00:37:56,650 C'est juste un autre type de sursis. 780 00:37:56,650 --> 00:38:01,460 Fondamentalement, ce qui se passe ici est que je suis demandant un nombre entier, et si n est égal à 781 00:38:01,460 --> 00:38:05,550 supérieur à 100, je vais imprimer «Élevé». Si ce n'est pas, je vais 782 00:38:05,550 --> 00:38:07,010 imprimer "faible". 783 00:38:07,010 --> 00:38:11,230 >> Donc, ce qu'il fait est la condition est ici dans les parenthèses, et vous 784 00:38:11,230 --> 00:38:13,550 peut sorte de penser à la question que je vous demande si 785 00:38:13,550 --> 00:38:15,030 cela est vrai ou non. 786 00:38:15,030 --> 00:38:18,485 Si c'est vrai, je vais le faire d'abord chose, et si ce n'est pas vrai, je suis 787 00:38:18,485 --> 00:38:20,020 va faire ce deuxième chose. 788 00:38:20,020 --> 00:38:23,520 789 00:38:23,520 --> 00:38:27,960 >> Une question sur l' opérateur ternaire? 790 00:38:27,960 --> 00:38:30,880 >> LUCAS FREITAS: Je veux juste noter de David est que chaque fois que vous avez une 791 00:38:30,880 --> 00:38:33,346 état - 792 00:38:33,346 --> 00:38:35,690 >> LAUREN CARVALHO: Je suppose que David regarder via le flux en direct. 793 00:38:35,690 --> 00:38:37,210 >> LUCAS FREITAS: Il fait vie courant en ce moment. 794 00:38:37,210 --> 00:38:41,730 Donc, lorsque vous avez un problème, vous êtes censé mettre des accolades, 795 00:38:41,730 --> 00:38:45,320 tout comme nous avons dans un commutateur déclaration ici. 796 00:38:45,320 --> 00:38:46,750 Nous avons accolades ici. 797 00:38:46,750 --> 00:38:49,560 Pour toutes les conditions, vous êtes censé mettre également que. 798 00:38:49,560 --> 00:38:50,820 >> LAUREN CARVALHO: Vous verrez ce dans le guide de style. 799 00:38:50,820 --> 00:38:52,900 Fait nous ne sommes pas la guide de style en ce moment. 800 00:38:52,900 --> 00:38:53,930 Je pense que David travaille encore. 801 00:38:53,930 --> 00:38:55,100 >> LUCAS FREITAS: Il a dit que c'est juste travailler maintenant. 802 00:38:55,100 --> 00:38:56,120 >> LAUREN CARVALHO: Oh, est-ce de travailler maintenant? 803 00:38:56,120 --> 00:38:57,520 OK. 804 00:38:57,520 --> 00:39:02,060 Donc, apparemment, cette année dans le style guider, même si vous n'avez qu'une seule ligne, 805 00:39:02,060 --> 00:39:06,040 vous avez à mettre les accolades po 806 00:39:06,040 --> 00:39:09,480 Vous n'avez pas nécessairement besoin de la fonctionnalité du programme. 807 00:39:09,480 --> 00:39:12,210 Et peut-être que nous devrions faire une pause après les conditions et vont directement 808 00:39:12,210 --> 00:39:14,620 le guide de style pour effacer certaines de ces choses? 809 00:39:14,620 --> 00:39:15,010 >> LUCAS FREITAS: Ouais. 810 00:39:15,010 --> 00:39:15,775 Avez-vous une question? 811 00:39:15,775 --> 00:39:17,580 >> PUBLIC: Non, je vais attendre jusqu'à ce que le guide de style. 812 00:39:17,580 --> 00:39:19,578 >> PUBLIC: Pourriez-vous revenir à l'opérateur ternaire? 813 00:39:19,578 --> 00:39:23,360 >> LAUREN CARVALHO: ternaire, oui. 814 00:39:23,360 --> 00:39:29,010 >> LUCAS FREITAS: opérateur ternaire est essentiellement une déclaration si le monde, mais 815 00:39:29,010 --> 00:39:33,590 au lieu de devoir disposer des deux lignes de vérifier si un puis l' 816 00:39:33,590 --> 00:39:36,600 autre, vous avez une seule ligne. 817 00:39:36,600 --> 00:39:40,930 Donc, fondamentalement, si je veux donner une chaîne une valeur de haute ou basse, et je 818 00:39:40,930 --> 00:39:46,270 envie de faire une grande si n est supérieur à 100 ou faible si c'est moins, ce que je peux faire 819 00:39:46,270 --> 00:39:47,730 est ce [inaudible] 820 00:39:47,730 --> 00:39:53,060 la chaîne va être, et puis je demandez le programme est n supérieur à 100? 821 00:39:53,060 --> 00:39:55,750 >> Donc, c'est pour cela que j'ai cette expression entre parenthèses, puis 822 00:39:55,750 --> 00:39:56,580 le point d'interrogation. 823 00:39:56,580 --> 00:39:59,110 Je vous demande est-il supérieur à 100? 824 00:39:59,110 --> 00:40:02,310 Si c'est le cas, ça va être élevé. 825 00:40:02,310 --> 00:40:03,850 Si ce n'est pas, ça va être faible. 826 00:40:03,850 --> 00:40:07,310 >> Donc, fondamentalement, ce que vous pensez, c'est que vous demandez une question, si vous mettez entre parenthèses 827 00:40:07,310 --> 00:40:08,620 la condition. 828 00:40:08,620 --> 00:40:11,160 Ensuite, vous mettez le point d'interrogation parce que vous la poser. 829 00:40:11,160 --> 00:40:15,240 Et si cela est vrai, il va être dans la première valeur [inaudible] ici. 830 00:40:15,240 --> 00:40:18,176 Si ce n'est pas, je vais mettre l' valeur qui est après la virgule. 831 00:40:18,176 --> 00:40:21,580 Est-il judicieux? 832 00:40:21,580 --> 00:40:24,730 >> C'est aussi quelque chose qui est comme un outil en C, mais vous n'avez pas à 833 00:40:24,730 --> 00:40:25,700 utiliser spécifiquement. 834 00:40:25,700 --> 00:40:29,890 Mais les gens aiment habituellement que CS parce qu'il sauve juste lignes. 835 00:40:29,890 --> 00:40:31,050 >> LAUREN CARVALHO: Il est très élégant. 836 00:40:31,050 --> 00:40:32,951 Il fait beaucoup en une seule déclaration. 837 00:40:32,951 --> 00:40:36,077 >> PUBLIC: Donc le signe de pour cent est juste quels que soient les résultats sur 838 00:40:36,077 --> 00:40:36,799 la ligne précédente? 839 00:40:36,799 --> 00:40:38,260 >> LAUREN CARVALHO: Oh, je suis désolé. 840 00:40:38,260 --> 00:40:42,670 Ce signe de pour cent est en fait un espace réservé pour ce s. 841 00:40:42,670 --> 00:40:46,160 Dans une déclaration de printf, vous avez cette chaîne ici, qui est ce qui se passe à 842 00:40:46,160 --> 00:40:48,440 imprimer, mais vous ne pouvez pas juste mis ce s là. 843 00:40:48,440 --> 00:40:50,290 Sinon, ce serait imprimer les s littéralement. 844 00:40:50,290 --> 00:40:54,070 Nous avons donc mis un pour cent ici pour garder cet endroit a eu lieu pour quelque 845 00:40:54,070 --> 00:40:57,590 vient après la virgule. 846 00:40:57,590 --> 00:40:59,470 >> Donc, pour une chaîne, vous avez pour cent s. 847 00:40:59,470 --> 00:41:00,950 Pour un nombre entier, i pour cent. 848 00:41:00,950 --> 00:41:03,330 Pour un flotteur, pour cent f. 849 00:41:03,330 --> 00:41:06,960 Vous verrez ceux que nous voir d'autres exemples. 850 00:41:06,960 --> 00:41:09,230 Mais peut-être que vous devriez parler de la guide de style pour un peu de temps, maintenant 851 00:41:09,230 --> 00:41:10,480 que c'est vous. 852 00:41:10,480 --> 00:41:21,040 853 00:41:21,040 --> 00:41:24,010 >> LUCAS FREITAS: Si vous allez à cs50.net/style, vous allez voir 854 00:41:24,010 --> 00:41:25,760 le guide de style. 855 00:41:25,760 --> 00:41:32,420 Pour les ensembles de problèmes, votre score pour la ensemble de problèmes est composé de portée, 856 00:41:32,420 --> 00:41:35,510 ce qui signifie, fondamentalement, si vous avez fait tout les parties du problème posé ou si vous 857 00:41:35,510 --> 00:41:37,170 tenté quelque chose. 858 00:41:37,170 --> 00:41:41,120 La deuxième chose est la décision correcte, qui moyen est votre programme fait ce qu'il 859 00:41:41,120 --> 00:41:44,520 était censé être fait, ou n'est-ce pas ont des bugs, ou est-il pas en train de faire ce que 860 00:41:44,520 --> 00:41:45,620 il est censé faire. 861 00:41:45,620 --> 00:41:51,420 >> La troisième chose est la conception, ce qui signifie utilisez-vous ce bien, ou êtes 862 00:41:51,420 --> 00:41:54,520 vous en utilisant des instructions inutiles? 863 00:41:54,520 --> 00:41:59,400 Ainsi, par exemple, si vous voulez répéter un nombre 10 fois, êtes-vous en train d'écrire un 864 00:41:59,400 --> 00:42:03,040 boucle ou êtes-vous juste faire 10 fois la même déclaration, juste faire 865 00:42:03,040 --> 00:42:04,060 copier-coller. 866 00:42:04,060 --> 00:42:05,760 Donc conception est pour cela. 867 00:42:05,760 --> 00:42:07,420 >> Et enfin, vous avez le style. 868 00:42:07,420 --> 00:42:12,000 Le style est comme juger si votre code ressemble 869 00:42:12,000 --> 00:42:14,050 lisible et peu jolies. 870 00:42:14,050 --> 00:42:16,520 Cela signifie simplement essentiellement est votre code lisible? 871 00:42:16,520 --> 00:42:20,560 Quelqu'un d'autre qui était à la recherche serait sont votre code soit en mesure de comprendre ce que 872 00:42:20,560 --> 00:42:21,250 il fait? 873 00:42:21,250 --> 00:42:25,360 At-il des commentaires et des autres? 874 00:42:25,360 --> 00:42:30,430 >> Parlons le style vous êtes censé utiliser. 875 00:42:30,430 --> 00:42:32,200 La première chose est de commentaires. 876 00:42:32,200 --> 00:42:35,280 Les commentaires sont très important pour votre Code parce que parfois vous faites 877 00:42:35,280 --> 00:42:38,750 votre programme, et vous savez exactement ce que vous voulez faire, vous venez de commencer 878 00:42:38,750 --> 00:42:43,120 codage, il suffit de taper un tas de C. Mais si quelqu'un d'autre est à la recherche vous êtes 879 00:42:43,120 --> 00:42:47,500 code, ils ne vont pas être en mesure de comprendre parce qu'ils ne savent pas 880 00:42:47,500 --> 00:42:51,420 les choses qui sont dans votre tête, comme la pesudocode, alors peut-être qu'ils le feront 881 00:42:51,420 --> 00:42:53,970 avoir du mal à comprendre ce que fait le code. 882 00:42:53,970 --> 00:42:57,900 >> Donc, les commentaires sont très utiles pour expliquer à quelqu'un qui cherche à 883 00:42:57,900 --> 00:43:00,880 votre code ce qu'il fait, et fait même pour vous, 884 00:43:00,880 --> 00:43:01,880 ils sont très utiles. 885 00:43:01,880 --> 00:43:05,740 Comme vous allez à psets dures et difficiles, vous allez voir que le code se 886 00:43:05,740 --> 00:43:10,590 plus, et puis les commentaires sont vraiment importante pour vous rappeler ce que chaque 887 00:43:10,590 --> 00:43:13,320 partie de votre programme fait. 888 00:43:13,320 --> 00:43:16,920 >> Pour mettre un commentaire, il vous suffit de faire un slash slash, puis d'écrire un commentaire. 889 00:43:16,920 --> 00:43:21,250 Et toute la ligne fait partie d'un commentaire, et tout ce que vous écrivez, 890 00:43:21,250 --> 00:43:24,550 ça ne va pas être utilisé pour votre code. 891 00:43:24,550 --> 00:43:27,993 C'est fondamentalement comme le compilateur va ignorer. 892 00:43:27,993 --> 00:43:29,290 Cela fait-il sens? 893 00:43:29,290 --> 00:43:31,710 >> PUBLIC: Que faites-vous de nouveau pour écrire un commentaire? 894 00:43:31,710 --> 00:43:33,260 >> LUCAS FREITAS: Ce? 895 00:43:33,260 --> 00:43:36,020 La barre slash? 896 00:43:36,020 --> 00:43:39,810 Chaque fois que vous tapez slash slash, quelle que soit est dans cette ligne ne va pas 897 00:43:39,810 --> 00:43:42,260 être considéré comme C. Ouais? 898 00:43:42,260 --> 00:43:45,910 >> PUBLIC: Donc, après le commentaire, vous il suffit d'entrer et commencer une nouvelle ligne? 899 00:43:45,910 --> 00:43:47,120 >> LUCAS FREITAS: Oui, exactement. 900 00:43:47,120 --> 00:43:50,010 >> LAUREN CARVALHO: La barre oblique est pour les commentaires d'une seule ligne. 901 00:43:50,010 --> 00:43:52,910 >> LUCAS FREITAS: Par exemple, nous avons ici - 902 00:43:52,910 --> 00:43:54,160 laissez-moi un zoom avant - 903 00:43:54,160 --> 00:43:56,530 904 00:43:56,530 --> 00:44:01,180 par exemple, ici je déclarer un flotteur, mais peut-être si vous venez de mettre ce 905 00:44:01,180 --> 00:44:04,980 dans votre code, comme vous n'avez aucune idée Qu'est-ce que le fait, comme en fait 906 00:44:04,980 --> 00:44:06,950 quelqu'un qui cherche à ce code va être, comme, ce que le 907 00:44:06,950 --> 00:44:09,190 diable se passe? 908 00:44:09,190 --> 00:44:12,890 >> Si vous mettez un commentaire disant "convertir Fahrenheit en Celsius, il est beaucoup 909 00:44:12,890 --> 00:44:13,450 plus de sens. 910 00:44:13,450 --> 00:44:15,480 Vous êtes, comme, OK, vous êtes faire une conversion. 911 00:44:15,480 --> 00:44:16,730 Cela fait-il sens? 912 00:44:16,730 --> 00:44:19,860 913 00:44:19,860 --> 00:44:24,960 Donc, c'est juste quelque chose qui aide les gens prêt votre code et également 914 00:44:24,960 --> 00:44:28,290 vous serez en mesure d'organiser mieux votre code. 915 00:44:28,290 --> 00:44:33,080 >> La deuxième chose est que vous pouvez faire commentaires multi-lignes, donc avoir un 916 00:44:33,080 --> 00:44:34,850 commenter pour un groupe de lignes. 917 00:44:34,850 --> 00:44:38,880 Au lieu d'avoir à mettre slash slash, les commentaires de première ligne, Slash Slash, 918 00:44:38,880 --> 00:44:43,590 la deuxième ligne, et ainsi de suite, vous peut utiliser l'étoile de barre oblique. 919 00:44:43,590 --> 00:44:46,330 La façon dont vous le faites, c'est que pour la première ligne du commentaire, vous êtes 920 00:44:46,330 --> 00:44:49,650 va faire une étoile slash étoiles, si juste comme ça. 921 00:44:49,650 --> 00:44:56,900 Tout comme nous avons ici le début de un programme, vous mettez habituellement qui vous 922 00:44:56,900 --> 00:44:59,530 sont, ce que ce programme fait, et des trucs comme ça. 923 00:44:59,530 --> 00:45:01,900 C'est un peu comme un en-tête pour le programme. 924 00:45:01,900 --> 00:45:04,540 >> Encore une fois, ce n'est pas quelque chose que compilateur va se soucier, mais 925 00:45:04,540 --> 00:45:07,570 il est important pour vous de savoir ce que cela programme fait ou pour d'autres personnes 926 00:45:07,570 --> 00:45:09,960 de savoir ce que fait votre programme. 927 00:45:09,960 --> 00:45:17,480 Donc, vous n'avez slash star star, puis la dernière ligne vous allez faire étoiles 928 00:45:17,480 --> 00:45:22,250 réduire pour être en mesure de fermer ce commentaire. 929 00:45:22,250 --> 00:45:26,140 Donc, fondamentalement, pour toutes les autres lignes, vous pouvez simplement écrire ce que, et ce 930 00:45:26,140 --> 00:45:27,390 tout cela va être ignorée. 931 00:45:27,390 --> 00:45:32,920 932 00:45:32,920 --> 00:45:37,780 >> Et aussi, tout comme le style, vous voyez que chacune des lignes a une étoile, et tous 933 00:45:37,780 --> 00:45:39,380 les étoiles sont alignées. 934 00:45:39,380 --> 00:45:41,605 Ce sont des choses importantes afin que votre code ressemble assez. 935 00:45:41,605 --> 00:45:42,855 Ça sonne bien? 936 00:45:42,855 --> 00:45:45,320 937 00:45:45,320 --> 00:45:47,290 >> Or, les conditions. 938 00:45:47,290 --> 00:45:52,240 Qu'est-ce que David a dit que nous devrions effectivement mis dans ces diapositives, c'est que 939 00:45:52,240 --> 00:45:55,810 quand vous avez n'importe quel type d'instructions if ou tout type de conditions, 940 00:45:55,810 --> 00:46:00,700 vous devez utiliser des accolades pour montrer que c'est ce qui allait se passer 941 00:46:00,700 --> 00:46:02,730 quand vous avez la condition. 942 00:46:02,730 --> 00:46:07,560 Techniquement, lorsque vous avez une condition puis la ligne suivante est juste un 943 00:46:07,560 --> 00:46:12,110 ligne, vous n'avez pas techniquement de mettre les accolades. 944 00:46:12,110 --> 00:46:16,930 >> Fondamentalement, le compilateur comprendre de toute façon comme implicite. 945 00:46:16,930 --> 00:46:21,100 Mais pour CS50, nous vous demandons de gars à mettre les accolades juste afin que votre 946 00:46:21,100 --> 00:46:24,560 code est plus organisé et plus lisible. 947 00:46:24,560 --> 00:46:28,200 Parce que le code devient plus longtemps si vous n'ont pas accolades et autres. 948 00:46:28,200 --> 00:46:29,150 Cela devient vraiment salissant. 949 00:46:29,150 --> 00:46:31,410 >> LAUREN CARVALHO: C'est exactement ce que David vient de le souligner 950 00:46:31,410 --> 00:46:33,000 dans mes diapositives précédentes. 951 00:46:33,000 --> 00:46:36,690 Il fonctionne vraiment sans bouclés accolades, mais pour des raisons stylistiques 952 00:46:36,690 --> 00:46:38,840 nous allons demander que vous ne mettez ceux po 953 00:46:38,840 --> 00:46:42,400 >> Et quand vous commencez à courir style50, qui est une sorte de chèque de 50 pour 954 00:46:42,400 --> 00:46:44,860 style, il vous rappellera de le faire. 955 00:46:44,860 --> 00:46:49,710 >> LUCAS FREITAS: Et une autre chose est n'oubliez pas de mettre les accolades long 956 00:46:49,710 --> 00:46:50,610 dans chaque ligne. 957 00:46:50,610 --> 00:46:52,490 Alors que vous faites, par exemple, l'art. 958 00:46:52,490 --> 00:46:56,910 Aller à la ligne suivante, ouvrez le bouclés accolade, puis vous allez à la ligne suivante. 959 00:46:56,910 --> 00:46:59,560 Indentation, ce qui est quatre espaces. 960 00:46:59,560 --> 00:47:03,570 Ensuite, vous écrivez que ce soit, puis un autre ligne, et fermer l'accolade. 961 00:47:03,570 --> 00:47:06,870 Assurez-vous donc que ces deux bouclés accolades sont dans différentes lignes. 962 00:47:06,870 --> 00:47:11,548 >> PUBLIC: Donc, si ce code avait comme 10 d'autre ifs, ce doit 963 00:47:11,548 --> 00:47:13,040 de 10 paires de crochets? 964 00:47:13,040 --> 00:47:14,610 >> LUCAS FREITAS: Ouais, pour chacun d'eux. 965 00:47:14,610 --> 00:47:14,930 Ouais. 966 00:47:14,930 --> 00:47:17,980 Donc, si, d'autre si, et ainsi de suite. 967 00:47:17,980 --> 00:47:21,990 >> PUBLIC: Pouvez-vous pas appuyez sur Tab pour mettre en retrait? 968 00:47:21,990 --> 00:47:25,350 >> LUCAS FREITAS: Nous vous demandons les gars à utiliser quatre espaces. 969 00:47:25,350 --> 00:47:30,060 Certains éditeurs de texte à traduire onglet que quatre espaces automatiquement. 970 00:47:30,060 --> 00:47:34,850 gedit ne fait pas, il faut donc faire space space. 971 00:47:34,850 --> 00:47:37,920 C'est aussi quelque chose que certains programmeurs ne font onglets, certains 972 00:47:37,920 --> 00:47:40,560 programmeurs ne font quatre espaces, et quelques autres font même 973 00:47:40,560 --> 00:47:41,900 deux ou trois places. 974 00:47:41,900 --> 00:47:44,040 C'est juste que nous demandons ici vous les gars à faire quatre espaces. 975 00:47:44,040 --> 00:47:47,556 >> PUBLIC: Il n'y a presque certainement obtenu d'être un moyen pour gedit à 976 00:47:47,556 --> 00:47:48,645 automatiquement [inaudible]. 977 00:47:48,645 --> 00:47:50,480 Pas comme [inaudible] est-ce que. 978 00:47:50,480 --> 00:47:51,150 >> LUCAS FREITAS: Ouais. 979 00:47:51,150 --> 00:47:53,165 Je pense que vous pouvez aller sur Paramètres. 980 00:47:53,165 --> 00:47:55,270 >> PUBLIC: Il fait déjà tout cela. 981 00:47:55,270 --> 00:47:56,410 >> LUCAS FREITAS: Il fait déjà? 982 00:47:56,410 --> 00:47:56,890 OK. 983 00:47:56,890 --> 00:48:00,854 Donc, assurez-vous simplement que vous avoir quatre espaces. 984 00:48:00,854 --> 00:48:05,880 >> PUBLIC: Faut-il mettre le bouclés crochets dans les boucles ainsi? 985 00:48:05,880 --> 00:48:07,470 >> LUCAS FREITAS: Oui. 986 00:48:07,470 --> 00:48:11,610 >> LAUREN CARVALHO: Chaque fois que votre l'encapsulation d'un bloc de code, il suffit 987 00:48:11,610 --> 00:48:13,570 s'il vous plaît utiliser les accolades. 988 00:48:13,570 --> 00:48:18,040 Et avant que vous pensez que nous sommes juste étant très pointilleux à ce sujet pour aucune bonne 989 00:48:18,040 --> 00:48:23,450 raison, si vous les gars ne vont à obtenir stages technologie à de grandes entreprises, 990 00:48:23,450 --> 00:48:26,020 ils vous donneront un guide de style, et ils vous diront que c'est ce que votre 991 00:48:26,020 --> 00:48:27,220 code doit ressembler. 992 00:48:27,220 --> 00:48:31,120 Et même si vous avez appris à code comme ce, peut-être dans votre stage 993 00:48:31,120 --> 00:48:32,680 vous aurez à faire quelque chose complètement différent. 994 00:48:32,680 --> 00:48:35,115 Ils ne s'attendent vous conformer à leur style. 995 00:48:35,115 --> 00:48:39,800 >> LUCAS FREITAS: Et encore une chose est que pensez-vous remarqué comment j'ai comme x, 996 00:48:39,800 --> 00:48:42,290 espace, moins, l'espace, 0? 997 00:48:42,290 --> 00:48:44,640 Chaque fois que vous avez un opérateur - 998 00:48:44,640 --> 00:48:50,490 il peut être comme plus, moins, fois, moins, plus, quel que soit l'opérateur - 999 00:48:50,490 --> 00:48:57,560 vous devez mettre un espace sur la gauche et la droite de l'opérateur. 1000 00:48:57,560 --> 00:49:00,570 >> LAUREN CARVALHO: Ce sont appelé opérandes binaires. 1001 00:49:00,570 --> 00:49:03,720 Assurez-vous toujours de l'espace vos opérandes binaires. 1002 00:49:03,720 --> 00:49:05,465 >> LUCAS FREITAS: C'est pas un opérande binaire. 1003 00:49:05,465 --> 00:49:07,010 >> LAUREN CARVALHO: C'est car il faut être deux. 1004 00:49:07,010 --> 00:49:08,260 >> LUCAS FREITAS: Oh, oui. 1005 00:49:08,260 --> 00:49:13,340 1006 00:49:13,340 --> 00:49:14,590 >> OK, les commutateurs. 1007 00:49:14,590 --> 00:49:18,180 1008 00:49:18,180 --> 00:49:23,390 Tout d'abord, il faut voir que, tout comme dans une déclaration si ou autre, vous avez 1009 00:49:23,390 --> 00:49:28,280 de mettre l'accolade sur sa propre ligne et sous l'accolade ici. 1010 00:49:28,280 --> 00:49:32,240 Notez qu'il ya un espace unique après la mise, tout comme dans le cas et d'autre 1011 00:49:32,240 --> 00:49:35,360 nous avons eu un seul espace entre et que les parenthèses. 1012 00:49:35,360 --> 00:49:36,610 Donc, vous devez mettre cela. 1013 00:49:36,610 --> 00:49:40,380 1014 00:49:40,380 --> 00:49:48,270 >> Et il n'y a pas d'espace à droite après chaque des parenthèses ou avant la fin 1015 00:49:48,270 --> 00:49:49,080 des parenthèses. 1016 00:49:49,080 --> 00:49:52,612 Donc, vous voyez que c'est tous ensemble, et certainement aussi ici. 1017 00:49:52,612 --> 00:49:53,940 >> Ouais? 1018 00:49:53,940 --> 00:49:58,040 >> LAUREN CARVALHO: Je pense que nous devons aller de l'avant. 1019 00:49:58,040 --> 00:50:02,340 >> LUCAS FREITAS: Cela fait donc partie de la guide de style que vous avez pour CS50. 1020 00:50:02,340 --> 00:50:06,520 Soyez sûr d'aller à cs50.net/style et jeter un oeil à ce. 1021 00:50:06,520 --> 00:50:09,250 Ce sont toutes très importantes pour votre pointage de style. 1022 00:50:09,250 --> 00:50:12,740 1023 00:50:12,740 --> 00:50:15,670 >> Permettez-moi de revenir à la déclaration. 1024 00:50:15,670 --> 00:50:17,070 >> LAUREN CARVALHO: je préfère il suffit d'utiliser style50. 1025 00:50:17,070 --> 00:50:18,920 Nous allons juste aller droite à boucles. 1026 00:50:18,920 --> 00:50:27,580 1027 00:50:27,580 --> 00:50:28,300 Très bien. 1028 00:50:28,300 --> 00:50:33,720 >> Donc, revenons à la teneur, maintenant que nous sommes allés sur le guide de style. 1029 00:50:33,720 --> 00:50:37,220 Boucles, vous les avez vus dans Scratch, et nous allons en parler dans 1030 00:50:37,220 --> 00:50:39,210 C. 1031 00:50:39,210 --> 00:50:44,400 >> Dans une boucle pour, il existe trois portions de l' 1032 00:50:44,400 --> 00:50:45,440 déclaration de cette boucle. 1033 00:50:45,440 --> 00:50:49,040 Vous avez votre initialisation que vous définissez vos variables. 1034 00:50:49,040 --> 00:50:52,160 Vous avez votre état, qui sont vérifier pour voir si quelque chose est 1035 00:50:52,160 --> 00:50:54,670 vrai ou faux, et si l' boucle doit continuer. 1036 00:50:54,670 --> 00:50:59,390 Et vous avez votre mise à jour, qui est la mise à jour de vos variables. 1037 00:50:59,390 --> 00:51:05,310 >> Prenons juste un coup d'oeil à un certain code C de cette boucle dans l'action. 1038 00:51:05,310 --> 00:51:08,860 Qu'est-ce qui se passe ici dans le initialisation, nous i mise à 0. 1039 00:51:08,860 --> 00:51:11,820 En l'état, nous vérifions si i est inférieur à 10. 1040 00:51:11,820 --> 00:51:14,982 Et dans la mise à jour, nous sommes incrémenter i. 1041 00:51:14,982 --> 00:51:20,490 Alors, que va résulter de cette boucle? 1042 00:51:20,490 --> 00:51:24,344 >> LUCAS FREITAS: En fait, tout d'abord, faites-vous pour savoir ce que je + + est? 1043 00:51:24,344 --> 00:51:25,850 >> PUBLIC: Augmentation de 1. 1044 00:51:25,850 --> 00:51:26,870 >> LUCAS FREITAS: Augmentation de 1, oui. 1045 00:51:26,870 --> 00:51:30,020 Donc, c'est la même chose que faire i est égal à i + 1. 1046 00:51:30,020 --> 00:51:35,890 Et remarquez que nous n'avons pas un espace entre le i et le + +. 1047 00:51:35,890 --> 00:51:37,600 >> Donc, ne vous les gars savent ce que cela va faire? 1048 00:51:37,600 --> 00:51:39,060 Quelqu'un peut me dire? 1049 00:51:39,060 --> 00:51:41,463 Et peut-être obtenir des bonbons à cause de cela? 1050 00:51:41,463 --> 00:51:42,912 >> PUBLIC: [inaudible] 1051 00:51:42,912 --> 00:51:44,850 >> LUCAS FREITAS: OK. 1052 00:51:44,850 --> 00:51:45,400 [Inaudible] 1053 00:51:45,400 --> 00:51:47,450 montrer à tous plus tard [inaudible]. 1054 00:51:47,450 --> 00:51:49,565 Ouais, ça va pour voir "Cette CS50 est "10 fois. 1055 00:51:49,565 --> 00:51:52,150 >> LAUREN CARVALHO: Je suppose que c'était dans le titre de la diapositive. 1056 00:51:52,150 --> 00:51:53,830 >> LUCAS FREITAS: Oh, oui. 1057 00:51:53,830 --> 00:51:54,670 >> [Rires] 1058 00:51:54,670 --> 00:51:56,790 >> LUCAS FREITAS: Cela aide. 1059 00:51:56,790 --> 00:51:58,370 >> LAUREN CARVALHO: Donc, ce sont pour les boucles. 1060 00:51:58,370 --> 00:52:03,200 Nous allons voir quelques exemples de boucles pour plus tard. 1061 00:52:03,200 --> 00:52:06,510 Mais prenons effectivement un oeil à l' deuxième type de boucle que vous rencontrerez 1062 00:52:06,510 --> 00:52:08,920 en C, et il a appelé la boucle while. 1063 00:52:08,920 --> 00:52:11,120 >> Dans une boucle while, vous avez juste obtenu une condition. 1064 00:52:11,120 --> 00:52:14,790 La condition est vérifiée dans le début, et si cette condition 1065 00:52:14,790 --> 00:52:18,450 évalue à vrai, alors le code dans le corps du bloc tandis que 1066 00:52:18,450 --> 00:52:20,380 exécutera. 1067 00:52:20,380 --> 00:52:23,000 Et le code continuera à exécuter aussi longtemps que 1068 00:52:23,000 --> 00:52:24,450 condition reste vraie. 1069 00:52:24,450 --> 00:52:28,350 1070 00:52:28,350 --> 00:52:33,320 >> Voici un exemple d'une boucle while en C. Nous allons définir le nombre de 10 à 1071 00:52:33,320 --> 00:52:34,580 commencer. 1072 00:52:34,580 --> 00:52:41,800 Tant que comptage est supérieure à 0, nous allons continuer à imprimer ce 1073 00:52:41,800 --> 00:52:43,360 variables ici. 1074 00:52:43,360 --> 00:52:47,080 Nous allons diminuer le nombre et puis vérifiez à nouveau la condition. 1075 00:52:47,080 --> 00:52:51,370 Imprimer, décroissance, Chèque l'état de nouveau. 1076 00:52:51,370 --> 00:52:54,530 >> Ici, nous avons un exemple qui se rapporte à votre question précédente. 1077 00:52:54,530 --> 00:52:57,340 Nous avons eu le pour cent de quand nous étions l'impression d'une chaîne, et maintenant que 1078 00:52:57,340 --> 00:53:03,420 nous imprimer un int, nous avons une i pour cent comme notre espace réservé à la place. 1079 00:53:03,420 --> 00:53:09,250 Les lettres doivent tous être assez intuitive, s pour une chaîne, i pour int. 1080 00:53:09,250 --> 00:53:15,400 >> Donc, si ce code s'exécute, vous devriez compte à rebours de 10 à 0, l'impression de 1081 00:53:15,400 --> 00:53:15,925 chaque nombre entier. 1082 00:53:15,925 --> 00:53:19,460 >> LUCAS FREITAS: Et vous pouvez penser à la pour cent, il se sent comme un vide 1083 00:53:19,460 --> 00:53:23,960 espace, puis vous mettez ce variables ici dans cet espace vide. 1084 00:53:23,960 --> 00:53:27,640 Ainsi, par exemple, ici je vais avoir juste un vide, et puis je suis en train de le 1085 00:53:27,640 --> 00:53:30,262 compter là, la valeur du compte. 1086 00:53:30,262 --> 00:53:32,710 Cela fait-il sens? 1087 00:53:32,710 --> 00:53:35,860 >> Puis-je faire comme printf et cite alors, compter? 1088 00:53:35,860 --> 00:53:36,840 Est-ce que travailler? 1089 00:53:36,840 --> 00:53:37,980 >> PUBLIC: Non 1090 00:53:37,980 --> 00:53:41,190 >> LUCAS FREITAS: Non, car il ne sera fait imprimer le mot "nombre" 1091 00:53:41,190 --> 00:53:42,850 au lieu d'imprimer la valeur. 1092 00:53:42,850 --> 00:53:46,080 C'est la façon dont vous le faites imprimer les valeurs vers la variable au lieu d' 1093 00:53:46,080 --> 00:53:47,670 simplement le nom de la variable. 1094 00:53:47,670 --> 00:53:48,530 Vous avez des questions? 1095 00:53:48,530 --> 00:53:53,060 >> PUBLIC: Pourquoi utilisez-vous pour comme opposé à temps? 1096 00:53:53,060 --> 00:53:56,130 >> LAUREN CARVALHO: Je voudrais utiliser un pour boucle si je sais exactement combien 1097 00:53:56,130 --> 00:53:59,520 itérations Je veux ma boucle à courir. 1098 00:53:59,520 --> 00:54:02,810 Dans ce cas, ce n'est pas grave parce que, Je veux dire, je voulais juste 1099 00:54:02,810 --> 00:54:05,310 penser à une très simple exemple pour cette diapositive. 1100 00:54:05,310 --> 00:54:09,990 Mais disons que vous voulez quelque chose pour continuer tout - 1101 00:54:09,990 --> 00:54:14,480 >> LUCAS FREITAS: Par exemple, vous êtes demandant entrée jusqu'à ce que la personne 1102 00:54:14,480 --> 00:54:15,370 vous donne l'entrée à droite. 1103 00:54:15,370 --> 00:54:19,720 Donc, comme lorsque l'entrée n'est pas OK, garder le demander. 1104 00:54:19,720 --> 00:54:22,920 Ou comme lorsque vous êtes les parents ne donnent pas de l'argent, garder le demander. 1105 00:54:22,920 --> 00:54:23,430 >> [Rires] 1106 00:54:23,430 --> 00:54:25,390 >> LAUREN CARVALHO: Vous ne savez pas comment Plusieurs fois, vous aurez à faire. 1107 00:54:25,390 --> 00:54:27,292 >> LUCAS FREITAS: Parce que vous n'avez pas savent combien c'est 1108 00:54:27,292 --> 00:54:28,010 allons continuer. 1109 00:54:28,010 --> 00:54:30,397 >> LAUREN CARVALHO: Mais dans une boucle, vous avez besoin de savoir combien de fois. 1110 00:54:30,397 --> 00:54:33,640 1111 00:54:33,640 --> 00:54:33,860 Ouais? 1112 00:54:33,860 --> 00:54:38,520 >> PUBLIC: Juste pour clarifier, le pour cent dit que c'est quelque chose de 1113 00:54:38,520 --> 00:54:42,415 arriver, les i pour l'entier, et la barre oblique inverse n - 1114 00:54:42,415 --> 00:54:43,910 >> LAUREN CARVALHO: Moyens? 1115 00:54:43,910 --> 00:54:45,820 Qui sait ce que signifie la barre oblique inverse n? 1116 00:54:45,820 --> 00:54:47,770 Nouvelle ligne, oui. 1117 00:54:47,770 --> 00:54:48,130 Exactement. 1118 00:54:48,130 --> 00:54:50,500 >> LUCAS FREITAS: Vous pouvez penser de n comme nouvelle ligne. 1119 00:54:50,500 --> 00:54:52,258 >> LAUREN CARVALHO: Nice. 1120 00:54:52,258 --> 00:54:55,775 >> PUBLIC: Qu'est-ce qui compte tableau de bord tableau de bord [inaudible]? 1121 00:54:55,775 --> 00:55:00,240 >> LUCAS FREITAS: Nombre minus minus est la même chose que plus plus, mais 1122 00:55:00,240 --> 00:55:02,160 au lieu d'augmenter, il est en baisse de 1. 1123 00:55:02,160 --> 00:55:04,720 1124 00:55:04,720 --> 00:55:07,185 >> LAUREN CARVALHO: Pas plus tandis que les questions de la boucle? 1125 00:55:07,185 --> 00:55:09,460 Non? 1126 00:55:09,460 --> 00:55:13,910 Oh, nous étions censés ont sauté que. 1127 00:55:13,910 --> 00:55:14,950 >> Il s'agit d'une boucle Do While. 1128 00:55:14,950 --> 00:55:18,950 Très semblable à une boucle while, sauf dans ce cas, nous vérifions l'état après 1129 00:55:18,950 --> 00:55:23,430 le code dans le corps de l' boucle s'exécute une fois. 1130 00:55:23,430 --> 00:55:27,170 Donc, nous exécutons le code premier pas n'importe quoi. 1131 00:55:27,170 --> 00:55:31,956 Ensuite, nous vérifions l'état, exécuter encore si la condition est vraie. 1132 00:55:31,956 --> 00:55:35,450 1133 00:55:35,450 --> 00:55:38,950 >> Vous vous trouvez à l'aide quand vous demandez une entrée utilisateur. 1134 00:55:38,950 --> 00:55:42,080 Parce que vous allez toujours avoir à demander une fois, puis en fonction de ce 1135 00:55:42,080 --> 00:55:46,570 l'entrée de l'utilisateur est, vous pourriez avoir à Nouvelle invite et demander encore et encore si 1136 00:55:46,570 --> 00:55:50,670 l'entrée n'était pas ce que vous prévoit qu'elle sera. 1137 00:55:50,670 --> 00:55:53,610 >> PUBLIC: Donc, c'est comme une forme pour les personnes à remplir. 1138 00:55:53,610 --> 00:55:56,010 >> LAUREN CARVALHO: Oui, exactement. 1139 00:55:56,010 --> 00:55:59,720 Vous trouverez, je crois, dans votre première Pset, vous allez avoir à 1140 00:55:59,720 --> 00:56:04,010 utiliser une boucle do puits pour recueillir entrée de l'utilisateur. 1141 00:56:04,010 --> 00:56:08,728 >> PUBLIC: Selon la situation, vos boucles while auront tendance à fonctionner plus 1142 00:56:08,728 --> 00:56:12,805 souvent que les boucles while, comme par un ou quelque chose? 1143 00:56:12,805 --> 00:56:14,080 >> LAUREN CARVALHO: Si c'est exactement - 1144 00:56:14,080 --> 00:56:17,400 >> LUCAS FREITAS: Ils devraient toujours fonctionner le montant exact de fois que vous 1145 00:56:17,400 --> 00:56:19,130 veulent qu'il fonctionne. 1146 00:56:19,130 --> 00:56:23,860 Comme nous utilisons tout faire car nous avons vraiment voulu obtenir l'entrée au moins une fois. 1147 00:56:23,860 --> 00:56:27,220 Dans les boucles while, parfois vous ne voulez pas pour l'exécuter du tout si ce n'est pas 1148 00:56:27,220 --> 00:56:28,540 le cas à exécuter. 1149 00:56:28,540 --> 00:56:31,300 Donc, cela dépend de la conception. 1150 00:56:31,300 --> 00:56:35,900 Je veux dire, vous pouvez soit utiliser tout faire ou tout aussi longtemps que votre code fait que 1151 00:56:35,900 --> 00:56:36,905 il est censé faire. 1152 00:56:36,905 --> 00:56:38,470 >> LAUREN CARVALHO: Mais je fais pense que la réponse à votre 1153 00:56:38,470 --> 00:56:40,540 question est probablement oui. 1154 00:56:40,540 --> 00:56:42,190 Disons que la condition est fausse. 1155 00:56:42,190 --> 00:56:45,498 Dans un cas, il irait à la fois, et un autre cas il irait zéro fois. 1156 00:56:45,498 --> 00:56:47,370 Donc, oui. 1157 00:56:47,370 --> 00:56:49,260 >> D'autres questions? 1158 00:56:49,260 --> 00:56:50,320 Oui? 1159 00:56:50,320 --> 00:56:56,443 >> PUBLIC: Peut la condition de la boucle être un boucle en termes d'une variable autre 1160 00:56:56,443 --> 00:56:57,385 que [inaudible]. 1161 00:56:57,385 --> 00:57:01,700 >> LAUREN CARVALHO: Ouais, il peut être n'importe quoi. 1162 00:57:01,700 --> 00:57:06,420 Probablement pour les psets commençant, vous n'aura pas à rencontrer ce cas, mais 1163 00:57:06,420 --> 00:57:09,878 certainement il peut être n'importe quoi. 1164 00:57:09,878 --> 00:57:12,680 >> LUCAS FREITAS: Je pense que nous aurons terminé ici. 1165 00:57:12,680 --> 00:57:13,290 >> LAUREN CARVALHO: Sommes-nous? 1166 00:57:13,290 --> 00:57:13,480 Non? 1167 00:57:13,480 --> 00:57:13,870 >> LUCAS FREITAS: Loops? 1168 00:57:13,870 --> 00:57:14,600 Ouais. 1169 00:57:14,600 --> 00:57:16,280 >> LAUREN CARVALHO: Nous ne devrions pas être. 1170 00:57:16,280 --> 00:57:17,760 Oh, nous avons fini avec des boucles. 1171 00:57:17,760 --> 00:57:19,250 OK. 1172 00:57:19,250 --> 00:57:23,180 >> En fait, parce que nous avons parlé de manière beaucoup, nous allons effectivement naviguer tous 1173 00:57:23,180 --> 00:57:28,950 plus de study.cs50.net/conditions. 1174 00:57:28,950 --> 00:57:34,460 Et vous allez naviguer vers le bas à scroller les problèmes. 1175 00:57:34,460 --> 00:57:39,090 Eh bien, en fait, alors que les gens sont cette mise en place, l'étude CS50 est 1176 00:57:39,090 --> 00:57:42,620 va être un outil que vos TFS utiliser pour préparer des articles et 1177 00:57:42,620 --> 00:57:45,230 vous les gars peuvent utiliser si vous manquez sections. 1178 00:57:45,230 --> 00:57:48,980 Il va contenir un groupe de diapositives, quelques trucs et astuces pour chaque 1179 00:57:48,980 --> 00:57:54,030 sujet, et certains problèmes pratiques des solutions. 1180 00:57:54,030 --> 00:57:57,200 >> Pourquoi tout le monde et pas seulement un coup d'oeil à ce problème ici. 1181 00:57:57,200 --> 00:58:01,630 1182 00:58:01,630 --> 00:58:04,790 >> Je suis désolé, j'aurais rappelé les gens à apporter aujourd'hui les ordinateurs portables. 1183 00:58:04,790 --> 00:58:07,050 Mais si vous n'avez pas un ordinateur portable, c'est OK. 1184 00:58:07,050 --> 00:58:10,140 Vous pouvez simplement noter cela sur un morceau de papier ou regarder par-dessus 1185 00:58:10,140 --> 00:58:12,890 l'épaule de votre voisin. 1186 00:58:12,890 --> 00:58:16,380 >> Essayons de rédiger un programme qui invite l'utilisateur à faire une supposition, la 1187 00:58:16,380 --> 00:58:19,250 nombre moyen d'enfants par famille unité dans les États-Unis. 1188 00:58:19,250 --> 00:58:22,265 Ce nombre est de 2, en passant, que vous peut le voir sur ces exemples. 1189 00:58:22,265 --> 00:58:24,770 1190 00:58:24,770 --> 00:58:29,030 >> Nous voulons imprimer nombre moyen de enfants par famille aux États-Unis, alors nous 1191 00:58:29,030 --> 00:58:31,080 voulez quoi? 1192 00:58:31,080 --> 00:58:35,480 Nous voulons recueillir les commentaires à partir de l'utilisateur. 1193 00:58:35,480 --> 00:58:41,290 Et puis en fonction de ce que l'utilisateur de entrée est, vous allez imprimer 1194 00:58:41,290 --> 00:58:44,850 soit c'est correct ou ce qui est faux. 1195 00:58:44,850 --> 00:58:48,040 >> Et la première chose que vous aurez voir, si vous cliquez sur la petite flèche à 1196 00:58:48,040 --> 00:58:52,190 le fond de la widget est un problème repérer de noter une certaine pseudo. 1197 00:58:52,190 --> 00:58:53,340 Donc vous n'êtes pas encore la programmation. 1198 00:58:53,340 --> 00:58:56,740 Vous êtes juste votre idées dans l'ordre. 1199 00:58:56,740 --> 00:58:59,620 >> Est-ce que quelqu'un veut aider Lucas venir avec le droit 1200 00:58:59,620 --> 00:59:01,270 pseudo pour ce problème? 1201 00:59:01,270 --> 00:59:04,900 >> LUCAS FREITAS: Quelle est la première chose que nous devrions probablement faire ici? 1202 00:59:04,900 --> 00:59:07,010 Qu'est-ce que vous en pensez? 1203 00:59:07,010 --> 00:59:08,260 >> PUBLIC: [inaudible] 1204 00:59:08,260 --> 00:59:12,060 1205 00:59:12,060 --> 00:59:13,290 >> LUCAS FREITAS: Ouais, OK. 1206 00:59:13,290 --> 00:59:16,610 Ainsi, impression. 1207 00:59:16,610 --> 00:59:19,480 Il suffit de dire l'impression de cette moyenne nombre de personnes? 1208 00:59:19,480 --> 00:59:20,470 OK. 1209 00:59:20,470 --> 00:59:23,450 Imprimer question, disons. 1210 00:59:23,450 --> 00:59:25,951 Après j'imprime cette question, que dois-je faire? 1211 00:59:25,951 --> 00:59:27,875 >> PUBLIC: Obtenez entrée. 1212 00:59:27,875 --> 00:59:30,690 >> LUCAS FREITAS: Obtenez entrée. 1213 00:59:30,690 --> 00:59:32,864 Autre chose? 1214 00:59:32,864 --> 00:59:34,114 >> PUBLIC: Condition. 1215 00:59:34,114 --> 00:59:36,770 1216 00:59:36,770 --> 00:59:38,980 >> LUCAS FREITAS: Condition. 1217 00:59:38,980 --> 00:59:41,325 >> LAUREN CARVALHO: Qu'est-ce que état va être? 1218 00:59:41,325 --> 00:59:43,550 >> AUDIENCE: Le nombre de [inaudible]. 1219 00:59:43,550 --> 00:59:44,440 >> LAUREN CARVALHO: Droit. 1220 00:59:44,440 --> 00:59:46,945 >> LUCAS FREITAS: Alors qu'est-ce que je vais de vérifier dans l'état? 1221 00:59:46,945 --> 00:59:48,750 >> PUBLIC: Si elle est égale à 2. 1222 00:59:48,750 --> 00:59:50,640 >> LAUREN CARVALHO: Si elle est égale à 2. 1223 00:59:50,640 --> 00:59:51,890 Exactement. 1224 00:59:51,890 --> 00:59:58,340 1225 00:59:58,340 --> 01:00:00,140 >> LUCAS FREITAS: Y at-il quoi que ce soit d'autre que je dois faire? 1226 01:00:00,140 --> 01:00:01,390 >> PUBLIC: comte. 1227 01:00:01,390 --> 01:00:05,184 1228 01:00:05,184 --> 01:00:08,110 >> LUCAS FREITAS: Donc, si c'est égal à 2, disons - 1229 01:00:08,110 --> 01:00:14,250 1230 01:00:14,250 --> 01:00:17,960 permettez-moi de vous écris si l'entrée est égale à à 2, alors ce que je vais 1231 01:00:17,960 --> 01:00:23,665 à faire est d'imprimer correcte. 1232 01:00:23,665 --> 01:00:26,230 1233 01:00:26,230 --> 01:00:31,826 Et puis d'autre, je vais pour imprimer incorrects. 1234 01:00:31,826 --> 01:00:34,600 1235 01:00:34,600 --> 01:00:37,720 Autre chose? 1236 01:00:37,720 --> 01:00:38,670 Non? 1237 01:00:38,670 --> 01:00:40,500 >> LAUREN CARVALHO: Donc, vous pouvez cliquer sur le - 1238 01:00:40,500 --> 01:00:42,290 tout le monde doit cette baisse? 1239 01:00:42,290 --> 01:00:44,680 >> LUCAS FREITAS: Est-il logique? 1240 01:00:44,680 --> 01:00:46,226 Alors maintenant, nous allons essayer de coder ce. 1241 01:00:46,226 --> 01:00:50,140 >> LAUREN CARVALHO: Si vous cliquez sur le petit flèche, il enregistre réellement votre 1242 01:00:50,140 --> 01:00:51,900 pseudo, qui est vraiment passionnant. 1243 01:00:51,900 --> 01:00:56,480 Et vous pouvez faire dans les commentaires si vous voulez juste vous rappeler 1244 01:00:56,480 --> 01:00:57,075 ce qu'il faut faire. 1245 01:00:57,075 --> 01:01:01,555 >> LUCAS FREITAS: Ainsi, par exemple, la première Je vais imprimer la question, de sorte 1246 01:01:01,555 --> 01:01:05,930 comment vais-je faire, en fait? 1247 01:01:05,930 --> 01:01:07,050 printf. 1248 01:01:07,050 --> 01:01:12,130 Donc, printf, et la question est de moyenne nombre d'enfants par 1249 01:01:12,130 --> 01:01:14,110 famille aux États-Unis. 1250 01:01:14,110 --> 01:01:19,070 1251 01:01:19,070 --> 01:01:21,790 >> Ensuite, je vais me entrée de l'utilisateur. 1252 01:01:21,790 --> 01:01:29,050 1253 01:01:29,050 --> 01:01:31,324 Alors, comment puis-je faire? 1254 01:01:31,324 --> 01:01:32,200 >> PUBLIC: Obtenez Int. 1255 01:01:32,200 --> 01:01:33,076 >> LAUREN CARVALHO: GetInt. 1256 01:01:33,076 --> 01:01:33,890 >> LUCAS FREITAS: OK. 1257 01:01:33,890 --> 01:01:35,220 Alors d'abord déclarer, non? 1258 01:01:35,220 --> 01:01:39,300 int, appelons-n est égal GetInt. 1259 01:01:39,300 --> 01:01:42,610 1260 01:01:42,610 --> 01:01:44,670 >> Et maintenant l'état. 1261 01:01:44,670 --> 01:01:49,250 Alors permettez-moi de dire que je vais à ici chèque réponse. 1262 01:01:49,250 --> 01:01:57,290 Ainsi, en premier lieu, si l'entrée, qui est n, est égal à - comment vais-je écrire cela? 1263 01:01:57,290 --> 01:01:58,480 >> PUBLIC: égalité égale. 1264 01:01:58,480 --> 01:02:00,000 >> LUCAS FREITAS: Parfait. 1265 01:02:00,000 --> 01:02:00,670 Alors n. 1266 01:02:00,670 --> 01:02:04,600 Et remarque que je fais un espace, égaux, égaux, l'espace, c'est vrai. 1267 01:02:04,600 --> 01:02:06,930 Et maintenant, que dois-je faire? 1268 01:02:06,930 --> 01:02:08,820 Quelque chose de très important pour le style. 1269 01:02:08,820 --> 01:02:10,070 Les accolades. 1270 01:02:10,070 --> 01:02:16,570 1271 01:02:16,570 --> 01:02:17,795 >> Et puis je vais imprimer. 1272 01:02:17,795 --> 01:02:19,790 Comment puis-je imprimer? 1273 01:02:19,790 --> 01:02:22,500 printf. 1274 01:02:22,500 --> 01:02:24,568 >> PUBLIC: Pourrait-il être en majuscule? 1275 01:02:24,568 --> 01:02:27,166 1276 01:02:27,166 --> 01:02:28,380 >> LUCAS FREITAS: Non 1277 01:02:28,380 --> 01:02:31,000 Il est censé être en minuscules. 1278 01:02:31,000 --> 01:02:32,250 Donc, c'est exact. 1279 01:02:32,250 --> 01:02:40,990 1280 01:02:40,990 --> 01:02:44,870 >> Serait-ce suffisant pour le printf déclaration, ou suis-je manque quelque chose? 1281 01:02:44,870 --> 01:02:46,265 >> PUBLIC: Nouvelle ligne. 1282 01:02:46,265 --> 01:02:50,220 >> LUCAS FREITAS: Nouvelle ligne, oui. 1283 01:02:50,220 --> 01:02:51,250 Et maintenant autre. 1284 01:02:51,250 --> 01:02:57,290 >> PUBLIC: Y at-il un espace après le printf, ou pas? 1285 01:02:57,290 --> 01:03:00,820 >> LAUREN CARVALHO: Nous devrions consultez le guide de style. 1286 01:03:00,820 --> 01:03:02,260 >> PUBLIC: Il ne devrait pas être. 1287 01:03:02,260 --> 01:03:03,510 >> LUCAS FREITAS: devrait-il pas être, OK. 1288 01:03:03,510 --> 01:03:05,820 1289 01:03:05,820 --> 01:03:13,605 Alors le reste, printf, "C'est incorrect." 1290 01:03:13,605 --> 01:03:17,105 >> LAUREN CARVALHO: Oups, vos citations. 1291 01:03:17,105 --> 01:03:17,950 >> LUCAS FREITAS: OK. 1292 01:03:17,950 --> 01:03:18,600 Autre chose? 1293 01:03:18,600 --> 01:03:20,770 Est-il bien paraître? 1294 01:03:20,770 --> 01:03:21,890 >> LAUREN CARVALHO: Allons-nous essayer? 1295 01:03:21,890 --> 01:03:23,190 >> LUCAS FREITAS: Oui, nous allons l'exécuter. 1296 01:03:23,190 --> 01:03:25,880 1297 01:03:25,880 --> 01:03:29,070 Il est donc la compilation, et il semble que cela fonctionne. 1298 01:03:29,070 --> 01:03:31,465 Essayons deux enfants. 1299 01:03:31,465 --> 01:03:34,110 C'est exact. 1300 01:03:34,110 --> 01:03:37,300 Et maintenant, nous allons courir de nouveau, mais maintenant la place de mettre deux enfants, nous allons 1301 01:03:37,300 --> 01:03:40,990 dire que je vais mettre comme cinq. 1302 01:03:40,990 --> 01:03:41,515 C'est inexact. 1303 01:03:41,515 --> 01:03:42,670 Il semble donc que cela fonctionne. 1304 01:03:42,670 --> 01:03:44,160 >> LAUREN CARVALHO: Pourquoi avez-vous leur montrez pas ce qui arrive si vous mettez quelque chose 1305 01:03:44,160 --> 01:03:45,055 bizarre, comme des lettres. 1306 01:03:45,055 --> 01:03:45,790 >> LUCAS FREITAS: Oh, oui. 1307 01:03:45,790 --> 01:03:47,430 Nous allons vérifier cela aussi. 1308 01:03:47,430 --> 01:03:51,170 Que faire si l'utilisateur tente de désordre avec votre programme, et ils ont juste 1309 01:03:51,170 --> 01:03:57,430 écrire, je ne sais pas deux. 1310 01:03:57,430 --> 01:03:58,320 Il va dire réessayer. 1311 01:03:58,320 --> 01:04:00,780 >> LAUREN CARVALHO: Donc GetInt est leur demandant de réessayer. 1312 01:04:00,780 --> 01:04:02,115 Nous n'avons pas eu à prendre soin de nous-mêmes. 1313 01:04:02,115 --> 01:04:02,750 >> LUCAS FREITAS: Ouais. 1314 01:04:02,750 --> 01:04:06,853 Donc, si je mets en fait un certain nombre, il est va garder en me demandant de réessayer. 1315 01:04:06,853 --> 01:04:08,330 >> PUBLIC: Comment avez-vous l'exécutez? 1316 01:04:08,330 --> 01:04:10,570 >> LUCAS FREITAS: Il suffit de cliquer cette touche étoile. 1317 01:04:10,570 --> 01:04:11,940 >> LAUREN CARVALHO: Vous devriez monter. 1318 01:04:11,940 --> 01:04:13,320 Là vous allez. 1319 01:04:13,320 --> 01:04:15,550 >> LUCAS FREITAS: L'étoile bouton juste là. 1320 01:04:15,550 --> 01:04:16,040 Ouais? 1321 01:04:16,040 --> 01:04:19,960 >> PUBLIC: Est-ce qu'il invite [inaudible] avec des nombres décimaux trop? 1322 01:04:19,960 --> 01:04:21,235 >> LAUREN CARVALHO: Je crois que oui. 1323 01:04:21,235 --> 01:04:22,660 >> LUCAS FREITAS: Si il fait quoi? 1324 01:04:22,660 --> 01:04:24,990 >> LAUREN CARVALHO: Si on tape en un nombre décimal, je pense 1325 01:04:24,990 --> 01:04:25,880 ça va inciter. 1326 01:04:25,880 --> 01:04:26,586 >> LUCAS FREITAS: Voyons voir. 1327 01:04:26,586 --> 01:04:28,360 >> LAUREN CARVALHO: Parce que ce n'est pas un int. 1328 01:04:28,360 --> 01:04:32,056 1329 01:04:32,056 --> 01:04:33,442 >> LUCAS FREITAS: Ouais. 1330 01:04:33,442 --> 01:04:37,370 >> LAUREN CARVALHO: Donc ce n'est pas un int, Faites Int vous demandera de recommencer. 1331 01:04:37,370 --> 01:04:40,795 >> PUBLIC: Alors, où dans ce code serait la décimale qui invite l' 1332 01:04:40,795 --> 01:04:46,005 l'utilisateur qu'ils doivent entrer un nombre entier en particulier? 1333 01:04:46,005 --> 01:04:48,480 >> LAUREN CARVALHO: GetInt est en fait le faire pour nous. 1334 01:04:48,480 --> 01:04:50,600 >> PUBLIC: Non, je veux dire que si nous voulions pour accéder à [inaudible] 1335 01:04:50,600 --> 01:04:55,070 >> LUCAS FREITAS: Vous pouvez dire comme moyen nombre d'enfants aux États-Unis. 1336 01:04:55,070 --> 01:04:56,120 Je ne sais pas. 1337 01:04:56,120 --> 01:05:01,761 Nous pouvons dire, par exemple ", S'il vous plaît entrée un nombre entier. " 1338 01:05:01,761 --> 01:05:04,270 >> LAUREN CARVALHO: Un nombre entier égal le nombre moyen. 1339 01:05:04,270 --> 01:05:06,190 Je veux dire, c'est juste la façon dont vous le mot, non? 1340 01:05:06,190 --> 01:05:06,520 >> LUCAS FREITAS: Ouais. 1341 01:05:06,520 --> 01:05:08,420 Ce n'est pas réellement une partie de codage. 1342 01:05:08,420 --> 01:05:11,000 C'est plus comme quelque vous allez vouloir 1343 01:05:11,000 --> 01:05:13,987 écrire dans votre programme. 1344 01:05:13,987 --> 01:05:17,723 >> PUBLIC: Comment aurions-nous pu fonctionner si elle était en fait dans gedit [inaudible]. 1345 01:05:17,723 --> 01:05:19,130 Au lieu d'appuyer jeu? 1346 01:05:19,130 --> 01:05:21,180 >> LUCAS FREITAS: Nous allons premier compiler. 1347 01:05:21,180 --> 01:05:25,080 Nous pouvons le faire en faisant maquillage et le nom du fichier. 1348 01:05:25,080 --> 01:05:29,896 Et puis de l'exécuter, nous ferons point barre et le nom du programme. 1349 01:05:29,896 --> 01:05:36,588 >> PUBLIC: Je suppose que ce que je voulais dire, c'est si nous voulions que le programme pour répondre aux 1350 01:05:36,588 --> 01:05:42,010 leur incorrect, entrée non valide, vous ne devriez pas mettre en - 1351 01:05:42,010 --> 01:05:45,710 >> LUCAS FREITAS: Nous ne serons pas en mesure de le faire parce que le code de ce dit 1352 01:05:45,710 --> 01:05:50,350 réessayer vient de Get Int qui est un fonction qui est déjà mis en œuvre 1353 01:05:50,350 --> 01:05:55,790 pour nous par l'intermédiaire de la bibliothèque de CS50, et depuis il est déjà mis en œuvre là-bas, nous 1354 01:05:55,790 --> 01:05:58,340 ne peux pas [inaudible]. 1355 01:05:58,340 --> 01:06:00,780 >> LAUREN CARVALHO: Si vous n'utilisez pas GetInt, alors vous pouvez le faire. 1356 01:06:00,780 --> 01:06:01,490 >> LUCAS FREITAS: Ouais. 1357 01:06:01,490 --> 01:06:03,750 Mais si vous utilisez GetInt, vous ne pouvez pas. 1358 01:06:03,750 --> 01:06:05,427 D'autres questions? 1359 01:06:05,427 --> 01:06:12,938 >> PUBLIC: Pourriez-vous avez passé avec comme GetFloat et ensuite être capable de mettre 1360 01:06:12,938 --> 01:06:14,381 dans un nombre décimal? 1361 01:06:14,381 --> 01:06:15,343 >> LUCAS FREITAS: Ouais. 1362 01:06:15,343 --> 01:06:15,824 >> PUBLIC: OK. 1363 01:06:15,824 --> 01:06:19,210 Ensuite, vous ne pouvais entrée flotter une égaux - 1364 01:06:19,210 --> 01:06:19,950 >> LAUREN CARVALHO: Ouais. 1365 01:06:19,950 --> 01:06:22,740 Exactement la même chose, sauf un flotter à la place d'un int. 1366 01:06:22,740 --> 01:06:27,372 >> LUCAS FREITAS: suffit de le mettre ici puis GetFloat il. 1367 01:06:27,372 --> 01:06:29,795 >> PUBLIC: Comme vous voudrez voir ou avoir vu - 1368 01:06:29,795 --> 01:06:31,327 >> LAUREN CARVALHO: nous avons pas encore là. 1369 01:06:31,327 --> 01:06:36,490 >> PUBLIC: - faire l'inégalité de flotteurs ne pas [inaudible] 1370 01:06:36,490 --> 01:06:40,290 >> PUBLIC: Qu'est-ce que les points-virgules signifient? 1371 01:06:40,290 --> 01:06:43,220 >> LAUREN CARVALHO: Le point-virgule juste signifie que cette déclaration est complète, 1372 01:06:43,220 --> 01:06:45,030 et nous allons aller sur la diapositive suivante. 1373 01:06:45,030 --> 01:06:47,040 >> PUBLIC: il est donc nécessaire à chaque fois? 1374 01:06:47,040 --> 01:06:48,330 >> LAUREN CARVALHO: Ouais. 1375 01:06:48,330 --> 01:06:53,130 Eh bien, OK, donc pas de ces conditions, parce qu'ils sont 1376 01:06:53,130 --> 01:06:54,090 encapsulation quelque chose. 1377 01:06:54,090 --> 01:07:00,290 Donc, fondamentalement, si quelque chose est à l'origine de créer ensuite une accolade 1378 01:07:00,290 --> 01:07:03,000 bloc, ne pas mettre un point-virgule à la fin. 1379 01:07:03,000 --> 01:07:04,200 >> LUCAS FREITAS: Mais tout autre, oui. 1380 01:07:04,200 --> 01:07:06,670 Lorsque vous avez terminé une déclaration, mettre le point-virgule. 1381 01:07:06,670 --> 01:07:10,380 Et si vous oubliez des points-virgules, l' compilateur va se mettre en colère contre vous, 1382 01:07:10,380 --> 01:07:12,640 et vous allez devoir à essayer de le réparer. 1383 01:07:12,640 --> 01:07:16,520 >> LAUREN CARVALHO: Si je mets un point-virgule ici, ce serait arrêter cela, et je 1384 01:07:16,520 --> 01:07:18,780 serait jamais à exécuter ce qui est à l'intérieur, par la manière. 1385 01:07:18,780 --> 01:07:21,113 Il est donc l'un de ces insectes communs. 1386 01:07:21,113 --> 01:07:22,390 >> PUBLIC: Toujours exécuter. 1387 01:07:22,390 --> 01:07:22,950 >> LAUREN CARVALHO: Ouais. 1388 01:07:22,950 --> 01:07:25,860 Dans ce cas, nous serions toujours exécuter ce qu'il ya dedans. 1389 01:07:25,860 --> 01:07:29,050 >> PUBLIC: Votre style [inaudible] joindre pour vous, la pensée. 1390 01:07:29,050 --> 01:07:29,802 >> LAUREN CARVALHO: Oh, c'est vrai. 1391 01:07:29,802 --> 01:07:34,298 >> PUBLIC: [inaudible] unique chose de ligne [inaudible] 1392 01:07:34,298 --> 01:07:35,286 >> PUBLIC: Oui? 1393 01:07:35,286 --> 01:07:37,756 >> PUBLIC: Pouvez-vous avoir plusieurs entrées dans une ligne? 1394 01:07:37,756 --> 01:07:41,214 Donc, comme vous pouvez demander aux utilisateurs pour imprimer deux choses? 1395 01:07:41,214 --> 01:07:42,530 >> LAUREN CARVALHO: Ne pas utiliser - 1396 01:07:42,530 --> 01:07:44,520 >> LUCAS FREITAS: Non 1397 01:07:44,520 --> 01:07:47,040 Disons que je veux aussi pour obtenir l'entier m. 1398 01:07:47,040 --> 01:07:49,558 Je dois le faire dans une ligne différente. 1399 01:07:49,558 --> 01:07:54,992 >> AUDIENCE: Si vous deviez exécuter , comment [inaudible]? 1400 01:07:54,992 --> 01:07:59,438 Il imprimer l'invite il [inaudible] 1401 01:07:59,438 --> 01:08:00,940 et alors vous entrez un et - 1402 01:08:00,940 --> 01:08:01,840 >> LAUREN CARVALHO: Eh bien, l'exécuter. 1403 01:08:01,840 --> 01:08:04,365 Je veux dire, il n'y a rien qui nous empêche d' juste courir et voir ce 1404 01:08:04,365 --> 01:08:06,610 qui se passerait. 1405 01:08:06,610 --> 01:08:08,080 >> LUCAS FREITAS: Je pense que c'est va se plaint à nous 1406 01:08:08,080 --> 01:08:08,977 parce que nous n'utilisons pas - 1407 01:08:08,977 --> 01:08:09,751 >> LAUREN CARVALHO: Oups. 1408 01:08:09,751 --> 01:08:12,580 >> LUCAS FREITAS: Il s'est plaint à nous droit parce que nous ne sommes pas l'utilisation de ce 1409 01:08:12,580 --> 01:08:21,640 variable, mais si je le faisais, par exemple, n est égal à égal à égal, et m est égal à 1410 01:08:21,640 --> 01:08:26,849 est égal à, puis ce sera arriver dans ce cas? 1411 01:08:26,849 --> 01:08:28,830 Qu'est-ce que ce programme faire? 1412 01:08:28,830 --> 01:08:30,330 >> PUBLIC: Je me demande comment cela serait - 1413 01:08:30,330 --> 01:08:31,550 >> LAUREN CARVALHO: Elle veut juste de savoir à quoi il ressemble 1414 01:08:31,550 --> 01:08:34,189 comme, je pense, non? 1415 01:08:34,189 --> 01:08:36,819 Il a donc fallu un d'eux, puis elle a pris la seconde. 1416 01:08:36,819 --> 01:08:41,279 1417 01:08:41,279 --> 01:08:43,069 >> Je pense que nous devrions aller de l'avant, parce que nous avons une plus 1418 01:08:43,069 --> 01:08:44,689 Diaporama pour aller devant - 1419 01:08:44,689 --> 01:08:46,269 voulez-vous tirer vers le haut les mathématiques? 1420 01:08:46,269 --> 01:08:47,558 >> LUCAS FREITAS: Oui, les mathématiques. 1421 01:08:47,558 --> 01:09:00,033 1422 01:09:00,033 --> 01:09:02,206 >> LAUREN CARVALHO: Donnez moi juste une seconde. 1423 01:09:02,206 --> 01:09:07,390 1424 01:09:07,390 --> 01:09:14,260 >> Il ya un peu différente numérique variables dans les données numériques en C. C 1425 01:09:14,260 --> 01:09:18,130 peuvent être classés en différents types, et ce sont celles que vous 1426 01:09:18,130 --> 01:09:19,570 voir le plus souvent. 1427 01:09:19,570 --> 01:09:20,910 >> Et int est un nombre entier. 1428 01:09:20,910 --> 01:09:23,189 Vous ne pouvez pas avoir des décimales. 1429 01:09:23,189 --> 01:09:27,754 Dans l'appareil, il faut 32 bits pour stocker un int. 1430 01:09:27,754 --> 01:09:30,450 >> Un flotteur peut avoir des décimales. 1431 01:09:30,450 --> 01:09:34,330 Il faut également 32 bits pour stocker un flotteur dans l'appareil. 1432 01:09:34,330 --> 01:09:42,270 >> Un double est un nombre avec une décimale Point qui prend 64 bits pour stocker, 1433 01:09:42,270 --> 01:09:44,470 ce qui signifie que vous pouvez juste avoir une plus grande précision, car 1434 01:09:44,470 --> 01:09:46,426 vous pouvez avoir plus - 1435 01:09:46,426 --> 01:09:47,785 qu'est-ce que vous l'appelez? 1436 01:09:47,785 --> 01:09:48,640 >> LUCAS FREITAS: Ouais, c'est plus. 1437 01:09:48,640 --> 01:09:52,140 >> LAUREN CARVALHO: plus d'adresses après la virgule. 1438 01:09:52,140 --> 01:09:57,140 Et une longue longue est un nombre entier qui prend 64 bits à 1439 01:09:57,140 --> 01:09:58,395 mal dans l'appareil. 1440 01:09:58,395 --> 01:10:00,278 >> LUCAS FREITAS: Donc, il peut être plus grande que ints peut être. 1441 01:10:00,278 --> 01:10:03,320 1442 01:10:03,320 --> 01:10:08,380 >> LAUREN CARVALHO: La chose au sujet des données types en C, c'est qu'ils vous disent ce 1443 01:10:08,380 --> 01:10:11,050 type de données que vous pouvez stocker dans votre variable. 1444 01:10:11,050 --> 01:10:15,860 Ils vous disent comment vous pouvez utiliser cette variable dans votre programme. 1445 01:10:15,860 --> 01:10:19,650 Il est très important de garder une trace juste de ce type de données que vous utilisez, et si 1446 01:10:19,650 --> 01:10:23,070 vous n'avez pas besoin de lancer à partir d'un type de données à un autre, assurez-vous que vous savez 1447 01:10:23,070 --> 01:10:25,250 exactement ce qui se passe lorsque que coulée a lieu. 1448 01:10:25,250 --> 01:10:28,520 Et vous verrez un exemple plus tard dans ces diapositives d'une 1449 01:10:28,520 --> 01:10:31,490 erreur qui peut se produire. 1450 01:10:31,490 --> 01:10:35,300 >> Prenons un oeil à quelques calculs en C et pense vraiment attentivement, je suppose, 1451 01:10:35,300 --> 01:10:38,470 sur ce qui se passe quand ce mathématiques se déroule. 1452 01:10:38,470 --> 01:10:43,552 Dans la première ligne, ce qui est se passe quand je déclare x? 1453 01:10:43,552 --> 01:10:48,921 >> PUBLIC: Vous permet x être quelque chose? 1454 01:10:48,921 --> 01:10:49,700 >> LAUREN CARVALHO: Ouais. 1455 01:10:49,700 --> 01:10:54,040 Eh bien, je suis vraiment demander l'exploitation système de 32 bits de mémoire, non? 1456 01:10:54,040 --> 01:10:57,890 Dans lequel je peux stocker un int, et Je vais appeler que int x. 1457 01:10:57,890 --> 01:11:01,370 >> LUCAS FREITAS: aller Fondamentalement dans la mémoire et de trouver un endroit qui a 32 1458 01:11:01,370 --> 01:11:05,290 bits et dire, bon, je veux cet espace, et il va être appelé x. 1459 01:11:05,290 --> 01:11:08,590 Donc, vous êtes juste à peu près conclusion une boîte dans votre mémoire 1460 01:11:08,590 --> 01:11:10,440 stocker des valeurs pour x. 1461 01:11:10,440 --> 01:11:13,980 >> LAUREN CARVALHO: Et puis je l'initialise x, ce qui signifie que je stocke tout le 1462 01:11:13,980 --> 01:11:20,270 valeur de 2 à cet endroit, ce morceau de mémoire, que nous avons demandé exploitation 1463 01:11:20,270 --> 01:11:21,860 système. 1464 01:11:21,860 --> 01:11:25,090 Et ici ce que nous faisons est nous sommes en train de déclarer et 1465 01:11:25,090 --> 01:11:29,060 initialisation y en une seule ligne au lieu de en deux lignes, comme nous l'avons fait ici, 1466 01:11:29,060 --> 01:11:33,960 qui est aussi un parfaitement bien, nous sommes ajoutant 1 à x, et nous stocker que 1467 01:11:33,960 --> 01:11:34,950 valeur en y. 1468 01:11:34,950 --> 01:11:39,360 >> LUCAS FREITAS: Donc, fondamentalement, ce que ce ligne le fait, il se trouve maintenant une boîte pour y 1469 01:11:39,360 --> 01:11:41,990 puis sa valeur, la chose qui vous allez mettre dans la boîte, est 1470 01:11:41,990 --> 01:11:43,800 va être la valeur de x plus 1. 1471 01:11:43,800 --> 01:11:45,850 Ainsi, il a cette case pour y. 1472 01:11:45,850 --> 01:11:49,980 Il obtient la valeur de x, regarde ici, et de voir que c'est 2. 1473 01:11:49,980 --> 01:11:53,035 Mettez-le là, plus 1, de sorte il met un 3 là. 1474 01:11:53,035 --> 01:11:54,290 Cela fait-il sens? 1475 01:11:54,290 --> 01:11:55,780 Alors y aurait 2 dans ce cas. 1476 01:11:55,780 --> 01:11:58,993 1477 01:11:58,993 --> 01:12:00,770 >> LAUREN CARVALHO: Très bien, cool. 1478 01:12:00,770 --> 01:12:06,010 Nous avons vu ailleurs, nous allons donc penser maintenant sur la division en C. Ici, je suis 1479 01:12:06,010 --> 01:12:11,490 déclaration et l'initialisation d'un flotteur appelé réponse et en divisant 1 par 10, 1480 01:12:11,490 --> 01:12:14,860 et puis je l'impression de la réponse à deux décimales. 1481 01:12:14,860 --> 01:12:18,800 Et notez ici, dans ma déclaration de printf, quand je veux imprimer quelque chose à deux 1482 01:12:18,800 --> 01:12:25,600 décimales,% .2 f est ce que je veux utiliser. 1483 01:12:25,600 --> 01:12:28,880 1484 01:12:28,880 --> 01:12:31,760 Ainsi, le point 2 est juste de dire J'ai besoin de deux chiffres après la 1485 01:12:31,760 --> 01:12:34,980 décimal imprimé. 1486 01:12:34,980 --> 01:12:38,740 >> Maintenant, qu'est-ce qui va se passer si j'exécute ce code? 1487 01:12:38,740 --> 01:12:40,500 Est-ce que quelqu'un a une idée? 1488 01:12:40,500 --> 01:12:42,721 Que serait imprimer? 1489 01:12:42,721 --> 01:12:45,010 >> LUCAS FREITAS: Quels sont nous attendre à obtenir. 1490 01:12:45,010 --> 01:12:46,810 >> LAUREN CARVALHO: Que faire nous voulons, tout d'abord? 1491 01:12:46,810 --> 01:12:48,871 >> LUCAS FREITAS: [inaudible] 1492 01:12:48,871 --> 01:12:51,120 >> LAUREN CARVALHO: 0,1, ouais. 1493 01:12:51,120 --> 01:12:52,325 Mais que va imprimer? 1494 01:12:52,325 --> 01:12:53,275 >> PUBLIC: [inaudible] 1495 01:12:53,275 --> 01:12:56,760 >> LAUREN CARVALHO: Eh bien, non, en fait. 1496 01:12:56,760 --> 01:13:01,400 C'est ce que je disais à propos de la raison pour laquelle vous besoin de garder une trace très prudent de 1497 01:13:01,400 --> 01:13:02,550 vos types de données. 1498 01:13:02,550 --> 01:13:05,000 Alors, quel type de données est-il? 1499 01:13:05,000 --> 01:13:06,250 Est un int, non? 1500 01:13:06,250 --> 01:13:07,600 Il n'y a pas décimale. 1501 01:13:07,600 --> 01:13:08,770 10 est également un int. 1502 01:13:08,770 --> 01:13:09,930 Il n'y a pas décimale. 1503 01:13:09,930 --> 01:13:15,770 >> Si je divise un int par un int, je reçois un int qui n'est pas 0,1, parce ints 1504 01:13:15,770 --> 01:13:18,630 ne peut pas avoir décimales, mais seulement 0. 1505 01:13:18,630 --> 01:13:21,005 Parce qu'un int tronque juste hors les décimales. 1506 01:13:21,005 --> 01:13:24,280 >> LUCAS FREITAS: Donc, chaque fois que vous faites opérations avec ints, vous allez 1507 01:13:24,280 --> 01:13:25,990 obtenir un int comme la réponse. 1508 01:13:25,990 --> 01:13:28,930 Donc, fondamentalement, ce que l'ordinateur est de faire, il divise par 1 1509 01:13:28,930 --> 01:13:31,520 10, et il obtient 0,1. 1510 01:13:31,520 --> 01:13:34,870 Mais c'est comme, attendez, ce n'est censé être un nombre entier, il vous suffit 1511 01:13:34,870 --> 01:13:37,045 ignorer la 0.1, il est maintenant juste 0. 1512 01:13:37,045 --> 01:13:41,782 >> LAUREN CARVALHO: Alors, quand j'imprime ce , je reçois 0,00 plutôt que 0,10. 1513 01:13:41,782 --> 01:13:44,075 >> LUCAS FREITAS: Cela fait-il sens? 1514 01:13:44,075 --> 01:13:45,530 >> LAUREN CARVALHO: C'est le genre de malheureux, non? 1515 01:13:45,530 --> 01:13:47,290 >> LUCAS FREITAS: Alors, comment pouvons-nous résoudre ce problème? 1516 01:13:47,290 --> 01:13:48,620 >> LAUREN CARVALHO: Let'S essayer de résoudre ce problème. 1517 01:13:48,620 --> 01:13:51,570 1518 01:13:51,570 --> 01:13:54,810 Voici un exemple de l'endroit où je suis en fait couler la 1 1519 01:13:54,810 --> 01:13:56,650 et le 10 à flotteurs. 1520 01:13:56,650 --> 01:13:58,800 Alors maintenant, 1 n'est plus un int. 1521 01:13:58,800 --> 01:14:00,020 1 est un flotteur. 1522 01:14:00,020 --> 01:14:02,590 Par ailleurs, ce n'est que la syntaxe pour quand vous voulez lancer d'un 1523 01:14:02,590 --> 01:14:03,410 le type de données à l'autre. 1524 01:14:03,410 --> 01:14:07,140 Vous pouvez simplement mettre le type de données à parenthèses et ont juste que précéder 1525 01:14:07,140 --> 01:14:10,860 la valeur que vous la coulée. 1526 01:14:10,860 --> 01:14:15,800 >> Donc ici, je vais diviser un flotteur par un flotteur pour obtenir une réponse de flotteur. 1527 01:14:15,800 --> 01:14:19,535 Et oui, ce serait en fait imprimer 0,10. 1528 01:14:19,535 --> 01:14:20,470 Cela fait-il sens? 1529 01:14:20,470 --> 01:14:24,110 >> LUCAS FREITAS: Alors le type coulée est juste la conversion d'un type à l'autre. 1530 01:14:24,110 --> 01:14:29,460 Ainsi, le flotteur 1 est en fait 1,000. 1531 01:14:29,460 --> 01:14:33,400 Pas exactement, mais c'est quelque chose avec décimales 1532 01:14:33,400 --> 01:14:34,715 qui est en fait une. 1533 01:14:34,715 --> 01:14:35,960 Cela fait-il sens? 1534 01:14:35,960 --> 01:14:36,260 Ouais? 1535 01:14:36,260 --> 01:14:40,990 >> PUBLIC: Que faire si vous avez flotteur réponse est égale à 1,0 divisé par 10? 1536 01:14:40,990 --> 01:14:43,940 >> LAUREN CARVALHO: Vous allez effectivement de voir que dans la diapositive suivante. 1537 01:14:43,940 --> 01:14:47,150 C'est en fait notre très prochaine diapositive. 1538 01:14:47,150 --> 01:14:50,740 C'est en fait un de plus agréable que tapez casting, je pense. 1539 01:14:50,740 --> 01:14:53,470 Donc, ces deux sont des flotteurs tout en nature du fait qu'ils 1540 01:14:53,470 --> 01:14:54,926 avoir décimales. 1541 01:14:54,926 --> 01:14:55,300 Oui? 1542 01:14:55,300 --> 01:14:57,670 >> PUBLIC: Que faire si vous avez fait [inaudible] 1543 01:14:57,670 --> 01:14:59,480 divisé par 10? 1544 01:14:59,480 --> 01:15:02,270 >> LAUREN CARVALHO: En fait un flotteur divisé par un int vous donne une réalité 1545 01:15:02,270 --> 01:15:03,670 flotter, de sorte que cela fonctionne très bien. 1546 01:15:03,670 --> 01:15:08,070 1547 01:15:08,070 --> 01:15:09,120 >> Attendez, que tout le monde comprend ce? 1548 01:15:09,120 --> 01:15:12,720 Parce que cela va être un très affaire dans Pset1, en fait. 1549 01:15:12,720 --> 01:15:13,130 Oui? 1550 01:15:13,130 --> 01:15:14,762 >> PUBLIC: Pourriez-vous rapidement aller sur la partie rouge? 1551 01:15:14,762 --> 01:15:16,380 >> LAUREN CARVALHO: La partie rouge, ouais. 1552 01:15:16,380 --> 01:15:17,250 Lucas, voulez-vous? 1553 01:15:17,250 --> 01:15:18,020 >> LUCAS FREITAS: OK. 1554 01:15:18,020 --> 01:15:20,570 Alors, n'oubliez pas que le pour cent est un espace réservé. 1555 01:15:20,570 --> 01:15:22,150 C'est comme un espace vide. 1556 01:15:22,150 --> 01:15:26,240 Essayons donc de comprendre tout ce qui se passe ici. 1557 01:15:26,240 --> 01:15:28,170 Signifie pour cent que c'est un espace réservé. 1558 01:15:28,170 --> 01:15:33,640 Ensuite, vous avez le f, ce qui signifie que cet espace réservé est un flotteur. 1559 01:15:33,640 --> 01:15:38,870 La dernière chose que nous avons ici est un 0,2, ce qui signifie que je veux avoir deux 1560 01:15:38,870 --> 01:15:42,410 décimales pour le flotteur. 1561 01:15:42,410 --> 01:15:48,510 >> Si j'ai juste eu% f, ils lui mettront un tas de décimales. 1562 01:15:48,510 --> 01:15:54,170 Donc, je ne peux mettre 0,2 ou 0,1 ou 0,5, ou que ce soit, et il va mettre que 1563 01:15:54,170 --> 01:15:55,950 nombre de décimales. 1564 01:15:55,950 --> 01:15:59,950 La seule chose est que si vous mettez comme .100 Ou .1,000, ce n'est pas vraiment 1565 01:15:59,950 --> 01:16:04,200 va mettre toutes ces décimales parce qu'il n'a pas assez de mémoire 1566 01:16:04,200 --> 01:16:06,432 d'avoir cette précision. 1567 01:16:06,432 --> 01:16:07,955 >> D'autres questions? 1568 01:16:07,955 --> 01:16:08,450 Ouais? 1569 01:16:08,450 --> 01:16:12,970 >> PUBLIC: Donc flotter permet juste vous allez au-delà des nombres entiers? 1570 01:16:12,970 --> 01:16:13,720 >> LUCAS FREITAS: Oui. 1571 01:16:13,720 --> 01:16:17,345 >> LAUREN CARVALHO: Eh bien, juste un flotteur vous permet d'avoir décimales. 1572 01:16:17,345 --> 01:16:20,460 >> LUCAS FREITAS: Cela signifie simplement que vous maintenant peut avoir des nombres décimaux. 1573 01:16:20,460 --> 01:16:25,728 >> PUBLIC: Pourquoi nous jamais utiliser des entiers? 1574 01:16:25,728 --> 01:16:27,870 >> LUCAS FREITAS: Pourquoi vous utilisez des nombres entiers? 1575 01:16:27,870 --> 01:16:31,810 Peut-être que si vous comptez de 0 à 10, vous voulez utiliser effectivement un nombre entier. 1576 01:16:31,810 --> 01:16:33,370 Vous n'avez pas besoin d'utiliser un flotteur. 1577 01:16:33,370 --> 01:16:35,430 Dans certaines situations, vous n'avez pas doivent effectivement - 1578 01:16:35,430 --> 01:16:37,040 >> LAUREN CARVALHO: Peut-être vous ne veulent pas de décimales. 1579 01:16:37,040 --> 01:16:38,600 >> LUCAS FREITAS: Peut-être que vous n'avez pas vouloir utiliser un flotteur. 1580 01:16:38,600 --> 01:16:42,660 >> LAUREN CARVALHO: L'autre chose est, rappelez-vous, à la fois mettre un flotteur et un int 1581 01:16:42,660 --> 01:16:46,170 prendre 32 bits pour les stocker, et peut-être vous ne voulez pas perdre des bits sur le 1582 01:16:46,170 --> 01:16:48,062 décimales. 1583 01:16:48,062 --> 01:16:49,750 >> LUCAS FREITAS: Ouais. 1584 01:16:49,750 --> 01:16:51,910 Donc, comme, il suffit de penser à ce sujet. 1585 01:16:51,910 --> 01:16:55,200 Vous avez 32 bits pour les deux un int et un flotteur. 1586 01:16:55,200 --> 01:16:59,400 Pour un int, tous les 32 bits aller à la partie entière. 1587 01:16:59,400 --> 01:17:03,460 Si vous utilisez un flotteur avec 32 bits, vous avoir une partie de cette mémoire utilisée 1588 01:17:03,460 --> 01:17:06,820 pour le nombre, le nombre entier, et l'autre partie étant utilisée pour l' 1589 01:17:06,820 --> 01:17:08,300 décimales. 1590 01:17:08,300 --> 01:17:12,370 Donc, cela signifie que vous ne pouvez pas obtenir de un très grand nombre de chars, car 1591 01:17:12,370 --> 01:17:16,020 le flotteur est déjà en utilisant un lot de mémoire pour les décimales. 1592 01:17:16,020 --> 01:17:17,014 Ouais? 1593 01:17:17,014 --> 01:17:21,487 >> PUBLIC: Cette première réponse, exactement ce que fait-il? 1594 01:17:21,487 --> 01:17:25,214 Est-il établit la valeur du flottant égal à cet espace réservé à ce que vous pouvez 1595 01:17:25,214 --> 01:17:26,954 rappeler à la ligne suivante? 1596 01:17:26,954 --> 01:17:28,942 Il dit flotter réponse. 1597 01:17:28,942 --> 01:17:29,770 >> LUCAS FREITAS: Ouais. 1598 01:17:29,770 --> 01:17:37,200 Donc, flotteur réponse signifie que vous obtenez maintenant un petit seau dans la mémoire 1599 01:17:37,200 --> 01:17:40,050 titulaire d'un flotteur, et qui va d'être appelé réponse. 1600 01:17:40,050 --> 01:17:42,040 C'est ce que fait flotteur réponse. 1601 01:17:42,040 --> 01:17:44,720 >> Et puis vous dites que l'intérieur de cela, vous allez mettre 1602 01:17:44,720 --> 01:17:46,470 le résultat de ce produit. 1603 01:17:46,470 --> 01:17:52,610 Alors vous allez faire 1,0 divisé par 10.0, vous obtenez 0,1, puis vous mettre 1604 01:17:52,610 --> 01:17:53,490 que à l'intérieur de la réponse. 1605 01:17:53,490 --> 01:17:57,540 >> LAUREN CARVALHO: Donc, en une ligne, nous sommes la déclaration et l'initialisation de ce flotteur 1606 01:17:57,540 --> 01:18:00,070 appelé réponse. 1607 01:18:00,070 --> 01:18:04,470 >> LUCAS FREITAS: intéressant, bien que c'est juste une ligne, il est fait 1608 01:18:04,470 --> 01:18:05,570 de multiples opérations. 1609 01:18:05,570 --> 01:18:08,800 C'est juste une façon de location C vous utilisez moins de code. 1610 01:18:08,800 --> 01:18:12,310 C'est la même chose que le ternaire opérateur, comment vous pouvez juste faire une 1611 01:18:12,310 --> 01:18:13,810 [Inaudible] en une seule ligne. 1612 01:18:13,810 --> 01:18:18,860 Il est en train de faire la même chose que faire flotter réponse, point-virgule, et 1613 01:18:18,860 --> 01:18:23,060 alors la réponse est égale, mais à la place de vous faire faire deux lignes pour que, 1614 01:18:23,060 --> 01:18:24,160 c'est comme un raccourci. 1615 01:18:24,160 --> 01:18:24,520 Ouais? 1616 01:18:24,520 --> 01:18:27,929 >> PUBLIC: Donc, si vous avez exécuté ce, il serait de 0,10? 1617 01:18:27,929 --> 01:18:30,120 >> LUCAS FREITAS: Oui. 1618 01:18:30,120 --> 01:18:30,530 Ouais? 1619 01:18:30,530 --> 01:18:34,540 >> PUBLIC: Est répondre effectivement code, ou c'est juste le nom? 1620 01:18:34,540 --> 01:18:36,010 >> LAUREN CARVALHO: Cette est en fait le code. 1621 01:18:36,010 --> 01:18:37,750 C'est ce que nous allons de nommer notre variable. 1622 01:18:37,750 --> 01:18:39,770 >> PUBLIC: Donc c'est juste un nom [inaudible]. 1623 01:18:39,770 --> 01:18:40,270 >> LAUREN CARVALHO: Ouais. 1624 01:18:40,270 --> 01:18:44,670 J'aurais pu dire float x est égal à 1,0. 1625 01:18:44,670 --> 01:18:47,160 >> LUCAS FREITAS: Le fait est que le nom de la variable est 1626 01:18:47,160 --> 01:18:48,400 quelque chose que vous utilisez. 1627 01:18:48,400 --> 01:18:49,690 Il est important pour vous. 1628 01:18:49,690 --> 01:18:52,660 Pour le programme proprement dit, la seule chose ce qui importe est la valeur que vous 1629 01:18:52,660 --> 01:18:55,570 disposer à l'intérieur du godet. 1630 01:18:55,570 --> 01:18:59,270 La raison pour laquelle vous avez des variables et noms de variables est si vous sauriez 1631 01:18:59,270 --> 01:19:01,910 ce que vous faites affaire avec, comme ce genre de données que vous êtes 1632 01:19:01,910 --> 01:19:03,040 l'accès à la fois. 1633 01:19:03,040 --> 01:19:07,580 Mais pour le code lui-même, si vous appelez il répond ou question ou quoi que ce soit, 1634 01:19:07,580 --> 01:19:09,530 à peu près, ce n'est pas grave. 1635 01:19:09,530 --> 01:19:10,060 Il n'a pas d'importance. 1636 01:19:10,060 --> 01:19:12,910 Tant que vous êtes cohérent dans tous les occurrence et si vous l'appelez 1637 01:19:12,910 --> 01:19:13,620 autre chose. 1638 01:19:13,620 --> 01:19:14,880 Ouais? 1639 01:19:14,880 --> 01:19:17,208 >> PUBLIC: Faites les variables aller au-delà de la fonction? 1640 01:19:17,208 --> 01:19:20,902 Comme si vous aviez à créer un support [Inaudible], pourriez-vous juste 1641 01:19:20,902 --> 01:19:21,806 [Inaudible] répondre à nouveau? 1642 01:19:21,806 --> 01:19:22,550 >> LAUREN CARVALHO: Non 1643 01:19:22,550 --> 01:19:23,300 >> PUBLIC: [inaudible] 1644 01:19:23,300 --> 01:19:24,200 >> LAUREN CARVALHO: Non 1645 01:19:24,200 --> 01:19:26,930 Ce serait en dehors du champ d'application de cette variable particulière. 1646 01:19:26,930 --> 01:19:29,940 Et en fait, c'est le genre de intéressant, parce que quand nous avons 1647 01:19:29,940 --> 01:19:33,010 des choses comme les boucles ou les si conditions, si vous déclarez une variable 1648 01:19:33,010 --> 01:19:36,330 dans une autre série d'accolades, il vraiment n'existe 1649 01:19:36,330 --> 01:19:39,800 dans ces accolades. 1650 01:19:39,800 --> 01:19:43,088 >> PUBLIC: Une dernière note sur les [inaudible] flotteurs. 1651 01:19:43,088 --> 01:19:46,076 Pourquoi voudriez-vous jamais utiliser ints? 1652 01:19:46,076 --> 01:19:49,562 Il s'agit plus d'une note de côté que rien, mais votre ordinateur est 1653 01:19:49,562 --> 01:19:53,048 nettement mieux à la manipulation ints qu'elle ne l'est à flotteurs de manutention. 1654 01:19:53,048 --> 01:19:55,040 C'est comme un ordre de grandeur plus rapide. 1655 01:19:55,040 --> 01:20:00,360 Donc, si nous juste manipulé que flotteurs, les choses seraient beaucoup plus lent. 1656 01:20:00,360 --> 01:20:03,080 >> LAUREN CARVALHO: En fait, il semble à avoir un problème avec flotteurs. 1657 01:20:03,080 --> 01:20:06,400 >> LUCAS FREITAS: Type de la raison pour que, que vous pouvez penser, est de savoir comment en binaire 1658 01:20:06,400 --> 01:20:08,480 vous pouvez représenter des nombres entiers en mettant de 0 et de 1. 1659 01:20:08,480 --> 01:20:09,980 >> LAUREN CARVALHO: C'est la prochaine chose. 1660 01:20:09,980 --> 01:20:10,480 >> LUCAS FREITAS: OK. 1661 01:20:10,480 --> 01:20:10,740 Impressionnant. 1662 01:20:10,740 --> 01:20:11,480 >> LAUREN CARVALHO: Just maintenez cette pensée. 1663 01:20:11,480 --> 01:20:13,800 >> LUCAS FREITAS: OK, je vais vous le dirai plus tard. 1664 01:20:13,800 --> 01:20:16,920 >> LAUREN CARVALHO: Avant de passer à ce Lucas vient de le dire, l'opérateur 1665 01:20:16,920 --> 01:20:17,420 priorité. 1666 01:20:17,420 --> 01:20:18,220 C'est le bon sens. 1667 01:20:18,220 --> 01:20:20,830 Vous avez fait assez. 1668 01:20:20,830 --> 01:20:24,705 Donc, juste si quelque chose est entre parenthèses, il se produira en premier. 1669 01:20:24,705 --> 01:20:27,970 C'est la multiplication est prioritaire sur l'addition, 1670 01:20:27,970 --> 01:20:30,330 soustraction, des choses comme ça. 1671 01:20:30,330 --> 01:20:34,700 Donc en fait, tout ce que quelqu'un veut dites-moi ce numéro un fait 1672 01:20:34,700 --> 01:20:36,674 évalue à? 1673 01:20:36,674 --> 01:20:37,638 >> PUBLIC: 27. 1674 01:20:37,638 --> 01:20:39,090 >> LAUREN CARVALHO: 27? 1675 01:20:39,090 --> 01:20:39,550 Ouais. 1676 01:20:39,550 --> 01:20:41,975 >> LUCAS FREITAS: Permettez-moi de vous donner bonbons aux gens. 1677 01:20:41,975 --> 01:20:42,850 >> LAUREN CARVALHO: Très bien. 1678 01:20:42,850 --> 01:20:44,100 Qu'en est-il numéro deux? 1679 01:20:44,100 --> 01:20:46,880 1680 01:20:46,880 --> 01:20:48,340 Qu'en est-il numéro deux? 1681 01:20:48,340 --> 01:20:49,280 >> PUBLIC: 22. 1682 01:20:49,280 --> 01:20:50,680 >> LAUREN CARVALHO: 22, ouais. 1683 01:20:50,680 --> 01:20:51,570 Je ne sais pas qui a obtenu que. 1684 01:20:51,570 --> 01:20:52,694 Le numéro trois? 1685 01:20:52,694 --> 01:20:54,050 >> PUBLIC: 10. 1686 01:20:54,050 --> 01:20:55,300 >> LAUREN CARVALHO: 10, oui. 1687 01:20:55,300 --> 01:20:58,150 1688 01:20:58,150 --> 01:20:58,490 Cool. 1689 01:20:58,490 --> 01:21:01,280 Donc modulo. 1690 01:21:01,280 --> 01:21:03,700 Lucas, voulez-vous expliquer modulo? 1691 01:21:03,700 --> 01:21:07,150 >> LUCAS FREITAS: Modulo est cet opérateur c'est en fait très utile pour un 1692 01:21:07,150 --> 01:21:09,470 tas de problèmes. 1693 01:21:09,470 --> 01:21:15,270 Si je fais 55 modulo 10, ce qu'il fait ce disons que je veux 1694 01:21:15,270 --> 01:21:16,970 diviser 55 par 10. 1695 01:21:16,970 --> 01:21:18,240 Qu'est-ce que je reçois? 1696 01:21:18,240 --> 01:21:21,380 Il se sent comme si je suis en fait juste faire la division, ce qui est la 1697 01:21:21,380 --> 01:21:22,450 première fois que j'ai eu l'entier? 1698 01:21:22,450 --> 01:21:23,190 >> PUBLIC: 5. 1699 01:21:23,190 --> 01:21:24,080 >> LUCAS FREITAS: 5. 1700 01:21:24,080 --> 01:21:26,230 Et puis le reste est de 5, non? 1701 01:21:26,230 --> 01:21:29,250 Donc, c'est comme 5 fois 10 plus 5. 1702 01:21:29,250 --> 01:21:35,570 Fondamentalement, ce que ne modulo, il essaie de diviser ce nombre par celui-ci, et 1703 01:21:35,570 --> 01:21:37,440 il voit ce qui est du reste de la division. 1704 01:21:37,440 --> 01:21:40,080 >> LAUREN CARVALHO: Donc juste retourne le reste. 1705 01:21:40,080 --> 01:21:41,920 Donc, le numéro un, c'est quoi? 1706 01:21:41,920 --> 01:21:42,560 5. 1707 01:21:42,560 --> 01:21:43,336 Le numéro deux? 1708 01:21:43,336 --> 01:21:44,150 >> PUBLIC: 3. 1709 01:21:44,150 --> 01:21:44,934 >> LAUREN CARVALHO: 3. 1710 01:21:44,934 --> 01:21:46,240 Le numéro trois? 1711 01:21:46,240 --> 01:21:47,190 0. 1712 01:21:47,190 --> 01:21:48,410 Et quatre est 1. 1713 01:21:48,410 --> 01:21:48,665 Exactement. 1714 01:21:48,665 --> 01:21:49,915 >> LUCAS FREITAS: simple, non? 1715 01:21:49,915 --> 01:21:54,270 1716 01:21:54,270 --> 01:21:56,560 >> LAUREN CARVALHO: Pourquoi avons-nous sautons pas ce simplement parce que nous n'avons pas vraiment 1717 01:21:56,560 --> 01:21:59,780 temps, et les gens semblent comprendre. 1718 01:21:59,780 --> 01:22:03,330 Alors, voici ce que Lucas était simplement en parler. 1719 01:22:03,330 --> 01:22:08,030 >> LUCAS FREITAS: Une autre raison pour laquelle je utiliserait ints au lieu de flotteurs n'est 1720 01:22:08,030 --> 01:22:10,840 que les flotteurs sont très imprécises. 1721 01:22:10,840 --> 01:22:12,720 Et pourquoi sont-ils imprécises? 1722 01:22:12,720 --> 01:22:17,140 David dit que pour représenter un nombre entier, par exemple, nous utilisons 0 et 1723 01:22:17,140 --> 01:22:17,810 De 1, non? 1724 01:22:17,810 --> 01:22:22,370 Et puis vous faites essentiellement la multiplication, faire tous ceux 1725 01:22:22,370 --> 01:22:30,000 opérations de savoir ce que nombre décimal vous avez la place de la binaire. 1726 01:22:30,000 --> 01:22:33,040 >> Ce qui se passe maintenant si j'essaie de mettre décimales? 1727 01:22:33,040 --> 01:22:37,680 En fait, par exemple, si j'ai comme le nombre 3,33333? 1728 01:22:37,680 --> 01:22:40,250 Il se sent comme 10 sur 3. 1729 01:22:40,250 --> 01:22:44,950 Comment vais-je stocker toutes les 3 est que j'ai par la suite? 1730 01:22:44,950 --> 01:22:47,120 Il est vraiment difficile, non? 1731 01:22:47,120 --> 01:22:49,580 Vous ne pouvez pas dire à l'ordinateur, hey, j'ai un 3, et 1732 01:22:49,580 --> 01:22:50,520 alors vous faites cela pour toujours. 1733 01:22:50,520 --> 01:22:52,810 En fait, l'ordinateur n'est pas assez intelligent pour cela. 1734 01:22:52,810 --> 01:22:58,300 >> Donc, fondamentalement, tous les ordinateurs ne fait qu'il tente de mettre autant de chiffres que 1735 01:22:58,300 --> 01:23:00,950 il peut jusqu'à la mémoire que vous avez. 1736 01:23:00,950 --> 01:23:05,890 Donc, disons que ça va dire 3.3333, et c'est tout. 1737 01:23:05,890 --> 01:23:10,690 Ce n'est donc pas en mesure de réellement exprimer précisément ce qui est flottant. 1738 01:23:10,690 --> 01:23:13,240 >> LAUREN CARVALHO: Nous avons un nombre fini de bits, ce qui signifie que non 1739 01:23:13,240 --> 01:23:17,910 chaque nombre décimal va être capable d'être représenté avec précision. 1740 01:23:17,910 --> 01:23:24,910 Et donc, dans cet exemple, si nous sommes imprimer 0,1, nous sommes maintenant l'impression 1741 01:23:24,910 --> 01:23:26,475 sur 20 places. 1742 01:23:26,475 --> 01:23:30,250 >> LUCAS FREITAS: Tout comme je disais vous les gars, vous pouvez mettre n'importe quel nombre. 1743 01:23:30,250 --> 01:23:36,520 Mais si vous venez de faire les deux endroits, vous obtiendrez 0,10, mais si vous mettez 20 1744 01:23:36,520 --> 01:23:43,630 endroits, il va vous montrer un tas de s 'parce que c'est ce que vous pouvez mettre 1745 01:23:43,630 --> 01:23:45,720 dans la mémoire, non? 1746 01:23:45,720 --> 01:23:48,800 >> Mais ici, à la 0, et est ensuite il suffit de mettre un 1747 01:23:48,800 --> 01:23:50,030 tas de nombres aléatoires. 1748 01:23:50,030 --> 01:23:52,590 C'est un peu comme certains - 1749 01:23:52,590 --> 01:23:56,190 >> LAUREN CARVALHO: C'est parce que nous sommes pas en mesure de représenter cette décimal 1750 01:23:56,190 --> 01:23:58,320 précisément le nombre de bits que nous avons. 1751 01:23:58,320 --> 01:23:59,730 >> LUCAS FREITAS: Et puis l' l'ordinateur est fondamentalement 1752 01:23:59,730 --> 01:24:01,470 vous donnant un certain nombre de déchets. 1753 01:24:01,470 --> 01:24:04,530 Ce n'est pas vraiment le La valeur de ce nombre. 1754 01:24:04,530 --> 01:24:08,242 >> PUBLIC: C'est le plus près il peut obtenir [inaudible] 1755 01:24:08,242 --> 01:24:09,613 utilisant le [inaudible]. 1756 01:24:09,613 --> 01:24:12,685 1757 01:24:12,685 --> 01:24:18,830 >> LAUREN CARVALHO: Donc, l'implication de ce n'est que disons qu'au lieu de 1758 01:24:18,830 --> 01:24:27,680 étant 0.100014, soit, si c'était 0,0999 - 1759 01:24:27,680 --> 01:24:30,470 bien, OK. 1760 01:24:30,470 --> 01:24:38,280 Admettons que la réponse réelle à cela était 0,9999999. 1761 01:24:38,280 --> 01:24:40,740 C'est très proche de 1, mais ce n'est pas exactement 1. 1762 01:24:40,740 --> 01:24:42,840 C'est 0,99999. 1763 01:24:42,840 --> 01:24:48,140 >> Cela signifie que si je prends que 0,999, et je jetai à un int, je reçois 0. 1764 01:24:48,140 --> 01:24:49,460 Je ne comprends pas 1. 1765 01:24:49,460 --> 01:24:53,050 >> LUCAS FREITAS: Parce que souvenez-vous, coulée de flotteur int, vous venez 1766 01:24:53,050 --> 01:24:54,880 ignorer tous les décimales. 1767 01:24:54,880 --> 01:24:56,400 Vous ignorez les. 1768 01:24:56,400 --> 01:25:00,170 Il n'y a pas une telle chose comme arrondi ou la course vers le bas lorsque vous catalogué. 1769 01:25:00,170 --> 01:25:03,310 En fait, il ya cette fonction ne l'arrondissement, qui est très 1770 01:25:03,310 --> 01:25:08,840 important, mais vous pensez juste que quand vous faites transtypage, c'est juste 1771 01:25:08,840 --> 01:25:09,720 va supprimer tout. 1772 01:25:09,720 --> 01:25:13,970 Donc, même si vous avez 0.99999, ça va juste donner 0 si vous typecast 1773 01:25:13,970 --> 01:25:14,800 [Inaudible] un nombre entier. 1774 01:25:14,800 --> 01:25:17,480 >> LAUREN CARVALHO: Il suffit donc être vraiment conscient point de flottant de précision, 1775 01:25:17,480 --> 01:25:20,410 surtout quand vous commencez d'utiliser des flotteurs en Pset1. 1776 01:25:20,410 --> 01:25:22,790 Mais la promenade à travers devrait vous avertir de cela aussi. 1777 01:25:22,790 --> 01:25:26,100 >> LUCAS FREITAS: Et en fait c'est vraiment dur, par exemple, si je l'ai fait 1778 01:25:26,100 --> 01:25:31,570 flotteur réponse 1 est égal à 1,0 sur 10, puis flotter réponse 2 1779 01:25:31,570 --> 01:25:35,540 est égal à 10,0 sur 100,0. 1780 01:25:35,540 --> 01:25:36,890 Ils sont le même nombre, non? 1781 01:25:36,890 --> 01:25:38,540 0,1, non? 1782 01:25:38,540 --> 01:25:41,700 1 sur 10 ou 10 sur 100. 1783 01:25:41,700 --> 01:25:46,360 Mais maintenant, si j'essaie de voir l'égalité, comme si la réponse 1 est égal à répondre à 2, 1784 01:25:46,360 --> 01:25:49,300 c'est peut-être pas réellement aller être la même chose. 1785 01:25:49,300 --> 01:25:50,720 Donc flotteurs sont un peu comme ça. 1786 01:25:50,720 --> 01:25:51,970 Ils sont comme faire de l'égalité. 1787 01:25:51,970 --> 01:25:55,136