JASON HIRSCHHORN: Bienvenue. Il suffit donc de quelques annonces avant de commencer. Donc sections, tout le monde devrait ont déjà sectionné. Sections fonctionnent normalement du dimanche au mardi. Alors vous les gars devriez obtenir vos missions. Et puis je pense que la semaine prochaine vous serez avec votre réelle TF. Donc, si vous avez des questions, ou difficulté, ou vous avez oublié de section. Certaines personnes le font. Faites-nous savoir. Nous tirer un email à tête. Puis les heures de bureau. Nous avons commencé les heures de bureau la semaine dernière. Les heures de bureau chaque semaine. Le lundi est en Leverett 8h00 à 11h00. Les mardis du quad, si Cabot 8h00 à 11h00. Mercredi, Mather 8:30-11:30. Et le jeudi Annenberg 8h00 à 11h00. Donc, Scratch, beaucoup de gens ne nécessitent pas des heures de bureau aider à zéro, ce qui est tout à fait bien. Si vous le faites, que ce absolument parfait ainsi. Mais à l'avenir, le problème ensembles, ils obtiennent beaucoup plus difficile. Donc cela va être votre ami. Certainement aller à des heures de bureau. Planifiez d'aller à des heures de bureau. Lorsque vous arrivez à problème mettre en quatre, cinq, six, sept, vous devez aller à des heures de bureau. Voilà où beaucoup l'aide et le travail est fait. Je pense que l'année dernière, juste pour exemple, le jeudi night-- donc je pense que le problème ensembles étaient dus vendredi. Donc, jeudi soir, nous aurions 200, 250 étudiants aux heures de bureau. Donc certainement faire usage de ces derniers. Ce sont vos meilleurs amis. , Comme cela est le cas si vous êtes collé sur un ensemble de problèmes, ceci est où vous allez probablement obtenir de l'aide. Donc, les heures de bureau. Ok, donc ce sont des annonces. Annonces terminé, nous allons donc commencer. OK, l'appareil. Tout le monde a télécharger encore l'appareil? Non. Comme dans la manière. Je genre de téléchargé l'appareil. Droit si l'appareil est nouveau cette année, nous sommes donc probablement va y avoir des bugs en elle. Ainsi se il vous plaît télécharger le plus tôt possible. Donc problème réglé on va dire vous exactement comment le télécharger. Mise en route de l'installation ici. Il va vous dire comment télécharger l'appareil. Donc certainement télécharger le appareil plutôt tôt que tard. Les instructions sont dans le jeu P spec. Donc, si vous attendez jusqu'à mercredi nuit, et puis vous avez du mal, et vous nous envoyez un courriel à minuit mercredi soir que vous ne pouvez pas télécharger l'appareil, qui est pas une raison légitime pour une extension. Vous devez le faire maintenant, et vous aurez du mal. Je essayé de télécharger la dernière nuit. Je suis tombé sur un peu de mal. Si vous ne rencontrez des problèmes l'installation, sans aucun doute frapper tentative, parce que je frappe juste réessayer un deux fois, et finalement ça a marché, qui ne fait aucune sens, mais il le fait. Donc certainement recommencer, mais si vous se heurter à un mur de briques, nous tirer un email à la tête, et nous allons être plus qu'heureux de vous aider les gars. Quoi de neuf? L'ÉLÈVE: Juste une question rapide. Si ils vérifient le style, il ya une partie qui dit que nous ne avons pas inclus cela. JASON HIRSCHHORN: Pas encore. L'ÉLÈVE: Il dit l'exécuter. Comment vous exécutez faire ça assurez-vous qu'il est dans votre système? JASON HIRSCHHORN: Vous êtes va exécuter une commande de bash. Je vais passer en revue plus tard. Laisser refroidir. Donc, l'appareil peut être un peu intimidant, parce que vous avez l'habitude de genre de en exécutant l'interface utilisateur graphique. Donc Scratch est une interface utilisateur graphique interface, donc ce que je veux dire par là? Ce que je veux dire est que lorsque vous programmez, vous êtes essentiellement en utilisant des blocs de code. Vous pouvez voir le code et des trucs comme ça. L'appareil, vous allez être faire choses dans un environnement de ligne de commande. Et pour le reste de votre vie de programmation, vous allez faire des choses dans l'environnement de ligne de commande. Il est donc bon de sauter au début et obtenir une certaine expérience. Alors faisons-le. Voilà donc Rob. OK, donc on va plutôt sauter en ligne de commande choses. Donc, cela est l'appareil. Quelqu'un peut-il me dire pourquoi nous utilisons un appareil? Quel est l'appareil? Quelqu'un sait-il? Quoi de neuf? L'ÉLÈVE: Il est juste une machine virtuelle que vous exécutez votre machine pour que vous peut obtenir sur le système d'exploitation désaccords entre Mac et PC. JASON HIRSCHHORN: Parfait. L'ÉLÈVE: Il est un modèle universel. JASON HIRSCHHORN: Ouais, il est comme un modèle universel. Ce est parfait. Alors oui, il est une machine virtuelle. Donc, il est fondamentalement un système d'exploitation. Ceci est un système d'exploitation. Ceci est équivalent à votre Mac ou votre PC, ou votre Linux. Ceci est exactement la même. Et si vous pouvez faire des choses similaires. Si vous vouliez, vous pourriez aller en ligne par exemple. Vous ne pouvez pas vraiment voir, mais ici, Google Chrome. Vous pouvez aller en ligne si vous voulez. Ceci est un système d'exploitation. Et la raison pour laquelle nous faisons cela parce que il est beaucoup plus facile lorsque nous distribuer des instructions et tout. Si elle est juste un environnement uniforme, il est beaucoup plus facile pour nous, et il est beaucoup plus facile pour vous. Tu ne vas pas à courir dans courir dans tous les idiosyncrasies lorsque vous programmez. Nous savons exactement ce que vous allez rencontrer. Donc, l'appareil est ici. Ainsi, lorsque vous commencez programmation, vous êtes va descendre à le coin gauche. Il ya une petite boîte. Vous allez cliquer dessus. Ceci est votre fenêtre de terminal. Donc, ceci est où vous allez être beaucoup du semestre. Alors laissez-moi un zoom avant un peu. OK, donc se déplacer d'un terminal fenêtre est un peu différent. Tout d'abord, il n'y a pas d'icônes. Je ne peux pas cliquer n'importe quoi. Il n'y a rien à cliquer. Donc, vous devez trouver un moyen de savoir où vous êtes, ce qui est ici, et comment se déplacer. Ainsi, les deux commandes les plus utiles probablement êtes ls-- afin que pensez-vous ls t-il? L'ÉLÈVE: Liste. JASON HIRSCHHORN: listes, oui. Il énumère simplement les algorithmes dans le répertoire. Et puis cd. Alors disons que je voulais cd CS50, qu'est-ce que faire? Ouais? L'ÉLÈVE: Modifie le répertoire. JASON HIRSCHHORN: Parfait, oui. Il change tout le répertoire. Donc revenons. Alors, comment puis-je revenir en arrière? Alors disons que je voulais aller Retour à l'annuaire précédente. Ouais, bien sûr. Etudiant: Je pense que vous écrivez cd juste sans rien. JASON HIRSCHHORN: Vous pouvez le faire. Donc parfait. Donc, si je vous écris cd, cela est en fait va me sauter sauvegarder dans le répertoire de la maison. Donc, vous voyez ce tilde, qui va me sauter chemin du retour jusqu'à l'endroit où le tilde est. Donc, il va me pop up Retour à l'annuaire de la maison. Mais disons que je faisais quelque chose comme ça. Disons cd CS50. ls nouveau. Je dois d'autres choses. section super-cd. fichier de CD, alors je vais profonde. Et puis disons que je veux juste y faire un saut vers le sommet. cd. Disons que je ne veux pas le faire. Disons que je veux juste faire un saut jusqu'à le répertoire qui était juste au-dessus de moi. Comment puis-je faire? Alors disons cd CS50. cd supersection. Alors disons que je suis ici. Disons que je veux juste pour faire apparaître une seule fois. Comment puis-je faire? Ouais, quoi de neuf? ÉTUDIANTS: Vous tapez simplement cd supersection à nouveau. JASON HIRSCHHORN: Vous pourriez le faire. Eh bien, je suis en supersection. L'ÉLÈVE: Oh, celui d'avant. JASON HIRSCHHORN: Ouais, si vous pouviez faire cela. Vous faites cd ~ CS50. Donc, si vous regardez ici, ce est votre chemin ici. Voilà votre chemin. Donc, il faut sérieusement juste aller cd ~ / CS50. Boom, vous y êtes. Quelle est une façon facile de le faire si? Cela a été parfaitement correct, mais ce qui est une façon un peu plus facile de le faire, parce que beaucoup de fois que vous allez à sauter dans les annuaires, sauter de répertoires. Donc revenons. cd supersection. Alors disons que je veux revenir très vite. Vous pouvez faire quelque chose comme cd dot dot. Cela va de la pop sauvegarder réel rapide. Donc cd supersection. fichiers de CD. Disons que je suis ici. Soit dit en passant, est bien clair, parce que mon fenêtre devenait un peu désordonné. Donc, ls, donc je ne veux pas plus être ici. cd dot dot. Prends-moi un. Cd dot dot me prend un. Cd dot dot et à l'arrière de ma maison. OK, alors CD, ls. Probablement le plus important choses, parce que vous êtes allez avoir besoin de savoir où vous êtes. ls va vous dire où vous êtes, et cd est la façon dont vous allez sauter. Vous pouvez aussi faire d'autres choses encore. Ainsi, par exemple ls. ls va tout simplement vous montrer les répertoires de votre fichier. Il va aussi vous montrer les fichiers. Mais il va juste vous montrer ce qui est là. Si vous voulez quelque chose un peu plus cool, et vous allez réellement faire ce en quelques semaines. ls tableau de bord l. Qui affiche un peu plus d'informations. Quelqu'un peut-il deviner sur la main gauche l'autre la drwx, rwx des choses comme ça. Est-ce que quelqu'un a une idée ce que cela signifie? L'ÉLÈVE: Autorisations. JASON HIRSCHHORN: Oui, parfait. Autorisations. Donc, vous allez avoir à faire face à cette quand vous faites la programmation web plus tard. Si vous avez déjà mis en ligne, et que vous avez cliqué sur une image ou cliqué sur un champ, et ledit permission-- comme l'autorisation non autorisés, ou comme autorisation accordée ou non que ce soit, qui est parce que quand ils programmation, ils ont pas définir ces autorisations à vous laisser faire cela. Alors d'où ça vient. OK, donc ce est cool. Donc nous avons sauté autour. Nous pouvons regarder des trucs dans notre annuaire. Mais comment pouvons-nous faire des choses? Je dois répertoires ici. Ce est génial. Comment puis-je faire un nouveau répertoire? Disons que je veux faire une nouvelle répertoire pour le moment. Vous pouvez faire quelque chose comme ça, mkdir. Donc, assurez-répertoire. Alors qu'est-ce que vous voulez appellerons ce répertoire? L'ÉLÈVE: Awesome. JASON HIRSCHHORN: Awesome. J'aime cela. Assurez-répertoire impressionnant. Et là vous allez. Nous avons donc besoin d'une liste. Vous avez un nouveau répertoire. Et vous pouvez dire qu'il est une répertoire de votre appareil parce qu'il a cette couleur, non? Donc, il est comme un bleu violet ou autre. Donc, nous allons changer. Changeons répertoire. Allons dans directory-- ouais, quoi de neuf? L'ÉLÈVE: Y at-il une liste de tous ces [inaudible] en ligne? JASON HIRSCHHORN: Ouais, je vais mettre les jusqu'à on-- nous aurons diapositives. Ce sera un PDF. Nous allons les mettre en place pour tout le monde. Ouais, désolé, il ya beaucoup de commandes. si vous voulez que je ralentisse, ou revenir en arrière, ou quelque chose comme ça, laisse certainement me connais. Il ya beaucoup à absorber tout de suite. Quoi de neuf? L'ÉLÈVE: Puis-je poser une question potentiellement stupide? JASON HIRSCHHORN: Il ya pas de questions stupides. L'ÉLÈVE: Il existe. Un annuaire est de simplement regarder à l'information où vous stockez. JASON HIRSCHHORN: Ouais. L'ÉLÈVE: Est-ce essentiellement ce que vous faites? Alors, quand nous faisons quelque chose, Bonjour tout le monde ou que ce soit, il est stocké dans le répertoire, oui? JASON HIRSCHHORN: Ouais. L'ÉLÈVE: Est-ce vrai pour tout. Le tout est stocké dans le répertoire. JASON HIRSCHHORN: Ouais. Chaque fois que vous faites, le répertoire que vous êtes, ça va fondamentalement stocker dans ce répertoire. ÉTUDIANT: Et quand nous appeler, il nous appelle à partir du répertoire. JASON HIRSCHHORN: Ouais, donc le répertoire est l'endroit où il es. Donc, il est un peu comme si vous avez un nouveau dossier sur votre bureau et puis vous écrivez un texte fichier, le mettre dans ce dossier, ce fichier est dans ce dossier. Est-ce logique? L'ÉLÈVE: Oui. JASON HIRSCHHORN: Ouais, quoi de neuf? L'ÉLÈVE: Puis-je vous demander de faire un peu plus grand? JASON HIRSCHHORN: Oh, oui. Désolé. Le projecteur est si mauvais. Nous avons eu tant de mal avec un peu plus tôt. Est-ce mieux? Est-ce trop grand? ÉTUDIANT: Non, non il est pas. JASON HIRSCHHORN: Non, il est pas. Est-il trop petit? Quoi de neuf? Etudiant: Je suis désolé, ce qui est la commande de la compensation? JASON HIRSCHHORN: Oh, clair. Si vous souhaitez effacer, juste Clear Type. clair entrez. Sur le dernier appareil, ce qu'il fait au fond, il ne supprime pas vos informations, juste genre de changement tout vers le bas d'un écran. Donc, si vous avez tapé clear-- pour exemple Disons que je suis défilement vers le haut. Je peux défiler vers le haut. Ceci est tout ce que je faisais. Mais si je tape clair, et puis Je défiler vers le haut, voici mon truc. Donc, il est pas l'effacer, il est juste fondamentalement, vous donnant une nouvelle image. L'ÉLÈVE: Comment avez-vous [Inaudible] un répertoire? JASON HIRSCHHORN: Nous y arriverons. [Rires] Ralentissez votre rouleau. Bien. OK, donc si nous sommes dans une répertoire dès maintenant. David, je pense en conférence il a des trucs cool. Donc, nous allons écrire un programme. Ainsi, vous pouvez faire une nombre de façons différentes. Vous pouvez utiliser n'importe quel type de l'éditeur de texte. Vous pouvez utiliser Nano, vous peut utiliser Vim, Emacs. Ce sont un peu plus compliqué. Ou vous pouvez utiliser quelque chose dans ici on appelle ça gedit. Désolé. gedit est pas heureux. Donc gedit est essentiellement juste un éditeur de texte. Tout comme je mot d'édition de texte processeur ou quelque chose comme ça. Donc il existe une belle l'interface comme ça. Donc, vous faites quelque chose comme ça. Donc en fait je vais lui donner nommer parce que je ne l'ai fait. Alors qu'est-ce que vous voulez nommer notre premier programme? Il va juste dire salut. L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: Vous manquez d'imagination. OK, gedit. Salut. Je vais faire .txt. OK, si elle est ici. Donc, nous allons écrire un programme. Donc, je pense que vous avez vu ce en conférence. Vous avez besoin d'une fonction principale. Boop. Donc, ceci est juste une fonction principale. Bigger? Ouais, désolé. Bon, vous avez besoin d'une fonction principale. Je crois que je vais sauter le pistolet un peu, mais il est jamais mauvais d'obtenir utilisé pour ce genre de choses. Ainsi, une fonction principale, chaque programme C, vous êtes va écrire pour le reste de cette cours aura une fonction principale. Est-ce que quelqu'un sait pourquoi? Quoi de neuf? L'ÉLÈVE: Lancer. JASON HIRSCHHORN: Exactement, il dit votre programme par où commencer. Donc, si vous ne disposez pas d'une fonction principale, et vous compilez ce et tout ça, il ne va pas savoir devait commencer. Principal est toujours là que ça commence. Donc, vous avez une fonction principale, puis Quelqu'un se souvient comment imprimer? L'ÉLÈVE: printf. JASON HIRSCHHORN: Ouais, printf. printf salut. OK, maintenant je suis fixé jusqu'à vous les gars à l'échec, mais cette compilation. ÉTUDIANT: Non JASON HIRSCHHORN: Pourquoi? Il ya plusieurs raisons. Bien sûr. L'ÉLÈVE: Il n'a pas la norme [inaudible]. JASON HIRSCHHORN: Parfait. Alors, quel est ce nom ici? L'ÉLÈVE: [Inaudible] JASON HIRSCHHORN: Il est un fichier d'en-tête, à droite? Il est un fichier d'en-tête. Et vous avez parfaitement raison. Vous êtes tous deux droit. Donc, pour comprendre que, je ne livre inclure .h d'entrée-sortie standard. Suis-je prêt à partir maintenant? Serait-ce compiler? ÉTUDIANT: Non JASON HIRSCHHORN: Pourquoi pas? L'ÉLÈVE: Il est un [inaudible] texte. JASON HIRSCHHORN: Ouais, génial. Donc, je viens de faire ce. Donc je l'ai enregistré, mais gedit hi.txt. Alors maintenant, si je fais ls, ici il est. Juste ici. Oh, il est pas dans awesome. Je dois avoir sorti. Oh, parfait. Comment pouvons-nous mettre cela en génial? Je ne veux pas ici dans ma maison répertoire avec tout le reste. Je veux le mettre dans le dossier. Comment puis-je faire? Pas trop dur. Déplacer. Donc, nous avons déjà appris ls, liste. cd pour changer de répertoire. cd dot dot à bosse de répertoires. Et maintenant, nous allons commencer à se déplacer autour de fichiers. Donc, pour se déplacer il suffit de déplacer hi.txt, et Je vais le mettre dans awesome. Juste être prudent. Chaque fois que vous écrivez dans le ligne de commande, tout est important. Donc, les questions majuscules. Si je l'avais fait une minuscule, il est ne va pas à savoir ce qui se passe. Donc tout les questions d'être très précis. Courez donc de manière LS. Ce ne sont plus ici. Nous allons changer le répertoire dans impressionnant. ls. Boom, il est là. Et quelqu'un a mentionné pourquoi ce ne serait pas compiler. Pourquoi ne va pas compiler de nouveau? Ouais? L'ÉLÈVE: Il est pas dans un .c. JASON HIRSCHHORN: Parfait. Il est pas un .c, est tellement comment suis-je va renommer un .c? Quel est un moyen facile de le faire? Nous allons utiliser les commandes que nous avons fait. Donc, nous allons juste déplacer hi.txt à hi.c. ls hi.c. Et puis juste pour le plaisir, nous allons simplement sauter dans ce réel rapide. hi.c. Vous remarquerez qu'il est agréable et coloré. Donc, ce sont juste un peu utile couleurs lorsque vous programmez. Ainsi, le int et le vide, ce sont les types de données. Nous allons passer en revue ceux qui sont en deuxième. Salut est une chaîne. Mais les couleurs utiles. Donc si jamais vous accidentellement choisir le mauvais poste, vous devriez avoir ces couleurs. Quoi de neuf? L'ÉLÈVE: Comment puis-je copier dans un déposer [inaudible] dans un autre fichier? JASON HIRSCHHORN: Oh, je suis vais vous montrer que trop. Copiez donc enlever sont sur le quai. Faisons de cette. Assurez-vous que cela fonctionne. Faire salut. Travaux, exécutez-le. Donc ./hi impressionnant. Voilà votre premier programme. Permettez-moi de le rendre plus grand. Donc vraiment good-- Oui, quoi de neuf? ÉTUDIANT: Pourquoi serait-il que quand je prends gedit, il ne me donne pas un autre ligne pour gedit hi.txt? Il met juste le curseur sur une ligne. L'ÉLÈVE: Oui. Le [inaudible]. JASON HIRSCHHORN: Attendez, si le dire. L'ÉLÈVE: Lorsque je tape gedit, le première fois, la première line-- JASON HIRSCHHORN: Jusqu'à il au sommet? L'ÉLÈVE: N'a pas J Harvard appareil, et le curseur est juste tout le chemin à gauche. JASON HIRSCHHORN: Tous le chemin de la gauche? L'ÉLÈVE: Oui. Quelqu'un at-il cela? JASON HIRSCHHORN: Oh, bien J Harvard est comme le nom d'utilisateur. Voilà donc juste le nom d'utilisateur standard. L'ÉLÈVE: Il cesse de répondre. JASON HIRSCHHORN: Oh, il cesse de répondre. OK, donc ce que vous avez à faire est vous devez fermer de gedit. Ainsi, près de gedit, et il devrait revenir. Il en est de gedit ouvert sur votre appareil en ce moment? Si vous quittez hors de lui, il se doit retournez et vous devriez être bon d'aller. Est-ce que cela fonctionne? Etudiant: Ainsi avez-vous utilisé la commande gedit à open-- JASON HIRSCHHORN: Non, la première commande gedit était une erreur. La première commande de gedit, Je fais de gedit hi.txt. Donc, je lui donne un nom, hi.txt si gedit. hi.txt est le nom du fichier. Le premier était juste une erreur, et puis Je me suis vite fermé sur le programme. Donc la question est si je fais gedit, je ne suis pas va être capable de faire vraiment rien d'autre dans ma ligne de commande jusqu'à ce que je ferme que gedit, donc je pense que ce qu'ils couraient en. Donc fermer la gedit. Il reviendra sur ce programme, et alors vous aurez être capable de taper réellement dans la ligne de commande de nouveau. Est-ce bon? Dope. Donc, il suffit de fermer si vous avez des problèmes. OK, donc une très bonne question une seconde il ya copiait. Alors maintenant, je suis hi.c. Mais disons que je veux changer. Je veux que ce soit un peu mieux. Je veux dire classe salut. Mais je veux garder ce modèle. Je ne dois pas réécrire l'ensemble du programme de nouveau. Je veux garder le modèle. Comment puis-je copier? Facile. Alors cp hi.c newhi.c. Je dois maintenant deux. Et puis, je peux ouvrir newhi.c, et au lieu de juste dire salut, Je dirai classe salut! Donc, je vais revenir. Sortez. Retour à ma ligne de commande. ls font newhi. Lancez-le. Là. Il vaut mieux, beaucoup mieux. Donc, si vous voulez copier quelque chose, simple que cela. cp est exemplaire. Donc, nous sommes allés sur mobile, Créer un répertoire, la copie. Voyons ce que dois-je aller sur? Oh, ouais. Passons en revue ce. Donc, ce fut génial. Disons que je voulais to-- oh attendez. Je vais revenir en impressionnant. Disons que je ne veux pas ces fichiers ici. Disons que je les veux dans une nouvelle répertoire comme dans le répertoire impressionnant. Je veux commencer à organiser, alors maintenant je vais d'avoir un nouveau répertoire appelé salut. Il a tous les programmes Je vous écris appelé salut. Alors, comment faisons-nous cela? L'ÉLÈVE: Changer de répertoire. JASON HIRSCHHORN: Ouais. salut. Boop. mkdir hi_dir. Il se plaint parce que je déjà eu un salut ici. Alors maintenant, je suis un répertoire de salut. Alors maintenant, je veux passer tout, tous les programmes écrivais-je, Je tiens à les déplacer dans le répertoire de salut. Il suffit de nettoyer trucs. Comment puis-je faire? L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: Déménagement, non? Passons donc. Ouais? L'ÉLÈVE: Quelle est la différence entre salut et hi.c que nous avons déjà. JASON HIRSCHHORN: Oh, hi.c est la même. Voilà le fichier que vous avez écrit. Donc, si vous alliez ouvrir dans gedit ou Nano, qui est ce que vous tapez dans. Lorsque vous compilez, puis vous obtenez un fichier exécutable. Voilà salut. Donc, si vous avez ouvert salut, ça va être un tas de charabia pour vous. Il est essentiellement va être tas d'instructions informatiques. Quoi de neuf? ÉTUDIANT: Qu'est-ce que toutes les couleurs signifient? Le bleu est probablement répertoire. Quel est jaune? JASON HIRSCHHORN: Ceux sont les fichiers exécutables. Alors, quand je ne fais hi.c, il donné moi-- si je peux le faire. Sauter le pistolet. Donc supprimer salut oui. Alors faisons-ls. Je ne l'ai plus salut. Alors, quand vous faites, que ce lorsque vous suivre le programme que vous avez écrit et vous faites un fichier exécutable. Donc, assurez-hi.c-- bien, faire salut. Je crois qu'il est allé sur ce en cours. Ce sont des tas de instructions de compilation. Ainsi, au lieu d'avoir à réellement écrire clang avec tout cela. Ce sont des drapeaux. Vous écrivez simplement faire. Donc, ce qui rend les fichiers exécutables. Ainsi, lorsque vous faites ls, vous avez maintenant salut. Voilà donc ce que vous êtes va réellement fonctionner. Et si vous exécutez qu'en faisant ./hi, et il exécute votre programme. Mais si je tente de le faire avec hi.c, non, ça ne marchera pas. Oui, cela fait-il sens? L'ÉLÈVE: Mm-hm. JASON HIRSCHHORN: Cool. Attends, je voulais dire autre chose. Juste très rapide, en cas quelqu'un est intéressé, lorsque vous sautez sur un répertoire, il est le point de dot. Est-ce que quelqu'un a une idée de ce que Peut-être juste les moyens de points singuliers? L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: Il est réellement le répertoire courant. Il est donc votre répertoire en cours. Donc, je suis ici. Je suis génial. Si je fais cd point, il ne fait rien. Il me faut à mon répertoire courant. Donc un peu redondant, mais vous avez pour ce faire, de sorte ./ le nom de votre programme, afin d'exécuter votre programme, vous devez le faire. Dáccord. ÉTUDIANT: Si vous faites cd point dot dot, cependant de nombreux points sera juste prendre jusqu'à vous que de nombreux répertoires? JASON HIRSCHHORN: Vous voulez dire comme cd dot dot dot dot? L'ÉLÈVE: Oui. JASON HIRSCHHORN: Non Donc en fait souvenir que je ne ls -l? Si je fais quelque chose d'autre, je peux -a LS. Donc ce que cela dit est -a vous montre tout. Donc, il vous montre des choses qui sont caché et les choses qui ne sont pas cachés. Donc, si vous remarquez que quand je l'ai seulement ls, je viens de voir ce genre de choses, les trucs que je fait. Si je fais -a, ça va de me montrer tout. Et répertoire afin actuel, répertoire au-dessus. Est-ce logique? Ouais? Etudiant: Mais ce ne sont pas en fait dans le répertoire. Le répertoire actuel est pas en elle-même, alors pourquoi montrer à ceux avec des points à l'intérieur? JASON HIRSCHHORN: Vous voulez dire qu'il est comme il est pas dans le répertoire. L'ÉLÈVE: Oui. Donc, nous avons une liste de choses qui se trouvent dans le répertoire. JASON HIRSCHHORN: Je pense que il est dans le répertoire. Comme -a montre tout, même si il est caché à l'intérieur du répertoire. Je pense donc qu'il est juste une route à la répertoire courant si cela fait sens. Il est un peu récursive. Il est comme Inception. Quoi de neuf? ÉTUDIANTS: Vous avez dit spectacles -a [inaudible]? JASON HIRSCHHORN: -a, ouais. L'ÉLÈVE: Ce qui le rend [inaudible]? JASON HIRSCHHORN: Eh bien, par exemple, Revenons au sommet. Il est généralement choses que vous ne devriez pas désordre avec et vous ne devez pas vous inquiéter. Donc, ce genre est de la maison. Si je fais -a, je reçois des tonnes de trucs. Tous ces trucs. Et vous ne devez désordre avec rien de tout cela. Certainement ne pas commencer à aller ici et il suffit de retirer choses. [Rires] Oui, ce fut un peu plus trucs confortable, mais il est bon de savoir. Je pense qu'il est bon de savoir. Mais si vous ne voulez taper -a dans l'ensemble de ce cours, juste l'oublier. Quoi de neuf? L'ÉLÈVE: Quel est le ls -l? JASON HIRSCHHORN: Ce vous montre les autorisations. Fondamentalement, vous utilisez ce pour les autorisations, de sorte -l. Il vous montre un peu peu plus d'informations, mais là encore, cela est un peu bit choses plus confortable. Ce ne sont que des autorisations. Ainsi, les autorisations des dossiers. Il suffit donc par exemple, disons que je fait un dossier, de sorte que le d représente répertoire. Donc, ce sont des répertoires. Et puis lire, écrire, exécuter. Donc, ce sont les autorisations pour Je pense utilisateur, groupe, monde. Totalement d'aller trop loin. Vous allez aller dans ce que semaines à partir de maintenant, mais si vous le savez, ce sont des permissions. Quoi de neuf? L'ÉLÈVE: Pouvez-vous clair plutôt que juste passer à la prochaine chose, peut vous-- JASON HIRSCHHORN: Vous moyenne effectivement supprimer? Je ne sais pas. Je ne fais jamais ça. Pourquoi voudriez-vous faire cela? Pourquoi voudriez-vous faire cela? Je l'aime. Vous vivez sur le bord. Vous êtes comme je ne veux pas de tout cela. Voilà intense. L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: Oui, nous pouvons le faire. Désolé, jouer avec la taille est totalement me fais peur en ce moment. Montons. Ouais, alors maintenant je ne peux pas monter plus. Donc, tout ce que je enseigné vous est parti pour toujours. Merci. Nous avons fait nos annuaires. Nous avons fait nos fichiers et des trucs comme que, si nous avons encore tout ça. OK, je vais aller vite. Alors très vite. Donc, disons que je suis en super. Disons que je voulais déplacer tout dans le nouveau répertoire parce que je veux juste d'organiser, non? Alors, comment pourrais-je le faire. Déplacer. Nous allons utiliser à nouveau déménagement. Alors déplacer hi.c. Et ce que vous pouvez faire est vous commencez à la liste des choses, et la dernière chose que vous mettez est où il va pour le déplacer. Alors déplacer hi.c, salut newhi newhi.c, hi_dir. Et il a déménagé tout en la dernière chose que vous avez mentionné. Alors changer de répertoire, hi_dir ls. Tout est là. Donc, il fait beau et plus organisée. OK, disons que je déteste mon programme salut d'origine. Je veux me débarrasser de lui. Comment puis-je me débarrasser de lui? Quoi de neuf? L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: Disons que je viens vouloir supprimer le programme, si juste salut. Non, vous avez raison. Donc, il est rm, mais vous ne rm salut. Il va vous donner un petit avertissement. Il va dire êtes-vous sûr veux supprimer cela, et oui je fais. Si vous ne voulez pas être invité comme ça parce que vous ne disposez pas de temps pour les avertissements, supprimer -f. Ceci est un autre drapeau. Il est comme l'option -l. Il est comme le -a. Ce ne sont que des indicateurs qui vous donnez à ces commandes. Donc supprimer -f. -f f signifie vigueur. Ainsi, le forcer. Je ne veux pas être invité. Donc supprimer -f. Faisons hi.c. Vient de se débarrasser de lui. Il ne m'a pas dit. Mais disons que je suis plutôt fait avec ce répertoire. Je veux me débarrasser de répertoire. Donc, je ne retire hi_dir. Non, cela ne fonctionne pas. Non, il ne laissera pas me supprimer un répertoire. Est-ce que quelqu'un a une idée? L'ÉLÈVE: Est-il supprimer dir? JASON HIRSCHHORN: Donc supprimer comme cela? ÉTUDIANT: Non Il suffit de la [inaudible]. JASON HIRSCHHORN: Non, en ce moment il n'y a pas salut. Il ya juste hi_dir. Voilà donc le répertoire. Donc en fait ce que vous voulez faire est-- oh, avez-vous une idée? Je vois comme une demi-part. L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: OK. L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: OK. Donc, si je veux supprimer un répertoire, supprimer -r. Voilà récursive. Donc supprimer ce répertoire récursive. Donc, je veux que vous alliez dans ce répertoire, supprimer tout le répertoire, et puis se débarrasser de l'annuaire. Et puis je vais f ainsi, parce que je ne veulent pas me invite les mises en garde après avoir supprimé tous les fichiers unique. Donc supprimer hi_dir -rf. Boom, il a disparu. Juste être prudent lorsque vous utilisez ce. Je vais l'utiliser ici aussi. rf impressionnant. Il est parti. Soyez prudent lorsque vous utilisez ce. Si vous utilisez ce ici et tapez quelque chose comme cela, ne jamais faire pas. Ce sera tout supprimer sur votre appareil sans jamais vous avertir. Et je l'ai fait. Classement problème fixe à 04h00, je suis essayant enlever problèmes répertoires définis, et je l'ai fait. Et je me suis dit oh mon dieu. Ne pas do-- je essayé de l'annuler. Vous pouvez annuler. Commande C annule tout simplement, mais je l'ai déjà supprimé comme 75%. Donc je tout gâché. Et les gens font ça. Tout le monde le fait. Ne faites pas cela si ce semestre. Il suce. Je suis nerveux ayant ici. Je vais le supprimer. [Rires] Pouvez-vous imaginer? OK, questions. Oui? L'ÉLÈVE: Donc, si nous faisons tout vous faites ici, est-ce la même comme lorsque je vais à fait Enregistrer le fichier sous [inaudible]. JASON HIRSCHHORN: Oh, vous voulez dire par gedit. L'ÉLÈVE: Oui. JASON HIRSCHHORN: Oui il est. gedit est utile. Donc gedit est très utile. Dans cette classe, vous pouvez faire une beaucoup de choses par gedit. Vous pouvez enregistrer. Vous pouvez renommer. Vous pouvez déplacer des fichiers et des trucs comme ça, mais juste vérité quand vous allez à 50-- Eh bien, vous êtes en 50-- 51, si vous allez en 61, ça va être votre vie. Ceci est la ligne de commande. Ceci est où vous allez programmer pour le reste de votre vie, il faut absolument utiliser gedit si vous voulez. Certainement une bonne façon de commencer. Pour le premier problème fixe, certainement utiliser, mais une fois de temps en temps essayer d'obtenir le plus utilisé plus confortable avec des arguments de ligne de commande. Mais vous pouvez, sans aucun doute. Quoi de neuf? L'ÉLÈVE: Alors, quand nous voulons supprimer l'un des fichiers que nous avons faites, il ya deux façons. [Inaudible]. Est-il possible lorsque vous êtes la suppression d'un répertoire pour demander rapide de sorte que vous ne finissent pas le supprimer? JASON HIRSCHHORN: rm -r. Donc, ne forcez pas. Donc rm -r. Il va passer par récursive, supprimer tout, vous invite après tout, ce qui vous rendre fou. Comme je le fais presque exclusivement rm rf -f et rm, juste constamment. Je suis comme je ne ai pas le temps. Je suis un homme très occupé. Très bien, quoi de neuf? Ouais. L'ÉLÈVE: Y at-il une annulation ou une poubelle, ou quelque chose comme ça? JASON HIRSCHHORN: Non [Rires] Je pouvais revenir en arrière et obtenir mon appareil que je viens de supprimer, non. Non, non, non. Si vous faites rm, il devrait avoir disparu. Quoi de neuf? Etudiant: Ainsi vous pouvez [Inaudible] ensemble. JASON HIRSCHHORN: Oui, juste comme ça. Ainsi, par exemple, vous avez vu le rm -rf. Disons que je veux faire ls -la, cela me montre tout, même caché choses avec leurs autorisations. L'ÉLÈVE: Alors r, -r drapeau, si nous ne pas que, nous ne pouvons pas supprimer un répertoire, non? JASON HIRSCHHORN: Droit. Etudiant: Ainsi qui dit que nous voulons de faire quelque chose avec le répertoire? Est-ce que cela signifie? JASON HIRSCHHORN: -r signifie de manière récursive. Donc un répertoire va avoir des fichiers en elle, non? Donc ce que vous voulez faire est de vous envie d'aller dans ce répertoire, supprimer tout, tout le fichiers de ce répertoire, puis sortir et effacer le répertoire actuel. Ainsi, le -r signifie récursive, faire tous récursive si cela fait sens. Ouais. Etudiant: Ainsi répertoires ont [Inaudible] et de la supprimer. Ou avez-vous still-- JASON HIRSCHHORN: Essayons. Donc mkdir vide. Retirer vide. Non. ÉTUDIANT: Non, si vous avez encore besoin the-- JASON HIRSCHHORN: Oui, toujours. Donc -r, rf, vide. Impressionnant. Anymore questions? Je pense qu'il est de votre accident cours en ligne de commande choses. Toutes les questions, parce que nous allons sauter par-dessus les types de données, et des boucles, et tout ça? Quoi de neuf? Etudiant: Je ne ai pas CS50 montrant que l'un de mes répertoires. Est-ce normal? JASON HIRSCHHORN: Oh, oui. Ce qui est à moi. Ouais, voilà où mon des solutions à vos affaires est. [Rires] Donc oui, qui est tout à fait normal. Je pense que vous aurez probablement avoir juste ces quatre. Je pense que ce serait normal. Ouais. OK, d'autres questions? Je sais que ce super rapide. Quoi de neuf? Etudiant: Je voyais la couleur bleu-vert. Qu'est-ce que ce est? JASON HIRSCHHORN: Cela signifie répertoire. ÉTUDIANT: Et ce bleu? JASON HIRSCHHORN: Oh, vous dire ce bleu-vert? ÉTUDIANT: Non JASON HIRSCHHORN: Ce bleu-vert? ÉTUDIANT: Non Lorsque vous listed-- JASON HIRSCHHORN: Oh. Comme ça? L'ÉLÈVE: Oui, les icônes. JASON HIRSCHHORN: Oh, ce. Je ne sais pas. Qu'est-ce que cela veut dire? Il semble donc être pointant vers un répertoire. L'ÉLÈVE: Il ressemble presque à un alias. JASON HIRSCHHORN: Il pourrait être. Vous ne devez pas savoir. Anymore questions? Impressionnant. Si vous avez des questions, Je sais que ce beaucoup. Un grand nombre de ces informations sera en ligne. Je vais le mettre en ligne pour vous les gars. Section B sera en ligne. Ou si vous avez des questions, juste de venir et me demander. Voici. Alors maintenant, Sharon et Hannah va revenir sur certains de la logique derrière un problème posé. SHARON: Oh mon dieu. Troubles. HANNAH: En attendant, je suis Hanna. Ceci est Sharon. Nous sommes à la fois CS50 FO, et nous allons vous donner un peu l'intro sur un couple importante choses pour un problème posé. Tout de types de données à conditionnels à des boucles. Boucles en général. SHARON: Et à la fin, nous va jeter un oeil à P fixé un, et ce que vous devez savoir pour elle. Commençons donc avec les types de données. Vous devriez être familier avec la ceux qui sont mis en évidence en bleu. Donc, nous pouvons commencer avec ints. ints sont des nombres entiers, si un, deux, trois, quatre. flotteurs, les points flottant. Comme entiers avec décimales, si 5.2 ou même 5.0. Chars sont des personnages comme A, B, C. Et une chaîne, vous les gars savent tout. Comme CS50 ou bonjour et monde. Bool est un booléen, nous avons donc vrai et faux que notre booléenne. Donc, si quelque chose calcule à vérité-- 5 est égal à 5, qui calcule la valeur true, et si nous avons 5 est égal à 4, qui est faux, de sorte que calcule la valeur false. Et ici nous avons l'associé la taille de l'ensemble de ces types de données. Et vous devez savoir ce pour vos tests, donc cela peut être utile de souvenons, mais nous afficherons ces. En fait, ils sont déjà affichés. Donc, vous devez être familier avec ceux surlignés en bleu. JASON HIRSCHHORN: Immobilier rapide, juste au cas où vous vous voulez savoir la différence entre char et une chaîne. Ainsi, lorsque vous écrivez des choses, chaque fois que vous avez quelque chose comme "salut" que ça va être une chaîne. Donc, si il ya deux citations, il est une chaîne. Mais si je devais un «h» comme ça, qui est une chaîne. Mais si je dois seul citation, qui est un produit de carbonisation. Et alors quel est le différence que vous pourriez demander. Eh bien, la différence est ceci est un octet de mémoire. Ceci est quatre octets de mémoire. SHARON: flotter? Décrivez-le à nouveau? OK, il est un peu comme un certain nombre qui a un point décimal avec elle, si 5.2 ou même 5.0 est un flotteur contre seulement 5 est un int. L'ÉLÈVE: [inaudible]. SHARON: Oh, il peut avoir beaucoup décimales, afin de 5,675 à 3,1415. Oui? L'ÉLÈVE: Avons-nous besoin de savoir toutes les tailles pour cela? SHARON: Oui. L'ÉLÈVE: [inaudible]. SHARON: Vous ne vous inquiétez pas les blancs pour l'instant. HANNAH: Les notes sont posté à CS50.net/sections. L'ÉLÈVE: Juste par curiosité, est-il un utilitaire à savoir la taille des fichiers que vous êtes appeler afin que nous devrions connaître? SHARON: Donc, ce sont types concernées, mais oui. Donc dans ce cas, que l'on aurait prendre plus de mémoire ou plus d'espace? JASON HIRSCHHORN: Donc, pour un exemple concret, Je pense en jeu de problème quatre ou cinq ans, nous sommes va vous donner un tas de données, et vous essentiellement avoir à traverser ces données. Ainsi, il est utile de savoir que si vous avez autant de nombres entiers, que ça va être quoi. Alors disons que je vous ai donné dix entiers, quelle est la taille de cela? ÉTUDIANT: 40. JASON HIRSCHHORN: 40 octets, à droite. Donc, vous pourriez avoir besoin de savoir que OK, je dois sauter 40 octets. Donc, disons plutôt qu'il est de 40 caractères, alors-- Disons que je vous ai donné 10 caractères, alors vous savez, OK, je ne besoin de sauter 10 octets. Il est donc très utile de connaître la taille des types de données réelles, Parce que beaucoup de fois que vous aurez sautiller les données, si vous avez besoin de savoir dans quelle mesure de sauter. L'ÉLÈVE: Quelle est la différence entre les guillemets et un devis? JASON HIRSCHHORN: OK, deux citations est une chaîne. Une citation est de type char. L'ÉLÈVE: Comme opérationnel, quelle est la différence? Ils disent tous les deux salut. JASON HIRSCHHORN: Oh, désolé. Ceci est juste h. Désolé, ce ne sont pas claires. Etudiant: Ainsi le haut One-- JASON HIRSCHHORN: Ce est une chaîne, ouais. Il est donc deux personnages, à droite? String, salut. Mais disons que je viens avait un caractère unique, si je mets des guillemets autour de deux juste h, qui est une chaîne. Ceci est une chaîne h. Est-ce logique? Donc, cela est de quatre octets. Mais disons que je me suis débarrassé de mettre qu'une seule personne. Une citation. Ceci est maintenant un char, char h. Donc exactement la même chose, un autre type de données. Ceci est seulement un octet, alors que la chaîne était de quatre d'octets. Ouais. L'ÉLÈVE: Donc, si vous essayiez pour stocker un mot comme David, vous souhaitez utiliser une chaîne parce que indépendamment de combien de temps la chaîne est, cela ne vous prendra quatre octets sauf si elle est un long long ou un double, dans lequel case-- si elle étend au-delà de quatre caractères, puis vous souhaitez en faire chaîne. Est-ce que la logique générale. JASON HIRSCHHORN: en cas de dépassement au-delà d'un caractère, il est une chaîne. Etudiant: Ainsi il n'y a pas [inaudible] à stocker une lettre quatre mot que quatre individuel ou trois lettres mot comme trois caractères individuels parce que ce ne sera trois octets, par opposition à la chaîne en trois parties. JASON HIRSCHHORN: Vous pourriez le faire. Vous pourriez le faire, mais je ne pense que ce vraiment la peine, parce que vous êtes seulement sauver un octet. Vous savez ce que je veux dire? Dans le grand schéma des choses, ce ne sera pas vraiment d'importance. Mais, par exemple, printf, si vous imprimez f et vous avoir trois caractères que vous pouvez imprimer que out-- disons que vous C-A-T, vous pouvez imprimer chat juste par faire un omble un omble un char, ou vous pouvez imprimer chaîne chat. Il est exactement la même chose. Ainsi, vous pouvez le faire comme ça, mais- ÉTUDIANT: Ça ne va pas pour vous faire économiser beaucoup. JASON HIRSCHHORN: Ouais. Le casse-tête que ce serait induire est pas la peine. Ouais? L'ÉLÈVE: Par exemple, vous aviez l'h avec un contre deux, les guillemets simples ou doubles. Pourquoi voudriez-vous pour sauver une seule lettre comme une chaîne. A quoi sert que jamais servir? JASON HIRSCHHORN: Je ne sais pas. Je veux dire, vraiment dépend du programme. Par exemple, je pense que plus tard vous aurez en ligne de commande choses. Ainsi, par exemple, au lieu de me vous demandant une excuse integer--, je peux te parler en vous? Hannah: Oui. JASON HIRSCHHORN: Donc, par exemple, au lieu de me demander quelque chose avec la fin de l'EEG, qui Je pense que vous avez pu voir une conférence, il pourrait y avoir une ligne de commande. Vous tapez simplement dans la ligne de commande. Ce serait comme - / hello4 ou quelque chose, ou helloh h, peu importe. Vous le faites à la ligne de commande au lieu d'être demandé, cette ligne de commande est toujours un chaîne, que ce soit un quatre ou un h, qui est toujours une chaîne. Voilà donc un exemple de situation où vous pourriez avoir une lettre singulière ou un singulier nombre représenté par une chaîne. SHARON: Très bien. Et puis voici quelques opérateurs de base. Nous espérons que vous êtes familier avec la première seulement quatre en général. Donc, il ya addition, la soustraction, multiplication et la division, et assurez-vous que vous utilisez les bonnes touches. Et puis il ya aussi modulo, dont certains de vous peut-être pas très familier avec. Et ce fait est que modulo si nous prenons cet exemple 4% 2, il prend le reste de ce qui fait de la division. Donc 4 divisé par 2 est égal à 2, et il n'y a pas de reste. 4 diviser par 3 est 1 et 1/3, et ainsi de suite 1. Donc, il calcule à un. Et puis 4% 5 est la fraction 4/5, et le reste est de 4. Est-ce logique? OK, cool. Et nous suivons PEMDAS ici aussi. Ainsi, certaines expressions booléennes. Alors vous les gars ont vu égaux égaux à comparer, par exemple, deux numéros. Ainsi, si 5 est égal à égal 5, qui calcule la valeur true. Assurez-vous que vous avez seulement un signe égal. Pour pas égaux, il est frapper ou d'exclamation. Hannah: Deux signes égal quand vous faites l'égalité. SHARON: Oh, oui. Assurez-vous que vous ne le faites pas avoir un signe égal. Et puis pour pas égaux, il est égal à coup. Et puis vous pouvez regarder à travers pour inférieur à, supérieur à. Et puis nous avons logique et et logique ou ici. Et ce que cela fait est, si Vous souvenez-vous de Scratch quand vous avez eu ce bloc que dit et, et puis vous pourrait tenir deux pièces différentes là, qui est ce que cela et le fait. Et assurez-vous que vous faites deux esperluette. Et cette touche vous pouvez trouver à la droit, juste sous votre bouton Supprimer. Question? L'ÉLÈVE: Quelle a été la [inaudible]? SHARON: OK, donc si vous faites seulement un, vous comparez bits. Donc, si vous vous souvenez de ce que les bits sont, ils sont de 0 et de 1, et ainsi de qui est quelque chose d'autre comparaison. Donc, nous allons mettre l'accent sur cela pour maintenant. JASON HIRSCHHORN: Donc une égale est comme mission, non? Donc, comme int x est égal à 4. Vous dites donc que la variable x est égal à 4. Donc 1 égale est affectation, mais les ands et les tuyaux ou les bars, tout comme Sharon dit, ils sont des opérateurs de bits. Vous ne devez pas vous inquiéter à ce sujet. L'ÉLÈVE: Quand est-ce que vous utilisez logique et et logique ou encore? Je viens oublié quand vous faites cela. HANNAH: Bien sûr, si jamais vous voulez pour vérifier si deux choses sont vraies, Par exemple, disons que je veux vérifier un nombre qui est compris entre 5 et 15, Je dirais assurez-vous que le nombre est supérieur à 5. Donc, disons que si x est supérieur à 5 et inférieur à 15. Donc, pour que tout déclaration d'évaluer à vrai, vous avez besoin à la fois du type de sous déclarations d'évaluer le vrai. Avec ou vous avez seulement besoin l'un des deux ou les deux. ÉTUDIANT: Très bien, merci. SHARON: Et aussi dans Scratch, je suis que dans un grand nombre de vos projets si vous aviez toucher le bord ou si toucher un autre sprite puis rebondir ou quelque chose. HANNAH: Très bien, alors pourquoi avons-nous se soucier de tous ces booléens? Nous avons ces structures que vous avez vu dans Scratch appelé conditionnelles. Et conditionnelles sont rien de former si certaines conditions ou certains Boolean est vrai, alors faites le code entre ces accolades. Ainsi, vous pouvez voir sur la droite voici le bloc-notes. Vous avez ce si alors, et rien qui va en ce petit forme que ressemble this-- i Je ne sais pas ce que vous appeler that-- que ça va le booléenne ou condition. Encore une fois, une valeur booléenne ou condition est rien que ce soit pour évaluer vrai ou faux. Et encore, vous pouvez combiner les booléens. Vous pouvez avoir, à nouveau, x est supérieur à 5 et x est inférieur à 15. Ou vous pouvez juste avoir une de ces x est inférieur à 5. Bon, en C, il est sur la gauche. Il est juste le mot-clé si. Entre parenthèses, le état ou la valeur booléenne. Et puis le code entre ces deux accolades ne fera exécuter, ne fonctionnera que si cette condition ou qui booléenne est vraie. Est-ce logique? Impressionnant. Dáccord. Et puis comme vous pouvez ont vu dans Scratch, nous pouvons également ajouter une autre, qui est essentiellement quelque chose entre la accolades sous d'autre ne fera exécuter si la condition est fausse. Donner un sens? Vous avez des questions sur ces deux? Impressionnant. Laisser refroidir. Alors, voici un petit exemple. Disons que nous voulons déterminer, sur la base du temps, si nous devons dire au revoir matin ou bonne soirée. Je vais le dire si elle est avant 12h00, nous allons dire bonjour, Sinon, nous allons pour dire bonne soirée. Et quand je dis que non, qui est l'équivalent en C à cette autre. Nous allons donc vérifier si la temps militaire est inférieure à 12h00, dire bonjour. Sinon dire bonne soirée. Etudiant: Ainsi nous avait fait obtenir cette entrée pour le temps militaire avec la chaîne de get. Hannah: Droit. Avez Ailleurs nous avait fait avoir à fournir cette information. Ici il n'a aucune valeur. Nous ne même déclaré il. Je suppose que quelque part au-dessus ce programme, je déclare le temps, ou demandé le temps, ou-- autre chose avec cet exemple? Impressionnant. OK, maintenant nous avons en plus à aussi simple que cela si le format d'autre, nous avons deux autres structures différentes. Donc, nous devons d'abord l'interrupteur déclaration, et voici la forme générale d'une instruction switch. Vous avez le mot-clé basculer le même façon, vous avez le mot-clé si. Et puis une entrée, dans ce cas, n. Donc, cela ne peut fonctionner avec des nombres entiers. Alors que l'entrée n a être un entier, OK? Et nous allons suivre l'un de ces cas en fonction de ce que la valeur n est. Donc dans ce cas, vous devez d'abord comparer est égal à n constant un, si elle est, tout faire sorte de retrait ici. Je peux vous citer parce que je suis trop court. Si il est pas égale à une constante et est plutôt constante égale à deux, nous allons suivre ce deuxième bloc, et nous pouvons le faire autant de fois que nous voulons, et alors que par défaut est si il ne correspond à aucune des cas ci-dessus, exécuter ce code. Toute question ici? Celui-ci est un peu plus compliqué. Ouais? L'ÉLÈVE: Pause signifiant quoi? HANNAH: Bien sûr, si une fois nous entrons ce bloc, si nous trouvons, disons, notre n est en fait égal à un constant, nous entrons dans ce bloc après la virgule. Nous faisons tout ce qui est sur cette ligne de commentaires, et puis nous rompons, ce qui signifie que nous sortons de cette instruction switch entièrement. L'ÉLÈVE: OK. HANNAH: Mm-hm? ÉTUDIANTS: L'indentation nécessaire, ou avez-vous besoin [inaudible]? HANNAH: Bien sûr. Alors, comme toujours, l'indentation est pas strictement nécessaire. L'ordinateur ne fonctionne pas souciez si vous en retrait. Nous, en tant que personnes qui sont la lecture de votre code, faire des soins. Donc, il est beaucoup plus facile à chercher à l'écran et voir, Oh, je sais exactement ce que qui se produit lorsque n est égal à une constante. Si je devais tirets aléatoires, je ne serait pas en mesure de dire si facilement. Ouais? L'ÉLÈVE: Donc, si un utilisateur voulait à choisir l'une des options que nous avons sur la liste, ne nous utilisons, je suppose, [inaudible], mais obtenir un entier à partir de et les mettre dans ce n? HANNAH: Exactement. Alors disons que nous voulions de vérifier ce nombre entier. Nous avons dit oh, entrer un nombre entier entre 0 et 5, disons. Nous pourrions demander que n, demander que valeur, et avoir ensuite chacun de ces cas. Et encore une fois, c'est quelque chose qu'on pourrait très facilement faire avec des instructions if, droit? Nous pourrions avoir en cas d'égalité à l'arrêt une, en cas d'égalité à l'affaire deux, en cas d'égalité de cas, trois, ainsi de suite et ainsi de suite. Ceci est un peu plus rapide et un peu plus propre. Il est une sorte de juste une belle structure maintenant. L'ÉLÈVE: plus rapide que dans l'écriture? Ou faut-il lancer le ordinateur un peu plus vite? HANNAH: Il est court un peu plus vite. Ouais? Etudiant: Ainsi la double tableau de bord est juste commenter ou-- HANNAH: Oh, je suis tellement désolé. Je ne le signale. OK, si vous avez que //, est un commentaire. Juste // est un commentaire. Donc, chaque fois que l'ordinateur voit cela, il va de dire OK, tout ce qui suit cela, je vais juste l'ignorer. Je vais vous faire semblant jamais écrit cela. Etudiant: Ainsi cette [inaudible]. HANNAH: Ce ne fait absolument rien. Mais si je l'ai écrit quelque chose comme sur la Mon premier commentaire écrit à la place printf dire félicitations que vous avez inscrits constante un, ce serait quelque chose. Ouais? Etudiant: Ainsi dans la vraie vie, la cas serait tout simplement un certain nombre et puis [inaudible] serait un autre nombre entier. HANNAH: Exactement. ÉTUDIANT: Et avez-vous besoin des ellipses? HANNAH: Désolé? L'ÉLÈVE: Avez-vous besoin que? HANNAH: Oh, non. Je suis désolé. Ce fut juste pour indiquer que vous pouvez aller sur autant de cas que vous le souhaitez. Faisons un exemple concret qui pourrait rendre les choses un peu plus clair. OK, alors disons que je dis, OK, donnez-moi un entier n qui représente un numéro de classe, spécifiquement une classe d'informatique nombre. Donc, si vous me donnez 50, Je vais dire grand. CS50 est une introduction à l'ordinateur la science, et puis je vais briser. Cela signifie donc que je saute sur toute cette instruction switch, alors maintenant je fait l'exécution du code, OK? Si vous me donniez la place 51, je ferais imprimer la deuxième déclaration. Et puis si vous me donniez quelques nombre qui ne soit pas 50 ou 51, Je vais dire désolé, je suis pas familier avec cette classe. Ouais? ÉTUDIANTS: Vous ne devez pas rupture. HANNAH: Je suis désolé, je ne possède pas la rupture? L'ÉLÈVE: Que faire si. HANNAH: Oh, si vous ne devez pas rupture? Excellente question. Alors, que se passerait-il que vous entrez, et vous souhaitez vérifier suis je égale à 50? Et disons que, oui, vous étiez égal à 50 ans, vous souhaitez imprimer la déclaration. Et puis vous continuer à exécuter, si vous voulez dire que je suis égal à 51? Et vous voulez continuer et aller à travers tous les cas de ce genre? Oui? ÉTUDIANTS: La ligne par défaut analogue à dire d'autre? HANNAH: Exactement. Très bon. Il est le genre de fourre-tout. L'ÉLÈVE: Donc, si vous ne avez pas pause et puis l'une des déclarations de cas était vrai, et puis il cette augmentation n par 1, alors il serait automatiquement faire le prochain. Il vérifiera cas 51, et puis afficher aussi? HANNAH: Ouais, je pense que cela pourrait fonctionner. Ainsi, vous pouvez sorte de se salir, si une pause est une bonne chose à avoir. Ouais? L'ÉLÈVE: Sans pause ferait-il défaut? HANNAH: Voilà une bonne question. JASON HIRSCHHORN: Je pense qu'il va juste. Donc, si vous ne disposez pas si break-- disons que je l'ai fait 50 et 50 vérifié, et il serait imprimer cela. Imprimez CS50 que l'introduction à l'informatique. Vous ne devez pas rupture, il devrait aller et continuer jusqu'à ce qu'il frappe une pause. Donc si il a pas de pause, ça va continuer. Il va imprimer tout le reste. HANNAH: Je suppose que ce serait être, y compris le défaut. JASON HIRSCHHORN: Ouais. HANNAH: Bonne question. Ouais? L'ÉLÈVE: Est-cas considérée comme une fonction? HANNAH Je suis désolé? L'ÉLÈVE: Est-cas considérée comme une fonction? HANNAH: Est considéré comme un cas fonction. Je hésiter à le dire. JASON HIRSCHHORN: Donc, normalement, quand vous voyez fonctions ils seront dans des accolades. Ainsi, par exemple, lorsque vous regardez votre code, par exemple, le principal. Il était principales parenthèse ouverte, alors vide, près parenthèse. Functions-- ils sont essentiellement toujours vous verrez parenthèses. Donc cas si le cas ne avoir des parenthèses, qui est votre indice que ce ne est pas une fonction. Mais il est pas. Ouais? L'ÉLÈVE: le fait alors que faire passer une fonction? HANNAH: Est-ce que les marques passer d'une fonction. L'ÉLÈVE: Dans le sens que vous mettez quelque chose dans, il vous donne l'un des cas. JASON HIRSCHHORN: je ne serait pas appeler une fonction. Pas tout à parens est une fonction. Je veux dire que ya un indice qu'il est une fonction. Je ne dirais pas que l'interrupteur est un fonction car il est pas vraiment retour rien. Vous aurez en plus que. HANNAH: Oui, il suffit de penser de ce que si une structure. L'ÉLÈVE: Pouvez-vous nid cette si une structure? Hannah: Oui, vous nid à peu près tout. L'ÉLÈVE: Barry a déclaré que les citations sont un peu comme le même que d'autre. Ainsi, vous pouvez remplacer les citations avec d'autre? HANNAH: Pas dans ce cas particulier la structure parce que l'interrupteur déclaration attend le mot par défaut. L'ordinateur sait que par défaut signifie quelque chose de spécial, que le volume de capture tout. Rien d'autre à ce sujet. Nous avons encore à passer à travers. Ouais? L'ÉLÈVE: [inaudible]. HANNAH: Différence entre l'aide d'un point-virgule et deux-points. Ainsi, un point-virgule est toujours de dire la ordinateur je suis fait avec cette ligne. Vous pouvez aller de l'avant et de l'exécuter. Ceci est une ligne complète. Un colon va, dans ce cas, vous amener dans un bloc particulier. Donc, les points-virgules sont utiliser toujours à la fin des lignes. Les deux points sont utilisées pour un variété d'autres cas. L'ÉLÈVE: Est-ce équivalent à juste dire que si n est égal à 50, puis bla bla bla. HANNAH: Mm-hm. L'ÉLÈVE: Il est tout de même [inaudible]. HANNAH: Exactement. Et nous avons dit qu'il va un peu plus vite. Si on n'a pas eu la pause, ce serait comme si, si, si. Se nous avons la pause, il est comme si quelque chose si si si d'autre. Cool? JASON HIRSCHHORN: Alors, quand codage, vous pouvez simplement utiliser si d'autre, mais je pense que l'année dernière sur le nous quiz avaient leur écrire une instruction switch, si juste au cas où. HANNAH: Mais certainement rien de mal. Nous ne vous attendions pas à s'inquiéter sur les performances des choses folles. Juste si le reste est tout à fait bien. Ce sont juste bon que les choses soient au courant. Et voici notre dernier ce genre de relève de cette catégorie conditionnelle. Nous avons quelque chose de la l'état général de forme?, et puis un petit morceau de code qui qui se passe si la condition est vraie. Et puis côlon, un peu morceau de code qui exécute si la condition est faux, point-virgule. Nous en avons terminé avec cette ligne. Donc syntaxiquement il est un peu laid. Nous allons passer par un exemple, je pense que ce plus clair. Donc, nous voulons assigner le professeur de chaîne l'une de ces deux valeurs, soit David Malan ou pas David Malan, OK? Donc, vous devez être familier avec la chaîne, professeur =. Nous allons assigner une chaîne à la variable appelée professeur. Maintenant, nous voulons vérifier une condition particulière. Dans ce cas, notre condition est class_num = = 50. Et maintenant peut-être un bon moment pour souligner lorsque nous avons professeur de chaîne =, Qui est un signe égal. Voilà affectation. Alors que dans class_num = = 50, ça fait deux signes égal. Voilà un contrôle de qualité. Donc, nous allons dire est la nombre de classe égal à 50? Si oui, affecter le professeur David Malan. Si non, affecter professeur Pour ne pas David Malan. Vous avez des questions là-bas? Encore une fois, ceci est juste quelque chose qui est bon à savoir. Vous pouvez le faire avec si d'autre. Un problème de bonne pratique pourrait être à, lorsque vous rentrez chez vous, à droite la même exacte conditionnelle sous une forme autre si, parce que vous pouvez le faire. Toute question ici? Très bien, je pense que nous sommes va passer à boucles. Impressionnant. SHARON: OK, parlons sur les boucles while. Donc tout d'abord sur la gauche, vous voyez ici-- OK qui dit tout, while (condition). Et puis vous faites this-- pouvons-nous changer cela? JASON HIRSCHHORN: Il est coupé. SHARON: sur OK, puis il sont aussi des accolades. Alors prétendre que bouclés accolades sont là-haut et ci-dessous le faire encore et encore. Donc, si la condition de ceux entre parenthèses est évaluée à vrai, alors vous devriez continuer à faire tout ce qui est dans la boucle while. Ainsi, par exemple, nous pourrions faire un problème de pratique. Je porte deux boucles d'oreilles en ce moment, alors disons si je porte au moins un audition, tapez dans vos mains. Donc, si nous allons aller Grâce à cela, nous going-- [APPLAUDISSEMENTS] Droit? Et je porte un, et-- OK. Ouais. Je ne suis pas boucles d'oreilles plus, si pas plus. OK, donc alors que ce lorsque vous souhaitez arrêter. Et ce que vous pourriez dire est équivalent à près de variables. Disons que vous avez un nombre variable de boucles d'oreilles. Ainsi, alors que nombre de boucles d'oreilles est plus supérieure ou égale à 1, taper des mains. Et puis après coup mains, boucles d'oreilles de diminuer la valeur. Faites comme boucles d'oreilles moins 1. Donc diminuer la nombre de boucles d'oreilles, et alors vous allez passer par la boucle while deux fois. Et si la condition est toujours true-- si, disons, 2 = = 2, et 2 est toujours égal à 2, non? Ensuite, vous serait toujours faire quelque chose là-dedans, et qui est l'équivalent de presque la toujours boucle que nous avions dans Scratch. Oui? L'ÉLÈVE: sont les deux faces seulement différentes façons d'écrire une boucle while? SHARON: Donc, nous nous concentrons sur celui-ci en premier. Et puis si nous allons comparer avec une boucle Do While. Ils sont donc légèrement différent. OK, alors disons la condition est toujours alors que je porte au moins une boucle d'oreille, et je ne porte pas Boucles d'oreilles en ce moment. Et disons que faire et encore applaudir tout Je porte au moins une boucle d'oreille. Que faut-il? [CLAPS] Oh oh, les gars. OK, si vous êtes censé applaudir une fois parce que, fondamentalement, vous passer par la première partie du code. Vous faites quoi qu'il arrive, et alors vous voyez la condition de tout, et vous retournez dans cette boucle si il est vrai. Est-ce que cela a un sens? ÉTUDIANTS: Vous avez toujours faire la première fois. SHARON: Vous faites toujours la première fois que ce soit ou pas que la condition est vraie ou non. JASON HIRSCHHORN: Quand faire vous pensez que vous pourriez l'utiliser? Quand est-il judicieux d'utiliser cela? HANNAH: Ouais? L'ÉLÈVE: [inaudible]. JASON HIRSCHHORN: Droit. HANNAH: Très bon. JASON HIRSCHHORN: Donc, lorsque vous demander à l'utilisateur, vous allez vouloir toujours inviter un utilisateur à un moment donné. Vous allez toujours vouloir inviter l'utilisateur à un moment donné. Ainsi, au lieu de mettre dans une boucle while, vous mettre en boucle Do While, parce que vous êtes toujours aller faire un temps. Si ils vous donnent la bonne réponse, vous avez terminé. Si elles ne le font pas, alors vous re-Prompt eux. SHARON: Très bien, pour les boucles. Ainsi, dans Scratch, nous avions blocs réguliers. Nous avons donc voulu répéter quelque chose, disons, sept fois. Donc, nous venons de dire répéter sept, et dis que je suis ici pour vous aider Blanche-Neige! En C, nous avons pour les boucles si nous vouloir passer par quelque chose un certain nombre de fois. Disons que si on initialise les nains variables et faire sure-- si le premier bloc là avant le premier point-virgule, on initialise notre variable à, et nous avons mis à 0. Et notre variable y est un nombre entier, int. Et le nom de la variable est nains, et nous avons mis nains à 0. Et la deuxième partie entre le deux points-virgules est notre condition. Et aussi longtemps que les nains est inférieur à sept, nous allons continuer à travers cette boucle. Et puis la dernière partie est ce que faire nous faisons à la fin de cette boucle? nains ++, et cela signifie que nous incrémenter nains par un chaque fois. Alors qu'est-ce qui va se passer ici? Alors d'abord, nous allons passer. Nous avons nains comme 0, et puis nous allons à imprimer Je suis ici pour vous aider Blanche-Neige! Et puis nains va augmenter parce que nous l'avons dit nains ++. Nains va être 1. Et puis nous compare-- nains est 1. Nous comparons à des nains est de moins de 7? Oui. Je vais passer par ce nouveau. Je suis ici pour vous aider Blanche-Neige! Et puis devient nains 2, puis nous comparons il. 2 est moins que 7? Oui. Nous allons continuer à travers. Et nous allons aller à travers ces sept fois. Donc à la fin, nous allons avoir nains = 0 imprimer je suis là pour vous aider Blanche-Neige! nains est égal à 1, 2, 3, 4, 5, et 6. Rappelez-vous l'indice de nous à 0. Nous commençons donc par 0. Oui? Etudiant: Ainsi cela est différente de celle du do parce que ce ne pas imprimer dans un premier temps au premier abord. Ainsi, vous pouvez continuer la même chose. Pourriez-vous le faire aussi avec la boucle do? Comme le même processus. La condition est nains moins de 7 ou autre. La réponse est inférieur à 7. SHARON: Donc, vous pourriez techniquement. Donc, si nous revenons to-- votre conversation sur la boucle while, non? Ainsi, la boucle Do While est légèrement différent parce que nous garantissons au moins une fois que nous irons à travers elle, Voilà la plus grande différence. Mais avec la boucle while nous pouvions dire alors que les nains est inférieur à 7, faire, et puis incrémenter nains par un. Et puis, nous devons initialiser nains avant tout cette déclaration qu'il est égal à 0. Donc oui, nous pourrions le faire avec cela. Mm-hm? L'ÉLÈVE: Pouvez-vous revenir à [inaudible]? SHARON: Pour boucle? L'ÉLÈVE: Oui, donc avec les nains ++, semble être que ce que vous faites après vous avez exécuté d'autres moyens. SHARON: Exact. L'ÉLÈVE: Pourriez-vous pas cela et mettre it-- SHARON: Vous pourriez. Etudiant: Ainsi est [inaudible] juste après imprimer dans la ligne suivante en dessous. SHARON: Oui, vous pouvez le mettre là. Mais alors vous il suffit de laisser vide que. JASON HIRSCHHORN: Vous encore besoin le point-virgule si. SHARON: Il semble un peu maladroit, mais vous pouvez le faire techniquement. Techniquement. Se il vous plaît pas. Oui? L'ÉLÈVE: Y at-il tout alternatives à ++? Y at-il quelque chose d'autre [inaudible]? SHARON: Techniquement, il il est nains. Un signe égal, nous allons de le mettre à nains plus 1. Donc techniquement que ce quels sont les moyens de nains. Est-ce logique? L'ÉLÈVE: Oui, mais sont Y at-il des alternatives? Comme si vous ever-- SHARON: Oui, vous pouvez faire des nains - -. L'ÉLÈVE: [inaudible]. SHARON: Ouais, vous pourriez faire une foule de choses. HANNAH: Et vous pourriez augmenter par 2. Vous pouvez augmenter par 3. Tout ce qui se passe à changer, elle finira par faire de la condition. L'ÉLÈVE: Donc, si vous voulez incrémenter par 2, comment voulez-vous écrire cela? HANNAH: vous pouvez soit écrire dwarves-- vous pourriez écrire dans tout cela. = nains nains + 2. Ou un peu sténographie. Je vais juste écrire + est égal à 2. L'ÉLÈVE: OK et vous écririez que là où les nains ++ est là. HANNAH: Exactement. SHARON: Exact. Il y avait une autre question? Ouais? L'ÉLÈVE: [Inaudible] nains ++? SHARON: Donc vous don't-- JASON HIRSCHHORN: Ouais, pas besoin là. [Inaudible] très fin. Alors que vous faites [inaudible] les parce que vous êtes genre de scindant l'initialisation, état, et le changement. À la toute fin, vous ne avez pas besoin. SHARON: Notez également que vous ne nécessitent pas le point-virgule après l'ensemble de toute la boucle. L'ÉLÈVE: Comment voulez-vous commencer par un nombre initial de négatif, par exemple? SHARON: Vous pouvez initialiser nains égaux à 2 négatif. L'ÉLÈVE: Avez-vous juste ne Dash 2? SHARON: Oui, si la signe négatif, tiret 2. L'ÉLÈVE: Est-ce [inaudible] à initialiser comme nains [inaudible]? SHARON: Oui. Donc, si nous venions initialisé nains plus tôt, il suffit de faire virgule nains int, et puis là, nous pouvons faire nains ensemble qui égale à 0. L'ÉLÈVE: Pourrions-nous faire plus tôt dans le programme en disant int nains = 0, et puis just-- SHARON: Juste pas si have-- il y aurait à nouveau un espace, mais vous auriez encore besoin d'un point-virgule. Ouais. Mm-hm? L'ÉLÈVE: Est-ce que ce code dire ce la valeur de nains est la suite. Si vous lui demandez après tout cela est fait pour imprimer la valeur de nains. SHARON: Vous pourrait-il poser pour le faire. L'ÉLÈVE: OK. SHARON: Mais vous avoir pour lui demander de le faire. Il ne le fait pas pour vous. Je suis effrayé de mettre mes boucles d'oreilles avant. Faites-le à la fin pour les applaudissements. Je plaisante. JASON HIRSCHHORN: Alors qui est le même. Donc initialiser au sommet. Condition, impression, changement. Donc, ceci est exactement le même que que si tout le monde peut le voir. ÉTUDIANT: Pourquoi ne pas vous avez la point-virgule sur la première ligne? SHARON: Où? L'ÉLÈVE: Après la première ligne. SHARON: Après le 4 dans les parenthèses? Parce que nous voulons aller à travers dans cette boucle. Et si vous jetez un oeil à boucles général, elles ne disposez pas de points-virgules. Il est pas pratique. Sommes-nous bien? Une autre question, plus deux. Ouais? L'ÉLÈVE: Cela pourrait être un peu avancé, Mais ne nains ont une autre [inaudible] d'une variable [inaudible]. SHARON: Très bon. L'ÉLÈVE: [inaudible]. SHARON: Oui, il est. Quoi? JASON HIRSCHHORN: Oui, il le fait. Donc, normalement, le champ d'application de quelque chose est dans les accolades. Donc portée va toujours être dans les accolades mais ce ne serait pas faire beaucoup de sens pour la boucle parce que nous avons initialisé nains dans cette accolade. Donc, normalement, le champ d'application de nains, que variable serait pas prolonger au-delà que. Ceci est un cas particulier cependant. Donc vous l'initialiser à l'intérieur de ces parenthèses, et puis vous avez la portée plus tard. Cas si spécial. Ils ne devraient pas avoir cela, et que était-- qui font sens? ÉTUDIANT: Non JASON HIRSCHHORN: Je peux aller sur elle. Donc, ce que vous êtes encore confus à propos? L'ÉLÈVE: Comme dans pouvez-vous utiliser dwarves-- vous peut évidemment utiliser nains [inaudible] en dehors de la formule trop? JASON HIRSCHHORN: Non, non. Ainsi, le champ d'application de celui-ci est seulement à l'intérieur de la accolades pour la boucle for, ouais. SHARON: Mais si vous initialisez nains à l'extérieur de la boucle, puis vous pouvez l'utiliser ailleurs Il ya une autre question? Non? Dáccord. Nous avons donc parlé un peu de nidification pour les boucles ou pour les conditions de nidification, si les états. Alors, voici un exemple de cas où nous pourrions nid pour une boucle. Disons que nous imprimions ce tableau de x est ici. Nous pourrions to-- premier si nous ne nous contentons pas de regarder le code et nous pensons simplement à ce sujet, nous vouloir passer par toutes les lignes et imprimer chaque colonne, à droite? Est-ce logique? Dáccord. Donc, ici nous allons à travers chaque ligne de fond de chaque rangée, et il ya trois rangées. Et puis dans chaque rangée pour chaque colonne, et quatre colonnes, imprimer une x. si. Lorsque la ligne est 0 et colonne est 0, nous imprimons ce x. Et puis nous continuons à travers la boucle de colonne. Ligne est toujours 0, mais la colonne est un. Et puis la colonne est de 2, et puis la colonne est 3. Et puis nous sortons de cette boucle car alors la colonne ne est inférieur à 4. Et puis nous imprimons une nouvelle ligne, et nous allons à la nouvelle ligne. Et puis nous passons par la prochaine rangée, et rangée se incrémenté, et nous allons par ce nouveau. Est-ce logique? Oui? Etudiant: Ainsi à nid [inaudible] est juste mettre à l'intérieur de la boucle? SHARON: moyen donc de nidification que nous une boucle à l'intérieur d'une boucle, comme Inception. ÉTUDIANTS: Vous ne devez pas un rotation spéciale ou quoi que ce soit? Vous venez de le coller à l'intérieur même de celui-ci? SHARON: Exact. Oui? L'ÉLÈVE: Pourrait être [inaudible], mais il semble qu'il y ait un espace supplémentaire entre tous les x. Je ne sais pas si that's-- Si ce étaient réellement faire le programme, serait-il faire quelque chose comme ça? SHARON: Donc pas. Cela a été en appuyant sur Entrée. Ce fut mauvaise de notre part. Apologize. HANNAH: Comment voulez-vous changer cette programme si vous avez une ligne supplémentaire? L'ÉLÈVE: [inaudible]. SHARON: Bon travail. ÉTUDIANTS: Vous pouvez également imprimer le même chose en passant autour de la colonne, droit? SHARON: Hm? L'ÉLÈVE: Donc, pour imprimer votre petit xxx, la première ligne peut dire impression, et au lieu de dire rangée, il dit colonne. SHARON: Donc vous pourrait changer les noms de variables pour le faire. Est-ce ce que vous dites? ÉTUDIANT: Non, je suis juste disant that-- si vous êtes des lignes d'impression des première et alors l'impression de colonnes. Pouvez-vous imprimer aussi des colonnes première et puis les lignes pour obtenir le même schéma? SHARON: Vous pourriez, mais alors que vous auriez faire attention à l'endroit où vous mettez la nouvelle ligne. Et comment voulez-vous revenir en arrière? JASON HIRSCHHORN: Si vous venez de changer le et les valeurs étaient différentes, au lieu d'avoir four-- quel est-il? Trois par quatre. Je vous auriez quatre lignes et trois colonnes. Est-ce logique? L'ÉLÈVE: Oui. JASON HIRSCHHORN: Donc, oui, vous pouvez le faire. Oui, certainement. SHARON: mais ce serait littéralement juste commuter les noms des variables. Bonne? Dáccord. Tout droit, P défini un. OK, donc la première partie de ce vous ferez cela, Mario. Je plaisante. Il est plus comme ça. Et alors quand nous avons juste regardé le boucles for imbriquées, ce qui rend cette table, pensez à comment vous pourriez être en mesure de imprimer ces hashtags de cette façon. Et puis ici comment voulez-vous imprimer ce droit ici, cet espace ouvert. L'ÉLÈVE: [inaudible]. SHARON: Ouais, vous imprimez simplement un espace. OK, donc il suffit de penser à ce sujet. HANNAH: Et puis la même partie du problème posé est un programme appelé greedy.c, de sorte que vous êtes allez vouloir penser sur conditionnelles et faire en sorte que vous peut faire des changements appropriés. Et un petit avertissement que nous avons pour vous est faire attention de valeurs à virgule flottante. Si cela signifie absolument rien pour vous, il sera couvert de conférence cette semaine et aussi dans [inaudible] marcher à travers, ce qui vous les gars vont apprendre à amour sur les ensembles de problèmes. Une chose que je suggère vraiment, en particulier avec Mario.c, quand vous faites le problème définir, si vous êtes coincé, commencer par le faire sur papier. Écrivez-et effectivement rester là et faire semblant d'être l'ordinateur, et aller through-- disent Je devais l'ordinateur, comment pourrais-je suivre cette boucle à travers? Comment feriez mes variables dans le changement de boucle? Donc faire sur papier rend 10 fois plus facile quand vous allez à s'asseoir à l'ordinateur. Il suffit donc de mon petit bouchon. SHARON: Et aussi ne pensez pas que vous avoir à coder tout à la fois. Assurez-vous que vous prenez un processus itératif. Faites un peu petit, impression dehors, voir ce qui se passe. Parfois, il est un peu essais et erreurs. Et venir à des heures de bureau. Super fun. JASON HIRSCHHORN: Donc des questions? Tous les gars de droite, qui était votre premier article. HANNAH: Merci d'être venu. JASON HIRSCHHORN: Merci pour venir. SHARON: Je vous remercie. [Applaudissements]