1 00:00:00,000 --> 00:00:12,410 >> [Музыка Прайграванне] 2 00:00:12,410 --> 00:00:12,830 >> DAVID малая: Добра. 3 00:00:12,830 --> 00:00:13,370 З вяртаннем. 4 00:00:13,370 --> 00:00:16,510 Гэта CS50, а гэта Адзін тыдзень, працягваліся. 5 00:00:16,510 --> 00:00:20,050 Так што адна з прычын, мы перадавалі вакол тэхналогій, такіх як 6 00:00:20,050 --> 00:00:24,120 Google шкла з'яўляецца тое, што яны прыходзяць з нешта вядома, як API, 7 00:00:24,120 --> 00:00:25,980 Інтэрфейс праграмавання прыкладанняў. 8 00:00:25,980 --> 00:00:28,830 А што гэта азначае, што з патрэбныя файлы і з правам 9 00:00:28,830 --> 00:00:32,850 дакументацыю, вы можаце напісаць праграмнае забеспячэнне для прылад нават, як гэтыя. 10 00:00:32,850 --> 00:00:36,200 >> І так, што мы маем на ўвазе, да канцы семестра ёсць, калі праект 11 00:00:36,200 --> 00:00:39,310 з удзелам, скажам, Google шкла можа апеляцыі, мы ўбачым, што мы можам зрабіць у 12 00:00:39,310 --> 00:00:42,220 Умовы падлучэння вас з некаторымі пазычальніка абсталявання, а таксама 13 00:00:42,220 --> 00:00:46,500 агульнадаступны API, так што вы можаце фактычна пачаць стварэнне праграмнага забеспячэння 14 00:00:46,500 --> 00:00:48,630 , Які працуе на тым жа шкло Google. 15 00:00:48,630 --> 00:00:51,710 >> Іншай прыладай, якое мы гулялі з позняй, што мы думалі, што можа быць 16 00:00:51,710 --> 00:00:53,910 весела ў канцы семестра з'яўляецца гэтая маленькая рэч тут. 17 00:00:53,910 --> 00:00:56,860 Яна называецца Leap руху, і што вы паглядзець тэхнічна 18 00:00:56,860 --> 00:01:00,280 Рэклама для прылады, але гэта сапраўды гаворыцца да таго, што дадзены 19 00:01:00,280 --> 00:01:01,240 Прылада здольна. 20 00:01:01,240 --> 00:01:05,550 І ён таксама ідзе з дапамогай API якія вы можаце напісаць праграмнае забеспячэнне для 21 00:01:05,550 --> 00:01:10,545 кантраляваць свой кампутар такім чынам, цалкам як гэты-хвілінны фільм тут. 22 00:01:10,545 --> 00:01:12,070 >> [Прайграванне відэа] 23 00:01:12,070 --> 00:02:08,002 24 00:02:08,002 --> 00:02:08,590 >> [КАНЕЦ ВИДЕОВОСПРОИЗВЕДЕНИЕ] 25 00:02:08,590 --> 00:02:11,190 >> Таму ў дадзены момант, гэта прылада будзе мець быць рэалізаваны ў выглядзе маленькай USB 26 00:02:11,190 --> 00:02:14,290 злучальнік, які можна падключыць да кампутары, але я не здзіўлюся, 27 00:02:14,290 --> 00:02:17,930 Калі ў хуткім часе ў нас ёсць гэтыя віды тэхналогій у наступнай партыі ПК 28 00:02:17,930 --> 00:02:20,510 Макі і так, што вы на самай справе можа ўзаемадзейнічаць з ім у 29 00:02:20,510 --> 00:02:21,650 чынам, як гэты. 30 00:02:21,650 --> 00:02:24,250 На самай справе, тое, што я думаў, што я раблю, таксама Я пад'ехала невялікая дэманстрацыя 31 00:02:24,250 --> 00:02:25,860 праграма, якая пастаўляецца з гэтым праграмным забеспячэннем. 32 00:02:25,860 --> 00:02:28,700 Так што я паставіў маленькі датчык перад маім ноўтбукам. 33 00:02:28,700 --> 00:02:32,420 >> І, як вы бачыце, ён ужо разумее, што мая рука ёсць 34 00:02:32,420 --> 00:02:33,400 кіраваць ёю. 35 00:02:33,400 --> 00:02:37,900 І ўсё гэта прыкладной праграмы будзе алею невялікія рэчы як гэта. 36 00:02:37,900 --> 00:02:41,080 Але вы можаце бачыць, што, сапраўды, У мяне ёсць пяць пальцаў. 37 00:02:41,080 --> 00:02:44,270 Калі мы можам прымусіць яго зрабіць усё 10, вы можаце сабе ўявіць акуратны фартэпіяна 38 00:02:44,270 --> 00:02:45,390 дадаткам ці таму падобнае. 39 00:02:45,390 --> 00:02:47,820 Так што калі вы хочаце, каб прыдумаць пасля заняткаў сёння і гуляць з гэтым, як 40 00:02:47,820 --> 00:02:49,720 Што ж, сардэчна запрашаем у. 41 00:02:49,720 --> 00:02:52,930 Так пра гэта бліжэй да канца семестра. 42 00:02:52,930 --> 00:02:54,420 >> Такім чынам, пара адміністрацыйных Аб'явы. 43 00:02:54,420 --> 00:02:58,690 Адзін з іх, зрабіць раздзел, у гэтую пятніцу апоўдні cs60.net/section. 44 00:02:58,690 --> 00:03:01,260 Гэта гіперспасылка на курсы Хатняя старонка, а таксама. 45 00:03:01,260 --> 00:03:04,010 У той жа час, аднак, supersections дэбютуе ў гэтую нядзелю. 46 00:03:04,010 --> 00:03:07,800 Supersections з'яўляюцца аднаразовая рэч, таму што гэта займае некаторы час, каб працаваць 47 00:03:07,800 --> 00:03:09,470 , Хто ёсць у якім з падзелаў і дзе. 48 00:03:09,470 --> 00:03:12,280 >> Так што ў бліжэйшую нядзелю, там будзе адна падзел для тых, менш знаёмыя, 49 00:03:12,280 --> 00:03:14,040 адзін падзел для тых, больш зручнай. 50 00:03:14,040 --> 00:03:16,110 І тыя з вас дзесьці ў паміж могуць адправіцца да 51 00:03:16,110 --> 00:03:17,850 адзін ці абодва ці ніводнага. 52 00:03:17,850 --> 00:03:19,150 Абодва гэтых будзе зняты. 53 00:03:19,150 --> 00:03:22,740 Яны будуць у большай аўдыторыі, чым раздзел звычайна будзе цалі 54 00:03:22,740 --> 00:03:26,110 Але мэта тут, каб узброіць вас з некаторыя праблемы з камфортам ўсталяваць адзін, 55 00:03:26,110 --> 00:03:29,910 з С, CS50 прылады, гэта выходныя, нават перш чым вы даведаецеся вашу 56 00:03:29,910 --> 00:03:31,050 фармальнае прызначэнне падзелу. 57 00:03:31,050 --> 00:03:34,700 Такім чынам, вы сустрэнеце вашага TF і вашых меншых Група sectionmates прыкладна 58 00:03:34,700 --> 00:03:36,350 тыдня часу. 59 00:03:36,350 --> 00:03:38,200 >> Гадзіны працы, тым часам, Былі адбываецца. 60 00:03:38,200 --> 00:03:41,020 Ці скарыстацца імі або сёння ўвечары Заўтра ўвечары, калі вы хацелі б. 61 00:03:41,020 --> 00:03:43,460 Праблема набору 0 вырабляецца па пятніцу. 62 00:03:43,460 --> 00:03:46,680 Гэта дзень пазней, чым планавага чацвер. 63 00:03:46,680 --> 00:03:50,410 Але праблема з наборам 1, вы ўбачыце што яна ўключае ў сябе некаторыя размінкі 64 00:03:50,410 --> 00:03:52,770 практыкаванні, з якімі вы сябе можа пашырыць 65 00:03:52,770 --> 00:03:54,660 Чацвер тэрмін па пятніцу. 66 00:03:54,660 --> 00:03:58,410 Архіў задач 1, між тым, будзе дэбютаваць на вэб-сайце курсу маючы адбыцца 67 00:03:58,410 --> 00:04:02,000 Пятніца, калі вы хочаце, каб згарнуцца абаранкам з ён, як і я калісьці позна 68 00:04:02,000 --> 00:04:04,370 У пятніцу вечарам у вашай пакоі. 69 00:04:04,370 --> 00:04:07,660 >> Так cs50.net/appliance гэта месца, дзе Вы можаце атрымаць CS50 прыбора 70 00:04:07,660 --> 00:04:09,040 што мы пачалі выкарыстоўваць у панядзелак. 71 00:04:09,040 --> 00:04:10,140 Мы будзем выкарыстоўваць яго крыху больш сёння. 72 00:04:10,140 --> 00:04:14,040 Але будзьце ўпэўненыя, што праблема набор 1 спецыфікацыі, вы пройдзеце праз 73 00:04:14,040 --> 00:04:16,490 Менавіта дзеянні, якія неабходна каб атрымаць гэта і працуе. 74 00:04:16,490 --> 00:04:22,120 Так што не турбуйцеся аб выкананні, што да Pset 1, калі вы не хочаце. 75 00:04:22,120 --> 00:04:22,660 >> Добра. 76 00:04:22,660 --> 00:04:27,180 Такім чынам, мы глядзелі ў панядзелак на зыходны код, але ў кантэксце новага 77 00:04:27,180 --> 00:04:30,895 Мова праграмавання, а менавіта С. і С, У адрозненне ад нуля, не графічны. 78 00:04:30,895 --> 00:04:32,270 Гэта не галаваломкі. 79 00:04:32,270 --> 00:04:34,450 Гэта больш, англійская-падобны сінтаксіс. 80 00:04:34,450 --> 00:04:37,140 І ёсць пару крокаў На самай справе напісання і выканання 81 00:04:37,140 --> 00:04:41,650 Праграма на Сі, таму што акрамя крыніцы код, падобны гэтаму, трэба нешта 82 00:04:41,650 --> 00:04:42,890 называецца кампілятарам. 83 00:04:42,890 --> 00:04:46,682 І з пункту гледжання непрафесіяналы, што робіць кампілятар зрабіць для нас? 84 00:04:46,682 --> 00:04:47,650 Да. 85 00:04:47,650 --> 00:04:51,040 >> Студэнт: Ён пераўтворыць код што вы пішыце ў 0 і 1. 86 00:04:51,040 --> 00:04:51,151 >> DAVID малая: Добра. 87 00:04:51,151 --> 00:04:53,580 Такім чынам, ён пераўтворыць код, які пішам 0 і 1. 88 00:04:53,580 --> 00:04:57,730 Ён пераўтворыць так званага зыходнага кода для аб'ектны код, апошні з якіх выглядае 89 00:04:57,730 --> 00:04:59,140 трохі нешта накшталт гэтага. 90 00:04:59,140 --> 00:05:02,860 І гэта ваш працэсар, мазгі ўнутры кампутары, што з-за 91 00:05:02,860 --> 00:05:06,280 Людзі, якія стварылі гэтыя кампутары, ведаць, што гэтыя паслядоўнасці 92 00:05:06,280 --> 00:05:07,460 0 і 1 сярэдняя. 93 00:05:07,460 --> 00:05:08,640 >> Можа быць, гэта азначае, друку. 94 00:05:08,640 --> 00:05:10,265 Можа быць, гэта азначае дадатак. 95 00:05:10,265 --> 00:05:11,610 Можа быць, гэта азначае адніманне. 96 00:05:11,610 --> 00:05:13,350 Можа быць, гэта азначае, паказваць карцінку. 97 00:05:13,350 --> 00:05:16,870 Ёсць наканаваныя шаблоны бітаў што свет вырашыў азначае 98 00:05:16,870 --> 00:05:17,700 пэўныя рэчы. 99 00:05:17,700 --> 00:05:20,760 Але па большай частцы ў гэтым курсе, мы будзем працаваць на больш высокім узроўні, і 100 00:05:20,760 --> 00:05:24,180 мы лічым само сабой якія разумеюцца, што існуюць рэчы, як кампілятары, якія могуць 101 00:05:24,180 --> 00:05:27,670 зрабіць наш зыходны код функцыі ў тым, як мы маем намер. 102 00:05:27,670 --> 00:05:31,660 >> І праграма, якую напісаў першы мінулым тыдні а потым стаў портам, так 103 00:05:31,660 --> 00:05:33,920 сказаць, у мінулым C Панядзелак, было гэта. 104 00:05:33,920 --> 00:05:35,700 Калі зялёны сцяг націску павітацца. 105 00:05:35,700 --> 00:05:37,430 Гэта, вядома, напісана на пустым месцы. 106 00:05:37,430 --> 00:05:40,710 І я сцвярджаў, што эквівалентна праграму ў C выглядаў трохі 107 00:05:40,710 --> 00:05:41,520 нешта накшталт гэтага. 108 00:05:41,520 --> 00:05:45,050 >> Так што я думаю, што мы зробім гэта на першы, давай дражніць адзін ад аднаго тое, што выглядае, на першы 109 00:05:45,050 --> 00:05:48,790 погляд, па агульным прызнанні, як справядліва таямніцай сінтаксісу, але вы пачнеце заўважаць, 110 00:05:48,790 --> 00:05:50,160 мадэлі даволі хутка. 111 00:05:50,160 --> 00:05:53,770 Тое, што мы таксама зробім сёння забяспечваюць Вы з псіхічнымі мадэлі для некаторых 112 00:05:53,770 --> 00:05:57,280 Canonical, некаторыя стандартныя канструкцыі у праграмаванні. 113 00:05:57,280 --> 00:06:00,420 І тады мы сапраўды атрымаем у свае рукі брудныя з некаторымі прыкладамі, а таксама. 114 00:06:00,420 --> 00:06:04,140 >> Так што для тых з вас, больш камфортным, разумею, што на гэтым тыдні, а затым наступны 115 00:06:04,140 --> 00:06:05,940 тыдні цалкам можа быць нешта накшталт агляду. 116 00:06:05,940 --> 00:06:08,810 Але асабліва, калі хакер выданне праблема набору 1 выходзіць на 117 00:06:08,810 --> 00:06:12,330 Вядома сайце ў пятніцу, я думаю, Вы знойдзеце, што, нават калі вы запоўніце 118 00:06:12,330 --> 00:06:15,390 некаторыя прабелы ў працягу наступнага тыдня або двух, Вы пачнеце атрымліваць ўсё больш 119 00:06:15,390 --> 00:06:18,410 выклік і сутыкаюцца новыя і новыя рэчы. 120 00:06:18,410 --> 00:06:21,310 >> Так што давайце дражніць гэтую праграму, акрамя некалькі радкоў за адзін раз. 121 00:06:21,310 --> 00:06:24,140 На самым версе, у нас ёсць тое, што тэхнічна называецца 122 00:06:24,140 --> 00:06:25,950 Дырэктыва препроцессора. 123 00:06:25,950 --> 00:06:30,510 Гэта проста радок кода, якая кажа ўключыць змесціва файла 124 00:06:30,510 --> 00:06:35,080 называецца стандартным I / N, стандартны ўвод - або, прабачце, стандартнага ўводу / высновы, стандартная 125 00:06:35,080 --> 00:06:38,670 ўвод / выснова,. г, усярэдзіне маёй ўласнай праграме. 126 00:06:38,670 --> 00:06:41,670 >> Такім чынам, іншымі словамі, калі я напісаў гэта праграма з простым тэкставым рэдактарам, як 127 00:06:41,670 --> 00:06:45,260 Gedit, тым прасцей эквівалент нешта накшталт Microsoft Word,, што 128 00:06:45,260 --> 00:06:50,970 Інструкцыя, # ўключыць stdio.h, проста скажу кампілятар, захопіце 129 00:06:50,970 --> 00:06:56,080 Змесціва гэтага іншага файла, stdio.h, і ўстаўляць іх прама тут. 130 00:06:56,080 --> 00:06:57,090 >> Зараз, навошта мне гэта трэба? 131 00:06:57,090 --> 00:07:01,850 Што ж мы сцвярджаць, што ўнутры гэтага файла названы stdio.h, якая захоўваецца 132 00:07:01,850 --> 00:07:05,490 дзесьці на маім цвёрдым дыску, або ў дадзеным выпадку, дзесьці ў CS50 прыбора? 133 00:07:05,490 --> 00:07:06,635 Хто-то паклаў яго туды для мяне. 134 00:07:06,635 --> 00:07:09,910 Але што гэта значыць? 135 00:07:09,910 --> 00:07:13,020 >> Так, так што гэта дэкларацыя Функцыя называецца Е. 136 00:07:13,020 --> 00:07:17,400 Так успамінае Е функцыя, якая дысплеяў слоў і знакаў і 137 00:07:17,400 --> 00:07:20,160 нумары на экране ў мае распараджэнні. 138 00:07:20,160 --> 00:07:21,220 Але я не пісаў. 139 00:07:21,220 --> 00:07:22,230 CS50 не пісаў гэтага. 140 00:07:22,230 --> 00:07:26,990 Хтосьці гадоў таму напісаў, і яны па сутнасці дала нам рэцэпт для яго 141 00:07:26,990 --> 00:07:29,110 у файле stdio.h. 142 00:07:29,110 --> 00:07:33,240 Так што першы радок проста дае мне доступ да функцый, што хтосьці іншы 143 00:07:33,240 --> 00:07:36,500 піша гадоў таму, сярод якія Е. 144 00:07:36,500 --> 00:07:39,450 >> Зараз, наступны радок я збіраюся махнуць рукой, па меншай меры да наступнага тыдня. 145 00:07:39,450 --> 00:07:43,620 Але цяпер, ведаю, што тап_п (несапраўднымі) з'яўляецца па сутнасці эквівалент гэтай 146 00:07:43,620 --> 00:07:46,310 жоўты кавалак галаваломкі, калі зялёны сцяг націснуў. 147 00:07:46,310 --> 00:07:49,510 Свету, шмат гадоў таму, вырашыў, што калі Вы пішаце праграму ў 148 00:07:49,510 --> 00:07:53,150 мову, званы C, вы пачынаеце Ваша праграма з лініяй 149 00:07:53,150 --> 00:07:54,410 , Які выглядае так. 150 00:07:54,410 --> 00:07:57,650 У амаль праз тыдзень, то гэта зробіць сэнсе, што дзесятковы, што такое пустата. 151 00:07:57,650 --> 00:08:00,840 Але на дадзены момант, проста думаць пра гэта як гэты жоўты кавалачак пазла. 152 00:08:00,840 --> 00:08:04,550 >> Цяпер наступнае, у нас ёсць фігурнай дужкі наступным на блізкую фігурнай дужкі, 153 00:08:04,550 --> 00:08:05,240 так бы мовіць. 154 00:08:05,240 --> 00:08:07,430 І мы ўбачым на працягу гэтых праграм на С, а таксама 155 00:08:07,430 --> 00:08:08,930 JavaScript і PHP. 156 00:08:08,930 --> 00:08:11,345 І гэта толькі інкапсуляцыі звязаных радкоў кода. 157 00:08:11,345 --> 00:08:14,600 Адкрытая фігурная дужка сутнасці кажа, вось ідзе некаторы код. 158 00:08:14,600 --> 00:08:17,590 А закрытыя фігурнай дужкі, якая з'яўляецца нахілены ў процілеглым кірунку, як раз 159 00:08:17,590 --> 00:08:19,920 сродкамі, вось менавіта для адпаведны код. 160 00:08:19,920 --> 00:08:22,970 >> Так сакавітыя лініі ў гэтай першай Праграма з'яўляецца апошнім, Е, 161 00:08:22,970 --> 00:08:25,080 катыровак канец цытаты, прывітанне свет. 162 00:08:25,080 --> 00:08:30,670 І я назваў рэчы паміж каціроўкі, што ў мінулы раз? 163 00:08:30,670 --> 00:08:31,285 Так што гэта радок. 164 00:08:31,285 --> 00:08:35,309 І радок проста тэхнар Тэрмін для паслядоўнасці 165 00:08:35,309 --> 00:08:37,169 сімвалы, словы, фразы. 166 00:08:37,169 --> 00:08:39,380 Нават адзін ліст магло быць у падвойных двукоссях. 167 00:08:39,380 --> 00:08:41,840 Але гэта паслядоўнасць з нуля ці больш знакаў. 168 00:08:41,840 --> 00:08:43,650 >> Зваротная касая рыса-N, тым не менш, выглядае крыху дзіўна. 169 00:08:43,650 --> 00:08:46,290 Але гэта проста азначае нешта просты ў кампутар. 170 00:08:46,290 --> 00:08:48,060 Што зваротны слэш-н? 171 00:08:48,060 --> 00:08:48,570 Новая лінія. 172 00:08:48,570 --> 00:08:52,490 Так што гэта проста спецыяльная паслядоўнасць знакаў, якія свет вырашыў 173 00:08:52,490 --> 00:08:56,880 сродкаў, якія ўкладаюцца радкі тут жа, таму што кампілятар на самой справе атрымаць 174 00:08:56,880 --> 00:09:02,280 блытаюць, як правіла, калі вы, вельмі зразумела, але няправільна, проста 175 00:09:02,280 --> 00:09:04,570 пачаць Націск Enter паставіць новых ліній у кодзе. 176 00:09:04,570 --> 00:09:07,150 Вы павінны быць трохі больш відавочныя, з касым-н. 177 00:09:07,150 --> 00:09:10,540 >> І мы ўбачым, ёсць некалькі іншых падобных шаблоны для адмысловых знакаў. 178 00:09:10,540 --> 00:09:14,340 Напрыклад, калі вы хочаце, каб вашы розум блукаць у кут выпадку, 179 00:09:14,340 --> 00:09:18,080 Выкажам здагадку, што я хацеў, каб надрукаваць падвойныя двукоссі на экране 180 00:09:18,080 --> 00:09:21,840 якой прычыне, што, здавалася б, быць трохі праблематычна, ці не так? 181 00:09:21,840 --> 00:09:24,990 Таму што, калі я паклаў у падвойныя двукоссі сярэдзіна "Hello, World", па тых ці іншых 182 00:09:24,990 --> 00:09:30,120 Прычына, чаму здаецца, што патэнцыйна праблемныя? 183 00:09:30,120 --> 00:09:32,180 Гэта разбівае радок. 184 00:09:32,180 --> 00:09:34,700 >> Кампілятар проста праграма. 185 00:09:34,700 --> 00:09:37,210 Такая праграма, як кампілятар проста будзе чытаць ваш код зверху ўніз, 186 00:09:37,210 --> 00:09:37,990 злева направа. 187 00:09:37,990 --> 00:09:41,850 І калі бачыць тры падвойныя двукоссі замест з двух, што ён не будзе ведаць, 188 00:09:41,850 --> 00:09:45,210 Калі вы маеце на ўвазе, што рэч у левую павінна быць радок, або рэч 189 00:09:45,210 --> 00:09:46,570 права, або ўсё гэта. 190 00:09:46,570 --> 00:09:50,560 Гэта неадназначна, і так, што тыповы кампілятар будзе зрабіць, гэта проста вырадак, 191 00:09:50,560 --> 00:09:53,710 і даць вам некаторы паведамленне пра памылку і зрабіць вас мець справу з праблемай. 192 00:09:53,710 --> 00:09:58,120 >> Таму, улічваючы, што зваротны слэш-н азначае новае лініі, што б вашыя інстынкты зараз 193 00:09:58,120 --> 00:10:02,610 пачатак быць, калі вы хацелі ўключыць нешта анамальнае, як двайны 194 00:10:02,610 --> 00:10:06,210 двукоссі ўнутры гэтага інакш двукоссях радкі? 195 00:10:06,210 --> 00:10:07,640 Зваротная касая рыса-падвойныя двукоссі. 196 00:10:07,640 --> 00:10:09,630 І так што мы ўбачым гэтую выгляд пра шаблон таксама. 197 00:10:09,630 --> 00:10:12,490 >> Калі вы хочаце зрабіць што-то трохі Дзіўна, вы выявіце, што 198 00:10:12,490 --> 00:10:15,060 Рашэнні часта ідуць ўзоры, і зваротную касую рысу 199 00:10:15,060 --> 00:10:17,150 пазначае кіруючай паслядоўнасці. 200 00:10:17,150 --> 00:10:20,320 І гэта проста азначае нешта асаблівае што мы павінны прадставіць у 201 00:10:20,320 --> 00:10:21,060 іншаму. 202 00:10:21,060 --> 00:10:23,830 А як вы ўяўляеце зваротную касую рысу, добра, мы будзем 203 00:10:23,830 --> 00:10:24,550 вернемся да гэтага. 204 00:10:24,550 --> 00:10:26,930 Але адказ, таксама, фактычна трохі відавочная. 205 00:10:26,930 --> 00:10:31,080 >> Такім чынам, давайце ўвядзем некаторыя іншыя праграмныя канструкцыі 206 00:10:31,080 --> 00:10:31,915 якія вы бачылі ў добрым стане. 207 00:10:31,915 --> 00:10:34,790 Вы, напэўна, само сабой якія разумеюцца ўжо калі вы ўжо нырнуў у 208 00:10:34,790 --> 00:10:36,060 Праблема усталяваны 0. 209 00:10:36,060 --> 00:10:40,950 Але давайце ўвядзем сінтаксіс ў C у адваротным выпадку для гэтых интуитивен 210 00:10:40,950 --> 00:10:42,300 ідэі, па меншай меры некаторых з іх. 211 00:10:42,300 --> 00:10:45,570 >> Так што гэта паняцце стану або Філіял, тады як раней мы 212 00:10:45,570 --> 00:10:49,330 ўяўляў яго з кодам, які выглядаў так у левай Scratch - 213 00:10:49,330 --> 00:10:52,200 Калі X менш Y, то так і скажыце - 214 00:10:52,200 --> 00:10:56,760 а ў цяперашні час у C - дазвольце мне адтачыць на у найпростым выпадку - 215 00:10:56,760 --> 00:11:01,235 мы проста збіраемся казаць, калі, адкрыйце дужкі, нешта дакладна - 216 00:11:01,235 --> 00:11:04,190 Лагічнае выраз будзе ісці дзе я сказаў стане - 217 00:11:04,190 --> 00:11:08,170 зачыняе дужкі, то рабіць тое, што Усярэдзіне гэтыя фігурныя дужкі. 218 00:11:08,170 --> 00:11:11,020 >> Так і тут, у фігурных дужках накшталт як для Scratch 219 00:11:11,020 --> 00:11:12,460 П-вобразныя часткі галаваломкі. 220 00:11:12,460 --> 00:11:14,890 Рабіце тое, што ўнутры гэтых фігурных дужках. 221 00:11:14,890 --> 00:11:16,790 У гэтым выпадку, слэш слэш. 222 00:11:16,790 --> 00:11:19,720 І заўважце, гэта наперад слэш, а ня зваротнай касой рысай. 223 00:11:19,720 --> 00:11:21,440 Касая рыса, касая рыса, для тых, хто ўжо запраграмаваны 224 00:11:21,440 --> 00:11:23,370 раней, проста азначае - 225 00:11:23,370 --> 00:11:24,190 гэта проста каментар. 226 00:11:24,190 --> 00:11:26,630 Каментар не з'яўляецца прамой кода, як такой. 227 00:11:26,630 --> 00:11:30,200 Гэта лінія англійскай, што вы, чалавека, напісалі дзеля сябе, каб 228 00:11:30,200 --> 00:11:33,540 магчыма, нагадаць вам, каб нешта рабіць, растлумачыць сабе, каб растлумачыць 229 00:11:33,540 --> 00:11:35,260 каго-небудзь яшчэ, што ваш код робіць. 230 00:11:35,260 --> 00:11:37,050 Гэта проста апісальны каментар. 231 00:11:37,050 --> 00:11:40,880 >> Цяпер, вядома, мы можам мець двухбаковы скрыжаванні дарог проста рабіць гэта, 232 00:11:40,880 --> 00:11:43,930 трохбаковы скрыжаванні дарог, робячы гэта, і калі вы будзеце працягваць гэтую 233 00:11:43,930 --> 00:11:47,570 шаблон, вы можаце мець чатырох кірунках, пятипозиционный, шэсць спосабам скрыжаваньняў, калі 234 00:11:47,570 --> 00:11:50,150 вам трэба працаваць, сапраўды, што многія ўмовы. 235 00:11:50,150 --> 00:11:52,010 І звярніце ўвагу на тое паралелізм тут - 236 00:11:52,010 --> 00:11:55,070 Калі (ўмова), астатняе, калі (ўмова), і адзінае, што крыху 237 00:11:55,070 --> 00:11:58,010 дзіўным з'яўляецца апошняй, якая гэта ўсяго толькі яшчэ. 238 00:11:58,010 --> 00:12:01,170 Але зноў жа, гэта ідэнтычна, Канцэптуальна, да таго, што мы зрабілі 239 00:12:01,170 --> 00:12:04,690 ўжо, хоць сінтаксіс ўзяць крыху прывыкнуць. 240 00:12:04,690 --> 00:12:07,730 >> Зараз, у гэтым прыкладзе ёсць некаторыя іншыя дзіўныя сінтаксіс. 241 00:12:07,730 --> 00:12:11,220 Мы бачым, Е зноў, якая адкрывае дужка, і якая зачыняе дужку. 242 00:12:11,220 --> 00:12:13,190 І ўнутры ёсць радкі ў двукоссях. 243 00:12:13,190 --> 00:12:17,060 Дужкі, у кантэксце з Е, перайдзіце на левай 244 00:12:17,060 --> 00:12:18,160 і справа ад чаго? 245 00:12:18,160 --> 00:12:22,190 Што мы апісвае, што цытуемы Радок ў больш агульным? 246 00:12:22,190 --> 00:12:23,320 >> Так што гэта аргумент. 247 00:12:23,320 --> 00:12:26,620 Кожны раз, калі ў вас ёсць функцыя, як і Е, а затым адкрытым і круглых 248 00:12:26,620 --> 00:12:30,330 Зачыніць хлопец і нешта ўнутры гэта, няхай гэта будзе радок, або 249 00:12:30,330 --> 00:12:34,420 цэлае, або што-небудзь яшчэ, справа ў паміж гэтымі дужкамі называецца 250 00:12:34,420 --> 00:12:35,110 аргумент. 251 00:12:35,110 --> 00:12:37,910 >> І аргумент проста ўплывае функцыі паводзін. 252 00:12:37,910 --> 00:12:39,990 У гэтым выпадку, гэта даволі ясна, як гэта зрабіць. 253 00:12:39,990 --> 00:12:44,480 х <у гэта тое, што перадаецца ў, так бы мовіць, у якасці аргументу. 254 00:12:44,480 --> 00:12:47,720 І Е збіраецца раздрукаваць менавіта гэта. 255 00:12:47,720 --> 00:12:51,590 Таму што, вядома, чалавек гадоў таму якія не рэалізаваныя Е меў ні найменшага падання 256 00:12:51,590 --> 00:12:55,000 тое, што мы, чалавечыя пераемнікі былі збіраецца выкарыстоўваць для Е. 257 00:12:55,000 --> 00:12:58,610 Дык вось чаму аргументы існуюць, ўплываць на паводзіны пасля функцыі 258 00:12:58,610 --> 00:12:59,450 было напісана. 259 00:12:59,450 --> 00:13:00,780 >> Цяпер, лагічны выраз. 260 00:13:00,780 --> 00:13:02,470 Мы бачылі раней у гэтых нуля. 261 00:13:02,470 --> 00:13:06,680 Аказваецца, у C вы таксама можаце "ці" іх разам, так бы мовіць. 262 00:13:06,680 --> 00:13:10,930 Дзве вертыкальныя палоскі азначае, што гэты блок кода, гэта зрабіць гэта, будзе 263 00:13:10,930 --> 00:13:15,350 выконвацца, калі першае ўмова праўдзіва або другое ўмова. 264 00:13:15,350 --> 00:13:17,710 І нават калі вы не маглі б зрабіць У гэтай нуля, вы сапраўды можа 265 00:13:17,710 --> 00:13:20,580 зрабіць гэта ў нуля, і вы таксама можаце выказаць сябе па-рознаму - 266 00:13:20,580 --> 00:13:25,300 калі першая ўмова і другое ўмовы дакладныя, то рабіць тое, што 267 00:13:25,300 --> 00:13:27,160 Усярэдзіне фігурных дужак. 268 00:13:27,160 --> 00:13:31,210 >> І гэтак жа, як у бок, прычына, гэта двайны Ампэрсанд і двайны 269 00:13:31,210 --> 00:13:34,610 Вертыкальная рыса, мы ўбачым, у канчатковым рахунку што адна вертыкальная рыса і 270 00:13:34,610 --> 00:13:38,710 адзін Ампэрсанд мець розныя сэнс у C. Так што на дадзены 271 00:13:38,710 --> 00:13:41,840 што дубляванне сімвалаў не выпадкова. 272 00:13:41,840 --> 00:13:45,070 >> Такім чынам, давайце ўявім, коратка, гэта крыху іншы сінтаксіс. 273 00:13:45,070 --> 00:13:48,940 Гэта не зусім пераносяцца на Нуля, але я сцвярджаю, што я магу 274 00:13:48,940 --> 00:13:55,190 рэалізацыі паняцце, калі яшчэ, калі інакш, калі яшчэ, калі яшчэ і стратах з выкарыстаннем 275 00:13:55,190 --> 00:13:56,760 тое, што называецца перамыкач заяве. 276 00:13:56,760 --> 00:14:00,820 І адзіная прычына, гэта сапраўды існуе , Каб проста даць вам, праграміст, 277 00:14:00,820 --> 00:14:05,470 крыху іншы спосаб вырашэння некаторых праблема, хоць па логіцы ён 278 00:14:05,470 --> 00:14:07,340 не дае вам ніякіх новых магчымасцяў. 279 00:14:07,340 --> 00:14:08,530 >> Пад гэтым я маю на ўвазе гэта. 280 00:14:08,530 --> 00:14:13,330 Калі вы кажаце, перамыкач, а затым прабел, а затым пара круглых дужак, усярэдзіне 281 00:14:13,330 --> 00:14:14,570 якіх ідзе выраз - 282 00:14:14,570 --> 00:14:18,010 і гэта магло б быць крыху невідавочным на першы, але гэта не аргумент, 283 00:14:18,010 --> 00:14:20,680 тэхнічна, таму што перамыкач не зьяўляецца функцыяй. 284 00:14:20,680 --> 00:14:24,230 Так што цяпер, проста выкажам здагадку, што мы выкарыстоўваем дужках у розных месцах 285 00:14:24,230 --> 00:14:25,250 па розных прычынах. 286 00:14:25,250 --> 00:14:29,310 >> Так перамыкач на выраз значыць, я магу пакласці зменную ўнутры гэтых 287 00:14:29,310 --> 00:14:31,350 дужках, дзе ён кажа выразы. 288 00:14:31,350 --> 00:14:33,090 І потым, калі гэтая пераменная - 289 00:14:33,090 --> 00:14:35,400 Выкажам здагадку, што гэта завецца х, і гэта проста цэлы лік - 290 00:14:35,400 --> 00:14:38,900 Затым я магу пералічыць на мой слайд Тут нешта накшталт гэтага. 291 00:14:38,900 --> 00:14:41,690 Калі X мой зменнай, і я хочуць нешта рабіць, калі X 292 00:14:41,690 --> 00:14:43,480 роўная 1, я магу зрабіць гэта. 293 00:14:43,480 --> 00:14:46,660 >> Калі я замест гэтага хочуць зрабіць што-то Калі X = 2, я магу зрабіць гэта. 294 00:14:46,660 --> 00:14:50,390 У адваротным выпадку, калі я хачу зрабіць што-то яшчэ цалкам, у мяне можа быць па змаўчанні ў выпадку 295 00:14:50,390 --> 00:14:52,750 гэтым выпадку я раблю гэта іншая рэч. 296 00:14:52,750 --> 00:14:58,730 Так што ў гэтым сэнсе гэта эквівалентна Калі X роўная роўная 1, інакш, калі яшчэ, 297 00:14:58,730 --> 00:15:01,150 але я кажу пра гэта толькі таму, што зараз мы ўбачым яго зноў. 298 00:15:01,150 --> 00:15:03,720 Але на дадзены момант, проста ведаю, што ён існуе. 299 00:15:03,720 --> 00:15:04,220 >> Добра. 300 00:15:04,220 --> 00:15:07,660 Такім чынам, гэтыя апошнія пару трохі больш складаныя, на першы погляд, але яны робяць 301 00:15:07,660 --> 00:15:09,385 нешта даволі проста. 302 00:15:09,385 --> 00:15:14,410 Цыкл у З з'яўляецца кавалак кода, які проста робіць што-то зноў і 303 00:15:14,410 --> 00:15:15,330 зноў і зноў. 304 00:15:15,330 --> 00:15:17,590 І адзіная раздражняльная рэч пра яго, , Што ў тым, што гэта крыху загадкавае 305 00:15:17,590 --> 00:15:21,380 , Каб выказаць сябе ў гэтым цыклічным карціна, але свет на стандартызаваныя 306 00:15:21,380 --> 00:15:22,450 наступным чынам. 307 00:15:22,450 --> 00:15:25,760 >> Пры выкарыстанні цыклу, у вас ёсць пару круглых дужак зноў. 308 00:15:25,760 --> 00:15:27,570 І звярніце ўвагу на дзве кропкі з коскай у там. 309 00:15:27,570 --> 00:15:34,380 Гэтыя дзве кропкі з коскі тры асобных розных выразаў ўнутры 310 00:15:34,380 --> 00:15:35,020 дужках. 311 00:15:35,020 --> 00:15:37,170 Адным з іх з'яўляецца так званая ініцыялізацыі. 312 00:15:37,170 --> 00:15:38,830 Адным з іх з'яўляецца так званае ўмова. 313 00:15:38,830 --> 00:15:40,210 І гэта так званы абнаўленняў. 314 00:15:40,210 --> 00:15:43,240 >> Паглядзеў у абстрактнай, гэта зусім не відавочныя, так што давайце паглядзім 315 00:15:43,240 --> 00:15:44,630 на канкрэтным прыкладзе. 316 00:15:44,630 --> 00:15:46,720 У драпін у нас быў паўтор блока. 317 00:15:46,720 --> 00:15:50,670 І гэта Блок сказаў паўтарыць 10 разоў, скажам "Hello, World". Дазвольце мне прэтэндаваць на 318 00:15:50,670 --> 00:15:53,810 цяпер, і мы вернемся да гэтага, і Гэта таксама будзе атрымліваць больш знаёмыя 319 00:15:53,810 --> 00:15:57,345 Вамі ў бліжэйшы час, што эквівалентна C код можа быць названа гэта - 320 00:15:57,345 --> 00:16:02,320 для пастаноўкі і прабел, пара дужках, звярніце ўвагу на кропку з коскі ў 321 00:16:02,320 --> 00:16:05,730 там, якія аддзяляюць тры розных рэчы, ініцыялізацыі 322 00:16:05,730 --> 00:16:07,320 стане, і абнаўлення. 323 00:16:07,320 --> 00:16:08,840 >> І зрабіць здагадку, што першы робіць. 324 00:16:08,840 --> 00:16:10,690 INT I = 0. 325 00:16:10,690 --> 00:16:15,120 З пункту гледжання грубай непрафесіянала, што , Што робіць для нас, напэўна? 326 00:16:15,120 --> 00:16:15,590 Так што так. 327 00:16:15,590 --> 00:16:19,630 Гэта аб'ява зменнай называецца I, і гэта дае яго, якое значэнне? 328 00:16:19,630 --> 00:16:20,220 0. 329 00:16:20,220 --> 00:16:24,280 Так ён стварае зменную з імем Я, захоўванне значэнне 0 у ім. 330 00:16:24,280 --> 00:16:26,420 Гэта так званы ініцыялізацыі. 331 00:16:26,420 --> 00:16:29,360 >> Добра, зараз я сцвярджаў да што сярэдняя рэч, я 332 00:16:29,360 --> 00:16:31,760 <10, гэты стан. 333 00:16:31,760 --> 00:16:32,730 Так што ж рабіць? 334 00:16:32,730 --> 00:16:36,560 Ну, што цыкл робіць, калі праграма з пятлёй для запуску, з'яўляецца 335 00:16:36,560 --> 00:16:41,050 кожны раз, калі кампутар праходзіць праз гэтая пятля, зверху ўніз, зверху 336 00:16:41,050 --> 00:16:43,740 дно, гэтак жа, як вы, хлопцы, зрабілі, калі лічачы сябе і седзячы, 337 00:16:43,740 --> 00:16:47,090 зноў і зноў і зноў, кампутар будзе 338 00:16:47,090 --> 00:16:48,560 праверыць, што ўмова. 339 00:16:48,560 --> 00:16:51,140 І калі б я менш за 10, ён будзе рабіць гэта зноў. 340 00:16:51,140 --> 00:16:53,100 Калі я менш за 10, ён будзе рабіць гэта зноў. 341 00:16:53,100 --> 00:16:55,030 Калі я менш дзесяці, ён будзе рабіць гэта зноў. 342 00:16:55,030 --> 00:16:57,330 Так што, здаецца, мяркуе, што Спадзяюся, у мяне мяняецца. 343 00:16:57,330 --> 00:16:59,010 У адваротным выпадку мы павінны былі б у бясконцы цыкл. 344 00:16:59,010 --> 00:17:02,590 І сапраўды, я змяняецца, таму што Апошняе, што пасля кропкі з коскай там 345 00:17:02,590 --> 00:17:05,569 з'яўляецца некалькі загадкавым сінтаксісам я + +. 346 00:17:05,569 --> 00:17:07,630 Але тыя з вас, хто ўжо зрабіў гэта раней, гэта проста азначае, 347 00:17:07,630 --> 00:17:08,609 Усё вельмі проста, што? 348 00:17:08,609 --> 00:17:09,730 >> СТУДЭНТЫ: [прамежкавае VOICES]. 349 00:17:09,730 --> 00:17:10,740 >> DAVID малая: Дадаць 1 да я. 350 00:17:10,740 --> 00:17:11,819 Павялічваем я. 351 00:17:11,819 --> 00:17:13,910 Такім чынам, мы ўбачылі драпін галаваломкі П'еса для, што, на самай справе. 352 00:17:13,910 --> 00:17:18,230 Гэта не было падобна, я + +, але гэта проста сродкі, папросту кажучы, павялічваем 353 00:17:18,230 --> 00:17:24,040 каштоўнасць, якую я на 1 кожны раз, калі вы робіце гэта. 354 00:17:24,040 --> 00:17:26,910 Так літаральна, можна пачаць з Я ініцыялізацыі ў 0. 355 00:17:26,910 --> 00:17:29,520 Затым праверыць стан. 356 00:17:29,520 --> 00:17:31,070 Будзе 0 менш за 10? 357 00:17:31,070 --> 00:17:31,730 Да. 358 00:17:31,730 --> 00:17:32,910 Мы ідзем праз пятлю. 359 00:17:32,910 --> 00:17:35,150 >> Наступнае, што я прэтэндаваць на кампутары збіраемся зрабіць, гэта ён збіраецца 360 00:17:35,150 --> 00:17:35,910 Я, каб павялічыць. 361 00:17:35,910 --> 00:17:37,080 Так што я цяпер 1. 362 00:17:37,080 --> 00:17:37,940 Ён правярае стан. 363 00:17:37,940 --> 00:17:39,290 На 1 менш чым 10? 364 00:17:39,290 --> 00:17:39,930 Вядома. 365 00:17:39,930 --> 00:17:41,030 Так робіць гэта зноў. 366 00:17:41,030 --> 00:17:43,580 Тады ён павялічвае I + + 2. 367 00:17:43,580 --> 00:17:44,610 На 2 менш 10? 368 00:17:44,610 --> 00:17:45,230 Да. 369 00:17:45,230 --> 00:17:46,670 І зноў і зноў і зноў. 370 00:17:46,670 --> 00:17:50,070 І ў рэшце рэшт, з-за плюс-plussing, мы дабіраемся да Я = 10. 371 00:17:50,070 --> 00:17:51,675 З'яўляецца 10 менш, чым 10? 372 00:17:51,675 --> 00:17:52,990 Ну, відавочна, няма. 373 00:17:52,990 --> 00:17:55,320 І гэта кропка, у якой цыкл проста спыняецца. 374 00:17:55,320 --> 00:17:58,320 І калі ў вас ёсць больш кода на унізе экрана, кампутар 375 00:17:58,320 --> 00:18:01,620 даходаў, што для запуску кода замест. 376 00:18:01,620 --> 00:18:05,380 >> Такім чынам, яшчэ раз, нават калі гэта будзе выглядаць і адчуваць сябе крыху дзіўна 377 00:18:05,380 --> 00:18:07,830 Па-першае, вядома, для тых з вас, хто ніколі не запраграмаваны раней, 378 00:18:07,830 --> 00:18:11,640 літаральна памяншае канцэптуальна да таго, што ў адваротным выпадку вельмі 379 00:18:11,640 --> 00:18:14,330 просты галаваломкі частку ў добрым стане. 380 00:18:14,330 --> 00:18:19,130 >> Добра, я абяцаў, што б быць і іншыя аналагі ў добрым стане. 381 00:18:19,130 --> 00:18:20,060 Там у гэты раз таксама. 382 00:18:20,060 --> 00:18:21,700 І мы ўбачылі гэта ў двух словах апошні раз. 383 00:18:21,700 --> 00:18:23,530 Але памятайце назаўжды блакаваць ў пустым месцы? 384 00:18:23,530 --> 00:18:25,490 Ён проста робіць нешта вечна? 385 00:18:25,490 --> 00:18:27,470 Я сцвярджаў, што вы маглі б рэалізаваць гэта такім чынам. 386 00:18:27,470 --> 00:18:29,740 І вы можаце рэалізаваць гэта ў кучу-рознаму. 387 00:18:29,740 --> 00:18:34,260 >> Але ў той час як контур проста іншы шлях у C выказаць сябе. 388 00:18:34,260 --> 00:18:37,080 У рэшце рэшт, вы не можаце зрабіць нічога з у той час як цыкл, які вы 389 00:18:37,080 --> 00:18:38,360 не можаце з цыклу. 390 00:18:38,360 --> 00:18:41,430 Такім чынам, яны ў канцы дзень функцыянальна ідэнтычныя. 391 00:18:41,430 --> 00:18:43,840 Але ён дазваляе вам выказаць сябе крыху па-іншаму ў 392 00:18:43,840 --> 00:18:44,850 наступным чынам. 393 00:18:44,850 --> 00:18:49,720 >> З той час як цыкл, гэта тое, што ў дужках, што гэта яшчэ раз праверана і 394 00:18:49,720 --> 00:18:51,050 зноў і зноў. 395 00:18:51,050 --> 00:18:55,100 І як толькі гэта выраз ілжыва, то цыкл спыняе выкананне, 396 00:18:55,100 --> 00:18:57,890 і кампутар працягвае запускаць любыя іншыя коды 397 00:18:57,890 --> 00:18:59,230 ёсць у вашым файле. 398 00:18:59,230 --> 00:19:02,180 >> Але што цікава тут што я літаральна набраныя праўда. 399 00:19:02,180 --> 00:19:06,680 І сапраўды з'яўляецца адным з відаў лагічнае значэнне, сапраўднае або ілжывае значэнне. 400 00:19:06,680 --> 00:19:09,750 Так можа калі-небудзь стаць сапраўдным ілжывымі, калі я літаральна 401 00:19:09,750 --> 00:19:11,970 жорстка яго ў маёй праграме? 402 00:19:11,970 --> 00:19:12,470 Так што не. 403 00:19:12,470 --> 00:19:13,730 Гэта крыху дзіўна, што я гэта зрабіў. 404 00:19:13,730 --> 00:19:15,190 Але дакладна, то дакладна. 405 00:19:15,190 --> 00:19:16,320 Там няма плюс plussing. 406 00:19:16,320 --> 00:19:17,820 Там няма выкарыстанне зменных тут. 407 00:19:17,820 --> 00:19:22,740 Так, таму што я жорстка ў той час як гэта праўда, гэта завесы заўсёды будзе ацаніць 408 00:19:22,740 --> 00:19:24,090 зноў і зноў і зноў. 409 00:19:24,090 --> 00:19:27,660 >> Дык колькі раз прывітанне свет збіраецеся друкаваць на экране? 410 00:19:27,660 --> 00:19:28,170 Назаўжды. 411 00:19:28,170 --> 00:19:31,980 Бясконцую колькасць раз, пакуль не акумулятар памірае ці іншыя знешнія 412 00:19:31,980 --> 00:19:32,730 падзеі. 413 00:19:32,730 --> 00:19:35,880 Так што гэта, верагодна, не лепшая праграма пісаць, таму што, калі карыстачу 414 00:19:35,880 --> 00:19:38,660 ніколі не можа кінуць сваю праграму, гэта верагодна, не тое, што вы хацелі. 415 00:19:38,660 --> 00:19:41,070 >> Але часам, праграмы павінны ёсць бясконцы цыкл. 416 00:19:41,070 --> 00:19:44,050 Напрыклад, калі ваш кампутар мае Гадзіннік на ім, гэта, вядома, было б 417 00:19:44,050 --> 00:19:48,130 добры, калі вашыя гадзіны яна пастаянна абнаўляць Сам назаўжды, хоць раз у 418 00:19:48,130 --> 00:19:50,500 Другая або раз у хвіліну ці нешта накшталт гэтага. 419 00:19:50,500 --> 00:19:53,690 Такім чынам, нават бясконцыя цыклы маюць сваё месца. 420 00:19:53,690 --> 00:19:54,360 >> Добра. 421 00:19:54,360 --> 00:19:55,190 Нарэшце, гэта адно. 422 00:19:55,190 --> 00:19:57,770 І на гэты раз крыху па-іншаму функцыянальна, і мы вернемся да 423 00:19:57,770 --> 00:19:59,460 Гэта, верагодна, у Pset 1. 424 00:19:59,460 --> 00:20:02,370 Але ёсць і іншы тып цыкла называецца рабіць падчас цыклу. 425 00:20:02,370 --> 00:20:07,100 І адзіная розніца паміж рабіць падчас цыкла і, скажам, у той час як пятля, 426 00:20:07,100 --> 00:20:11,120 у тым, што правяраецца стан не Перад выкананнем кода, але пасля 427 00:20:11,120 --> 00:20:12,080 выкананні кода. 428 00:20:12,080 --> 00:20:15,380 Так у верхняй часткі для у той час як завесы, у той час як рабіць падчас 429 00:20:15,380 --> 00:20:16,560 правярае яго на дно. 430 00:20:16,560 --> 00:20:21,370 >> І гэта проста азначае, што ў той час як пятля , Як правіла, працуюць больш разоў 431 00:20:21,370 --> 00:20:24,630 ці меншая колькасць разоў, чым у той час як цыкл? 432 00:20:24,630 --> 00:20:30,810 Патэнцыйна больш разоў, таму што рабіць у той час як цыкл выразна казаць гэтага 433 00:20:30,810 --> 00:20:34,600 толькі пасля чаго вы праверыць калі ўмова ўнутры 434 00:20:34,600 --> 00:20:35,980 дужках дакладна. 435 00:20:35,980 --> 00:20:37,940 >> Такім чынам, мы ўбачым гэта зноў верагодна, у Pset 1. 436 00:20:37,940 --> 00:20:41,150 Калі вы заўсёды хочаце зрабіць што-небудзь у меры адзін раз, а затым, можа быць, яшчэ некалькі 437 00:20:41,150 --> 00:20:43,350 разы, гэта добра пабудаваць у выкарыстанні. 438 00:20:43,350 --> 00:20:46,970 Але ў той час як контур, наадварот, будзе правяраць яе стан у першую чаргу. 439 00:20:46,970 --> 00:20:50,660 І вось менавіта для завес ў С, але у той час, у той час, так і для завес. 440 00:20:50,660 --> 00:20:54,700 І зноў жа, яны адлюстроўваюць вельмі прыгожа назад падрапаць, акрамя гэтага не 441 00:20:54,700 --> 00:20:57,350 досыць мець той жа аналаг ў добрым стане. 442 00:20:57,350 --> 00:20:58,880 >> Ну, як, у цяперашні час, зменныя? 443 00:20:58,880 --> 00:21:02,600 Дык вось як я абвясціў зменную сінтаксічна на днях. 444 00:21:02,600 --> 00:21:06,440 У мяне была Інтэлект, які я сцвярджаў, з'яўляецца цэлым лікам. 445 00:21:06,440 --> 00:21:09,690 У мяне тады была зменную лічыльнік, а затым з коскі. 446 00:21:09,690 --> 00:21:11,070 Так што ж такое гэты радок кода робіць? 447 00:21:11,070 --> 00:21:14,540 Гэта, папросту кажучы, абвясціўшы зменнай - 448 00:21:14,540 --> 00:21:17,940 гэта значыць, задаючы кампутара, дай мне некаторы аб'ём памяці, даць мне некалькі бітаў - у 449 00:21:17,940 --> 00:21:19,450 які я магу захоўваць што? 450 00:21:19,450 --> 00:21:20,300 Int. 451 00:21:20,300 --> 00:21:23,570 І кропкай з коскі проста азначае, канцы радка кода. 452 00:21:23,570 --> 00:21:25,500 >> Цяпер, у другім радку, верагодна, даволі здагадацца. 453 00:21:25,500 --> 00:21:29,710 Што такое лічыльнік = 0; робіш? 454 00:21:29,710 --> 00:21:31,690 Гэта прысваенне 0 да лічыльніка. 455 00:21:31,690 --> 00:21:33,470 І вось гэта і ёсць іншая рэч , Гэта крыху раздражняе 456 00:21:33,470 --> 00:21:34,540 у параўнанні, скажам, алгебры. 457 00:21:34,540 --> 00:21:39,110 У той час як у алгебры, знак роўнасці азначае, роўных, тут, у C, роўную 458 00:21:39,110 --> 00:21:40,470 знак азначае прызначэнне. 459 00:21:40,470 --> 00:21:45,380 Дык гэта значыць пакласці тое, што знаходзіцца на правільным у тое, што злева. 460 00:21:45,380 --> 00:21:49,030 І мы ўбачым яшчэ адзін знак, роўна роўных, калі мы хочам на самай справе праверыць 461 00:21:49,030 --> 00:21:50,570 па якасці, некалькі прыкра. 462 00:21:50,570 --> 00:21:52,590 >> Але гэта крыху неэфектыўна. 463 00:21:52,590 --> 00:21:55,090 Гэта свайго роду раздражняе, што ў мяне ёсць абвясціць зменную і 464 00:21:55,090 --> 00:21:56,110 затым даць яму значэнне. 465 00:21:56,110 --> 00:21:59,380 Так што на самай справе C дазваляе нам спрасціць гэты і проста зрабіць гэта ўсё адразу. 466 00:21:59,380 --> 00:22:01,330 Вы можаце абвясціць зменную на левай баку. 467 00:22:01,330 --> 00:22:04,590 Вы ўсё яшчэ можаце выканаць заданне на права, паставіўшы знак роўнасці, што ў 468 00:22:04,590 --> 00:22:05,030 сярэдзіне. 469 00:22:05,030 --> 00:22:08,740 Такім чынам, у рэшце рэшт, гэтыя два эквівалентныя, але гэта, шчыра кажучы, 470 00:22:08,740 --> 00:22:11,840 Верагодна, лепш звычка толькі таму, што крыху менш 471 00:22:11,840 --> 00:22:15,040 кодзе, гэта крыху лягчэй чытаць, і ён проста падкручвае 472 00:22:15,040 --> 00:22:17,470 кодзе, так бы мовіць. 473 00:22:17,470 --> 00:22:22,120 >> Любыя пытанні, да гэтага часу на завесах, на зменныя, ад умоў, у 474 00:22:22,120 --> 00:22:27,001 Лагічныя, альбо тэхнічна або канцэптуальна? 475 00:22:27,001 --> 00:22:28,010 Добра. 476 00:22:28,010 --> 00:22:30,690 Так што зараз гэта наступны атрымлівае крыху больш цікавым. 477 00:22:30,690 --> 00:22:34,790 І гэта прыклад, які я паклаў у мінулым час, калі гэта адлюстроўвае драпін прыклад 478 00:22:34,790 --> 00:22:35,820 да C. 479 00:22:35,820 --> 00:22:36,580 >> Такім чынам, функцыю. 480 00:22:36,580 --> 00:22:38,110 З пункту гледжання непрафесіяналы, што такое функцыя? 481 00:22:38,110 --> 00:22:42,900 482 00:22:42,900 --> 00:22:44,350 Мусіць, трэба смялей з Вашым адказам. 483 00:22:44,350 --> 00:22:45,020 Што такое функцыя? 484 00:22:45,020 --> 00:22:46,320 >> СТУДЭНЦКАЯ: Ці ёсць што-то. 485 00:22:46,320 --> 00:22:46,780 >> DAVID малая: Што гэта? 486 00:22:46,780 --> 00:22:48,000 >> СТУДЭНЦКАЯ: Ці ёсць што-то. 487 00:22:48,000 --> 00:22:48,710 >> DAVID малая: Ці ёсць што-то. 488 00:22:48,710 --> 00:22:49,000 ОК. 489 00:22:49,000 --> 00:22:49,590 Мы пачнем там. 490 00:22:49,590 --> 00:22:51,270 Так функцыя павінна што-небудзь зрабіць. 491 00:22:51,270 --> 00:22:55,160 Так што гэта кавалак кода, які па сутнасці рэалізаваны ў іншым месцы, што 492 00:22:55,160 --> 00:22:56,620 сапраўды нешта робіць. 493 00:22:56,620 --> 00:23:00,180 Цяпер, што цікава аб функцыі з'яўляецца тое, што ён можа прыняць ўвод, 494 00:23:00,180 --> 00:23:02,710 і яна можа вырабіць выхад. 495 00:23:02,710 --> 00:23:05,090 І давайце на самай справе ўзяць Паглядзі на гэта. 496 00:23:05,090 --> 00:23:09,030 >> Так Чалавек за шырмай было наўмысным хвіліну таму. 497 00:23:09,030 --> 00:23:10,320 Тут у нас ёсць табліца. 498 00:23:10,320 --> 00:23:13,010 Але выкажам здагадку, што гэта на самай справе ўяўляе сабой вялікі скрыню. 499 00:23:13,010 --> 00:23:14,940 Такім чынам, гэта так званы чорны скрыню. 500 00:23:14,940 --> 00:23:19,800 І наогул, у канструкцыі, у кампутар навукі, чорныя скрыні проста спаслацца на 501 00:23:19,800 --> 00:23:22,510 функцыянальныя часткі, што нехта рэалізаваў, а вы няма 502 00:23:22,510 --> 00:23:26,140 абавязкова ведаць, ці ўсё роўна, як гэта рэалізаваны пад капотам. 503 00:23:26,140 --> 00:23:28,960 Вы проста ўсё роўна, што гэта чорны скрыню, які мы зараз пачаць называць 504 00:23:28,960 --> 00:23:30,730 функцыі, робіць што-то. 505 00:23:30,730 --> 00:23:34,710 >> Так, напрыклад, калі гэта чорная скрыня на этапе тут прадстаўляе Е, 506 00:23:34,710 --> 00:23:38,040 функцыі, я ведаю з папярэдніх прыкладаў Е, што прымае адзін або некалькі 507 00:23:38,040 --> 00:23:40,910 аргументаў, прычым першы з іх Аргументы павінны быць радком, як і 508 00:23:40,910 --> 00:23:44,780 "Hello, World". Ну, калі я чалавек напісання праграмы, і я хачу 509 00:23:44,780 --> 00:23:50,460 выкарыстоўваць Е, Я, напрыклад, можа ўзяць кавалак чыстай паперы тут і 510 00:23:50,460 --> 00:23:55,060 чорны маркер і напішы на ім - 511 00:23:55,060 --> 00:23:56,580 Я няправільна "Мір" - 512 00:23:56,580 --> 00:23:59,560 H-E-L-L-высновы. 513 00:23:59,560 --> 00:24:04,220 >> Так што я вазьму мой чорны маркер і я буду пісаць, як вялікі і разборліва, як я магу на 514 00:24:04,220 --> 00:24:07,260 гэтая паперка, "Hello, World", і Цяпер я сцвярджаю, гэта мой аргумент. 515 00:24:07,260 --> 00:24:09,740 Гэта радок прадстаўлена ліст белай паперы. 516 00:24:09,740 --> 00:24:13,030 І мой ўклад цяпер да функцыі Е будзе гэтага. 517 00:24:13,030 --> 00:24:18,250 Так я называю Е, праходзячы Аргумент, што ў якасці ўнёску ў яго. 518 00:24:18,250 --> 00:24:22,110 519 00:24:22,110 --> 00:24:26,740 >> І зараз, я не ведаю, як чалавек, які напісаў Е зрабіў гэта гадоў таму, але 520 00:24:26,740 --> 00:24:31,110 Я ведаю ад свайго дакументацыі, яго мэта ў жыцці, каб надрукаваць тое, што я 521 00:24:31,110 --> 00:24:34,410 падае яго ў якасці ўваходных дадзеных. 522 00:24:34,410 --> 00:24:40,630 І таму, хоць гэтая рэалізацыя гэта без майго ведама 523 00:24:40,630 --> 00:24:44,170 пад капотам, у цяперашні час Я бачу, о, гэта робіцца. 524 00:24:44,170 --> 00:24:45,740 Ён нешта на экране. 525 00:24:45,740 --> 00:24:49,070 І ў цяперашні час кантралююць праграмы, калі ёсць былі некалькі радкоў кода, будзе 526 00:24:49,070 --> 00:24:51,070 ўжо вярнуліся да мяне. 527 00:24:51,070 --> 00:24:52,290 І таму той факт, што Колтон - 528 00:24:52,290 --> 00:24:55,370 дабраславіць яго сэрца, хаваецца тут пад стол перад усімі вамі - 529 00:24:55,370 --> 00:24:59,530 з'яўляецца наўмысным ў гэтым я не ведаю, і я не хвалюе, як Е з'яўляецца 530 00:24:59,530 --> 00:25:00,100 рэалізаваныя. 531 00:25:00,100 --> 00:25:03,390 Я проста ведаю, зноў жа, ад яго дакументацыі, што ён робіць і як я 532 00:25:03,390 --> 00:25:05,040 я павінна яго выкарыстоўваць. 533 00:25:05,040 --> 00:25:09,140 >> Зараз, нагадаем, што Е можа атрымаць трохі больш складаным. 534 00:25:09,140 --> 00:25:12,220 Зноў жа, мы проста гаворым пра эквівалент Say Агульная для Scratch. 535 00:25:12,220 --> 00:25:14,230 Але я таксама зрабіў гэта ў мінулы раз. 536 00:25:14,230 --> 00:25:17,270 Я хацеў, каб мой прывітанне праграме трохі больш дынамічным, а не проста цяжка 537 00:25:17,270 --> 00:25:19,740 код нешта накшталт "свет", і дакладна не цяжка нешта код 538 00:25:19,740 --> 00:25:22,520 адвольнае, як D - V-I-D ў праграму. 539 00:25:22,520 --> 00:25:27,510 Я хацеў спытаць у карыстальніка яго ці яе імя, а затым зрабіць што-то з 540 00:25:27,510 --> 00:25:29,720 гэтага радка, якія яны падаюць. 541 00:25:29,720 --> 00:25:32,690 >> Такім чынам, ёсць нешта не зусім тут. Е, хвіліну назад, 542 00:25:32,690 --> 00:25:35,860 сапраўды, на самай справе, нешта зрабіць, але гэта не вярнуў мне нічога. 543 00:25:35,860 --> 00:25:36,020 Дакладна? 544 00:25:36,020 --> 00:25:38,910 Колтон ня перадаць мне нічога назад, не ліст паперы. 545 00:25:38,910 --> 00:25:40,320 Быў проста пабочны эфект. 546 00:25:40,320 --> 00:25:44,510 Мой прадастаўлення "Hello, World", як Аргумент Колтон прывяло да 547 00:25:44,510 --> 00:25:48,420 Пабочны эфект слова, некалькі слоў, якія з'яўляюцца на экране. 548 00:25:48,420 --> 00:25:51,350 >> GetString, хоць, крыху розныя. GetString таксама 549 00:25:51,350 --> 00:25:54,590 функцыю, але яна вяртае некаторы значэнне. 550 00:25:54,590 --> 00:25:56,370 Гэта не проста эстэтычны эфект боку. 551 00:25:56,370 --> 00:26:00,230 Гэта фактычна дае мне, чалавеку выклікам або з дапамогай функцыі, 552 00:26:00,230 --> 00:26:01,320 нешта наўзамен. 553 00:26:01,320 --> 00:26:05,740 Таму ў дадзеным выпадку, з'яўляецца GetString выклікаецца з адкрытым GetString 554 00:26:05,740 --> 00:26:07,510 Хлопец, побач хлопец. 555 00:26:07,510 --> 00:26:11,370 GetString Ці, такім чынам, прыняць любыя аргументы ці ўваход? 556 00:26:11,370 --> 00:26:12,340 Не, здаецца, няма. 557 00:26:12,340 --> 00:26:14,460 Яго мэта ў жыцці толькі, каб атрымаць радка. 558 00:26:14,460 --> 00:26:16,910 Ён не мае патрэбу ў больш падрабязна, чым гэта. 559 00:26:16,910 --> 00:26:20,430 Такім чынам, дазвольце мне ісці наперад і рабіць выгляд, што, Зноў жа, гэта чорны скрыня не Е, 560 00:26:20,430 --> 00:26:25,160 але GetString, і дазвольце мне, чалавеку напісання гэтай праграмы, патэлефанаваць ці выкарыстоўваць 561 00:26:25,160 --> 00:26:29,720 GetString, проста напісанне G-E-T-S-T-R-I-N-G, адкрытая дужка, побач 562 00:26:29,720 --> 00:26:32,170 Хлопец, GetString. 563 00:26:32,170 --> 00:26:36,920 >> Зараз, я паняцця не маю, як CS50 персаналу рэалізаваны GetString, але я ведаю, што 564 00:26:36,920 --> 00:26:41,240 калі я досыць доўга чакаць, ён будзе рабіць сваю рэч пад капотам, магчыма з выкарыстаннем 565 00:26:41,240 --> 00:26:44,940 некаторыя зменныя, можа быць, з дапамогай некаторых умовах, можа быць, выкарыстоўваючы некаторыя завесы, 566 00:26:44,940 --> 00:26:48,170 магчыма з выкарыстаннем некаторых функцый, магчыма з выкарыстаннем - 567 00:26:48,170 --> 00:26:52,290 проста спрабуючы затармазіць - магчыма з выкарыстаннем некаторыя іншыя функцыі праграмавання. 568 00:26:52,290 --> 00:26:55,350 Але калі я досыць доўга чакаць, - на самай справе, ў кампутары, гэта адбываецца 569 00:26:55,350 --> 00:26:56,270 супер хутка - 570 00:26:56,270 --> 00:26:59,910 калі я досыць доўга чакаць, гэтая функцыя GetString збіраецца атрымаць радок 571 00:26:59,910 --> 00:27:04,060 ад карыстальніка, які меркавана ўводу яго на сваёй клавіятуры, і 572 00:27:04,060 --> 00:27:08,090 Затым, калі вы GetString робіцца атрыманні гэтыя сімвалы ад карыстальніка 573 00:27:08,090 --> 00:27:14,080 і захоўванне іх у радок, што Функцыя, GetString, будзе мець 574 00:27:14,080 --> 00:27:17,990 гатовыя для мяне некалькі выходных якой я збіраецца атрымаць шляхам 575 00:27:17,990 --> 00:27:19,470 аператар прысвойвання. 576 00:27:19,470 --> 00:27:25,390 >> І калі я пайду, сапраўды, у выхадныя Тут Obosi шчодра 577 00:27:25,390 --> 00:27:29,900 ўдзел, не ведаючы пра гэта прасоўвання, напісаўшы сваё імя на гэтай 578 00:27:29,900 --> 00:27:33,100 зменную, якая ўяўляе радка. 579 00:27:33,100 --> 00:27:35,640 Цяпер аператар прысвойвання азначае, што нават хоць гэта можа адчуваць сябе крыху 580 00:27:35,640 --> 00:27:38,790 залішнім, я на самой справе трэба зрабіць маю ўласную копію гэтага. 581 00:27:38,790 --> 00:27:40,700 Паколькі на левай руцэ боку - воклічы! - 582 00:27:40,700 --> 00:27:45,760 Я заўважыў, што па сутнасці ёсць радок назваць на левай баку. 583 00:27:45,760 --> 00:27:48,280 Так што я таксама збіраюся зрабіць мая ўласная копія гэтага. 584 00:27:48,280 --> 00:27:50,990 І гэта крыху хлусня, таму, што мы ўбачым на працягу тыдня або двух ў 585 00:27:50,990 --> 00:27:54,100 Час, што радкі, на самай справе не тое, што яны здаюцца. 586 00:27:54,100 --> 00:27:56,700 >> Але на сённяшні дзень, вось вяртаецца значэння. 587 00:27:56,700 --> 00:28:00,160 Вось мая ўласная копія яго пасля з дапамогай аператара прысвойвання. 588 00:28:00,160 --> 00:28:01,790 А цяпер, што я хачу рабіць далей? 589 00:28:01,790 --> 00:28:04,080 Цяпер у нас ёсць другі двух радкоў кода. 590 00:28:04,080 --> 00:28:05,640 Так што я цяпер хачу называць Е. 591 00:28:05,640 --> 00:28:08,500 Давайце ўявім, што цяпер, калі чорная скрынкі зноў вярнуўся да таго, 592 00:28:08,500 --> 00:28:10,210 Е, а ня GetString. 593 00:28:10,210 --> 00:28:12,200 >> Printf на гэты раз збіраецца ўзяць, колькі аргументаў? 594 00:28:12,200 --> 00:28:14,890 595 00:28:14,890 --> 00:28:16,770 Так што глядзіце, гэта як два. 596 00:28:16,770 --> 00:28:18,860 Там дзве коскі там, але адзін з тых, коскі, гэта 597 00:28:18,860 --> 00:28:20,220 ўнутры двукоссяў. 598 00:28:20,220 --> 00:28:23,190 Такім чынам, першы аргумент літаральна будзе гэтага. 599 00:28:23,190 --> 00:28:31,850 Н-Е-Л-Л-О, коска, працэнтаў з, зваротны слэш-н. 600 00:28:31,850 --> 00:28:36,560 І цяпер я, якія забяспечваюць не адзін аргумент, але два аргументу Е. 601 00:28:36,560 --> 00:28:39,530 >> І тое, што Е павінен рабіць з гэтыя два ўваходу пасля таго, як перадаць іх у 602 00:28:39,530 --> 00:28:42,050 ў якасці аргументаў? 603 00:28:42,050 --> 00:28:45,360 Гэта, як мяркуецца прыняць другі з іх, які я назваў імя, так 604 00:28:45,360 --> 00:28:48,660 Другая частка артыкула я напісаў Хвіліну таму называецца імем. 605 00:28:48,660 --> 00:28:53,550 Гэта збіраецца штэкер значэнне ўнутры гэтай зменнай у запаўняльнік, 606 00:28:53,550 --> 00:28:58,310 % S, так што, зноў жа, усяго за імгненне час, мы ўбачым пабочны эфект 607 00:28:58,310 --> 00:29:04,180 патэлефанаваўшы Е, дзякуючы чаму зараз мы бачыць не "Hello, World", а "Добры дзень, 608 00:29:04,180 --> 00:29:04,710 Obosi ". 609 00:29:04,710 --> 00:29:08,730 >> Так вялікія апладысменты на абодва нашых валанцёраў, з якіх толькі адзін ведаў, 610 00:29:08,730 --> 00:29:12,010 гэта будзе адбывацца. 611 00:29:12,010 --> 00:29:12,990 Добра. 612 00:29:12,990 --> 00:29:16,480 Так, можа быць, проста, як гэта было, Вядома, калі вы ўжо знаёмыя 613 00:29:16,480 --> 00:29:20,190 з такімі, мы спадзяемся, вы ніколі не будзеце забываць, што візуальнае прыватнасці аб тым, як 614 00:29:20,190 --> 00:29:21,220 функцыі працуюць. 615 00:29:21,220 --> 00:29:23,000 >> Такім чынам, ёсць больш, чым проста GetString. 616 00:29:23,000 --> 00:29:26,020 Усярэдзіне CS50 бібліятэкі, ёсць цэлая куча функцый, кожная з якіх 617 00:29:26,020 --> 00:29:29,510 капитализируются толькі, каб зрабіць ясным , Якую мы напісалі гэтыя функцыі. 618 00:29:29,510 --> 00:29:33,610 Як правіла, у C, амаль кожны другі функцыі вы будзеце выкарыстоўваць у ніжнім рэгістры. 619 00:29:33,610 --> 00:29:36,190 Але мы свядома выкарыстоўваць загалоўныя літары проста даць зразумець, што гэтыя 620 00:29:36,190 --> 00:29:39,880 рыхтуем колы роду, што мы будзем выкарыстоўваць на працягу ўсяго некалькіх тыдняў, што 621 00:29:39,880 --> 00:29:42,890 спрасціць працэс атрымання ўвод ад карыстальніка. 622 00:29:42,890 --> 00:29:46,740 >> Бібліятэка CS50 нічога не робіць што вы самі не маглі зрабіць па 623 00:29:46,740 --> 00:29:50,230 толькі з дапамогай кода з C Oldschool падручніка. 624 00:29:50,230 --> 00:29:53,310 Але, зноў жа, мы выкарыстоўваем іх у якасці навучання Колы роду для ўсяго пару 625 00:29:53,310 --> 00:29:57,250 тыдняў, так што мы можам пазбавіцца ад складанасці, што вы хутка зразумееце 626 00:29:57,250 --> 00:30:00,460 сябе рабіць нешта, як адносна простыя, як атрыманне 627 00:30:00,460 --> 00:30:02,080 ўвод ад карыстальніка. 628 00:30:02,080 --> 00:30:05,540 >> Так што ведаю, што вы будзеце мець доступ да GetChar, GetDouble - 629 00:30:05,540 --> 00:30:06,050 падвоіцца. 630 00:30:06,050 --> 00:30:07,050 Як там - і тады GetFloat. 631 00:30:07,050 --> 00:30:07,600 Што такое плавае? 632 00:30:07,600 --> 00:30:09,382 Давайце пачнем там. 633 00:30:09,382 --> 00:30:10,600 >> Студэнт: [неразборліва]. 634 00:30:10,600 --> 00:30:10,790 >> DAVID малая: Да. 635 00:30:10,790 --> 00:30:12,120 Гэта лік з дзесятковай кропкай. 636 00:30:12,120 --> 00:30:15,930 Так што хоць цэлалікавай з'яўляецца цэлым лікам, якое проста нумар з 0 да 9, 637 00:30:15,930 --> 00:30:18,940 некаторага колькасці паўтораў гэтага, Паплавок нешта 638 00:30:18,940 --> 00:30:20,100 з коскі. 639 00:30:20,100 --> 00:30:26,090 І двайны, тым часам, таксама лік з дзесятковай кропкай, але больш 640 00:30:26,090 --> 00:30:28,160 лічбы пасля дзесятковай кропкі, патэнцыйна. 641 00:30:28,160 --> 00:30:30,040 >> Такім чынам, мы вернемся да гэтага ў бліжэйшы час. 642 00:30:30,040 --> 00:30:34,560 Але, як правіла, кожны з гэтых тыпаў Дадзеныя, кожны з гэтых тыпаў зменных 643 00:30:34,560 --> 00:30:39,380 што бібліятэка, як наша можа вярнуцца да Вы, выкарыстанне рознага колькасці бітаў 644 00:30:39,380 --> 00:30:40,290 захоўвання інфармацыі. 645 00:30:40,290 --> 00:30:43,910 Як правіла, Чары, якая проста азначае, адзін знак, выкарыстоўвае 8 біт. 646 00:30:43,910 --> 00:30:47,490 І што на самой справе ў адпаведнасці з нашымі Байт добраахвотнікаў мінулым тыдні хто 647 00:30:47,490 --> 00:30:50,410 падышоў і ўяўляе сабой адну Знакаў ASCII адначасова. 648 00:30:50,410 --> 00:30:51,850 Так Char роўны 8 бітам. 649 00:30:51,850 --> 00:30:54,430 >> Паплавок, здараецца, 32 біт, звычайна. 650 00:30:54,430 --> 00:30:59,230 І двайны, як няцяжка здагадацца, з'яўляецца на самай справе 64 біт, што проста больш, 651 00:30:59,230 --> 00:31:01,360 якая азначае, што вы можаце мець больш нумара або большай дакладнасці. 652 00:31:01,360 --> 00:31:03,000 Але зноў жа, пра гэта ў іншы раз. 653 00:31:03,000 --> 00:31:06,550 GetLongLong, тым часам, хоць глупствам называецца, на самай справе проста 654 00:31:06,550 --> 00:31:10,770 цэлы лік, якое ў два разы большыя, у два разы доўга, магчыма, як звычайны 655 00:31:10,770 --> 00:31:12,940 цэлае, 64 біта замест 32. 656 00:31:12,940 --> 00:31:14,560 І GetString мы выкарыстоўвалі. 657 00:31:14,560 --> 00:31:18,870 >> Але, аказваецца, у бібліятэцы CS50, якая рэалізуецца, як мы ўбачым, у 658 00:31:18,870 --> 00:31:23,560 выглядзе двух файлаў, адзін з якіх называецца cs50.h, ёсць два іншых 659 00:31:23,560 --> 00:31:24,770 Тыпы дадзеных у ім. 660 00:31:24,770 --> 00:31:29,700 Булевы не існуюць у C. Вы можаце мадэляваць іх толькі з дапамогай 0 і 1 661 00:31:29,700 --> 00:31:30,850 ўсёй вашай праграмы. 662 00:31:30,850 --> 00:31:35,500 Але мы ў CS50 стварылі бібліятэку Сімвалы "праўдзівай" і "ілжывай" 663 00:31:35,500 --> 00:31:38,580 для прадстаўлення 1 і 0, таму вам не ёсць што-то на жорсткі код 664 00:31:38,580 --> 00:31:39,810 літаральна як 1 і 0. 665 00:31:39,810 --> 00:31:40,980 Але мы ўбачым тыя зноў. 666 00:31:40,980 --> 00:31:42,330 >> String, таксама не існуе. 667 00:31:42,330 --> 00:31:44,520 І менавіта таму я згадаў гэта трохі хлусня на дадзены момант. 668 00:31:44,520 --> 00:31:46,660 Але мы будзем адхіліце, што пласта ў хуткім часе. 669 00:31:46,660 --> 00:31:49,540 Але цяпер, радок паслядоўнасць знакаў. 670 00:31:49,540 --> 00:31:51,790 >> Між тым, у C, вы сапраўды маюць розныя тыпы дадзеных. 671 00:31:51,790 --> 00:31:53,200 Звярніце ўвагу на гэтыя пішуцца малымі літарамі. 672 00:31:53,200 --> 00:31:56,960 Такім чынам, функцыі, якія вы бачылі хвіліну назад -Функцыі, напісаныя CS50, што 673 00:31:56,960 --> 00:32:02,310 вернецца да вас значэнне, якое падае ў адну з гэтых катэгорый. 674 00:32:02,310 --> 00:32:06,730 >> Пару лістоў чыць проста пасадзіць насення тут. Е не проста 675 00:32:06,730 --> 00:32:08,600 прыняць% S ў якасці запаўняльнікаў. 676 00:32:08,600 --> 00:32:13,490 Ён прымае% D для дзесятковых лікаў, або% Я б працаваць таксама. 677 00:32:13,490 --> 00:32:19,450 % F з'яўляецца якая плавае кропкай. % З для сімвал, калі вы хочаце проста падлучыць адзін 678 00:32:19,450 --> 00:32:23,510 знакаў у радку адфарматаваны як мы рабілі, вы можаце выкарыстоўваць% С. 679 00:32:23,510 --> 00:32:28,490 >> А потым, трохі прыкра,% LLD з'яўляецца на працягу доўгага, доўгія цэлыя дзесятковыя, 680 00:32:28,490 --> 00:32:31,050 які проста азначае, што калі вам патрэбен сапраўды вялікая колькасць і вы выкарыстоўваеце нешта 681 00:32:31,050 --> 00:32:35,450 называецца вельмі доўга, што мы прыедзем таму ў PSET, вы можаце выкарыстоўваць% LLD да 682 00:32:35,450 --> 00:32:40,700 скажыце Е, падключыць сапраўды вялікі цэлае тут у якасці свайго другога або 683 00:32:40,700 --> 00:32:41,830 некаторыя іншыя аргументы. 684 00:32:41,830 --> 00:32:45,700 >> І, нарэшце, я абяцаў, што ёсць некалькі іншых ўцёкі 685 00:32:45,700 --> 00:32:47,670 паслядоўнасцяў, Е падтрымлівае. 686 00:32:47,670 --> 00:32:49,160 Мы бачылі зваротны слэш-н. 687 00:32:49,160 --> 00:32:50,510 Зваротная касая рыса-R вы можаце ўбачыць. 688 00:32:50,510 --> 00:32:51,780 Гэта накшталт старой школы рэч. 689 00:32:51,780 --> 00:32:55,920 Калі вы калі-небудзь выкарыстоўвалі рэальныя гадоў пішучая машынка назад, і вы выцягнулі на дзяржальні 690 00:32:55,920 --> 00:32:59,810 якія не толькі круціла кола перамесціце лінейку, ён таксама пераехаў 691 00:32:59,810 --> 00:33:03,730 Усё гэта ўвесь шлях назад да левай, ну, зваротны слеш-R проста 692 00:33:03,730 --> 00:33:06,480 істотна перамяшчае курсор назад ў пачатку лініі 693 00:33:06,480 --> 00:33:07,830 ня рухаючы яго ўніз. 694 00:33:07,830 --> 00:33:09,780 Але зноў жа, пра гэта, Можа быць, у будучыні. 695 00:33:09,780 --> 00:33:13,670 >> Зваротная касая рыса двукоссі, зваротны слэш-падвойныя двукоссі, зваротны слеш-слеш 696 00:33:13,670 --> 00:33:16,600 Рашэнне маленькія загадкі Я згадваў раней. 697 00:33:16,600 --> 00:33:18,920 І зваротны слеш-0 на самай справе даволі цікава. 698 00:33:18,920 --> 00:33:21,470 Але мы вернемся да што ў хуткім часе. 699 00:33:21,470 --> 00:33:25,640 >> Такім чынам, дазвольце мне ўвайсці, зараз, CS50 прылады, і давай на самай справе 700 00:33:25,640 --> 00:33:28,930 Хуткі падагрэў з адным з прыкладаў мы ўжо і затым перайсці да 701 00:33:28,930 --> 00:33:31,160 нешта крыху больш складаным. 702 00:33:31,160 --> 00:33:34,980 Так што калі я адкрываю маю праграму называецца Gedit - 703 00:33:34,980 --> 00:33:36,840 гэта мой графічны рэдактар. 704 00:33:36,840 --> 00:33:38,460 І я магу зрабіць гэта - 705 00:33:38,460 --> 00:33:39,820 Дазвольце мне зачыніць гэта акно там - 706 00:33:39,820 --> 00:33:42,720 шляхам гэтага абраза тут, унізе, Gedit, у левым ніжнім 707 00:33:42,720 --> 00:33:44,170 куце побач з меню. 708 00:33:44,170 --> 00:33:48,670 >> Я збіраюся ісці наперад і наперад, і захаваць у гэтым прыкладзе, скажам, Джона 709 00:33:48,670 --> 00:33:49,660 Гарвард тэчку. 710 00:33:49,660 --> 00:33:52,690 Тэчка Джон Гарвард, усяго дома яго каталог, у якім усё яго файлы жыць 711 00:33:52,690 --> 00:33:53,340 па змаўчанні. 712 00:33:53,340 --> 00:33:58,410 І я іду, каб выратаваць гэта як файл з імем Hello-0.c. 713 00:33:58,410 --> 00:34:01,260 І я выбраў гэта імя проста так, лініі з узорам кода на 714 00:34:01,260 --> 00:34:04,210 Вядома аўтара і ў YouTube відэа ў Інтэрнэце. 715 00:34:04,210 --> 00:34:06,320 >> Так што цяпер я збіраюся пачаць напісаць сваю першую праграму. 716 00:34:06,320 --> 00:34:08,469 Дазвольце мне для павелічэння пераборлівасці. 717 00:34:08,469 --> 00:34:12,760 І я збіраюся ісці наперад і сказаць дзесятковага Асноўны пустата, якую проста так 718 00:34:12,760 --> 00:34:14,900 жоўты кавалак галаваломкі, якія запускае праграму. 719 00:34:14,900 --> 00:34:18,290 Я атрымаў у звычку за гадоў адкрыцця майго фігурнай дужкі, то 720 00:34:18,290 --> 00:34:22,000 Таксама яго закрыцця, а затым вяртаючыся да дзе я хачу паставіць мой код, проста 721 00:34:22,000 --> 00:34:24,630 , Таму што гэта дапамагае мне трымаць усё збалансаваным, тым больш, што мая 722 00:34:24,630 --> 00:34:25,880 Праграма атрымлівае доўгае. 723 00:34:25,880 --> 00:34:29,239 >> І цяпер, тут, я збіраюся ісці наперад і сказаць, Е, у двукоссі, 724 00:34:29,239 --> 00:34:34,330 прывітанне свет, зваротны слэш-н, недалёка цытаты, якая зачыняе дужку, кропка з коскі. 725 00:34:34,330 --> 00:34:38,100 Так што я проста паўтараў усё, што мы прымаюць як належнае да гэтага часу. 726 00:34:38,100 --> 00:34:39,270 Цяпер я збіраюся, каб паменшыць маштаб. 727 00:34:39,270 --> 00:34:43,030 >> І гэта акно тэрмінала тут, што ці магу я зрабіць у гэтай чорнай 728 00:34:43,030 --> 00:34:44,389 і белае акно? 729 00:34:44,389 --> 00:34:46,977 Што я магу яго выкарыстоўваць? 730 00:34:46,977 --> 00:34:49,770 Дык вось дзе я бягу каманды і дзе я магу скампіляваць некаторыя рэчы. 731 00:34:49,770 --> 00:34:50,620 І я збіраюся зрабіць яго простым. 732 00:34:50,620 --> 00:34:52,780 Я збіраюся выкарыстоўваць праграму называецца марка, якая ня 733 00:34:52,780 --> 00:34:54,020 Тэхнічна кампілятара. 734 00:34:54,020 --> 00:34:56,360 Называецца кампілятара Clang, але мы вернемся да гэтага праз 735 00:34:56,360 --> 00:34:57,190 тыдзень ці два час. 736 00:34:57,190 --> 00:35:03,410 >> На дадзены момант, я проста хачу, каб тып Марка прывітанне-0, але тыя з вас, хто 737 00:35:03,410 --> 00:35:07,050 параўнання ў вашых розумах, што я толькі набралі да таго, што я павінен быў набраны можа 738 00:35:07,050 --> 00:35:10,180 ўжо ведаеце, што я зрабіў нешта тут не так. 739 00:35:10,180 --> 00:35:12,160 Зараз, ёсць выразна некаторыя памылкі. 740 00:35:12,160 --> 00:35:16,742 Перш, чым я нават глядзець на тое, што яны, у любы думкі пра тое, што я зрабіў не так? 741 00:35:16,742 --> 00:35:18,590 >> СТУДЭНТЫ: [прамежкавае VOICES]. 742 00:35:18,590 --> 00:35:18,840 >> DAVID малая: Да. 743 00:35:18,840 --> 00:35:20,640 Мне не хапае загалоўка файла бібліятэкі. 744 00:35:20,640 --> 00:35:24,240 Любы з іх. Файлаў г называюць загаловак файлы, а яны ўсе разам 745 00:35:24,240 --> 00:35:25,680 належаць рэчы называюцца бібліятэкамі. 746 00:35:25,680 --> 00:35:28,030 Бібліятэкі проста кавалкі кода што іншыя людзі напісалі. 747 00:35:28,030 --> 00:35:32,140 Такім чынам, стандартны [? Я?] Бібліятэка калекцыю файлаў, якія змяшчаюць код 748 00:35:32,140 --> 00:35:33,330 што іншыя людзі напісалі. 749 00:35:33,330 --> 00:35:34,820 >> Так што мне не хапае гэтага. 750 00:35:34,820 --> 00:35:36,520 Такім чынам, чаму я атрымліваю паведамленне пра памылку? 751 00:35:36,520 --> 00:35:40,840 Ну, дазвольце мне пракруціць таму ў маё акно тэрмінала тут. 752 00:35:40,840 --> 00:35:44,310 І, на жаль, у C, а ў вялікай колькасці Мовы праграмавання, асабліва 753 00:35:44,310 --> 00:35:47,830 Калі ўсё гэта для вас у навінку, памылка паведамленні дакладныя, але яны таксама 754 00:35:47,830 --> 00:35:48,620 даволі загадкавым. 755 00:35:48,620 --> 00:35:51,720 І памылкі тут, у чырвоным, з'яўляецца "Няяўных аб'яўленні бібліятэчнай функцыі 756 00:35:51,720 --> 00:35:57,660 Е з тыпам ", а затым яна пракручваецца на наступны радок, «INT будаўніцтва сімвал *, 757 00:35:57,660 --> 00:36:00,220 ... "Гэта проста становіцца сапраўды Пераважная хутка. 758 00:36:00,220 --> 00:36:04,420 >> Але тое, што вы павінны пачаць рабіць, калі, зноў жа, новыя на ўсё гэта, гэта проста 759 00:36:04,420 --> 00:36:06,010 пачынаюць шукаць па ключавых словах. 760 00:36:06,010 --> 00:36:08,770 Відавочна, што я не мог зразумець палову слоў я бачу толькі пакуль. 761 00:36:08,770 --> 00:36:10,140 Вы будзеце, тым не менш, у тыднёвы тэрмін. 762 00:36:10,140 --> 00:36:11,230 Але я бачу, Е. 763 00:36:11,230 --> 00:36:14,310 І гэта павінна пачацца, у хуткім часе, каб бегаць памяці, усё ў парадку, Е. 764 00:36:14,310 --> 00:36:15,210 Нешта не так з Я. 765 00:36:15,210 --> 00:36:16,580 Хіба я запісаць гэта так? 766 00:36:16,580 --> 00:36:18,130 Не, гэта не падобна - а. 767 00:36:18,130 --> 00:36:21,350 Я не магу выкарыстоўваць яго, калі я не навучыць кампілятара, што ён існуе. 768 00:36:21,350 --> 00:36:25,220 І так, зноў жа, ісці з вашым інстынктам, нават калі вы на самой справе не разумеюць 769 00:36:25,220 --> 00:36:26,510 фактычныя паведамленні пра памылкі. 770 00:36:26,510 --> 00:36:30,240 >> І сапраўды, рашэннем тут з'яўляецца проста ўключыць яго ў верхняй частцы файла 771 00:36:30,240 --> 00:36:34,340 так, Пересохранение мой файл з Control-S або ў меню Файл. 772 00:36:34,340 --> 00:36:36,730 І калі я зараз вярнуся сюды, Я збіраюся ачысціць гэта. 773 00:36:36,730 --> 00:36:39,150 Control-L з'яўляецца проста добры спосаб Для ачысткі экрана. 774 00:36:39,150 --> 00:36:44,870 А потым я збіраюся набраць "зрабіць прывітанне 0 "Enter, і цяпер я ўсё яшчэ бачу 775 00:36:44,870 --> 00:36:47,710 загадкавыя паслядоўнасць знакаў, але мы вернемся да гэтага. 776 00:36:47,710 --> 00:36:49,230 Гэта тое, што робіць робіць для вас. 777 00:36:49,230 --> 00:36:52,590 Гэта аўтаматызацыя працэсу прыняцця даволі раздражняльным удзелам каманд 778 00:36:52,590 --> 00:36:54,050 Clang, фактычнае кампілятара. 779 00:36:54,050 --> 00:36:57,460 Але тое, што ў мяне няма памылкі азначае, што гэтая рэч павінна працаваць. 780 00:36:57,460 --> 00:37:00,630 >> Так што я зараз збіраюся зрабіць - Дазвольце мне яшчэ раз павялічыць - 781 00:37:00,630 --> 00:37:07,070 ./hello-0 Enter, ды і наогул, я бачу, "Hello, World". Такім чынам, давайце павышэння 782 00:37:07,070 --> 00:37:12,105 гэта вельмі няшмат проста паўтарыць крокі, якія мы прызначаныя. 783 00:37:12,105 --> 00:37:15,370 Я збіраюся перайменаваць гэты з Захаваць як, каб hello1.c. 784 00:37:15,370 --> 00:37:20,300 А цяпер я збіраюся абвясціць зменную называецца імя, так што імя радкі, 785 00:37:20,300 --> 00:37:23,420 і я збіраюся пакласці ў яго Значэнне катыровак канец цытаты 786 00:37:23,420 --> 00:37:27,030 D - V-I-D буйным цытатай коскі. 787 00:37:27,030 --> 00:37:31,150 І цяпер я збіраюся замяніць "Мір" з тым, што запаўняльнік для радкі? 788 00:37:31,150 --> 00:37:32,200 % S. 789 00:37:32,200 --> 00:37:35,040 >> А цяпер, колькі аргументы павінны Е ўзяць на гэты раз? 790 00:37:35,040 --> 00:37:35,700 Так два. 791 00:37:35,700 --> 00:37:37,090 Так што я выходжу на вуліцу з цытат. 792 00:37:37,090 --> 00:37:39,330 Я тыпу "імя" пасля коскі. 793 00:37:39,330 --> 00:37:41,550 Але я зрабіў што-то яшчэ так на гэты раз. 794 00:37:41,550 --> 00:37:43,940 Але давайце выкажам здагадку, што я не зрабіў разумею, што яшчэ. 795 00:37:43,940 --> 00:37:44,910 Адпусці мяне тут. 796 00:37:44,910 --> 00:37:48,850 >> І заўважце, таксама, я атрымліваю трохі сумна набраўшы "0 прывітанне зрабіць" усё 797 00:37:48,850 --> 00:37:50,180 час, "рабіць" і ўсё гэта. 798 00:37:50,180 --> 00:37:53,270 Такім чынам, аказваецца, у Лінус вы можаце часта біла стрэлку уверх на вашым 799 00:37:53,270 --> 00:37:56,850 клавіятура, і вы можаце фактычна пракруткі праз усе каманды, якія я 800 00:37:56,850 --> 00:37:58,830 выкананы папярэднія цяпер і зоймемся. 801 00:37:58,830 --> 00:38:02,040 Так што, калі я гэта зраблю, уверх, уверх, ёсць зрабіць прывітанне 0. 802 00:38:02,040 --> 00:38:02,610 Я не хачу гэтага. 803 00:38:02,610 --> 00:38:05,450 Я проста хачу, каб змяніць гэта, каб прывітанне 1 на гэты раз, Enter. 804 00:38:05,450 --> 00:38:07,620 У рэшце рэшт, што будзе зэканоміць ваш час. 805 00:38:07,620 --> 00:38:08,150 >> Добра. 806 00:38:08,150 --> 00:38:09,520 На жаль, ёсць памылка. 807 00:38:09,520 --> 00:38:10,980 Такім чынам, дазвольце мне пракруткі ўверх. 808 00:38:10,980 --> 00:38:13,120 Гэта выглядае як я сапраўды выразалі гэтай праграмы. 809 00:38:13,120 --> 00:38:16,530 Я маю на ўвазе, мой бог, гэта два радкі кода, і 10 радкоў памылак. 810 00:38:16,530 --> 00:38:18,800 Але паглядзіце на верхні першы. 811 00:38:18,800 --> 00:38:21,640 Выкарыстанне неаб'яўленай радкі ідэнтыфікатара. 812 00:38:21,640 --> 00:38:23,270 Я меў на ўвазе стандартныя I N? 813 00:38:23,270 --> 00:38:23,930 Не, я гэтага не зрабіў. 814 00:38:23,930 --> 00:38:24,940 Я меў на ўвазе радка. 815 00:38:24,940 --> 00:38:29,390 >> Але дзе ж радковым зменнай тып, абвешчаны, дд мы можам сказаць? 816 00:38:29,390 --> 00:38:30,730 Так што гэта ў CS50 бібліятэкі. 817 00:38:30,730 --> 00:38:33,740 Так што не хапае, у гэтых першых пару тыдняў проста выкарыстоўваць 818 00:38:33,740 --> 00:38:34,860 C, што дае нам. 819 00:38:34,860 --> 00:38:38,120 Я таксама збіраюся падняцца тут, і я мог бы паставіць яго вышэй або ніжэй, але я буду 820 00:38:38,120 --> 00:38:40,340 проста трымаць яго алфавітным каб трымаць рэчы упорядоченно. 821 00:38:40,340 --> 00:38:43,470 Я збіраюся ўключыць cs50.h, які папярэдне ўсталяванай для 822 00:38:43,470 --> 00:38:44,900 Вы на CS50 прыбора. 823 00:38:44,900 --> 00:38:47,640 І гэта з адкрытым зыходным кодам, так што нават людзі ў Інтэрнэце, можа выкарыстоўваць яго на сваіх 824 00:38:47,640 --> 00:38:48,450 ўласных кампутараў. 825 00:38:48,450 --> 00:38:50,700 Але гэта прыходзіць з CS50 прыбора. 826 00:38:50,700 --> 00:38:55,320 >> Так што цяпер дазвольце мне вярнуцца і перакампіляваць зрабіць гэта з 1 прывітанне. 827 00:38:55,320 --> 00:38:55,710 Чорт вазьмі. 828 00:38:55,710 --> 00:38:57,240 Яшчэ адной памылкай. 829 00:38:57,240 --> 00:38:59,370 Дазвольце мне прагортку да першага, усё ж. 830 00:38:59,370 --> 00:39:00,630 Гэта адно гэта крыху складаным. 831 00:39:00,630 --> 00:39:03,830 Многосимвольные знакавая канстанта. 832 00:39:03,830 --> 00:39:04,890 Гэта не дапамагае мне. 833 00:39:04,890 --> 00:39:08,220 Але звярніце ўвагу, Clang, па меншай меры трохі трохі прыстойны, прычым з невялікім 834 00:39:08,220 --> 00:39:11,890 зялёныя ўстаўкі сімвала, ён кажа: вось дзе я аблажаўся. 835 00:39:11,890 --> 00:39:16,160 Чаму гэта паказвае, з гэтай маленькай зялёная стрэлка, на наступны адзінарныя двукоссі 836 00:39:16,160 --> 00:39:18,290 на маё імя? 837 00:39:18,290 --> 00:39:20,880 >> Так што гэта адна з рэчаў, якія вы проста прывыкнуць, асабліва калі вы былі 838 00:39:20,880 --> 00:39:23,980 праграмаванне на Python ці JavaScript, або іншых мовах, дзе гэтая дэталь 839 00:39:23,980 --> 00:39:24,560 не мае значэння. 840 00:39:24,560 --> 00:39:25,740 У C, гэта мае значэнне. 841 00:39:25,740 --> 00:39:29,520 Калі вы аб'яўляеце радок, якая з'яўляецца паслядоўнасцю 0 або больш сімвалаў 842 00:39:29,520 --> 00:39:32,280 вы на самой справе павінны выкарыстоўваць падвойныя двукоссі. 843 00:39:32,280 --> 00:39:36,670 Так што я на самой справе трэба, каб змяніць гэта таму , Каб адкрыць цытаты, цытаты блізка, з 844 00:39:36,670 --> 00:39:37,800 падвойныя двукоссі. 845 00:39:37,800 --> 00:39:41,610 Адзінкавыя двукоссі, маюць сваё месца, але толькі тады, калі вы выкарыстоўваеце асобныя 846 00:39:41,610 --> 00:39:44,100 сімвалы, але пра гэта ў іншы раз. 847 00:39:44,100 --> 00:39:46,550 У цяперашні час, двайныя двукоссі неабходныя. 848 00:39:46,550 --> 00:39:50,460 >> Так што цяпер, дазвольце мне вярнуцца да маёй тэрмінала вокны, пераканайцеся, прывітанне 1. 849 00:39:50,460 --> 00:39:51,450 А хто ўпэўнены? 850 00:39:51,450 --> 00:39:53,800 Гэтая праграма цяпер збіраюся правільнай кампіляцыі? 851 00:39:53,800 --> 00:39:58,250 852 00:39:58,250 --> 00:39:58,540 ОК. 853 00:39:58,540 --> 00:39:59,780 Так ўтрох думаю, што гэта. 854 00:39:59,780 --> 00:40:00,280 Добра. 855 00:40:00,280 --> 00:40:01,190 Enter. 856 00:40:01,190 --> 00:40:02,440 І гэта на самай справе. 857 00:40:02,440 --> 00:40:05,130 Так што няма ніякай памылкі ў цяперашнім часе, нават хоць гэтай праграмы атрымалі трохі 858 00:40:05,130 --> 00:40:05,840 больш складаным. 859 00:40:05,840 --> 00:40:10,110 Калі я зараз кропка слэш прывітанне 1, Enter, ён збіраецца сказаць "прывітанне, Дэвід". 860 00:40:10,110 --> 00:40:11,750 >> Але давайце зробім трэцяй ітэрацыі Па гэтай якім 861 00:40:11,750 --> 00:40:13,380 праграма па сапраўднаму дынамічным. 862 00:40:13,380 --> 00:40:16,770 Дазвольце мне пайсці далей і змяніць файл імя, толькі для ўзгодненасці з 863 00:40:16,770 --> 00:40:20,410 файлы, якія вы будзеце мець у сваім распараджэнні Вам потым у Інтэрнэце. 864 00:40:20,410 --> 00:40:21,620 Enter. 865 00:40:21,620 --> 00:40:25,510 А цяпер я пайду, а не ў Крама "David" жорстка тут. 866 00:40:25,510 --> 00:40:28,826 Што я мог зрабіць, каб вельмі проста палепшыць гэтую праграму? 867 00:40:28,826 --> 00:40:30,520 >> Я магу патэлефанаваць GetString. 868 00:40:30,520 --> 00:40:33,240 Гэта можа быць трохі невідавочны што павінна адбыцца, так што я збіраюся 869 00:40:33,240 --> 00:40:38,470 на самай справе дадаць яшчэ адну лінію, Е, і сказаць назва, тоўстай кішкі, блізка цытату, проста 870 00:40:38,470 --> 00:40:40,790 даць карыстачу падказку на экране. 871 00:40:40,790 --> 00:40:42,980 І цяпер я збіраюся пайсці сюды, і я збіраюся выкарыстоўваць мае клавіш. 872 00:40:42,980 --> 00:40:47,680 Я збіраюся пайсці ўверх, уверх, а таксама змяніць прывітанне прывітанне ад 1 да 2, Enter. 873 00:40:47,680 --> 00:40:49,260 І на шчасце, я раблю прагрэс. 874 00:40:49,260 --> 00:40:52,720 >> А цяпер я збіраюся пайсці ўверх расставіць усе кропкі і слэш прывітанне 875 00:40:52,720 --> 00:40:54,690 змяніць яго на 2, Enter. 876 00:40:54,690 --> 00:40:55,650 І цяпер мая праграма - 877 00:40:55,650 --> 00:40:57,700 Я Павелічэнне - становіцца Крыху прыгажэй. 878 00:40:57,700 --> 00:41:02,190 Імя будзе, скажам, Роб У гэты раз увядзіце, прывітанне, Роб. 879 00:41:02,190 --> 00:41:03,260 Мы можам зрабіць гэта зноў. 880 00:41:03,260 --> 00:41:05,360 Імя, Ларэн, Enter. 881 00:41:05,360 --> 00:41:07,820 Імя, Іосіф, Enter. 882 00:41:07,820 --> 00:41:11,596 Імя, давайце імкнуцца быць цяжка, Enter. 883 00:41:11,596 --> 00:41:12,410 Эх. 884 00:41:12,410 --> 00:41:14,680 Гэта не зусім памылка. 885 00:41:14,680 --> 00:41:16,090 Так што гэта проста трохі непрыгожа. 886 00:41:16,090 --> 00:41:18,640 Таму, магчыма, мы маглі б вырашыць гэтую ў будучыні, не цяпер. 887 00:41:18,640 --> 00:41:20,840 >> Але як бы вы інстынктыўна ісці аб рашэнні 888 00:41:20,840 --> 00:41:21,990 , Што асаблівую праблему? 889 00:41:21,990 --> 00:41:23,710 Усё гэта выглядае недарэчна. 890 00:41:23,710 --> 00:41:27,320 Як пазбегнуць рэчаў выглядаць дурное? 891 00:41:27,320 --> 00:41:29,890 Такім чынам, мы маглі б зрабіць, добра, я пачуў пару рэчаў, стан і завесы. 892 00:41:29,890 --> 00:41:33,340 Мы маглі б выкарыстоўваць, адзін, умовай, каб праверыць якая даўжыня радка 893 00:41:33,340 --> 00:41:34,190 Карыстальнік даў нам? 894 00:41:34,190 --> 00:41:37,100 І калі ён роўны 0, то гэта проста у двукоссі, яны проста націсніце Enter, затым 895 00:41:37,100 --> 00:41:38,930 магчыма, я павінен крычаць на іх і прапануе іх зноў. 896 00:41:38,930 --> 00:41:39,970 Але як заахвоціць іх зноў? 897 00:41:39,970 --> 00:41:44,230 Ну, я таксама чуў пятлю, і я не мог рабіць гэта зноў і зноў і зноў 898 00:41:44,230 --> 00:41:47,010 з дапамогай якога карыстальнік тое ж самае. 899 00:41:47,010 --> 00:41:48,880 >> Ну, давайце зробім адзін прыклад з выкарыстаннем іншага 900 00:41:48,880 --> 00:41:50,620 функцыі ў CS50 бібліятэкі. 901 00:41:50,620 --> 00:41:52,330 Дазвольце мне ў гэты файл. 902 00:41:52,330 --> 00:41:53,510 Дазвольце мне стварыць новы. 903 00:41:53,510 --> 00:41:58,510 І я буду называць яго adder.c, толькі таму, што гэта лёгка зрабіць простую арыфметыку, 904 00:41:58,510 --> 00:42:00,890 нават калі гэта будзе цалкам захапленне з тым, што вы маглі б зрабіць 905 00:42:00,890 --> 00:42:02,250 з любым сучасным кампутарам. 906 00:42:02,250 --> 00:42:03,750 >> Але дазвольце мне ісці наперад і цяпер - 907 00:42:03,750 --> 00:42:10,680 Я засвоіў свой ўрок апошняга часу - уключае cs50.h, уключыце stdio.h, унутр 908 00:42:10,680 --> 00:42:14,170 Асноўны пустэчу, якая, на дадзены момант, я проста ўзяць на сляпой веры, але мы мяркуем, што 909 00:42:14,170 --> 00:42:16,380 той зразумее, што гэта азначае, што ў хуткім часе. 910 00:42:16,380 --> 00:42:21,030 І я збіраюся нешта сказаць , Як "дайце мне Int." 911 00:42:21,030 --> 00:42:22,140 >> А цяпер, як я магу атрымаць цэлалікавай? 912 00:42:22,140 --> 00:42:26,820 Я хачу, каб у канчатковым рахунку, аб'явіць зменную называецца Х Тып Унутраныя і 913 00:42:26,820 --> 00:42:29,240 захоўваць у ім цэлы лік ад карыстальніка. 914 00:42:29,240 --> 00:42:29,970 Так, каб быў поўны рот. 915 00:42:29,970 --> 00:42:35,680 Але калі хто-небудзь хоча прапанаваць, як Я абвяшчу цэлы лік, званае X? 916 00:42:35,680 --> 00:42:36,310 Int х. 917 00:42:36,310 --> 00:42:37,430 >> Такім чынам, гэта сапраўды так проста. 918 00:42:37,430 --> 00:42:38,240 Дайце мне Int. 919 00:42:38,240 --> 00:42:39,070 Назавіце гэта х. 920 00:42:39,070 --> 00:42:40,580 Цяпер я выкарыстоўваю аператар прысвойвання. 921 00:42:40,580 --> 00:42:43,400 І як я магу захоўваць ад пакінулі значэнне карыстальнік? 922 00:42:43,400 --> 00:42:47,310 Я не хачу называць GetString, Відавочна, а GetInt. 923 00:42:47,310 --> 00:42:49,060 Любыя аргументы? 924 00:42:49,060 --> 00:42:49,350 Няма. 925 00:42:49,350 --> 00:42:51,870 Так што гэта адкрытая дужка, побач хлопец неадкладна, а затым 926 00:42:51,870 --> 00:42:53,440 кропка з коскі завяршае лінію. 927 00:42:53,440 --> 00:42:54,930 >> Цяпер дазвольце мне зрабіць гэта зноў. 928 00:42:54,930 --> 00:42:57,070 Дай мне яшчэ адзін Int. 929 00:42:57,070 --> 00:43:01,850 На гэты раз я зраблю Інтэлект, давайце называюць яго у, роўная GetInt. 930 00:43:01,850 --> 00:43:05,060 А цяпер зробім нешта супер-простыя як некаторыя матэматыкі. 931 00:43:05,060 --> 00:43:14,340 Такім чынам, Е, то сума% D з'яўляецца Месца для Int. 932 00:43:14,340 --> 00:43:20,030 І% D, перыяд, зваротны слэш-н. 933 00:43:20,030 --> 00:43:20,360 >> Добра. 934 00:43:20,360 --> 00:43:21,670 Так што гэта не на самай справе матэматыку. 935 00:43:21,670 --> 00:43:25,500 Але калі я хачу сказаць, што гэтая сума кошту плюс гэта значэнне роўна гэта 936 00:43:25,500 --> 00:43:29,320 іншае значэнне, колькі аргументаў на За ўсё я павінен даваць Е, 937 00:43:29,320 --> 00:43:30,520 у канчатковым рахунку? 938 00:43:30,520 --> 00:43:31,420 Так чатыры, праўда? 939 00:43:31,420 --> 00:43:33,790 Гэты радок, а затым тры значэння. 940 00:43:33,790 --> 00:43:37,560 Так X з'яўляецца першым я хачу быць падлучаныя першымі% D. 941 00:43:37,560 --> 00:43:39,270 Y будзе наступны. 942 00:43:39,270 --> 00:43:42,030 >> І цяпер я як бы хачу сказаць, г, але г не існуе. 943 00:43:42,030 --> 00:43:43,190 Але гэта не мае вялікага значэння. 944 00:43:43,190 --> 00:43:45,440 Таму што што б вы рабілі інстынктыўна, Асабліва, калі ў вас 945 00:43:45,440 --> 00:43:47,820 графічны калькулятар, што вы ўводзіце? 946 00:43:47,820 --> 00:43:48,760 Як наконт X плюс Y? 947 00:43:48,760 --> 00:43:50,200 Так што гэта не фактычнае зменнай. 948 00:43:50,200 --> 00:43:51,820 Гэта проста сума двух іншых зменных. 949 00:43:51,820 --> 00:43:53,170 І гэта цалкам законна. 950 00:43:53,170 --> 00:43:56,630 C вядома, разумее простыя арыфметычныя як гэта. 951 00:43:56,630 --> 00:43:58,450 >> Кропка з коскі, захавайце. 952 00:43:58,450 --> 00:44:02,080 Цяпер дазвольце мне перайсці сюды і тып Марка гадзюка, Enter. 953 00:44:02,080 --> 00:44:04,100 Няма памылкі, так што гэта таксама прагрэс. 954 00:44:04,100 --> 00:44:04,890 Калі ласка, увядзіце суматара. 955 00:44:04,890 --> 00:44:07,100 І яшчэ адно спалучэнне клавіш, калі вы пачынаеце сумаваць 956 00:44:07,100 --> 00:44:08,760 з усіх каманд - 957 00:44:08,760 --> 00:44:12,650 Калі вы пачынаеце набіраць каманду, як і кропка слэш аб'явы, а вось дзе вашыя 958 00:44:12,650 --> 00:44:16,020 нуды памірае, як правіла, можна ўдарыць Рахунак, каб мець кампутар скончыць 959 00:44:16,020 --> 00:44:20,510 адпачынку фразы для вас, калі гэта не неадназначнае, што павінна ісці пасля аб'явы. 960 00:44:20,510 --> 00:44:23,950 >> Такім чынам, дазвольце мне цяпер ісці наперад і націснуць кнопку Enter. 961 00:44:23,950 --> 00:44:27,490 Дайце мне Інтэлект, 1, 2, і На шчасце, гэта 3. 962 00:44:27,490 --> 00:44:29,900 Але, як заўсёды, тэставанне праграм не павінна зводзіцца да 963 00:44:29,900 --> 00:44:30,820 проста спрабую яго адзін раз. 964 00:44:30,820 --> 00:44:35,560 Дазвольце мне паспрабаваць куце выпадку, як і адмоўныя 1, дай мне 1, а адна 965 00:44:35,560 --> 00:44:36,210 правярае, як добра. 966 00:44:36,210 --> 00:44:38,870 І я, верагодна, хочуць зрабіць яшчэ некалькі дбайнае тэставанне, але я ўпэўнены, 967 00:44:38,870 --> 00:44:40,630 зручная з тым, дзе што знаходзіцца. 968 00:44:40,630 --> 00:44:43,110 >> Ну, а цяпер давайце паспрабуем іншай праграме што на гэты раз выкарыстоўвае 969 00:44:43,110 --> 00:44:44,620 трохі іншы сінтаксіс. 970 00:44:44,620 --> 00:44:46,100 Дазвольце мне стварыць новы файл. 971 00:44:46,100 --> 00:44:51,050 Я буду называць гэтую conditions0.c на лінію з некаторых інтэрнэт-кода. 972 00:44:51,050 --> 00:44:55,550 І дазвольце мне ісці наперад і рабіць ўключаюць cs50.h, ўключаюць 973 00:44:55,550 --> 00:45:00,320 stdio.h, у галоўным пустэчу - 974 00:45:00,320 --> 00:45:01,030 ОК. 975 00:45:01,030 --> 00:45:01,850 Там мы ідзем. 976 00:45:01,850 --> 00:45:03,010 У нас ёсць стандартныя шаблонныя. 977 00:45:03,010 --> 00:45:08,170 >> І на гэты раз я збіраюся сказаць, Е, "Я хацеў бы Інтэрнэшнл, калі ласка", проста каб 978 00:45:08,170 --> 00:45:10,030 зрабіць запрашэння трохі больш добразычлівымі. 979 00:45:10,030 --> 00:45:11,620 А цяпер я хачу, каб атрымаць Int ад карыстальніка. 980 00:45:11,620 --> 00:45:15,010 Я буду называць яго N на гэты раз, проста таму N гучыць як колькасці. 981 00:45:15,010 --> 00:45:18,140 GetInt, а цяпер, што ж Я хачу з ім рабіць? 982 00:45:18,140 --> 00:45:21,640 Ну, калі п - і я буду павелічэння - 983 00:45:21,640 --> 00:45:25,930 калі п больш 0, хачу зрабіць наступнае - 984 00:45:25,930 --> 00:45:36,060 Е "Вы выбралі станоўчае лік." У адваротным выпадку, я збіраюся ўвесці Е "Вы 985 00:45:36,060 --> 00:45:37,870 вызначаная адмоўная 986 00:45:37,870 --> 00:45:39,650 нумар ". Добра. 987 00:45:39,650 --> 00:45:44,410 Так што гэта праграма, хоць я зрабіў гэта хутка, выглядае правільна сінтаксічна. 988 00:45:44,410 --> 00:45:45,010 Дазвольце мне паспрабаваць гэта. 989 00:45:45,010 --> 00:45:46,890 Зрабіць стан 0. 990 00:45:46,890 --> 00:45:47,710 , Здаецца, працуе. 991 00:45:47,710 --> 00:45:49,230 Ўмова 0, увядзіце. 992 00:45:49,230 --> 00:45:51,910 Давайце дамо яму ИНТ 50. 993 00:45:51,910 --> 00:45:53,160 Я абраў станоўчае лік. 994 00:45:53,160 --> 00:45:54,230 Давайце паспрабуем яшчэ раз. 995 00:45:54,230 --> 00:45:54,930 Ўмова 0. 996 00:45:54,930 --> 00:45:56,260 Адмоўна 50. 997 00:45:56,260 --> 00:45:57,290 Я абраў адмоўны лік. 998 00:45:57,290 --> 00:46:00,350 >> Але цяпер, дазвольце мне выбраць тое, што мы будзем трымаць выклікам кут выпадак, якая з'яўляецца больш 999 00:46:00,350 --> 00:46:04,702 Цікавы выпадак, што вы думаеце можа даць вам некаторыя непрыемнасці, 0. 1000 00:46:04,702 --> 00:46:07,940 Зараз, я ўпэўнены, што гэта адзін з тых выпадках, калі кут нуля 1001 00:46:07,940 --> 00:46:12,330 ні станоўчай, ні адмоўнай, так што мая Праграма, хоць і ў сінтаксічна 1002 00:46:12,330 --> 00:46:15,440 Правільна - ён збірае, ён працуе - ня з'яўляецца лагічна правільным. 1003 00:46:15,440 --> 00:46:21,050 Так у чым жа тут проста выправіць, калі я хачу выявіць, калі я хачу апрацоўваць N 1004 00:46:21,050 --> 00:46:23,840 роўная 0 паасобку? 1005 00:46:23,840 --> 00:46:32,980 >> Такім чынам, калі N роўна 0, то я хачу сказаць, нешта накшталт Е "Вы выбралі 0". 1006 00:46:32,980 --> 00:46:33,990 Дазвольце мне паспрабаваць гэта цяпер. 1007 00:46:33,990 --> 00:46:38,320 Дазвольце мне вярнуцца тут, зніміце маё акно, і перакампіляваць. 1008 00:46:38,320 --> 00:46:38,690 Гектометр 1009 00:46:38,690 --> 00:46:39,770 Адна памылка генераваць. 1010 00:46:39,770 --> 00:46:41,630 Але я вы хочаце праверыць Калі N роўна 0. 1011 00:46:41,630 --> 00:46:44,230 1012 00:46:44,230 --> 00:46:47,720 >> Такім чынам, яшчэ раз, яшчэ адзін дурны каб прывыкнуць да, знак роўнасці 1013 00:46:47,720 --> 00:46:48,910 аператара прысвойвання. 1014 00:46:48,910 --> 00:46:52,240 Так гэта на самай справе памылка ў тым, тэхнічна, хоць кампілятар 1015 00:46:52,240 --> 00:46:56,450 абараняў мяне ад сябе, мы б тэхнічна капіяванні 0 у N, якія 1016 00:46:56,450 --> 00:46:57,590 не тое, што я хачу. 1017 00:46:57,590 --> 00:47:00,950 Я хачу для праверкі роўнасці з роўных роўных. 1018 00:47:00,950 --> 00:47:03,390 І так, што зараз можа быць маё лепшае рашэнне. 1019 00:47:03,390 --> 00:47:07,810 >> Дазвольце мне захаваць гэта на самай справе, як, скажам, условиях1, быць новымі і палепшанымі. 1020 00:47:07,810 --> 00:47:10,480 Так што цяпер, калі я перакампіляваць, гэта зробіць ўмовы - 1021 00:47:10,480 --> 00:47:16,960 воклічы - зрабіць условиях1 кропка слэш условиях1, Enter, "Я хацеў бы Інтэлект, 1022 00:47:16,960 --> 00:47:18,760 калі ласка. "Я збіраюся пайсці наперад і тыпу 50. 1023 00:47:18,760 --> 00:47:19,660 Ён па-ранейшаму добра. 1024 00:47:19,660 --> 00:47:21,200 Адмоўна 50, па-ранейшаму добра. 1025 00:47:21,200 --> 00:47:24,920 0, і, сапраўды, выявіў што я абраў 0. 1026 00:47:24,920 --> 00:47:28,200 >> Так што яшчэ я магу цяпер з гэтым рабіць? 1027 00:47:28,200 --> 00:47:32,280 Ну, мы можам, вядома, зрабіць больш складаныя рэчы. 1028 00:47:32,280 --> 00:47:37,240 Але тое, што я хацеў бы прапанаваць гэта што мы ў рэшце рэшт на гэтай ноце тут. 1029 00:47:37,240 --> 00:47:41,680 Калі мы цягнем гэта, вы ўбачыце, мабыць, любімы мультфільм ваш 1030 00:47:41,680 --> 00:47:43,326 да сённяшняга дня вы маглі б ніколі не разумеў. 1031 00:47:43,326 --> 00:47:46,550 1032 00:47:46,550 --> 00:47:49,520 А вось аб якасці смеху Вы павінны атрымаць з жартамі CS. 1033 00:47:49,520 --> 00:47:51,060 Дык вось аб праве. 1034 00:47:51,060 --> 00:47:54,900 >> Але яшчэ больш пераканаўча, я думаў, што дайце нам крыху тізер панядзелак. 1035 00:47:54,900 --> 00:47:56,430 Такім чынам, мы пачалі выкарыстоўваць цэлыя лікі. 1036 00:47:56,430 --> 00:47:57,510 Мы называюць паплаўкоў. 1037 00:47:57,510 --> 00:48:00,120 Мы нават называюць двухмесных, якія, зноў жа, даць вам нумары 1038 00:48:00,120 --> 00:48:01,390 пасля дзесятковай кропкі. 1039 00:48:01,390 --> 00:48:04,230 >> Але аказваецца, што і паплаўкі двухмесныя, і, на самай справе, кампутары, 1040 00:48:04,230 --> 00:48:08,470 Па сутнасці, не можа выказаць некаторыя значэння дакладна. 1041 00:48:08,470 --> 00:48:12,840 Мы ведаем з матэматыкі класаў, якія можна мець любую колькасць лікаў пасля 1042 00:48:12,840 --> 00:48:13,510 дзесятковай кропкі. 1043 00:48:13,510 --> 00:48:16,460 І вы можаце нават паставіць вертыкальную рысу сказаць, што гэтыя працягвацца вечна. 1044 00:48:16,460 --> 00:48:18,810 >> На жаль, вы не можаце сапраўды зрабіць гэта ў кампутар. 1045 00:48:18,810 --> 00:48:20,400 І такім вуглом выпадкі ўзнікаюць. 1046 00:48:20,400 --> 00:48:23,120 Напрыклад, выкажам здагадку, вы рабіць нешта фінансавых. 1047 00:48:23,120 --> 00:48:25,700 Вы робіце матэматыку з працэнты і 1048 00:48:25,700 --> 00:48:27,030 з далярамі і цэнтамі. 1049 00:48:27,030 --> 00:48:29,230 А тыя, ня цэнтаў абавязкова складзе. 1050 00:48:29,230 --> 00:48:34,120 Ну, атрымліваецца, што фракцыя пені можа пачаць складаюцца, калі 1051 00:48:34,120 --> 00:48:37,250 мадэлюецца з кампутарнай сістэмай такім чынам, што разумныя 1052 00:48:37,250 --> 00:48:39,100 людзі могуць скарыстацца. 1053 00:48:39,100 --> 00:48:42,650 >> І тыя з вас, хто не бачыў, я б б даць вам 30-секундны тізер 1054 00:48:42,650 --> 00:48:48,290 выдатны фільм вядомага як офісныя памяшканні, якія малююць карціну 1055 00:48:48,290 --> 00:48:51,205 задачы будзем вырашаць Першае, што ў панядзелак. 1056 00:48:51,205 --> 00:48:53,960 Калі б мы маглі павялічыць гучнасць трохі, я даю вам 30 1057 00:48:53,960 --> 00:48:55,495 секунд офісных плошчаў. 1058 00:48:55,495 --> 00:48:55,770 >> [Прайграванне відэа] 1059 00:48:55,770 --> 00:48:59,000 >> -Я маю на ўвазе, ты, ты не паказваць і вы атрымаеце захаваць вашу працу. 1060 00:48:59,000 --> 00:49:00,620 >> -Наогул-то, я прасоўваецца. 1061 00:49:00,620 --> 00:49:03,240 >> -Я магу запраграмаваць вірус, які б Рып, што месца ад вялікага часу. 1062 00:49:03,240 --> 00:49:04,430 >> -Ну, як гэта працуе? 1063 00:49:04,430 --> 00:49:06,782 >> -Кожны раз, калі ёсць банк здзелкі дзе працэнтныя вылічаецца, і ёсць 1064 00:49:06,782 --> 00:49:10,160 тысячы ў дзень, кампутар заканчваецца з гэтымі долямі адсотка. 1065 00:49:10,160 --> 00:49:12,030 >> -Але я не збіраюся нічога супрацьзаконнага. 1066 00:49:12,030 --> 00:49:12,660 >> -Незаконным? 1067 00:49:12,660 --> 00:49:15,075 Самір, гэта Амерыка. 1068 00:49:15,075 --> 00:49:16,570 >> -Мы павінны праўда, прабач. 1069 00:49:16,570 --> 00:49:19,070 >> -Калі ніхто не ведае пра гэта акрамя нас, усё ў парадку? 1070 00:49:19,070 --> 00:49:21,920 няма членаў сям'і, якія не сябровак, ніхто. 1071 00:49:21,920 --> 00:49:22,700 >> -Вядома. 1072 00:49:22,700 --> 00:49:23,320 >> -Згодзен. 1073 00:49:23,320 --> 00:49:24,280 >> -Не хвалюйся, хлопец. 1074 00:49:24,280 --> 00:49:25,640 Я нікому не скажу, альбо. 1075 00:49:25,640 --> 00:49:26,504 >> [КАНЕЦ ВИДЕОВОСПРОИЗВЕДЕНИЕ] 1076 00:49:26,504 --> 00:49:30,030 >> DAVID малая: Дык гэта, тады, CS50, , Якая была офісныя памяшканні, і яна будзе ўсё 1077 00:49:30,030 --> 00:49:31,465 сэнс у панядзелак. 1078 00:49:31,465 --> 00:49:33,940 Ўбачымся. 1079 00:49:33,940 --> 00:49:37,880 >> Апавядальнік: На наступным CS50, Роб падладжваецца быць ад 1080 00:49:37,880 --> 00:49:39,130 Гарвардскі харчавання. 1081 00:49:39,130 --> 00:49:56,160