1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Bölmə 4] [Less Rahat] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison] [Harvard Universiteti] 3 00:00:04,000 --> 00:00:07,000 [Bu CS50 edir.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,000 >> Bütün hüquqlar, bölmə geri salamlayıram. 5 00:00:10,000 --> 00:00:13,000 Bu həftə bölmədə biz hər şeyi bir neçə etmək olacaq. 6 00:00:13,000 --> 00:00:17,000 Biz, ilk recap Problem Set 2 olacaq 7 00:00:17,000 --> 00:00:20,000 olan Sezar və Vigenère problem set olan. 8 00:00:20,000 --> 00:00:23,000 Və sonra biz Quiz 0 review daxil dalış olacaq 9 00:00:23,000 --> 00:00:26,000 və biz danışdı sonra nə recapping vaxt bir az sərf 10 00:00:26,000 --> 00:00:30,000 məruzələr, hər bir belə uzaq, biz də bir neçə problemlər edəcəyik 11 00:00:30,000 --> 00:00:32,000 əvvəlki ilin sınavlar var. 12 00:00:32,000 --> 00:00:36,000 Bu, uşaqlar üçün hazırlamaq üçün yaxşı yol yol. 13 00:00:36,000 --> 00:00:40,000 >> Başlamaq üçün, yaxşı çözümleri bir neçə qədər ayaqqabılı sonra 14 00:00:40,000 --> 00:00:45,000 Əvvəlki problem set üçün, Problem bu məkana, 2 seçin. 15 00:00:45,000 --> 00:00:48,000 Uşaqlar bütün bu linki basın, əgər 16 00:00:48,000 --> 00:00:53,000 və mənim adını basın və ilk təftiş basın əgər 17 00:00:53,000 --> 00:00:56,000 Mən də arıyorum dəqiq nə olan caesar.c, görürsünüz. 18 00:00:56,000 --> 00:01:00,000 Nin həqiqətən tez bu barədə danışmaq edək. 19 00:01:00,000 --> 00:01:02,000 Bu yalnız bir nümunə həll edir. 20 00:01:02,000 --> 00:01:05,000 Bu mükəmməl həll mütləq deyil. 21 00:01:05,000 --> 00:01:08,000 Bu yazmaq üçün bir çox müxtəlif yolları var 22 00:01:08,000 --> 00:01:10,000 amma mən qeyd etmək istəyirdi ki, bir neçə şey var 23 00:01:10,000 --> 00:01:13,000 Hesab edirəm ki, mən sınıflandırma kimi gördüm ki, ümumi səhvlər 24 00:01:13,000 --> 00:01:18,000 Bu həll user çox yaxşı bir iş yoxdur. 25 00:01:18,000 --> 00:01:22,000 >> Ilk üst başlığı comment bir növ olan edilir. 26 00:01:22,000 --> 00:01:25,000 Xətləri 1-7 vasitəsilə siz məlumat 27 00:01:25,000 --> 00:01:28,000 Bu proqram dəqiq nə edir. 28 00:01:28,000 --> 00:01:32,000 C kodu yazılı etdiyiniz zaman yaxşı bir standart təcrübə 29 00:01:32,000 --> 00:01:35,000 proqram bir fayl və ya içində asılı əgər 30 00:01:35,000 --> 00:01:38,000 birdən çox faylları üzərində split olsun bir növ olması 31 00:01:38,000 --> 00:01:40,000 üst comment orienting. 32 00:01:40,000 --> 00:01:43,000 Bu çıxmaq və real dünyada kodu yazmaq insanlar üçün də. 33 00:01:43,000 --> 00:01:47,000 Onlar copyright informasiya qoymaq lazımdır bu. 34 00:01:47,000 --> 00:01:50,000 Aşağıda # daxildir var. 35 00:01:50,000 --> 00:01:55,000 Line 16 Bu # biz yalnız bir bit qayıda bilərsiniz ki, müəyyən var. 36 00:01:55,000 --> 00:01:59,000 Və sonra bir funksiyası bir əsas başlayır başlayır 37 00:01:59,000 --> 00:02:03,000 Bu proqram bütün bir funksiyası olan çünki 38 00:02:03,000 --> 00:02:09,000 olur və bu çox idiomatik və C proqram tipik ki, ilk şey 39 00:02:09,000 --> 00:02:14,000 command line edir ki, dərhal yoxlayır ki, arqumentlər-dir 40 00:02:14,000 --> 00:02:18,000 >> arqumenti sayı üçün, argc. 41 00:02:18,000 --> 00:02:24,000 Burada biz bu proqramı tam 2 dəlilləri gözləyir görürük. 42 00:02:24,000 --> 00:02:27,000 Unutmayın ki, xüsusi biri olduğunu ilk dəlil var 43 00:02:27,000 --> 00:02:29,000 ki, həmişə run olunur ki, proqram adı var 44 00:02:29,000 --> 00:02:31,000 yürütülebilir fayl adı. 45 00:02:31,000 --> 00:02:36,000 Və bu nə bu proqram yayınlanmasını istifadəçi mane olur 46 00:02:36,000 --> 00:02:42,000 daha çox və ya daha az dəlilləri ilə. 47 00:02:42,000 --> 00:02:44,000 Biz üz sağ kontrol etmək istəyirəm səbəbi çünki 48 00:02:44,000 --> 00:02:52,000 biz, həqiqətən, burada etibarlı bu argv array erişemiyorum 49 00:02:52,000 --> 00:02:55,000 biz nə qədər böyük görmək işaretlediğinizden qədər. 50 00:02:55,000 --> 00:02:58,000 >> Mən gördüm ümumi səhvlər bir nəfər dərhal getmək idi 51 00:02:58,000 --> 00:03:01,000 və grab argv [1]. 52 00:03:01,000 --> 00:03:06,000 Onlar həyata sıra əsas arqument grab istədiyiniz və bir i onu yoxlamaq yoxdur 53 00:03:06,000 --> 00:03:11,000 və onlar, eləcə də növbəti test kimi argc test etmək istədiyiniz 54 00:03:11,000 --> 00:03:16,000 ilk arqument həqiqətən eyni zamanda bir tam idi, və ya 55 00:03:16,000 --> 00:03:20,000 və təchiz heç bir arqument var halda çünki iş deyil 56 00:03:20,000 --> 00:03:26,000 orada deyil ki, bir arqument qənimətçilik və ya olmadığını bir işğalçı cəhd olacaq. 57 00:03:26,000 --> 00:03:29,000 >> Siz qeyd edək ki, digər böyük şey olduğunu 58 00:03:29,000 --> 00:03:32,000 həmişə faydalı hata mesajı bir növ çap etmək istəyirəm 59 00:03:32,000 --> 00:03:34,000 Orient onlara istifadəçi. 60 00:03:34,000 --> 00:03:37,000 Mən sizə qəflətən bu çöküyor bütün run proqramları var əminəm 61 00:03:37,000 --> 00:03:41,000 və pops və deyir ki, bu gülünc az informasiya almaq 62 00:03:41,000 --> 00:03:44,000 bəlkə horribly sirli və bir şey bir səhv baş kodu və ya kimi bir şey verir 63 00:03:44,000 --> 00:03:47,000 ki, heç bir əhəmiyyət kəsb edir. 64 00:03:47,000 --> 00:03:50,000 Siz həqiqətən faydalı bir şey təmin etmək üçün istədiyiniz Bu 65 00:03:50,000 --> 00:03:54,000 və onlar run zaman "Oh," üz xurma getmək, belə ki, istifadəçi hədəf. 66 00:03:54,000 --> 00:03:58,000 "Mən bunu dəqiq bilirəm. Mən bu düzeltmek üçün necə." 67 00:03:58,000 --> 00:04:01,000 >> Mesaj çap deyilsə, o zaman həqiqətən sona 68 00:04:01,000 --> 00:04:04,000 istifadəçi getmək üçün tərk sizin mənbə kodu yoxlamaq 69 00:04:04,000 --> 00:04:07,000 səhv getdi nə anlamaq üçün. 70 00:04:07,000 --> 00:04:11,000 Müxtəlif hata kodları istifadə lazımdır ki, bir neçə dəfə də var. 71 00:04:11,000 --> 00:04:14,000 Burada yalnız bir səhv var idi deyə bir istifadə 72 00:04:14,000 --> 00:04:16,000 bir səhv var idi, bir səhv var idi. 73 00:04:16,000 --> 00:04:20,000 Böyük proqramları, digər proqramlar tərəfindən deyilir ki, tez-tez proqramları, 74 00:04:20,000 --> 00:04:25,000 müxtəlif ssenariləri xüsusi hata kodları bir növ qayıdacaq 75 00:04:25,000 --> 00:04:28,000 program ünsiyyət nə başqa cür olardı 76 00:04:28,000 --> 00:04:32,000 yalnız üçün gözəl İngilis mesajı istifadə edin. 77 00:04:32,000 --> 00:04:35,000 Cool. 78 00:04:35,000 --> 00:04:37,000 Biz aşağı iş kimi, biz əsas çıxarmaq bilərsiniz. 79 00:04:37,000 --> 00:04:40,000 Biz əsas uyğun görmek üçün test edin. 80 00:04:40,000 --> 00:04:42,000 Biz istifadəçi bir mesaj almaq. 81 00:04:42,000 --> 00:04:46,000 Biz əhatə edəcək bir şey və loop isə biz bu bunu səbəbi nə 82 00:04:46,000 --> 00:04:50,000 bir az bit, lakin o çıxır ki, siz nəzarət D yazın əgər 83 00:04:50,000 --> 00:04:54,000 Siz terminal ki GetString tez almaq zaman 84 00:04:54,000 --> 00:04:59,000 həqiqətən ki, nə xüsusi bir simvol göndərir ki, 85 00:04:59,000 --> 00:05:01,000 proqram. 86 00:05:01,000 --> 00:05:05,000 Bu ELF və ya fayl xarakter sonunda deyirlər. 87 00:05:05,000 --> 00:05:08,000 Və bu halda, bizim mesaj simli, null olacaq 88 00:05:08,000 --> 00:05:14,000 bu biz özü müəyyən problem yoxlanılır bir şey yox idi. 89 00:05:14,000 --> 00:05:17,000 >> Biz getmək kimi, indi biz göstəricilər haqqında danışmaq açılmış etdiyiniz 90 00:05:17,000 --> 00:05:21,000 yığın və dinamik yaddaş ayrılması, 91 00:05:21,000 --> 00:05:25,000 Əgər güc bir funksiyası var zaman null kontrol 92 00:05:25,000 --> 00:05:30,000 bir dəyər siz bunu vərdiş almaq lazımdır ki, bir şey kimi null qaytarın. 93 00:05:30,000 --> 00:05:33,000 Bu, ilk növbədə, illüstrasiya üçün burada. 94 00:05:33,000 --> 00:05:36,000 Amma gələcəkdə GetString görmək nə zaman, 95 00:05:36,000 --> 00:05:41,000 s 4 göstərilməyib Problem, siz mind bu saxlamaq lazımdır. 96 00:05:41,000 --> 00:05:44,000 Yenə, bu, hələ əhatə deyil çünki ya 3 göstərilməyib Problem üçün problem deyil. 97 00:05:44,000 --> 00:05:53,000 Nəhayət, biz əsas şifreleme loop almaq bu hissəsi almaq 98 00:05:53,000 --> 00:05:57,000 və burada şeyi bir neçə var. 99 00:05:57,000 --> 00:06:02,000 Birincisi, biz bütün mesaj string özü üzərində təkrarlamaq. 100 00:06:02,000 --> 00:06:07,000 Burada biz şəraitində strlen zəng saxlanılır sonra 101 00:06:07,000 --> 00:06:12,000 siz bir çox işarə var getmək üçün böyük bir yol deyil. 102 00:06:12,000 --> 00:06:15,000 Bu, həm də böyük deyil, bu halda çıxır 103 00:06:15,000 --> 00:06:20,000 biz mesajı özü məzmunu değiştirmeyle edirik qismən çünki 104 00:06:20,000 --> 00:06:27,000 daxili loop üçün, biz 10 simvol uzun bir mesaj varsa, 105 00:06:27,000 --> 00:06:32,000 İlk dəfə biz loop strlen nə qayıdacaqlar ki, başlamaq? 106 00:06:32,000 --> 00:06:35,000 10. 107 00:06:35,000 --> 00:06:40,000 >> Amma sonra mesajı dəyişdirmək əgər, onun 5-ci xarakteri dəyişdirmək demək 108 00:06:40,000 --> 00:06:46,000 və biz, 5-ci mövqedə bir \ 0 xarakter atmaq 109 00:06:46,000 --> 00:06:49,000 bir sonrakı iteration haqqında strlen (Qur'anı) ​​bunu nə geri deyil 110 00:06:49,000 --> 00:06:52,000 biz iterated ilk dəfə, 111 00:06:52,000 --> 00:06:56,000 ki null terminator ilə atdı, çünki əvəzinə, 5 qayıdacaq 112 00:06:56,000 --> 00:06:59,000 və simli uzunluğu müəyyən edilir 113 00:06:59,000 --> 00:07:03,000 ki, \ 0 mövqeyi ilə. 114 00:07:03,000 --> 00:07:09,000 Bu halda, bu, yerdə değiştirmeyle edirik, çünki getmək üçün bir yoldur. 115 00:07:09,000 --> 00:07:13,000 Amma bu şifrelemek üçün həqiqətən təəccüblü sadə olduğunu qeyd 116 00:07:13,000 --> 00:07:16,000 Siz riyaziyyat doğru edə bilərsiniz. 117 00:07:16,000 --> 00:07:19,000 Lazım olan bütün baxaraq etdiyiniz və ya məktubu yoxlamaq 118 00:07:19,000 --> 00:07:21,000 böyük və ya kiçik edir. 119 00:07:21,000 --> 00:07:24,000 >> Biz yalnız kontrol etmək üçün, və biz kontrol yoxdur səbəbi 120 00:07:24,000 --> 00:07:27,000 isə alfa halda çünki 121 00:07:27,000 --> 00:07:30,000 bir xarakter böyük və ya əgər bu kiçik var 122 00:07:30,000 --> 00:07:33,000 sonra o, mütləq bir əlifba xarakter var 123 00:07:33,000 --> 00:07:38,000 biz böyük və kiçik rəqəm yoxdur, çünki. 124 00:07:38,000 --> 00:07:41,000 Biz və digər şey bu bir az çətin- 125 00:07:41,000 --> 00:07:45,000 biz standart Caesar parol formula redaktə etdiyiniz olunur 126 00:07:45,000 --> 00:07:49,000 biz problem set dəqiqləşdirilməsi ilə verdi. 127 00:07:49,000 --> 00:07:52,000 Burada fərqli biz çıxılacaq ki, 128 00:07:52,000 --> 00:07:58,000 bu böyük işin paytaxtı A, və sonra əsaslı bir əlavə 129 00:07:58,000 --> 00:08:02,000 sonunda geri. 130 00:08:02,000 --> 00:08:05,000 >> Mən sizə bir neçə kodunuzu bu işlər bilirik. 131 00:08:05,000 --> 00:08:09,000 Siz hər hansı gönderilerinizi bunu mi? 132 00:08:09,000 --> 00:08:13,000 Siz bu idi. Əgər bu nə Sahb izah edə bilər? 133 00:08:13,000 --> 00:08:18,000 Sağ sonra bir mod idi, çünki onu subtracting görə, 134 00:08:18,000 --> 00:08:21,000 Siz mövqeyi [öksürük] ​​almaq ki, yol həyata almaq lazımdır. 135 00:08:21,000 --> 00:08:25,000 Və sonra geri əlavə siz istəyirdi ki, artıq keçdikdə. 136 00:08:25,000 --> 00:08:27,000 Bəli, dəqiq. 137 00:08:27,000 --> 00:08:32,000 Sahb bildirib nə ki, əlavə etmək istədiyiniz zaman 138 00:08:32,000 --> 00:08:36,000 bizim mesaj və birlikdə bizim əsas 139 00:08:36,000 --> 00:08:42,000 və sonra mod ki, mod ki NUM_LETTERS tərəfindən 140 00:08:42,000 --> 00:08:50,000 biz ilk müvafiq 0 25 sıra bizim mesaj miqyaslı yoxsa, 141 00:08:50,000 --> 00:08:54,000 sonra biz həqiqətən qəribə nömrəsi əldə son bilər 142 00:08:54,000 --> 00:08:59,000 çünki biz mesaj [i] baxdığımızda baxaraq olduğunuz dəyərləri, 143 00:08:59,000 --> 00:09:03,000 biz düz-text mesaj İTH xarakter baxdığımızda, 144 00:09:03,000 --> 00:09:08,000 dəyəri bu 65 122 intervalında yerdə deyil 145 00:09:08,000 --> 00:09:13,000 kiçik z vasitəsilə böyük bir üçün ASCII dəyərlərə əsaslanır. 146 00:09:13,000 --> 00:09:18,000 Və biz, 26 və ya NUM_LETTERS tərəfindən Mod zaman 147 00:09:18,000 --> 00:09:23,000 ki, ildən # up burada sağ üst müəyyən 148 00:09:23,000 --> 00:09:28,000 ki, bizə 0 25 intervalında ki, bir dəyər verir ki, 149 00:09:28,000 --> 00:09:30,000 və biz o geri klikləyin üçün bir yol lazımdır 150 00:09:30,000 --> 00:09:32,000 və müvafiq ASCII intervalında almaq. 151 00:09:32,000 --> 00:09:36,000 Bunu ən asan yolu yalnız hər şey aşağı miqyasında deyil 152 00:09:36,000 --> 00:09:39,000 0 25 sıra daxil, ilə başlamaq 153 00:09:39,000 --> 00:09:43,000 və sonra sonunda geri hər şey qədər tutulub. 154 00:09:43,000 --> 00:09:46,000 >> Mən daxil gördüm ki, başqa ümumi səhv ki, 155 00:09:46,000 --> 00:09:50,000 həqiqətən, hemen bu scaling etmirəm əgər 156 00:09:50,000 --> 00:09:53,000 və demək, siz birlikdə mesaj və əsas əlavə və onlara əlavə 157 00:09:53,000 --> 00:09:58,000 ilə bir char dəyişən daxil problemi 158 00:09:58,000 --> 00:10:01,000 Mesaj ildən [i] başlamaq üçün nisbətən böyük sayı ilə 159 00:10:01,000 --> 00:10:05,000 bir böyük deyil, əgər ən azı 65 var unutmayın xarakter 160 00:10:05,000 --> 00:10:09,000 böyük bir düyməsi, demək, 100 kimi bir şey var, əgər 161 00:10:09,000 --> 00:10:13,000 və siz bir daşqın almaq olacaq imzalanmış char daxil birlikdə o 2 əlavə edin. 162 00:10:13,000 --> 00:10:17,000 Siz 127-dən çox deyil ki, bir dəyər almaq olacaq 163 00:10:17,000 --> 00:10:22,000 bir char dəyişən saxlamaq olar ki, ən böyük dəyərdir. 164 00:10:22,000 --> 00:10:26,000 Siz başlamaq şey ki, sort etmək istəyirəm niyə Yenə ki. 165 00:10:26,000 --> 00:10:29,000 Bəzi insanlar bir halda başqa etdiyini və test ki, hal ətrafında var 166 00:10:29,000 --> 00:10:33,000 bu daşqın ki, əgər bunu əvvəl görmək, 167 00:10:33,000 --> 00:10:36,000 lakin bu yolu ətrafında olur. 168 00:10:36,000 --> 00:10:40,000 Və sonra bu həll biz çox sonunda bütün cərgə çap. 169 00:10:40,000 --> 00:10:45,000 Digər insanların bir zaman bir xarakteri çap. Hər iki zəhmli edir. 170 00:10:45,000 --> 00:10:51,000 Bu nöqtədə, uşaqlar hər hansı bir sualınız bu barədə hər hansı bir şərh edirsiniz? 171 00:10:51,000 --> 00:10:56,000 Istədiyiniz şeyi istədiyiniz olmayan şeylər? 172 00:10:56,000 --> 00:10:58,000 >> Mən bir sual idi. 173 00:10:58,000 --> 00:11:01,000 Bəlkə sizin izahat zamanı buraxılmış, lakin bu proqram necə 174 00:11:01,000 --> 00:11:07,000 mətnin uzunluğu əsas birləşdirən üçün boşluq keçmək? 175 00:11:07,000 --> 00:11:10,000 Bu yalnız Sezar parol edir. >> Oh, sorry, evet. 176 00:11:10,000 --> 00:11:13,000 Bəli, biz görəcəksiniz. 177 00:11:13,000 --> 00:11:16,000 Olan Sezar parol biz ki, ətrafında var, çünki 178 00:11:16,000 --> 00:11:18,000 biz yalnız simvol Çevrilmiş. 179 00:11:18,000 --> 00:11:27,000 Onlar böyük və ya kiçik olsaydı Biz yalnız onlara qayıdacaqdır. 180 00:11:27,000 --> 00:11:32,000 Siz uşaqlar bu barədə çox yaxşı hiss? 181 00:11:32,000 --> 00:11:34,000 Bu ev surəti çekinmeyin, onu 182 00:11:34,000 --> 00:11:37,000 uşaqlar yazırdı nə müqayisə. 183 00:11:37,000 --> 00:11:42,000 Əlbəttə da haqqında sual göndərmək üçün çekinmeyin. 184 00:11:42,000 --> 00:11:46,000 Və yenə sizin problem ilə burada məqsəd qoyur ki, həyata 185 00:11:46,000 --> 00:11:50,000 uşaqlar üçün problem dəstləri üçün mükəmməl kodu yazmaq üçün deyil. 186 00:11:50,000 --> 00:11:57,000 Bu öyrənmə təcrübəsi var. Bəli. 187 00:11:57,000 --> 00:12:01,000 >> Geri do üçün loop, bu bərabərdir əgər null isə, 188 00:12:01,000 --> 00:12:06,000 belə null yalnız heç bir şey deməkdir, yalnız daxil edib? 189 00:12:06,000 --> 00:12:12,000 Null xüsusi göstərici dəyəri 190 00:12:12,000 --> 00:12:17,000 biz demək istəyirəm zaman və biz null istifadə 191 00:12:17,000 --> 00:12:23,000 biz heç bir şey işarə edən bir pointer dəyişən var. 192 00:12:23,000 --> 00:12:28,000 Və adətən o deməkdir ki, bu dəyişən, bu mesajı dəyişən 193 00:12:28,000 --> 00:12:35,000 biz CS50 xüsusi string növü kullanıyorsanız, çünki boş və burada, 194 00:12:35,000 --> 00:12:37,000 bu CS50 string növü nədir? 195 00:12:37,000 --> 00:12:42,000 Siz David mühazirə başlıq geri çəkilmək zaman nə deyirsiniz? 196 00:12:42,000 --> 00:12:44,000 Bu funky-bu bir göstərici deyil, sağ? 197 00:12:44,000 --> 00:12:48,000 OK, yeah. >> Bu char * var. 198 00:12:48,000 --> 00:12:52,000 Və həqiqətən biz bu əvəz edə bilər 199 00:12:52,000 --> 00:12:56,000 Burada char * mesajı ilə, 200 00:12:56,000 --> 00:13:04,000 və belə GetString funksiyası uğurla istifadəçi bir string almaq deyilsə, 201 00:13:04,000 --> 00:13:08,000 bir string analiz edə bilməz, və bir halda ki, bir string analiz bilməz 202 00:13:08,000 --> 00:13:11,000 olan istifadəçi fayl xarakteri, nəzarət D, sonunda əgər 203 00:13:11,000 --> 00:13:17,000 siz adətən nə bir şey deyil, lakin olur ki, əgər 204 00:13:17,000 --> 00:13:20,000 sonra funksiyası deyərək bir yolu kimi bu null dəyəri qayıdacaq 205 00:13:20,000 --> 00:13:23,000 "Hey, mən bir string almaq olmadı." 206 00:13:23,000 --> 00:13:27,000 Biz mesaj = null qoymaq yoxsa nə olur 207 00:13:27,000 --> 00:13:30,000 biz hələ bunu hələ ki, bir şey olan? 208 00:13:30,000 --> 00:13:32,000 Niyə ki, burada bir problem ola bilər? 209 00:13:32,000 --> 00:13:38,000 Mən biz yaddaş sızıntıları haqqında mühazirə bir az söhbət bilirik ki, çünki. 210 00:13:38,000 --> 00:13:42,000 Bəli, bunu edək və nə görmək edək. 211 00:13:42,000 --> 00:13:44,000 >> Basil sualına biz, həqiqətən, yoxsa nə baş idi 212 00:13:44,000 --> 00:13:48,000 Bu mesajı = null test? 213 00:13:48,000 --> 00:13:51,000 Üst diyirləyin edək. 214 00:13:51,000 --> 00:13:53,000 Siz uşaqlar bunu şərh edə bilər. 215 00:13:53,000 --> 00:13:55,000 Əslində, mən bir versiya ilə saxlamaq lazımdır. 216 00:13:55,000 --> 00:13:58,000 Bu Revision 3 olacaq. 217 00:13:58,000 --> 00:14:02,000 Nə bu proqram run etmək lazımdır, siz burada bu Ötürücü icon basın lazımdır ki, 218 00:14:02,000 --> 00:14:04,000 və bunu bir arqument əlavə etmək lazımdır. 219 00:14:04,000 --> 00:14:10,000 Biz bir command line arqument keçmək istəyirəm bəri Siz əsas arqument vermək lazımdır. 220 00:14:10,000 --> 00:14:13,000 Burada bu sayı 3 vermək gedirəm. I 3 istəyirəm. 221 00:14:13,000 --> 00:14:19,000 İndi geri həyata zoom proqram çalışır. 222 00:14:19,000 --> 00:14:24,000 Bu bina, tərtib, çalışan oldu. 223 00:14:24,000 --> 00:14:27,000 Burada getmək. Bu istenir gözləyir edir. 224 00:14:27,000 --> 00:14:33,000 Mən salam-Ü kimi bir şey yazın ki, əgər getmək idi? 225 00:14:33,000 --> 00:14:38,000 Oh, mənim proqram çalıştırmak üçün çox uzun çəkdi. Mən çox uzun jawing edilib. 226 00:14:38,000 --> 00:14:40,000 Burada gedir. 227 00:14:40,000 --> 00:14:43,000 İndi salam yazın. 228 00:14:43,000 --> 00:14:46,000 Biz müvafiq şifreleyerek görürük. 229 00:14:46,000 --> 00:14:52,000 Biz null qayıtmaq tez GetString əgər İndi nə olacaq? 230 00:14:52,000 --> 00:14:57,000 Unutmayın, biz etdi bildirib ki, eyni zamanda nəzarət D basaraq. 231 00:14:57,000 --> 00:14:59,000 Burada diyirləyin olacaq. Biz daha run lazımdır. 232 00:14:59,000 --> 00:15:01,000 Binanın. Orada gedir. 233 00:15:01,000 --> 00:15:04,000 İndi nəzarət D hit zaman 234 00:15:04,000 --> 00:15:12,000 Mən opt/sandbox50/bin/run.sh deyir ki, bu xətt, Segmentasyon günah var. 235 00:15:12,000 --> 00:15:15,000 Uşaqlar əvvəl gördünmü? 236 00:15:15,000 --> 00:15:17,000 >> [Tələbə] Neden heç >> Bağışlayın var? 237 00:15:17,000 --> 00:15:20,000 [Tələbə] Nə üçün bu halda heç bir core dump var? 238 00:15:20,000 --> 00:15:26,000 The core dump edir-sual niyə burada heç bir core dump edir? 239 00:15:26,000 --> 00:15:29,000 Sual ola bilər ki, ancaq core dump bir fayl 240 00:15:29,000 --> 00:15:31,000 ki, sabit saxlanılır olur. 241 00:15:31,000 --> 00:15:34,000 Bu halda biz əsas zibilliklərin aradan etdik 242 00:15:34,000 --> 00:15:37,000 run server ki, biz insanların faulting seg yoxdur 243 00:15:37,000 --> 00:15:40,000 və əsas zibilliklərin ton tikinti. 244 00:15:40,000 --> 00:15:46,000 Amma bir almaq bilər. 245 00:15:46,000 --> 00:15:48,000 Core zibilliklərin, siz tez-tez aradan bilər ki, bir şey sıralama var 246 00:15:48,000 --> 00:15:52,000 və bəzən siz. 247 00:15:52,000 --> 00:15:55,000 Seqmentləşdirilməsi, günah sizin suala cavab, Basil, 248 00:15:55,000 --> 00:16:00,000 biz bir pointer daxil olmaq üçün cəhd deyib 249 00:16:00,000 --> 00:16:05,000 ki, bir şey qeyd etmək müəyyən deyil. 250 00:16:05,000 --> 00:16:09,000 Binky çalıştığında video Binky saxla 251 00:16:09,000 --> 00:16:12,000 bir işarə deyil ki, bir göstərici əldə getmək? 252 00:16:12,000 --> 00:16:16,000 Bu halda mən texniki göstərici bir şey işarə edir danışarlar. 253 00:16:16,000 --> 00:16:20,000 Bu texniki 0 olan null, işarə edir 254 00:16:20,000 --> 00:16:25,000 lakin əlçatan deyil ki, bir seqment müəyyən edilir 255 00:16:25,000 --> 00:16:28,000 proqram ilə, belə ki, bir seqmentasiya günah almaq 256 00:16:28,000 --> 00:16:31,000 yaddaş daxil deyilik ki, cari bir seqment var 257 00:16:31,000 --> 00:16:38,000 yığın seqmenti və ya yığını seqment və ya data seqment kimi. 258 00:16:38,000 --> 00:16:40,000 Cool. 259 00:16:40,000 --> 00:16:48,000 Sezar haqqında daha çox suallar? 260 00:16:48,000 --> 00:16:51,000 >> Üzrə hərəkət edək. Həqiqətən tez Revision 2 baxaq. 261 00:16:51,000 --> 00:17:00,000 Bu Vigenère var. 262 00:17:00,000 --> 00:17:04,000 Burada Vigenère ilə 263 00:17:04,000 --> 00:17:06,000 biz yenidən, çünki olduqca tez bu biri ilə gəzmək lazımdır 264 00:17:06,000 --> 00:17:10,000 Vigenère və Sezar çox oxşardır. 265 00:17:10,000 --> 00:17:12,000 Mövzu comment əvvəl, 266 00:17:12,000 --> 00:17:17,000 Bu sehrli ədəd istifadə qarşısını almaq üçün əvvəl # müəyyən edir. 267 00:17:17,000 --> 00:17:21,000 Gözəl şey biz hərəkət etmək istədi deyə edilir 268 00:17:21,000 --> 00:17:23,000 kimi fərqli bir əlifba və ya bir şey. 269 00:17:23,000 --> 00:17:26,000 Əksinə bütün 26 ən kodu dəyişdirmək əl getmək üçün olan daha 270 00:17:26,000 --> 00:17:30,000 biz 27 dəyişdirə və ya açılan bilər 271 00:17:30,000 --> 00:17:34,000 biz müxtəlif əlifbalar, müxtəlif dillərdə istifadə edin. 272 00:17:34,000 --> 00:17:38,000 Yenə biz mübahisə sayı bu çek var 273 00:17:38,000 --> 00:17:42,000 və həqiqətən, demək olar ki, bir şablon kimi bu edə bilərsiniz. 274 00:17:42,000 --> 00:17:46,000 Yazmaq olduqca çox hər proqramı-olmalıdır 275 00:17:46,000 --> 00:17:50,000 xətləri bu command line sürsə arqumentlər-bir ardıcıllıqla 276 00:17:50,000 --> 00:17:55,000 ki, əvvəldən bu kimi oxuyur. 277 00:17:55,000 --> 00:17:59,000 Bu, istədiyiniz ilk ağlı başında olma testlər biri. 278 00:17:59,000 --> 00:18:03,000 >> Burada biz əmin olduğunu edildi nə 279 00:18:03,000 --> 00:18:06,000 söz etibarlı idi ki, biz ki, ikinci çek idi. 280 00:18:06,000 --> 00:18:11,000 Biz argc və 2-dən bu ayrı bir daha bildirək. 281 00:18:11,000 --> 00:18:14,000 Bu halda biz ki, bir şey əvəzinə Qeyd edək ki, 282 00:18:14,000 --> 00:18:18,000 i istifadə edərək biz, bütün simli doğrulamak üçün istədi 283 00:18:18,000 --> 00:18:21,000 və qaydada həqiqətən xarakteri ilə xarakter getmək bunu 284 00:18:21,000 --> 00:18:23,000 simli üzərində. 285 00:18:23,000 --> 00:18:29,000 Bu barədə bir şey zəng etmək üçün heç bir yaxşı yolu yoxdur 286 00:18:29,000 --> 00:18:31,000 hətta, məsələn, bir i 0 qayıtmaq çünki 287 00:18:31,000 --> 00:18:37,000 bir tam analiz mümkün olmadıqda, hətta iş deyil ki. 288 00:18:37,000 --> 00:18:42,000 Yenə dəqiq istifadəçi izah gözəl mesaj nə. 289 00:18:42,000 --> 00:18:45,000 Sonra burada yenə biz də işin idarə yerləşir 290 00:18:45,000 --> 00:18:50,000 nəzarət D təsadüfi xarakter istifadəçi növləri. 291 00:18:50,000 --> 00:18:54,000 >> Və sonra Charlotte biz boşluq keçmək üçün idarə necə haqqında bir sual daha əvvəl idi 292 00:18:54,000 --> 00:18:57,000 Burada simli edir. 293 00:18:57,000 --> 00:19:00,000 Bu, Myspace proqramı ilə nə oxşar cür idi 294 00:19:00,000 --> 00:19:04,000 biz bölməsində etdi və bu şəkildə işləmişdir ki, 295 00:19:04,000 --> 00:19:08,000 biz görmədiyim ki, məktubların sayı izlenen ki. 296 00:19:08,000 --> 00:19:13,000 Biz xarakteri ilə karakter gəzmiş kimi biz, mesaj string gəzmiş 297 00:19:13,000 --> 00:19:16,000 biz loop üçün hissəsi kimi index izlenir, sonra biz də izlenir 298 00:19:16,000 --> 00:19:21,000 məktubları sayı, belə qeyri-xüsusi simvollar, qeyri-rəqəm, qeyri-ağ kosmik 299 00:19:21,000 --> 00:19:27,000 Biz ayrı-ayrı dəyişən görmədiyim ki. 300 00:19:27,000 --> 00:19:33,000 Və sonra bu həll əsas dəyişiklik 301 00:19:33,000 --> 00:19:41,000 faktiki əsas tam almaq və fly ki, nə üçün, 302 00:19:41,000 --> 00:19:47,000 sonra faktiki mesaj xarakteri şifrelemek gedir sağ əvvəl. 303 00:19:47,000 --> 00:19:50,000 Çox mükəmməl böyük idi ki, bəzi həllər var 304 00:19:50,000 --> 00:19:58,000 əsas-nin etibarlılıq üçün test zaman əsas qədər dəyişə bilər. 305 00:19:58,000 --> 00:20:01,000 Arxayın əlavə ki, xarakteri və söz 306 00:20:01,000 --> 00:20:05,000 alfabetik karakter bu da bir tam çevrildi 307 00:20:05,000 --> 00:20:13,000 0 25 intervalında sonra loop üçün bu ki, sonra nə olan keçmək üçün. 308 00:20:13,000 --> 00:20:18,000 Yenə, bu, həqiqətən, tam olaraq eyni kodu burada 309 00:20:18,000 --> 00:20:22,000 biz bu nöqtədə Caesar istifadə edir. 310 00:20:22,000 --> 00:20:25,000 Siz eyni şey yapýyorsun, real oyun həyata figuring belə 311 00:20:25,000 --> 00:20:30,000 bir tamsayı daxil söz açmaq üçün necə. 312 00:20:30,000 --> 00:20:35,000 >> Bir şey biz burada ki bir az sıx olduğunu 313 00:20:35,000 --> 00:20:39,000 biz bu söz təkrar, mən, siz zəng edə tapmaq 314 00:20:39,000 --> 00:20:45,000 Xətləri 58, 59, və 61-də 3 ayrı dəfə. 315 00:20:45,000 --> 00:20:52,000 Kimsə məhz bu söz nə izah edə bilər? 316 00:20:52,000 --> 00:20:55,000 Siz dediyiniz kimi, bir simvol daxil edir. 317 00:20:55,000 --> 00:20:59,000 Bəli, bu söz ilə [işitilemez] bir xarakter var 318 00:20:59,000 --> 00:21:04,000 yalnız birlikdə hərəkət edirik, çünki belə Göründüyü məktubları sıra 319 00:21:04,000 --> 00:21:06,000 Siz məktubu gördüm bir söz, 320 00:21:06,000 --> 00:21:10,000 belə səmərəli boşluq və bu kimi məhsulları keçmək olacaq ki,. 321 00:21:10,000 --> 00:21:12,000 Bəli, dəqiq. 322 00:21:12,000 --> 00:21:16,000 Əgər ətrafında geri hərəkət belə Və sonra bir dəfə Siz yalnız mod söz boş gördüm. 323 00:21:16,000 --> 00:21:18,000 Exactly. Bu mükəmməl izah edir. 324 00:21:18,000 --> 00:21:23,000 Nə Kevin dedi biz söz daxil index istəyirəm ki. 325 00:21:23,000 --> 00:21:28,000 Siz ki, Biz də num_letters_seen xarakter almaq istəyirəm 326 00:21:28,000 --> 00:21:32,000 lakin num_letters_seen söz müddəti artıq olduqda, 327 00:21:32,000 --> 00:21:37,000 biz müvafiq sıra geri almaq yolunda biz mod operator istifadə 328 00:21:37,000 --> 00:21:40,000 səmərəli ətrafında kesmek üçün. 329 00:21:40,000 --> 00:21:43,000 Məsələn, qısa olduğu kimi, bizim söz, donuz edir 330 00:21:43,000 --> 00:21:46,000 və 5 məktublar uzun. 331 00:21:46,000 --> 00:21:50,000 Amma bu nöqtədə bizim düz metin 6 məktubları gördüm 332 00:21:50,000 --> 00:21:52,000 və 6 şifrəli. 333 00:21:52,000 --> 00:21:57,000 Biz num_letters_seen daxil sona çatacaq 334 00:21:57,000 --> 00:22:00,000 olan söz mod uzunluğu, 5, 6 335 00:22:00,000 --> 00:22:04,000 və biz nə edəcəyik biz rəftar belə 1 almaq və olacaq 336 00:22:04,000 --> 00:22:14,000 o nöqtədə bizim söz ilk xarakter içərisində olmaq. 337 00:22:14,000 --> 00:22:21,000 >> Bütün hüquqlar, Vigenère dair suallarınız 338 00:22:21,000 --> 00:22:26,000 biz hərəkət əvvəl? 339 00:22:26,000 --> 00:22:31,000 Siz uşaqlar bu barədə çox yaxşı hiss? 340 00:22:31,000 --> 00:22:35,000 Böyük, sərin. 341 00:22:35,000 --> 00:22:38,000 Mən sizə uşaqlar kodu görmək imkanı əldə əmin etmək istəyirəm 342 00:22:38,000 --> 00:22:48,000 biz yaxşı görünür edirəm və öyrənmək imkanı var. 343 00:22:48,000 --> 00:22:53,000 Bu, hazırda boşluq istifadə edəcəyik son olacaq 344 00:22:53,000 --> 00:22:59,000 və indi keçid olacaq və mən cs50.net/lectures getmək üçün gedirəm 345 00:22:59,000 --> 00:23:06,000 biz viktorina baxış bir az edə bilərsiniz. 346 00:23:06,000 --> 00:23:10,000 Mən viktorina baxış edir başlamaq üçün hesab edirəm ki, ən yaxşı yolu 347 00:23:10,000 --> 00:23:15,000 Bu mühazirələr səhifə gəlmək deyil, cs50.net/lectures, 348 00:23:15,000 --> 00:23:20,000 və həftə mal hər altından, mən, Həftə 0 burada baxmaq əgər 349 00:23:20,000 --> 00:23:27,000 Mən biz Həftə 0 əhatə edən mövzuların siyahısı var olduğunu görürük. 350 00:23:27,000 --> 00:23:31,000 >> Bu mövzular hər hansı sizə tanış olmayan görünürsə 351 00:23:31,000 --> 00:23:34,000 siz mütləq mühazirə qeydləri və bəlkə geri təmizləmək lazımdır 352 00:23:34,000 --> 00:23:39,000 əgər siz hətta mühazirələr vasitəsilə üzsüz, yenə onlara baxmaq 353 00:23:39,000 --> 00:23:44,000 bu mövzu hər nə üçün bir fikir almaq üçün. 354 00:23:44,000 --> 00:23:49,000 I əlavə biz var sərin ehtiyatları bu il bir deyəcəklər 355 00:23:49,000 --> 00:23:55,000 biz yaratdıq ki, bu şort və siz Həftə 0 baxsaq, 356 00:23:55,000 --> 00:24:00,000 biz əhatə mövzular bütün deyil, lakin biz onlardan bir neçə var 357 00:24:00,000 --> 00:24:03,000 bu trickier isə bəzi belə yenə bu şort seyr 358 00:24:03,000 --> 00:24:08,000 sürətli siz almaq üçün yaxşı bir yoldur. 359 00:24:08,000 --> 00:24:15,000 Xüsusilə, mən o idi-ci ildən, altındakı 3 bir plug qoymaq gedirəm. 360 00:24:15,000 --> 00:24:20,000 Amma ikili mübarizə edirsinizsə, bit, hex, məhsullarının belə, 361 00:24:20,000 --> 00:24:22,000 binar başlamaq üçün böyük bir yerdir. 362 00:24:22,000 --> 00:24:25,000 ASCII çox Təfərrüatlar üçün yaxşı ki, başqa biridir. 363 00:24:25,000 --> 00:24:31,000 Mən sizə çox yavaş gedirəm əgər hətta 1.5x sürəti mənə baxa bilərsiniz. 364 00:24:31,000 --> 00:24:35,000 Bu nəzərdən ildən, bunu çekinmeyin. 365 00:24:35,000 --> 00:24:40,000 >> Yalnız həqiqətən tez başlamaq üçün, biz bu viktorina problemləri bir neçə ilə getmək olacaq 366 00:24:40,000 --> 00:24:44,000 yalnız tez bu yolu nehrə üçün. 367 00:24:44,000 --> 00:24:50,000 Məsələn, mən şurası sağ qədər burada var ki, problem 16 baxaq. 368 00:24:50,000 --> 00:24:54,000 Biz, ikili, bu aşağıdakı hesablanması var 369 00:24:54,000 --> 00:24:56,000 və biz hər hansı bir iş göstərmək istəyirəm. 370 00:24:56,000 --> 00:24:59,000 Okay, bu bir shot vermək gedirəm. 371 00:24:59,000 --> 00:25:01,000 Siz uşaqlar, kağız ilə birlikdə olmalıdır 372 00:25:01,000 --> 00:25:04,000 və biz, həqiqətən, tez bu edəcəyik. 373 00:25:04,000 --> 00:25:06,000 Biz ikili aşağıdakı hesablanması çıxış etmək istəyirəm. 374 00:25:06,000 --> 00:25:16,000 Mən 00110010 var. 375 00:25:16,000 --> 00:25:27,000 Mən bu 00110010 əlavə etmək üçün gedirəm. 376 00:25:27,000 --> 00:25:30,000 Riyaziyyat üçün, evdə birlikdə aşağıdakı dahi 377 00:25:30,000 --> 00:25:35,000 Bu səmərəli 2 vurulması olunur. 378 00:25:35,000 --> 00:25:37,000 Nin başlamaq edək. 379 00:25:37,000 --> 00:25:39,000 Biz ki, həmin əlavə alqoritm izləmək olacaq 380 00:25:39,000 --> 00:25:43,000 biz birlikdə decimal nömrələrin əlavə zaman. 381 00:25:43,000 --> 00:25:46,000 Həqiqətən, burada yalnız fərq biz loop geri ətrafında 382 00:25:46,000 --> 00:25:51,000 bir dəfə biz 1 + 1 əvəzinə bir dəfə biz 10 almaq var. 383 00:25:51,000 --> 00:25:53,000 >> Biz həqiqətən tez sağdan başlamaq varsa, nə ilk rəqəmli var? 384 00:25:53,000 --> 00:25:55,000 [Tələbə] 0. >> [Nate H.] 0. 385 00:25:55,000 --> 00:25:58,000 Böyük, ikinci rəqəmli? 386 00:25:58,000 --> 00:26:00,000 [Tələbə] 1. 387 00:26:00,000 --> 00:26:02,000 [Nate H.] bir 1 mı? 1 + 1? 388 00:26:02,000 --> 00:26:04,000 [Tələbə] 10. 389 00:26:04,000 --> 00:26:08,000 [Nate H.] Məhz, mən birlikdə əlavə 2 olanları altında sağ yazmaq ki rəqəmli belə nədir? 390 00:26:08,000 --> 00:26:11,000 [Tələbə] 1, 0, və ya 0, sonra 1 daşıyır. 391 00:26:11,000 --> 00:26:15,000 [Nate H.] 0 və dəqiq, 1 daşıyır. 392 00:26:15,000 --> 00:26:18,000 Sonrakı bir qədər, Basil, siz istəyirik. 393 00:26:18,000 --> 00:26:20,000 Üçüncü nədir? >> [Basil] 1. 394 00:26:20,000 --> 00:26:23,000 [Nate H.] 1, mükəmməl. Kevin? 395 00:26:23,000 --> 00:26:27,000 [Kevin] 0. >> [Nate H.] 0, Charlotte? 396 00:26:27,000 --> 00:26:30,000 [Charlotte] 0. >> [Nate H.] Bəli, mən nə etməliyəm? 397 00:26:30,000 --> 00:26:32,000 [Tələbə] 1-. 398 00:26:32,000 --> 00:26:34,000 [Nate H.] Mən nə etməliyəm? Və sonra mən 1 daşıyır. 399 00:26:34,000 --> 00:26:36,000 Mükəmməl, Sahb? >> [Sahb] İndi siz 1 var. 400 00:26:36,000 --> 00:26:40,000 [Nate H.] Mən burada bir şey var? 401 00:26:40,000 --> 00:26:43,000 [Sahb] Sonra siz 1 keçirilmişdir çünki 1 mövcut növbəti bir. 402 00:26:43,000 --> 00:26:49,000 [Nate H.] Böyük, belə ki, burada biz onu bitirmək bilər. 403 00:26:49,000 --> 00:26:51,000 Cool. 404 00:26:51,000 --> 00:26:54,000 [Tələbə] 0 + 0 = 0 varmı? 405 00:26:54,000 --> 00:26:56,000 0 + 0 = 0. 406 00:26:56,000 --> 00:27:01,000 1 + 1, siz bildirib kimi, 0, 10 və ya 1 deyil. 407 00:27:01,000 --> 00:27:07,000 10 mənə 10 sayı 10 deməkdir, çünki bir yanlış ad deyil, 408 00:27:07,000 --> 00:27:12,000 və biz bunu yazılı etdiyiniz zaman biz onu təmsil etdiyiniz necə qəribəlik var. 409 00:27:12,000 --> 00:27:20,000 Biz, 1, 0 sayı 2 təmsil, və 10 saylı az fərqli. 410 00:27:20,000 --> 00:27:23,000 >> Binar haqqında gözəl cür nə həqiqətən çox deyil ki, 411 00:27:23,000 --> 00:27:25,000 Əgər öyrənmək lazımdır hallarda. 412 00:27:25,000 --> 00:27:30,000 0 + 0 = 0, 0 + 1 = 1 var 413 00:27:30,000 --> 00:27:34,000 1 + 1 0, sonra, bir 1 aparmaq 414 00:27:34,000 --> 00:27:37,000 və sonra sağ üçüncü sütununda burada görə bilərsiniz 415 00:27:37,000 --> 00:27:40,000 biz bu 1, 1, 1 idi. 416 00:27:40,000 --> 00:27:43,000 Və 1 + 1 + 1, 1 417 00:27:43,000 --> 00:27:45,000 və başqa 1 daşıyır. 418 00:27:45,000 --> 00:27:48,000 Siz ikili əlavə edirik zaman, olduqca sadə. 419 00:27:48,000 --> 00:27:51,000 Mən ağlı başında olma özünüzü yoxlamaq üçün bu bir neçə daha çox istədiyiniz 420 00:27:51,000 --> 00:27:54,000 Bu, çünki getmək əvvəl 421 00:27:54,000 --> 00:28:00,000 Yəqin ki, biz viktorina görmək lazımdır ki, bir şey. 422 00:28:00,000 --> 00:28:03,000 İndi, bu növbəti bir nə edək. 423 00:28:03,000 --> 00:28:06,000 Problem 17 nə edək. 424 00:28:06,000 --> 00:28:12,000 Biz decimal aşağıdakı binar sayı çevirmək olacaq. 425 00:28:12,000 --> 00:28:28,000 Mən 10100111001 var. 426 00:28:28,000 --> 00:28:33,000 Etdim ki, ikili video saxla 427 00:28:33,000 --> 00:28:36,000 Mən nümunələri bir neçə ilə getdi və mən necə göstərdi 428 00:28:36,000 --> 00:28:41,000 siz decimal bu yapýyorsun zaman hər şey işləyir. 429 00:28:41,000 --> 00:28:45,000 Siz decimal təmsil çalışırıq zaman ki, biz olduğunuzu düşünürəm 430 00:28:45,000 --> 00:28:48,000 bu bizim həyatımızda bu nöqtədə belə səlis ki, 431 00:28:48,000 --> 00:28:53,000 onu həqiqətən işləri necə mexanika üzərində parıltı olduqca asandır. 432 00:28:53,000 --> 00:28:59,000 >> Mən sayı 137 varsa Lakin, tez recap etmək 433 00:28:59,000 --> 00:29:06,000 bu həqiqətən deməkdir və yenidən bu decimal edir təmsil- 434 00:29:06,000 --> 00:29:19,000 decimal ilə sayı 137 I 1 x 100 + 3 x 10 + 7 x 1 malikdirlər. 435 00:29:19,000 --> 00:29:22,000 Bu, bütün ekran qalan deyil. 436 00:29:22,000 --> 00:29:29,000 Və sonra, burada bu rəqəmlər baxsaq 437 00:29:29,000 --> 00:29:34,000 100, 10 və 1, onlar həqiqətən 10 bütün səlahiyyətləri olduğunu görürük. 438 00:29:34,000 --> 00:29:43,000 Mən sıfır 10 ², 10 saylı, 10 var. 439 00:29:43,000 --> 00:29:48,000 Biz ikili şey oxşar növ var 440 00:29:48,000 --> 00:29:55,000 başqa bizim baza, biz zəng kimi, 10 2 əvəzinə dir. 441 00:29:55,000 --> 00:29:58,000 Mən altındakı burada yazmışdır ki, bu 10s, 442 00:29:58,000 --> 00:30:02,000 bu 10 ², 10 saylı, sıfır, 10, 10 bizim bazası 443 00:30:02,000 --> 00:30:08,000 və eksponent, 0, 1 və ya 2, 444 00:30:08,000 --> 00:30:14,000 biz yazmaq ki sayı rəqəmli mövqeyi ilə nəzərdə tutulub. 445 00:30:14,000 --> 00:30:21,000 Biz buna baxsaq 1, bu 1 2-ci mövqedədir. 446 00:30:21,000 --> 00:30:27,000 3 1-ci mövqe, və 7-0th vəziyyətdədir. 447 00:30:27,000 --> 00:30:35,000 Bu, bizim əsasları üçün aşağıdakı müxtəlif eksponatlarla almaq nasıl. 448 00:30:35,000 --> 00:30:40,000 >> Bu we'll-əslində bütün sonra, siz nə bilirik? 449 00:30:40,000 --> 00:30:43,000 Biz mənim geri düyməsinə do-Ü getdi olacaq? 450 00:30:43,000 --> 00:30:45,000 Orada gedir. 451 00:30:45,000 --> 00:30:47,000 Mən bu şey geri sevirəm. 452 00:30:47,000 --> 00:30:51,000 Bundan sonra mən ən azı mənim üçün hesab edirəm ki, 453 00:30:51,000 --> 00:30:54,000 bir ikili sayı konvertasiya başlamaq üçün en asan yol 454 00:30:54,000 --> 00:30:57,000 əsasında 16 olduğu və ya hexadecimal sayı 455 00:30:57,000 --> 00:31:02,000 və 10 və ya 2 irəli getmək və yazmaq üçün 456 00:31:02,000 --> 00:31:09,000 üst mənim ikili sıra nömrələri bütün əsasları və eksponent. 457 00:31:09,000 --> 00:31:14,000 Biz yenə sol başlamaq varsa, 458 00:31:14,000 --> 00:31:17,000 counterintuitive növü, olan 459 00:31:17,000 --> 00:31:23,000 Burada qara geri dəyişdirmək lazımdır, biz 0th mövqeyi 2 mövcut 460 00:31:23,000 --> 00:31:27,000 və sonra 2 saylı var, 2 ², 461 00:31:27,000 --> 00:31:33,000 və sonra 2-3-5-2-4, 2, 6, 462 00:31:33,000 --> 00:31:39,000 7, 8, 9, 10. 463 00:31:39,000 --> 00:31:41,000 Mən yazdıq Bu nömrələr bütün eksponatlarının var. 464 00:31:41,000 --> 00:31:48,000 Mən yalnız alan ilk 3 burada əsasları yazdı. 465 00:31:48,000 --> 00:31:50,000 >> Bu nöqtədə davam gedirəm və mən həqiqətən silmək gedirəm 466 00:31:50,000 --> 00:31:53,000 ki, OK əgər biz decimal etdi ki, stuff. 467 00:31:53,000 --> 00:31:57,000 Siz bütün var. 468 00:31:57,000 --> 00:32:05,000 Mən əminəm online izləmək sizin istədiyiniz əgər mənə geri olacaq. 469 00:32:05,000 --> 00:32:07,000 Qələm geri edin. 470 00:32:07,000 --> 00:32:12,000 İndi, nə biz nə-if uşaqlar 2 sizin səlahiyyətləri haqqında sürətləndirmək üçün tamamilə qədər deyil, 471 00:32:12,000 --> 00:32:15,000 ki, tamamilə sərin var. 472 00:32:15,000 --> 00:32:18,000 Bu olur. Mən başa düşürəm. 473 00:32:18,000 --> 00:32:23,000 Mən 2 bütün səlahiyyətləri bilməlidir verib harada bir iş müsahibə idi 474 00:32:23,000 --> 00:32:26,000 up vasitəsilə 2 30. 475 00:32:26,000 --> 00:32:29,000 Mən var bir iş deyildi. 476 00:32:29,000 --> 00:32:32,000 , Hər halda, uşaqlar davam edə bilər və burada riyaziyyat etmək 477 00:32:32,000 --> 00:32:35,000 lakin binar ilə həqiqətən mənada etmir 478 00:32:35,000 --> 00:32:38,000 və nə də, ya decimal ya hexadecimal ilə mənada edir 479 00:32:38,000 --> 00:32:43,000 siz adet sıfır olduğu həyata riyaziyyat etmək. 480 00:32:43,000 --> 00:32:49,000 Mən burada, buraya, burada burada burada, burada 0 0 0 0 0 0 mövcut bilərsiniz. 481 00:32:49,000 --> 00:32:52,000 Nə üçün faktiki math etmək mənada bilər 482 00:32:52,000 --> 00:32:56,000 ki, mövqe üçün 2 müvafiq güc hesablamaq üçün? 483 00:32:56,000 --> 00:32:59,000 Charlotte bildirib kimi Məhz, bu 0 olacaq. 484 00:32:59,000 --> 00:33:05,000 2 səlahiyyətləri hesablanması üçün güclü kostyum deyilsə, həmçinin özünüz vaxt saxlaya bilər. 485 00:33:05,000 --> 00:33:10,000 Bu halda biz yalnız 0 2 üçün hesablamaq lazımdır-? 486 00:33:10,000 --> 00:33:12,000 [Tələbə] 1. 487 00:33:12,000 --> 00:33:14,000 [Nate H.] 1, 2, 3 olan-? 488 00:33:14,000 --> 00:33:16,000 [Tələbə] 8. >> [Nate H.] 8. 489 00:33:16,000 --> 00:33:18,000 2, 4? 490 00:33:18,000 --> 00:33:21,000 [Tələbə] 2. I, sorry 1 edirəm. 491 00:33:21,000 --> 00:33:26,000 [Nate H.] 2 4 tam, 16-dir. 492 00:33:26,000 --> 00:33:28,000 2 5, Kevin? >> 32. 493 00:33:28,000 --> 00:33:32,000 [Nate H.] 32, 2, 8? 494 00:33:32,000 --> 00:33:38,000 [Tələbə] 32 x 8, 256. 495 00:33:38,000 --> 00:33:41,000 [Nate H.] mükəmməldir. 496 00:33:41,000 --> 00:33:43,000 Və 2 10? 497 00:33:43,000 --> 00:33:45,000 [Tələbə] 1024. 498 00:33:45,000 --> 00:33:49,000 [Nate H.] Bəli, 1024. 499 00:33:49,000 --> 00:33:57,000 >> Sonra biz onları yekunlaşdırmaq olar bu rəqəmlər var. 500 00:33:57,000 --> 00:34:01,000 Və bu şeyi bir neçə etmək həqiqətən vacib yerdir. 501 00:34:01,000 --> 00:34:07,000 Bir yavaş getmək və iş kontrol edilir. 502 00:34:07,000 --> 00:34:10,000 Siz bu sayı sonunda 1 var deyə bilərəm ki, 503 00:34:10,000 --> 00:34:15,000 Mən mütləq mənim nəticəsində tək sayda almaq lazımdır 504 00:34:15,000 --> 00:34:18,000 bütün digər olanları belə nömrələri olacaq, çünki 505 00:34:18,000 --> 00:34:21,000 bir ikili sayı ki verilir. 506 00:34:21,000 --> 00:34:24,000 Siz test bu nöqtəyə almaq əgər bunu başqa bir şey 507 00:34:24,000 --> 00:34:27,000 və bu günə qədər həyata yazdıq 508 00:34:27,000 --> 00:34:30,000 və vaxt həyata çalıştırıyorsanız 509 00:34:30,000 --> 00:34:33,000 bu problem lazımdır ki, xal sayı baxırıq. 510 00:34:33,000 --> 00:34:40,000 Bu problem görmək-əgər kimi mən, həqiqətən, mənim laptop geri flip tez- 511 00:34:40,000 --> 00:34:44,000 bu problem 2 bal lazımdır, belə ki, bu əlavə və sort deyil 512 00:34:44,000 --> 00:34:47,000 həqiqətən, vaxt darda əgər siz keçir edilməlidir. 513 00:34:47,000 --> 00:34:52,000 Amma iPad geri keçmək lazımdır və biz, həqiqətən, tez keçmək lazımdır. 514 00:34:52,000 --> 00:34:54,000 >> Mən ilk kiçik nömrələri bunu istəyirəm 515 00:34:54,000 --> 00:34:56,000 Mən ki, asan tapmaq üçün. 516 00:34:56,000 --> 00:35:00,000 Onlar olduqca asan birlikdə getmək, çünki mən 32 və 8 istəyirəm, və biz 50 almaq. 517 00:35:00,000 --> 00:35:03,000 16 və 1 17 olur. 518 00:35:03,000 --> 00:35:05,000 , Biz, 57 almaq 519 00:35:05,000 --> 00:35:14,000 və sonra biz bu istirahət etmək, belə ki, biz, 156 57 edə bilər. 520 00:35:14,000 --> 00:35:16,000 Hadi. 521 00:35:16,000 --> 00:35:19,000 Man, yaxşı nin görək. 522 00:35:19,000 --> 00:35:27,000 Biz 57, 256 və 1024 olmuşdur. 523 00:35:27,000 --> 00:35:31,000 Bu nöqtədə, mən deyil, yalnız keçmək istiyorum. 524 00:35:31,000 --> 00:35:35,000 I ipucu yoxdur. Mən aydın bu qədər oxumaq lazımdır. 525 00:35:35,000 --> 00:35:40,000 7, 6, 4, siz 17 almaq. 526 00:35:40,000 --> 00:35:42,000 1, 5, 5, 2, 13. 527 00:35:42,000 --> 00:35:45,000 Sonra 3 almaq və sonra 1 almaq. 528 00:35:45,000 --> 00:35:52,000 1337. 529 00:35:52,000 --> 00:35:55,000 Pasxa yumurta, heç? 530 00:35:55,000 --> 00:35:59,000 Kimse bu sayı tanımaq? 531 00:35:59,000 --> 00:36:02,000 Chris sayı tanıyır. Bu, Chris nə deməkdir? 532 00:36:02,000 --> 00:36:04,000 [Chris] Leet. 533 00:36:04,000 --> 00:36:11,000 Bu baxsaq Leet ki, bu leet kimi görünür. 534 00:36:11,000 --> 00:36:15,000 Hacker stuff. Də orta və ya viktorina deyil, haqqında stuff ki cür üçün Watch out. 535 00:36:15,000 --> 00:36:19,000 Siz məhsullarının bu cür görmək və merak istəyirsinizsə "Huh" 536 00:36:19,000 --> 00:36:22,000 ki, həqiqətən bir şey demək bilər. 537 00:36:22,000 --> 00:36:24,000 Bilmirəm. Davud da qoyaraq bəyənir 538 00:36:24,000 --> 00:36:26,000 Bu ağlı başında olma kontrol üçün yaxşı bir yoldur. 539 00:36:26,000 --> 00:36:30,000 Tamam kimi, mən nə edə bilərsiniz. 540 00:36:30,000 --> 00:36:34,000 >> Bu həftə 0/Week 1 məhsulları var. 541 00:36:34,000 --> 00:36:39,000 İndi bizim laptop geri keçmək varsa, 542 00:36:39,000 --> 00:36:46,000 zoom və digər şeyi bir neçə. 543 00:36:46,000 --> 00:36:50,000 Biz problem dəstləri ilə bir çox bunu etdiyiniz, ASCII var. 544 00:36:50,000 --> 00:36:55,000 Kapital A. Bu anlayış həqiqətən nədir? 545 00:36:55,000 --> 00:36:57,000 Bu decimal tam deyil biləndir. 546 00:36:57,000 --> 00:37:00,000 65, bu ASCII cədvəldə eşlenen nə edir 547 00:37:00,000 --> 00:37:03,000 və, kompüter o yazır necə buna görə də var 548 00:37:03,000 --> 00:37:06,000 və biz, həqiqətən, yazı ilə üz əldə etdik necə 549 00:37:06,000 --> 00:37:09,000 xarakteri kapital A və xarakteri bir kiçik 550 00:37:09,000 --> 00:37:14,000 siz bunu etdik ki, bu həllər və problem dəstləri bəzi. 551 00:37:14,000 --> 00:37:16,000 Digər bir cüt. 552 00:37:16,000 --> 00:37:25,000 Biz hesabatları, boolean ifadələr, şərtlər, loops, dəyişənlərin və mövzuları var. 553 00:37:25,000 --> 00:37:29,000 >> Bu bütün hissəsi mənada görünür? 554 00:37:29,000 --> 00:37:35,000 Bu terminologiya bəzi vaxtlarda bir az funky edir. 555 00:37:35,000 --> 00:37:46,000 Mən nöqtəli vergül ilə başa çatır ki, çox hissəsi bir şey kimi bir bəyanat hesab etmək istəyirəm. 556 00:37:46,000 --> 00:37:51,000 Belə x kimi Hesabatları = 7, dəyişən müəyyən edən, 557 00:37:51,000 --> 00:37:54,000 güman x = 7 çağırıb. 558 00:37:54,000 --> 00:38:01,000 Ehtimal x, həmçinin 7 saylı saxlaya bilərsiniz ki, bir növü 559 00:38:01,000 --> 00:38:05,000 belə ki, bir int və ya bəlkə bir float və ya qısa bir və ya bir char var 560 00:38:05,000 --> 00:38:07,000 kimi bir şey. 561 00:38:07,000 --> 00:38:12,000 A boolean ifadə bərabər bu ikili istifadə 562 00:38:12,000 --> 00:38:17,000 və bang, daha az, bərabər və ya bərabər deyil 563 00:38:17,000 --> 00:38:22,000 daha az və ya məhsullarının bütün növ bərabər. 564 00:38:22,000 --> 00:38:28,000 Conditions sonra əgər başqa hesabatları. 565 00:38:28,000 --> 00:38:32,000 Mən sizə bir müvafiq olmayan başqa ola bilməz unutmayın bilər. 566 00:38:32,000 --> 00:38:37,000 Eyni zamanda, əgər bir müvafiq olmayan başqa ola bilməz. 567 00:38:37,000 --> 00:38:40,000 Loops, sizə daxil hammering olduğunuz loops, 3 növ geri 568 00:38:40,000 --> 00:38:43,000 bölmələr və problem dəstləri, son bir neçə. 569 00:38:43,000 --> 00:38:46,000 Istifadəçi girişi əldə etdiyiniz zaman isə nə istifadə edərək, 570 00:38:46,000 --> 00:38:51,000 xüsusi şərt qədər loops doğru isə istifadə edərək, 571 00:38:51,000 --> 00:38:56,000 Əgər ehtiyac varsa və sonra loops üçün bu istifadə 572 00:38:56,000 --> 00:39:01,000 Siz hazırda olduğunuz loop hansı iteration bilirəm mən bu barədə düşünmək necə. 573 00:39:01,000 --> 00:39:07,000 Yoxsa mən bir şey etmək istəyirəm bir string-də hər bir xarakter üçün edirik, əgər 574 00:39:07,000 --> 00:39:15,000 Hesab edirəm ki, element üçün bir şey etmək istəyirəm bir sıra hər bir element üçün. 575 00:39:15,000 --> 00:39:18,000 >> Threads və hadisələr. 576 00:39:18,000 --> 00:39:21,000 Bu biz, C belə aydın əhatə deyil 577 00:39:21,000 --> 00:39:23,000 lakin Not bu xatırlayıram. 578 00:39:23,000 --> 00:39:26,000 Bu, müxtəlif scripts malik anlayışdır. 579 00:39:26,000 --> 00:39:32,000 Bu da bir hadisə yayımı bu anlayışdır. 580 00:39:32,000 --> 00:39:37,000 Bəzi insanlar, əvvəlcə öz layihələrində yayım istifadə etməyib 581 00:39:37,000 --> 00:39:40,000 ki, tamamilə sərin 582 00:39:40,000 --> 00:39:46,000 lakin bu, concurrency adlanan bu böyük məsələ user 2 müxtəlif yolları 583 00:39:46,000 --> 00:39:49,000 olan necə proqramları icra etmək üçün almaq nə edir 584 00:39:49,000 --> 00:39:54,000 və ya zahirən eyni zamanda icra? 585 00:39:54,000 --> 00:39:59,000 Digər vəzifələri də çalışan isə müxtəlif vəzifələri çalışır. 586 00:39:59,000 --> 00:40:01,000 Bu əməliyyat sistemi iş görünür necə. 587 00:40:01,000 --> 00:40:04,000 Bu, misal üçün, nə olsa belə deyil 588 00:40:04,000 --> 00:40:10,000 Mən browser çalışan var, mən də Spotify yandırmaq və bir mahnı oynaya bilər. 589 00:40:10,000 --> 00:40:14,000 Başa düşürük ki, konseptual şey daha var. 590 00:40:14,000 --> 00:40:17,000 Mən qısa mövzuları nəzər ki, 591 00:40:17,000 --> 00:40:21,000 Bu barədə daha ətraflı məlumat istəyirsinizsə. 592 00:40:21,000 --> 00:40:26,000 >> Bakalým, mən orada ola inanıram 593 00:40:26,000 --> 00:40:31,000 bu bir bu barədə bir problem. 594 00:40:31,000 --> 00:40:35,000 Yenə mövzuları və hadisələri biz C əhatə edəcək bir şey deyil hesab 595 00:40:35,000 --> 00:40:41,000 o dərəcədə Not daha çətindir yalnız çünki. 596 00:40:41,000 --> 00:40:44,000 Siz orada narahat, lakin mütləq anlayışlar anlamaq lazım deyil 597 00:40:44,000 --> 00:40:47,000 neler başa düşürük. 598 00:40:47,000 --> 00:40:52,000 Biz hərəkət əvvəl, həftə haqqında suallarınız 0 material? 599 00:40:52,000 --> 00:40:55,000 Hamı çox yaxşı hiss? 600 00:40:55,000 --> 00:41:03,000 Anlaşma dəyişənlərin və nə dəyişən deyil? 601 00:41:03,000 --> 00:41:08,000 >> Hərəkət. 1 Hafta. 602 00:41:08,000 --> 00:41:12,000 Xüsusilə əhatə deyil ki, burada bir cüt 603 00:41:12,000 --> 00:41:21,000 viktorina baxış mütləq, həm də düşünmək daha konseptual şeylər. 604 00:41:21,000 --> 00:41:30,000 Ilk mənbə kodu, derleyiciler və obyekt kodu nə bu anlayışdır. 605 00:41:30,000 --> 00:41:32,000 Kimse Yok Mu? Basil. 606 00:41:32,000 --> 00:41:37,000 Olunur obyekt kodu-I mənbə kodunu cingilti istismara nə demək, 607 00:41:37,000 --> 00:41:42,000 və obyekt kodu nə cingilti kompüter proqramı oxuya bilərsiniz ki, həyata qoyur edir. 608 00:41:42,000 --> 00:41:44,000 Exactly. 609 00:41:44,000 --> 00:41:47,000 Source kodu həqiqətən qədər yazın ki, C kodu. 610 00:41:47,000 --> 00:41:50,000 Obyekt kodu siz cingilti çıxmaq edir. 611 00:41:50,000 --> 00:41:54,000 Bu ikili formatda 0s və 1s var. 612 00:41:54,000 --> 00:41:59,000 Əgər obyekt faylları bir qom zaman sonra nə olur ki, 613 00:41:59,000 --> 00:42:04,000 Bir layihə və ya bir neçə mənbə kodu faylları istifadə edir ki, bir proqram tərtib edirik demək 614 00:42:04,000 --> 00:42:09,000 olan konvensiya tərəfindən. c fayl uzantısı verilir. 615 00:42:09,000 --> 00:42:13,000 Biz caesar.c, vigenère.c var görə. 616 00:42:13,000 --> 00:42:18,000 Java proqramları yazıyoruz Əgər onlara məsləhət verir. Java. 617 00:42:18,000 --> 00:42:24,000 Python proqramları məsləhət var. Py tez-tez. 618 00:42:24,000 --> 00:42:26,000 >> Bir neçə. C faylları, onları tərtib edir. 619 00:42:26,000 --> 00:42:29,000 Zınqıltı bu ikili junk bütün spits. 620 00:42:29,000 --> 00:42:33,000 Yalnız 1 proqram istəyirəm Sonra çünki 621 00:42:33,000 --> 00:42:37,000 Bu obyekt bütün birlikdə faylları Linker link var 622 00:42:37,000 --> 00:42:40,000 1 faylı daxil. 623 00:42:40,000 --> 00:42:45,000 Bu CS50 kitabxana istifadə edərkən nə Məsələn, olur da. 624 00:42:45,000 --> 00:42:50,000 Bu CS50 kitabxana ki, həm də. H header fayl 625 00:42:50,000 --> 00:42:53,000 oxumaq ki, # includecs50.h ki. 626 00:42:53,000 --> 00:42:58,000 Və sonra da xüsusi bir ikili kitabxana fayl var 627 00:42:58,000 --> 00:43:02,000 ki, 0s və 1s ki, tərtib edilmişdir 628 00:43:02,000 --> 00:43:08,000 və-l bayrağı, belə ki, biz məkanı geri və əgər biz həqiqətən tez baxmaq 629 00:43:08,000 --> 00:43:11,000 biz cingilti komanda baxdığımızda burada neler da, 630 00:43:11,000 --> 00:43:15,000 nə var bu Burada bizim mənbə kodu fayl deyil. 631 00:43:15,000 --> 00:43:18,000 Bu compiler bayraqları bir dəstə var. 632 00:43:18,000 --> 00:43:22,000 Və sonra çox sonunda bu-l bayraqları keçid 633 00:43:22,000 --> 00:43:30,000 Bu 2 kitabxanalar üçün faktiki ikili faylları, CS50 kitabxana və sonra math kitabxana. 634 00:43:30,000 --> 00:43:35,000 >> Faylları 'məqsəd hər bir növü Anlaşma 635 00:43:35,000 --> 00:43:38,000 tərtibi prosesində etmək istədiyiniz bilərsiniz bir şeydir 636 00:43:38,000 --> 00:43:43,000 ən azı bir yüksək səviyyəli xülasə verir. 637 00:43:43,000 --> 00:43:46,000 Obyekt kodu çıxır daxil Source kodu gəlir. 638 00:43:46,000 --> 00:43:53,000 Obyekt kodu faylları birlikdə keçid, bir gözəl, yürütülebilir fayl almaq. 639 00:43:53,000 --> 00:43:55,000 Cool. 640 00:43:55,000 --> 00:43:58,000 Bir neçə bal səhvlər əldə edə bilərsiniz Bu da 641 00:43:58,000 --> 00:44:00,000 tərtibi prosesi. 642 00:44:00,000 --> 00:44:04,000 Bu hallarda, misal üçün, bu keçid bayrağı almaq əgər ki, 643 00:44:04,000 --> 00:44:10,000 Siz kodu yayınlıyorsanız zaman CS50 bayrağı və siz məkanı onu buraxmaq və ya 644 00:44:10,000 --> 00:44:13,000 Siz keçid mərhələsində bir səhv almaq lazımdır bu 645 00:44:13,000 --> 00:44:18,000 və Linker Hey, bir funksiyası GetString adlı "deyəcəklər 646 00:44:18,000 --> 00:44:20,000 ki CS50 kitabxana var. " 647 00:44:20,000 --> 00:44:25,000 "Siz bu CS50 kitabxana idi mənə, mən bunun üçün kod tapa bilməz." 648 00:44:25,000 --> 00:44:28,000 Siz bu link var ki, və ayrı-ayrı deyil 649 00:44:28,000 --> 00:44:33,000 bir compiler səhv olan compiler sintaksis və məhsullarının bu cür baxırıq, çünki. 650 00:44:33,000 --> 00:44:38,000 Bu zaman nə bilmək yaxşı. 651 00:44:38,000 --> 00:44:42,000 >> Digər şeylər haqqında bilmək. 652 00:44:42,000 --> 00:44:49,000 Mən sizə mütləq Jordan tərəfindən həyata typecasting haqqında qısa nəzər istəyirəm deyərdim 653 00:44:49,000 --> 00:44:55,000 ints başlıq altında nə anlamaq üçün, 654 00:44:55,000 --> 00:44:58,000 başlıq altında nə chars var. 655 00:44:58,000 --> 00:45:02,000 Biz ASCII haqqında danışmaq və biz, həqiqətən, ASCII masa baxdığımızda, 656 00:45:02,000 --> 00:45:07,000 edir ki, nə başlıq göz altında bizə verir 657 00:45:07,000 --> 00:45:13,000 kompüter faktiki kapital təmsil necə A və rəqəmli 7 658 00:45:13,000 --> 00:45:17,000 və bir vergül və bir sual işarəsi. 659 00:45:17,000 --> 00:45:20,000 Kompüter də təmsil etmək üçün xüsusi yollar var 660 00:45:20,000 --> 00:45:23,000 bir tam kimi sayı 7. 661 00:45:23,000 --> 00:45:27,000 O, üzən sayı sayı 7 təmsil etmək üçün xüsusi bir yol var 662 00:45:27,000 --> 00:45:29,000 və bu çox fərqlidir. 663 00:45:29,000 --> 00:45:32,000 Typecasting bilgisayarı "Hey, mən sizi çevirmək istəyirik demək necə 664 00:45:32,000 --> 00:45:37,000 bir nümayəndəlik başqa nümayəndəliyinə ". 665 00:45:37,000 --> 00:45:40,000 Niyə biz nəzər deyil. 666 00:45:40,000 --> 00:45:44,000 >> Mən də kitabxanaları haqqında qısa və derleyiciler haqqında qısa nəzər olardı. 667 00:45:44,000 --> 00:45:47,000 Tərtibi prosesi haqqında Həmin müzakirəsi, 668 00:45:47,000 --> 00:45:53,000 nə bir kitabxana, və xahiş almaq bilər ki, bu suallara bəzi üzərində gedin. 669 00:45:53,000 --> 00:45:55,000 Həftə 1 material haqqında suallar? 670 00:45:55,000 --> 00:46:03,000 Siz əhatə istədiyiniz zor görünür ki, burada hər hansı bir mövzu var? 671 00:46:03,000 --> 00:46:07,000 Biz əldə edə bilərsiniz, belə ki, bu əvvəllər mövzular ən vasitəsilə zərbə çalışıram 672 00:46:07,000 --> 00:46:13,000 göstəricilərinə və recursion do bir az. 673 00:46:13,000 --> 00:46:15,000 Düşüncələr? 674 00:46:15,000 --> 00:46:19,000 Əhatə şey? 675 00:46:19,000 --> 00:46:21,000 Bəlkə bir şokolad üçün vaxt? 676 00:46:21,000 --> 00:46:23,000 Siz uşaqlar vasitəsilə işləyir. 677 00:46:23,000 --> 00:46:26,000 Mən qəhvə haqqında yudumlayan saxlamaq üçün gedirəm. 678 00:46:26,000 --> 00:46:31,000 Həftə 2. 679 00:46:31,000 --> 00:46:34,000 Yaxşı zəng, yaxşı deyirik. 680 00:46:34,000 --> 00:46:38,000 Həftə 2 biz funksiyaları haqqında bir az daha etdi. 681 00:46:38,000 --> 00:46:43,000 >> Ilk bir neçə problem dəstləri, biz, həqiqətən, hər hansı funksiyaları yazmadım 682 00:46:43,000 --> 00:46:45,000 fəaliyyət göstərən başqa? 683 00:46:45,000 --> 00:46:47,000 Dəqiq [Tələbə] Ana. >> Ana. 684 00:46:47,000 --> 00:46:51,000 Və biz əsas bırakır ki, müxtəlif geyim gördük. 685 00:46:51,000 --> 00:46:54,000 Bu arqumentləri heç verdiyi biri var 686 00:46:54,000 --> 00:46:58,000 və biz yalnız mötərizə arasında boşluq demək 687 00:46:58,000 --> 00:47:01,000 və sonra, biz command line arguments etmək istəyirsiniz Ü biri var 688 00:47:01,000 --> 00:47:08,000 siz int argc və simli argv array var və biz gördüyümüz kimi, ki 689 00:47:08,000 --> 00:47:13,000 ya indi biz həqiqətən ki, char * olmaq string məruz etdiyiniz 690 00:47:13,000 --> 00:47:20,000 biz char * argv və sonra mötərizədə kimi yazmağa başlayın olacaq. 691 00:47:20,000 --> 00:47:22,000 Problem Set 3, uşaqlar, funksiyaları bir dəstə gördüm 692 00:47:22,000 --> 00:47:27,000 və funksiyaları bir dəstə həyata çəkmək, scramble axtarmaq. 693 00:47:27,000 --> 00:47:31,000 Bu prototipləri bütün üçün yazılmışdır. 694 00:47:31,000 --> 00:47:33,000 >> Mən, həqiqətən, tez funksiyaları ilə burada danışmaq istədiyini 695 00:47:33,000 --> 00:47:38,000 bir funksiyası yazmaq zaman 3 hissədən onlara var ki. 696 00:47:38,000 --> 00:47:43,000 Siz funksiyası qaytarılması növü müəyyən etmək lazımdır. 697 00:47:43,000 --> 00:47:46,000 Siz funksiyası üçün bir ad daxil etmək, və sonra müəyyən etmək 698 00:47:46,000 --> 00:47:51,000 arqument siyahısı və ya parametr siyahısı. 699 00:47:51,000 --> 00:47:57,000 Məsələn, əgər mən integers bir dəstə yekunlaşdırmaq üçün bir funksiyası yazmaq idi 700 00:47:57,000 --> 00:48:03,000 və sonra mənə geri növü nə məbləği qayıtmaq 701 00:48:03,000 --> 00:48:06,000 Mən integers yekunlaşdırmaq və sonra məbləği geri qaytarmaq istəyirdi? əgər 702 00:48:06,000 --> 00:48:12,000 Sonra funksiyanın adı. 703 00:48:12,000 --> 00:48:27,000 Mən irəli getmək və yaşıl yazmaq varsa, bu hissəsinin qaytarılması növüdür. 704 00:48:27,000 --> 00:48:34,000 Bu hissə adıdır. 705 00:48:34,000 --> 00:48:40,000 Və sonra mötərizədə arasında 706 00:48:40,000 --> 00:48:46,000 Mən dəlilləri vermək yerləşir ki, 707 00:48:46,000 --> 00:48:56,000 tez-tez bəzən parametrlərinin Parametreler adlı args kimi qısaca. 708 00:48:56,000 --> 00:49:00,000 Bir varsa, yalnız bir daxil. 709 00:49:00,000 --> 00:49:06,000 Bir neçə varsa bir vergül ilə hər bir ayrı-ayrı. 710 00:49:06,000 --> 00:49:13,000 Və hər bir arqument üçün siz 2 şeyi verən var-Kevin? 711 00:49:13,000 --> 00:49:18,000 [Kevin] Siz növü və sonra adını vermək lazımdır. 712 00:49:18,000 --> 00:49:21,000 Və sonra adı və adı istifadə etmək olacaq ki, adı 713 00:49:21,000 --> 00:49:25,000 cəmi funksiyası çərçivəsində arqument müraciət, 714 00:49:25,000 --> 00:49:27,000 Hal-hazırda yazılı olduğunuz funksiyası daxilində. 715 00:49:27,000 --> 00:49:32,000 >> Siz, mən yekunlaşdırmaq gedirəm, əgər nümunə üçün yoxdur 716 00:49:32,000 --> 00:49:41,000 integers-we'll bir sıra int dizi etmək demək, 717 00:49:41,000 --> 00:49:46,000 və özüm bir qıvrım aşırma verəcəyik var- 718 00:49:46,000 --> 00:49:51,000 Mən məbləğ funksiyası bir sıra keçmək sonra zaman 719 00:49:51,000 --> 00:49:55,000 Mən dəlil siyahı ilk mövqe onu keçir. 720 00:49:55,000 --> 00:49:59,000 Amma mən qəbul ki, serialın adı Varış var deyil. 721 00:49:59,000 --> 00:50:07,000 Varış Mən funksiyasının bədən daxilində dəlil baxın necə olacaq. 722 00:50:07,000 --> 00:50:10,000 Nəzərə almaq lazımdır ki, başqa şey, 723 00:50:10,000 --> 00:50:14,000 və bu funksiyaları bir qədər fərqlidir, amma, bir mühüm məqam hesab 724 00:50:14,000 --> 00:50:20,000 C mən bu kimi bir funksiyası yazıyoruz zaman ki, 725 00:50:20,000 --> 00:50:29,000 necə bu sıra necə bir çox elementləri bilirik? 726 00:50:29,000 --> 00:50:31,000 Bu oyun sual qədər deyil. 727 00:50:31,000 --> 00:50:35,000 Biz ötən həftə bölməsində bu barədə bir az söhbət etdik. 728 00:50:35,000 --> 00:50:40,000 Necə C bir sıra daxili elementlərin sayı bilirsiniz? 729 00:50:40,000 --> 00:50:44,000 Bir yolu var mı? 730 00:50:44,000 --> 00:50:49,000 >> Bu bilmək üçün heç bir yol var ki, çevrilir. 731 00:50:49,000 --> 00:50:52,000 Siz ayrı-ayrılıqda bu keçməlidirlər. 732 00:50:52,000 --> 00:50:55,000 Siz edə bilərsiniz ki, bir oyun var 733 00:50:55,000 --> 00:51:00,000 Siz array elan olunub ki, eyni funksiyası, etdiyiniz əgər 734 00:51:00,000 --> 00:51:04,000 və bir yığın array çalışırıq. 735 00:51:04,000 --> 00:51:06,000 Eyni funksiyası istəyirsinizsə Lakin, yalnız çalışır. 736 00:51:06,000 --> 00:51:09,000 Bir başqa funksiyası bir sıra keçmək və ya bir sıra elan olsanız 737 00:51:09,000 --> 00:51:12,000 və siz yığın ki array qoymaq, siz malloc istifadə etdiyiniz 738 00:51:12,000 --> 00:51:15,000  və stuff ki cür, sonra bütün bahisler off edir. 739 00:51:15,000 --> 00:51:18,000 Sonra həqiqətən ətrafında keçməlidirlər 740 00:51:18,000 --> 00:51:21,000 xüsusi dəlil və ya başqa bir parametr 741 00:51:21,000 --> 00:51:23,000 serialın nə qədər böyük belirten. 742 00:51:23,000 --> 00:51:28,000 Bu halda, Üzr, bu ekran off gedir virgülle Ben istifadə etmək istəyirəm burada 743 00:51:28,000 --> 00:51:32,000 və başqa dəlil qəbul istədiyiniz 744 00:51:32,000 --> 00:51:40,000  və uzunluğu üçün int len ​​çağırırıq. 745 00:51:40,000 --> 00:51:44,000 >> Viktorina üzrə gəlmək bilər ki, bir şey 746 00:51:44,000 --> 00:51:49,000 bir şey adlı xüsusi funksiyası yazmaq və ya həyata isteyen edilir. 747 00:51:49,000 --> 00:51:54,000 Sizə prototip vermək deyilsə, belə ki, burada bu bütün şey, 748 00:51:54,000 --> 00:51:58,000 Bu bütün mess, funksiyası bəyannamə və ya funksiyası prototip adlanır 749 00:51:58,000 --> 00:52:01,000 Bu verilmiş deyil əgər aşağı dırnaq lazımdır ki, ilk şey biri 750 00:52:01,000 --> 00:52:03,000 hemen viktorina sizə. 751 00:52:03,000 --> 00:52:06,000 Mən öyrəndim digər oyun ki, 752 00:52:06,000 --> 00:52:11,000 biz bir funksiya üçün prototip vermək nə demək, biz, demək "Hey, siz yazmaq var." 753 00:52:11,000 --> 00:52:16,000 Siz viktorina olan qıvrım aşırma Inside 754 00:52:16,000 --> 00:52:20,000 sizə bir dönüş növü olduğunu qeyd və siz qeyd ki qaytarılması növü 755 00:52:20,000 --> 00:52:25,000 funksiyası bir şey geri deyil o deməkdir ki, etibarsız, başqa bir şey deyil, 756 00:52:25,000 --> 00:52:28,000 sonra siz mütləq etmək istəyirəm bir şey yazmaq deyil 757 00:52:28,000 --> 00:52:33,000 funksiyası çox sonunda geri bəyanat bir növ. 758 00:52:33,000 --> 00:52:40,000 Biz boş doldurmaq istəyirəm, çünki qayıt, və bu halda, biz boş qoymaq lazımdır. 759 00:52:40,000 --> 00:52:44,000 Amma bu necə mən bu problem yanaşmaq gedirəm haqqında düzgün düşüncə olur? 760 00:52:44,000 --> 00:52:49,000 Və bir dəyər qayıtmaq üçün olacaq sizə xatırladır 761 00:52:49,000 --> 00:52:51,000 funksiyası ilə zəng etmək. 762 00:52:51,000 --> 00:52:54,000 >> Bəli. >> [Tələbə] biz viktorina kodu yazılı etdiyiniz zaman stil müraciət edirmi? 763 00:52:54,000 --> 00:52:58,000 Indentation və məhsullarının bu cür kimi? >> [Tələbə] Bəli. 764 00:52:58,000 --> 00:53:00,000 Xeyr, kimi çox. 765 00:53:00,000 --> 00:53:09,000 Mən, bu bir çox biz günü viktorina aydınlaşdırmaq lazımdır bir şey hesab 766 00:53:09,000 --> 00:53:15,000 lakin adətən narahat # daxildir və məhsullarının o cür ki, kənarda növü var. 767 00:53:15,000 --> 00:53:17,000 [Tələbə] sizin əlyazma kodu Şərh etməliyəmmi? 768 00:53:17,000 --> 00:53:19,000 Sizin əlyazma kodu Şərh etməliyəmmi? 769 00:53:19,000 --> 00:53:24,000 Siz qismən kredit narahat edirsinizsə şərh həmişə yaxşı 770 00:53:24,000 --> 00:53:29,000 və ya sinif şagirdi üçün niyyət ünsiyyət istəyirəm. 771 00:53:29,000 --> 00:53:33,000 Amma yenə, viktorina özü və viktorina gün aydınlıq edəcək 772 00:53:33,000 --> 00:53:39,000 amma heç bir şərh yazmaq üçün lazım olacaq ki, inanmıram. 773 00:53:39,000 --> 00:53:42,000 Adətən, lakin mütləq şey sort deyil yerləşir 774 00:53:42,000 --> 00:53:45,000 istədiyiniz, sizin niyyət informasiya "Mən ilə gedirəm yerləşir Hey, bu." 775 00:53:45,000 --> 00:53:49,000 Və bəzən qismən kredit ilə kömək edə bilər. 776 00:53:49,000 --> 00:53:51,000 Cool. 777 00:53:51,000 --> 00:53:53,000 >> Basil. 778 00:53:53,000 --> 00:53:56,000 [Basil] int lang demək, elan arasında fərq nədir 779 00:53:56,000 --> 00:54:03,000 funksiyası ərzində bir dəyişən elan qarşı arqumentləri və ya parametrləri? 780 00:54:03,000 --> 00:54:05,000 Wow, kahve nəfəs borusu düşüb. 781 00:54:05,000 --> 00:54:07,000 [Basil] biz arqumentlər qoymaq istədiyiniz şeylər kimi. 782 00:54:07,000 --> 00:54:09,000 Bəli, böyük bir sual var. 783 00:54:09,000 --> 00:54:11,000 Necə dəlilləri qoymaq istədiyiniz şeyi seçerim 784 00:54:11,000 --> 00:54:17,000 nə funksiyası daxilində etməlidir şeyə qarşı? 785 00:54:17,000 --> 00:54:24,000 Bu halda biz arqumentlər kimi bu həm daxil 786 00:54:24,000 --> 00:54:29,000 onlar məbləği funksiyasından istifadə edir kim ki, bir şey istəyirik, çünki 787 00:54:29,000 --> 00:54:32,000 o şeyi müəyyən etmək lazımdır. 788 00:54:32,000 --> 00:54:35,000 >> Edib funksiyası, biz danışdıq kimi, bilmədən heç bir yol var 789 00:54:35,000 --> 00:54:40,000 onun zəng və ya kim-dən əldə necə böyük array olan məbləğ funksiyası istifadə olunur. 790 00:54:40,000 --> 00:54:44,000 Bu array necə böyük bilmədən heç bir yol var. 791 00:54:44,000 --> 00:54:48,000 Biz bir arqument kimi burada bu uzunluğu keçmək səbəbi 792 00:54:48,000 --> 00:54:51,000 ki, biz əsasən bu funksiyası zəng izah edirik ki, bir şey var, çünki 793 00:54:51,000 --> 00:54:55,000 cəmi funksiyasından istifadə edir kim, "Hey, bizə bir sıra vermək var yalnız 794 00:54:55,000 --> 00:54:59,000 ints, siz də necə böyük siz bizə təqdim etdik ki, array bizə lazımdır. " 795 00:54:59,000 --> 00:55:03,000 [Basil] Bu həm command line arguments olacaq? 796 00:55:03,000 --> 00:55:06,000 Xeyr, bu sizin funksiyası keçir ki, faktiki dəlilləri var. 797 00:55:06,000 --> 00:55:10,000 >> Mənə burada yeni bir səhifə edək. 798 00:55:10,000 --> 00:55:13,000 [Basil] adı kimi keçə-ki 799 00:55:13,000 --> 00:55:24,000 [Nate H.] Mən int əsas varsa (void) 800 00:55:24,000 --> 00:55:27,000 və mən altındakı burada qaytarılması 0 yazmaq gedirəm 801 00:55:27,000 --> 00:55:31,000 Mən məbləğ funksiyası zəng etmək istəyirsiniz. 802 00:55:31,000 --> 00:55:42,000 Mən demək istəyirəm int x = sum (); 803 00:55:42,000 --> 00:55:46,000 Cəmi funksiyasından istifadə etmək üçün mən yekunlaşdırmaq istəyirəm ki, həm sıra keçməlidirlər 804 00:55:46,000 --> 00:55:51,000 və serialın uzunluğu, bu harada 805 00:55:51,000 --> 00:55:54,000 Mən ints bir sıra var idi hərfinin 806 00:55:54,000 --> 00:56:12,000 mən demək int numbaz [] = 1, 2, 3, 807 00:56:12,000 --> 00:56:16,000 orada sintaksis qədər girildi ki, istifadə növü, 808 00:56:16,000 --> 00:56:21,000 sonra nə edəcəyini məbləğində Mən keçmək istəyirəm 809 00:56:21,000 --> 00:56:27,000 numbaz və sayı 3 həm 810 00:56:27,000 --> 00:56:30,000 "OK, burada siz yekunlaşdırmaq istəyirəm array var". məbləği funksiyası demək 811 00:56:30,000 --> 00:56:34,000 "Burada onun ölçüsü var." 812 00:56:34,000 --> 00:56:39,000 Bu mənada edirmi? Ki, sual cavab verirmi? 813 00:56:39,000 --> 00:56:42,000 >> Bir çox hallarda biz əsas ilə işle paralel edir 814 00:56:42,000 --> 00:56:44,000 biz command line arguments zaman. 815 00:56:44,000 --> 00:56:47,000 Caesar parol kimi bir proqram, misal üçün ki, ehtiyac 816 00:56:47,000 --> 00:56:53,000 command line arguments bir şey edə bilməz. 817 00:56:53,000 --> 00:56:57,000 Siz nə əsas istifadə etmək demək deyildi, əgər şifrelemek üçün necə bilmirəm ki, 818 00:56:57,000 --> 00:57:03,000 və ya siz şifrelemek istədiyini string demək etmədikdə. 819 00:57:03,000 --> 00:57:08,000 Biz 2 müxtəlif mexanizmlər var Ü giriş üçün isteyen, bu 820 00:57:08,000 --> 00:57:14,000 istifadəçi məlumat almaq üçün, istifadəçi daxil ayırdığınız üçün. 821 00:57:14,000 --> 00:57:19,000 Problem 1 göstərilməyib üçün biz bu GetInt, GetString, GetFloat yol gördüm 822 00:57:19,000 --> 00:57:26,000 giriş üçün isteyen, və standart giriş stream istifadə edərək deyirlər. 823 00:57:26,000 --> 00:57:28,000 Bu qədər fərqli. 824 00:57:28,000 --> 00:57:31,000 Bu fərqli olaraq siz bir dəfə edə bilər ki, bir şey deyil 825 00:57:31,000 --> 00:57:35,000 proqram çalışan başlattığınızda proqram, ibadət edir. 826 00:57:35,000 --> 00:57:41,000 Proqram çalışan başlattığınızda command line arguments bütün müəyyən edilir. 827 00:57:41,000 --> 00:57:47,000 Biz bu iki qarışdırmaqla etdik. 828 00:57:47,000 --> 00:57:52,000 Biz bir funksiyası arqumentləri istifadə, o, çox əsas üçün command line arguments kimi. 829 00:57:52,000 --> 00:57:56,000 Siz demək lazımdır funksiyası ibadət zaman var 830 00:57:56,000 --> 00:58:05,000 onun vəzifələri yerinə yetirmək üçün lazımdır dəqiq nə. 831 00:58:05,000 --> 00:58:08,000 , At və baxmaq üçün sizə boş vaxt bu baxaq bilərsiniz yaxşı bir şey 832 00:58:08,000 --> 00:58:11,000 və əhatə edilmişdir çərçivəsində bu anlayış viktorina idi 833 00:58:11,000 --> 00:58:15,000 və qlobal dəyişənlər qarşı yerli dəyişənlərin. 834 00:58:15,000 --> 00:58:18,000 Ki, diqqət edin. 835 00:58:18,000 --> 00:58:23,000 >> Biz, bu digər məhsulları üçün əldə etdiyiniz İndi 836 00:58:23,000 --> 00:58:27,000 Həftə 3 biz axtarış və çeşidlənməsi söhbət başladı. 837 00:58:27,000 --> 00:58:32,000 Ən azı CS50 olaraq, axtarışı və çeşidlənməsi 838 00:58:32,000 --> 00:58:39,000 çox kompüter daha nəzəri hissələri bəzi giriş. 839 00:58:39,000 --> 00:58:42,000 Axtarış problemi, çeşidlənməsi problemi 840 00:58:42,000 --> 00:58:46,000 böyük, kanonik problemlər var. 841 00:58:46,000 --> 00:58:52,000 Necə integers milyardlarla bir sıra xüsusi bir sıra tapa bilərəm? 842 00:58:52,000 --> 00:58:55,000 Necə bir telefon kitab daxilində müəyyən bir ad tapa bilərəm 843 00:58:55,000 --> 00:58:59,000 Sizin laptop saxlanılan var? 844 00:58:59,000 --> 00:59:04,000 Və biz asimptotik run dəfə bu anlayışı tətbiq 845 00:59:04,000 --> 00:59:11,000 həqiqətən necə uzun, bu problem necə çətindir hesablamaq, 846 00:59:11,000 --> 00:59:14,000 necə uzun onlar həll edirlər. 847 00:59:14,000 --> 00:59:20,000 2011-nin viktorina, inanıram, mən mahiyyəti edirəm ki, bir problem yoxdur 848 00:59:20,000 --> 00:59:27,000 Bu, problem 12 olan, çox tez əhatə edir. 849 00:59:27,000 --> 00:59:32,000 Heç bir O ki, Omega var. 850 00:59:32,000 --> 00:59:41,000 >> Burada ən sürətli mümkün run zaman söhbət edirik 851 00:59:41,000 --> 00:59:46,000 xüsusi alqoritm və sonra yavaş mümkün run vaxt. 852 00:59:46,000 --> 00:59:52,000 Bu Omega və O, həqiqətən, yalnız qısa yolları vardır. 853 00:59:52,000 --> 00:59:55,000 Onlar deyərək üçün notational qısa edirik 854 00:59:55,000 --> 00:59:59,000 necə sürətli mümkün olan ən yaxşı halda bizim alqoritm run, 855 00:59:59,000 --> 01:00:06,000 və necə pis mümkün halda yavaş bizim alqoritm davam edəcək? 856 01:00:06,000 --> 01:00:10,000 Bu bir neçə nə edək, bu da əhatə etmişdir 857 01:00:10,000 --> 01:00:13,000 Mən tövsiyə edən asimptotik notation haqqında qısa. 858 01:00:13,000 --> 01:00:17,000 Jackson həqiqətən yaxşı iş etdi. 859 01:00:17,000 --> 01:00:23,000 Binar axtarış ilə biz, bir alqoritmi kimi ikili axtarış haqqında danışmaq 860 01:00:23,000 --> 01:00:28,000 və biz adətən böyük O. baxımından bu barədə danışmaq 861 01:00:28,000 --> 01:00:30,000 Böyük O nədir? 862 01:00:30,000 --> 01:00:34,000 Binar axtarış yavaş mümkün run zaman nədir? 863 01:00:34,000 --> 01:00:36,000 [Tələbə] N ²? 864 01:00:36,000 --> 01:00:41,000 Yaxın, mən ki, oxşar danışarlar. 865 01:00:41,000 --> 01:00:43,000 Bu çox daha sürətli daha var. 866 01:00:43,000 --> 01:00:45,000 [Tələbə] Binary? >> Bəli, ikili axtarış. 867 01:00:45,000 --> 01:00:47,000 [Tələbə] Bu günlük n var. 868 01:00:47,000 --> 01:00:49,000 Daxil n demək nə belə, n Giriş? 869 01:00:49,000 --> 01:00:51,000 Bu hər iteration yarıya indirir. 870 01:00:51,000 --> 01:00:56,000 Məhz, belə yavaş mümkün halda, 871 01:00:56,000 --> 01:01:00,000 Bir sıralanır array varsa demək 872 01:01:00,000 --> 01:01:08,000 bir milyon integers və sayı aradığınız 873 01:01:08,000 --> 01:01:14,000 ya sıra serialın və ya son element çox ilk elementidir. 874 01:01:14,000 --> 01:01:18,000 Unutmayın, ikili axtarış alqoritm, orta element baxaraq işləyir 875 01:01:18,000 --> 01:01:21,000 ki, aradığınız ki, matç varsa görüb. 876 01:01:21,000 --> 01:01:23,000 O, böyük varsa, siz onu tapdı. 877 01:01:23,000 --> 01:01:27,000 >> Mümkün olan ən yaxşı halda, necə sürətli ikili axtarış run edir? 878 01:01:27,000 --> 01:01:29,000 [Tələbələr] 1. 879 01:01:29,000 --> 01:01:32,000 1, o, 1 böyük O daimi zamanı. Bəli. 880 01:01:32,000 --> 01:01:36,000 [Tələbə] Mən bir sual var. Siz n daxil dedikdə, sağ, baza 2 ilə bağlı demək? 881 01:01:36,000 --> 01:01:40,000 Bəli, belə ki, digər şey. 882 01:01:40,000 --> 01:01:44,000 Biz log n demək, mən orta məktəbdə idi hərhalda 883 01:01:44,000 --> 01:01:48,000 Mən həmişə log bazası 10 olduğunu güman. 884 01:01:48,000 --> 01:01:57,000 Bəli, bəli, belə ki, baza 2 adətən biz istifadə nə daxil olun. 885 01:01:57,000 --> 01:02:02,000 Ya aradığınız əgər Yenə, ikili axtarış geri gedir 886 01:02:02,000 --> 01:02:05,000 çox sonunda element və ya çox əvvəlində element, 887 01:02:05,000 --> 01:02:08,000 siz ortasında başlamaq və çünki sonra imtina 888 01:02:08,000 --> 01:02:13,000 hansı yarım aradığınız ki, meyarlara uyğun deyil, 889 01:02:13,000 --> 01:02:15,000 və növbəti yarım və növbəti yarım və növbəti yarım gedin. 890 01:02:15,000 --> 01:02:19,000 Mən milyon tam sıra iri element üçün axtarış alıram edin 891 01:02:19,000 --> 01:02:25,000 Mən 1 milyon dəfə ən log onu yarı bölmək gedirəm 892 01:02:25,000 --> 01:02:28,000 Mən nəhayət test və element I arıyorum ki əvvəl 893 01:02:28,000 --> 01:02:33,000 , ən böyük və serialın ən yüksək göstərici olduğunu 894 01:02:33,000 --> 01:02:38,000 və 1 milyon dəfə daxil n log olacaq. 895 01:02:38,000 --> 01:02:40,000 >> Bubble sort. 896 01:02:40,000 --> 01:02:43,000 Uşaqlar bubble sırala alqoritm yadınızdadırmı? 897 01:02:43,000 --> 01:02:47,000 Kevin, siz məni bubble sırala alqoritm nə sürətli bir recap verə bilər? 898 01:02:47,000 --> 01:02:50,000 [Kevin] Əsasən bu siyahıda hər şey keçir. 899 01:02:50,000 --> 01:02:52,000 Bu ilk iki baxır. 900 01:02:52,000 --> 01:02:55,000 Birinci, ikinci bir o svopları onlara daha böyük olur. 901 01:02:55,000 --> 01:02:58,000 Sonra ikinci və üçüncü, eyni şey, svopları, müqayisə 902 01:02:58,000 --> 01:03:00,000 üçüncü və dördüncü, bütün yol aşağı. 903 01:03:00,000 --> 01:03:03,000 Böyük ədəd sonuna qədər təqib edəcəyik. 904 01:03:03,000 --> 01:03:07,000 Və lakin çox loops sonra tamamlayın. 905 01:03:07,000 --> 01:03:11,000 Məhz, belə nə Kevin dedi biz böyük nömrələri izləmək lazımdır ki, 906 01:03:11,000 --> 01:03:15,000 serialın sonuna bubble up. 907 01:03:15,000 --> 01:03:19,000 Bu array əgər Məsələn, bu nümunə vasitəsilə bizə gəzinti ağla edirsiniz? 908 01:03:19,000 --> 01:03:21,000 [Kevin] Sən 2 almaq və 3 bilərsiniz. 909 01:03:21,000 --> 01:03:23,000 3 2 böyükdür, belə ki, onları dəyişdirmək. 910 01:03:23,000 --> 01:03:29,000 [Nate H.] sağ, belə ki, biz bu dəyişdirmək, və biz, 3, 4 6 2 almaq və 9. 911 01:03:29,000 --> 01:03:31,000 [Kevin] Sonra siz 3 və 6 müqayisə. 912 01:03:31,000 --> 01:03:33,000 , 3 6 kiçikdir, belə ki, onları tərk 913 01:03:33,000 --> 01:03:37,000 4 6 kiçik olduğu və 6, 4, onları dəyişdirmək istədiyiniz. 914 01:03:37,000 --> 01:03:42,000 [Nate H.] sağ, mən 2, 3, 4, 6, 9 almaq. 915 01:03:42,000 --> 01:03:46,000 [Kevin] Və 9 6 böyükdür, belə ki, onu tərk. 916 01:03:46,000 --> 01:03:48,000 Və yenə onun vasitəsilə geri getmək istiyorum. 917 01:03:48,000 --> 01:03:50,000 >> Mən bu nöqtədə [Nate H.] görülən Am? >> [Kevin] saylı 918 01:03:50,000 --> 01:03:52,000 Və niyə bu nöqtədə həyata deyiləm? 919 01:03:52,000 --> 01:03:54,000 Mənim array çeşidlənir kimi görünür, çünki. Mən ona arıyorum. 920 01:03:54,000 --> 01:03:57,000 [Kevin] daha keçir və daha svopları var əmin olun 921 01:03:57,000 --> 01:04:00,000 tam dayandırmaq bilər. 922 01:04:00,000 --> 01:04:04,000 Məhz, belə vasitəsilə davam və svopları olduğunu əmin etmək lazımdır 923 01:04:04,000 --> 01:04:06,000 Bu nöqtədə edə bilər. 924 01:04:06,000 --> 01:04:08,000 Siz dediyiniz kimi, biz başa ki, həqiqətən xoşbəxt idi 925 01:04:08,000 --> 01:04:12,000 yalnız vasitəsilə 1 keçid etmək olan və biz sıralanır edirik. 926 01:04:12,000 --> 01:04:16,000 Amma ümumi halda bunu biz, həqiqətən, yenidən üzərində bunu lazımdır. 927 01:04:16,000 --> 01:04:20,000 Və əslində, bu, mümkün olan ən yaxşı halda bir nümunə oldu 928 01:04:20,000 --> 01:04:24,000 kimi biz problem gördü. 929 01:04:24,000 --> 01:04:28,000 Biz ən yaxşı halda n ki gördüm. 930 01:04:28,000 --> 01:04:32,000 Biz array 1 dəfə vasitəsilə getdi. 931 01:04:32,000 --> 01:04:35,000 Bu alqoritm üçün ən pis mümkün halda nədir? 932 01:04:35,000 --> 01:04:37,000 [Kevin] N ². 933 01:04:37,000 --> 01:04:41,000 Və göz nə kimi deyil? Nə bir sıra göz kimi n ² vaxt olacaq ki? 934 01:04:41,000 --> 01:04:43,000 [Kevin] [işitilemez] sıralanır. 935 01:04:43,000 --> 01:04:51,000 Mən array 9, 7, 6, 5, 2, idi Məhz, əgər 936 01:04:51,000 --> 01:04:54,000 ilk 9 qədər bubble bütün yol olacaq. 937 01:04:54,000 --> 01:04:59,000 1 iteration sonra 7, 6, 5, 2, 9 istiyorum. 938 01:04:59,000 --> 01:05:07,000 Sonra 7 qədər bubble, 6, 5, 2, 7, 9, və s və s edərdim. 939 01:05:07,000 --> 01:05:13,000 >> Biz bütün array n dəfə keçmək istiyorum 940 01:05:13,000 --> 01:05:16,000 və həqiqətən bu biraz daha dəqiq əldə edə bilərsiniz 941 01:05:16,000 --> 01:05:23,000 bir dəfə biz ötən mümkün mövqe qədər 9-bütün yol taşıdıktan çünki 942 01:05:23,000 --> 01:05:26,000 biz daha element qarşı müqayisə etmək heç vaxt bilirik. 943 01:05:26,000 --> 01:05:29,000 Sonra biz 7-up burda başlamaq 944 01:05:29,000 --> 01:05:35,000 biz 7 hüququ 9 əvvəl bir dəfə biz dayandırmaq bilir 945 01:05:35,000 --> 01:05:37,000 biz artıq buna 9 müqayisədə etdik ildən. 946 01:05:37,000 --> 01:05:46,000 Bir ağıllı şəkildə bu halda o, hərhalda, həqiqətən ki, çox vaxt deyil. 947 01:05:46,000 --> 01:05:49,000 Siz bütün mümkün [işitilemez] birləşməsi müqayisə etmək fikrində deyilik 948 01:05:49,000 --> 01:05:55,000 hər zaman hər iteration keçir. 949 01:05:55,000 --> 01:05:59,000 Amma yenə də, biz bu üst bound haqqında danışmaq zaman demək ki, 950 01:05:59,000 --> 01:06:04,000 siz n baxaraq ² müqayisələr bütün yolu. 951 01:06:04,000 --> 01:06:12,000 >> Biz bir az qısa almaq başlayan etdiyiniz ildən geri getmək edək və 952 01:06:12,000 --> 01:06:15,000 Mən mütləq bu masa qalan vasitəsilə getməlidir deyərdim 953 01:06:15,000 --> 01:06:17,000 bütün doldurun. 954 01:06:17,000 --> 01:06:20,000 Misal düşünün. Konkret misal düşünün. 955 01:06:20,000 --> 01:06:22,000 Bunu həqiqətən lazımlı və faydalıdır. 956 01:06:22,000 --> 01:06:25,000 Onu Draw. 957 01:06:25,000 --> 01:06:28,000 Bu masa cür ki, siz kompüter vasitəsilə getmək kimi 958 01:06:28,000 --> 01:06:32,000 Əgər həqiqətən bu ilə ürək bilmək başlamaq lazımdır. 959 01:06:32,000 --> 01:06:34,000 Bunlar müsahibə almaq sual növləri var. 960 01:06:34,000 --> 01:06:36,000 Bu, bilmək yaxşı ki şeyi növ var 961 01:06:36,000 --> 01:06:41,000 və həqiqətən düşünmək necə həyata figuring bu kənar halları barədə düşünmək 962 01:06:41,000 --> 01:06:45,000 bubble üçün ən pis mümkün array sort bilərək 963 01:06:45,000 --> 01:06:52,000 ilə düzmək üçün sırayla ki biridir. 964 01:06:52,000 --> 01:06:58,000 >> Pointers. Nin göstəricilərinə haqqında bir az danışmaq edək. 965 01:06:58,000 --> 01:07:03,000 Son bir neçə dəqiqə biz burada 966 01:07:03,000 --> 01:07:11,000 Mən bu I / O ki, daha yeni fayl birlikdə bir şey bilirik. 967 01:07:11,000 --> 01:07:19,000 Biz göstəricilər haqqında biz göstəricilər haqqında danışmaq istəyirəm səbəbi danışmaq zaman 968 01:07:19,000 --> 01:07:24,000 biz C çalışırıq zaman bir, çünki 969 01:07:24,000 --> 01:07:33,000 biz ən müasir proqramlaşdırma dilləri ilə müqayisədə olduqca aşağı səviyyədə həqiqətən. 970 01:07:33,000 --> 01:07:38,000 Biz, həqiqətən, yaddaş dəyişənlərin manipulyasiya edirik 971 01:07:38,000 --> 01:07:43,000 onlar həqiqətən bizim RAM yerləşir olduğunuz anlamaq. 972 01:07:43,000 --> 01:07:46,000 Sonra sizə görəcəksiniz əməliyyat sistemi dərsləri almaq üçün getdi sonra 973 01:07:46,000 --> 01:07:48,000 ki, yenə bir abstraksiya növü var. 974 01:07:48,000 --> 01:07:50,000 Yəni əslində hal deyil. 975 01:07:50,000 --> 01:07:52,000 Biz həmin detalları gizli ki, virtual yaddaş var. 976 01:07:52,000 --> 01:07:58,000 >> Bir proqram zaman Amma indi siz güman edə bilər 977 01:07:58,000 --> 01:08:02,000 misal üçün, başlamaq zaman Sezar parol proqram çalışan 978 01:08:02,000 --> 01:08:06,000 Mən, həqiqətən, tez-mənim iPad geri keçmək lazımdır 979 01:08:06,000 --> 01:08:12,000 Siz əgər əvvəldən sizin proqramı, demək ki, 980 01:08:12,000 --> 01:08:15,000 Sizin laptop RAM 4 gigabayt, 981 01:08:15,000 --> 01:08:21,000 Bu yığın kənara almaq və biz bu RAM zəng edəcəyik. 982 01:08:21,000 --> 01:08:25,000 Və biz 0 zəng olacaq bir yerdə başlayır 983 01:08:25,000 --> 01:08:30,000 və biz 4 gigabayt zəng lazımdır ki, bir yerdə bitir. 984 01:08:30,000 --> 01:08:37,000 Mən, həqiqətən, yaza bilməz. Man ki, girildi olunur. 985 01:08:37,000 --> 01:08:40,000 Proqram həyata zaman 986 01:08:40,000 --> 01:08:44,000 əməliyyat sistemi, RAM up carves 987 01:08:44,000 --> 01:08:51,000 və bu da yaşamaq üçün proqram müxtəlif müxtəlif seqmentləri müəyyən 988 01:08:51,000 --> 01:08:58,000 Burada Down bu sahədə heç bir insan torpaq növüdür. 989 01:08:58,000 --> 01:09:02,000 Siz uzaq burada bir az qalxmaq zaman 990 01:09:02,000 --> 01:09:05,000 həqiqətən yer var olduğu 991 01:09:05,000 --> 01:09:09,000 proqram həyatını kodu. 992 01:09:09,000 --> 01:09:13,000 Yəni faktiki ikili kod ki, yürütülebilir fayl həqiqətən yaddaş instantly olur 993 01:09:13,000 --> 01:09:17,000 bir proqram run, və kodu seqmentində yaşayan zaman. 994 01:09:17,000 --> 01:09:22,000 Proqram icra kimi işlemci bu kodu seqment baxır 995 01:09:22,000 --> 01:09:24,000 anlamaq üçün növbəti təlimatı nədir? 996 01:09:24,000 --> 01:09:27,000 Mən icra lazımdır kodu növbəti line nə deməkdir? 997 01:09:27,000 --> 01:09:31,000 >> Bir data seqment də var və bu, həmin simli sabitləri edir 998 01:09:31,000 --> 01:09:34,000 Əgər istifadə etdiyiniz saxlanılır almaq. 999 01:09:34,000 --> 01:09:42,000 Və sonra uzaq qədər yığın adlanan bu yer var. 1000 01:09:42,000 --> 01:09:46,000 Biz malloc istifadə edərək orada yaddaş daxil 1001 01:09:46,000 --> 01:09:49,000 və sonra proqram çox yuxarı doğru 1002 01:09:49,000 --> 01:09:52,000 yığını var 1003 01:09:52,000 --> 01:09:57,000 biz əvvəlində ən çox oynayan olduğunuz yerləşir və var. 1004 01:09:57,000 --> 01:09:59,000 Bu miqyaslı və ya bir şey deyil. 1005 01:09:59,000 --> 01:10:03,000 Bu bir çox, çox maşın asılıdır 1006 01:10:03,000 --> 01:10:10,000 sistem asılı fəaliyyət göstərən, lakin bu şeyi öbekli almaq nisbətən necə. 1007 01:10:10,000 --> 01:10:17,000 Bir proqram run və adlı x-bir dəyişən elan edərkən 1008 01:10:17,000 --> 01:10:27,000 Mən aşağı aşağıda başqa qutusu çəkmək gedirəm, və bu həmçinin RAM olacaq. 1009 01:10:27,000 --> 01:10:29,000 Mən baxmaq gedirəm. 1010 01:10:29,000 --> 01:10:34,000 Biz bu yalnız RAM kiçik bir bölüm göstərir kələ-kötür xətləri çəkmək lazımdır 1011 01:10:34,000 --> 01:10:38,000 və bütün biz üst çəkmək kimi. 1012 01:10:38,000 --> 01:10:43,000 >> Mən x adlı tam dəyişən, soruşsan 1013 01:10:43,000 --> 01:10:49,000 sonra nə həqiqətən əldə mapping edir 1014 01:10:49,000 --> 01:10:54,000 mənim proqram rəmzi masa saxlanılır ki, 1015 01:10:54,000 --> 01:11:00,000 ki, tərtib etdik ki, yaddaş bu bölgəyə adı x birləşdirir 1016 01:11:00,000 --> 01:11:03,000 Burada şaquli bar arasında. 1017 01:11:03,000 --> 01:11:08,000 Mən x = 7 deyir ki, proqram kodu bir line varsa 1018 01:11:08,000 --> 01:11:15,000 işlemci bilir "Oh, tamam, mən bilirəm ki, yaddaş bu yerdə x yaşayır." 1019 01:11:15,000 --> 01:11:25,000 "Mən irəli getmək və orada 7 yazmaq üçün gedirəm." 1020 01:11:25,000 --> 01:11:28,000 Necə ki, bu yaddaş nə yeri bilir? 1021 01:11:28,000 --> 01:11:30,000 Yaxşı, bütün tərtibi zamanı həyata. 1022 01:11:30,000 --> 01:11:34,000 Dəyişənlərin hər getmək niyyətində olduğu compiler bölüşdürülməsi qayğı 1023 01:11:34,000 --> 01:11:40,000 və xüsusi mapping yaratmaq və ya daha çox nöqtələr birləşdirən 1024 01:11:40,000 --> 01:11:43,000 simvolu və gedir, burada bir dəyişən adı arasında 1025 01:11:43,000 --> 01:11:46,000 və yaddaş yaşamaq olacaq yerləşir. 1026 01:11:46,000 --> 01:11:50,000 Amma biz, həqiqətən, həmçinin bizim proqramları gedə bilər ki çıxır. 1027 01:11:50,000 --> 01:11:55,000 Biz data strukturlarının bəzi söhbət başlamaq Bu, mühüm olur 1028 01:11:55,000 --> 01:11:58,000 olan biz sonradan tanış olacaq ki, bir anlayışdır. 1029 01:11:58,000 --> 01:12:09,000 >> Amma indi, nə bilirik ki, bu yeri x bir pointer yaratmaq bilər. 1030 01:12:09,000 --> 01:12:12,000 Məsələn, mən bir pointer dəyişən yarada bilərsiniz. 1031 01:12:12,000 --> 01:12:16,000 Biz bir pointer dəyişən yaratmaq zaman biz ulduz notation istifadə edin. 1032 01:12:16,000 --> 01:12:21,000 Bu halda, bu bir int bir pointer yaratmaq gedirəm deyir. 1033 01:12:21,000 --> 01:12:24,000 Bu, yalnız hər hansı digər kimi bir növü var. 1034 01:12:24,000 --> 01:12:27,000 Biz, bu, y kimi bir dəyişən vermək 1035 01:12:27,000 --> 01:12:32,000 və sonra bir ünvan üçün ünvan üçün bərabər seçin. 1036 01:12:32,000 --> 01:12:38,000 Bu halda, biz x qeyd etmək y bilərsiniz 1037 01:12:38,000 --> 01:12:43,000 bu işareti ilə biz hansı x ünvanı alaraq, 1038 01:12:43,000 --> 01:12:55,000 və sonra biz onu qeyd etmək y seçin. 1039 01:12:55,000 --> 01:12:59,000 Biz RAM baxsaq bu mahiyyətcə nədir deyil 1040 01:12:59,000 --> 01:13:02,000 Bu ayrı-ayrı dəyişən yaradır. 1041 01:13:02,000 --> 01:13:04,000 O, bu y zəng olacaq 1042 01:13:04,000 --> 01:13:06,000 və kodu bu xətti həyata zaman 1043 01:13:06,000 --> 01:13:13,000 əslində, biz adətən ox kimi cəlb edən bir az göstərici yaratmaq olacaq 1044 01:13:13,000 --> 01:13:15,000 və x qeyd etmək y edir. 1045 01:13:15,000 --> 01:13:17,000 Bəli. 1046 01:13:17,000 --> 01:13:19,000 X artıq bir göstərici Əgər [Tələbə], yalnız edəcəyini 1047 01:13:19,000 --> 01:13:22,000 int * y = x əvəzinə işareti olan? 1048 01:13:22,000 --> 01:13:24,000 Bəli. 1049 01:13:24,000 --> 01:13:27,000 X artıq bir göstəricisidir, onda birinə bərabər 2 göstəricilərinə bilərsiniz 1050 01:13:27,000 --> 01:13:30,000 bu halda y, x qeyd deyil 1051 01:13:30,000 --> 01:13:34,000 lakin buna işarə edir nə x qeyd olardı. 1052 01:13:34,000 --> 01:13:37,000 Təəssüf ki, biz vaxt həyata edirik. 1053 01:13:37,000 --> 01:13:44,000 >> Mən bu baxımdan demək nə, biz bu xətdə haqqında danışmaq olar 1054 01:13:44,000 --> 01:13:49,000 amma bu problem vasitəsilə 14 saylı iş başlamaq demək olardı. 1055 01:13:49,000 --> 01:13:53,000 Sizin üçün doldurulmuş bir az burada artıq var edə bilərsiniz. 1056 01:13:53,000 --> 01:13:57,000 Biz 2 göstəricilərinə bəyan zaman görürəm ki, int * x və * y, 1057 01:13:57,000 --> 01:14:01,000 və dəyişən yanındakı * işarə Qeyd ötən il həyata keçirilmişdir ki, bir şey idi. 1058 01:14:01,000 --> 01:14:05,000 Bu biz bu il işle benzer çıxır. 1059 01:14:05,000 --> 01:14:11,000 Siz göstərici elan etdiyiniz zaman * yazmaq yerləşir fərqi yoxdur. 1060 01:14:11,000 --> 01:14:17,000 Amma növü yanındakı * yazılı 1061 01:14:17,000 --> 01:14:24,000 çox aydın bir göstərici dəyişən elan edirik ki, edir ki, çünki. 1062 01:14:24,000 --> 01:14:27,000 Siz 2 göstəricilərinə elan Bookmark 2 qutu verir ki, görə bilərsiniz. 1063 01:14:27,000 --> 01:14:31,000 Burada malloc bərabər x müəyyən zaman 1064 01:14:31,000 --> 01:14:34,000 nə deyib yığın yaddaş kənara müəyyən edilir. 1065 01:14:34,000 --> 01:14:41,000 Burada Bu kiçik box, bu dairə, yığın yerləşir. 1066 01:14:41,000 --> 01:14:43,000 X bu işarə edir. 1067 01:14:43,000 --> 01:14:46,000 Y hələ bir şey işarə deyil unutmayın. 1068 01:14:46,000 --> 01:14:50,000 Almaq üçün yaddaş x daxil sayı 42-saxlamaq 1069 01:14:50,000 --> 01:14:55,000 biz nə notation istifadə edir? 1070 01:14:55,000 --> 01:14:59,000 [Tələbə] * x = 42. 1071 01:14:59,000 --> 01:15:01,000 Məhz, * x = 42. 1072 01:15:01,000 --> 01:15:06,000 Bu arrow edin və orada 42 atmaq deməkdir. 1073 01:15:06,000 --> 01:15:09,000 Burada y və x müəyyən biz y x işarə etmişdir. 1074 01:15:09,000 --> 01:15:13,000 Yenə, bu, yalnız biz x üçün y bərabər müəyyən yerləşir Kevin nə kimi. 1075 01:15:13,000 --> 01:15:15,000 Y x işarə deyil. 1076 01:15:15,000 --> 01:15:19,000 Əksinə, o, x, eləcə də işarə nə işarə edir. 1077 01:15:19,000 --> 01:15:24,000 >> Və sonra nəhayət bu son qutusuna biz bilər ki, 2 mümkün şey var. 1078 01:15:24,000 --> 01:15:28,000 Bir biz * x = 13 demək bilər. 1079 01:15:28,000 --> 01:15:33,000 Başqa şey deyə-Alex, biz burada nə bilirik bilər? 1080 01:15:33,000 --> 01:15:37,000 Siz demək olar * x = 13 və ya- 1081 01:15:37,000 --> 01:15:41,000 [Tələbə] Siz int nə deyə bilər. 1082 01:15:41,000 --> 01:15:45,000 [Nate H.] Bu int dəyişən kimi istinad Əgər biz bunu edə bilər. 1083 01:15:45,000 --> 01:15:49,000 Biz həmçinin * y = 13 onlar eyni yerə işarə edirik, çünki demək olar 1084 01:15:49,000 --> 01:15:51,000 biz orada almaq üçün ya dəyişkən istifadə edə bilər. 1085 01:15:51,000 --> 01:15:56,000 Bəli. >> [Tələbə] Biz yalnız int x 13 demək əgər kimi nə görünür? 1086 01:15:56,000 --> 01:16:00,000 Bu iş deyil ki, x adlı yeni dəyişən, elan olunacaq. 1087 01:16:00,000 --> 01:16:04,000 Biz x burada bir göstərici ola elan Çünki bir toqquşma var ediyorum. 1088 01:16:04,000 --> 01:16:10,000 [Tələbə] Biz yalnız özü tərəfindən bəyanat olsaydı bu dairə baxımından kimi nə görünür? 1089 01:16:10,000 --> 01:16:14,000 Biz x olsaydı = 13 sonra bir qutu var, və daha bir arrow olan daha ediyorum 1090 01:16:14,000 --> 01:16:16,000 qutusu çıxan biz yalnız 13 kimi çəkmək istiyorum. 1091 01:16:16,000 --> 01:16:19,000 Kutuya [Tələbə]. Okay. 1092 01:16:19,000 --> 01:16:24,000 >> Izləmək üçün təşəkkür edirik və Quiz 0 haqqında uğurlar. 1093 01:16:24,000 --> 01:16:28,000 [CS50.TV]