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