1 00:00:07,830 --> 00:00:12,200 [Powered by Google Translate] DAVID малая: Гэта CS50, і гэта з'яўляецца пачаткам Тыдня 1. 2 00:00:12,200 --> 00:00:15,520 Тое, што мы думалі, што мы робім сёння, гэта паглядзець назад на 3 00:00:15,520 --> 00:00:18,290 тое, што многія з вас ужо, напэўна, прайшоў міма некаторых 4 00:00:18,290 --> 00:00:20,570 час і можа выглядаць трохі знаёмыя. 5 00:00:20,570 --> 00:00:23,720 Гэтая рэч тут, гэта, вядома, у - 6 00:00:23,720 --> 00:00:24,155 Аўдыторыя: Навука. 7 00:00:24,155 --> 00:00:26,030 DAVID малая: Навука цэнтра. 8 00:00:26,030 --> 00:00:28,940 Так што гэта на самай справе адна з першых кампутараў 9 00:00:28,940 --> 00:00:30,220 Назад з 1940-х. 10 00:00:30,220 --> 00:00:33,790 Гэта быў адзін з першых электрамеханічных кампутараў 11 00:00:33,790 --> 00:00:35,730 , Якая была здольная асабліва доўга, 12 00:00:35,730 --> 00:00:38,450 самастойнага вылічэнні, і тое, што мы на самай справе бачым у 13 00:00:38,450 --> 00:00:41,580 навуковы цэнтр толькі маленькі кавалачак гэтай рэчы. 14 00:00:41,580 --> 00:00:44,170 Тое, што мы думалі, што мы робім, то гэта зірнуць назад на відэа 15 00:00:44,170 --> 00:00:46,670 , Што было зроблена некаторы час таму, прадстаўляючы гэтую 16 00:00:46,670 --> 00:00:47,520 рэч у свеце. 17 00:00:47,520 --> 00:00:50,200 І вы ўбачыце, ад музыкі і галасы, які сапраўды тыя, 18 00:00:50,200 --> 00:00:52,070 былі вельмі шчаслівыя часы. 19 00:00:54,885 --> 00:00:59,700 >> [Прайграванне відэа] 20 00:00:59,700 --> 00:01:02,490 -Трыумф матэматычных і механічных навыкаў гэта 21 00:01:02,490 --> 00:01:06,340 вялікі новы аўтаматычны калькулятар ў Гарвардскім універсітэце. 22 00:01:06,340 --> 00:01:08,620 Складаныя праблемы матэматыкі, прапусціць праз 23 00:01:08,620 --> 00:01:12,420 Машына ў закадаваным выглядзе на стужцы, дакладна вырашана ў 24 00:01:12,420 --> 00:01:15,200 хвіліна долю часу, неабходнага для чалавека 25 00:01:15,200 --> 00:01:16,450 разлік. 26 00:01:27,050 --> 00:01:30,600 Прызначаны для паскарэння ўсіх формаў матэматычных і навуковых 27 00:01:30,600 --> 00:01:34,610 даследаванне, гіганцкі механічны мозг будзе працаваць для Арганізацыі Аб'яднаных 28 00:01:34,610 --> 00:01:36,570 Дзяржавы флота да канца вайны. 29 00:01:50,280 --> 00:01:52,980 >> DAVID малая: Так што вы можаце не ведаць, што гэта было ў 30 00:01:52,980 --> 00:01:56,310 гэта ж прылада, што тэрмін мы ўсе зараз узяць у значнай ступені 31 00:01:56,310 --> 00:01:59,300 само сабой якія разумеюцца было прыдумана, што і памылка. 32 00:01:59,300 --> 00:02:01,140 Такім чынам, адзін з інжынераў, якія працуюць у гэтым кампутары 33 00:02:01,140 --> 00:02:05,280 літаральна знайшоў маленькі матылёк ў машыне, якая прывяла 34 00:02:05,280 --> 00:02:07,580 У некаторых няправільных разлікаў. 35 00:02:07,580 --> 00:02:10,410 А так як гісторыя абвяшчае, што матылёк быў запісаны ў гэты часопіс 36 00:02:10,410 --> 00:02:14,180 Часопіс сюды, назад з 9 верасня ў 1940 годзе-то, 37 00:02:14,180 --> 00:02:16,550 і такім чынам нарадзіўся для свету тэрмін "памылка". 38 00:02:16,550 --> 00:02:19,880 Такім чынам, у далейшым мы разгледзім памылкі быць ніякай памылкі ў 39 00:02:19,880 --> 00:02:23,290 праграм, будзь то чалавека ці, у дадзеным выпадку, насякомых. 40 00:02:23,290 --> 00:02:25,030 >> Так некалькі аб'яў, як мы далей. 41 00:02:25,030 --> 00:02:29,160 Так CS50 мае традыцыю прапаноўваць абеды роду на 42 00:02:29,160 --> 00:02:31,600 Найбольш пятніцах на працягу семестра, дзе мы бярэм ад 30 да 43 00:02:31,600 --> 00:02:34,650 40 студэнтаў у агонь і лёд на плошчы для выпадковых 44 00:02:34,650 --> 00:02:36,390 балбатня, размова аб кампутарных навук, 45 00:02:36,390 --> 00:02:37,420 казаць пра будучыню. 46 00:02:37,420 --> 00:02:40,000 Мы запрашаем выпускнікоў і сяброў ад прамысловасці балбатаць 47 00:02:40,000 --> 00:02:40,690 студэнтаў. 48 00:02:40,690 --> 00:02:44,020 Сапраўды да канца робячы тое, што гэта даволі вялікі клас 49 00:02:44,020 --> 00:02:46,740 Тым больш інтымным, па меншай меры, адзін раз у той час як для 50 00:02:46,740 --> 00:02:47,710 падмноства студэнтаў. 51 00:02:47,710 --> 00:02:50,940 Так што, калі вы хочаце далучыцца да нас у гэтую пятніцу, 1:15 PM, перайдзіце да 52 00:02:50,940 --> 00:02:53,340 CS50.net/lunch для RSVP. 53 00:02:53,340 --> 00:02:55,840 І мы зробім гэта recurringly, так што не хвалюйцеся, калі вы не 54 00:02:55,840 --> 00:02:57,930 Сярод першых 30 ці каля таго на гэтым тыдні. 55 00:02:57,930 --> 00:02:59,070 >> Так пісец нот. 56 00:02:59,070 --> 00:03:01,500 Слова на рэсурсы, якія зараз пачынаюць быць даступныя 57 00:03:01,500 --> 00:03:03,040 для студэнтаў у класе. 58 00:03:03,040 --> 00:03:05,540 Так што вашыя галовы не павінны быць ўніз падчас лекцыі 59 00:03:05,540 --> 00:03:08,560 штабнаваць ўніз усё, што я кажу, і гэтак далей, тое, што мы робім 60 00:03:08,560 --> 00:03:10,765 замест гэтага забяспечыць ад прафесарска-выкладчыцкага складу 61 00:03:10,765 --> 00:03:11,920 кананічны набор нот. 62 00:03:11,920 --> 00:03:14,850 Такім чынам, мы маем адзін з нашых таварышаў навучання, Эндру Sellergren, 63 00:03:14,850 --> 00:03:17,830 хто садзіцца кожны тыдзень, агляд відэа, а затым 64 00:03:17,830 --> 00:03:19,730 запісвае тое, што мы думаем, што з'яўляецца даволі 65 00:03:19,730 --> 00:03:21,840 аўтарытэтнага набор нататак. 66 00:03:21,840 --> 00:03:24,180 А Эндру любіў, акрамя таго, паставіць элегантнага зноскі ў 67 00:03:24,180 --> 00:03:24,820 ўнізе. 68 00:03:24,820 --> 00:03:27,300 Такім чынам, вы будзеце атрымліваць асалоду ад гэтага, мы спадзяемся, у якасці даведніка для 69 00:03:27,300 --> 00:03:30,230 весела, а таксама, прыходзяць віктарыны час, як магчымасць перагледзець 70 00:03:30,230 --> 00:03:31,830 тое, што адбылося ў асобных лекцый. 71 00:03:31,830 --> 00:03:33,580 Так што тыя, якія звязаны з лекцыямі старонку. 72 00:03:33,580 --> 00:03:35,300 >> Праблема мноства 0, тым часам, выходзіць. 73 00:03:35,300 --> 00:03:37,470 І з пункту гледжання рэсурсаў, даступных для вас - 74 00:03:37,470 --> 00:03:38,020 праходжанне гульні. 75 00:03:38,020 --> 00:03:39,730 Міла правёў першае ў пятніцу. 76 00:03:39,730 --> 00:03:41,470 Ён быў зняты, пакласці сайце ў суботу. 77 00:03:41,470 --> 00:03:44,030 І так разумею, калі вы не зусім ўпэўнены, з чаго пачаць, 78 00:03:44,030 --> 00:03:47,280 для гэтай або будучай р-мностваў, заўсёды аказваюцца першымі 79 00:03:47,280 --> 00:03:49,300 Праходжанне або відэа іх. 80 00:03:49,300 --> 00:03:52,950 Секционирование ў цяперашні час; на cs50.net/section, дзе вы 81 00:03:52,950 --> 00:03:54,540 павінны прадставіць свае перавагі, калі ў вас няма 82 00:03:54,540 --> 00:03:55,880 ўжо на сённяшні дзень. 83 00:03:55,880 --> 00:03:58,140 Таму што раздзелах пачнецца ў бліжэйшую нядзелю, панядзелак 84 00:03:58,140 --> 00:03:58,760 і ў аўторак. 85 00:03:58,760 --> 00:04:02,470 Мы робім раздзелах гэтыя тры дні, кожны тыдзень 86 00:04:02,470 --> 00:04:03,870 семестра па большай частцы. 87 00:04:03,870 --> 00:04:06,600 І мы таксама прадстаўляем, зноў жа, розныя трэкі. 88 00:04:06,600 --> 00:04:08,270 Так вам будзе прапанавана на гэтай формай секционирования, калі Вы 89 00:04:08,270 --> 00:04:10,350 не бачыў яго ўжо, калі вы сярод тых, хто менш 90 00:04:10,350 --> 00:04:12,800 зручны, больш камфортным, або дзесьці пасярэдзіне. 91 00:04:12,800 --> 00:04:14,960 І калі ты накшталт на плоце, як правіла, дзесьці ў 92 00:04:14,960 --> 00:04:18,160 паміж тое, што большасць студэнтаў у канчатковым выніку праверкі. 93 00:04:18,160 --> 00:04:19,579 Гадзіны працы пачынаюцца сёння. 94 00:04:19,579 --> 00:04:23,020 >> Так драпін даволі нізкі ключ, хоць гэта цалкам натуральна 95 00:04:23,020 --> 00:04:25,300 для запуску ў розных памылак, або быць упэўнены ў тым, як 96 00:04:25,300 --> 00:04:26,550 рэалізаваць нешта. 97 00:04:26,550 --> 00:04:28,880 Так разумею, што мы пачнем працоўнага дня на гэтым тыдні. 98 00:04:28,880 --> 00:04:30,500 Яны будуць у Annenberg панядзелак, аўторак, серада, 99 00:04:30,500 --> 00:04:34,300 Чацвер, з 8:00 вечара да 11:00 вечара ў мозг перапынку. 100 00:04:34,300 --> 00:04:38,160 Верхняя classmen можаце ўвайсці, і калі вы калі-небудзь праблемы з атрыманнем 101 00:04:38,160 --> 00:04:40,720 у дзверы, таму што яны будуць пальцам, проста пагаварыць свой шлях 102 00:04:40,720 --> 00:04:42,560 У тлумачаць і вы з CS50. 103 00:04:42,560 --> 00:04:45,230 Звычайна ад 20 да 30 з нас на персанал будзе там, каб дапамагчы 104 00:04:45,230 --> 00:04:46,190 Вы адзін на адзін. 105 00:04:46,190 --> 00:04:48,980 >> Па прыбыцці ідэя заключаецца ў наступным: вы прыносіце свой ноўтбук, 106 00:04:48,980 --> 00:04:51,300 вы будзеце мець зарадная прылада, мы будзем мець дадатковыя шнуры харчавання, 107 00:04:51,300 --> 00:04:53,320 асабліва ўздоўж паўднёвай сцяны, дзе Annenberg 108 00:04:53,320 --> 00:04:55,080 ёсць шмат электрычных разетак. 109 00:04:55,080 --> 00:04:59,290 І асноўны кропкай ўваходу ў офіс гадзіны Q & А ісці на 110 00:04:59,290 --> 00:05:01,690 cs50.net/discuss і размясціць 111 00:05:01,690 --> 00:05:02,580 Ваш пытанне. 112 00:05:02,580 --> 00:05:05,600 І назваць гэта з PSET 0 або PSET 1, незалежна ад тыдня 113 00:05:05,600 --> 00:05:06,810 можа здарыцца, каб быць. 114 00:05:06,810 --> 00:05:09,240 І што тады мы будзем рабіць гэта ёсць табліца навучання стыпендыятаў 115 00:05:09,240 --> 00:05:12,040 і асістэнтаў, як правіла, 8 ці 10 ці каля таго з нас, 116 00:05:12,040 --> 00:05:14,430 перажывае, уважліва сочаць на дошцы, і 117 00:05:14,430 --> 00:05:16,810 выскубанне ад пытанняў сапраўды так хутка, як мы можам, 118 00:05:16,810 --> 00:05:19,600 спасылаючыся вам звязаных паведамленняў, калі вы не знайшлі тых, 119 00:05:19,600 --> 00:05:22,220 сябе, онлайн спасылкі, па меры неабходнасці. 120 00:05:22,220 --> 00:05:24,280 І потым, калі ёсць праблемы, так як непазбежна 121 00:05:24,280 --> 00:05:27,190 будзе, ці яна проста мае больш сэнсу, каб сесці адзін на адзін, 122 00:05:27,190 --> 00:05:28,660 працаваць праз праблемах з кімсьці. 123 00:05:28,660 --> 00:05:30,810 >> Ці вы проста прыйсці ў офіс гадзін сапраўды 124 00:05:30,810 --> 00:05:31,640 жывуць у нястачы, што мысленне. 125 00:05:31,640 --> 00:05:33,400 Вы ж не хочаце, каб прайсці праз электронную форму, 126 00:05:33,400 --> 00:05:34,410 вельмі хачу сустрэцца з кімсьці. 127 00:05:34,410 --> 00:05:37,240 Майце зносіны, што для нас, і што будзе адбывацца, калі ваш 128 00:05:37,240 --> 00:05:40,620 Пытанне быў заўважаны адным з супрацоўнікаў, і мы 129 00:05:40,620 --> 00:05:43,660 вызначыць, так, гэта павінна быць адпраўлены ў адну з 20 ці 130 00:05:43,660 --> 00:05:47,800 30 членаў каманды тут, на месцы, вы ўбачыце ў левым верхнім кутку гэтай 131 00:05:47,800 --> 00:05:51,590 мала Увядзіце чарзе кнопкі пачне міргаць cs50.net / 132 00:05:51,590 --> 00:05:52,165 абмеркаваць. 133 00:05:52,165 --> 00:05:55,260 І гэта кажа вам, што вы зараз былі запрошаныя, так 134 00:05:55,260 --> 00:05:56,880 сказаць, каб увайсці ў чарзе. 135 00:05:56,880 --> 00:05:59,090 І націснуўшы на гэтую кнопку, ваша імя з'явіцца на 136 00:05:59,090 --> 00:06:02,660 Ipad, што прывітання CS50, адзін з кіраўнікоў вядома, будзе 137 00:06:02,660 --> 00:06:05,250 правядзе каля ўваходу ў Annenberg, які затым 138 00:06:05,250 --> 00:06:08,630 бачым, як паказана тут, студэнты, якія ёсць пытанні па 139 00:06:08,630 --> 00:06:11,630 злева, супрацоўнікі, якія знаходзяцца справа. 140 00:06:11,630 --> 00:06:14,830 І з дапамогай пстрычкі левай і правай, ваш вэб-браўзэр 141 00:06:14,830 --> 00:06:18,610 пачынае міргаць, як толькі, напрыклад, прафесар McGonnagal 142 00:06:18,610 --> 00:06:21,460 гатовы бачыць вас на стале ў прыватнасці Annenberg. 143 00:06:21,460 --> 00:06:23,340 >> Так мы і зрабілі некаторыя з гэтых мінулага года. 144 00:06:23,340 --> 00:06:25,430 Мы перазагрузіце працоўны час і 145 00:06:25,430 --> 00:06:26,980 паўторна рэалізавана вялікая частка праграмнага забеспячэння. 146 00:06:26,980 --> 00:06:29,940 Так разумею, што гэта будзе цёплым на гэтым тыдні. 147 00:06:29,940 --> 00:06:32,970 Але таксама разумею, таксама ў мінулыя гады, як вы, напэўна, чулі 148 00:06:32,970 --> 00:06:35,710 ад сяброў, гадзіны, сапраўды, ад 50 да 149 00:06:35,710 --> 00:06:37,040 150 студэнтаў адначасова. 150 00:06:37,040 --> 00:06:39,300 І гэта проста не магчыма для нас, каб справіцца з гэтым 151 00:06:39,300 --> 00:06:42,060 эфектыўна, адзін на адзін, на працягу вечара. 152 00:06:42,060 --> 00:06:44,570 І так, што мы сапраўды збіраемся паспрабаваць зрабіць у гэтым годзе 153 00:06:44,570 --> 00:06:46,590 зарабіць на той факт, што многія пытанні 154 00:06:46,590 --> 00:06:49,050 Часта задаюць і часта мага лепш адказаць 155 00:06:49,050 --> 00:06:50,030 асінхронна. 156 00:06:50,030 --> 00:06:52,140 Такім чынам, вы можаце сартаваць прадумаць адказ персаналу, 157 00:06:52,140 --> 00:06:54,360 і мы можам прадумаць свой код, без падагрэвам 158 00:06:54,360 --> 00:06:57,050 Ціск абавязкова змагаецца 159 00:06:57,050 --> 00:06:58,210 праз яго бок аб бок. 160 00:06:58,210 --> 00:07:00,980 Такім чынам, мы лічым, што прыкладна траціна або палову пытанняў 161 00:07:00,980 --> 00:07:03,500 будзе накіраваны ў твар, і мы паспрабуем, каб абрываць як 162 00:07:03,500 --> 00:07:05,530 больш, чым палова ці больш у электронным выглядзе, 163 00:07:05,530 --> 00:07:06,710 ў працоўны час. 164 00:07:06,710 --> 00:07:08,070 І мы будзем працягваць выкарыстоўваць Абмеркаваць 165 00:07:08,070 --> 00:07:09,990 На працягу тыдня, а таксама. 166 00:07:09,990 --> 00:07:12,680 >> І, нарэшце, зразумець, што гэты курс можа быць прынята прыдатны / не прыдатны. 167 00:07:12,680 --> 00:07:16,230 Так што, калі вы знаходзіцеся на плоце ці проста думаю, што вы сапраўды 168 00:07:16,230 --> 00:07:18,650 Не ўпэўнены, што гэта свет для вас, ці гэта сапраўды 169 00:07:18,650 --> 00:07:21,310 зусім чужы табе, разумееш, што гэта выдатны спосаб 170 00:07:21,310 --> 00:07:24,840 атрымання да некаторай упэўненасці, з якой ступіць у 171 00:07:24,840 --> 00:07:26,780 класа, як гэта зрабіў я, шчыра кажучы, гадоў таму. 172 00:07:26,780 --> 00:07:28,630 І тады ёсць пяць тыдняў, каб разабрацца фігуры за 173 00:07:28,630 --> 00:07:30,850 сябе, калі вы хочаце застацца прыдатны / не прыдатны, пераключыцца на ліст 174 00:07:30,850 --> 00:07:31,800 класа, ці таму падобнае. 175 00:07:31,800 --> 00:07:34,050 І, як правіла, што прыдатны / не прыдатны ці, я думаю, для студэнтаў 176 00:07:34,050 --> 00:07:36,700 што, калі вы пакладзеце ў тым, што 10 гадзін, 20 гадзін, якой бы яна 177 00:07:36,700 --> 00:07:38,830 можа быць на некаторых праблемах, і ты б'ешся галавой 178 00:07:38,830 --> 00:07:39,690 да сцяны, 179 00:07:39,690 --> 00:07:41,750 і вы сапраўды проста не можа ставіць нешта ўніз, і вы 180 00:07:41,750 --> 00:07:44,230 ёсць шмат іншых рэчаў, якія вы павінны зрабіць, калі шчыра, тое, што я 181 00:07:44,230 --> 00:07:46,070 думаю, прыдатны / не прыдатны, яна здымае вастрыню ў 182 00:07:46,070 --> 00:07:47,250 такіх сітуацыях. 183 00:07:47,250 --> 00:07:49,350 Дзе вы ўзялі рэчы 90% шляху. 184 00:07:49,350 --> 00:07:50,830 Вы ведаеце, гэта не зусім дасканалы. 185 00:07:50,830 --> 00:07:52,950 Але вы атрымалі шмат з яго, тым не менш. 186 00:07:52,950 --> 00:07:55,440 Так лічаць прыдатны / не прыдатны, як прадастаўленне вам, што 187 00:07:55,440 --> 00:07:57,590 ментальная мадэль, магчыма. 188 00:07:57,590 --> 00:08:00,680 >> Добра, на мінулым тыдні мы нырнулі ў Scratch, і мы 189 00:08:00,680 --> 00:08:03,610 казалі аб праграмаванні на досыць высокім графічным узроўні. 190 00:08:03,610 --> 00:08:05,340 І сёння мы зрабіць пераход да мовы 191 00:08:05,340 --> 00:08:08,300 называецца C, ніжні ўзровень мовы праграмавання на вяршыні 192 00:08:08,300 --> 00:08:11,260 якое многія сучасныя мовы ў цяперашні час пабудавана, у тым ліку 193 00:08:11,260 --> 00:08:13,010 з тых, якія мы будзем выкарыстоўваць бліжэй да канца тэрміну. 194 00:08:13,010 --> 00:08:15,530 І сінтаксічна, як яны выглядаюць 195 00:08:15,530 --> 00:08:17,330 гэта ўсё вельмі падобна. 196 00:08:17,330 --> 00:08:19,080 Такім чынам, давайце пачнем, каб зрабіць гэты пераход тут. 197 00:08:19,080 --> 00:08:21,730 Такім чынам, гэта была праграма, што на мінулым тыдні быў самы просты з 198 00:08:21,730 --> 00:08:22,910 прывітанне свет праграм. 199 00:08:22,910 --> 00:08:25,560 Гэта проста выводзіцца на экран свет прывітанне, з 200 00:08:25,560 --> 00:08:27,650 маленькі бурбалка прамовы выходзіць з кот. 201 00:08:27,650 --> 00:08:30,590 Ну, калі мы пачнем цяпер, каб перавесці гэта на другі 202 00:08:30,590 --> 00:08:33,419 мову, разумеем, што ідэі сёння і ў сераду 203 00:08:33,419 --> 00:08:36,450 ідэнтычныя, але сінтаксіс пачынае змяняцца. 204 00:08:36,450 --> 00:08:39,370 Такім чынам, у той час як на мінулым тыдні ў нас было, калі зялёны сцяг націску, скажам, 205 00:08:39,370 --> 00:08:40,340 прывітанне свет. 206 00:08:40,340 --> 00:08:43,870 Сёння мы збіраемся, каб мець Int, галоўнае, пустэча, Printf, 207 00:08:43,870 --> 00:08:46,350 вяртанне, з другога сінтаксіс там жа. 208 00:08:46,350 --> 00:08:49,200 Фігурныя дужкі, і дужкі, і двукоссі, і яшчэ шмат чаго. 209 00:08:49,200 --> 00:08:54,520 Але разумею, што ядро ​​Ідэя тут складаецца ў друк, 210 00:08:54,520 --> 00:08:58,470 і, нарэшце, той факт, што ў цяперашні час асноўным будзе 211 00:08:58,470 --> 00:09:00,770 асацыюецца з запускам праграмы. 212 00:09:00,770 --> 00:09:04,250 Галоўнае збіраецца быць там, дзе зялёны сцяг нагамі пакінуць рэчы. 213 00:09:04,250 --> 00:09:06,390 >> А цяпер давайце дражняць адзін ад аднаго некаторымі з будаўнічых блокаў тут 214 00:09:06,390 --> 00:09:08,650 Перш чым мы паглыбімся ў некаторыя канкрэтныя прыклады. 215 00:09:08,650 --> 00:09:11,620 Такім чынам, мы назвалі гэтую заяву на мінулым тыдні, у якім ён проста 216 00:09:11,620 --> 00:09:12,470 інструкцыя. 217 00:09:12,470 --> 00:09:15,660 Зрабіце гэта, - у дадзеным выпадку, скажам прывітанне свет. 218 00:09:15,660 --> 00:09:18,400 Ну ў C, калі мы паглядзім на толькі што лінія, гэта, як мы 219 00:09:18,400 --> 00:09:20,920 збіраецца пачаць выразе, што пэўная частка галаваломкі: 220 00:09:20,920 --> 00:09:24,780 Е ("прывітанне свет");. 221 00:09:24,780 --> 00:09:27,330 І зараз мы будзем дражніць адзін ад аднаго гэтыя ўсё больш і больш з цягам часу, 222 00:09:27,330 --> 00:09:29,330 але разумею, што ёсць заканамернасць. 223 00:09:29,330 --> 00:09:31,870 Так што, у нас ёсць тое, што называецца Printf, якая з'яўляецца 224 00:09:31,870 --> 00:09:34,310 па сутнасці аналагічны слова сказаць. 225 00:09:34,310 --> 00:09:35,800 Вось што ён збіраецца рабіць. 226 00:09:35,800 --> 00:09:37,870 Printf і F ў дадзеным выпадку азначае "адфарматаваць". 227 00:09:37,870 --> 00:09:39,270 Так што гэта проста азначае, што вы можаце ўставіць 228 00:09:39,270 --> 00:09:41,600 розныя эстэтычныя дэталі. 229 00:09:41,600 --> 00:09:43,770 Такім чынам, канец цытаты цытаты гэта пачатак таго, што мы збіраемся 230 00:09:43,770 --> 00:09:45,340 пачаць называць радок. 231 00:09:45,340 --> 00:09:47,110 Словы, фразы, прапановы. 232 00:09:47,110 --> 00:09:50,220 Радок у мове праграмавання, уяўляе сабой паслядоўнасць з нуля 233 00:09:50,220 --> 00:09:51,330 або больш знакаў. 234 00:09:51,330 --> 00:09:54,390 Такім чынам, ч-е-л-л-о, коска, і гэтак далей у тым, 235 00:09:54,390 --> 00:09:56,290 канец цытаты цытаты, радка. 236 00:09:56,290 --> 00:09:58,710 А цяпер зваротны слеш п, трохі сінтаксічна дзіўна, але мы 237 00:09:58,710 --> 00:10:01,780 ўжо вызначана, што на мінулым тыдні ў тым сэнсе, ці што? 238 00:10:01,780 --> 00:10:02,630 Гэта проста новая радок. 239 00:10:02,630 --> 00:10:05,000 Гэта проста спосаб перадачы на ​​кампутар вы хочаце 240 00:10:05,000 --> 00:10:07,700 эквівалент ўдару Enter там, але вы не 241 00:10:07,700 --> 00:10:10,460 хочаце на самай справе ўдарыў Enter і, такім чынам, сапсаваць усе 242 00:10:10,460 --> 00:10:12,130 фарматавання вашага фактычнага праграмы. 243 00:10:12,130 --> 00:10:15,500 Зараз у дужках ўкласці гэтыя радкі, адкрытай і хлопец 244 00:10:15,500 --> 00:10:18,130 Зачыніць хлопец, так і ўнутры, што наша радок. 245 00:10:18,130 --> 00:10:22,600 Таму што гэта таму, што ў C, і іншых праграм 246 00:10:22,600 --> 00:10:27,510 мовы, такія рэчы як Printf прымаць аргументы, або ўзяць 247 00:10:27,510 --> 00:10:28,420 параметраў. 248 00:10:28,420 --> 00:10:31,490 >> Такім чынам, пачаць думаць зараз гэтага фіялетавага блока сказаць, як 249 00:10:31,490 --> 00:10:34,890 функцыі, як метад, як працэдуру. 250 00:10:34,890 --> 00:10:36,890 Вы сапраўды можаце называць гэта, што вы хочаце цяпер, але 251 00:10:36,890 --> 00:10:39,260 гэта свайго роду мініяцюрная праграма, якая робіць толькі адну 252 00:10:39,260 --> 00:10:41,480 Па-першае, у адну лінію, не менш. 253 00:10:41,480 --> 00:10:43,620 Так Printf таксама тое, што мы збіраемся пачаць называць 254 00:10:43,620 --> 00:10:46,680 функцыі, а функцыі зрабіць нешта - у гэтым выпадку 255 00:10:46,680 --> 00:10:49,320 выводзіць адфарматаваную радок на экране - 256 00:10:49,320 --> 00:10:53,220 а таксама функцыі прымаюць аргументы або параметры. 257 00:10:53,220 --> 00:10:55,880 І аргументы або параметры, дзякуй, мы маем на ўвазе 258 00:10:55,880 --> 00:11:01,220 што іх паводзіны можа паўплываць тое, што вы праходзіце ў 259 00:11:01,220 --> 00:11:03,420 ўнутры дужак. 260 00:11:03,420 --> 00:11:06,460 Такім чынам, у дадзеным выпадку, Printf патрэбы быць сказана, што друкаваць, і мы 261 00:11:06,460 --> 00:11:09,520 проста перадаць у, у падвойныя двукоссі тут, радок, што мы 262 00:11:09,520 --> 00:11:11,270 на самой справе хочаце надрукаваць. 263 00:11:11,270 --> 00:11:14,060 І кропка з коскі ў самым канцы гэтай лініі знаходзіцца ўсяго ў 264 00:11:14,060 --> 00:11:18,020 гістарычная непрыемнасць якога ў канцы большасці радкоў кода, 265 00:11:18,020 --> 00:11:21,170 Вы паставіць кропку з коскай, каб зрабіць Super Clear да кампутара 266 00:11:21,170 --> 00:11:23,020 што гэты радок кода сканчаецца тут. 267 00:11:23,020 --> 00:11:25,600 Цяпер гэта добра, таму што, як мы ўбачым, як праграмы атрымаць больш 268 00:11:25,600 --> 00:11:29,030 Комплекс, кропка з коскі будзе зрабіць супер ясна, нас, людзей, 269 00:11:29,030 --> 00:11:32,280 а таксама кампутар, дзе лініі стартавага кода і канец. 270 00:11:32,280 --> 00:11:34,360 Зразумейце, што некаторыя мовы не маюць некаторы 271 00:11:34,360 --> 00:11:35,045 гэтыя ж дэталі. 272 00:11:35,045 --> 00:11:37,870 І на самай справе, у JavaScript, вы не заўсёды трэба нешта 273 00:11:37,870 --> 00:11:38,670 як кропка з коскі. 274 00:11:38,670 --> 00:11:40,210 Але пра гэта наперадзе. 275 00:11:40,210 --> 00:11:41,170 >> Так завесы. 276 00:11:41,170 --> 00:11:43,520 У нас было нешта накшталт гэтага, вельмі інтуітыўна, відавочна, зрабіць 277 00:11:43,520 --> 00:11:44,860 нешта зноў і зноў, і зноў. 278 00:11:44,860 --> 00:11:47,720 Як надзець шкарпэткі, або павітацца, і ў гэтым выпадку. 279 00:11:47,720 --> 00:11:51,090 Ну, пачынаючы з сённяшняга дня ў C, мы маглі б выказаць гэтую драпінам 280 00:11:51,090 --> 00:11:54,970 блакаваць, як час (праўда), Е ("прывітанне свет"). 281 00:11:54,970 --> 00:11:57,630 Так заўважыць, што мы пачынаем будаваць літаральна на загадку 282 00:11:57,630 --> 00:11:58,480 кавалак, чым раней. 283 00:11:58,480 --> 00:12:01,310 У нас жа фіялетавы блок, але гэта ўнутры гэтага 284 00:12:01,310 --> 00:12:04,880 дужкі назаўжды блок, і лепшы спосаб для перакладу, што 285 00:12:04,880 --> 00:12:06,480 З заключаецца ў наступным. 286 00:12:06,480 --> 00:12:08,130 Там няма Назаўжды ключавое слова. 287 00:12:08,130 --> 00:12:10,940 Вы не можаце проста ўвесці е-о-т-е-у-е-г у C. 288 00:12:10,940 --> 00:12:13,440 Такім чынам, бліжэйшым аналагам з'яўляецца час. 289 00:12:13,440 --> 00:12:17,050 >> Цяпер, калі (сапраўдная) здаецца трохі дурным, таму што робіць кошт 290 00:12:17,050 --> 00:12:18,700 праўдзіва ніколі не зменіцца? 291 00:12:18,700 --> 00:12:19,810 Меркавана няма. 292 00:12:19,810 --> 00:12:22,770 Гэта як сказаць пакуль адзін, а з, у той час як праўда. 293 00:12:22,770 --> 00:12:25,430 Гэта ўсё тое ж самае, праўда гэта заўсёды бывае. 294 00:12:25,430 --> 00:12:29,860 Такім чынам, гэтая пятля на самай справе выклікаючы якой цыкл? 295 00:12:29,860 --> 00:12:31,210 Толькі бясконцы цыкл, маюць рацыю. 296 00:12:31,210 --> 00:12:32,930 Бясконцы цыкл або, як мы называлі яго на мінулым тыдні, 297 00:12:32,930 --> 00:12:33,870 проста бясконцы цыкл. 298 00:12:33,870 --> 00:12:35,250 Так што часам гэта дрэнна. 299 00:12:35,250 --> 00:12:37,060 Часам гэта памылка, часам вось чаму вы атрымаеце 300 00:12:37,060 --> 00:12:39,340 верціцца шар пляжы або пясочных гадзін або таго падобнае. 301 00:12:39,340 --> 00:12:41,260 Але ў дадзеным выпадку мы свядома, па якой 302 00:12:41,260 --> 00:12:43,040 Прычына, хацелі надрукаваць адно і тое ж зноў 303 00:12:43,040 --> 00:12:43,970 і зноў і зноў. 304 00:12:43,970 --> 00:12:45,900 Ці ў выпадку, як гадзіны, вы хочаце зрабіць 305 00:12:45,900 --> 00:12:47,470 нешта зноў і зноў, і зноў. 306 00:12:47,470 --> 00:12:49,070 Так бясконцы цыкл можа мець сэнс. 307 00:12:49,070 --> 00:12:53,560 І гэта, як у C мы маглі б перавесці Назаўжды код. 308 00:12:53,560 --> 00:12:55,570 >> Так што цяпер гэтая крыху больш канкрэтнымі. 309 00:12:55,570 --> 00:12:58,880 Мы паўтараем 10 разоў наступнае сцвярджэнне. 310 00:12:58,880 --> 00:13:02,490 Такім чынам, у той час як (праўда) не зусім там працаваць, таму што праўда, то 311 00:13:02,490 --> 00:13:03,590 заўсёды дакладна. 312 00:13:03,590 --> 00:13:07,060 Такім чынам, калі мы замест гэтага паглядзець на версію C, цяпер сінтаксіс атрымлівае 313 00:13:07,060 --> 00:13:08,180 яшчэ крыху загадкавы. 314 00:13:08,180 --> 00:13:11,380 Але, шчыра кажучы, як толькі вы пачынаеце бачыць гэта, усё становіцца 315 00:13:11,380 --> 00:13:12,600 даволі добра знаёмыя хутка. 316 00:13:12,600 --> 00:13:14,370 Такім чынам, гэта тое, што называецца цыкл. 317 00:13:14,370 --> 00:13:17,210 Цыкл раскажа кампутар нешта рабіць 318 00:13:17,210 --> 00:13:20,710 зноў і зноў, і зноў, пакуль 319 00:13:20,710 --> 00:13:21,850 гэтыя рэчы з'яўляюцца праўдай. 320 00:13:21,850 --> 00:13:23,370 Цяпер, што мы маем на ўвазе пад гэтым? 321 00:13:23,370 --> 00:13:25,470 Ну, ёсць тры часткі цыклу, і мы збіраемся 322 00:13:25,470 --> 00:13:28,240 вярнуцца да гэтага пытання ў кантэксце актуальных 323 00:13:28,240 --> 00:13:29,100 Прыклады ў дадзены момант. 324 00:13:29,100 --> 00:13:31,650 Так што не хвалюйцеся, калі ён не зусім патануць ва ўсіх адразу. 325 00:13:31,650 --> 00:13:35,400 Але Int я = 0, карацей, кажучы, даць мне 326 00:13:35,400 --> 00:13:38,290 Зменная вось цэлага тыпу, так што дайце мне нумар 327 00:13:38,290 --> 00:13:40,890 завецца я, і ініцыялізаваць яго ў 0. 328 00:13:40,890 --> 00:13:43,460 Гэта значыць, мне, як алгебраічная пераменная х і 329 00:13:43,460 --> 00:13:44,580 ініцыялізаваць яго ў 0. 330 00:13:44,580 --> 00:13:46,250 Але ў дадзеным выпадку мы называем гэта я. 331 00:13:46,250 --> 00:13:49,120 Тады ў сярэдзіне, ён кажа, што я менш за 10. 332 00:13:49,120 --> 00:13:52,150 Гэта кажа кампутара выканаць наступныя рэчы да тых часоў, 333 00:13:52,150 --> 00:13:53,770 як я менш за 10. 334 00:13:53,770 --> 00:13:55,370 І, відавочна, ён пачынае менш, чым 10, таму што 335 00:13:55,370 --> 00:13:56,550 яна пачынаецца з 0. 336 00:13:56,550 --> 00:13:59,150 Тады, нарэшце, вы, магчыма, можа здагадацца, што я + + сродкамі. 337 00:13:59,150 --> 00:14:02,140 Гэта крыху сінтаксіс, які проста азначае, што павялічвае я. 338 00:14:02,140 --> 00:14:05,270 Так што дадайце 1 да я, зноў і зноў і зноў. 339 00:14:05,270 --> 00:14:09,260 >> І так, як мы ўбачым гэтую пятлю, гэты сінтаксіс, хутчэй, які рэалізуе 340 00:14:09,260 --> 00:14:12,160 дакладна тое ж самае, што, шчыра кажучы, у драпін было менавіта так 341 00:14:12,160 --> 00:14:13,250 Значна прасцей выказаць. 342 00:14:13,250 --> 00:14:15,170 Паўтарыце 10, і вы зрабілі. 343 00:14:15,170 --> 00:14:17,690 У C, і ў большасці моў праграмавання, мы павінны быць 344 00:14:17,690 --> 00:14:20,190 трохі больш павучальным для кампутара і на самай справе 345 00:14:20,190 --> 00:14:21,630 паказаць нешта накшталт гэтага. 346 00:14:21,630 --> 00:14:23,730 Але мы вернемся да гэтага і іншым сінтаксісам. 347 00:14:23,730 --> 00:14:24,780 >> Як наконт зменных? 348 00:14:24,780 --> 00:14:26,940 У драпін у нас было нешта накшталт гэтых аранжавых блокаў, 349 00:14:26,940 --> 00:14:28,180 дзе я мог бы аб'явіць зменную. 350 00:14:28,180 --> 00:14:30,000 Давайце ўмоўна называем гэта лічыльнік. 351 00:14:30,000 --> 00:14:31,880 Давайце ініцыялізаваць яго да 0, а затым 352 00:14:31,880 --> 00:14:33,240 Давайце вечна нешта рабіць. 353 00:14:33,240 --> 00:14:35,760 У гэтым выпадку ў драпін Я кажу лічыльніка, так 354 00:14:35,760 --> 00:14:38,230 котка будзе мець маленькі бурбалка прамовы, што гэта гаворыць 355 00:14:38,230 --> 00:14:40,010 лік, якое ў гэтай зменнай. 356 00:14:40,010 --> 00:14:42,460 А то ў нас змена лічыльніка на 1. 357 00:14:42,460 --> 00:14:45,760 Так што ўсё гэта заварочваецца ўнутр замка назаўжды. 358 00:14:45,760 --> 00:14:48,960 Такім чынам, мы ўжо цяпер ёсць будаўнічыя блокі ў З 359 00:14:48,960 --> 00:14:50,040 якая перавесці гэта. 360 00:14:50,040 --> 00:14:51,650 >> Адзін спосаб, якім мы маглі б зрабіць гэта складаецца ў наступным. 361 00:14:51,650 --> 00:14:53,890 Дайце мне цэлы лік, назавем яго лічыльнік. 362 00:14:53,890 --> 00:14:55,190 Ініцыялізаваць яго ў 0 363 00:14:55,190 --> 00:14:56,490 У першай радку. 364 00:14:56,490 --> 00:14:59,390 У той час (праўда), так што я крадзеж гэтай ідэі толькі ад моманту 365 00:14:59,390 --> 00:15:01,300 назад, ісці наперад і рабіць наступнае. 366 00:15:01,300 --> 00:15:04,880 Друк лічыльніка, а затым павялічваць лічыльнік, 367 00:15:04,880 --> 00:15:06,930 зноў, і зноў, і зноў. 368 00:15:06,930 --> 00:15:09,380 Ці, зноў жа, + + проста азначае, дадаць 1 да чаго-небудзь. 369 00:15:09,380 --> 00:15:11,030 Але ёсць новая частка сінтаксісу тут. 370 00:15:11,030 --> 00:15:15,730 Што скакаць, як не сярод нашых папярэдніх прыкладах? 371 00:15:15,730 --> 00:15:17,190 Так, гэта% D. 372 00:15:17,190 --> 00:15:19,810 Такім чынам, вы можаце зрабіць выснову, што, можа быць, гэтага рабіць, шчыра кажучы, заснаваных 373 00:15:19,810 --> 00:15:21,410 аб тым, што да драпін блок робіць. 374 00:15:21,410 --> 00:15:24,510 Але зноў жа ў C, мы проста павінны быць трохі больш канкрэтна 375 00:15:24,510 --> 00:15:25,990 калі справа даходзіць да выказвання сябе. 376 00:15:25,990 --> 00:15:30,560 >> Такім чынам, Е ("% г \ п"). 377 00:15:30,560 --> 00:15:32,320 Ну большасць, што мы можам выкінуць, як знаёмыя. 378 00:15:32,320 --> 00:15:34,910 Двукоссі проста азначае, што гэта радок, зваротны слеш п 379 00:15:34,910 --> 00:15:35,970 гэта проста новая радок. 380 00:15:35,970 --> 00:15:38,860 Такім чынам, адзіным новым тут з'яўляецца% г. 381 00:15:38,860 --> 00:15:40,390 І ўсё, што з'яўляецца прататыпам. 382 00:15:40,390 --> 00:15:43,510 % D будзе пазначаць дзесятковы лік. 383 00:15:43,510 --> 00:15:47,820 А% г кампутарных сродкаў, пакласці дзесятковы лік тут. 384 00:15:47,820 --> 00:15:49,450 Ну, які нумар вы хочаце, каб пакласці туды? 385 00:15:49,450 --> 00:15:52,400 Ну, як вы, магчыма, можа зрабіць выснову, пасля коскі мы гаворым, 386 00:15:52,400 --> 00:15:55,480 Лічыльнік, гэтае імя зменнай, што мы абвясцілі або 387 00:15:55,480 --> 00:15:57,260 стварыў пару радкоў вышэй. 388 00:15:57,260 --> 00:16:02,420 Так што гэта толькі шлях C аб падключэнні зменнай у 389 00:16:02,420 --> 00:16:04,480 Радок дынамічна. 390 00:16:04,480 --> 00:16:07,350 Таму што ў адрозненне, калі б я замест гэтага зрабіў нешта накшталт 391 00:16:07,350 --> 00:16:12,470 гэта, Е ("Лічыльнік"), што б гэта 392 00:16:12,470 --> 00:16:15,220 Праграма замест гэтага, па-відаць? 393 00:16:15,220 --> 00:16:17,260 Гэта будзе літаральна друкаваць "лічыльнік". 394 00:16:17,260 --> 00:16:18,750 Які не пра тое, што я хачу. 395 00:16:18,750 --> 00:16:20,920 Мне трэба замяніць у некаторых лікавае значэнне. 396 00:16:20,920 --> 00:16:24,340 Такім чынам, мы бачым, што функцыі, то, як Printf, можа заняць не 397 00:16:24,340 --> 00:16:26,930 толькі аднаго аргументу, як 398 00:16:26,930 --> 00:16:28,150 "Прывітанне свет". 399 00:16:28,150 --> 00:16:32,050 Яны могуць прыняць коскі цытатай канец цытаты, а затым некаторыя зменныя 400 00:16:32,050 --> 00:16:35,830 , Якая дапаможа падлучыць, як мы ўбачым папярэднюю радок 401 00:16:35,830 --> 00:16:38,280 Праз гэтыя запаўняльнікі% знак. 402 00:16:38,280 --> 00:16:39,660 >> Ну што ж лагічныя выразы? 403 00:16:39,660 --> 00:16:42,200 Лагічныя выразы былі гэтыя каштоўнасці, сапраўднае або ілжывае. 404 00:16:42,200 --> 00:16:42,830 Так ці не. 405 00:16:42,830 --> 00:16:44,020 1 або 0. 406 00:16:44,020 --> 00:16:45,190 Уключаны або выключаны. 407 00:16:45,190 --> 00:16:47,570 Такім чынам, у драпіна яны выглядаюць так, і заўважыў, што 408 00:16:47,570 --> 00:16:50,170 ніжні блок тут на самай справе разам 409 00:16:50,170 --> 00:16:51,500 меншага з двух блокаў. 410 00:16:51,500 --> 00:16:53,610 Такім чынам, я як бы перацягнуць тры часткі галаваломкі 411 00:16:53,610 --> 00:16:56,450 разам, каб зрабіць, што больш паззл там, так што я 412 00:16:56,450 --> 00:17:00,420 можа перадаць ідэю, што я хачу х быць менш, чым у і 413 00:17:00,420 --> 00:17:02,540 У быць менш, чым г. 414 00:17:02,540 --> 00:17:05,790 І такім чынам я магу перавесці гэтыя дзве асобных лініі наступным чынам. 415 00:17:05,790 --> 00:17:08,650 Верхні можа быць вельмі трывіяльна перакладзены на C, 416 00:17:08,650 --> 00:17:10,069 толькі з х <у. 417 00:17:10,069 --> 00:17:11,990 Можа быць, з некаторым дужкі для добрай мерай. 418 00:17:11,990 --> 00:17:15,520 І тады ў C, вы не пішаце і для абазначэння 419 00:17:15,520 --> 00:17:16,819 Злучэнне нешта. 420 00:17:16,819 --> 00:17:19,585 Вы замест гэтага напісаць &&. 421 00:17:19,585 --> 00:17:22,849 І, як мы бачым у рэшце рэшт, адзін амперсанда адбываецца з 422 00:17:22,849 --> 00:17:23,880 азначае нешта іншае. 423 00:17:23,880 --> 00:17:27,530 Так && проста пазначае ідэю і. 424 00:17:27,530 --> 00:17:30,040 >> Такім чынам, яшчэ раз, нават калі гэта пачынае выглядаць даволі складаная, 425 00:17:30,040 --> 00:17:32,560 адной з мэтаў ўвядзення Scratch, акрамя 426 00:17:32,560 --> 00:17:34,810 проста маючы свайго роду забава на рампы, дзе вы можаце зрабіць 427 00:17:34,810 --> 00:17:36,590 нешта вельмі графічных і аніміраваных, і 428 00:17:36,590 --> 00:17:39,000 Сумеснае і да т.п., таксама, каб перадаць ідэю, што 429 00:17:39,000 --> 00:17:42,010 ўсе ідэі мы пачынаем апусканне ў сёння і далей 430 00:17:42,010 --> 00:17:44,300 былі ўвасоблены ў нават, што простае 431 00:17:44,300 --> 00:17:46,850 Інтэрфейс з першага дня. 432 00:17:46,850 --> 00:17:47,790 Што пра гэта тут? 433 00:17:47,790 --> 00:17:48,860 >> Так умовах. 434 00:17:48,860 --> 00:17:50,590 Так драпін блок злева там выглядае 435 00:17:50,590 --> 00:17:51,610 крыху больш складана. 436 00:17:51,610 --> 00:17:52,650 Але гэта толькі некаторыя захапленні і 437 00:17:52,650 --> 00:17:54,140 паніжэнне знаёмыя рэчы. 438 00:17:54,140 --> 00:17:56,690 Калі х менш, чым у, скажам так. 439 00:17:56,690 --> 00:17:59,900 Інакш, калі х больш у, так бы мовіць. 440 00:17:59,900 --> 00:18:02,460 У адваротным выпадку, мы можам лагічна выказаць здагадку, што гэта зрабіў выснову, што 441 00:18:02,460 --> 00:18:03,580 яны павінны быць роўныя. 442 00:18:03,580 --> 00:18:05,220 Так што сказаць, што яны роўныя. 443 00:18:05,220 --> 00:18:07,690 Зараз у C справа, сапраўды такі ж рэччу. 444 00:18:07,690 --> 00:18:09,730 І заўважыў, што фігурныя дужкі будзе 445 00:18:09,730 --> 00:18:12,190 Асаблівасцю C і іншых мовах, што рабіць такога роду 446 00:18:12,190 --> 00:18:13,210 інкапсуляцыі. 447 00:18:13,210 --> 00:18:15,470 Гэтак жа, як калі блок гэта жоўтая рэч, якая быццам 448 00:18:15,470 --> 00:18:17,770 захоп фіялетавы блок ўнутры яго. 449 00:18:17,770 --> 00:18:19,480 Сапраўды гэтак жа гэтыя дужкі - 450 00:18:19,480 --> 00:18:20,870 гэтыя фігурныя дужкі - 451 00:18:20,870 --> 00:18:24,710 павінна выклікаць ва ўяўленні, што ж ідэя ахоплівае адзін або некалькі 452 00:18:24,710 --> 00:18:27,680 радкоў кода, з водступам ўнутры іх. 453 00:18:27,680 --> 00:18:31,270 Такім чынам, на правай баку тут, калі х менш, чым у, Printf 454 00:18:31,270 --> 00:18:32,270 ("X менш, чым у"). 455 00:18:32,270 --> 00:18:34,980 Інакш, калі х больш у, раздрукаваць тое ж самае. 456 00:18:34,980 --> 00:18:38,360 Астатняе друку, што яны роўныя. 457 00:18:38,360 --> 00:18:41,750 >> Карацей кажучы, ёсць даволі прамое адлюстраванне або пераклад 458 00:18:41,750 --> 00:18:44,720 мовы, які мы бачылі да гэтага часу, у тым ліку для некаторых 459 00:18:44,720 --> 00:18:45,940 з больш складаных функцый. 460 00:18:45,940 --> 00:18:48,680 Такім чынам, вы не маглі б выкарыстоўваць гэта для вашага праекту, ці, магчыма, не 461 00:18:48,680 --> 00:18:51,150 выкарыстаць гэта для свайго праекта на гэтым тыдні. 462 00:18:51,150 --> 00:18:54,650 Але мы гэтыя рэчы называюцца масівы C. У Scratch, 463 00:18:54,650 --> 00:18:55,680 яны называюцца спісамі. 464 00:18:55,680 --> 00:18:59,370 І мы ўбачылі іх з Fruitcraft RPG на мінулым тыдні. 465 00:18:59,370 --> 00:19:01,320 Маленькі сіні хлопец, які хадзіў, падымаючы 466 00:19:01,320 --> 00:19:03,010 вішні і апельсіна і таму падобнае. 467 00:19:03,010 --> 00:19:05,110 Ну ў Scratch, які быў рэалізаваны з гэтым аранжавым 468 00:19:05,110 --> 00:19:09,000 блок, які змяшчае словы, у дадзеным выпадку, мы літаральна 469 00:19:09,000 --> 00:19:10,800 дадаўшы, што «аранжавыя», каб 470 00:19:10,800 --> 00:19:12,460 зменная інвентара. 471 00:19:12,460 --> 00:19:14,910 Такім чынам, у C, гэты сінтаксіс будзе атрымаць крыху больш загадкавымі. 472 00:19:14,910 --> 00:19:17,250 І мы вернемся да гэтага на наступным тыдні і больш 473 00:19:17,250 --> 00:19:21,060 цікавае ў свеце крыптаграфіі з ім. 474 00:19:21,060 --> 00:19:23,990 Але на дне тут, гэтыя дзве лініі, у асноўным 475 00:19:23,990 --> 00:19:27,550 перакладаць на тое, што мы робім у адной драпіны блакаваць там. 476 00:19:27,550 --> 00:19:30,120 Але пра гэта наперадзе. 477 00:19:30,120 --> 00:19:34,120 >> Такім чынам, паставіўшы яго разам, вось гэта праграма, у С. Так што давайце 478 00:19:34,120 --> 00:19:36,590 хутка дражняць адзін ад аднаго некаторымі з частак сінтаксісу тут, але 479 00:19:36,590 --> 00:19:40,300 тады давайце на самай справе пачаць пісаць код, азнаёміцца 480 00:19:40,300 --> 00:19:42,440 Вы з некаторымі з інструментаў, якія мы будзем выкарыстоўваць, і паглядзець, калі мы 481 00:19:42,440 --> 00:19:45,400 можа абапірацца на цяперашні час некаторыя з гэтых асноўных будаўнічых блокаў з 482 00:19:45,400 --> 00:19:49,150 На мінулым тыдні, зараз сінтаксічна ў С. Так, у верхняй тут, гэта 483 00:19:49,150 --> 00:19:51,380 з'яўляецца, бадай, адным з самых сумных праграм, якія вы маглі б 484 00:19:51,380 --> 00:19:53,130 напісаць у большасці любой мове праграмавання. 485 00:19:53,130 --> 00:19:55,010 Але гэта свайго роду мае асаблівае значэнне, таму што гэта 486 00:19:55,010 --> 00:19:58,120 кананічных праграмы, што любы навуковец піша, калі 487 00:19:58,120 --> 00:19:59,620 навучанне кагосьці мова праграмавання - 488 00:19:59,620 --> 00:20:01,230 Прывітанне праграме свеце. 489 00:20:01,230 --> 00:20:05,120 >> Такім чынам, на самым версе, мы бачым, гэта паняцце ўключае # 490 00:20:05,120 --> 00:20:08,180 , А затым у вуглавыя дужкі, stdio.h. 491 00:20:08,180 --> 00:20:10,580 Мы збіраемся вярнуцца да гэтага, але на самой справе, што гэта 492 00:20:10,580 --> 00:20:13,770 азначае, што ёсць файл у гэтым свеце называецца стандартным 493 00:20:13,770 --> 00:20:17,670 I / O, STDIO кропка ч, і гэта проста тэкставы файл, 494 00:20:17,670 --> 00:20:19,240 хтосьці напісаў гадоў таму. 495 00:20:19,240 --> 00:20:22,550 І ўнутры гэтага тэкставага файла цэлы букет 496 00:20:22,550 --> 00:20:25,840 функцый або метадаў або працэдур, што хтосьці іншы 497 00:20:25,840 --> 00:20:28,970 пісаў, што мы з'яўляемся бенефіцыярамі, таму што мы 498 00:20:28,970 --> 00:20:31,420 Зараз можна выкарыстоўваць код гэтага чалавека. 499 00:20:31,420 --> 00:20:33,070 Функцыі ён або яна пісала. 500 00:20:33,070 --> 00:20:36,320 У гэтым выпадку, Printf не тое, што я напісаў, гэта 501 00:20:36,320 --> 00:20:37,500 не тое, што CS50 напісаў. 502 00:20:37,500 --> 00:20:40,290 Гэта тое, што нехта напісаў гадоў назад і паставіць у 503 00:20:40,290 --> 00:20:43,450 файл stdio.h, а затым, як у бок, паклаў 504 00:20:43,450 --> 00:20:45,830 іншая частка функцыі ў іншым файле. 505 00:20:45,830 --> 00:20:46,940 Але мы туды дабрацца. 506 00:20:46,940 --> 00:20:50,070 >> Такім чынам, # ўключыць толькі наш спосаб сказаць, у 507 00:20:50,070 --> 00:20:53,110 C, даць мне доступ да функцый, што нехта напісаў. 508 00:20:53,110 --> 00:20:55,490 І ў гэтым выпадку мяне хвалюе, таму што я хачу Printf. 509 00:20:55,490 --> 00:20:57,530 Цяпер мы атрымліваем Int асноўных (несапраўднымі). 510 00:20:57,530 --> 00:21:00,160 Так што гэта адна з гэтых рэчаў, шчыра кажучы, што ў дзень 0, 511 00:21:00,160 --> 00:21:02,400 вельмі многа ў мяне ў выглядзе зону таму, што гэта проста 512 00:21:02,400 --> 00:21:03,260 не цікава 513 00:21:03,260 --> 00:21:04,780 інтэлектуальна, некаторыя з сінтаксісу. 514 00:21:04,780 --> 00:21:07,940 Але цяпер ведаю, што функцыі, інакш вядомы як 515 00:21:07,940 --> 00:21:11,660 працэдур або метадаў, як правіла, вырабляюць некаторую каштоўнасць. 516 00:21:11,660 --> 00:21:12,520 Яны нешта рабіць. 517 00:21:12,520 --> 00:21:13,810 Яны прыходзяць з адказам. 518 00:21:13,810 --> 00:21:15,020 Яны вырабляюць прадукцыі. 519 00:21:15,020 --> 00:21:18,780 Так Int побач з галоўным з'яўляецца толькі наша скарочаны спосаб казаць 520 00:21:18,780 --> 00:21:21,380 што гэтая функцыя гэтая працэдура, у канчатковым рахунку, адбываецца 521 00:21:21,380 --> 00:21:22,650 вярнуць вам нумар. 522 00:21:22,650 --> 00:21:24,370 І чаму гэта так, мы будзем вяртацца. 523 00:21:24,370 --> 00:21:27,810 Галоўнае толькі стандартныя па змаўчанні свету па змаўчанні 524 00:21:27,810 --> 00:21:30,990 функцыя, якая збіраецца атрымаць выкананы ў праграме C, калі 525 00:21:30,990 --> 00:21:31,860 вы запусціце яго. 526 00:21:31,860 --> 00:21:34,160 Пустэча проста азначае, што гэтая рэч, галоўнае, не прымае 527 00:21:34,160 --> 00:21:35,270 Аргументы ў гэтым выпадку. 528 00:21:35,270 --> 00:21:36,400 Так што я вяду сябе супер відавочным. 529 00:21:36,400 --> 00:21:38,160 Там няма радкоў там, няма косак. 530 00:21:38,160 --> 00:21:40,690 Пустэча азначае адсутнасць аргументаў да асноўнага. 531 00:21:40,690 --> 00:21:44,350 >> Цяпер, нарэшце, на шчасце, апошнія два радкі знаёмыя. 532 00:21:44,350 --> 00:21:46,160 Усярэдзіне фігурных дужках у нас ёсць Printf 533 00:21:46,160 --> 00:21:47,620 і ў нас ёсць адказ. 534 00:21:47,620 --> 00:21:50,450 І вяртанне гэта свайго роду шкада, што мы павінны 535 00:21:50,450 --> 00:21:53,510 паклаў яго туды, таму што ў дадзеным выпадку гэта не робіць усё, што 536 00:21:53,510 --> 00:21:54,600 шмат цікавага. 537 00:21:54,600 --> 00:21:58,790 Але ў камп'ютэрнай праграме, калі функцыя вяртае 0, 538 00:21:58,790 --> 00:22:00,610 гэта азначае, што ўсё добра. 539 00:22:00,610 --> 00:22:01,820 Нічога пайшло не так. 540 00:22:01,820 --> 00:22:06,170 З іншага боку, калі функцыя вяртае 1, ці адмоўны 1, або 541 00:22:06,170 --> 00:22:11,670 адмоўныя 1337, ці некаторых выпадковых лікаў такое, што 542 00:22:11,670 --> 00:22:14,020 як правіла, азначае, што памылка на самай справе адбылося. 543 00:22:14,020 --> 00:22:16,150 Так што калі вы знаходзіцеся на сваім Mac або ПК, калі вы калі-небудзь бачылі 544 00:22:16,150 --> 00:22:18,590 некаторыя раздражняльныя паведамленні, так як кампутар выйшаў з ладу або 545 00:22:18,590 --> 00:22:20,660 замарожаныя, і ёсць загадкавае паведамленне пра памылку, 546 00:22:20,660 --> 00:22:23,320 , А затым код, як код сістэмы 547 00:22:23,320 --> 00:22:25,110 1,2,3,4, некаторы лік, 548 00:22:25,110 --> 00:22:29,270 , Што ў цэлым з'яўляецца непатрэбным падрабязна расказаць 549 00:22:29,270 --> 00:22:32,110 Большасць з нас людзей, але гэта тое, што некаторыя функцыі ці некаторыя 550 00:22:32,110 --> 00:22:34,890 Праграма на самай справе вярнуўся, выдатнае ад нуля значэнне. 551 00:22:34,890 --> 00:22:38,540 І на карысць гэтага з'яўляецца тое, што 0 азначае, што ўсё так і 552 00:22:38,540 --> 00:22:40,470 то вы, па сутнасці ёсць бясконцая колькасць рэчаў, якія 553 00:22:40,470 --> 00:22:41,130 можа пайсці не так. 554 00:22:41,130 --> 00:22:44,700 Менавіта таму яны выбралі 0 для добрай і ненулявое значэнне для 555 00:22:44,700 --> 00:22:46,450 дрэнна, як мы хутка пабачым. 556 00:22:46,450 --> 00:22:47,870 >> Так што давайце ісці наперад і напісаць гэта. 557 00:22:47,870 --> 00:22:51,610 Так Нагадаем, што на днях я выкарыстаў свой Mac, каб адкрыць 558 00:22:51,610 --> 00:22:53,970 акно тэрмінала, а затым я адкрыў тэксце праграмы, як 559 00:22:53,970 --> 00:22:55,900 TextEdit, і я пачаў пісаць код. 560 00:22:55,900 --> 00:22:56,580 Ну гэта нармальна. 561 00:22:56,580 --> 00:22:58,636 Але ваш вопыт будзе па-іншаму на Mac, або 562 00:22:58,636 --> 00:23:01,220 на кампутары Solaris, Linux кампутар, незалежна ад аперацыйнай 563 00:23:01,220 --> 00:23:02,810 Сістэма вам здарыцца быць выкарыстанне. 564 00:23:02,810 --> 00:23:04,970 І так у курсе, што мы замест таго, каб выкарыстаць тое, 565 00:23:04,970 --> 00:23:07,010 называецца CS50 Appliance. 566 00:23:07,010 --> 00:23:10,420 Так CS50 Appliance ўяўляе сабой загружанае частку праграмнага забеспячэння 567 00:23:10,420 --> 00:23:13,640 , Што дазваляе запускаць аперацыйную сістэму пад назвай Linux, 568 00:23:13,640 --> 00:23:16,810 у прыватнасці Fedora Linux, на свой уласны Mac ці PC. 569 00:23:16,810 --> 00:23:20,810 І вы зрабіць гэта, загрузіўшы тое, што называецца гіпервізара. 570 00:23:20,810 --> 00:23:23,100 Так што ўсё гэта будзе апісана ў праблеме набор 1. 571 00:23:23,100 --> 00:23:25,240 І вы будзеце кіравацца да таго, што вам неабходна спампаваць. 572 00:23:25,240 --> 00:23:27,510 Але канчатковы вынік, ці ёсць у вас Mac ці PC, гэта вы 573 00:23:27,510 --> 00:23:29,080 загрузкі бясплатнага праграмнага забеспячэння. 574 00:23:29,080 --> 00:23:32,340 Затым запампаваць CS50 Appliance, і вы кажаце, што 575 00:23:32,340 --> 00:23:33,960 бясплатная праграма - гіпервізара - 576 00:23:33,960 --> 00:23:38,080 Для запуску CS50 Appliance ў акно на вашым кампутары. 577 00:23:38,080 --> 00:23:39,490 І тое, што гэта адбываецца. 578 00:23:39,490 --> 00:23:43,660 >> Я зараз, заўважце, тут, здаецца, што будзе працоўны стол 579 00:23:43,660 --> 00:23:44,130 навакольнага асяроддзя. 580 00:23:44,130 --> 00:23:46,150 І дазвольце мне на самай справе паменшыць гэтую адным акне. 581 00:23:46,150 --> 00:23:49,640 Так што гэта цяпер мой Mac, з невялікім акном тут, так і ўнутры 582 00:23:49,640 --> 00:23:51,300 гэтага акна, здараецца, зусім 583 00:23:51,300 --> 00:23:52,380 іншай аперацыйнай сістэмы. 584 00:23:52,380 --> 00:23:55,250 Сапраўды ёсць гэта стартавае меню тут, унізе, які нагадвае 585 00:23:55,250 --> 00:23:57,990 Windows, якая мае цэлую кучу падменю, у тым ліку 586 00:23:57,990 --> 00:24:00,720 Спасылка на CS50 кіраўніцтва, Dropbox, і таму падобнае. 587 00:24:00,720 --> 00:24:03,480 І тое, што гэта асяроддзе ў цяперашні час з'яўляецца стандартнай асяроддзем 588 00:24:03,480 --> 00:24:06,280 што ўсе мы цяпер могуць выкарыстоўваць, так што незалежна ад таго, што ваш 589 00:24:06,280 --> 00:24:08,960 кампутар, тое, што вы ўсталявалі на ёй, якая версія 590 00:24:08,960 --> 00:24:11,430 з Mac OS або Windows, вы працуеце, усе мы цяпер маем 591 00:24:11,430 --> 00:24:12,800 той жа асяроддзі. 592 00:24:12,800 --> 00:24:15,850 І вось цяпер у гэтую сераду мы можам пачаць пісаць код. 593 00:24:15,850 --> 00:24:18,480 >> Так што я збіраюся ісці наперад і адкрыць праграму пад назвай Gedit. 594 00:24:18,480 --> 00:24:21,500 Гэта супастаўна з notepad.exe, або 595 00:24:21,500 --> 00:24:22,790 TextEdit на Mac. 596 00:24:22,790 --> 00:24:25,390 І гэта проста супер простая праграма рэдагавання тэксту 597 00:24:25,390 --> 00:24:27,500 , Які выглядае наступным на першы погляд. 598 00:24:27,500 --> 00:24:30,640 Зараз на самым версе, у мяне ёсць белая палітра, унізе я 599 00:24:30,640 --> 00:24:33,860 ёсць гэта чорнае акно, якое кажа jharvard @ прыбор. 600 00:24:33,860 --> 00:24:36,440 І гэта таму, што ўліковы запіс карыстальніка, што мы папярэдне стварылі 601 00:24:36,440 --> 00:24:38,430 для ўсіх называюць Джона Гарварда. 602 00:24:38,430 --> 00:24:41,490 У яго ёсць папка, у якой усе яго файлы збіраюцца пайсці, і 603 00:24:41,490 --> 00:24:43,500 Вось, дзе мы можам пачаць пісаць код. 604 00:24:43,500 --> 00:24:45,810 Такім чынам, дазвольце мне ісці наперад тут і павелічэння трохі, і я 605 00:24:45,810 --> 00:24:51,550 збіраюся рабіць # ўключыць , Int асноўных (несапраўднымі), а 606 00:24:51,550 --> 00:24:57,470 Затым я збіраюся зрабіць Е ("прывітанне свет") 607 00:24:57,470 --> 00:24:59,490 , Вяртаецца 0. 608 00:24:59,490 --> 00:25:01,400 Зараз гэта ўсё вельмі чорны і белы. 609 00:25:01,400 --> 00:25:03,830 >> Дазвольце мне ісці наперад і рабіць адну справу вучыць Gedit, што я 610 00:25:03,830 --> 00:25:04,510 на самай справе робіць. 611 00:25:04,510 --> 00:25:06,140 Дазвольце мне перайсці да Save As. 612 00:25:06,140 --> 00:25:08,560 Я збіраюся абраць у левай частцы тут jharvard. 613 00:25:08,560 --> 00:25:11,010 Такім чынам, яшчэ раз, нават калі вы ніколі не выкарыстоўвалі Linux, перш чым, шчыра кажучы 614 00:25:11,010 --> 00:25:13,680 у гэтыя дні, усе яны ўскладаюцца ў асноўным 615 00:25:13,680 --> 00:25:14,590 жа тып інтэрфейсу - 616 00:25:14,590 --> 00:25:16,030 Mac OS, Windows і Linux. 617 00:25:16,030 --> 00:25:18,680 Таму я выбраў хатнюю тэчку jharvard тут. 618 00:25:18,680 --> 00:25:21,120 І я хачу захаваць гэты файл як hello.c. 619 00:25:21,120 --> 00:25:24,260 Такім чынам, на самым версе, я набраў hello.c, назваўшы C 620 00:25:24,260 --> 00:25:26,520 праграмы з пашырэннем. з- 621 00:25:26,520 --> 00:25:27,570 што звычайная практыка. 622 00:25:27,570 --> 00:25:28,650 І я ўдарыў Захаваць. 623 00:25:28,650 --> 00:25:32,510 І што цяпер прыемна, што я эфектыўна вучыць Gedit, 624 00:25:32,510 --> 00:25:33,690 што гэта праграма C. 625 00:25:33,690 --> 00:25:36,470 Звярніце ўвагу, што мой чорна-белы тэкст цяпер каляровую кадыроўку, або 626 00:25:36,470 --> 00:25:39,330 падсвятлення сінтаксісу, які толькі прыцягвае маю ўвагу да 627 00:25:39,330 --> 00:25:41,540 розных сэнсавых частак праграмы. 628 00:25:41,540 --> 00:25:44,260 У левым верхнім куце там, як мае праграмы становяцца ўсё больш складанымі, я 629 00:25:44,260 --> 00:25:47,060 будзе мець спіс усіх рэчаў, якія я напісаў. 630 00:25:47,060 --> 00:25:48,050 Дык вось яно што там. 631 00:25:48,050 --> 00:25:52,350 Такім чынам, дазвольце мне цяпер маштаб і спусціцца да гэтага акне тэрмінала. 632 00:25:52,350 --> 00:25:54,570 >> Так што гэта, магчыма, новых для многіх людзей. 633 00:25:54,570 --> 00:25:57,260 Калі вы ніколі не выкарыстоўвалі асяроддзе каманднага радка, вы ніколі не 634 00:25:57,260 --> 00:26:00,020 выкарыстоўваць DOS, ці вы ніколі не выкарыстоўвалі Linux, ці вы ніколі не адкрылі 635 00:26:00,020 --> 00:26:02,550 вашага Mac OS акно тэрмінала, ёсць шмат рэчаў, якія вы 636 00:26:02,550 --> 00:26:04,820 мог зрабіць з GUI, напрыклад, паказваючы, а націснуўшы і 637 00:26:04,820 --> 00:26:07,080 перацягвання і падзенне, і да таго падобнае, але ў цэлым - 638 00:26:07,080 --> 00:26:09,360 вядома, у міры кампутарных навук - 639 00:26:09,360 --> 00:26:11,580 з дапамогай каманднага радка, дзе ў вас няма мышы 640 00:26:11,580 --> 00:26:14,220 Як правіла, у вас ёсць толькі клавіятуру, на самай справе шмат 641 00:26:14,220 --> 00:26:17,260 больш магутны, чым інтэрфейс, як толькі вы прыстасаваліся да 642 00:26:17,260 --> 00:26:18,580 розныя каманды. 643 00:26:18,580 --> 00:26:20,940 А вы як бы вызваліць сябе ад неабходнасці кропку і націсніце 644 00:26:20,940 --> 00:26:21,690 на ўсё. 645 00:26:21,690 --> 00:26:23,890 Такім чынам, у Gedit мы будзем сартаваць мець лепшае з абодвух светаў. 646 00:26:23,890 --> 00:26:25,600 Мы можам перацягваць тэкст, мы бачым, што 647 00:26:25,600 --> 00:26:26,840 добры і колерам. 648 00:26:26,840 --> 00:26:29,630 Але калі прыходзіць час, каб запусціць нашу праграму, мы будзем часам 649 00:26:29,630 --> 00:26:31,750 проста выкарыстоўваць гэта невялікае акно тут. 650 00:26:31,750 --> 00:26:33,460 >> Так што я збіраюся ісці наперад і зрабіць гэта. 651 00:26:33,460 --> 00:26:36,420 У ніжняй чорна-белыя вокны, я пайду наперадзе 652 00:26:36,420 --> 00:26:37,890 і пісаць ляск. 653 00:26:37,890 --> 00:26:40,130 І ляск гэтае імя кампілятара. 654 00:26:40,130 --> 00:26:43,310 Гэта праграма, якая пераўтворыць мой зыходны код 655 00:26:43,310 --> 00:26:48,770 у, такім чынам, аб'ектны код. 656 00:26:48,770 --> 00:26:51,270 0 і 1, якія мы бачылі коратка на мінулым тыдні. 657 00:26:51,270 --> 00:26:53,700 Нагадаем, з мінулага тыдня, мы абяцалі, што мы збіраемся 658 00:26:53,700 --> 00:26:55,920 перайсці ад нешта накшталт гэтага - мы павінны былі быць 659 00:26:55,920 --> 00:26:57,010 нешта накшталт гэтага - 660 00:26:57,010 --> 00:26:58,700 і гэта, вядома, не тое, што чалавек збіраецца 661 00:26:58,700 --> 00:26:59,690 рабіць уручную. 662 00:26:59,690 --> 00:27:01,980 Так замест гэтага мы збіраемся выкарыстаць праграму, і праграма ў 663 00:27:01,980 --> 00:27:03,430 гэтым выпадку называецца Clang. 664 00:27:03,430 --> 00:27:06,020 І імя маё праграму hello.c. 665 00:27:06,020 --> 00:27:09,670 Такім чынам, у мэтах складання hello.c з зыходнага кода ў 666 00:27:09,670 --> 00:27:12,930 аб'ектны код, або 0 і 1, гэтага павінна хапіць, каб проста рабіць 667 00:27:12,930 --> 00:27:14,820 гэта і націсніце Enter. 668 00:27:14,820 --> 00:27:16,850 >> Добра, нічога, здаецца, не адбылося. 669 00:27:16,850 --> 00:27:20,450 Але цяпер я ведаю, ці з мінулага тыдня, што яго імя па змаўчанні 670 00:27:20,450 --> 00:27:24,920 Праграма, калі напісана на C, гэта глупства называць a.out. 671 00:27:24,920 --> 00:27:26,610 Самае нецікавае назва можна прыдумаць. 672 00:27:26,610 --> 00:27:28,790 Першая літара алфавіту, з тое, што было 673 00:27:28,790 --> 00:27:29,960 выводзіцца, але хай будзе так. 674 00:27:29,960 --> 00:27:33,570 Гэта мая праграма, і цяпер кропка слэш, як мы ўбачым, з'яўляецца 675 00:27:33,570 --> 00:27:36,170 на самай справе проста свайго роду функцыя бяспекі, таму што 676 00:27:36,170 --> 00:27:38,250 a.out гэта праграма, якую я напісаў. 677 00:27:38,250 --> 00:27:39,650 Ён не прыйшоў з майго кампутара, гэта 678 00:27:39,650 --> 00:27:40,790 не ў Program Files. 679 00:27:40,790 --> 00:27:42,910 Гэта не ў тэчцы Прыкладанні Mac АС. 680 00:27:42,910 --> 00:27:45,740 Мне трэба быць супер відавочны з кампутарам, і казаць 681 00:27:45,740 --> 00:27:49,030 гэтая праграма, a.out, знаходзіцца ў бягучай тэчцы, 682 00:27:49,030 --> 00:27:50,260 бягучага каталога. 683 00:27:50,260 --> 00:27:53,160 І тое, як вы ўяўляеце гэта ў сераду, як гэта 684 00:27:53,160 --> 00:27:57,070 з'яўляецца пункт уяўляе іншай тэчцы, вы ў дадзены момант знаходзіцеся 685 00:27:57,070 --> 00:27:59,420 І так. / Проста азначае запусціць a.out 686 00:27:59,420 --> 00:28:00,530 у бягучай тэчцы. 687 00:28:00,530 --> 00:28:04,830 І я выканаць гэта з дапамогай Enter, і вось, мая самая першая праграма. 688 00:28:04,830 --> 00:28:05,990 >> Цяпер дазвольце мне зрабіць крок назад. 689 00:28:05,990 --> 00:28:08,280 Гэта акно трохі малы, і разумеюць, што дно 690 00:28:08,280 --> 00:28:10,340 злева ад прыбора вось яшчэ адзін значок. 691 00:28:10,340 --> 00:28:12,660 Адным з іх з'яўляецца Chrome, якія павінны быць добра знаёмыя, толькі вэб- 692 00:28:12,660 --> 00:28:14,350 браўзэры ўнутр прыбора. 693 00:28:14,350 --> 00:28:16,340 І гэта чорна-белы значок проста 694 00:28:16,340 --> 00:28:17,720 вялікія вокны тэрмінала. 695 00:28:17,720 --> 00:28:19,830 Так што, калі гэта становіцца трохі раздражняе накшталт толькі што 696 00:28:19,830 --> 00:28:22,270 гэта маленькі кавалачак акна, з якім ўзаемадзейнічае 697 00:28:22,270 --> 00:28:24,370 з праграмамі, мы можам замест гэтага. 698 00:28:24,370 --> 00:28:26,640 А цяпер дазвольце мне пачаць друкаваць некалькі хутка 699 00:28:26,640 --> 00:28:27,980 быць знаёмым камандам. 700 00:28:27,980 --> 00:28:28,900 левы бок 701 00:28:28,900 --> 00:28:31,410 Так Ls гэта каманда для ўключэння ў пералік. 702 00:28:31,410 --> 00:28:33,900 Такім чынам, у Mac OS або Windows, вы, як правіла, двойчы пстрыкніце 703 00:28:33,900 --> 00:28:36,510 тэчку, а затым, вуаля, вы ўбачыце ўсё розныя файлы 704 00:28:36,510 --> 00:28:37,210 і тэчак. 705 00:28:37,210 --> 00:28:39,650 У асяроддзі каманднага радка, дзе вы можаце ўвесці толькі 706 00:28:39,650 --> 00:28:42,390 каманд або тэксту, LS з'яўляецца эквівалентам. 707 00:28:42,390 --> 00:28:44,380 Так пакажыце мне, што ў гэтым каталогу. 708 00:28:44,380 --> 00:28:46,540 >> Зараз ёсць куча рэчаў тут, гэта і трохі 709 00:28:46,540 --> 00:28:48,190 знаёмыя і незнаёмыя няшмат. 710 00:28:48,190 --> 00:28:50,740 Але звярніце ўвагу, што як і Windows, і Mac OS, jharvard 711 00:28:50,740 --> 00:28:52,190 мае працоўным стале тэчку. 712 00:28:52,190 --> 00:28:54,520 Такім чынам, любыя значкі, якія знаходзяцца на маім працоўным стале здарыцца 713 00:28:54,520 --> 00:28:55,650 быць у гэтай тэчцы. 714 00:28:55,650 --> 00:28:57,250 Там у тэчцы загрузкі, рэчы, якія 715 00:28:57,250 --> 00:28:58,890 Chrome можа паставіць там. 716 00:28:58,890 --> 00:28:59,250 Dropbox. 717 00:28:59,250 --> 00:29:01,820 Такім чынам, прыбор пастаўляецца з убудаванай падтрымкай для Dropbox 718 00:29:01,820 --> 00:29:04,500 так што на працягу семестра, вы можаце сінхранізаваць з вашым Dropbox 719 00:29:04,500 --> 00:29:06,420 кошт, так што ўсе вашы праграмы рэзервовага капіявання. 720 00:29:06,420 --> 00:29:08,050 Яны даступныя на іншым кампутары. 721 00:29:08,050 --> 00:29:09,780 Калі штосьці пойдзе не так, заўсёды з прыборам, вы можаце 722 00:29:09,780 --> 00:29:11,340 Вельмі лёгка аднавіць з Dropbox. 723 00:29:11,340 --> 00:29:12,940 Так што папка там для гэтага. 724 00:29:12,940 --> 00:29:14,660 Там два файла, якія я зрабіў - hello.c 725 00:29:14,660 --> 00:29:16,540 і a.out. 726 00:29:16,540 --> 00:29:18,530 І потым направа ёсць некаторыя іншыя папкі, якія мы будзем 727 00:29:18,530 --> 00:29:20,710 дабрацца да ў канцы семестра, з вэб- 728 00:29:20,710 --> 00:29:21,540 праграмавання. 729 00:29:21,540 --> 00:29:26,160 Так што, калі я раблю. / A.out, увядзіце, гэта кажа ісці 730 00:29:26,160 --> 00:29:29,460 У каталогу я знаходжуся, бягучы каталог, і запусціце 731 00:29:29,460 --> 00:29:32,465 праграма пад назвай a.out прама там. 732 00:29:32,465 --> 00:29:35,810 >> Добра, так што гэта прыемна і добра, але гэта не ўсё, што 733 00:29:35,810 --> 00:29:38,550 пераканаўчымі, каб напісаць праграму пад назвай дапамагчы a.out. 734 00:29:38,550 --> 00:29:40,790 Так што мы сапраўды можам зрабіць гэта крыху па-іншаму. 735 00:29:40,790 --> 00:29:43,980 Такім чынам, замест таго, каб проста працуе ляск, hello.c, давайце дадамо 736 00:29:43,980 --> 00:29:46,850 тое, што называецца аргументам каманднага радка. 737 00:29:46,850 --> 00:29:50,730 Такім чынам, аргументы каманднага радка, або выключальнік у дадзеным выпадку, гэта проста 738 00:29:50,730 --> 00:29:54,930 іншага слова або фразы, якія вы ўводзіце ў радку пасля 739 00:29:54,930 --> 00:29:56,290 праграмы, якую вы хочаце запусціць. 740 00:29:56,290 --> 00:29:59,970 Такім чынам, у дадзеным выпадку, ляск гэта праграма, я хачу бегчы,-O 741 00:29:59,970 --> 00:30:03,480 сродкі выхаду файле, які больш не называюць a.out. 742 00:30:03,480 --> 00:30:07,510 Выхадны файл з імем прывітанне, і зрабіць гэта шляхам складання 743 00:30:07,510 --> 00:30:10,200 Апошняе слова на лініі, hello.c. 744 00:30:10,200 --> 00:30:13,200 Карацей кажучы, гэта вельмі нязначнае паляпшэнне, у выніку чаго 745 00:30:13,200 --> 00:30:15,850 замест таго, каб гэта тупа імя файла a.out, 746 00:30:15,850 --> 00:30:21,430 Зараз я магу рабіць ляск-O Прывітанне, то hello.c, і 747 00:30:21,430 --> 00:30:22,530 затым націсніце Enter. 748 00:30:22,530 --> 00:30:25,510 Здаецца, нішто не здарыцца, але зноў жа хацелася з 0 - калі 749 00:30:25,510 --> 00:30:28,510 нішто, здаецца, здарылася гэта азначае, што нічога дрэннага здарылася - 750 00:30:28,510 --> 00:30:31,460 Так давайце зробім Ls зараз, увядзіце, ды і цяпер я 751 00:30:31,460 --> 00:30:32,780 ёсць прывітанне праграме. 752 00:30:32,780 --> 00:30:38,510 Так што, калі я тыпу прывітанне зараз, каманда не знойдзена. 753 00:30:38,510 --> 00:30:39,440 OK,. /. 754 00:30:39,440 --> 00:30:40,220 Так дакладна. 755 00:30:40,220 --> 00:30:43,170 Так што, таму што гэта праграма, якую я напісаў, і ён не прыйшоў з 756 00:30:43,170 --> 00:30:45,810 кампутар,. / прывітанне, Enter, значыць, 757 00:30:45,810 --> 00:30:47,350 Зараз я займаюся прывітанне. 758 00:30:47,350 --> 00:30:48,440 >> Дык вось яно што там. 759 00:30:48,440 --> 00:30:51,070 Цяпер тое, што мы ў канчатковым выніку атрымаць усё больш і больш каманднага радка 760 00:30:51,070 --> 00:30:54,110 Аргументы, якія дазваляюць нам зрабіць больш, але толькі для тых, 761 00:30:54,110 --> 00:30:57,760 якім гэта можа быць старая капялюш, дазвольце мне на самой справе ідуць у 762 00:30:57,760 --> 00:31:01,910 каталог тут і проста даць вам тізер, як яшчэ мы 763 00:31:01,910 --> 00:31:05,770 можа ісці аб рэалізацыі прывітанне свет. 764 00:31:05,770 --> 00:31:10,730 Адпусціце мяне ў тут, і я збіраюся адкрыць яго. 765 00:31:10,730 --> 00:31:13,090 Такім чынам, на самай справе, я збіраюся растлумачыць, што я раблю, так 766 00:31:13,090 --> 00:31:15,610 гэта карысна. 767 00:31:15,610 --> 00:31:17,410 Дазвольце мне, назад. 768 00:31:17,410 --> 00:31:19,620 >> Так што я займаюся гэтым даўно. 769 00:31:19,620 --> 00:31:23,030 Так заўважыць больш на права ёсць пара 770 00:31:23,030 --> 00:31:26,940 каталогі, якія дзіўным імем source1m і source1w. 771 00:31:26,940 --> 00:31:28,830 Гэта проста недарэчна канвенцыі мы выкарыстоўваем. 772 00:31:28,830 --> 00:31:31,825 Крыніца проста азначае, што зыходным кодам, 1 азначае, што гэта тыдзень адзін, і 773 00:31:31,825 --> 00:31:34,000 м азначае, што гэта панядзелак, і ш азначае, што ён у сераду. 774 00:31:34,000 --> 00:31:34,900 Так што нічога загадкавага няма. 775 00:31:34,900 --> 00:31:37,830 Гэта проста скарочанае пазначэнне. 776 00:31:37,830 --> 00:31:39,860 Гэтыя сінія рэчы тэчкі, інакш вядомы як 777 00:31:39,860 --> 00:31:40,630 каталогах. 778 00:31:40,630 --> 00:31:43,870 Я хачу пайсці ў гэтую тэчку зараз, а на звычайным кампутары 779 00:31:43,870 --> 00:31:45,710 Я мог бы проста двойчы пстрыкніце на значку тэчкі і 780 00:31:45,710 --> 00:31:46,810 там усе мае файлы. 781 00:31:46,810 --> 00:31:49,270 Але ў асяроддзі каманднага радка, я зусім не магу зрабіць 782 00:31:49,270 --> 00:31:52,640 што, такім чынам, замест гэтага, я павінен змяніць каталогі ўручную. 783 00:31:52,640 --> 00:31:57,900 Так што калі я Тып CD, а затым source1m, Enter, заўважылі, што 784 00:31:57,900 --> 00:32:01,180 мае радкі, справа ў белым злева, проста змянілася. 785 00:32:01,180 --> 00:32:03,690 І сапраўды, калі яна толькі што сказала дужках, а затым 786 00:32:03,690 --> 00:32:06,450 маленькая кручок, сімвал тыльды, што проста азначала, што я быў 787 00:32:06,450 --> 00:32:08,800 У хатняй дырэкторыі Джон Гарвард, яго My Documents, 788 00:32:08,800 --> 00:32:10,390 яго асабістыя файлы. 789 00:32:10,390 --> 00:32:14,000 Але зараз у дужках гэта кажа ~ / source1m. 790 00:32:14,000 --> 00:32:17,090 Гэта проста азначае, што я знаходжуся ў тэчку пад назвай source1m 791 00:32:17,090 --> 00:32:19,160 , Які ў хатнім каталогу Джона Гарварда. 792 00:32:19,160 --> 00:32:22,030 Так што, калі цяпер я хачу пералічыць файлы ў гэтую тэчку, лёгка 793 00:32:22,030 --> 00:32:25,300 пытанне, я проста ўвесці Ls. 794 00:32:25,300 --> 00:32:28,860 І цяпер я бачу ўсе файлы, якія я папярэдне створаны для сучасных 795 00:32:28,860 --> 00:32:31,020 лекцыя, кожны з якіх, ці большасць з якіх, адбудзецца 796 00:32:31,020 --> 00:32:32,740 заканчвацца на. с. 797 00:32:32,740 --> 00:32:36,210 >> Такім чынам, дазвольце мне цяпер ісці наперад і выканаць Gedit праграмы пад назвай 798 00:32:36,210 --> 00:32:39,140 holloway.c, які напісаў некалькі выпадковых хакераў 799 00:32:39,140 --> 00:32:42,920 у Інтэрнэце, што выглядае крыху як гэта. 800 00:32:42,920 --> 00:32:44,880 І мы не збіраемся прайсці праз гэта адзін у любым 801 00:32:44,880 --> 00:32:48,530 падрабязна, але для тых, хто больш зручным, у прыватнасці, калі 802 00:32:48,530 --> 00:32:50,935 Вы хочаце зрабіць здагадку аб тым, што гэтая праграма робіць тут. 803 00:32:57,950 --> 00:32:59,990 Будзьце ўпэўненыя, ці з'яўляецеся вы больш ці менш зручныя, 804 00:32:59,990 --> 00:33:01,655 мы нават не патрапіць на такога роду рэчы да канца 805 00:33:01,655 --> 00:33:02,160 у гэтым семестры. 806 00:33:02,160 --> 00:33:05,390 Гэта тое, што прыклад конкурсе зацямненне C, які 807 00:33:05,390 --> 00:33:08,390 сродкі напісаць самае загадкавае шукае праграму вы, магчыма, 808 00:33:08,390 --> 00:33:10,820 можа перасягнуць іншыя разумныя людзі, якія гэтак жа 809 00:33:10,820 --> 00:33:13,010 спрабую пісаць рэчы і паказаць, што яны могуць напісаць 810 00:33:13,010 --> 00:33:14,280 больш загадкавыя рэчы, чым вы. 811 00:33:14,280 --> 00:33:17,290 Так што гэта не прыклад добра напісаныя праграмы з 812 00:33:17,290 --> 00:33:21,260 пункту гледжання стылю, гэта прыклад праграмы, якая 813 00:33:21,260 --> 00:33:22,860 выйграе конкурс, для людзей, якія спрабуюць 814 00:33:22,860 --> 00:33:24,090 быць расплывістым і абстрактным. 815 00:33:24,090 --> 00:33:27,670 >> Такім чынам, калі мы запусцім гэтую рэч, адпусьці мяне ў маім акне тэрмінала, 816 00:33:27,670 --> 00:33:28,110 так бы мовіць. 817 00:33:28,110 --> 00:33:29,650 Дык вось гэты чорны і белы асяроддзі завецца 818 00:33:29,650 --> 00:33:31,160 вокны тэрмінала ў цэлым. 819 00:33:31,160 --> 00:33:32,600 Дазвольце мне ісці наперад і скампіляваць яго. 820 00:33:32,600 --> 00:33:34,440 Я не збіраюся выкарыстоўваць ляск, таму што гэтая праграма з'яўляецца 821 00:33:34,440 --> 00:33:36,340 трохі загадкава і мае патрэбу ў розных 822 00:33:36,340 --> 00:33:38,190 кампілятара, адна называецца GCC. 823 00:33:38,190 --> 00:33:39,200 Але ён робіць тое ж самае. 824 00:33:39,200 --> 00:33:41,130 Ён прымае зыходны код аб'ектны код. 825 00:33:41,130 --> 00:33:43,940 І зараз, калі я бягу a.out, што праграмы, якую вы 826 00:33:43,940 --> 00:33:46,065 толькі што бачыў гэта робіць. 827 00:33:49,220 --> 00:33:51,170 Так што хлопец у гэтым годзе выйграў конкурс. 828 00:33:51,170 --> 00:33:54,020 Ва ўсякім выпадку, мы не будзем у гэтым кірунку, як такой. 829 00:33:54,020 --> 00:33:57,400 >> Так што давайце на самой справе спрабуюць цяпер дражняць адзін ад аднаго, што можна зрабіць 830 00:33:57,400 --> 00:33:59,540 з гэтымі асноўнымі будаўнічымі блокамі, каб усё больш і больш 831 00:33:59,540 --> 00:34:00,590 цікавыя праграмы. 832 00:34:00,590 --> 00:34:02,800 Такім чынам, мы напісалі праграму, мы запускаем праграму. 833 00:34:02,800 --> 00:34:05,780 Цяпер мы сапраўды можам спрасціць і больш не пісаць 834 00:34:05,780 --> 00:34:07,210 Слова звон у камандным радку. 835 00:34:07,210 --> 00:34:10,710 Аказваецца, як нашы праграмы атрымліваюць больш загадкавым, мы можам, або 836 00:34:10,710 --> 00:34:14,699 больш складаная, хутчэй, мы сапраўды можам выканаць гэтую каманду. 837 00:34:14,699 --> 00:34:17,610 Такім чынам, дазвольце мне вярнуцца да маёй хатняй дырэкторыі, так бы мовіць, дазвольце мне 838 00:34:17,610 --> 00:34:20,750 выдаліць - ГТ выдаліць каманду - я збіраюся выдаліць 839 00:34:20,750 --> 00:34:23,060 файл з імем a.out і прывітанне. 840 00:34:23,060 --> 00:34:25,489 А цяпер заўважаю ў асяроддзі каманднага радка, гэтак жа, як у 841 00:34:25,489 --> 00:34:27,800 GUI, вы атрымаеце запыт. Я не магу націснуць кнопку, хоць, я 842 00:34:27,800 --> 00:34:31,040 павінны ўвесці ў, для Так, у для так. 843 00:34:31,040 --> 00:34:33,460 І зараз, калі я друкую Ls зноў, звярніце ўвагу, што гэтыя зялёныя 844 00:34:33,460 --> 00:34:35,469 Праграмы - a.out і прывітанне - 845 00:34:35,469 --> 00:34:35,734 сышлі ў мінулае. 846 00:34:35,734 --> 00:34:37,340 Сцеражыцеся ГТ. 847 00:34:37,340 --> 00:34:39,739 Ён можа рабіць дрэнныя рэчы, як вы можаце шляхам перацягвання 848 00:34:39,739 --> 00:34:40,810 Заняткі на ваш смецце. 849 00:34:40,810 --> 00:34:43,989 >> А цяпер давайце ісці наперад - і я магу гэта зрабіць - звон-о 850 00:34:43,989 --> 00:34:45,139 прывітанне, прывітанне - 851 00:34:45,139 --> 00:34:46,884 Я ўжо надакучыла ўводу гэтай каманды. 852 00:34:46,884 --> 00:34:48,080 Хоць я набраў яго крыху хутчэй. 853 00:34:48,080 --> 00:34:51,870 Так што мы можам замест гэтага зрабіць прывітанне. 854 00:34:51,870 --> 00:34:53,880 Так што не кампілятар. 855 00:34:53,880 --> 00:34:57,720 Гэта проста зручная праграма, якая пастаўляецца з Linux, у гэтай 856 00:34:57,720 --> 00:34:59,070 выпадку - аперацыйная сістэма - 857 00:34:59,070 --> 00:35:02,480 , Якая аўтаматызуе працэс кампіляцыі праграмы. 858 00:35:02,480 --> 00:35:05,555 Такім чынам, замест запамінання звон-O імя файла і 859 00:35:05,555 --> 00:35:08,190 Затым гэтак далей, асабліва калі гэтыя лініі становяцца больш доўгімі і 860 00:35:08,190 --> 00:35:10,110 больш, я магу проста напісаць зрабіць. 861 00:35:10,110 --> 00:35:12,030 І гэта будзе выплюнуць цэлую кучу рэчаў, якія 862 00:35:12,030 --> 00:35:13,940 мы ў канчатковым рахунку бачыць у гэтым семестры. 863 00:35:13,940 --> 00:35:17,500 Але звярніце ўвагу, цяпер, калі я тыпу LS, прывітанне вярнуўся ў мой каталог. 864 00:35:17,500 --> 00:35:19,850 І сапраўды, я магу запусціць яго. / Прывітанне. 865 00:35:19,850 --> 00:35:23,330 Так што проста аўтаматызуе працэс працы, што было, 866 00:35:23,330 --> 00:35:26,910 У гэтым выпадку, значна даўжэй, больш складаныя каманды. 867 00:35:26,910 --> 00:35:29,060 Так што мы збіраемся пачаць выкарыстоўваць марку, толькі таму, што шмат 868 00:35:29,060 --> 00:35:30,530 больш зручнай для карыстальнікаў. 869 00:35:30,530 --> 00:35:32,770 >> А цяпер давайце зробім больш цікавыя праграмы 870 00:35:32,770 --> 00:35:34,650 чым проста павітацца. 871 00:35:34,650 --> 00:35:38,680 Такім чынам, у праграме мы напісалі да гэтага часу ёсьць асноўныя. 872 00:35:38,680 --> 00:35:40,890 У тым-та і справа, што па змаўчанні нагамі ўсё прэч. 873 00:35:40,890 --> 00:35:43,340 Але ёсць і іншыя функцыі, як там добра, і 874 00:35:43,340 --> 00:35:45,890 stdio.h гэта тое, што мы бачылі ў верхняй часткі нашага 875 00:35:45,890 --> 00:35:48,480 Размовы раней, і гэта тое, што вядома як стандартнай бібліятэкі. 876 00:35:48,480 --> 00:35:51,300 Усярэдзіне стандартнай бібліятэцы цэлая куча функцый 877 00:35:51,300 --> 00:35:53,850 што нехта напісаў, і мы можам пачаць выкарыстоўваць гэтыя 878 00:35:53,850 --> 00:35:55,050 Функцыі пісаць больш 879 00:35:55,050 --> 00:35:56,760 цікавыя праграмы самі. 880 00:35:56,760 --> 00:35:58,370 >> Такім чынам, дазвольце мне вярнуцца да прыбора. 881 00:35:58,370 --> 00:35:59,820 Я збіраюся зачыніць гэта акно тэрмінала. 882 00:35:59,820 --> 00:36:02,630 Я збіраюся зачыніць рэчаў, якія мы пісалі раней, і проста пайсці 883 00:36:02,630 --> 00:36:07,350 у hello.c, і звярніце ўвагу, што зараз я магу зрабіць наступнае. 884 00:36:07,350 --> 00:36:09,730 Прывітанне свет яшчэ не ўсё, што цікава, я хацеў бы 885 00:36:09,730 --> 00:36:11,770 персаналізаванай гэтую праграму для сябе. 886 00:36:11,770 --> 00:36:13,440 Такім чынам, замест таго, каб сказаць свету, я збіраюся 887 00:36:13,440 --> 00:36:14,830 ісці наперад і сказаць - 888 00:36:14,830 --> 00:36:16,880 Я мог бы ўвесці David - але гэта сапраўды з'яўляецца свайго роду 889 00:36:16,880 --> 00:36:18,050 Прынцыпова тое ж самае. 890 00:36:18,050 --> 00:36:19,970 Але давайце паспрабуем гэтую ідэю запаўняльніка. 891 00:36:19,970 --> 00:36:24,460 Нагадаем, што ў C, а ў Printf, у нас былі гэтыя 892 00:36:24,460 --> 00:36:28,110 запаўняльнікаў, і ёсць больш, чым проста% г. 893 00:36:28,110 --> 00:36:31,150 Такім% D быў, хуткую праверку наяўнасці свядомасці. 894 00:36:31,150 --> 00:36:32,310 Добра, дзесятковы лік, вось і ўсё. 895 00:36:32,310 --> 00:36:33,860 Дзесятковых лічбаў, вось і ўсё. 896 00:36:33,860 --> 00:36:37,755 Такім% з, як мы сутыкнемся, будзе характар. 897 00:36:37,755 --> 00:36:40,530 Пакладзеце характар ​​літары тут праз г, 898 00:36:40,530 --> 00:36:41,600 або знакі прыпынку знак. 899 00:36:41,600 --> 00:36:45,590 Адзін знак,% F, хто-небудзь ведае з іншых моў? 900 00:36:45,590 --> 00:36:47,020 Такім чынам, значэнне з якая плавае кропкай. 901 00:36:47,020 --> 00:36:47,880 Рэчыўны лік. 902 00:36:47,880 --> 00:36:51,550 Так што не дзесятковы лік - гэта на самай справе рэальная колькасць з 903 00:36:51,550 --> 00:36:54,130 дзесятковай кропкі, і некаторай колькасці лічбаў злева 904 00:36:54,130 --> 00:36:55,520 і справа ад яго. 905 00:36:55,520 --> 00:36:58,060 % З, радок. 906 00:36:58,060 --> 00:36:59,530 Гэта той, які мы збіраемся бачыць даволі часта. 907 00:36:59,530 --> 00:37:02,140 Радок, зноў жа, гэта проста слова, фраза, паслядоўнасць 908 00:37:02,140 --> 00:37:03,330 асобных знакаў. 909 00:37:03,330 --> 00:37:06,730 І, нарэшце, доктар юрыдычных навук? 910 00:37:06,730 --> 00:37:08,210 Так што гэта больш кута выпадку. 911 00:37:08,210 --> 00:37:09,850 Доўга, доўга пасля коскі. 912 00:37:09,850 --> 00:37:12,035 Так што калі вы хочаце не проста лік, якое гэтая вялікая, вы 913 00:37:12,035 --> 00:37:14,160 хочуць большай колькасці, вы будзеце мець, каб паказаць 914 00:37:14,160 --> 00:37:16,400 кампутар, што гэта пэўнага памеру. 915 00:37:16,400 --> 00:37:17,610 >> Так што давайце змяніць гэты няшмат. 916 00:37:17,610 --> 00:37:20,610 Замест таго, каб проста цяжка кода Дэвід, дазвольце мне трохі 917 00:37:20,610 --> 00:37:22,460 дынамічна% кажуць с. 918 00:37:22,460 --> 00:37:25,790 Так што стаўце% з тут, які з'яўляецца прататыпам для радка. 919 00:37:25,790 --> 00:37:30,500 Тады дазвольце мне зрабіць коскі, а затым "Давід" тут. 920 00:37:30,500 --> 00:37:32,770 Зараз гэта не ўсё, што інтэлектуальна цікавым, 921 00:37:32,770 --> 00:37:35,060 таму што ўсё, што я зрабіў цяпер сапраўды стварае больш працы для 922 00:37:35,060 --> 00:37:35,790 кампутар. 923 00:37:35,790 --> 00:37:39,660 Замест таго, каб сказаць кампутара, рабіць гэта ўсё адразу, я зараз 924 00:37:39,660 --> 00:37:43,760 кажу гэта зрабіць і ўставіць радок тут у канчатковым рахунку, коска, 925 00:37:43,760 --> 00:37:44,950 тут з'яўляецца тое, што радок. 926 00:37:44,950 --> 00:37:47,220 Так што гэта не лепшае паляпшэнне, але гэта па меншай меры 927 00:37:47,220 --> 00:37:49,010 крок да больш цікавую праграму. 928 00:37:49,010 --> 00:37:51,240 Таму што цяпер, дазвольце мне ісці наперад і зрабіць гэта акно трохі 929 00:37:51,240 --> 00:37:56,850 больш, дазвольце мне ісці наперад і бегчы рабіць прывітанне. 930 00:37:56,850 --> 00:38:01,340 І цяпер,. / A.out не працуе, чаму? 931 00:38:03,880 --> 00:38:05,570 Добра, цяпер гэта называецца прывітанне. 932 00:38:05,570 --> 00:38:09,400 Такім чынам, яшчэ раз зрабіць, а таксама з ляскам-о, пераназваны 933 00:38:09,400 --> 00:38:11,120 Праграма будзе нешта больш цікавае. 934 00:38:11,120 --> 00:38:13,060 І вуаля: зараз ён кажа прывітанне Давіду. 935 00:38:13,060 --> 00:38:14,590 >> Добра, яшчэ дурная праграма. 936 00:38:14,590 --> 00:38:18,070 А цяпер давайце на самай справе вярнуцца сюды і ўвесці паняцце 937 00:38:18,070 --> 00:38:18,810 зменнай. 938 00:38:18,810 --> 00:38:21,600 Хіба не было б выдатна, калі б я мог абвясціць зменную 939 00:38:21,600 --> 00:38:23,150 , Тып якога з'яўляецца радок? 940 00:38:23,150 --> 00:38:26,720 І значэнне зменнай на самай справе адбываецца ад карыстальнікаў 941 00:38:26,720 --> 00:38:27,810 самога сябе. 942 00:38:27,810 --> 00:38:30,240 Такім чынам, адвольна, я збіраюся патэлефанаваць маёй зменнай с, што 943 00:38:30,240 --> 00:38:32,410 толькі агульная пагадненне, калі ў вас ёсць адна пераменная 944 00:38:32,410 --> 00:38:33,250 радком. 945 00:38:33,250 --> 00:38:35,670 Я збіраюся зрабіць знак роўнасці, і тады я буду называць 946 00:38:35,670 --> 00:38:38,030 Функцыя называецца GetString. 947 00:38:38,030 --> 00:38:40,830 Так GetString не тое, што ўбудаваны ў C. Гэта 948 00:38:40,830 --> 00:38:43,330 функцыя, якая CS50 супрацоўнікі напісалі, сапраўды толькі для 949 00:38:43,330 --> 00:38:45,670 гэтыя першыя пару тыдняў, каб спрасціць працэс 950 00:38:45,670 --> 00:38:49,450 атрымання карыстацкага ўводу і атрымання карыстацкага ўводу ў форме 951 00:38:49,450 --> 00:38:51,960 радкоў або лікаў, і такія. 952 00:38:51,960 --> 00:38:55,520 Так GetString, як Printf, але, відавочна, замест таго, 953 00:38:55,520 --> 00:38:58,700 раздрукаваць гэта будзе рабіць тое, што кажа яго назву, атрымаць радок. 954 00:38:58,700 --> 00:39:00,970 Але выкарыстоўваць GetString, мы збіраемся, каб унесці змены 955 00:39:00,970 --> 00:39:03,180 Тут, за гэтым. 956 00:39:03,180 --> 00:39:07,170 Такім чынам, інтуітыўна, гэтая праграма, мы спадзяемся, будзе так ці інакш 957 00:39:07,170 --> 00:39:09,700 атрымаць радок ад карыстальніка, а затым тое, што ён збіраецца рабіць 958 00:39:09,700 --> 00:39:11,460 з гэтага радка, называецца S? 959 00:39:15,060 --> 00:39:16,470 Гэта проста будзе раздрукаваць яго, праўда? 960 00:39:16,470 --> 00:39:18,870 Яшчэ не стымулюючыя праграмы, таму што ўсё гэта будзе 961 00:39:18,870 --> 00:39:22,160 трэба зрабіць, гэта падключыць гэта значэнне ў%, дзе з 962 00:39:22,160 --> 00:39:23,750 кажа, што трэба ісці. 963 00:39:23,750 --> 00:39:25,290 >> Такім чынам, давайце па крайняй меры, пабачыць гэта ў дзеянні. 964 00:39:25,290 --> 00:39:27,040 Дазвольце мне захаваць і маштабу. 965 00:39:27,040 --> 00:39:30,280 Зараз у маім акне тэрмінала тут, унізе, маленькі кавалачак аднаго, 966 00:39:30,280 --> 00:39:32,760 Дазвольце мне яшчэ раз робяць прывітанне. 967 00:39:32,760 --> 00:39:35,160 Добра, і ах, чорт вазьмі, я атрымаў цэлую кучу памылак. 968 00:39:35,160 --> 00:39:38,020 Дазвольце мне прагортку ўверх, і мы бачым наш першы - 969 00:39:38,020 --> 00:39:40,430 так што давайце на самай справе зрабіць гэта ў яшчэ вялікія вокны, каб вы 970 00:39:40,430 --> 00:39:42,110 можна ўбачыць, як моцна я аблажаўся - 971 00:39:42,110 --> 00:39:44,460 так што прывітанне. 972 00:39:44,460 --> 00:39:46,540 Добра, што гэта катастрофа, ці не так? 973 00:39:46,540 --> 00:39:48,740 Я напісаў тры радкі кода, і 974 00:39:48,740 --> 00:39:50,070 гэта дае мне 12 памылак. 975 00:39:50,070 --> 00:39:51,980 Дык чаму ж гэта? 976 00:39:51,980 --> 00:39:55,720 Так што, на шчасце, часта, калі вы бачыце вельмі шмат памылак 977 00:39:55,720 --> 00:39:57,730 выплёўваючы адразу, гэта сапраўды проста таму, што вы 978 00:39:57,730 --> 00:39:59,760 блытаць кампутар тут. 979 00:39:59,760 --> 00:40:02,330 І застаецца блытаюць да таго часу ён атрымлівае тут. 980 00:40:02,330 --> 00:40:04,400 І таму ён проста пачынае адключэння, і спатыкаючыся, і 981 00:40:04,400 --> 00:40:07,310 выплёўваючы больш страшныя рэчы, чым на самай справе ставіцца. 982 00:40:07,310 --> 00:40:10,120 Такім чынам, у агульным, заўсёды пачынайце з верхняй. 983 00:40:10,120 --> 00:40:13,320 >> Так на самым версе самы асобнік чырвонага, 984 00:40:13,320 --> 00:40:14,740 Паведамленне пра памылку заключаецца ў наступным. 985 00:40:14,740 --> 00:40:17,750 Выкарыстанне неаб'яўленых ідэнтыфікатара радкі, я 986 00:40:17,750 --> 00:40:19,160 азначае стандарт? 987 00:40:19,160 --> 00:40:19,900 Я гэтага не зрабіў. 988 00:40:19,900 --> 00:40:24,180 Я меў на ўвазе радкі, але гэта таму, што таксама слова радкі 989 00:40:24,180 --> 00:40:26,020 што я працягваць выкарыстоўваць вусна на самай справе 990 00:40:26,020 --> 00:40:27,240 не існуе ў C небудзь. 991 00:40:27,240 --> 00:40:29,470 Гэта тое, што мы будзем выкарыстоўваць толькі на працягу першага тыдня або двух 992 00:40:29,470 --> 00:40:34,500 тут, але яно існуе ў файле пад назвай cs50.h. 993 00:40:34,500 --> 00:40:37,110 Такім чынам, на дадзены момант, ведаю, што ёсць гэтая іншая бібліятэка, якая 994 00:40:37,110 --> 00:40:39,330 Супрацоўнікі пісаў, так што ён быў напісаны пазней, чым 995 00:40:39,330 --> 00:40:40,510 stdio.h. 996 00:40:40,510 --> 00:40:45,020 Але ўнутры cs50.h з'яўляецца вызначэнне, сінонім 997 00:40:45,020 --> 00:40:48,310 роду, які стварае гэтае слова радка. 998 00:40:48,310 --> 00:40:50,890 >> Так што цяпер дазвольце мне вярнуцца да маёй акне тэрмінала. 999 00:40:50,890 --> 00:40:53,200 Я збіраюся ачысціць ўвесь гэты бардак па Ctrl-L. Мы проста 1000 00:40:53,200 --> 00:40:55,700 сцерці ўсе чыстае, і я збіраюся пайсці далей і зрабіць 1001 00:40:55,700 --> 00:40:57,860 Добры дзень яшчэ раз, Enter. 1002 00:40:57,860 --> 00:40:59,440 Так што ж адбылося цяпер? 1003 00:40:59,440 --> 00:41:01,150 Зараз усе гэтыя памылкі сышлі. 1004 00:41:01,150 --> 00:41:02,230 Так што я сапраўды зрабіў? 1005 00:41:02,230 --> 00:41:05,920 Я толькі што навучыў кампутар, радок існуе, і гэта 1006 00:41:05,920 --> 00:41:07,890 у тым, што файл з імем cs50.h. 1007 00:41:07,890 --> 00:41:10,930 Так што перастаньце скардзіцца, таму што цяпер вы ведаеце, дзе знайсці 1008 00:41:10,930 --> 00:41:13,220 заяву, што функцыі, так бы мовіць. 1009 00:41:13,220 --> 00:41:15,200 Дзе яна існуе ў свеце. 1010 00:41:15,200 --> 00:41:18,820 >> Так што цяпер я буду ісці наперад і працаваць прывітанне. 1011 00:41:18,820 --> 00:41:22,300 Я, здаецца, бясконцы цыкл, нічога не адбываецца. 1012 00:41:25,530 --> 00:41:26,870 Так што мне трэба нешта тыпу тут, прама. 1013 00:41:26,870 --> 00:41:29,650 Першы радок кода ў маёй праграме было GetString. 1014 00:41:29,650 --> 00:41:31,750 Так што літаральна чакае мяне, каб атрымаць радок. 1015 00:41:31,750 --> 00:41:33,680 Так што ў гэтым сэнсе так, гэта бясконцы цыкл. 1016 00:41:33,680 --> 00:41:36,520 Мабыць, у GetString па змаўчанні паводзіны, якое мы 1017 00:41:36,520 --> 00:41:37,510 напісаў - персанал - 1018 00:41:37,510 --> 00:41:39,550 проста кажа, што чакаць і чакаць і чакаць і чакаць і чакаць, 1019 00:41:39,550 --> 00:41:42,550 пакуль карыстач не дае вам радок, набраўшы нешта цалі 1020 00:41:42,550 --> 00:41:46,000 Такім чынам, дазвольце мне ісці наперад і тыпу D - V - I-й, Enter. 1021 00:41:46,000 --> 00:41:47,420 І вось ён, прывітанне Давіду. 1022 00:41:47,420 --> 00:41:50,430 >> Цяпер гэта здаецца, што гэта проста акт? 1023 00:41:50,430 --> 00:41:52,810 Дазвольце мне пайсці далей і ўвесці Томі. 1024 00:41:52,810 --> 00:41:54,740 Калі ласка, увядзіце, добра, здаецца, працуе. 1025 00:41:54,740 --> 00:41:59,130 Работы для Роба, працы па Zamyla, працуе - добра. 1026 00:41:59,130 --> 00:42:01,000 Так што гэта будзе працаваць, хутчэй за ўсё. 1027 00:42:01,000 --> 00:42:05,030 Так яно і павінна надрукаваць усё, што мы на самай справе даць, 1028 00:42:05,030 --> 00:42:07,830 і мы можам быць трохі цяжка тут. 1029 00:42:07,830 --> 00:42:12,130 Давайце паглядзім, калі мы робім нешта накшталт прывітанне. 1030 00:42:12,130 --> 00:42:18,000 Ці можаце ісці сюды, давайце паглядзім, капіяваць, ўстаўляць. 1031 00:42:18,000 --> 00:42:19,950 Я не збіраюся быць у стане ўставіць, што шмат разоў тут. 1032 00:42:19,950 --> 00:42:24,410 Уставіць у парадку, Shift + Ctrl + V. Так што ж можа 1033 00:42:24,410 --> 00:42:26,970 здарыцца, што гэта дрэнна? 1034 00:42:26,970 --> 00:42:27,770 >> Добра, такім чынам, сегментацыі. 1035 00:42:27,770 --> 00:42:29,710 Такім чынам, некаторыя з вас з папярэдняга фон будзе ведаць, што 1036 00:42:29,710 --> 00:42:32,710 як правіла, даючы кампутараў шмат уваходаў, калі яны 1037 00:42:32,710 --> 00:42:36,140 верагодна, не азначала, каб атрымаць доўгія імёны, як гэта - дрэнна 1038 00:42:36,140 --> 00:42:36,740 рэчы. 1039 00:42:36,740 --> 00:42:39,230 Сапраўды, у свеце вэб-таксама, гэта адбудзецца зусім крыху, 1040 00:42:39,230 --> 00:42:41,000 якому пры праектаванні вэб-сайта, калі вы 1041 00:42:41,000 --> 00:42:43,850 Праектаванне Facebook, вы павінны зрабіць адвольныя рашэнні да 1042 00:42:43,850 --> 00:42:45,370 перадпакоі, напрыклад, як доўга будзе чыйсьці 1043 00:42:45,370 --> 00:42:46,360 Facebook імя карыстальніка можа быць? 1044 00:42:46,360 --> 00:42:48,050 Ці, як доўга будзе спачатку чыёсьці імя можа быць? 1045 00:42:48,050 --> 00:42:50,110 Як доўга будзе нумар тэлефона кагосьці быць і таму падобнае. 1046 00:42:50,110 --> 00:42:53,580 І калі праграмісты робяць няслушныя здагадкі, праграмы зламаць 1047 00:42:53,580 --> 00:42:56,640 таму што вы спрабуеце даць ім больш прадукцыі, больш уваходнага 1048 00:42:56,640 --> 00:42:58,330 хутчэй, чым яны маюць памяць. 1049 00:42:58,330 --> 00:43:01,860 Ці аператыўнай памяці, выдзеленай для яго, і таму, калі цяпер я ўдарыў Enter, 1050 00:43:01,860 --> 00:43:04,640 што праграма на самай справе працуе, таму што мы былі ў бібліятэцы 1051 00:43:04,640 --> 00:43:06,790 і мы сапраўды чакалі дадзеным канкрэтным выпадку. 1052 00:43:06,790 --> 00:43:10,900 Але, безумоўна, у гэтым семестры, вы будзеце пісаць па крайняй меры адзін 1053 00:43:10,900 --> 00:43:13,280 праграма, якая будзе казаць гэтыя словы. 1054 00:43:13,280 --> 00:43:16,520 Памятаеце пра гэта тыдняў з гэтага моманту, можа быць, праз два дні. 1055 00:43:16,520 --> 00:43:18,760 Памылка сегментацыі гэта дрэнна. 1056 00:43:18,760 --> 00:43:21,920 Ён будзе ставіцца да вашых робіце нешта, што кампутар 1057 00:43:21,920 --> 00:43:23,310 не чакаў. 1058 00:43:23,310 --> 00:43:25,810 І ў гэтым выпадку, вы, праграміст, не чакаў. 1059 00:43:25,810 --> 00:43:27,720 Шмат што спадабалася тое, што гэтую кучу шкарпэтак, існуюць розныя 1060 00:43:27,720 --> 00:43:29,520 вуглом выпадках мы маглі б сутыкнуцца. 1061 00:43:29,520 --> 00:43:32,340 Сапраўды гэтак жа ў праграмах, калі вы не прадбачыць, як доўга 1062 00:43:32,340 --> 00:43:33,310 чыёсьці імя будзе. 1063 00:43:33,310 --> 00:43:35,890 Або што, калі ў мяне ёсць зламыснік, і яго ці яе імя 1064 00:43:35,890 --> 00:43:37,230 на самай справе даволі кароткі, але яны проста спрабуюць 1065 00:43:37,230 --> 00:43:37,960 звязвацца са мной? 1066 00:43:37,960 --> 00:43:40,490 Што будзе ў паводзінах маёй праграмы? 1067 00:43:40,490 --> 00:43:43,930 Ну, у такім выпадку, нешта можа на самай справе збой. 1068 00:43:43,930 --> 00:43:44,750 >> Так давайце зробім гэта. 1069 00:43:44,750 --> 00:43:46,860 У 90 хвілін, гэта жудасна доўга 1070 00:43:46,860 --> 00:43:47,780 зрабіць інфарматыку. 1071 00:43:47,780 --> 00:43:49,550 Чаму б нам не ўвайсці ў звычку пяць хвілін 1072 00:43:49,550 --> 00:43:51,520 разбіць тут, і калі мы вернемся, мы будзем апускацца ў некаторых 1073 00:43:51,520 --> 00:43:53,430 больш складаныя і пераканаўчыя праграмы? 1074 00:43:53,430 --> 00:43:54,680 Пяць хвілін. 1075 00:43:56,910 --> 00:43:58,160 >> Добра. 1076 00:44:01,138 --> 00:44:02,780 Такім чынам, адзін хуткі каментар. 1077 00:44:02,780 --> 00:44:05,590 Мне сказалі, што, хоць гэта было на экране раней, што 1078 00:44:05,590 --> 00:44:08,880 выйшла з маіх вуснаў было cs50.net/rsvp. 1079 00:44:08,880 --> 00:44:11,670 Гэта правільна. cs50.net/lunch. 1080 00:44:11,670 --> 00:44:16,030 Такім чынам, зараз вы можаце паспрабаваць RSVPing для гэтага ў / абед. 1081 00:44:16,030 --> 00:44:16,980 Але давайце зробім гэта цяпер. 1082 00:44:16,980 --> 00:44:20,150 Так гэта было супер хуткі, супер новы для вялікай колькасці людзей. 1083 00:44:20,150 --> 00:44:21,560 Старыя капялюшы для некаторых людзей. 1084 00:44:21,560 --> 00:44:24,930 Так што давайце пераматаць на імгненне, і паглядзець, як мы дабраліся да 1085 00:44:24,930 --> 00:44:29,350 гэта прывітанне сусветнага вытворчасці імгненне назад. 1086 00:44:29,350 --> 00:44:31,780 >> Такім чынам, па-першае, ёсць такі CS50 Appliance. 1087 00:44:31,780 --> 00:44:34,270 Зноў жа, частку праграмнага забеспячэння, задача ўсталяваць 1 раскажа 1088 00:44:34,270 --> 00:44:36,610 Вам, як загрузіць яго, дзе яго спампаваць, то націснуць 1089 00:44:36,610 --> 00:44:37,430 і гэтак далей. 1090 00:44:37,430 --> 00:44:39,670 І вось аднойчы вы будзеце ісці гэтым інструкцыям, вы зможаце 1091 00:44:39,670 --> 00:44:42,840 каб павялічыць вашыя вокны, і ваш Mac ці PC будзе выглядаць 1092 00:44:42,840 --> 00:44:43,910 мала нешта накшталт гэтага. 1093 00:44:43,910 --> 00:44:47,170 Чорны фон, хатняй тэчкі на вяршыні, дзе ўсё 1094 00:44:47,170 --> 00:44:49,850 Вашы файлы ідуць, смеццевы бак у левым верхнім куце, 1095 00:44:49,850 --> 00:44:51,130 меню ў ніжняй часткі. 1096 00:44:51,130 --> 00:44:54,010 Такім чынам, яшчэ раз, вельмі падобныя па духу Mac OS або Windows, 1097 00:44:54,010 --> 00:44:56,040 нават калі яно адбудзецца, будзе Linux. 1098 00:44:56,040 --> 00:44:58,120 Такім чынам, што ж мы ў наступны раз рабіць? 1099 00:44:58,120 --> 00:44:59,580 Ну, мы пачалі пісаць праграмы. 1100 00:44:59,580 --> 00:45:02,260 І памятаеце з мінулым тыдні, што ўсё, што трэба напісаць 1101 00:45:02,260 --> 00:45:04,970 Праграма ўяўляе сабой просты тэкставы рэдактар, 1102 00:45:04,970 --> 00:45:06,550 як Нататнік або TextEdit. 1103 00:45:06,550 --> 00:45:08,360 Шчыра кажучы, вы нават можаце выкарыстоўваць Microsoft Word. 1104 00:45:08,360 --> 00:45:11,170 Але дрэнна, у рэшце рэшт адбудзецца, таму што гэта вельмі 1105 00:45:11,170 --> 00:45:13,930 жорсткія рашэнні для напісання праграмы, а таксама ён будзе 1106 00:45:13,930 --> 00:45:15,400 захаваць яго ў няправільным фармаце. 1107 00:45:15,400 --> 00:45:18,150 Але гэта проста тэкставы рэдактар, тэкставы працэсар, гэта ўсё, што 1108 00:45:18,150 --> 00:45:19,390 трэба напісаць праграму. 1109 00:45:19,390 --> 00:45:23,420 >> Такім чынам, у CS50 Appliance, мы можам зрабіць гэта ў адзін просты спосаб. 1110 00:45:23,420 --> 00:45:25,580 Мы можам проста націснуць на гэты значок у левым ніжнім куце. 1111 00:45:25,580 --> 00:45:28,790 І зноў жа, праблема ўсталяваць 1 пракансультуюць Вас пра гэта, і вуаля - 1112 00:45:28,790 --> 00:45:31,210 Вы атрымліваеце гэтую чорна-белы інтэрфейс, дзе мы можам пачаць 1113 00:45:31,210 --> 00:45:32,160 напісання кода. 1114 00:45:32,160 --> 00:45:34,960 Такім чынам, давайце пачнем пісаць супер проста праграму яшчэ раз. 1115 00:45:34,960 --> 00:45:38,890 Я збіраюся ісці да файла, захаваць, і я збіраюся патэлефанаваць 1116 00:45:38,890 --> 00:45:42,870 гэта, скажам так, hello2.c. 1117 00:45:42,870 --> 00:45:45,410 І я проста кажу, націснуўшы на jharvard, паклаў яго 1118 00:45:45,410 --> 00:45:46,750 У сваёй хатняй дырэкторыі, я сапраўды не клапачуся 1119 00:45:46,750 --> 00:45:47,980 дзе гэта не ідзе. 1120 00:45:47,980 --> 00:45:49,090 А затым Захаваць. 1121 00:45:49,090 --> 00:45:50,880 І цяпер я магу пачаць пісаць маю праграму. 1122 00:45:50,880 --> 00:45:53,560 І я памятаю з раней, што я павінен напісаць Int 1123 00:45:53,560 --> 00:45:55,400 асноўных (несапраўднымі). 1124 00:45:55,400 --> 00:45:57,000 Павялічыць на верхнім левым куце. 1125 00:45:57,000 --> 00:46:02,670 А потым я хачу сказаць, Printf, вазьміце два. 1126 00:46:02,670 --> 00:46:05,690 А цяпер радкі, блізкія цытата, зачыніце 1127 00:46:05,690 --> 00:46:07,820 дужкі, кропка з коскі. 1128 00:46:07,820 --> 00:46:10,560 І тады я іду сюды, каб мае вокны тэрмінала, што гэта 1129 00:46:10,560 --> 00:46:12,840 убудаваны ў Gedit, проста для выгоды. 1130 00:46:12,840 --> 00:46:15,200 І я збіраюся пайсці далей і напісаць Прывітанне зрабіць, але не 1131 00:46:15,200 --> 00:46:17,500 Прывітанне адна, hello2. 1132 00:46:17,500 --> 00:46:20,490 >> Так што мой файл называецца hello2.c. Мой файл таму 1133 00:46:20,490 --> 00:46:23,510 варта назваць hello2, у дадзеным выпадку. 1134 00:46:23,510 --> 00:46:26,490 Чорт вазьмі, што ж я зрабіў не так? 1135 00:46:26,490 --> 00:46:29,490 Добра, я выразна апушчаны радкі, калі ўспомніць, што 1136 00:46:29,490 --> 00:46:31,020 папярэдніх праграм выглядаць. 1137 00:46:31,020 --> 00:46:32,480 Але давайце паглядзім, калі мы не можам дражніць гэтага адзін ад аднаго. 1138 00:46:32,480 --> 00:46:35,310 На жаль, большасць людзей, якія пішуць праграмы, з якой 1139 00:46:35,310 --> 00:46:38,820 мы пішам праграмы не спрасціць ўсё, што добра. 1140 00:46:38,820 --> 00:46:41,520 Таму мы павінны выгляду абястлушчанага за тое, што не зусім зрабіць 1141 00:46:41,520 --> 00:46:44,050 сэнс тут і паглядзець, калі мы можам высветліць, што здарылася. 1142 00:46:44,050 --> 00:46:46,700 Самая першая радок там гаворыцца няяўна абвясціць C 1143 00:46:46,700 --> 00:46:49,310 бібліятэчныя функцыі Printf з тыпам Int. 1144 00:46:49,310 --> 00:46:51,210 Добра, я зразумеў часткай гэтага. 1145 00:46:51,210 --> 00:46:54,570 Але гэта, здаецца, намякае на тое, што я выкарыстаў Printf 1146 00:46:54,570 --> 00:46:55,700 так, як-то. 1147 00:46:55,700 --> 00:46:56,930 А які сэнс гэта няправільна? 1148 00:46:56,930 --> 00:46:59,970 Я проста не навучыць кампутар, на якім ён знаходзіцца ў файле 1149 00:46:59,970 --> 00:47:01,420 называецца stdio.h. 1150 00:47:01,420 --> 00:47:04,120 Цяпер у мяне ёсць толькі проста запомніць, што зараз гэта Printf 1151 00:47:04,120 --> 00:47:06,540 У stdio.h, ды і там будзе іншы 1152 00:47:06,540 --> 00:47:08,900 функцый у тым жа файле, што мы будзем прывыкаць. 1153 00:47:08,900 --> 00:47:12,490 >> Так што цяпер дазвольце мне ісці наперад і ўдарыў Ctrl-L проста зразумець, што 1154 00:47:12,490 --> 00:47:16,050 далёка, каб паўторныя hello2, і вуаля. 1155 00:47:16,050 --> 00:47:19,490 І гэтую каманду яшчэ раз, больш складаныя, чым мы будзем тлумачыць, для 1156 00:47:19,490 --> 00:47:20,520 сённяшнія мэты. 1157 00:47:20,520 --> 00:47:23,570 Але гэта запусціць ляск i звон бярэ зыходны код і 1158 00:47:23,570 --> 00:47:24,870 выплёўвае 0 і 1. 1159 00:47:24,870 --> 00:47:28,610 А тыя, 0 і 1 у гэтым выпадку называюцца што? 1160 00:47:28,610 --> 00:47:29,470 Добра, аб'ектны код. 1161 00:47:29,470 --> 00:47:32,210 І файл, які яны ў яшчэ называюць, так, 1162 00:47:32,210 --> 00:47:33,820 hello2, у дадзеным выпадку. 1163 00:47:33,820 --> 00:47:37,040 Таму што мой тэкставай файл быў hello2.c, Enter. 1164 00:47:37,040 --> 00:47:39,820 А цяпер я ўзяць два клічнік, клічнік 1165 00:47:39,820 --> 00:47:41,880 кропка, клічнік. 1166 00:47:41,880 --> 00:47:45,430 Добра, мы цяпер маем магчымасць атрымаць радкі, 1167 00:47:45,430 --> 00:47:46,280 па-відаць. 1168 00:47:46,280 --> 00:47:48,190 Ну, што яшчэ мы можам атрымаць ад карыстальнікаў? 1169 00:47:48,190 --> 00:47:51,010 >> Ну, у CS50 бібліятэкі, ёсць і іншыя функцыі, 1170 00:47:51,010 --> 00:47:53,300 збіраюцца спрасціць нашу жыццё ў гэтыя першыя некалькі дзён. 1171 00:47:53,300 --> 00:47:56,350 GetChar, GetDouble, GetFloat, GetInt, 1172 00:47:56,350 --> 00:47:57,290 GetLongLong, GetString. 1173 00:47:57,290 --> 00:47:59,550 Ну, давайце абрываць самы просты з іх у першую чаргу. 1174 00:47:59,550 --> 00:48:01,430 GetString літаральна робіць гэта. 1175 00:48:01,430 --> 00:48:04,210 Ён проста сядзіць там, чакаючы, калі карыстальнік ўвядзе што-небудзь, 1176 00:48:04,210 --> 00:48:07,170 і як толькі я набіраю нешта ў і націсніце Enter, гэта 1177 00:48:07,170 --> 00:48:08,860 робіць нешта з гэтым значэннем. 1178 00:48:08,860 --> 00:48:11,700 Так што давайце вернемся да гэтага прыкладу, каб убачыць менавіта тое, што 1179 00:48:11,700 --> 00:48:12,950 GetString рабіў. 1180 00:48:12,950 --> 00:48:17,445 Дазвольце мне ісці наперад і адкрываць у Gedit, hello.c, і ўспомніць 1181 00:48:17,445 --> 00:48:20,590 гэта права да перапынку, гэта тое, дзе мы спыніліся. 1182 00:48:20,590 --> 00:48:23,240 >> Такім чынам, давайце зараз дражняць адзін ад аднаго ў гэтым крыху падрабязней. 1183 00:48:23,240 --> 00:48:27,190 Такім чынам, у радку 6, ёсць дзве рэчы, 1184 00:48:27,190 --> 00:48:28,450 адбываецца ў дадзены момант. 1185 00:48:28,450 --> 00:48:32,630 Знак роўнасці аддзялення першай паловы і другой паловы. 1186 00:48:32,630 --> 00:48:34,670 Такім чынам, на левай баку знака роўнасці, мы 1187 00:48:34,670 --> 00:48:35,580 кажуць радкі с. 1188 00:48:35,580 --> 00:48:37,580 А потым, умовы проста непрафесіянала, што радок з 1189 00:48:37,580 --> 00:48:41,040 рабіць, як вы думаеце? 1190 00:48:41,040 --> 00:48:42,990 Гэта стварае Што? 1191 00:48:42,990 --> 00:48:44,930 Такім чынам, гэта стварэнне радкі называецца с. 1192 00:48:44,930 --> 00:48:46,370 Цяпер тое, што гэта сапраўды азначае? 1193 00:48:46,370 --> 00:48:51,540 Ну, гэта рэзервавання месцы для радкі называецца с. 1194 00:48:51,540 --> 00:48:52,490 Гэта не зусім дакладна. 1195 00:48:52,490 --> 00:48:53,120 Што гэта робіш? 1196 00:48:53,120 --> 00:48:55,400 Ну кампутараў, як вы ведаеце, у жорсткіх дыскаў, што, дзе 1197 00:48:55,400 --> 00:48:56,300 Вашы файлы захоўваюцца. 1198 00:48:56,300 --> 00:48:59,100 Кампутары маюць RAM, а вось дзе праграмы загружаюцца 1199 00:48:59,100 --> 00:49:00,240 у той час як яны працуюць. 1200 00:49:00,240 --> 00:49:02,470 Такім чынам, калі вы двойчы пстрыкніце значок і Microsoft Word адкрывае 1201 00:49:02,470 --> 00:49:06,380 ўверх, Microsoft Word працуе, так бы мовіць, у аператыўнай памяці, якая з'яўляецца 1202 00:49:06,380 --> 00:49:08,160 Электронная частка вашага кампутара. 1203 00:49:08,160 --> 00:49:10,660 Ці не фізічную, механічную частка, якая круціцца, дзе 1204 00:49:10,660 --> 00:49:12,640 Дадзеныя звычайна захоўваюцца ў доўгатэрміновай перспектыве. 1205 00:49:12,640 --> 00:49:15,810 Так радок з даволі шмат кажа кампутара, дайце мне 1206 00:49:15,810 --> 00:49:18,150 дастаткова аператыўнай памяці, каб адпавядаць радку. 1207 00:49:18,150 --> 00:49:20,450 Цяпер гэта крыху спрошчана, таму што 1208 00:49:20,450 --> 00:49:22,300 Наколькі вялікая радок будзе? 1209 00:49:22,300 --> 00:49:24,410 Ну, мы на самай справе яшчэ не ведаю, так што ў бліжэйшыя тыдні 1210 00:49:24,410 --> 00:49:27,290 мы на самай справе адступіць пласт, які з'яўляецца радком і 1211 00:49:27,290 --> 00:49:28,510 Мы вам скажу, што гэта сапраўды так. 1212 00:49:28,510 --> 00:49:31,050 String, на дадзены момант, гэта проста добрая спрашчэння нашага свету. 1213 00:49:31,050 --> 00:49:35,700 Але радок з заяўляе радок называецца с, на дадзены момант. 1214 00:49:35,700 --> 00:49:36,520 Аб'яўляе радок. 1215 00:49:36,520 --> 00:49:39,310 Гэта пакідае некаторы прастору ў аператыўнай памяці для радкі карыстальнік 1216 00:49:39,310 --> 00:49:40,150 Аб друкаваць. 1217 00:49:40,150 --> 00:49:41,840 >> Зараз давайце паглядзім на права знак роўнасці. 1218 00:49:41,840 --> 00:49:44,110 Так ён кажа GetString (). 1219 00:49:44,110 --> 00:49:45,070 І трохі разважнасці праверыць. 1220 00:49:45,070 --> 00:49:47,940 Справа ў тым, што няма нічога ўнутры дужак 1221 00:49:47,940 --> 00:49:50,810 вынікае, што пра GetString? 1222 00:49:50,810 --> 00:49:52,180 Ён не прымае аргументаў. 1223 00:49:52,180 --> 00:49:55,290 Гэта значыць, вы не можаце ўплываць на яго паводзіны ў любым выпадку. 1224 00:49:55,290 --> 00:49:58,940 Кожны раз, калі вы выкарыстоўваеце яго, ён будзе атрымліваць радок, вось і ўсё. 1225 00:49:58,940 --> 00:50:02,210 У адрозненне ад Printf, спадзяюся, яго паводзіны робіць 1226 00:50:02,210 --> 00:50:03,010 змяніць у любы час. 1227 00:50:03,010 --> 00:50:05,230 У адваротным выпадку, гэта даволі бескарысная функцыя друку, калі 1228 00:50:05,230 --> 00:50:06,480 ён робіць тое ж самае. 1229 00:50:06,480 --> 00:50:07,970 Калі яна заўсёды друкуе Дэвіда ці нешта 1230 00:50:07,970 --> 00:50:09,500 адвольнага ўвесь час. 1231 00:50:09,500 --> 00:50:11,540 Так Printf мае сэнс мець аргумент. 1232 00:50:11,540 --> 00:50:14,240 GetString на самай справе не патрэбныя аргументы, таму што я хацеў 1233 00:50:14,240 --> 00:50:16,700 , Каб атрымаць радок ад карыстальніка, і гэта карыстальнік, які збіраецца 1234 00:50:16,700 --> 00:50:19,580 на пастаўку дынамізм, набраўшы ў розных літар 1235 00:50:19,580 --> 00:50:20,850 кожны раз на клавіятуры. 1236 00:50:20,850 --> 00:50:23,140 >> Такім чынам, што ж рабіць у канчатковым рахунку GetString? 1237 00:50:23,140 --> 00:50:25,080 Думайце пра гэта як гэтая маленькая чорная скрынка. 1238 00:50:25,080 --> 00:50:29,340 І гэта чорны скрыню не прымае ўвод, але калі вы выбуху на 1239 00:50:29,340 --> 00:50:33,240 , Яна выплёўвае радок, карыстальнік увёў цалі 1240 00:50:33,240 --> 00:50:36,660 А тое, што там ёсць знак роўнасці азначае прыняць 1241 00:50:36,660 --> 00:50:39,890 што пляваць на правы і захоўваць яго ўнутры 1242 00:50:39,890 --> 00:50:41,390 Што злева. 1243 00:50:41,390 --> 00:50:43,470 Такім чынам, знак роўнасці тут, на самай справе зусім не азначае, 1244 00:50:43,470 --> 00:50:46,490 роўнасць, а тэхнічна азначае прызначэнне. 1245 00:50:46,490 --> 00:50:49,330 Возьмем значэнне справа, і паклаў яго ў 1246 00:50:49,330 --> 00:50:51,050 зменную злева. 1247 00:50:51,050 --> 00:50:52,820 Так што ўсё, што там адбываецца. 1248 00:50:52,820 --> 00:50:55,640 >> Цяпер у радку 7, мы выклікаем Printf. 1249 00:50:55,640 --> 00:50:58,170 Так Printf спадзяюся, становіцца трохі сумна ў цяперашні час. 1250 00:50:58,170 --> 00:50:59,530 Такім чынам, друк адфарматаваную радок. 1251 00:50:59,530 --> 00:51:00,440 Што радок? 1252 00:51:00,440 --> 00:51:05,460 Раздрукуйце, "ч-е-л-л-о, ы% 1253 00:51:05,460 --> 00:51:07,840 ! \ П ". 1254 00:51:07,840 --> 00:51:10,470 Добра, так што я хачу, каб убудова для% S? 1255 00:51:10,470 --> 00:51:12,960 Літаральна ўсё, што захоўваецца ў с. 1256 00:51:12,960 --> 00:51:15,570 Такім чынам, у гэтым выпадку, мала праверку наяўнасці свядомасці, колькі аргументаў робіць 1257 00:51:15,570 --> 00:51:16,820 Printf ўзяць? 1258 00:51:19,860 --> 00:51:21,110 Добра, я чуў, як адзін. 1259 00:51:23,840 --> 00:51:26,330 Я чуў, як адзін раз. 1260 00:51:26,330 --> 00:51:27,730 Два, я пачуў два. 1261 00:51:27,730 --> 00:51:29,920 А як наконт трох? 1262 00:51:29,920 --> 00:51:30,450 Добра, тры? 1263 00:51:30,450 --> 00:51:30,930 Выдатна. 1264 00:51:30,930 --> 00:51:33,170 Тры варыянту адказу, толькі адзін з іх правільны. 1265 00:51:33,170 --> 00:51:36,390 Такім чынам, аргументы зноў ўплываць на паводзіны функцыі. 1266 00:51:36,390 --> 00:51:39,380 У мінулым Printf ж прымаюць толькі адзін аргумент. 1267 00:51:39,380 --> 00:51:42,260 "Прывітанне свет" быў адзіны аргумент. 1268 00:51:42,260 --> 00:51:45,190 Аднак, зараз, звярніце ўвагу, дзе гэтая коска. 1269 00:51:45,190 --> 00:51:49,600 Гэта коскі знаходзіцца за межамі цытаты / канец цытаты, што азначае, 1270 00:51:49,600 --> 00:51:52,170 эй Printf, вось другі аргумент. 1271 00:51:52,170 --> 00:51:54,240 >> Так што коскі ў большасці моў праграмавання 1272 00:51:54,240 --> 00:51:57,300 асобная некалькі аргументаў. 1273 00:51:57,300 --> 00:51:59,600 Такім чынам, адказ тут, безумоўна, не адзін, таму што 1274 00:51:59,600 --> 00:52:00,390 ёсць гэтая коска. 1275 00:52:00,390 --> 00:52:03,680 Такім чынам, мінімальна, Printf мабыць прымаючы 2 1276 00:52:03,680 --> 00:52:04,940 Аргументы ў гэты раз. 1277 00:52:04,940 --> 00:52:07,050 Але магчымасці для падступнае пытанне тут з'яўляецца тое, што 1278 00:52:07,050 --> 00:52:07,990 пра гэта коскі? 1279 00:52:07,990 --> 00:52:11,260 Ці азначае гэта, што там на самой справе 3 аргументу? 1280 00:52:11,260 --> 00:52:13,820 Гэта, гэта і гэта. 1281 00:52:13,820 --> 00:52:18,820 Так што няма, таму што коска знаходзіцца ўсярэдзіне двукоссяў, якія 1282 00:52:18,820 --> 00:52:20,890 азначае, што гэта сапраўды толькі эстэтычнае англійскай мовы. 1283 00:52:20,890 --> 00:52:23,180 Гэта не мае нічога агульнага з лікам 1284 00:52:23,180 --> 00:52:24,890 Аргументы ў гэтай праграме. 1285 00:52:24,890 --> 00:52:27,670 Так што гэта коска знаходзіцца за межамі падвойныя двукоссі. 1286 00:52:27,670 --> 00:52:28,850 А потым вяртаць 0. 1287 00:52:28,850 --> 00:52:30,980 А цяпер давайце проста як бы ўзяць гэты на веру 1288 00:52:30,980 --> 00:52:34,460 сёння, і дакладна ведаю, што, калі функцыі выконваюцца выканання 1289 00:52:34,460 --> 00:52:37,950 радкоў кода, яны павінны звычайна вяртаюць некаторы значэнне. 1290 00:52:37,950 --> 00:52:42,010 У гэтым выпадку, проста таму, што асноўная павінны вярнуцца INT, 1291 00:52:42,010 --> 00:52:44,320 што проста так на мове C працуе. 1292 00:52:44,320 --> 00:52:47,040 >> Такім чынам, таму што нічога не пайшло не так, як адчувае сябе гэтай праграмы 1293 00:52:47,040 --> 00:52:49,960 добра, я проста жорстка ў адказ 0. 1294 00:52:49,960 --> 00:52:52,980 Але, у адрозненне, і я збіраюся напісаць гэта ў псевдокоде 1295 00:52:52,980 --> 00:52:55,020 Цяпер, як і Іосіф, калі мы рабілі шкарпэтку 1296 00:52:55,020 --> 00:52:56,220 Напрыклад на мінулым тыдні. 1297 00:52:56,220 --> 00:53:00,440 Калі нешта пайшло не так - гэта не рэальны код - пайшоў 1298 00:53:00,440 --> 00:53:06,570 няправільна, а затым вярнуцца, скажам, 1. 1299 00:53:06,570 --> 00:53:08,770 Астатняе вяртаецца 0. 1300 00:53:08,770 --> 00:53:10,070 Дык вось дзе мы збіраемся з гэтым. 1301 00:53:10,070 --> 00:53:12,090 Гэта не рэальны код C, проста псевдокод. 1302 00:53:12,090 --> 00:53:14,010 Але гэта, як вы маглі б вярнуцца 1303 00:53:14,010 --> 00:53:15,580 розныя магчымыя значэння. 1304 00:53:15,580 --> 00:53:19,520 Але цяпер я проста збіраюся ісці наперад і вяртаць 0. 1305 00:53:19,520 --> 00:53:24,410 Добра, любыя пытанні да гэтага часу на сінтаксіс, функцыянальнасць, 1306 00:53:24,410 --> 00:53:25,000 і да т.п.? 1307 00:53:25,000 --> 00:53:26,280 Так, у спіну. 1308 00:53:26,280 --> 00:53:27,530 >> Аўдыторыя: [неразборліва] 1309 00:53:30,510 --> 00:53:32,210 DAVID малая: Ці можаце вы гаварыць гучней? 1310 00:53:32,210 --> 00:53:34,325 Чаму гэта 0 праграмы вяртання, а? 1311 00:53:34,325 --> 00:53:35,575 Аўдыторыя: [неразборліва] 1312 00:53:39,910 --> 00:53:43,450 DAVID малая: О, гэта таму, што я лянівы, прабачце. 1313 00:53:43,450 --> 00:53:48,290 Няма добрай акадэмічнай адказ, вяртаецца 0. 1314 00:53:48,290 --> 00:53:52,690 Я магу выратаваць выгляд гэтага, кажучы тэхнічна C, калі асноўны 1315 00:53:52,690 --> 00:53:55,900 відавочна не вяртае значэнне, то будзе вернуты 0 1316 00:53:55,900 --> 00:53:57,730 аўтаматычна. 1317 00:53:57,730 --> 00:54:00,290 Што праўда, я кажу не толькі прыкрыццё. 1318 00:54:00,290 --> 00:54:03,270 Але, я павінен быў зрабіць гэта такім чынам. 1319 00:54:03,270 --> 00:54:05,250 Няма цікавы вынас, чым іншыя, чым мая памылка. 1320 00:54:05,250 --> 00:54:06,170 Да? 1321 00:54:06,170 --> 00:54:08,470 >> Аўдыторыя: Звычайна, калі вы ўводзіце ў пустату, гэта азначае, што вы 1322 00:54:08,470 --> 00:54:10,770 Не вярнуць нешта. 1323 00:54:10,770 --> 00:54:11,420 DAVID малая: Правільна. 1324 00:54:11,420 --> 00:54:15,800 Калі замест гэтага вы паказаць перад імем функцыі, для 1325 00:54:15,800 --> 00:54:18,590 Напрыклад тут, пустэча, то функцыя 1326 00:54:18,590 --> 00:54:20,480 нічога не вяртае. 1327 00:54:20,480 --> 00:54:25,210 І таму я хацеў бы проста сказаць, вяртання або наогул нічога, 1328 00:54:25,210 --> 00:54:26,730 і што будзе адпавядаць. 1329 00:54:26,730 --> 00:54:27,750 І мы яшчэ вернемся да гэтага. 1330 00:54:27,750 --> 00:54:31,030 І толькі FYI, адна з ўловаў з навучаннем 1331 00:54:31,030 --> 00:54:33,450 праграмавання ў свеце, які мае сотні кніг і 1332 00:54:33,450 --> 00:54:36,180 сотні сайтаў, то там вы абавязкова 1333 00:54:36,180 --> 00:54:38,220 гл. іншы сінтаксіс у розных кнігах 1334 00:54:38,220 --> 00:54:40,220 рознымі людзьмі. 1335 00:54:40,220 --> 00:54:42,100 Зразумейце, мы зробім усё магчымае ў раздзелах і лекцыі, каб быць 1336 00:54:42,100 --> 00:54:42,960 паслядоўная. 1337 00:54:42,960 --> 00:54:46,660 Але часам вы ўбачыце супярэчлівыя сінтаксісу. 1338 00:54:46,660 --> 00:54:48,540 Таму, калі вы сумняваецеся, проста спытайце. 1339 00:54:48,540 --> 00:54:51,100 І наогул, мы клапоціцца у лекцыях і частак 1340 00:54:51,100 --> 00:54:53,710 Амаль заўсёды прадставіць яго ў правільным кірунку. 1341 00:54:53,710 --> 00:54:56,070 І я кажу амаль заўсёды, таму што выпадак. 1342 00:54:56,070 --> 00:54:56,860 Іншыя пытанні? 1343 00:54:56,860 --> 00:55:01,590 >> Аўдыторыя: Ці ёсць% з існуючых па-за прыбора? 1344 00:55:01,590 --> 00:55:03,710 DAVID малая: Ці ёсць% S існуе па-за прыбора? 1345 00:55:03,710 --> 00:55:04,180 Так. 1346 00:55:04,180 --> 00:55:07,760 Такім% S мае дачыненне да С. Той факт, што мы выкарыстоўваем яго ў 1347 00:55:07,760 --> 00:55:10,290 Прыбор прынцыпова не мае нічога агульнага з 1348 00:55:10,290 --> 00:55:12,080 асаблівасці мовы мы выкарыстоўваем. 1349 00:55:12,080 --> 00:55:15,990 Сапраўды, на мінулым тыдні, калі мы выкарыстоўвалі мой Mac, я напісаў 1350 00:55:15,990 --> 00:55:17,160 C код на свой Mac. 1351 00:55:17,160 --> 00:55:20,020 Я мог бы выкарыстаць% на маёй Mac, і вы можаце выкарыстоўваць яго на 1352 00:55:20,020 --> 00:55:22,400 Ваш Windows кампутар, калі вы ўсталюеце кампілятар, як 1353 00:55:22,400 --> 00:55:24,070 Visual Studio ад Microsoft. 1354 00:55:24,070 --> 00:55:24,990 Такім% с. 1355 00:55:24,990 --> 00:55:27,860 Усё, што мы робім ўнутры гэтага акна сёння павінен 1356 00:55:27,860 --> 00:55:31,140 рабіць з С. І прынцыпова нічога агульнага з 1357 00:55:31,140 --> 00:55:33,450 аперацыйная сістэма ў пытанні. 1358 00:55:33,450 --> 00:55:35,900 У адрозненне ад чорна-белага акна тэрмінала - пры 1359 00:55:35,900 --> 00:55:40,160 Я друкую рэчы, як Л.С., RM, і CD - 1360 00:55:40,160 --> 00:55:42,020 , Што мае справу з аперацыйнай сістэмай і 1361 00:55:42,020 --> 00:55:43,562 навігацыі вакол. 1362 00:55:43,562 --> 00:55:44,546 Так. 1363 00:55:44,546 --> 00:55:46,520 Аўдыторыя: Я меў на ўвазе бібліятэкі, CS50 бібліятэкі. 1364 00:55:46,520 --> 00:55:49,960 DAVID малая: Такім чынам, калі вы маеце на ўвазе ключавое слова радкі, што 1365 00:55:49,960 --> 00:55:52,460 існуе толькі ў CS50 бібліятэцы, правільна. 1366 00:55:52,460 --> 00:55:55,350 Гэта не існуюць у C самога, ды і ў пары 1367 00:55:55,350 --> 00:55:58,220 тыдняў мы будзем выкідваць CS50 бібліятэку і пачаць 1368 00:55:58,220 --> 00:56:02,290 рабіць рэчы з нуля сябе, так бы мовіць. 1369 00:56:02,290 --> 00:56:02,940 Іншыя пытанні? 1370 00:56:02,940 --> 00:56:04,577 Так. 1371 00:56:04,577 --> 00:56:05,827 >> Аўдыторыя: [неразборліва] 1372 00:56:09,470 --> 00:56:10,160 DAVID малая: Добры пытанне. 1373 00:56:10,160 --> 00:56:11,720 Ёсць каманды адчувальныя да рэгістра? 1374 00:56:11,720 --> 00:56:13,710 І дазвольце мне зрабіць адрозненне тут. 1375 00:56:13,710 --> 00:56:15,840 Такім чынам, каманды, як правіла, тое, што мы напішам на 1376 00:56:15,840 --> 00:56:17,940 у ніжняй частцы акна, у акне тэрмінала. 1377 00:56:17,940 --> 00:56:21,770 Усё, што тут было б заявы або C код. 1378 00:56:21,770 --> 00:56:24,490 Але ў абодвух выпадках, адказ будзе той жа, так. 1379 00:56:24,490 --> 00:56:27,800 Абодва гэтых асяроддзях, код C у верхняй і 1380 00:56:27,800 --> 00:56:29,910 рабочай радку каманднай сістэмы ў 1381 00:56:29,910 --> 00:56:31,440 знізу, з улікам рэгістра. 1382 00:56:31,440 --> 00:56:33,830 Так што вы павінны скарыстацца GetString з капіталам G, 1383 00:56:33,830 --> 00:56:37,050 капітал С. Вы павінны напісаць Printf ў ніжнім рэгістры. 1384 00:56:37,050 --> 00:56:39,520 Неабходна ўвесці Ls ў ніжнім рэгістры. 1385 00:56:39,520 --> 00:56:43,260 Такім чынам, амаль у кожнай сітуацыі ў гэтым семестры, справа будзе, у 1386 00:56:43,260 --> 00:56:44,820 Сапраўды, пытанне. 1387 00:56:44,820 --> 00:56:46,148 Так. 1388 00:56:46,148 --> 00:56:47,398 >> Аўдыторыя: [неразборліва] 1389 00:56:54,770 --> 00:56:56,480 DAVID малая: Ах, так добра, што калі б мы мелі файлаў 1390 00:56:56,480 --> 00:56:57,840 называецца hello.d. 1391 00:56:57,840 --> 00:57:00,090 Вось і атрымліваецца, D з'яўляецца мовай праграмавання. 1392 00:57:00,090 --> 00:57:02,790 І таму ў некаторых выпадках, мы маглі б на самай справе напісаць праграму, у 1393 00:57:02,790 --> 00:57:06,190 гэты файл і ён складзены менавіта такім чынам. 1394 00:57:06,190 --> 00:57:09,090 Мы, можа, і на самай справе, кароткі адказ, я не ведаю. 1395 00:57:09,090 --> 00:57:10,440 Так што мы збіраемся зрабіць гэта. 1396 00:57:10,440 --> 00:57:13,040 Дазвольце мне пайсці далей і стварыць новы файл. 1397 00:57:13,040 --> 00:57:15,580 І спіна тут, шчыра кажучы ў агульным, кожны раз, калі любое сумнеў 1398 00:57:15,580 --> 00:57:18,130 у гэтым семестры, і ў вас ёсць прылада або кампутар 1399 00:57:18,130 --> 00:57:20,030 адкрыць, ісці наперад і паспрабаваць нешта. 1400 00:57:20,030 --> 00:57:23,740 Так што я збіраюся захаваць файл пад назвай hello.d. 1401 00:57:23,740 --> 00:57:25,010 Захавайце гэта. 1402 00:57:25,010 --> 00:57:29,070 І я збіраюся запусціць зрабіць прывітанне Enter. 1403 00:57:29,070 --> 00:57:31,660 Здавалася зрабіць выснову, што з больш верагодна, 1404 00:57:31,660 --> 00:57:35,920 чым г, у дадзеным выпадку. 1405 00:57:35,920 --> 00:57:38,046 Іншыя пытанні. 1406 00:57:38,046 --> 00:57:40,456 Так. 1407 00:57:40,456 --> 00:57:41,706 >> Аўдыторыя: [неразборліва] 1408 00:57:48,170 --> 00:57:49,837 DAVID малая: Добра, кажуць, што яшчэ раз. 1409 00:57:49,837 --> 00:57:51,087 Аўдыторыя: [неразборліва] 1410 00:58:04,250 --> 00:58:05,780 DAVID малая: Як бы вы ідзяце па нагоды дыягностыкі таго ці 1411 00:58:05,780 --> 00:58:06,380 ліквідацыю непаладак гэта? 1412 00:58:06,380 --> 00:58:08,800 Так што, хутчэй за ўсё, таму, што яны на розных мовах, 1413 00:58:08,800 --> 00:58:10,280 Хутчэй за ўсё, вы атрымаеце цалкам 1414 00:58:10,280 --> 00:58:11,580 розныя праграмы выводзіцца. 1415 00:58:11,580 --> 00:58:14,140 Вы атрымаеце зусім розныя паведамленні пра памылкі. 1416 00:58:14,140 --> 00:58:16,750 А таксама толькі з пункту гледжання дызайну, гэта было б, магчыма, быць 1417 00:58:16,750 --> 00:58:19,140 Дрэнна дызайнерскае рашэнне для напісання двух розных 1418 00:58:19,140 --> 00:58:21,510 Мовы з амаль аднолькавымі імёнамі файлаў, у 1419 00:58:21,510 --> 00:58:23,000 сапраўды такі жа каталог, выкарыстоўваючы 1420 00:58:23,000 --> 00:58:24,550 аўтаматычны інструмент, як зрабіць. 1421 00:58:24,550 --> 00:58:27,750 Так што я магу націснуць назад і сказаць: у 15 гадоў зрабіць гэта, 1422 00:58:27,750 --> 00:58:29,190 ніколі не рабіў гэтую памылку. 1423 00:58:29,190 --> 00:58:30,030 Можа здарыцца. 1424 00:58:30,030 --> 00:58:31,190 Але там проста розныя, я думаю, 1425 00:58:31,190 --> 00:58:33,180 матэрыяльна-тэхнічнае абарону на месцы. 1426 00:58:33,180 --> 00:58:35,440 Плюс паведамленне пра памылку, якое наступіць, што б 1427 00:58:35,440 --> 00:58:37,260 у канчатковым выніку выявіць, у чым праблема. 1428 00:58:37,260 --> 00:58:39,120 Але магчымы выпадак куце. 1429 00:58:39,120 --> 00:58:41,730 >> Добра, давайце ўвядзем усяго пару іншых 1430 00:58:41,730 --> 00:58:45,600 асаблівасці тут, так што мы можам пачаць будаваць на большае 1431 00:58:45,600 --> 00:58:47,140 і больш складаныя праграмы. 1432 00:58:47,140 --> 00:58:49,000 Такім чынам, перш за ўсё, матэматыкі. 1433 00:58:49,000 --> 00:58:51,520 Такім чынам, матэматыка прыклады толькі выгляд лёгкай у першы тыдзень. 1434 00:58:51,520 --> 00:58:53,560 Гэта не азначае, што ўсе праграмы складае каля 1435 00:58:53,560 --> 00:58:54,390 матэматыка. 1436 00:58:54,390 --> 00:58:57,890 Вядома, разуменне розных функцый 1437 00:58:57,890 --> 00:58:59,610 матэматыка, алгебра, у прыватнасці, 1438 00:58:59,610 --> 00:59:00,330 вельмі актуальная тут. 1439 00:59:00,330 --> 00:59:03,010 У больш высокім узроўні CS класы, лінейная алгебра, 1440 00:59:03,010 --> 00:59:03,920 Вылічэнне і да таго падобнае. 1441 00:59:03,920 --> 00:59:06,500 Але зразумейце, большасць таго, што мы будзем рабіць у гэтым семестры не зніжае 1442 00:59:06,500 --> 00:59:09,230 да матэматыкі, і, вядома, не ў арыфметыцы, само па сабе, але на самой справе 1443 00:59:09,230 --> 00:59:11,570 проста логікі і стараннага мыслення. 1444 00:59:11,570 --> 00:59:14,310 І вось гэтая сувязь, што кампутарная навука ўжо даўно, 1445 00:59:14,310 --> 00:59:16,570 асабліва на ўзроўні сярэдняй школы, з матэматыкай, з'яўляецца 1446 00:59:16,570 --> 00:59:17,370 трохі ўводзіць у зман. 1447 00:59:17,370 --> 00:59:20,090 Паколькі большасць праграм, якія мы напішам, сапраўды, 1448 00:59:20,090 --> 00:59:23,290 роду высокім узроўні і засяродзіцца на вырашэнні праблем, якія, 1449 00:59:23,290 --> 00:59:26,410 Вядома, можна выкарыстоўваць некаторыя складання, аднімання, а таксама розныя 1450 00:59:26,410 --> 00:59:28,650 матэматычныя формулы і да т.п., 1451 00:59:28,650 --> 00:59:30,860 але ў рэшце рэшт, гэта пра мысленне, а не 1452 00:59:30,860 --> 00:59:33,240 проста рэалізаваць тое, што вы маглі б зрабіць на як TI 1453 00:59:33,240 --> 00:59:35,050 Калькулятар ў сярэдняй школе. 1454 00:59:35,050 --> 00:59:38,410 >> Такім чынам, з улікам сказанага, давайце штосьці рабіць з гэтым 1455 00:59:38,410 --> 00:59:40,980 матэматычныя аператары, якія сапраўды існуюць, каб мы маглі паездкі 1456 00:59:40,980 --> 00:59:43,950 па некаторых з асноўных аспектаў праграмавання, або ў 1457 00:59:43,950 --> 00:59:48,930 гэтым выпадку C. Такім чынам, існуе, як CS50 бібліятэкі прапанавалі, 1458 00:59:48,930 --> 00:59:51,520 і сёння мы выкарыстоўваем толькі GetString - і ў адно імгненне 1459 00:59:51,520 --> 00:59:52,940 мабыць, адна іншая функцыя - 1460 00:59:52,940 --> 00:59:55,380 але ёсць розныя тыпы дадзеных у кампутар. 1461 00:59:55,380 --> 00:59:58,550 У рэшце рэшт, кампутары ведаю толькі 0 і 1. 1462 00:59:58,550 --> 01:00:01,880 Але нагадаем, што на мінулым тыдні мы казалі аб двайковай сістэме 1463 01:00:01,880 --> 01:00:05,000 У паданні лікаў, напрыклад, лікі 0 і 1, і 2, 1464 01:00:05,000 --> 01:00:07,480 на ўсім шляху ад да 8, як і ў відэа Нейт. 1465 01:00:07,480 --> 01:00:08,840 І тады мы можам разлічваць значна вышэй, так як мы 1466 01:00:08,840 --> 01:00:10,000 рабіў на сцэне тут. 1467 01:00:10,000 --> 01:00:15,660 Але калі вы хочаце, каб прадстаўляць не толькі ліку, але лісты, 1468 01:00:15,660 --> 01:00:18,240 Мы, людзі, павінны выступіць з некаторымі адвольнымі 1469 01:00:18,240 --> 01:00:21,180 канвенцый, згодна з якім, калі ў канцы дня ўсе мой кампутар 1470 01:00:21,180 --> 01:00:24,260 была гэта здольнасць выказваць 0 і 1, а нам лепш 1471 01:00:24,260 --> 01:00:27,990 пачаць стандартызацыю формаў 0 і 1, якія прадстаўляюць 1472 01:00:27,990 --> 01:00:28,800 розныя рэчы. 1473 01:00:28,800 --> 01:00:32,370 Карціны з 0 і 1, якая прадстаўляе лісце. 1474 01:00:32,370 --> 01:00:34,840 Мадэлі з 0 і 1, якія прадстаўляюць лісце г. 1475 01:00:34,840 --> 01:00:37,600 Мадэлі з 0 і 1, якія прадстаўляюць колер сіні, або 1476 01:00:37,600 --> 01:00:38,600 чырвоны, ці таму падобнае. 1477 01:00:38,600 --> 01:00:42,360 Мы павінны выкарыстоўваць усе гэтыя 0 і 1, каб выказаць сябе ў 1478 01:00:42,360 --> 01:00:45,140 розных кантэкстах, у розных спосабамі, якія не 1479 01:00:45,140 --> 01:00:46,470 абавязкова лікавы. 1480 01:00:46,470 --> 01:00:51,150 >> Так што ў плане прадастаўлення, C мае розныя тыпы дадзеных, 1481 01:00:51,150 --> 01:00:52,550 і мы бачылі адну з гэтых да гэтага часу. 1482 01:00:52,550 --> 01:00:54,940 Мы бачылі, INT, і звярніце ўвагу на тое, што на экране не адлюстроўваецца 1483 01:00:54,940 --> 01:00:56,140 Прама зараз з'яўляецца радком. 1484 01:00:56,140 --> 01:00:58,550 Радок не, на самой справе, існуе ў С. Зноў жа, гэта 1485 01:00:58,550 --> 01:01:00,610 Спрашчэнне мы прадставім у першым 1486 01:01:00,610 --> 01:01:01,570 пару тыдняў. 1487 01:01:01,570 --> 01:01:03,770 Сімвал з'яўляецца індывідуальны характар. 1488 01:01:03,770 --> 01:01:07,050 Паплавок сапраўдны лік, з дзесятковай коскі і лічбы 1489 01:01:07,050 --> 01:01:09,066 злева і справа ад яго. 1490 01:01:09,066 --> 01:01:16,040 Падвойная з'яўляецца тое, што, для тых, з задняй да фонам? 1491 01:01:16,040 --> 01:01:19,720 Такім чынам, падвойная два разы нешта. 1492 01:01:19,720 --> 01:01:21,240 Дадае ў два разы больш дакладнасці. 1493 01:01:21,240 --> 01:01:22,440 Дык што ж гэта значыць? 1494 01:01:22,440 --> 01:01:26,090 Такім чынам, у кожным з гэтых выпадкаў, у свеце ёсць роду стандартызаваныя 1495 01:01:26,090 --> 01:01:27,960 колькі бітаў выкарыстоўваюцца для прадстаўлення 1496 01:01:27,960 --> 01:01:29,160 Кожны з гэтых рэчаў. 1497 01:01:29,160 --> 01:01:31,590 Так што, калі вы глядзелі відэа ASCII Нейт ўжо частка 1498 01:01:31,590 --> 01:01:36,170 з PSET 0, альбо ў канцы гэтага тыдня вы будзеце, вы, напэўна, ведаеце 1499 01:01:36,170 --> 01:01:37,450 што ASCII - 1500 01:01:37,450 --> 01:01:38,610 характар ​​уяўленняў - 1501 01:01:38,610 --> 01:01:40,670 выкарыстоўваць, колькі біт? 1502 01:01:40,670 --> 01:01:43,410 І вы нават памятаеце з нашых дэма на мінулым тыдні пра тое, як 1503 01:01:43,410 --> 01:01:45,500 многія людзі былі на сцэне. 1504 01:01:45,500 --> 01:01:46,840 Такім чынам, 7 або 8, звычайна. 1505 01:01:46,840 --> 01:01:49,230 Такім чынам, у цэлым 8, і ёсць тое, што называецца ў якасці падоўжаны 1506 01:01:49,230 --> 01:01:51,240 ASCII, які выкарыстоўвае ўсе 8 біт, замест 7. 1507 01:01:51,240 --> 01:01:54,710 Але ў цэлым, мы гаворым па ступенях 2, таму ў дадзеным выпадку, 8. 1508 01:01:54,710 --> 01:01:58,900 Такім чынам, знак у мове праграмавання, як правіла, 8 біт. 1509 01:01:58,900 --> 01:02:02,550 Так Int, як правіла, 32 біт. 1510 01:02:02,550 --> 01:02:04,810 Паплаўком, як правіла, 32 біт. 1511 01:02:04,810 --> 01:02:08,060 Падвойныя, як правіла, 64 біт. 1512 01:02:08,060 --> 01:02:08,870 А што гэта значыць? 1513 01:02:08,870 --> 01:02:11,500 Гэта азначае, што вы можаце прадстаўляць вялікія ліку, або, у выпадку 1514 01:02:11,500 --> 01:02:15,490 рэчыўных лікаў, вы можаце мець значна больш лічбаў пасля 1515 01:02:15,490 --> 01:02:16,240 дзесятковага знака. 1516 01:02:16,240 --> 01:02:18,980 Значна больш дакладнасці, у такім выпадку. 1517 01:02:18,980 --> 01:02:21,780 Цяпер доўга-доўга, на жаль, ім. 1518 01:02:21,780 --> 01:02:24,340 Так што Int якіх складае 32 біта. 1519 01:02:24,340 --> 01:02:29,800 Існуе доўгі якая, няма, 32 біт. 1520 01:02:29,800 --> 01:02:32,610 І доўга-доўга якой складае 64 біта. 1521 01:02:32,610 --> 01:02:34,830 Аднак некаторыя з тых, хто залежыць ад кантэксту, яно залежыць 1522 01:02:34,830 --> 01:02:36,190 які кампутар у вас ёсць. 1523 01:02:36,190 --> 01:02:40,510 Так што ў цэлым, мы будзем паказваць у хатнюю працу або ў віктарыне, калі 1524 01:02:40,510 --> 01:02:41,180 яна на самай справе мае значэнне. 1525 01:02:41,180 --> 01:02:43,080 Але справа ў тым, ёсць усе гэтыя розныя 1526 01:02:43,080 --> 01:02:44,250 паданнях тут. 1527 01:02:44,250 --> 01:02:45,950 >> Так што давайце на самай справе пагрузіцца ў праграме. 1528 01:02:45,950 --> 01:02:48,300 Замест таго, каб напісаць гэта з нуля, дазвольце мне ісці наперад 1529 01:02:48,300 --> 01:02:50,940 і адкрыць з зыходнага кода сённяшняга дня - усё гэта з'яўляецца 1530 01:02:50,940 --> 01:02:54,980 онлайн - калі вы хочаце важдацца вакол у Інтэрнэце, або вяртанне на 1531 01:02:54,980 --> 01:02:57,120 Сераду з прыборам на вашым кампутары, інструкцыі 1532 01:02:57,120 --> 01:02:59,160 , Для якой будзе спасылка на галоўную старонку курса. 1533 01:02:59,160 --> 01:03:00,830 Вось супер просты праграмы. 1534 01:03:00,830 --> 01:03:02,520 Але ў яго ёсць сёе-тое новае ў верхняй, што 1535 01:03:02,520 --> 01:03:03,650 у нас не было раней. 1536 01:03:03,650 --> 01:03:05,800 Шмат сініх радкоў тэксту. 1537 01:03:05,800 --> 01:03:08,410 Такім чынам, гэтыя сінія лініі ўяўляюць каментары. 1538 01:03:08,410 --> 01:03:10,620 Так што гэта вельмі карысна ў праграме, каб мець магчымасць пісаць 1539 01:03:10,620 --> 01:03:13,160 некаторыя каментары да сябе, і да калегам або сябрам, або 1540 01:03:13,160 --> 01:03:15,700 навучанне стыпендыятаў, такога роду апісаць тое, што адбываецца ў 1541 01:03:15,700 --> 01:03:18,500 Гэты файл, але не маюць нічога агульнага з C самога кода. 1542 01:03:18,500 --> 01:03:20,860 Нічога агульнага з праграмай функцыянальна, гэта ўсяго толькі 1543 01:03:20,860 --> 01:03:21,760 эстэтыку. 1544 01:03:21,760 --> 01:03:24,580 Такім чынам, вы зрабіць гэта ў C значыць вы наогул пачаць 1545 01:03:24,580 --> 01:03:29,860 Каментары с / *, і вы ў канчатковым вашы каментары з 1546 01:03:29,860 --> 01:03:31,270 * /. 1547 01:03:31,270 --> 01:03:34,140 І калі вы сапраўды анальны і хацеў бы звярнуць роду карцін, 1548 01:03:34,140 --> 01:03:35,870 Затым трэба пакласці кучу зорак, трэба зрабіць 1549 01:03:35,870 --> 01:03:36,970 скрыначцы, як гэта. 1550 01:03:36,970 --> 01:03:37,990 Але ні адзін з гэтых пытанняў. 1551 01:03:37,990 --> 01:03:40,230 Адзінае, што мае значэнне самага першага 1552 01:03:40,230 --> 01:03:41,620 і самае апошняе. 1553 01:03:41,620 --> 01:03:43,820 Гэта тое, што называецца шматрадковы каментар. 1554 01:03:43,820 --> 01:03:46,610 І гэта толькі чалавечыя канвенцыі часта робяць зоркі і скрынкі 1555 01:03:46,610 --> 01:03:48,420 рэчы, як гэта, калі ў вас ёсць шмат вольнага часу. 1556 01:03:48,420 --> 01:03:51,550 >> Такім чынам, пасля таго, як напісана ў некаторых каментарах, як правіла, прыходзяць 1557 01:03:51,550 --> 01:03:53,160 фактычныя кішкі праграмы. 1558 01:03:53,160 --> 01:03:55,630 Вось наш знаёмы # ўключыць . 1559 01:03:55,630 --> 01:04:00,410 І так жа хутка, гэта трэба ці не трэба? 1560 01:04:00,410 --> 01:04:02,860 Аўдыторыя: неабходна. 1561 01:04:02,860 --> 01:04:04,390 DAVID малая: Так гэта на самай справе не трэба. 1562 01:04:04,390 --> 01:04:07,070 Дык чаму ж, тым не менш, гэта не трэба? 1563 01:04:07,070 --> 01:04:08,170 Такім чынам, няма Printf. 1564 01:04:08,170 --> 01:04:08,510 У самай справе. 1565 01:04:08,510 --> 01:04:10,470 Усё, што мы робім у гэтай праграме з'яўляецца матэматыка. 1566 01:04:10,470 --> 01:04:11,640 Так што я магу на самой справе выдаліць гэта. 1567 01:04:11,640 --> 01:04:14,330 Такім чынам, вы не заўсёды павінны ўключаць у сябе нічога 1568 01:04:14,330 --> 01:04:15,420 у верхняй частцы праграмы. 1569 01:04:15,420 --> 01:04:17,020 >> Так давайце спросцім гэта няшмат. 1570 01:04:17,020 --> 01:04:18,650 А цяпер заўважце, што гэтая праграма робіць. 1571 01:04:18,650 --> 01:04:19,920 Не шмат цікавага. 1572 01:04:19,920 --> 01:04:21,410 Int х = 1. 1573 01:04:21,410 --> 01:04:22,550 Ну, што гэта робіш? 1574 01:04:22,550 --> 01:04:25,130 Ну, думаю, назад у ментальнай мадэлі, чым раней. 1575 01:04:25,130 --> 01:04:27,500 У левай часткі гэтага выказвання, што робіць? 1576 01:04:31,440 --> 01:04:32,830 Стварыць прастору для цэлага ліку. 1577 01:04:32,830 --> 01:04:33,930 Так як шмат месца? 1578 01:04:33,930 --> 01:04:36,980 Ну, мы, аказваецца, ведаем цяпер, што гэта 32 біт. 1579 01:04:36,980 --> 01:04:40,070 Раней, радок была тэхнічна 32 біт, але больш 1580 01:04:40,070 --> 01:04:40,950 пра гэта ў будучыні. 1581 01:04:40,950 --> 01:04:42,240 Але Int складае 32 біта. 1582 01:04:42,240 --> 01:04:45,590 Такім чынам, гэты выраз злева тут, Int х проста кажа, эй 1583 01:04:45,590 --> 01:04:48,490 аперацыйная сістэма, дай мне 32 біт аператыўнай памяці - 1584 01:04:48,490 --> 01:04:50,450 інакш вядомы як 4 байта аператыўнай памяці - 1585 01:04:50,450 --> 01:04:53,930 так што я магу пакласці цэлы лік у гэтай прасторы. 1586 01:04:53,930 --> 01:04:55,330 Што цэлага ты хацеў паставіць? 1587 01:04:55,330 --> 01:04:56,640 Ну, проста нумар 1. 1588 01:04:56,640 --> 01:04:59,530 Int у атрымлівае 2, не адно і тое ж, хоць 1589 01:04:59,530 --> 01:05:02,160 Нумар вялікі, з пункту гледжання яго велічыні. 1590 01:05:02,160 --> 01:05:04,790 Колькасць сама яшчэ толькі 32 біта. 1591 01:05:04,790 --> 01:05:06,520 Гэта проста ўзор біт адрозніваецца ад 1592 01:05:06,520 --> 01:05:08,260 складаюць 1 супраць 2. 1593 01:05:08,260 --> 01:05:11,980 Int Z цяпер кажа, дайце мне яшчэ 32 біта, назавем яго Z, і пакласці 1594 01:05:11,980 --> 01:05:14,210 Сумаванне 1 і 2 у там. 1595 01:05:14,210 --> 01:05:18,050 Так што зараз г меркавана захоўвання значэння 3, 1596 01:05:18,050 --> 01:05:19,360 , А затым вяртаць 0. 1597 01:05:19,360 --> 01:05:23,020 >> Зараз гэтая праграма, яна робіць што-небудзь цікавае? 1598 01:05:23,020 --> 01:05:26,170 Так што на самай справе не робяць нічога цікавага, у любым 1599 01:05:26,170 --> 01:05:28,450 сэнсу, таму што навошта? Гэта робіць некаторыя матэматыкі. 1600 01:05:28,450 --> 01:05:30,590 Але гэта не вяртаўся адказ, маеце рацыю. 1601 01:05:30,590 --> 01:05:31,790 Ён вяртаецца 0. 1602 01:05:31,790 --> 01:05:33,440 Гэта не друк адказу. 1603 01:05:33,440 --> 01:05:35,760 Такім чынам, гэтая праграма з'яўляецца прынцыпова бескарысным, так як ён 1604 01:05:35,760 --> 01:05:36,350 каштуе цяпер. 1605 01:05:36,350 --> 01:05:37,220 Гэта робіць некаторую працу. 1606 01:05:37,220 --> 01:05:39,530 Гэта зойме некаторы колькасць секунд, або мікрасекунд, каб 1607 01:05:39,530 --> 01:05:41,510 працаваць, але гэта на самай справе не робяць нічога 1608 01:05:41,510 --> 01:05:42,770 карысныя для чалавека. 1609 01:05:42,770 --> 01:05:46,810 >> Так што давайце на самай справе цяпер адкрыць math2, дзе цяпер я на самой справе 1610 01:05:46,810 --> 01:05:48,250 друк вынік. 1611 01:05:48,250 --> 01:05:51,260 Так што гэта таксама можа быць выведзена з нашага папярэдняга прыкладу. 1612 01:05:51,260 --> 01:05:54,320 Калі я хачу зрабіць некалькі простых матэматыцы, Int х = 1, у 1613 01:05:54,320 --> 01:05:56,820 = 2. г складае 1 плюс 2 цяпер. 1614 01:05:56,820 --> 01:05:59,240 Што гэта будзе раздрукаваць відавочна? 1615 01:05:59,240 --> 01:06:00,120 Толькі 3. 1616 01:06:00,120 --> 01:06:01,590 Так хутка санітарнай праверкі. 1617 01:06:01,590 --> 01:06:03,830 Дазвольце мне перайсці ў гэты каталог. 1618 01:06:03,830 --> 01:06:06,480 Так кд source1m. 1619 01:06:06,480 --> 01:06:09,370 Дазвольце мне пайсці далей і ўвесці зрабіць math2. 1620 01:06:09,370 --> 01:06:11,510 Няма паведамленняў пра памылкі выйшаў, так што дазвольце мне бегчы - 1621 01:06:11,510 --> 01:06:14,800 Ня a.out--дайце мне працаваць math2. Enter. 1622 01:06:14,800 --> 01:06:16,750 І сапраўды, ён раздрукаваў 3. 1623 01:06:16,750 --> 01:06:18,460 Ну, давайце паглядзім на варыянт гэтага. 1624 01:06:18,460 --> 01:06:23,870 У math3.c, цяпер у нас гэта прыклад. 1625 01:06:23,870 --> 01:06:26,540 >> Так што гэта свайго роду цікава. 1626 01:06:26,540 --> 01:06:32,000 Такім чынам, у гэтым тут, адказ будзе атрымаць 1 дзеліцца на 10, 1627 01:06:32,000 --> 01:06:33,910 і звярніце ўвагу, я сказаў, што яна з якая плавае кропкай. 1628 01:06:33,910 --> 01:06:35,200 Чаму я хачу быць з якая плавае кропкай? 1629 01:06:35,200 --> 01:06:36,110 Ну, гэта фракцыі. 1630 01:06:36,110 --> 01:06:37,140 Гэта збіраецца быць рэальным лікам. 1631 01:06:37,140 --> 01:06:40,970 Так што гэта будзе 0,1, спадзяюся - 10%, у гэтым выпадку. 1632 01:06:40,970 --> 01:06:42,610 І што ж я тады хачу, каб раздрукаваць? 1633 01:06:42,610 --> 01:06:43,440 Ну, гэта адказ. 1634 01:06:43,440 --> 01:06:44,760 Ну, давай дражніць гэтым, акрамя першага. 1635 01:06:44,760 --> 01:06:47,020 Такім чынам, на левай баку заявіць, 1636 01:06:47,020 --> 01:06:49,410 плаваць, называюць гэта адказаць. 1637 01:06:49,410 --> 01:06:52,280 З правага боку, зрабіць 1 дзеліцца на 10 і пакласці, што 1638 01:06:52,280 --> 01:06:54,370 адказаць ўнутры зменнай. 1639 01:06:54,370 --> 01:06:56,410 Зараз гэтая лінія выглядае крыху больш загадкавымі. 1640 01:06:56,410 --> 01:06:59,440 Але заўважыць некаторыя знаёмыя рысы. % Азначае, што тут ідзе 1641 01:06:59,440 --> 01:07:00,490 запаўняльніка. 1642 01:07:00,490 --> 01:07:03,230 F азначае вось значэнне з якая плавае кропкай, толькі рэальныя 1643 01:07:03,230 --> 01:07:05,490 лік, то з коскі. 1644 01:07:05,490 --> 01:07:07,330 0,2 гэта азначае? 1645 01:07:07,330 --> 01:07:10,740 Кожны ведае, з папярэдняга вопыту? 1646 01:07:10,740 --> 01:07:12,010 Два знака пасля коскі. 1647 01:07:12,010 --> 01:07:14,050 Такім чынам, мы не бачылі гэтага раней, але гэта ўсяго толькі спосаб 1648 01:07:14,050 --> 01:07:16,360 ажыццяўленне трохі больш кантролю над Printf і 1649 01:07:16,360 --> 01:07:20,840 кажу, не дай мне 30 ачкоў пасля коскі, 1650 01:07:20,840 --> 01:07:22,490 замест гэтага даць мне толькі 2. 1651 01:07:22,490 --> 01:07:23,960 >> І тады давайце ісці наперад і выканаць гэта. 1652 01:07:23,960 --> 01:07:30,160 Так што матэматыка 3, а цяпер дазвольце мне выканаць матэматыку 3, Enter. 1653 01:07:30,160 --> 01:07:34,630 І гэта не правільна. 1654 01:07:34,630 --> 01:07:37,390 Мы, здаецца, сутыкнуўся наш першы сапраўдны памылка. 1655 01:07:37,390 --> 01:07:39,400 Ну, можа, я проста не глядзела досыць блізка. 1656 01:07:39,400 --> 01:07:41,960 Такім чынам, дазвольце мне ісці сюды, і дазвольце мне пакласці 20 дзесятковых 1657 01:07:41,960 --> 01:07:43,300 кропка месцамі. 1658 01:07:43,300 --> 01:07:47,950 І дазвольце мне скласці гэты, зрабіць math3, бяжы. 1659 01:07:47,950 --> 01:07:50,960 Упэўнены, 1, дзеленай на 10 не роўна 0. 1660 01:07:50,960 --> 01:07:54,270 Так што ж адбываецца? 1661 01:07:54,270 --> 01:07:56,740 Ну добра, так што на самай справе ён не мае да гэтага дачынення. 1662 01:07:56,740 --> 01:07:57,600 Гэта добрая думка. 1663 01:07:57,600 --> 01:07:59,140 Гэта сапраўды проста супадзенне 1664 01:07:59,140 --> 01:08:00,220 што мы робім гэта. 1665 01:08:00,220 --> 01:08:02,010 Але толькі, каб даказаць, што гэта не ён, я буду 1666 01:08:02,010 --> 01:08:03,160 вярнуць нешта выпадковае. 1667 01:08:03,160 --> 01:08:05,160 Не рабіце гэтага дома, таму што гэта проста няправільна. 1668 01:08:05,160 --> 01:08:08,000 Але зрабіць math3, дазвольце мне запусціць яго. 1669 01:08:08,000 --> 01:08:10,690 Такім чынам, не мае нічога агульнага з тым, што я вяртаюся, толькі рабіць 1670 01:08:10,690 --> 01:08:11,940 з тым, што я друкую. 1671 01:08:11,940 --> 01:08:14,150 Але я чуў, што тут, унізе. 1672 01:08:14,150 --> 01:08:15,270 Што? 1673 01:08:15,270 --> 01:08:17,524 Аўдыторыя: Так што мы павінны пісаць ліку ў 1674 01:08:17,524 --> 01:08:19,680 падзел, як - 1675 01:08:19,680 --> 01:08:20,319 >> DAVID малая: Добра добра. 1676 01:08:20,319 --> 01:08:22,810 Так што мы павінны пісаць ліку якія ўдзельнічаюць у 1677 01:08:22,810 --> 01:08:25,979 падзел тут як значэнні з якая плавае кропкай сябе. 1678 01:08:25,979 --> 01:08:29,359 Такім чынам, праблема тут у тым, як раней: C, як і многія 1679 01:08:29,359 --> 01:08:31,819 мовамі, мае розныя тыпы дадзеных. 1680 01:08:31,819 --> 01:08:34,600 А тыя тыпы дадзеных, напрыклад, гэтыя тут. 1681 01:08:34,600 --> 01:08:37,430 І тыпы дадзеных у пытанне тут, калі я тыпу 1, а затым я 1682 01:08:37,430 --> 01:08:40,870 Тып 10, верагодна, якія тыпы дадзеных? 1683 01:08:40,870 --> 01:08:42,170 Так што гэта, верагодна, INT, ці не так? 1684 01:08:42,170 --> 01:08:44,149 Гэта вызначана не плаваць, таму што няма дзесятковай 1685 01:08:44,149 --> 01:08:45,460 кропка ці што-небудзь падобнае. 1686 01:08:45,460 --> 01:08:48,270 Так на самай справе, у мяне ёсць цэлы лік дзеліцца на унутр. 1687 01:08:48,270 --> 01:08:52,160 >> Так самае цікавае пра матэматыцы і кампутара з'яўляецца тое, што 1688 01:08:52,160 --> 01:08:54,840 калі вы робіце падзел выкарыстаннем цэлых лікаў - 1689 01:08:54,840 --> 01:08:57,310 1 дзеліцца на 10, так, складае 0,1. 1690 01:08:57,310 --> 01:09:01,420 Тым не менш, калі вы дзялення цэлага ліку на цэлы лік, 1691 01:09:01,420 --> 01:09:06,859 Адказ павінен быць цэлым лікам толькі таму, што, на дадзены момант. 1692 01:09:06,859 --> 01:09:08,630 А што маецца на ўвазе то? 1693 01:09:08,630 --> 01:09:13,640 Ну, калі адказ 1 дзеліцца на 10 роўных 0,1, што 1694 01:09:13,640 --> 01:09:15,680 Кампутар збіраюся зрабіць, гэта я паняцця не маю, як 1695 01:09:15,680 --> 01:09:19,270 ўяўляюць сабой 0,1, таму што гэта значэнне з якая плавае кропкай, а не 1696 01:09:19,270 --> 01:09:21,910 цэлы лік, ён збіраецца адсекчы ўсё пасля 1697 01:09:21,910 --> 01:09:27,470 дзесятковай кропкі і проста паказаць вам, 0 у пачатку. 1698 01:09:27,470 --> 01:09:29,540 А тое, што гэта друк у выглядзе плавае кропкай 1699 01:09:29,540 --> 01:09:31,200 значэння, гэта проста эстэтычная рэч. 1700 01:09:31,200 --> 01:09:34,279 Гэта таму, што я прымусіўшы кампутар для друку гэтым 1701 01:09:34,279 --> 01:09:35,229 якая плавае кропкай. 1702 01:09:35,229 --> 01:09:37,720 І сапраўды, я сказаў, што яна з якая плавае кропкай, але матэматыка 1703 01:09:37,720 --> 01:09:39,010 адбываецца тут. 1704 01:09:39,010 --> 01:09:41,859 >> Таму дазвольце мне на самай справе выправіць гэта ў адзін даволі просты спосаб. 1705 01:09:41,859 --> 01:09:45,250 Чаму я не проста раблю 10,0 і 1,0, хоць 1706 01:09:45,250 --> 01:09:47,609 Тэхнічна я мог бы сысці з рук толькі робіць адзін з іх. 1707 01:09:47,609 --> 01:09:50,630 Цяпер дазвольце мне пайсці далей і зрабіць math3. 1708 01:09:50,630 --> 01:09:56,350 Дазвольце мне ісці наперад і цяпер працуюць math3, Enter. 1709 01:09:56,350 --> 01:09:57,500 А цяпер, о хлопчык. 1710 01:09:57,500 --> 01:10:00,050 Цяпер у нас ёсць новая праблема наогул. 1711 01:10:00,050 --> 01:10:05,600 Так што лепш, права, мы бліжэй да 0,1, але тое, што, безумоўна, з'яўляецца 1712 01:10:05,600 --> 01:10:06,240 тут не так? 1713 01:10:06,240 --> 01:10:08,260 Калі мы хлусілі вам на працягу многіх гадоў, так? 1714 01:10:08,260 --> 01:10:13,660 1, дзеленай на 10 на самай справе не зусім 0.1, так што 1715 01:10:13,660 --> 01:10:14,700 на самой справе тут адбываецца? 1716 01:10:14,700 --> 01:10:16,420 Ну вы можаце збольшага прычына праз гэта лагічна. 1717 01:10:16,420 --> 01:10:19,200 Калі кампутар мае толькі канчатковае колькасць аператыўнай памяці, каб пачаць 1718 01:10:19,200 --> 01:10:23,530 с, ды і кампутар выкарыстоўвае толькі 32 біта для 1719 01:10:23,530 --> 01:10:26,200 якая плавае кропкай, само сабой зразумела, што з 1720 01:10:26,200 --> 01:10:29,870 канечны лік біт, 32 у гэтым выпадку, так, вы можаце 1721 01:10:29,870 --> 01:10:31,050 ўяўляюць сабой шмат рэчаў. 1722 01:10:31,050 --> 01:10:33,220 На самай справе гэта 4000000000 розных значэнняў можа быць 1723 01:10:33,220 --> 01:10:38,040 прадстаўлена 32 біт, ад 2 да 32, але гэта ўсё яшчэ канчатковая. 1724 01:10:38,040 --> 01:10:40,730 Так што праблема існуе бясконцую колькасць сапраўдных 1725 01:10:40,730 --> 01:10:41,370 нумары, маюць рацыю. 1726 01:10:41,370 --> 01:10:43,560 Калі вы дасце мне сапраўдны лік, я заўсёды магу знайсці вам адзін 1727 01:10:43,560 --> 01:10:46,080 крыху больш, крыху менш, проста налады 1728 01:10:46,080 --> 01:10:47,970 нумары, якія пасля коскі. 1729 01:10:47,970 --> 01:10:50,870 Так што, калі вы не маеце бясконцую колькасць бітаў, вы 1730 01:10:50,870 --> 01:10:52,940 не можа ўяўляць сабой бясконцую 1731 01:10:52,940 --> 01:10:54,800 Колькасць сапраўдных лікаў. 1732 01:10:54,800 --> 01:10:58,090 >> Так што гэтая ўласцівая недакладнасць у кампутарах, і 1733 01:10:58,090 --> 01:11:00,930 гэта атрымлівае спатыкнуўся ўвесь час, нават у самых простых 1734 01:11:00,930 --> 01:11:02,260 падобных праграмах. 1735 01:11:02,260 --> 01:11:05,640 Але і ў вельмі рэальным свеце праблемы. 1736 01:11:05,640 --> 01:11:07,790 На самай справе, давайце момант, каб проста зірнуць на 1737 01:11:07,790 --> 01:11:09,530 тое, што на самой справе адбылося ў рэчаіснасці. 1738 01:11:09,530 --> 01:11:11,620 Мы будзем глядзець толькі першыя некалькі хвілін, а затым 1739 01:11:11,620 --> 01:11:13,270 мы размесцім спасылку ў Інтэрнэце. 1740 01:11:13,270 --> 01:11:16,700 Але гэта сведчыць толькі тое, што можа пайсці не так, зусім 1741 01:11:16,700 --> 01:11:19,680 шчыра кажучы, у вельмі трагічным шляху, калі гэтыя рэчы не 1742 01:11:19,680 --> 01:11:23,870 ацэненыя або проста мы, людзі робяць памылкі, калі справа даходзіць да 1743 01:11:23,870 --> 01:11:26,792 гэтыя віды дэталі рэалізацыі сучасных кампутараў. 1744 01:11:26,792 --> 01:11:27,284 >> [Прайграванне відэа] 1745 01:11:27,284 --> 01:11:30,730 -Вернемся зараз да інжынернай бедстваў на сучасных цудаў. 1746 01:11:30,730 --> 01:11:32,200 Кампутары. 1747 01:11:32,200 --> 01:11:34,920 Мы ўсе прыйшлі да разумення часцяком расчароўвае праблемы 1748 01:11:34,920 --> 01:11:36,750 якія ідуць з імі. 1749 01:11:36,750 --> 01:11:40,690 Памылкі, вірусы, збоі праграмнага забеспячэння і малых цэны 1750 01:11:40,690 --> 01:11:42,550 плаціць за зручнасць. 1751 01:11:42,550 --> 01:11:45,170 Але ў вобласці высокіх тэхналогій і высокай хуткасцю ваеннай і касмічнай 1752 01:11:45,170 --> 01:11:48,450 праграмных прыкладанняў, найменшая праблема можа быць 1753 01:11:48,450 --> 01:11:52,220 павялічаная ў катастрофе. 1754 01:11:52,220 --> 01:11:56,780 4 чэрвеня 1996 года, навукоўцы гатовыя пачаць беспілотнага 1755 01:11:56,780 --> 01:11:58,430 Ракета Ariane 5. 1756 01:11:58,430 --> 01:12:00,750 Было правядзення навуковых спадарожнікаў для 1757 01:12:00,750 --> 01:12:03,580 ўсталяваць, як менавіта магнітнае поле Зямлі 1758 01:12:03,580 --> 01:12:06,900 ўзаемадзейнічае з сонечным ветрам. 1759 01:12:06,900 --> 01:12:10,330 Ракета была пабудавана для Еўрапейскага касмічнага агенцтва і 1760 01:12:10,330 --> 01:12:13,450 адарваўся ад свайго аб'екта на ўзбярэжжа Французскай Гвіане. 1761 01:12:13,450 --> 01:12:16,970 >> -Прыкладна каля 37 секунд у палёце, яны спачатку 1762 01:12:16,970 --> 01:12:19,700 заўважыла, што нешта ідзе не так, што сопла былі 1763 01:12:19,700 --> 01:12:21,590 паваротныя такім чынам, яны сапраўды не павінны. 1764 01:12:21,590 --> 01:12:25,020 Каля 40 секунд у палёце, выразна аўтамабіля 1765 01:12:25,020 --> 01:12:27,340 трапіў у бяду, і вось, калі яны прынялі рашэнне 1766 01:12:27,340 --> 01:12:28,136 знішчыць яго. 1767 01:12:28,136 --> 01:12:31,450 Афіцэр дыяпазон бяспекі з велізарным кішкі націску 1768 01:12:31,450 --> 01:12:34,160 Кнопка, ўзарвалі ракету перш чым ён зможа стаць 1769 01:12:34,160 --> 01:12:37,470 небяспека для грамадскай бяспекі. 1770 01:12:37,470 --> 01:12:40,750 >> -Гэта быў першы рэйс з Ariane 5, а яго 1771 01:12:40,750 --> 01:12:43,990 разбурэння адбыліся з-за памылкі, убудаваныя ў 1772 01:12:43,990 --> 01:12:45,480 Ракета праграмнага забеспячэння. 1773 01:12:45,480 --> 01:12:47,660 >> -Праблемы на Ariane, што не было побач, што 1774 01:12:47,660 --> 01:12:51,245 патрабуе 64 бітаў, каб выказаць, і яны хацелі, каб пераўтварыць яго 1775 01:12:51,245 --> 01:12:53,010 для 16-бітных ліку. 1776 01:12:53,010 --> 01:12:54,900 Яны выказалі здагадку, што колькасць ніколі не было 1777 01:12:54,900 --> 01:12:56,280 Будзе вельмі вялікі, 1778 01:12:56,280 --> 01:12:59,920 што большасць з гэтых лічбаў у 64-разрадныя ліку былі 0s. 1779 01:12:59,920 --> 01:13:01,860 Яны мелі рацыі. 1780 01:13:01,860 --> 01:13:04,550 >> -Няздольнасць адну праграму, каб прыняць 1781 01:13:04,550 --> 01:13:07,730 выгляд нумар, які генеруецца іншы быў у корані 1782 01:13:07,730 --> 01:13:08,930 правал. 1783 01:13:08,930 --> 01:13:11,490 Распрацоўка праграмнага забеспячэння стала вельмі дарагой часткай 1784 01:13:11,490 --> 01:13:13,280 новыя тэхналогіі. 1785 01:13:13,280 --> 01:13:16,530 Ariane 4 ракеты былі вельмі паспяховымі. 1786 01:13:16,530 --> 01:13:19,100 Так што вялікая частка праграмнага забеспячэння, створанага для яго таксама быў выкарыстаны 1787 01:13:19,100 --> 01:13:21,050 У Ariane 5. 1788 01:13:21,050 --> 01:13:25,530 >> -Асноўнай праблемай было тое, што Ariane 5 быў хутчэй, 1789 01:13:25,530 --> 01:13:27,280 паскорыўся хутчэй. 1790 01:13:27,280 --> 01:13:30,590 І праграмнае забеспячэнне не даводзілася для гэтага. 1791 01:13:30,590 --> 01:13:33,060 >> -Знішчэнне ракеты быў велізарным фінансавым 1792 01:13:33,060 --> 01:13:37,670 катастрофа, ўсё з-за хвіліне памылка праграмнага забеспячэння. 1793 01:13:37,670 --> 01:13:40,750 Але гэта быў не першы раз, праблемы пераўтварэння дадзеных было 1794 01:13:40,750 --> 01:13:43,680 пакутуюць сучасныя тэхналогіі ракеты. 1795 01:13:43,680 --> 01:13:44,390 >> DAVID малая: Мы пакінем усё як ёсць. 1796 01:13:44,390 --> 01:13:46,870 Але гэта з'яўляецца сведчаннем таго, наколькі дастасавальныя нават некаторыя з 1797 01:13:46,870 --> 01:13:48,750 гэта самы нізкі ўзровень дэталі, якія мы пачалі 1798 01:13:48,750 --> 01:13:50,040 даследаваць сёння. 1799 01:13:50,040 --> 01:13:52,510 Такім чынам, нават, як вы атрымаеце трохі адцягнуцца, магчыма, некаторыя з 1800 01:13:52,510 --> 01:13:55,240 сінтаксіс і Арканест тут, разумееш, што за 1801 01:13:55,240 --> 01:13:57,690 Тэрмін мы будзем сканцэнтраваны толькі на тым, як гэта стасуецца да 1802 01:13:57,690 --> 01:13:59,530 светы далёка за межамі CS. 1803 01:13:59,530 --> 01:14:00,780 Мы будзем бачыць Вас у сераду.