1 00:00:08,119 --> 00:00:11,630 [Powered by Google Translate] DAVID J. MALAN: Bütün sağ, bu CS50, bu isə 2 00:00:11,630 --> 00:00:14,790 həftə iki başlamaq. 3 00:00:14,790 --> 00:00:16,300 Təşəkkür edirik. 4 00:00:16,300 --> 00:00:19,000 Bizə zəng burada başlasın. 5 00:00:19,000 --> 00:00:30,005 617-BUG-CS50 yığmaq Mən deyiləm. 6 00:00:30,005 --> 00:00:31,230 CS50: Bu CS50 edir. 7 00:00:31,230 --> 00:00:33,930 Shuttle Boy, 1 düyməsini basın. 8 00:00:33,930 --> 00:00:36,660 Artıq başlamaq üçün 9 basın. 9 00:00:36,660 --> 00:00:38,180 DAVID J. MALAN: O Shuttle Boy, mətbuat üçün 1 bildirib. 10 00:00:38,180 --> 00:00:41,560 Belə ki, 1 düyməsini basın olacaq. 11 00:00:41,560 --> 00:00:43,230 CS50: Sizin mənşəli nədir? 12 00:00:43,230 --> 00:00:45,340 Üçün dörd, mətbuat 1. 13 00:00:45,340 --> 00:00:47,080 Mather, mətbuat 2. 14 00:00:47,080 --> 00:00:49,240 Boylston, mətbuat 3. 15 00:00:49,240 --> 00:00:51,280 Lamont, mətbuat 4. 16 00:00:51,280 --> 00:00:53,210 Mem Hall, mətbuat 5. 17 00:00:53,210 --> 00:00:55,660 Başlamaq üçün, 0 sıxın. 18 00:00:55,660 --> 00:00:59,590 DAVID J. MALAN: Biz dörd üçün 1 düyməsini basın bilərsiniz. 19 00:00:59,590 --> 00:01:03,610 CS50: Next servis 1:10 PM Bu çox dəqiqə yarpaq, və 20 00:01:03,610 --> 00:01:09,820 sonra 1:20 PM, 1:30 PM, 1:40 PM. 21 00:01:09,820 --> 00:01:12,030 Bu CS50 edir. 22 00:01:12,030 --> 00:01:15,570 >> DAVID J. MALAN: Yəni bu CS50 səsi deyil. 23 00:01:15,570 --> 00:01:18,030 Və bunun üçün yekun layihələrin növ nümunə var 24 00:01:18,030 --> 00:01:19,500 Məsələn, siz doğru yola yemək bilər 25 00:01:19,500 --> 00:01:20,600 dövr sonu. 26 00:01:20,600 --> 00:01:23,840 Məsələn, o shuttleboy.cs50.net var - 27 00:01:23,840 --> 00:01:28,200 Mən ilk CS51 sonra yazdı ki, həqiqətən bir layihə 28 00:01:28,200 --> 00:01:29,740 geri Mən bir lisenziya idi. 29 00:01:29,740 --> 00:01:32,250 Və burada ilham sonra geri idi, onlar bütün idi 30 00:01:32,250 --> 00:01:34,320 çap avtobus cədvəllər, orada heç idi 31 00:01:34,320 --> 00:01:35,970 online qədər şeylər axtarır anlayışı. 32 00:01:35,970 --> 00:01:38,730 Və mən bir həftə sonu göyərçin növ, vasitəsilə tökülür 33 00:01:38,730 --> 00:01:41,460 cədvəli çap və kompüter proqramı üçün daşıdıq. 34 00:01:41,460 --> 00:01:43,790 Zamanda, kompüter proqramı yazılır oldu 35 00:01:43,790 --> 00:01:47,110 C. Və həqiqətən də yazaraq Shuttle Boy ilə qaçdı 36 00:01:47,110 --> 00:01:48,600 biz bu günə qədər bunu etdik kimi yanıb-sönən təklif. 37 00:01:48,600 --> 00:01:50,450 Amma il ərzində, bu ani çevrilmişdir oldu 38 00:01:50,450 --> 00:01:51,390 mesajlaşma bot. 39 00:01:51,390 --> 00:01:53,970 Bu daxil, bu veb daha son inkişaf edir 40 00:01:53,970 --> 00:01:57,720 SMS-based, habelə bu səs-based daxil kimi. 41 00:01:57,720 --> 00:02:00,170 Bu şeyi növləri ilə işarə edir siz ki, 42 00:02:00,170 --> 00:02:02,380 semestr sonuna özünüz edin. 43 00:02:02,380 --> 00:02:05,490 >> Məsələn, orada Shuttle oğlan SMS versiyası olur 44 00:02:05,490 --> 00:02:06,510 aşağıdakı kimi fəaliyyət. 45 00:02:06,510 --> 00:02:10,880 , Mobil telefon, sizə 41411, mətn mesajı göndərmək və əgər 46 00:02:10,880 --> 00:02:14,300 sonra Shuttle Boy üçün xüsusi simvolu sboy göndərmək 47 00:02:14,300 --> 00:02:18,350 A və A mənşəli olduğu B və B sonra bir 48 00:02:18,350 --> 00:02:19,070 hedef - 49 00:02:19,070 --> 00:02:21,030 Məsələn, Boylston Space Dördlüyü - 50 00:02:21,030 --> 00:02:23,330 nə bir neçə saniyə ərzində almaq geri olmalıdır mətn 51 00:02:23,330 --> 00:02:25,820 Shuttle Boy mesaj belirten dəqiq zaman 52 00:02:25,820 --> 00:02:28,990 Növbəti bir neçə Servislerimiz ki baxımından, A ki, davam edir 53 00:02:28,990 --> 00:02:29,640 point B. 54 00:02:29,640 --> 00:02:32,510 Bu kimi tanınan nə daha ümumi nümunə 55 00:02:32,510 --> 00:02:33,920 bir API istifadə edir. 56 00:02:33,920 --> 00:02:36,930 >> Belə ki, məsələn, burada bu, yalnız shuttleboy.cs50.net edir 57 00:02:36,930 --> 00:02:39,300 Bu faktiki web-based təcəssüm. 58 00:02:39,300 --> 00:02:42,480 Lakin bu və digər apps vurğulayır ki, məlumatlar CS50 59 00:02:42,480 --> 00:02:45,560 inkişaf bütün şəklində burada hər kəs məruz 60 00:02:45,560 --> 00:02:49,340 API, ərizə proqramlaşdırma interfeys. 61 00:02:49,340 --> 00:02:52,220 Və yalnız insanların biz istərdik ki, bir xülya yolu 62 00:02:52,220 --> 00:02:56,010 İnternet və başqaları yaradılması müəyyən vaxt sərf 63 00:02:56,010 --> 00:02:59,970 Bizə məlumat işğalçı və üçün istifadə edə bilərsiniz ki, proqram 64 00:02:59,970 --> 00:03:02,510 sonra top öz applications qurmaq 65 00:03:02,510 --> 00:03:03,840 məlumatlar dəsti. 66 00:03:03,840 --> 00:03:06,610 Belə ki, məsələn, burada bu Shuttle Boy API səhifə olan 67 00:03:06,610 --> 00:03:09,390 mahiyyətcə CS50 dərslik, sənədləri olmaq olur 68 00:03:09,390 --> 00:03:13,080 Məlumat üçün CS50 serverlər xahiş haqqında getmək necə. 69 00:03:13,080 --> 00:03:16,240 Məsələn, CSV faylları, vergül ilə tanış değilseniz 70 00:03:16,240 --> 00:03:18,940 dəyərlər ayrılmış, bu yalnız sort var sürətli və çirkli 71 00:03:18,940 --> 00:03:20,310 Excel kimi faylları. 72 00:03:20,310 --> 00:03:23,110 Beləliklə, siz bütün məlumat bütün Shuttle Boy xahiş edə bilər 73 00:03:23,110 --> 00:03:25,090 evləri və onların GPS koordinatlarını, siz almaq lazımdır 74 00:03:25,090 --> 00:03:27,300 kimi geri, mahiyyətcə bir elektron tablo ki, 75 00:03:27,300 --> 00:03:30,820 Əgər sonra öz proqram oxumaq olar 76 00:03:30,820 --> 00:03:33,250 , nəticələr yaratmaq Shuttle Boy özü kimi 77 00:03:33,250 --> 00:03:34,160 məşğul olur. 78 00:03:34,160 --> 00:03:37,030 O daha çox tanış, daha müasir data nümayəndəlikləri üçün 79 00:03:37,030 --> 00:03:39,420 JSON, JavaScript Obyekt Notation daxildir. 80 00:03:39,420 --> 00:03:40,620 Something doğru geri gələcək 81 00:03:40,620 --> 00:03:41,720 dövr sonu. 82 00:03:41,720 --> 00:03:45,440 >> Ancaq yenə də, bu, yalnız CS50 öz API bir neçə biridir. 83 00:03:45,440 --> 00:03:48,320 Və maraqlı şey, indi Facebook bu gün və 84 00:03:48,320 --> 00:03:51,110 Twitter və Google və olduqca çox hər məşhur veb həyata 85 00:03:51,110 --> 00:03:54,130 Siz oxumaq deməkdir API, bir növ var var 86 00:03:54,130 --> 00:03:56,620 onların veb sənədləri, bir üçün qeydiyyatdan 87 00:03:56,620 --> 00:03:59,980 hesab, sonra üst proqram yazmağa başlayın bilər 88 00:03:59,980 --> 00:04:03,680 orada təmin hər hansı alətləri və ya məlumat ki, şirkət. 89 00:04:03,680 --> 00:04:06,210 Bir neçə il geri öz tədris yoldaşları və belə bir 90 00:04:06,210 --> 00:04:07,620 bu bir Mac versiyası yazdı. 91 00:04:07,620 --> 00:04:10,990 Belə ki, sol üst burada Mac adlı link, həqiqətən bilərsiniz 92 00:04:10,990 --> 00:04:13,940 də bunu öz Mac çalışır ki, bir Mac OS widget download 93 00:04:13,940 --> 00:04:15,040 şeyi eyni cür. 94 00:04:15,040 --> 00:04:17,970 Belə ki, bu kimi məlumatlar dəsti üst tikinti haqqında bütün var. 95 00:04:17,970 --> 00:04:21,839 Dövr sonuna ki,, lakin daha çox. 96 00:04:21,839 --> 00:04:25,780 >> Belə edək yalnız növ almaq və, bir hata real tez dalış 97 00:04:25,780 --> 00:04:27,990 şeylər bəzi geri indiyə qədər isidilmiş və hesab edirəm ki, 98 00:04:27,990 --> 00:04:29,660 şeyi biz ötən həftə baxdı. 99 00:04:29,660 --> 00:04:32,840 Xüsusilə, demək, məni irəli getmək və qoparmaq imkan 100 00:04:32,840 --> 00:04:34,080 burada bu misal. 101 00:04:34,080 --> 00:04:37,500 Buggy1.c, bu kurs saytında mövcuddur siz isterseniz 102 00:04:37,500 --> 00:04:40,250 yükləyin və özünüzü ətrafında soxmaq istəyirəm. 103 00:04:40,250 --> 00:04:43,520 Amma qoy bu ədalətli qısa proqram burada zoom və yalnız 104 00:04:43,520 --> 00:04:46,550 əsas bloklar ki, bəzi super-sürətli recap 105 00:04:46,550 --> 00:04:48,880 biz, həqiqətən, yalnız göydən alaraq başlamaq niyyətindəyik. 106 00:04:48,880 --> 00:04:51,860 >> Mavi məhsulları Belə ki, 9 vasitəsilə xətləri 1-ci, yalnız 107 00:04:51,860 --> 00:04:53,670 voleybol suallar. 108 00:04:53,670 --> 00:04:54,590 Belə ki, bu yalnız şərh edir. 109 00:04:54,590 --> 00:04:56,230 Onlar heç bir funksional mənası var. 110 00:04:56,230 --> 00:04:58,460 Lakin onlar qeyd olduğunu mənada şərh olduğunu 111 00:04:58,460 --> 00:05:02,010 Mən, insan ki, mühazirə və sonra belə özüm üçün 112 00:05:02,010 --> 00:05:04,340 mühazirə, mən, həqiqətən, xatırlayıram nə bu proqram 113 00:05:04,340 --> 00:05:07,120 xətti ilə bu xətt vasitəsilə oxumaq olmadan edir və 114 00:05:07,120 --> 00:05:08,990 fikrimi tarixi yeniden. 115 00:05:08,990 --> 00:05:11,000 Bundan başqa, mən kimi başqasına bu proqram əl əgər 116 00:05:11,000 --> 00:05:14,420 Sizcə, bu, çünki bu kimi şərh, sizə daha aydın var 117 00:05:14,420 --> 00:05:16,680 proqram həqiqətən bunu nə, və ya ən azı nə 118 00:05:16,680 --> 00:05:18,210 proqram etdiyini güman edir. 119 00:05:18,210 --> 00:05:20,760 Doğru olsun və ya tamamilə başqa məsələdir. 120 00:05:20,760 --> 00:05:25,040 İndi, C, multi-line şərh ilə xatırlayıram ki, line 121 00:05:25,040 --> 00:05:27,880 bir burada / *, sehrli rəmzidir. 122 00:05:27,880 --> 00:05:30,380 Bu comment başlanğıc gəlir burada deməkdir. 123 00:05:30,380 --> 00:05:34,560 Siz son terminator çatana qədər başqa heç bir məsələ 124 00:05:34,560 --> 00:05:36,700 * /, qarşı olan. 125 00:05:36,700 --> 00:05:39,120 Mən buradan 80-bir tək ulduz var ki, 126 00:05:39,120 --> 00:05:41,550 sağ həqiqətən yalnız bir estetik detal. 127 00:05:41,550 --> 00:05:43,370 Bu, heç bir funksional mənası vardır. 128 00:05:43,370 --> 00:05:44,490 >> İndi necə line 11? 129 00:05:44,490 --> 00:05:46,940 Bu layman nin baxımından nə edir? 130 00:05:51,560 --> 00:05:52,540 Nə olub? 131 00:05:52,540 --> 00:05:54,280 Auditoriya: standart daxildir. 132 00:05:54,280 --> 00:05:54,740 DAVID J. MALAN: OK, yaxşı. 133 00:05:54,740 --> 00:05:57,500 Belə ki, stdio.h kitabxana daxildir. 134 00:05:57,500 --> 00:05:58,230 Belə ki, nə deməkdir? 135 00:05:58,230 --> 00:06:01,570 Yaxşı ki, fayl daxilində, stdio.h, bütün dəstə var 136 00:06:01,570 --> 00:06:03,320 funksiyası bəyannamələrin - 137 00:06:03,320 --> 00:06:05,290 ki, bir başqası yazdı kodu. 138 00:06:05,290 --> 00:06:08,160 Elan etdiyi bir funksiyası və mükəmməl bir misal 139 00:06:08,160 --> 00:06:10,250 stdio.h deyil - 140 00:06:10,250 --> 00:06:11,980 olan sevimli indi? 141 00:06:11,980 --> 00:06:14,300 Belə printf, ən ümumi olanların bir əlbəttə, istifadə etmək 142 00:06:14,300 --> 00:06:15,840 erkən ki, kitabxana var. 143 00:06:15,840 --> 00:06:19,290 Mən kodu ki, xətt istisna varsa, cingilti fəğan edir 144 00:06:19,290 --> 00:06:22,550 bir elan edilməmiş simvolu istifadə haqqında mənə bir şey. 145 00:06:22,550 --> 00:06:24,930 Çünki elan edilməmiş bir şey yəqin ki, söz deyil 146 00:06:24,930 --> 00:06:27,770 biz printf görünür nə compiler məlumat yoxdur 147 00:06:27,770 --> 00:06:29,230 biz line daxildir halda istəyirəm. 148 00:06:29,230 --> 00:06:31,830 Və daha aşağı Earth, həqiqətən, nə xətt söyləyərək edir 149 00:06:31,830 --> 00:06:34,890 bu server edir yerdə ki, fayl, stdio.h, açmaq 150 00:06:34,890 --> 00:06:38,200 sabit və ya cihaz sabit sürücü və surəti yapışdırıb bu 151 00:06:38,200 --> 00:06:40,240 orada mənim fayl daxil olmadan mənim 152 00:06:40,240 --> 00:06:41,730 ki, əl ilə etmək var. 153 00:06:41,730 --> 00:06:44,420 >> İndi, bir dəfə biz əvvəl biz başlamaq lazımdır, əsas burada aşağı almaq 154 00:06:44,420 --> 00:06:46,900 etibarsız nə int və nə ayrı zəhlətökən. 155 00:06:46,900 --> 00:06:48,430 Amma indi üçün də üç xətt baxaq 156 00:06:48,430 --> 00:06:50,350 ərzində 15 17. 157 00:06:50,350 --> 00:06:52,250 Burada Bu arabası kimi iddia edirlər. 158 00:06:52,250 --> 00:06:54,900 Mənim şərh Line 7 "10 çap lazımdır deyir 159 00:06:54,900 --> 00:06:59,410 ulduz deyil. "Niyə bu, əslində, çap deyil deyil 160 00:06:59,410 --> 00:07:01,097 10 belə ulduz? 161 00:07:01,097 --> 00:07:02,347 Auditoriya: [işitilemez]. 162 00:07:05,210 --> 00:07:05,800 DAVID J. MALAN: Exactly. 163 00:07:05,800 --> 00:07:08,720 Belə ki, 0-dan saymaq başlayaraq edirik ki, görürsünüz. 164 00:07:08,720 --> 00:07:10,780 Bu həqiqətən proqramlaşdırma konvensiya və 165 00:07:10,780 --> 00:07:13,230 oxunma başlayaraq ümumiyyətlə informatika, 166 00:07:13,230 --> 00:07:14,610 0 əvəzinə 1-dən. 167 00:07:14,610 --> 00:07:16,690 Və bu, həqiqətən yalnız üçün fakt irəli gəlir 168 00:07:16,690 --> 00:07:18,940 Məsələn, biz səhnədə səkkiz nəfər idi, zaman 169 00:07:18,940 --> 00:07:20,680 heç bir əl qaldırmaq, onlar idi 170 00:07:20,680 --> 00:07:22,340 bütün səmərəli adet sıfır. 171 00:07:22,340 --> 00:07:24,260 Və o, belə bir kompüter konvensiyanın yalnız növü 172 00:07:24,260 --> 00:07:26,030 Buna görə də, 0-dan hesablanması başlamaq. 173 00:07:26,030 --> 00:07:29,130 Ən aşağı sıra Əgər ikili təmsil edə bilər. 174 00:07:29,130 --> 00:07:32,270 >> Belə ki, burada biz 0 i başlatılıyor açılmış etdik. 175 00:07:32,270 --> 00:07:34,230 Biz 0 i bərabər müəyyən etdik. 176 00:07:34,230 --> 00:07:37,780 Lakin sonra mən və ya i az deyərək, burada bu səhv etdi 177 00:07:37,780 --> 00:07:38,820 10 bərabərdir. 178 00:07:38,820 --> 00:07:41,700 Amma mən 0 başlamaq və əgər vasitəsilə mən getmək hesab edirəm ki, əgər 179 00:07:41,700 --> 00:07:46,410 qədər 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, mən, həqiqətən, gedirəm 180 00:07:46,410 --> 00:07:49,980 Mən getdi sonra, çünki ekran 11 ulduz çap 181 00:07:49,980 --> 00:07:52,410 və 10-bərabərdir. 182 00:07:52,410 --> 00:07:55,090 Belə ki, burada asan fix sonra nə? 183 00:07:55,090 --> 00:07:56,070 Auditoriya: [işitilemez]. 184 00:07:56,070 --> 00:07:57,350 DAVID J. MALAN: Sadece az dəyişdirmək. 185 00:07:57,350 --> 00:07:59,700 Həqiqətən istəyirsinizsə, siz bunu edə bilər. 186 00:07:59,700 --> 00:08:01,370 Amma ümumi ki, üzərinə qaşqabağını töküb üzünü oldu. 187 00:08:01,370 --> 00:08:04,020 Və 0 saymaq başlayaraq yalnız lazımdır şey 188 00:08:04,020 --> 00:08:05,510 adətən istifadə almaq. 189 00:08:05,510 --> 00:08:07,810 İndi nə özü və bu bütün şekli haqqında? 190 00:08:07,810 --> 00:08:10,640 Loop Bu xətt 15 demarks a. 191 00:08:10,640 --> 00:08:12,510 Belə bir funksiya deyil. 192 00:08:12,510 --> 00:08:13,640 Bu, sadəcə bir şərh var. 193 00:08:13,640 --> 00:08:16,180 Biz Not gördüm kimi, bir loop tikinti var. 194 00:08:16,180 --> 00:08:17,600 Və bu üç hissələri var. 195 00:08:17,600 --> 00:08:19,740 Üçün ilk hissəsi olduğunu edək 196 00:08:19,740 --> 00:08:21,350 də nöqtəli vergül və sol. 197 00:08:21,350 --> 00:08:24,200 Iki semicolons arasında orta hissəsi var. 198 00:08:24,200 --> 00:08:26,250 Və sonra sağ sağ hissəsi var 199 00:08:26,250 --> 00:08:27,640 ikinci nöqtəli vergül edir. 200 00:08:27,640 --> 00:08:31,822 İndi, bu ilk nə edir? 201 00:08:31,822 --> 00:08:33,679 Auditoriya: [işitilemez]. 202 00:08:33,679 --> 00:08:34,270 DAVID J. MALAN: Geri var? 203 00:08:34,270 --> 00:08:34,816 Evet? 204 00:08:34,816 --> 00:08:35,980 Auditoriya: Başlatma. 205 00:08:35,980 --> 00:08:36,850 >> DAVID J. MALAN: Başlatma. 206 00:08:36,850 --> 00:08:37,840 Belə ki, bu nə deməkdir? 207 00:08:37,840 --> 00:08:40,690 Biz i adlı dəyişən elan etmişik. 208 00:08:40,690 --> 00:08:43,840 Mən int i müəyyən etdik, çünki növü int edir. 209 00:08:43,840 --> 00:08:46,470 Mən 0 dəyərinə i başlatılıyor alıram. 210 00:08:46,470 --> 00:08:47,730 Beləliklə, bu, həqiqətən, nə deyən var? 211 00:08:47,730 --> 00:08:50,680 Bu kifayət qədər səmərəli mənə vermək, hey kompüter deyərək oldu 212 00:08:50,680 --> 00:08:53,660 sonra yaddaş, kifayət qədər RAM, bir sıra uyğun və qoymaq 213 00:08:53,660 --> 00:08:56,130 RAM ki yığın sayı 0. 214 00:08:56,130 --> 00:08:59,100 Və bir kənara kimi, ən azı daxili, adətən bir int necə böyük 215 00:08:59,100 --> 00:09:00,280 Aracın və? 216 00:09:00,280 --> 00:09:01,000 Auditoriya: 32 bit. 217 00:09:01,000 --> 00:09:01,670 DAVID J. MALAN: 32 bit. 218 00:09:01,670 --> 00:09:04,890 Mənə başqa 4 bayt kimi tanınan 32 bit, vermək deməkdir ki, 219 00:09:04,890 --> 00:09:07,250 və olduqca asan olan bu dəyəri 0 qoymaq çünki 220 00:09:07,250 --> 00:09:09,110 yalnız 0 bütün bit qurmaq deməkdir. 221 00:09:09,110 --> 00:09:11,690 >> Beləliklə, burada ikinci hissəsi şərtdir. 222 00:09:11,690 --> 00:09:14,590 Və vəziyyəti, adı təklif kimi, yoxlanılır nə 223 00:09:14,590 --> 00:09:18,100 təkrar və yenidən doğru və ya yalan olub kimi. 224 00:09:18,100 --> 00:09:21,410 Belə ki, bu yalnız aşağıdakı kod xətləri nə deyib - 225 00:09:21,410 --> 00:09:23,950 yəni line 16, indented yalnız bir ki, çünki 226 00:09:23,950 --> 00:09:24,820 altında - 227 00:09:24,820 --> 00:09:26,980 belə uzun i 10-dən az kimi. 228 00:09:26,980 --> 00:09:30,520 Bu loop hər iteration sonra nə 229 00:09:30,520 --> 00:09:33,840 Bu halda olan incrementation, i + +. 230 00:09:33,840 --> 00:09:35,580 İndi i + + olmaq deyil. 231 00:09:35,580 --> 00:09:37,610 Bu i ola bilər -. 232 00:09:37,610 --> 00:09:39,860 Mən bunu Lakin, nə davranış olacaq 233 00:09:39,860 --> 00:09:41,370 Bu proqram olacaq? 234 00:09:41,370 --> 00:09:42,290 Auditoriya: Bu sonsuz loop olacaq. 235 00:09:42,290 --> 00:09:44,060 DAVID J. MALAN: Bu sonsuz loop bir növ olacaq, 236 00:09:44,060 --> 00:09:47,720 biz mənfi 2 milyard və ya sonra þanslý halda. 237 00:09:47,720 --> 00:09:51,320 Bəlkə şeyi yalnız məhdud təbiəti ilə, ətrafında kesmek edəcək 238 00:09:51,320 --> 00:09:53,930 biz int üçün ayrılan ki bit sayı. 239 00:09:53,930 --> 00:09:56,270 Amma əlbəttə 10 daha çox təkrarlamaq gedən və oldu 240 00:09:56,270 --> 00:09:58,630 əlbəttə burada çox 11 dəfə. 241 00:09:58,630 --> 00:10:02,240 >> İndi kimi bir kənara, həyata keçirən i + + və i - 242 00:10:02,240 --> 00:10:04,420 həqiqətən yalnız sintaktik şəkər var. 243 00:10:04,420 --> 00:10:07,210 Bu bir az daha çox nə üçün yalnız stenoqrafiya notation var 244 00:10:07,210 --> 00:10:08,720 aydın şəkildə aşağıdakı kimi yazılı: 245 00:10:08,720 --> 00:10:11,200 i = i + 1. 246 00:10:11,200 --> 00:10:13,460 I eyni Yəni + +. 247 00:10:13,460 --> 00:10:15,860 Bu, sadəcə cür demək gözəlləşir görünür i + +. 248 00:10:15,860 --> 00:10:17,490 Daha çox oxunaqlı, daha yığcam var. 249 00:10:17,490 --> 00:10:19,030 Və ən insanların əvəzinə edin. 250 00:10:19,030 --> 00:10:21,840 Amma bu funksional eynidir 251 00:10:21,840 --> 00:10:22,900 biz yalnız gördüm nə. 252 00:10:22,900 --> 00:10:27,770 Belə ki, qısa, burada sürətli fix yalnız i təkrarlamaq demək 253 00:10:27,770 --> 00:10:30,690 bütün yolu 0-dan az 10. 254 00:10:30,690 --> 00:10:32,700 Və sonra biz həqiqətən 10 ulduz almaq lazımdır. 255 00:10:32,700 --> 00:10:33,430 >> Belə ki, bu cəhd edək. 256 00:10:33,430 --> 00:10:35,310 Mənə altındakı terminal açmaq edək. 257 00:10:35,310 --> 00:10:37,420 Bu da ki, məni dizine gedək 258 00:10:37,420 --> 00:10:40,030 Mən indi cingilti ilə özünüz tərtib gedirəm. 259 00:10:40,030 --> 00:10:44,880 Mən daxil edin buggy1.c kimi tərtib gedirəm. 260 00:10:44,880 --> 00:10:50,280 İndi buggy1, niyə belə fayl və ya qovluq yoxdur 261 00:10:50,280 --> 00:10:52,026 buggy1 deyilən? 262 00:10:52,026 --> 00:10:53,850 Auditoriya: [işitilemez]. 263 00:10:53,850 --> 00:10:54,240 DAVID J. MALAN: Bəli. 264 00:10:54,240 --> 00:10:55,420 Belə ki, həqiqətən a.out deyirlər. 265 00:10:55,420 --> 00:10:57,480 Yalnız cingilti run əgər cingilti olduğu Belə ki, geri ki, 266 00:10:57,480 --> 00:11:00,420 compiler və siz istədiyiniz adı müəyyən etmir 267 00:11:00,420 --> 00:11:03,550 proqram vermək, bu a.out u mənim olacaq. 268 00:11:03,550 --> 00:11:05,030 Belə ki, həqiqətən mən ls əgər - 269 00:11:05,030 --> 00:11:05,510 oops. 270 00:11:05,510 --> 00:11:07,680 Mən didn't - qara-ağ məsələ bəzi 271 00:11:07,680 --> 00:11:08,840 siz müəyyən edilmişdir üzləşib. 272 00:11:08,840 --> 00:11:10,670 Amma mənə bunu bildirin. 273 00:11:10,670 --> 00:11:14,570 Var biz sol tərəfində a.out var. 274 00:11:14,570 --> 00:11:17,360 Belə ki, əvəzinə buggy1 və a.out run var. 275 00:11:17,360 --> 00:11:19,140 >> Mənə irəli getmək və bunu bildirin. 276 00:11:19,140 --> 00:11:22,840 . / A.out daxil edin. 277 00:11:22,840 --> 00:11:26,160 Mən yəqin nə etmədi? 278 00:11:26,160 --> 00:11:26,620 Auditoriya: saxla. 279 00:11:26,620 --> 00:11:27,390 DAVID J. MALAN: mənim fayl saxla. 280 00:11:27,390 --> 00:11:31,520 Belə asanlıqla nəzarət S dəyən ya gedərək həll edir ki, 281 00:11:31,520 --> 00:11:33,450 Fayl, ən proqramları kimi saxla. 282 00:11:33,450 --> 00:11:36,360 Mənə, burada enmək ekran sil yenidən run edək. 283 00:11:36,360 --> 00:11:37,960 Və bir səhv hələ var. 284 00:11:37,960 --> 00:11:41,618 Belə ki, nə gedir - 285 00:11:41,618 --> 00:11:42,980 Auditoriya: Siz tərtib etməyib. 286 00:11:42,980 --> 00:11:44,040 DAVID J. MALAN: Ah, yaxşı. 287 00:11:44,040 --> 00:11:45,010 Mən onu tərtib etməyib. 288 00:11:45,010 --> 00:11:47,250 Bir axmaq kimi, mən yanlış görmek üçün kodu at arıyorum. 289 00:11:47,250 --> 00:11:51,275 Belə ki, cingilti buggy1.c, indi a.out. 290 00:11:51,275 --> 00:11:52,640 Və Phew xilas. 291 00:11:52,640 --> 00:11:55,090 >> Yeni xətt var, çünki Belə ki, bir az çirkin görünür 292 00:11:55,090 --> 00:11:55,970 hər hansı proqram. 293 00:11:55,970 --> 00:11:57,390 Ancaq yenə də, yalnız bir estetik detal var. 294 00:11:57,390 --> 00:11:59,430 Biz o sayırıq əgər ən azı, biz olmalıdır 295 00:11:59,430 --> 00:12:01,160 artıq 10 belə ulduz oldu. 296 00:12:01,160 --> 00:12:03,260 Bəli, bu ikinci isti-up Məsələn haqqında nə? 297 00:12:03,260 --> 00:12:07,750 Belə buggy2, mən bu versiyası da çap edəcək iddia 298 00:12:07,750 --> 00:12:10,110 10 ulduz, satır başına bir. 299 00:12:10,110 --> 00:12:12,340 Bu zaman Belə ki, yalnız etmək, bir newline xarakter 300 00:12:12,340 --> 00:12:13,520 bir az gözəlləşir şeylər. 301 00:12:13,520 --> 00:12:15,410 Amma əvəzində nə almaq bu. 302 00:12:15,410 --> 00:12:19,590 Belə ki, daxil edin, mənə cingilti buggy2.c bunu bildirin. 303 00:12:19,590 --> 00:12:21,790 İndi yenidən a.out deyirlər. 304 00:12:21,790 --> 00:12:23,130 Daxil edin. 305 00:12:23,130 --> 00:12:26,900 Mən yalnız bir yeni xətt yalnız son yeni xətt bax 306 00:12:26,900 --> 00:12:29,370 növbəti line mənim tez hərəkət edir. 307 00:12:29,370 --> 00:12:32,660 Və hələ aydın mən, sonra bir yeni line * çap etdik 308 00:12:32,660 --> 00:12:33,990 *, Sonra yeni bir xətt. 309 00:12:33,990 --> 00:12:35,490 Amma burada səhv nədir? 310 00:12:35,490 --> 00:12:35,974 Evet? 311 00:12:35,974 --> 00:12:37,224 Auditoriya: [işitilemez]. 312 00:12:39,850 --> 00:12:40,470 >> DAVID J. MALAN: Exactly. 313 00:12:40,470 --> 00:12:44,110 Belə ki, Python, Ü abzas kimi bəzi dillər, fərqli 314 00:12:44,110 --> 00:12:46,030 həqiqətən də, funksional mənası var 315 00:12:46,030 --> 00:12:47,150 C kimi dil - 316 00:12:47,150 --> 00:12:49,140 biz görəcəksiniz kimi, PHP, JavaScript - 317 00:12:49,140 --> 00:12:51,940 bu abzas yalnız insanlar 'xeyrinə həqiqətən. 318 00:12:51,940 --> 00:12:55,690 Mən line 16 və 17 indented etdik ki, böyük görünür 319 00:12:55,690 --> 00:12:57,530 lakin burada heç bir funksional mənası vardır. 320 00:12:57,530 --> 00:13:00,700 Mən həm xətləri üzrə bir hissəsi kimi icra etmək istəyirsinizsə 321 00:13:00,700 --> 00:13:05,140 loop, sonra bu etməklə qıvrım aşırma onlara əlavə olmalıdır. 322 00:13:05,140 --> 00:13:08,540 Siz yalnız küncü kəsilmiş və qıvrım aşırma əgər buraxmaq bilər 323 00:13:08,540 --> 00:13:10,036 işin var? 324 00:13:10,036 --> 00:13:10,410 Auditoriya: Yalnız bir xətt. 325 00:13:10,410 --> 00:13:11,130 DAVID J. MALAN: Just bir xətt. 326 00:13:11,130 --> 00:13:15,280 Belə ki, sintaksis ətraflı gözəl növ yalnız sort var ki, 327 00:13:15,280 --> 00:13:17,900 Siz iki olan, üç xətt yazı vaxt sərf etməyin 328 00:13:17,900 --> 00:13:20,040 qıvrım aşırma, yalnız kodu bir line yazmaq. 329 00:13:20,040 --> 00:13:21,650 Amma iki və ya daha çox xətləri varsa, biz 330 00:13:21,650 --> 00:13:22,860 həqiqətən bunu etmək lazımdır. 331 00:13:22,860 --> 00:13:24,210 >> Belə ki, indi mənə bu qazanc imkan verir. 332 00:13:24,210 --> 00:13:27,140 Mənə davam və yenidən run cingilti edək. 333 00:13:27,140 --> 00:13:31,375 Sonra mənə a.out təkrar edək, və indi onlara satır başına bir almaq. 334 00:13:31,375 --> 00:13:33,670 İndi a.out yenidən bir proqram üçün bir lal adı növüdür. 335 00:13:33,670 --> 00:13:37,500 Mən, həqiqətən, mənə bir fayl adı vermək cingilti deyə bilərsiniz 336 00:13:37,500 --> 00:13:39,820 ki buggy2 özü kimi, daha çox istifadəçi dostu var? 337 00:13:43,200 --> 00:13:44,466 Bir az daha dəqiq? 338 00:13:44,466 --> 00:13:45,220 Auditoriya: [işitilemez]. 339 00:13:45,220 --> 00:13:47,810 DAVID J. MALAN: OK, mən, həqiqətən, çox bilər 340 00:13:47,810 --> 00:13:51,000 istifadəçi dostu qısa və yalnız yazmaq buggy2 edir. 341 00:13:51,000 --> 00:13:53,840 Mən bu halda. C daxil, Enter yoxdur. 342 00:13:53,840 --> 00:13:58,530 Və nə etmək nə onun mənim üçün buggy2.c tərtib edir 343 00:13:58,530 --> 00:14:00,260 bunu cingilti xahiş etmişdir. 344 00:14:00,260 --> 00:14:05,100 Xüsusilə, bu, cingilti çağırır, bu yol daha istifadə cingilti çalışır 345 00:14:05,100 --> 00:14:08,540 komanda-line dəlilləri və ya Mən, həqiqətən, ehtiyac çox açarları. 346 00:14:08,540 --> 00:14:11,270 Zaman, bu müxtəlif nə bütün qayıda bilərsiniz 347 00:14:11,270 --> 00:14:13,810 sirli hyphenated ifadələr deməkdir. 348 00:14:13,810 --> 00:14:16,910 Amma indi üçün, yalnız mənim narahatlıq qənaət edir 349 00:14:16,910 --> 00:14:19,600 yadda olan və bu bütün yazın olan 350 00:14:19,600 --> 00:14:21,150 müxtəlif hyphenated ifadələr. 351 00:14:21,150 --> 00:14:23,240 Və onun ayaq nəhayət edir 352 00:14:23,240 --> 00:14:25,900 İndi buggy2 var. 353 00:14:25,900 --> 00:14:27,480 Mən əl bunu istəyirsinizsə, baxmayaraq ki, mən 354 00:14:27,480 --> 00:14:28,775 əvəzinə bunu edə bilərsiniz - 355 00:14:28,775 --> 00:14:34,110 zınqıltı-o buggy2 və sonra buggy2.c. 356 00:14:34,110 --> 00:14:37,980 Və eyni me buggy2 adlı fayl verəcək. 357 00:14:37,980 --> 00:14:39,710 >> Belə ki, qısa, cingilti olan compiler edir. 358 00:14:39,710 --> 00:14:43,080 Olun daha çox istifadə lazımdır ki, yalnız bir istifadəçi dostu vasitədir 359 00:14:43,080 --> 00:14:44,420 və daha çox, sadəcə başlayır, çünki 360 00:14:44,420 --> 00:14:47,330 bizim üçün şeyi sadələşdirmək. 361 00:14:47,330 --> 00:14:49,430 Və biz nəhayət, 0 qayıtmaq. 362 00:14:49,430 --> 00:14:51,890 İndi, yalnız, ancaq bir hissəsi zəhlətökən başlamaq lazımdır 363 00:14:51,890 --> 00:14:52,930 bu gün və çərşənbə günü. 364 00:14:52,930 --> 00:14:55,560 Bu hər hansı bir hər hansı suallar? 365 00:14:55,560 --> 00:14:56,450 Evet? 366 00:14:56,450 --> 00:14:58,234 Auditoriya: [işitilemez] 367 00:14:58,234 --> 00:15:00,020 orada quotes ls? 368 00:15:00,020 --> 00:15:01,710 DAVID J. MALAN: OK. 369 00:15:01,710 --> 00:15:05,880 Zaman mənə bir sehrli edirdi ki, quotes tipli ls, 370 00:15:05,880 --> 00:15:07,160 pərdə arxasında bir səhv düzeltmek üçün. 371 00:15:07,160 --> 00:15:09,370 Biz sizi çox izah etdik kimi, mən unuttum 372 00:15:09,370 --> 00:15:11,600 bunu müzakirə lövhələr, - 373 00:15:11,600 --> 00:15:17,220 biz indi edəcəyik - sudo yum-y yeniləmə appliance50. 374 00:15:17,220 --> 00:15:19,790 Whoops, sağ yazıldığına var ki. 375 00:15:19,790 --> 00:15:23,240 Belə ki, cihaz əməliyyat sistemi kimi. 376 00:15:23,240 --> 00:15:25,650 Bu Fedora adlanan bu əməliyyat sistemi çalışan edir. 377 00:15:25,650 --> 00:15:27,450 İndi çünki mənim yavaş internet bağlantısı, mən var 378 00:15:27,450 --> 00:15:28,260 həqiqətən hosed. 379 00:15:28,260 --> 00:15:31,620 Biz nə sizə Beləliklə, sudo yum yeniləmə çalışan 380 00:15:31,620 --> 00:15:34,080 problem dəsti, mahiyyətcə avtomatik güncellemeler çalışan nasıl 381 00:15:34,080 --> 00:15:35,420 Mac OS və ya Windows. 382 00:15:35,420 --> 00:15:37,280 Və çox əvvəlində bu qaçış səbəbi 383 00:15:37,280 --> 00:15:39,640 çünki biz cihaz yaradılmışdır zaman, mən problem müəyyən edilir 384 00:15:39,640 --> 00:15:42,480 qədər messed və mən təsadüfən proqramları bütün baxmaq etdi 385 00:15:42,480 --> 00:15:45,210 Əgər siz onları görən deyilik niyə bir qara ekran qara, olan 386 00:15:45,210 --> 00:15:45,860 default. 387 00:15:45,860 --> 00:15:48,020 Lakin cihaz ən son versiyası bu giderir. 388 00:15:48,020 --> 00:15:50,500 İnternet var, bir dəfə və mən fasilə zamanı düzeltmek lazımdır 389 00:15:50,500 --> 00:15:51,280 keçid. 390 00:15:51,280 --> 00:15:54,630 >> Belə ki, quotes, yalnız çox Sessiz, mənim səhv gizlədir 391 00:15:54,630 --> 00:15:55,730 yəqin. 392 00:15:55,730 --> 00:15:56,980 Digər suallar? 393 00:15:59,750 --> 00:16:00,668 Bəli? 394 00:16:00,668 --> 00:16:02,012 Auditoriya: etmək haradan gelir? 395 00:16:02,012 --> 00:16:03,810 [Işitilemez] 396 00:16:03,810 --> 00:16:04,280 DAVID J. MALAN: Yaxşı sualdır. 397 00:16:04,280 --> 00:16:05,460 Etmək haradan gelir? 398 00:16:05,460 --> 00:16:09,390 Bu bir çox il mövcud olan bir Linux proqram, uzun 399 00:16:09,390 --> 00:16:10,570 CS50 əvvəl. 400 00:16:10,570 --> 00:16:12,930 Və Fedora kimi bir əməliyyat sistemi ilə gəlir. 401 00:16:12,930 --> 00:16:14,830 Bu CS50 kitabxana deyil. 402 00:16:14,830 --> 00:16:17,560 Əslində, CS50 kitabxana gəlib təkcə 403 00:16:17,560 --> 00:16:20,470 İndiyədək biz gördük ki, GetString, GetInt, bütün var 404 00:16:20,470 --> 00:16:25,550 bu funksiyaları alın və sözü simli, və bəzi 405 00:16:25,550 --> 00:16:26,575 dərəcədə bool sözü. 406 00:16:26,575 --> 00:16:29,180 Biz CS50 daxil dalış Lakin biz ayrı dolaşmaq lazımdır 407 00:16:29,180 --> 00:16:30,580 cihaz özü. 408 00:16:30,580 --> 00:16:32,820 >> Belə ki, bəli, burada daha bir sual. 409 00:16:32,820 --> 00:16:36,636 Auditoriya: siz arabası və sonra dedi, necə edir 410 00:16:36,636 --> 00:16:39,980 kompüter [işitilemez] bilirsinizmi? 411 00:16:39,980 --> 00:16:40,520 DAVID J. MALAN: Yaxşı sualdır. 412 00:16:40,520 --> 00:16:43,830 Belə ki, yalnız çalıştırdığınızda buggy1 etmək və ya buggy2 etmək, necə 413 00:16:43,830 --> 00:16:45,220 Bildiyiniz edir? 414 00:16:45,220 --> 00:16:49,900 Siz buggy1 etmək yazın Belə ismarıcları, bir üçün görünür etmək 415 00:16:49,900 --> 00:16:52,330 fayl buggy1.c çağırıb. 416 00:16:52,330 --> 00:16:55,570 Və sonra o, müvafiq cingilti əmrləri icra 417 00:16:55,570 --> 00:17:00,380 bununla a.out adlı default çıxış fayl əsas. 418 00:17:00,380 --> 00:17:03,670 Əslində, biz etmək nə baxsaq, nə - 419 00:17:03,670 --> 00:17:04,839 bu çıxmaq imkan verir. 420 00:17:04,839 --> 00:17:09,530 Biz həqiqətən edirdi etmək nə baxsaq, buggy2 etmək 421 00:17:09,530 --> 00:17:10,470 bu günə qədər artıq var. 422 00:17:10,470 --> 00:17:13,020 Belə ki, mənə rm komanda aradan qaldırılması bildirin 423 00:17:13,020 --> 00:17:14,319 proqram əvvəl yazmışdır. 424 00:17:14,319 --> 00:17:17,319 Y-E-S mən aradan qaldırılması üçün istədiyiniz təsdiq yazaraq. 425 00:17:17,319 --> 00:17:20,480 Mən indi etmək Əgər, bu çox uzun-uzadı görə 426 00:17:20,480 --> 00:17:22,980 Bu son şey burada, o buggy2 var. 427 00:17:22,980 --> 00:17:26,959 Bütün markası edir, belə danışmaq, bu arqument keçir 428 00:17:26,959 --> 00:17:29,665 Cingilti, mən özüm yazın yoxdur. 429 00:17:29,665 --> 00:17:32,660 >> Bütün hüquqlar, belə inzibati sürətli bir neçə 430 00:17:32,660 --> 00:17:33,470 elanlar. 431 00:17:33,470 --> 00:17:36,940 Belə təbəqələri üçün olan rəsmi gələn başladı 432 00:17:36,940 --> 00:17:38,970 Bazar, həmişə, əgər gətirmək lazımdır 433 00:17:38,970 --> 00:17:40,120 bir, bir laptop var. 434 00:17:40,120 --> 00:17:42,570 Bir laptop yoxsa, mənə həyata çatmaq yoxdur 435 00:17:42,570 --> 00:17:43,580 mənə bir e-poçt düşmə. 436 00:17:43,580 --> 00:17:44,810 Və biz bir iş anlamaq lazımdır. 437 00:17:44,810 --> 00:17:47,100 Nə ümumiyyətlə siz bölməsində tapa bilərsiniz onlar iştirak edirik ki, 438 00:17:47,100 --> 00:17:48,770 konseptual iştirak praktiki. 439 00:17:48,770 --> 00:17:52,190 Biz konkret məsələləri bölməsində hissəsi istifadə edəcəyik 440 00:17:52,190 --> 00:17:54,110 bəzi vasitəsilə gəzmək üçün həftə problem dəsti, 441 00:17:54,110 --> 00:17:55,820 mühazirə dən konseptual material. 442 00:17:55,820 --> 00:17:57,480 Və cari problem set bütün var. 443 00:17:57,480 --> 00:18:00,010 Və biz də bəzən, bəzi praktiki fəaliyyətinə dalış lazımdır 444 00:18:00,010 --> 00:18:02,190 olan bəzən təqdim etmək tələb olunacaq 445 00:18:02,190 --> 00:18:02,830 olmayan olacaq. 446 00:18:02,830 --> 00:18:04,630 Məsələn, bu ilk həftə, onlar yalnız bir kimi nəzərdə edirik 447 00:18:04,630 --> 00:18:05,780 isti-up həyata keçirir. 448 00:18:05,780 --> 00:18:07,800 Və bu problemlərin yalnız həqiqətən ki, tapa bilərsiniz. 449 00:18:07,800 --> 00:18:10,220 Onlar mütləq ədalətli kiçik nəzərdə, lakin edirik 450 00:18:10,220 --> 00:18:13,100 Mütləq deyil ki, yazmaq mənasız proqramları, 451 00:18:13,100 --> 00:18:16,230 özləri və maraqlı ancaq yaxşı imkanlar 452 00:18:16,230 --> 00:18:19,620 bir rahat, yeni funksiyaları ilə, sintaksis ilə təcrübə 453 00:18:19,620 --> 00:18:21,900 sizin sinif yoldaşları bir neçə olduğu bölmə kimi təqdim 454 00:18:21,900 --> 00:18:22,870 Sizin TF həmçinin. 455 00:18:22,870 --> 00:18:26,210 >> Və nə zaman üzərində edəcəyik, CS50 məkanı adlı alət istifadə 456 00:18:26,210 --> 00:18:28,940 vasitəsi əvəzinə yalnız CS50 Aracı istifadə, will 457 00:18:28,940 --> 00:18:32,450 siz edə bilərsiniz yerləşir əvəzinə, bir brauzerinizin bir web page getmək 458 00:18:32,450 --> 00:18:35,610 bölmə zamanı brauzer pəncərəsində kod yazmaq üçün. 459 00:18:35,610 --> 00:18:38,240 Siz seçə əgər, sonra tədris fellow sonra göstərə bilər 460 00:18:38,240 --> 00:18:40,980 sizin brauzerinizin ekranda yazaraq olduğunuz nə 461 00:18:40,980 --> 00:18:43,930 və ya anonim olub sinif ön pəncərə up, 462 00:18:43,930 --> 00:18:47,250 açıq, belə ki, o, sonra vasitəsilə gəzmək olar 463 00:18:47,250 --> 00:18:50,080 Sizin sinif yoldaşları yaxşı nə, yaxşı nə etmədi. 464 00:18:50,080 --> 00:18:52,750 Və yenə qalan bütün bu gözəl anonim bilər arxayın ola bilərsiniz. 465 00:18:52,750 --> 00:18:54,410 Amma daha çox üçün gözəl imkan olacaq 466 00:18:54,410 --> 00:18:56,810 mühazirə kimi bir çox interaktiv verir. 467 00:18:56,810 --> 00:18:58,910 >> Eyni zamanda, biz bu şeylər super deyilən lazımdır 468 00:18:58,910 --> 00:19:01,610 isteğe, lakin hər kəs üçün açıq olan bölmələr 469 00:19:01,610 --> 00:19:04,030 sinif, belə ki, sizin üçün daha kollektiv edə bilərsiniz 470 00:19:04,030 --> 00:19:05,190 problem bir seçin. 471 00:19:05,190 --> 00:19:06,010 Burada cədvəli var. 472 00:19:06,010 --> 00:19:08,870 Bu da cs50.net da ana yerləşdirilir. 473 00:19:08,870 --> 00:19:10,850 Bir hacker-spesifik ola bilərsiniz edək ki, 474 00:19:10,850 --> 00:19:12,430 bir sabah günortadan sonra. 475 00:19:12,430 --> 00:19:15,460 Və biz bir gün və bir sabah film və bu post olacaq 476 00:19:15,460 --> 00:19:16,720 24 saat ərzində online. 477 00:19:16,720 --> 00:19:19,370 Siz, bu dəfə hər hansı edə bilməz Belə ki, narahat deyil. 478 00:19:19,370 --> 00:19:22,720 Və yenə cədvəli cs50.net hazırda online. 479 00:19:22,720 --> 00:19:25,350 >> Özü sectioning baxımından bir kazanılmış olmalıdır 480 00:19:25,350 --> 00:19:28,520 siz tapmaq üçün kurs ana getmək üçün göstəriş e-poçt 481 00:19:28,520 --> 00:19:29,610 Sizin bölməsində həyata. 482 00:19:29,610 --> 00:19:32,890 Həyat dəyişdi və sizin bölmə dəyişdirmək lazımdır, 483 00:19:32,890 --> 00:19:33,560 problem deyil. 484 00:19:33,560 --> 00:19:37,900 Eyni URL, cs50.net/section, tək geri dön, 485 00:19:37,900 --> 00:19:40,090 siz ki, və oxşar formu doldurun bilərsiniz 486 00:19:40,090 --> 00:19:41,260 sonra bizə arzularım verir. 487 00:19:41,260 --> 00:19:43,360 Biz əlimizdən nə kimi həftənin sonuna qədər təqib edəcəyik 488 00:19:43,360 --> 00:19:44,240 yerləşdirmək. 489 00:19:44,240 --> 00:19:49,530 Ötən həftə, biz CS50 müzakirə edərək təklif geri 490 00:19:49,530 --> 00:19:51,370 mühazirə zamanı müzakirə alət. 491 00:19:51,370 --> 00:19:53,680 Belə ki, biz xahiş edilmişdir ki, 40 sual var idi 492 00:19:53,680 --> 00:19:54,720 mühazirə zamanı cavablandırdı. 493 00:19:54,720 --> 00:19:56,280 Belə ki, yaxşı idi, biz davam edəcəyik 494 00:19:56,280 --> 00:19:57,180 Bunun üçün çalışırıq. 495 00:19:57,180 --> 00:19:59,600 , Mühazirə zamanı, yalnız rahat artırılması hiss deyilsə 496 00:19:59,600 --> 00:20:00,780 Sizin tərəfdən bir problem. 497 00:20:00,780 --> 00:20:04,640 Cs50.net/discuss gedin, orada yazmaq və tədris biri 498 00:20:04,640 --> 00:20:07,270 yoldaşları elektron cavab və ya artıracaq ya onların 499 00:20:07,270 --> 00:20:10,620 olaraq, xahiş anonim adınıza əl 500 00:20:10,620 --> 00:20:12,470 sualına xarakterindən. 501 00:20:12,470 --> 00:20:15,000 Və rəy baxımından, ümumiyyətlə, psets olacaq 502 00:20:15,000 --> 00:20:16,760 bir həftə ərzində döndü. 503 00:20:16,760 --> 00:20:19,080 Bölmələr nail olmaq üçün bir müddət alır Çünki 504 00:20:19,080 --> 00:20:22,430 tarazlıq, ilk pset, 0 və 1, az olacaq 505 00:20:22,430 --> 00:20:24,130 şeyi aşağı həll kimi təxirə saldı. 506 00:20:24,130 --> 00:20:27,130 Amma qalmaq gələcək həftə üçün sazlana. 507 00:20:27,130 --> 00:20:29,750 >> Bütün hüquqlar, belə ki, mənim ciddi qoymaq bildirin 508 00:20:29,750 --> 00:20:31,040 yalnız bir an üçün səs. 509 00:20:31,040 --> 00:20:32,690 Beləliklə, bu, həqiqətən olmaq maraqlı iqlimi 510 00:20:32,690 --> 00:20:35,210 nə başqa şeylər bütün bu müzakirə 511 00:20:35,210 --> 00:20:37,310 kampus əlaqədar ona üzərində gedir. 512 00:20:37,310 --> 00:20:40,220 Amma CS50 əlbəttə, bu, onun tarixi vardır 513 00:20:40,220 --> 00:20:43,360 çox bu kurs, hər il olduğu kimi çox mövzunun, 514 00:20:43,360 --> 00:20:46,910 il, Ad-Forumlar sinif təxminən 3%. 515 00:20:46,910 --> 00:20:51,620 Bu ən son il, 2011, CS50 35 tələbə Ad-mindik. 516 00:20:51,620 --> 00:20:54,120 Bu, hesab edirəm ki, aydınlıq olmaması səbəbindən deyil. 517 00:20:54,120 --> 00:20:56,760 Kursun-nin proqramı ilə bir səhifə var ki, həyata 518 00:20:56,760 --> 00:20:59,020 xətləri olduğu izah edilir. 519 00:20:59,020 --> 00:21:01,350 Həmin bəyanat hər bir təkrarlanır 520 00:21:01,350 --> 00:21:03,070 problem səhifə biri edir. 521 00:21:03,070 --> 00:21:05,760 >> Mən, həqiqətən, yalnız etmək üçün bu gün qeyd 522 00:21:05,760 --> 00:21:07,030 Bu nəzərə insanlar. 523 00:21:07,030 --> 00:21:08,080 Biz fərqli şeylər cəhd etdik. 524 00:21:08,080 --> 00:21:10,630 Mən bu gün bunu düşündüm nə yalnız bir an almaq edir 525 00:21:10,630 --> 00:21:13,830 həqiqətən qədər gəlib keçmiş hallarda bəzi oldu. 526 00:21:13,830 --> 00:21:16,160 Daha çox həqiqətən, bu kimi kirli az sirri saxlamaq 527 00:21:16,160 --> 00:21:19,170 biz aşkar nə tələbələri etdik və necə qeyd 528 00:21:19,170 --> 00:21:21,630 bu və həqiqətən mühüm motivasiya üçün nə 529 00:21:21,630 --> 00:21:23,950 hətta bu söhbət. 530 00:21:23,950 --> 00:21:27,060 Bildirib ki, ilə Belə ki, xətt mahiyyətcə bu - 531 00:21:27,060 --> 00:21:29,200 proqramın hər bir şey, sizin üçün təşviq edirik 532 00:21:29,200 --> 00:21:30,210 sinif yoldaşları ilə danışmaq. 533 00:21:30,210 --> 00:21:31,910 Ki, bu əməkdaşlıq olan bütün məqsəd var 534 00:21:31,910 --> 00:21:34,470 ofis Annenberg saat və üçün həvəsləndirici nəfər 535 00:21:34,470 --> 00:21:35,755 yekun layihə birlikdə işləmək. 536 00:21:35,755 --> 00:21:38,590 Faktiki yazmaq üçün vaxt gələndə Lakin xətti çəkilir 537 00:21:38,590 --> 00:21:39,790 son həlli. 538 00:21:39,790 --> 00:21:42,590 Yalançı kodu danışan, tamamilə gözəl İngilis, danışan 539 00:21:42,590 --> 00:21:43,400 tamamilə gözəl. 540 00:21:43,400 --> 00:21:46,340 Onlara baxmaq bildirerek, bir sinif yoldaşı sizin pset e-poçt 541 00:21:46,340 --> 00:21:48,610 əlində yazaraq davam kimi ekran, 542 00:21:48,610 --> 00:21:50,110 xətti üzərində həmçinin. 543 00:21:50,110 --> 00:21:52,250 Xüsusi xətləri üçün tədris proqramı baxmaq etməyin. 544 00:21:52,250 --> 00:21:55,850 >> Amma yalnız bu təəssüf ki, necə bir şəkil boya 545 00:21:55,850 --> 00:21:58,370 reallıq, web orada var ki, həyata ki, 546 00:21:58,370 --> 00:22:01,490 Bu sinif və bir çox digər sinif həllər var. 547 00:22:01,490 --> 00:22:04,940 Siz və ya bəzi 3% bu var ki, bilirik ki, 548 00:22:04,940 --> 00:22:07,240 biz bu var ki, bilmək deməkdir. 549 00:22:07,240 --> 00:22:09,340 Ü saytları bu kimi var ki, 550 00:22:09,340 --> 00:22:11,540 həqiqətən, sizin problem dəstləri etmək kimsə ödəyə bilər - bu idi 551 00:22:11,540 --> 00:22:13,450 keçən il gəldi ki, faktiki halda. 552 00:22:13,450 --> 00:22:15,790 Bu odesk.com adlı bir web sitesidir. 553 00:22:15,790 --> 00:22:20,090 Və Tim üzrə poçt edən burada şəxsin adı 554 00:22:20,090 --> 00:22:24,580 Bu veb və onun pset 7 bunu kimsə xahiş 555 00:22:24,580 --> 00:22:25,570 bu halda. 556 00:22:25,570 --> 00:22:28,350 Yaxşı, odesk.com çox Google-edə və biz də var 557 00:22:28,350 --> 00:22:30,310 Googling çox yaxşı. 558 00:22:30,310 --> 00:22:32,360 Burada da saytlar var - və bu bir çox var 559 00:22:32,360 --> 00:22:34,234 dəhşətli, açıq. 560 00:22:34,234 --> 00:22:38,050 [Gülüş] 561 00:22:38,050 --> 00:22:39,610 DAVID J. MALAN: Bu site haqqında məzəli şey varsa, 562 00:22:39,610 --> 00:22:41,970 Siz haqqında səhifə oxumaq, onlar korporativ haqqında danışmaq 563 00:22:41,970 --> 00:22:44,390 mədəniyyət və necə müştəri xidməti onların sayı-biri 564 00:22:44,390 --> 00:22:46,190 sizin tapşırıqları almaq əmin etmək prioritet 565 00:22:46,190 --> 00:22:47,890 vaxt çevrilmişdir. 566 00:22:47,890 --> 00:22:50,580 >> Amma bütün ciddiliyi ilə, təkrar olması bu saytlar 567 00:22:50,580 --> 00:22:52,910 var, çox, biz bilirik və biləndir var 568 00:22:52,910 --> 00:22:53,730 sites bu cür. 569 00:22:53,730 --> 00:22:55,890 Və nə hissi vermək üçün, adətən, bu formaları 570 00:22:55,890 --> 00:22:58,570 edir, biz ümumiyyətlə, böyük qalmaqallar yoxdur yerləşir nəfər 571 00:22:58,570 --> 00:23:01,080 kütləvi hər cür əməkdaşlıq, əksinə olunur 572 00:23:01,080 --> 00:23:04,540 Siz var ki, zəiflik bu gec-gecə anlar var 573 00:23:04,540 --> 00:23:07,550 nə çox, bu, AM 4:00, siz canı, siz etdiyiniz 574 00:23:07,550 --> 00:23:09,770 özünüz üçün hesab edirəm ki, yaxşı, mənə yalnız mənim nəzər edək 575 00:23:09,770 --> 00:23:11,770 roommate və ya dostum kodu və ya kimi. 576 00:23:11,770 --> 00:23:14,800 Və bu təzahürləri təəssüf ki, Tələbə cəlb 577 00:23:14,800 --> 00:23:17,640 Bu və Tələbə B təqdim kimi təqdim bir şey 578 00:23:17,640 --> 00:23:20,370 kompüter bu kimi bir şey, bu əlbəttə ki, 579 00:23:20,370 --> 00:23:23,830 elm sinif, kompüter alimlər üçün olduqca asandır 580 00:23:23,830 --> 00:23:25,690 proqram təminatı ilə aşkar etmək. 581 00:23:25,690 --> 00:23:28,410 Siz növ var bu başqa ümumi paradiqma edir 582 00:23:28,410 --> 00:23:31,010 bəlkə danışan kimsə yanaşı çalışır 583 00:23:31,010 --> 00:23:32,360 İngilis, yalnız gözəl, pseudocode. 584 00:23:32,360 --> 00:23:35,080 Lakin o, həqiqətən təqdim zaman gəlir və psets 585 00:23:35,080 --> 00:23:37,910 yalnız e-poçt və ya Dropbox və ya analoji ilə mübadilə almaq. 586 00:23:37,910 --> 00:23:41,120 Ancaq bu ki, az aydın etmək cəhdi 587 00:23:41,120 --> 00:23:44,830 baş verənlərə, bu təqdim edir budur. 588 00:23:44,830 --> 00:23:47,880 Bu, çox, səfər qədər yaxşı yazılmış parçaları deyil 589 00:23:47,880 --> 00:23:50,360 biz, həqiqətən, aşkar etmək üçün var proqram kimi 590 00:23:50,360 --> 00:23:51,280 şeyləri bu cür. 591 00:23:51,280 --> 00:23:53,760 Və həqiqətən nə biz bütün müqayisə ki run proqram 592 00:23:53,760 --> 00:23:55,540 Ötən il bütün qarşı bu il arqumentləri 593 00:23:55,540 --> 00:23:57,380 arqumentləri, hər şey qarşı biz aşkar 594 00:23:57,380 --> 00:24:00,060 Orada hər iş veb qarşı Internet. 595 00:24:00,060 --> 00:24:01,710 Bu, bütün çox avtomatlaşdırılmış var. 596 00:24:01,710 --> 00:24:05,665 Və biz 97% böyük ədalət həqiqətən bunu kim 597 00:24:05,665 --> 00:24:07,760 həqiqətən bu və digər onların eşşəklərdir off çalışır 598 00:24:07,760 --> 00:24:11,530 dərsləri və səy bütün qoyaraq ki, iş 599 00:24:11,530 --> 00:24:13,030 onlar nəticədə təqdim öz edir. 600 00:24:13,030 --> 00:24:14,220 Mən yaş üçün getmək bilər. 601 00:24:14,220 --> 00:24:16,030 >> Bu yalnız ötən il hallarda bir neçə var. 602 00:24:16,030 --> 00:24:19,350 Bir neçə tələbələr, pset 2 eyni bu faylları təqdim 603 00:24:19,350 --> 00:24:22,460 pset 3, pset 4, pset 5, pset 6, pset 9. 604 00:24:22,460 --> 00:24:26,360 Bu halda, bu viktorina 0 və ötən il iki idi 605 00:24:26,360 --> 00:24:29,570 tələbələr arasında çox eyni bu cümlə təqdim 606 00:24:29,570 --> 00:24:32,210 başqaları "tipli sorğu -" nöqtə, nöqtə, nöqtə. 607 00:24:32,210 --> 00:24:34,530 Belə ki, hətta 600 sinfində biz bu aşkar etməyib 608 00:24:34,530 --> 00:24:36,310 haqqında sınavlar təqdim edib. 609 00:24:36,310 --> 00:24:39,080 Belə ki, qısa, bu - açıq, mən bu cür olan nifrət 610 00:24:39,080 --> 00:24:41,300 söhbət - amma bu, həqiqətən bir qəsdən cəhd edir 611 00:24:41,300 --> 00:24:43,540 bu il ki sayı aşağı çəkmək üçün cəhd. 612 00:24:43,540 --> 00:24:45,650 Çünki demək olsa belə şeyləri bu cür hər 613 00:24:45,650 --> 00:24:48,100 il, bir neçə üçün bu yaşayan edərək reallığı hesab 614 00:24:48,100 --> 00:24:50,800 adi daha saniyə daha faktiki olaraq yalnız işarə 615 00:24:50,800 --> 00:24:53,600 nə az, belə bir böyük deyil, eh, kimi görünə bilər ki, 616 00:24:53,600 --> 00:24:56,390 bu an geri edirəm, həm də ədalətli şəkildə 617 00:24:56,390 --> 00:25:00,100 Özünüzü və burada sinif yoldaşları üçün. 618 00:25:00,100 --> 00:25:02,480 Əgər hər hansı bir sualınız Belə ki, əgər Ü xətti 619 00:25:02,480 --> 00:25:04,290 , yalnız şəxsən mənə çatmaq edin. 620 00:25:04,290 --> 00:25:07,190 Amma cavab tam qeyd, həmişə 621 00:25:07,190 --> 00:25:09,090 son dəqiqə, bir gün gec pul. 622 00:25:09,090 --> 00:25:11,080 Və ya hər hansı bir gec gün olmayan bir məsələ varsa, 623 00:25:11,080 --> 00:25:12,900 vicdanla, şəxsən mənə e-poçt. 624 00:25:12,900 --> 00:25:14,110 Biz bir şey anlamaq lazımdır. 625 00:25:14,110 --> 00:25:17,480 Xahiş edirik risk Harvard burada vaxt qoymaq deyil. 626 00:25:17,480 --> 00:25:18,570 >> İndi biz əhval işıqlandırmaq lazımdır düşündüm, mən 627 00:25:18,570 --> 00:25:20,264 növbəti slayd kimi daxil olmuşdur. 628 00:25:20,264 --> 00:25:22,770 [Gülüş] 629 00:25:22,770 --> 00:25:23,630 DAVID J. MALAN: Bu haqqinda, böyük idi. 630 00:25:23,630 --> 00:25:24,820 Mən, həqiqətən, bir az çevirirsən var. 631 00:25:24,820 --> 00:25:26,330 Bu var. 632 00:25:26,330 --> 00:25:29,590 Və bu bir gözəl idi. 633 00:25:29,590 --> 00:25:35,190 Edərkən OK, belə gecə gec ki, kitten hesab 634 00:25:35,190 --> 00:25:36,040 həmin qərarlar. 635 00:25:36,040 --> 00:25:40,110 Bütün hüquqlar, belə geri daha çox əyləncə və az ağır məhsulları kimi 636 00:25:40,110 --> 00:25:40,780 şərtlər. 637 00:25:40,780 --> 00:25:43,900 >> Bütün hüquqlar, belə ki, biz bu barədə qısa söhbət etdik. 638 00:25:43,900 --> 00:25:46,080 Bu yəqin ki, tamamilə tanış ki, bir şey 639 00:25:46,080 --> 00:25:47,260 Not dünya. 640 00:25:47,260 --> 00:25:49,860 Və Not dünyanın, biz bəzən bu ehtiyac var 641 00:25:49,860 --> 00:25:51,110 yol çəngəllər etmək gedin. 642 00:25:51,110 --> 00:25:54,840 Ya bu və ya burada və ya bu başqa şey. 643 00:25:54,840 --> 00:25:58,990 Və biz bunu istədiyiniz zaman, bu halda, C, indi istifadə edə bilərsiniz 644 00:25:58,990 --> 00:26:00,860 başqa tikintisi. 645 00:26:00,860 --> 00:26:06,420 Və sonra biz burada Boolean ifadələr var. 646 00:26:06,420 --> 00:26:09,260 Məsələn, burada Boolean ifadələr, biz ya 647 00:26:09,260 --> 00:26:12,260 birlikdə, biz ya bu vəziyyət o mənada ki 648 00:26:12,260 --> 00:26:13,200 bu şərtlə ki,. 649 00:26:13,200 --> 00:26:15,100 Biz istəyirik ki, mənada birlikdə VƏ onları bilər 650 00:26:15,100 --> 00:26:17,710 Bu vəziyyət VƏ şərti yoxlayın. 651 00:26:17,710 --> 00:26:22,440 Və burada belə deyil ki, indi bir keçid haqda 652 00:26:22,440 --> 00:26:26,040 şərtlər bu cür syntactically oxşar, lakin 653 00:26:26,040 --> 00:26:30,160 bizə başqa başqa başqa əgər bərabər, əgər, əgər, imkan verir 654 00:26:30,160 --> 00:26:34,990 sadəcə onlara hal sadalamağa olduqda və kimi 655 00:26:34,990 --> 00:26:36,670 hal ilə. 656 00:26:36,670 --> 00:26:38,370 Belə ki, o, son dəfə gördüm. 657 00:26:38,370 --> 00:26:40,430 Və sonra biz loops kimi şeylər toxunan başladı. 658 00:26:40,430 --> 00:26:42,070 Biz yalnız bir an əvvəl bu bir gördüm. 659 00:26:42,070 --> 00:26:44,180 Lakin bu digər loop yapıları var. 660 00:26:44,180 --> 00:26:46,370 >> Məsələn, bu burada. 661 00:26:46,370 --> 00:26:50,140 Belə ki, (vəziyyət), təkrar bu şey isə. 662 00:26:50,140 --> 00:26:53,070 Belə ki, əsaslı, nə bu arasında müxtəlif görünür 663 00:26:53,070 --> 00:26:55,760 burada loop və bu isə loop üçün? 664 00:27:00,810 --> 00:27:05,045 Loop və bu isə loop üçün. 665 00:27:05,045 --> 00:27:07,840 Evet? 666 00:27:07,840 --> 00:27:08,800 Nə olub? 667 00:27:08,800 --> 00:27:10,050 Auditoriya: [işitilemez]. 668 00:27:14,632 --> 00:27:15,120 DAVID J. MALAN: Yaxşı. 669 00:27:15,120 --> 00:27:17,130 Belə ki, loop vəziyyət üçün isə aydın var 670 00:27:17,130 --> 00:27:17,940 daha sintaksis. 671 00:27:17,940 --> 00:27:20,560 Bu başlatma var, bu yeniləmə var. 672 00:27:20,560 --> 00:27:23,820 Bir müddət loop, bu vəziyyət yalnız var. 673 00:27:23,820 --> 00:27:26,630 Belə ki, bunun üçün qarşı aşağı pared bir az var ki, görünür, 674 00:27:26,630 --> 00:27:28,770 loop olan biz dəyişənlərin etmək istəyirsinizsə deməkdir və biz istəyirik 675 00:27:28,770 --> 00:27:30,800 incrementation var, biz, həqiqətən, var 676 00:27:30,800 --> 00:27:32,500 bu şey özümüz edirik. 677 00:27:32,500 --> 00:27:34,420 >> Mənə davam və gedit açmaq bildirin. 678 00:27:34,420 --> 00:27:36,320 Mənə cihaz üzərində keçid edək. 679 00:27:36,320 --> 00:27:38,110 Və edək ki, yalnız bir sürətli kiçik nümunə, nə 680 00:27:38,110 --> 00:27:40,550 digər tərəfdən bu bir fərqləndirir. 681 00:27:40,550 --> 00:27:42,490 Burada mənim mind geri, bir şey demək lazımdır. 682 00:27:42,490 --> 00:27:44,120 Mən xüsusi adı Tim bildirdi. 683 00:27:44,120 --> 00:27:47,740 Tim bir tələbə nə tapmaq üçün cəhd əslində kimsə idi 684 00:27:47,740 --> 00:27:48,680 onlara öz ev tapşırığı. 685 00:27:48,680 --> 00:27:51,280 Biz xüsusi bölmə heç Tim idi. 686 00:27:51,280 --> 00:27:53,690 Mən tələbə açıqlanır deyə Belə ki, həyata, bir tələbə idi. 687 00:27:53,690 --> 00:27:55,720 Bu şeyler İnternet təsadüfi adam idi 688 00:27:55,720 --> 00:27:57,180 proxy keçən il. 689 00:27:57,180 --> 00:27:58,670 Beləliklə, biz də ki, tapa bilərsiniz. 690 00:27:58,670 --> 00:28:00,630 Belə ki, burada bu halda, mənə irəli gedək və 691 00:28:00,630 --> 00:28:02,810 yeni bir fayl açmaq. 692 00:28:02,810 --> 00:28:04,800 Fayl, Yeni. 693 00:28:04,800 --> 00:28:06,050 Bu məni buraya nişanı verir. 694 00:28:06,050 --> 00:28:09,940 Mənə davam və saxlamaq edək loop.c. 695 00:28:09,940 --> 00:28:11,810 Mənə getmək və Saxla basın edək. 696 00:28:11,810 --> 00:28:15,340 Və sonra aşağı, burada nin irəli getmək və yazmağa başlayın bildirin 697 00:28:15,340 --> 00:28:16,605 # Daxildir. 698 00:28:19,116 --> 00:28:20,520 Mənə daxil zoom edək 699 00:28:20,520 --> 00:28:23,410 İndi biz int əsas (void) edəcəyik. 700 00:28:23,410 --> 00:28:30,020 I <; İndi (int i = 0 üçün mənə irəli getmək və bunu bildirin 701 00:28:30,020 --> 00:28:33,480 oh, 10; i + +). 702 00:28:33,480 --> 00:28:36,620 İndi davam və ulduz çap edirsiniz gedirəm ki, 703 00:28:36,620 --> 00:28:37,890 əvvəllər idi. 704 00:28:37,890 --> 00:28:39,390 Və sonra bu proqramın sonunda, biz yalnız olacaq 705 00:28:39,390 --> 00:28:41,130 yalnız belə ki, tez bir yeni çap 706 00:28:41,130 --> 00:28:42,470 bütün messy baxmaq deyil. 707 00:28:42,470 --> 00:28:45,170 0 qaytarın. 708 00:28:45,170 --> 00:28:47,610 Syntactically doğru görünür? 709 00:28:47,610 --> 00:28:48,040 İndiyə qədər. 710 00:28:48,040 --> 00:28:48,560 Belə nin görək. 711 00:28:48,560 --> 00:28:51,290 >> Belə ki, mənim terminal pəncərə getmək, mənə zoom imkan verir. 712 00:28:51,290 --> 00:28:54,570 Mən bu deyilən, çünki, mənə irəli getmək və loop run bildirin 713 00:28:54,570 --> 00:28:55,690 şey loop.c. 714 00:28:55,690 --> 00:28:56,780 Belə ki, loop etmək. 715 00:28:56,780 --> 00:28:57,840 OK tərtib görünür. 716 00:28:57,840 --> 00:29:00,210 Mənə loop run, indi daxil edək. 717 00:29:00,210 --> 00:29:01,820 Və 10 ulduz çap görünür. 718 00:29:01,820 --> 00:29:03,780 Belə ki, yalnız bir müddət loop bu çevirmək və nə edək 719 00:29:03,780 --> 00:29:05,220 məsələləri biz səfər üzərində növləri. 720 00:29:05,220 --> 00:29:11,290 Əvəzinə bu Belə ki, i isə mənə burada getmək və deyək 721 00:29:11,290 --> 00:29:12,760 10-dən az - 722 00:29:12,760 --> 00:29:14,910 Mənə loop üçün xilas edək. 723 00:29:14,910 --> 00:29:17,170 OK, belə ki, biz artıq problemlərin bir neçə var. 724 00:29:17,170 --> 00:29:21,110 Belə vəziyyət eyni, lakin mən açıq-aydın itkin alıram 725 00:29:21,110 --> 00:29:21,680 başlatma. 726 00:29:21,680 --> 00:29:23,840 Mən incrementation itkin edirəm. 727 00:29:23,840 --> 00:29:28,020 Mən cəhd Belə ki, nə compiler ehtimal mənə lazım 728 00:29:28,020 --> 00:29:29,170 Bu proqram tərtib? 729 00:29:29,170 --> 00:29:29,666 Evet? 730 00:29:29,666 --> 00:29:31,154 Auditoriya: [işitilemez]. 731 00:29:31,154 --> 00:29:31,650 >> DAVID J. MALAN: Yaxşı. 732 00:29:31,650 --> 00:29:34,180 Belə ki, elan olunmamış kimi bir şey demək olacaq - bu 733 00:29:34,180 --> 00:29:35,280 halda, i dəyişən. 734 00:29:35,280 --> 00:29:37,980 Və həqiqətən, elan olunmamış identifikator i istifadə edin. 735 00:29:37,980 --> 00:29:40,960 Və bu PHP kimi dil ilə fərqli və 736 00:29:40,960 --> 00:29:43,120 Python və Ruby, ilə siz bəzi tanış ola 737 00:29:43,120 --> 00:29:44,820 harada dəyişənlər istifadə edərək start yalnız cür bilərsiniz 738 00:29:44,820 --> 00:29:47,420 istər-istəməz və onlara bəyan narahat 739 00:29:47,420 --> 00:29:48,560 aydın həmişə. 740 00:29:48,560 --> 00:29:51,770 C və Java və C kimi dillərdə + +, siz olmalıdır 741 00:29:51,770 --> 00:29:53,020 açıq super. 742 00:29:53,020 --> 00:29:55,760 Siz i adlı dəyişən istəyirsinizsə, siz mənə var 743 00:29:55,760 --> 00:29:57,360 dəyişən nə cür olur. 744 00:29:57,360 --> 00:29:59,360 Beləliklə, biz bu aşağıdakı kimi müəyyən etmək üçün olacaq. 745 00:29:59,360 --> 00:30:05,510 Mən burada getmək və int i yazın üçün gedirəm, buna görə də 746 00:30:05,510 --> 00:30:07,860 Mən adlı dəyişən elan etmişik. 747 00:30:07,860 --> 00:30:09,180 İndi bir addım atlandı etdik. 748 00:30:09,180 --> 00:30:11,340 Mən açıq-aşkar bu başlatılmadı sonra, lakin görmək edək ki, əgər 749 00:30:11,340 --> 00:30:13,650 ən markalı cingilti stop şikayətçi. 750 00:30:13,650 --> 00:30:15,770 Mənə bu proqram yeniden yapmak bildirin. 751 00:30:15,770 --> 00:30:16,770 >> Bütün hüquqlar, indi yalnız şikayətçi oldu 752 00:30:16,770 --> 00:30:17,870 fərqli bir səbəb üçün. 753 00:30:17,870 --> 00:30:21,130 "Burada istifadə Dəyişən 'i' uninitialized edir." Bütün hüquqlar, belə ki, 754 00:30:21,130 --> 00:30:22,340 olduqca aydın deyil. 755 00:30:22,340 --> 00:30:25,510 Başlatılmış bir dəyəri bərabər yaradılması deməkdir. 756 00:30:25,510 --> 00:30:30,820 Və biz, belə ki, 0 bərabərdir mənə edək ki, etmədi etdik. 757 00:30:30,820 --> 00:30:35,030 İndi yenə bu cəhd və yenidən run cingilti bildirin. 758 00:30:35,030 --> 00:30:36,140 Bu dəfə tərtib. 759 00:30:36,140 --> 00:30:37,210 Mən bu run haqqında deyiləm. 760 00:30:37,210 --> 00:30:43,120 Amma böyük köhnə sonsuz loop, mən etdik çünki 761 00:30:43,120 --> 00:30:45,530 başlatma, mən vəziyyəti etdik, amma həyata heç etdik 762 00:30:45,530 --> 00:30:47,030 incrementation hər cür. 763 00:30:47,030 --> 00:30:48,780 Belə ki, necə mən incrementation edə bilər? 764 00:30:48,780 --> 00:30:51,170 Mən gedirəm kimi Yaxşı, bir müddət loop, bu hiss 765 00:30:51,170 --> 00:30:54,180 çünki çox ilk kimi, loop daxilində bunu 766 00:30:54,180 --> 00:30:56,570 ilə kimi loop yapıları edir həftə nümunələri, 767 00:30:56,570 --> 00:30:59,040 corabları və özünü hesablanması ilə, biz idi 768 00:30:59,040 --> 00:31:01,550 çox sonunda bir şey, növbəti line geri istəyirəm. 769 00:31:01,550 --> 00:31:05,040 Mən irəli getmək və əgər bu i + + here? 770 00:31:05,040 --> 00:31:06,030 Nin, hətta bu tərtib deyil edək. 771 00:31:06,030 --> 00:31:06,890 Artıq məni tutmaq. 772 00:31:06,890 --> 00:31:09,704 Burada səhv nədir? 773 00:31:09,704 --> 00:31:10,690 Auditoriya: [işitilemez]. 774 00:31:10,690 --> 00:31:11,770 >> DAVID J. MALAN: Belə ki, mütləq int deyil. 775 00:31:11,770 --> 00:31:13,080 Bu i var. 776 00:31:13,080 --> 00:31:15,110 Və əvvəl kimi qıvrım aşırma, 777 00:31:15,110 --> 00:31:16,800 indentation kifayət deyil. 778 00:31:16,800 --> 00:31:18,410 Belə ki, indi bu tikintisi var. 779 00:31:18,410 --> 00:31:21,780 I 10-dən az olduğu halda ki, bir ulduz çap 780 00:31:21,780 --> 00:31:23,220 sonra i arttırmayı. 781 00:31:23,220 --> 00:31:25,680 Və yol bir loop işləri siz hit kimi tezliklə kimi isə 782 00:31:25,680 --> 00:31:29,630 Bu halda line 10 kimi görünür olan loop aşağı, 783 00:31:29,630 --> 00:31:32,880 ki, xətt 6 geri olacaq olan məqam da 784 00:31:32,880 --> 00:31:34,400 vəziyyət yenidən yoxlanılacaq. 785 00:31:34,400 --> 00:31:37,500 I hələ 10-dən az olduğu halda, biz xətləri 8 edə və olacaq 786 00:31:37,500 --> 00:31:41,250 sonra 9, sonra biz 10 hit olacaq və 6 geri yenidən və 787 00:31:41,250 --> 00:31:45,580 təkrar və yenidən uzun i 10-dən az kimi. 788 00:31:45,580 --> 00:31:47,860 Belə edək yenidən run burada etmək. 789 00:31:47,860 --> 00:31:48,940 >> OK, biz tamam tərtib etdik. 790 00:31:48,940 --> 00:31:50,300 Mənə yenidən run loop edək. 791 00:31:50,300 --> 00:31:52,620 İndi faktiki iş görünür. 792 00:31:52,620 --> 00:31:55,100 Burada müsbət və minuses Belə ki? 793 00:31:55,100 --> 00:31:58,910 Yaxşı, bu günə qədər həqiqətən FAT bütün yoxdur - 794 00:31:58,910 --> 00:31:59,420 so cute. 795 00:31:59,420 --> 00:32:01,870 Bütün sağ, bir idi - ah, bir qəza oldu. 796 00:32:01,870 --> 00:32:05,200 Bütün hüquqlar, belə nin loop üçün geri imkan verir. 797 00:32:05,200 --> 00:32:07,530 Onlar super aydın istəyirik Çünki loops üçün gözəl edir. 798 00:32:07,530 --> 00:32:09,720 Onlar yazmaq üçün bir az clunky olmalarına baxmayaraq, bu 799 00:32:09,720 --> 00:32:11,500 çox güclü və sizə imkan verir 800 00:32:11,500 --> 00:32:12,980 Eyni anda birdən çox şeylər. 801 00:32:12,980 --> 00:32:16,240 Loops dəyər böyük bir məbləği görünmüyor isə yalnız 802 00:32:16,240 --> 00:32:18,500 biz yalnız daha çox iş var kimi hələ, çünki o hiss edir. 803 00:32:18,500 --> 00:32:20,670 Biz burada, bu başlatma qablaşdırılmış var 804 00:32:20,670 --> 00:32:23,480 burada aşağı yeniləmək və biz bütün bunu unutmayın lazımdır. 805 00:32:23,480 --> 00:32:26,260 Beləliklə, biz isə loops həqiqətən borc o zaman görəcəksiniz 806 00:32:26,260 --> 00:32:29,380 özlərini yalnız müxtəlif kontekstlərdə, müxtəlif data 807 00:32:29,380 --> 00:32:33,900 siyahıları və hash masalar kimi strukturları, hər şeyi biz almaq lazımdır 808 00:32:33,900 --> 00:32:34,970 orta dövr. 809 00:32:34,970 --> 00:32:37,900 Amma indi üçün, kimi tanınan bu üçüncü növü var bilirsiniz ki, bir do- 810 00:32:37,900 --> 00:32:38,480 loop edir. 811 00:32:38,480 --> 00:32:39,540 Və biz bu qısa gördük. 812 00:32:39,540 --> 00:32:41,830 Bu pset 1 super faydalı ola bilər. 813 00:32:41,830 --> 00:32:45,570 Əgər bir şey və istədiyiniz zaman kontrol əgər 814 00:32:45,570 --> 00:32:48,940 istifadəçi əməkdaşlıq və onlar olmasaydı, yenə bunu bir do- 815 00:32:48,940 --> 00:32:51,460 loop məntiq belə özünü verir edir. 816 00:32:51,460 --> 00:32:55,640 Burada alt üst sifariş təklif kimi Çünki, 817 00:32:55,640 --> 00:32:57,750 sanki bu deməkdir yoxdur. 818 00:32:57,750 --> 00:32:59,830 Və təkrar Bunu ki, nə ola bilər? 819 00:32:59,830 --> 00:33:03,000 Bəlkə sonra zəng GetInt ya GetString və vasitələri 820 00:33:03,000 --> 00:33:05,830 GetInt ya GetString dəyəri yoxlanılması və sonra böyle 821 00:33:05,830 --> 00:33:08,260 istifadəçi da onlara soruşaraq əməkdaşlıq əgər 822 00:33:08,260 --> 00:33:10,100 təkrar və yenidən. 823 00:33:10,100 --> 00:33:11,730 Əgər bir şey etmək istədiyiniz 824 00:33:11,730 --> 00:33:13,210 sonra bir vəziyyət oldu. 825 00:33:13,210 --> 00:33:14,110 >> Belə ki, bu cəhd edək. 826 00:33:14,110 --> 00:33:17,130 Mənə həqiqətən do-isə loop indi bu dəyişiklik edək. 827 00:33:17,130 --> 00:33:18,830 Mən irəli getmək və aşağıdakı gedirəm. 828 00:33:18,830 --> 00:33:21,830 Belə ki, aşağıdakı. 829 00:33:21,830 --> 00:33:26,870 Nə edək int i = GetInt (); lakin ilk istifadəçi söyleyeyim 830 00:33:26,870 --> 00:33:27,410 nə. 831 00:33:27,410 --> 00:33:29,050 Bir az fərqli bu dəfə belə. 832 00:33:29,050 --> 00:33:31,270 "Mənə bir int ver". 833 00:33:31,270 --> 00:33:32,910 Mən bunun üçün printf istifadə edəcəyik. 834 00:33:32,910 --> 00:33:35,740 İndi burada enmək gedirəm və mən bunu gidiyorum 835 00:33:35,740 --> 00:33:41,520 i isə daha çox, deyək - 836 00:33:41,520 --> 00:33:47,540 nin görək, i deyil, az 0, deyək, ya i deyil 837 00:33:47,540 --> 00:33:48,730 10 daha çox. 838 00:33:48,730 --> 00:33:51,810 Başqa sözlə, yalnız 1-dən 9-bir sıra istəyirəm 839 00:33:51,810 --> 00:33:52,720 özbaşına. 840 00:33:52,720 --> 00:33:55,290 Mən burada bir araya Boolean ifadəsini istifadə edirəm 841 00:33:55,290 --> 00:33:59,930 i, 10-dən az və ya daha çox 0 əmin olun ki, 842 00:33:59,930 --> 00:34:02,530 halda mən yenə burada bu loop edəcək. 843 00:34:02,530 --> 00:34:04,400 Belə ki, daha, bu - 844 00:34:04,400 --> 00:34:08,480 i isə az 0 və ya i 10-dən çoxdur. 845 00:34:08,480 --> 00:34:11,440 >> Belə ki, indi-nin irəli getmək və biz etdik dəfə bunu bildirin. 846 00:34:11,440 --> 00:34:13,270 Yalnız tez ağlı başında olma çek nə edək. 847 00:34:13,270 --> 00:34:18,929 printf (i, "Thanks, i% d"). 848 00:34:18,929 --> 00:34:21,350 Belə ki, bu sadə proqram, bir int istifadəçi soruşur 849 00:34:21,350 --> 00:34:24,000 bəzi sıra 1-dən 9 əhatə ərzində emin edir 850 00:34:24,000 --> 00:34:26,280 və sonra onlara xatırladan nə onlar yalnız istifadəçi thanks 851 00:34:26,280 --> 00:34:27,940 yalnız bir az ağlı başında olma çek kimi, ildə yazılmış. 852 00:34:27,940 --> 00:34:30,659 Amma bu kimi nəzərdə işləri nin görək. 853 00:34:30,659 --> 00:34:34,533 Mənə burada baş aşağı getmək və loop etmək yenidən run edək. 854 00:34:34,533 --> 00:34:35,350 Hmm. 855 00:34:35,350 --> 00:34:38,600 "Bəyan identifikator 'i' istifadə". Bu qəribə deyil. 856 00:34:38,600 --> 00:34:41,509 Mən ki, həll düşündüm. 857 00:34:45,489 --> 00:34:47,560 Eyni simptom lakin müxtəlif kodu. 858 00:34:47,560 --> 00:34:47,899 Evet? 859 00:34:47,899 --> 00:34:50,191 Auditoriya: [işitilemez] iki daxilində, biz var 860 00:34:50,191 --> 00:34:52,639 [Işitilemez]. 861 00:34:52,639 --> 00:34:53,260 >> DAVID J. MALAN: Exactly. 862 00:34:53,260 --> 00:34:55,989 Beləliklə, bu, həqiqətən, əhatə dairəsi kimi tanınan bir mövzu bizi gətirib çıxarır. 863 00:34:55,989 --> 00:34:59,350 Bu C, yenidən, bu, həqiqətən sözün sizi çıxır ki. 864 00:34:59,350 --> 00:35:02,970 Bu kimi bir şey varsa bir int bəyan yerləşir 865 00:35:02,970 --> 00:35:06,120 sonra bəzi dəyəri təyin, ancaq bir ki, daxili etmək 866 00:35:06,120 --> 00:35:09,840 qıvrım aşırma ilə cüt, nə C yoxdur onu nəzərdə tutur ki, 867 00:35:09,840 --> 00:35:14,800 yalnız i mövcud kimi məlumdur bu 32 bit istəyirəm 868 00:35:14,800 --> 00:35:18,200 xətləri çərçivəsində bu qıvrım aşırma kontekstində, 869 00:35:18,200 --> 00:35:22,420 9 6. Belə i elan edilir və təyin olunur 870 00:35:22,420 --> 00:35:26,530 line 8 dəyəri, ancaq tezliklə siz kənarda almaq kimi 871 00:35:26,530 --> 00:35:30,270 bu buruq brace aşağıda line 9, i artıq 872 00:35:30,270 --> 00:35:31,910 daxilində, belə danışmaq. 873 00:35:31,910 --> 00:35:35,030 S-C-O-P-E. Bu hüququ kontekstində artıq var. 874 00:35:35,030 --> 00:35:37,940 Belə ki, indi orada i yoxdur, biz hətta baxmayaraq kimi bu 875 00:35:37,940 --> 00:35:38,770 bütün bu elan etdi. 876 00:35:38,770 --> 00:35:41,520 >> Belə ki, bu kimi bir şey sonra bir düzeltme, nə əgər 877 00:35:41,520 --> 00:35:44,300 səbəbi, i qıvrım aşırma ərzində elan edilir ki, hansı 878 00:35:44,300 --> 00:35:45,120 yəqin pis? 879 00:35:45,120 --> 00:35:45,410 Burada? 880 00:35:45,410 --> 00:35:46,820 Auditoriya: [işitilemez]. 881 00:35:46,820 --> 00:35:47,150 DAVID J. MALAN: Bəli. 882 00:35:47,150 --> 00:35:48,710 Belə ki, biz ondan kənarda başlamaq olar. 883 00:35:48,710 --> 00:35:53,530 Mənə davam və bəyannamə hissələri vasitəsi silmək imkan 884 00:35:53,530 --> 00:35:55,820 Mən növü müəyyən və mənə burada bu qədər bunu bildirin. 885 00:35:55,820 --> 00:36:00,220 Belə ki, xətt 5-ci, indi "Mənə bir int verin." Deyir O i edin. 886 00:36:00,220 --> 00:36:03,400 Line 9 edək, mən bunu istəmirəm, çünki mən 887 00:36:03,400 --> 00:36:04,830 artıq 32 bit var. 888 00:36:04,830 --> 00:36:06,140 Mən üçün kompüter soruşmaq istəmirəm 889 00:36:06,140 --> 00:36:07,630 müxtəlif 32 bit. 890 00:36:07,630 --> 00:36:09,850 Mən həmin 32 bit istifadə etmək istəyirik. 891 00:36:09,850 --> 00:36:13,190 İndi i line 5 elan, çünki hələ legit var 892 00:36:13,190 --> 00:36:16,550 line 11 və line 12 istifadə üçün. 893 00:36:16,550 --> 00:36:19,310 >> Belə ki, mənə bu derleyeceğiz cəhd və görək 894 00:36:19,310 --> 00:36:20,490 zınqıltı vermir əgər böyle. 895 00:36:20,490 --> 00:36:22,380 loop etmək. 896 00:36:22,380 --> 00:36:25,470 Belə ki, indi bu funksiyanın "gizli bəyannamə deyil 897 00:36:25,470 --> 00:36:29,880 "GetInt" C99 etibarsız edir. "Nə deməkdir? 898 00:36:29,880 --> 00:36:30,400 Evet? 899 00:36:30,400 --> 00:36:32,330 Auditoriya: [işitilemez]. 900 00:36:32,330 --> 00:36:32,690 DAVID J. MALAN: Bəli. 901 00:36:32,690 --> 00:36:35,520 Belə ki, indi mən həqiqətən GetInt kullanıyorum ki, bu bir şey deyil 902 00:36:35,520 --> 00:36:38,190 C. Bu CS50 gəlir ki, yalnız gəlir. 903 00:36:38,190 --> 00:36:39,890 Beləliklə, biz burada bu lazımdır. 904 00:36:39,890 --> 00:36:41,450 Və mənə tez aşağı geri bildirin 905 00:36:41,450 --> 00:36:43,500 burada etmək və yenidən axır. 906 00:36:43,500 --> 00:36:44,160 OK, nəhayət. 907 00:36:44,160 --> 00:36:46,270 İndi biz və digər səhv həll etdik. 908 00:36:46,270 --> 00:36:48,930 Mənə indi loop run və nə görmək edək. 909 00:36:48,930 --> 00:36:51,740 "Mənə bir int verin." Mən 11 verəcəyik. 910 00:36:51,740 --> 00:36:53,100 Mən bunu -1 verəcəyik. 911 00:36:53,100 --> 00:36:54,470 Mən bu foo verəcəyik. 912 00:36:54,470 --> 00:36:56,080 Mən onu 5 verəcəyik. 913 00:36:56,080 --> 00:36:57,450 İndi həqiqətən işləyir. 914 00:36:57,450 --> 00:36:59,410 Amma tezliklə bura səbəbdən dəyişdi. 915 00:36:59,410 --> 00:37:02,800 Niyə bu dəfə bir yeniden amma mənə vermək demək idi 916 00:37:02,800 --> 00:37:03,920 Digər üç dəfə int? 917 00:37:03,920 --> 00:37:05,500 Niyə davranış fərqli? 918 00:37:05,500 --> 00:37:06,980 Auditoriya: bir string verdi. 919 00:37:06,980 --> 00:37:07,830 DAVID J. MALAN: Üzr istəyirik? 920 00:37:07,830 --> 00:37:08,570 Auditoriya: Siz simli verdi. 921 00:37:08,570 --> 00:37:08,990 DAVID J. MALAN: Bəli. 922 00:37:08,990 --> 00:37:11,450 Beləliklə, biz bu üçüncü cəhdi simli verdi 923 00:37:11,450 --> 00:37:12,490 Mən foo yazdığınız zaman. 924 00:37:12,490 --> 00:37:13,200 Foo simli edir. 925 00:37:13,200 --> 00:37:14,340 Bu açıq-aydın bir int deyil. 926 00:37:14,340 --> 00:37:17,500 Və CS50 GetInt həyata ki, bir yoldur ki, 927 00:37:17,500 --> 00:37:20,330 bir şey varsa yoxlamaq yoxdur 10-dən az və ya daha çox 0 928 00:37:20,330 --> 00:37:22,260 sizin üçün, necə biz əvvəlcədən bilirik, çünki hansı 929 00:37:22,260 --> 00:37:23,130 istədiyiniz int? 930 00:37:23,130 --> 00:37:25,880 Amma biz minimal ən azı, siz istifadəçi idi kontrol edə bilərsiniz 931 00:37:25,880 --> 00:37:26,730 bir tam yazın? 932 00:37:26,730 --> 00:37:30,500 Onlar olmasaydı, biz "yeniden" yazaraq istifadəçi fəğan 933 00:37:30,500 --> 00:37:31,440 ekran. 934 00:37:31,440 --> 00:37:34,210 >> Belə ki, indi biz loop ki, bir proqram var. Okay. 935 00:37:34,210 --> 00:37:37,070 İndi, bu, hansı daha yaxşı tikinti növ edir? 936 00:37:37,070 --> 00:37:39,060 Beləliklə, bu, hər şeyi bir az messy almaq üçün başlamaq Ü edir 937 00:37:39,060 --> 00:37:42,360 Burada dəyişən qədər bəyan unutmayın ki, fakt 938 00:37:42,360 --> 00:37:44,630 bəzi daxilində istifadə etmək istəyirsinizsə, 939 00:37:44,630 --> 00:37:46,460 qıvrım aşırma və xaricində. 940 00:37:46,460 --> 00:37:48,490 Amma bu ilk bir az sirli görünür, hətta 941 00:37:48,490 --> 00:37:50,750 baxış, yalnız yenə də sadə məntiq xatırlayıram. 942 00:37:50,750 --> 00:37:54,630 Bir funksiyası var və ya olub, C bir şey istifadə etmək üçün 943 00:37:54,630 --> 00:37:57,680 bir dəyişən, siz bir funksiyası varsa daxil etmək 944 00:37:57,680 --> 00:37:59,770 bir kitabxana və ya bəyan etmək lazımdır. 945 00:37:59,770 --> 00:38:02,405 Amma indi siz ondan əlavə nəzərə etmək lazımdır ki, 946 00:38:02,405 --> 00:38:04,940 sağ daxilində bu elan edirik. 947 00:38:04,940 --> 00:38:08,150 Siz mötərizə daxilində çox sıx o verilməsi deyilik. 948 00:38:08,150 --> 00:38:09,410 >> Mənə həqiqətən geri roll imkan verir. 949 00:38:09,410 --> 00:38:12,660 Biz əvvəllər məsələn bizim geri, mən getmək Əgər 950 00:38:12,660 --> 00:38:19,245 geri int üçün int i = 0; i <10; i + +, və mən 951 00:38:19,245 --> 00:38:26,370 bu kimi printf ulduzları, sonra yaxın paren, indi nə 952 00:38:26,370 --> 00:38:30,410 printf i indi - 953 00:38:30,410 --> 00:38:33,500 Mən cəhd etdikdə eyni məntiqə görə, nə olacaq 954 00:38:33,500 --> 00:38:35,500 Bu proqram tərtib? 955 00:38:35,500 --> 00:38:36,790 Auditoriya: Invalid identifikatoru. 956 00:38:36,790 --> 00:38:38,560 DAVID J. MALAN: Belə ki, başqa etibarsız identifikator var, 957 00:38:38,560 --> 00:38:39,470 elan edilməmiş identifikatoru. 958 00:38:39,470 --> 00:38:41,810 İndi səbəb bir az fərqli. 959 00:38:41,810 --> 00:38:44,370 Burada açıq-aydın heç bir qıvrım aşırma, lakin eyni 960 00:38:44,370 --> 00:38:46,790 fikir, əhatə dairəsi eyni hekayə aiddir. 961 00:38:46,790 --> 00:38:50,340 Bir daxilində i kimi bir dəyişən elan Əgər 962 00:38:50,340 --> 00:38:53,960 loop üçün, aydın buruq yazılı deyil, hətta 963 00:38:53,960 --> 00:38:56,980 aşırma, hələ kimi ruhi onlara hesab edən 964 00:38:56,980 --> 00:39:00,310 halda i loop üçün yalnız etibarlı daxilində deyil. 965 00:39:00,310 --> 00:39:03,080 Siz ki, növbəti line almaq sonra etibarlı deyil 966 00:39:03,080 --> 00:39:05,090 Bu halda indi 10-dur. 967 00:39:05,090 --> 00:39:09,060 Belə ki, həcmi və kimi yalnız bir neçə məsələlər. 968 00:39:09,060 --> 00:39:12,620 Bütün hüquqlar, hər hansı suallar? 969 00:39:12,620 --> 00:39:15,310 >> Bütün hüquqlar, belə ki, bu, mənasız bir az proqramı növ 970 00:39:15,310 --> 00:39:17,450 yalnız az ulduz çap. 971 00:39:17,450 --> 00:39:20,400 Amma burada bu mahnı xatırlayıram əgər in görək. 972 00:39:20,400 --> 00:39:22,530 Bu uşaqlar oxumaq olardı inanılmaz annoying mahnı deyil 973 00:39:22,530 --> 00:39:23,550 məktəb avtobus və kimi. 974 00:39:23,550 --> 00:39:25,990 Amma nə bu barədə gözəl, bu cyclicity var ki, 975 00:39:25,990 --> 00:39:27,910 elə ki, "divar pivə 99 şüşə var 976 00:39:27,910 --> 00:39:28,520 Pivə 99 şüşə. 977 00:39:28,520 --> 00:39:31,030 Bir yazmaq onun ətrafında keçə üzrə 98 şüşə pivə 978 00:39:31,030 --> 00:39:34,330 divar. "Və sonra mahnı sonra, sonra, 96 97 təkrar 979 00:39:34,330 --> 00:39:38,040 95, sonra 94, bütün yol həqiqətən var əgər 0 aşağı ki, 980 00:39:38,040 --> 00:39:38,920 qədər avtobus. 981 00:39:38,920 --> 00:39:41,960 Beləliklə, bu, çünki, həyata və düzmək üçün gözəl proqram mənim 982 00:39:41,960 --> 00:39:43,650 Allah, bir neçə ilə bu həyata bilər 983 00:39:43,650 --> 00:39:46,660 kodu xətləri, bu, bütün lyrics tüpürmək bilər 984 00:39:46,660 --> 00:39:48,240 olduqca tez mahnı. 985 00:39:48,240 --> 00:39:50,420 Lakin yol boyunca, indi bəzi başqa tease başlaya bilərsiniz 986 00:39:50,420 --> 00:39:52,460 bu əsas loop yapıları və indi də 987 00:39:52,460 --> 00:39:55,830 biz özümüz yazmaq funksiyaları təqdim dəyərlər qayıtmaq 988 00:39:55,830 --> 00:39:57,020 biz ətrafında keçir ki. 989 00:39:57,020 --> 00:39:58,910 Lakin ilk, niyə biz irəliyə getmək və beş dəqiqəlik etmirlər 990 00:39:58,910 --> 00:39:59,320 burada qırmaq? 991 00:39:59,320 --> 00:40:01,480 Və biz geri almaq zaman, biz bu mahnı ifa edəcək. 992 00:40:05,680 --> 00:40:08,760 >> Bütün hüquqlar, biz geri edir. 993 00:40:08,760 --> 00:40:11,850 Mən indi bu mahnı ifa edəcək deyəndə, mən demək 994 00:40:11,850 --> 00:40:13,250 program deyil, şifahi. 995 00:40:13,250 --> 00:40:19,370 Belə ki, burada biz bu bir həyata olan beer1.c var 996 00:40:19,370 --> 00:40:20,580 xüsusi mahnı. 997 00:40:20,580 --> 00:40:23,110 Və yalnız həmin tanımadığı üçün, aydın olmaq üçün nə 998 00:40:23,110 --> 00:40:24,460 bu şey kimi, mənim irəli gedək görünür 999 00:40:24,460 --> 00:40:27,070 və daxil beer1 edir. 1000 00:40:27,070 --> 00:40:30,400 İndi mənə beer1 run bildirin, biz görəcəksiniz - neçə şüşə 1001 00:40:30,400 --> 00:40:31,140 pivə olacaq? 1002 00:40:31,140 --> 00:40:33,240 Mahnı deyir kimi I, 99 yazın lazımdır. 1003 00:40:33,240 --> 00:40:34,040 Daxil edin. 1004 00:40:34,040 --> 00:40:35,650 İndi biz vasitəsilə hərəkət olduqda - 1005 00:40:35,650 --> 00:40:38,280 oops - biz bu bütün vasitəsilə gedin, biz görəcəksiniz ki, 1006 00:40:38,280 --> 00:40:41,350 Bu, həqiqətən bütün mahnı oxumaq idi. 1007 00:40:44,050 --> 00:40:44,540 Bir dəqiqə gözləyin. 1008 00:40:44,540 --> 00:40:46,240 Mənim gedin bar up messed bir az var. 1009 00:40:46,240 --> 00:40:47,940 Nin böyük pəncərə istifadə edək. 1010 00:40:47,940 --> 00:40:53,500 Beer1, 99 Belə ki, orada biz gedin. 1011 00:40:53,500 --> 00:40:56,420 Belə ki, burada biz çox sürətli ifa bütün mahnı var 1012 00:40:56,420 --> 00:40:58,450 bu bizim bilərdi artıq kompüter. 1013 00:40:58,450 --> 00:41:00,340 Belə ki, burada olsa da, dövri təbiət bilərsiniz. 1014 00:41:00,340 --> 00:41:03,380 Bu 99, sonra 99, sonra "bir yazmaq, bu keçmək deyir 1015 00:41:03,380 --> 00:41:04,740 ətrafında, "sonra 98. 1016 00:41:04,740 --> 00:41:06,640 İndi təkrar təkrar edir. 1017 00:41:06,640 --> 00:41:08,840 >> Belə ki, bu əslində bir növ üçün mükəmməl bir fürsətdir 1018 00:41:08,840 --> 00:41:10,400 tikintisi loop. 1019 00:41:10,400 --> 00:41:12,950 Mən burada bir küncündə kəsmə cür Ben edək ki,. 1020 00:41:12,950 --> 00:41:15,960 Mən divar "pivə 98 şüşə dedi alıram edək ki, 1021 00:41:15,960 --> 00:41:19,010 97 divara pivə qabları "və yalnız belə idi 1022 00:41:19,010 --> 00:41:21,640 biz pivə bir şüşə almaq zaman, mən yoxdur 1023 00:41:21,640 --> 00:41:23,300 İngilis dili qrammatika narahat. 1024 00:41:23,300 --> 00:41:25,790 Amma biz də əgər bir az bu düzeltebilirsiniz 1025 00:41:25,790 --> 00:41:26,910 vəziyyəti, bəlkə. 1026 00:41:26,910 --> 00:41:30,110 Bu sayı sinqulyar varsa, davam və "şüşə" demək 1027 00:41:30,110 --> 00:41:31,840 bu cəm var başqa varsa, "şüşə" demək. 1028 00:41:31,840 --> 00:41:34,150 Amma indi, mən tamamilə ki, künc kəsici alıram. 1029 00:41:34,150 --> 00:41:35,520 Beləliklə, biz burada var nə edək. 1030 00:41:35,520 --> 00:41:37,150 Belə ki, üst bir şərh var. 1031 00:41:37,150 --> 00:41:39,450 Mən bu iki kitabxana, o cümlədən alıram 1032 00:41:39,450 --> 00:41:41,140 biz adətən bilərsiniz. 1033 00:41:41,140 --> 00:41:43,610 İndi mənə ilk aşağı diyirləyin bildirin 1034 00:41:43,610 --> 00:41:44,990 kodu faktiki satır. 1035 00:41:44,990 --> 00:41:47,020 Line 17 əsas başlayıb. 1036 00:41:47,020 --> 00:41:50,610 Line 21 və 20 neçə şüşə pivə olacaq var? 1037 00:41:50,610 --> 00:41:52,060 Və sonra GetInt çağırırıq. 1038 00:41:52,060 --> 00:41:53,800 İndi bir ağlı başında olma çek bir az var. 1039 00:41:53,800 --> 00:41:57,030 >> Belə ki, bu biz indi qəbul başlamaq lazımdır ki, Konvensiyanın edir 1040 00:41:57,030 --> 00:41:59,620 daha ciddi istifadəçi daxil edin. 1041 00:41:59,620 --> 00:42:01,710 Bəzən yalnız onları yenidən təklif istəmirəm 1042 00:42:01,710 --> 00:42:02,630 və təkrar. 1043 00:42:02,630 --> 00:42:05,620 Gözəl, ən istifadəçi vida edin və əməkdaşlıq deyil. 1044 00:42:05,620 --> 00:42:07,430 Çıxın və yalnız onlarla yoxdur. 1045 00:42:07,430 --> 00:42:08,990 Və belə ki, mən burada yapýyorum nə var. 1046 00:42:08,990 --> 00:42:12,520 N 1-dən az olarsa, mən yalnız istifadəçi fəğan gedirəm 1047 00:42:12,520 --> 00:42:14,330 "Bağışlayın, heç bir əhəmiyyət kəsb edir." Və sonra mən gedirəm 1048 00:42:14,330 --> 00:42:16,650 özbaşına 1 qaytarın. 1049 00:42:16,650 --> 00:42:18,550 Belə ki, yenidən, bu, yalnız istifadə almaq üçün konvensiya deyil. 1050 00:42:18,550 --> 00:42:19,850 İndi, iman onu edir. 1051 00:42:19,850 --> 00:42:22,700 Ancaq indiyə qədər biz həmişə, çünki 0 qaytarılması olduğunuz 1052 00:42:22,700 --> 00:42:25,204 biz 0 işarə nə qaytarılması bildirib etdik? 1053 00:42:25,204 --> 00:42:26,000 Auditoriya: Uğur. 1054 00:42:26,000 --> 00:42:27,320 DAVID J. MALAN: Uğur, bütün var. 1055 00:42:27,320 --> 00:42:29,740 Belə ki, indi biz nəhayət düşünməyə başlayan etdiyiniz 1056 00:42:29,740 --> 00:42:31,330 qeyri-uğurlar - 1057 00:42:31,330 --> 00:42:33,760 - başqa sözlə, künc hallarda səhv şəraitdə 1058 00:42:33,760 --> 00:42:37,520 İndi bir sonsuz təchizatı, və ya ən azı dörd milyard 1059 00:42:37,520 --> 00:42:39,790 mənim proqramları yanlış getmək mümkün şeylər. 1060 00:42:39,790 --> 00:42:42,300 Mən onlara fərdi nömrələri təyin başlaya bilərsiniz. 1061 00:42:42,300 --> 00:42:44,340 İndi, ümumiyyətlə, yalnız qayıtmaq üçün kifayətdir 1062 00:42:44,340 --> 00:42:45,730 0-dən başqa bir şey. 1063 00:42:45,730 --> 00:42:48,040 Belə ki, biz sadəcə indi 1 qayıtmaq olacaq. 1064 00:42:48,040 --> 00:42:51,440 Amma 1 qaytarılması üçün səbəb kimi tezliklə qayıtmaq kimi 1065 00:42:51,440 --> 00:42:55,110 1, proqram qalan nə tahmin? 1066 00:42:55,110 --> 00:42:55,720 Bu dayanır. 1067 00:42:55,720 --> 00:42:56,560 Vəssalam. 1068 00:42:56,560 --> 00:42:59,150 Mən 1 qaytarılması edirəm ki, səmərəli deyil 1069 00:42:59,150 --> 00:43:02,950 Bu proqramın icrası qısa qapanması ki, 1070 00:43:02,950 --> 00:43:06,780 line 27 aşağıda heç bir şey həyata davam edəcək. 1071 00:43:06,780 --> 00:43:09,210 Kimi tezliklə əsas yekunları kimi, o qədər. 1072 00:43:09,210 --> 00:43:13,160 >> Istifadəçi əgər bütün sağ, belə ki, əməkdaşlıq və biz line 30 olmaq 1073 00:43:13,160 --> 00:43:15,680 onlar qanuni sıra tipli, çünki burada mənim deyil 1074 00:43:15,680 --> 00:43:16,990 bu mahnı həyata keçirilməsi. 1075 00:43:16,990 --> 00:43:19,050 Mən ilk yalnız bir newline xarakter çap 1076 00:43:19,050 --> 00:43:19,880 estetika. 1077 00:43:19,880 --> 00:43:21,500 İndi loop üçün var. 1078 00:43:21,500 --> 00:43:22,930 Mən bir az şeyi edirəm qeyd 1079 00:43:22,930 --> 00:43:23,880 fərqli bir istiqamətdə. 1080 00:43:23,880 --> 00:43:26,210 Mən az nə yoxdur, mən + + nə yoxdur. 1081 00:43:26,210 --> 00:43:30,660 Mən əvəzinə bərabər müəyyən bir dəyişən i başlamaq demək olar 1082 00:43:30,660 --> 00:43:35,080 n, istifadəçi Yığdığınız sayı, sonra ki, aşağıdakı 1083 00:43:35,080 --> 00:43:39,590 i 0 daha çox kimi uzun, sonra i - 1084 00:43:39,590 --> 00:43:42,070 sonra bu loop biri iteration başa etdik. 1085 00:43:42,070 --> 00:43:44,310 Beləliklə, biz həm loop üçün istifadə aşağı saymaq olar. 1086 00:43:44,310 --> 00:43:47,520 İndi bu printf ilə, bir şeylər artıq olduqca çox həftəsidir. 1087 00:43:47,520 --> 00:43:51,770 Belə print "divara pivə% d şüşə". Print "% d 1088 00:43:51,770 --> 00:43:54,990 pivə butulka. "", bir aşağı alın ətrafında keçir. "Print 1089 00:43:54,990 --> 00:43:58,880 "Divara pivə% d şüşə". Belə ki, hələ% d, lakin 1090 00:43:58,880 --> 00:44:02,770 arqumenti printf dəyişir ki, görürsünüz. 1091 00:44:02,770 --> 00:44:05,840 Mən 99 demək istəyirəm, çünki vergül sonra, i var. 1092 00:44:05,840 --> 00:44:08,590 Mən 99 demək istəyirəm, çünki bu vergül sonra, i var. 1093 00:44:08,590 --> 00:44:14,030 Bu vergül sonra, i var - 1, mən 98 demək istəyirəm, çünki 1094 00:44:14,030 --> 00:44:16,260 Bu ilk iteration, və s. 1095 00:44:16,260 --> 00:44:18,520 İndi aşağı burada, yalnız bəzi axmaq az qeyd var. 1096 00:44:18,520 --> 00:44:22,270 Və sonra line 42, mən signifying, Konvensiyanın 0 qayıtmaq ki, 1097 00:44:22,270 --> 00:44:23,650 hər şey tamam. 1098 00:44:23,650 --> 00:44:24,490 >> Mən goofed nə olur? 1099 00:44:24,490 --> 00:44:26,350 Burada ümumi səhv nə ola bilər? 1100 00:44:26,350 --> 00:44:29,200 Mən təsadüfən də bildirib əgər yaxşı, mən ümid nə istəyirsiniz 1101 00:44:29,200 --> 00:44:31,640 0 aşağı, mən divar pivə 0 şüşə istəyirsiniz? 1102 00:44:31,640 --> 00:44:34,620 Deyə Beləliklə, i və ya daha çox 0 bərabərdir. 1103 00:44:34,620 --> 00:44:38,920 Mən derleyeceğiz əgər mən indi görürəm ki, simptom olacaq nə 1104 00:44:38,920 --> 00:44:41,173 beer1 və run? 1105 00:44:41,173 --> 00:44:42,120 Auditoriya: Mənfi. 1106 00:44:42,120 --> 00:44:43,590 DAVID J. MALAN: Bəli, bu, mənfi getmək mý var. 1107 00:44:43,590 --> 00:44:45,950 Bu off-bir səhv var, inanılmaz 1108 00:44:45,950 --> 00:44:47,270 ümumi səhv etmək. 1109 00:44:47,270 --> 00:44:48,960 Gəlin əslində terminal pəncərə geri və bunu 1110 00:44:48,960 --> 00:44:50,620 burada, biz bir dəfə daha görə bilərsiniz. 1111 00:44:50,620 --> 00:44:53,280 , Pivə 99 şüşə daxil edin. 1112 00:44:53,280 --> 00:44:56,580 Yaxın, lakin biz çox belə qədər heç getdi. 1113 00:44:56,580 --> 00:45:00,500 Biz indi edib, belə ki, çox aşağı mahnı oxudu 1114 00:45:00,500 --> 00:45:01,510 mənfi nömrəsini. 1115 00:45:01,510 --> 00:45:03,680 Belə ki, kifayət qədər iş deyil. 1116 00:45:03,680 --> 00:45:06,450 >> Bütün hüquqlar, biz asanlıqla düzəltmək olar ki, geri gedən 1117 00:45:06,450 --> 00:45:07,650 yolu bir dəfə idi. 1118 00:45:07,650 --> 00:45:10,360 Lakin bəzi imkanlar indi nə 1119 00:45:10,360 --> 00:45:11,190 təkmilləşdirilməsi? 1120 00:45:11,190 --> 00:45:17,200 Yaxşı, məni beer2.c açmaq və burada aşağı diyirləyin imkan və almaq 1121 00:45:17,200 --> 00:45:19,310 Bu versiya oldu. 1122 00:45:19,310 --> 00:45:21,370 Nə müxtəlif kimi həyata atlamalar ki, ilk şey 1123 00:45:21,370 --> 00:45:23,715 burada bu versiya? 1124 00:45:23,715 --> 00:45:24,190 Auditoriya: [işitilemez]. 1125 00:45:24,190 --> 00:45:26,510 DAVID J. MALAN: Bəli, heç bir daha çox i, bu meydana çünki 1126 00:45:26,510 --> 00:45:29,350 mənə nə, mən deyiləm sonra n üçün istifadəçi tələb və alıram bilirik 1127 00:45:29,350 --> 00:45:33,580 n i bərabər yaradılması, sonra i dəyişən edirəm, amma heç deyiləm 1128 00:45:33,580 --> 00:45:34,590 toxunan n yenidən. 1129 00:45:34,590 --> 00:45:37,390 Beləliklə what the heck başqa 32 ayrılması siz nöqtəsi oldu 1130 00:45:37,390 --> 00:45:45,210 bit Mən müxtəlif dəyişən ola bilər yalnız, belə ki i adlanır? 1131 00:45:45,210 --> 00:45:47,960 Belə ki, bu halda, mən növ tanınmış lazımsız 1132 00:45:47,960 --> 00:45:49,190 dizayn xüsusiyyət. 1133 00:45:49,190 --> 00:45:52,730 N 0 daha çox isə və mən indi demək gedirəm, getmək 1134 00:45:52,730 --> 00:45:56,180 qabaqda və kimi printf üçün n keçən, eyni mahnı çap 1135 00:45:56,180 --> 00:46:00,210 İkinci arqument və n - aşağı burada ikinci arqument kimi 1. 1136 00:46:00,210 --> 00:46:02,930 Və sonra bu loop hər iteration haqqında qabaqda və yalnız getmək 1137 00:46:02,930 --> 00:46:05,080 azalma n özü. 1138 00:46:05,080 --> 00:46:06,960 İndi, funksional, bu proqram 1139 00:46:06,960 --> 00:46:08,010 eyni olacaq. 1140 00:46:08,010 --> 00:46:10,730 Mən 99 yazın varsa, n 99-da başlayacaq. 1141 00:46:10,730 --> 00:46:12,890 Mən azalma, azalma, azalma, azalma. 1142 00:46:12,890 --> 00:46:15,875 Mən pivə biri şüşə "üçün bütün yol aşağı gedirəm 1143 00:46:15,875 --> 00:46:16,740 divar, pivə bir şüşə. 1144 00:46:16,740 --> 00:46:18,020 Bir yazmaq ətrafında keçir. 1145 00:46:18,020 --> 00:46:21,480 Mən divar pivə 0 şüşə ". Sonu etdi, çünki 1146 00:46:21,480 --> 00:46:23,200 vəziyyəti düzgün almaq. 1147 00:46:23,200 --> 00:46:24,280 Bu 0 daha çox var. 1148 00:46:24,280 --> 00:46:26,220 Mən bu səhv etmədik. 1149 00:46:26,220 --> 00:46:28,470 >> Belə olan versiyası bir və ya bir versiyası iki, daha yaxşıdır? 1150 00:46:31,380 --> 00:46:33,480 Mən iki murmurings bir dəstə eşitdim. 1151 00:46:33,480 --> 00:46:34,730 Niyə iki? 1152 00:46:37,210 --> 00:46:38,225 Nə olub? 1153 00:46:38,225 --> 00:46:39,215 Auditoriya: [işitilemez]. 1154 00:46:39,215 --> 00:46:40,070 DAVID J. MALAN: Oh, tamam. 1155 00:46:40,070 --> 00:46:42,870 Belə ki version birində, 0 aşağı getmək, lakin unutmayın deyil 1156 00:46:42,870 --> 00:46:45,870 orijinal doğru versiyasını ya 0 aşağıda getmədi. 1157 00:46:45,870 --> 00:46:48,340 Beləliklə, bu düzgün versiyası olduğunu unutmayın. 1158 00:46:48,340 --> 00:46:51,630 Belə ki, ən azı iki düzgün versiyasını müqayisə edək. 1159 00:46:51,630 --> 00:46:53,300 Version lehinə bir dəlil nədir 1160 00:46:53,300 --> 00:46:55,146 iki olan MMM, daha yaxşı? 1161 00:46:55,146 --> 00:46:55,642 Evet? 1162 00:46:55,642 --> 00:46:57,630 Auditoriya: Bu az yer istifadə edir. 1163 00:46:57,630 --> 00:46:59,530 DAVID J. MALAN: OK, belə ki, sağ az yer istifadə edir? 1164 00:46:59,530 --> 00:47:02,900 Versiya bir 32 n bit, və sonra başqa bir istifadə halda 1165 00:47:02,900 --> 00:47:07,680 I üçün 32 bit. 1166 00:47:07,680 --> 00:47:10,060 Version iki yalnız n 32 bit istifadə edir, belə ki, 1167 00:47:10,060 --> 00:47:11,700 bir plus görünür. 1168 00:47:11,700 --> 00:47:12,950 Digər fikir? 1169 00:47:18,070 --> 00:47:21,520 Hər kəs bir xeyrinə mübahisə istəyir? 1170 00:47:21,520 --> 00:47:22,070 Evet? 1171 00:47:22,070 --> 00:47:25,240 Auditoriya: Siz n üçün kodu əlavə xətt istifadə etmək -. 1172 00:47:25,240 --> 00:47:26,090 >> DAVID J. MALAN: OK, əmin olun. 1173 00:47:26,090 --> 00:47:26,960 Belə ki, ədalətli deyil. 1174 00:47:26,960 --> 00:47:29,040 Azı mənə, yalnız belə - 1175 00:47:29,040 --> 00:47:31,940 Mən bu həqiqətən bir az Messier hiss faktı deməkdir ki, 1176 00:47:31,940 --> 00:47:35,120 Mən bir mənim məntiq bütün içine və sort bilməz 1177 00:47:35,120 --> 00:47:38,030 loop üçün bilərsiniz kimi loop üçün gözəl xətti,. 1178 00:47:38,030 --> 00:47:40,240 Burada cür bu n tack var - 1179 00:47:40,240 --> 00:47:41,120 loop sonunda, çünki 1180 00:47:41,120 --> 00:47:42,550 bu məntiqi lazımdır. 1181 00:47:42,550 --> 00:47:45,190 Amma bu cür mənə səhv yol rubs, yalnız çünki 1182 00:47:45,190 --> 00:47:48,260 baxmayaraq, qədər burada məntiqi ayrı görünür 1183 00:47:48,260 --> 00:47:49,430 yenidən, bu, lazımdır. 1184 00:47:49,430 --> 00:47:50,990 Digər fikir? 1185 00:47:50,990 --> 00:47:51,490 Evet? 1186 00:47:51,490 --> 00:47:52,740 Auditoriya: [işitilemez]. 1187 00:47:57,990 --> 00:47:58,350 >> DAVID J. MALAN: Bəli. 1188 00:47:58,350 --> 00:48:00,730 Yerine Belə ki, nə mahnı sonunda istədi 1189 00:48:00,730 --> 00:48:02,950 yenə mahnı adı çap? 1190 00:48:02,950 --> 00:48:05,660 "Pivə 99 şüşə oynayan üçün təşəkkür edirik" kimi və ya bir şey 1191 00:48:05,660 --> 00:48:06,690 kimi silly? 1192 00:48:06,690 --> 00:48:09,750 Amma point, orijinal dəyər əldə etmək istəyirdi. 1193 00:48:09,750 --> 00:48:13,180 Hər barədə n mutated və ya değiştirdik ki, 1194 00:48:13,180 --> 00:48:16,330 iteration və buna görə də onun orijinal dəyəri məhv 1195 00:48:16,330 --> 00:48:18,650 yalnız sonunda bunu edə bilməz deməkdir. 1196 00:48:18,650 --> 00:48:20,660 İndi, arguably, biz aydın etmək istəmirəm 1197 00:48:20,660 --> 00:48:21,450 Bu proqram. 1198 00:48:21,450 --> 00:48:22,350 Belə ki, kimin umurunda? 1199 00:48:22,350 --> 00:48:23,630 Lakin bir çox etibarlı nöqtə var. 1200 00:48:23,630 --> 00:48:25,520 Və vicdanlı olmaq, heç kim həqiqətən var 1201 00:48:25,520 --> 00:48:26,630 Burada cavab. 1202 00:48:26,630 --> 00:48:28,740 Onlar həm də eyni dərəcədə doğru edirik. 1203 00:48:28,740 --> 00:48:30,210 Mən ya yol əmin ola bilər. 1204 00:48:30,210 --> 00:48:33,310 Mən ümumiyyətlə, yaxşı bir prinsipi var, deyirlər ki, əgər siz 1205 00:48:33,310 --> 00:48:36,030 bəzi dəyəri üçün istifadəçi xahiş və bir dəyişən saxlanılır 1206 00:48:36,030 --> 00:48:38,730 sort prinsipi üzrə n kimi, yalnız, yəqin ki, yaxşı 1207 00:48:38,730 --> 00:48:40,160 ki, ətrafında saxlamaq. 1208 00:48:40,160 --> 00:48:43,400 Və hər hansı bir məlumat yalnız, təkrar mutate istəyirəm 1209 00:48:43,400 --> 00:48:46,030 yalnız belə, özünüzü dəyişən surəti verir ki, 1210 00:48:46,030 --> 00:48:47,830 orijinal girmə imkanı vardır. 1211 00:48:47,830 --> 00:48:51,040 Siz 32 daha bit sərf olunur, amma reallıq bu 1212 00:48:51,040 --> 00:48:53,490 kompüter, RAM iki gigabayt bu gün istəyirəm ki, 1213 00:48:53,490 --> 00:48:55,310 və biz 32 bit üzərində quibbling mi? 1214 00:48:55,310 --> 00:48:56,320 Həqiqətən, belə bir böyük. 1215 00:48:56,320 --> 00:48:58,550 Və hətta yarım konsert və ya burada bu cihaz haqqında 1216 00:48:58,550 --> 00:49:01,700 RAM gigabyte, 64 bit qarşı 32 bit, 1217 00:49:01,700 --> 00:49:02,920 belə bir böyük. 1218 00:49:02,920 --> 00:49:05,890 Əlbəttə, bu gün bu ölçüsü ilə overwhelmed yol olacaq 1219 00:49:05,890 --> 00:49:08,400 proqram özü olan bir neçə yüz olacaq 1220 00:49:08,400 --> 00:49:10,890 kilobayttan, əgər bir neçə megabayt, bu gün. 1221 00:49:10,890 --> 00:49:13,550 >> Belə ki, ağlabatan narahatlıqlar, bir heç bir düzgün cavab. 1222 00:49:13,550 --> 00:49:15,490 Amma ən azı bu başlamaq lazımdır ki, fikir edir 1223 00:49:15,490 --> 00:49:16,790 fikrinizi keçir? 1224 00:49:16,790 --> 00:49:19,600 Pset 0, biz, həqiqətən, yalnız gözlənilir baxmayaraq Çünki 1225 00:49:19,600 --> 00:49:22,340 düzgünlüyünə və ya ən azı müxtəlif hataları disclaiming 1226 00:49:22,340 --> 00:49:25,440 biz irəliyə kimi, qarşılaşdıqları bilər, dizayn 1227 00:49:25,440 --> 00:49:27,910 digər əsas aspekti olacaq, həm kodu yazmaq 1228 00:49:27,910 --> 00:49:29,770 həmçinin kodu qiymətləndirilməsi. 1229 00:49:29,770 --> 00:49:32,310 Və ən azı bu kimi şeylərə fikir verin. 1230 00:49:32,310 --> 00:49:35,590 Və yalnız bir şey işlərin, çünki yaxşı demək deyil 1231 00:49:35,590 --> 00:49:37,130 yaxşı dizayn var demək deyil. 1232 00:49:37,130 --> 00:49:38,820 Və müəllim yoldaşları hər biri və 1233 00:49:38,820 --> 00:49:41,990 problem dəstləri bizə vaxt artıq hissəsi tease kömək edəcək. 1234 00:49:41,990 --> 00:49:45,020 >> Yaxşı, haqqında, burada, demək bu versiyası nə edək? 1235 00:49:45,020 --> 00:49:49,090 Mənə bir an burada bir az sexy bir şey edək. 1236 00:49:49,090 --> 00:49:50,740 Birinci mənə bu xilas edək. 1237 00:49:50,740 --> 00:49:54,120 İndi bu qrammatik sorunu bildirin. 1238 00:49:54,120 --> 00:49:58,780 Belə ki, bu versiya, mən qrammatika düzeltmek üçün mənə ki, 1239 00:49:58,780 --> 00:50:02,460 daha çox yalnız ara s "şüşə" kimi demək 1240 00:50:02,460 --> 00:50:03,360 və ya "şüşə" - 1241 00:50:03,360 --> 00:50:04,900 Hesab edirəm ki, küncü kəsilmiş istəmirəm - 1242 00:50:04,900 --> 00:50:08,350 Mən də dinamik sözü "şüşə" çap istəyirəm 1243 00:50:08,350 --> 00:50:12,820 bununla da bu gün bu% s placeholders istifadə edərək və ya "şüşə". 1244 00:50:12,820 --> 00:50:16,550 Mən şərti i dəyəri nə yoxlamaq lazımdır. 1245 00:50:16,550 --> 00:50:19,590 1 varsa, mən "şüşə" demək istəyirəm, və onun bir şey varsa, 1246 00:50:19,590 --> 00:50:23,115 başqa, mən "şüşə" demək istəyirəm. Belə ki, bu etmək üçün cəhd edək. 1247 00:50:23,115 --> 00:50:31,340 I == 1 Belə ki, sonra mənə irəli getmək və elan edək - 1248 00:50:31,340 --> 00:50:34,080 Mən bir string lazımdır, belə ki, bu, çünki mənə string s1 bunu bildirin 1249 00:50:34,080 --> 00:50:36,070 ilk simli İndi qayğı. 1250 00:50:36,070 --> 00:50:40,980 Mən "şüşə" demək gedirəm. Və sonra, simli, gəlin görək 1251 00:50:40,980 --> 00:50:43,110 s2 - və mən bir anda gidiyorum harada izah edəcəyik - 1252 00:50:43,110 --> 00:50:47,650 "Şüşə". Belə ki, bu mahnı, biz lazımdır ki, xatırlayıram 1253 00:50:47,650 --> 00:50:50,580 potensial əşyalar, iki müxtəlif sözləri çap. 1254 00:50:50,580 --> 00:50:53,590 Burada geri baxmaq Belə ki, əgər biz almaq zaman ki, qeyd 1255 00:50:53,590 --> 00:50:56,440 burada bu, məsələn, "divar pivə iki şüşə, 1256 00:50:56,440 --> 00:50:59,490 pivə iki şüşə, bir aşağı almaq istəyirəm ", onun ətrafında keçə 1257 00:50:59,490 --> 00:51:02,380 bu dördüncü xətt indi də "pivə bir şüşə demək 1258 00:51:02,380 --> 00:51:04,900 divar şüşə "və ya". mən qərar lazımdır ki, demək istəyirəm " 1259 00:51:04,900 --> 00:51:07,780 "Şüşə"? Mən, özbaşına demək doğru gedirəm 1260 00:51:07,780 --> 00:51:10,530 İndi bir dəyişən adlı s1, simli bəyan gedirəm 1261 00:51:10,530 --> 00:51:13,830 bir ki, burada da burada takıldığından olacaq 1262 00:51:13,830 --> 00:51:16,070 bu sözlər həmişə eynidir, yalnız çünki görə 1263 00:51:16,070 --> 00:51:17,290 mahnı təbiəti. 1264 00:51:17,290 --> 00:51:20,100 Mən istəyirəm nə söz s2 zəng gedirəm 1265 00:51:20,100 --> 00:51:21,560 nəticədə burada görünür. 1266 00:51:21,560 --> 00:51:25,530 İndi, sözün, 100 həyata 99 dəfə, bu olacaq 1267 00:51:25,530 --> 00:51:28,820 3 cəm, çünki o hallarda həm eyni, 2 1268 00:51:28,820 --> 00:51:30,200 cəm, 4 cəm edir. 1269 00:51:30,200 --> 00:51:34,640 Amma bu künc halda, biz burada 2 almaq və sonra 1, və ya 1270 00:51:34,640 --> 00:51:37,250 hətta 1 və sonra 0, mən bu məntiq lazımdır. 1271 00:51:37,250 --> 00:51:41,020 Mən doğru almaq mənim kodu bəzi vaxt sərf etmək lazımdır. 1272 00:51:41,020 --> 00:51:47,530 Mən bunu əgər, "şüşə" bərabər müəyyən s1 sonra, i == 1 əgər 1273 00:51:47,530 --> 00:51:52,010 və "şüşə", bərabər s2 bu 1 olacaq, çünki 1274 00:51:52,010 --> 00:51:56,340 şüşə və bu 0 şüşə olacaq. 1275 00:51:56,340 --> 00:51:58,250 Və burada, bu nə təmsil edir? 1276 00:51:58,250 --> 00:51:59,780 Just aydın olmalıdır. 1277 00:51:59,780 --> 00:52:00,620 Bu yalnız bir comment edir. 1278 00:52:00,620 --> 00:52:03,730 Belə ki, tək-line şərh ola bilər ki, siz deməkdir 1279 00:52:03,730 --> 00:52:06,110 bu kimi kodu şərh, lakin başqa ümumi bilər 1280 00:52:06,110 --> 00:52:09,050 paradiqma da ki, bir super-qısa söz var ki, əgər 1281 00:52:09,050 --> 00:52:11,410 özünüzü qoymaq istəyirik və qoymaq üçün daha çox oxunaqlı deyil 1282 00:52:11,410 --> 00:52:13,270 sağ kodu xəttinin sonunda, siz 1283 00:52:13,270 --> 00:52:15,230 tamamilə bu kimi bir şey yoxdur. 1284 00:52:15,230 --> 00:52:20,150 >> Belə ki, indi nə mən bunu əgər? I 1 bərabər deyil Else əgər. 1285 00:52:20,150 --> 00:52:21,620 Belə ki, bang bərabərdir - 1286 00:52:21,620 --> 00:52:23,150 ünlem "bang" kimi tanınır. 1287 00:52:23,150 --> 00:52:25,080 = 1 bang edir. 1288 00:52:25,080 --> 00:52:28,530 I 1 bərabər deyil Belə ki, mən əvəzinə nə istəyirsiniz? 1289 00:52:28,530 --> 00:52:31,700 Yaxşı, mən nə istəyirəm ilk sözü? 1290 00:52:34,620 --> 00:52:40,030 Belə ki, simli 1, cəm butulkalar üçün "şüşə" olmalıdır 1291 00:52:40,030 --> 00:52:42,440 və bu indi, eləcə cəm "şüşə" olacaq. 1292 00:52:42,440 --> 00:52:43,800 Bu, həqiqətən, bizə olur əgər biz görəcəksiniz 1293 00:52:43,800 --> 00:52:44,870 biz getmək istəyirəm yerləşir. 1294 00:52:44,870 --> 00:52:47,680 Burada aşağı diyirləyin Belə ki, indi mən sayede edirəm ki, görürsünüz 1295 00:52:47,680 --> 00:52:50,170 i, lakin s1 yalnız. 1296 00:52:50,170 --> 00:52:51,860 Mən və s1 ildə sayede alıram. 1297 00:52:51,860 --> 00:52:54,440 Və sonra aşağı burada, mən eyni olan, 1 minus deyiləm 1298 00:52:54,440 --> 00:52:55,920 əvvəl, lakin s2. 1299 00:52:55,920 --> 00:52:58,730 Başqa sözlə, mən əsasən dəyişdirmək üçün ingilis sözü istəyirəm 1300 00:52:58,730 --> 00:52:59,930 bu məntiqə. 1301 00:52:59,930 --> 00:53:03,310 İndi bu kodu bəzi problemlər artıq var. 1302 00:53:03,310 --> 00:53:08,460 Burada qapısının artıq nə sınıq olunur? 1303 00:53:08,460 --> 00:53:10,796 Evet? 1304 00:53:10,796 --> 00:53:13,210 Auditoriya: [işitilemez]. 1305 00:53:13,210 --> 00:53:13,800 >> DAVID J. MALAN: Exactly. 1306 00:53:13,800 --> 00:53:16,030 Mən artıq çərçivəsində dərs pozulmuş etdik. 1307 00:53:16,030 --> 00:53:19,610 Mən s1 və s2 elan etdik, amma daxilində bunu etdik 1308 00:53:19,610 --> 00:53:22,980 Bəli, bu kodu işləyəcək deməkdir qıvrım aşırma, 1309 00:53:22,980 --> 00:53:27,430 line 42 qədər, amma tezliklə mən line 43 hit, tahmin hansı 1310 00:53:27,430 --> 00:53:28,900 artıq mövcud? 1311 00:53:28,900 --> 00:53:32,600 S1 ya s2 nə - Yaxşı, əhatə dairəsi artıq nə danışarlar. 1312 00:53:32,600 --> 00:53:33,780 Beləliklə, biz bu düzeltmek üçün var. 1313 00:53:33,780 --> 00:53:36,180 Belə ki, mənə bəyanatlar silmək imkan verir. 1314 00:53:36,180 --> 00:53:39,320 Mən burada dəyişən adları tərk və bu silmək lazımdır 1315 00:53:39,320 --> 00:53:40,120 və burada bu silin. 1316 00:53:40,120 --> 00:53:43,557 Və nə xətləri Mən, həqiqətən, bu şeyləri bəyan etməlidir? 1317 00:53:43,557 --> 00:53:44,960 Auditoriya: [işitilemez]. 1318 00:53:44,960 --> 00:53:45,410 DAVID J. MALAN: Bəli, belə yəqin ki, 1319 00:53:45,410 --> 00:53:46,850 sağ qədər burada 33-ish. 1320 00:53:46,850 --> 00:53:50,670 String s2 sonra simli s1 Belə və. 1321 00:53:50,670 --> 00:53:51,950 Və çıxır, mən bunu edə bilərsiniz. 1322 00:53:51,950 --> 00:53:54,260 Eyni tipli iki dəyişənlərin elan edirsinizsə, 1323 00:53:54,260 --> 00:53:57,420 həqiqətən, yalnız bir vergül istifadə edə bilərsiniz ki, C. bütün 1324 00:53:57,420 --> 00:53:58,970 sağ, belə ki, indi iki dəyişənlər var - 1325 00:53:58,970 --> 00:53:59,860 s1 və s2. 1326 00:53:59,860 --> 00:54:02,000 Bu onların dəyərləri təyin alıram 1327 00:54:02,000 --> 00:54:04,210 burada şərait, və ya burada. 1328 00:54:04,210 --> 00:54:06,690 Və sonra aşağıda onları aşağı kullanıyorum. 1329 00:54:06,690 --> 00:54:10,960 Necə bu artıq iş gedir? 1330 00:54:10,960 --> 00:54:12,740 >> Bəli, hələ bir az arabası, lakin ən azı görmək edək 1331 00:54:12,740 --> 00:54:13,730 nə qədər biz kazanılmış etdik. 1332 00:54:13,730 --> 00:54:16,500 Mənə davam və beer3 edək. 1333 00:54:16,500 --> 00:54:17,695 Bu beer3 mı? 1334 00:54:17,695 --> 00:54:19,410 Yep, bu beer3 edir. 1335 00:54:19,410 --> 00:54:21,510 İndi mənə irəli getmək və beer3 run bildirin. 1336 00:54:21,510 --> 00:54:23,820 399 99. 1337 00:54:23,820 --> 00:54:25,840 Biz yəqin ki, onların əksəriyyəti atlayabilirsiniz. 1338 00:54:25,840 --> 00:54:29,100 Və aşağı burada, bu oldu. 1339 00:54:29,100 --> 00:54:31,110 "Divara pivə biri şüşə, pivə bir şüşə almaq 1340 00:54:31,110 --> 00:54:34,306 aşağı biri, divar, pivə 0 şüşə ətrafında keçir. " 1341 00:54:34,306 --> 00:54:37,570 Amma həlli yalnız yarısı üçün diqqət çəkən deyiləm. 1342 00:54:37,570 --> 00:54:39,620 Şərti burada berbat. 1343 00:54:39,620 --> 00:54:43,030 Belə ki, i bərabərdir zaman künc hallarda yaranır ki, görünür nə 1344 00:54:43,030 --> 00:54:44,030 iki dəyərlər? 1345 00:54:44,030 --> 00:54:45,020 Auditoriya: 2, 1. 1346 00:54:45,020 --> 00:54:46,190 DAVID J. MALAN: 2 və 1. 1347 00:54:46,190 --> 00:54:48,180 Bu 1 deyil 1 və deyil. 1348 00:54:48,180 --> 00:54:51,890 Bu, həqiqətən, bu mahnı yalnız bu son iki beytlik var. 1349 00:54:51,890 --> 00:54:53,890 Mən bunun əvəzinə nə istəyirsiniz? 1350 00:54:53,890 --> 00:54:58,890 Mən i == 1 əgər olduğu halda tutuldu ki, görünür 1351 00:54:58,890 --> 00:55:02,240 sonra ilk sözü "şüşə", ikinci söz 1352 00:55:02,240 --> 00:55:07,230 "şüşə" dir. Amma burada, bu == 2 olmaq dəyişdirmək istəyirik. 1353 00:55:07,230 --> 00:55:08,570 Bu halda, mən nə istəyirəm ki, 1354 00:55:08,570 --> 00:55:09,620 ilk sözü olacaq? 1355 00:55:09,620 --> 00:55:10,430 Auditoriya: "Butulkalar". 1356 00:55:10,430 --> 00:55:12,890 DAVID J. MALAN: belə iki şüşə üçün "Butulkalar". 1357 00:55:12,890 --> 00:55:14,690 Və sonra burada bu söz olmalıdır - 1358 00:55:14,690 --> 00:55:15,340 Auditoriya: "Şüşə". 1359 00:55:15,340 --> 00:55:17,316 DAVID J. MALAN: "Bottle", sinqulyar. 1360 00:55:20,430 --> 00:55:25,160 >> Bütün hüquqlar isə, zoom buraya geri qoy etmək yenidən run, 1361 00:55:25,160 --> 00:55:28,590 yenidən run beer3, növü daha 99. 1362 00:55:28,590 --> 00:55:30,710 Okay, "Segmentasyon günah (əsas tullanır)." 1363 00:55:30,710 --> 00:55:32,780 Mən nə zülm? 1364 00:55:36,050 --> 00:55:38,722 Auditoriya: Siz bir dəyəri yoxdur [işitilemez]. 1365 00:55:38,722 --> 00:55:40,480 DAVID J. MALAN: Ah, əla nöqtəsidir. 1366 00:55:40,480 --> 00:55:43,310 Bütün hüquqlar, belə ki, burada səhv nədir? 1367 00:55:43,310 --> 00:55:45,450 Seqmentasiya günah Belə ki, biz, həqiqətən, görmək olacaq 1368 00:55:45,450 --> 00:55:49,020 bu bir neçə gələcəkdə dəfə, qəsdən. 1369 00:55:49,020 --> 00:55:51,030 Amma indi, bu həqiqətən nə deməkdir? 1370 00:55:51,030 --> 00:55:53,620 A seqmentasiyası günah demək olar ki, həmişə var deməkdir 1371 00:55:53,620 --> 00:55:56,760 birtəhər kompüter yaddaş, RAM daxil olmaq üçün çalışdı, 1372 00:55:56,760 --> 00:56:00,600 həqiqətən, xahiş deyil öz deyil ki, 1373 00:56:00,600 --> 00:56:02,050 üçün əməliyyat sistemi. 1374 00:56:02,050 --> 00:56:04,440 Belə ki, bu halda, olan I etdiyiniz nə görürsünüz 1375 00:56:04,440 --> 00:56:05,870 mənim məntiqi flawed. 1376 00:56:05,870 --> 00:56:09,500 I 1 bərabərdir əgər mən s1 və s2 bir dəyər təyin edir. 1377 00:56:09,500 --> 00:56:11,590 I 2 bərabər, mən də etdik. 1378 00:56:11,590 --> 00:56:13,710 Amma digər sonsuz sayda bunu deyil 1379 00:56:13,710 --> 00:56:14,690 imkanları - 1380 00:56:14,690 --> 00:56:17,940 xüsusilə, 3 və ya 4 və ya nöqtə, nöqtə, nöqtə, 99. 1381 00:56:17,940 --> 00:56:20,100 Beləliklə, bu üçün bir düzeltme yalnız edək ola bilər 1382 00:56:20,100 --> 00:56:22,190 bir başqa vəziyyət var. 1383 00:56:22,190 --> 00:56:26,780 Və mənə burada getmək və s1 bərabər deyək - 1384 00:56:26,780 --> 00:56:28,180 burada nə olmalıdır? 1385 00:56:28,180 --> 00:56:28,750 Auditoriya: [işitilemez]. 1386 00:56:28,750 --> 00:56:30,460 >> DAVID J. MALAN: Çünki ümumi halda "Butulkalar" 1387 00:56:30,460 --> 00:56:32,020 yalnız eyni şey. 1388 00:56:32,020 --> 00:56:35,580 Belə ki, quote, dırnağı bağlamaq, "şüşə". Bərabərdir Belə ki, cəm üçün 1389 00:56:35,580 --> 00:56:41,010 şüşə, və sonra, burada cəm butulkalar üçün. 1390 00:56:41,010 --> 00:56:44,580 OK, belə ki, indi mənim terminal pəncərə geri bildirin 1391 00:56:44,580 --> 00:56:47,200 yeniden derlemeyle ki, yenidən axır. 1392 00:56:47,200 --> 00:56:48,440 99. 1393 00:56:48,440 --> 00:56:49,150 Whew. 1394 00:56:49,150 --> 00:56:50,610 Və tez ağlı başında olma çek nə edək. 1395 00:56:50,610 --> 00:56:52,400 Texniki, biz əmin olmaq üçün bütün bu oxumaq istəyirəm 1396 00:56:52,400 --> 00:56:53,370 onlar doğru istəyirik, ancaq baxmaq edək 1397 00:56:53,370 --> 00:56:54,640 məşhur günahkarları ən. 1398 00:56:54,640 --> 00:56:57,370 3 şüşə, 2 şüşə, 2 şüşə, 1 1399 00:56:57,370 --> 00:57:00,380 şüşə, 1 şüşə, 0 şüşə. 1400 00:57:00,380 --> 00:57:03,080 Biz ən azı indi üçün müəyyən etmək görünür. 1401 00:57:03,080 --> 00:57:06,010 Amma burada tutmaq nə bir tanrı dəhşətli mess bu ki, 1402 00:57:06,010 --> 00:57:07,470 yalnız bir axmaq həll etmək 1403 00:57:07,470 --> 00:57:09,540 bir xarakter qrammatik ətraflı. 1404 00:57:09,540 --> 00:57:11,150 Mən bu küncü kəsilmiş bir səbəb növü var 1405 00:57:11,150 --> 00:57:14,090 əvvəllər üçün yalnız tamamilə annoying, çünki 1406 00:57:14,090 --> 00:57:15,020 bu qədər kodu yazın. 1407 00:57:15,020 --> 00:57:17,530 Amma bu qədər çox zərif yolu var ki, həyata çevirir 1408 00:57:17,530 --> 00:57:20,110 eyni şey ifadə. 1409 00:57:20,110 --> 00:57:22,040 Və biz aşağıdakı kimi edə bilərsiniz. 1410 00:57:22,040 --> 00:57:23,890 >> Mənə bir an üçün ekranda bu tərk edək və 1411 00:57:23,890 --> 00:57:27,320 bir ternary operator kimi tanınan bir şey təqdim edir. 1412 00:57:27,320 --> 00:57:29,600 Bu etmək üçün nəzərdə ki, bir-liner cür bizim 1413 00:57:29,600 --> 00:57:31,880 kimi söz bir az sexier, yaşayır. 1414 00:57:31,880 --> 00:57:33,130 Mən bu aşağıdakı kimi etmək üçün gedirəm. 1415 00:57:33,130 --> 00:57:35,810 Mənə s1 adlı simli ver və mənə bildirin 1416 00:57:35,810 --> 00:57:37,200 o aşağıdakı kimi təyin. 1417 00:57:37,200 --> 00:57:39,900 (I == 1)? 1418 00:57:39,900 --> 00:57:47,820 "Şüşə", başqa "şüşə". S2 String (i == 2) olur? 1419 00:57:47,820 --> 00:57:52,670 "Şüşə", başqa "şüşə". 1420 00:57:52,670 --> 00:57:57,050 Belə ki, burada fərq nə sonra var? 1421 00:57:57,050 --> 00:57:59,370 Kodu Bu iki xətləri, mən iddia edə 1422 00:57:59,370 --> 00:58:02,200 Bu bütün mess dəyişin. 1423 00:58:02,200 --> 00:58:04,280 Mən bu cür mənə rubs yalnız, çünki bir mess zəng 1424 00:58:04,280 --> 00:58:05,940 bu kodu çox xətləri ki, yanlış yol. 1425 00:58:05,940 --> 00:58:06,650 Yanlış deyil. 1426 00:58:06,650 --> 00:58:07,700 Bu pis dizayn deyil. 1427 00:58:07,700 --> 00:58:10,140 Kimi, bu mükəmməl düzgün və mükəmməl yaxşı. 1428 00:58:10,140 --> 00:58:12,970 Siz özünüzü ifadə etmək Lakin coding yorucu olur 1429 00:58:12,970 --> 00:58:15,530 təkrar və daha sadə xüsusi kahretsin 1430 00:58:15,530 --> 00:58:16,620 bu kimi ssenari. 1431 00:58:16,620 --> 00:58:19,470 Belə ki, C belə, bəzi qısa malikdir. 1432 00:58:19,470 --> 00:58:24,270 Belə ki, bu mahiyyətcə s1 adlı simli bəyan dedi və 1433 00:58:24,270 --> 00:58:32,610 bu dəyər və ya i == əgər bu dəyər və ya onu təyin - 1434 00:58:32,610 --> 00:58:35,290 Bağışlayın, mən daha dəqiq bu demək lazımdır. 1435 00:58:35,290 --> 00:58:41,680 , Dəyişən s1 bəyan bu doğru əgər bu dəyər tapşırılsın. 1436 00:58:41,680 --> 00:58:44,280 Əks halda, bu dəyər tapşırılsın. 1437 00:58:44,280 --> 00:58:47,220 Belə ki, başqa sözlə, bu bir-line yolu növ 1438 00:58:47,220 --> 00:58:51,490 əgər başqa deyərək amma yol boyunca bir tapşırıq edir. 1439 00:58:51,490 --> 00:58:55,540 I 1 Belə ki, sonra irəli getmək və bu "şüşə" deyirlər. Və 1440 00:58:55,540 --> 00:58:59,830 sonra başqa bu, o, "şüşə" deyirlər. Eyni zamanda, s2 ki, 1441 00:58:59,830 --> 00:59:04,060 i 2 bərabərdir əgər biz müəyyən etmək lazımdır ki, ikinci söz, biz rəftar 1442 00:59:04,060 --> 00:59:08,350 "şüşə" üçün s2 seçin. Əks halda, "şüşə" seçin. Və nə 1443 00:59:08,350 --> 00:59:11,460 bu mən, bu keçir və bütün silin İndi deməkdir 1444 00:59:11,460 --> 00:59:12,860 kodu həmin satır. 1445 00:59:12,860 --> 00:59:17,220 Mən deyəndə, bir qədər ridiculously, indi ki, 1446 00:59:17,220 --> 00:59:20,060 sexier, bu üslub mənada cür sexier var. 1447 00:59:20,060 --> 00:59:22,660 Funksional, bu kodu həqiqətən gedir ki, 1448 00:59:22,660 --> 00:59:24,610 eyni şey. 1449 00:59:24,610 --> 00:59:26,890 Və ilk sirli bir az ola bilər, baxmayaraq ki, 1450 00:59:26,890 --> 00:59:29,250 nəzər, biz əvvəl bu tikinti görmədim etdik, çünki mən had 1451 00:59:29,250 --> 00:59:31,850 bu son nəticədə çox daha çox olacaq ki, mübahisə 1452 00:59:31,850 --> 00:59:34,820 oxunaqlı və biz insanlar düzmək üçün çox asan 1453 00:59:34,820 --> 00:59:36,830 İndi yalnız oxumaq olar, çünki anlamaq 1454 00:59:36,830 --> 00:59:38,830 bir line kodu bütün. 1455 00:59:38,830 --> 00:59:41,550 Bu bu deyil, əgər hələ ruhu oxşar 1456 00:59:41,550 --> 00:59:44,920 vəziyyəti və bu əgər içərisində nə və bu 1457 00:59:44,920 --> 00:59:46,480 da başqa daxili nə edir. 1458 00:59:46,480 --> 00:59:49,450 Amma biz yalnız daha zərif bunu edə bilərsiniz. 1459 00:59:49,450 --> 00:59:52,650 >> Mən indi mənim terminal geri, bütün silinmiş olan 1460 00:59:52,650 --> 00:59:55,530 o xətləri və yalnız bu iki ilə əvəz 1461 00:59:55,530 --> 01:00:00,150 yeniden derlemeyle, 99 ilə pivə yenidən run şüşə ki, bildiriş mənim 1462 01:00:00,150 --> 01:00:03,350 qrammatika hələ, əslində doğru deyil. 1463 01:00:03,350 --> 01:00:06,160 Belə ki, yenidən başlamaq üçün bir şey. 1464 01:00:06,160 --> 01:00:08,840 Pivə 2 şüşə, pivə, 1 şüşə. 1465 01:00:08,840 --> 01:00:09,370 Sağ görünür. 1466 01:00:09,370 --> 01:00:10,100 Bəli. 1467 01:00:10,100 --> 01:00:13,900 Belə ki, orada biz daha qısa həlli var. 1468 01:00:13,900 --> 01:00:16,020 Da, bu Belə ki, C ilə daha rahat almaq kimi 1469 01:00:16,020 --> 01:00:18,630 lakin, ilk pset və ya hətta ikinci mütləq 1470 01:00:18,630 --> 01:00:21,170 yapıları bizə heç şeyə icazə edə bilirik 1471 01:00:21,170 --> 01:00:22,810 daha zərif. 1472 01:00:22,810 --> 01:00:25,200 İndi burada başqa bir şey edək. 1473 01:00:25,200 --> 01:00:31,460 Mənə davam və return1.c açmaq edək. 1474 01:00:31,460 --> 01:00:34,340 İndi bir şəkildə başqa bir problemi həll etmək üçün başlamaq edək 1475 01:00:34,340 --> 01:00:37,140 daha inkişaf etmiş kodu yazmaq imkan verir. 1476 01:00:37,140 --> 01:00:39,960 >> Belə ki, burada onların məqsədi həyatında sadə kiçik proqram 1477 01:00:39,960 --> 01:00:41,870 dəyərlər arttırmayı edir. 1478 01:00:41,870 --> 01:00:43,100 Və həqiqətən, geri addım götürək. 1479 01:00:43,100 --> 01:00:44,400 Mənə əl bunu edək. 1480 01:00:44,400 --> 01:00:52,200 Mənə əsas (void) daxildir və int edək. 1481 01:00:52,200 --> 01:00:53,450 Və mənə bu increment.c zəng edək. 1482 01:00:57,150 --> 01:00:58,570 Mən nə istəyirəm? 1483 01:00:58,570 --> 01:01:02,240 Mən irəli getmək və bir şey kimi demək gedirəm - 1484 01:01:02,240 --> 01:01:04,280 biz ədədləri eyni zəng edəcək - 1485 01:01:04,280 --> 01:01:04,980 int x. 1486 01:01:04,980 --> 01:01:13,670 Belə ki, int x 2 alır; printf x% d, yeni xətt, x. 1487 01:01:13,670 --> 01:01:16,780 Mən indi sürətli, amma tanış məhsulları sort yazaraq alıram. 1488 01:01:16,780 --> 01:01:18,830 Sonra x + + etməyə gedirəm. 1489 01:01:18,830 --> 01:01:21,710 Sonra yenə eyni cümlə çap gedirəm. 1490 01:01:21,710 --> 01:01:24,550 Və sonra mən yalnız proqram çıxmaq 0 qayıtmaq üçün gedirəm. 1491 01:01:24,550 --> 01:01:25,960 Bütün hüquqlar, bu bir proqramdır 1492 01:01:25,960 --> 01:01:26,960 əlavələr bir sıra. 1493 01:01:26,960 --> 01:01:29,830 İlk bu sonra 2 bir şey başlamaq üçün gedən, və oldu 1494 01:01:29,830 --> 01:01:33,470 bu arttırmayı və yenidən çap gedir. 1495 01:01:33,470 --> 01:01:36,930 >> Belə edək, inanılmaz sadə proqram artım axır. 1496 01:01:36,930 --> 01:01:40,940 Amma bunu, mən kub dəyəri istəyirəm ki, indi güman 1497 01:01:40,940 --> 01:01:42,490 qədər özbaşına bir şey. 1498 01:01:42,490 --> 01:01:45,140 Mən həqiqətən x onun kub əldə etmək istəyirik. 1499 01:01:45,140 --> 01:01:47,570 Mən POW funksiyası adlanır nə istifadə edə bilər, amma deyil 1500 01:01:47,570 --> 01:01:48,650 ki, hələ burada, həqiqətən, bilirəm. 1501 01:01:48,650 --> 01:01:50,580 Mən bu köhnə yol etmək üçün gedirəm. 1502 01:01:50,580 --> 01:01:54,550 x dəfə x dəfə x dəfə x bərabərdir. 1503 01:01:54,550 --> 01:01:56,880 Mən yenə özü tərəfindən vurulması, dəyəri cubing alıram 1504 01:01:56,880 --> 01:02:00,440 və təkrar ki, biz enerji almaq 1505 01:02:00,440 --> 01:02:02,050 bu halda 3. 1506 01:02:02,050 --> 01:02:06,000 Belə ki, indi çap etməli nömrələri biz görəcəksiniz kimi olmalıdır 1507 01:02:06,000 --> 01:02:08,450 burada - increment etmək, belə ki, bu, həqiqətən, həqiqətən arttırmayı deyil 1508 01:02:08,450 --> 01:02:10,260 artıq, lakin biz təkcə ad tərk edəcəyik - 1509 01:02:10,260 --> 01:02:11,590 Sonra 2 və 8. 1510 01:02:11,590 --> 01:02:17,670 İndi biz zəriflik üçün imkan əvvəlindən var 1511 01:02:17,670 --> 01:02:21,570 Burada əsasən bir sıra vurulması bu cubing şey 1512 01:02:21,570 --> 01:02:24,680 özü özlüyündə özü bu kimi hiss yalnız ola bilər 1513 01:02:24,680 --> 01:02:27,920 faydalı kimsə qərar çox kimi bir funksiyası var 1514 01:02:27,920 --> 01:02:30,430 il əvvəl - Bilirsiniz, mehriban əgər faydalı bizi biri aşağı oturur 1515 01:02:30,430 --> 01:02:33,120 və printf belə dünyanın qalan istifadə edə bilərsiniz ki, yazır 1516 01:02:33,120 --> 01:02:36,160 niyə biz oturub kub adlı funksiyası yazmaq deyil 1517 01:02:36,160 --> 01:02:39,250 Bizim üçün bu cubing edir ki, biz əl yoxdur ki, 1518 01:02:39,250 --> 01:02:41,500 burada dəyərlər cubing anlayışı həyata? 1519 01:02:41,500 --> 01:02:44,040 >> Sadə misal Beləliklə, amma nin irəli getmək və istifadə qoy bu kimi 1520 01:02:44,040 --> 01:02:46,280 öz funksiyasını yazmaq imkanı. 1521 01:02:46,280 --> 01:02:49,110 Belə ki, bu günə qədər, yalnız əsas istifadə etdiyiniz, biz digər istifadə etdiyiniz 1522 01:02:49,110 --> 01:02:51,780 xalq funksiyaları, amma biz öz yazılı deyil. 1523 01:02:51,780 --> 01:02:52,650 Belə ki, burada biz gedin. 1524 01:02:52,650 --> 01:02:56,330 Mən irəli getmək və kub adlı funksiyası yazmaq üçün gedirəm. 1525 01:02:56,330 --> 01:02:58,490 Mən bu giriş etmək üçün gedirəm. 1526 01:02:58,490 --> 01:03:02,070 Belə ki, giriş bir tamsayı olacaq. 1527 01:03:02,070 --> 01:03:03,570 Və nə bunu edir? 1528 01:03:03,570 --> 01:03:08,500 Bu int çıxış bəyan olacaq = giriş dəfə daxil 1529 01:03:08,500 --> 01:03:09,880 dəfə daxil etmə. 1530 01:03:09,880 --> 01:03:12,190 Və sonra bu məhsulun geri olacaq. 1531 01:03:12,190 --> 01:03:14,500 Və sonra mən artıq konkret olmalıdır. 1532 01:03:14,500 --> 01:03:16,820 Bu funksiya bir int geri gedir. 1533 01:03:16,820 --> 01:03:19,130 Belə ki, burada sonra öz funksiyalarını yazmaq istədiyiniz necə. 1534 01:03:19,130 --> 01:03:20,850 Siz ilk olaraq adı nə qərar 1535 01:03:20,850 --> 01:03:21,720 funksiyası olacaq. 1536 01:03:21,720 --> 01:03:23,964 Və ümumiyyətlə, izahlı bir şey yaxşıdır, mən rəftar 1537 01:03:23,964 --> 01:03:25,060 bu kub çağırırıq. 1538 01:03:25,060 --> 01:03:27,180 Sonra geri olacaq nə müəyyən etmək üçün var, nə 1539 01:03:27,180 --> 01:03:28,240 onun çıxışı olacaq. 1540 01:03:28,240 --> 01:03:29,595 Biz hələ ki, bir çox variantları yoxdur. 1541 01:03:29,595 --> 01:03:32,260 Int, char, float, bool, simli. 1542 01:03:32,260 --> 01:03:34,260 Mən bunu istəyirəm, çünki indi, mən, bir int ilə stick gedirəm 1543 01:03:34,260 --> 01:03:35,880 bir tam qayıtmaq üçün. 1544 01:03:35,880 --> 01:03:38,770 Sonra onun giriş, əgər nə müəyyən etmək lazımdır. 1545 01:03:38,770 --> 01:03:41,570 Və kub mübahisə edir, əgər arasında bir şey edir 1546 01:03:41,570 --> 01:03:44,970 parantez, bu arqument bir ad vermək lazımdır ki, 1547 01:03:44,970 --> 01:03:47,860 siz həyata və ya yazılı etdiyiniz kimi siz bir şey zəng edə bilərsiniz 1548 01:03:47,860 --> 01:03:50,550 bu funksiya, siz bir növ, vermək olan bu 1549 01:03:50,550 --> 01:03:51,810 halda int olacaq. 1550 01:03:51,810 --> 01:03:54,690 Belə ki, qısa, kub bir tamsayı edir ki, funksiyası 1551 01:03:54,690 --> 01:03:57,560 giriş və çıxış qaytarır kimi bir tam kimi. 1552 01:03:57,560 --> 01:03:59,240 >> Belə ki, daxil olan nə edir? 1553 01:03:59,240 --> 01:04:03,710 Yaxşı, line 14, mən bir dəyişən adlı çıxış bəyan və mən 1554 01:04:03,710 --> 01:04:07,410 bu dəyər, giriş dəfə giriş dəfə daxil tapşırılsın. 1555 01:04:07,410 --> 01:04:11,490 Və sonra mən çıxış qaytarır. 1556 01:04:11,490 --> 01:04:14,890 Belə ki, necə bu istifadə edirsiniz? 1557 01:04:14,890 --> 01:04:19,210 Mən xətt bu qeyd simvol nə dəyişə bilərəm 1558 01:04:19,210 --> 01:04:21,006 7, sizcə olunacaq? 1559 01:04:21,006 --> 01:04:21,800 Auditoriya: [işitilemez]. 1560 01:04:21,800 --> 01:04:25,570 DAVID J. MALAN: Bəli, x belə kub. 1561 01:04:25,570 --> 01:04:28,290 Belə x bəzi dəyəri keçirir deməkdir ki, dəyişən edir. 1562 01:04:28,290 --> 01:04:30,190 Xoşbəxtlikdən, bu tipli tam var. 1563 01:04:30,190 --> 01:04:34,280 X bir int edir, çünki, mən kub onu keçə bilər. 1564 01:04:34,280 --> 01:04:39,500 Mən dəyəri x dəyəri əsas alıram baxmayaraq 1565 01:04:39,500 --> 01:04:42,780 kub x, kimi, bu günə qədər heç vaxt belə olmuşdur 1566 01:04:42,780 --> 01:04:46,150 bərabər işarəsi və kodu bir line, sagdaki heyəti var 1567 01:04:46,150 --> 01:04:49,090 icra olur və sonra təyin edilir 1568 01:04:49,090 --> 01:04:50,150 sol dəyəri. 1569 01:04:50,150 --> 01:04:52,950 Belə əməliyyatlar üçün biz ümid kimi deyil. 1570 01:04:52,950 --> 01:04:56,620 Belə işləyir? 1571 01:04:56,620 --> 01:04:58,410 Yaxşı, məni burada gedək. 1572 01:04:58,410 --> 01:04:59,970 Mənim terminal pəncərə açmaq edək. 1573 01:04:59,970 --> 01:05:03,610 Mənə daxil edin artım edə bilərəm edək. 1574 01:05:03,610 --> 01:05:07,140 Funksiyası "kub" və "Örtük bəyannaməsində yanlışdır 1575 01:05:07,140 --> 01:05:13,700 Olduğu kimi C99 ". Bir kənara kimi, C99 dil C istinad 1576 01:05:13,700 --> 01:05:16,790 1999-cu ildə müəyyən olan versiyası üzərində yeniləmə idi 1577 01:05:16,790 --> 01:05:19,360 Orijinal üzərində yeniləmə olan 1989. 1578 01:05:19,360 --> 01:05:21,740 Belə ki, bütün o deməkdir ki, var. 1579 01:05:21,740 --> 01:05:24,250 >> Belə ki, "gizli bəyannamə nə deməkdir 1580 01:05:24,250 --> 01:05:26,790 funksiyası "kub" yanlışdır? "Bu sağ burada. 1581 01:05:26,790 --> 01:05:28,430 Bu xətt 12 doğru var. 1582 01:05:28,430 --> 01:05:30,460 Auditoriya: [işitilemez]. 1583 01:05:30,460 --> 01:05:30,730 DAVID J. MALAN: Nə olub? 1584 01:05:30,730 --> 01:05:32,470 Auditoriya: Bu əvvəl deyil. 1585 01:05:32,470 --> 01:05:33,540 DAVID J. MALAN: Bu əvvəl deyil. 1586 01:05:33,540 --> 01:05:34,740 Belə ki, bu şey. 1587 01:05:34,740 --> 01:05:38,190 C cür axmaq edir, və ya C derleyiciler axmaq növü var. 1588 01:05:38,190 --> 01:05:41,060 Onlar, həqiqətən, yalnız onlara nə demək nə. 1589 01:05:41,060 --> 01:05:44,770 Və onlar, xüsusilə, yalnız, alt üçün üst kodu oxumaq 1590 01:05:44,770 --> 01:05:45,620 sağ. 1591 01:05:45,620 --> 01:05:49,140 Derleyiciyi, cingilti, kodu oxumaq əgər, line 1, bu, 1592 01:05:49,140 --> 01:05:50,120 Bunu necə tutulur. 1593 01:05:50,120 --> 01:05:50,940 Oh, burada əsas gəlir. 1594 01:05:50,940 --> 01:05:53,000 Okay, mənə irəli getmək və bir dəyişən x bəyan edək. 1595 01:05:53,000 --> 01:05:54,160 Mənə bir şey çap edək. 1596 01:05:54,160 --> 01:05:55,890 Line 7, heck kub nədir? 1597 01:05:55,890 --> 01:05:58,230 Bu stdio.h elan deyil. 1598 01:05:58,230 --> 01:06:00,950 Mən nə heç bir fikrim yoxdur C. ilə gəlmək deyil. 1599 01:06:00,950 --> 01:06:03,960 Və cingilti yalnız bails və səhv mesajı ilə başabaş. 1600 01:06:03,960 --> 01:06:05,850 Belə ki, yolları bir neçə bu düzeltebilirsiniz. 1601 01:06:05,850 --> 01:06:10,530 Biz kub yalnız burada hərəkət nə cingilti öğretebilir 1602 01:06:10,530 --> 01:06:11,820 bəyannamə edir. 1603 01:06:11,820 --> 01:06:14,640 Mən kəsilmiş və əsas üstün o yapışdırılır. 1604 01:06:14,640 --> 01:06:17,770 İndi əsas ilk artıq olduğuna görə, bu ki, həyata 1605 01:06:17,770 --> 01:06:19,150 hələ default həyata. 1606 01:06:19,150 --> 01:06:20,060 Əsas əsas deyil. 1607 01:06:20,060 --> 01:06:21,022 Bu default funksiyası adı var. 1608 01:06:21,022 --> 01:06:22,930 Bir fayl olduğu əhəmiyyətli deyil. 1609 01:06:22,930 --> 01:06:26,910 Mən onu istifadə etməzdən əvvəl Amma ən azı indi cingilti kub gördü. 1610 01:06:26,910 --> 01:06:28,500 Belə ki, cingilti indi xoşbəxt olduqda nin görək. 1611 01:06:28,500 --> 01:06:31,410 Artım olsun, bu dəfə tərtib etməyib. 1612 01:06:31,410 --> 01:06:33,060 >> Mənə artım run edək. 1613 01:06:33,060 --> 01:06:34,810 Və həqiqətən, bu iş görünür. 1614 01:06:34,810 --> 01:06:36,810 İndi nəhayət yerləşir ssenariləri ilə gəlmək olar 1615 01:06:36,810 --> 01:06:38,650 hər funksiyası qoymaq mümkün deyil 1616 01:06:38,650 --> 01:06:39,740 hər funksiyası yuxarıda. 1617 01:06:39,740 --> 01:06:42,140 Siz, əslində bu sonsuz döngü takılıyorum olacaq 1618 01:06:42,140 --> 01:06:43,480 Bu adam burada ancaq bu olmaq istəyir yerləşir 1619 01:06:43,480 --> 01:06:44,390 oğlan var olmaq lazımdır. 1620 01:06:44,390 --> 01:06:45,830 Belə ki, həmişə işləmir. 1621 01:06:45,830 --> 01:06:49,020 Belə ki, təşəkkürlə, C, daha zərif həll var. 1622 01:06:49,020 --> 01:06:50,790 Bu idi Mən bu geri qoymaq gedirəm, çünki mən 1623 01:06:50,790 --> 01:06:53,390 prinsip məsələsi kimi, üstünlük əsas həmişə 1624 01:06:53,390 --> 01:06:55,550 başında, çünki görmək yalnız gözəl nə bu proqram 1625 01:06:55,550 --> 01:06:56,920 default yapar. 1626 01:06:56,920 --> 01:06:58,950 Və nə mən burada nə gedirəm deyirlər nə bəyan edir 1627 01:06:58,950 --> 01:07:00,250 bir prototip. 1628 01:07:00,250 --> 01:07:05,730 Mən sözün mənim kub funksiyası yenidən bəyan gedirəm 1629 01:07:05,730 --> 01:07:07,180 çıxarmaq ve yapıştırma. 1630 01:07:07,180 --> 01:07:08,290 Əslində, bu sözün deyil. 1631 01:07:08,290 --> 01:07:13,060 Belə ki, sözün line 15 çıxarmaq ve yapıştırma 1632 01:07:13,060 --> 01:07:15,160 up line 6 yuxarıda. 1633 01:07:15,160 --> 01:07:17,010 Bu qədər başa nə line etməz. 1634 01:07:17,010 --> 01:07:18,380 Bu line 4-də olur. 1635 01:07:18,380 --> 01:07:19,950 Amma əvvəl əsas olmaq yoxdur. 1636 01:07:19,950 --> 01:07:21,150 Amma fərq görürük. 1637 01:07:21,150 --> 01:07:24,100 Bir nöqtəli vergül ilə Line 4 bitir olan, hey deməkdir 1638 01:07:24,100 --> 01:07:27,510 Cingilti, funksiyanı var ki, mənim söz almaq 1639 01:07:27,510 --> 01:07:31,350 bir int edir və bir int qaytarır ki kub çağırıb. 1640 01:07:31,350 --> 01:07:33,020 Amma bu hələ nə demək mý deyiləm. 1641 01:07:33,020 --> 01:07:35,180 Sadəcə mən nəhayət sizə söz verirəm ki, bilirik. 1642 01:07:35,180 --> 01:07:38,490 And olsun ki, indi bu aşağı edir ki, OK. 1643 01:07:38,490 --> 01:07:41,275 >> Beləliklə, bu üst çünki onda, ümumiyyətlə, daha yaxşı 1644 01:07:41,275 --> 01:07:44,240 fayl, yalnız, sürətli yanğın, bir xətt birnəfəsə danışmaq olar 1645 01:07:44,240 --> 01:07:46,470 hər, sizin funksiyaları adları nə, nə onların 1646 01:07:46,470 --> 01:07:49,120 giriş onların nəticələri nə var. 1647 01:07:49,120 --> 01:07:52,210 Və daha aydın olması üçün, giriş ümumiyyətlə dəlil deməkdir və ya 1648 01:07:52,210 --> 01:07:54,110 parametri, sinonimidir. 1649 01:07:54,110 --> 01:07:56,890 Çıxış o nə, qayıdış dəyər deməkdir 1650 01:07:56,890 --> 01:07:58,700 geri mənə əl. 1651 01:07:58,700 --> 01:08:03,420 Belə ki, burada bu halda, kub üst elan lakin 1652 01:08:03,420 --> 01:08:06,940 həyata kimi müəyyən başqa altına bilinir. 1653 01:08:06,940 --> 01:08:09,620 Belə ki, indi-nin burada geri getmək və bu yenidən run bildirin. 1654 01:08:09,620 --> 01:08:13,430 Belə ki, indi yenidən run artırılması, mənə davam etmək və yenidən run bildirin. 1655 01:08:13,430 --> 01:08:16,500 Və indi yalnız gözəl iş görünür. 1656 01:08:16,500 --> 01:08:19,450 Belə ki, indi biz kimi bir şey davam və amil bilər 1657 01:08:19,450 --> 01:08:23,720 bu dördüncü versiyası pivə nümunəsidir. 1658 01:08:23,720 --> 01:08:25,590 Mənə burada aşağı diyirləyin bildirin. 1659 01:08:25,590 --> 01:08:28,149 Mən cür yalnız indi ürək bu dərs vermiş bilərsiniz. 1660 01:08:28,149 --> 01:08:31,140 Mən yenə eyni bənd ifa edilmişdir ki, 1661 01:08:31,140 --> 01:08:34,130 təkrar, mahnı eyni xor xətti, hiss 1662 01:08:34,130 --> 01:08:36,439 niyə bir funksiyası daxil amil ki, yox kimi? 1663 01:08:36,439 --> 01:08:38,470 Və həqiqətən, bu motivasiya biri olmalıdır. 1664 01:08:38,470 --> 01:08:40,960 Dünyanın başqa kimsə edə bilərsiniz ki, başqa 1665 01:08:40,960 --> 01:08:42,390 bir kub funksiyasından istifadə etmək - 1666 01:08:42,390 --> 01:08:44,560 ki, bir şey amil və yazmaq üçün yaxşı bir səbəb var 1667 01:08:44,560 --> 01:08:45,720 öz xüsusi funksiyası - 1668 01:08:45,720 --> 01:08:48,720 kodu bir yığın yalnız edir ki, proqram varsa 1669 01:08:48,720 --> 01:08:51,370 ne cür bir vermək istəyirəm ki, konseptual mənada 1670 01:08:51,370 --> 01:08:53,740 adı - bu halda, xor kimi - 1671 01:08:53,740 --> 01:08:57,380 sonra eyni bir ayrı funksiyası kimi yaza bilərsiniz. 1672 01:08:57,380 --> 01:08:59,560 Siz əsas hər şeyi yazmaq üçün yoxdur, yalnız əgər 1673 01:08:59,560 --> 01:09:02,609 onu ayrı-ayrı və bir ad vermək təmiz hiss edir. 1674 01:09:02,609 --> 01:09:05,529 >> Belə ki, burada bu halda, mən üstün bir şərh olduğunu fark 1675 01:09:05,529 --> 01:09:06,859 yalnız haqqında oxuyur ki, bu funksiya 1676 01:09:06,859 --> 01:09:08,630 şüşə müəyyən nömrələri. 1677 01:09:08,630 --> 01:09:10,609 Mən bu zəng etmək lazım deyil ki, burada edək 1678 01:09:10,609 --> 01:09:12,520 şeyi giriş və çıxış. 1679 01:09:12,520 --> 01:09:16,090 Əslində, bu dəfə yalnız şüşə üçün giriş b çağırıb. 1680 01:09:16,090 --> 01:09:19,960 Burada qeyd, etibarsız nə təklif? 1681 01:09:19,960 --> 01:09:21,309 Yəni xor - 1682 01:09:21,309 --> 01:09:22,660 Auditoriya: geri deyil. 1683 01:09:22,660 --> 01:09:23,870 DAVID J. MALAN: bir dəyər qayıtmaq yoxdur. 1684 01:09:23,870 --> 01:09:26,800 Və həqiqətən, funksiyaları dəyərlər qayıtmaq yoxdur. 1685 01:09:26,800 --> 01:09:28,060 Onlar bir şey yalnız bilər. 1686 01:09:28,060 --> 01:09:30,270 Onlar yan təsirləri adlanır nə ola bilər ki, bu 1687 01:09:30,270 --> 01:09:33,109 halda yalnız ekranda çap bütöv bir dəstə edir. 1688 01:09:33,109 --> 01:09:36,580 Belə ki, burada bu kodu, mən sanki təkcə stole ki, görürsünüz 1689 01:09:36,580 --> 01:09:37,680 əvvəlki nümunəsi. 1690 01:09:37,680 --> 01:09:39,930 Yeganə fərq əvəzinə mənim kimi i istifadə edir 1691 01:09:39,930 --> 01:09:42,890 dəyişən, indi mənim dəyişən kimi b kullanıyorum. 1692 01:09:42,890 --> 01:09:45,880 Mən aşağı burada b var, aşağı burada b var, b var 1693 01:09:45,880 --> 01:09:47,109 burada 1 minus. 1694 01:09:47,109 --> 01:09:49,279 Amma kodu tam eyni deyil. 1695 01:09:49,279 --> 01:09:52,529 Lakin biz bu istifadə edə bilərsiniz necə artıq sizə göstərmək, mənə gedək 1696 01:09:52,529 --> 01:09:56,780 qabaqda və faktiki loop üçün üçün bu dəyişir. 1697 01:09:56,780 --> 01:10:03,850 (i; i> n int i = n -) üçün. 1698 01:10:03,850 --> 01:10:06,230 >> Mən ki, bizim əvvəlki Məsələn oğurlanmış etdik. 1699 01:10:06,230 --> 01:10:08,970 Əvvəllər mən başlamışdır ki, xətt 37 var 1700 01:10:08,970 --> 01:10:10,640 Bu annoying mahnı oxuyan. 1701 01:10:10,640 --> 01:10:15,810 Ancaq əvəzinə, yalnız indi i xor zəng etmək üçün gedirəm. 1702 01:10:15,810 --> 01:10:16,870 Done. 1703 01:10:16,870 --> 01:10:20,260 Belə ki, indi bu loop hər iteration, mən bu digər zəng 1704 01:10:20,260 --> 01:10:22,220 mən yazmaq baş funksiyası, xor. 1705 01:10:22,220 --> 01:10:24,110 Bu il əvvəl başqası tərəfindən yazılı deyil. 1706 01:10:24,110 --> 01:10:27,930 Lakin xor, eyni zamanda, çap printf istifadə 1707 01:10:27,930 --> 01:10:29,840 bu dörd xətləri həyata. 1708 01:10:29,840 --> 01:10:32,720 Amma bir daha və yenidən xor zəng edirəm ki, 1709 01:10:32,720 --> 01:10:35,900 loop Mən, çox sonunda almaq üçün gidiyorum o deməkdir ki, 1710 01:10:35,900 --> 01:10:39,310 Mən bu günə qədər olduğu kimi dəqiq eyni mahnı. 1711 01:10:39,310 --> 01:10:42,130 Belə ki, qısa, indi mənim kodu geri baxmaq əgər, baxmayaraq 1712 01:10:42,130 --> 01:10:44,240 funksional bu bərabərdir, bu fark 1713 01:10:44,240 --> 01:10:46,020 daha oxunaqlı almaq üçün başlayır. 1714 01:10:46,020 --> 01:10:48,410 Mən dəqiq bilmirəm necə GetInt 1715 01:10:48,410 --> 01:10:49,250 həyata keçirilir. 1716 01:10:49,250 --> 01:10:52,050 Açığı, mən xor həyata necə bilmirəm. 1717 01:10:52,050 --> 01:10:52,970 Amma mənə məsələ deyil. 1718 01:10:52,970 --> 01:10:55,620 Indi mən çeşidləyə bilərsiniz, çünki mən oxumaq, bir insan kimi, vecimə deyil 1719 01:10:55,620 --> 01:10:57,050 Bu top-dən aşağı. 1720 01:10:57,050 --> 01:10:59,950 Və funksiyaları nə görə adına çünki 1721 01:10:59,950 --> 01:11:02,910 nə, mənim kodu getdikcə oxunaqlı edir. 1722 01:11:02,910 --> 01:11:05,190 Və proqramlar daha mürəkkəb almaq kimi - 1723 01:11:05,190 --> 01:11:07,220 dövr sonuna, siz xətləri yüzlərlə yazılı olacaq 1724 01:11:07,220 --> 01:11:10,970 PHP və JavaScript və kimi kimi dillərdə kodu - 1725 01:11:10,970 --> 01:11:13,550 siz onu izlemek üçün çox daha asan olduğunu görəcəksiniz 1726 01:11:13,550 --> 01:11:14,080 siz etdiyiniz nə. 1727 01:11:14,080 --> 01:11:15,810 Və start zaman dostları ilə əməkdaşlıq və ya 1728 01:11:15,810 --> 01:11:19,010 tərəfdaşlar və ya həmkarları, daha çox yazmaq edə bilərsiniz 1729 01:11:19,010 --> 01:11:22,910 bu əsas həyata başlayaraq kütləvi proqramları 1730 01:11:22,910 --> 01:11:23,990 bloklar. 1731 01:11:23,990 --> 01:11:25,550 >> Bildirib ki, ilə Belə ki, niyə biz bir gün zəng deyil? 1732 01:11:25,550 --> 01:11:27,190 Və biz Çərşənbə günü görəcəksiniz. 1733 01:11:27,190 --> 01:11:33,611 [Alqış]