1 00:00:07,420 --> 00:00:08,160 [Powered by Google Translate] DAVID J. MALAN: Bütün hüququ. 2 00:00:08,160 --> 00:00:11,170 Bu CS50, bu həftə iki sonu. 3 00:00:11,170 --> 00:00:14,650 Bu vaxt sabah ətrafında ac olmaq üçün gözləmək, biz olacaq bilirik ki, 4 00:00:14,650 --> 00:00:18,920 kiçik bir qrup sabah, cümə axşamı, 1:15 PM kimi çağırmaq. 5 00:00:18,920 --> 00:00:21,460 Siz RSVP istəyirsinizsə bu URL burada var. 6 00:00:21,460 --> 00:00:25,270 Space məhdud, belə ki, forma zaman doldurdu əgər bağışla edin 7 00:00:25,270 --> 00:00:26,680 bu doldurun. 8 00:00:26,680 --> 00:00:29,400 Maraq ola bilər ki, baxmayaraq başqa bir URL budur. 9 00:00:29,400 --> 00:00:32,409 >> Belə ki, yalnız bir ay haqqında, kurs mövcud olacaq 10 00:00:32,409 --> 00:00:36,090 bütün daha geniş edX vasitəsilə İnternet insanlar olacaq vasitəsilə 11 00:00:36,090 --> 00:00:39,580 əslində, çox fəal zamanı məşğul birlikdə təqib edə. 12 00:00:39,580 --> 00:00:43,070 Onlar CS50 Aracı və CS50 müzakirə və ən istifadə olacaq 13 00:00:43,070 --> 00:00:45,840 biz artıq bu dövr istifadə edilmişdir ki, müxtəlif proqram alətlər. 14 00:00:45,840 --> 00:00:49,030 Və biz bu il bir təcrübə kimi etmək istədiyiniz təşəbbüslərin bir 15 00:00:49,030 --> 00:00:53,120 biz digər danışıq dilinə tərcümə edə bilər və yalnız nə qədər content görmək olur 16 00:00:53,120 --> 00:00:54,110 yazılı dil. 17 00:00:54,110 --> 00:00:58,000 Bu layihədə iştirak maraq, elə ola bilər Belə ki, əgər 18 00:00:58,000 --> 00:01:02,090 biz əlbəttə nin İngilis transkriptleri və Altyazı təmin edəcək 19 00:01:02,090 --> 00:01:05,190 mühazirə və şort və seminarlar və bölmə və kimi - 20 00:01:05,190 --> 00:01:08,700 siz sərbəst danışmaq və ya sərbəst bir başqa dildə yazmaq, biz ki, 21 00:01:08,700 --> 00:01:12,240 Bu layihə sizə cəlb sevgi, elə siz bir və ya daha çox almaq 22 00:01:12,240 --> 00:01:15,340 videos, siz çox yaxşı bildiyiniz bir dil onları tərcümə. 23 00:01:15,340 --> 00:01:19,050 Siz interface hissi vermək üçün, bu web-based istifadəçi interfeysi var 24 00:01:19,050 --> 00:01:22,330 biz əsasən bu kimi bir UI yaradacaq istifadə lazımdır ki,. 25 00:01:22,330 --> 00:01:24,520 Bu mənə bir Halloween əvvəl tədris edilmişdir. 26 00:01:24,520 --> 00:01:27,710 Və bu zaman ştamplara yanında qara orada sağ, 27 00:01:27,710 --> 00:01:31,300 Əgər gün mənim ağız həyata gələn müxtəlif şeyi görəcəksiniz. 28 00:01:31,300 --> 00:01:34,660 Və sonra aşağıda, bəzi digər dilinə tərcümə edə bilərsiniz. 29 00:01:34,660 --> 00:01:37,840 Harita bu halda, İngilis arasında dəqiq nə 30 00:01:37,840 --> 00:01:38,660 və, İspan deyirlər. 31 00:01:38,660 --> 00:01:40,480 Belə ki, əslində bir çox istifadəçi dostu aracıdır. 32 00:01:40,480 --> 00:01:43,690 Siz klaviatura qısa yolları ilə çox asanlıqla sürətli irəli geri bilər. 33 00:01:43,690 --> 00:01:46,710 Bu təcrübə iştirak etmək istəyirəm və söz var ki, əgər 34 00:01:46,710 --> 00:01:50,730 görüldü və orada insanlar potensial minlərlə oxumaq, hiss edin 35 00:01:50,730 --> 00:01:51,960 iştirak etmək üçün pulsuz. 36 00:01:51,960 --> 00:01:56,940 >> İndi biz bir çox bazar ertəsi olan kitten haqqında bir söz, göndərdik deyə 37 00:01:56,940 --> 00:01:58,120 scary göndər. 38 00:01:58,120 --> 00:02:02,130 Bölmələr gəlir kimi ofis saat gəlir və kimi, dərk edin 39 00:02:02,130 --> 00:02:05,110 Kursun dizayn çox tələbələr əməkdaşlıq üçün çox və 40 00:02:05,110 --> 00:02:09,250 birlikdə problem dəstləri və problemləri iş danışır. 41 00:02:09,250 --> 00:02:13,630 Və həqiqətən xətti yalnız iş siz nəticədə yenə aşağı gəlir 42 00:02:13,630 --> 00:02:16,420 təqdim etməlidir öz olmalıdır. 43 00:02:16,420 --> 00:02:19,080 Və kifayət qədər vicdanla, var - ofis saat, bu tamamilə normal var - 44 00:02:19,080 --> 00:02:21,560 Bəzi söhbət etmək - bu, tamamilə, hətta gözlənilən oldu 45 00:02:21,560 --> 00:02:22,370 Sizə gələn dostlar. 46 00:02:22,370 --> 00:02:25,240 O bir mövzu ilə mübarizə və sizin kimi danışırsınızsa, oh, yaxşı imkan 47 00:02:25,240 --> 00:02:27,750 Mənə mən yazdığı kodu bəzi xəttinin bir fikir verir. 48 00:02:27,750 --> 00:02:28,290 Bu gözəl deyil. 49 00:02:28,290 --> 00:02:28,700 Bu olur. 50 00:02:28,700 --> 00:02:31,580 Və öyrənmə prosesi ilə, mən hesab edirəm ki, çox əlverişli edir. 51 00:02:31,580 --> 00:02:35,270 Baş növ üzərində əyilmiş zaman xətt, təkrar keçdiyi olur Harada 52 00:02:35,270 --> 00:02:38,800 burada ki, çox çox saniyə və ya dəqiqə həqiqətən var 53 00:02:38,800 --> 00:02:41,250 dostunuz üçün bir Açma imkan olmuşdur. 54 00:02:41,250 --> 00:02:43,870 Və əlbəttə, hər şeyi e-poçt və Dropbox vasitəsilə mübadiləsi almaq zaman 55 00:02:43,870 --> 00:02:45,350 kimi, çox xətt var. 56 00:02:45,350 --> 00:02:48,940 Belə ki, bütün vasitələrlə, rahat və dostları ilə söhbət təşviq hiss 57 00:02:48,940 --> 00:02:51,270 və psets və daha çox haqqında sinif yoldaşları. 58 00:02:51,270 --> 00:02:54,680 Və yalnız nə sonda təqdim həqiqətən olmalıdır bilirik ki, 59 00:02:54,680 --> 00:02:57,780 Sizin yaradılışınızda və başqası məhsul. 60 00:02:57,780 --> 00:03:01,010 >> Belə ki, cuddly canlılar eyni damar, siz bilər 61 00:03:01,010 --> 00:03:02,820 Bu adam burada bilirik. 62 00:03:02,820 --> 00:03:06,180 Belə ki, bu il bir horrifically cheesy film. 63 00:03:06,180 --> 00:03:08,680 Hər kəs burada Spaceballs görüldü? 64 00:03:08,680 --> 00:03:09,120 Bütün hüquqlar. 65 00:03:09,120 --> 00:03:10,220 Burada yaxşı bir sıra edir. 66 00:03:10,220 --> 00:03:13,840 Belə ki, bu son nəticədə bu gün tətbiq bizim gözəl akademik yolu 67 00:03:13,840 --> 00:03:15,130 Kriptoqrafiya anlayışı. 68 00:03:15,130 --> 00:03:19,010 Gələcək olan pset 2, üçün etki alanı xüsusi problemləri və belə bir 69 00:03:19,010 --> 00:03:22,770 gec sabah gecə, Kriptoqrafiya dünyaya dalış edən edir 70 00:03:22,770 --> 00:03:26,380 informasiya şifreleyerek və ya Scrambling sənətidir. 71 00:03:26,380 --> 00:03:30,160 Bu nəticədə təhlükəsizlik dünyasına aiddir. 72 00:03:30,160 --> 00:03:34,440 >> İndi təhlükəsizlik ən üçün bizə kifayət qədər dünyəvi mexanizmlərinin formasında gəlir. 73 00:03:34,440 --> 00:03:36,920 Bizim bütün istifadəçi adı və parol var. 74 00:03:36,920 --> 00:03:41,350 Və hamımız çox güman ki, çox pis adı və parol var. 75 00:03:41,350 --> 00:03:45,250 Parolu çox saytlarda eyni deyil ki, yəqin deyil 76 00:03:45,250 --> 00:03:47,920 ən yaxşı ideya, biz semestr sonuna doğru müzakirə edəcəyik kimi. 77 00:03:47,920 --> 00:03:51,680 Sizin haqqında - heç bir zarafat - Parolu yapışqan qeyd yazılı Əgər 78 00:03:51,680 --> 00:03:55,130 çox mütləq ən yaxşı dizayn lakin çox ümumi deyil ki, monitor, 79 00:03:55,130 --> 00:03:56,140 fenomen. 80 00:03:56,140 --> 00:04:00,420 Siz parol şifrelemek üçün Kriptoqrafiya istifadə edirsinizsə və onlar 81 00:04:00,420 --> 00:04:01,610 xüsusilə həssas. 82 00:04:01,610 --> 00:04:04,670 Siz gizli sözü malik ağıllı super olan olduğunuz hesab əgər 83 00:04:04,670 --> 00:04:07,740 sabit parol bütün var ki, sürücü lakin haradasa sənədləşdirilməsi 84 00:04:07,740 --> 00:04:10,550 heç bir baxmaq olacaq ki, bir qovluq var ki, çox çox deyil 85 00:04:10,550 --> 00:04:11,540 təhlükəsiz mexanizmi. 86 00:04:11,540 --> 00:04:15,100 Və nə pset 2 təqdim edəcək Kriptoqrafiya bu incəsənət və 87 00:04:15,100 --> 00:04:18,300 parol kimi şeylər ki, məlumat Scrambling 88 00:04:18,300 --> 00:04:19,500 bütün daha təhlükəsiz. 89 00:04:19,500 --> 00:04:24,500 Belə ki, bir çox qeyri-real-dünya bu çox real dünya problem həvəsləndirmək 90 00:04:24,500 --> 00:04:28,740 ssenari, mənə bu burada bizim sevimli kliplər biri ilə tanış edək 91 00:04:28,740 --> 00:04:29,895 film, Spaceballs. 92 00:04:29,895 --> 00:04:30,565 >> [Video playback] 93 00:04:30,565 --> 00:04:32,995 -Kask, siz şeytan, nə olub? 94 00:04:32,995 --> 00:04:34,730 Əgər qızım nə edirlər? 95 00:04:34,730 --> 00:04:38,960 Mənə parlaq gənc plastik cərrah, Dr Philip təqdim etmək üçün icazə 96 00:04:38,960 --> 00:04:43,290 Bütün ildə Schlotkin ən böyük burun iş adamı 97 00:04:43,290 --> 00:04:45,526 Kainat və Beverly Hills. 98 00:04:45,526 --> 00:04:46,450 -Sizin əlihəzrət. 99 00:04:46,450 --> 00:04:47,380 -Burun iş? 100 00:04:47,380 --> 00:04:48,035 Mən başa düşmürəm. 101 00:04:48,035 --> 00:04:49,480 O, artıq bir burun iş idi oldu. 102 00:04:49,480 --> 00:04:51,490 Bu şirin 16 olub. 103 00:04:51,490 --> 00:04:53,090 -Xeyr, siz nə deyil. 104 00:04:53,090 --> 00:04:55,150 Bu, çox çox pis. 105 00:04:55,150 --> 00:04:59,860 Siz hava qalxan məni birləşməsi vermir varsa, Dr Schlotkin olacaq 106 00:04:59,860 --> 00:05:04,135 onun köhnə burun qızı geri verir. 107 00:05:04,135 --> 00:05:05,385 -Xeyr! 108 00:05:08,202 --> 00:05:10,186 Harada ki, əldə etdiniz? 109 00:05:10,186 --> 00:05:11,178 -Bütün hüququ. 110 00:05:11,178 --> 00:05:11,674 Mən deyim. 111 00:05:11,674 --> 00:05:12,666 Mən deyim. 112 00:05:12,666 --> 00:05:14,154 -Xeyr, baba, no. 113 00:05:14,154 --> 00:05:15,150 Siz olmalıdır. 114 00:05:15,150 --> 00:05:16,460 -You're sağ, əziz. 115 00:05:16,460 --> 00:05:18,450 Mən sizin yeni burun kaçırırsınız. 116 00:05:18,450 --> 00:05:21,550 Amma nə olursa olsun onlara birləşməsi demək deyil. 117 00:05:21,550 --> 00:05:23,100 -Çox yaxşı. 118 00:05:23,100 --> 00:05:25,510 Dr Schlotkin, sizin ən pis edin. 119 00:05:25,510 --> 00:05:26,760 -Mənim zövq. 120 00:05:30,560 --> 00:05:31,180 -Xeyr! 121 00:05:31,180 --> 00:05:33,450 Gözləyin, gözləyin. 122 00:05:33,450 --> 00:05:34,770 Mən deyim. 123 00:05:34,770 --> 00:05:36,400 Mən deyim. 124 00:05:36,400 --> 00:05:38,630 -Mən bunu bilirdik. 125 00:05:38,630 --> 00:05:42,040 Bütün hüquqları, mənə ver. 126 00:05:42,040 --> 00:05:46,890 -Birləşməsi biridir. 127 00:05:46,890 --> 00:05:47,290 -Biri. 128 00:05:47,290 --> 00:05:48,183 -Biri. 129 00:05:48,183 --> 00:05:48,950 -İki. 130 00:05:48,950 --> 00:05:49,370 -İki. 131 00:05:49,370 --> 00:05:50,450 -İki. 132 00:05:50,450 --> 00:05:50,715 -Üç 133 00:05:50,715 --> 00:05:51,380 -Üç. 134 00:05:51,380 --> 00:05:52,390 -Üç. 135 00:05:52,390 --> 00:05:53,200 -Four. 136 00:05:53,200 --> 00:05:53,720 -Four. 137 00:05:53,720 --> 00:05:55,830 -Four. 138 00:05:55,830 --> 00:05:56,580 -Beş 139 00:05:56,580 --> 00:05:57,120 -Beş. 140 00:05:57,120 --> 00:05:58,560 -Beş. 141 00:05:58,560 --> 00:06:03,770 -Yaxşı birləşməsi bir, iki, üç, dörd, beş deyil. 142 00:06:03,770 --> 00:06:06,745 Mən heç həyatımda eşitdim stupidest birləşməsi var. 143 00:06:06,745 --> 00:06:09,290 Bu axmaq onun baqaj var ki şey növü var. 144 00:06:09,290 --> 00:06:11,540 Əlahəzrət, sizə təşəkkür edirəm. 145 00:06:11,540 --> 00:06:12,940 -Nə oldu? 146 00:06:12,940 --> 00:06:14,230 -Mən divar off çıxdı. 147 00:06:14,230 --> 00:06:14,630 -Xeyr, olmadı. 148 00:06:14,630 --> 00:06:15,430 Siz bütün film söndürülür. 149 00:06:15,430 --> 00:06:16,722 Mən səhv düyməni basdı olmalıdır. 150 00:06:16,722 --> 00:06:18,078 -Yaxşı, geri qoydu. 151 00:06:18,078 --> 00:06:18,805 Film geri qoyun. 152 00:06:18,805 --> 00:06:19,080 -Bəli, efendim. 153 00:06:19,080 --> 00:06:19,270 Bəli, efendim. 154 00:06:19,270 --> 00:06:19,830 Nin, Erna getmək edək. 155 00:06:19,830 --> 00:06:20,270 , Gretchen gel. 156 00:06:20,270 --> 00:06:22,850 Əlbəttə, mən hələ bu size faturalamamızdan lazımdır bilirik. 157 00:06:27,400 --> 00:06:28,325 -Bəli, bu iş idi? 158 00:06:28,325 --> 00:06:29,550 Qapısı harada? 159 00:06:29,550 --> 00:06:29,910 -Bu əfəndim işləmişdir. 160 00:06:29,910 --> 00:06:30,770 Biz birləşməsi var. 161 00:06:30,770 --> 00:06:31,390 -Böyük. 162 00:06:31,390 --> 00:06:35,630 İndi biz planet Druidia təzə hava hər keçən nəfəs bilər. 163 00:06:35,630 --> 00:06:36,550 Birləşməsi nədir? 164 00:06:36,550 --> 00:06:38,805 -Bir, iki, üç, dörd, beş. 165 00:06:38,805 --> 00:06:40,610 -Bir, iki, üç, dörd, beş? 166 00:06:40,610 --> 00:06:41,070 -Bəli. 167 00:06:41,070 --> 00:06:41,760 -Bu gözəl. 168 00:06:41,760 --> 00:06:45,200 Mən baqaj eyni birləşməsi var. 169 00:06:45,200 --> 00:06:47,800 Dərhal gediş üçün Spaceball 1 hazırlayın. 170 00:06:47,800 --> 00:06:48,536 -Bəli, efendim. 171 00:06:48,536 --> 00:06:52,350 -Və baqaj haqqında birləşməsi dəyişir. 172 00:06:52,350 --> 00:06:53,250 -Ow! 173 00:06:53,250 --> 00:06:55,020 [END video playback] 174 00:06:55,020 --> 00:06:57,470 >> DAVID J. MALAN: İndi bütün görməlisiniz inanılmaz film. 175 00:07:00,600 --> 00:07:06,540 Belə ki, burada kontekstində etibarsız data imkanı gəlir ki, 176 00:07:06,540 --> 00:07:07,790 bu şifrelemek və dırmaşma üçün. 177 00:07:07,790 --> 00:07:11,060 Və bu, məsələn, şifrəli mesaj nümunəsidir. 178 00:07:11,060 --> 00:07:12,980 Bu, həqiqətən, İngilis bir şey deyir. 179 00:07:12,980 --> 00:07:14,750 Amma aydın tam aydın deyil. 180 00:07:14,750 --> 00:07:17,360 Biz ayrı tease üçün bu gün tam dairə gəlmək lazımdır nə gizli 181 00:07:17,360 --> 00:07:18,380 burada mesaj. 182 00:07:18,380 --> 00:07:22,370 Lakin kompüter real dünyada, hər şeyi hətta güc kimi baxmaq deyil 183 00:07:22,370 --> 00:07:23,440 İngilis ifadələr ola bilər. 184 00:07:23,440 --> 00:07:27,500 Məsələn, bu və ya standart Linux və ya Mac tapa bilər nə 185 00:07:27,500 --> 00:07:32,080 Bir müddət sonra bir dəfə idi ki, bir fayl Unix kompüter parol fayl çağırıb. 186 00:07:32,080 --> 00:07:34,170 Hal-hazırda, bu, başqa yerlərə köçüb oldu. 187 00:07:34,170 --> 00:07:38,660 Bir sistemi doğru yerdə baxmaq Lakin, siz yalnız görürsünüz 188 00:07:38,660 --> 00:07:41,430 istifadəçi adı və ya sistem digər insanların, amma görürsünüz bir 189 00:07:41,430 --> 00:07:43,410 onların parol şifreli versiyası. 190 00:07:43,410 --> 00:07:47,800 Həqiqətən, orada söz crypt aşağıdakı məhsulları şifrəli olduğunu göstərir. 191 00:07:47,800 --> 00:07:52,030 Bu zahirən təsadüfi məktublar və simvollar və nömrələr seriyası və 192 00:07:52,030 --> 00:07:56,370 s yalnız adətən bəzi gizli bilerek şifresi çözülen bilər - 193 00:07:56,370 --> 00:07:58,600 gizli bir söz, gizli nömrəsini. 194 00:07:58,600 --> 00:08:02,760 Və həqiqətən, Kriptoqrafiya nəticədə sonunda aşağı sənətinin bəzi etibar 195 00:08:02,760 --> 00:08:05,700 sort və başqasına deyil ki, bir şey bilmədən. 196 00:08:05,700 --> 00:08:10,010 Biz bu gün bir az daha ətraflı araşdırmaq lazımdır və pset gəlmək. 197 00:08:10,010 --> 00:08:11,860 >> İndi pass / uğursuzluqla bir söz. 198 00:08:11,860 --> 00:08:15,250 Belə ki, xüsusilə, siz bəzi pset 1, cihaz daxil dived, həmçinin 199 00:08:15,250 --> 00:08:18,390 özünüz üçün bir çox yeni dünya ki, frustrations həyata keçirilir və 200 00:08:18,390 --> 00:08:21,340 qarışıqlıq və yalnız texniki çətinliklər gözlənilir var. 201 00:08:21,340 --> 00:08:24,410 Xüsusilə yalnız çox yeni var olduğu ilk pset, yalnız əldə 202 00:08:24,410 --> 00:08:28,830 ls və cd və yeni mühit bütün bu gizli əmrləri ilə tanış olmuşlar. 203 00:08:28,830 --> 00:08:32,679 Və faktiki material və özü proqramlaşdırma ayrı deyil. 204 00:08:32,679 --> 00:08:35,960 Belə ki, mövcud olan ofis saat əlbəttə var ki, bu da həyata 205 00:08:35,960 --> 00:08:36,770 dəstəyi quruluşu. 206 00:08:36,770 --> 00:08:38,620 Bölmə bu gələn bazar günü başlayacaq. 207 00:08:38,620 --> 00:08:41,990 Siz yalnız hiss edirsinizsə Lakin ən əsası, bu deyil 208 00:08:41,990 --> 00:08:44,420 sizin üçün dünya, həqiqətən, yalnız vaxt deyil bilirik. 209 00:08:44,420 --> 00:08:47,520 Və bir sinif alaraq mənə il əvvəl bu imkan yox idi 210 00:08:47,520 --> 00:08:50,840 uğursuz / keçmək, vicdanla, mən hətta sinif ayaq qoymuşuq ki, heç vaxt. 211 00:08:50,840 --> 00:08:53,520 Və siz qədər bu qədər dəyişmək demək, kurs beşinci Bazar ertəsi bilər. 212 00:08:53,520 --> 00:08:57,110 İndi kənarında etdiyiniz Belə ki, əgər həyata ki, daha çox baş bəzi digər daxil 213 00:08:57,110 --> 00:09:01,000 sular ümumiyyətlə, əlbəttə yalnız keçmək / uğursuz dəyişən hesab edirsiniz. 214 00:09:01,000 --> 00:09:03,750 Yenə şeyi alaraq Harvard burada, həqiqətən, bu mədəniyyət yoxdur 215 00:09:03,750 --> 00:09:08,080 hər kəs həqiqətən nail olmaq və ya overachieve istəyir bəri uğursuz / keçmək. 216 00:09:08,080 --> 00:09:11,470 Amma səmimi, bu həyata bir şey çalışan gözəl bir yoldur ki, güc 217 00:09:11,470 --> 00:09:13,110 sizə tanış olmalıdır. 218 00:09:13,110 --> 00:09:17,090 Və bəlkə də, çox gözəl əksər hallarda bunu çıxacağıq 219 00:09:17,090 --> 00:09:18,040 Sizin sürpriz çox. 220 00:09:18,040 --> 00:09:20,850 Və daha konkret olaraq, mən nə adətən uğursuz / keçmək nə düşünürsünüz 221 00:09:20,850 --> 00:09:23,350 sizi olduğunuz halda, siz pset 0 təcrübəli ola bilər xüsusən 222 00:09:23,350 --> 00:09:27,200 10 saat, 15 saat, 25 saat bir pset daxil - və yalnız tarpıltı edirik 223 00:09:27,200 --> 00:09:28,180 divar qarşı baş, 224 00:09:28,180 --> 00:09:29,850 və bu, gecə gec super əldə edir 225 00:09:29,850 --> 00:09:31,880 lakin, yol 90% kimi pset qəbul etdik 226 00:09:31,880 --> 00:09:33,780 Siz yalnız bir şey anlamaq bilməz bilirik - 227 00:09:33,780 --> 00:09:36,830 siz sort bilərsiniz, həqiqətən, bu kimi bir sinif kənarında off edir uğursuz / keçmək 228 00:09:36,830 --> 00:09:39,150 məsud tamam demək, mən mükəmməl deyil bilirik. 229 00:09:39,150 --> 00:09:40,470 Amma bu mənim ass off işləmişdir. 230 00:09:40,470 --> 00:09:42,410 Mən bunu başa Ü ilə olduqca xoşbəxt deyiləm. 231 00:09:42,410 --> 00:09:44,780 Və bu keçid üçün ümidlərini / bilməyəcəyik. 232 00:09:44,780 --> 00:09:46,850 Belə ki, nəzərə ki, saxlamaq yoxdur. 233 00:09:46,850 --> 00:09:47,140 >> Bütün hüquqlar. 234 00:09:47,140 --> 00:09:50,980 Harvard Universiteti Wi-Fi istifadə üçün mübarizə edən sizin bilmeleri 235 00:09:50,980 --> 00:09:54,780 ki, ətrafında üzən bir CS50 SSID var ki, Wi-Fi bağlantısı 236 00:09:54,780 --> 00:09:56,520 üçün daha yaxşı şans ola bilər. 237 00:09:56,520 --> 00:09:59,430 Cəhd istəyirsinizsə - Bu üçün Onu bir az ironik var 238 00:09:59,430 --> 00:10:03,080 daha sürətlə bu qoşulma və heç bir yaxşı bize bildirin - 239 00:10:03,080 --> 00:10:09,240 səkkiz çünki bir, iki, üç, dörd, beş, bütün yolu səkkiz edir 240 00:10:09,240 --> 00:10:10,270 beş daha təhlükəsiz. 241 00:10:10,270 --> 00:10:15,520 Siz Wi-Fi parol lazımdır Belə ki, kabelsiz burada CS50 qoşulmaq. 242 00:10:15,520 --> 00:10:16,950 Bir, iki, üç, dörd, beş, altı, yeddi, səkkiz. 243 00:10:16,950 --> 00:10:20,440 Siz hələ aralıq keçid məsələlər varsa CS50 üzrə poçt, müzakirə 244 00:10:20,440 --> 00:10:24,880 və biz bu yer üçün bilirik ki, səlahiyyətləri imkan olacaq. 245 00:10:24,880 --> 00:10:25,180 >> Bütün hüquqlar. 246 00:10:25,180 --> 00:10:30,350 Xüsusilə fan oğlanlar ya qızlar olan sizin üçün çox sürətli bir iltifat, 247 00:10:30,350 --> 00:10:31,900 hər şeyi Apple. 248 00:10:31,900 --> 00:10:37,566 Mən geri bir neçə il qədər qazılmış, burada ilock.c bu faylı idi, yalnız 249 00:10:37,566 --> 00:10:40,930 cür daha konkret və daha mürəkkəb etmək daha əsas C bəzi 250 00:10:40,930 --> 00:10:42,350 biz yazılı olduğunuz proqramlar. 251 00:10:42,350 --> 00:10:44,360 Mən ilock.c, bu fayl açdı. 252 00:10:44,360 --> 00:10:46,830 Bu gün üçün mühazirələr səhifə mövcud deyil. 253 00:10:46,830 --> 00:10:49,470 Sol tərəfində, siz funksiyaları uzun bir siyahısını görmək. 254 00:10:49,470 --> 00:10:51,860 Belə ki, bu yazan yoldaş, funksiyaları bir çox qədər yazdı 255 00:10:51,860 --> 00:10:53,290 yalnız əsas çoxdur. 256 00:10:53,290 --> 00:10:55,490 O, burada kitabxana bütün dəstə istifadə. 257 00:10:55,490 --> 00:11:00,450 Və biz vasitəsilə scrolling başlamaq əgər, nə bu əslində isə çox 258 00:11:00,450 --> 00:11:04,670 ilk inanıram, orijinal iPhone üçün çat. 259 00:11:04,670 --> 00:11:08,000 Orijinal iPhone jailbreak istəyirdi zaman, hansı untether deməkdir 260 00:11:08,000 --> 00:11:11,800 o AT & T və həqiqətən bu xüsusi proqram və şeylər 261 00:11:11,800 --> 00:11:13,510 ki, Apple insanlar istəmədi - 262 00:11:13,510 --> 00:11:17,020 də, kimsə onlar istifadə edə bilər dəqiq necə anlamaq üçün vaxt 263 00:11:17,020 --> 00:11:20,880 Apple proqram proqram qüsurlar, səhvlər, bugs. 264 00:11:20,880 --> 00:11:22,650 Və beləliklə ilock.c anadan olmuşdur. 265 00:11:22,650 --> 00:11:26,670 Bu bir kompüter üzrə tərtib edilmiş və bir iPhone üzərində yüklü əgər 266 00:11:26,670 --> 00:11:29,810 USB kabel, demək vasitəsilə bilgisayarınıza bağlı, bu sizə verəcək 267 00:11:29,810 --> 00:11:33,360 iPhone və qoy inzibati və ya kök güzəştlər siz olduqca çox etmək 268 00:11:33,360 --> 00:11:34,170 istədiyiniz hər hansı. 269 00:11:34,170 --> 00:11:36,740 >> Və bu maraqlı pişik və siçan Apple arasında oyun və orada olub 270 00:11:36,740 --> 00:11:39,920 onlar kimi xüsusilə dünyanın qalan, bir çox şirkətlər kimi, kilidləmək üçün cəhd 271 00:11:39,920 --> 00:11:43,220 onların məhsulları aşağı yalnız onlar niyyətində nə ilə edə bilərsiniz ki,. 272 00:11:43,220 --> 00:11:46,620 Amma bu kimi insanların sayəsində və aşağı səviyyəli onların anlaşma 273 00:11:46,620 --> 00:11:50,580 məlumat və bu halda, C proqramlaşdırma və tanış yapıları bir çox 274 00:11:50,580 --> 00:11:54,630 biz oynamağa başlamışdır etdik ki, siz həqiqətən Leverage edə bilərlər 275 00:11:54,630 --> 00:11:59,050 Siz uyğun və bəzi korporativ şəxs mütləq görmək qaydada hardware. 276 00:11:59,050 --> 00:12:01,360 Belə ki, məsələn, mən bütün bu nə heç bir fikrim yoxdur. 277 00:12:01,360 --> 00:12:03,220 Amma GetVersion olduqca sadə səslənir. 278 00:12:03,220 --> 00:12:05,480 Və bu şəxs yazırdı ki, bir funksiyası kimi görünür. 279 00:12:05,480 --> 00:12:09,240 Bir arqument kimi tam bir növ al, bir şey geri deyil, 280 00:12:09,240 --> 00:12:13,080 vəziyyətdə olarsa, şərt, əgər burada loop üçün və bir ilə loop görünür 281 00:12:13,080 --> 00:12:15,620 qırmaq və birtəhər versiyası nömrələri aiddir. 282 00:12:15,620 --> 00:12:16,700 Biz aşağı diyirləyin varsa - 283 00:12:16,700 --> 00:12:19,570 Bu açar sözlər, bir çox yeni olacaq və orada baxmayaraq bir 284 00:12:19,570 --> 00:12:22,590 burada funksiyaları bütün çox biz görməmişəm və heç üzərində görmək bilər 285 00:12:22,590 --> 00:12:23,830 dövr kurs - 286 00:12:23,830 --> 00:12:27,150 Günün sonunda, biz olduğunuz eyni qaydalar və məntiq aşağıdakı 287 00:12:27,150 --> 00:12:28,760 İndiyədək ilə oynayır. 288 00:12:28,760 --> 00:12:34,220 Belə ki, bu sizin iPhone 3s ya 4s və ya tezliklə 5s, bu gün, çat çox köhnə 289 00:12:34,220 --> 00:12:37,320 lakin biz etdik ki, bütün çox bu dünyada əldə edir bilirik ki, 290 00:12:37,320 --> 00:12:38,430 daxil dived. 291 00:12:38,430 --> 00:12:41,900 >> Belə nin bir az daha sadə misal nəzər salaq. 292 00:12:41,900 --> 00:12:46,100 Bu, yalnız bəzi sintaksis ilə isidilmiş və həmçinin bəzi digər məlumatlar almaq üçün 293 00:12:46,100 --> 00:12:49,240 Bu səbəbdən biz danışdı sonra, lakin həqiqətən C. görmədim ki növü 294 00:12:49,240 --> 00:12:51,680 fayl positive1.c çağırıb. 295 00:12:51,680 --> 00:12:55,120 Və üst şərh başına, bu, yalnız istifadəçi təmin tələb 296 00:12:55,120 --> 00:12:55,960 müsbət nömrəsini. 297 00:12:55,960 --> 00:12:59,530 Belə ki, istifadəçi interaktiv üçün gözəl bir do-isə loop, bir misal var 298 00:12:59,530 --> 00:13:01,980 Əgər bir şey etmək üçün istifadəçi demək lazımdır proqramları. 299 00:13:01,980 --> 00:13:05,190 Onlar əməkdaşlıq yoxdur, siz onlara fəğan və ya giriş rədd edirlər. 300 00:13:05,190 --> 00:13:11,610 Istifadəçi var point halda, mən 24 qədər uzun yolu xətləri 19 etmək gedirəm 301 00:13:11,610 --> 00:13:14,310 Mənə bir müsbət sayı verilmir. 302 00:13:14,310 --> 00:13:20,400 İndi burada bu detal line 18-də, niyə mən bu bütün yuxarıda n bəyan etməyib 303 00:13:20,400 --> 00:13:24,490 loop tikinti kimi sağ line 22 Növbəti qarşı harada 304 00:13:24,490 --> 00:13:26,880 həqiqətən n almaq üçün qayğı? 305 00:13:26,880 --> 00:13:27,330 Evet? 306 00:13:27,330 --> 00:13:27,780 [Işitilemez] 307 00:13:27,780 --> 00:13:29,040 >> DAVID J. MALAN: Bəli, belə daxilində bu məsələ. 308 00:13:29,040 --> 00:13:30,850 Və layman müddəti ilə, əhatə dairəsi nə aid deyil? 309 00:13:34,690 --> 00:13:36,610 Evet? 310 00:13:36,610 --> 00:13:37,860 [Işitilemez] 311 00:13:40,040 --> 00:13:41,105 DAVID J. MALAN: Siz Qaraçuxurlu bir az danışmaq olarmı? 312 00:13:41,105 --> 00:13:43,450 HOPARLÖR 1: Müəyyən bir dəyişən edə bilərsiniz harada. 313 00:13:43,450 --> 00:13:45,170 DAVID J. MALAN: Perfect. 314 00:13:45,170 --> 00:13:47,360 Müəyyən bir dəyişən daxil edə bilərsiniz. 315 00:13:47,360 --> 00:13:50,400 Və ümumiyyətlə, thumb qayda belə uzaq olmuşdur ki, bəzi həcmi 316 00:13:50,400 --> 00:13:55,860 dəyişən siz gördüm ki, ən son qıvrım aşırma ilə müəyyən edilir. 317 00:13:55,860 --> 00:14:02,010 Və bu halda, mən, line 22-n elan səhv etmişdir, əgər 318 00:14:02,010 --> 00:14:03,010 ki line iş olardı. 319 00:14:03,010 --> 00:14:10,990 Mən int almaq olardı və mən line 22 dəyişən n onu qoymaq olardı. 320 00:14:10,990 --> 00:14:16,900 Lakin kodu xətt indi söhbət alıram nə heç bir fikrim yoxdur ki? 321 00:14:16,900 --> 00:14:22,650 25 Belə ki, bu halda, kənarda qalır, çünki, o cümlədən, 24 çıxır 322 00:14:22,650 --> 00:14:23,610 bu qıvrım aşırma edir. 323 00:14:23,610 --> 00:14:27,280 Belə ki, çox asanlıqla sadəcə elan edərək bir az bir narahatlıq və bit lakin həll 324 00:14:27,280 --> 00:14:30,140 funksiyası özü dəyişən xaricində. 325 00:14:30,140 --> 00:14:32,600 >> İndi biz bu gün sonra görəcəksiniz, bir addım irəli getmək olar. 326 00:14:32,600 --> 00:14:34,860 Və hətta bir az tənbəl ala bilər - 327 00:14:34,860 --> 00:14:37,320 və bu, ümumiyyətlə, tövsiyə edilə bilməz - 328 00:14:37,320 --> 00:14:42,260 lakin hətta tənbəl almaq və dəyişən qlobal qoymaq, belə deyil, danışmaq bilər 329 00:14:42,260 --> 00:14:46,670 daxilində fəaliyyət deyil, daxili bir loop, ancaq fayl özü xaricində 330 00:14:46,670 --> 00:14:49,600 Mən line 15-də burada olduğu kimi funksiyaları bütün siz yazdıq. 331 00:14:49,600 --> 00:14:51,160 Ancaq bu, ümumiyyətlə, sonra qaşqabağını töküb üzünü olunur. 332 00:14:51,160 --> 00:14:55,680 Biz rəftar kimi, bu bəzən digər problemlərin həllini həyata 333 00:14:55,680 --> 00:14:56,620 nəticədə bax. 334 00:14:56,620 --> 00:14:58,130 Beləliklə, biz bu kimi tərk edəcəyik. 335 00:14:58,130 --> 00:15:01,030 Amma bu yalnız özümüzü ifadə başlamaq üçün yenidən əgər in görək 336 00:15:01,030 --> 00:15:01,990 az fərqli. 337 00:15:01,990 --> 00:15:05,330 >> Belə ki, bu proqram, yalnız aydın olmaq, positive1 edir. 338 00:15:05,330 --> 00:15:11,810 Mənə burada davam və mənim terminal pəncərə daxil edin positive1 etmək edək. 339 00:15:11,810 --> 00:15:12,740 Tamam tərtib edir. 340 00:15:12,740 --> 00:15:14,910 Mən daxil edib positive1 çalıştırmak üçün gedirəm. 341 00:15:14,910 --> 00:15:16,820 Mənə bir müsbət tam vermək tələb edir. 342 00:15:16,820 --> 00:15:18,260 Mən -1 demək lazımdır. 343 00:15:18,260 --> 00:15:18,910 Bu iş yox idi. 344 00:15:18,910 --> 00:15:22,150 0, 99, iş görünür. 345 00:15:22,150 --> 00:15:23,570 Bəlkə ən ciddi test. 346 00:15:23,570 --> 00:15:26,480 Amma ən azı biz doğru yolda olduğunuzu gözəl ağlı başında olma çek var. 347 00:15:26,480 --> 00:15:29,240 Belə ki, indi mənə irəli getmək və bu versiyası iki açıq bildirin. 348 00:15:29,240 --> 00:15:32,500 Və artıq müxtəlif nədir? 349 00:15:32,500 --> 00:15:35,140 Eyni şey həyata keçirir. 350 00:15:35,140 --> 00:15:40,660 Amma aydın fərqli bu dəfə kimi nə jumping var? 351 00:15:40,660 --> 00:15:42,560 Bəli, yaşıl bu bool. 352 00:15:42,560 --> 00:15:45,980 Gedit, bool kimi tanınan yaşıl bu söz qeyd edir 353 00:15:45,980 --> 00:15:47,000 bir veri növü deyil. 354 00:15:47,000 --> 00:15:51,080 Bu C. bütün versiyasını üçün inşa gəlmək deyil bir daxil lazımdır 355 00:15:51,080 --> 00:15:52,010 xüsusi kitabxana. 356 00:15:52,010 --> 00:15:54,770 Bizim halda, mən CS50 kitabxana daxil ki, biz 357 00:15:54,770 --> 00:15:56,460 bool girmə imkanı vardır. 358 00:15:56,460 --> 00:15:59,810 Amma line 18, biz şükür adlanan burada bir Boolean dəyəri görünür. 359 00:15:59,810 --> 00:16:01,040 Mən bu bir şey deyilən bilərdi. 360 00:16:01,040 --> 00:16:04,500 Amma yalnız cür bəzi semantik mənasını çatdırmaq üçün minnətdar çağırıb. 361 00:16:04,500 --> 00:16:07,930 Belə ki, ilkin line 18-də, mən yəqin minnətdar deyiləm, çünki 362 00:16:07,930 --> 00:16:12,150 Şükür Boolean dəyər line 18 yalan üçün başlatılmış olunur. 363 00:16:12,150 --> 00:16:16,890 Və sonra mən yalnız nə 23 vasitəsilə xətləri 21 burada etdik ki, sonra görünür 364 00:16:16,890 --> 00:16:18,610 cür mənim məntiq yeniden yazılmış. 365 00:16:18,610 --> 00:16:21,020 Heç bir funksional müxtəlif olur. 366 00:16:21,020 --> 00:16:26,940 Istifadəçi təmin edib int daha çox olsa line 22, indi mən yoxlamaq 367 00:16:26,940 --> 00:16:31,120 0, sonra sadəcə doğru təşəkkür dəyəri dəyişir. 368 00:16:31,120 --> 00:16:32,290 Və mən ona görə edirsiniz? 369 00:16:32,290 --> 00:16:35,600 Line 25 Görünür, mən vəziyyəti yoxlamaq üçün gedirəm, çünki. 370 00:16:35,600 --> 00:16:39,380 Şükür yalan isə bu loop edin. 371 00:16:39,380 --> 00:16:43,610 >> Bir az, çünki Mən versiya bir alternativ kimi bu təklif 372 00:16:43,610 --> 00:16:45,130 az daha asan, bəlkə də. 373 00:16:45,130 --> 00:16:46,900 Bu İngilis əsaslandırılmış bir az çoxdur. 374 00:16:46,900 --> 00:16:51,710 Şükür yalan isə şükür deyil və ya isə Belə ki, aşağıdakı. 375 00:16:51,710 --> 00:16:55,890 Və bu zaman da, mən yəqin istifadəçi tipli nə yadda vecimə deyil 376 00:16:55,890 --> 00:16:57,730 çünki bildiriş heç dəyişən n var. 377 00:16:57,730 --> 00:16:58,650 Yəni əslində, mən - 378 00:16:58,650 --> 00:17:00,080 orada bir az ağ yalan. 379 00:17:00,080 --> 00:17:02,770 Biz altına almaq bir Funksional, proqram bir az fərqli 380 00:17:02,770 --> 00:17:04,819 Mən n nə xatırlayaraq deyiləm çünki. 381 00:17:04,819 --> 00:17:09,579 Amma burada nümayiş etdirmək istəyirdi çox ki, biz və GetInt gördüm baxmayaraq 382 00:17:09,579 --> 00:17:13,920 GetString indiyədək belə bir bərabər Qeydiyyat sağ tərəfdən istifadə olunur 383 00:17:13,920 --> 00:17:17,160 biz ciddi lazım deyil ki, dəyəri, texniki, xatırlayıram. 384 00:17:17,160 --> 00:17:20,950 Hər hansı səbəbdən yalnız dəyəri saxlamaq üçün qayğı yoxdur, siz yalnız mənə 385 00:17:20,950 --> 00:17:25,710 dəyəri yoxlamaq üçün, biz sadəcə GetInt açıq kimi yazmaq olar ki, qeyd 386 00:17:25,710 --> 00:17:27,000 paren, yaxın paren. 387 00:17:27,000 --> 00:17:30,460 Deyirdik olduğunuz kimi funksiyası, bir dəyər geri gedir. 388 00:17:30,460 --> 00:17:32,010 Bu int geri vermək olacaq. 389 00:17:32,010 --> 00:17:36,450 Mən 99 yazın zaman belə əqli GetInt, bu baş hesab 390 00:17:36,450 --> 00:17:38,160 sayı 99 qaytarır. 391 00:17:38,160 --> 00:17:41,330 Və konseptual, mənim kodu əslində bu kimi olsa var. 392 00:17:41,330 --> 00:17:45,880 99 0-dən həqiqətən böyük Belə ki, onda şükür doğru olur. 393 00:17:45,880 --> 00:17:50,420 İndi təşəkkür edirəm çünki sonra line 25 ooh həyata keçirir, biz tamamlayın. 394 00:17:50,420 --> 00:17:54,590 Və line 26, biz sadəcə demək, nə bu, müsbət tam üçün thanks 395 00:17:54,590 --> 00:17:55,710 ola oldu. 396 00:17:55,710 --> 00:17:58,900 >> İndi belə danışmaq, burada kiçik sintaktik şəkər nə edək. 397 00:17:58,900 --> 00:18:02,990 Biz bu üçüncü və son variance Bu xətt 25 təmizləmək bilər Gəlin görmək 398 00:18:02,990 --> 00:18:04,640 positive3 edir. 399 00:18:04,640 --> 00:18:08,250 Belə ki, indi nə kodu xətt yalnız fark? 400 00:18:11,930 --> 00:18:13,260 Bəli, belə ki, 25. 401 00:18:13,260 --> 00:18:15,520 Və biz, həqiqətən, yalnız hələ bu oyun görməmişəm etdik. 402 00:18:15,520 --> 00:18:19,510 Amma biz nə işarə edən bazar ertəsi günü ünlem bax etdi? 403 00:18:19,510 --> 00:18:20,970 Belə ki, ya inkar deyil. 404 00:18:20,970 --> 00:18:23,460 Belə bir Boolean dəyəri almaq və onun dəyəri çevirmek. 405 00:18:23,460 --> 00:18:24,390 True yalan olur. 406 00:18:24,390 --> 00:18:25,500 Asma doğru olur. 407 00:18:25,500 --> 00:18:28,910 Belə ki, bu, mən təklif edirəm, bir yol bir az daha asan hətta 408 00:18:28,910 --> 00:18:32,200 Mən hələ yalan təşəkkür başlamaq çünki kodu yazmaq. 409 00:18:32,200 --> 00:18:33,530 Mən hələ də aşağıdakı. 410 00:18:33,530 --> 00:18:35,700 Vaxt gələndə mən doğru təşəkkür seçin. 411 00:18:35,700 --> 00:18:40,690 Amma indi siz həqiqətən yalnız şifahi sağ bu kodu tərcümə edə bilərsiniz 412 00:18:40,690 --> 00:18:42,550 minnətdar deyil isə. 413 00:18:42,550 --> 00:18:46,170 Bang və ya ünlem, belə deyil, anlayışı bildirir Çünki isə 414 00:18:46,170 --> 00:18:47,010 minnətdar deyil. 415 00:18:47,010 --> 00:18:49,740 >> Belə ki, yenə biz özlüyündə hər hansı yeni anlayışlar təqdim edilməmişdir. 416 00:18:49,740 --> 00:18:53,230 Biz Not ifa zaman geri Booleans danışdı etdik. 417 00:18:53,230 --> 00:18:55,690 Amma biz yalnız bizim kodu yazılı başlaya bilərsiniz indi həyata 418 00:18:55,690 --> 00:18:56,550 bir çox müxtəlif yolları. 419 00:18:56,550 --> 00:19:00,010 Sizə yol anlamaq üçün mübarizə cür etdiyiniz Belə xüsusilə pset1, əgər 420 00:19:00,010 --> 00:19:03,400 bir proqram yazmaq, bahis heç bir olmalıdır olacaq siz uğurlar istəyirik, çünki 421 00:19:03,400 --> 00:19:05,780 sizə ola bilər ki, həllərin sayı. 422 00:19:05,780 --> 00:19:09,850 Məsələn, bu proqramlar da sadə üçün yalnız üç edir. 423 00:19:09,850 --> 00:19:10,180 Bütün hüquqlar. 424 00:19:10,180 --> 00:19:13,860 İndi bazar ertəsi geri, biz geri dəyərləri ilə bu qeyd buraxdı. 425 00:19:13,860 --> 00:19:18,280 Belə ki, ilk dəfə üçün, biz yalnız əsas yoxdur ki, bir proqram yazıb 426 00:19:18,280 --> 00:19:22,240 bu da burada yazmışdır ki, onun öz xüsusi funksiyası var. 427 00:19:22,240 --> 00:19:26,640 Belə ki, 34 vasitəsilə line 31, mən bir kub funksiyasını həyata etdik. 428 00:19:26,640 --> 00:19:27,800 Bu kompleks deyil. 429 00:19:27,800 --> 00:19:29,830 Bu halda, yalnız bir dəfə bir dəfə deyil. 430 00:19:29,830 --> 00:19:34,920 Amma nə bu barədə mühüm bir şəklində daxil alaraq edirəm ki, 431 00:19:34,920 --> 00:19:38,910 Mən bir dəfə bir dəfə şəklində çıxış qaytarılması alıram. 432 00:19:38,910 --> 00:19:43,940 >> İndi mən zəng etmək üçün, mən printf tək ilə istifadə çox kimi, imkanı var 433 00:19:43,940 --> 00:19:47,120 kub funksiyası zəng bu funksiya. 434 00:19:47,120 --> 00:19:49,470 Və kub funksiya bəzi daxil edir. 435 00:19:49,470 --> 00:19:52,030 Və kub funksiya bəzi çıxış qaytarır. 436 00:19:52,030 --> 00:19:56,660 Və əksinə, printf yalnız bir şey idi. 437 00:19:56,660 --> 00:19:59,490 Bu barədə qayğı ki, bir şey qaytarmayıb - baxmayaraq, kimi 438 00:19:59,490 --> 00:20:00,820 kənara, bir dəyər geri edir. 439 00:20:00,820 --> 00:20:02,650 Siz yalnız ümumiyyətlə bilməz. 440 00:20:02,650 --> 00:20:04,000 Printf yalnız bir şey idi. 441 00:20:04,000 --> 00:20:06,220 Bu ekran çap bir yan təsiri var idi. 442 00:20:06,220 --> 00:20:09,480 Burada əksinə olaraq, biz, kub funksiyası olan 443 00:20:09,480 --> 00:20:11,400 həqiqətən bir şey qaytarır. 444 00:20:11,400 --> 00:20:12,960 >> Beləliklə, bu adətən - 445 00:20:12,960 --> 00:20:15,260 bu ilə tanış olanlar üçün bu, olduqca sadə bir fikirdir. 446 00:20:15,260 --> 00:20:18,460 Lakin giriş keçən və əldə bu fikri olanlar az tanış üçün 447 00:20:18,460 --> 00:20:21,700 geri nəticələr isə yalnız bir şey super sadə edək. 448 00:20:21,700 --> 00:20:25,180 Rahat hər kəs qısa səhnəyə gəlir? 449 00:20:25,180 --> 00:20:27,460 Siz, həmçinin sizə bir kamera ilə rahat olmalıdır. 450 00:20:27,460 --> 00:20:27,640 Bəli. 451 00:20:27,640 --> 00:20:28,610 OK, sizin adınız nədir? 452 00:20:28,610 --> 00:20:29,020 KEN: Ken. 453 00:20:29,020 --> 00:20:29,420 DAVID J. MALAN: Ken. 454 00:20:29,420 --> 00:20:29,810 Bütün hüquqlar, Ken. 455 00:20:29,810 --> 00:20:31,060 Qədər Hadi. 456 00:20:31,060 --> 00:20:34,660 Belə ki Ken burada növ bir funksiyası olacaq. 457 00:20:34,660 --> 00:20:35,760 Və nin irəli getmək və bunu bildirin. 458 00:20:35,760 --> 00:20:38,790 Bir az xülya almaq edək. 459 00:20:38,790 --> 00:20:39,770 Siz cavab gözəl. 460 00:20:39,770 --> 00:20:41,010 Mərkəzi mərhələ xoş gəlmisiniz. 461 00:20:41,010 --> 00:20:41,980 Bütün hüquqlar. 462 00:20:41,980 --> 00:20:45,590 Nin bura düyməsini basın edək. 463 00:20:45,590 --> 00:20:46,420 Bütün hüquqlar. 464 00:20:46,420 --> 00:20:49,490 Belə ki, burada müasir Kara Tahta var. 465 00:20:49,490 --> 00:20:53,050 Və nə mən məsələn, əsas funksiyası var. 466 00:20:53,050 --> 00:20:55,990 Mən əlimdə bir iPad yoxdur. 467 00:20:55,990 --> 00:20:59,000 Yaxşı, həqiqətən, demək olmaz - Mən, həqiqətən, necə xatırlamıram. 468 00:20:59,000 --> 00:21:02,200 Mən, həqiqətən, yaxşı yazı yoxdur. 469 00:21:02,200 --> 00:21:05,260 Və buna görə də mən sizə, mənim üçün ekranda bir şey çap etmək istəyirəm. 470 00:21:05,260 --> 00:21:07,470 >> Mən əsas proqram olan edirəm. 471 00:21:07,470 --> 00:21:15,060 Mən sizə gedirəm mənim toyuq danışıq bu yazı bu demək və 472 00:21:15,060 --> 00:21:16,600 sonra giriş keçən. 473 00:21:16,600 --> 00:21:20,000 Bu həyata baxmayaraq ki, səfeh, bir funksiyalarının anlayışı və zəng 474 00:21:20,000 --> 00:21:22,260 funksiyası və bu funksiyanı həqiqətən sonunda aşağı qaytarılması. 475 00:21:22,260 --> 00:21:23,120 Mən əsas deyiləm. 476 00:21:23,120 --> 00:21:26,270 Mən yalnız ekranda ("bir") printf yazıblar. 477 00:21:26,270 --> 00:21:27,470 Bu proqram çalışan alıram. 478 00:21:27,470 --> 00:21:30,900 Və ya bir parametr - Və tezliklə printf adlı olur kimi, bir arqument edir 479 00:21:30,900 --> 00:21:31,660 bəzən - 480 00:21:31,660 --> 00:21:32,780 ikiqat quotes arasında. 481 00:21:32,780 --> 00:21:33,960 Burada ki, mübahisə edir. 482 00:21:33,960 --> 00:21:35,740 Mən Ken üçün keçən alıram. 483 00:21:35,740 --> 00:21:39,390 İndi o yəqin il əvvəl bir sıra yazılı bir qara qutu deyil 484 00:21:39,390 --> 00:21:41,070 yalnız ekranda şeyi çap bilir. 485 00:21:41,070 --> 00:21:42,320 >> Belə ki, həyata. 486 00:21:48,842 --> 00:21:49,900 Bu pis deyil. 487 00:21:49,900 --> 00:21:50,890 Belə ki, çox yaxşı. 488 00:21:50,890 --> 00:21:52,900 Belə ki, indi Ken icra edilir. 489 00:21:52,900 --> 00:21:55,810 Mənə bir şey geri əl ehtiyac varmı? 490 00:21:55,810 --> 00:21:57,240 Beləliklə, biz belə uzaq gördüm deyil. 491 00:21:57,240 --> 00:21:59,230 Yenə printf həqiqətən bir sıra qayıtmaq deyil. 492 00:21:59,230 --> 00:22:01,640 Amma biz onu istifadə heç etdik çünki indi ki, ignore olacaq. 493 00:22:01,640 --> 00:22:03,400 Belə ki Ken üçün ki. 494 00:22:03,400 --> 00:22:06,650 Və indi əsas icra qayıdır - 495 00:22:06,650 --> 00:22:09,630 əsas kod ki line çünki yenə proqram nəzarət edir 496 00:22:09,630 --> 00:22:11,010 printf, icra edilir. 497 00:22:11,010 --> 00:22:13,890 Və biz digər xətləri var hər hansı icra yol haqqında gedin. 498 00:22:13,890 --> 00:22:14,130 >> Bütün hüquqlar. 499 00:22:14,130 --> 00:22:17,080 Belə ki, indi-nin bir az fərqli Məsələn edək. 500 00:22:17,080 --> 00:22:22,430 Burada bu dəfə ilk burada ekran sil bildirin. 501 00:22:22,430 --> 00:22:24,670 Və bu zaman, biz cubing funksiyası edəcəyik. 502 00:22:24,670 --> 00:22:27,350 Amma bu dəfə mən bir çıxış dəyər gözləyirik. 503 00:22:27,350 --> 00:22:28,630 Belə nin irəli getmək və bunu bildirin. 504 00:22:28,630 --> 00:22:35,680 Belə ki, indi deyir ki kodu bir xətti x = kub (x). 505 00:22:35,680 --> 00:22:36,930 Yəni əslində let's - 506 00:22:41,450 --> 00:22:43,940 kodu, geri, xətti bu kimi görünür. 507 00:22:43,940 --> 00:22:45,960 x = kub (x). 508 00:22:45,960 --> 00:22:48,100 Belə ki, necə bu iş gedir? 509 00:22:48,100 --> 00:22:50,820 Belə nin irəli getmək və daha bir ağ verək. 510 00:22:50,820 --> 00:22:55,000 Mən bu anda ildə x dəyəri aşağı indi yazmaq gedirəm 511 00:22:55,000 --> 00:23:01,080 zaman, bu, sadə saxlamaq üçün, 2, deyək etmək olur. 512 00:23:01,080 --> 00:23:04,890 Mən, bir kağız parçası 2 dəyəri yazıblar 513 00:23:04,890 --> 00:23:06,100 mənim dəyər x olan. 514 00:23:06,100 --> 00:23:08,250 Mən Ken üçün əl. 515 00:23:08,250 --> 00:23:09,200 KEN: Mən yalnız cavab yazmaq? 516 00:23:09,200 --> 00:23:12,660 DAVID J. MALAN: Bəli, yalnız cavab yazmaq imkan verir. 517 00:23:12,660 --> 00:23:13,030 Okay. 518 00:23:13,030 --> 00:23:16,280 İndi mənə bir şey qayıtmaq üçün var. 519 00:23:16,280 --> 00:23:17,560 Belə ki, - 520 00:23:17,560 --> 00:23:18,170 mükəmməl. 521 00:23:18,170 --> 00:23:18,840 Segue Nice. 522 00:23:18,840 --> 00:23:21,970 >> Belə ki, indi o, bu halda, 8 dəyəri mənə geri verir. 523 00:23:21,970 --> 00:23:23,220 Mən bunu nə etməliyəm? 524 00:23:23,220 --> 00:23:26,130 Yaxşı, həqiqətən, gəlin görək. 525 00:23:26,130 --> 00:23:26,640 Bu hüququ alın. 526 00:23:26,640 --> 00:23:27,880 Mən bu ilə gedirəm? 527 00:23:27,880 --> 00:23:31,900 İndi bu dəyəri almaq və həqiqətən o, onu saxlamaq üçün gedirəm 528 00:23:31,900 --> 00:23:33,400 yaddaş eyni bit. 529 00:23:33,400 --> 00:23:35,030 Ancaq xəbərdarlıq, burada mübarizə cür edirəm. 530 00:23:35,030 --> 00:23:38,280 Ü Mən, həqiqətən, x dəyəri yazmaq, çünki mən bir az qarışıq Ben? 531 00:23:38,280 --> 00:23:41,840 Nə mən yalnız etdik kağız parçası Ken fiziki tərəfdən Çünki 532 00:23:41,840 --> 00:23:44,400 ki x olan dəyəri 2, idi. 533 00:23:44,400 --> 00:23:46,300 And olsun ki, nə dəqiq deyil. 534 00:23:46,300 --> 00:23:50,100 Belə ki, siz bir funksiyası zəng zaman, siz bir dəlil keçmək çıxır ki, 535 00:23:50,100 --> 00:23:54,130 "salam dünya" kimi və ya siz istəyirik, ümumiyyətlə, 2 kimi bir dəlil keçmək 536 00:23:54,130 --> 00:23:56,720 ki, dəlil surəti keçən. 537 00:23:56,720 --> 00:24:01,020 Və mən burada 2 saylı aşağı yazmış və Ken onu yalnız o olmalıdır 538 00:24:01,020 --> 00:24:04,760 Mən hələ bir yerdə dəyəri 2 surəti var deməkdir. 539 00:24:04,760 --> 00:24:08,140 Həqiqətən, indi dəyəri 8 geri kazanılmış etdik ki, mən geri getmək lazımdır, çünki 540 00:24:08,140 --> 00:24:12,010 Mən bir sayı 2 olduğu RAM və faktiki 8 yazın. 541 00:24:12,010 --> 00:24:15,720 >> Belə ki, görmə sözün keçən bu anlayışı xatırlamaq 542 00:24:15,720 --> 00:24:16,730 dəyəri surəti. 543 00:24:16,730 --> 00:24:19,570 Ken onun şey yoxdur geri bir şey mənə Hands - bu halda, 544 00:24:19,570 --> 00:24:20,820 8 kimi bir dəyəri. 545 00:24:20,820 --> 00:24:22,660 Və sonra mən ki, dəyəri bir şey varsa, mən 546 00:24:22,660 --> 00:24:24,880 ətrafında saxlamaq istəyirik. 547 00:24:24,880 --> 00:24:29,470 Belə ki, bütün bu uzun əvvəl bütün çox tanış olacaq. 548 00:24:29,470 --> 00:24:33,082 Burada bu demo üçün çox Ken təşəkkür edirik. 549 00:24:33,082 --> 00:24:34,820 Bütün hüquqlar. 550 00:24:34,820 --> 00:24:36,720 Çox yaxşı. 551 00:24:36,720 --> 00:24:40,610 Belə ki, son nəticədə funksiyası bəzi aid necə edək 552 00:24:40,610 --> 00:24:42,270 biz burada bunu etdik ki, zəng. 553 00:24:42,270 --> 00:24:47,610 Mənə irəli getmək və burada cubing Məsələn bizə geri gətirmək imkan verir. 554 00:24:47,610 --> 00:24:53,080 Və biz, həqiqətən, bu da qəbul başlamaq istəyirsinizsə, biz olacaq fark 555 00:24:53,080 --> 00:24:57,050 sayı x qəbul edilir ki, faktı nəzərə etmək 556 00:24:57,050 --> 00:25:01,390 burada həqiqətən funksiyası keçdi olunur nə fərqlidir. 557 00:25:01,390 --> 00:25:03,940 Belə ki, yenə, surəti qəbul bu olduqca olmaq niyyətindədir 558 00:25:03,940 --> 00:25:05,620 yalnız bir anda ilgili. 559 00:25:05,620 --> 00:25:09,320 >> Belə nin çox sağ hələ işləmir ki, bir şey nəzər salaq. 560 00:25:09,320 --> 00:25:11,790 Mən irəli getmək və bir üçüncü arabası Məsələn açmaq gedirəm olan 561 00:25:11,790 --> 00:25:13,560 təbiəti ilə flawed edir. 562 00:25:13,560 --> 00:25:18,070 Və buggy3 adlanır və bir dəyişdirmə funksiyasını həyata keçirir oldu. 563 00:25:18,070 --> 00:25:23,500 Belə ki, burada biz x və y özbaşına üçün başlatılmış bir əsas funksiyası 564 00:25:23,500 --> 00:25:24,720 Müvafiq olaraq 1 və 2,. 565 00:25:24,720 --> 00:25:27,590 Biz GetInt istifadə edə bilər, ancaq yalnız bir sadə həyata lazımdır. 566 00:25:27,590 --> 00:25:29,680 Belə ki, 1 və 2 kimi ağır kodlu var. 567 00:25:29,680 --> 00:25:35,330 Xətləri 21 və 22, biz yəqin x və y, satır başına bir çap. 568 00:25:35,330 --> 00:25:39,620 Sonra, line 23, mən, nöqtə, nöqtə, nöqtə bu dəyərləri dəyişdirmə edirəm iddia edirlər. 569 00:25:39,620 --> 00:25:43,030 Mən yəqin svop adlı line 24 funksiyası zəng 570 00:25:43,030 --> 00:25:44,000 iki dəlilləri edir. 571 00:25:44,000 --> 00:25:46,430 Funksiyaları iki dəlilləri almaq üçün tamamilə legit var. 572 00:25:46,430 --> 00:25:48,220 Biz printf artıq bunu gördük. 573 00:25:48,220 --> 00:25:50,370 Belə svop yəqin x və y edir. 574 00:25:50,370 --> 00:25:53,010 Onun adı təklif kimi, mən bu olacaq ki, ümid olacaq 575 00:25:53,010 --> 00:25:54,320 Bu iki dəyərlər dəyişdirmək. 576 00:25:54,320 --> 00:25:57,560 Beləliklə mən line 25 iddia, dəyişdirildikdə. 577 00:25:57,560 --> 00:26:01,570 Mən ehtimal altında x və y baskı ki, 578 00:26:01,570 --> 00:26:02,830 onlar həqiqətən değiştirilecek etdik. 579 00:26:02,830 --> 00:26:04,370 Amma əslində bu proqram run əgər - 580 00:26:04,370 --> 00:26:06,060 Mənə bir terminal pəncərə açmaq bildirin. 581 00:26:06,060 --> 00:26:07,750 Mənə buggy3 etmək edək. 582 00:26:07,750 --> 00:26:09,970 Adı təklif kimi, bu yaxşı başa niyyətində deyil. 583 00:26:09,970 --> 00:26:14,690 Mən x 1 fark, Enter Çünki. 584 00:26:14,690 --> 00:26:15,720 y 2-dir. 585 00:26:15,720 --> 00:26:19,160 Və hələ, proqramın sonunda, onlar, faktiki olaraq, hələ də eyni istəyirik. 586 00:26:19,160 --> 00:26:22,760 >> Belə ki, yalnız indi Ken ilə, nə həqiqətən neler nümayiş əsaslanır? 587 00:26:22,760 --> 00:26:24,660 Yaxşı, bu mübadilə funksiyası daxil dive edək. 588 00:26:24,660 --> 00:26:25,800 Bu qısa super deyil. 589 00:26:25,800 --> 00:26:28,020 Yalnız uzun kodu bir neçə xətləri var. 590 00:26:28,020 --> 00:26:32,810 Amma sadə hekayə əsasında fundamental problem nə izah edir 591 00:26:32,810 --> 00:26:34,270 qədər burada Ken ilə? 592 00:26:34,270 --> 00:26:36,115 Niyə svop sınıq olunur? 593 00:26:36,115 --> 00:26:37,365 [Işitilemez] 594 00:26:39,840 --> 00:26:40,460 Exactly. 595 00:26:40,460 --> 00:26:43,610 Biz dəyişən, bir surəti özü saxlanılması edirik. 596 00:26:43,610 --> 00:26:46,810 Başqa sözlə, svop yəqin iki arqumentlər bir int edir. 597 00:26:46,810 --> 00:26:49,370 Və bu özbaşına bir və b deyirlər. 598 00:26:49,370 --> 00:26:54,430 Və burada mən, müvafiq olaraq 1 və 2 olan x və y, qəbul etdik. 599 00:26:54,430 --> 00:26:56,580 Amma sanki x keçən deyiləm. 600 00:26:56,580 --> 00:26:58,410 Mən sözün y keçən deyiləm. 601 00:26:58,410 --> 00:27:01,230 Mən x surəti və y surəti keçən alıram. 602 00:27:01,230 --> 00:27:05,180 Siz sitemizi və dəyərləri dəyişdirmək yapıştırılabilir sanki demək olar ki, kimi 603 00:27:05,180 --> 00:27:07,440 siz həqiqətən manipulyasiya etmək istəyirəm. 604 00:27:07,440 --> 00:27:11,970 Ki, proqram həyata başlamaq zaman, var əgər 605 00:27:11,970 --> 00:27:14,140 line 35, sonra 36 - 606 00:27:14,140 --> 00:27:17,740 Mən hekayə bu nöqtədə, line 37 almaq zaman nə dəyəri var? 607 00:27:20,740 --> 00:27:24,850 Hekayə Bu nöqtədə, line 37, bu nöqtədə bir dəyəri nədir? 608 00:27:24,850 --> 00:27:25,980 Belə ki, yalnız 1 olmalıdır. 609 00:27:25,980 --> 00:27:26,170 Sağ? 610 00:27:26,170 --> 00:27:29,100 X ilk arqument kimi qəbul Çünki. 611 00:27:29,100 --> 00:27:33,150 Bu funksiya yalnız özbaşına bir ilk arqument çağırır. 612 00:27:33,150 --> 00:27:35,130 Eyni y, ikinci dəlildir. 613 00:27:35,130 --> 00:27:37,930 Və yalnız özbaşına ikinci dəlil b zəng edir. 614 00:27:37,930 --> 00:27:40,510 >> İndi bu dichotomy həqiqətən kifayət qədər sadəcə izah olunur. 615 00:27:40,510 --> 00:27:40,880 Bu barədə düşünün. 616 00:27:40,880 --> 00:27:42,980 Bizə heç printf yazan şəxs görüşmüşdür. 617 00:27:42,980 --> 00:27:49,880 Beləliklə, şübhəsiz ki, o, bizim dəyişənlərin 30 il sonra gedir nə heç bir fikir var 618 00:27:49,880 --> 00:27:50,710 çağırılacaq. 619 00:27:50,710 --> 00:27:55,110 Beləliklə, siz dəyişkənlərdə dediyimiz arasında bir fərq olmalıdır var 620 00:27:55,110 --> 00:27:59,960 siz yazıyoruz funksiyaları və nə sizin etdiyiniz funksiyaları dəyişənlərin zəng 621 00:27:59,960 --> 00:28:01,770 zəng və ya istifadə. 622 00:28:01,770 --> 00:28:05,120 Belə ki, başqa sözlə, mən x və y kimi dəyişənlərin yazıblar. 623 00:28:05,120 --> 00:28:08,060 Amma başqasının mübadilə funksiyası yazılı olsaydı, o, şübhəsiz ki, 624 00:28:08,060 --> 00:28:10,480 mənim dəyişənlərin adlandırmaq gedir nə deyil. 625 00:28:10,480 --> 00:28:13,850 Belə ki, adları bu ikilik niyə bu bilirik. 626 00:28:13,850 --> 00:28:16,800 Texniki, mən təsadüf bunu bilər. 627 00:28:16,800 --> 00:28:19,750 Amma onlar hələ nüsxə kimi qəbul olunacaq. 628 00:28:19,750 --> 00:28:22,940 Bu yalnız yazırdı estetik ki, adam bir təmiz təsadüf olacaq 629 00:28:22,940 --> 00:28:25,590 svop eyni adlar istifadə etmişlər. 630 00:28:25,590 --> 00:28:25,930 >> Bütün hüquqlar. 631 00:28:25,930 --> 00:28:29,010 Belə ki, hekayə bu nöqtədə, line 37, 1-dir. 632 00:28:29,010 --> 00:28:30,410 b 2-dir. 633 00:28:30,410 --> 00:28:32,040 İndi Mən onlara dəyişdirmək üçün davam. 634 00:28:32,040 --> 00:28:34,730 Yaxşı ilk növbədə, mənə, həqiqətən, çox sadəcə bunu bildirin. 635 00:28:34,730 --> 00:28:36,500 Mən kodu həmin üç xətləri nə etdiklərinizi bilmirəm. 636 00:28:36,500 --> 00:28:37,370 Mənə yalnız bunu edək. 637 00:28:37,370 --> 00:28:38,850 b bir olur. 638 00:28:38,850 --> 00:28:40,170 a b olur. 639 00:28:40,170 --> 00:28:41,450 Done. 640 00:28:41,450 --> 00:28:43,540 Niyə bu məntiqi, broken deyil? 641 00:28:46,980 --> 00:28:48,590 Bu hüququ intuitiv şey növü var? 642 00:28:48,590 --> 00:28:50,640 Belə ki, b bir olur. 643 00:28:50,640 --> 00:28:52,450 Və b bir olur. 644 00:28:52,450 --> 00:28:55,410 Ancaq problem line 37 icra kimi nə ki, deyil 645 00:28:55,410 --> 00:28:58,170 bir və b dəyəri? 646 00:28:58,170 --> 00:28:59,070 1, eyni. 647 00:28:59,070 --> 00:29:03,460 Bunu danışmaq, clobbered Çünki, bir bərabər b değiştirdik. 648 00:29:03,460 --> 00:29:06,000 Belə ki, bir dəfə line 37 edam ki, böyük deyil. 649 00:29:06,000 --> 00:29:09,940 İndi bu funksiya sayı 1 içərisində iki nüsxədə var. 650 00:29:09,940 --> 00:29:14,720 Beləliklə siz line 38-deyəndə, bir b olur, yaxşı, siz cür berbat edirik. 651 00:29:14,720 --> 00:29:17,370 Yalnız 1 1 təyin etdiyiniz çünki. 652 00:29:17,370 --> 00:29:20,400 Siz tipli haqqında qayğı dəyəri itirilmiş etdik. 653 00:29:20,400 --> 00:29:22,910 >> Belə ki, bu orijinal versiya, mən nə görürsünüz. 654 00:29:22,910 --> 00:29:26,620 Mən əvəzinə bu kimi baxdı kodu üçüncü xətt idi. 655 00:29:26,620 --> 00:29:29,910 Mən müvəqqəti dəyişən elan - tmp bir çox ümumi adı 656 00:29:29,910 --> 00:29:31,240 müvəqqəti dəyişən üçün. 657 00:29:31,240 --> 00:29:34,280 Mən surəti etmək istədiyiniz nə uyğun var, çünki bir int var. 658 00:29:34,280 --> 00:29:39,720 Mən tmp bir daxili surəti saxlamayın. Belə ki, bir dəfə line 37 yerinə ki, 659 00:29:39,720 --> 00:29:41,390 bir dəyəri var - 660 00:29:41,390 --> 00:29:42,970 tez ağlı başında olma kontrol - 661 00:29:42,970 --> 00:29:43,460 1. 662 00:29:43,460 --> 00:29:45,780 B dəyəri 2-dir. 663 00:29:45,780 --> 00:29:48,470 Və tmp dəyəri də 1-dir. 664 00:29:48,470 --> 00:29:51,470 Belə ki, indi mən line 38 icra. 665 00:29:51,470 --> 00:29:57,180 Line 38 həyata bir dəfə Beləliklə, b dəyəri edir. 666 00:29:57,180 --> 00:29:58,510 Və b 2 idi. 667 00:29:58,510 --> 00:30:00,500 Belə bir artıq 2-dir. 668 00:30:00,500 --> 00:30:03,110 Belə ki, hekayə bu nöqtədə, 2 deyil, b, 2 669 00:30:03,110 --> 00:30:05,130 və tmp 1-dir. 670 00:30:05,130 --> 00:30:09,330 Belə ki, indi məntiqi, biz b içinə yalnız Plop tmp dəyəri bilər. 671 00:30:09,330 --> 00:30:10,690 Və biz tamamlayın. 672 00:30:10,690 --> 00:30:12,170 >> Belə ki, problem həll etdik. 673 00:30:12,170 --> 00:30:16,040 Təəssüf ki, bu formada, bu proqram çalıştırdığınızda, faktiki dəyişdirmək deyil 674 00:30:16,040 --> 00:30:17,700 hər hansı dəyərlər. 675 00:30:17,700 --> 00:30:18,950 Amma niyə aydın olacaq? 676 00:30:23,420 --> 00:30:26,310 Mən yalnız bir an əvvəl məntiqi problem müəyyən. 677 00:30:26,310 --> 00:30:31,150 Bu proqram run Lakin yenə, x və y sonuna dəyişməz qalır 678 00:30:31,150 --> 00:30:33,834 Proqramın icrası. 679 00:30:33,834 --> 00:30:34,760 [Işitilemez] 680 00:30:34,760 --> 00:30:36,030 DAVID J. MALAN: Beləliklə, biz bir şey geri qaytarılmamışdır. 681 00:30:36,030 --> 00:30:36,960 Belə ki, doğrudur. 682 00:30:36,960 --> 00:30:39,880 Çünki bu günə qədər bir problem bir qədər burada var həyata Amma çevrilir ki, 683 00:30:39,880 --> 00:30:42,460 biz qayıdacaqlar olduğunuz tək şey bir şeydir. 684 00:30:42,460 --> 00:30:46,540 Və bu, yalnız, həqiqətən, bir dəyər ola bilər C. bir məhdudiyyət deyil 685 00:30:46,540 --> 00:30:48,970 Bu halda, burada stuck cür deyiləm 686 00:30:48,970 --> 00:30:51,805 Mən x yeni dəyər qayıtmaq və ya ola bilər, çünki mən geri bilər 687 00:30:51,805 --> 00:30:53,160 y yeni dəyər. 688 00:30:53,160 --> 00:30:54,330 Amma mən həm geri istəyirəm. 689 00:30:54,330 --> 00:30:58,010 Belə ki, sadə həll burada deyil qaytarılması. 690 00:30:58,010 --> 00:30:59,770 Ancaq problem əsaslı nə edir? 691 00:30:59,770 --> 00:31:03,270 Biz həqiqətən nə değiştirilecek var? 692 00:31:03,270 --> 00:31:04,010 bir və b. 693 00:31:04,010 --> 00:31:07,670 Amma və b biz yalnız bütün bu idi deməkdir x və y, surəti var 694 00:31:07,670 --> 00:31:10,080 iş - biz yalnız mübadilə söhbət üç dəqiqə kimi sərf 695 00:31:10,080 --> 00:31:11,680 funksiyası və bu dəyişənlərin bütün üç. 696 00:31:11,680 --> 00:31:15,090 Və təcrid mükəmməl düzgün, böyük deyil. 697 00:31:15,090 --> 00:31:20,230 Amma və b-nin əhatə dairəsi yalnız burada bu xətlər edir. 698 00:31:20,230 --> 00:31:24,130 Belə ki, yalnız, loop üçün kimi i üçün daxilində tam bəyan əgər 699 00:31:24,130 --> 00:31:27,400 loop - eyni bir funksiyası sizə elan edirik bir və b daxili ki, 700 00:31:27,400 --> 00:31:30,550 siz yazdıq ki, onlar funksiyası yalnız etibarlı daxili istəyirik. 701 00:31:30,550 --> 00:31:35,020 Hansı tez mübadilə icra edilir kimi deməkdir və biz line 24 getmək 702 00:31:35,020 --> 00:31:38,380 line 25, x və y bütün dəyişdirilə deyil. 703 00:31:38,380 --> 00:31:42,580 Siz yalnız dəyişənlərin surətləri dəyişdirmə zaman bütün çox sərf. 704 00:31:42,580 --> 00:31:46,490 >> Belə ki, bu həll, həqiqətən, qeyri-aydındır ki çevrilir. 705 00:31:46,490 --> 00:31:49,210 Bu dəyərlər qayıtmaq üçün kifayət deyil, çünki biz 706 00:31:49,210 --> 00:31:50,320 yalnız bir dəyər qayıt. 707 00:31:50,320 --> 00:31:53,370 Mən, həqiqətən, eyni zamanda x və y həm dəyişdirmək istəyirsiniz. 708 00:31:53,370 --> 00:31:55,020 Beləliklə, biz bu qayıda olacaq. 709 00:31:55,020 --> 00:31:58,770 Amma indi, bu məsələ əsaslı faktı irəli gəlir ki, həyata 710 00:31:58,770 --> 00:32:00,660 bir və b nüsxə var. 711 00:32:00,660 --> 00:32:03,450 Onlar öz daxilində var. 712 00:32:03,450 --> 00:32:04,980 Bəli, bəzi bu şəkildə həll etməyə cəhd edək. 713 00:32:04,980 --> 00:32:09,200 Mənə həqiqətən burada geri hərəkət edək və açmaq, dördüncü variant, deyək 714 00:32:09,200 --> 00:32:11,170 bu, buggy4. 715 00:32:11,170 --> 00:32:13,230 Və nə bu? 716 00:32:13,230 --> 00:32:16,690 Bu bir zərbə almaq əvvəl baxmaq oxşar lakin sadə problem deyil 717 00:32:16,690 --> 00:32:17,530 bu həlli. 718 00:32:17,530 --> 00:32:19,440 Bu proqram artım adlanır. 719 00:32:19,440 --> 00:32:24,320 Və yəqin line 18-1-ə x tam initializes. 720 00:32:24,320 --> 00:32:25,950 Mən x 1 iddia edirlər. 721 00:32:25,950 --> 00:32:28,020 Mən, nöqtə, nöqtə, nöqtə incrementing iddia. 722 00:32:28,020 --> 00:32:29,460 Mən sonra artım çağırırıq. 723 00:32:29,460 --> 00:32:33,480 Amma sonra xətləri 22 və 23, mən incremented edilmişdir iddia edirlər. 724 00:32:33,480 --> 00:32:37,780 Mən x güman ki, nə indi 2 iddia edirlər. 725 00:32:37,780 --> 00:32:39,770 >> Lakin bu proqram arabası deyil. 726 00:32:39,770 --> 00:32:41,020 Problemi nədir? 727 00:32:43,450 --> 00:32:44,418 Evet? 728 00:32:44,418 --> 00:32:45,668 [Işitilemez] 729 00:32:49,260 --> 00:32:49,850 DAVID J. MALAN: Exactly. 730 00:32:49,850 --> 00:32:52,430 Belə x line 18-aşkar elan olunub. 731 00:32:52,430 --> 00:32:54,410 Yəni əsas nin qıvrım aşırma daxilində deyil. 732 00:32:54,410 --> 00:32:58,470 Belə ki, burada sadə cavab yaxşı x burada var ki. 733 00:32:58,470 --> 00:33:01,510 Bu xətt 32 mövcud deyil. 734 00:33:01,510 --> 00:33:03,710 Belə ki, bu proqram həqiqətən belə tərtib edəcək. 735 00:33:03,710 --> 00:33:07,910 Bu compiler, bu kodu tərtib çalıştığınızda, mənə fəğan edir 736 00:33:07,910 --> 00:33:13,190 bəzi bəyan identifikatoru və ya bu barədə bir şey haqqında. 737 00:33:13,190 --> 00:33:13,870 Əslində isə edək. 738 00:33:13,870 --> 00:33:15,235 Bu buggy4 olun. 739 00:33:17,780 --> 00:33:18,190 Yoxdur deyil. 740 00:33:18,190 --> 00:33:22,030 Line 32 elan olunmamış identifikator x istifadə edin. 741 00:33:22,030 --> 00:33:25,700 Və həqiqətən, bu faydalı ki, bu gün burada daha aydın olsun 742 00:33:25,700 --> 00:33:27,140 ofis saat və evdə. 743 00:33:27,140 --> 00:33:29,000 Bu cryptically yazılı bir az olduğunu görürük. 744 00:33:29,000 --> 00:33:31,560 Amma cingilti var ki, deyərək bizə yelled 745 00:33:31,560 --> 00:33:36,970 buggy4.c: 32:5, həqiqətən faydalıdır. 746 00:33:36,970 --> 00:33:41,970 Bu səhv xarakter mövqe beş line 32 deməkdir. 747 00:33:41,970 --> 00:33:44,670 Bir, iki, üç, dörd, beş edir. 748 00:33:44,670 --> 00:33:46,640 Problem yerləşir ki, əslində, var. 749 00:33:46,640 --> 00:33:49,710 Və həmçinin ofis saat evdə unutmayın, burada xoşbəxt deyiləm. 750 00:33:49,710 --> 00:33:50,740 Mən bir səhv var. 751 00:33:50,740 --> 00:33:52,660 Düzeltmek üçün nisbətən asan olacaq. 752 00:33:52,660 --> 00:33:56,220 Amma siz yenə böyük səhv mesajları, tam bir bütün ekran almaq, 753 00:33:56,220 --> 00:33:59,240 bu bottommost bir yalnız simptomatik ola bilər ki, həyata 754 00:33:59,240 --> 00:34:00,320 bu topmost olanları. 755 00:34:00,320 --> 00:34:03,560 Belə ki, həmişə üst aşağı sizin hataları aşağı təqib. 756 00:34:03,560 --> 00:34:06,720 Yalnız təklif olunur ki, papatya-zəncirvari təsiri ola bilər, çünki 757 00:34:06,720 --> 00:34:09,030 həqiqətən bunu çox yol daha çox problemlər var. 758 00:34:09,030 --> 00:34:14,989 >> Mənim qol x arttırmayı əgər Belə ki, necə biz bu düzeltmek olar? 759 00:34:14,989 --> 00:34:15,370 Nə olub? 760 00:34:15,370 --> 00:34:15,620 Okay. 761 00:34:15,620 --> 00:34:16,679 Beləliklə, biz x qlobal edə bilərsiniz. 762 00:34:16,679 --> 00:34:18,860 Nın Mən əvvəllər xəbərdarlığını qısa edək. 763 00:34:18,860 --> 00:34:20,550 Lakin heck, biz yalnız bir sürətli fix lazımdır. 764 00:34:20,550 --> 00:34:23,949 Belə ki, yalnız qədər burada int x deyək. 765 00:34:23,949 --> 00:34:25,600 Bu x qlobal edir. 766 00:34:25,600 --> 00:34:28,460 Belə ki, indi əsas bu çıxışı var. 767 00:34:28,460 --> 00:34:31,780 Və artım bu çıxışı var. 768 00:34:31,780 --> 00:34:33,860 Və Mənə davam və indi bu tərtib edək. 769 00:34:33,860 --> 00:34:36,330 Buggy4 olun, daxil edin. 770 00:34:36,330 --> 00:34:37,440 İndi tərtib görünür. 771 00:34:37,440 --> 00:34:40,949 Gəlin buggy4 run, və faktiki iş görünür. 772 00:34:40,949 --> 00:34:42,780 İndi bu bunlar biri - 773 00:34:42,780 --> 00:34:45,870 Mən demək kimi mən yalnız burada etdiyiniz kimi, mən nə kimi bunu. 774 00:34:45,870 --> 00:34:49,239 Ümumiyyətlə, çünki bizim proqramları daha çox maraqlı olacaq və 775 00:34:49,239 --> 00:34:50,440 bu daha uzun. 776 00:34:50,440 --> 00:34:53,199 Və həyat problemləri üçün həll yalnız ah, əgər bütün qoymaq 777 00:34:53,199 --> 00:34:57,550 fayl üst dəyişənlər çox tez proqramları almaq nə 778 00:34:57,550 --> 00:34:59,700 idarə horrifically çətindir. 779 00:34:59,700 --> 00:35:02,050 Bu yeni dəyişən adları qədər düşünmək çətindir olur. 780 00:35:02,050 --> 00:35:05,240 Bu dəyişən nə edir nə anlamaq çətindir olur. 781 00:35:05,240 --> 00:35:08,250 >> Və ümumiyyətlə, bu yaxşı bir həll deyil. 782 00:35:08,250 --> 00:35:09,780 Belə ki, daha bu nə edək. 783 00:35:09,780 --> 00:35:11,920 Biz burada qlobal dəyişən istifadə etmək istəmirik. 784 00:35:11,920 --> 00:35:14,050 Mən x arttırmayı istəyirəm. 785 00:35:14,050 --> 00:35:16,050 Mən açıq-aşkar ola bilər - 786 00:35:16,050 --> 00:35:18,450 biz yalnız bu çünki günün sonunda, bir silly hekayə növü var. 787 00:35:18,450 --> 00:35:22,050 Hesab edirəm ki, operator bilirsiniz, və ya olmasaydı Amma icazə verilmədi 788 00:35:22,050 --> 00:35:27,700 özü əsas dəyişdirmək, necə başqa mən bu, buraya Ken həyata bilər 789 00:35:27,700 --> 00:35:31,450 zaman kub lakin arttırmayı? 790 00:35:31,450 --> 00:35:32,700 Mən burada bu şey dəyişə bilərəm? 791 00:35:32,700 --> 00:35:33,025 Bəli. 792 00:35:33,025 --> 00:35:34,275 [Işitilemez] 793 00:35:37,430 --> 00:35:38,000 DAVID J. MALAN: OK, yaxşı. 794 00:35:38,000 --> 00:35:40,490 Belə ki, niyə mən x keçmək yoxdur? 795 00:35:40,490 --> 00:35:44,390 Və sonra çox geri, niyə yalnız geri x + 1 deyil mi? 796 00:35:44,390 --> 00:35:46,370 İndi bir neçə daha çox şeyi burada dəyişdirmək lazımdır. 797 00:35:46,370 --> 00:35:47,530 Mən doğru yolda oldum. 798 00:35:47,530 --> 00:35:48,910 Mən nə çimdik üçün lazımdır? 799 00:35:48,910 --> 00:35:49,470 Başqası. 800 00:35:49,470 --> 00:35:49,882 Evet? 801 00:35:49,882 --> 00:35:51,530 [Işitilemez] 802 00:35:51,530 --> 00:35:53,520 DAVID J. MALAN: I artım qaytarılması növü dəyişdirmək lazımdır 803 00:35:53,520 --> 00:35:54,590 o ləğv deyil çünki. 804 00:35:54,590 --> 00:35:56,650 Ləğv heç bir şey geri edir deməkdir. 805 00:35:56,650 --> 00:35:57,600 Amma aydın, indi edir. 806 00:35:57,600 --> 00:36:01,280 Belə ki, bu ehtiyacları nə uyğun olacaq int dəyişdirmək üçün 807 00:36:01,280 --> 00:36:02,580 Mən, həqiqətən, dönən deyiləm. 808 00:36:02,580 --> 00:36:04,580 >> İndi başqa bir şey burada hələ arabası deyil. 809 00:36:04,580 --> 00:36:04,982 Evet? 810 00:36:04,982 --> 00:36:06,590 [Işitilemez] 811 00:36:06,590 --> 00:36:07,630 DAVID J. MALAN: Mən x arttırmayı lazımdır? 812 00:36:07,630 --> 00:36:10,336 [Işitilemez] 813 00:36:10,336 --> 00:36:11,880 DAVID J. MALAN: Ah, mən x keçmək lazımdır. 814 00:36:11,880 --> 00:36:13,300 Mən burada bunu etmək lazımdır. 815 00:36:17,590 --> 00:36:19,690 Prototip Belə ki, burada bu qədər dəyişiklik var. 816 00:36:19,690 --> 00:36:21,290 Belə ki, bu int olmaq var. 817 00:36:21,290 --> 00:36:22,820 Bu olmaq üçün var - 818 00:36:22,820 --> 00:36:23,670 hmm. 819 00:36:23,670 --> 00:36:24,710 Mən, həqiqətən, burada bir səhv aşağı var. 820 00:36:24,710 --> 00:36:25,780 Ilk bu düzeltmek edək. 821 00:36:25,780 --> 00:36:27,990 Bu əslində nə olmalıdır? 822 00:36:27,990 --> 00:36:29,330 Belə ki, bir int bir şey var. 823 00:36:29,330 --> 00:36:30,340 Bu x ola bilər. 824 00:36:30,340 --> 00:36:33,120 Sizin dəyişənlərin x bütün zəng başlamaq Lakin səmimi, bu olacaq 825 00:36:33,120 --> 00:36:35,250 daha az aydın olan olan. 826 00:36:35,250 --> 00:36:38,210 Belə ki, yalnız özbaşına mənim üçün ayrı bir adlandırma qurultayının seçmək edək 827 00:36:38,210 --> 00:36:40,220 köməkçi funksiyaları, mən yazıyoruz funksiyaları. 828 00:36:40,220 --> 00:36:41,100 Biz bir zəng edəcəyik. 829 00:36:41,100 --> 00:36:44,500 Yoxsa zəng bilər - Gəlin daha aydın olacaq even_number çağırırıq. 830 00:36:44,500 --> 00:36:47,610 Beləliklə mən sıra müsbət 1 nə qayıtmaq lazımdır. 831 00:36:47,610 --> 00:36:49,720 İndi burada bir başqa şey dəyişdirmək üçün 832 00:36:49,720 --> 00:36:50,700 burada başqa şey. 833 00:36:50,700 --> 00:36:54,150 Mən ilk 21 dəyişdirmək üçün nə var? 834 00:36:54,150 --> 00:36:55,390 Mən x onu təyin etmək lazımdır. 835 00:36:55,390 --> 00:36:57,480 Mən yalnız artım x zəng edə bilməz. 836 00:36:57,480 --> 00:37:01,000 Mən x dəyəri dəyişən cavab xatırlamaq lazımdır 837 00:37:01,000 --> 00:37:02,020 sol tərəfində. 838 00:37:02,020 --> 00:37:04,930 Və x artıq olsa sol və sağ ki, tamamilə gözəl çünki 839 00:37:04,930 --> 00:37:08,370 sağ tərəfdən ilk edam olur sonra sol daxil plopped olur 840 00:37:08,370 --> 00:37:10,240 əl şey, bu halda x. 841 00:37:10,240 --> 00:37:11,900 Və sonra nəhayət, indi asan fix edir. 842 00:37:11,900 --> 00:37:15,080 Bu nə aşağı deyil uyğun olmalıdır. 843 00:37:15,080 --> 00:37:17,120 Int sayı. 844 00:37:17,120 --> 00:37:17,320 >> Bütün hüquqlar. 845 00:37:17,320 --> 00:37:20,290 Həqiqətən axmaq funksiyası dəyişikliklər bütün dəstə edir. 846 00:37:20,290 --> 00:37:24,250 Amma getdikcə etmək lazımdır ki şeyi nümayəndəsi. 847 00:37:24,250 --> 00:37:25,490 Belə buggy4 edir. 848 00:37:25,490 --> 00:37:26,485 Mən haradasa qıfıllar etdik. 849 00:37:26,485 --> 00:37:27,520 Pərvərdigara. 850 00:37:27,520 --> 00:37:29,660 Beş səhvlər, kimi, altı-line proqramı. 851 00:37:29,660 --> 00:37:36,500 Belə ki, xarakteri, xətti, 18 yanlış nə 5 var? 852 00:37:36,500 --> 00:37:36,970 Bütün hüquqlar. 853 00:37:36,970 --> 00:37:39,330 Mən bu int elan var. 854 00:37:39,330 --> 00:37:39,630 Bütün hüquqlar. 855 00:37:39,630 --> 00:37:41,790 Belə ki, digər səhvlər bütün dəstə görmək bildirin. 856 00:37:41,790 --> 00:37:42,230 Pərvərdigara. 857 00:37:42,230 --> 00:37:43,880 19, 18, 21. 858 00:37:43,880 --> 00:37:46,020 Amma yenə nin yalnız ekran sil qoy - 859 00:37:46,020 --> 00:37:48,660 Nəzarət burada L - və yenidən run cingilti. 860 00:37:48,660 --> 00:37:51,340 Belə ki, beş problemlər həqiqətən yalnız biridir. 861 00:37:51,340 --> 00:37:53,500 Belə ki, indi daxil edin nin buggy4 run imkan verir. 862 00:37:53,500 --> 00:37:54,150 Whew. 863 00:37:54,150 --> 00:37:57,434 x doğru incremented edilmişdir. 864 00:37:57,434 --> 00:37:58,420 >> Bütün hüquqlar. 865 00:37:58,420 --> 00:38:01,700 Ədəd arttırmayı haqqında suallarınız var mı? 866 00:38:01,700 --> 00:38:02,896 Evet? 867 00:38:02,896 --> 00:38:06,864 HOPARLÖR 2: Nə üçün yalnız dəyişən sayı x dəyişə bilərsiniz ki, 868 00:38:06,864 --> 00:38:08,860 ad və siz demək nə olacaq? 869 00:38:08,860 --> 00:38:09,600 DAVID J. MALAN: Yaxşı sualdır. 870 00:38:09,600 --> 00:38:13,130 Mən yalnız sayı x dəyişə bilərsiniz və proqram bilirik ki, necə 871 00:38:13,130 --> 00:38:13,990 dərhal? 872 00:38:13,990 --> 00:38:16,120 Belə ki, yenə bu abstraksiya kimi düşünün. 873 00:38:16,120 --> 00:38:20,110 Mən əsas deyiləm və Ken əlavə əgər Belə ki, səmimi, mən qayğı yoxdur 874 00:38:20,110 --> 00:38:21,540 Ken onun iPad çağırır nə. 875 00:38:21,540 --> 00:38:25,350 Mən onun həyata keçirilməsi ilə nə var ki, bir şey çağırır nə qayğı yoxdur 876 00:38:25,350 --> 00:38:26,550 Bu funksionallıq. 877 00:38:26,550 --> 00:38:32,130 Belə ki, bu mən, əsas deyil ki, icra detal 878 00:38:32,130 --> 00:38:33,010 qayğı var. 879 00:38:33,010 --> 00:38:37,440 Və sadəcə sayı, burada ardıcıl daxili funksiyasının dəyişdirilməsi 880 00:38:37,440 --> 00:38:41,340 və burada sayı, mən derleyeceğiz kimi uzun edər. 881 00:38:41,340 --> 00:38:43,820 Bizə çox, sizin sürücü ilə - siz hesab növ kimi deyil 882 00:38:43,820 --> 00:38:46,590 idarə sonra, və ya hətta bir avtomobil idarə olsanız edən lisenziya - 883 00:38:46,590 --> 00:38:50,710 Bizi ən çox avtomobil başlıq altında necə heç bir fikrim yoxdur. 884 00:38:50,710 --> 00:38:54,710 Siz başlıq, bizim ən açmaq əgər sözün, - özüm daxil - 885 00:38:54,710 --> 00:38:56,580 həqiqətən biz aradığınız nə istəmirik. 886 00:38:56,580 --> 00:38:58,850 İndi bu hüququ kimi məhsulları ilə hiss edə bilər kimi şərti. 887 00:38:58,850 --> 00:39:01,380 Amma biz, həqiqətən, avtomobil necə qayğı yoxdur. 888 00:39:01,380 --> 00:39:05,000 Biz qayğı yoxdur nə daxilində çubuqlar və porşenlər və kabellər bütün 889 00:39:05,000 --> 00:39:07,700 avtomobil həqiqətən edirik. 890 00:39:07,700 --> 00:39:11,360 >> Siz piston dediyimiz kimi bir şey etməz Beləliklə 891 00:39:11,360 --> 00:39:11,920 burada bu halda. 892 00:39:11,920 --> 00:39:12,490 Eyni fikir. 893 00:39:12,490 --> 00:39:12,670 Evet? 894 00:39:12,670 --> 00:39:13,920 [Işitilemez] 895 00:39:25,250 --> 00:39:29,530 DAVID J. MALAN: dəyişən XA an daha istifadə əvvəl olsaydı, 896 00:39:29,530 --> 00:39:32,220 Əgər proqramçı, hər yerdə onları dəyişdirmək lazımdır. 897 00:39:32,220 --> 00:39:35,230 Yoxsa sözün, Fayl Menyu etmək, sonra dəyişdirin / axtar bilər 898 00:39:35,230 --> 00:39:36,270 kimi bir şey. 899 00:39:36,270 --> 00:39:40,110 Amma bu dəyişikliklərin özünüz etmək üçün gedir. 900 00:39:40,110 --> 00:39:41,200 Siz ardıcıl olmalıdır. 901 00:39:41,200 --> 00:39:42,450 [Işitilemez] 902 00:39:47,200 --> 00:39:48,960 DAVID J. MALAN: Burada kimi xüsusi sifariş? 903 00:39:48,960 --> 00:39:52,660 Bu idi, başqa bir sıra int? 904 00:39:52,660 --> 00:39:52,940 Bəli. 905 00:39:52,940 --> 00:39:56,430 Siz funksiyası zəng zaman üçün məsələləri. 906 00:39:56,430 --> 00:40:00,350 Mən bir şey vergül şey burada artım zəng idi əgər 907 00:40:00,350 --> 00:40:01,400 birbaşa mapping var. 908 00:40:01,400 --> 00:40:04,490 Bu adlı hər hansı ilk dəyişən, ilk surəti edilir 909 00:40:04,490 --> 00:40:05,480 burada argument. 910 00:40:05,480 --> 00:40:07,280 Bağışlayın, ancaq bu bir mötərizə olmamalıdır. 911 00:40:07,280 --> 00:40:09,300 Ikinci ilə ikinci dəlil xətləri up. 912 00:40:09,300 --> 00:40:11,220 >> Sifariş Belə ki, bəli, məsələləri. 913 00:40:11,220 --> 00:40:11,490 Bütün hüquqlar. 914 00:40:11,490 --> 00:40:13,360 Bağışlayın mən orada almaq üçün uzun bir yol etmişdir. 915 00:40:13,360 --> 00:40:14,610 Digər suallar? 916 00:40:16,460 --> 00:40:16,850 Bütün hüquqlar. 917 00:40:16,850 --> 00:40:20,300 Belə ki, biz, həqiqətən, neler bir şəkil rəngləməyin bilər nin görək 918 00:40:20,300 --> 00:40:22,160 burada başlıq altında, belə danışmaq. 919 00:40:22,160 --> 00:40:26,310 Belə ki, bu kompüter yaddaş təmsil bilər ki, bir düzbucaqlı edir. 920 00:40:26,310 --> 00:40:31,240 Ən azı, siz yaddaş işləri və ya RAM işləri necə heç bir fikrim yoxdur Belə ki, hətta 921 00:40:31,240 --> 00:40:33,590 siz dəstələri bu gün güman. 922 00:40:33,590 --> 00:40:34,740 Siz bu megabayt var. 923 00:40:34,740 --> 00:40:35,760 Siz bu gigabayt var. 924 00:40:35,760 --> 00:40:40,690 Və biz bir byte yalnız nə olduğunu həftə sıfırdan bilirsinizmi? 925 00:40:40,690 --> 00:40:41,280 8 bit. 926 00:40:41,280 --> 00:40:42,730 Sağ, belə ki, 8 zeroes və olanları. 927 00:40:42,730 --> 00:40:46,300 Kompüter bu gün RAM bir konsert, RAM iki gigs var Belə ki, bir var 928 00:40:46,300 --> 00:40:54,450 yaddaş milyard və ya 2 milyard bayt və ya təxminən 8 milyard və ya 16 milyard 929 00:40:54,450 --> 00:40:56,560 daxili kompüter bit. 930 00:40:56,560 --> 00:40:59,710 İndi az Yün Willy Məsələn fərqli olaraq, bu maqnit hissəciklərinin deyil 931 00:40:59,710 --> 00:41:00,560 adətən artıq. 932 00:41:00,560 --> 00:41:04,470 Getdikcə, noutbuk ən azı, bu bərk dövlət sürücü, SSDs, ki 933 00:41:04,470 --> 00:41:05,560 yalnız heç bir hissələri hərəkət etmişlər. 934 00:41:05,560 --> 00:41:06,710 Bu, bütün elektron var. 935 00:41:06,710 --> 00:41:08,070 Bu, bütün elektrik var. 936 00:41:08,070 --> 00:41:12,360 Belə ki, yalnız bir və ya iki təmsil edən kimi bu düzbucaqlı olsa da, hesab edirəm ki, 937 00:41:12,360 --> 00:41:13,930 siz ki, yaddaş gigabayt. 938 00:41:13,930 --> 00:41:15,500 >> Belə ki, yaddaş yığın edir. 939 00:41:15,500 --> 00:41:20,460 İndi kompüter elminin dünya off parçalanmış chunks növ var 940 00:41:20,460 --> 00:41:22,570 yaddaş müxtəlif şeyə. 941 00:41:22,570 --> 00:41:25,930 Bu kompüter RAM əgər Belə ki, məsələn, - kimi təklif 942 00:41:25,930 --> 00:41:30,400 orada düzbucaqlı - belə, sizin RAM üstündeki qaydaları ilə çıxır ki, 943 00:41:30,400 --> 00:41:33,170 danışmaq, mətn seqment deyilən nə adətən edir. 944 00:41:33,170 --> 00:41:35,910 Bu siz tərtib ki zeroes və olanlardır. 945 00:41:35,910 --> 00:41:39,040 Beləliklə, biz a.out nə olan başlıq altında nəzərdən olduğunuz zaman bütün 946 00:41:39,040 --> 00:41:40,360 bu zeroes və yenilərinin - 947 00:41:40,360 --> 00:41:44,000 bir proqram çalıştırdığınızda, o zeroes və olanları sabit dən yüklənir 948 00:41:44,000 --> 00:41:46,290 RAM deyilən bir şey sürücü. 949 00:41:46,290 --> 00:41:48,950 Və RAM, onlar üst qoymaq edirik. 950 00:41:48,950 --> 00:41:50,330 İndi isə, başqa şeylər var. 951 00:41:50,330 --> 00:41:53,060 Başlatılmış data uninitialized data. 952 00:41:53,060 --> 00:41:56,440 Yaddaş bu iki swaths, qlobal dəyişənlər istinad edən 953 00:41:56,440 --> 00:41:57,530 Əgər tez-tez istifadə etməyin. 954 00:41:57,530 --> 00:42:00,630 Əgər Lakin, bəzən onlar da orada son. 955 00:42:00,630 --> 00:42:01,620 Sonra bəzi digər məhsulları var. 956 00:42:01,620 --> 00:42:04,130 Biz çox vaxt sərf edəcək Ekologiya dəyişənlərin. 957 00:42:04,130 --> 00:42:06,120 Amma sonra iki mühüm şeyi ki, bu ərzində geri gələcək 958 00:42:06,120 --> 00:42:08,130 dövr, yığın və yığın. 959 00:42:08,130 --> 00:42:12,280 >> Üçün bir proqram çalışan Belə ki, kompüter yaddaş ən qorunur 960 00:42:12,280 --> 00:42:14,880 bir şey yığını adlanır və bir yığın çağırıb. 961 00:42:14,880 --> 00:42:16,940 Və biz bu gün yığın haqqında danışmaq fikrində deyilik, lakin biz 962 00:42:16,940 --> 00:42:18,180 yığını haqqında danışmaq. 963 00:42:18,180 --> 00:42:22,910 Və yığını yemekhane kimi əyani qədər hoqqa çıxarmaq deməkdir 964 00:42:22,910 --> 00:42:26,120 burada yemək Mather House qablar, və ya hər yerdə siz ola başına 965 00:42:26,120 --> 00:42:27,810 yemekhane heyəti hər gün təmizləyin. 966 00:42:27,810 --> 00:42:30,180 Onlar haqqında mərtəbə onları yığın. 967 00:42:30,180 --> 00:42:33,800 Və eyni yaddaş, bir bir şey qoyaraq bu fikri var 968 00:42:33,800 --> 00:42:36,740 bir yığın bir şey qoyaraq, bir yığın bir şey qoyaraq, yığın. 969 00:42:36,740 --> 00:42:38,000 Və biz bu nə deməkdir? 970 00:42:38,000 --> 00:42:41,430 Yaxşı, gəlin, bu şəkil yalnız aşağı yarısı üzrə kompüter zoom imkan 971 00:42:41,430 --> 00:42:43,990 RAM, aşağıdakı təklif. 972 00:42:43,990 --> 00:42:48,300 Bu ki a.out kimi bir proqram run və ya salam zaman nə çıxır 973 00:42:48,300 --> 00:42:49,920 proqram, siz yazdıq ki, 974 00:42:49,920 --> 00:42:53,030 yenə həmin zeroes və olanları sabit sürücü instantly - olan 975 00:42:53,030 --> 00:42:56,190 uzun müddətli saxlama, siz ştepseldən yapışın hətta orada qalır - 976 00:42:56,190 --> 00:42:57,220 RAM instantly. 977 00:42:57,220 --> 00:42:59,020 RAM, sabit sürücüler daha sürətli edir. 978 00:42:59,020 --> 00:43:00,700 Bu sabit diskler dən kiçik deyil. 979 00:43:00,700 --> 00:43:03,490 Siz onlara etdiyiniz zaman proqramları yaşadığı Amma bu. 980 00:43:03,490 --> 00:43:06,380 >> Beləliklə, siz ikiqat Mac və ya PC bir proqram basın - bu yüklü olub 981 00:43:06,380 --> 00:43:07,750 RAM daxil sabit. 982 00:43:07,750 --> 00:43:11,760 Bu RAM instantly kimi tezliklə kimi zeroes və isə, yol üst getmək 983 00:43:11,760 --> 00:43:13,130 mətn seqment deyilən. 984 00:43:13,130 --> 00:43:17,040 Amma sonra tez proqram həqiqətən başlayır kimi əsas, çalışan 985 00:43:17,040 --> 00:43:18,140 funksiyası adlanır. 986 00:43:18,140 --> 00:43:21,070 Və əsas, biz gördük kimi, tez-tez yerli dəyişənlər var. 987 00:43:21,070 --> 00:43:24,560 Və ints və strings və chars və bu kimi var. 988 00:43:24,560 --> 00:43:28,300 Belə ki, sizin yazılı ki, proqram və ya ki, proqram əgər 989 00:43:28,300 --> 00:43:33,680 ikiqat əsas daxilində bəzi dəyişənlər istifadə tıklayan, onlar da başa 990 00:43:33,680 --> 00:43:37,020 yaddaş sizin yığını altında, belə danışmaq. 991 00:43:37,020 --> 00:43:39,160 İndi daha konkret, bu həqiqətən nə deməkdir? 992 00:43:39,160 --> 00:43:44,080 Bu o deməkdir ki, biz hər şeyə sayı gedirdi əgər - 993 00:43:44,080 --> 00:43:49,380 biz kompüter sayı RAM bytes gedən halda, qeyd edir ki, 994 00:43:49,380 --> 00:43:51,650 Bu byte sayı sıfır ola bilər. 995 00:43:51,650 --> 00:43:56,130 Bu byte sayı bir, iki, üç, dörd, beş, altı, bütün ola bilər 996 00:43:56,130 --> 00:43:57,290 istəyirəm qədər yol - 997 00:43:57,290 --> 00:44:01,520 2 milyard orada üst bütün yol olacaq. 998 00:44:01,520 --> 00:44:05,960 Belə ki, başqa sözlə, biz bytes baxımından RAM və ya yaddaş haqqında danışmaq zaman, 999 00:44:05,960 --> 00:44:09,680 yalnız ki, kimsə hər sayı nə qərar verdi deməkdir 1000 00:44:09,680 --> 00:44:11,110 yaddaş bu chunks. 1001 00:44:11,110 --> 00:44:16,950 >> Belə ki, bir int üçün 32 bit lazımdır, və ya bir char üçün 8 bit, harada lazımdır 1002 00:44:16,950 --> 00:44:18,320 onlar yaddaş başa edirsiniz? 1003 00:44:18,320 --> 00:44:20,650 Yaxşı konseptual, onlar yalnız bu altındakı başa 1004 00:44:20,650 --> 00:44:21,780 şey yığını çağırıb. 1005 00:44:21,780 --> 00:44:25,670 Əsas funksiyası çağırır Lakin nə indi maraqlı deyil. 1006 00:44:25,670 --> 00:44:28,830 Foo, yalnız bir ixtiyari adını funksiyası düşünək. 1007 00:44:28,830 --> 00:44:32,480 Yaddaş bu yığını altında nə əsas deyil. 1008 00:44:32,480 --> 00:44:35,630 Foo artıq yaddaş əsas üst qoyulur. 1009 00:44:35,630 --> 00:44:40,020 Foo konseptual yuxarıda cür başa hər hansı yerli dəyişənlərin ki, 1010 00:44:40,020 --> 00:44:40,770 əsas o. 1011 00:44:40,770 --> 00:44:46,920 Foo bar adlı başqa bir funksiyası çağırır, bu dəyişənlərin burada son. 1012 00:44:46,920 --> 00:44:49,790 Bar burada başqa bir şey, burada çağırır edin. 1013 00:44:49,790 --> 00:44:53,900 Belə ki, nə bir proqram çalışan haqqında maraqlı, siz funksiyaları zəng kimi ki 1014 00:44:53,900 --> 00:44:57,720 və bu funksiyaları funksiyaları zəng və bu funksiyaları funksiyaları zəng kimi, 1015 00:44:57,720 --> 00:45:00,980 yaddaş funksiyaları bu yığını qurmaq. 1016 00:45:00,980 --> 00:45:06,740 Və yalnız bir funksiyası yekunları dəfə siz yaddaş geri alınması başlamaq yoxdur. 1017 00:45:06,740 --> 00:45:11,190 Belə ki, bir kompüter proqramı yaddaş tökülmək üçün asan yollarından biri üçün 1018 00:45:11,190 --> 00:45:14,170 qayıtmaq heç funksiyaları yazın. 1019 00:45:14,170 --> 00:45:16,650 >> Belə ki, məsələn, in bir ilə qədər nümayiş bildirin 1020 00:45:16,650 --> 00:45:18,460 qəsdən arabası proqramı. 1021 00:45:18,460 --> 00:45:24,690 Mənə davam və # , int əsas (void) daxil olar edək. 1022 00:45:24,690 --> 00:45:31,270 Və mən gedirəm isə hansı yəqin edəcək heç (2> 1) 1023 00:45:31,270 --> 00:45:33,370 bizə dəyişir. 1024 00:45:33,370 --> 00:45:37,720 Və mənə indi davam və printf bunu bildirin. 1025 00:45:37,720 --> 00:45:39,950 Əslində, az görmə maraqlı olacaq. 1026 00:45:39,950 --> 00:45:40,460 Bunu edək. 1027 00:45:40,460 --> 00:45:44,840 Int (i = 0; i> 0). 1028 00:45:44,840 --> 00:45:49,740 Bu səhv Gəlin, i + +. 1029 00:45:49,740 --> 00:45:51,150 Və burada printf deyil bildirin. 1030 00:45:51,150 --> 00:45:52,550 Nin mən vəz nə təcrübə edək. 1031 00:45:52,550 --> 00:45:54,090 Nin burada bir metodu edək. 1032 00:45:54,090 --> 00:46:00,860 Ləğv xor və biz int i demək lazımdır. 1033 00:46:00,860 --> 00:46:02,295 Və sonra printf, demək gedirəm - 1034 00:46:04,871 --> 00:46:06,790 oh, bu daha maraqlı etmək edək. 1035 00:46:06,790 --> 00:46:08,350 Nin əslində bütün bir şey çap çıxartmasın. 1036 00:46:08,350 --> 00:46:10,530 Yalnız bunu edək. 1037 00:46:10,530 --> 00:46:11,780 Xor (i). 1038 00:46:16,630 --> 00:46:17,000 >> Bütün hüquqlar. 1039 00:46:17,000 --> 00:46:20,040 Çünki nə bu arabası var? 1040 00:46:20,040 --> 00:46:22,850 Mən getmək kimi proqram həqiqətən bir şey deyil, çünki bu uydurma alıram 1041 00:46:22,850 --> 00:46:23,420 faiz. 1042 00:46:23,420 --> 00:46:24,670 Amma bu məqsəd deyil. 1043 00:46:24,670 --> 00:46:30,440 Məqsədi əsas funksiyası nə, yəqin edir bir proqram yazmaq olar? 1044 00:46:30,440 --> 00:46:31,370 Özü edin. 1045 00:46:31,370 --> 00:46:32,600 Və həqiqətən, biz loop ehtiyac yoxdur. 1046 00:46:32,600 --> 00:46:36,070 Gəlin belə həqiqətən nəzərdən qaçırmaq deyil, yalnız bu sadələşdirmək 1047 00:46:36,070 --> 00:46:37,310 əsas səhv. 1048 00:46:37,310 --> 00:46:39,200 Ana zənglər xor bəzi xor oxumaq. 1049 00:46:39,200 --> 00:46:41,760 Sonra mən axmaq bir şey etdi və mən güman çünki xor zəng xor idi 1050 00:46:41,760 --> 00:46:43,550 başqası bəlkə həyata gedirdi. 1051 00:46:43,550 --> 00:46:45,960 İndi bu hələ tərtib etmək niyyətində deyil. 1052 00:46:45,960 --> 00:46:48,340 Mən nə üçün lazımdır? 1053 00:46:48,340 --> 00:46:49,700 Mən prototip lazımdır, unutmayın. 1054 00:46:49,700 --> 00:46:55,520 Mən burada etibarsız xor (int i) qədər olmalıdır;. 1055 00:46:55,520 --> 00:46:57,470 >> Beləliklə, burada enmək əgər - 1056 00:46:57,470 --> 00:46:59,030 həqiqətən, ən böyük pəncərə istifadə edək. 1057 00:46:59,030 --> 00:47:01,670 Nin davam və xor etmək edək. 1058 00:47:01,670 --> 00:47:06,000 Nin davam və xor etmək edək. 1059 00:47:06,000 --> 00:47:08,302 Naməlum bəyan i istifadə edin. 1060 00:47:08,302 --> 00:47:09,860 Oh, bu axmaq idi. 1061 00:47:09,860 --> 00:47:11,020 Biz mübahisə lazım deyil. 1062 00:47:11,020 --> 00:47:13,680 Yalnız bunu edək. 1063 00:47:13,680 --> 00:47:14,550 Biz bu yolla başladı arzulayıram. 1064 00:47:14,550 --> 00:47:16,160 Bu yazmaq daha asan proqram olardı. 1065 00:47:16,160 --> 00:47:20,100 Belə ki, orada. 1066 00:47:20,100 --> 00:47:23,870 İndi mənim terminal pəncərə, yenidən run cingilti üzərində gedək. 1067 00:47:23,870 --> 00:47:26,900 Burada biz gedin. 1068 00:47:26,900 --> 00:47:28,020 Bu həqiqətən sürətli idi. 1069 00:47:28,020 --> 00:47:30,690 Ne həqiqətən yalnız baxmayaraq, oldu? 1070 00:47:30,690 --> 00:47:33,430 Yaxşı, indi çap line əlavə edəcəyik, biz görürük. 1071 00:47:33,430 --> 00:47:41,330 Mənə printf deyək, edək ki, mən burada edirəm. 1072 00:47:41,330 --> 00:47:43,470 OK, heç dəyişənlərin ki, kimi tərk edəcəyik. 1073 00:47:43,470 --> 00:47:44,860 Mənə yenidən run edək. 1074 00:47:44,860 --> 00:47:47,940 Mənə yenidən run xor edək. 1075 00:47:47,940 --> 00:47:51,235 Və gəlib. 1076 00:47:53,880 --> 00:47:55,130 Davam edin. 1077 00:47:57,630 --> 00:47:59,750 Bir kənara kimi, niyə hələ qəzaya deyil? 1078 00:47:59,750 --> 00:48:02,050 Seqmentləşdirilməsi, günah əvvəl super sürətli oldu. 1079 00:48:02,050 --> 00:48:04,250 [Işitilemez] 1080 00:48:04,250 --> 00:48:04,830 DAVID J. MALAN: Exactly. 1081 00:48:04,830 --> 00:48:06,350 Belə ki, çap zaman alır. 1082 00:48:06,350 --> 00:48:08,370 Bu, yalnız kompüter hissəsi daha çox iş görür. 1083 00:48:08,370 --> 00:48:09,550 Və orada deyil. 1084 00:48:09,550 --> 00:48:10,620 Segmentasyon günah. 1085 00:48:10,620 --> 00:48:12,140 >> Belə ki, sürətli proqramları run necə görürsünüz. 1086 00:48:12,140 --> 00:48:14,110 Bir şey, super sürətli çap deyilik edin. 1087 00:48:14,110 --> 00:48:18,100 Nə baş Lakin biz hələ də bu seqmentasiya günah var? 1088 00:48:18,100 --> 00:48:21,310 Yaxşı, sizin kompüter xatirəsinə qoyulmuş necə, bu barədə düşünüyorsanız 1089 00:48:21,310 --> 00:48:22,890 əsas olur. 1090 00:48:22,890 --> 00:48:23,800 Ancaq burada - 1091 00:48:23,800 --> 00:48:28,670 Gəlin bu xor zəng və bu xor zəng edək. 1092 00:48:28,670 --> 00:48:33,420 Mən sağ mənim estetik əgər İndi, bu, yalnız, xor demək gedir 1093 00:48:33,420 --> 00:48:38,060 xor, xor, xor, xor, xor, xor, elan nauseum. 1094 00:48:38,060 --> 00:48:39,920 Və nəhayət, nə olacaq? 1095 00:48:39,920 --> 00:48:46,690 Böyük şəkil sanki bu deyil, nə yalnız konseptual olur? 1096 00:48:46,690 --> 00:48:48,320 Yığını taşmaları yığın. 1097 00:48:48,320 --> 00:48:52,400 Və ya pis, yalnız olan mətn seqment daxil olmaqla, hər şey, dağıtmaq 1098 00:48:52,400 --> 00:48:54,530 proqram təmsil edən zeroes və olanları. 1099 00:48:54,530 --> 00:48:56,690 Bir sözlə, bu yalnız super, super pis. 1100 00:48:56,690 --> 00:48:56,860 Sağ? 1101 00:48:56,860 --> 00:48:58,620 Sizin proqram nəzarət həyata spiraled etmişdir. 1102 00:48:58,620 --> 00:49:02,840 Siz çünki bir axmaq bütün nəzərdə tutulan çox yol daha çox yaddaş istifadə edirsinizsə 1103 00:49:02,840 --> 00:49:03,920 Bu halda səhv. 1104 00:49:03,920 --> 00:49:08,160 Və ya bu halda, bir çox qəsdən həyata funksiyası özü zəng. 1105 00:49:08,160 --> 00:49:09,210 İndi bütün bu pis deyil. 1106 00:49:09,210 --> 00:49:12,540 Özləri zəng funksiyaları həqiqətən böyük gücü var 1107 00:49:12,540 --> 00:49:13,700 düzgün istifadə zaman. 1108 00:49:13,700 --> 00:49:15,650 Mən düzgün burada istifadə etməmişlər. 1109 00:49:15,650 --> 00:49:16,940 >> Belə ki, bütün bu pis deyil. 1110 00:49:16,940 --> 00:49:20,620 Amma əslində özüm zəng dayandırmaq heç vaxt ki, bir əsas amillərdir 1111 00:49:20,620 --> 00:49:23,050 burada bu proqram zəiflik. 1112 00:49:23,050 --> 00:49:25,090 Beləliklə, biz bütün bu ilə gedir? 1113 00:49:25,090 --> 00:49:26,230 Yaxşı, həqiqətən nə olub? 1114 00:49:26,230 --> 00:49:30,010 Mən artım funksiyası zəng zaman, bu nümunələrdə edirdilər kimi 1115 00:49:30,010 --> 00:49:33,290 Mən içəri keçir ki 1 kimi dəyəri 1116 00:49:33,290 --> 00:49:35,820 Mən sayı bir surəti keçir. 1117 00:49:35,820 --> 00:49:37,080 Beləliklə aşağıdakı olur. 1118 00:49:37,080 --> 00:49:40,390 Beləliklə də artım Məsələn daxil edək. 1119 00:49:40,390 --> 00:49:44,230 Və burada artıq bu oğlan. 1120 00:49:44,230 --> 00:49:46,800 Belə ki, burada həqiqətən neler var. 1121 00:49:46,800 --> 00:49:50,770 Mən artım adlanır və mən nə pictorially, x keçmək zaman 1122 00:49:50,770 --> 00:49:53,660 burada bu - 1123 00:49:53,660 --> 00:50:00,240 Burada saxlanılan 1 dəyəri var və mən həqiqətən artım zəng əgər, hansı 1124 00:50:00,240 --> 00:50:02,680 indi xor adlanır - 1125 00:50:02,680 --> 00:50:04,010 Bəli, burada mənə off atma edir. 1126 00:50:04,010 --> 00:50:06,750 Belə ki, bu artım zəng edək. 1127 00:50:06,750 --> 00:50:09,420 Və biz bu növbəti funksiyası olacaq nə bilmirəm. 1128 00:50:09,420 --> 00:50:14,270 Beləliklə, nə həqiqətən baş əsas haradasa burada, mən bir yığın var 1129 00:50:14,270 --> 00:50:16,670 1 nömrəli saxlanılması ki, yaddaş. 1130 00:50:16,670 --> 00:50:19,730 Mən artım zəng zaman, mən yaddaş bir yığın istifadə edərək, indi oldum 1131 00:50:19,730 --> 00:50:20,840 1 surəti var. 1132 00:50:20,840 --> 00:50:25,480 Hesab edirəm ki, dəyəri arttırmayı, bu 2 olur - horribly haqqında yazılı 1133 00:50:25,480 --> 00:50:26,420 burada ekran. 1134 00:50:26,420 --> 00:50:30,550 Amma sonra nə artım yekunları kimi olur? 1135 00:50:30,550 --> 00:50:34,610 Bu yaddaş yalnız əməliyyat sistemi geri təhvil olur, deməkdir bütün 1136 00:50:34,610 --> 00:50:37,470 sizə heç bir şey faydalı etdik. 1137 00:50:37,470 --> 00:50:43,460 Ilk əsas yer ki, bir həqiqətən orada qalır. 1138 00:50:43,460 --> 00:50:44,650 >> Beləliklə, biz bu gedir? 1139 00:50:44,650 --> 00:50:49,400 Bəli, bu yaddaş bu geri ardıcıllığı geri ki çıxır 1140 00:50:49,400 --> 00:50:50,940 siz məhsulları da bilər ki bytes 1141 00:50:50,940 --> 00:50:53,760 Və biz artıq qoyulması nəzərdə tutur ki, bir şey gördüm çıxır ki, 1142 00:50:53,760 --> 00:50:55,100 şeyi geri geri geri geri. 1143 00:50:55,100 --> 00:51:00,170 Indi həftə bir həftə iki əsasında simli, nədir? 1144 00:51:00,170 --> 00:51:01,840 Belə ki, yalnız simvol toplusu var. 1145 00:51:01,840 --> 00:51:05,290 Belə ki, siz yaddaş nömrələri bilər kimi olur, eyni bilərsiniz 1146 00:51:05,290 --> 00:51:06,900 yaddaş simvol qoydu. 1147 00:51:06,900 --> 00:51:09,810 Və bir dəfə biz geri geri geri yaddaş qoyulması simvol başlamaq 1148 00:51:09,810 --> 00:51:12,800 geri, bu loop üçün kimi şeylər sadə istifadə edərək və ya çıxır ki, 1149 00:51:12,800 --> 00:51:14,510 bir müddət loop, biz təkrarlamaq bilər - 1150 00:51:14,510 --> 00:51:17,130 - simli olan simvol üzərində soldan sağa doğru 1151 00:51:17,130 --> 00:51:20,720 və tamamilə fərqli simvol onları masaj başlayın. 1152 00:51:20,720 --> 00:51:25,550 A nəticədə biz bilər ki, B. B C. ola bilər ola bilər 1153 00:51:25,550 --> 00:51:28,830 Həqiqətən əhəmiyyət kəsb edir və ingilis cümlə o hər çevirmək 1154 00:51:28,830 --> 00:51:32,440 məktublar bizim kompüter yaddaş ilə gəzinti ilə bir-bir tərk 1155 00:51:32,440 --> 00:51:34,300 həqiqətən şifrelemek hüququ. 1156 00:51:34,300 --> 00:51:36,590 >> Belə nin burada beş dəqiqəlik fasilə etmək imkan və biz geri gələndə, biz rəftar 1157 00:51:36,590 --> 00:51:39,060 məlumat Scrambling bu prosesi başlamaq. 1158 00:51:41,640 --> 00:51:43,180 >> Bütün hüquqlar. 1159 00:51:43,180 --> 00:51:48,440 Biz bir kripto üçün dalış və bu şeyi serialların deyilən əvvəl Belə ki, mənə bildirin 1160 00:51:48,440 --> 00:51:51,610 Hər hansı bir sualınız üçün fasilə həqiqətən cür ilişikli kimi hiss edirəm, çünki bəzi 1161 00:51:51,610 --> 00:51:52,230 bu mövzular. 1162 00:51:52,230 --> 00:51:53,940 Biz əgər İndi nin düzeltmek bildirin. 1163 00:51:53,940 --> 00:51:56,480 Belə ki, yalnız geri dəyərləri haqqında danışdı. 1164 00:51:56,480 --> 00:51:58,630 Biz dəlilləri haqqında danışdı. 1165 00:51:58,630 --> 00:52:02,330 Və biz biz həftə qayıda bilərsiniz ki, bu anlayışı haqqında söhbət 1166 00:52:02,330 --> 00:52:07,140 Bu dizilir bütün dəstə kimi yaddaş baxışın gəlib 1167 00:52:07,140 --> 00:52:08,540 qablar, belə danışmaq. 1168 00:52:08,540 --> 00:52:13,460 Qədər aşağı, bu yığını qoymaq olur ki, hər bir tray belə təmsil 1169 00:52:13,460 --> 00:52:15,160 funksiyası hazırda adlanan edir. 1170 00:52:17,970 --> 00:52:20,300 Hər hansı sual? 1171 00:52:20,300 --> 00:52:22,890 Belə ki, necə haqqında - Mənə bir sual edək. 1172 00:52:22,890 --> 00:52:25,520 Hesab edirəm ki, ərköyünlük saxlamaq, indi it's - you've bütün oğlan üzü görmüşdür. 1173 00:52:25,520 --> 00:52:27,020 Belə ki, geri qayıtmaq lazımdır. 1174 00:52:27,020 --> 00:52:29,700 >> Mənə burada bir sual verək. 1175 00:52:29,700 --> 00:52:34,810 Mənə bizim əvvəllər Q & A. bəzi əvvəl nə üçün bu geri asanlaşdırmaq edək 1176 00:52:34,810 --> 00:52:41,730 Və artım açıq mötərizə var ki, int sayı bağlanıb 1177 00:52:41,730 --> 00:52:42,260 mötərizə. 1178 00:52:42,260 --> 00:52:46,370 Int sayı nə təmsil edir? 1179 00:52:46,370 --> 00:52:47,250 [Işitilemez] 1180 00:52:47,250 --> 00:52:47,870 DAVID J. MALAN: Bir arqument. 1181 00:52:47,870 --> 00:52:50,732 OK, lakin bir dəlil var? 1182 00:52:50,732 --> 00:52:51,620 [Işitilemez] 1183 00:52:51,620 --> 00:52:52,500 DAVID J. MALAN: Bağışlayın, nə ki? 1184 00:52:52,500 --> 00:52:53,150 HOPARLÖR 3: Daxil keçmək şey 1185 00:52:53,150 --> 00:52:53,570 DAVID J. MALAN: OK. 1186 00:52:53,570 --> 00:52:54,780 Daxil keçmək ki, bir şey 1187 00:52:54,780 --> 00:52:56,560 Və ümumiyyətlə, yalnız giriş var. 1188 00:52:56,560 --> 00:52:59,860 Siz həyatda bir funksiyası və funksiyasının məqsədi yazılı istəyirsinizsə etmək 1189 00:52:59,860 --> 00:53:03,290 sonra bir şey siz istifadə bir az fərqli hər zaman üçün yeganə yol 1190 00:53:03,290 --> 00:53:07,710 həqiqətən baş giriş ilə təmin etmək görünür ki, onu 1191 00:53:07,710 --> 00:53:10,180 daxil hər dəfə fərqli bir şey edə bilərsiniz. 1192 00:53:10,180 --> 00:53:13,590 >> Belə bir funksiyası giriş alır zaman iki şey müəyyən etmək lazımdır. 1193 00:53:13,590 --> 00:53:17,240 Siz yalnız siz daxil vermək istədiyiniz adı üçün müəyyən lazımdır 1194 00:53:17,240 --> 00:53:20,790 öz rahatlığı ki, siz funksiyası üçün müraciət edə bilərsiniz ki, siz 1195 00:53:20,790 --> 00:53:23,610 Mən line 32 burada olduğu kimi özünüzü, yazılı. 1196 00:53:23,610 --> 00:53:27,840 Amma siz də C bir proqramlaşdırma dilidir onun növü müəyyən etmək lazımdır 1197 00:53:27,840 --> 00:53:28,840 yalnız tələb edir ki, 1198 00:53:28,840 --> 00:53:31,810 Bir dəyişən istəyirsinizsə, kompüter demək ki, nə 1199 00:53:31,810 --> 00:53:32,790 data, bu yazın 1200 00:53:32,790 --> 00:53:35,540 ki, böyük hissəsində bu neçə bit bilir 1201 00:53:35,540 --> 00:53:37,230 dəyişən üçün ayırırlar. 1202 00:53:37,230 --> 00:53:38,600 Altı ola bilər, çünki - 1203 00:53:38,600 --> 00:53:39,990 Bağışlayın, bu altı olmayacaq. 1204 00:53:39,990 --> 00:53:41,050 16 ola bilər. 1205 00:53:41,050 --> 00:53:41,630 8 ola bilər. 1206 00:53:41,630 --> 00:53:44,410 Hətta 64, 32 ola bilər. 1207 00:53:44,410 --> 00:53:45,820 Lakin kompüter bilməlidir. 1208 00:53:45,820 --> 00:53:49,110 İndi sol tərəfində int əksinə, nə təmsil? 1209 00:53:52,825 --> 00:53:53,780 [Işitilemez] 1210 00:53:53,780 --> 00:53:54,570 DAVID J. MALAN: Nə olub? 1211 00:53:54,570 --> 00:53:55,390 [Işitilemez] 1212 00:53:55,390 --> 00:53:57,920 Daha konkret fəaliyyət növü və bu: DAVID J. MALAN 1213 00:53:57,920 --> 00:53:59,755 onun çıxışı növü. 1214 00:53:59,755 --> 00:54:00,220 Sağ. 1215 00:54:00,220 --> 00:54:04,220 Belə ki, parantez şey isə onun giriş, istənilən halda, təmsil 1216 00:54:04,220 --> 00:54:06,640 sol şey onun çıxış edir. 1217 00:54:06,640 --> 00:54:10,560 Və bu halda, artım yəqin bir int qaytarır. 1218 00:54:10,560 --> 00:54:14,590 Və belə int bu funksiya qaytarılması növüdür. 1219 00:54:14,590 --> 00:54:16,090 >> Nə qayıtmaq deməkdir? 1220 00:54:16,090 --> 00:54:19,810 Sanki söz geri istifadə edin. 1221 00:54:19,810 --> 00:54:24,640 Və sonra nə söz hüququnun qaytarılması edilir, əgər 1222 00:54:24,640 --> 00:54:28,340 tam, sonra ki, söz nə ilə həqiqətən uyğundur. 1223 00:54:28,340 --> 00:54:31,110 Bu kimi bir şey edə bilmədim - 1224 00:54:31,110 --> 00:54:32,280 hello, dünya - 1225 00:54:32,280 --> 00:54:33,500 bir string çünki. 1226 00:54:33,500 --> 00:54:35,440 Aydındır ki, bu tam deyil. 1227 00:54:35,440 --> 00:54:40,450 Belə ki, qısa, yükü bizə həqiqətən, proqramçı kimi xüsusi olmaq 1228 00:54:40,450 --> 00:54:44,730 biz nə qaytarılması edirik, sonra həqiqətən qaytarılması haqqında getmək. 1229 00:54:44,730 --> 00:54:49,030 Və sonra kontekstində bir TAD daha aydın etmək üçün - 1230 00:54:49,030 --> 00:54:50,080 orada o yenidən edir. 1231 00:54:50,080 --> 00:54:51,060 Kontekstində - 1232 00:54:51,060 --> 00:54:52,830 böyük sürpriz yalnız bir anda gəlir. 1233 00:54:52,830 --> 00:54:57,720 Burada kontekstində indi yenə kompüter yaddaş olduğunu bir 1234 00:54:57,720 --> 00:54:59,070 gigabyte, iki gigabayt, nə. 1235 00:54:59,070 --> 00:54:59,630 Bəlkə daha çox. 1236 00:54:59,630 --> 00:55:00,540 Bəlkə az deyil. 1237 00:55:00,540 --> 00:55:03,750 Lakin kompüter müxtəlif bölmələr olan kimi görür. 1238 00:55:03,750 --> 00:55:04,860 Something orada qalır. 1239 00:55:04,860 --> 00:55:06,020 Başqa bir şey var gedir. 1240 00:55:06,020 --> 00:55:07,540 Müxtəlif məhsulları ortada gedir. 1241 00:55:07,540 --> 00:55:09,300 Bu gün, biz yalnız bu hekayə izah başlayır. 1242 00:55:09,300 --> 00:55:11,130 >> Amma bu vaxt qayıda bilərsiniz. 1243 00:55:11,130 --> 00:55:15,000 İndi, biz, həqiqətən qayğı yaddaş yalnız parça mətn seqment deyil 1244 00:55:15,000 --> 00:55:17,160 yalnız zeroes və olanları təmsil çünki 1245 00:55:17,160 --> 00:55:18,460 ki, cingilti outputted etmişdir. 1246 00:55:18,460 --> 00:55:21,570 Beləliklə, siz a.out kimi klaviatura bir komanda çalışır, və ya zaman ikiqat 1247 00:55:21,570 --> 00:55:25,350 Mac OS və ya Windows bir icon basın, proqram sabit olan dolu oldu 1248 00:55:25,350 --> 00:55:26,930 RAM daxil sürücü. 1249 00:55:26,930 --> 00:55:30,850 Və belə danışmaq, bilgisayarınızın RAM üst plopped edir. 1250 00:55:30,850 --> 00:55:35,470 Proqram başlayır İndi isə, çalışan və əsas adlı olur 1251 00:55:35,470 --> 00:55:39,240 proqram, siz yazırdı ya proqram Microsoft və ya Apple yazırdı onun hər hansı 1252 00:55:39,240 --> 00:55:42,930 yerli dəyişənlərin kompüter yaddaş altında aşağı orada son. 1253 00:55:42,930 --> 00:55:46,490 Əsas başqa funksiyası çağırır Amma əgər özü dəyişənlərin və ya var ki, 1254 00:55:46,490 --> 00:55:48,340 mübahisələri, onlar yuxarıda son. 1255 00:55:48,340 --> 00:55:50,670 Ki, funksiyası bir şey çağırır əgər onlar yuxarıda başa 1256 00:55:50,670 --> 00:55:51,840 yuxarıda, yuxarıda. 1257 00:55:51,840 --> 00:55:56,100 Və yalnız bir funksiyası belə qablar və yığını nə icra edilir 1258 00:55:56,100 --> 00:55:58,320 danışmaq, aşağı və aşağı almaq üçün başlamaq. 1259 00:55:58,320 --> 00:56:03,370 Və bu kub zəng zaman niyə, sonra özetle izah nə - 1260 00:56:03,370 --> 00:56:04,660 və ya artım zəng - 1261 00:56:04,660 --> 00:56:06,490 Siz dəyəri surəti keçən edirik. 1262 00:56:06,490 --> 00:56:09,840 Və nə pictorially deməkdir siz sanki yazıyoruz ki, 1263 00:56:09,840 --> 00:56:14,540 yaddaş bir hissəsi sayı 1, dəyişən ki halında 1, 2, 1264 00:56:14,540 --> 00:56:15,360 increment - 1265 00:56:15,360 --> 00:56:17,450 və ya 8, kub halda - 1266 00:56:17,450 --> 00:56:21,450 və sonra artım və ya kub kimi uzaq yaddaş atma 1267 00:56:21,450 --> 00:56:23,410 funksiyası qaytarır. 1268 00:56:23,410 --> 00:56:24,267 >> Sual. 1269 00:56:24,267 --> 00:56:25,517 [Işitilemez] 1270 00:56:28,090 --> 00:56:29,970 DAVID J. MALAN Haradan - qlobal dəyişənlər nə saxlanılır 1271 00:56:29,970 --> 00:56:32,960 Hal-hazırda başlatılmış məlumatın və ya uninitialized data çağırıb. 1272 00:56:32,960 --> 00:56:35,900 Bir qlobal dəyişən varsa fərq olan, siz təyin 1273 00:56:35,900 --> 00:56:39,530 dərhal imza bərabər bir dəyər, orada üst qədər çatır. 1274 00:56:39,530 --> 00:56:43,390 Siz yalnız heç bir dəyəri int x nöqtəli vergül desək, bu qədər başa 1275 00:56:43,390 --> 00:56:46,670 sadəcə qaydaları ilə RAM aşağı. 1276 00:56:46,670 --> 00:56:49,308 Digər suallar. 1277 00:56:49,308 --> 00:56:49,750 Bütün hüquqlar. 1278 00:56:49,750 --> 00:56:53,040 >> Biz nə edə daha güclü almaq kimi bu şəkil geri gələcək 1279 00:56:53,040 --> 00:56:53,830 kompüter ilə. 1280 00:56:53,830 --> 00:56:58,790 Amma indi üçün, kriptoqrafiya, xüsusi bir növü üçün qısa bir giriş var edək 1281 00:56:58,790 --> 00:57:01,910 Dünyanın problemlərin bütün həll etmir, lakin həll edir ki, kriptoqrafiya 1282 00:57:01,910 --> 00:57:02,480 bəziləri. 1283 00:57:02,480 --> 00:57:06,090 Burada Bu halda, biz gizli əsas Kriptoqrafiya deyilən bir şey var. 1284 00:57:06,090 --> 00:57:10,430 Və gizli əsas Kriptoqrafiya, adı təklif kimi, onun təhlükəsizlik gəlir 1285 00:57:10,430 --> 00:57:11,330 gizli olan. 1286 00:57:11,330 --> 00:57:14,720 Siz grade məktəb geri istəyirik və əgər Belə ki, məsələn, bir keçən edirik 1287 00:57:14,720 --> 00:57:18,040 Əgər sarsıdıcı olan oğlan və ya qız bir az gizli sevgi məktubu - əgər 1288 00:57:18,040 --> 00:57:20,820 tamaşaçı vasitəsilə keçmək istəyirdi, yəqin ki, yazmaq deyil 1289 00:57:20,820 --> 00:57:24,120 belə bir İngilis qeyd və ya hər hansı sizin ana dilidir; daha doğrusu, siz 1290 00:57:24,120 --> 00:57:25,800 bu şifrelemek bilər. 1291 00:57:25,800 --> 00:57:27,820 Və ya yalnız bu gün onlara mətn mesajı göndər. 1292 00:57:27,820 --> 00:57:30,310 Amma əslində sinif ərzində onlara qeyd keçmək bilər. 1293 00:57:30,310 --> 00:57:33,820 Və belə bir şəkildə, təhlükəsiz Bunu ki, dostlara və müəllim 1294 00:57:33,820 --> 00:57:36,820 siz yazıyoruz nə bilmirəm, bir olduqca sadə ilə gəlmək bilər 1295 00:57:36,820 --> 00:57:37,800 alqoritm - 1296 00:57:37,800 --> 00:57:39,290 siz ola bilər, baxmayaraq gənc - 1297 00:57:39,290 --> 00:57:40,780 yalnız sözləri dırmaşma üçün. 1298 00:57:40,780 --> 00:57:44,390 Əvəzinə bir yazı Belə ki, əvəzinə B B. yazmaq bilər, yazmaq bilər 1299 00:57:44,390 --> 00:57:46,670 C. yerinə C, siz D yazmaq və s bilər. 1300 00:57:46,670 --> 00:57:50,020 Yoxsa məktubları bir daha mürəkkəb tərcümə ilə gəlmək bilər 1301 00:57:50,020 --> 00:57:51,300 müxtəlif məktublar. 1302 00:57:51,300 --> 00:57:55,440 Amma tutmaq bu qeyd gönderiyorsanız kimə oğlan və ya qız lazımdır 1303 00:57:55,440 --> 00:57:56,850 bir şey bilirik. 1304 00:57:56,850 --> 00:57:59,620 Hansı ki, açıq-aydın deyil? 1305 00:57:59,620 --> 00:58:01,400 Gizli nə kimi. 1306 00:58:01,400 --> 00:58:04,620 Kimi, və pansiyonlar və Cs və Ds arasında mapping nədir? 1307 00:58:04,620 --> 00:58:08,780 Yalnız getmək məktubları hər, belə ki, danışmaq, bir əlavə olunur 1308 00:58:08,780 --> 00:58:09,730 B, B C A? 1309 00:58:09,730 --> 00:58:11,350 Ki, daha mürəkkəb mı? 1310 00:58:11,350 --> 00:58:16,450 Belə ki, sizin və əzmək bu gizli məlumat lazımdır. 1311 00:58:16,450 --> 00:58:18,170 Amma burada bir catch-22 növü var. 1312 00:58:18,170 --> 00:58:20,760 Bu ilk dəfə Əgər bu sevgi məktubu gönderiyorsanız 1313 00:58:20,760 --> 00:58:25,590 sinif, necə ki, oğlan və ya qız gizli hətta nə olacaq? 1314 00:58:25,590 --> 00:58:28,450 Belə ki, gizli açar kripto bütün dünyanın problemlərini həll etmir. 1315 00:58:28,450 --> 00:58:30,490 Və biz doğru geri gəlmək lazımdır ki, əlaqələr həqiqətən var 1316 00:58:30,490 --> 00:58:31,370 semestr sonuna. 1317 00:58:31,370 --> 00:58:35,970 >> Eynilə, heç birimiz yəqin ki, heç bir göndərdi var - 1318 00:58:35,970 --> 00:58:39,453 eyni, bizim ən çox, məsələn, çalışır ki, kimsə bilmirəm 1319 00:58:39,453 --> 00:58:40,300 Amazon.com. 1320 00:58:40,300 --> 00:58:43,130 Və hələ, bizim çox güman ki, Amazon.com 'stuff almışdır. 1321 00:58:43,130 --> 00:58:45,670 Biz güman tədris etdik ki, bu e-ticarət 1322 00:58:45,670 --> 00:58:47,060 əməliyyatların təhlükəsiz edir. 1323 00:58:47,060 --> 00:58:47,210 Sağ? 1324 00:58:47,210 --> 00:58:49,310 URL yəqin ki, https deyir. 1325 00:58:49,310 --> 00:58:51,590 Bir silly az asma kilit simgesini haradasa bəlkə var. 1326 00:58:51,590 --> 00:58:54,680 Kredit kartı məlumat təmin Kriptoqrafiya bir növ var 1327 00:58:54,680 --> 00:58:56,980 Siz və Amazon.com arasında. 1328 00:58:56,980 --> 00:59:00,410 Kriptoqrafiya hələ bəzi gizli bilərək və əhatə əgər Və hələ, mən deyil 1329 00:59:00,410 --> 00:59:03,330 Amazon-da hər kəs bilir və mən də hər cür təşkil etdik 1330 00:59:03,330 --> 00:59:07,350 Amazon-da kimsə ilə gizli, necə mənim kompüter və ya mənim brauzerinizin bu edir? 1331 00:59:07,350 --> 00:59:10,100 Həll ki, ümumiyyətlə Kriptoqrafiya digər növləri var həyata Yaxşı, çevrilir 1332 00:59:10,100 --> 00:59:10,740 ki, problem. 1333 00:59:10,740 --> 00:59:13,610 Amma bu gün üçün, siz təşkil edə bilər sadə bir də diqqət lazımdır 1334 00:59:13,610 --> 00:59:18,480 plus 1 və ya kimi və pansiyonlar arasında mapping kimi, bəzi gizli bilmək inkişaf. 1335 00:59:18,480 --> 00:59:20,710 >> Və Kriptoqrafiya prosesi ümumilikdə bu daxildir. 1336 00:59:20,710 --> 00:59:23,550 Siz sol burada təsvir bir düz mətn var. 1337 00:59:23,550 --> 00:59:26,260 Siz alqoritm və ya prosedur bir növ vasitəsilə çalıştırmak 1338 00:59:26,260 --> 00:59:27,670 bu Şifreleme. 1339 00:59:27,670 --> 00:59:31,390 Bəlkə yalnız A B olur ki, B C olur və sonra ilə başa 1340 00:59:31,390 --> 00:59:32,260 mətn parol. 1341 00:59:32,260 --> 00:59:36,450 Eyni zamanda, bir dəfə sizin crush gizli qeyd etmişdir, o, sonra var 1342 00:59:36,450 --> 00:59:39,950 ümumiyyətlə almaq üçün belə kimi alqoritm qarşısının tərəfindən decrypt bu 1343 00:59:39,950 --> 00:59:41,640 düz mətn geri. 1344 00:59:41,640 --> 00:59:43,860 İndi bu fiziki incarnations var. 1345 00:59:43,860 --> 00:59:46,720 Məsələn, bu bir az gizli decoder ring edir. 1346 00:59:46,720 --> 00:59:50,060 Bu iki zənglər burada olduğunu mənada bir ring edir. 1347 00:59:50,060 --> 00:59:53,630 Bu şey xaricində periferiyasında, Z vasitəsilə məktublar A, var 1348 00:59:53,630 --> 00:59:55,110 onlar təsadüfi qaydada edirik baxmayaraq. 1349 00:59:55,110 --> 00:59:58,410 Və daxilində bu cür ki, bəzi nömrələri, həqiqətən var 1350 00:59:58,410 --> 01:00:02,940 üzük, ne cür sıralamaq üçün kənarda deyil, daxili növbəsində bilər 1351 01:00:02,940 --> 01:00:04,110 hərflərlə nömrələri. 1352 01:00:04,110 --> 01:00:08,290 Və görmək olduğunuz klipdə - 24/7 görmüş ola olan bəzi 1353 01:00:08,290 --> 01:00:11,120 A Christmas Story adlı film Milad mövsümü ətrafında. 1354 01:00:11,120 --> 01:00:16,050 Siz az Ralphie nə az yetim anlamaq üçün istəkli idi görürsünüz 1355 01:00:16,050 --> 01:00:19,810 Annie gizli mesaj, mən hesab edirəm ki, ünsiyyət edilmişdir ki, ona idi 1356 01:00:19,810 --> 01:00:22,810 bir serial qutusuna rəqəmli mesaj təşkil edir. 1357 01:00:22,810 --> 01:00:26,760 Və gələn bütün kiçik kartlar toplamaq idi 1358 01:00:26,760 --> 01:00:27,480 bu dənli qutusunda. 1359 01:00:27,480 --> 01:00:28,320 Siz onlara daxil mail idi 1360 01:00:28,320 --> 01:00:31,060 Siz nəhayət anlamaq olar ki, gizli decoder ring geri almaq idi 1361 01:00:31,060 --> 01:00:34,190 Xəritəçəkmə məktublar və nömrələr arasında nə, 1362 01:00:34,190 --> 01:00:35,420 və ya məktublar və məktublar. 1363 01:00:35,420 --> 01:00:39,790 Mən pset 2 həvəsləndirmək üçün sizə A Christmas Story Bu qısa clip vermək və 1364 01:00:39,790 --> 01:00:42,340 seriallarda bir anda bizim müzakirə. 1365 01:00:42,340 --> 01:00:43,773 Belə ki, burada biz Ralphie var. 1366 01:00:43,773 --> 01:00:44,126 >> [Video playback] 1367 01:00:44,126 --> 01:00:47,470 -Be bu Ralph Parker qərara təyin edilir ki, bütün və çeşitli məlum bir 1368 01:00:47,470 --> 01:00:50,690 Kiçik Yetim Annie Secret Circle üzvü və bütün hüququna malikdir 1369 01:00:50,690 --> 01:00:53,500 fərqlənmə və faydaları ona baş. 1370 01:00:53,500 --> 01:00:56,040 , Little Yetim Annie-imzalanıb. 1371 01:00:56,040 --> 01:00:58,730 Pierre Andre, Countersigned! 1372 01:00:58,730 --> 01:01:00,150 Mürəkkəblə! 1373 01:01:00,150 --> 01:01:02,910 Artıq doqquz yaşlı Fəxri və faydaları. 1374 01:01:09,970 --> 01:01:10,730 Hadi ilə əldə edək. 1375 01:01:10,730 --> 01:01:15,000 Mən qaçaqmalçıları və quldurları haqqında bütün caz ehtiyac yoxdur. 1376 01:01:15,000 --> 01:01:17,624 Qara yekun macəra üçün sabah gecə-dinlə 1377 01:01:17,624 --> 01:01:19,710 Pirate Ship. 1378 01:01:19,710 --> 01:01:23,380 İndi siz üzvləri üçün Annie gizli mesaj üçün vaxt 1379 01:01:23,380 --> 01:01:25,670 Gizli Circle. 1380 01:01:25,670 --> 01:01:30,260 Yadda saxla ki, uşaqlar, Annie gizli Circle yalnız üzvləri deşifre bilər 1381 01:01:30,260 --> 01:01:31,660 Annie gizli mesaj. 1382 01:01:31,660 --> 01:01:36,230 Unutmayın, Annie siz asılı olaraq. 1383 01:01:36,230 --> 01:01:38,720 B2 üçün sancaqlar seçin. 1384 01:01:38,720 --> 01:01:41,040 Burada mesaj. 1385 01:01:41,040 --> 01:01:42,470 12, 11 - 1386 01:01:42,470 --> 01:01:46,000 -Mən ilk gizli görüş edirəm. 1387 01:01:46,000 --> 01:01:49,440 -14, 11, 18, 16 - 1388 01:01:49,440 --> 01:01:51,700 -Pierre böyük səs axşam idi. 1389 01:01:51,700 --> 01:01:54,890 Bu axşam mesaj həqiqətən vacib olduğunu demək bilər. 1390 01:01:54,890 --> 01:01:56,750 -3, 25. 1391 01:01:56,750 --> 01:01:58,590 Bu Annie özü bir mesaj var. 1392 01:01:58,590 --> 01:01:59,840 Unutmayın, hər kəs demək deyil. 1393 01:02:04,570 --> 01:02:08,750 -90 Saniyə sonra, mən evdə yalnız otaq Ben yerləşir doqquz bir oğlan 1394 01:02:08,750 --> 01:02:12,980 gizlilik və decode oturmaq bilər. 1395 01:02:12,980 --> 01:02:17,130 Aha, B. mən növbəti getdi. 1396 01:02:17,130 --> 01:02:20,330 E. ilk söz edir. 1397 01:02:20,330 --> 01:02:22,670 S. İndi daha asan gəlirdi. 1398 01:02:22,670 --> 01:02:24,590 U. 1399 01:02:24,590 --> 01:02:26,510 -Oh, Ralphie gəlib. 1400 01:02:26,510 --> 01:02:28,430 Mən getmək üçün var. 1401 01:02:28,430 --> 01:02:30,350 -I'll, sağ aşağı ma ola bilər. 1402 01:02:30,350 --> 01:02:33,720 Vıjıltı-Gee. 1403 01:02:33,720 --> 01:02:38,270 -T, O. əmin olun. 1404 01:02:38,270 --> 01:02:40,000 Nə əmin olun? 1405 01:02:40,000 --> 01:02:42,105 Deməyə cəhd Little Yetim Annie nə idi? 1406 01:02:42,105 --> 01:02:43,095 Nə əmin olun? 1407 01:02:43,095 --> 01:02:43,590 -Ralphie! 1408 01:02:43,590 --> 01:02:44,580 Randy getmək üçün var. 1409 01:02:44,580 --> 01:02:45,570 Siz çıxmaq misiniz? 1410 01:02:45,570 --> 01:02:46,560 -Yaxşı, ma. 1411 01:02:46,560 --> 01:02:48,540 Mən doğru olacaq. 1412 01:02:48,540 --> 01:02:50,580 -Mən indi daha yaxın əldə edilmişdir. 1413 01:02:50,580 --> 01:02:52,550 Gərginlik dəhşətli idi. 1414 01:02:52,550 --> 01:02:53,355 Bu nə idi? 1415 01:02:53,355 --> 01:02:56,315 Planetin taleyi balansında asmaq bilər. 1416 01:02:56,315 --> 01:02:56,790 -Ralphie! 1417 01:02:56,790 --> 01:02:59,165 Randy getmək üçün var. 1418 01:02:59,165 --> 01:03:02,310 -I'll yüksək səslə ağlayaraq üçün doğru ola bilər. 1419 01:03:02,310 --> 01:03:04,000 -Gee, demək olar ki var. 1420 01:03:04,000 --> 01:03:05,180 Mənim barmaqları uçdu. 1421 01:03:05,180 --> 01:03:07,150 My mind bir polad tələ idi. 1422 01:03:07,150 --> 01:03:08,790 Hər pore vibrasiyaya. 1423 01:03:08,790 --> 01:03:10,040 Demək olar ki, aydın oldu. 1424 01:03:10,040 --> 01:03:13,400 Bəli, bəli, bəli, bəli. 1425 01:03:13,400 --> 01:03:18,960 Sizin Ovaltine içmək əmin-olun. 1426 01:03:18,960 --> 01:03:20,210 Ovaltine? 1427 01:03:24,010 --> 01:03:25,260 A crummy kommersiya? 1428 01:03:28,200 --> 01:03:29,640 Köpək oğlu. 1429 01:03:29,640 --> 01:03:33,340 [END video playback] 1430 01:03:33,340 --> 01:03:36,040 >> DAVID J. MALAN: Belə ki, orada biz Kriptoqrafiya var. 1431 01:03:36,040 --> 01:03:39,670 Beləliklə, biz necə bir kompüter həyata haqqında getmək və ya 1432 01:03:39,670 --> 01:03:40,950 bu kimi əşyalar? 1433 01:03:40,950 --> 01:03:44,430 Bəli, biz bir az daha elastik daha özümüzü ifadə bir yol lazımdır 1434 01:03:44,430 --> 01:03:46,420 bizim dəyişənlərin indiyədək verdi. 1435 01:03:46,420 --> 01:03:47,370 Biz ints etdik. 1436 01:03:47,370 --> 01:03:48,380 Biz chars etdik. 1437 01:03:48,380 --> 01:03:50,790 Biz üzüb gedirdi və ikiqat və bir neçə digər etdik. 1438 01:03:50,790 --> 01:03:55,050 Ancaq o, həqiqətən, bizə imkan vermir ki, yaddaş fərdi ədəd var 1439 01:03:55,050 --> 01:03:58,010 sözlər və cümlələr və ifadələr kimi şeylər bildirirəm. 1440 01:03:58,010 --> 01:04:00,200 Həqiqətən, biz belə şeyləri strings adlı etdik. 1441 01:04:00,200 --> 01:04:03,650 Amma bu həqiqətən CS50 yalnız bir sadələşdirilməsi ki, söz 1442 01:04:03,650 --> 01:04:07,020 biz geri soymaq istəyən olduğunuz kitabxana. 1443 01:04:07,020 --> 01:04:08,970 >> Və burada bunu başlamaq edək. 1444 01:04:08,970 --> 01:04:11,130 Mənə irəli getmək və bir fayl açmaq edək - 1445 01:04:11,130 --> 01:04:13,770 Bu faylları bütün adi online olaraq mövcuddur - 1446 01:04:13,770 --> 01:04:19,120 strings olmayan bir problemi həll etmək üçün array.c deyilən lakin PAINTS bir 1447 01:04:19,120 --> 01:04:23,040 biz bir şey istifadə edə bilər necə burada şəkil bir sıra çağırıb. 1448 01:04:23,040 --> 01:04:25,530 Bir sıra məlumat növüdür. 1449 01:04:25,530 --> 01:04:31,320 Bu növ dəyişən bir növü var ki, çox kiçik məlumat növləri var 1450 01:04:31,320 --> 01:04:34,150 Bunun içərisində geri geri geri geri. 1451 01:04:34,150 --> 01:04:37,700 Belə ki, məsələn, biz sizə verir ki, bir az proqram yazmaq istəyirsinizsə, 1452 01:04:37,700 --> 01:04:42,110 sınavlar, siz ola bilər çox asanlıqla iki ki, 50 kimi bir kurs üçün orta viktorina 1453 01:04:42,110 --> 01:04:45,170 Bu proqram yazmaq - hətta keçən həftə maddi bəzi əsasında - 1454 01:04:45,170 --> 01:04:47,770 GetInt və dəyişənlərin bir neçə istifadə edərək. 1455 01:04:47,770 --> 01:04:51,920 Int quiz1, int quiz2 və bu, olduqca sadə var. 1456 01:04:51,920 --> 01:04:55,930 Bu xahiş bir proqram həyata keçirmək, bəlkə kodu max 20 xətləri 10 var 1457 01:04:55,930 --> 01:05:01,170 sonra iki viktorina puanları və istifadəçi onlara əlavə onların orta hesablayır 1458 01:05:01,170 --> 01:05:03,850 birlikdə iki bölünməsi, sonra nəticələri çap. 1459 01:05:03,850 --> 01:05:06,380 Biz yəqin ki, sonra olduqca asan indi bunu edə bilər 1460 01:05:06,380 --> 01:05:07,510 dəqiqə bir sayı. 1461 01:05:07,510 --> 01:05:11,005 >> Ancaq problem 50 viktorina və ya dörd üç olduğunu güman edir. 1462 01:05:11,005 --> 01:05:13,510 Siz ki, bir sinif üçün eyni proqramı istifadə etmək istədiyini düşünək 1463 01:05:13,510 --> 01:05:14,850 həftəlik viktorina. 1464 01:05:14,850 --> 01:05:16,610 Həftəlik viktorina bir sinfi haqqında düşünün. 1465 01:05:16,610 --> 01:05:20,610 Bir semestr 16 və ya həftə kimi varsa, indi 16 dəyişənlər var - 1466 01:05:20,610 --> 01:05:24,270 int quiz1, int quiz2, int quiz3, int quiz4. 1467 01:05:24,270 --> 01:05:27,560 Bu redundancy görmeye başlamaq kimi, bu çıxarmaq ve yapıştırma 1468 01:05:27,560 --> 01:05:31,390 kodu, bu, daha yaxşı bir yol idi arzu etmək başlamaq lazımdır. 1469 01:05:31,390 --> 01:05:33,930 Və təşəkkürlə, çünki seriallarda ki, var. 1470 01:05:33,930 --> 01:05:34,980 Belə ki, bunu edək. 1471 01:05:34,980 --> 01:05:38,430 Birincisi, mənə biz bu günə qədər istifadə etdiyiniz bir çox sadə şey təqdim edək 1472 01:05:38,430 --> 01:05:40,140 lakin kodu bəzən onu görəcəksiniz. 1473 01:05:40,140 --> 01:05:42,360 Bu adətən daimi adlı budur. 1474 01:05:42,360 --> 01:05:45,790 Belə ki, bu dəyər dəyişir ki, heç mənada sabit deyil. 1475 01:05:45,790 --> 01:05:49,210 Daimi oluştururken insan Konvensiyanın bütün kapital istifadə 1476 01:05:49,210 --> 01:05:51,940 həqiqətən sizin kodu dəyir yalnız, belə ki məktublar. 1477 01:05:51,940 --> 01:05:55,960 Və C istifadə edən xüsusi söz # müəyyən edilir. 1478 01:05:55,960 --> 01:06:00,250 Deyə Belə # sonra, sonra, sizin üçün istifadə etmək istədiyiniz sözü bir yer müəyyən 1479 01:06:00,250 --> 01:06:03,260 sonra daimi adı və daimi dəyəri. 1480 01:06:03,260 --> 01:06:06,180 Bildiriş Belə ki, bu dəyişən bir şey təyin fərqlidir. 1481 01:06:06,180 --> 01:06:07,020 Bürc bərabərdir yoxdur. 1482 01:06:07,020 --> 01:06:08,240 Heç bir nöqtəli vergül var. 1483 01:06:08,240 --> 01:06:11,410 Bu adətən bir preprocessor direktiv kimi tanınan nə, lakin daha çox 1484 01:06:11,410 --> 01:06:12,210 başqa bir zaman. 1485 01:06:12,210 --> 01:06:18,540 >> İndi, bu adlı dəyişməz dəyər onun faktiki sınavlar yaradır 1486 01:06:18,540 --> 01:06:19,940 rəqəmli dəyəri 2-dir. 1487 01:06:19,940 --> 01:06:24,020 Belə ki, hər yerdə bu fayl ərzində sınavlar, sınavlar, sınavlar bax ki 1488 01:06:24,020 --> 01:06:25,410 yalnız sayı 2. 1489 01:06:25,410 --> 01:06:28,100 İndi əsas baxsaq İndi isə necə bu işlər görək. 1490 01:06:28,100 --> 01:06:29,500 Ilk, bir az sirli görünür. 1491 01:06:29,500 --> 01:06:31,340 Amma bu həftə bir bütün məhsulları var. 1492 01:06:31,340 --> 01:06:32,710 Siniflər üçün istifadəçi soruşun. 1493 01:06:32,710 --> 01:06:33,630 Biz bu etməliyəm? 1494 01:06:33,630 --> 01:06:35,470 Yaxşı, line 22 - 1495 01:06:35,470 --> 01:06:37,210 Bu, həqiqətən, sulu hissəsi - 1496 01:06:37,210 --> 01:06:40,960 Mən bir float, lakin yalnız bir float bəyan edir. 1497 01:06:40,960 --> 01:06:44,620 Mən deyil, üzən point dəyərləri bir sıra elan edirəm. 1498 01:06:44,620 --> 01:06:49,100 Bu dəyişən burada nəzərdə tutulan kimi notları adlı olacaq. 1499 01:06:49,100 --> 01:06:53,080 Lakin yeni sintaksis və yalnız parça, sonra əslində bu kvadratşəkilli mötərizələri var 1500 01:06:53,080 --> 01:06:59,350 Mən float notları və sonra açıq bracket və bir sıra dedi etdiyiniz. 1501 01:06:59,350 --> 01:07:02,460 Bu daimi əgər biz bunu kimi Notice, bu kifayətdir. 1502 01:07:02,460 --> 01:07:06,890 Bu hey kompüter, mənə iki üzüb gedirdi vermək və zəng kollektiv edək deməkdir 1503 01:07:06,890 --> 01:07:08,220 onlara notları. 1504 01:07:08,220 --> 01:07:11,920 Bu kimi bir çox yorucu proses fərqli edir. 1505 01:07:11,920 --> 01:07:15,850 , Grade1 sal grade2 üzmək və s. 1506 01:07:15,850 --> 01:07:20,010 Belə ki, bir sıra bizə bu ideya həyata keçirmək imkan verir, lakin çox az messily ki, 1507 01:07:20,010 --> 01:07:24,630 biz, demək əvəzinə bir 16-16 kodu bir line yaza bilər ki, belə bir yol 1508 01:07:24,630 --> 01:07:25,740 həftə dövr. 1509 01:07:25,740 --> 01:07:29,950 Indi bu barədə düşünmək əgər çünki Mən çətin-kodu 2 istəmir 1510 01:07:29,950 --> 01:07:34,160 məntiqi - 3 CS50 dəyişikliklər əvəzinə viktorina gələn il nəzərdə tutur. 1511 01:07:34,160 --> 01:07:35,510 Mən burada 2 saylı idi. 1512 01:07:35,510 --> 01:07:36,600 Mən burada 2 saylı idi. 1513 01:07:36,600 --> 01:07:37,580 Mən burada 2 saylı idi. 1514 01:07:37,580 --> 01:07:38,560 Mən burada 2 saylı idi. 1515 01:07:38,560 --> 01:07:43,180 Bu qıymaq və təsadüfən dəyişdirmək üçün çox yorucu və çox asan olur 1516 01:07:43,180 --> 01:07:47,690 bir 3 dəyər və 2 sıra digər dəyər özledim. 1517 01:07:47,690 --> 01:07:52,460 Mən bu üz əvəzinə mücərrəd gedir və bu daimi istifadə edirəm ki, onun kimi 1518 01:07:52,460 --> 01:07:54,120 adı, heç dəyişikliklər təklif edir. 1519 01:07:54,120 --> 01:07:57,710 İndi biz müxtəlif olub olursa olsun, bu il və ya sonrakı, mən viktorina 1520 01:07:57,710 --> 01:08:01,210 yalnız üst burada bir yerdə dəyişmək lazımdır. 1521 01:08:01,210 --> 01:08:02,720 >> Belə ki, daimi, bütün var. 1522 01:08:02,720 --> 01:08:08,680 Eyni zamanda, yeni konseptual xüsusiyyət bir sıra edir. 1523 01:08:08,680 --> 01:08:14,660 Belə ki, kvadratşəkilli mötərizələri mənə bu çox üzüb gedirdi vermək və kollektiv mənə imkan verir 1524 01:08:14,660 --> 01:08:16,630 burada onlara notları çağırırıq. 1525 01:08:16,630 --> 01:08:17,990 Belə ki, indi mən gedirəm nə edək. 1526 01:08:17,990 --> 01:08:20,359 Burada line 24 loop üçün bir başlanğıcdır. 1527 01:08:20,359 --> 01:08:22,260 Bu, həqiqətən, heç bir şey xülya deyil. 1528 01:08:22,260 --> 01:08:25,060 Bu yalnız viktorina istifadə əvəzinə ağır kodlu nömrəsi var. 1529 01:08:25,060 --> 01:08:27,790 Amma keçən həftə oradan intellektual fərqli bir şey yoxdur. 1530 01:08:27,790 --> 01:08:29,040 Bu yalnız printf edir. 1531 01:08:29,040 --> 01:08:35,490 Belə printf ("% d viktorina sayı% d") Mən yalnız mənə viktorina vermək çap istəyirəm, çünki 1532 01:08:35,490 --> 01:08:38,050 sayı iki biri və sonra iki iki. 1533 01:08:38,050 --> 01:08:39,850 Belə ki, bu sırf estetik şeydir. 1534 01:08:39,850 --> 01:08:42,500 Lakin maraqlı hissəsi indi line 27 edir. 1535 01:08:42,500 --> 01:08:48,310 Üzən-point ilə iki placeholders biri doldurmaq üçün 1536 01:08:48,310 --> 01:08:51,029 dəyəri, daha kvadrat mötərizə istifadə edin. 1537 01:08:51,029 --> 01:08:55,620 Loop üçün bu i bərabər başlamışdır çünki bu halda, mən i kullanıyorum 1538 01:08:55,620 --> 01:08:57,560 yəqin nə dəyəri? 1539 01:08:57,560 --> 01:08:58,279 0. 1540 01:08:58,279 --> 01:09:01,350 >> Beləliklə, bu loop ilk iteration, bu mən baxmayaraq ki, 1541 01:09:01,350 --> 01:09:02,689 kodu bu yazmışdır. 1542 01:09:02,689 --> 01:09:05,580 Amma bu loop ikinci iteration, bu sanki mən 1543 01:09:05,580 --> 01:09:07,750 mənim kodu bu yazmışdır. 1544 01:09:07,750 --> 01:09:10,750 Amma dəyişən kullanıyorum ki, mükəmməl adı kimi, çünki 1545 01:09:10,750 --> 01:09:14,300 göstərir ki, hər iteration qiyməti müxtəlif oldu. 1546 01:09:14,300 --> 01:09:17,370 Mən bir zamanda bu serialın bir yerində doldurulması alıram. 1547 01:09:17,370 --> 01:09:18,910 Bu array necə görünür? 1548 01:09:18,910 --> 01:09:21,430 Yaxşı, səbəb burada ekranda bu super sadə düzbucaqlı çəkdi 1549 01:09:21,430 --> 01:09:23,350 əvvəl bu səbəbdən idi. 1550 01:09:23,350 --> 01:09:27,279 Bir dizi, yalnız yaddaş bir yığın sonra yaddaş yığın edir 1551 01:09:27,279 --> 01:09:30,109 yaddaş bir yığın sonra, və s. 1552 01:09:30,109 --> 01:09:35,260 Mənim array ölçüsü 2 əgər Belə ki, burada bu halda, bütün I məşğul olacaq 1553 01:09:35,260 --> 01:09:37,590 mənim viktorina bal yazaraq, burada istəyirəm. 1554 01:09:37,590 --> 01:09:39,430 Mən bu bir 100 var. 1555 01:09:39,430 --> 01:09:42,020 Və sonra mən bu barədə bir 99 var. 1556 01:09:42,020 --> 01:09:46,040 Mən yalnız xahiş etdik, çünki Sonra bu yaddaş da istifadə edilə bilər 1557 01:09:46,040 --> 01:09:48,689 ölçüsü 2 bir sıra kompüter. 1558 01:09:48,689 --> 01:09:50,180 Bu meydan hələ də var. 1559 01:09:50,180 --> 01:09:50,340 Sağ? 1560 01:09:50,340 --> 01:09:52,500 Siz yalnız etdiyiniz hətta əgər Siz hələ də, RAM iki gigabayt var 1561 01:09:52,500 --> 01:09:53,979 iki üzüb gedirdi üçün xahiş. 1562 01:09:53,979 --> 01:09:58,710 Belə ki, diziler arxasında ideyası kompüter yalnız yaddaş bir yığın edir ki, 1563 01:09:58,710 --> 01:10:03,230 və sonra geri geri geri geri kiçik parçalara apportions. 1564 01:10:03,230 --> 01:10:04,740 Və bütün bir sıra edir. 1565 01:10:04,740 --> 01:10:09,080 Şeyi bilər içərisində olan O, yaddaş bitişik yığın edir. 1566 01:10:09,080 --> 01:10:12,400 >> İndi bu sonra yalnız bir darıxdırıcı hesab etmək olar. 1567 01:10:12,400 --> 01:10:16,170 Burada aşağı diyirləyin, mən sonra serialın üzərində təkrarlamaq yerləşir, bu. 1568 01:10:16,170 --> 01:10:19,410 Mən array bütün dəyərlərin toplama ilə gəlib. 1569 01:10:19,410 --> 01:10:22,390 Və sonra mən əslində bunu burada dəyirmi funksiyasından istifadə 1570 01:10:22,390 --> 01:10:23,940 sınavlar bölünür edib. 1571 01:10:23,940 --> 01:10:27,450 Amma mənə indi kifayət hesab növ kimi mənim əl dalğa bildirin. 1572 01:10:27,450 --> 01:10:30,010 Amma mənim üçün edir ki, bütün nəticədə orta hesablanması edir. 1573 01:10:30,010 --> 01:10:33,640 Sonra Beləliklə, ilk viktorina plus ikinci viktorina, 2 bölünür, və çap 1574 01:10:33,640 --> 01:10:34,700 bir int kimi onu. 1575 01:10:34,700 --> 01:10:39,030 >> String1 adlı müxtəlif nümunə Amma edək indi keçid 1576 01:10:39,030 --> 01:10:42,370 olan analoji şəkil lakin istifadə strings PAINTS. 1577 01:10:42,370 --> 01:10:45,550 Mənə davam və yalnız bir an üçün bu sadələşdirmək edək. 1578 01:10:45,550 --> 01:10:48,340 İndi üçün abzas bağışla. 1579 01:10:48,340 --> 01:10:52,280 Bu nümunə line 19 Notice, mən istifadəçi bir string almaq. 1580 01:10:52,280 --> 01:10:55,780 Amma növbəti xətləri 22 irəli edirəm nə görürsünüz. 1581 01:10:55,780 --> 01:11:00,260 Mən, həqiqətən, i qədər iterating edirəm - bu, yeni bir oyun deyil - 1582 01:11:00,260 --> 01:11:02,730 strlen, simli uzunluğu. 1583 01:11:02,730 --> 01:11:07,010 Bu bir string keçmək, o deyir ki, C ilə gəlir ki, bir funksiyası var 1584 01:11:07,010 --> 01:11:08,950 Əgər string neçə simvol var. 1585 01:11:08,950 --> 01:11:09,440 Vəssalam. 1586 01:11:09,440 --> 01:11:12,520 Bu yalnız çünki əvəzinə string uzunluğu strlen olan fakt 1587 01:11:12,520 --> 01:11:13,040 daha qısa. 1588 01:11:13,040 --> 01:11:17,100 30 il əvvəl insanlar kimi müfəssəl şəkildə mümkün kimi şeylər yazmaq çox xoşuma gəldi. 1589 01:11:17,100 --> 01:11:19,080 Belə ki, burada Konvensiyanın saxlanılır etdik. 1590 01:11:19,080 --> 01:11:21,730 i + + yalnız hər iteration i arttırmayı deməkdir. 1591 01:11:21,730 --> 01:11:24,310 İndi həqiqətən maraqlı olan bu bildiriş. 1592 01:11:24,310 --> 01:11:28,730 Belə ki, xətt 24, mən kompüter demək, mənə səkkiz bir xarakter vermək 1593 01:11:28,730 --> 01:11:30,770 bit, və c çağırırıq. 1594 01:11:30,770 --> 01:11:35,370 Amma bu sağ söyləyərək nə edir? 1595 01:11:35,370 --> 01:11:38,150 English ki, nə təmsil edir? 1596 01:11:38,150 --> 01:11:40,070 [Işitilemez] 1597 01:11:40,070 --> 01:11:40,490 DAVID J. MALAN: Exactly. 1598 01:11:40,490 --> 01:11:42,390 Mənə array ilk karakter verin. 1599 01:11:42,390 --> 01:11:45,400 Və ya ümumiyyətlə, mənə array olan i-ci xarakter verir. 1600 01:11:45,400 --> 01:11:48,230 Və kompüter alimləri kimi, biz həqiqətən istəyirik ki, indi vacibdir həyata 1601 01:11:48,230 --> 01:11:49,330 0-dan hesablanması. 1602 01:11:49,330 --> 01:11:51,290 Siz bunu başlamaq üçün indi mülahizə yoxdur. 1603 01:11:51,290 --> 01:11:54,580 İndi kompüter gözləntilərinə uyğun davranmaq və 1604 01:11:54,580 --> 01:11:58,010 [0] ilk olacaq, çünki sıfırdan saymaq 1605 01:11:58,010 --> 01:11:59,670 simli xarakterli. 1606 01:11:59,670 --> 01:12:01,320 [1] ikinci olacaq. 1607 01:12:01,320 --> 01:12:03,610 [2], üçüncü və s olacaq. 1608 01:12:03,610 --> 01:12:08,840 Bu proqram Beləliklə, mən tərtib olarsa - bu, yenə string1 edir. 1609 01:12:08,840 --> 01:12:11,040 >> Belə string1 edir. 1610 01:12:11,040 --> 01:12:16,730 İndi mən terminal pəncərə string1 axır. 1611 01:12:16,730 --> 01:12:19,180 Bu giriş üçün gözləmə ki, mən David demək, yazın gedirəm. 1612 01:12:19,180 --> 01:12:20,080 Daxil edin. 1613 01:12:20,080 --> 01:12:23,350 İndi bütün müxtəlif xətləri üzrə DAVID yazdıran çünki 1614 01:12:23,350 --> 01:12:24,430 Mən yapýyorum nə görürsünüz. 1615 01:12:24,430 --> 01:12:27,510 Mən bir zaman bir xarakteri çap edirəm. 1616 01:12:27,510 --> 01:12:29,100 İndi biz bu gün açıqlamaq deyil. 1617 01:12:29,100 --> 01:12:31,610 Amma burada bu çek bir an əvvəl silindi. 1618 01:12:31,610 --> 01:12:36,310 Bu istifadəçi, doğru çəkişmə və ya əgər çıxır ki, 1619 01:12:36,310 --> 01:12:41,780 qarışıq, həqiqətən bəzi uzunluğu string verə bilmirlər bilər. 1620 01:12:41,780 --> 01:12:43,640 Klaviatura üzrə yanlış düyməsini basın varsa, sizə bilər 1621 01:12:43,640 --> 01:12:44,390 heç bir string. 1622 01:12:44,390 --> 01:12:47,790 Siz zərərli edirsinizsə və ya siz bir gigabyte yetmeyecek yapışdırıb üçün cəhd edə bilərsiniz 1623 01:12:47,790 --> 01:12:49,380 Bu string doldurmaq üçün inşa. 1624 01:12:49,380 --> 01:12:52,060 Kompüter yaddaş uzanır Əgər, biz olacaq çıxır ki, 1625 01:12:52,060 --> 01:12:54,310 null adlı bu xüsusi dəyər geri almaq üçün. 1626 01:12:54,310 --> 01:12:57,550 Belə ki, indi üçün, yalnız null adlı bu xüsusi dəyər olduğunu bilirik 1627 01:12:57,550 --> 01:13:01,000 bizə digər şeylər arasında, yaddaş olduğunuzda yoxlamaq üçün imkan verir. 1628 01:13:01,000 --> 01:13:07,330 >> Amma indi string2 açmaq varsa, burada bir fərq görürük. 1629 01:13:07,330 --> 01:13:09,760 String2 burada bir fərq edək. 1630 01:13:09,760 --> 01:13:13,260 String2 ilə loop üçün bu bir az fərqlidir. 1631 01:13:13,260 --> 01:13:16,350 Biz o başqa vaxt danışmaq olar ki, mənə nulls silmək edək. 1632 01:13:16,350 --> 01:13:18,460 Amma nə loop üçün bu vaxt müxtəlif var? 1633 01:13:21,580 --> 01:13:23,160 Mən əvvəlki Məsələn geri bilərsiniz. 1634 01:13:23,160 --> 01:13:24,800 Belə ki versiyası iki deyil. 1635 01:13:24,800 --> 01:13:27,020 Bu versiya biridir. 1636 01:13:27,020 --> 01:13:31,935 Bir, iki, bir iki. 1637 01:13:35,030 --> 01:13:38,240 Belə ki, strlen zəng haradadır? 1638 01:13:38,240 --> 01:13:40,420 Bu loop üçün ilk hissəsi var. 1639 01:13:40,420 --> 01:13:43,060 Mən bu yapýyorum nə üçün hər hansı bir fikir? 1640 01:13:43,060 --> 01:13:43,690 Bəli. 1641 01:13:43,690 --> 01:13:46,010 [Işitilemez] 1642 01:13:46,010 --> 01:13:47,630 DAVID J. MALAN: biz funksiyası hər zaman zəng etməyin So. 1643 01:13:47,630 --> 01:13:48,040 Exactly. 1644 01:13:48,040 --> 01:13:50,350 Onlar super sadə olduğunu loops üçün olan Xatırladaq siz növ dəfə 1645 01:13:50,350 --> 01:13:52,180 Bu başlatma başa düşürük ki, bu 1646 01:13:52,180 --> 01:13:53,330 vəziyyəti və yeniləmə. 1647 01:13:53,330 --> 01:13:55,430 Bu problem vəziyyəti hər baş ki, 1648 01:13:55,430 --> 01:13:56,600 bu loop iteration. 1649 01:13:56,600 --> 01:13:59,930 Və burada bu nümunə, nə barədə pis 1650 01:13:59,930 --> 01:14:03,500 bu mənim şərtdir ki? 1651 01:14:03,500 --> 01:14:05,920 Siz yenə strlen zəng və təkrar edirik. 1652 01:14:05,920 --> 01:14:08,990 Lakin bir dəfə mən DAVID çap etdik ki, simli uzunluğu beş edir. 1653 01:14:08,990 --> 01:14:11,560 Və çünki loop hər iteration haqqında dəyişmək niyyətində deyil 1654 01:14:11,560 --> 01:14:15,560 string hələ D-A-V-I-D. Belə ki, bu olmaq nə bir ipucu edir 1655 01:14:15,560 --> 01:14:19,650 deyil yalnız - bir dizayn qərar kimi tanınan getdikcə mühüm ideya, 1656 01:14:19,650 --> 01:14:21,640 kompüter lazımsız iş edir. 1657 01:14:21,640 --> 01:14:25,630 >> İndi standart redaksiyada pset 2, pset 2 sneak preview olduğu kimi 1658 01:14:25,630 --> 01:14:28,850 həqiqətən ciphers bəzi sayı, bəzi həyata sizə qarşı gedir 1659 01:14:28,850 --> 01:14:32,650 şifreleme alqoritmləri sayı, siz ki, şifrelemek və decrypt həm 1660 01:14:32,650 --> 01:14:35,530 çox bir Ralphie kimi gizli mesajlar, orada kontormerinin. 1661 01:14:35,530 --> 01:14:38,720 Pset 2 hacker nəşr, biz bir az irəli getmək olacaq. 1662 01:14:38,720 --> 01:14:42,010 Biz olan faktiki kompüter sisteminin bir fayl təslim olacaq 1663 01:14:42,010 --> 01:14:45,690 bütün istifadəçi adı və faktiki şifrelenmiş parol dəstə və problem 1664 01:14:45,690 --> 01:14:49,110 hacker nəşr o parol və rəqəm çat olacaq üçün 1665 01:14:49,110 --> 01:14:53,060 nə Kriptoqrafiya və ya nə gizli həqiqətən istifadə edilmişdir həyata 1666 01:14:53,060 --> 01:14:55,080 o parol yaratmaq. 1667 01:14:55,080 --> 01:14:58,360 Və biz burada C mən vermək lazımdır ki, yeni bir xüsusiyyət istifadə edərək, bu nə olacaq 1668 01:14:58,360 --> 01:15:02,200 Siz komanda-line dəlilləri kimi tanınan bir demo. 1669 01:15:02,200 --> 01:15:05,930 >> Siz bəzi bölməsində və ya dərslik görmüşəm bilər Belə ki, həyata çevirir 1670 01:15:05,930 --> 01:15:09,850 əsas həmişə parantez etibarsız olması deyil. 1671 01:15:09,850 --> 01:15:14,060 Bu, iki dəlilləri ilə, əsas da bu kimi yazılı bilər çıxır ki, 1672 01:15:14,060 --> 01:15:19,690 argc sonra yazın sözlər sayı yerləşir argc və argv, 1673 01:15:19,690 --> 01:15:21,940 Sizin command line proqram adı. 1674 01:15:21,940 --> 01:15:24,550 Və argv faktiki sözləri. 1675 01:15:24,550 --> 01:15:29,470 Orada kvadrat mötərizə təklif kimi, argv yəqin bir sıra edir. 1676 01:15:29,470 --> 01:15:33,720 Bu yaddaş bir string sonra simli sonra simli olacaq. 1677 01:15:33,720 --> 01:15:36,170 Belə ki, nə biz, pset 2 başlayaraq edə etmək olacaq 1678 01:15:36,170 --> 01:15:37,310 bu kimi bir şey. 1679 01:15:37,310 --> 01:15:42,450 Mən argv1 etsəniz, hansı biz bazar ertəsi geri gəlib və run lazımdır nümunəsidir 1680 01:15:42,450 --> 01:15:45,180 , o, hələ heç bir şey görünmür fark. 1681 01:15:45,180 --> 01:15:47,050 Bu, yalnız öz adını görüntüler. 1682 01:15:47,050 --> 01:15:53,220 Amma bu proqram yəqin iterates ki, güle güle sinif bildiriş demək əgər 1683 01:15:53,220 --> 01:15:57,030 tezliklə ilə çap olunmuşdur ki, sözlər hər artıq. 1684 01:15:57,030 --> 01:16:02,050 Biz istifadəçi var ki, sözləri əldə edəcək vasitələri 1685 01:16:02,050 --> 01:16:06,780 tez-da çap int, bu həftə sonu başlayan əsas dəyişdirilməsi ilə 1686 01:16:06,780 --> 01:16:10,710 əsas (void) əsas (argc, argv) int etmək. 1687 01:16:10,710 --> 01:16:13,700 Və beləliklə command line arguments anadan olacaq. 1688 01:16:13,700 --> 01:16:17,210 Və bir dəfə bu da həqiqətən inkişaf etmiş almaq, yazmaq edə bilərsiniz 1689 01:16:17,210 --> 01:16:21,370 yuxarıda və kənara elə burada bu kimi həqiqətən trippy proqramları, 1690 01:16:21,370 --> 01:16:25,520 funksionallığı bəzi biz indiyədək görülən deyil, bütün çox güclü etdik. 1691 01:16:25,520 --> 01:16:27,330 >> Beləliklə, biz ekranda bu bu tərk edəcəyik. 1692 01:16:27,330 --> 01:16:29,160 Biz bazar ertəsi görəcəksiniz.