1 00:00:00,000 --> 00:00:00,000 2 00:00:00,000 --> 00:00:00,000 [MUSIC PLAYING] 3 00:00:00,000 --> 00:00:13,950 4 00:00:13,950 --> 00:00:16,240 >> DAVID J. MALAN: Bütün sağ, bu CS50 edir. 5 00:00:16,240 --> 00:00:18,010 Bu həftə biridir. 6 00:00:18,010 --> 00:00:22,050 Belə ki, həftə sıfır ki, son dəfə xatırlayıram, biz hesablama düşüncə diqqət. 7 00:00:22,050 --> 00:00:25,440 Və biz ki transitioned Scratch, qrafik proqramlaşdırma 8 00:00:25,440 --> 00:00:27,360 Bizim dostların dil MİT-in Media Lab. 9 00:00:27,360 --> 00:00:31,730 >> Və Scratch ilə, biz araşdırmaq idi funksiyaları kimi fikir və şərtləri, 10 00:00:31,730 --> 00:00:35,210 və loops və dəyişənlərin və hətta hadisələr və mövzuları, və daha çox. 11 00:00:35,210 --> 00:00:37,880 Bu gün biz olacaq həmin ideyaları istifadə edərək, davam, 12 00:00:37,880 --> 00:00:40,630 və həqiqətən onları alaraq verilmiş, lakin onlara tərcümə 13 00:00:40,630 --> 00:00:44,220 C. İndi kimi tanınan başqa bir dil, C daha ənənəvi dilidir. 14 00:00:44,220 --> 00:00:46,020 Bu aşağı səviyyədə var dil, siz olacaq. 15 00:00:46,020 --> 00:00:47,300 >> Bu sırf mətn var. 16 00:00:47,300 --> 00:00:49,910 Və belə ki, ilk baxışdan, bu bütün olduqca sirli baxmaq olacaq 17 00:00:49,910 --> 00:00:51,430 əvvəl proqramlaşdırılmış heç varsa. 18 00:00:51,430 --> 00:00:53,530 Biz olacaq yarı colons və parantez, 19 00:00:53,530 --> 00:00:55,150 qıvrım aşırma, və daha. 20 00:00:55,150 --> 00:00:57,240 Amma hətta həyata syntax olsa 21 00:00:57,240 --> 00:01:00,600 tanımadığı bir az baxmaq haqqında Siz ən ki, keçmiş oldu. 22 00:01:00,600 --> 00:01:03,220 Və ideyaları görmək üçün cəhd ki, həqiqətən, tanış, 23 00:01:03,220 --> 00:01:06,750 Burada həftədə bir çünki biz müqayisə etmək nə başlamaq lazımdır 24 00:01:06,750 --> 00:01:08,980 ilkin C. qarşı Scratch 25 00:01:08,980 --> 00:01:12,350 >> Belə ki, məsələn, geri zaman ki, Bizim proqramların ilk tətbiq 26 00:01:12,350 --> 00:01:16,220 Sonuncu dəfə biz baxdı bir blok idi şeylərdir zaman kimi bir az bir şey 27 00:01:16,220 --> 00:01:19,990 yaşıl bayraq tıklayan və sonra keçirdik aşağıdakı bir və ya daha puzzle ədəd, 28 00:01:19,990 --> 00:01:22,150 bu halda, salam dünya, deyirlər. 29 00:01:22,150 --> 00:01:24,870 Belə ki, həqiqətən, Not, Hesab edirəm ki, yaşıl bayrağı basın 30 00:01:24,870 --> 00:01:27,390 Belə ki, mənim proqram run bunlar danışmaq 31 00:01:27,390 --> 00:01:29,520 edam almaq blokları, və ya run. 32 00:01:29,520 --> 00:01:32,230 Və xüsusilə, Scratch hello, dünya bildirib. 33 00:01:32,230 --> 00:01:35,377 >> İndi müəyyən ola bilər burada müxtəlif sözləri. 34 00:01:35,377 --> 00:01:37,960 Amma biz, həqiqətən, ki, bir çox görəcəksiniz Həqiqətən, bu blocks-- və, 35 00:01:37,960 --> 00:01:41,880 C çox funksiyaları ola bilər parametrized və ya özelleştirilmiş 36 00:01:41,880 --> 00:01:43,150 fərqli şeylər etmək. 37 00:01:43,150 --> 00:01:45,520 Əslində, C biz əgər indi çevirmək istəyirsinizsə, 38 00:01:45,520 --> 00:01:47,567 Bu Scratch proqram bu digər dil, 39 00:01:47,567 --> 00:01:49,650 biz yazmaq olacaq bu kimi kiçik bir şey. 40 00:01:49,650 --> 00:01:52,540 >> Düzdür, bəzi tanımadığı var orada syntax çox güman ki, int, 41 00:01:52,540 --> 00:01:54,380 və parantez, və etibarsız. 42 00:01:54,380 --> 00:01:57,740 Siz baxmayaraq Lakin hətta printf yalnız çap olardı. 43 00:01:57,740 --> 00:02:00,120 Amma çap çap deməkdir biz tezliklə görəcəksiniz kimi, biçimlendirilmiş. 44 00:02:00,120 --> 00:02:02,140 Bu sözün çap edəcək ekran nə 45 00:02:02,140 --> 00:02:05,990 O parantez daxilində olan Əlbəttə, bu halda, salam dünya. 46 00:02:05,990 --> 00:02:09,290 >> Amma bəzi digər görəcəksiniz syntax bəzi double quotes, 47 00:02:09,290 --> 00:02:11,890 ki, sonunda parantez, yarı kolon kimi. 48 00:02:11,890 --> 00:02:15,027 Belə ki, yerüstü bir az var, belə ki, danışmaq, həm cognitively üçün 49 00:02:15,027 --> 00:02:17,860 və syntactically, biz olacaq ki, uzun əvvəl xatırlamaq lazımdır. 50 00:02:17,860 --> 00:02:20,720 Lakin, təcrübə ilə dərk Bu sizə sıçramaq başlayacaq. 51 00:02:20,720 --> 00:02:24,920 >> Əslində, ki bir diqqət edək funksiyası, bu halda specifically-- 52 00:02:24,920 --> 00:02:26,290 salam dünya demək. 53 00:02:26,290 --> 00:02:27,560 Belə ki, funksiyası demək. 54 00:02:27,560 --> 00:02:31,320 Hello dünya onun parametri, və ya dəlil onun özelleştirme. 55 00:02:31,320 --> 00:02:34,320 >> Və C ekvivalentlik yalnız Burada bu bir xətt olacaq, 56 00:02:34,320 --> 00:02:38,710 printf bərabər olduğu, demək double sitat string, salam 57 00:02:38,710 --> 00:02:41,470 dünya, əlbəttə, bərabərdir orada ağ qutusuna nə üçün. 58 00:02:41,470 --> 00:02:45,680 Və backslash n, bir az olsa qəribə və sıfırdan yox, 59 00:02:45,680 --> 00:02:49,380 sadəcə biz lazımdır təsir gedir kompüter görmək mənim Mac və ya PC kimi, 60 00:02:49,380 --> 00:02:51,660 yalnız hərəkət növbəti line kursor. 61 00:02:51,660 --> 00:02:53,970 Bu vuruş kimi Klavyenizdeki daxil edin. 62 00:02:53,970 --> 00:02:55,580 >> Belə ki, biz uzun əvvəl daha görəcəksiniz. 63 00:02:55,580 --> 00:02:58,640 Lakin ilk, bu nəzər salaq loops halda digər nümunəsidir. 64 00:02:58,640 --> 00:03:02,830 Biz son dəfə bu əbədi loop idi puzzle ədəd bir sıra idi 65 00:03:02,830 --> 00:03:05,490 ki, sanki bir şey etdi bu halda əbədi, 66 00:03:05,490 --> 00:03:08,360 demək, salam dünya, salam dünya, salam dünya, salam dünya. 67 00:03:08,360 --> 00:03:10,350 Belə ki, dizayn sonsuz loop var. 68 00:03:10,350 --> 00:03:14,580 >> C, biz bu həyata keçirmək istəyirsinizsə Eyni fikir, biz sadəcə bunu edə bilər. 69 00:03:14,580 --> 00:03:19,570 doğru olsa da, salam printf indi vücuda isə yalnız semantically cür 70 00:03:19,570 --> 00:03:23,090 bunu fikir qədər conjures bir şey yenidən və yenidən və yenidən, 71 00:03:23,090 --> 00:03:23,980 və nə qədər? 72 00:03:23,980 --> 00:03:27,990 Yaxşı, true-- geri ki, əsl yalnız və ya biridir. 73 00:03:27,990 --> 00:03:30,660 >> Və əsl həmişə, əlbəttə, doğrudur. 74 00:03:30,660 --> 00:03:33,060 Belə ki, mənasız cür bəyanat yalnız doğru demək. 75 00:03:33,060 --> 00:03:36,890 Şübhəsiz ki, bu, qəsdən əsl yalnız həmişə doğru, çünki, 76 00:03:36,890 --> 00:03:40,850 əsl yalnız nəzərdə tutur isə daha dolayı bir az əgər, 77 00:03:40,850 --> 00:03:44,070 kod aşağıdakı xətt ki, bu qıvrım aşırma arasında 78 00:03:44,070 --> 00:03:48,320 yalnız yenidən və yenidən icra etməlidir, və yenidən və həqiqətən dayandırmaq heç vaxt. 79 00:03:48,320 --> 00:03:50,230 >> Amma istəyirəm əgər sizin loop biz kimi, dayandırmaq üçün 80 00:03:50,230 --> 00:03:54,500 kimi bir şey ilə son dəfə idi Bu, aşağıdakı 50 dəfə təkrar 81 00:03:54,500 --> 00:03:57,700 C, biz nə ilə eyni edə bilərsiniz söz loop üçün çağırıb 82 00:03:57,700 --> 00:03:59,330 isə, lakin olmayan. 83 00:03:59,330 --> 00:04:03,290 Və sonra biz burada bəzi yeni sintaksis var int i, i az 50 0 bərabərdir 84 00:04:03,290 --> 00:04:03,880 i ++. 85 00:04:03,880 --> 00:04:05,430 Və biz geri gəlmək lazımdır. 86 00:04:05,430 --> 00:04:09,660 Amma bu sadəcə necə biz Scratch bloklarının sıra tərcümə 87 00:04:09,660 --> 00:04:13,079 kod C xətləri bir sıra. 88 00:04:13,079 --> 00:04:14,450 >> Eyni zamanda, dəyişənlər hesab edir. 89 00:04:14,450 --> 00:04:16,540 Və əslində, biz yalnız bir an əvvəl bir gördüm. 90 00:04:16,540 --> 00:04:21,220 Və Not halda, biz əgər i adlı dəyişən elan istədi 91 00:04:21,220 --> 00:04:24,590 i tam olduğu üçün, yalnız bir sıra və biz bir dəyəri müəyyən etmək istəyirsinizsə, 92 00:04:24,590 --> 00:04:28,410 Biz bu narıncı istifadə edir blok burada i 0 seçin. 93 00:04:28,410 --> 00:04:30,800 >> Və biz bu gün görəcəksiniz və kənarda, yalnız son həftə kimi, 94 00:04:30,800 --> 00:04:33,850 proqramçılar demək olar ki, həmişə həqiqətən, sıfırdan hesablanması başlamaq 95 00:04:33,850 --> 00:04:34,950 Konvensiya tərəfindən. 96 00:04:34,950 --> 00:04:37,250 Lakin geri çünki ikili bizim müzakirə, 97 00:04:37,250 --> 00:04:39,990 kiçik sayı bilərsiniz bit hər hansı bir sayı təmsil edir 98 00:04:39,990 --> 00:04:41,640 yalnız 0 özü olacaq. 99 00:04:41,640 --> 00:04:45,190 Və belə ki, biz ümumiyyətlə başlamaq lazımdır 0 hətta dəyişənlərin başlatılıyor. 100 00:04:45,190 --> 00:04:47,710 >> Və C, eyni etmək biz int demək olacaq 101 00:04:47,710 --> 00:04:50,110 tam üçün, yalnız Konvensiyanın edir. 102 00:04:50,110 --> 00:04:53,390 Mən bu dəyişən çağırıb bilər bir şey Mən yalnız Not kimi, istəyirəm. 103 00:04:53,390 --> 00:04:57,770 Və sonra 0 yalnız verir bərabərdir sağ dəyər 0 104 00:04:57,770 --> 00:05:01,319 və dəyişən onu qoyur, ya sol, orada storage konteyner. 105 00:05:01,319 --> 00:05:04,360 Və yarı kolon biz see-- lazımdır və bu already-- bir neçə gördüm 106 00:05:04,360 --> 00:05:06,530 Yalnız fikir sonu deməkdir. 107 00:05:06,530 --> 00:05:09,430 başqa bir şey davam təqib xətləri üzrə. 108 00:05:09,430 --> 00:05:11,330 >> İndi nə Boolean ifadələr haqqında? 109 00:05:11,330 --> 00:05:14,320 Not Xatırladaq ki, bu ifadələr idi 110 00:05:14,320 --> 00:05:16,740 ya doğru olduğunu və ya yalan suallar 111 00:05:16,740 --> 00:05:18,910 həqiqətən, doğru və ya yalan ya var ki. 112 00:05:18,910 --> 00:05:21,960 Belə Not halda, biz bilər oxşar sadə sual, 113 00:05:21,960 --> 00:05:24,586 i 50-dən az? 114 00:05:24,586 --> 00:05:25,710 Mən yenə bir tam deyil. 115 00:05:25,710 --> 00:05:27,210 Bəlkə biz istifadə etdiyiniz Not proqramı 116 00:05:27,210 --> 00:05:29,310 bir hesab takip və ya kimi bir şey. 117 00:05:29,310 --> 00:05:33,810 Not burada Belə ki, bu syntax Yalnız i 50-dən az deməkdir? 118 00:05:33,810 --> 00:05:37,330 Yaxşı, təşəkkürlə, bir şey deyil C. və tərcümə üçün sadə, 119 00:05:37,330 --> 00:05:41,780 bu sadəcə az mən deyərdim 50-dən çox tanış düyməsini istifadə 120 00:05:41,780 --> 00:05:42,850 Klavyenizdeki. 121 00:05:42,850 --> 00:05:45,141 >> Eyni zamanda, əgər istəyirdi bir şey daha ümumi demək, 122 00:05:45,141 --> 00:05:49,890 kimi, yaxşı, y hər bir daha x az x və y özləri dəyişənlər var? 123 00:05:49,890 --> 00:05:52,280 Biz eyni şey edə bilərsiniz C, belə uzun biz sizin kimi 124 00:05:52,280 --> 00:05:53,942 artıq bu dəyişənlərin yaratmışdır. 125 00:05:53,942 --> 00:05:55,650 Və biz necə görürsünüz uzun əvvəl bunu. 126 00:05:55,650 --> 00:05:58,590 Biz sadəcə y daha x az demək olardı. 127 00:05:58,590 --> 00:06:00,530 >> Belə ki, üçün başlanğıc edirik bəzi oxşarlıqlar görmək. 128 00:06:00,530 --> 00:06:03,490 etdi və o insanlar Scratch əlbəttə idi 129 00:06:03,490 --> 00:06:05,250 Bu əsas ideyaları bəzi ilham. 130 00:06:05,250 --> 00:06:10,350 Və bu cür görəcəksiniz çox dillərdə sintaksis 131 00:06:10,350 --> 00:06:12,160 yalnız deyil, Scratch yalnız C, lakin Python, 132 00:06:12,160 --> 00:06:14,790 və JavaScript, və hələ digər dillərdə. 133 00:06:14,790 --> 00:06:18,270 >> Başqa bir tikintinin nəzərdən keçirək C, vəziyyəti anlayışı, 134 00:06:18,270 --> 00:06:20,370 şərti bir şey bunu. 135 00:06:20,370 --> 00:06:22,720 Bir şey doğru deyil, bunu. 136 00:06:22,720 --> 00:06:24,457 başqa bir şey doğru deyil, bunu. 137 00:06:24,457 --> 00:06:27,040 Bu proqramlaşdırma sort yolun bir çəngəl bərabər. 138 00:06:27,040 --> 00:06:29,730 Bəlkə iki yol çəngəl var, üç yol çəngəl, və ya daha çox. 139 00:06:29,730 --> 00:06:32,800 Və Not, biz ola bilər bu kimi bir şey göründüyü. 140 00:06:32,800 --> 00:06:34,010 >> Belə ki, bu bir böyük biridir. 141 00:06:34,010 --> 00:06:36,750 Lakin nisbi hesab məntiq sadəlik. 142 00:06:36,750 --> 00:06:44,010 x y azdırsa, onda x az demək y daha x y daha böyük başqa əgər, 143 00:06:44,010 --> 00:06:46,230 sonra x y daha çox olduğunu söyləyirlər. 144 00:06:46,230 --> 00:06:48,300 Və sonra, məntiqi, əgər Siz Not geri edirəm 145 00:06:48,300 --> 00:06:52,610 və ya yalnız öz insan intuisiya, yaxşı, x y üstün deyil, əgər, və x 146 00:06:52,610 --> 00:06:57,000 Əlbəttə, sonra y az deyil x y bərabər olacaq. 147 00:06:57,000 --> 00:06:59,690 bu halda, quş balası ilə So o Scratch blokları, 148 00:06:59,690 --> 00:07:02,580 biz üç nail ola bilər yol yol fork? 149 00:07:02,580 --> 00:07:04,980 >> Eyni zamanda, biz istəyirsinizsə Bu arguably, C bunu 150 00:07:04,980 --> 00:07:08,420 ən azı bir az simpler-- görünür Siz sintaksis ilə tanış dəfə. 151 00:07:08,420 --> 00:07:12,050 x y azdırsa, printf x y azdır. 152 00:07:12,050 --> 00:07:16,140 x y daha böyük olduqda Else, printf x y daha böyükdür. 153 00:07:16,140 --> 00:07:21,210 Else printf x, y-- və bərabərdir yenə olanlar backslash yalnız bitir 154 00:07:21,210 --> 00:07:24,160 bu yeni xətləri üçün ki, əgər belə həqiqətən proqram bu cür qaçdı 155 00:07:24,160 --> 00:07:25,940 yalnız hərəkət olardı Sizin kursor nəticədə 156 00:07:25,940 --> 00:07:28,100 Ekranın növbəti line. 157 00:07:28,100 --> 00:07:31,270 >> İndi isə Scratch digər idi daha mürəkkəb xüsusiyyətləri, yalnız 158 00:07:31,270 --> 00:07:34,320 olan bəzi biz olacaq ilkin C. dünya üzərində hərəkət 159 00:07:34,320 --> 00:07:37,010 Onların biri idi Not siyahısı çağırıb. 160 00:07:37,010 --> 00:07:39,100 Və bu xüsusi idi dəyişən növü ki, 161 00:07:39,100 --> 00:07:42,840 Bir neçə şeyi saxlamaq üçün icazə geri bu, geri, geri, geri. 162 00:07:42,840 --> 00:07:45,540 >> C, bu yoxdur siyahıları, özlüyündə, lakin bir şey 163 00:07:45,540 --> 00:07:48,090 ümumiyyətlə ki, , Seriallarda baxmayaraq ki, biz lazımdır çağırıb 164 00:07:48,090 --> 00:07:50,590 sonra bu dövr geri qayıtmaq bir şey axtarır 165 00:07:50,590 --> 00:07:52,780 bir siyahısı, və ya, həqiqətən, bir bağlı siyahı çağırıb. 166 00:07:52,780 --> 00:07:55,510 Amma yaxın indi bizim üçün C ekvivalent 167 00:07:55,510 --> 00:07:57,345 bir şey olacaq bir sıra çağırıb. 168 00:07:57,345 --> 00:07:59,740 Və bir sıra sadəcə bir deyil dəyişən xüsusi növü 169 00:07:59,740 --> 00:08:03,160 ki, məlumat saxlamaq üçün imkan verir geri geri, geri, geri. 170 00:08:03,160 --> 00:08:05,840 >> Və həqiqətən, Not, biz daxil olmaq istəyirdi 171 00:08:05,840 --> 00:08:09,030 bir sıra ilk element və ya bir list-- və mən onu zəng etmək üçün gedirəm 172 00:08:09,030 --> 00:08:13,600 Konvensiya, argv, dəlil ilə vektor, lakin daha uzun əvvəl. 173 00:08:13,600 --> 00:08:17,090 Mən ilk element almaq istəyirsinizsə of Not dünyada, argv 174 00:08:17,090 --> 00:08:20,930 Siz, həqiqətən, adətən nə 1-dən hesablanması başlamaq. 175 00:08:20,930 --> 00:08:22,850 >> Və mən argv 1-ci bəndi əldə edə bilər. 176 00:08:22,850 --> 00:08:26,310 Bu MIT həyata necə var siyahıları anlayışı. 177 00:08:26,310 --> 00:08:29,860 Lakin C, mən gedirəm daha çox sadəcə demək, argv, 178 00:08:29,860 --> 00:08:32,758 yenə adı mənim list-- və ya aydın olmaq, bir sıra. 179 00:08:32,758 --> 00:08:34,549 Mən ilk istəyirsinizsə elementləri, mən gedirəm 180 00:08:34,549 --> 00:08:37,890 , Kvadrat mötərizədə istifadə üçün təşəkkür tez-tez klaviatura ilə istifadə edə bilər. 181 00:08:37,890 --> 00:08:40,150 >> Amma 0 yalnız o deməkdir ki, mənə ilk almaq. 182 00:08:40,150 --> 00:08:42,160 Belə ki, münasibətilə və vaxt gedirik edir 183 00:08:42,160 --> 00:08:44,570 Bu dichotomies görmək üçün başlamaq üçün Not və C arasında, 184 00:08:44,570 --> 00:08:46,070 vasitəsi Scratch istifadə edir. 185 00:08:46,070 --> 00:08:47,670 C Biz burada 0 istifadə edin. 186 00:08:47,670 --> 00:08:49,420 Amma tez görürsünüz Sonra başa düşürəm 187 00:08:49,420 --> 00:08:52,920 Hər dil təməlləri ki, bunlar daha almaq üçün başlamaq 188 00:08:52,920 --> 00:08:56,860 təcrübə və təcrübə vasitəsilə tanış. 189 00:08:56,860 --> 00:08:59,700 >> Belə ki, həqiqətən bir proqram indi baxaq. 190 00:08:59,700 --> 00:09:04,031 Burada C ilk olacaq tam proqramları üçün mənbə kodu. 191 00:09:04,031 --> 00:09:06,280 Və proqram gedirik baxılması üçün təklif 192 00:09:06,280 --> 00:09:09,340 ekvivalent var bir ki, əvvəllər Scratch parça. 193 00:09:09,340 --> 00:09:13,210 >> burada Belə ki, biz nə var arguably sadə C proqram 194 00:09:13,210 --> 00:09:15,410 ki, yaza bilərsiniz həqiqətən bir şey yoxdur. 195 00:09:15,410 --> 00:09:18,250 İndi biz keçmiş baxmaq lazımdır, İndi daxildir ki, 196 00:09:18,250 --> 00:09:21,190 standart io.h və bu bucaq mötərizədə, və int və etibarsız, 197 00:09:21,190 --> 00:09:22,840 və qıvrım aşırma, və s. 198 00:09:22,840 --> 00:09:25,390 >> Və yalnız diqqət edək ən azı daxilən nə, 199 00:09:25,390 --> 00:09:26,860 artıq sizə sıçramaq bilər. 200 00:09:26,860 --> 00:09:30,300 Əslində, əsas, mən deyil mütləq bu nə, 201 00:09:30,300 --> 00:09:34,580 lakin Not kimi çox idi ki, yaşıl bayraq, puzzle parça tıklayan 202 00:09:34,580 --> 00:09:39,070 belə bir proqramlaşdırma dili C yoxdur kod əsas parça var ki, 203 00:09:39,070 --> 00:09:43,380 ismarıcları icra olur. Və həqiqətən, bu sözün əsas adlandırmaq olacaq. 204 00:09:43,380 --> 00:09:44,720 >> Belə ki, əsas bir funksiyası var. 205 00:09:44,720 --> 00:09:48,720 Və mövcud xüsusi funksiyası var C bir proqram çalıştırdığınızda ki, 206 00:09:48,720 --> 00:09:52,720 Bu tərəfindən olur ki, əsas deyil default. Not dünyada, 207 00:09:52,720 --> 00:09:56,970 Bu zaman yaşıl bayraq adətən idi tıklayan default tərəfindən oldu ki. 208 00:09:56,970 --> 00:10:01,130 >> Eyni zamanda, biz əvvəl bu gördüm, printf ya çap biçimlendirilmiş, ki 209 00:10:01,130 --> 00:10:05,620 ilə gəlir bir funksiyası olacaq C, digər bütün dəstə ilə yanaşı, 210 00:10:05,620 --> 00:10:10,140 vaxt və zaman ki, iradə yenə qaydada dəqiq nə 211 00:10:10,140 --> 00:10:12,450 Onun adı təklif kimi, bir şey çap. 212 00:10:12,450 --> 00:10:13,500 Biz çap istəyirsiniz? 213 00:10:13,500 --> 00:10:15,770 Yaxşı, biz ki, görürsünüz enclosing simvol 214 00:10:15,770 --> 00:10:18,680 these-- salam dünya kimi, ikiqat quotes backslash n, 215 00:10:18,680 --> 00:10:23,040 biz məhz printf demək olar Ekranda nə çap. 216 00:10:23,040 --> 00:10:26,430 >> Amma nə etmək ki, biz təəssüf ki, 217 00:10:26,430 --> 00:10:30,010 ki, bir şey etmək lazımdır Bizə insanlar artıq sirli, 218 00:10:30,010 --> 00:10:34,510 lakin ən azı bu qədər oxunaqlı deyil kəskin daxildir standart io.h, int, 219 00:10:34,510 --> 00:10:39,340 əsas, etibarsız, printf, sehrli bütün incantations biz yalnız ekranda gördüm. 220 00:10:39,340 --> 00:10:42,470 Amma biz, həqiqətən, var daha gizli gedin. 221 00:10:42,470 --> 00:10:47,140 Biz ilk kodu tərcümə etmək lazımdır Biz maşın kodu daxil yazmaq. 222 00:10:47,140 --> 00:10:51,370 Və son həftə geri maşınları ki, ən azı isə biz burada bilirik, 223 00:10:51,370 --> 00:10:54,450 Günün sonunda yalnız adet sıfır və olanları başa düşürük. 224 00:10:54,450 --> 00:10:58,100 >> keçirdik əgər Allahım, bu yazmaq həqiqətən proqram adet sıfır və olanları, 225 00:10:58,100 --> 00:11:01,260 bu, çox, çox tez olardı bir şey fun həyata edir. 226 00:11:01,260 --> 00:11:05,150 Amma bu, son həftədə çıxır ki, adet sıfır və olanları bu nümunələri 227 00:11:05,150 --> 00:11:06,400 yalnız xüsusi mənası var. 228 00:11:06,400 --> 00:11:08,500 müəyyən kontekstlərdə, Onlar nömrələri demək bilər. 229 00:11:08,500 --> 00:11:11,840 >> Bəzi kontekstlərdə, onlar demək bilər məktublar, və ya rəng, və ya hər hansı bir sayı 230 00:11:11,840 --> 00:11:14,710 orada sonra digər çıkarıldığının. 231 00:11:14,710 --> 00:11:18,450 Lakin kompüter var kimi bir CPU, Central Processing Unit, 232 00:11:18,450 --> 00:11:20,390 və ya kompüter daxilində beyin. 233 00:11:20,390 --> 00:11:22,240 Bu adətən Intel var daxili, ki, çünki 234 00:11:22,240 --> 00:11:24,900 ən böyük şirkətlərindən biri ki kompüterlər üçün CPU'lar edir. 235 00:11:24,900 --> 00:11:28,910 >> Yaxşı, Intel CPU'lar və başqaları sadəcə əvvəlcədən qərarına gəldik 236 00:11:28,910 --> 00:11:33,970 ki, adet sıfır müəyyən nümunələri və olanları xüsusi şeyi başa düşülür. 237 00:11:33,970 --> 00:11:37,040 adet sıfır və olanları müəyyən nümunələri demək, ekran bu çap edəcək, 238 00:11:37,040 --> 00:11:39,710 və ya bu iki ədəd əlavə və ya Bu iki ədəd çıxmaq 239 00:11:39,710 --> 00:11:43,310 və ya məlumatların bu parça hərəkət mənim kompüter yaddaş burada, 240 00:11:43,310 --> 00:11:47,870 və ya digər çox aşağı səviyyədə hər hansı bir sayı, amma nəticədə faydalı, əməliyyatları. 241 00:11:47,870 --> 00:11:53,022 Amma şükürlər olsun ki, biz insanlar niyyətində deyil detal bu səviyyədə bilmək lazımdır. 242 00:11:53,022 --> 00:11:56,230 Həqiqətən, yalnız burada, son dəfə kimi biz yenidən və yenidən və yenidən Abstrak, 243 00:11:56,230 --> 00:11:58,930 çox aşağı səviyyədə bina adet sıfır və olanları kimi primitives 244 00:11:58,930 --> 00:12:01,160 yüksək səviyyədə anlayışlar nömrələri, və məktublar kimi, 245 00:12:01,160 --> 00:12:04,330 və rəng, və daha çox, Belə ki, biz proqramçılar kimi bilərsiniz 246 00:12:04,330 --> 00:12:07,080 çiyinlərində durmaq bizdən əvvəl gəlib başqaları 247 00:12:07,080 --> 00:12:11,260 və digər ki, proqram istifadə insanlar us-- əvvəl yazılı 248 00:12:11,260 --> 00:12:14,340 yəni proqramları derleyicileri çağırıb. 249 00:12:14,340 --> 00:12:17,770 >> C bir dil olduğunu adətən tərtib, 250 00:12:17,770 --> 00:12:22,130 olan konvertasiya deməkdir maşın kodu mənbə kodu. 251 00:12:22,130 --> 00:12:25,230 Xüsusilə, nə deməkdir ki, sizin mənbə var, əgər 252 00:12:25,230 --> 00:12:29,530 Özünüz tezliklə biz kimi yazmaq kodu Ekranda yalnız bir anda olacaq, 253 00:12:29,530 --> 00:12:33,140 və siz çevirmək istədiyiniz nəticədə maşın kod 254 00:12:33,140 --> 00:12:37,100 o adet sıfır və olanları ki, yalnız Mac və ya PC 255 00:12:37,100 --> 00:12:41,230 understands-- Siz ilk var kimi ki, mənbə kodu yem 256 00:12:41,230 --> 00:12:46,340 xüsusi giriş proqram compiler adlı 257 00:12:46,340 --> 00:12:48,974 çıxış edən biz görəcəksən maşın kodu. 258 00:12:48,974 --> 00:12:51,890 Və həqiqətən, son dəfə danışdıq haqqında, həqiqətən, günün sonunda, 259 00:12:51,890 --> 00:12:52,610 problem həll. 260 00:12:52,610 --> 00:12:53,360 Siz giriş var. 261 00:12:53,360 --> 00:12:54,318 Və nəticələr var. 262 00:12:54,318 --> 00:12:56,560 Və bir növ var ortada alqoritm. 263 00:12:56,560 --> 00:12:59,830 >> Alqoritmlər, şübhəsiz ki, ola bilər proqram tətbiq, 264 00:12:59,830 --> 00:13:02,900 biz pseudocode ötən həftə gördüm kimi və biz faktiki kodu ilə görəcəksiniz kimi 265 00:13:02,900 --> 00:13:03,490 bu həftə. 266 00:13:03,490 --> 00:13:06,430 Və belə bir compiler həqiqətən yalnız daxili alqoritmlər bir sıra var 267 00:13:06,430 --> 00:13:10,060 Bunun bilirik ki, necə xüsusi açar sözlər çevirmək, 268 00:13:10,060 --> 00:13:12,180 əsas və printf kimi, və başqaları ki, biz yalnız 269 00:13:12,180 --> 00:13:17,620 adet sıfır nümunələri gördüm və olanları ki Intel daxilində və digər CPU'lar 270 00:13:17,620 --> 00:13:20,020 həqiqətən anlayır. 271 00:13:20,020 --> 00:13:22,460 Belə ki, necə biz bu etməliyəm? 272 00:13:22,460 --> 00:13:24,470 Harada biz compiler alıram? 273 00:13:24,470 --> 00:13:26,400 >> Bizim ən burada Mac və ya PC var. 274 00:13:26,400 --> 00:13:29,152 Və Mac OS çalışan, və ya edirik Windows və ya Linux, və ya Solaris, 275 00:13:29,152 --> 00:13:30,860 və ya digər hər hansı bir sayı əməliyyat sistemləri. 276 00:13:30,860 --> 00:13:32,568 Və həqiqətən, biz bilər internet üzərində çıxmaq 277 00:13:32,568 --> 00:13:35,710 və compiler yukle Mac və ya PC üçün 278 00:13:35,710 --> 00:13:37,360 xüsusi əməliyyat sistemi üçün. 279 00:13:37,360 --> 00:13:39,617 Amma biz bütün olacaq müxtəlif pages, belə danışmaq. 280 00:13:39,617 --> 00:13:41,450 Biz bir az var ediyorum müxtəlif konfiqurasiyaları. 281 00:13:41,450 --> 00:13:43,210 Və hər şeyi eyni işləməyəcək. 282 00:13:43,210 --> 00:13:45,280 Və həqiqətən, bu gün istifadə etməyin bizə bir çox 283 00:13:45,280 --> 00:13:47,516 yalnız bizim noutbuk çalışır proqram. 284 00:13:47,516 --> 00:13:49,390 Əksinə, biz bir şey istifadə Bir brauzer kimi ki, 285 00:13:49,390 --> 00:13:52,930 Bizə daxil olmaq üçün imkan verir web-based bulud applications. 286 00:13:52,930 --> 00:13:55,630 Və sonra bu dövr, biz məhz bunu edəcəyik. 287 00:13:55,630 --> 00:13:59,660 Biz ərizə yazacaq və ya software, C kod deyil istifadə 288 00:13:59,660 --> 00:14:02,860 lakin Python kimi digər dillər və bulud run JavaScript. 289 00:14:02,860 --> 00:14:05,860 >> Və biz özümüzü bunu semestr ərzində 290 00:14:05,860 --> 00:14:11,890 həqiqətən bir bulud-based istifadə edəcək CS50 IDE kimi tanınan mühit. 291 00:14:11,890 --> 00:14:16,030 Bu web-based proqramlaşdırma var ətraf mühit, və ya entegre inkişaf 292 00:14:16,030 --> 00:14:20,610 ətraf mühit, IDE, bəzi üstün inşa Cloud 9 adlı açıq mənbə proqram. 293 00:14:20,610 --> 00:14:22,966 Və biz bəzi pedaqoji etdik bu simplifications 294 00:14:22,966 --> 00:14:25,840 müəyyən xüsusiyyətləri gizlətmək kimi biz ehtiyac yoxdur ilk həftə, 295 00:14:25,840 --> 00:14:27,770 sonra siz onları aşkar və bunu ən 296 00:14:27,770 --> 00:14:29,400 bir şey ətraf mühit ilə istədiyiniz. 297 00:14:29,400 --> 00:14:32,470 >> Və bu, çox, bizə imkan verir müəyyən proqram pre-quraşdırma. 298 00:14:32,470 --> 00:14:35,330 qondarma CS50 kimi şeylər biz tezliklə görəcəksiniz kitabxana, 299 00:14:35,330 --> 00:14:39,210 bəzi C bizi təmin edir əlavə funksionallıq. 300 00:14:39,210 --> 00:14:44,392 Belə ki, siz getmək əgər, nəticə etibarilə, CS50.io, Siz daxil istenir 301 00:14:44,392 --> 00:14:46,350 və nə yaratmaq dəfə Pulsuz üçün bir haqq-hesab, 302 00:14:46,350 --> 00:14:52,150 Bir daxil olacaq çox bu kimi görünür mühit. 303 00:14:52,150 --> 00:14:53,760 >> İndi bu default rejimindədir. 304 00:14:53,760 --> 00:14:55,650 Hər şey gözəl və Ekranda parlaq. 305 00:14:55,650 --> 00:14:57,941 Bizim bir çox bir vərdiş var var CS50 parça üzərində işləyir 306 00:14:57,941 --> 00:14:59,150 çox gec gecə. 307 00:14:59,150 --> 00:15:02,400 Və belə ki, bəzi tercih edə belə danışmaq, gecə rejimi çevirmək. 308 00:15:02,400 --> 00:15:05,550 >> Lakin, nəticədə, siz nə istəyirik CS50 IDE ərzində görmək olacaq 309 00:15:05,550 --> 00:15:08,340 üç fərqli areas-- edir sol harada sahəsi 310 00:15:08,340 --> 00:15:12,604 Sizin faylları olacaq bulud, sağ üst sahəsi 311 00:15:12,604 --> 00:15:14,270 harada code düzenlenebilir olacaq. 312 00:15:14,270 --> 00:15:16,650 Siz açmaq edə bilərsiniz hər hansı bir proqram üçün fərdi Nişanlar 313 00:15:16,650 --> 00:15:19,670 Siz daxilində bu dövr yazmaq ki, sağ üst küncündə edir. 314 00:15:19,670 --> 00:15:23,070 Və sonra ən arcanely, və hələ güclü, 315 00:15:23,070 --> 00:15:26,610 bu şey olacaq bir terminal pəncərə kimi tanınan aşağı. 316 00:15:26,610 --> 00:15:29,450 >> Bu köhnə məktəb Command Line Interface, 317 00:15:29,450 --> 00:15:32,240 və ya CLI ki, imkan verir Siz əmrləri icra etmək 318 00:15:32,240 --> 00:15:35,260 Bu halda kompüter üçün də, bulud kompüter 319 00:15:35,260 --> 00:15:39,090 kodu tərtib kimi şeylər mənbə kodu maşın kodu, 320 00:15:39,090 --> 00:15:43,600 Sizin proqramları çalıştırmak və ya başlamaq üçün web server, və ya verilənlər bazası daxil olmaq üçün, 321 00:15:43,600 --> 00:15:47,454 və digər texnika hər hansı bir sayı biz uzun əvvəl istifadə başlamaq lazımdır ki. 322 00:15:47,454 --> 00:15:49,370 Amma orada almaq üçün, biz istəyirik həqiqətən gedir 323 00:15:49,370 --> 00:15:51,240 online getmək və oynayan başlamaq üçün. 324 00:15:51,240 --> 00:15:54,399 Və bunu, ilk edək əsas ilə kustarlıq başlamaq, 325 00:15:54,399 --> 00:15:55,940 və proqramın əsas hissəsini yazın. 326 00:15:55,940 --> 00:15:59,170 Və ki, funksiyası istifadə edək Biz əvvəllər istifadə printf, 327 00:15:59,170 --> 00:16:01,050 sadəcə bir şey demək. 328 00:16:01,050 --> 00:16:04,910 >> Belə ki, burada mən CS50 IDE daxilində artıq deyiləm. 329 00:16:04,910 --> 00:16:05,930 Mən əvvəlcədən daxil etdik. 330 00:16:05,930 --> 00:16:07,360 Mən tam pəncərə nümayiş. 331 00:16:07,360 --> 00:16:09,670 Belə ki, son nəticədə, siz çox önümüzdəki problemləri 332 00:16:09,670 --> 00:16:12,960 oxşar adımları ki online sənədləri təmin edəcək. 333 00:16:12,960 --> 00:16:16,360 Belə ki, narahat ehtiyac yoxdur hər kiçik texniki addım udma 334 00:16:16,360 --> 00:16:17,730 Mən bu gün burada ki. 335 00:16:17,730 --> 00:16:19,222 >> Amma bu kimi bir ekran almaq lazımdır. 336 00:16:19,222 --> 00:16:20,430 Mən gecə rejimi olmaq nə. 337 00:16:20,430 --> 00:16:22,944 Və hər şey şadlanmaq bilər gecə rejimi aradan tərəfindən. 338 00:16:22,944 --> 00:16:24,860 Və sonunda gün, siz görmək olacaq 339 00:16:24,860 --> 00:16:30,090 fayl areas-- bu üç əsas sol browser, üst qədər code Nişanlar, 340 00:16:30,090 --> 00:16:32,430 və altındakı terminal pəncərə. 341 00:16:32,430 --> 00:16:34,890 >> Mənə davam edək mənim ilk proqram yazmaq. 342 00:16:34,890 --> 00:16:42,300 Mən preemptively Fayl getmək üçün gedirəm Edin və hello.c kimi qeyd edin. 343 00:16:42,300 --> 00:16:46,850 Həqiqətən, Konvensiya tərəfindən, hər hansı bir proqram biz C dilində yazılı yazmaq 344 00:16:46,850 --> 00:16:49,739 bir şey adına olmalıdır Konvensiya tərəfindən dot c. 345 00:16:49,739 --> 00:16:53,030 Mən, çünki hello.c ad gedirəm Mən dünyaya salam demək istəyirəm. 346 00:16:53,030 --> 00:16:54,820 İndi zoom gedirəm həyata və Saxla basın. 347 00:16:54,820 --> 00:16:58,180 Mən indi burada bütün bir nişanı var olan I kodu yazılı başlaya bilərsiniz. 348 00:16:58,180 --> 00:16:59,490 >> Bu tərtib etmək niyyətində deyil. 349 00:16:59,490 --> 00:17:00,300 Bu heç bir şey deməkdir. 350 00:17:00,300 --> 00:17:02,750 Mən çevrilir hətta əgər adet sıfır və olanları bu, 351 00:17:02,750 --> 00:17:05,390 CPU heç bir gedir fikir ətrafında neler. 352 00:17:05,390 --> 00:17:14,170 Mən xətləri yazmaq əgər Amma uyğun yoxdur C conventions-- C olan ilə, 353 00:17:14,170 --> 00:17:20,150 Yenə də, bu kimi sintaksis ilə language-- Mən var və bu, salam printf vücuda 354 00:17:20,150 --> 00:17:22,210 rahat kazanılmış zamanla bunu. 355 00:17:22,210 --> 00:17:24,510 Mən Mən düşünmürəm hər hansı bir mətbəə səhvlər. 356 00:17:24,510 --> 00:17:27,910 >> Amma daim, ilk dəfə bunu, siz olacaq. 357 00:17:27,910 --> 00:17:31,090 Mən nə haqqında am nə çox bilər də sizin üçün ilk dəfə iş deyil. 358 00:17:31,090 --> 00:17:33,610 Və mükəmməl OK İndi, çünki siz 359 00:17:33,610 --> 00:17:37,662 Yalnız yenilik bir çox görə bilərsiniz, lakin zaman keçdikcə tanış dəfə 360 00:17:37,662 --> 00:17:39,870 bu ətraf mühit ilə və Bu dil, və başqaları 361 00:17:39,870 --> 00:17:42,370 hər şeyi görmək üçün başlamaq lazımdır ki, doğru və ya yanlış ya var. 362 00:17:42,370 --> 00:17:44,369 >> Bu nədir tədris yoldaşları və əlbəttə 363 00:17:44,369 --> 00:17:48,780 köməkçiləri artıq vaxt belə yaxşı almaq Sizin kodu səhvlər və ya hataları tespit. 364 00:17:48,780 --> 00:17:52,110 Amma ki, iddia var Bu kodu heç bir bugs var. 365 00:17:52,110 --> 00:17:53,990 Mən indi bu proqram run etmək istəyirəm. 366 00:17:53,990 --> 00:17:57,440 >> İndi öz Mac və ya PC, mən deyiləm ikiqat tıklayarak nişanlar vərdiş 367 00:17:57,440 --> 00:17:59,350 Mən bəzi proqram çalıştırmak üçün istədiyiniz zaman. 368 00:17:59,350 --> 00:18:01,080 Amma burada model deyil. 369 00:18:01,080 --> 00:18:04,570 CS50 IDE Bu mühitdə, edir. 370 00:18:04,570 --> 00:18:07,192 Biz bir əməliyyat istifadə olunur Linux adlı sistemi. 371 00:18:07,192 --> 00:18:09,900 Linux başqa xatırladan əməliyyat sistemi, ümumiyyətlə, məlum 372 00:18:09,900 --> 00:18:10,850 Unix kimi. 373 00:18:10,850 --> 00:18:16,340 Və Linux xüsusilə tanınır bir Command Line Environment, CLI olan. 374 00:18:16,340 --> 00:18:20,070 İndi biz bir xüsusi istifadə etdiyiniz Linux ləzzət Ubuntu çağırıb. 375 00:18:20,070 --> 00:18:22,770 Və Ubuntu sadəcə deyil Linux müəyyən versiyası. 376 00:18:22,770 --> 00:18:27,900 >> Lakin bu Linux-nin bu gün həqiqətən qrafik istifadəçi interfeys ilə gəlir. 377 00:18:27,900 --> 00:18:30,360 Və biz başına bir Burada istifadə web-based. 378 00:18:30,360 --> 00:18:32,735 Belə ki, bu hətta ola bilər bir şey az fərqli 379 00:18:32,735 --> 00:18:35,310 Özünüz ola bilər görüldü və ya keçmişdə axır. 380 00:18:35,310 --> 00:18:37,910 >> Mən irəli getmək üçün gedirəm indi və aşağıdakı. 381 00:18:37,910 --> 00:18:40,950 Mən hello.c kimi bu faylı xilas etdik. 382 00:18:40,950 --> 00:18:47,350 Mən irəli getmək üçün gedirəm və növü clanghello.c cingilti So 383 00:18:47,350 --> 00:18:49,850 C dili üçün bir compiler edir. 384 00:18:49,850 --> 00:18:51,952 Bu əvvəlcədən quraşdırılmış var CS50 IDE. 385 00:18:51,952 --> 00:18:54,910 Və tamamilə download və Öz Mac və ya PC bu edin. 386 00:18:54,910 --> 00:18:57,910 >> Amma, yenə də, siz bütün olmazdı pre-konfiqurasiya sizin üçün həyata. 387 00:18:57,910 --> 00:19:00,940 İndi Belə ki, mən yalnız deyiləm clanghello.c çalıştırmak üçün gedir. 388 00:19:00,940 --> 00:19:03,240 Və indi bu sintaksis qeyd burada nəhayət olacaq 389 00:19:03,240 --> 00:19:06,930 Mən bir Ben o deməkdir ki, həyata qovluq və ya kataloq İş çağırıb. 390 00:19:06,930 --> 00:19:11,030 Bu dollar işarəsi yalnız konvensiya deyil mənası, burada komutları yazın. 391 00:19:11,030 --> 00:19:14,560 >> Bu, sadəcə, bir tez deyirlər nə Konvensiyanın dollar əlamətidir. 392 00:19:14,560 --> 00:19:19,130 Və mən indi irəli getmək və əgər basın Daxil edin, heç bir şey baş görünür. 393 00:19:19,130 --> 00:19:20,930 Amma həqiqətən yaxşı bir şey deyil. 394 00:19:20,930 --> 00:19:23,650 az olur ekran, daha çox 395 00:19:23,650 --> 00:19:26,710 Sizin indeksi doğru olmaq, ən azı syntactically. 396 00:19:26,710 --> 00:19:29,120 >> Mən bu almaq istəyirsinizsə Belə ki proqram, mən nə etməliyəm? 397 00:19:29,120 --> 00:19:33,770 Bəli, bu çıxır ki, Konvensiya tərəfindən default adı 398 00:19:33,770 --> 00:19:38,854 Bir müəyyən deyil zaman proqramları Proqram yalnız a.out üçün ad. 399 00:19:38,854 --> 00:19:41,270 də bu sintaksis, siz lazımdır uzun əvvəl ilə tanış. 400 00:19:41,270 --> 00:19:47,500 >> Dot yalnız hey, CS50 deməkdir doğramaq IDE, a.out adlı proqram run 401 00:19:47,500 --> 00:19:49,400 ki, mənim cari kataloq daxilində var. 402 00:19:49,400 --> 00:19:51,520 Bu dot cari kataloq deməkdir. 403 00:19:51,520 --> 00:19:55,040 Və biz nə kimi digər ardıcıllığı görəcəksiniz simvol uzun əvvəl deməkdir. 404 00:19:55,040 --> 00:19:58,430 >> Belə ki, burada biz salam dünya daxil edin, getmək. 405 00:19:58,430 --> 00:20:00,080 Və nə oldu ki, görəcəksiniz? 406 00:20:00,080 --> 00:20:01,580 Bu salam dünya çap etmədi yalnız. 407 00:20:01,580 --> 00:20:05,990 O, həmçinin köçürülüb növbəti line kursor. 408 00:20:05,990 --> 00:20:07,160 >> Və niyə nə idi? 409 00:20:07,160 --> 00:20:12,400 biz əvvəl yazdığı kodu nə idi ki, təmin kursor verəcəklərini ifadə 410 00:20:12,400 --> 00:20:14,882 növbəti line getmək? 411 00:20:14,882 --> 00:20:16,840 təxminən Funny şey kompüter yalnız olacaq edir 412 00:20:16,840 --> 00:20:18,570 sözün nə siz bunu demək nə. 413 00:20:18,570 --> 00:20:26,050 >> Belə ki, salam printf demək əgər, vergül, məkan, dünya, yaxın quote, 414 00:20:26,050 --> 00:20:29,090 bu sözün yalnız olacaq bu simvol çap. 415 00:20:29,090 --> 00:20:31,980 Amma bu xüsusi xarakter idi sonunda, geri, backslash n. 416 00:20:31,980 --> 00:20:34,230 Və təmin budur xarakter getdi ki, 417 00:20:34,230 --> 00:20:36,570 Ekranın növbəti line. 418 00:20:36,570 --> 00:20:38,097 >> Əslində, mənə getmək və bunu bildirin. 419 00:20:38,097 --> 00:20:39,430 Mənə irəli getmək və bu silmək edək. 420 00:20:39,430 --> 00:20:41,180 İndi ki, qeyd Mənim ekranın üst var 421 00:20:41,180 --> 00:20:42,890 bir az qırmızı işıq da ifadə tab, 422 00:20:42,890 --> 00:20:45,047 hey, sizin fayl xilas etdik. 423 00:20:45,047 --> 00:20:47,880 Mən nəzarət davam gedirəm S və ya command S, faylı qeyd edin. 424 00:20:47,880 --> 00:20:51,130 İndi an yaşıl getdi goes--. 425 00:20:51,130 --> 00:20:53,760 Və indi geri var yalnız yaxın icon olan. 426 00:20:53,760 --> 00:21:01,860 >> İndi yenidən clanghello.c varsa, , Dot çizgi, a.out, daxil edin, 427 00:21:01,860 --> 00:21:04,110 Siz hələ də işləyib ki, görürsünüz. 428 00:21:04,110 --> 00:21:06,020 Amma arguably bir az arabası var. 429 00:21:06,020 --> 00:21:08,714 Hal-hazırda, mənim prompt-- iş, və sonra dollar işarəsi, 430 00:21:08,714 --> 00:21:10,880 və sonra mənim faktiki prompt-- bütün eyni xətt edir. 431 00:21:10,880 --> 00:21:14,540 Belə ki, bu, əlbəttə, bir estetik bug, hətta bu, həqiqətən məntiqi səhv deyil. 432 00:21:14,540 --> 00:21:16,250 >> Belə ki, mən yalnız nə geri gedirəm. 433 00:21:16,250 --> 00:21:18,560 Mən a.out təkrar gedirəm. 434 00:21:18,560 --> 00:21:22,710 Mən əlavə etdik edək newline xarakter geri. 435 00:21:22,710 --> 00:21:24,280 Mən fayl xilas etdik. 436 00:21:24,280 --> 00:21:31,630 >> Mən a.out təkrar gedirəm and-- dammit, bir səhv, səhv, yəni bir səhv. 437 00:21:31,630 --> 00:21:35,020 Belə bug ki, hətta baxmayaraq ki Mən n orada backslash əlavə 438 00:21:35,020 --> 00:21:41,180 yenidən xilas proqram yenidən qaçdı davranış eyni idi. 439 00:21:41,180 --> 00:21:42,640 Nə ola bilər? 440 00:21:42,640 --> 00:21:43,910 >> Mən, bir addım itkin alıram? 441 00:21:43,910 --> 00:21:47,620 Bu mühüm addım daha əvvəl var idi ki, Siz mənbə kodu dəyişdirmək zaman to--, 442 00:21:47,620 --> 00:21:49,610 bu da axır çıxır compiler vasitəsilə 443 00:21:49,610 --> 00:21:51,102 daha yeni maşın kodunu belə. 444 00:21:51,102 --> 00:21:52,810 Və maşın indeksi, adet sıfır və olanları, 445 00:21:52,810 --> 00:21:56,260 Demək olar ki, eyni olacaq, lakin mükəmməl, belə ki, biz lazımdır, çünki, 446 00:21:56,260 --> 00:21:57,510 əlbəttə ki, yeni xətt. 447 00:21:57,510 --> 00:22:02,640 >> Mən ehtiyac gedirəm, bu düzeltmek üçün Daxil, dot clanghello.c təkrar etmək 448 00:22:02,640 --> 00:22:03,800 , A.out doğramaq. 449 00:22:03,800 --> 00:22:08,402 İndi, salam dünya geri Mən gözləmək harada olmaq. 450 00:22:08,402 --> 00:22:09,610 Belə ki, bu bütün gözəl və yaxşı. 451 00:22:09,610 --> 00:22:13,150 Amma a.out bir üçün olduqca axmaq adı proqram, bu olur, baxmayaraq ki, 452 00:22:13,150 --> 00:22:16,530 tarixi səbəblərə görə, montaj nəticələr deməkdir ismarıcları. 453 00:22:16,530 --> 00:22:20,780 >> Amma mənə burada irəli gedək və fərqli bunu. 454 00:22:20,780 --> 00:22:24,760 Mən salam dünya proqramı istəyirəm həqiqətən salam adlanır. 455 00:22:24,760 --> 00:22:28,320 Belə ki, bir icon idi mənim desktop, bu a.out olmaz. 456 00:22:28,320 --> 00:22:29,730 Bu salam adlandırmaq olardı. 457 00:22:29,730 --> 00:22:33,660 >> Belə ki, bunu çıxır Cingilti ki, bir çox proqramlar kimi, 458 00:22:33,660 --> 00:22:37,980 , Command line dəlilləri dəstəkləyir və ya bayraqları, və ya açarları, 459 00:22:37,980 --> 00:22:39,600 sadəcə onun davranış təsir edir. 460 00:22:39,600 --> 00:22:45,160 Xüsusilə, cingilti bir dash o dəstəkləyir sonra ikinci söz edir bayraq. 461 00:22:45,160 --> 00:22:48,190 Bu halda, mən özbaşına lazımdır, lakin əsaslı, salam çağırırıq. 462 00:22:48,190 --> 00:22:50,710 Amma bir şey zəng edə bilər Mən a.out istisna olmaqla, istədiyiniz 463 00:22:50,710 --> 00:22:52,390 daha nöqtəsində başqa olardı. 464 00:22:52,390 --> 00:22:55,640 >> Və sonra yalnız adını daxil fayl I tərtib etmək istəyirəm. 465 00:22:55,640 --> 00:22:59,190 Belə ki, indi hətta əvvəlində baxmayaraq Mən hələ cingilti var komanda, 466 00:22:59,190 --> 00:23:01,410 komanda sonunda Mən hələ fayl var, 467 00:23:01,410 --> 00:23:05,520 İndi bu command line var dəlillər deyərək bu bayraqları, 468 00:23:05,520 --> 00:23:11,180 oh, yolu ilə, çıxış-o, bir fayl Biz default a.out, salam çağırıb. 469 00:23:11,180 --> 00:23:13,810 >> Mən hit əgər, heç bir şey indi daxil edin baş görünür. 470 00:23:13,810 --> 00:23:17,900 Və hələ, indi salam dot çizgi edə bilərsiniz. 471 00:23:17,900 --> 00:23:19,089 Belə ki, eyni proqram. 472 00:23:19,089 --> 00:23:21,380 adet sıfır və olanları günün sonunda eyni. 473 00:23:21,380 --> 00:23:24,210 >> Lakin onlar iki istəyirik müxtəlif fayllar var a.out, 474 00:23:24,210 --> 00:23:26,490 ilk versiyası və yalnız gic-gic adlı 475 00:23:26,490 --> 00:23:30,250 və indi salam olan bir çox bir proqram üçün daha çekici adı. 476 00:23:30,250 --> 00:23:33,195 Amma vicdanla, mən heç vaxt am yenə bu xatırlayıram gedir, 477 00:23:33,195 --> 00:23:34,070 və yenidən və yenidən. 478 00:23:34,070 --> 00:23:36,411 Və həqiqətən, biz yazmaq daha mürəkkəb proqramları, 479 00:23:36,411 --> 00:23:38,160 sen əmrləri yazmaq üçün gedir 480 00:23:38,160 --> 00:23:40,920 hətta almaq üçün gedir daha hələ mürəkkəb. 481 00:23:40,920 --> 00:23:41,940 >> Və belə narahat deyil. 482 00:23:41,940 --> 00:23:46,220 Belə çıxır ki, insanlar əvvəl Bizə çox onlar həyata 483 00:23:46,220 --> 00:23:47,530 Bu eyni problem var idi. 484 00:23:47,530 --> 00:23:50,900 Onlar da olan zövq vermədi , Kifayət qədər uzun, gizli komutları yazın 485 00:23:50,900 --> 00:23:52,200 Dursun onları xatırlayıram. 486 00:23:52,200 --> 00:23:56,070 Və bizdən əvvəl insanlar etdik daha asan digər proqramları 487 00:23:56,070 --> 00:23:57,670 proqram tərtib etmək. 488 00:23:57,670 --> 00:24:01,609 >> Və həqiqətən, belə bir proqram Make adlanır. 489 00:24:01,609 --> 00:24:03,150 Mən irəli getmək və bunu gedirəm. 490 00:24:03,150 --> 00:24:05,691 Mən hər şeyi geri gedirəm mən Yalnız bu şəkildə idi. 491 00:24:05,691 --> 00:24:07,690 Mənə LS yazın edək. 492 00:24:07,690 --> 00:24:10,980 Və üç görəcəksiniz hər şeyə a.out, və bir ulduz, salam 493 00:24:10,980 --> 00:24:12,810 bir ulduz, və hello.c və. 494 00:24:12,810 --> 00:24:14,730 Ümid edirəm ki, bu olmalıdır Bir az intuitiv olmaq 495 00:24:14,730 --> 00:24:18,220 kimi əvvəllər var idi insofar Bu iş heç bir şey. 496 00:24:18,220 --> 00:24:21,240 Mən heç bir şey yox idi biz sinif açılmış qədər yaratmışdır. 497 00:24:21,240 --> 00:24:22,840 >> Mən hello.c yaratmışdır. 498 00:24:22,840 --> 00:24:24,544 Mən onu tərtib və a.out çağırıb. 499 00:24:24,544 --> 00:24:27,460 Və sonra mən bir az yenidən tərtib fərqli və salam adlandırıb. 500 00:24:27,460 --> 00:24:32,830 Mən bu kataloq üç faylları, İş adlanan bu qovluqda. 501 00:24:32,830 --> 00:24:35,005 İndi mən də görə bilərsiniz Mən, həqiqətən, zoom əgər. 502 00:24:35,005 --> 00:24:37,530 >> Mən burada kiçiltmək Əgər ki, sağ üst tərəfdən baxmaq 503 00:24:37,530 --> 00:24:39,940 künc vəd kimi sol Ekranın tərəfdən 504 00:24:39,940 --> 00:24:42,990 həmişə göstərmək niyyətindədir Sizin hesab var, nə var 505 00:24:42,990 --> 00:24:44,790 CS50 IDE daxilində. 506 00:24:44,790 --> 00:24:46,680 Və üç faylları var. 507 00:24:46,680 --> 00:24:49,070 >> Mən salam və a.out xilas olmaq istəyirəm. 508 00:24:49,070 --> 00:24:51,275 Və siz bilər , Daxilən siz təsəvvür 509 00:24:51,275 --> 00:24:53,400 nəzarət klik sort bilər və ya sağ bu basın. 510 00:24:53,400 --> 00:24:54,590 Bu kiçik menyu açılır. 511 00:24:54,590 --> 00:24:57,170 Siz fayl yükləyə bilərsiniz, run Bu, önizleme, yenileyin, adını dəyişmək, 512 00:24:57,170 --> 00:24:57,700 və ya nə deyil. 513 00:24:57,700 --> 00:25:00,260 >> Mən yalnız silmək bilər, və getmək olardı. 514 00:25:00,260 --> 00:25:05,260 Amma bir komanda ilə hər şeyi edək İndi line, belə ki, rahat almaq üçün 515 00:25:05,260 --> 00:25:07,010 Bu və aşağıdakı. 516 00:25:07,010 --> 00:25:12,345 Mən irəli getmək və aradan qaldırılması üçün gedirəm sanki rma.out yazaraq a.out. 517 00:25:12,345 --> 00:25:14,890 Bu komanda üçün çıxır aradan qaldırılması və ya bir şey silmə 518 00:25:14,890 --> 00:25:16,280 aradan qaldırılması və ya silmək deyil. 519 00:25:16,280 --> 00:25:21,260 >> Bu, sadəcə saxlamaq üçün daha müfəssəl RM var Bəzi tuş vuruşlarını və Enter düyməsini basın. 520 00:25:21,260 --> 00:25:24,707 İndi biz bir qədər olacaq cryptically müntəzəm fayl a.out çıxarın. 521 00:25:24,707 --> 00:25:27,040 Mən, həqiqətən, nə bilmirəm qeyri-fayl hələ olacaq. 522 00:25:27,040 --> 00:25:28,660 Amma aradan qaldırılması üçün istəyirəm. 523 00:25:28,660 --> 00:25:30,150 >> Mən yes üçün y yazın gedirəm. 524 00:25:30,150 --> 00:25:31,940 Yoxsa mən onu yazın və Enter düyməsini basın bilər. 525 00:25:31,940 --> 00:25:33,440 Və yenə, heç bir şey görünür. 526 00:25:33,440 --> 00:25:35,840 Amma, ümumiyyətlə, yaxşı bir şey deyil. 527 00:25:35,840 --> 00:25:40,490 >> Mən bu dəfə LS yazın, Mən nə görmək lazımdır? 528 00:25:40,490 --> 00:25:44,930 Ümid edirəm ki, yalnız salam və hello.c. 529 00:25:44,930 --> 00:25:47,286 İndi kimi kənara, siz lazımdır , Ulduz bu ulduz qeyd, 530 00:25:47,286 --> 00:25:48,660 ki, mənim proqramları sonunda var. 531 00:25:48,660 --> 00:25:50,201 Və onlar da yaşıl qədər göstərir. 532 00:25:50,201 --> 00:25:53,970 Bu yalnız CS50 IDE yoldur Əslində sizi cluing of 533 00:25:53,970 --> 00:25:55,280 ki, mənbə kodu deyil. 534 00:25:55,280 --> 00:25:58,880 Ki, bir runnable bir yürütülebilir deyil Siz, həqiqətən, çalıştırabilirsiniz proqramı 535 00:25:58,880 --> 00:26:01,020 sonra dot çizgi bunu, və bu adı var. 536 00:26:01,020 --> 00:26:05,860 >> İndi mənə irəli getmək və aradan qaldırılması imkan Bu, salam rm daxil edin müntəzəm aradan qaldırılması 537 00:26:05,860 --> 00:26:08,010 Bəli, salam fayl. 538 00:26:08,010 --> 00:26:11,180 İndi, LS yazın əgər geri hello.c istəyirik. 539 00:26:11,180 --> 00:26:13,917 silmək üçün cəhd edin, sizin faktiki mənbə kodu. 540 00:26:13,917 --> 00:26:16,250 xüsusiyyətləri var baxmayaraq CS50 IDE harada daxil 541 00:26:16,250 --> 00:26:19,870 Siz revision tarixi ilə getmək olar və vaxtında əgər təsadüfən geri 542 00:26:19,870 --> 00:26:23,660 bir şey silmək, nəzərə nə bu komutları bəli və ya xeyr uyğun olaraq, 543 00:26:23,660 --> 00:26:25,381 Siz, həqiqətən, nə etmək istəyirəm nə. 544 00:26:25,381 --> 00:26:27,380 Mən üst qədər getmək əgər burada küncündə sol, 545 00:26:27,380 --> 00:26:30,696 hello.c bütün qalır. 546 00:26:30,696 --> 00:26:32,570 Belə dəstələri var digər əmrləri ki, 547 00:26:32,570 --> 00:26:37,550 Linux dünyada həyata keçirə bilər, biri yenə olun edir. 548 00:26:37,550 --> 00:26:40,180 Və biz etmək olacaq Mənim proqramı kimi edir. 549 00:26:40,180 --> 00:26:43,270 >> Əvəzində cingilti bunu, əvəzinə cingilti-o bunu, 550 00:26:43,270 --> 00:26:45,860 Mən sadəcə gedirəm sanki salam etmək yazın. 551 00:26:45,860 --> 00:26:49,630 İndi mən, qeyd hello.c etmək yazaraq deyil. 552 00:26:49,630 --> 00:26:50,910 Mən salam etmək yazaraq edirəm. 553 00:26:50,910 --> 00:26:54,840 >> Bu proqram əmin olun CS50 IDE, və daha çox ilə gəlir 554 00:26:54,840 --> 00:26:57,090 ümumiyyətlə Linux, bir proqram 555 00:26:57,090 --> 00:26:59,120 Hello adlı proqram etmək niyyətindədir. 556 00:26:59,120 --> 00:27:03,680 Bu, Konvensiyanın, güman olacaq Bu proqram edilə bilər ki, 557 00:27:03,680 --> 00:27:09,030 bir mənbədən ediləcək olacaq dot c bitən kodu fayl hello.c. 558 00:27:09,030 --> 00:27:12,210 >> Mən hit əgər indi bildiriş daxil edin icra olur komanda 559 00:27:12,210 --> 00:27:14,340 hətta artıq əslində daha əvvəl. 560 00:27:14,340 --> 00:27:16,670 biz sizin, çünki ki önceden CS50 IDE üçün 561 00:27:16,670 --> 00:27:19,878 ki, inşa bəzi əlavə funksiyalar biz yalnız hələ lazımdır, lakin tezliklə olacaq yoxdur. 562 00:27:19,878 --> 00:27:23,470 Amma əsas odur ki, həyata keçirmək üçün Mən Hello proqram var indi. 563 00:27:23,470 --> 00:27:27,080 >> Mən yenə LS yazın, mən Bir salam proqramımız var. 564 00:27:27,080 --> 00:27:32,070 Mən onu çalıştırabilirsiniz dot, yox, a.out doğramaq 565 00:27:32,070 --> 00:27:35,590 Bu bütün point, çünki həyata dot çizgi salam idi. 566 00:27:35,590 --> 00:27:38,089 İndi mən salam dünya proqramı. 567 00:27:38,089 --> 00:27:39,880 Belə ki, irəli hərəkət, biz yalnız demək olar ki, her zaman 568 00:27:39,880 --> 00:27:42,088 Bizim proqramları tərtib gedir komanda Make istifadə edərək. 569 00:27:42,088 --> 00:27:45,300 Və sonra biz onları run olacaq dot çizgi və proqramın adı. 570 00:27:45,300 --> 00:27:49,610 Amma bunu etmək nə dərk Siz, bir compiler özü deyil. 571 00:27:49,610 --> 00:27:53,310 Bu, sadəcə bir rahatlığı proqram ki, compiler tetiklemek üçün necə bilir 572 00:27:53,310 --> 00:27:56,470 Özünüz istifadə edə bilərsiniz, belə ki, çalıştırmak üçün. 573 00:27:56,470 --> 00:28:00,220 >> Hansı əmrləri mövcuddur Linux, və öz növbəsində CS50 IDE var? 574 00:28:00,220 --> 00:28:03,107 Biz tezliklə var ki, görəcəksiniz CD komanda, Change Directory. 575 00:28:03,107 --> 00:28:05,190 Bu ərzində sizə imkan verir Sizin command line interface 576 00:28:05,190 --> 00:28:07,610 geri irəli hərəkət, və, və müxtəlif qovluq açmaq 577 00:28:07,610 --> 00:28:08,860 siçan istifadə etmədən. 578 00:28:08,860 --> 00:28:12,470 >> siyahısı üçün dayanır gördük LS, cari kataloq faylları. 579 00:28:12,470 --> 00:28:14,650 Dir olun, siz yəqin ki, nəticə çıxarmaq başlamaq 580 00:28:14,650 --> 00:28:18,150 Bu kataloq etmək now-- demək nə, Bir qovluq yaratmaq istəyirsinizsə. 581 00:28:18,150 --> 00:28:21,270 aradan qaldırılması üçün RM, RM Dir üçün , Qovluğu daxil və bu aradan qaldırılması 582 00:28:21,270 --> 00:28:24,160 yenə command line var Siz nə ekvivalentləri 583 00:28:24,160 --> 00:28:26,945 Siçan ilə CS50 IDE edə bilər. 584 00:28:26,945 --> 00:28:28,820 Amma tezliklə tapa bilərsiniz ki, bəzən yalnız var 585 00:28:28,820 --> 00:28:30,610 sürətli bir çox etmək bir klaviatura ilə hər şeyi, 586 00:28:30,610 --> 00:28:33,690 və nəticədə bir çox daha güclü. 587 00:28:33,690 --> 00:28:36,440 >> Amma ki, mübahisə etmək çətindir bir şey bu günə qədər bunu etdik 588 00:28:36,440 --> 00:28:39,990 zaman bütün ki, bütün güclü biz salam dünya, IS deyərək etdik. 589 00:28:39,990 --> 00:28:43,740 Və əslində, mən hardcoded Mənim proqram salam dünya sözlər. 590 00:28:43,740 --> 00:28:45,530 heç bir dinamizm hələ yoxdur. 591 00:28:45,530 --> 00:28:49,320 Scratch gücündə bir sifariş idi daha maraqlı keçən həftə. 592 00:28:49,320 --> 00:28:51,220 >> Və belə ki, orada almaq imkan verir. 593 00:28:51,220 --> 00:28:55,310 tərəfindən olduğunu doğru bir addım edək Bu funksiyaların bəzi yol. 594 00:28:55,310 --> 00:28:59,470 Belə ki, yalnız C printf ilə gelir, digər funksiyaları və dəstələri 595 00:28:59,470 --> 00:29:01,850 olan bəzi görəcəyik Zamanla, bu deyil 596 00:29:01,850 --> 00:29:05,760 doğru ki, bütün asan istifadəçi daxil əldə qapısı. 597 00:29:05,760 --> 00:29:08,140 >> zəif Əslində, bir C kimi dil, 598 00:29:08,140 --> 00:29:10,140 və hətta Java və hələ digər bu deyil ki, 599 00:29:10,140 --> 00:29:15,860 kimi şeylər almaq üçün asan istifadəçilər, və ya strings, sözləri integers, 600 00:29:15,860 --> 00:29:19,970 və ifadələr, kimi tək şeylər edək point dəyərləri, və ya real nömrələri üzən 601 00:29:19,970 --> 00:29:23,240 həqiqətən decimal bal, və biz tezliklə görəcəksiniz kimi uzun nömrələri. 602 00:29:23,240 --> 00:29:27,000 Belə ki, burada funksiyaları bu siyahı, bu digər Scratch puzzle ədəd kimi 603 00:29:27,000 --> 00:29:31,090 biz CS50 əvvəlcədən quraşdırılmış ki, biz bir neçə həftə istifadə edəcəyik IDE 604 00:29:31,090 --> 00:29:34,010 təlim növ təkərlər, və nəticədə onları almaq, və baxmaq 605 00:29:34,010 --> 00:29:37,210 başlıq, bəlkə də, at altında bunlar necə həyata keçirilir. 606 00:29:37,210 --> 00:29:40,460 >> Amma bunu, edək həqiqətən bir proqram yazmaq. 607 00:29:40,460 --> 00:29:41,770 mənə indi davam edək. 608 00:29:41,770 --> 00:29:44,750 Mən yeni bir yaratmaq üçün gedirəm Bu kiçik plus tıklayarak fayl, 609 00:29:44,750 --> 00:29:45,970 və yeni fayl tıklayarak. 610 00:29:45,970 --> 00:29:49,250 >> Mən bu növbəti saxlamaq üçün gedirəm , Deyək kimi bir string.c, 611 00:29:49,250 --> 00:29:50,750 Mən strings ilə oynamaq istəyirəm, çünki. 612 00:29:50,750 --> 00:29:53,990 Və C string yalnız simvol bir ardıcıllıqla. 613 00:29:53,990 --> 00:29:56,090 Belə ki, indi davam edək və aşağıdakı. 614 00:29:56,090 --> 00:30:01,204 >> Əlavə standart IO.h-- və Bu standart IO çıxır 615 00:30:01,204 --> 00:30:03,360 IO yalnız giriş və çıxış deməkdir. 616 00:30:03,360 --> 00:30:05,920 Belə ki, çıxır ki, Burada bu xətt nədir 617 00:30:05,920 --> 00:30:08,140 printf istifadə bizə qonşu olunur. 618 00:30:08,140 --> 00:30:10,410 Printf, əlbəttə, çıxış istehsal edir. 619 00:30:10,410 --> 00:30:15,000 Belə ki, printf istifadə etmək üçün, bu çevrilir out kodu bu xətt var 620 00:30:15,000 --> 00:30:16,040 Sizin fayl üst. 621 00:30:16,040 --> 00:30:18,456 >> Və biz geri gəlmək lazımdır nə ki, həqiqətən uzun əvvəl deməkdir. 622 00:30:18,456 --> 00:30:20,400 Bu ki, çıxır Mən yazmaq hər hansı bir C proqram, 623 00:30:20,400 --> 00:30:23,640 Mən başlamaq üçün var bu kimi görünür kodu. 624 00:30:23,640 --> 00:30:26,860 Və CS50 IDE bildiriş və lazımdır digər inteqrasiya inkişaf 625 00:30:26,860 --> 00:30:30,050 bu kimi mühit, ən yaxşı cəhd edir 626 00:30:30,050 --> 00:30:31,780 onlar sizin fikir başa bilər. 627 00:30:31,780 --> 00:30:35,930 Əslində, bir an əvvəl geri əgər Mən nə, mən Enter düyməsini basın. 628 00:30:35,930 --> 00:30:39,160 >> Mən açıq buruq edib brace yenidən Enter düyməsini basın. 629 00:30:39,160 --> 00:30:40,430 Və bu, mənim fikir tamamladı. 630 00:30:40,430 --> 00:30:45,140 Bu, mənə yeni xətt verdi az girintili gözəl üslub səbəblərdən görəcəyik. 631 00:30:45,140 --> 00:30:48,559 Və sonra avtomatik olaraq mənə verdi ki, buruq brace mənim fikir başa çatdırmaq üçün. 632 00:30:48,559 --> 00:30:50,600 İndi, bu həmişə deyil Siz istədiyiniz nə danışarlar. 633 00:30:50,600 --> 00:30:53,620 Amma böyük bir hissəsi, yoxdur bəzi tuş vuruşlarını edin. 634 00:30:53,620 --> 00:30:59,560 Belə ki, bir an əvvəl biz bu proqram qaçdı hello, dünya, və sonra tərtib, 635 00:30:59,560 --> 00:31:00,460 və sonra qaçdı. 636 00:31:00,460 --> 00:31:01,867 Amma heç bir dinamizm burada var. 637 00:31:01,867 --> 00:31:03,700 biz istəyirdi nə fərqli bir şey? 638 00:31:03,700 --> 00:31:07,630 Bəli, Mən, həqiqətən, nə istəyirdi istifadəçi bir string almaq? 639 00:31:07,630 --> 00:31:11,250 Mən puzzle parça istifadə gedirəm string almaq that-- dəqiq çağırıb. 640 00:31:11,250 --> 00:31:15,860 >> C çıxır istəmirəm zaman bir puzzle parça daxil təmin etmək, 641 00:31:15,860 --> 00:31:19,360 və ya daha düzgün bir funksiyası, siz sözün yalnız açıq mötərizə etmək 642 00:31:19,360 --> 00:31:20,430 yaxın mötərizə. 643 00:31:20,430 --> 00:31:25,540 var sanki Belə ki, var ağ qutusuna yazın. 644 00:31:25,540 --> 00:31:27,720 demək blok əvvəl bir az ağ qutusu idi. 645 00:31:27,720 --> 00:31:29,660 Biz indi ağ qutusu yoxdur. 646 00:31:29,660 --> 00:31:33,310 >> Amma get simli zəng zaman, mən haradasa nəticə qoymaq istəyirik. 647 00:31:33,310 --> 00:31:37,680 Belə ki, C bir çox ümumi paradiqma edir Burada get string kimi bir funksiyası zəng, 648 00:31:37,680 --> 00:31:41,070 və sonra onun qaytarılması dəyəri saxlamaq. 649 00:31:41,070 --> 00:31:44,450 Bu nəticəsi onun bir şey səy. 650 00:31:44,450 --> 00:31:47,630 >> Və nə proqramlaşdırma tikintisi, 651 00:31:47,630 --> 00:31:53,450 C indi Not ya olsun, biz ki, həqiqətən, bir şey saxlamaq üçün istifadə edə bilərsiniz? 652 00:31:53,450 --> 00:31:55,990 sağ, bir dəyişən adlanır? 653 00:31:55,990 --> 00:32:00,320 Və Not, biz, həqiqətən deyil dəyişənlərin gedirdi nə qayğı. 654 00:32:00,320 --> 00:32:02,170 >> Amma bu halda, biz, həqiqətən, yoxdur. 655 00:32:02,170 --> 00:32:03,719 Mən simli demək gedirəm. 656 00:32:03,719 --> 00:32:05,510 Və sonra mən zəng edə bilər Mən istəyirəm bu bir şey. 657 00:32:05,510 --> 00:32:08,340 Mən zəng etmək üçün gedirəm adı, string almaq olur. 658 00:32:08,340 --> 00:32:10,250 >> İndi etdiyiniz hətta əgər bu bir az yeni, 659 00:32:10,250 --> 00:32:11,984 Mən bəzi detal yoxdur edirəm ki, görürsünüz. 660 00:32:11,984 --> 00:32:13,150 Mən yarı kolon unutmadan alıram. 661 00:32:13,150 --> 00:32:14,400 Mən bu fikir bitirmək lazımdır. 662 00:32:14,400 --> 00:32:17,480 Mən mənim kursor hərəkət etmək üçün gedirəm və orada yarı kolon edib. 663 00:32:17,480 --> 00:32:19,130 Mən yalnız nə etmişəm? 664 00:32:19,130 --> 00:32:21,440 kodu bu xətti, hazırda sayı 5, 665 00:32:21,440 --> 00:32:23,799 Mən heç bir giriş ilə get simli zəng edirəm. 666 00:32:23,799 --> 00:32:26,090 Belə ki, heç kiçik ağ var Save blok var kimi qutusu. 667 00:32:26,090 --> 00:32:28,590 >> Mən yalnız hey, deyirəm kompüter, mənə bir string almaq. 668 00:32:28,590 --> 00:32:31,390 bərabər işarəsi həqiqətən deyil bərabər işarəsi, per se. 669 00:32:31,390 --> 00:32:33,790 Bu tapşırıq var deməkdir operator, 670 00:32:33,790 --> 00:32:37,860 hey, kompüter, dəyəri hərəkət sol üzərində sağ. 671 00:32:37,860 --> 00:32:40,480 Sol, mən aşağıdakı var. 672 00:32:40,480 --> 00:32:43,580 >> Hey, kompüter, mənə string vermək simvol bir ardıcıllıqla. 673 00:32:43,580 --> 00:32:45,637 Və string adı çağırırıq. 674 00:32:45,637 --> 00:32:47,220 Mən hətta Adı zəng yoxdur. 675 00:32:47,220 --> 00:32:49,970 >> Mən şərti, zəng edə bilər, S kimi bir şey, 676 00:32:49,970 --> 00:32:52,900 biz Mən istifadə çox kimi dəyişən i zəng. 677 00:32:52,900 --> 00:32:54,829 Amma indi bu bir şey etmək lazımdır. 678 00:32:54,829 --> 00:32:57,370 Bu olduqca axmaq olardı çalışan, bu kodu tərtib cəhd 679 00:32:57,370 --> 00:32:59,410 bu proqram olsa Mən bir simli alıram, 680 00:32:59,410 --> 00:33:01,580 yalnız hələ, çünki salam dünya demək gedir. 681 00:33:01,580 --> 00:33:06,140 >> Amma bu dəyişə nə istəyirəm əgər. 682 00:33:06,140 --> 00:33:07,940 Niyə bu yoxdur? 683 00:33:07,940 --> 00:33:11,632 Yüzdə s, vergül s. 684 00:33:11,632 --> 00:33:13,090 Bu hələ bir az sirli edir. 685 00:33:13,090 --> 00:33:15,560 >> Belə ki, mənim dəyişənlərin daha aydın edək. 686 00:33:15,560 --> 00:33:17,510 oxşar dəyişən ad edək. 687 00:33:17,510 --> 00:33:20,230 Və biz sataşmaq edə bilməz, əgər nin görək ayrı burada neler. 688 00:33:20,230 --> 00:33:22,770 >> Belə ki, xətt beş, Mən bir simli alıram. 689 00:33:22,770 --> 00:33:25,620 Mən ki, simli saxlanılması alıram, nə istifadəçi tipli 690 00:33:25,620 --> 00:33:28,430 onun klaviatura, Adı adlı dəyişən. 691 00:33:28,430 --> 00:33:30,590 Və bu çıxır ki, printf yalnız deyil 692 00:33:30,590 --> 00:33:34,220 ikiqat bir mübahisə edirlər quotes, ikiqat quotes bir giriş. 693 00:33:34,220 --> 00:33:39,100 >> Bu iki və ya üç və ya daha çox, belə edə bilərsiniz ikinci və ya üçüncü, ya dördüncü ki, 694 00:33:39,100 --> 00:33:42,320 dəyişənlərin bütün adları, və ya xüsusi, dəyərlər 695 00:33:42,320 --> 00:33:48,610 Siz daxil plug istəyirəm ki, dinamik quotes ki, simli. 696 00:33:48,610 --> 00:33:52,110 Başqa sözlə, nə bu yanlış ola bilər? 697 00:33:52,110 --> 00:33:57,920 Mən yalnız etdi salam adı, backslash n, mənim fayl xilas mənim kodu tərtib 698 00:33:57,920 --> 00:34:01,660 və bu qaçdı, nə olardı? 699 00:34:01,660 --> 00:34:05,139 >> Bu, sadəcə salam demək olacaq sanki N-A-M-E, adı, 700 00:34:05,139 --> 00:34:07,900 hansı növ axmaq, çünki dünyanın heç bir fərqli. 701 00:34:07,900 --> 00:34:10,400 Belə ki, quotes bir şey deyil nə sözün çap olur. 702 00:34:10,400 --> 00:34:12,520 Mən istəyirəm əgər bir tutucu, 703 00:34:12,520 --> 00:34:14,422 Mən, həqiqətən, istifadə etmək lazımdır bəzi xüsusi syntax. 704 00:34:14,422 --> 00:34:17,380 Əgər oxumaq əgər çıxır printf funksiyası üçün sənədləşdirmə, 705 00:34:17,380 --> 00:34:21,320 bu sizə xəbər verəcəkdir Siz faiz s istifadə əgər, 706 00:34:21,320 --> 00:34:23,920 aşağıdakı kimi bir dəyər əvəz edə bilərsiniz. 707 00:34:23,920 --> 00:34:27,190 >> sonra bir vergül sonra ikiqat quote, sadəcə 708 00:34:27,190 --> 00:34:29,179 adını yazmaq Istədiyiniz dəyişən 709 00:34:29,179 --> 00:34:33,790 ki, formatında plug kodu və ya format belirteci, 710 00:34:33,790 --> 00:34:35,469 faiz s strings üçün. 711 00:34:35,469 --> 00:34:39,190 İndi, mənim fayl xilas etdik əgər Mən terminal aşağı geri. 712 00:34:39,190 --> 00:34:42,870 Mən String olun yazın, çünki bu yenidən adı 713 00:34:42,870 --> 00:34:45,510 Mən əvvəl seçdi fayl string.c edir. 714 00:34:45,510 --> 00:34:48,510 >> Mən daxil String etmək demək gedirəm. 715 00:34:48,510 --> 00:34:51,550 yaxşılıq mənim Oh, bütün baxmaq səhvlər biz artıq etdik. 716 00:34:51,550 --> 00:34:55,540 Və bu həqiqətən nə, is-- altı, yeddi line proqram kimi? 717 00:34:55,540 --> 00:34:57,790 Belə ki, bu harada çox can var tez böyük əldə. 718 00:34:57,790 --> 00:35:00,890 >> Bu terminal pəncərə var İndi yalnız mədəsindən geri qaytardı 719 00:35:00,890 --> 00:35:03,230 səhv bir çox. 720 00:35:03,230 --> 00:35:07,560 Şübhəsiz ki, mən daha çox səhv yoxdur Məndən messages kodu xətləri var. 721 00:35:07,560 --> 00:35:08,680 Belə ki, nə baş verir? 722 00:35:08,680 --> 00:35:10,920 >> Yaxşı, ən yaxşı strategiya istədiyiniz zaman nə 723 00:35:10,920 --> 00:35:13,710 böyük qarşılaşa yoxdur kimi səhvlərin siyahısı 724 00:35:13,710 --> 00:35:16,690 geri hərəkət edir, komanda axtarmaq yalnız qaçdı mənim halda olan 725 00:35:16,690 --> 00:35:18,020 simli olun. 726 00:35:18,020 --> 00:35:21,630 etdi etmək nə baxın ki, ki uzun cingilti komanda, heç bir böyük. 727 00:35:21,630 --> 00:35:22,950 >> Amma qırmızı pis. 728 00:35:22,950 --> 00:35:24,750 Green olmağa çalışır incə və faydalı. 729 00:35:24,750 --> 00:35:26,140 Amma bu halda, hələ də pis. 730 00:35:26,140 --> 00:35:27,510 Amma pis deyil? 731 00:35:27,510 --> 00:35:31,450 >> String.c, line beş, karakter beş. 732 00:35:31,450 --> 00:35:32,930 Belə ki, bu yalnız ümumi konvensiya var. 733 00:35:32,930 --> 00:35:36,060 Something colon şey deməkdir line sayı və xarakteri nömrəsi. 734 00:35:36,060 --> 00:35:41,080 Error, qeydiyyatdan kənar xarici istifadə identifikatoru string. 735 00:35:41,080 --> 00:35:42,900 Siz standart demək mi? 736 00:35:42,900 --> 00:35:45,530 >> Belə ki, təəssüf ki, cingilti faydalı olmağa çalışır. 737 00:35:45,530 --> 00:35:46,850 Amma bu halda, yanlış. 738 00:35:46,850 --> 00:35:49,350 Xeyr, cingilti, mən standart IO demək deyil. 739 00:35:49,350 --> 00:35:51,070 Bəli, xətti biri idi. 740 00:35:51,070 --> 00:35:53,420 >> Amma line beş burada bu biridir. 741 00:35:53,420 --> 00:35:57,040 Və cingilti deyil S-T-R-I-N-G başa düşürük. 742 00:35:57,040 --> 00:36:01,490 Bu elan olunmamış identifikator, bir var bu, yalnız əvvəl görüldü heç vaxt söz. 743 00:36:01,490 --> 00:36:05,730 Və C, çünki, dil var biz indi kodu yazıyoruz 744 00:36:05,730 --> 00:36:08,070 strings adlı dəyişənlər yoxdur. 745 00:36:08,070 --> 00:36:11,380 >> Bu default, dəstəyi ilə deyil bir şey bir simli çağırıb. 746 00:36:11,380 --> 00:36:16,750 Bu bir CS50 parça var jargon, lakin çox şərti. 747 00:36:16,750 --> 00:36:18,600 Aşağıdakı kimi Amma bu düzeltebilirsiniz. 748 00:36:18,600 --> 00:36:22,090 >> Mən kodu bir line əlavə edin Bu proqram üst, 749 00:36:22,090 --> 00:36:27,890 başqa fayl CS50.h daxildir haradasa CS50 IDE daxilində haradasa 750 00:36:27,890 --> 00:36:30,820 sabit, belə danışmaq, Ubuntu əməliyyat sistemi 751 00:36:30,820 --> 00:36:33,590 Mən çalışan alıram ki, ki, fayl var 752 00:36:33,590 --> 00:36:38,740 əməliyyat öyrətmək üçün gedir simli nə sistem yalnız 753 00:36:38,740 --> 00:36:41,930 standart io.h kimi fayl əməliyyat sistemi 754 00:36:41,930 --> 00:36:44,430 nə printf onu öyrətmək üçün gedir. 755 00:36:44,430 --> 00:36:46,810 >> Həqiqətən, biz kazanılmış olardı bir çox oxşar mesaj 756 00:36:46,810 --> 00:36:50,600 IO standart qəbul əgər Io.h və printf istifadə etməyə cəhd. 757 00:36:50,600 --> 00:36:53,632 Mən irəli və yalnız getmək üçün gedirəm Mənim ekran sil Control L almaq. 758 00:36:53,632 --> 00:36:56,340 Yoxsa aydın yazın və olacaq yalnız terminal pəncərə sil. 759 00:36:56,340 --> 00:36:58,020 Amma siz hələ vaxt geri hərəkət edə bilər. 760 00:36:58,020 --> 00:37:01,100 >> Mən String olun təkrar gedirəm. 761 00:37:01,100 --> 00:37:03,660 Daxil edin mənim barmaqlarını bu dəfə keçir. 762 00:37:03,660 --> 00:37:05,380 Allahım Oh, o, işləyib. 763 00:37:05,380 --> 00:37:09,280 mənə uzun sirli komanda göstərir ki, nə cingilti vasitəsilə yaradılan olun 764 00:37:09,280 --> 00:37:10,460 lakin heç bir səhv messages. 765 00:37:10,460 --> 00:37:12,460 Belə ki, baxmayaraq ki, həyata Siz tamamilə əldə edə bilər 766 00:37:12,460 --> 00:37:14,480 ilə overwhelmed səhv sayı 767 00:37:14,480 --> 00:37:17,540 yalnız bu annoying Cascading ola bilər Cingilti anlamır təsiri 768 00:37:17,540 --> 00:37:19,620 sonra onu deməkdir ki, bir şey, Növbəti sözü dərk etmir, 769 00:37:19,620 --> 00:37:20,560 və ya növbəti line. 770 00:37:20,560 --> 00:37:22,850 Və belə ki, yalnız kodunu şoklar. 771 00:37:22,850 --> 00:37:24,440 Amma fix sadə ola bilər. 772 00:37:24,440 --> 00:37:27,822 Və belə ki, həmişə diqqət çıxdı ilk line. 773 00:37:27,822 --> 00:37:29,530 Və siz əgər onu anlamaq, yalnız baxmaq 774 00:37:29,530 --> 00:37:32,480 açar sözlər, üçün ola bilər ipuçları və line sayı, 775 00:37:32,480 --> 00:37:34,650 və xarakteri, harada ki, səhv ola bilər. 776 00:37:34,650 --> 00:37:40,328 >> İndi mənə irəli getmək və yazın imkan dot daxil edin, simli doğramaq. 777 00:37:40,328 --> 00:37:44,340 Hm, bu salam bir şey deyən deyil. 778 00:37:44,340 --> 00:37:46,210 Niyə? 779 00:37:46,210 --> 00:37:48,170 Yaxşı, harada çalışan, geri? 780 00:37:48,170 --> 00:37:53,730 >> Bu yəqin ki, hazırda vurulmuş oldu bir loop, xətti altı on, Siz, 781 00:37:53,730 --> 00:37:56,950 dizayn String alın, çünki, CS50 heyəti tərəfindən yazılı, 782 00:37:56,950 --> 00:38:00,350 sözün yalnız oturmaq üçün nəzərdə tutulmuşdur orada gözləyir, və gözləmə, 783 00:38:00,350 --> 00:38:01,850 və simli gözləyir. 784 00:38:01,850 --> 00:38:03,792 biz simli demək bütün insan daxil edir. 785 00:38:03,792 --> 00:38:04,500 Belə ki, nə? 786 00:38:04,500 --> 00:38:05,166 Mənə davam edək. 787 00:38:05,166 --> 00:38:08,704 Və yalnız bir şıltaqlıq, mənə imkan Mənim adı, David yazın daxil edin. 788 00:38:08,704 --> 00:38:10,120 İndi bir daha dinamik proqram var. 789 00:38:10,120 --> 00:38:11,240 Bu salam David bildirib. 790 00:38:11,240 --> 00:38:16,280 >> Mən irəli getmək və yenə bu çalıştırıyorsanız, Mənə daxil edin Zamila adını demək edək. 791 00:38:16,280 --> 00:38:17,940 İndi biz dinamik proqram var. 792 00:38:17,940 --> 00:38:19,380 Mən ağır dünyaya kodlu deyil. 793 00:38:19,380 --> 00:38:21,760 Mən ağır kodlu deyil adı, və ya David, ya Zamila. 794 00:38:21,760 --> 00:38:25,350 >> İndi proqramları kimi daha çox var Bu giriş əgər biz burada bilirik 795 00:38:25,350 --> 00:38:27,870 Bu qədər müxtəlif çıxış istehsal edir. 796 00:38:27,870 --> 00:38:31,020 İndi bu yaxşı deyil istifadəçi təcrübəsi, və ya UX. 797 00:38:31,020 --> 00:38:33,000 Mən proqramı. 798 00:38:33,000 --> 00:38:35,830 >> Mən güman edirəm nə bilmirəm Mən, həqiqətən, baxmaq halda, nə üçün 799 00:38:35,830 --> 00:38:37,290 və ya kodunu xatırlayıram. 800 00:38:37,290 --> 00:38:39,640 Belə ki, istifadəçi edək bir az daha yaxşı təcrübə 801 00:38:39,640 --> 00:38:41,240 şeyi sadə ilə. 802 00:38:41,240 --> 00:38:44,782 oxşar geri gedək proqram, və sadəcə printf demək. 803 00:38:44,782 --> 00:38:48,870 >> Və mənə irəli getmək və adı, kolon deyək və yer, və sonra yarı kolon. 804 00:38:48,870 --> 00:38:51,170 Və yalnız kicks üçün, heç bir boşluq n. 805 00:38:51,170 --> 00:38:52,980 Və, qəsdən deyil Mən istəmirəm, çünki 806 00:38:52,980 --> 00:38:54,590 tez növbəti line hərəkət etmək. 807 00:38:54,590 --> 00:38:58,800 >> Mən simli etmək əvəzinə, bunu istəyirəm yeni maşın mənim kodu compile 808 00:38:58,800 --> 00:39:00,980 code dot simli doğramaq. 809 00:39:00,980 --> 00:39:02,460 Ah, bu qədər cazibədar və gözəl edir. 810 00:39:02,460 --> 00:39:05,780 İndi həqiqətən nə kompüter bilmək Mənə nə bir ad vermək istəyir. 811 00:39:05,780 --> 00:39:10,020 >> Mən irəli getmək və yazın gedirəm Rob da, salam Rob daxil edin və. 812 00:39:10,020 --> 00:39:13,640 Belə ki, bu ilin sonunda, hələ də, həyata gün, yalnız bir doqquz line proqram. 813 00:39:13,640 --> 00:39:15,090 Amma biz bu körpə addımlar etdik. 814 00:39:15,090 --> 00:39:18,380 >> Biz bir xətt yazdığı biz tanış, printf, salam dünya idi. 815 00:39:18,380 --> 00:39:19,980 Sonra biz bir az undid. 816 00:39:19,980 --> 00:39:21,560 Və biz, həqiqətən, get string istifadə olunur. 817 00:39:21,560 --> 00:39:23,362 Və biz bir dəyişən ki, dəyəri atdı. 818 00:39:23,362 --> 00:39:26,070 Və sonra biz önə keçdi və təkmilləşdirilmiş Bu üçüncü xətti ilə daha. 819 00:39:26,070 --> 00:39:29,220 Və bu iterativ proses proqram yazılı həqiqətən vacibdir. 820 00:39:29,220 --> 00:39:33,420 CS50, və ümumiyyətlə həyat, ümumiyyətlə, aşağı oturmaq lazım deyil 821 00:39:33,420 --> 00:39:36,800 nəzərə bir proqram var və yazı cəhd bütün bir dəfə bütün lənətləmək şey. 822 00:39:36,800 --> 00:39:40,810 >> Bu, istər-istəməz, yol səbəb olacaq özümüz burada gördüm biz daha çox səhvlər. 823 00:39:40,810 --> 00:39:44,070 Hətta mən bu günə qədər daim digər axmaq səhvlər, 824 00:39:44,070 --> 00:39:47,480 həqiqətən çətindir səhvlər var anlamaq çətindir ki. 825 00:39:47,480 --> 00:39:52,095 Amma daha çox səhvlər daha çox olacaq kod xətləri bir dəfə bütün yazın. 826 00:39:52,095 --> 00:39:54,220 Və bu təcrübə kod bir az yazmaq 827 00:39:54,220 --> 00:39:57,930 Siz rahat istəyirik ki, tərtib Bu, run ümumiyyətlə test 828 00:39:57,930 --> 00:40:01,370 sonra biz saxlanılır, belə ki, kimi Us hərəkət layering və son həftə layering, 829 00:40:01,370 --> 00:40:04,190 bir şey bina çox daha mürəkkəb bir şey sadə, 830 00:40:04,190 --> 00:40:05,200 Burada eyni. 831 00:40:05,200 --> 00:40:08,500 aşağı oturmaq və cəhd etməyin bütün problem yazın. 832 00:40:08,500 --> 00:40:10,780 Əslində bu körpə addımlar. 833 00:40:10,780 --> 00:40:15,100 >> İndi strings bütün deyil özləri yanına faydalı. 834 00:40:15,100 --> 00:40:18,210 Biz kimi, ideal, həqiqətən istədiyiniz Bizim Toolbar başqa bir şey var. 835 00:40:18,210 --> 00:40:20,990 Belə ki, həqiqətən məhz bunu edək. 836 00:40:20,990 --> 00:40:24,900 >> Mənə indi irəli getmək və qızışdırmaq edək bir az fərqli proqram. 837 00:40:24,900 --> 00:40:28,320 Və biz tam üçün, bu int.c zəng edəcəyik. 838 00:40:28,320 --> 00:40:30,870 Mən eyni, gedirəm, CS550.h daxildir. 839 00:40:30,870 --> 00:40:33,060 Mən standart IO daxil gedirəm. 840 00:40:33,060 --> 00:40:36,630 Və olduqca ümumi olacaq sinif bu ilk bir neçə gün. 841 00:40:36,630 --> 00:40:39,050 >> Mən hazır gedirəm özümü əsas funksiyası ilə. 842 00:40:39,050 --> 00:40:43,370 İndi əvəzinə simli almaq, Nin irəli getmək və bir int əldə edək. 843 00:40:43,370 --> 00:40:49,285 nin i zəng edək və bu almaq zəng int yaxın parens yarı kolon. 844 00:40:49,285 --> 00:40:51,410 İndi nə edək bu bir şey, printf. 845 00:40:51,410 --> 00:40:56,190 >> nin kimi bir şey demək edək salam, backslash n, vergül i. 846 00:40:56,190 --> 00:41:00,010 Mən olduqca çox imitasiya alıram Mən yalnız bir an əvvəl nə. 847 00:41:00,010 --> 00:41:01,660 Mən burada bir tutucu var. 848 00:41:01,660 --> 00:41:05,150 Mən istəyirəm, çünki mən, burada vergül var ki, tutucu i yerləşdirin. 849 00:41:05,150 --> 00:41:07,250 >> Belə ki, irəli getmək və cəhd edək Bu proqram tərtib. 850 00:41:07,250 --> 00:41:10,060 Fayl int.c. adlanır 851 00:41:10,060 --> 00:41:12,920 Mən daxil int etmək, demək gedirəm. 852 00:41:12,920 --> 00:41:16,420 Pərvərdigara, lakin heç bir böyük, sağ? 853 00:41:16,420 --> 00:41:17,230 bir səhv var. 854 00:41:17,230 --> 00:41:19,810 >> bir sintaktik səhv var Burada belə ki, proqram bilməz 855 00:41:19,810 --> 00:41:25,460 int.c xətti daxilində tərtib yeddi, karakter 27, səhv format 856 00:41:25,460 --> 00:41:28,400 növü char müəyyən ki, nə, ulduz. 857 00:41:28,400 --> 00:41:30,020 Amma dəlil növü int edir. 858 00:41:30,020 --> 00:41:33,110 >> Da biz Belə ki, burada to-- fikrində deyilik Bu gün maddi bir çox olsa da, 859 00:41:33,110 --> 00:41:35,710 Biz sizə qorxudaraq olacaq tamamilə C hər bir xüsusiyyət, 860 00:41:35,710 --> 00:41:38,070 və daha çox, ümumiyyətlə proqramlaşdırma yalnız bu ilk bir neçə həftə. 861 00:41:38,070 --> 00:41:40,400 Belə ki, tez-tez jargon var olacaq hansı ilə tanış deyilik. 862 00:41:40,400 --> 00:41:43,350 Və əslində, char ulduz bir şey deyil biz geri gəlmək olacaq 863 00:41:43,350 --> 00:41:44,830 bir həftə və ya iki vaxt. 864 00:41:44,830 --> 00:41:47,530 >> Amma indi, biz əgər nin görək tanış sözləri analiz. 865 00:41:47,530 --> 00:41:50,750 Formats-- biz format eşitdim belirteci, format kodu əvvəl. 866 00:41:50,750 --> 00:41:51,840 Bu tanış deyil. 867 00:41:51,840 --> 00:41:53,840 Tipli lakin dəlil növü int var. 868 00:41:53,840 --> 00:41:55,980 Bir dəqiqə gözləyin, i bir int edir. 869 00:41:55,980 --> 00:41:59,230 >> həqiqətən Bəlkə faiz s bəzi müəyyən mənası var. 870 00:41:59,230 --> 00:42:00,230 Və həqiqətən, yoxdur. 871 00:42:00,230 --> 00:42:03,101 Bir tam, əgər siz onu əvəz etmək üçün printf, 872 00:42:03,101 --> 00:42:05,350 Siz, həqiqətən, bir istifadə etmək müxtəlif format belirteci. 873 00:42:05,350 --> 00:42:06,890 Və bu bilmirəm halda kimsə sizə dedim 874 00:42:06,890 --> 00:42:07,973 və ya əvvəl etmişdi. 875 00:42:07,973 --> 00:42:10,490 Amma faiz mən nə çox istifadə edilə bilər 876 00:42:10,490 --> 00:42:12,240 bir tam sayede üçün printf edir. 877 00:42:12,240 --> 00:42:14,920 Siz həmçinin faiz istifadə edə bilərsiniz bir bu tam üçün d. 878 00:42:14,920 --> 00:42:16,490 Amma burada gözəl və sadədir. 879 00:42:16,490 --> 00:42:17,590 Beləliklə, biz ki, getmək lazımdır. 880 00:42:17,590 --> 00:42:21,160 >> İndi mənə irəli gedək və təkrar etmək int daxil edin. 881 00:42:21,160 --> 00:42:23,328 Bu, heç bir səhvlər yaxşı. 882 00:42:23,328 --> 00:42:27,260 Dot, int OK, pis user experience doğramaq Mən özümü bildirib, çünki 883 00:42:27,260 --> 00:42:27,760 nə. 884 00:42:27,760 --> 00:42:28,426 Amma ki, gözəl var. 885 00:42:28,426 --> 00:42:29,480 Mən tez tutmaq alıram. 886 00:42:29,480 --> 00:42:36,260 >> İndi mənə irəli getmək və David, OK, Zamila, Rob yazın. 887 00:42:36,260 --> 00:42:37,820 OK, belə ki, bu yaxşı bir şey deyil. 888 00:42:37,820 --> 00:42:41,710 Bu dəfə mən bir funksiyası istifadə edirəm get int adlı puzzle parça. 889 00:42:41,710 --> 00:42:44,230 Və çıxır və biz lazımdır term-- bu sonra görəcəksiniz 890 00:42:44,230 --> 00:42:47,730 CS50 heyəti həyata keçirdi belə bir şəkildə simli almaq 891 00:42:47,730 --> 00:42:50,350 ki, yalnız fiziki edəcək Sizin üçün bir string almaq. 892 00:42:50,350 --> 00:42:54,340 >> Bu, get int həyata keçirdi Belə bir yol ki, yalnız edəcək 893 00:42:54,340 --> 00:42:55,590 sizin üçün bir tam almaq. 894 00:42:55,590 --> 00:42:57,830 Və əgər, insan, əməkdaşlıq deyil, bu, 895 00:42:57,830 --> 00:43:00,590 sözün yalnız gedir , Yeniden, yeniden yeniden demək 896 00:43:00,590 --> 00:43:05,200 sanki qədər loop orada oturan Bəzi sehrli sayı məcbur, 897 00:43:05,200 --> 00:43:07,670 50 və 50 salam kimi. 898 00:43:07,670 --> 00:43:11,440 >> Yoxsa biz yenə bu run əgər və növü 42, 42 salam. 899 00:43:11,440 --> 00:43:15,750 Və get int funksiyası ki, puzzle parça daxili 900 00:43:15,750 --> 00:43:19,050 kifayət qədər məntiq, kifayət qədər fikir, anlamaq üçün, bir söz nədir? 901 00:43:19,050 --> 00:43:20,330 Və bir sıra nədir? 902 00:43:20,330 --> 00:43:23,165 Yalnız nəticədə, nömrələri, qəbul. 903 00:43:23,165 --> 00:43:25,690 904 00:43:25,690 --> 00:43:30,230 >> Belə ki, bu çıxır ki, bütün ifadəli deyil. 905 00:43:30,230 --> 00:43:30,910 indiyə qədər. 906 00:43:30,910 --> 00:43:33,690 Belə ki, yay, son dəfə biz olduqca tez getdi 907 00:43:33,690 --> 00:43:38,320 həyata oyunlar və animasiya, Not və bədii əsərləri. 908 00:43:38,320 --> 00:43:42,260 Və burada, biz content olunur salam dünya və 50 salam ilə. 909 00:43:42,260 --> 00:43:43,696 >> Bu bütün ruhlandırıcı deyil. 910 00:43:43,696 --> 00:43:46,070 Və həqiqətən, bu ilk bir neçə nümunələri bir az zaman alacaq 911 00:43:46,070 --> 00:43:47,510 həyəcan ramp. 912 00:43:47,510 --> 00:43:49,854 Amma biz çox daha çox var Əslində, indi nəzarət. 913 00:43:49,854 --> 00:43:51,770 Və biz olacaq çox tez layering başlamaq 914 00:43:51,770 --> 00:43:53,870 Bu əsas primitives üst. 915 00:43:53,870 --> 00:43:56,370 >> Lakin ilk, bu anlamaq imkan məhdudiyyətlər var nə. 916 00:43:56,370 --> 00:43:58,620 şeyi Əslində, bir Scratch asanlıqla deyil 917 00:43:58,620 --> 00:44:00,990 baxmaq, həqiqətən, bizə nə edək başlıq altında, 918 00:44:00,990 --> 00:44:03,740 və nə anlamaq kompüter, bunu edə bilər nə var 919 00:44:03,740 --> 00:44:05,250 və məhdudiyyətlər nə var. 920 00:44:05,250 --> 00:44:08,580 Və həqiqətən, çatışmazlığı anlaşma, potensial uzunmüddətli 921 00:44:08,580 --> 00:44:12,520 öz səhvlər yazılı gətirib çıxara bilər etibarsız proqram yazılı bugs ki, 922 00:44:12,520 --> 00:44:13,880 bir şəkildə Hesabıma girildi olur. 923 00:44:13,880 --> 00:44:17,130 >> Belə ki, doğru bəzi addımlar imkan bu bir az daha yaxşı dərk 924 00:44:17,130 --> 00:44:19,710 , Yolu aşağıdakı nümunə deyirlər. 925 00:44:19,710 --> 00:44:23,550 Mən irəli getmək və həyata keçirilməsi üçün gedirəm Gürzə adlı proqram real sürətli. 926 00:44:23,550 --> 00:44:25,134 Kimi, birlikdə bir ədəd əlavə edək. 927 00:44:25,134 --> 00:44:27,800 Mən bəzi guşələrindən kod gedirəm burada və yalnız surəti və yapışdırıb 928 00:44:27,800 --> 00:44:30,270 Mən yalnız əvvəl idi belə ki, biz tez gedir əldə edə bilərsiniz. 929 00:44:30,270 --> 00:44:33,090 İndi Mən əsas yaranma var Gürzə adlı proqram. 930 00:44:33,090 --> 00:44:34,670 >> Və irəli getmək və bunu bildirin. 931 00:44:34,670 --> 00:44:38,680 Mən irəli getmək üçün gedirəm və demək, intx int almaq olur. 932 00:44:38,680 --> 00:44:39,430 Və nə bilirik? 933 00:44:39,430 --> 00:44:40,990 nin daha yaxşı bir istifadəçi experience edək. 934 00:44:40,990 --> 00:44:45,740 >> Belə ki, yalnız x və səmərəli deyək istifadəçi təklif bizə x vermək. 935 00:44:45,740 --> 00:44:50,600 Və sonra mənə printf, irəli getmək və deyək necə y haqqında, bu dəfə gözləyirik 936 00:44:50,600 --> 00:44:53,140 istifadəçi iki dəyərlər. 937 00:44:53,140 --> 00:44:59,759 Və sonra, yalnız irəli getmək və demək, printf, x və y cəmidir. 938 00:44:59,759 --> 00:45:01,300 İndi yüzdə s etmək istəmirəm. 939 00:45:01,300 --> 00:45:09,080 Mən faiz etmək istəyirəm, backslash n, sonra məbləği dəyər yerləşdirin. 940 00:45:09,080 --> 00:45:10,620 >> Belə ki, necə bunu barədə getmək olar? 941 00:45:10,620 --> 00:45:11,270 Siz nə bilirik? 942 00:45:11,270 --> 00:45:12,840 Mən dəyişənlərin necə istifadə bilirik. 943 00:45:12,840 --> 00:45:15,140 Mənə yalnız yeni bir, int z elan edək. 944 00:45:15,140 --> 00:45:16,770 >> Mən burada bir tahmin etmək gedirəm. 945 00:45:16,770 --> 00:45:21,470 Bu bərabər əlamətləri varsa dil, bəlkə mən x plus y edə yalnız bilər, 946 00:45:21,470 --> 00:45:23,660 belə uzun mənim son olaraq yarı-nöqtə ilə fikir? 947 00:45:23,660 --> 00:45:28,170 İndi, aşağı burada geri z plug bilər, yarı-nöqtə ilə bu fikir tamamlayın. 948 00:45:28,170 --> 00:45:33,160 Və bu halda, indi görək xətləri X ardıcıllığı int almaq. 949 00:45:33,160 --> 00:45:34,770 Y int almaq. 950 00:45:34,770 --> 00:45:37,980 >> , X və y əlavə dəyər saxlamaq z-- Belə ki, daha bərabər işarəsi xatırlayıram 951 00:45:37,980 --> 00:45:38,560 bərabər deyil. 952 00:45:38,560 --> 00:45:41,100 Bu sağdan sola tapşırıq var. 953 00:45:41,100 --> 00:45:45,180 Və məbləğ ki, çap edək x və y, sözün z deyil 954 00:45:45,180 --> 00:45:46,830 lakin z daxilində nə var. 955 00:45:46,830 --> 00:45:50,090 Belə ki, gürzə edək - gözəl, səhvsiz bu dəfə. 956 00:45:50,090 --> 00:45:53,030 Dot, gürzə daxil doğramaq x 1 olacaq. 957 00:45:53,030 --> 00:45:55,380 >> Y 2 olacaq. 958 00:45:55,380 --> 00:45:58,964 Və x və y məbləği 3. 959 00:45:58,964 --> 00:46:00,130 Belə ki, bütün gözəl və yaxşı. 960 00:46:00,130 --> 00:46:03,260 >> Belə ki, riyaziyyat təsəvvür bu kimi bir proqram işləməlidir. 961 00:46:03,260 --> 00:46:04,040 Amma nə bilirik? 962 00:46:04,040 --> 00:46:06,904 Bu dəyişən line edir 12, hətta lazım? 963 00:46:06,904 --> 00:46:09,820 Siz vərdiş almaq üçün ehtiyac yoxdur yalnız dəyişənlərin şeyi saxlanılması 964 00:46:09,820 --> 00:46:10,980 yalnız çünki. 965 00:46:10,980 --> 00:46:13,550 Və əslində, bu, ümumiyyətlə, var hesab pis dizayn 966 00:46:13,550 --> 00:46:18,100 Bir dəyişən yaratmaq varsa, adlı Bu halda z, bu bir şey saxlanılması, 967 00:46:18,100 --> 00:46:21,390 və sonra dərhal lakin heç vaxt yenidən istifadə. 968 00:46:21,390 --> 00:46:24,700 Niyə bir şey bir ad vermək z kimi sözün əgər 969 00:46:24,700 --> 00:46:26,770 ki, istifadə etmək niyyətində şey yalnız bir dəfə, və 970 00:46:26,770 --> 00:46:29,380 Yaratdığınız harada proksimal ilk növbədə bu, 971 00:46:29,380 --> 00:46:31,052 kodu xətləri baxımından çox yaxın? 972 00:46:31,052 --> 00:46:31,760 Belə ki, nə? 973 00:46:31,760 --> 00:46:34,480 Bu C olduqca çevik çıxır. 974 00:46:34,480 --> 00:46:36,586 Mən, həqiqətən, istəyirsinizsə plug-in dəyərlər burada, 975 00:46:36,586 --> 00:46:38,210 Mən yeni dəyişən elan etmək lazım deyil. 976 00:46:38,210 --> 00:46:41,680 Mən yalnız plug-in bilər x plus y, C anlayır, çünki 977 00:46:41,680 --> 00:46:43,390 hesab və riyazi operatorları. 978 00:46:43,390 --> 00:46:47,140 >> Mən sadəcə, bu math edə, demək olar x plus y, o dəyərlər nə olursa olsun, 979 00:46:47,140 --> 00:46:50,780 nəticəsində plug ki, simli daxil tam. 980 00:46:50,780 --> 00:46:53,730 Belə ki, bu, baxmayaraq ki, ola bilər, yalnız bir xətt qısa, 981 00:46:53,730 --> 00:46:58,480 Daha yaxşı dizayn, daha yaxşı proqram, az code Buna görə də, var, çünki 982 00:46:58,480 --> 00:46:59,921 Mənə anlamaq üçün azdır. 983 00:46:59,921 --> 00:47:01,920 Və bu da yalnız təmiz biz deyilik insofar kimi 984 00:47:01,920 --> 00:47:04,620 yeni sözlər təqdim, yeni simvollar, z kimi, 985 00:47:04,620 --> 00:47:07,510 baxmayaraq ki, onlar həqiqətən deyil məqsədi çox xidmət edir. 986 00:47:07,510 --> 00:47:12,890 >> Təəssüf ki, riyaziyyat deyil bütün etibarlı bəzən. 987 00:47:12,890 --> 00:47:15,270 Nin irəli getmək və bunu edək. 988 00:47:15,270 --> 00:47:18,200 Mən irəli getmək üçün gedirəm indi və aşağıdakı. 989 00:47:18,200 --> 00:47:27,650 >> printf, yüzdə i, plus faiz edək i, yüzdə i, backslash n olacaq. 990 00:47:27,650 --> 00:47:32,240 Mən şeylərdir xyx plus y gedirəm. 991 00:47:32,240 --> 00:47:34,821 Mən yalnız yeniden yazmaq üçün gedirəm bu bir az fərqli burada. 992 00:47:34,821 --> 00:47:36,320 Mənə yalnız tez ağlı başında olma çek edək. 993 00:47:36,320 --> 00:47:37,986 Yenə nin irəlidə özümüz almaq deyil bildirin. 994 00:47:37,986 --> 00:47:41,420 gürzə, dot çizgi gürzə olun. 995 00:47:41,420 --> 00:47:44,950 x 1, y 2, 1 plus 2 3 edir. 996 00:47:44,950 --> 00:47:45,870 Belə ki, yaxşı. 997 00:47:45,870 --> 00:47:49,060 Amma indi bu mürəkkəbləşdirmək imkan bir az, və yeni bir fayl yaratmaq. 998 00:47:49,060 --> 00:47:53,350 >> Mən bu bir zəng etmək üçün gedirəm, ints, integers üçün cəm, deyirlər. 999 00:47:53,350 --> 00:47:55,980 Mən bir an əvvəl olduğu mənə başlamaq edək. 1000 00:47:55,980 --> 00:47:57,770 Amma indi bir neçə digər xətləri edək. 1001 00:47:57,770 --> 00:48:03,430 Mənə irəli getmək və aşağıdakı edək printf, yüzdə i, minus faiz i, 1002 00:48:03,430 --> 00:48:08,959 faiz i, vergül x, vergül YX minus y edir. 1003 00:48:08,959 --> 00:48:10,750 Mən bir az edirəm orada müxtəlif math. 1004 00:48:10,750 --> 00:48:11,624 nin başqa bir edək. 1005 00:48:11,624 --> 00:48:16,610 Belə ki, faiz i dəfə faiz i faiz i, backslash n. 1006 00:48:16,610 --> 00:48:21,430 nin plug-in X, və y, və x dəfə y edək. 1007 00:48:21,430 --> 00:48:24,530 Biz ulduz istifadə edəcəyik dəfə kompüter. 1008 00:48:24,530 --> 00:48:26,390 >> Siz X istifadə etməyin. x Burada dəyişən adı. 1009 00:48:26,390 --> 00:48:28,270 Siz vurma üçün ulduz istifadə edin. 1010 00:48:28,270 --> 00:48:29,020 daha bir edək. 1011 00:48:29,020 --> 00:48:34,580 Printf faiz Mən bölünür faiz I, faiz i 1012 00:48:34,580 --> 00:48:40,460 backslash n. xy y-- bölünür belə ki, C irəli çizgi istifadə 1013 00:48:40,460 --> 00:48:41,502 bölgüsü yoxdur. 1014 00:48:41,502 --> 00:48:42,460 Və digər bir nə edək. 1015 00:48:42,460 --> 00:48:47,920 1016 00:48:47,920 --> 00:48:55,240 faiz i qalan bölünür faiz I, yüzdə i. 1017 00:48:55,240 --> 00:48:59,550 xy-- və indi qalan üzərində sol nə edir. 1018 00:48:59,550 --> 00:49:02,980 Bir bölünməsi çalıştığınızda bir surət daxil məxrəc, 1019 00:49:02,980 --> 00:49:05,570 ki, artıq qalıb nə qədər Siz bölmək bilməz? 1020 00:49:05,570 --> 00:49:07,910 >> Belə ki, həqiqətən yoxdur mütləq simvolu 1021 00:49:07,910 --> 00:49:09,470 biz bu grade məktəb istifadə etdik. 1022 00:49:09,470 --> 00:49:13,830 Amma C. Siz demək x modulo y, harada 1023 00:49:13,830 --> 00:49:18,000 Bu kontekstdə bu faiz işarəsi dolaşıq daxili olduğunuzda 1024 00:49:18,000 --> 00:49:20,170 ikiqat quotes, printf ki, faiz daxili 1025 00:49:20,170 --> 00:49:21,830 format belirteci kimi istifadə olunur. 1026 00:49:21,830 --> 00:49:25,420 >> Siz kənarda faizini istifadə edərkən riyazi ifadə ki, 1027 00:49:25,420 --> 00:49:29,910 Bu modul üçün modulo operator var bizim üçün arithmetic-- 1028 00:49:29,910 --> 00:49:33,650 Burada yalnız o deməkdir ki, nə x qalan y bölünür? 1029 00:49:33,650 --> 00:49:36,130 y bölünür x So x çizgi y edir. 1030 00:49:36,130 --> 00:49:38,220 y bölünür x qalan nədir? 1031 00:49:38,220 --> 00:49:41,780 bir proqramçı deyərdim ki, mod y x var. 1032 00:49:41,780 --> 00:49:48,300 >> Mən burada heç bir səhvlər Belə ki, mənə imkan irəli getmək və cəm ints, gözəl etmək, 1033 00:49:48,300 --> 00:49:50,010 və dot çizgi ints. 1034 00:49:50,010 --> 00:49:55,270 Və irəli getmək və Bunu, bu, 1, 10 deyək. 1035 00:49:55,270 --> 00:49:58,390 Bütün sağ, 1 plus 10 çek 11. 1036 00:49:58,390 --> 00:50:01,240 1 minus 10 yoxlamaq, mənfi 9. 1037 00:50:01,240 --> 00:50:03,420 >> 1 dəfə 10 çek 10. 1038 00:50:03,420 --> 00:50:07,090 1 10 is-- bölünür OK, biz bir keçmək lazımdır. 1039 00:50:07,090 --> 00:50:09,480 10 bölünür 1 qalan 1. 1040 00:50:09,480 --> 00:50:10,680 Bu doğru deyil. 1041 00:50:10,680 --> 00:50:12,630 Amma burada bir səhv var. 1042 00:50:12,630 --> 00:50:15,390 >> Belə ki, bir mən qoymaq mənim doğru deyil, təhvil. 1043 00:50:15,390 --> 00:50:16,670 Hesab edirəm ki, 0 yaxın deməkdir. 1044 00:50:16,670 --> 00:50:20,670 biz əgər 10 bölünür 1, bilirsiniz, bəzi guşələrindən kəsici, əmin, bu sıfır var. 1045 00:50:20,670 --> 00:50:28,050 Amma həqiqətən, 1/10 olmalıdır 0.1 və ya 0.10, 0,1000 və ya s. 1046 00:50:28,050 --> 00:50:30,600 >> Bu, həqiqətən sıfır olmamalıdır. 1047 00:50:30,600 --> 00:50:35,990 Bəli, bu kompüter çıxır ki, sanki bunu biz bunu izah. 1048 00:50:35,990 --> 00:50:39,460 Biz y bölünür x kimi riyaziyyat edirik. 1049 00:50:39,460 --> 00:50:44,680 Və xətləri hər iki x və y, kodu əvvəllər tam ədədlərdir. 1050 00:50:44,680 --> 00:50:50,440 >> Bundan əlavə, xətt 15-də biz izah printf, hey, printf plug-in 1051 00:50:50,440 --> 00:50:54,230 tam, plug-in bir tam, plug-in bir integer-- xüsusi 1052 00:50:54,230 --> 00:50:57,580 x, və sonra y, və sonra x y bölünür. x və y ints var. 1053 00:50:57,580 --> 00:50:59,060 Biz orada yaxşı deyilik. 1054 00:50:59,060 --> 00:51:01,250 >> Amma x x nə bölünür? 1055 00:51:01,250 --> 00:51:06,790 x y olmalıdır bölünür, riyazi, 1/10 və ya 0,1, 1056 00:51:06,790 --> 00:51:11,600 hansı bir real sayı, bir real sayı Potensial, bir decimal point olan. 1057 00:51:11,600 --> 00:51:13,230 Bu tam deyil. 1058 00:51:13,230 --> 00:51:18,290 >> Amma yaxın nə 1/10, və ya 0.1 üçün tam? 1059 00:51:18,290 --> 00:51:21,114 Bəli, bu cür sıfır. 1060 00:51:21,114 --> 00:51:22,030 0.1 bu qədər kimi. 1061 00:51:22,030 --> 00:51:22,890 Və 1 Bu qədər. 1062 00:51:22,890 --> 00:51:25,870 Belə ki, 1/10 yaxın 0 Bu bir daha. 1063 00:51:25,870 --> 00:51:30,800 >> Və C us-- üçün nə cür biz bunu to-- bildirib, çünki 1064 00:51:30,800 --> 00:51:32,600 ki, tam truncating edir. 1065 00:51:32,600 --> 00:51:40,540 Bu yenidən dəyər alaraq 0.1000 kimi bir şey olması ehtimal, 1066 00:51:40,540 --> 00:51:41,800 0 və s. 1067 00:51:41,800 --> 00:51:45,320 Və hər şeyi truncating oldu bu kəsir sonra 1068 00:51:45,320 --> 00:51:47,510 Bu ki, bütün belə stuff, bu deyil, çünki 1069 00:51:47,510 --> 00:51:51,910 , Bir tam anlayışı uyğun olan 1, 0, 1 mənfi kimi yalnız bir sıra deyil 1070 00:51:51,910 --> 00:51:55,830 yuxarı və aşağı, hər şey üz salır çünki bu kəsir sonra 1071 00:51:55,830 --> 00:51:59,020 decimal point uyğun bilməz müəyyən bir tam. 1072 00:51:59,020 --> 00:52:01,290 >> Belə ki, burada cavab sıfır. 1073 00:52:01,290 --> 00:52:02,600 Belə ki, necə biz bu düzeltmek üçün nə etməliyəm? 1074 00:52:02,600 --> 00:52:04,400 Biz bütün birlikdə başqa bir həll lazımdır. 1075 00:52:04,400 --> 00:52:06,880 aşağıdakı Və biz bunu edə bilərsiniz. 1076 00:52:06,880 --> 00:52:12,820 >> Mənə davam edək və yeni yaratmaq fayl, bu floats.c çağırıb. 1077 00:52:12,820 --> 00:52:16,500 Və burada qeyd edin Eyni directory, float.c. 1078 00:52:16,500 --> 00:52:19,360 1079 00:52:19,360 --> 00:52:23,260 Və mənə irəli getmək və surəti imkan əvvəlki kod bəzi. 1080 00:52:23,260 --> 00:52:27,690 >> Amma əldə bir int, bunu edək. 1081 00:52:27,690 --> 00:52:31,037 Mənə bir üzən point dəyər verin x çağırıb. harada üzən point 1082 00:52:31,037 --> 00:52:33,370 dəyəri yalnız sözün üzən nöqtə ilə bir şey. 1083 00:52:33,370 --> 00:52:34,410 Bu sağ, sol hərəkət edə bilər. 1084 00:52:34,410 --> 00:52:35,530 Bu real sayı var. 1085 00:52:35,530 --> 00:52:38,050 >> Və mənə deyil zəng edək int almaq, ancaq float almaq, 1086 00:52:38,050 --> 00:52:41,420 həmçinin menyu arasında idi C250 kitabxana variantları. 1087 00:52:41,420 --> 00:52:43,220 Bir float y dəyişdirmək edək. 1088 00:52:43,220 --> 00:52:45,000 Belə ki, bu float almaq olur. 1089 00:52:45,000 --> 00:52:47,620 >> İndi, biz ints plug istəmirəm. 1090 00:52:47,620 --> 00:52:53,130 Bu faiz istifadə etmək lazımdır çıxır float üçün f, float üçün faiz f, 1091 00:52:53,130 --> 00:52:54,560 və indi edin. 1092 00:52:54,560 --> 00:53:01,220 İndi, barmaqlarını keçib etmək üzüb gedirdi, gözəl, dot çizgi üzüb gedirdi. 1093 00:53:01,220 --> 00:53:04,280 x bir 1. y olacaq yenə 10 olacaq. 1094 00:53:04,280 --> 00:53:08,240 >> Və gözəl, OK mənim əlavə doğru deyil. 1095 00:53:08,240 --> 00:53:10,240 Mən daha çox ümid oldu ancaq yazmaq unuttum. 1096 00:53:10,240 --> 00:53:13,250 Belə ki, getmək və bu məntiqi səhv düzeltmek bildirin. 1097 00:53:13,250 --> 00:53:16,280 >> Nin irəli getmək və aşağıdakı qamarlamaq edək. 1098 00:53:16,280 --> 00:53:18,080 Biz yalnız bir az surəti və yapışdırıb edəcəyik. 1099 00:53:18,080 --> 00:53:20,080 Mən minus demək gedirəm. 1100 00:53:20,080 --> 00:53:21,890 >> Mən dəfə demək gedirəm. 1101 00:53:21,890 --> 00:53:24,060 Mən bölünür demək gedirəm. 1102 00:53:24,060 --> 00:53:28,240 Mən modulo etmək niyyətində deyiləm ki, burada kimi ilgili deyil 1103 00:53:28,240 --> 00:53:33,690 f bölünür, və dəfə plus OK, Bunu yenidən edək. 1104 00:53:33,690 --> 00:53:44,210 >> Olun üzüb gedirdi, dot çizgi üzüb gedirdi, 1, 10, and-- gözəl, yox, OK. 1105 00:53:44,210 --> 00:53:45,250 Mən bir idiot deyiləm. 1106 00:53:45,250 --> 00:53:47,000 Belə ki, bu çox ümumi kompüter 1107 00:53:47,000 --> 00:53:49,780 oxşar axmaq səhvlər etmək. 1108 00:53:49,780 --> 00:53:53,100 >> pedaqoji məqsədləri üçün, nə mən, həqiqətən etmək istəyirdi 1109 00:53:53,100 --> 00:53:57,410 Burada elm dəyişiklik idi Plus, mənfi, dəfə, 1110 00:53:57,410 --> 00:54:01,140 və inşallah sizin kimi, bölmək Bu Manevr zamanı gördük. 1111 00:54:01,140 --> 00:54:04,700 Belə ki, indi bu yenidən tərtib edək proqram, dot çizgi üzüb gedirdi yoxdur. 1112 00:54:04,700 --> 00:54:07,950 >> Və üçüncü dəfə, edək mənim gözləntiləri cavab oldu. 1113 00:54:07,950 --> 00:54:21,480 1, 10, 1000, OK, bəli, daxil, 10.000 bölünür, 0,100000 edir. 1114 00:54:21,480 --> 00:54:24,952 Və biz nəzarət edə bilərsiniz çıxır neçə nömrələri həmin decimal bal sonra. 1115 00:54:24,952 --> 00:54:25,660 Biz, həqiqətən, olacaq. 1116 00:54:25,660 --> 00:54:26,790 Biz geri gəlmək lazımdır. 1117 00:54:26,790 --> 00:54:28,440 >> Amma indi, əslində, riyaziyyat doğrudur. 1118 00:54:28,440 --> 00:54:30,090 Belə ki, daha, paket burada nə var? 1119 00:54:30,090 --> 00:54:33,050 Bu C var çıxır ki, Biz yalnız əslində strings-- və 1120 00:54:33,050 --> 00:54:36,120 Həqiqətən yoxdur, çünki biz CS50 kitabxana olanlar əlavə edin. 1121 00:54:36,120 --> 00:54:37,710 Amma yalnız ints yoxdur. 1122 00:54:37,710 --> 00:54:38,990 >> də üzüb gedirdi var. 1123 00:54:38,990 --> 00:54:42,810 Və digər məlumatlar bir dəstə çıxır növləri də biz uzun əvvəl istifadə edəcəyik ki. 1124 00:54:42,810 --> 00:54:46,270 Bir istəyirsinizsə çıxır simvol xarakteri deyil, simli, 1125 00:54:46,270 --> 00:54:47,610 Yalnız bir char istifadə edə bilərsiniz. 1126 00:54:47,610 --> 00:54:52,350 >> Bir bool istəyirsinizsə çıxır ki, yalnız doğru və ya yalan bir Boolean dəyəri, 1127 00:54:52,350 --> 00:54:56,840 CS50 kitabxana sayəsində, biz sizin eləcə də C bool data növü əlavə edib. 1128 00:54:56,840 --> 00:54:59,180 Lakin bu da təqdim edir bir çox digər dillərdə həmçinin. 1129 00:54:59,180 --> 00:55:04,130 Və bəzən sizə çıxır sonra default gəlmək böyük nömrələri lazımdır 1130 00:55:04,130 --> 00:55:05,210 ints və üzüb gedirdi ilə. 1131 00:55:05,210 --> 00:55:10,590 >> Və əslində, ikiqat bir sıra ki 32 bit, lakin 64 bit istifadə edir. 1132 00:55:10,590 --> 00:55:14,990 Və uzun uzun bir sıra ki, Deyil, 32 bit lakin 64 bit istifadə edir 1133 00:55:14,990 --> 00:55:19,190 müvafiq olaraq, üzən point müvafiq dəyərlər və integers. 1134 00:55:19,190 --> 00:55:22,780 Belə ki, indi həqiqətən edək fəaliyyət görürük. 1135 00:55:22,780 --> 00:55:26,150 >> Mən burada irəli getmək üçün gedirəm və başqa bir proqram qızışdırmaq. 1136 00:55:26,150 --> 00:55:32,020 Burada mən irəli getmək üçün gedirəm və cs50.h. daxildir yoxdur 1137 00:55:32,020 --> 00:55:34,910 Və mənə gedək, daxildir Standart io.h. 1138 00:55:34,910 --> 00:55:37,320 >> Və bir şey görəcəksiniz funky burada baş verir. 1139 00:55:37,320 --> 00:55:40,592 Bu şeyi kodlaşdırma rəng deyil əvvəl olduğu kimi eyni şəkildə. 1140 00:55:40,592 --> 00:55:43,550 Və bu mən var, çıxır şey bir fayl adı verilmiş deyil. 1141 00:55:43,550 --> 00:55:47,270 >> Mən bu bir zəng etmək üçün gedirəm sizeof.c və Saxla edib. 1142 00:55:47,270 --> 00:55:51,039 Və mənim çox nə görürsünüz qara fonunda ağ kodu. 1143 00:55:51,039 --> 00:55:52,830 İndi ən azı var bəzi orada bənövşəyi. 1144 00:55:52,830 --> 00:55:54,490 Bu syntax vurgulanır. 1145 00:55:54,490 --> 00:55:57,700 >> , Sadəcə, mən var ki, var fayl növü IDE bildirib 1146 00:55:57,700 --> 00:56:01,060 Bu bir ad verərək və xüsusi bir fayl uzantısı. 1147 00:56:01,060 --> 00:56:03,620 İndi irəli getmək və bunu bildirin. 1148 00:56:03,620 --> 00:56:08,910 Mən irəli və çox getmək üçün gedirəm sadəcə aşağıdakı kimidir bool çap 1149 00:56:08,910 --> 00:56:11,080 faiz LU edir. 1150 00:56:11,080 --> 00:56:12,950 >> Biz geri gəlmək lazımdır yalnız bir anda ki. 1151 00:56:12,950 --> 00:56:15,840 Və sonra mən gedirəm bool çap ölçüsü. 1152 00:56:15,840 --> 00:56:18,170 İndi, yalnız saxlamaq üçün özüm bir müddət, mən 1153 00:56:18,170 --> 00:56:20,280 bir bütün edəcəyimiz bir dəfə bu dəstə. 1154 00:56:20,280 --> 00:56:24,620 Və xüsusilə, mən gedirəm bir char və char bu dəyişir. 1155 00:56:24,620 --> 00:56:27,760 Bu, mən dəyişdirmək üçün gedirəm ikiqat və ikiqat. 1156 00:56:27,760 --> 00:56:31,440 >> Bu, mən dəyişdirmək üçün gedirəm bir float və bir float. 1157 00:56:31,440 --> 00:56:35,670 Bu, mən gedirəm bir int və bir int dəyişdirmək. 1158 00:56:35,670 --> 00:56:38,660 Və bu, mən gedirəm uzun uzun dəyişdirmək üçün. 1159 00:56:38,660 --> 00:56:40,840 Və hələ də alaraq Uzun müddət, uzun uzun. 1160 00:56:40,840 --> 00:56:44,572 >> Və sonra, nəhayət, verdim özümü bir çox, simli. 1161 00:56:44,572 --> 00:56:47,030 Bu C var çıxır ki, adlı xüsusi operator 1162 00:56:47,030 --> 00:56:50,260 ki, ölçüsü sözün var Zaman çalıştırmak üçün gedir, 1163 00:56:50,260 --> 00:56:52,099 bizə ölçüsü demək bu dəyişənlərin hər. 1164 00:56:52,099 --> 00:56:53,890 Bu, indi bir yoldur Biz geri qoşula bilər 1165 00:56:53,890 --> 00:56:57,140 Keçən həftə müzakirə məlumat və nümayəndəliyinin. 1166 00:56:57,140 --> 00:57:00,330 >> Mənə davam və tərtib edək dot çizgi ölçüsü ölçüsü. 1167 00:57:00,330 --> 00:57:01,210 Və nin görək. 1168 00:57:01,210 --> 00:57:05,210 Bu C çıxır ki, xüsusi CS50 IDE haqqında, 1169 00:57:05,210 --> 00:57:08,170 xüsusi on əməliyyat sistemi Ubuntu, 1170 00:57:08,170 --> 00:57:11,100 64-bit əməliyyat olan bu halda sistem, 1171 00:57:11,100 --> 00:57:14,189 bir bool gedir yer bir byte istifadə edin. 1172 00:57:14,189 --> 00:57:16,480 Ölçüsü ölçülür necə, Biz bit, lakin bayt. 1173 00:57:16,480 --> 00:57:18,690 Və bir byte səkkiz bit olduğunu xatırlayıram. 1174 00:57:18,690 --> 00:57:22,030 Belə ki, bir bool, hətta baxmayaraq texniki lazımdır bir 0 və ya 1, 1175 00:57:22,030 --> 00:57:24,092 bir az israfçı var necə biz bunu həyata etdik. 1176 00:57:24,092 --> 00:57:26,800 Bu, həqiqətən bir bütün istifadə etmək olacaq byte-- bütün adet sıfır, bəlkə var 1177 00:57:26,800 --> 00:57:31,050 kimi bütün olanları, və ya bir şey, və ya yalnız bir 1 səkkiz bit arasında. 1178 00:57:31,050 --> 00:57:34,962 >> A char, eyni zamanda, bir xarakter üçün istifadə son həftədə bir Ascii xarakter kimi, 1179 00:57:34,962 --> 00:57:36,170 bir xarakter olacaq. 1180 00:57:36,170 --> 00:57:42,340 Və bizim anlayışı ilə synchs Bu, daha çox 256 bits-- olan 1181 00:57:42,340 --> 00:57:45,360 Bu, heç bir olan synchs up artıq 8 bit olan 1182 00:57:45,360 --> 00:57:47,450 Bizə bir çox 256 kimi dəyərlər verir. 1183 00:57:47,450 --> 00:57:49,680 A ikiqat gedir 8 bayt və ya 64 bit ola bilər. 1184 00:57:49,680 --> 00:57:50,510 >> A float 4. 1185 00:57:50,510 --> 00:57:51,690 Bir int 4. 1186 00:57:51,690 --> 00:57:52,980 A uzun, uzun 8. 1187 00:57:52,980 --> 00:57:54,716 Və simli 8. 1188 00:57:54,716 --> 00:57:55,840 Amma bu barədə narahat olmayın. 1189 00:57:55,840 --> 00:57:57,340 Biz bu qat geri soymaq olacaq. 1190 00:57:57,340 --> 00:57:59,940 Bu strings bilərsiniz çıxır 8 bayt artıq ola bilər. 1191 00:57:59,940 --> 00:58:02,310 >> Və həqiqətən, biz yazdıq artıq strings, salam dünya, 1192 00:58:02,310 --> 00:58:03,700 8 bayt artıq. 1193 00:58:03,700 --> 00:58:06,270 Amma biz geri gəlmək lazımdır yalnız bir anda ki. 1194 00:58:06,270 --> 00:58:09,690 Amma üz burada aşağıdakılardan edir. 1195 00:58:09,690 --> 00:58:15,320 >> Hər hansı bir kompüter yalnız məhdud var yaddaş və məkan məbləği. 1196 00:58:15,320 --> 00:58:17,860 Siz yalnız bir çox saxlaya bilərsiniz Mac və ya PC faylları. 1197 00:58:17,860 --> 00:58:23,030 Siz yalnız çox proqramlar bilərsiniz RAM hətta mütləq bir dəfə çalışan 1198 00:58:23,030 --> 00:58:26,360 virtual yaddaş, çünki Siz RAM məhdud miqdarı var. 1199 00:58:26,360 --> 00:58:28,990 >> Və yalnız əgər picture-- üçün Bir laptop açıldı heç etdik 1200 00:58:28,990 --> 00:58:31,300 və ya əlavə yaddaş sifariş bir kompüter üçün, 1201 00:58:31,300 --> 00:58:33,670 ki, bilmirəm bilər Sizin kompüter daxilində 1202 00:58:33,670 --> 00:58:36,590 görünür ki, bir şey bu kimi bir az. 1203 00:58:36,590 --> 00:58:40,540 Belə ki, bu adlı yalnız ümumi şirkət Mühüm ki kompüterlər üçün RAM edir. 1204 00:58:40,540 --> 00:58:43,620 Və RAM burada proqramları onlar çalışan etdiyiniz zaman yaşayır. 1205 00:58:43,620 --> 00:58:46,630 >> Belə ki, iki dəfə hər Mac və ya PC-də bir proqram basın və açılır, 1206 00:58:46,630 --> 00:58:48,921 və bəzi Word sənəd açır və ya kimi bir şey, 1207 00:58:48,921 --> 00:58:51,764 müvəqqəti olaraq onu mağazalar RAM, RAM sürətli, çünki 1208 00:58:51,764 --> 00:58:53,680 sabit disk daha, və ya Sizin bərk dövlət disk. 1209 00:58:53,680 --> 00:58:56,600 proqramları getmək harada Belə ki, yalnız var onlar çalışan etdiyiniz zaman yaşamaq, 1210 00:58:56,600 --> 00:58:58,060 və ya faylları istifadə olunur zaman. 1211 00:58:58,060 --> 00:59:00,890 >> Belə ki, baxmaq şeylər Sizin laptop bu daxilində kimi, 1212 00:59:00,890 --> 00:59:03,320 və ya az daha böyük şeylər masa üstü daxilində. 1213 00:59:03,320 --> 00:59:07,440 Amma əsas yalnız bir var ki, bunlar məhdud sayı. 1214 00:59:07,440 --> 00:59:11,230 Və yalnız bir məhdud məbləği var hardware bu masası üzərində oturan sağ 1215 00:59:11,230 --> 00:59:11,730 burada. 1216 00:59:11,730 --> 00:59:15,920 >> Belə ki, şübhəsiz ki, biz saxlamaq olmaz sonsuz uzun nömrələri. 1217 00:59:15,920 --> 00:59:19,030 Və hələ, siz geri düşünüyorsanız grade məktəb, neçə rəqəm bilər 1218 00:59:19,030 --> 00:59:21,400 Siz sağ var bir bu kəsir? 1219 00:59:21,400 --> 00:59:24,680 ki, məsələ üçün, neçə rəqəm bilər Bir bu kəsir sol var? 1220 00:59:24,680 --> 00:59:26,300 Həqiqətən, sonsuz bir çox. 1221 00:59:26,300 --> 00:59:30,840 >> İndi biz insanlar yalnız bilər milyon tələffüz necə, 1222 00:59:30,840 --> 00:59:34,990 və milyard trilyon, və katrilyon və quintillion. 1223 00:59:34,990 --> 00:59:39,370 Mən sərhədlərini məcbur edirəm mənim understanding-- ya my-- mən başa 1224 00:59:39,370 --> 00:59:41,110 nömrələri, lakin mənim nömrələri tələffüz. 1225 00:59:41,110 --> 00:59:44,720 Lakin onlar ilə sonsuz böyük əldə edə bilərsiniz sol sonsuz bir çox rəqəm 1226 00:59:44,720 --> 00:59:47,050 və ya bu kəsir sağ üçün. 1227 00:59:47,050 --> 00:59:50,040 >> Amma kompüter yalnız bir var yaddaş məhdud məbləği 1228 00:59:50,040 --> 00:59:53,510 tranzistorlar məhdud sayı, bir daxili yüngül ampüller məhdud sayı. 1229 00:59:53,510 --> 00:59:57,350 Belə ki, nə olur Əgər yer tökülmək? 1230 00:59:57,350 --> 00:59:59,620 Başqa sözlə, əgər geri keçən həftə düşünmək 1231 00:59:59,620 --> 01:00:03,160 biz nömrələri haqqında söhbət zaman özləri ikili təmsil olunur 1232 01:00:03,160 --> 01:00:05,480 biz var Güman Burada bu 8-bit dəyər. 1233 01:00:05,480 --> 01:00:08,290 >> Və biz yeddi 1 və bir 0 var. 1234 01:00:08,290 --> 01:00:10,827 Və biz istəyirik ki, güman Bu dəyər 1 əlavə edin. 1235 01:00:10,827 --> 01:00:12,410 Bu indi, həqiqətən, böyük rəqəmdir. 1236 01:00:12,410 --> 01:00:16,610 >> Mən xatırlayıram, bu, 254 deyil Keçən həftə sağ riyaziyyat. 1237 01:00:16,610 --> 01:00:19,480 Amma nə dəyişdirmək əgər rightmost 0 1 ki? 1238 01:00:19,480 --> 01:00:22,800 tam ədəd olan Əlbəttə ki, səkkiz 1-in olur. 1239 01:00:22,800 --> 01:00:24,050 Belə ki, biz hələ yaxşı deyilik. 1240 01:00:24,050 --> 01:00:27,204 >> Və yəqin ki, təmsil 255, baxmayaraq məzmunundan asılı olaraq 1241 01:00:27,204 --> 01:00:29,120 Bu, həqiqətən təmsil edə bilər mənfi nömrəsi. 1242 01:00:29,120 --> 01:00:31,240 Amma başqa bir zaman daha çox. 1243 01:00:31,240 --> 01:00:34,220 bu barədə kimi bu hiss Mən arxalana bilər kimi yüksək. 1244 01:00:34,220 --> 01:00:35,290 >> İndi, yalnız 8 bit var. 1245 01:00:35,290 --> 01:00:38,170 Və mənim Mac, şübhəsiz ki, yolu var yaddaş artıq 8 bit. 1246 01:00:38,170 --> 01:00:39,170 Amma məhdud yoxdur. 1247 01:00:39,170 --> 01:00:43,230 Belə ki, eyni arqument belə, tətbiq biz ekranda bu olanları daha çox var. 1248 01:00:43,230 --> 01:00:47,020 >> Amma nə edirsinizsə olur bu sayı 255 saxlanılması, 1249 01:00:47,020 --> 01:00:49,290 və 1 bit yüksək saymaq istəyirsiniz? 1250 01:00:49,290 --> 01:00:51,600 Siz 255-dən 256 getmək istəyirəm. 1251 01:00:51,600 --> 01:00:55,800 problem, əlbəttə, ki, əgər Keçən həftə kimi sıfır hesablanması başlamaq, 1252 01:00:55,800 --> 01:00:59,670 Siz kimi yüksək saymaq bilməz 256 kimi, tək 257 ili 1253 01:00:59,670 --> 01:01:02,584 Tək 258 ili m nə çünki Bir 1 əlavə ne olur? 1254 01:01:02,584 --> 01:01:05,000 Siz köhnə grade məktəb varsa yanaşma, siz burada bir 1 qoymaq 1255 01:01:05,000 --> 01:01:08,150 və sonra 1 plus 1 2, lakin ki həqiqətən sıfır, 1 aparmaq, 1256 01:01:08,150 --> 01:01:09,695 1 aparmaq 1 daşıyır. 1257 01:01:09,695 --> 01:01:12,620 Bunlar hamısı, Bu 1-in sıfıra gedin. 1258 01:01:12,620 --> 01:01:17,820 Və kimsə kimi, bəli, qurmaq sol tərəfində, 1 diqqət çəkdi. 1259 01:01:17,820 --> 01:01:22,540 Amma hər şey edə bilərsiniz həqiqətən görmək və yaddaş uyğun 1260 01:01:22,540 --> 01:01:27,960 demək yalnız səkkiz 0 nin edir bir anda əgər, kompüter, 1261 01:01:27,960 --> 01:01:32,490 kifayət qədər yüksək hesablanması cəhd, sen ətrafında kesmek gedir ki, görünür 1262 01:01:32,490 --> 01:01:35,850 bəlkə sıfır, hətta mənfi sıfır daha aşağı nömrələri. 1263 01:01:35,850 --> 01:01:37,260 >> Və biz növ bu edə bilərsiniz. 1264 01:01:37,260 --> 01:01:39,900 Mənə davam və yazmaq edək burada real sürətli proqram. 1265 01:01:39,900 --> 01:01:43,690 Mənə davam və yazmaq edək Overflow adlı proqram. 1266 01:01:43,690 --> 01:01:49,980 daxildir, cs50.h daxildir standart IO.h-- oh, 1267 01:01:49,980 --> 01:01:51,730 Mən, həqiqətən, mənim sintaksis işıqlandırılması qaçırdı. 1268 01:01:51,730 --> 01:01:54,440 Belə ki, overflow.c bu xilas edək. 1269 01:01:54,440 --> 01:01:57,084 >> İndi int əsas void-- və uzun əvvəl alacağıq 1270 01:01:57,084 --> 01:01:59,500 niyə izah qayıtmaq biz int əsas etibarsız yazılı saxlamaq. 1271 01:01:59,500 --> 01:02:02,080 Amma indi üçün, yalnız nə edək verilən bu alaraq. 1272 01:02:02,080 --> 01:02:06,200 nin özümü bir int verim, və 0 onu başlamaq. 1273 01:02:06,200 --> 01:02:11,716 >> ardından int edək i sıfır almaq həqiqətən, bu sonsuz loop edək 1274 01:02:11,716 --> 01:02:12,590 və nə görmək. 1275 01:02:12,590 --> 01:02:22,440 doğru olsa da, sonra n çap imkan faiz i, backslash n, plug-in n. 1276 01:02:22,440 --> 01:02:27,200 Amma indi, bu n n plus 1 olur nə edək. 1277 01:02:27,200 --> 01:02:29,660 >> başqa sözlə, hər So Bu sonsuz loop iteration, 1278 01:02:29,660 --> 01:02:32,550 nin N dəyəri götürək, və sonra 1 əlavə və 1279 01:02:32,550 --> 01:02:34,350 sol geri n nəticə saxlamayın. 1280 01:02:34,350 --> 01:02:37,150 Və əslində, biz sintaksis gördüm qədər bu kimi qısa. 1281 01:02:37,150 --> 01:02:39,730 A cool oyun əvəzinə bütün bu yazı, 1282 01:02:39,730 --> 01:02:42,770 Siz, həqiqətən, bir n plus 1 bərabərdir demək olar. 1283 01:02:42,770 --> 01:02:47,480 >> Yoxsa həqiqətən fantezi olmaq istəyirsinizsə, Siz n plus plus yarı kolon demək olar. 1284 01:02:47,480 --> 01:02:50,130 Lakin bu sonuncu iki yalnız var biz sintaktik şəkər zəng istədiyiniz nə 1285 01:02:50,130 --> 01:02:50,790 ilk şey üçün. 1286 01:02:50,790 --> 01:02:53,456 >> ilk şey, daha aydın edir tamamilə gözəl, tamamilə doğru. 1287 01:02:53,456 --> 01:02:55,470 Amma bu daha çox, mən demək lazımdır. 1288 01:02:55,470 --> 01:02:57,210 Beləliklə, biz yalnız bir an üçün bu edəcəyik. 1289 01:02:57,210 --> 01:03:01,685 >> səsləri indi edək daşqın, daha uğursuz, dot çizgi daşqın. 1290 01:03:01,685 --> 01:03:04,380 1291 01:03:04,380 --> 01:03:09,852 nin n olduqca böyük əldə, görmək edək. 1292 01:03:09,852 --> 01:03:11,310 Amma hesab edirəm ki, qoy, n necə böyük əldə edə bilərsiniz? 1293 01:03:11,310 --> 01:03:12,870 >> n bir int edir. 1294 01:03:12,870 --> 01:03:16,400 Biz ölçüsü ilə bir an əvvəl gördüm misal bir int dörd bytes edir. 1295 01:03:16,400 --> 01:03:22,070 Biz ötən həftə bilirik, dörd bytes edir 32 bit, çünki 8 dəfə 4 32 var. 1296 01:03:22,070 --> 01:03:23,460 4 milyard olacaq. 1297 01:03:23,460 --> 01:03:25,802 >> Və biz 800.000 qədər. 1298 01:03:25,802 --> 01:03:28,510 Bu, əbədi etmək niyyətindədir Mən bəlkə kimi yüksək saymaq. 1299 01:03:28,510 --> 01:03:30,635 Mən irəli getmək üçün gedirəm kimi, uzun əvvəl bilər 1300 01:03:30,635 --> 01:03:34,910 və səmimi nəzarət Control ace edib C, bir çox harada Control C ümumiyyətlə 1301 01:03:34,910 --> 01:03:36,034 deməkdir ləğv. 1302 01:03:36,034 --> 01:03:38,200 Təəssüf ki, bu, çünki bulud çalışan, 1303 01:03:38,200 --> 01:03:41,190 bəzən bulud qədər stuff həyata spitting, 1304 01:03:41,190 --> 01:03:44,180 qədər çıxdı, bu olacaq Mənim giriş üçün bir az müddət 1305 01:03:44,180 --> 01:03:45,630 bulud almaq üçün. 1306 01:03:45,630 --> 01:03:49,240 Mən hit olsa da Bir neçə saniyə əvvəl Control C, 1307 01:03:49,240 --> 01:03:53,110 bu mütləq tərəfi sonsuz loop təsiri. 1308 01:03:53,110 --> 01:03:56,070 >> Və belə hallarda, biz istəyirik ola tərk. 1309 01:03:56,070 --> 01:03:59,050 Və biz bir əlavə olacaq burada terminal pəncərə 1310 01:03:59,050 --> 01:04:03,186 Əlbəttə deyil plus ilə kimi, hələ də düşünür etibarən. 1311 01:04:03,186 --> 01:04:05,310 Və irəli getmək və olsun bir az daha məqbul. 1312 01:04:05,310 --> 01:04:07,768 >> Mən irəli getmək və bunu gedirəm Bu yalnız finitely dəfələrlə. 1313 01:04:07,768 --> 01:04:10,047 Nin loop üçün istifadə edək Mən əvvəllər alluded. 1314 01:04:10,047 --> 01:04:10,630 Gəl bunu edək. 1315 01:04:10,630 --> 01:04:13,430 mənə 0 olur bir dəyişən int verin. 1316 01:04:13,430 --> 01:04:17,430 i, bu, i ++ 64 deyək azdır. 1317 01:04:17,430 --> 01:04:24,010 İndi mənə irəli və çap gedək n faiz i həyata n vergül. 1318 01:04:24,010 --> 01:04:27,547 Və bu hələ sonra n-- əbədi etmək niyyətindədir. 1319 01:04:27,547 --> 01:04:28,130 Gəl bunu edək. 1320 01:04:28,130 --> 01:04:30,620 >> n olur n dəfə 2. 1321 01:04:30,620 --> 01:04:34,140 Yoxsa biz xülya ola bilər dəfə 2 bərabərdir yoxdur. 1322 01:04:34,140 --> 01:04:37,120 Amma yalnız n deyək dəfə 2, özü bərabərdir. 1323 01:04:37,120 --> 01:04:39,321 Başqa sözlə, bu Proqramın yeni versiyası 1324 01:04:39,321 --> 01:04:41,820 Mən əbədi gözləyin istəmirəm kimi 800,000 4 milyard olan. 1325 01:04:41,820 --> 01:04:43,070 Yalnız bu aşmaq edək. 1326 01:04:43,070 --> 01:04:44,920 >> həqiqətən n hər dəfə ikiqat edək. 1327 01:04:44,920 --> 01:04:47,660 Hansı, geri, iki qatına çıxarır əlbəttə, olan əks. 1328 01:04:47,660 --> 01:04:50,035 Və son həftə isə biz bir şey yenidən və yenidən, 1329 01:04:50,035 --> 01:04:52,200 və yenə super sürətli, misli mütləq olacaq 1330 01:04:52,200 --> 01:04:58,080 ən böyük mümkün 1 bizi almaq biz bir int ilə saymaq olar dəyəri. 1331 01:04:58,080 --> 01:04:59,750 >> Belə ki, məhz bu nə edək. 1332 01:04:59,750 --> 01:05:01,720 Biz uzun əvvəl geri bu gəlmək lazımdır. 1333 01:05:01,720 --> 01:05:04,180 Amma bu, yenə yalnız kimi Not təkrar blok. 1334 01:05:04,180 --> 01:05:05,600 Və uzun əvvəl bu istifadə edəcəyik. 1335 01:05:05,600 --> 01:05:10,170 >> Bu yalnız sıfırdan sayı deməkdir 64, lakin bərabər qədər. 1336 01:05:10,170 --> 01:05:14,285 Bu hər iteration loop, yalnız i incrementing saxlamaq. 1337 01:05:14,285 --> 01:05:18,990 Belə ki, i ++ - və bu ümumi tikinti line 7 yalnız bir super ümumi bir yoldur 1338 01:05:18,990 --> 01:05:22,290 of bəzi xətləri təkrar Kodu dəfə bəzi nömrəsi. 1339 01:05:22,290 --> 01:05:23,362 Hansı kodu xətləri? 1340 01:05:23,362 --> 01:05:25,570 Bu qıvrım aşırma, sizin kimi İndi gleaned ola bilər, 1341 01:05:25,570 --> 01:05:26,780 , Aşağıdakı etmək deməkdir. 1342 01:05:26,780 --> 01:05:29,510 >> Bu kimi Not var zaman sarı blokları var 1343 01:05:29,510 --> 01:05:32,680 və digər rənglər bu cür əhatə və ya digər bloklar tebrik. 1344 01:05:32,680 --> 01:05:34,750 Bu nə o buruq var aşırma burada edirik. 1345 01:05:34,750 --> 01:05:40,200 Beləliklə, mən sintaksis var, əgər right-- sizə C vasitələri kök simvolu görə bilərsiniz 1346 01:05:40,200 --> 01:05:42,706 ki, mən neçə dəfə var bu problemi həll etməyə çalışırıq. 1347 01:05:42,706 --> 01:05:45,330 Belə ki, bir xilas edək tamamilə ki, pəncərə bağlayın. 1348 01:05:45,330 --> 01:05:46,520 Və biz yeni bir istifadə edəcəyik. 1349 01:05:46,520 --> 01:05:51,980 daşqın, dot çizgi olun daşqın daxil edin, bütün sağ, 1350 01:05:51,980 --> 01:05:53,090 Bu ilk pis görünür. 1351 01:05:53,090 --> 01:05:56,200 Amma vaxt geri hərəkət edək, Bu 64 dəfə, çünki. 1352 01:05:56,200 --> 01:05:58,700 >> Və ilk dəfə qeyd n 1. 1353 01:05:58,700 --> 01:06:03,110 İkinci dəfə, n, 2 sonra 4, sonra 8, sonra 16. 1354 01:06:03,110 --> 01:06:09,450 Və bu qısa müddətdə ki, görünür Mən təxminən 1 milyard almaq 1355 01:06:09,450 --> 01:06:12,800 Mən yenidən ikiqat ki, əgər Mənə 2 milyard verməlidir. 1356 01:06:12,800 --> 01:06:14,980 Amma bu, çıxır zirve hüququ. 1357 01:06:14,980 --> 01:06:18,930 >> Və belə ki, həqiqətən daşqınlar 1 milyard bir int 1358 01:06:18,930 --> 01:06:23,514 2 təxminən mənfi milyard, bir tam çünki, 1359 01:06:23,514 --> 01:06:25,430 nömrələri biz fərqli Keçən həftə fərz edilmişdir, 1360 01:06:25,430 --> 01:06:28,397 müsbət və mənfi də ola bilər əslində bir kompüter. 1361 01:06:28,397 --> 01:06:30,730 Və bu belə ən azı bir bit səmərəli oğurlanması. 1362 01:06:30,730 --> 01:06:34,190 Belə ki, biz, həqiqətən, yalnız 31 bit var və ya 2 milyard mümkün dəyərlər. 1363 01:06:34,190 --> 01:06:38,220 >> Amma indi, paket olduqca sadəcə, nə bu nömrələri 1364 01:06:38,220 --> 01:06:42,280 və riyaziyyat, nə pis bir şey, nəticədə baş 1365 01:06:42,280 --> 01:06:46,980 nəticədə üçün çalışırıq, çünki bit bir çox dəfə permute. 1366 01:06:46,980 --> 01:06:51,060 Və səmərəli bütün getmək 1-in bəlkə bütün 0, və ya bəlkə 1367 01:06:51,060 --> 01:06:54,260 yalnız bəzi digər model bu ki, aydın, kontekstdən asılı olaraq, 1368 01:06:54,260 --> 01:06:56,342 mənfi sıra kimi təfsir edilə bilər. 1369 01:06:56,342 --> 01:06:59,300 Və belə ki, ən yüksək I görünür bu proqramda arxalana bilər 1370 01:06:59,300 --> 01:07:01,210 yalnız təxminən 1 mlrd. 1371 01:07:01,210 --> 01:07:02,760 Amma burada qismən həll var. 1372 01:07:02,760 --> 01:07:03,480 Siz nə bilirik? 1373 01:07:03,480 --> 01:07:07,600 >> Mənə bir dəyişməyə edək uzun uzun int. 1374 01:07:07,600 --> 01:07:10,633 Və mənə burada irəli gedək Mən gedirəm demək 1375 01:07:10,633 --> 01:07:12,290 bir imzasız uzun bu dəyişdirmək üçün. 1376 01:07:12,290 --> 01:07:16,860 Və ya, özümü xatırlayıram heç vaxt görək. 1377 01:07:16,860 --> 01:07:19,920 >> Nin irəli getmək və daşqın edək. 1378 01:07:19,920 --> 01:07:21,860 Xeyr, bu deyil, LLD təşəkkür edirəm. 1379 01:07:21,860 --> 01:07:23,430 Belə ki, bəzən cingilti faydalı ola bilər. 1380 01:07:23,430 --> 01:07:27,550 Mən nə format yadda etməyib belirteci uzun uzun idi. 1381 01:07:27,550 --> 01:07:28,950 >> Lakin, həqiqətən, cingilti mənə. 1382 01:07:28,950 --> 01:07:31,570 Green, yaxşı bir növ hələ bir səhvə yol deməkdir. 1383 01:07:31,570 --> 01:07:33,190 Mən LLD demək ki guessing edir. 1384 01:07:33,190 --> 01:07:38,750 >> Belə ki, mənə məsləhət almaq uzun edək uzun decimal sayı ki, edin. 1385 01:07:38,750 --> 01:07:43,190 Və nöqtə, mənə təkrar edək Daxil edin daşqın doğramaq. 1386 01:07:43,190 --> 01:07:45,020 İndi nə sərin var bu. 1387 01:07:45,020 --> 01:07:49,140 >> Mən vaxtında deyilsə, biz hələ başlayın eyni place-- hesablanması 1, 2, 4, 1388 01:07:49,140 --> 01:07:50,220 8, 16. 1389 01:07:50,220 --> 01:07:54,860 Notice, biz almaq bütün yol 1 milyard. 1390 01:07:54,860 --> 01:07:57,070 Amma sonra biz təhlükəsiz 2 milyard almaq. 1391 01:07:57,070 --> 01:08:01,300 >> Sonra 4 milyard almaq, sonra 8 milyard 17 milyard. 1392 01:08:01,300 --> 01:08:03,340 Və biz ali getmək və ali və ali. 1393 01:08:03,340 --> 01:08:05,740 Nəhayət, bu da pozur. 1394 01:08:05,740 --> 01:08:09,350 >> Nəhayət, uzun uzun, 64-bit dəyər deyil, olan 1395 01:08:09,350 --> 01:08:13,660 32-bit dəyəri, siz saymaq əgər çox yüksək, siz ətrafında 0 kesmek. 1396 01:08:13,660 --> 01:08:16,410 Və bu halda, biz baş mənfi sıra ilə başa. 1397 01:08:16,410 --> 01:08:17,550 >> Belə ki, bu bir problem deyil. 1398 01:08:17,550 --> 01:08:20,439 Və bu çıxır ki, problem bütün gizli deyil. 1399 01:08:20,439 --> 01:08:23,060 Mən qəsdən var olsa Bu səhvlər ilə bağlı, 1400 01:08:23,060 --> 01:08:26,149 biz bütün növ görmək çıxır bizə, və ya bizə ən azı bir ətrafında yoxdur. 1401 01:08:26,149 --> 01:08:28,939 >> Lego Star Wars, Belə ki Əgər oyun ifa etdiyiniz, 1402 01:08:28,939 --> 01:08:33,830 Əgər ətrafında getmək bilər çıxır LEGO dünyada şeyi qırılma, 1403 01:08:33,830 --> 01:08:36,640 və mahiyyətcə, sikkələr toplanması. 1404 01:08:36,640 --> 01:08:39,200 Və heç ifa etdiyiniz əgər Bu oyun yol çox vaxt, 1405 01:08:39,200 --> 01:08:42,630 bu adsız fərdi kimi Burada ümumi sayı etdi 1406 01:08:42,630 --> 01:08:46,700 Siz toplamaq bilər ki, pul Bu, 4 milyard görünür edir. 1407 01:08:46,700 --> 01:08:48,240 >> İndi ilə həqiqətən dairəvi var. 1408 01:08:48,240 --> 01:08:50,239 Belə ki, LEGO çalışır dostluq şeylər istifadəçi saxlamaq. 1409 01:08:50,239 --> 01:08:53,779 Onlar məhz 2 etmədim Keçən həftədə 32 güc. 1410 01:08:53,779 --> 01:08:55,310 Amma 4 milyard səbəb olur. 1411 01:08:55,310 --> 01:08:58,979 Bu məlumatlar əsasında, görünür, ki LEGO və şirkətin ki, 1412 01:08:58,979 --> 01:09:02,624 Bu faktiki proqram edilən qərar ki, pul maksimum sayı 1413 01:09:02,624 --> 01:09:04,540 istifadəçi toplamaq bilər deyil, həqiqətən, 4 milyard 1414 01:09:04,540 --> 01:09:12,069 Onların kodu seçdi yəqin, uzun uzun istifadə etmək, 1415 01:09:12,069 --> 01:09:16,140 lakin yalnız bir tam bir imzasız Onun tam, yalnız bir müsbət tam, 1416 01:09:16,140 --> 01:09:18,089 max dəyəri ki, təxminən edir. 1417 01:09:18,089 --> 01:09:19,380 Yaxşı, burada başqa funny biri. 1418 01:09:19,380 --> 01:09:23,500 Oyun Civilization Belə ki, hansı Siz bəzi tanış ola bilər, 1419 01:09:23,500 --> 01:09:26,660 Bu il orada çıxır ki, Bu oyun vasitəsi bir səhv idi 1420 01:09:26,660 --> 01:09:28,750 Siz rol oynamışdır əgər Oyun Qandi, 1421 01:09:28,750 --> 01:09:34,020 Onun yerinə, çox pasifist olan əvəzinə inanılmaz, inanılmaz idi 1422 01:09:34,020 --> 01:09:36,399 təcavüzkar, bəzi hallarda. 1423 01:09:36,399 --> 01:09:40,529 Xüsusilə, yolu Civilization işlər ki, əgər, player, 1424 01:09:40,529 --> 01:09:44,680 , Demokratiya qəbul sizin təcavüzkarlıq hesab olur 1425 01:09:44,680 --> 01:09:48,130 iki belə mənfi tərəfindən endirildiyi minus, sonra minus minus. 1426 01:09:48,130 --> 01:09:50,569 >> Belə ki, 2 çıxmaq faktiki iterating. 1427 01:09:50,569 --> 01:09:56,650 Təəssüf ki, sizin iterating əgər ilkin 1, siz 2 çıxmaq 1428 01:09:56,650 --> 01:09:59,050 demokratiya qəbul sonra Burada güc Qandi kimi 1429 01:09:59,050 --> 01:10:02,200 O, çox passive-- idi, çünki, görmüşük təcavüzkarlıq miqyasında 1. 1430 01:10:02,200 --> 01:10:04,830 Lakin o, demokratiyanı qəbul əgər o 1-dən mənfi 1 gedir. 1431 01:10:04,830 --> 01:10:11,470 >> Təəssüf ki, onlar imzasız nömrələri istifadə edərək, 1432 01:10:11,470 --> 01:10:15,400 deməkdir hətta mənfi müalicə sanki nömrələri onlar müsbət idi. 1433 01:10:15,400 --> 01:10:19,780 Və bu çıxır ki, 1 Mənfi müsbət ekvivalent, 1434 01:10:19,780 --> 01:10:23,480 tipik kompüter proqramları, 255 edir. 1435 01:10:23,480 --> 01:10:27,250 Gandhi qəbul Belə ki, əgər demokratiya və buna görə də var 1436 01:10:27,250 --> 01:10:32,470 onun təcavüzkarlıq hesab azalıb, Bu, həqiqətən 255 ətrafında rulonlarda 1437 01:10:32,470 --> 01:10:35,470 və onu ən edir Oyun aqressiv xarakter. 1438 01:10:35,470 --> 01:10:36,930 Belə ki, bu qədər Google bilər. 1439 01:10:36,930 --> 01:10:39,380 Və bu, həqiqətən, oldu təsadüfi proqramlaşdırma bug, 1440 01:10:39,380 --> 01:10:43,010 lakin kifayət qədər daxil oldu beri irfan. 1441 01:10:43,010 --> 01:10:44,360 >> Bütün fun və cute edir. 1442 01:10:44,360 --> 01:10:47,760 Daha qorxulu zaman aktualdır real dünya cihazlar, və oyunlar, 1443 01:10:47,760 --> 01:10:48,820 bu eyni hatalar var. 1444 01:10:48,820 --> 01:10:54,500 Əslində, yalnız bir il əvvəl bir maddə çıxdı Boeing 787 Dreamliner haqqında. 1445 01:10:54,500 --> 01:10:56,850 >> Və ilk məqalə nəzər bir az gizli deyilir. 1446 01:10:56,850 --> 01:11:01,480 Amma belə bu, bir proqram Boeing-nin açığı 1447 01:11:01,480 --> 01:11:04,790 yeni 787 Dreamliner təyyarəsi var potensial pilot səbəb 1448 01:11:04,790 --> 01:11:07,220 nəzarət itirmək təyyarə, bəlkə 1449 01:11:07,220 --> 01:11:11,750 Mid-uçuş, FAA rəsmiləri Bu yaxınlarda xəbərdarlıq Aviaşirkətlər. 1450 01:11:11,750 --> 01:11:14,520 Bu müəyyən oldu ki, model 787 1451 01:11:14,520 --> 01:11:19,770 powered edilmişdir təyyarə davamlı üçün 248 gün 1452 01:11:19,770 --> 01:11:24,880 bütün alternativ cari itirə bilər, AC, generator səbəbiylə elektrik 1453 01:11:24,880 --> 01:11:28,892 nəzarət ədəd, GCUs, eyni zamanda gedən təhlükəsiz rejimi bilmir. 1454 01:11:28,892 --> 01:11:29,850 Mənə itirmək növü var. 1455 01:11:29,850 --> 01:11:35,390 Amma memo OK, indi ki var, ifadə, vəziyyəti bir proqram səbəb oldu 1456 01:11:35,390 --> 01:11:38,590 daxili qarşı generator nəzarət 1457 01:11:38,590 --> 01:11:44,860 sonra daşqın edəcək bölmələri davamlı güc 248 gün. 1458 01:11:44,860 --> 01:11:47,070 Biz bu verilməsi itkisinin qarşısını almaq üçün qeyd 1459 01:11:47,070 --> 01:11:49,300 bütün AC elektrik nəticələnə bilər enerji, 1460 01:11:49,300 --> 01:11:50,980 təyyarə nəzarət zərər. 1461 01:11:50,980 --> 01:11:55,380 >> Belə ki, sanki, bir tam var, və ya ekvivalent data type, 1462 01:11:55,380 --> 01:11:57,960 proqram istifadə olunur faktiki təyyarə 1463 01:11:57,960 --> 01:12:00,756 Siz təyyarə saxlamaq ki, əgər hansı yəqin, kifayət qədər uzun 1464 01:12:00,756 --> 01:12:03,880 Yalnız yayınlıyorsanız halda ola bilər Onlara daim və heç unplugging 1465 01:12:03,880 --> 01:12:06,810 Sizin təyyarə, görünür, və ya Onun batareyaları ölmək imkan 1466 01:12:06,810 --> 01:12:09,840 nəhayət qədər saymaq, və, və, və, və, və. 1467 01:12:09,840 --> 01:12:12,150 >> Və təbiət, bir yaddaş məhdud məbləği 1468 01:12:12,150 --> 01:12:15,880 , Daşqın geri yayma olacaq sıfır və ya bir mənfi dəyər, 1469 01:12:15,880 --> 01:12:19,920 bir yan təsiri var frighteningly real reallıq 1470 01:12:19,920 --> 01:12:23,970 təyyarə lazım ola bilər ki, rebooted etmək, səmərəli, 1471 01:12:23,970 --> 01:12:27,290 və ya pis düşmək bilər, bu uçur kimi. 1472 01:12:27,290 --> 01:12:29,230 məsələlər Belə ki, bu cür bizə hələ də, 1473 01:12:29,230 --> 01:12:33,130 even-- bu, 2015 məqalə idi daha qorxulu 1474 01:12:33,130 --> 01:12:36,100 Siz mütləq nə zaman Anlamaq üçün təşəkkür edirik, və ya tahmin 1475 01:12:36,100 --> 01:12:38,640 səhvlərin bu cür. 1476 01:12:38,640 --> 01:12:42,030 >> Belə ki, digər bir var çıxır data təmsil haqqında pis bir şey. 1477 01:12:42,030 --> 01:12:47,080 Bu da üzüb gedirdi çıxır ki cür flawed, üzüb gedirdi, çünki çox, 1478 01:12:47,080 --> 01:12:51,440 Mən 32 bit var təklif, və ya bəlkə 64 Bir cüt istifadə edin. 1479 01:12:51,440 --> 01:12:53,070 Amma hələ məhdud deyil. 1480 01:12:53,070 --> 01:12:57,070 >> Və tutmaq əgər ki, nömrələri sonsuz sayda qoymaq 1481 01:12:57,070 --> 01:12:59,460 bu kəsir sonra, heç bir yol yoxdur 1482 01:12:59,460 --> 01:13:02,690 bütün mümkün təmsil edə bilər biz tədris edilmişdir nömrələri 1483 01:13:02,690 --> 01:13:04,990 sinifdə məktəb dünyada mövcud ola bilər. 1484 01:13:04,990 --> 01:13:08,870 Kompüter, mahiyyətcə, var bu ədəd alt seçin 1485 01:13:08,870 --> 01:13:10,200 dəqiq təmsil etmək. 1486 01:13:10,200 --> 01:13:12,450 >> İndi, kompüter bilərsiniz dəyirmi bəlkə bir az bit, 1487 01:13:12,450 --> 01:13:17,900 və təxminən mağaza imkan bilər Bəlkə istədiyiniz bilər hər hansı bir sayı. 1488 01:13:17,900 --> 01:13:20,940 Amma daxilən, əgər bit məhdud sayda var, 1489 01:13:20,940 --> 01:13:24,560 yalnız onlara permute bilər bir çox məhdud yollarla. 1490 01:13:24,560 --> 01:13:26,570 Belə ki, bəlkə bilməz məhdud sayda istifadə 1491 01:13:26,570 --> 01:13:29,880 bit permutation ki, adet sıfır və olanları nümunələri, 1492 01:13:29,880 --> 01:13:32,940 sonsuz təmsil etmək ədəd sayı, 1493 01:13:32,940 --> 01:13:37,370 hansı kompüter bilər ki, təklif çox yaxşı bəzən bizə yalan ola bilər. 1494 01:13:37,370 --> 01:13:38,770 >> Əslində, bunu edək. 1495 01:13:38,770 --> 01:13:41,239 Mənə CS50 IDE geri getmək edək. 1496 01:13:41,239 --> 01:13:43,030 Mənə davam edək bir az proqram yaratmaq 1497 01:13:43,030 --> 01:13:47,940 göstərir ki, qeyri-dəqiqlik deyilən kompüter, həqiqətən, qeyri-dəqiq olur. 1498 01:13:47,940 --> 01:13:51,910 >> Və mənə irəli getmək və ilə başlamaq edək əvvəl kod bəzi 1499 01:13:51,910 --> 01:13:53,830 və indi yalnız aşağıdakı. 1500 01:13:53,830 --> 01:14:03,640 Mənə davam və printf, faiz edək f, 10 bölünür backslash n, 1. 1501 01:14:03,640 --> 01:14:07,430 Başqa sözlə, bu dərin dalış imkan 1/10 kimi 1 və 10 bölünür üçün. 1502 01:14:07,430 --> 01:14:09,760 Həqiqətən, kompüter 1/10 təmsil edə bilər. 1503 01:14:09,760 --> 01:14:13,620 >> Belə ki, irəli getmək və qeyri-dəqiqlik edək. 1504 01:14:13,620 --> 01:14:14,390 Görək. 1505 01:14:14,390 --> 01:14:16,210 Format ikiqat növü müəyyən edir. 1506 01:14:16,210 --> 01:14:18,160 Amma dəlil növü int var. 1507 01:14:18,160 --> 01:14:19,040 Nə baş verir? 1508 01:14:19,040 --> 01:14:21,970 >> Oh, maraqlı, belə ki, bir var dərs əvvəl öyrəndim. 1509 01:14:21,970 --> 01:14:26,050 Mən hey, kompüter show, deyirəm Mənə faiz f bir float. 1510 01:14:26,050 --> 01:14:28,200 Amma bu 2 ints verirəm. 1511 01:14:28,200 --> 01:14:31,120 O çıxır ki, mən düzeltebilirsiniz yolları bir neçə bu. 1512 01:14:31,120 --> 01:14:38,430 >> Mən yalnız 1.0 daxil bir növbəsində bilər və 10.0 10 olan ki, həqiqətən, 1513 01:14:38,430 --> 01:14:42,390 konvertasiya təsiri var floats-- daxil onlara hələ ümid 1514 01:14:42,390 --> 01:14:43,180 Eyni nömrəsi. 1515 01:14:43,180 --> 01:14:45,880 bir şey var həyata Yoxsa çıxır Biz uzun əvvəl yenə görəcəksiniz. 1516 01:14:45,880 --> 01:14:47,170 Siz ədəd tökmə bilər. 1517 01:14:47,170 --> 01:14:49,880 >> Siz bu ara istifadə edə bilərsiniz ifadə, siz deyə bilərsiniz 1518 01:14:49,880 --> 01:14:52,560 hey, kompüter, bu almaq Mən bilirəm 10 bir int edir. 1519 01:14:52,560 --> 01:14:54,660 Lakin, xahiş edirik müalicə sanki bir float var. 1520 01:14:54,660 --> 01:14:56,680 Amma bu lazımsız kompleks hiss edir. 1521 01:14:56,680 --> 01:14:59,040 >> Bizim məqsədləri üçün, bu gün yalnız sözün edək 1522 01:14:59,040 --> 01:15:02,700 onlara üzən point dəyərləri etmək oxşar bu kəsir ilə. 1523 01:15:02,700 --> 01:15:07,060 Mənə davam edək və təkrar etmək qeyri-dəqiqlik, yaxşı, dot çizgi 1524 01:15:07,060 --> 01:15:08,870 qeyri-dəqiqlik, daxil edin. 1525 01:15:08,870 --> 01:15:10,990 OK, yaxşı baxırıq. 1526 01:15:10,990 --> 01:15:18,194 >> 1 məlumatına görə, 10 bölünür mənim Burada Mac, həqiqətən, 0.100000 edir. 1527 01:15:18,194 --> 01:15:21,360 İndi orada grade məktəb oxuduldu 0 nin sonsuz sayda olmalıdır. 1528 01:15:21,360 --> 01:15:23,151 Belə ki, ən azı cəhd edək o bəzi görmək. 1529 01:15:23,151 --> 01:15:26,770 Bu printf bir az çıxır ki Biz istifadə etdiyiniz daha meraklısı hələ. 1530 01:15:26,770 --> 01:15:30,890 Bu belirttiğiniz yoxdur çıxır yalnız faiz f, və ya yalnız faiz i. 1531 01:15:30,890 --> 01:15:33,830 Siz, həqiqətən, daxil edə bilərsiniz burada bəzi nəzarət variantları. 1532 01:15:33,830 --> 01:15:36,470 >> Xüsusilə, mən gedirəm demək, hey, printf, 1533 01:15:36,470 --> 01:15:39,660 həqiqətən mənə 10 dən xal göstərir. 1534 01:15:39,660 --> 01:15:40,820 Belə ki, bir az qəribə görünür. 1535 01:15:40,820 --> 01:15:42,845 Amma faiz demək, dot, neçə ədəd 1536 01:15:42,845 --> 01:15:44,970 sonra görmək istəyirəm decimal point, və sonra f 1537 01:15:44,970 --> 01:15:48,340 Mənzil, ki, yalnız çünki sənədlərin deyir. 1538 01:15:48,340 --> 01:15:50,080 Mənə irəli getmək və xilas edək. 1539 01:15:50,080 --> 01:15:52,460 >> Mən alıram, çox hiss şeyi retyping yorğun. 1540 01:15:52,460 --> 01:15:55,900 Mən yalnız Ayarlama edirəm və aşağı burada mənim düymələri arrow. 1541 01:15:55,900 --> 01:15:58,710 Və mən vuruş saxlamaq, siz əmrləri bütün bilərsiniz 1542 01:15:58,710 --> 01:16:01,090 Mən, və ya səhv etdi. 1543 01:16:01,090 --> 01:16:04,630 >> Və mən indi irəli getmək üçün gedirəm və həqiqətən yəqin ki, istifadə edin. 1544 01:16:04,630 --> 01:16:11,416 qeyri-dəqiqlik, dot etmək belə imprecision-- zərbə 1545 01:16:11,416 --> 01:16:13,290 mən tədris edilmişdir Bu sinif məktəb həyata yoxlayır. 1546 01:16:13,290 --> 01:16:19,010 10 ondalık üçün çap olsa belə onu verir, həqiqətən, 0,10000 edir. 1547 01:16:19,010 --> 01:16:19,840 Amma nə bilirik? 1548 01:16:19,840 --> 01:16:21,150 >> Bir az görməmiş əldə edək. 1549 01:16:21,150 --> 01:16:23,990 Mənə 55 göstərir nin kimi, deyirlər ondalık sonra göstərir. 1550 01:16:23,990 --> 01:16:26,160 həqiqətən bu salaq Bir spin üçün proqram. 1551 01:16:26,160 --> 01:16:31,170 Mənə ilə yeniden yapmak edək qeyri-dəqiqlik, dot çizgi, qeyri-dəqiqlik. 1552 01:16:31,170 --> 01:16:32,390 >> Və burada biz gedin. 1553 01:16:32,390 --> 01:16:34,420 Sizin uşaqlıq bir yalan idi. 1554 01:16:34,420 --> 01:16:48,410 Görünür, 10 bölünür 1 həqiqətən 0.100000000000000005551115123-- 1555 01:16:48,410 --> 01:16:49,740 >> Nə baş verir? 1556 01:16:49,740 --> 01:16:53,360 Bəli, bu, əgər cür çıxır əsas həyata uzaq kifayət qədər baxmaq 1557 01:16:53,360 --> 01:16:55,950 Bu nümayəndəliyi sayı, bu, həqiqətən 1558 01:16:55,950 --> 01:17:00,400 tam 1/10 və ya 0,1 və adet sıfır sonsuz sayı. 1559 01:17:00,400 --> 01:17:01,630 İndi ki, niyə? 1560 01:17:01,630 --> 01:17:06,250 >> Bəli, bu sadə olsa Bizə insanlar sayı 1, 10 bölünür 1561 01:17:06,250 --> 01:17:10,910 hələ də sonsuz bir çox biri nömrələri biz hesab edə bilər ki. 1562 01:17:10,910 --> 01:17:14,490 Amma bir kompüter yalnız təmsil edə bilər finitely çox belə nömrələri. 1563 01:17:14,490 --> 01:17:18,710 Belə ki, səmərəli, nə kompüter, ABŞ onun yaxın göstərən 1564 01:17:18,710 --> 01:17:22,940 nömrəsinə uyğunlaşdırılması biz 1/10 hesab istəyirəm 1565 01:17:22,940 --> 01:17:27,760 və ya həqiqətən 0,10000 reklam infinitum. 1566 01:17:27,760 --> 01:17:30,425 >> Əksinə, baxmayaraq ki, bu Bu əldə edə bilərsiniz kimi kimi yaxın. 1567 01:17:30,425 --> 01:17:32,300 Və həqiqətən, siz baxmaq əgər başlıq altında, 1568 01:17:32,300 --> 01:17:37,050 biz baxaraq burada kimi ondalık sonra 55 rəqəm, 1569 01:17:37,050 --> 01:17:39,990 biz, həqiqətən ki, reallığı görmək. 1570 01:17:39,990 --> 01:17:42,610 İndi var bir kənara kimi, əgər Heç movie-- görüldü 1571 01:17:42,610 --> 01:17:45,780 Siz çox güman ki, have not lakin Superman 3 bir neçə il əvvəl, 1572 01:17:45,780 --> 01:17:49,500 Richard Pryor mahiyyətcə bu leveraged onun şirkəti reallıq bir çox oğurlamaq 1573 01:17:49,500 --> 01:17:53,500 pennies fraksiyaları və fraksiyaları, , Mən xatırlayıram kimi company-- çünki 1574 01:17:53,500 --> 01:17:57,210 Bu mahiyyətcə idi while-- bir oldu bir şey atmaq uyğun deyil ki, 1575 01:17:57,210 --> 01:17:58,790 qəpik anlayışı daxil. 1576 01:17:58,790 --> 01:18:01,480 >> Amma əlavə əgər bütün bu daha kiçik, kiçik, kiçik nömrələri, 1577 01:18:01,480 --> 01:18:04,960 və yenidən və yenidən, siz kimi, can onun işi, pul yaxşı məbləği etmək. 1578 01:18:04,960 --> 01:18:08,010 >> Həmin ideya ilə dolandırıldı İndi köhnə hələ daha yeni, lakin 1579 01:18:08,010 --> 01:18:10,500 Office Space adlı film, harada film uşaqlar, 1580 01:18:10,500 --> 01:18:13,501 , Eyni şey idi bu qədər berbat tamamilə çox yolu ilə sona çatdı 1581 01:18:13,501 --> 01:18:14,666 Onların bank hesabına pul. 1582 01:18:14,666 --> 01:18:15,800 Bu, bütün çox şübhəli idi. 1583 01:18:15,800 --> 01:18:19,290 Lakin günün sonunda, qeyri-dəqiqlik hamımız ətrafında edir. 1584 01:18:19,290 --> 01:18:22,240 >> Və ki, bu da ola bilər işi frighteningly. 1585 01:18:22,240 --> 01:18:25,590 Belə çıxır ki, Superman 3 və Office Space kənara, orada 1586 01:18:25,590 --> 01:18:28,460 bir çox real ola bilər dünya ramifications 1587 01:18:28,460 --> 01:18:32,290 dövrü qəti olmayan həqiqətləri məlumatların nümayəndəliyi 1588 01:18:32,290 --> 01:18:34,770 ki, hətta biz insanlar üçün Bu gün mütləq bunu 1589 01:18:34,770 --> 01:18:38,230 həm də olduğu kimi anlamaq, və ya tez-tez biz olmalıdır kimi xatırlayıram. 1590 01:18:38,230 --> 01:18:42,950 Və həqiqətən, aşağıdakı clip edir bir çox real dünya bir göz 1591 01:18:42,950 --> 01:18:47,730 əgər olur nə ramifications qeyri-dəqiqlik qiymətləndiririk yoxdur ki, 1592 01:18:47,730 --> 01:18:50,065 nömrələri təmsil baş verə bilər. 1593 01:18:50,065 --> 01:18:51,300 >> [Video playback] 1594 01:18:51,300 --> 01:18:55,620 >> -Kompüter, Biz bütün qəbul gəldiniz tez-tez sinir bozucu problemləri ki, 1595 01:18:55,620 --> 01:19:00,310 , Odur hatalar ilə viruslar getmək, və proqram glitches, 1596 01:19:00,310 --> 01:19:03,130 kiçik qiymətləri ödəmək üçün rahatlığı üçün. 1597 01:19:03,130 --> 01:19:07,800 Lakin yüksək texnologiyalı və yüksək sürətli hərbi və kosmik proqram applications, 1598 01:19:07,800 --> 01:19:12,800 kiçik problem ola bilər fəlakət daxil böyüdüləcək. 1599 01:19:12,800 --> 01:19:18,900 >> June 4, 1996-də, alimlər hazırlanır insansız Ariane 5 raket başlamaq üçün. 1600 01:19:18,900 --> 01:19:21,220 Bu elmi daşıyan peyklər nəzərdə 1601 01:19:21,220 --> 01:19:24,600 dəqiq necə yaratmaq Yerin maqnit sahəsində qarşılıqlı 1602 01:19:24,600 --> 01:19:27,410 Günəş küləkləri ilə. 1603 01:19:27,410 --> 01:19:30,800 raket üçün inşa edilmişdir Avropa Kosmik Agentliyi, 1604 01:19:30,800 --> 01:19:34,370 və onun harada off qaldırdı Fransız Quyanası sahilində. 1605 01:19:34,370 --> 01:19:37,540 >> təxminən 37 saniyə -Hazırda uçuş, onlar ilk 1606 01:19:37,540 --> 01:19:39,270 fərq bir şey yanlış gedirdi. 1607 01:19:39,270 --> 01:19:42,250 nozzle ilə döner edildi bir yol həqiqətən olmamalıdır. 1608 01:19:42,250 --> 01:19:46,580 uçuş daxil 40 saniyə ətrafında, aydın, vasitə problem idi. 1609 01:19:46,580 --> 01:19:48,850 >> onlar zaman ki qərar onu məhv etmək üçün. 1610 01:19:48,850 --> 01:19:52,780 Range təhlükəsizlik zabit ilə böyük içalat, düyməni basdı, 1611 01:19:52,780 --> 01:19:58,150 bu ola bilər əvvəl, raket partladılıb ictimai təhlükəsizlik üçün təhlükə olur. 1612 01:19:58,150 --> 01:20:01,060 >> -Bu Qız idi Ariane 5 səyahət. 1613 01:20:01,060 --> 01:20:03,960 Və onun məhv etdi çünki qüsur yerləşdirmək 1614 01:20:03,960 --> 01:20:05,822 raket proqram daxil. 1615 01:20:05,822 --> 01:20:08,280 Ariane on -Bu problem idi bir sıra var idi ki, 1616 01:20:08,280 --> 01:20:10,600 ifadə etmək 64 bit tələb olunur. 1617 01:20:10,600 --> 01:20:13,590 Onlar çevirmək istəyirdi 16-bit sayı bu. 1618 01:20:13,590 --> 01:20:15,610 Onlar güman ki, sayı heç gedirdi 1619 01:20:15,610 --> 01:20:20,980 Çox böyük olması o ən çox 64-bit sayı rəqəm zeroes idi. 1620 01:20:20,980 --> 01:20:22,440 Onlar yanlış idi. 1621 01:20:22,440 --> 01:20:25,060 >> bir -Bu bilməməsi proqram qəbul 1622 01:20:25,060 --> 01:20:29,510 tərəfindən sıra cür başqa uğursuzluq kök idi. 1623 01:20:29,510 --> 01:20:34,350 Software inkişaf oldu bir yeni texnologiya çox bahalı hissəsidir. 1624 01:20:34,350 --> 01:20:38,140 Ariane raket çox olmuşdur proqram uğurlu, çox 1625 01:20:38,140 --> 01:20:41,550 bu da idi yaradılmışdır Ariane 5 istifadə olunur. 1626 01:20:41,550 --> 01:20:47,940 >> -Bu Əsas problem Ariane idi 5, sürətli idi sürətli sürətləndirdi. 1627 01:20:47,940 --> 01:20:51,450 Və proqram idi ki, düşür. 1628 01:20:51,450 --> 01:20:55,060 >> raket -Bu məhv böyük bir maliyyə fəlakət idi 1629 01:20:55,060 --> 01:20:58,790 bütün səbəbiylə dəqiqə proqram səhv. 1630 01:20:58,790 --> 01:21:01,210 Amma bu ilk deyildi time data conversion problemlər 1631 01:21:01,210 --> 01:21:04,820 müasir raket texnologiyası mürəkkəbləşdirilir idi. 1632 01:21:04,820 --> 01:21:08,050 >> başlaması ilə 1991-ci il -In ilk Körfəz müharibəsi, 1633 01:21:08,050 --> 01:21:10,570 Patriot raket bənzər bir növ təcrübəli 1634 01:21:10,570 --> 01:21:12,800 sayı dönüşüm problem. 1635 01:21:12,800 --> 01:21:16,090 Və nəticə olaraq, 28 nəfər, 28 Amerika əsgəri, 1636 01:21:16,090 --> 01:21:19,080 şəhid, haqqında idi 100 nəfər yaralanıb, 1637 01:21:19,080 --> 01:21:22,780 zaman idi Patriot, Gələn scuds qarşı qorumaq üçün, 1638 01:21:22,780 --> 01:21:25,830 bir raket yanğın bilmədi. 1639 01:21:25,830 --> 01:21:31,670 >> -Zaman İraq Küveyt və Amerika işğal erkən 1991-ci ildə Desert Storm başlayıb 1640 01:21:31,670 --> 01:21:35,780 Patriot raket batareyalarının dağıtdılar Səudiyyə Ərəbistanı və İsraili qorumaq üçün 1641 01:21:35,780 --> 01:21:39,230 İraq Scud raket hücumlarından. 1642 01:21:39,230 --> 01:21:43,810 Patriot ABŞ orta mənzilli edir hava sistemi səthi istehsal 1643 01:21:43,810 --> 01:21:45,770 Raytheon şirkəti tərəfindən. 1644 01:21:45,770 --> 01:21:52,340 >> Patriot kesen -Bu ölçüsü özü haqqında təxminən 20 fut uzun. 1645 01:21:52,340 --> 01:21:55,230 Və 2000 funt ağırlığında. 1646 01:21:55,230 --> 01:21:59,320 Və bu barədə bir döyüş başlığı daşıyan Hesab edirəm ki, təxminən 150 lirə hesab edirəm. 1647 01:21:59,320 --> 01:22:03,930 Və başlığı özü yüksək partlayıcı olan 1648 01:22:03,930 --> 01:22:07,330 ətrafında fraqmentləri var. 1649 01:22:07,330 --> 01:22:11,680 döyüş başlığı casing edir buckshot kimi hərəkət üçün nəzərdə tutulmuşdur. 1650 01:22:11,680 --> 01:22:14,110 >> -Bu Raketlər keçirilir konteyner başına dörd, 1651 01:22:14,110 --> 01:22:17,130 və yarı trailer ilə nəql olunur. 1652 01:22:17,130 --> 01:22:24,930 >> -Bu Patriot füzesavar sistemi indi ən azı 20 il geri gedir. 1653 01:22:24,930 --> 01:22:28,420 Bu, ilk nəzərdə tutulmuşdur hava müdafiə raket kimi 1654 01:22:28,420 --> 01:22:30,720 düşmən təyyarələr gülləboran etmək. 1655 01:22:30,720 --> 01:22:34,500 ilk Körfəz müharibəsi, ki, müharibə boyunca gələndə, 1656 01:22:34,500 --> 01:22:39,745 Ordu üçün istifadə etmək istəyirdi scuds deyil təyyarələr gülləboran etmək. 1657 01:22:39,745 --> 01:22:43,620 >> İraq Air Force idi bir problem çox deyil. 1658 01:22:43,620 --> 01:22:46,670 Amma Army scuds narahat idi. 1659 01:22:46,670 --> 01:22:50,170 Və onlar üçün cəhd Patriot yükseltin. 1660 01:22:50,170 --> 01:22:52,800 >> düşmən -Intercepting raket Mach 5 səyahət 1661 01:22:52,800 --> 01:22:55,830 kifayət qədər çətin olacaq idi. 1662 01:22:55,830 --> 01:22:58,490 Amma Patriot xidmətə qaçdı edilib 1663 01:22:58,490 --> 01:23:02,860 Ordu bir xəbəri olmadığını edilən İraq modifikasiya 1664 01:23:02,860 --> 01:23:05,930 Onların scuds hit üçün təxminən mümkün. 1665 01:23:05,930 --> 01:23:10,740 >> -Nə Baş scuds ki da gəlirdi qeyri-sabit idi. 1666 01:23:10,740 --> 01:23:11,692 Onlar wobbling edildi. 1667 01:23:11,692 --> 01:23:14,910 Bunun səbəbi idi üçün İraqlılar, 1668 01:23:14,910 --> 01:23:18,280 600 kilometr almaq üçün 300 kilometr həyata 1669 01:23:18,280 --> 01:23:21,700 mənzilli mərmi çəki etdi ön döyüş başlığı həyata. 1670 01:23:21,700 --> 01:23:23,390 Onlar başlığı yüngül etdi. 1671 01:23:23,390 --> 01:23:27,330 >> Belə ki, indi Patriot edir Scud gəlmək üçün çalışırıq. 1672 01:23:27,330 --> 01:23:30,230 Və çox vaxt, zaman böyük əksəriyyəti, 1673 01:23:30,230 --> 01:23:32,940 yalnız Scud ilə uçmaq olar. 1674 01:23:32,940 --> 01:23:37,260 Patriot sistemi operatorları bir , Patriot onun hədəf buraxılmış həyata 1675 01:23:37,260 --> 01:23:41,690 Onlar Patriot'un başlığı partlatdı bu mümkün itki qarşısını almaq üçün 1676 01:23:41,690 --> 01:23:44,570 dağılmaq icazə verildi. 1677 01:23:44,570 --> 01:23:48,790 >> insanların çoxu gördüm nə -Bu idi göy o böyük fireballs, 1678 01:23:48,790 --> 01:23:54,550 və səhv Scud başlığı kəsir. 1679 01:23:54,550 --> 01:23:56,630 >> gecə-baxmayaraq göy, Patriots çıxdı 1680 01:23:56,630 --> 01:24:00,370 uğurla olmaq Dhahran da Scuds məhv 1681 01:24:00,370 --> 01:24:03,360 heç bir səhv ola bilər öz fəaliyyəti barədə. 1682 01:24:03,360 --> 01:24:07,970 Orada Patriot'un radar sistemi Daxil olan Scud itirib, 1683 01:24:07,970 --> 01:24:10,721 səbəbiylə başladılan heç bir proqram qüsur. 1684 01:24:10,721 --> 01:24:14,090 1685 01:24:14,090 --> 01:24:18,940 Bu ilk kəşf İsrail oldu Artıq sistem olduğunu, 1686 01:24:18,940 --> 01:24:22,690 böyük vaxt uyğunsuzluq görə əlaqədar bir saat oldu 1687 01:24:22,690 --> 01:24:24,810 sisteminin kompüter. 1688 01:24:24,810 --> 01:24:28,210 >> -Haqqında Iki həftə əvvəl Dhahran faciəsi, 1689 01:24:28,210 --> 01:24:30,770 İsrail bildirildi Müdafiə Nazirliyi 1690 01:24:30,770 --> 01:24:32,590 ki, sistem vaxt itirirdi. 1691 01:24:32,590 --> 01:24:35,360 səkkiz saat və ya çalışan sonra, onlar sistemi fark 1692 01:24:35,360 --> 01:24:37,720 xeyli az dəqiq olmaq edilib. 1693 01:24:37,720 --> 01:24:41,900 Müdafiə Nazirliyi cavab verdi Patriot batareyaları bütün izah 1694 01:24:41,900 --> 01:24:44,950 sistemləri tərk etmək Uzun müddət üçün. 1695 01:24:44,950 --> 01:24:49,160 Onlar nə uzun müddət heç vaxt Idi Səkkiz saat, 10 saat, 1000 saat. 1696 01:24:49,160 --> 01:24:51,360 Heç kim bilirdi. 1697 01:24:51,360 --> 01:24:53,380 >> -Bu Patriot batareyası Qışla konuşlu 1698 01:24:53,380 --> 01:24:58,350 Dhahran və flawed daxili at 100 saat ərzində saat olmuşdur 1699 01:24:58,350 --> 01:25:01,670 Fevral 25 gecə. 1700 01:25:01,670 --> 01:25:05,917 >> -Bu Bir dəqiqliyi üçün vaxt izlenir ikinci bir onuncu haqqında. 1701 01:25:05,917 --> 01:25:08,000 ikinci İndi onuncu maraqlı sayı, 1702 01:25:08,000 --> 01:25:11,920 Bu ifadə edilə bilməz, çünki Tam ikili olan 1703 01:25:11,920 --> 01:25:16,820 tam ifadə edilə bilməz deməkdir hər hansı bir müasir digital kompüter. 1704 01:25:16,820 --> 01:25:18,540 Bu inanmaq çətindir. 1705 01:25:18,540 --> 01:25:21,210 >> Amma nümunə kimi istifadə. 1706 01:25:21,210 --> 01:25:23,540 bir nömrəli üçdə edək. 1707 01:25:23,540 --> 01:25:27,350 Üçdə biri ola bilməz tam ondalık dilə gətirdi. 1708 01:25:27,350 --> 01:25:32,080 Üçdə biri 0.333 edir daimi davam. 1709 01:25:32,080 --> 01:25:36,480 >> ilə heç bir yol yoxdur ondalık mütləq dəqiqlik. 1710 01:25:36,480 --> 01:25:39,560 Ki, problem tam cür ki, Patriot baş verib. 1711 01:25:39,560 --> 01:25:44,100 Artıq sistemi qaçdı, pis vaxt səhv oldu. 1712 01:25:44,100 --> 01:25:48,890 >> Əməliyyat 100 saat sonra, vaxt səhv yalnız bir üçüncü oldu 1713 01:25:48,890 --> 01:25:50,600 ikinci. 1714 01:25:50,600 --> 01:25:54,210 Amma hədəf baxımından raket Mach 5 səyahət 1715 01:25:54,210 --> 01:25:58,710 bir izleme nəticələndi 600-dən çox metr səhv. 1716 01:25:58,710 --> 01:26:02,120 Bu ölümcül səhv olardı nə əsgərlər üçün 1717 01:26:02,120 --> 01:26:08,940 baş verən Scud launch idi erkən Warning peyklər aşkar 1718 01:26:08,940 --> 01:26:12,860 və onlar Scud bilirdi ki onların ümumi istiqamətdə gəlir. 1719 01:26:12,860 --> 01:26:15,320 Bu gələn Onlar bilmirdim. 1720 01:26:15,320 --> 01:26:18,250 >> -Bu Radar qədər artıq idi Patriot sisteminin komponenti 1721 01:26:18,250 --> 01:26:23,190 Dhahran müdafiə tapmaq və saxlamaq üçün daxil olan düşmən raket track. 1722 01:26:23,190 --> 01:26:24,609 >> -Bu Radar çox ağıllı idi. 1723 01:26:24,609 --> 01:26:26,650 Bu, həqiqətən, track olardı Scud mövqeyi, 1724 01:26:26,650 --> 01:26:30,350 və sonra burada yəqin ki, proqnozlaşdırmaq radar göndərilən növbəti dəfə olacaq 1725 01:26:30,350 --> 01:26:31,420 həyata pulse. 1726 01:26:31,420 --> 01:26:33,110 Bu bir sıra qapısı adlanırdı. 1727 01:26:33,110 --> 01:26:37,660 >> -Sonra, Patriot dəfə kifayət qədər vaxt var qərar 1728 01:26:37,660 --> 01:26:42,450 geri getmək və növbəti yoxlamaq keçdi bu aşkar obyekt üçün yer, 1729 01:26:42,450 --> 01:26:43,600 geri gedir. 1730 01:26:43,600 --> 01:26:48,650 Belə ki, yanlış geri getdi zaman yer, sonra heç bir obyekt görür. 1731 01:26:48,650 --> 01:26:52,160 Və heç bir var idi ki, qərar obyekt, bir yalan aşkar idi, 1732 01:26:52,160 --> 01:26:53,930 və track düşər. 1733 01:26:53,930 --> 01:26:57,030 >> -Bu Gələn Scud yox radar ekran. 1734 01:26:57,030 --> 01:27:00,260 Və saniyə sonra, onu Qışla çarpdı. 1735 01:27:00,260 --> 01:27:06,150 Scud 28 nəfər ölüb, və son idi bir ilk Körfəz müharibəsi zamanı atəş etdi. 1736 01:27:06,150 --> 01:27:11,960 >> Faciəvi yenilənir software Aşağıdakı gün Dhahran gəldi. 1737 01:27:11,960 --> 01:27:14,930 proqram qüsur var idi olmuşdur sabit bağlanış 1738 01:27:14,930 --> 01:27:19,806 çətinlikli bir fəsil Patriot raket tarixi. 1739 01:27:19,806 --> 01:27:20,729 >> [Video playback] 1740 01:27:20,729 --> 01:27:23,520 DAVID J. MALAN: Belə ki, bu bütün var demək daşması bu məsələlərə ki 1741 01:27:23,520 --> 01:27:25,860 və qeyri-dəqiqlik bütün çox real edir. 1742 01:27:25,860 --> 01:27:26,920 Belə ki, necə biz burada əldə etdiniz? 1743 01:27:26,920 --> 01:27:28,895 Biz yalnız printf söhbət başladı. 1744 01:27:28,895 --> 01:27:31,270 Yenə də, bu funksiyası Ekranın bir şey yazdıran 1745 01:27:31,270 --> 01:27:33,450 və biz bundan sonra təqdim bir neçə digər funksiyaları 1746 01:27:33,450 --> 01:27:34,945 sözdə CS50 kitabxana. 1747 01:27:34,945 --> 01:27:36,910 Və biz davam edəcəyik vaxtında bu görürük. 1748 01:27:36,910 --> 01:27:40,760 Və biz, xüsusilə, get simli istifadə və int almaq və indi də float almaq, 1749 01:27:40,760 --> 01:27:44,410 və hələ başqaları hələ də qarşılaşacaq və uzun əvvəl özümüz istifadə edin. 1750 01:27:44,410 --> 01:27:47,220 >> Amma münasibətilə var Biz artıq ehtiyac görüldü 1751 01:27:47,220 --> 01:27:50,520 geri nə bu funksiyaları əl saxlamaq üçün? 1752 01:27:50,520 --> 01:27:52,920 Bizi geri string əl, bir int və ya float və ya. 1753 01:27:52,920 --> 01:27:56,070 Və bəzən biz qoymaq lazımdır yerdə simli, və ya int və ya float. 1754 01:27:56,070 --> 01:28:00,100 >> Və o şeyi saxlamaq üçün, yalnız geri Not kimi, biz dəyişənlər var. 1755 01:28:00,100 --> 01:28:03,260 Amma Not fərqli olaraq, C biz faktiki növləri var 1756 01:28:03,260 --> 01:28:05,530 dəyişənlər məlumatların növləri, daha ümumi 1757 01:28:05,530 --> 01:28:08,640 Onların arasında, simli, bir int, bir float və hələ də bu başqaları. 1758 01:28:08,640 --> 01:28:12,321 >> Və belə ki, biz C dəyişənlərin elan zaman, biz data növləri elan etmək lazımdır. 1759 01:28:12,321 --> 01:28:14,820 Bu lazımdır bir şey deyil dövr sonra nə etmək lazımdır 1760 01:28:14,820 --> 01:28:16,810 biz digər dillərə keçid. 1761 01:28:16,810 --> 01:28:19,610 Amma indi, biz lazımdır əvvəlcədən a priori üçün, 1762 01:28:19,610 --> 01:28:24,370 Kompüter növü izah dəyişən biz bizə vermək istəyirəm. 1763 01:28:24,370 --> 01:28:27,290 >> İndi, eyni zamanda, çap data növləri bu cür, 1764 01:28:27,290 --> 01:28:29,570 biz demək gözləmək nə printf var. 1765 01:28:29,570 --> 01:28:32,450 Biz strings üçün yüzdə s gördüm və integers üçün faiz i, 1766 01:28:32,450 --> 01:28:33,790 artıq və bir neçə başqaları. 1767 01:28:33,790 --> 01:28:37,237 Və bu sadəcə tələblər vizual təqdimat 1768 01:28:37,237 --> 01:28:38,070 ki, informasiya. 1769 01:28:38,070 --> 01:28:42,080 >> Və bu hər həqiqətən ola bilər parametrized və ya bir şəkildə tweaked, 1770 01:28:42,080 --> 01:28:45,370 Siz nəzarət daha istəyirsinizsə Siz almaq çıxdı növü. 1771 01:28:45,370 --> 01:28:49,604 Və əslində, bu yalnız çıxır yeni xətt üçün backslash n var. 1772 01:28:49,604 --> 01:28:52,520 başqa backslash deyilən bir şey var bir vaqon qaytarılması üçün r olan 1773 01:28:52,520 --> 01:28:54,360 bir daha yaxın edir köhnə məktəb makina, 1774 01:28:54,360 --> 01:28:57,690 həmçinin Windows bir çox illər üçün istifadə olunur. 1775 01:28:57,690 --> 01:28:59,690 >> Nişanlar üçün backslash t var. 1776 01:28:59,690 --> 01:29:03,170 Əgər istəyirsinizsə ki, çıxır simli daxilində ikiqat quote, 1777 01:29:03,170 --> 01:29:05,000 Biz istifadə etdiyiniz geri double quote double 1778 01:29:05,000 --> 01:29:07,900 sol və sağ quote bu günə qədər bizim strings bitir. 1779 01:29:07,900 --> 01:29:09,420 Bu şeyi çaşdırmaq görünür. 1780 01:29:09,420 --> 01:29:12,503 >> Siz ikiqat quote qoymaq istəyirsinizsə həqiqətən, bir simli və orta, 1781 01:29:12,503 --> 01:29:13,670 görmək qarışıqdır. 1782 01:29:13,670 --> 01:29:17,120 Və belə ki, belə ki, qaçmağa var , Bir şey ilə ikiqat quote danışmaq 1783 01:29:17,120 --> 01:29:18,860 kimi, sanki, double quote backslash. 1784 01:29:18,860 --> 01:29:20,230 Və hələ bir neçə digər var. 1785 01:29:20,230 --> 01:29:24,540 Və biz o daha çox lazımdır uzun əvvəl faktiki istifadə. 1786 01:29:24,540 --> 01:29:27,930 >> Belə ki, indi keçid imkan məlumat və nümayəndəliyi, 1787 01:29:27,930 --> 01:29:30,820 və hesab operatorları, bütün olan bizə bəzi bina verdi 1788 01:29:30,820 --> 01:29:32,070 ilə blokları oynamaq. 1789 01:29:32,070 --> 01:29:34,481 Amma indi həqiqətən verək Bizə söz qalan 1790 01:29:34,481 --> 01:29:36,230 biz artıq idi ki, Scratch ilə ötən həftə 1791 01:29:36,230 --> 01:29:39,350 bəzi digər nəzər alaraq , C ilə konstruksiyaların onların bütün. 1792 01:29:39,350 --> 01:29:41,680 Amma fikir biz istəyirik həqiqətən, yalnız görmək haqqında 1793 01:29:41,680 --> 01:29:45,610 olan tərcümə vurğulamaq bir dil, Scratch, başqa, C. 1794 01:29:45,610 --> 01:29:48,470 >> Və zaman keçdikcə, biz ala bilərsiniz Bizim aracı üçün daha tools, 1795 01:29:48,470 --> 01:29:49,820 belə syntactically danışmaq. 1796 01:29:49,820 --> 01:29:54,190 Və həqiqətən, siz fikir ki, görürsünüz artıq son həftə olduqca tanışdır. 1797 01:29:54,190 --> 01:29:55,200 Belə ki, bunu edək. 1798 01:29:55,200 --> 01:29:58,870 >> Nin irəli getmək və bir proqram qızışdırmaq edək həqiqətən bəzi ifadələr istifadə edir, 1799 01:29:58,870 --> 01:30:00,720 bir Boolean ifadə. 1800 01:30:00,720 --> 01:30:02,810 Mənə burada irəli gedək və yeni bir fayl yaratmaq. 1801 01:30:02,810 --> 01:30:06,090 Mən bu condition.c zəng edəcəyik. 1802 01:30:06,090 --> 01:30:09,350 >> Mənə davam edək CS50 kitabxana daxildir. 1803 01:30:09,350 --> 01:30:12,640 Və mənə irəli getmək və daxil imkan Bizim funksiyaları üçün standart io.h, 1804 01:30:12,640 --> 01:30:14,690 və printf, və daha çox olaraq təyin olundu. 1805 01:30:14,690 --> 01:30:18,900 Mənə özümü o boilerplate verək Onun şərh alacağıq int əsas etibarsız, 1806 01:30:18,900 --> 01:30:20,360 geri gələcəkdə gəlir. 1807 01:30:20,360 --> 01:30:23,820 >> İndi mənə irəli getmək və verək özüm get int vasitəsilə int. 1808 01:30:23,820 --> 01:30:25,970 Sonra mənə irəli getmək və bunu bildirin. 1809 01:30:25,970 --> 01:30:30,150 i edək less--, mən demək istəyirəm mənfi, müsbət ayırmaq, 1810 01:30:30,150 --> 01:30:31,260 və ya sıfır dəyərlər. 1811 01:30:31,260 --> 01:30:36,630 >> i sıfır az Belə ki, mənə imkan yalnız bu proqram sadəcə demək ki, 1812 01:30:36,630 --> 01:30:42,370 mənfi, backslash n başqa i sıfırdan böyük olduqda. 1813 01:30:42,370 --> 01:30:47,030 İndi, əlbəttə, demək gedirəm müsbət, backslash n printf. 1814 01:30:47,030 --> 01:30:50,690 Və sonra başqa mən bunu edə bilər Varsa. 1815 01:30:50,690 --> 01:30:53,410 >> i 0 bərabərdir əgər mən nə edə bilər. 1816 01:30:53,410 --> 01:30:55,840 Amma mən qəbul olarıq artıq ən azı bir səhv. 1817 01:30:55,840 --> 01:30:59,480 bərabər işarəsi Xatırladaq ki bərabər, biz insanlar bunu bildiyiniz kimi. 1818 01:30:59,480 --> 01:31:01,010 >> Amma bu tapşırıq operator var. 1819 01:31:01,010 --> 01:31:05,640 Və biz 0 etmək istəmirəm sağ və sol i qoyun. 1820 01:31:05,640 --> 01:31:11,810 Belə ki, bu qarışıqlıq qarşısını almaq, və ya bəlkə bərabər sui-istifadə imzalamaq, 1821 01:31:11,810 --> 01:31:14,740 insanlar bir neçə il əvvəl qərar ki, bir çox proqramlaşdırma dilləri 1822 01:31:14,740 --> 01:31:18,000 Siz bərabərlik yoxlamaq üçün istədiyiniz zaman sol və sağ arasında 1823 01:31:18,000 --> 01:31:19,635 Siz, həqiqətən, bərabərdir istifadə edin. 1824 01:31:19,635 --> 01:31:21,010 Belə ki, bərabər iki dəfə imza edib. 1825 01:31:21,010 --> 01:31:25,600 Siz sağ təyin etmək istədiyiniz zaman sol, bir bərabər işarəsi istifadə edin. 1826 01:31:25,600 --> 01:31:29,360 Belə ki, biz şeylərdir başqa nə edə bilər i bərabərdir əgər sıfır bərabərdir. 1827 01:31:29,360 --> 01:31:31,710 >> Mən getmək bilər Mənim qıvrım aşırma açmaq 1828 01:31:31,710 --> 01:31:36,087 və printf 0, backslash n, həyata, deyirlər. 1829 01:31:36,087 --> 01:31:38,170 Amma necə bu xatırlayıram yol çəngəllər işləyə bilər. 1830 01:31:38,170 --> 01:31:39,836 Və həqiqətən, yalnız məntiqi düşünmək. 1831 01:31:39,836 --> 01:31:41,510 i bir sayı. 1832 01:31:41,510 --> 01:31:43,320 Bu xüsusi bir tam var. 1833 01:31:43,320 --> 01:31:48,600 Və az olacaq deməkdir 0, ya 0-dən 0 və ya daha çox. 1834 01:31:48,600 --> 01:31:51,600 Belə ki, bu cür var örtük default halda. 1835 01:31:51,600 --> 01:31:54,920 >> Və belə ki, biz yalnız kimi ola bilər Scratch, başqa, əgər ilə paylamaq 1836 01:31:54,920 --> 01:31:55,747 və yalnız başqa deyirlər. 1837 01:31:55,747 --> 01:31:57,830 Məntiqi, əgər proqramçı orada yalnız bilirik 1838 01:31:57,830 --> 01:32:01,635 üç buketler olan daxil ssenari ilk fall-- bilər 1839 01:32:01,635 --> 01:32:03,510 ikinci, ya üçüncü bu yoxdur case-- da 1840 01:32:03,510 --> 01:32:07,100 əlavə dəqiq əlavə narahat orada əlavə məntiq. 1841 01:32:07,100 --> 01:32:09,690 Just davam Burada başqa default halda. 1842 01:32:09,690 --> 01:32:11,950 >> İndi irəli gedək Bu qənaət sonra etmək 1843 01:32:11,950 --> 01:32:15,760 şərait conditions-- doğramaq nöqtə Biz böyük bir istifadəçi interfeysi, 1844 01:32:15,760 --> 01:32:18,914 Mən isteyen deyiləm, çünki istifadəçi Bayaq qeyd etdiyim kimi. 1845 01:32:18,914 --> 01:32:19,580 Amma ki, gözəl var. 1846 01:32:19,580 --> 01:32:20,454 Biz sadə saxlamaq lazımdır. 1847 01:32:20,454 --> 01:32:21,890 nömrəsi 42 cəhd edək. 1848 01:32:21,890 --> 01:32:23,240 Və müsbət var. 1849 01:32:23,240 --> 01:32:26,120 nömrəsini cəhd edək mənfi, 42 mənfi. 1850 01:32:26,120 --> 01:32:28,244 >> dəyəri 0 cəhd edək. 1851 01:32:28,244 --> 01:32:29,160 Və həqiqətən, işləyir. 1852 01:32:29,160 --> 01:32:33,900 İndi, əvvəl problemləri ilə görürsünüz uzun, test şeyi üç dəfə 1853 01:32:33,900 --> 01:32:34,980 yəqin ki, kifayət deyil. 1854 01:32:34,980 --> 01:32:37,438 Siz yəqin ki, bir test etmək istəyirəm böyük nömrələri, bəzi kiçik 1855 01:32:37,438 --> 01:32:40,520 nömrələri, bəzi künc hallarda, kimi biz onları təsvir etmək üçün gəlmək lazımdır. 1856 01:32:40,520 --> 01:32:42,500 >> Amma indi, bu bir olduqca sadə proqram. 1857 01:32:42,500 --> 01:32:45,160 Mən, məntiqi, olduqca əminəm üç hallarda düşür ki. 1858 01:32:45,160 --> 01:32:49,360 Və həqiqətən, hətta baxmayaraq ki, yalnız Potensial downsides diqqət 1859 01:32:49,360 --> 01:32:53,480 qeyri-dəqiqlik və daşması ildə CS50 bir çox problemi reallıq olduğu, 1860 01:32:53,480 --> 01:32:56,000 biz narahat niyyətində deyil Bütün vaxt haqqında, 1861 01:32:56,000 --> 01:32:59,050 daşması o məsələləri və qeyri-dəqiqlik, çünki, əslində, C, 1862 01:32:59,050 --> 01:33:01,889 Bu, həqiqətən, bütün deyil ki, o şeyi qarşısını almaq üçün asan. 1863 01:33:01,889 --> 01:33:04,180 Siz saymaq istəyirsinizsə böyük və daha böyük və daha böyük, 1864 01:33:04,180 --> 01:33:07,510 Bu texnika var çıxır tez-tez deyilən şeylər cəlb istifadə edə bilərsiniz 1865 01:33:07,510 --> 01:33:11,240 kitabxana, kodu kolleksiyalar ki, istifadə edə bilərsiniz ki, digər insanlar yazdı 1866 01:33:11,240 --> 01:33:13,910 kimi digər dillərdə həqiqətən Java və digər 1867 01:33:13,910 --> 01:33:15,800 Bu çox asan etmək daha yüksək saymaq. 1868 01:33:15,800 --> 01:33:19,810 Belə ki, həqiqətən bu təhlükələr bəzi istifadə dili funksiyası. 1869 01:33:19,810 --> 01:33:22,710 Və gələn həftə alacağıq həqiqətən necə təhlükəli C görmək 1870 01:33:22,710 --> 01:33:24,950 Siz düzgün istifadə etməyin, əgər ola bilər. 1871 01:33:24,950 --> 01:33:27,610 Amma oradan, və Python, və JavaScript edəcək 1872 01:33:27,610 --> 01:33:32,620 biz bəzi əlavə müdafiə on qat, və həmin risklərin az axır. 1873 01:33:32,620 --> 01:33:35,820 >> Belə ki, edək bir az daha Bizim proqram maraqlı məntiq. 1874 01:33:35,820 --> 01:33:39,110 Mənə irəli getmək və yaratmaq imkan Məntiqi adlı proqram 1875 01:33:39,110 --> 01:33:43,804 yalnız mən bir ilə oynaya bilər faktiki məntiq, logical.c. 1876 01:33:43,804 --> 01:33:46,870 Mən yalnız surəti və bəzi yapışdırıb lazımdır əvvəllər belə kod mən geri almaq 1877 01:33:46,870 --> 01:33:49,950 Bu gözəl başlanğıc nöqtəsi. 1878 01:33:49,950 --> 01:33:53,980 >> Mən char C. nə mənə bu dəfə edək bu C bir ad verəcəyəm 1879 01:33:53,980 --> 01:33:58,510 Bu şərti yalnız çünki, istifadəçi bir xarakter almaq. 1880 01:33:58,510 --> 01:34:00,730 Və kimi iddia edək Mən iştirak həyata alıram 1881 01:34:00,730 --> 01:34:04,130 ki, Rm proqram aradan qaldırılması əvvəl proqram istifadəçi təhrik 1882 01:34:04,130 --> 01:34:05,400 Bir fayl aradan qaldırılması üçün. 1883 01:34:05,400 --> 01:34:06,750 Bunu necə edə bilər? 1884 01:34:06,750 --> 01:34:11,090 >> C bərabərdir, mən demək istəyirəm , Quote dırnağı bağlamaq, bərabərdir 1885 01:34:11,090 --> 01:34:16,304 y, sonra güman gedirəm istifadəçi yes seçdi ki. 1886 01:34:16,304 --> 01:34:17,470 Mən yalnız yes çap gedirəm. 1887 01:34:17,470 --> 01:34:19,440 Bu, həqiqətən yazılı idi aradan qaldırılması proqramı, 1888 01:34:19,440 --> 01:34:21,420 biz fayl aradan qaldırılması bilər kod daha xətləri ilə. 1889 01:34:21,420 --> 01:34:22,461 Amma biz sadə saxlamaq lazımdır. 1890 01:34:22,461 --> 01:34:25,950 1891 01:34:25,950 --> 01:34:31,250 >> Else c bərabərdir əgər n-- bərabərdir və indi burada, mən demək gedirəm 1892 01:34:31,250 --> 01:34:32,980 istifadəçi nəzərdə olmalıdır. 1893 01:34:32,980 --> 01:34:34,360 Və sonra başqa, siz nə bilirik? 1894 01:34:34,360 --> 01:34:36,200 Mən başqa bilmirəm istifadəçi yazın gedir. 1895 01:34:36,200 --> 01:34:38,533 Beləliklə, mən yalnız demək gedirəm ki, bir səhv, nə 1896 01:34:38,533 --> 01:34:40,070 o, həqiqətən, çap. 1897 01:34:40,070 --> 01:34:41,180 >> Belə ki, nə burada olub? 1898 01:34:41,180 --> 01:34:44,530 bir fundamental fərq var Mən keçmişdə etdiyiniz nə qarşı. 1899 01:34:44,530 --> 01:34:49,300 Double quotes, ikiqat quotes, ikiqat quotes, və hələ, bir quotes, 1900 01:34:49,300 --> 01:34:50,170 tək quotes. 1901 01:34:50,170 --> 01:34:52,860 Bu zaman, C çıxır Bir simli yazmaq istəyirəm, 1902 01:34:52,860 --> 01:34:56,680 Siz biz sizin kimi, ikiqat quotes istifadə etmək printf ilə bütün bu vaxt istifadə. 1903 01:34:56,680 --> 01:35:02,030 >> Amma yalnız bir ilə məşğul olmaq istəyirsinizsə, bir xarakter, bir qondarma char, 1904 01:35:02,030 --> 01:35:03,780 sonra həqiqətən bir quotes istifadə edin. 1905 01:35:03,780 --> 01:35:05,450 proqramlaşdırılmış etdik sizə o əvvəl, ola bilər 1906 01:35:05,450 --> 01:35:07,850 bu barədə narahat idi müəyyən dildə daşıyır. 1907 01:35:07,850 --> 01:35:09,450 C, bu məsələ yoxdur. 1908 01:35:09,450 --> 01:35:12,560 Mən char almaq və zaman mən istəyirəm bərabər istifadə edərək char müqayisə etmək 1909 01:35:12,560 --> 01:35:18,350 y və ya n kimi məktub bərabərdir, mən, həqiqətən, bir quotes lazımdır. 1910 01:35:18,350 --> 01:35:19,770 >> İndi irəli getmək və bunu bildirin. 1911 01:35:19,770 --> 01:35:26,180 Nin irəli getmək və etmək edək Məntiqi dot məntiqi doğramaq. 1912 01:35:26,180 --> 01:35:27,305 İndi istenir alıram. 1913 01:35:27,305 --> 01:35:30,638 Belə ki, güman, daha yaxşı bir istifadəçi experience həqiqətən mənə nə burada. 1914 01:35:30,638 --> 01:35:33,030 Amma yalnız kor-koranə gedirəm gözəl, OK, bəli üçün y deyirlər. 1915 01:35:33,030 --> 01:35:35,780 >> yenidən run edək n heç bir üçün gözəl. 1916 01:35:35,780 --> 01:35:39,610 Mən bilirəm ki, müəyyən insanlar kimi düşünək, Mənim caps əsas çox tez-tez bütün edir kilidi. 1917 01:35:39,610 --> 01:35:43,740 Mən kapital Y daxil səhv yoxdur. 1918 01:35:43,740 --> 01:35:46,130 OK, mən gözləyirəm dəqiq nə deyil. 1919 01:35:46,130 --> 01:35:48,170 Həqiqətən, kompüter sözün nə edir 1920 01:35:48,170 --> 01:35:51,794 Mən kontrol do-- bu bildirib kiçik y və kiçik n. 1921 01:35:51,794 --> 01:35:53,960 Bu yaxşı kimi hiss etmir istifadəçi təcrübəsi, baxmayaraq ki. 1922 01:35:53,960 --> 01:35:59,010 Mənə xahiş edək və qəbul aşağı halda və ya yuxarı halda bilərsiniz. 1923 01:35:59,010 --> 01:36:02,090 bu çıxır ki, istədiyiniz bilər Not kimi bir şey demək, 1924 01:36:02,090 --> 01:36:08,150 kimi sözün və ya C bərabərdir kapital bir sitat y bərabərdir. 1925 01:36:08,150 --> 01:36:11,400 Çıxır, C yoxdur bu hərfi söz və ya. 1926 01:36:11,400 --> 01:36:12,880 >> Amma iki şaquli bar var. 1927 01:36:12,880 --> 01:36:15,463 Siz adətən Shift keçirilməsi üçün var Bir ABŞ klaviatura istifadə edirsinizsə, 1928 01:36:15,463 --> 01:36:18,910 və şaquli bar hit qayıdacaqsınız əsas yuxarıda düyməsini basın. 1929 01:36:18,910 --> 01:36:22,410 Amma bu şaquli bar şaquli bar deməkdir və ya. 1930 01:36:22,410 --> 01:36:26,220 >> Əgər, əksinə, biz istədik Not kimi, demək və, 1931 01:36:26,220 --> 01:36:28,180 biz işareti işareti edə bilər. 1932 01:36:28,180 --> 01:36:31,330 Ki, burada heç bir məntiqi əhəmiyyət kəsb edir Çünki bir insan bəlkə bilmədi 1933 01:36:31,330 --> 01:36:37,110 yazdığınız həm y və kiçik y və eyni xarakter kimi kapital Y. 1934 01:36:37,110 --> 01:36:39,470 Belə ki, ya biz burada nə niyyətindəyik. 1935 01:36:39,470 --> 01:36:46,280 >> Mən həm yerlərdə bunu əgər, və ya c So Paytaxt N, indi təkrar bərabərdir bərabərdir 1936 01:36:46,280 --> 01:36:49,390 Məntiqi məntiqi təkrar etmək. 1937 01:36:49,390 --> 01:36:51,200 İndi y edəbilərsiniz. 1938 01:36:51,200 --> 01:36:53,920 Və mən yenə bunu edə bilərsiniz kapital Y, və ya kapital N. 1939 01:36:53,920 --> 01:36:56,630 Mən əlavə əlavə edə bilər hələ birləşməsi. 1940 01:36:56,630 --> 01:36:58,810 >> Belə ki, bu bir məntiqi İndi insofar proqram 1941 01:36:58,810 --> 01:37:01,940 Mən məntiqi yoxlanılması alıram Bu dəyəri və ya bu dəyər. 1942 01:37:01,940 --> 01:37:06,420 Mən mütləq yoxdur iki IFS və ya başqa ifs ilə gəlib. 1943 01:37:06,420 --> 01:37:09,960 Mən, həqiqətən, bəzi birləşdirə bilər Bu şəkildə bir araya məntiq bağlı. 1944 01:37:09,960 --> 01:37:11,950 Belə ki, bu daha yaxşı olardı sadəcə çox dizayn 1945 01:37:11,950 --> 01:37:17,490 C aşağı halda y bərabərdir əgər söyləyərək, c paytaxtı Y bərabərdir əgər başqa, bəli çap 1946 01:37:17,490 --> 01:37:20,074 c bərabərdir əgər başqa, bəli çap başqa sözlə lower--, 1947 01:37:20,074 --> 01:37:21,990 siz yoxdur daha çox filialları. 1948 01:37:21,990 --> 01:37:28,840 Siz ekvivalenti bəzi birləşdirə bilər bu yolu kimi məntiqi filialları. 1949 01:37:28,840 --> 01:37:34,150 >> Belə ki, yalnız bir nəzər edək son tərkib hissəsi, bir final tikinti, 1950 01:37:34,150 --> 01:37:34,847 ki, C imkan verir. 1951 01:37:34,847 --> 01:37:36,930 Və biz geri gəlmək lazımdır hələ başqaları gələcək. 1952 01:37:36,930 --> 01:37:41,400 Və sonra biz baxaraq bağlamaq lazımdır kod deyil düzgünlüyünə at 1953 01:37:41,400 --> 01:37:46,070 Kodu əldə work-- lakin dizayn kodu və erkən həmin toxum əkmək. 1954 01:37:46,070 --> 01:37:51,337 >> Mənə irəli getmək və Burada yeni bir fayl açmaq. 1955 01:37:51,337 --> 01:37:51,920 Siz nə bilirik? 1956 01:37:51,920 --> 01:37:54,450 Mən yenidən həyata gedirəm eyni proqram, 1957 01:37:54,450 --> 01:37:55,940 lakin müxtəlif tikintinin istifadə edərək. 1958 01:37:55,940 --> 01:38:00,110 >> Belə ki, özümü vermək tez mənə imkan giriş CS50.h daxil 1959 01:38:00,110 --> 01:38:04,150 CS50 kitabxana üçün, printf üçün standart io.h. 1960 01:38:04,150 --> 01:38:06,510 Mənə int əsas etibarsız verin. 1961 01:38:06,510 --> 01:38:09,310 Və sonra burada, qoy Mənə irəli getmək və bunu. 1962 01:38:09,310 --> 01:38:12,010 >> Char c əvvəl kimi, char almaq olur. 1963 01:38:12,010 --> 01:38:16,770 Mən yeni tikintinin istifadə gedirəm nə xarakter, keçid now--? 1964 01:38:16,770 --> 01:38:19,820 Belə ki, keçid növ kimi Bir qatar parçaları keçid. 1965 01:38:19,820 --> 01:38:22,070 Və ya, həqiqətən, bu cür deyil bir başqa əgər, əgər başqa əgər, 1966 01:38:22,070 --> 01:38:23,980 lakin bir qədər fərqli yazılı. 1967 01:38:23,980 --> 01:38:25,490 >> A switch bu kimi görünür. 1968 01:38:25,490 --> 01:38:29,060 Siz keçid, və sonra nə xarakter və ya siz baxmaq istəyirəm sayı, 1969 01:38:29,060 --> 01:38:32,000 sonra bəzi buruq aşırma kimi Scratch, yalnız bu məhsulları nə demək. 1970 01:38:32,000 --> 01:38:33,480 Və sonra müxtəlif hallarda var. 1971 01:38:33,480 --> 01:38:34,830 >> Siz əgər başqa istifadə etməyin. 1972 01:38:34,830 --> 01:38:37,050 Siz sözün söz halda istifadə. 1973 01:38:37,050 --> 01:38:38,790 Və bu kimi bir şey demək olardı. 1974 01:38:38,790 --> 01:38:43,820 >> Belə ki, bir kiçik y halda, və ya kapitalın Y halda, 1975 01:38:43,820 --> 01:38:47,350 irəli getmək və bəli çap. 1976 01:38:47,350 --> 01:38:49,020 Və sonra keçid çıxmaq. 1977 01:38:49,020 --> 01:38:49,580 Bu belədir. 1978 01:38:49,580 --> 01:38:50,880 Biz tamamlayın. 1979 01:38:50,880 --> 01:38:57,270 >> belə danışmaq, əgər Else, aşağı halda n, və ya kapital N, 1980 01:38:57,270 --> 01:39:02,560 sonra irəli getmək və çap Həyata heç bir, sonra pozub. 1981 01:39:02,560 --> 01:39:08,022 Else-- və bu cür default halda indeed-- printf səhv, 1982 01:39:08,022 --> 01:39:10,980 və yalnız baxmayaraq, yaxşı tədbir üçün məntiqi bu fasilə lazım deyil 1983 01:39:10,980 --> 01:39:12,896 biz sonunda istəyirik, çünki hər halda keçid, 1984 01:39:12,896 --> 01:39:14,520 İndi keçid həyata qırılma alıram. 1985 01:39:14,520 --> 01:39:16,280 Belə ki, bu bir az fərqli görünür. 1986 01:39:16,280 --> 01:39:18,272 >> Lakin, məntiqi, bu həqiqətən ekvivalent. 1987 01:39:18,272 --> 01:39:19,980 Və niyə istifadə edir digər üzərində bir? 1988 01:39:19,980 --> 01:39:23,220 Bəzən, yalnız şəxsi üstünlük, bəzən estetik, 1989 01:39:23,220 --> 01:39:25,420 Bu nəzər əgər indi bir şey var 1990 01:39:25,420 --> 01:39:27,510 üçün belə bu Məcəllənin okunabilirlik. 1991 01:39:27,510 --> 01:39:30,690 Mən demək, bu ki, ağla heç vaxt code otağında bizə çox yeni. 1992 01:39:30,690 --> 01:39:33,515 >> Amma bu yalnız cür olduqca. 1993 01:39:33,515 --> 01:39:37,760 Siz kiçik y, paytaxt Y görmək aşağı halda n paytaxt N default, 1994 01:39:37,760 --> 01:39:40,150 yalnız cür jumps bir şəkildə siz həyata 1995 01:39:40,150 --> 01:39:42,200 arguably, bəlkə ki, əvvəlki misal 1996 01:39:42,200 --> 01:39:45,780 IFS və şaquli bar ilə, və başqa ifs, ola bilər. 1997 01:39:45,780 --> 01:39:51,600 Belə ki, bu şəxsi həqiqətən məsələsidir seçim, həqiqətən, və ya okunabilirlik, 1998 01:39:51,600 --> 01:39:52,360 kodu. 1999 01:39:52,360 --> 01:39:58,230 >> Amma funksionallıq baxımından, mənə imkan irəli getmək və keçid, dot çizgi etmək 2000 01:39:58,230 --> 01:40:05,830 switch, indi, kiçik y yazın Paytaxt Y, kiçik n, kapital N, 2001 01:40:05,830 --> 01:40:09,250 ki, çünki David, yeniden heç bir xarakter. 2002 01:40:09,250 --> 01:40:12,050 gözlənildiyi kimi ki, x, səhv edək. 2003 01:40:12,050 --> 01:40:15,640 Və logically-- və bu bir şey deyil Mən, ümumiyyətlə belə tavsiye ederim 2004 01:40:15,640 --> 01:40:17,790 biz yalnız cızma etdiyiniz Bu xüsusiyyətləri bəzi səthi. 2005 01:40:17,790 --> 01:40:20,560 >> Bu aydın ola bilər zaman Özünüzü, klaviatura aşağı oturmaq 2006 01:40:20,560 --> 01:40:21,370 necə işləyir? 2007 01:40:21,370 --> 01:40:22,240 Bu nə edərdiniz? 2008 01:40:22,240 --> 01:40:25,630 olmaması haqqında gözəl şey bir laptop və ya masa üstü, və ya giriş 2009 01:40:25,630 --> 01:40:29,290 bir compiler ilə kompüter, və bu kimi bir kod redaktoru ilə, 2010 01:40:29,290 --> 01:40:32,990 demək olar ki, həmişə bu cavab bilər yalnız çalışır özünüz üçün suallar. 2011 01:40:32,990 --> 01:40:36,570 >> Məsələn, ritorik əgər əl sual idi, 2012 01:40:36,570 --> 01:40:39,540 Siz unutmaq əgər nə olur Sizin break hesabatları? 2013 01:40:39,540 --> 01:40:41,400 Hansı həqiqətən, Bunu şey çox ümumi, 2014 01:40:41,400 --> 01:40:43,540 baxmaq deyil, çünki kimi, həqiqətən, onlara lazımdır. 2015 01:40:43,540 --> 01:40:46,790 Onlar, həqiqətən, tam olmayan bir mötərizə və ya buruq kimi fikir 2016 01:40:46,790 --> 01:40:47,714 brace edir. 2017 01:40:47,714 --> 01:40:49,630 Nin irəli gedək və Kodu compile və görürük. 2018 01:40:49,630 --> 01:40:53,690 Belə keçid, dot çizgi keçid etmək. 2019 01:40:53,690 --> 01:40:56,435 aşağı halda yazın edək y, top halda, daxil edin. 2020 01:40:56,435 --> 01:40:59,390 2021 01:40:59,390 --> 01:41:00,700 Mən y yazılmış. 2022 01:41:00,700 --> 01:41:04,420 >> proqram yox, bəli dedi, səhv, sanki onun mind dəyişir edildi. 2023 01:41:04,420 --> 01:41:09,280 nə olar, çünki bu cür idi bir keçid ilə ilk haldır ki, 2024 01:41:09,280 --> 01:41:13,899 matçında mahiyyətcə deməkdir hey kompüter, altında bütün kodu icra. 2025 01:41:13,899 --> 01:41:16,690 Və demək yoxsa break, və ya fasilə demək deyil, və ya fasilə demək deyil, 2026 01:41:16,690 --> 01:41:19,540 kompüter əsəcək gedir o xətləri bütün vasitəsilə 2027 01:41:19,540 --> 01:41:22,779 qədər onların hamısı icra bu buruq brace olur. 2028 01:41:22,779 --> 01:41:24,320 Belə ki frenler, həqiqətən, vacibdir. 2029 01:41:24,320 --> 01:41:27,120 Amma burada bir paket, zaman Şübhə, bir şey keçir. 2030 01:41:27,120 --> 01:41:29,510 Bəlkə ilk kodu saxlamaq, və ya əlavə fayl saxlamaq 2031 01:41:29,510 --> 01:41:32,930 Siz həqiqətən narahat olduğunuz halda qədər messing və bərpa olan 2032 01:41:32,930 --> 01:41:34,430 Bildiyiniz iş çalışır. 2033 01:41:34,430 --> 01:41:35,410 >> Amma hər şeyi cəhd edin. 2034 01:41:35,410 --> 01:41:38,074 Və bəlkə də, kimi qorxma kompüter edə bilər nə, 2035 01:41:38,074 --> 01:41:39,490 və ya bir şey qırmaq bilər ki. 2036 01:41:39,490 --> 01:41:42,790 Siz həmişə geri dönmek bilər bir əvvəlki versiyası. 2037 01:41:42,790 --> 01:41:45,640 >> Belə ki, baxaraq son qoy kod dizayn. 2038 01:41:45,640 --> 01:41:49,020 Biz yazmaq üçün bu imkanı var şərait və yazmaq loops, 2039 01:41:49,020 --> 01:41:50,850 və dəyişənlərin və zəng funksiyaları. 2040 01:41:50,850 --> 01:41:54,590 Belə ki, səmimi, biz geri gözləyirik biz, Not ilə bir həftə əvvəl idi 2041 01:41:54,590 --> 01:42:00,120 bir az çekici mətn ilə də olsa Not artıq mühit imkan verir. 2042 01:42:00,120 --> 01:42:03,990 >> Amma biz əldə etdik necə tez hiss Bu belə ki, lüğət, 2043 01:42:03,990 --> 01:42:07,570 in endirmək üçün bir az gedir, Biz indi bu söz istifadə edə bilərsiniz ki 2044 01:42:07,570 --> 01:42:10,320 daha maraqlı proqramları yazmaq üçün. 2045 01:42:10,320 --> 01:42:12,940 Və bir körpə addım götürək ki doğru olaraq belə. 2046 01:42:12,940 --> 01:42:14,890 Mənə davam edək Burada yeni bir fayl yaratmaq. 2047 01:42:14,890 --> 01:42:17,750 >> Mən bu zəng etmək üçün gedirəm prototype.c və təqdim 2048 01:42:17,750 --> 01:42:20,954 ilk dəfə, qabiliyyəti Öz funksiyalarını etmək. 2049 01:42:20,954 --> 01:42:22,870 Əgər bəziləri ola bilər Scratch ilə bunu, 2050 01:42:22,870 --> 01:42:25,430 vasitəsi yaratmaq bilərsiniz Not öz xüsusi blokları, 2051 01:42:25,430 --> 01:42:27,892 və sonra yer onları sürükleyin yerdə C. istədiyiniz 2052 01:42:27,892 --> 01:42:30,100 Və ən proqramlaşdırma dil, tam edə bilərsiniz 2053 01:42:30,100 --> 01:42:33,580 that-- öz funksiyalarını etmək Onlar artıq yoxdur, əgər. 2054 01:42:33,580 --> 01:42:38,660 >> Belə ki, məsələn, mənə irəli gedək və cs50.h daxildir, və daxildir 2055 01:42:38,660 --> 01:42:43,110 standart io.h, int əsas etibarsız. 2056 01:42:43,110 --> 01:42:46,020 İndi biz bir var getmək üçün hazır tutucu. 2057 01:42:46,020 --> 01:42:48,550 Mən çap şeyi saxlamaq insanların adları bu gün kimi. 2058 01:42:48,550 --> 01:42:51,910 Və like-- hiss gözəl ola bilməz, əgər orada 2059 01:42:51,910 --> 01:42:53,936 print adını funksiyası idi? 2060 01:42:53,936 --> 01:42:55,060 Mən printf istifadə etmək yoxdur. 2061 01:42:55,060 --> 01:42:56,976 Mən xatırlayıram yoxdur bütün format kodları. 2062 01:42:56,976 --> 01:43:00,050 Nə mən, ya nə , Məndən əvvəl kimsə etmədi 2063 01:43:00,050 --> 01:43:02,980 bir funksiyası adlanır çap yaratmaq adı bir adı verilmişdir ki, 2064 01:43:02,980 --> 01:43:03,980 sadəcə çap? 2065 01:43:03,980 --> 01:43:08,700 >> Başqa sözlə, mən, hey, demək kompüter, mənə bir string vermək 2066 01:43:08,700 --> 01:43:11,870 Belə istifadəçi xahiş, CS50 get string funksiyası vasitəsilə. 2067 01:43:11,870 --> 01:43:15,090 Hey, kompüter, ki, simli qoymaq sol tərəfində dəyişən, 2068 01:43:15,090 --> 01:43:16,150 və bu s zəng. 2069 01:43:16,150 --> 01:43:22,150 Və sonra, kompüter hey, davam və şəxsin adı, görülən ki, çap. 2070 01:43:22,150 --> 01:43:26,240 >> İndi, bu, gözəl çünki olardı Bu proqram, tutarlı adlı 2071 01:43:26,240 --> 01:43:29,170 bunu ehtimal nə mənə deyir o funksiyasının adları yolu ilə. 2072 01:43:29,170 --> 01:43:32,930 Mənə getmək və prototip etmək daxil edin edək. 2073 01:43:32,930 --> 01:43:34,930 Və təəssüf ki, Bu uçmaq niyyətində deyil. 2074 01:43:34,930 --> 01:43:39,430 >> Prototype.c, line 7, karakter 5, səhv, gizli bəyannamə 2075 01:43:39,430 --> 01:43:42,960 funksiyası print adı C99, C99 yanlışdır 2076 01:43:42,960 --> 01:43:45,130 C versiyası deməkdir ki, 1999-cu ildə çıxdı. 2077 01:43:45,130 --> 01:43:45,730 Bu hamısıdır. 2078 01:43:45,730 --> 01:43:48,780 >> Mən bilmirəm nə Bütün bu hələ deməkdir. 2079 01:43:48,780 --> 01:43:50,810 Amma qırmızı səhv tanımaq yoxdur. 2080 01:43:50,810 --> 01:43:51,770 Bu olduqca aydın deyil. 2081 01:43:51,770 --> 01:43:53,769 >> Və bu ilə görünür Burada yaşıl xarakteri, 2082 01:43:53,769 --> 01:43:57,520 məsələ print adı ilə açıq paren s, yaxın paren, yarı kolon. 2083 01:43:57,520 --> 01:44:01,800 Amma gizli bəyannamə funksiyası biz qısa əvvəllər gördünüz. 2084 01:44:01,800 --> 01:44:04,880 Bu ki, sadəcə deməkdir cingilti Mən demək nə bilmir. 2085 01:44:04,880 --> 01:44:09,000 >> bu ki, mən bir söz söz istifadə etdiyiniz görüldü və ya əvvəl tədris heç vaxt. 2086 01:44:09,000 --> 01:44:11,950 Və mən onu öyrətmək lazımdır bu funksiya nə deməkdir. 2087 01:44:11,950 --> 01:44:13,590 Mən irəli getmək və bunu gedirəm. 2088 01:44:13,590 --> 01:44:17,970 >> Mən irəli getmək və həyata keçirilməsi üçün gedirəm Print adını öz funksiyası. 2089 01:44:17,970 --> 01:44:24,720 Aşağıdakı kimi Mən ki, demək gedirəm Bu, printf, salam, yüzdə yoxdur 2090 01:44:24,720 --> 01:44:27,760 s, backslash n, adı, yarı kolon. 2091 01:44:27,760 --> 01:44:29,250 Mən yalnız nə idi? 2092 01:44:29,250 --> 01:44:31,325 >> Belə ki, çıxır Öz funksiyasını həyata 2093 01:44:31,325 --> 01:44:33,845 biz növ bəzi borc Əsas eyni strukturu 2094 01:44:33,845 --> 01:44:35,720 biz yalnız oldum ki, qəbul üçün verilən və mən 2095 01:44:35,720 --> 01:44:37,730 bilirsiniz çıxarmaq və olduqca çox nə sovuşdurmaq 2096 01:44:37,730 --> 01:44:39,170 Mən keçmişdə yazılı etdik. 2097 01:44:39,170 --> 01:44:40,570 Amma burada model bilərsiniz. 2098 01:44:40,570 --> 01:44:43,750 Int, Main, Ləğv, biz ayrı tease lazımdır uzun əvvəl həqiqətən nə deməkdir. 2099 01:44:43,750 --> 01:44:46,160 >> Amma bu gün üçün, yalnız paralellik bilərsiniz. 2100 01:44:46,160 --> 01:44:48,210 Void, çap adı, string adı, belə ki, var 2101 01:44:48,210 --> 01:44:50,310 bənövşəyi söz olan biz başlamaq olacaq 2102 01:44:50,310 --> 01:44:54,067 bir qaytarılması növü zəng adı funksiyası, və sonra daxil. 2103 01:44:54,067 --> 01:44:56,400 Belə ki, həqiqətən, biz çəkmək bilər kimi ötən həftə bu cür 2104 01:44:56,400 --> 01:44:59,030 Bu adı və ya kimi biz istəyirik kodu alqoritm 2105 01:44:59,030 --> 01:45:00,761 yazma gedir əsas alqoritm 2106 01:45:00,761 --> 01:45:02,010 code biz yazmaq olacaq. 2107 01:45:02,010 --> 01:45:03,180 >> Bu giriş edir. 2108 01:45:03,180 --> 01:45:04,670 Bu, onun çıxış edir. 2109 01:45:04,670 --> 01:45:08,730 Bu funksiya, çap adı, adını bir simli almaq üçün nəzərdə tutulmuşdur 2110 01:45:08,730 --> 01:45:11,350 və ya nə olursa olsun, giriş kimi, sonra etibarsız. 2111 01:45:11,350 --> 01:45:13,904 Bu heç bir şey geri deyil kimi simli almaq və ya int deyil almaq. 2112 01:45:13,904 --> 01:45:15,570 Belə ki, geri mənə bir şey əldən olacaq. 2113 01:45:15,570 --> 01:45:17,960 Bu, sadəcə bir var olacaq yan təsiri, belə danışmaq, 2114 01:45:17,960 --> 01:45:19,570 bir şəxsin adı çap. 2115 01:45:19,570 --> 01:45:22,260 Mən line 7, qeyd print adı zəng edə bilərsiniz. 2116 01:45:22,260 --> 01:45:25,920 Line 10, mən müəyyən edə bilərsiniz və ya çap adını həyata keçirir. 2117 01:45:25,920 --> 01:45:28,450 Amma təəssüf ki, ki, kifayət qədər deyil. 2118 01:45:28,450 --> 01:45:31,230 >> Mənə davam edək qənaət sonra bu compile. 2119 01:45:31,230 --> 01:45:33,910 Whoa, indi mən bunu etdik pis görünür. 2120 01:45:33,910 --> 01:45:37,027 Belə ki, gizli bəyannamə funksiyası print səhvdir. 2121 01:45:37,027 --> 01:45:38,360 Və yenə, daha səhvlər var. 2122 01:45:38,360 --> 01:45:41,430 Amma hətta əvvəllər xəbərdarlıq kimi ilə overwhelmed almaq, 2123 01:45:41,430 --> 01:45:44,850 və ya bir az kədərli bir çox görmək səhvlər, ilk yalnız diqqət 2124 01:45:44,850 --> 01:45:47,500 ilkin çünki güc yalnız kaskad təsiri var. 2125 01:45:47,500 --> 01:45:51,970 , Daha çox xüsusi C, və ya cingilti So hələ print adı tanımır. 2126 01:45:51,970 --> 01:45:54,580 >> Və çünki cingilti var dizayn cür lal edir. 2127 01:45:54,580 --> 01:45:56,280 Bu, yalnız nə demək nə. 2128 01:45:56,280 --> 01:46:00,950 Və yalnız üçün belə yoxdur Siz nə demək. 2129 01:46:00,950 --> 01:46:05,270 >> Mən xətt dörd əsas müəyyən etmişik kimi biz olduqca tez-tez bunu etdik. 2130 01:46:05,270 --> 01:46:07,980 Mən line 10 print adı müəyyən etdik. 2131 01:46:07,980 --> 01:46:11,793 Amma istifadə çalışıram line yeddi çap adı. 2132 01:46:11,793 --> 01:46:13,670 >> Bu da tezliklə hələ mövcud deyil ki. 2133 01:46:13,670 --> 01:46:19,150 Mən ağıllı ola bilər, və kimi ola bilər, OK, belə ki, yalnız birlikdə oynamaq imkan, 2134 01:46:19,150 --> 01:46:23,680 və çap adını hərəkət burada və yenidən tərtib edir. 2135 01:46:23,680 --> 01:46:24,550 Aman Tanrım. 2136 01:46:24,550 --> 01:46:25,260 Bu çalışmışdır. 2137 01:46:25,260 --> 01:46:26,670 Bu kimi sadə idi. 2138 01:46:26,670 --> 01:46:28,120 >> Amma məntiq məhz edir. 2139 01:46:28,120 --> 01:46:30,870 Siz cingilti öyrətmək lazımdır nə ilk funksiyası müəyyən edir. 2140 01:46:30,870 --> 01:46:31,920 Sonra istifadə edə bilərsiniz. 2141 01:46:31,920 --> 01:46:33,940 Amma səmimi, bu hiss sürüşkən yamacında kimi. 2142 01:46:33,940 --> 01:46:35,773 >> Belə ki, hər dəfə run bir problem daxil, mən yalnız deyiləm 2143 01:46:35,773 --> 01:46:39,450 vurğulamaq və kodu kopyalayın gedir Mən onu kəsmək və burada onu yapışdırıb yazdı. 2144 01:46:39,450 --> 01:46:41,370 Və şübhəsiz ki, biz bilər bəzi ssenarilər contrive 2145 01:46:41,370 --> 01:46:43,286 burada bir funksiyası bilər başqa zəng etmək lazımdır. 2146 01:46:43,286 --> 01:46:46,030 Və yalnız hər qoymaq bilməz hər yuxarıda funksiyası. 2147 01:46:46,030 --> 01:46:47,930 >> Belə ki, orada çıxır Daha yaxşı həlli. 2148 01:46:47,930 --> 01:46:50,100 Biz bu ola bilər. 2149 01:46:50,100 --> 01:46:53,677 Və səmimi, bu, ümumiyyətlə, gözəl və rahat və yaxşı dizayn 2150 01:46:53,677 --> 01:46:56,760 Çünki, yenə ilk əsas qoymaq, Yalnız yaşıl bayraq tıklandığında kimi əsas, 2151 01:46:56,760 --> 01:46:59,027 ki, funksiyası ki, ismarıcları icra olur. 2152 01:46:59,027 --> 01:47:01,110 Belə ki, həmçinin qoymaq bilər fayl üst bu 2153 01:47:01,110 --> 01:47:03,560 ki, siz və ya hər hansı zaman digər insan fayl baxır 2154 01:47:03,560 --> 01:47:06,360 Siz neler bilirik yalnız əsas ilk oxuyaraq. 2155 01:47:06,360 --> 01:47:15,360 O çıxır ki, biz cingilti deyə bilərsiniz fəal, hey, cingilti, xətti dörd, 2156 01:47:15,360 --> 01:47:17,940 Mən həyata keçirilməsi üçün söz bir funksiyası adlanır Print 2157 01:47:17,940 --> 01:47:22,600 simli adlı adını alır Adı giriş, və gəlirlər heç bir şey, etibarsız kimi. 2158 01:47:22,600 --> 01:47:24,770 Mən ətrafında almaq lazımdır sonra həyata. 2159 01:47:24,770 --> 01:47:25,680 >> Burada əsas gəlir. 2160 01:47:25,680 --> 01:47:29,130 İndi line 9 istifadə edə bilərsiniz Main Print Adı çünki cingilti 2161 01:47:29,130 --> 01:47:32,600 nəhayət ki, imanın, Bu müəyyən qarşılaşacaq 2162 01:47:32,600 --> 01:47:34,880 Print adı həyata keçirilməsi. 2163 01:47:34,880 --> 01:47:37,390 Belə ki, mənim fayl qənaət sonra, imkan Mənə davam və prototip etmək, 2164 01:47:37,390 --> 01:47:38,498 bu dəfə yaxşı görünür. 2165 01:47:38,498 --> 01:47:43,470 Dot prototip, mənə bildirin, çizgi irəli getmək və bir ad yazın. 2166 01:47:43,470 --> 01:47:48,440 David, hello David, Zamila, salam Zamila və həqiqətən, indi işləyir. 2167 01:47:48,440 --> 01:47:52,200 >> Belə ki, burada tərkib hissəsi biz etdik ki xüsusi kimi, xüsusi funksiyası etdi 2168 01:47:52,200 --> 01:47:54,219 Scratch blok biz zəng edirik. 2169 01:47:54,219 --> 01:47:57,010 Amma Not fərqli olaraq burada siz yalnız yaratmaq və istifadə başlamaq, 2170 01:47:57,010 --> 01:47:59,330 İndi biz bir olmalıdır Daha xırdaçı az 2171 01:47:59,330 --> 01:48:03,410 və həqiqətən cingilti məşq istifadə etmək, və ya gözləmək. 2172 01:48:03,410 --> 01:48:09,140 İndi bir kənara, bütün bu dəfə niyə biz, o cümlədən iman yalnız kor-koranə olmuşdur 2173 01:48:09,140 --> 01:48:12,170 standart io.h o cümlədən CS50.h və? 2174 01:48:12,170 --> 01:48:15,190 >> Bəli, bu çıxır, bir neçə digər şeylər arasında, 2175 01:48:15,190 --> 01:48:18,550 bütün bu dot saat var baş faylları, faylları olmaq. 2176 01:48:18,550 --> 01:48:20,460 Onlar danışmaq faylları header edirik. 2177 01:48:20,460 --> 01:48:23,270 Onlar hələ də C. yazılı ama onlar fayl müxtəlif növü istəyirik. 2178 01:48:23,270 --> 01:48:28,690 >> İndi, siz olduqca çox kəsb edə bilər Cs50.h daxilində deyil ki, bütün 2179 01:48:28,690 --> 01:48:33,360 bu kimi bəzi bir-liners deyil Print adını funksiyaları üçün, 2180 01:48:33,360 --> 01:48:36,840 lakin string almaq üçün alın Float və bir neçə başqaları. 2181 01:48:36,840 --> 01:48:41,510 Və oxşar prototipləri var, standart io.h daxilində bir liners, 2182 01:48:41,510 --> 01:48:46,241 indi printf üçün Öz Print adı funksiyası. 2183 01:48:46,241 --> 01:48:49,490 Belə ki, başqa sözlə, bu bütün vaxt biz sizin yalnız kor-koranə çıxarmaq və sovuşdurmaq edilmişdir 2184 01:48:49,490 --> 01:48:51,780 daxildir, bu daxildir ki, nə olub? 2185 01:48:51,780 --> 01:48:55,310 Həmin ipuçları yalnız cür nə funksiyaları kimi cingilti etmək 2186 01:48:55,310 --> 01:49:00,170 , Həqiqətən, yalnız həyata keçirilir başqa müxtəlif fayllar 2187 01:49:00,170 --> 01:49:02,440 başqa sistemi. 2188 01:49:02,440 --> 01:49:05,160 >> Beləliklə, biz print adını həyata etdik. 2189 01:49:05,160 --> 01:49:07,910 Bu bu yan təsiri yoxdur ekranda bir şey çap. 2190 01:49:07,910 --> 01:49:10,170 Amma bu, həqiqətən deyil geri mənə bir şey əl. 2191 01:49:10,170 --> 01:49:12,200 biz getmək necə bir proqram həyata ki, 2192 01:49:12,200 --> 01:49:14,510 geri mənə bir şey əl edir? 2193 01:49:14,510 --> 01:49:15,580 >> Yaxşı, bu cəhd edək. 2194 01:49:15,580 --> 01:49:21,360 Mənə davam və həyata keçirilməsi edək bir fayl deyilən return.c 2195 01:49:21,360 --> 01:49:24,530 belə ki, biz necə bir şey nümayiş edə bilər kimi string almaq, və ya int almaq, 2196 01:49:24,530 --> 01:49:27,340 həqiqətən qaytarılması deyil istifadəçi geri bir şey. 2197 01:49:27,340 --> 01:49:29,840 Nin irəli getmək və int əsas etibarsız müəyyən edək. 2198 01:49:29,840 --> 01:49:33,230 >> Və yenə, gələcəkdə alacağıq ki, int ki boşluğu izah 2199 01:49:33,230 --> 01:49:34,090 həqiqətən edir. 2200 01:49:34,090 --> 01:49:35,840 Amma bu gün, biz lazımdır verilən üçün almaq. 2201 01:49:35,840 --> 01:49:39,970 Mən irəli və printf getmək üçün gedirəm yaxşı bir istifadəçi experience üçün, x. 2202 01:49:39,970 --> 01:49:44,360 Və sonra mən gözləmək gedirəm istifadəçi get int x mənə vermək. 2203 01:49:44,360 --> 01:49:48,459 >> Və sonra mən irəli getmək üçün gedirəm və kvadrat x çap. 2204 01:49:48,459 --> 01:49:50,500 Belə ki, yalnız bir zaman adətən klaviatura, insanlar 2205 01:49:50,500 --> 01:49:52,600 az kök istifadə klaviatura simvolu 2206 01:49:52,600 --> 01:49:55,330 hakimiyyətə təmsil etmək of, və ya eksponent. 2207 01:49:55,330 --> 01:49:58,960 Belə ki, kvadrat x i edir. 2208 01:49:58,960 --> 01:50:00,660 >> İndi mən bunu gedirəm. 2209 01:50:00,660 --> 01:50:03,940 Mən x nə do-- bilər kvadrat? x kvadrat x dəfə x. 2210 01:50:03,940 --> 01:50:06,690 >> Və biz etdik bu bir müddət əvvəl artıq bu gün. 2211 01:50:06,690 --> 01:50:08,730 Bu kimi hiss etmir bütün çox irəliləyiş. 2212 01:50:08,730 --> 01:50:09,570 Siz nə bilirik? 2213 01:50:09,570 --> 01:50:13,100 ki fikir bəzi leverage edək abstraksiya son dəfə. 2214 01:50:13,100 --> 01:50:16,080 >> əgər gözəl olmazdı adlı bir funksiyası var 2215 01:50:16,080 --> 01:50:18,460 dəqiq ki, yoxdur kvadrat? 2216 01:50:18,460 --> 01:50:20,640 sonunda hələ ki, gün, eyni riyaziyyat yoxdur. 2217 01:50:20,640 --> 01:50:22,410 Amma mücərrəd edək alaraq üz fikir 2218 01:50:22,410 --> 01:50:25,280 bir sıra vurulur başqa, yalnız bir ad vermək, 2219 01:50:25,280 --> 01:50:27,360 kimi bu dəyər kvadrat. 2220 01:50:27,360 --> 01:50:29,560 >> Və başqa sözlə, da C, bir funksiyası yaratmaq imkan 2221 01:50:29,560 --> 01:50:32,660 dəqiq ki, yoxdur adlı kvadrat. 2222 01:50:32,660 --> 01:50:34,600 Bu kvadrat adlandırmaq olacaq. 2223 01:50:34,600 --> 01:50:35,790 Bu int almaq olacaq. 2224 01:50:35,790 --> 01:50:37,820 Və biz lazımdır yalnız olacaq Mənim cari olaraq, n zəng. 2225 01:50:37,820 --> 01:50:39,403 >> Amma biz istəyirik bir şey zəng edə bilər. 2226 01:50:39,403 --> 01:50:42,900 Və bütün bu olacaq ki, sanki dönüşü, nə 2227 01:50:42,900 --> 01:50:45,810 n dəfə n nəticəsidir. 2228 01:50:45,810 --> 01:50:48,980 Amma, çünki Bir şey qaytarılması olan 2229 01:50:48,980 --> 01:50:53,690 biz sizin bənövşəyi söz deyil heç mən line 11, əvvəl görüldü, 2230 01:50:53,690 --> 01:50:55,410 yalnız bu zaman boşluq deyə bilmərəm. 2231 01:50:55,410 --> 01:51:01,320 >> Void Məsələn biz yalnız gördüm print adı deyil, yalnız deməkdir 2232 01:51:01,320 --> 01:51:02,190 nəsə et. 2233 01:51:02,190 --> 01:51:04,170 Amma geri mənə bir şey əl deyil. 2234 01:51:04,170 --> 01:51:06,790 Bu halda, mən istəyirəm n dəfə n qayıtmaq üçün, 2235 01:51:06,790 --> 01:51:08,460 və ya nə, ki sayı. 2236 01:51:08,460 --> 01:51:12,460 >> Mən deyə bilmərəm, hey, kompüter, Mən etibarsız, heç bir şey qayıtmaq. 2237 01:51:12,460 --> 01:51:16,166 Bu təbiət, bir int geri olacaq. 2238 01:51:16,166 --> 01:51:17,790 Və belə ki, burada davam ki, bütün var. 2239 01:51:17,790 --> 01:51:20,070 >> input kvadrat bir int olacaq. 2240 01:51:20,070 --> 01:51:24,760 biz bunu istifadə edə bilərsiniz ki, bu var bir adı var, N. çıxış olacaq 2241 01:51:24,760 --> 01:51:26,240 bir ad lazım deyil ki, bir int. 2242 01:51:26,240 --> 01:51:29,590 Biz əsas onu tərk edə bilər, və ya kim var Məni istifadə edərək biz bu dəyər yadda 2243 01:51:29,590 --> 01:51:31,120 öz dəyişən ilə istədiyiniz. 2244 01:51:31,120 --> 01:51:33,230 >> Və yenə yalnız yeni burada söz Return edir. 2245 01:51:33,230 --> 01:51:34,480 Mən yalnız bir riyaziyyat edirəm. 2246 01:51:34,480 --> 01:51:41,825 Mən, həqiqətən, lazımsız olmaq istəyirdi, Mən int məhsul n dəfə n olur deyə bilər. 2247 01:51:41,825 --> 01:51:44,170 >> Və sonra mən məhsul qayıtmaq, deyə bilər. 2248 01:51:44,170 --> 01:51:47,360 Ancaq yenə mənim əvvəlki Bu yalnız olmayan yaxşı design-- 2249 01:51:47,360 --> 01:51:50,060 kimi, niyə bir ad təqdim, simvolu, məhsul kimi, 2250 01:51:50,060 --> 01:51:51,570 yalnız dərhal qayıtmaq? 2251 01:51:51,570 --> 01:51:53,670 Bu, bir az təmiz bir az daha möhkəm, belə ki, 2252 01:51:53,670 --> 01:51:59,380 yalnız geri n dəfə demək, danışmaq n, tamamilə bu xəttin xilas. 2253 01:51:59,380 --> 01:52:02,860 >> Bu oxumaq üçün yalnız az code var səhvlər az imkanı. 2254 01:52:02,860 --> 01:52:05,180 Və bu halda görək həqiqətən indi işləyir. 2255 01:52:05,180 --> 01:52:09,380 İndi getmək üçün gedirəm irəli və geri edir. 2256 01:52:09,380 --> 01:52:11,460 >> Uh-oh, funksiyası gizli bəyannamə. 2257 01:52:11,460 --> 01:52:14,080 Mən əvvəl heç bir böyük, bu səhv etdi. 2258 01:52:14,080 --> 01:52:18,950 Mənə yalnız yazın edək, və ya qeyd və surəti, eyni funksiyası prototip, 2259 01:52:18,950 --> 01:52:21,342 və ya imza, burada funksiyası. 2260 01:52:21,342 --> 01:52:22,800 Və ya bütün funksiyası hərəkət edə bilər. 2261 01:52:22,800 --> 01:52:23,841 >> Amma bir az tənbəl var. 2262 01:52:23,841 --> 01:52:24,870 Belə ki, nə olacaq. 2263 01:52:24,870 --> 01:52:27,960 İndi mənə geri edək yenə çizgi geri nöqtə. 2264 01:52:27,960 --> 01:52:32,790 >> x 2. x kvadrat 4 edir. x 3. x kvadrat 9 edir. 2265 01:52:32,790 --> 01:52:35,300 Və funksiyası görünür indi iş üçün. 2266 01:52:35,300 --> 01:52:36,550 Belə ki, fərq burada nə var? 2267 01:52:36,550 --> 01:52:42,520 Mən kvadrat deyirlər bir funksiyası var Mən giriş qoymaq bu halda. 2268 01:52:42,520 --> 01:52:43,830 Mən bir çıxış geri almaq. 2269 01:52:43,830 --> 01:52:46,210 Və hələ, əvvəllər, əgər Mən digər nümunə açmaq 2270 01:52:46,210 --> 01:52:51,640 Əvvəllər yaranan , Prototype.c adlı idi 2271 01:52:51,640 --> 01:52:54,770 Mən print adı, olan belə danışmaq, etibarsız döndü 2272 01:52:54,770 --> 01:52:58,730 Yoxsa heç bir şey geri, və sadəcə bir yan təsiri var idi. 2273 01:52:58,730 --> 01:53:00,230 >> Belə ki, nə burada olub? 2274 01:53:00,230 --> 01:53:03,520 Yaxşı, funksiyası hesab yalnız bir an üçün simli almaq. 2275 01:53:03,520 --> 01:53:06,570 Biz funksiyası istifadə etdik aşağıdakı şəkildə string almaq. 2276 01:53:06,570 --> 01:53:10,464 >> Biz bir funksiyası almaq etdik string kimi, cs50.h daxildir 2277 01:53:10,464 --> 01:53:16,624 standart io.h, int, əsas, etibarsız daxildir. 2278 01:53:16,624 --> 01:53:18,790 Və sonra hər dəfə mən var indiyə qədər get string adlanır 2279 01:53:18,790 --> 01:53:23,260 Dedim bir şey string s, kimi get simli, çünki simli almaq olur 2280 01:53:23,260 --> 01:53:27,880 Bu get.c-- almaq simli zəng edək özü ki, mən bundan sonra simli qaytarır 2281 01:53:27,880 --> 01:53:32,050 vergül istifadə və salam demək, faiz s, backslash n, s. 2282 01:53:32,050 --> 01:53:35,660 >> Belə ki, bu eyni nümunə, Həqiqətən, biz əvvəllər idi. 2283 01:53:35,660 --> 01:53:37,920 Belə ki, simli bir dəyər qaytarır almaq. 2284 01:53:37,920 --> 01:53:41,260 Amma bir an əvvəl çap string bir dəyər qayıtmaq deyil. 2285 01:53:41,260 --> 01:53:42,721 Bu, sadəcə bir yan təsiri var. 2286 01:53:42,721 --> 01:53:44,220 Belə ki, bu bir fundamental fərqdir. 2287 01:53:44,220 --> 01:53:46,710 Biz müxtəlif gördüm İndi funksiyaları növləri, 2288 01:53:46,710 --> 01:53:49,490 olan bəzi qayıdıb dəyərlər, olan bəzi yoxdur. 2289 01:53:49,490 --> 01:53:51,890 Belə ki, bəlkə string və ya int və ya float var. 2290 01:53:51,890 --> 01:53:53,480 Və ya bəlkə yalnız etibarsız var. 2291 01:53:53,480 --> 01:53:55,710 >> Və fərq bu funksiyaları ki, 2292 01:53:55,710 --> 01:53:59,940 məlumat almaq və bir dəyər qayıtmaq həqiqətən masa geri bir şey gətirilməsi, 2293 01:53:59,940 --> 01:54:01,110 belə danışmaq. 2294 01:54:01,110 --> 01:54:03,710 Belə ki, irəli getmək və bir final set baxmaq 2295 01:54:03,710 --> 01:54:09,129 , indi, hissi verir nümunələri necə biz bilər, həqiqətən, mücərrəd daha yaxşı, 2296 01:54:09,129 --> 01:54:11,670 və daha yaxşı və daha yaxşı və ya daha çox, üçün, və daha çox, və daha çox 2297 01:54:11,670 --> 01:54:13,810 , Nəticədə, daha yaxşı kod yazmaq üçün. 2298 01:54:13,810 --> 01:54:16,860 Nin irəli getmək və ruh edək Not, aşağıdakı. 2299 01:54:16,860 --> 01:54:21,700 >> Mənə davam və daxil edək CS50.h və standart io.h. 2300 01:54:21,700 --> 01:54:24,010 Mənə davam və verək əsas özüm bir int, etibarsız. 2301 01:54:24,010 --> 01:54:27,380 Və mənə irəli getmək bu cough.c zəng edək. 2302 01:54:27,380 --> 01:54:35,510 >> Və mənə irəli və yalnız gedək Not kimi, öskürək / n çap. 2303 01:54:35,510 --> 01:54:37,170 Mən bu üç dəfə etmək istəyirəm. 2304 01:54:37,170 --> 01:54:39,670 Mən, əlbəttə, yalnız gedirəm surəti və üç dəfə yapışdırıb. 2305 01:54:39,670 --> 01:54:46,440 İndi etmək gidiyorum dot çizgi öskürək öskürək. 2306 01:54:46,440 --> 01:54:50,120 nin özümü bir az daha çox otaq verək Burada, öskürək, öskürək, öskürək, daxil edin. 2307 01:54:50,120 --> 01:54:53,970 >> artıq açıq-aydın var bir yaxşılaşdırılması üçün imkan. 2308 01:54:53,970 --> 01:54:55,679 Mən kopyalanamaz və yapışdırılır sonra bir neçə dəfə bu gün. 2309 01:54:55,679 --> 01:54:58,261 Mən nə qədər Amma bu yalnız idi kimi bir çox simvol yazın var. 2310 01:54:58,261 --> 01:55:00,250 Mən hələ dəyişib nə Kodu o xətləri var. 2311 01:55:00,250 --> 01:55:04,240 >> Bu üç xətləri, eynidir olan tənbəl hiss və həqiqətən, 2312 01:55:04,240 --> 01:55:07,110 və yəqin ki, doğru bir yanaşma deyil. 2313 01:55:07,110 --> 01:55:11,029 nə tərkib hissəsi ilə So biz bu kodu yaxşılaşdırılması bilər? 2314 01:55:11,029 --> 01:55:12,570 Biz surəti və yapışdırıb code yoxdur. 2315 01:55:12,570 --> 01:55:15,070 >> Və həqiqətən, heç bir zaman hiss Özünüzü çıxarmaq və sovuşdurmaq, 2316 01:55:15,070 --> 01:55:17,700 və hətta kodu dəyişən deyil odds daha yaxşı bir yol var var. 2317 01:55:17,700 --> 01:55:19,470 Və həqiqətən, var. 2318 01:55:19,470 --> 01:55:22,510 Mənə davam edək loop üçün etmək, baxmayaraq ki, syntax deyil bilər 2319 01:55:22,510 --> 01:55:24,570 hələ təbii gəlir. 2320 01:55:24,570 --> 01:55:29,494 >> sadəcə, bu üç dəfə nə aşağıdakı kimidir etməklə 2321 01:55:29,494 --> 01:55:31,160 Mən təcrübə bu bilmək baş verir. 2322 01:55:31,160 --> 01:55:32,810 Amma biz indi nümunələri bir sıra var. 2323 01:55:32,810 --> 01:55:34,950 Və siz online görürsünüz daha istinadlar. 2324 01:55:34,950 --> 01:55:37,790 >> Bu ki, xətt 6 sintaksis təkrar Not kimi çox 2325 01:55:37,790 --> 01:55:40,090 blok, aşağıdakı üç dəfə təkrar edin. 2326 01:55:40,090 --> 01:55:41,340 İndi bir az sehrli var. 2327 01:55:41,340 --> 01:55:43,050 Amma bu daha çox olacaq, və daha çox tanış. 2328 01:55:43,050 --> 01:55:45,050 >> Və təkrar olacaq line səkkiz üç dəfə 2329 01:55:45,050 --> 01:55:52,390 Mən əgər etmək öskürək yenidən tərtib ki, dot öskürək, öskürək, öskürək, öskürək doğramaq. 2330 01:55:52,390 --> 01:55:54,030 Bu hələ eyni şəkildə işləyir. 2331 01:55:54,030 --> 01:55:55,550 Belə ki, bütün gözəl və yaxşı. 2332 01:55:55,550 --> 01:55:58,200 Amma çox Abstrak deyil. 2333 01:55:58,200 --> 01:55:59,371 >> Bu mükəmməl doğru deyil. 2334 01:55:59,371 --> 01:56:01,370 Amma orada kimi hiss bir fürsət ola bilər 2335 01:56:01,370 --> 01:56:03,750 dünya kimi start cür Scratch, 2336 01:56:03,750 --> 01:56:07,530 ki, burada semantika əlavə etmək Mən yalnız loop üçün yoxdur 2337 01:56:07,530 --> 01:56:09,867 və bir funksiyası olduğunu deyir öskürək, və ya öskürək etmir. 2338 01:56:09,867 --> 01:56:10,450 Siz nə bilirik? 2339 01:56:10,450 --> 01:56:12,620 Mənə bir olmaq üçün cəhd edək daha az soyuq, 2340 01:56:12,620 --> 01:56:16,090 və həqiqətən bir funksiyası yazmaq bir yan təsiri var, bu öskürək zəng. 2341 01:56:16,090 --> 01:56:20,830 >> Və heç bir daxil edir və çıxış kimi heç bir dəyər qaytarır. 2342 01:56:20,830 --> 01:56:22,680 Amma bunu nə bilirik? 2343 01:56:22,680 --> 01:56:29,370 Bu şeylərdir printf edir dırnağı bağlamaq quote, öskürək. 2344 01:56:29,370 --> 01:56:32,380 >> İndi burada mən gedirəm irəli və int üçün getmək üçün, 2345 01:56:32,380 --> 01:56:36,070 i, i plus plus, sıfır olur i az 3. 2346 01:56:36,070 --> 01:56:39,770 Mən olan printf nə gedirəm arguably aşağı səviyyədə həyata keçirilməsi 2347 01:56:39,770 --> 01:56:40,270 detal. 2348 01:56:40,270 --> 01:56:41,353 Mən öskürək necə qayğı yoxdur. 2349 01:56:41,353 --> 01:56:43,240 Mən yalnız öskürək funksiyası istifadə etmək istəyirik. 2350 01:56:43,240 --> 01:56:44,840 Mən yalnız öskürək zəng etmək üçün gedirəm. 2351 01:56:44,840 --> 01:56:46,204 >> İndi dichotomy bilərsiniz. 2352 01:56:46,204 --> 01:56:49,370 Əgər deyilsə, siz bir funksiyası zəng zaman Bu tamamilə gözəl, giriş vermək istəyirəm. 2353 01:56:49,370 --> 01:56:51,780 Yalnız açıq paren, yaxın etmək paren, və siz tamamlayın. 2354 01:56:51,780 --> 01:56:56,271 >> Bir funksiyası müəyyən, və ya Bir funksiyasının prototip elan 2355 01:56:56,271 --> 01:56:58,770 Siz əvvəlcədən bilirsinizsə bu deyil hər hansı arqumentlər etmək niyyətindədir, 2356 01:56:58,770 --> 01:57:01,170 orada o mötərizədə etibarsız deyirlər. 2357 01:57:01,170 --> 01:57:05,660 Və müəyyən edir ki, siz təsadüfən sui-istifadə edəcək. 2358 01:57:05,660 --> 01:57:07,020 Mənə davam və öskürək edək. 2359 01:57:07,020 --> 01:57:08,540 Və, əlbəttə, mən səhv etdik. 2360 01:57:08,540 --> 01:57:10,410 >> Dammit, ki, var gizli bəyannamə. 2361 01:57:10,410 --> 01:57:11,325 Amma ki, gözəl var. 2362 01:57:11,325 --> 01:57:12,590 Bu, asan fix var. 2363 01:57:12,590 --> 01:57:18,240 Mən yalnız prototip ali lazımdır Mənim fayl Mən, həqiqətən, istifadə edirəm çox. 2364 01:57:18,240 --> 01:57:20,070 >> Belə ki, indi mənə öskürək yenə gözəl etmək edək. 2365 01:57:20,070 --> 01:57:20,790 İndi işləyir. 2366 01:57:20,790 --> 01:57:22,930 öskürək, öskürək, öskürək, öskürək olun. 2367 01:57:22,930 --> 01:57:25,930 Belə ki, biz, həqiqətən, olduğunu hesab edə bilər artıq bu problem mühəndislik. 2368 01:57:25,930 --> 01:57:26,763 Və həqiqətən, biz. 2369 01:57:26,763 --> 01:57:28,870 Bu yaxşı deyil bir proqram namizədi 2370 01:57:28,870 --> 01:57:31,930 üçün hazırda refactoring və nə etdiyini 2371 01:57:31,930 --> 01:57:35,645 iyerarxik parçalanma adlanır harada bəzi kodu almaq və sonra 2372 01:57:35,645 --> 01:57:38,790 belə ki, siz cür amil şeyi, onlara daha semantika isnad etmək, 2373 01:57:38,790 --> 01:57:40,930 və nəticədə uzun müddət təkrar. 2374 01:57:40,930 --> 01:57:43,490 Amma doğru bir bina blok var daha mürəkkəb proqramları 2375 01:57:43,490 --> 01:57:45,600 biz başlayacaq uzun əvvəl yazılı 2376 01:57:45,600 --> 01:57:50,090 Bizə söz üçün imkan verir hansı ilə daha yaxşı kod yazmaq üçün. 2377 01:57:50,090 --> 01:57:52,920 Və həqiqətən, əgər görək biz daha bu ümumiləşdirmək bilməz. 2378 01:57:52,920 --> 01:57:57,984 >> Bu bir az Topal görünür ki, mən, əsas, loop üçün bu lənətləmək haqqında narahat ehtiyac, 2379 01:57:57,984 --> 01:57:59,400 və təkrar öskürək zəng. 2380 01:57:59,400 --> 01:58:03,050 Niyə yalnız öskürək deyə bilməz üç dəfə öskürək edin 2381 01:58:03,050 --> 01:58:08,170 Başqa sözlə, niyə bilməz yalnız öskürək və bunu giriş verir? 2382 01:58:08,170 --> 01:58:11,270 >> Niyə yalnız, deyə bilmərəm Əsas öskürək üç dəfə. 2383 01:58:11,270 --> 01:58:13,150 İndi, bu cür sehrli edir. 2384 01:58:13,150 --> 01:58:14,540 Burada çox iterativ var. 2385 01:58:14,540 --> 01:58:15,940 Və bu, həqiqətən, bir körpə addım var. 2386 01:58:15,940 --> 01:58:19,250 >> Lakin qabiliyyəti demək line səkkiz üç dəfə öskürək, 2387 01:58:19,250 --> 01:58:20,730 yalnız çox daha çox oxunaqlı edir. 2388 01:58:20,730 --> 01:58:24,210 Və plus, mən bilmək yoxdur və ya öskürək həyata necə qayğı. 2389 01:58:24,210 --> 01:58:26,460 Və həqiqətən, daha sonra müddətli və final layihələr üçün, 2390 01:58:26,460 --> 01:58:29,150 Bir layihə ilə həll əgər bir sinif yoldaşı və ya iki sinif yoldaşları, 2391 01:58:29,150 --> 01:58:32,370 Siz olacaq ki, həyata lazımdır var, və ya iş bölmək istəyirəm. 2392 01:58:32,370 --> 01:58:34,650 >> Və qərar istəyirəm olacaq əvvəlcədən, kim nə olacaq, 2393 01:58:34,650 --> 01:58:35,483 və hansı ədəd? 2394 01:58:35,483 --> 01:58:37,520 Və bu gözəl ola bilməz əgər, məsələn, 2395 01:58:37,520 --> 01:58:40,100 yazı MAIN pulsuz, görülən almaq. 2396 01:58:40,100 --> 01:58:43,470 Və roommate və ya ortaq ümumiyyətlə, 2397 01:58:43,470 --> 01:58:45,230 öskürək həyata qayğısına qalır. 2398 01:58:45,230 --> 01:58:49,540 >> Bu bölmə, bu abstraksiya divarları, 2399 01:58:49,540 --> 01:58:52,310 abstraksiya və ya qat əgər siz super güclü olacaq 2400 01:58:52,310 --> 01:58:55,480 , Xüsusilə böyük çünki daha mürəkkəb proqramları və sistemləri, 2401 01:58:55,480 --> 01:59:00,070 Bir çox insanlar yaratmaq üçün imkan verir şeyi birlikdə və nəticədə 2402 01:59:00,070 --> 01:59:02,680 bu şəkildə birlikdə işlərini stitch. 2403 01:59:02,680 --> 01:59:05,332 Lakin, əlbəttə, biz İndi öskürək düzeltmek lazımdır. 2404 01:59:05,332 --> 01:59:07,290 Biz öskürək demək lazımdır ki, hey, siz nə bilirik? 2405 01:59:07,290 --> 01:59:11,230 Siz lazımdır olacaq input-- belə etibarsız, lakin int və indi. 2406 01:59:11,230 --> 01:59:15,170 Nin irəli getmək və daxil edək int öskürək. i sıfır olur. 2407 01:59:15,170 --> 01:59:16,890 >> i neçə dəfə azdır. 2408 01:59:16,890 --> 01:59:18,550 Mən üç əvvəl bildirib. 2409 01:59:18,550 --> 01:59:20,420 Amma mən istəyirəm nə deyil. 2410 01:59:20,420 --> 01:59:25,520 Mən ümumiləşdirilmiş ediləcək öskürək istəyirəm tekrarlamalar bir sıra dəstəkləyir. 2411 01:59:25,520 --> 01:59:28,800 >> Belə ki, həqiqətən, Mən istəyirəm n var, nə user mənə deyir. 2412 01:59:28,800 --> 01:59:31,620 İndi irəli getmək və çap öskürək demək olar. 2413 01:59:31,620 --> 01:59:34,750 Və nə olursa olsun sayı istifadəçi keçir 2414 01:59:34,750 --> 01:59:36,890 Hesab edirəm ki, bir neçə dəfə təkrarlamaq olacaq. 2415 01:59:36,890 --> 01:59:39,160 >> Günün sonunda So proqram eynidir. 2416 01:59:39,160 --> 01:59:42,820 Amma bu məhsulları bütün qeyd hətta başqa fayl ola bilər. 2417 01:59:42,820 --> 01:59:45,620 Həqiqətən, Mən bilmirəm an necə printf həyata keçirilir. 2418 01:59:45,620 --> 01:59:47,980 >> Mən almaq necə bu anda bilmirəm simli, və ya int almaq, və ya float almaq 2419 01:59:47,980 --> 01:59:48,646 həyata keçirilir. 2420 01:59:48,646 --> 01:59:50,930 Mən istəmirəm Mənim ekranda onları görmək. 2421 01:59:50,930 --> 01:59:55,320 Olduğu kimi, mən diqqət başlayan alıram Mənim proqram deyil, bu funksiyaları. 2422 01:59:55,320 --> 01:59:59,070 >> Belə ki, həqiqətən, tezliklə sizin kimi oxşar kodunu faktoring başlamaq, 2423 01:59:59,070 --> 02:00:01,397 biz hətta öskürək hərəkət edə bilər ayrı fayl? 2424 02:00:01,397 --> 02:00:02,730 Başqası bunu tətbiq edə bilər. 2425 02:00:02,730 --> 02:00:06,810 Və sizin və proqram olmaq çox gözəl və çox oxunaqlı, 2426 02:00:06,810 --> 02:00:10,830 arguably, həqiqətən dörd orada line proqramı. 2427 02:00:10,830 --> 02:00:13,510 >> Belə ki, indi irəli gedək və daha bir dəyişiklik. 2428 02:00:13,510 --> 02:00:16,180 Qeyd ki, mənim prototip üst qədər dəyişdirmək üçün var. 2429 02:00:16,180 --> 02:00:18,390 Mənə belə ki, düzeltmek bildirin Mən yelled almaq deyil. 2430 02:00:18,390 --> 02:00:22,580 >> öskürək olun, mənə bir dəfə öskürək run edək daha çox hələ də eyni şey bunu. 2431 02:00:22,580 --> 02:00:26,010 Amma indi, biz bir var fark bir final versiyası üçün tərkib hissəsi. 2432 02:00:26,010 --> 02:00:26,940 Siz nə bilirik? 2433 02:00:26,940 --> 02:00:29,040 Mən mütləq yalnız öskürək istəmirəm. 2434 02:00:29,040 --> 02:00:30,802 Mən daha çox ümumi bir şey etmək istəyirəm. 2435 02:00:30,802 --> 02:00:31,510 Belə ki, nə? 2436 02:00:31,510 --> 02:00:32,450 Mən bunu istəyirəm. 2437 02:00:32,450 --> 02:00:37,140 Mən çox Not kimi etmək istəyirəm , Görən bir demək blok, lakin yalnız 2438 02:00:37,140 --> 02:00:38,680 bir şey dəfə bəzi sayını deyirlər. 2439 02:00:38,680 --> 02:00:41,510 Mən bir çox xüsusi simli demək istəyirəm. 2440 02:00:41,510 --> 02:00:43,850 Və buna görə də, mən deyil yalnız öskürək demək istəyirəm. 2441 02:00:43,850 --> 02:00:47,660 Mən demək istəyirəm nə string qəbul edilir. 2442 02:00:47,660 --> 02:00:49,960 >> Belə ki, qeyd, mən ümumiləşdirilmiş sonra bu indi 2443 02:00:49,960 --> 02:00:53,110 demək yaxşı ad kimi hiss Bunun üçün ödəniş kimi, 2444 02:00:53,110 --> 02:00:55,530 Not fərqli olaraq, iki dəlilləri edir. 2445 02:00:55,530 --> 02:00:56,570 Bir simli edir. 2446 02:00:56,570 --> 02:00:57,300 One bir int edir. 2447 02:00:57,300 --> 02:00:58,130 >> Mən onlara keçid edə bilər. 2448 02:00:58,130 --> 02:01:00,713 Mən yalnız cür ideyası kimi ilk simli demək və sonra 2449 02:01:00,713 --> 02:01:01,940 neçə sonra dəfə. 2450 02:01:01,940 --> 02:01:03,970 Void hələ deməkdir heç bir şey geri deyil. 2451 02:01:03,970 --> 02:01:06,428 Bu yalnız vizual yan [kimi təsiri? Jordan?] 2452 02:01:06,428 --> 02:01:08,240 böyle bir şifahi yan təsiri. 2453 02:01:08,240 --> 02:01:12,630 Bu hələ bir şey n dəfə deyil qədər 0, lakin n bərabər deyil. 2454 02:01:12,630 --> 02:01:14,540 Bu n ümumi dəfə deməkdir. 2455 02:01:14,540 --> 02:01:16,540 Və sonra yalnız çap nə ki, simli edir. 2456 02:01:16,540 --> 02:01:19,060 Mən, həqiqətən, ümumiləşdirilmiş etdik kodu bu xətt. 2457 02:01:19,060 --> 02:01:22,460 Belə ki, indi, necə həyata yoxdur öskürək funksiyası? 2458 02:01:22,460 --> 02:01:25,520 >> Mən etibarsız öskürək edə bilərsiniz. 2459 02:01:25,520 --> 02:01:28,501 Və mən hələ necə edə bilər neçə dəfə öskürək istəyirəm. 2460 02:01:28,501 --> 02:01:29,250 Amma nə bilirik? 2461 02:01:29,250 --> 02:01:31,240 İndi demək ayaqla zərbə olar. 2462 02:01:31,240 --> 02:01:36,540 >> Mən demək zəng edə bilərsiniz söz öskürək, n keçən. 2463 02:01:36,540 --> 02:01:40,410 Mən də həyata keçirmək istəyirsinizsə, yalnız əyləncə üçün, bir asqırmaq funksiyası, 2464 02:01:40,410 --> 02:01:42,290 Mən dəfə bir sıra asqırmaq bilərsiniz. 2465 02:01:42,290 --> 02:01:47,300 Mən, çünki n yeniden edə bilərsiniz Bu çərçivədə və ya əhatə dairəsi ki, m qeyd 2466 02:01:47,300 --> 02:01:49,470 yalnız bu funksiya daxilində mövcuddur. 2467 02:01:49,470 --> 02:01:52,767 >> Və n bu çərçivədə yalnız burada bu funksiya daxilində mövcuddur. 2468 02:01:52,767 --> 02:01:54,600 Belə ki, biz geri gəlmək lazımdır çərçivəsində bu məsələlər. 2469 02:01:54,600 --> 02:02:01,160 Və burada, yalnız, demək gedirəm achoo, sonra n dəfə yarı kolon. 2470 02:02:01,160 --> 02:02:04,340 >> İndi, yalnız borc lazımdır Bu funksiya burada imza. 2471 02:02:04,340 --> 02:02:06,290 Belə ki, öskürək doğru deyil. 2472 02:02:06,290 --> 02:02:10,090 Void asqırmaq indi doğru deyil. 2473 02:02:10,090 --> 02:02:12,390 >> Və mən hələ demək lazımdır. 2474 02:02:12,390 --> 02:02:18,990 Mən demək, demək gedirəm string s, int n, yarı kolon. 2475 02:02:18,990 --> 02:02:22,010 Mən artıq engineering etdik Bu proqramın həyata heck. 2476 02:02:22,010 --> 02:02:23,760 >> Bu deyil mütləq bu demək 2477 02:02:23,760 --> 02:02:26,343 yazılı zaman nə etməli proqramların hətta sadə. 2478 02:02:26,343 --> 02:02:29,280 ki, açıq-aydın bir şey edin həqiqətən qısa, həqiqətən sadə, 2479 02:02:29,280 --> 02:02:31,800 və yenidən həyata yol çox kodu istifadə edərək. 2480 02:02:31,800 --> 02:02:34,560 Amma həqiqətən görmək və lazımdır vaxt bu nümunələr geri baxmaq 2481 02:02:34,560 --> 02:02:38,610 və həyata, oh, bu addımlar Biz, həqiqətən, ümumiləşdirmək etdi 2482 02:02:38,610 --> 02:02:40,797 bir şey amil, Günün sonunda qədər 2483 02:02:40,797 --> 02:02:42,380 Mənim code həqiqətən olduqca ağlabatan deyil. 2484 02:02:42,380 --> 02:02:45,960 Mən üç öskürək istəyirsinizsə, çünki dəfə sonra, üç dəfə asqırmaq 2485 02:02:45,960 --> 02:02:50,420 Mən sadəcə, bu təkrar gedirəm proqram öskürək etmək və öskürək axır. 2486 02:02:50,420 --> 02:02:53,620 Mən üç öskürək var və üç asqırarkn. 2487 02:02:53,620 --> 02:02:55,990 >> Və bu əsas paradiqma, Siz, 2488 02:02:55,990 --> 02:03:00,110 biz getmək bilər necə həqiqətən bir proqram həyata keçirir. 2489 02:03:00,110 --> 02:03:03,220 Amma yalnız indi nə edək biz bu zaman bütün bunu etdik 2490 02:03:03,220 --> 02:03:06,940 və nə final ədəd bəzi Bu sadə əmri arxasında. 2491 02:03:06,940 --> 02:03:09,620 Günün sonunda, biz sizin Bizim compiler kimi cingilti istifadə edilmişdir. 2492 02:03:09,620 --> 02:03:11,494 Biz mənbə yazılı olduğunuz Kodu onu konvertasiya 2493 02:03:11,494 --> 02:03:12,820 maşın kodu daxil cingilti vasitəsilə. 2494 02:03:12,820 --> 02:03:15,540 >> Və biz yalnız olun istifadə etdik belə ki, bizim tuş vuruşlarını asanlaşdırmaq üçün 2495 02:03:15,540 --> 02:03:20,740 biz yadda yoxdur ki, Cingilti özü o incantations. 2496 02:03:20,740 --> 02:03:22,640 Amma əslində, Marka bunu nədir? 2497 02:03:22,640 --> 02:03:24,750 Və öz növbəsində, nə Cingilti həqiqətən bunu? 2498 02:03:24,750 --> 02:03:28,790 >> biz sadələşdirilmiş var, baxmayaraq ki, çıxır deyərək bu gün müzakirə 2499 02:03:28,790 --> 02:03:33,090 Siz mənbə kodu almaq kimi keçmək verir bir compiler, giriş 2500 02:03:33,090 --> 02:03:35,750 maşın çıxdı kodu var çıxır 2501 02:03:35,750 --> 02:03:37,420 orada bir neçə müxtəlif addımlar. 2502 02:03:37,420 --> 02:03:41,940 Və tərtib çətir olur addımlar bütün dəstə müddəti. 2503 02:03:41,940 --> 02:03:43,970 Amma yalnız tease bildirin bu həqiqətən tez. 2504 02:03:43,970 --> 02:03:48,070 >> Bu bunu etdik çıxır ki, daha çox şey bir proqram run hər dəfə, 2505 02:03:48,070 --> 02:03:50,990 və ya hər dəfə mən bu gün bir proqram tərtib edir. 2506 02:03:50,990 --> 02:03:55,020 Belə ki, preprocessing aiddir C proqram bir şey şeylərdir, 2507 02:03:55,020 --> 02:03:58,720 biz təkrar görəcəksiniz kimi, ki, bu hash simvolu ilə başlayır 2508 02:03:58,720 --> 02:04:03,320 və ya burada hashtag simvolu deməkdir bir preprocessor direktiv var. 2509 02:04:03,320 --> 02:04:07,330 Bu hey, bu halda, o deməkdir kompüter, bu fayl ilə bir şey 2510 02:04:07,330 --> 02:04:09,430 Siz, həqiqətən, öz kodu tərtib əvvəl. 2511 02:04:09,430 --> 02:04:15,220 >> Bu halda, hash daxildir, mahiyyətcə, deyərək C yolu, 2512 02:04:15,220 --> 02:04:19,325 hey kompüter, məzmunu almaq getmək və cs50.h burada yapışdırın. 2513 02:04:19,325 --> 02:04:22,170 Hey kompüter, almaq getmək standart io.h məzmunu, 2514 02:04:22,170 --> 02:04:24,690 ki, hər yerdə sabit, burada yapışdırıb. 2515 02:04:24,690 --> 02:04:27,390 Belə ki, həmin şeylər ilkin emalı zamanı ilk. 2516 02:04:27,390 --> 02:04:28,880 >> Və cingilti bizim üçün bütün bu yoxdur. 2517 02:04:28,880 --> 02:04:30,510 Və belə darn yoxdur sürətli, hətta deyil 2518 02:04:30,510 --> 02:04:32,000 baş dörd fərqli şeylər görürük. 2519 02:04:32,000 --> 02:04:34,100 Amma ilk addımdır. 2520 02:04:34,100 --> 02:04:35,560 >> Nə həqiqətən gələn olur? 2521 02:04:35,560 --> 02:04:38,320 Yaxşı, növbəti rəsmi addım tərtib olunur. 2522 02:04:38,320 --> 02:04:40,385 Və bu çıxır ki, bir proqram tərtib 2523 02:04:40,385 --> 02:04:44,060 texniki gedən deməkdir mənbə kodu, biz sizin stuff 2524 02:04:44,060 --> 02:04:47,890 bir şey, bu gün yazılı edilmişdir bir şey, montaj kodu çağırıb 2525 02:04:47,890 --> 02:04:49,260 ki, bir az fərqli görünür. 2526 02:04:49,260 --> 02:04:51,050 >> Və əslində, biz real sürətli görə bilərsiniz. 2527 02:04:51,050 --> 02:04:53,890 Mənə, həqiqətən, mənim IDE daxil edək. 2528 02:04:53,890 --> 02:04:58,050 Mənə irəli və açıq hello.c gedək ki, ilk proqram olan biz 2529 02:04:58,050 --> 02:04:59,120 bu gün başladı. 2530 02:04:59,120 --> 02:05:04,130 Və mənə irəli getmək və cingilti bir run edək fərqli az, cingilti-s, hello.c, 2531 02:05:04,130 --> 02:05:07,720 həqiqətən olan gedir mənə bir fayl hello.s verir. 2532 02:05:07,720 --> 02:05:10,330 >> Və biz heç vaxt yəqin ki, olacaq yenə kodu bu cür görürük. 2533 02:05:10,330 --> 02:05:13,030 Bir aşağı səviyyədə alsaq CS61 kimi sistemləri sinif, 2534 02:05:13,030 --> 02:05:14,920 bir çox daha çox olacaq kodu bu cür. 2535 02:05:14,920 --> 02:05:17,020 Amma bu toplaşmaq dilidir. 2536 02:05:17,020 --> 02:05:22,050 Bu X86 montaj dili ki, yatan olunur CPU 2537 02:05:22,050 --> 02:05:24,460 CS50 IDE həqiqətən anlayır. 2538 02:05:24,460 --> 02:05:27,060 >> Bu sirli kimi bu bir şeydir baxmaq 2539 02:05:27,060 --> 02:05:29,180 kompüter olduqca yaxşı anlayır. 2540 02:05:29,180 --> 02:05:30,790 Sub q, bu çıxmaq deyil. 2541 02:05:30,790 --> 02:05:31,660 hərəkəti var. 2542 02:05:31,660 --> 02:05:35,730 >> Burada funksiyaları var zəng x ORing, bir hərəkət, bir eklenti, bir pop, 2543 02:05:35,730 --> 02:05:36,430 geri. 2544 02:05:36,430 --> 02:05:38,850 Belə ki, orada bəzi çox aşağı səviyyədə təlimat 2545 02:05:38,850 --> 02:05:41,280 CPU'lar başa düşürük ki, ki, Mən əvvəllər alluded. 2546 02:05:41,280 --> 02:05:43,100 Bu nə Intel Inside edir. 2547 02:05:43,100 --> 02:05:45,030 >> nümunələri var adet sıfır və olanları ki, 2548 02:05:45,030 --> 02:05:51,800 Bu arcanely mətni xəritəsi, lakin qədər yaxşı adına təlimat, 2549 02:05:51,800 --> 02:05:52,780 belə danışmaq. 2550 02:05:52,780 --> 02:05:54,780 Bu zaman nə baş verir Siz kodu tərtib edir. 2551 02:05:54,780 --> 02:05:58,560 Siz montaj almaq həyata dil olan 2552 02:05:58,560 --> 02:06:04,680 Üçüncü addım toplaşmaq deməkdir ki, montaj kodu daxil nəticədə, 2553 02:06:04,680 --> 02:06:09,080 maşın kod adet sıfır və olanları deyil, biz yalnız bir an əvvəl gördüm mətn. 2554 02:06:09,080 --> 02:06:13,370 >> Belə ki, pre-emal ki, tapa bilərsiniz edir əvəz və bir neçə başqa şeylər edir. 2555 02:06:13,370 --> 02:06:16,430 Tərtib mənbə edir C indeksi, mənbə kodu 2556 02:06:16,430 --> 02:06:18,980 biz toplaşmaq, yazırdı ki, biz yalnız nəzər kodu. 2557 02:06:18,980 --> 02:06:22,170 Montajı ki toplaşmaq edir zeroes və olanları kodu 2558 02:06:22,170 --> 02:06:24,680 CPU həqiqətən olacaq ki, günün sonunda başa düşürük. 2559 02:06:24,680 --> 02:06:27,630 Və bağlayan son addım ki, yenə us-- olur 2560 02:06:27,630 --> 02:06:29,830 belə sürətli biz hətta deyil Deyir ki, xəbərdarlıq 2561 02:06:29,830 --> 02:06:32,460 hey kompüter, bütün almaq adet sıfır və olanları ki, 2562 02:06:32,460 --> 02:06:36,750 Davudun kodu tərtib nəticəsində və bu halda onun əsas funksiyası. 2563 02:06:36,750 --> 02:06:39,160 >> Və kompüter hey, almaq getmək adet sıfır və olanları bütün 2564 02:06:39,160 --> 02:06:42,180 CS50 heyəti yazırdı ki, CS50 kitabxana daxili. 2565 02:06:42,180 --> 02:06:43,440 David ilə olanlarda qarışdırılır. 2566 02:06:43,440 --> 02:06:46,648 Və hey kompüter, bütün adet sıfır almaq getmək və başqasının il yazırdı olanları ki, 2567 02:06:46,648 --> 02:06:47,470 bundan printf üçün. 2568 02:06:47,470 --> 02:06:49,880 Və o əlavə bütün şey, biz sizin ki 2569 02:06:49,880 --> 02:06:52,870 Mənim adet sıfır və olanları var CS50 heyətinin adet sıfır və olanları, 2570 02:06:52,870 --> 02:06:55,370 printf adet sıfır və olanları, və başqa bir şey biz istifadə edirik. 2571 02:06:55,370 --> 02:07:00,410 >> Onlar bir araya almaq proqram Salam, bu halda, çağırıb. 2572 02:07:00,410 --> 02:07:03,141 Belə ki bundan sonra, biz yalnız söz tərtib istifadə edin. 2573 02:07:03,141 --> 02:07:06,390 Və biz verilən olacaq zaman Biz bu o deməkdir ki, sizin proqram tərtib, demək 2574 02:07:06,390 --> 02:07:08,849 hey pre-emal etmək, montaj və birləşdirən. 2575 02:07:08,849 --> 02:07:11,890 Amma əslində bir şirəli stuff var başlıq altında orada gedir. 2576 02:07:11,890 --> 02:07:13,723 Və xüsusilə əgər , Maraqlı bir vaxt almaq 2577 02:07:13,723 --> 02:07:15,900 Siz poking başlaya bilərsiniz ətrafında bu aşağı səviyyədə. 2578 02:07:15,900 --> 02:07:19,660 Amma indi, ki, həyata Bu gün üçün takeaways arasında 2579 02:07:19,660 --> 02:07:23,420 olduqca sadəcə bir prosesin başlanğıcı, 2580 02:07:23,420 --> 02:07:26,700 rahat əldə salam dünya kimi bir şey. 2581 02:07:26,700 --> 02:07:29,575 Həqiqətən, biz bu gün nə çox əlbəttə super sürətli endirmək deyil. 2582 02:07:29,575 --> 02:07:31,491 Və bəzi olacaq vaxt və bəzi təcrübə. 2583 02:07:31,491 --> 02:07:33,864 Və odds, siz sort edəcək sizin klaviatura hit istədiyiniz 2584 02:07:33,864 --> 02:07:34,780 və ya ekran fəğan. 2585 02:07:34,780 --> 02:07:35,880 Və bütün OK. 2586 02:07:35,880 --> 02:07:38,320 Baxmayaraq ki, bəlkə üçün cəhd edin qədər kitabxana bunu. 2587 02:07:38,320 --> 02:07:40,820 >> Və nəticədə, will Olsa qadir başlamaq edilə 2588 02:07:40,820 --> 02:07:44,580 yaxşı kodu, həm də nümunələri görən Siz yazdıq ki, səhvlər 2589 02:07:44,580 --> 02:07:45,370 Siz etdik ki. 2590 02:07:45,370 --> 02:07:48,965 Və proses kimi çox bir TF olmaq və ya CA kimi, 2591 02:07:48,965 --> 02:07:51,590 daha yaxşı almaq üçün başlamaq lazımdır və o nümunələri görən daha yaxşı, 2592 02:07:51,590 --> 02:07:53,774 və yalnız həll nəticədə öz problemləri. 2593 02:07:53,774 --> 02:07:56,940 Bu vaxt, çox olacaq Bizə dəstək borc və siz almaq üçün 2594 02:07:56,940 --> 02:07:57,481 bu yolu. 2595 02:07:57,481 --> 02:07:59,450 Və yazmaq-up problemlərin bütün 2596 02:07:59,450 --> 02:08:01,366 Siz vasitəsilə doğru yola olunacaq əmrləri bütün 2597 02:08:01,366 --> 02:08:05,330 Mən, əlbəttə, bilirik ki, artıq təcrübə bir çox 2598 02:08:05,330 --> 02:08:07,380 lakin oldu ola bilər İndi bir baş üzərində. 2599 02:08:07,380 --> 02:08:08,580 Və tamamilə gözəl var. 2600 02:08:08,580 --> 02:08:11,230 >> Lakin, nəticədə, siz olacaq nümunələri ortaya görmək üçün başlamaq üçün. 2601 02:08:11,230 --> 02:08:14,260 Və bütün keçmiş olsun dəfə axmaq məlumat, parantez kimi, 2602 02:08:14,260 --> 02:08:16,710 və qıvrım aşırma, və yarı-colons, və stuff, səmimi, 2603 02:08:16,710 --> 02:08:19,360 ki, bütün deyil intellektual maraqlı. 2604 02:08:19,360 --> 02:08:22,690 Bu məqsədi deyil Hər hansı bir giriş sinif alaraq. 2605 02:08:22,690 --> 02:08:24,410 Fərq gedir fikir var. 2606 02:08:24,410 --> 02:08:26,659 >> Bu loops, və şərait və funksiyaları, 2607 02:08:26,659 --> 02:08:30,552 və daha güclü abstraksiya, və kodu faktorinq, 2608 02:08:30,552 --> 02:08:33,510 və yaxşı dizayn və yaxşı stil və nəticədə düzgün 2609 02:08:33,510 --> 02:08:37,330 Sizin kodu ki, nəticədə var ən əhəmiyyətli olacaq. 2610 02:08:37,330 --> 02:08:40,925 Belə ki, növbəti həftə, bu olacaq biz ilk Not gördüm fikir 2611 02:08:40,925 --> 02:08:42,800 və indi tərcümə var C. Biz başlamaq lazımdır 2612 02:08:42,800 --> 02:08:45,740 ilk təqdim etmək Kursun real dünya domains. 2613 02:08:45,740 --> 02:08:50,140 >> Biz təhlükəsizlik dünyanın diqqət lazımdır və daha çox xüsusi, kriptoqrafiya 2614 02:08:50,140 --> 02:08:51,980 məlumat Scrambling sənətidir. 2615 02:08:51,980 --> 02:08:54,000 İlk arasında problemlər özünüz 2616 02:08:54,000 --> 02:08:56,840 kənarda yazmaq olacaq sintaksis bəzi oynayan 2617 02:08:56,840 --> 02:08:59,880 və bəzi məntiqi həll problemlər, nəticədə uzun əvvəl, 2618 02:08:59,880 --> 02:09:03,960 həqiqətən dırmaşma, və ya şifrelemek ki, və nəticədə məlumat decrypt. 2619 02:09:03,960 --> 02:09:06,470 Və hər şey etdik bu gün olacaq kifayət qədər aşağı 2620 02:09:06,470 --> 02:09:09,190 səviyyəsi, yalnız imkan gedir ABŞ, bir və bir almaq 2621 02:09:09,190 --> 02:09:13,550 və yuxarıda doğru daha bir addım hələ ən maraqlı kodu yazmaq. 2622 02:09:13,550 --> 02:09:15,050 >> ki, gələn həftə daha çox. 2623 02:09:15,050 --> 02:09:17,834 2624 02:09:17,834 --> 02:09:18,762 >> [Video playback] 2625 02:09:18,762 --> 02:09:19,690 2626 02:09:19,690 --> 02:09:22,006 >> -Ne Haqqında mənə deyə bilərsiniz Siz onu gördüm son dəfə idi? 2627 02:09:22,006 --> 02:09:26,041 2628 02:09:26,041 --> 02:09:27,040 -Nə Mən, həqiqətən, demək olar? 2629 02:09:27,040 --> 02:09:30,500 2630 02:09:30,500 --> 02:09:35,340 Mən demək, hər hansı digər kimi idi pre-istehsal məşq, 2631 02:09:35,340 --> 02:09:40,510 bir şey var idi istisna olmaqla, dedi mənə vurulmuş çox sonunda. 2632 02:09:40,510 --> 02:09:44,810 2633 02:09:44,810 --> 02:09:46,640 >> -Bu CS50 idi. 2634 02:09:46,640 --> 02:09:49,440 2635 02:09:49,440 --> 02:09:52,190 >> -Bu, Bir cut hər kəs məşq böyük iş. 2636 02:09:52,190 --> 02:09:53,070 >> -Bu Nahar? 2637 02:09:53,070 --> 02:09:54,986 >> -Bəli, Siz və mən bir az bir sendviç qamarlamaq. 2638 02:09:54,986 --> 02:09:58,380 Mənə yalnız ilə debrief edək David həqiqətən tez. 2639 02:09:58,380 --> 02:09:59,160 David? 2640 02:09:59,160 --> 02:10:01,260 David? 2641 02:10:01,260 --> 02:10:03,110 >> [END playback]