1 00:00:00,000 --> 00:00:10,940 2 00:00:10,940 --> 00:00:13,060 >> DAVID J Malan: Bütün sağ, belə ki, bu CS50 edir. 3 00:00:13,060 --> 00:00:15,040 Bu aydın Cümə. 4 00:00:15,040 --> 00:00:16,850 Bu həftə bir sonu. 5 00:00:16,850 --> 00:00:21,020 Belə ki, biz off tərk geri bilər, növ bir cliffhanger ilə son dəfə. 6 00:00:21,020 --> 00:00:25,020 Vasitəsi biz bu yalan ifşa yoxdur ki, məsələ artan tədris olduğunuz nə 7 00:00:25,020 --> 00:00:31,610 qədər 10 bölünür 1 deyil Əslində 0.1 və ya 0.100 və ya 0,10000. 8 00:00:31,610 --> 00:00:35,270 Əslində, əgər biz bu tərtib proqram, biz dünən, kimi, 9 00:00:35,270 --> 00:00:39,770 qeyri-dəqiqlik etmək, sonra dot etmək, çizgi, qeyri-dəqiqlik, 10 00:00:39,770 --> 00:00:43,600 bu nə olduğu öyrənildi 1 əslində 10 bölünür. 11 00:00:43,600 --> 00:00:46,140 Belə ki, həqiqətən, olduqca işi deyil. 12 00:00:46,140 --> 00:00:49,014 Amma bu bəzi işarə edir kompüter fundamental məhdudiyyət. 13 00:00:49,014 --> 00:00:50,930 Həqiqətən, arasında şeylər nə olacaq 14 00:00:50,930 --> 00:00:55,130 Bu gün niyə nəzər var oldu, bu nə təsiri, 15 00:00:55,130 --> 00:00:58,430 insanlıq uğursuz necə bir çox bu tutmaq üçün 16 00:00:58,430 --> 00:01:00,410 ciddi situations-- nəticəsində 17 00:01:00,410 --> 00:01:03,141 olduqca faciəli olmuşdur və həmçinin expensive-- və 18 00:01:03,141 --> 00:01:04,849 Biz necə nəzər həqiqətən müdafiə edə bilər 19 00:01:04,849 --> 00:01:06,530 məhdudiyyətlər bu cür qarşı. 20 00:01:06,530 --> 00:01:10,940 Belə ki, daxilən, bəlkə, niyə 1 10 bölünür, 21 00:01:10,940 --> 00:01:15,480 Mənim kompüter görə Burada yalnız 1/10, 0.10? 22 00:01:15,480 --> 00:01:15,980 Bəli. 23 00:01:15,980 --> 00:01:16,530 Siz nə düşünürsünüz? 24 00:01:16,530 --> 00:01:17,860 >> Tamaşaçı İstifadəçi: radix fərqlidir? 25 00:01:17,860 --> 00:01:18,550 >> DAVID J Malan: nədir? 26 00:01:18,550 --> 00:01:19,730 Oh, radix fərqlidir? 27 00:01:19,730 --> 00:01:20,720 Belə ki, olduqca. 28 00:01:20,720 --> 00:01:23,200 Bu, həqiqətən çox var hardware fundamental. 29 00:01:23,200 --> 00:01:23,980 Digər fikir? 30 00:01:23,980 --> 00:01:24,584 Bəli. 31 00:01:24,584 --> 00:01:26,750 Auditoriya ÜZV: Onlar fərqli nömrələri təmsil? 32 00:01:26,750 --> 00:01:27,880 DAVID J Malan: Belə ki, they-- Right. 33 00:01:27,880 --> 00:01:29,338 Onlar fərqli nömrələri təmsil edir. 34 00:01:29,338 --> 00:01:30,700 Qeyri-dəqiq, yəqin. 35 00:01:30,700 --> 00:01:33,190 Yaxşı is-- Belə ki, fərqli nə olan? 36 00:01:33,190 --> 00:01:34,490 Və ya kimə? 37 00:01:34,490 --> 00:01:35,050 Bizdən? 38 00:01:35,050 --> 00:01:35,966 Tamaşaçı İstifadəçi: Bəli. 39 00:01:35,966 --> 00:01:38,930 Onlar decimal istifadə etməyin [Işitilemez] sistem. 40 00:01:38,930 --> 00:01:39,680 DAVID J Malan: OK. 41 00:01:39,680 --> 00:01:41,560 Bir mənada, belə ki, onlar bunu bu sistemi istifadə. 42 00:01:41,560 --> 00:01:43,720 Başlıq altında, hər şey, həqiqətən, ikili edir 43 00:01:43,720 --> 00:01:45,510 ki, əslində, əlaqədar var. 44 00:01:45,510 --> 00:01:48,135 Amma hətta sadə deyil daha izahat. 45 00:01:48,135 --> 00:01:48,635 Bəli. 46 00:01:48,635 --> 00:01:49,970 >> Auditoriya ÜZV: Onlar yalnız çox bit var. 47 00:01:49,970 --> 00:01:52,370 Onlar yalnız müəyyən saxlaya bilərsiniz dərəcədə, ondalık kimi. 48 00:01:52,370 --> 00:01:52,780 >> DAVID J Malan: Bəli. 49 00:01:52,780 --> 00:01:54,420 Bu, həqiqətən, ona əldə edir. 50 00:01:54,420 --> 00:01:57,180 Bu kompüter çıxır adətən, həmişə yalnız 51 00:01:57,180 --> 00:01:59,690 məlumat məhdud miqdarda istifadə bir şey təmsil etmək. 52 00:01:59,690 --> 00:01:59,870 Sağ? 53 00:01:59,870 --> 00:02:02,110 Bütün sonra, biz yalnız bir sabit var sabit disk məbləği. 54 00:02:02,110 --> 00:02:04,210 Biz yalnız bir sabit məbləğ var RAM, və ya kompüter yaddaş. 55 00:02:04,210 --> 00:02:06,251 Və yalnız bir varsa bir şey sabit məbləği, 56 00:02:06,251 --> 00:02:09,611 şübhəsiz ki, siz həqiqətən saymaq bilməz daimi və ya istədiyiniz hər hansı bir sayı. 57 00:02:09,611 --> 00:02:11,610 Siz cür, var seçin və nə üçündür seçin 58 00:02:11,610 --> 00:02:13,220 siz dəstək olacaq qiymətləndirir. 59 00:02:13,220 --> 00:02:18,100 >> Və belə, məsələn, bir həftə və ya iki bundan əvvəl biz ASCII haqqında söhbət zaman, 60 00:02:18,100 --> 00:02:21,610 və biz 8 bit söhbət, və ya bir byte, belə ki, danışmaq 61 00:02:21,610 --> 00:02:26,360 ən böyük sayı biz bilər 8 bit ilə nə idi etdirir? 62 00:02:26,360 --> 00:02:28,350 255. 63 00:02:28,350 --> 00:02:31,850 Və biz 256 ümumi dəyərlər təmsil edə bilər lakin biz onlardan biri sərf əgər 64 00:02:31,850 --> 00:02:34,190 Yaxşı 0-, lakin biz əgər 0 onların biri sərf, 65 00:02:34,190 --> 00:02:36,830 sonra ən böyük sayı 255, əlbəttə, var. 66 00:02:36,830 --> 00:02:39,410 >> Belə ki, bu ki, çıxır bu çərçivədə də işi. 67 00:02:39,410 --> 00:02:42,350 Biz söhbət, son dəfə başladı üzən-point nömrələri, haqqında olan 68 00:02:42,350 --> 00:02:44,640 da, integers fərqli Onlar decimal nöqtəsi var ki, 69 00:02:44,640 --> 00:02:47,056 və ümid edirəm ki, bəzi nömrələri bundan sonra, lakin onlar da var. 70 00:02:47,056 --> 00:02:51,730 A kompüter yalnız adətən gedir 32 bit, bəlkə 64 bit istifadə etmək 71 00:02:51,730 --> 00:02:53,497 bir üzən point dəyər təmsil etmək. 72 00:02:53,497 --> 00:02:56,080 Baxmayaraq ki, belə ki, biz böyüyüb etdik riyaziyyat öyrənmək və bilmədən 73 00:02:56,080 --> 00:02:58,750 Siz tamamilə ola bilər ki, nömrələri sonsuz sayda 74 00:02:58,750 --> 00:03:01,650 bu kəsir, sonra Siz məhdud yaddaş var. 75 00:03:01,650 --> 00:03:03,930 Siz cür, dəyirmi var, və ya seçin və seçdiyiniz 76 00:03:03,930 --> 00:03:05,346 nömrələri təmsil olacaq. 77 00:03:05,346 --> 00:03:08,710 Və belə ki, bir mənada, hesab edə bilər, Bu olan kompüter yaxın 78 00:03:08,710 --> 00:03:14,050 dəyəri 1/10 üçün uyğunlaşdırılması ki, yalnız 32 və ya belə bit ilə əldə edə bilərsiniz. 79 00:03:14,050 --> 00:03:15,300 Və yalnız 1/10 deyil. 80 00:03:15,300 --> 00:03:19,820 >> Məsələn, mən bu dəyişdirmək əgər Biz hesab edirik ki 1/3, daha asandır. 81 00:03:19,820 --> 00:03:21,300 Belə ki, 1 3 bölünür. 82 00:03:21,300 --> 00:03:22,355 Mənə faylı edək. 83 00:03:22,355 --> 00:03:24,680 Mənə davam və derleyeceğiz edək. 84 00:03:24,680 --> 00:03:25,820 Və mənə yenidən run edək. 85 00:03:25,820 --> 00:03:30,000 Burada da, görünür, 1/3 0.3 deyil və sonra 3-nin sonsuz sayda 86 00:03:30,000 --> 00:03:30,770 sonra. 87 00:03:30,770 --> 00:03:32,540 Siz sonunda bu qeyri-dəqiqlik var. 88 00:03:32,540 --> 00:03:35,544 Belə ki, biz insanlar doğru və nə Siz, əslində, düzgün öyrəndim 89 00:03:35,544 --> 00:03:37,460 lakin biz bumping edirik bəzi məhdudiyyətlər qarşı. 90 00:03:37,460 --> 00:03:39,420 >> Mən fikir nə Bu gün istədiyiniz, başlayacaq 91 00:03:39,420 --> 00:03:42,190 səmimi, baxaraq Bu faciəli nəticələri 92 00:03:42,190 --> 00:03:45,490 bəzən, zaman insanlar olduqca tətbiq etmir 93 00:03:45,490 --> 00:03:48,460 Bu reallıq bu məhdudiyyətlər üçün. 94 00:03:48,460 --> 00:03:52,360 Və biz vignettes bir sıra görəcəksiniz edir Tarix Kanal 95 00:03:52,360 --> 00:03:53,950 Necə şeyi bir göz yanlış getdi. 96 00:03:53,950 --> 00:03:56,340 Bu, təxminən 8 dəqiqə davam edir və biz bu sonra geri gəlmək lazımdır 97 00:03:56,340 --> 00:03:59,439 və dəqiq nəzər nə yanlış getmək bilər. 98 00:03:59,439 --> 00:04:00,605 Biz işıqları dim bilər 99 00:04:00,605 --> 00:04:02,350 >> [Video playback] 100 00:04:02,350 --> 00:04:06,310 >> -Kompüter, Biz bütün qəbul gəldiniz tez-tez sinir bozucu problemləri ki, 101 00:04:06,310 --> 00:04:07,750 onlara getmək. 102 00:04:07,750 --> 00:04:11,370 Bugs, virus və proqram təminatı glitches kiçik qiymətləri 103 00:04:11,370 --> 00:04:13,230 rahatlığı üçün ödəyəcək. 104 00:04:13,230 --> 00:04:17,519 Lakin yüksək texnologiyalı və yüksək sürətli hərbi və kosmik proqram proqramları, 105 00:04:17,519 --> 00:04:22,130 kiçik problem bilərsiniz fəlakət daxil böyüdüləcək. 106 00:04:22,130 --> 00:04:27,750 4 iyun 1996-cı il, alimlər hazırlanmış insansız Ariane 5 raket başlamaq üçün. 107 00:04:27,750 --> 00:04:29,890 Elmi daşıyan peyklər nəzərdə 108 00:04:29,890 --> 00:04:33,030 dəqiq necə yaratmaq Yer maqnit sahəsində qarşılıqlı 109 00:04:33,030 --> 00:04:35,600 günəş küləkləri ilə. 110 00:04:35,600 --> 00:04:37,930 raket üçün inşa edilmişdir Avropa Kosmik Agentliyi 111 00:04:37,930 --> 00:04:41,620 və onun harada off qaldırdı Fransız Qvianasında sahilində. 112 00:04:41,620 --> 00:04:44,924 >> -Və 30 saniyə daxil uçuş, onlar ilk 113 00:04:44,924 --> 00:04:46,340 qeyd bir şey yanlış gedirdi. 114 00:04:46,340 --> 00:04:49,280 Nozzle döner ki, bir şəkildə həqiqətən olmamalıdır. 115 00:04:49,280 --> 00:04:53,042 Uçuş daxil 40 saniyə ətrafında, aydın vasitə, problem idi 116 00:04:53,042 --> 00:04:55,250 Onlar zaman və ki qərar onu məhv etmək. 117 00:04:55,250 --> 00:04:58,970 A Range Təhlükəsizlik ilə böyük içalat düyməni basdı, 118 00:04:58,970 --> 00:05:03,940 bu ola bilər əvvəl raket partladılıb ictimai təhlükəsizlik üçün təhlükə olmaq. 119 00:05:03,940 --> 00:05:06,600 >> -Bu Qız idi Ariane 5 səyahət, 120 00:05:06,600 --> 00:05:09,270 və onun məhv etdi çünki bir qüsur yerləşdirmək 121 00:05:09,270 --> 00:05:10,992 raket proqram daxil. 122 00:05:10,992 --> 00:05:12,700 On -Bu problem Ariane idi ki, orada 123 00:05:12,700 --> 00:05:15,370 tələb olunan sayı 64 bit, ifadə etmək 124 00:05:15,370 --> 00:05:18,150 və o çevirmək istəyirdi bir 16 bit sayı. 125 00:05:18,150 --> 00:05:21,160 Onlar sıra güman çox böyük olacaq heç vaxt, 126 00:05:21,160 --> 00:05:25,020 ki, həmin rəqəm ən 64 bit sayı 0-nin idi. 127 00:05:25,020 --> 00:05:26,310 Onlar yanlış idi. 128 00:05:26,310 --> 00:05:28,680 >> Bir -Bu bilməməsi proqram qəbul 129 00:05:28,680 --> 00:05:32,820 tərəfindən sıra cür başqa uğursuzluq kök idi. 130 00:05:32,820 --> 00:05:37,190 Software inkişaf olmuş yeni texnologiya çox bahalı hissəsidir. 131 00:05:37,190 --> 00:05:40,760 Ariane 4 raket çox olmuşdur proqram uğurlu qədər 132 00:05:40,760 --> 00:05:43,990 bu da oldu yaradılmışdır Ariane 5 istifadə. 133 00:05:43,990 --> 00:05:49,750 >> -Bu Əsas problem Ariane idi 5, sürətli idi sürətli sürətləndirdi. 134 00:05:49,750 --> 00:05:53,000 Və proqram idi ki payına düşür. 135 00:05:53,000 --> 00:05:56,330 >> Raket -Bu məhv böyük bir maliyyə fəlakət idi 136 00:05:56,330 --> 00:05:59,670 bütün ötəri bir dəqiqə proqram səhv. 137 00:05:59,670 --> 00:06:01,990 Amma bu ilk deyil vaxt data conversion problemləri 138 00:06:01,990 --> 00:06:05,310 müasir raket texnologiyası mürəkkəbləşdirilir etmişdir. 139 00:06:05,310 --> 00:06:08,300 >> Başlaması ilə 1991-ci il -In Birinci Körfəz Döyüşünün, 140 00:06:08,300 --> 00:06:10,650 Patriot raket oxşar cür yaşadı 141 00:06:10,650 --> 00:06:12,650 sayı dönüşüm problem. 142 00:06:12,650 --> 00:06:15,620 Nəticədə, 28 nəfər, 28 Amerika əsgəri 143 00:06:15,620 --> 00:06:18,440 ölən və haqqında edildi 100 nəfər yaralanıb, 144 00:06:18,440 --> 00:06:21,900 zaman idi Patriot, Gələn scuds qarşı qorumaq üçün, 145 00:06:21,900 --> 00:06:24,630 bir raket yanğın bilmədi. 146 00:06:24,630 --> 00:06:29,440 >> -Zaman İraq Küveyt və Amerika işğal Erkən 1991-ci ildə Desert Storm başlayıb 147 00:06:29,440 --> 00:06:33,800 Patriot raket batareyalarının dağıtdılar Səudiyyə Ərəbistanı və İsraili qorumaq üçün 148 00:06:33,800 --> 00:06:37,000 İraq Scud raket hücumlarından. 149 00:06:37,000 --> 00:06:40,610 Patriot, ABŞ orta mənzilli edir səthi-hava sistemi 150 00:06:40,610 --> 00:06:43,010 Raytheon şirkəti tərəfindən istehsal. 151 00:06:43,010 --> 00:06:49,080 >> Patriot kesen -Bu ölçüsü, özü, təxminən 20 ayaqları uzun, edir. 152 00:06:49,080 --> 00:06:51,250 Və 2000 funt ağırlığında. 153 00:06:51,250 --> 00:06:55,195 Və bu about-- bir döyüş başlığı keçirir Mən təxminən 150 lirə hesab edirəm. 154 00:06:55,195 --> 00:06:59,500 Və döyüş başlığı özü, yüksək partlayıcı, 155 00:06:59,500 --> 00:07:02,570 olan ətrafında fraqmentləri var. 156 00:07:02,570 --> 00:07:06,890 döyüş başlığı casing edir Buckshot kimi hərəkət üçün nəzərdə tutulmuşdur. 157 00:07:06,890 --> 00:07:09,130 >> -Bu Raketlər var 4 konteyner başına keçirilir, 158 00:07:09,130 --> 00:07:12,080 və yarı-trailer ilə nəql olunur. 159 00:07:12,080 --> 00:07:19,100 >> -Bu Patriot raket əleyhinə sistemi indi ən azı 20 il geri gedir. 160 00:07:19,100 --> 00:07:22,320 Bu, ilk nəzərdə tutulmuşdur hava müdafiə raket kimi 161 00:07:22,320 --> 00:07:24,180 düşmən təyyarə gülləboran etmək. 162 00:07:24,180 --> 00:07:27,860 First Gulf müharibəsi, ki, müharibə boyunca gələndə, 163 00:07:27,860 --> 00:07:32,745 Ordu üçün istifadə etmək istəyirdi scuds deyil, təyyarələr gülləboran etmək. 164 00:07:32,745 --> 00:07:36,150 İraq Force idi bir problem qədər, 165 00:07:36,150 --> 00:07:39,110 lakin Army scuds narahat idi. 166 00:07:39,110 --> 00:07:42,340 Və onlar üçün cəhd Patriot yükseltin. 167 00:07:42,340 --> 00:07:44,760 >> Düşmən -Intercepting raket Mach beş səyahət 168 00:07:44,760 --> 00:07:47,250 kifayət qədər çətin olacaq oldu. 169 00:07:47,250 --> 00:07:50,000 Amma Patriot xidmət soxulmuş idi, 170 00:07:50,000 --> 00:07:54,030 Ordu bir xəbəri olmadığını Edilən İraq modifikasiyası 171 00:07:54,030 --> 00:07:56,840 onların scuds hit üçün təxminən mümkün. 172 00:07:56,840 --> 00:08:01,020 >> -Nə Oldu, scuds ki gələn idi, qeyri-sabit idi 173 00:08:01,020 --> 00:08:02,310 Onlar wobbling edilmişdir. 174 00:08:02,310 --> 00:08:05,140 Bunun səbəbi, üçün, İraqlılar idi 175 00:08:05,140 --> 00:08:09,450 həyata 600 kilometr almaq üçün 300 kilometr mənzilli mərmi, 176 00:08:09,450 --> 00:08:12,930 ön döyüş başlığı həyata çəki etdi və başlığı yüngül etdi. 177 00:08:12,930 --> 00:08:17,710 Belə ki, indi Patriot nin gəlmək üçün çalışırıq Scud, və çox vaxt, 178 00:08:17,710 --> 00:08:21,700 böyük əksəriyyəti vaxt, yalnız Scud uçmaq olardı. 179 00:08:21,700 --> 00:08:25,700 >> Patriot sistemi operatorları -Bir , Patriot onun hədəf buraxılmış həyata 180 00:08:25,700 --> 00:08:29,790 onlar Patriot döyüş başlığı partlatdı bu mümkün itki qarşısını almaq üçün 181 00:08:29,790 --> 00:08:32,380 dağılmaq icazə verildi. 182 00:08:32,380 --> 00:08:36,340 >> Insanların çoxu gördüm nə -Bu idi göy o böyük fireballs, 183 00:08:36,340 --> 00:08:41,289 və səhv Scud başlığı tutduğunu. 184 00:08:41,289 --> 00:08:43,590 Gecə Baxmayaraq ki, göy, Vətənpərvərlər ortaya çıxdı 185 00:08:43,590 --> 00:08:47,020 uğurla olmaq Dhahran da scuds məhv 186 00:08:47,020 --> 00:08:49,730 heç bir səhv ola bilər öz fəaliyyəti barədə. 187 00:08:49,730 --> 00:08:53,990 Orada Patriot radar sistemi Daxil olan Scud itirib, 188 00:08:53,990 --> 00:08:56,650 və başladılan heç bir proqram qüsur görə. 189 00:08:56,650 --> 00:08:59,650 190 00:08:59,650 --> 00:09:04,100 Bu ilk kəşf İsrail oldu Artıq sistem olduğunu, 191 00:09:04,100 --> 00:09:07,510 daha çox vaxt uyğunsuzluq görə əlaqədar bir saat oldu 192 00:09:07,510 --> 00:09:09,490 sistemin kompüter. 193 00:09:09,490 --> 00:09:12,670 >> -Haqqında 2 həftə əvvəl Dhahran faciəsi, 194 00:09:12,670 --> 00:09:15,010 İsraillilər məlumat Müdafiə Nazirliyi, 195 00:09:15,010 --> 00:09:17,940 sistem vaxt itirirdi ki, ki, çalışan təxminən 8 saat sonra, 196 00:09:17,940 --> 00:09:21,410 onlar sistem olduğunu qeyd xeyli az dəqiq olmaq. 197 00:09:21,410 --> 00:09:25,290 Müdafiə Nazirliyi cavab verdi Patriot batareyaları bütün izah 198 00:09:25,290 --> 00:09:28,070 sistemləri tərk etmək Uzun müddət üçün. 199 00:09:28,070 --> 00:09:29,960 Onlar uzun müddət idi nə dedi heç. 200 00:09:29,960 --> 00:09:30,460 8 saat? 201 00:09:30,460 --> 00:09:30,960 10 saat? 202 00:09:30,960 --> 00:09:31,870 1000 saat? 203 00:09:31,870 --> 00:09:33,734 Heç kəs bilirdi. 204 00:09:33,734 --> 00:09:35,650 -Bu Patriot batareya Qışla konuşlu 205 00:09:35,650 --> 00:09:40,410 Dhahran və onun flawed daxili at 100 saat ərzində saat olmuşdur 206 00:09:40,410 --> 00:09:43,041 Fevralın 25-nə keçən gecə. 207 00:09:43,041 --> 00:09:47,416 >> -Bu Bir dəqiqliyi üçün vaxt izlenir haqqında 1/10 ikinci edir. 208 00:09:47,416 --> 00:09:49,290 İndi ikinci 1/10 var maraqlı sayı 209 00:09:49,290 --> 00:09:52,700 ola bilməz, çünki dəqiq, ikili dilə gətirdi. 210 00:09:52,700 --> 00:09:54,820 Hansı bilməz deməkdir ifadə, dəqiq, 211 00:09:54,820 --> 00:09:57,420 hər hansı bir müasir digital kompüter. 212 00:09:57,420 --> 00:10:01,460 Bu, inanmaq çətindir, lakin nümunə kimi istifadə. 213 00:10:01,460 --> 00:10:03,520 Nömrəsi, 1/3 edək. 214 00:10:03,520 --> 00:10:07,110 1/3 ifadə edilə bilməz ondalık da, dəqiq. 215 00:10:07,110 --> 00:10:11,490 1/3 daimi davam 0.333 edir. 216 00:10:11,490 --> 00:10:15,486 Bunu etmək üçün heç bir yol ilə var, ondalık mütləq dəqiqlik. 217 00:10:15,486 --> 00:10:18,360 Ki, eyni cür Patriot baş problem. 218 00:10:18,360 --> 00:10:22,510 Artıq sistemi qaçdı, pis vaxt səhv oldu. 219 00:10:22,510 --> 00:10:28,420 >> Əməliyyat 100 saat sonra, səhv vaxt yalnız 1/3 ikinci idi. 220 00:10:28,420 --> 00:10:31,830 Amma hedefleme baxımından raket Mach 5 səyahət 221 00:10:31,830 --> 00:10:35,890 bir izleme nəticələndi 600-dən çox metr səhv. 222 00:10:35,890 --> 00:10:38,970 Bu ölümcül səhv olardı Dhahran da əsgərlər üçün. 223 00:10:38,970 --> 00:10:45,035 >> Baş hansı bir Scud başlamaq idi erkən xəbərdarlıq peyklər aşkar, 224 00:10:45,035 --> 00:10:48,930 və onlar Scud idi ki, yeni onların ümumi istiqamətdə gəlir. 225 00:10:48,930 --> 00:10:51,170 Bu gələn onlar bilmirdim. 226 00:10:51,170 --> 00:10:53,990 >> -Bu Radar qədər artıq idi Patriot sisteminin komponenti 227 00:10:53,990 --> 00:10:58,520 tapmaq və saxlamaq üçün, Dhahran müdafiə daxil olan düşmən raket track. 228 00:10:58,520 --> 00:10:59,690 >> -Bu Radar çox ağıllı idi. 229 00:10:59,690 --> 00:11:01,710 Bu, həqiqətən, track olardı Scud mövqeyi 230 00:11:01,710 --> 00:11:04,040 və sonra proqnozlaşdırmaq Bu, yəqin ki, olacaq 231 00:11:04,040 --> 00:11:06,140 Növbəti dəfə, radar bir zərbə göndərdi. 232 00:11:06,140 --> 00:11:07,660 Bu sıra qapısı adlanırdı. 233 00:11:07,660 --> 00:11:11,870 >> -Sonra, Patriot dəfə kifayət qədər vaxt var qərar 234 00:11:11,870 --> 00:11:16,280 geri getmək və növbəti yoxlamaq keçdi Bu aşkar obyekt üçün yer, 235 00:11:16,280 --> 00:11:17,280 geri gedir. 236 00:11:17,280 --> 00:11:21,690 Belə ki, yanlış geri getdi zaman yer, sonra heç bir obyekt görür 237 00:11:21,690 --> 00:11:25,230 və heç bir var idi ki, qərar obyekt, bir yalan aşkar idi, 238 00:11:25,230 --> 00:11:26,650 və track düşər. 239 00:11:26,650 --> 00:11:29,690 Daxil olan Scud yox radar ekran, 240 00:11:29,690 --> 00:11:32,670 və saniyə sonra, onu Qışla çarpdı. 241 00:11:32,670 --> 00:11:38,100 Scud 28 şəhid və son bir ilk Körfəz müharibəsi zamanı atəş etdi. 242 00:11:38,100 --> 00:11:43,460 Faciəli, yenilənmiş proqram təminatı Aşağıdakı gün Dhahran gəldi. 243 00:11:43,460 --> 00:11:46,150 proqram qüsur var idi olmuşdur sabit, yekun 244 00:11:46,150 --> 00:11:48,940 çətinlikli bir fəsil Patriot raket tarixi. 245 00:11:48,940 --> 00:11:50,220 >> [END playback] 246 00:11:50,220 --> 00:11:54,340 >> DAVID J Malan: Belə ki, biz bir nəzər lazımdır Yalnız bir az bəzi oxşar məhdudiyyətlər. 247 00:11:54,340 --> 00:11:58,470 Lakin ilk, edək bir neçə keçid FYI var. 248 00:11:58,470 --> 00:12:01,575 Bu həftə sonu one-- Belə ki, orada super bölmələr olacaq, 249 00:12:01,575 --> 00:12:04,200 supplant üçün nəzərdə tutulub ki, müntəzəm təyin bölmələr olan 250 00:12:04,200 --> 00:12:05,460 beləliklə bir həftə başlayacaq. 251 00:12:05,460 --> 00:12:08,204 CS50 veb bir göz atın o haqqında daha ətraflı məlumat üçün. 252 00:12:08,204 --> 00:12:11,120 Onlar həmçinin lentə və axın edəcək iştirak etmək iqtidarında olanlar üçün yaşayır. 253 00:12:11,120 --> 00:12:12,980 Problem 1 set artıq kurs haqqinda, 254 00:12:12,980 --> 00:12:15,105 və biz bir nəzər lazımdır yalnız bir az ki. 255 00:12:15,105 --> 00:12:18,350 Və ofis saat da keçiriləcək Cümə axşamı vasitəsilə bu Bazar ertəsi yer. 256 00:12:18,350 --> 00:12:20,960 >> Belə ki, bu ən canonical idi proqramı son dəfə baxdı. 257 00:12:20,960 --> 00:12:23,590 Bu sadə kimi C yaza bilərsiniz proqram, 258 00:12:23,590 --> 00:12:25,250 və hətta bir qalın iddia bir az var. 259 00:12:25,250 --> 00:12:25,750 Sağ? 260 00:12:25,750 --> 00:12:28,070 Bir çox var, çünki bu mürəkkəbliyi zahiri. 261 00:12:28,070 --> 00:12:30,445 Belə ki, bir sürətli nəzər salaq nə bu elementlərinin bəzi 262 00:12:30,445 --> 00:12:33,080 idi və sonra təmin etməyə çalışırıq necə bir ruhi model 263 00:12:33,080 --> 00:12:35,710 proqramların bu sadə iş, sonra biz başlamaq lazımdır 264 00:12:35,710 --> 00:12:38,050 daha mürəkkəb şeylər axtarır. 265 00:12:38,050 --> 00:12:41,280 Belə ki, bu xətt burada, indi qeyd sarı, biz demək nə, son dəfə, 266 00:12:41,280 --> 00:12:43,200 Bu, bizim üçün ki? 267 00:12:43,200 --> 00:12:45,220 Bu xidmət məqsədi nədir? 268 00:12:45,220 --> 00:12:46,984 Bu uzaq geri hər kəs? 269 00:12:46,984 --> 00:12:47,483 Bəli. 270 00:12:47,483 --> 00:12:48,649 >> Auditoriya ÜZV: [işitilemez] 271 00:12:48,649 --> 00:12:50,871 272 00:12:50,871 --> 00:12:51,704 DAVID J Malan: Yaxşı. 273 00:12:51,704 --> 00:12:53,537 Belə ki, bu imkanı verir əmrləri, və ya edək 274 00:12:53,537 --> 00:12:56,750 onlara zəng funksiyaları, kimsə başqa elan olunur ki, yazdı 275 00:12:56,750 --> 00:12:58,350 belə ki, bəzi digər fayl danışmaq. 276 00:12:58,350 --> 00:13:02,370 Beləliklə, biz dəqiq nə bir h fayl görürsünüz nəhayət, bir C fayl qarşı deyil. 277 00:13:02,370 --> 00:13:04,710 Amma indi üçün, yalnız bilirik ki printf, məsələn, 278 00:13:04,710 --> 00:13:08,370 olmuşdur funksiyaları arasında haradasa, bəzi digər fayl elan 279 00:13:08,370 --> 00:13:12,930 Buludun sabit başqa Bizə printf daxil olmaq və istifadə etməyə imkan verir 280 00:13:12,930 --> 00:13:15,240 yenidən kəşf olmadan özümüzü təkər ki. 281 00:13:15,240 --> 00:13:16,930 Eyni zamanda, əsas. 282 00:13:16,930 --> 00:13:19,690 Əsas, keçən həftə analog nə idi? 283 00:13:19,690 --> 00:13:20,190 Bəli. 284 00:13:20,190 --> 00:13:21,460 >> Auditoriya ÜZV: Green bayraq tıklandığında. 285 00:13:21,460 --> 00:13:21,740 >> DAVID J Malan: Bəli. 286 00:13:21,740 --> 00:13:23,490 Scratch-nin, yaşıl bayraq tıklandığında. 287 00:13:23,490 --> 00:13:25,560 Bu puzzle parça kimi ki, hər şeyi başlayıb. 288 00:13:25,560 --> 00:13:28,306 Və eyni, dünya etdi , C bir neçə il əvvəl qərara aldı ki, 289 00:13:28,306 --> 00:13:30,930 və digər dillərdə bir dəstə, Siz bir proqram yazmaq istəyirsinizsə, 290 00:13:30,930 --> 00:13:33,410 ilk funksiyası Əsas adlı edilməlidir. 291 00:13:33,410 --> 00:13:34,641 Və bu kimi baxmaq var. 292 00:13:34,641 --> 00:13:36,640 Amma biz, geri gəlmək lazımdır başqa vaxt, nə üçün, int, 293 00:13:36,640 --> 00:13:38,690 və, etibarsız, bu kontekstdə deməkdir. 294 00:13:38,690 --> 00:13:42,860 İndi, qıvrım aşırma növ bir Not puzzle parça forma kimi 295 00:13:42,860 --> 00:13:45,080 ki xətlərinin bəzi sayı kapsüller. 296 00:13:45,080 --> 00:13:47,070 Və xətləri üzrə arasında burada, burada bu biridir. 297 00:13:47,070 --> 00:13:51,610 printf onun məqsədi bir funksiyası var Həyat bir biçimlendirilmiş string çap edir. 298 00:13:51,610 --> 00:13:55,010 Və biçimlendirilmiş, mən sizə demək tutucu dəyərlər plug bilər, 299 00:13:55,010 --> 00:13:58,360 və necə bir çox decimal belirtebilirsiniz bal, neçə ədəd çap 300 00:13:58,360 --> 00:14:00,040 bir bu kəsir və kimi sonra. 301 00:14:00,040 --> 00:14:05,040 Və printf, əlbəttə, birini tutur və ya dəlilləri və ya parametrləri daha çox, 302 00:14:05,040 --> 00:14:06,770 başqa daha çox sadəcə, giriş kimi tanınır. 303 00:14:06,770 --> 00:14:09,230 >> Bir çox kimi, Belə ki, printf funksiyaları, giriş edir. 304 00:14:09,230 --> 00:14:12,730 Və bu giriş əhatə edir burada iki parantez tərəfindən. 305 00:14:12,730 --> 00:14:15,180 Və o daxilində bir giriş var. 306 00:14:15,180 --> 00:14:18,600 Biz adlandırıb etdiyiniz kimi, bir simli var, olan simvol yalnız bir ardıcıllıqla deyil, 307 00:14:18,600 --> 00:14:22,310 Bir sözlə, və ya bir söz, və ya bütövlükdə kimi inşa hətta ikiqat quotes arasında. 308 00:14:22,310 --> 00:14:25,712 Və təsir neler var printf davranış, çünki, əlbəttə, 309 00:14:25,712 --> 00:14:27,170 yalnız ümumi bir çap funksiyası var. 310 00:14:27,170 --> 00:14:29,600 Nə bilmək niyyətində deyil Siz onu demək halda, çap. 311 00:14:29,600 --> 00:14:31,000 Və sonra, bəzi minutiae. 312 00:14:31,000 --> 00:14:34,056 Bu qəribə nə demişdi rəmzləri ardıcıllığı? 313 00:14:34,056 --> 00:14:34,556 Bəli. 314 00:14:34,556 --> 00:14:35,410 >> Tamaşaçı İstifadəçi: New line. 315 00:14:35,410 --> 00:14:35,990 >> DAVID J Malan: New line. 316 00:14:35,990 --> 00:14:39,340 Belə ki, yalnız hit bilməz, çıxır, proqram yazılı etdiyiniz zaman, daxil edin. 317 00:14:39,340 --> 00:14:42,590 Ümumiyyətlə, compiler almaq üçün gedir Siz demək nə kimi bir az qarışıq. 318 00:14:42,590 --> 00:14:45,340 Əksinə, siz sözün var Burada mənə yeni bir xətt verir, deyirlər. 319 00:14:45,340 --> 00:14:49,506 Və belə / n nə biz ümumiyyətlə bir escape xarakter zəng. 320 00:14:49,506 --> 00:14:50,870 Belə ki, n, yeni xətt üçün. 321 00:14:50,870 --> 00:14:53,810 Və compiler bilir ki, / n gördüyü zaman, 322 00:14:53,810 --> 00:14:57,420 Bu, həqiqətən kompüter vadar etməlidir, nəticədə, və ya printf, bu halda, 323 00:14:57,420 --> 00:15:00,260 faktiki Yeni çap line vuruş kimi, daxil 324 00:15:00,260 --> 00:15:01,480 Klavyenizdeki düyməsini basın. 325 00:15:01,480 --> 00:15:05,620 Və nəhayət, biz demək idi sintaksis bu parça üçün? 326 00:15:05,620 --> 00:15:06,591 Bu nəyi təmsil edir? 327 00:15:06,591 --> 00:15:07,090 Bəli. 328 00:15:07,090 --> 00:15:07,490 >> Auditoriya ÜZV: [işitilemez] 329 00:15:07,490 --> 00:15:08,660 >> DAVID J Malan: Bu, yalnız var xəttinin sonu. 330 00:15:08,660 --> 00:15:09,909 Bu bəyanatın sonunda var. 331 00:15:09,909 --> 00:15:11,890 Və biz deyil ki, həyata hər yerdə onları qoydu. 332 00:15:11,890 --> 00:15:13,900 Biz əlbəttə ki, onları qoymaq deyil hər xətti ucunda. 333 00:15:13,900 --> 00:15:16,680 Məsələn, heç biri var ilk line, heç xəttində var 334 00:15:16,680 --> 00:15:18,680 əsas ilə, heç biri yoxdur qıvrım aşırma sonra, 335 00:15:18,680 --> 00:15:21,740 lakin görmək və almaq üçün başlamaq lazımdır Bu çağırışı harada ilə tanış. 336 00:15:21,740 --> 00:15:26,014 Və bir funksiyası sonra demək olar ki, həmişə var bəzi fəaliyyət, zəng və ya bir bəyanat 337 00:15:26,014 --> 00:15:27,180 ki, həqiqətən qəbul edirik. 338 00:15:27,180 --> 00:15:29,520 >> Və xüsusilə də əgər indi bilirəm az rahat arasında, 339 00:15:29,520 --> 00:15:32,540 bu axmaq şeylər növ Siz təsadüfən tarpıltı başa lazımdır ki, 340 00:15:32,540 --> 00:15:33,873 üzərində divar qarşı baş. 341 00:15:33,873 --> 00:15:36,107 Siz məntiqi olacaq, çünki bir problem əmin 342 00:15:36,107 --> 00:15:38,440 Bir problem üçün həll etdik set və yalnız lənətləmək şey 343 00:15:38,440 --> 00:15:40,187 tərtib və ya hətta çalışmaz. 344 00:15:40,187 --> 00:15:43,270 Və tez-tez, erkən, bu olacaq Bir mötərizə buraxılmış çünki, 345 00:15:43,270 --> 00:15:44,455 və ya bir nöqtəli vergül qaçırdı. 346 00:15:44,455 --> 00:15:46,547 Və belə ki, yalnız nəzərə şeyi bu cür, 347 00:15:46,547 --> 00:15:49,380 və ilə incidir almaq üçün cəhd edin onlara çox tez bu çünki 348 00:15:49,380 --> 00:15:50,640 köhnə papaq olur. 349 00:15:50,640 --> 00:15:53,910 Amma bu almaq üçün çox asandır nəticəsində erkən incidir. 350 00:15:53,910 --> 00:15:57,020 >> Belə ki, indi, bu necə bir nəzər edək bu xətt həqiqətən işləyir 351 00:15:57,020 --> 00:15:59,170 və sonra bir az baxmaq daha mürəkkəb bir. 352 00:15:59,170 --> 00:16:02,017 Beləliklə, biz burada, üzərində Bu ekranda çəkmək imkanı. 353 00:16:02,017 --> 00:16:04,100 Və güman edək Bu, mənim kompüter ekran 354 00:16:04,100 --> 00:16:08,589 amma, salam proqram yazıram və mən printf həyata deyil. 355 00:16:08,589 --> 00:16:10,130 Başqası, printf həyata keçirmişdir. 356 00:16:10,130 --> 00:16:12,420 Kim iddia istəyirəm , printf həyata var? 357 00:16:12,420 --> 00:16:12,920 Biz bilər, əgər? 358 00:16:12,920 --> 00:16:13,830 Bütün hüquqlar, adınız nədir? 359 00:16:13,830 --> 00:16:14,155 >> TƏLƏBƏ 1: [? Copal. ?] 360 00:16:14,155 --> 00:16:15,529 >> DAVID J Malan: Copal qədər gəlib. 361 00:16:15,529 --> 00:16:16,430 Qədər gəlib. 362 00:16:16,430 --> 00:16:17,070 Bütün hüquqlar. 363 00:16:17,070 --> 00:16:22,260 Beləliklə, biz burada var, bəzi adı tags, bu bir az oyun etmək lazımdır ildən. 364 00:16:22,260 --> 00:16:26,270 Və biz printf, sizə zəng edəcək. 365 00:16:26,270 --> 00:16:30,170 Və buraya gəlmək istəyirsinizsə, nə, yalnız ekranda tərtib etdik, 366 00:16:30,170 --> 00:16:32,340 Bu, mənə var, sadəcə bu var. 367 00:16:32,340 --> 00:16:35,550 >> Bütün hüquqlar, belə ki, salam mənim adı, printf, o qoymaq istəyirsinizsə. 368 00:16:35,550 --> 00:16:35,740 Bütün hüquqlar. 369 00:16:35,740 --> 00:16:37,360 Və durmaq getmək bilər Kompüter ekran 370 00:16:37,360 --> 00:16:39,730 sanki funksiyası var ki, Bu kompüter sistemi ilə gəldi. 371 00:16:39,730 --> 00:16:42,063 Və həyat sizin məqsədi həqiqətən, bir şey çap. 372 00:16:42,063 --> 00:16:44,560 Lakin proqram kimi çox biz Yalnız burada, ekranda idi, 373 00:16:44,560 --> 00:16:47,060 biz olacaq həqiqətən bəzi giriş verir. 374 00:16:47,060 --> 00:16:51,810 >> Belə ki, mənim giriş, əgər burada var yəqin, nə printf qəbul edilir, 375 00:16:51,810 --> 00:16:53,730 cür bu kimi onu istehza imkan verir. 376 00:16:53,730 --> 00:16:58,720 Mən sözün yazmaq üçün gedirəm kağız parçası, "Salam, dünya" 377 00:16:58,720 --> 00:17:03,020 backslash N. Və aydın olmaq nə Mən yalnız kağız bu parça tərtib etdik 378 00:17:03,020 --> 00:17:04,020 bu kimi görünür. 379 00:17:04,020 --> 00:17:08,730 Mən bu proqram run, və bu zaman kod sarı xətt icra olur, 380 00:17:08,730 --> 00:17:12,970 Mən, salam proqramı sanki var funksiyaya off bəzi giriş verilməsi edirəm 381 00:17:12,970 --> 00:17:13,970 başqasının yazdı. 382 00:17:13,970 --> 00:17:16,595 >> Və əgər, sizin barmaq ilə, həqiqətən bilər, sizin barmaq ilə, 383 00:17:16,595 --> 00:17:21,520 ekranda çəkmək nə bu təqdim edilmişdir, 384 00:17:21,520 --> 00:17:27,465 təsiri, nəticədə, edir məhz, ekranda görmək. 385 00:17:27,465 --> 00:17:29,140 Və burada bir az künc halda. 386 00:17:29,140 --> 00:17:31,540 Və yaxşı ki, biz görmək lazımdır Bu nöqtədə yeni xətt. 387 00:17:31,540 --> 00:17:33,900 Bu sizin üçün düzgün olardı açıq newline cəlb etmək. 388 00:17:33,900 --> 00:17:36,810 Amma biz saxlanılır əgər sözləri yazmaq ekran, onlar aşağıdakı sona çatacağını. 389 00:17:36,810 --> 00:17:39,560 >> Belə ki, çox təşəkkür edirəm, amma qalmaq Buralarda yalnız bir an üçün. 390 00:17:39,560 --> 00:17:42,860 Biz indi başqa bir ehtiyac könüllü, biz bilər, əgər, 391 00:17:42,860 --> 00:17:46,830 bu rolu oynamaq lazımdır olacaq of-- Bu orkestr yalnız insanlar var 392 00:17:46,830 --> 00:17:47,355 indi. 393 00:17:47,355 --> 00:17:47,980 Necə OK about--. 394 00:17:47,980 --> 00:17:48,480 Burada. 395 00:17:48,480 --> 00:17:49,180 Qədər gəlib. 396 00:17:49,180 --> 00:17:49,955 Sizin adınız nədir? 397 00:17:49,955 --> 00:17:50,922 >> STUDENT 2: [? Ivay. ?] 398 00:17:50,922 --> 00:17:51,796 DAVID J Malan: Sorry? 399 00:17:51,796 --> 00:17:52,990 STUDENT 2: [? Ivay. ?] 400 00:17:52,990 --> 00:17:55,320 DAVID J Malan: Ethan qədər gəlib. 401 00:17:55,320 --> 00:17:55,820 No? 402 00:17:55,820 --> 00:17:58,390 Mən hətta yanlış almaq idi Siz iki dəfə söylədi? 403 00:17:58,390 --> 00:17:58,890 Qədər gəlib. 404 00:17:58,890 --> 00:18:00,030 Bu burada eşitmək çətindir. 405 00:18:00,030 --> 00:18:05,240 406 00:18:05,240 --> 00:18:05,740 OK. 407 00:18:05,740 --> 00:18:07,190 Mən təəssüf edirəm, adınız nədir? 408 00:18:07,190 --> 00:18:07,680 >> STUDENT 2: [? Ivay. ?] 409 00:18:07,680 --> 00:18:08,790 >> [? DAVID J Malan: Ivay. ?] OK. 410 00:18:08,790 --> 00:18:10,430 İndi, əgər deyil mind, siz GetString olunur. 411 00:18:10,430 --> 00:18:11,013 >> STUDENT 2: OK. 412 00:18:11,013 --> 00:18:11,797 Cool. 413 00:18:11,797 --> 00:18:14,630 DAVID J Malan: Siz istəyirsinizsə Belə ki, yalnız bir an üçün burada durmaq, 414 00:18:14,630 --> 00:18:17,100 Bir az nəzər salaq daha mürəkkəb proqram ki, 415 00:18:17,100 --> 00:18:18,670 İndi kodu üç xətləri var. 416 00:18:18,670 --> 00:18:24,080 Beləliklə, biz bir var istifadə edərək, dövlətin adı printf; iki, GetString zəng, 417 00:18:24,080 --> 00:18:28,060 bir bir tapşırıq izlədi dəyişən string s adlı, və ya s adlı; 418 00:18:28,060 --> 00:18:31,260 və sonra printf, başqa bir zəng, lakin iki giriş ilə bu dəfə. 419 00:18:31,260 --> 00:18:33,646 >> Belə ki, biz artıq etdik dövlət adı, daha doğrusu, biz 420 00:18:33,646 --> 00:18:34,770 artıq printf zəng edilir. 421 00:18:34,770 --> 00:18:38,960 Beləliklə, mən adınızı dövlət, yazmaq üçün gedirəm. 422 00:18:38,960 --> 00:18:42,089 Beləliklə, mən nə gedirəm yalnız bir anda, printf, ötürmək, 423 00:18:42,089 --> 00:18:43,005 Bu, kifayət qədər sadəcə deyil. 424 00:18:43,005 --> 00:18:47,760 Siz irəli getmək və bu çəkmək istəyirsinizsə Belə ki, Ekranda ki, sizin giriş indi. 425 00:18:47,760 --> 00:18:48,260 Bütün hüquqlar. 426 00:18:48,260 --> 00:18:51,160 Və biz indi, simli unutmaq burada kodu öz xətti. 427 00:18:51,160 --> 00:18:54,470 Belə ki, GetString, biz lazım həqiqətən, GetString zəng etmək üçün. 428 00:18:54,470 --> 00:18:57,920 Belə ki, həyat sizin məqsədi yalnız gəzmək edir orkestr daxil, siz ola bilər, əgər, 429 00:18:57,920 --> 00:18:58,980 və kiminsə adı almaq. 430 00:18:58,980 --> 00:19:00,860 Amma sizə verək bir şey qoymaq. 431 00:19:00,860 --> 00:19:02,908 Siz istəyirsinizsə, getmək irəli və bir string almaq, 432 00:19:02,908 --> 00:19:05,241 ki, kiminsə adını almaq kağız parçası, siz ola bilər, əgər. 433 00:19:05,241 --> 00:19:12,940 434 00:19:12,940 --> 00:19:13,530 >> Bütün hüquqlar. 435 00:19:13,530 --> 00:19:15,250 Və biz yalnız bir anda, görəcəksiniz Onun adı alırıq. 436 00:19:15,250 --> 00:19:17,630 Eyni zamanda, mən nə gedirəm hazır, boş parça 437 00:19:17,630 --> 00:19:21,340 kağız, olan, mən gedirəm saxlamaq üçün nə dəyər 438 00:19:21,340 --> 00:19:25,752 GetString mənə qayıdır ki, Mən adlı simli dəyişən, s olan. 439 00:19:25,752 --> 00:19:26,252 Bütün hüquqlar. 440 00:19:26,252 --> 00:19:27,293 Belə ki, burada nə var? 441 00:19:27,293 --> 00:19:27,950 Nik. 442 00:19:27,950 --> 00:19:28,450 Bütün hüquqlar. 443 00:19:28,450 --> 00:19:30,910 Beləliklə, biz burada Nik adı var. 444 00:19:30,910 --> 00:19:33,750 Belə ki, bu nə sözün deyil qaytarılıb 445 00:19:33,750 --> 00:19:35,810 Mənə, belə ki, GetString ilə danışmaq. 446 00:19:35,810 --> 00:19:38,720 >> Mən gedir, indi edirəm sol tərəfində icra 447 00:19:38,720 --> 00:19:43,440 Mən sadəcə ifadə edərək, Bugünkü məqsədləri Nik üçün kopyalayın. 448 00:19:43,440 --> 00:19:46,470 Belə ki, indi mən bir dəyişən var adlı Nik adı saxlanılması, s. 449 00:19:46,470 --> 00:19:49,520 Mən artıq təslim etdik printf, bir əvvəlki dəlil. 450 00:19:49,520 --> 00:19:52,800 Amma üçüncü və son xətt indeksi, Mən, həqiqətən, əl printf var 451 00:19:52,800 --> 00:19:58,500 bir az different-- şey "Salam,% s" backslash n. 452 00:19:58,500 --> 00:20:01,510 >> Və belə ki, son line Mən gedirəm Mən son şey send-- üçün 453 00:20:01,510 --> 00:20:03,060 İndi yazmaq üçün gedir, bu. 454 00:20:03,060 --> 00:20:06,310 Belə kodu iki xətləri, və ya Kodu son xəttin daha doğrusu, 455 00:20:06,310 --> 00:20:10,690 iki inputs-- üçün zənglər bir, bu, iki, bu. 456 00:20:10,690 --> 00:20:13,330 Bizim printf funksiyası Belə ki İndi giriş kimi bu edə bilər, 457 00:20:13,330 --> 00:20:16,000 Mənə sizin üçün ekran sil imkan verir. 458 00:20:16,000 --> 00:20:17,250 Əslində heç, siz davam edə bilər. 459 00:20:17,250 --> 00:20:19,333 Biz-ci ildən, onu tərk edəcəyik eyni proqram var. 460 00:20:19,333 --> 00:20:21,760 461 00:20:21,760 --> 00:20:27,380 Biz, hello, Ləqəb görmək lazımdır. 462 00:20:27,380 --> 00:20:27,880 Bütün hüquqlar. 463 00:20:27,880 --> 00:20:29,670 Belə ki, bu bir neçə idi hoops yalnız vasitəsilə jump 464 00:20:29,670 --> 00:20:31,620 yazmaq, dövlət sizin , hello, Ləqəb adı və. 465 00:20:31,620 --> 00:20:37,210 Ancaq mesaj keçən bu sadə fikir, giriş keçən və çıxış aldığı, 466 00:20:37,210 --> 00:20:40,430 biz olacaq model dəqiq deyil hətta ən mürəkkəb funksiyaları üçün. 467 00:20:40,430 --> 00:20:41,804 Belə ki, həm də çox təşəkkür edirəm. 468 00:20:41,804 --> 00:20:43,730 Biz bir sevimli stress var sizin üçün top. 469 00:20:43,730 --> 00:20:48,890 Və GetString təşəkkür edirəm eyni və printf könüllü. 470 00:20:48,890 --> 00:20:49,551 Təşəkkür edirəm. 471 00:20:49,551 --> 00:20:50,050 Bütün hüquqlar. 472 00:20:50,050 --> 00:20:50,966 Siz də təşəkkür edirəm. 473 00:20:50,966 --> 00:20:56,640 474 00:20:56,640 --> 00:21:00,430 >> Beləliklə, biz söhbət etdik indiyədək, əsasən strings haqqında. 475 00:21:00,430 --> 00:21:06,550 Və bu C, həqiqətən bilər çıxır bir neçə müxtəlif data növləri başa düşürük. 476 00:21:06,550 --> 00:21:08,860 Əslində, götürək Burada bu oldu. 477 00:21:08,860 --> 00:21:12,490 Belə ki, C, və dil bir çox, chars adlı şeyi başa düşürük. 478 00:21:12,490 --> 00:21:16,852 A char ümumiyyətlə deyil bir byte, və ya səkkiz bit. 479 00:21:16,852 --> 00:21:19,810 Və bir xarakter təmsil, A hərfi, və ya kapital kimi 480 00:21:19,810 --> 00:21:21,990 məktub A, və ya kiçik məktub A, və ya bir nida point, 481 00:21:21,990 --> 00:21:25,440 və ya hər hansı xarakter yazın bilər ki, Sizin klaviatura, bəzən hətta daha çox. 482 00:21:25,440 --> 00:21:26,795 Biz də üzüb gedirdi görmək üçün baş verir. 483 00:21:26,795 --> 00:21:31,160 A float, ümumiyyətlə, bir 32-bit dəyəri, və ya dörd bytes 484 00:21:31,160 --> 00:21:33,660 yenidən, çünki bir byte səkkiz bit edir. 485 00:21:33,660 --> 00:21:36,675 >> Belə ki, bir float üzən point dəyəri, bir bu kəsir ilə bir şey. 486 00:21:36,675 --> 00:21:38,550 And olsun ki, nə var Film söhbət 487 00:21:38,550 --> 00:21:42,240 Onlar üzən barədə danışarkən haqqında point dəyərləri, bit bəzi sabit sayı 488 00:21:42,240 --> 00:21:43,940 bir real sayı təmsil etmək üçün istifadə olunur. 489 00:21:43,940 --> 00:21:45,740 Lakin ikiqat adlı şey var. 490 00:21:45,740 --> 00:21:47,860 Bu, Java mövcud Siz APCS qəbul etdiyiniz əgər, 491 00:21:47,860 --> 00:21:51,540 və bir cüt kimi adı təşəkkürlə təklif iki dəfə bir float kimi böyük. 492 00:21:51,540 --> 00:21:54,540 Bu hələ bir real sayı, Bu daha çox bit var 493 00:21:54,540 --> 00:21:58,390 olan, daha dəqiq desək və ya daha nömrələri saxlamaq üçün. 494 00:21:58,390 --> 00:21:58,890 int asandır. 495 00:21:58,890 --> 00:22:00,181 Biz bu son dəfə danışıb. 496 00:22:00,181 --> 00:22:01,160 Bu, sadəcə bir tam var. 497 00:22:01,160 --> 00:22:03,980 Və ümumiyyətlə, 32 var bit, və ya dörd bytes. 498 00:22:03,980 --> 00:22:07,850 >> Belə ki, siz varsa, indi görək 32 bits-- və biz həftə 0 bunu, 499 00:22:07,850 --> 00:22:10,820 varsa heç belə briefly-- 32 bit, böyük nə var 500 00:22:10,820 --> 00:22:13,580 Bir tam kimi təmsil edə bilər sayı? 501 00:22:13,580 --> 00:22:16,080 Vermək və ya almaq? 502 00:22:16,080 --> 00:22:18,380 Bu 4 milyard kimi və biz etdiyiniz yalnız var 503 00:22:18,380 --> 00:22:20,690 müsbət nömrələri yalnız təmsil. 504 00:22:20,690 --> 00:22:23,930 32 bit var və siz istəyirsinizsə eləcə də mənfi nömrələri təmsil, 505 00:22:23,930 --> 00:22:27,100 Range mahiyyətcə, mənfi 2 milyard müsbət 2 milyard. 506 00:22:27,100 --> 00:22:29,250 Amma ümumiyyətlə, biz başlamaq lazımdır 0 4 milyard qədər getmək. 507 00:22:29,250 --> 00:22:32,400 >> Siz dəqiq bilmək lazımdır, lakin yalnız mən əgər biz, əslində, bu görə bilərsiniz 508 00:22:32,400 --> 00:22:36,400 Burada bir az kalkulyator açmaq. 509 00:22:36,400 --> 00:22:41,070 Mən 32 2 edə bilər, və ki, tam olaraq necə böyük var, 510 00:22:41,070 --> 00:22:43,190 neçə dəyərlər bilərsiniz 32 bit ilə təmsil edir. 511 00:22:43,190 --> 00:22:44,442 Və təxminən 4 milyard var. 512 00:22:44,442 --> 00:22:46,900 Beləliklə, biz ki sayı görən davam edəcəyik bir neçə müxtəlif yerlərdə. 513 00:22:46,900 --> 00:22:48,890 Ancaq artıq lazımdır, əgər daha nömrələri, 514 00:22:48,890 --> 00:22:51,670 orada çıxır bir şey uzun uzun çağırıb. 515 00:22:51,670 --> 00:22:54,005 Və uzun uzun ümumiyyətlə 64 bit olan 516 00:22:54,005 --> 00:22:56,380 Bu gücündə bir sifariş deməkdir bir int daha böyük. 517 00:22:56,380 --> 00:22:59,510 >> Belə ki, hətta ən böyük tələffüz edə bilməz Siz təmsil edə bilər sayı, 518 00:22:59,510 --> 00:23:01,340 lakin bu dərəcədə böyükdür. 519 00:23:01,340 --> 00:23:05,190 İndi bir kənara, tarixən, bir int 32 bit əgər, 520 00:23:05,190 --> 00:23:12,780 və uzun uzun 64 bit, necə böyük bir uzun deyil, uzun uzun edir? 521 00:23:12,780 --> 00:23:16,500 522 00:23:16,500 --> 00:23:20,330 Siz bir int artıq hesab edirəm ediyorum amma bəlkə az uzun daha uzun uzun, 523 00:23:20,330 --> 00:23:21,400 lakin bu, həqiqətən asılıdır. 524 00:23:21,400 --> 00:23:23,400 >> Və belə ki, bir çıxır çox frustrations, 525 00:23:23,400 --> 00:23:26,830 Müəyyən sistemi kod yazı ilə, ki, bu veri növləri bütün 526 00:23:26,830 --> 00:23:28,440 əvvəlcədən müəyyən dəyərlər var. 527 00:23:28,440 --> 00:23:29,771 Bəzən bu çox bit var. 528 00:23:29,771 --> 00:23:31,020 Bəzən çox bit var. 529 00:23:31,020 --> 00:23:32,750 Beləliklə, siz həqiqətən bilmək lazımdır, bəzən, nə hardware 530 00:23:32,750 --> 00:23:34,083 Siz proqram çalışan edirik. 531 00:23:34,083 --> 00:23:36,960 Təşəkkürlə, digər dillərdə və İndi mövcud olan digər məlumatlar növləri 532 00:23:36,960 --> 00:23:38,400 Siz daha dəqiq olmaq üçün imkan verir. 533 00:23:38,400 --> 00:23:41,220 Yaxşı, biz, simli gördüm və biz də bool gördüm 534 00:23:41,220 --> 00:23:43,960 lakin bu gəlmək çıxır yalnız CS50 kitabxana ilə. 535 00:23:43,960 --> 00:23:46,240 Belə ki, həmin inşa deyil C. o əvəzinə, 536 00:23:46,240 --> 00:23:49,340 adlı fayl gəlib CS50.h ki, biz nəhayət lazımdır 537 00:23:49,340 --> 00:23:51,831 qat geri soymaq. 538 00:23:51,831 --> 00:23:53,830 Amma indi üçün, onlar yalnız istəyirik əlavə məlumat növləri. 539 00:23:53,830 --> 00:23:57,060 A bool bir doğru və ya yalan və var string simvol bir ardıcıllıqla deyil, 540 00:23:57,060 --> 00:23:57,970 bir söz kimi. 541 00:23:57,970 --> 00:24:01,690 İndi printf, biz gördük var placeholders,% s biridir. 542 00:24:01,690 --> 00:24:05,430 Və, indi, ola bilər bu digər nümunələri, necə nəticə çıxarmaq 543 00:24:05,430 --> 00:24:07,720 Bir tutucu ola bilər müxtəlif data növləri üçün. 544 00:24:07,720 --> 00:24:11,150 Məsələn, bir tahmin almaq əgər istifadə edərək, bir char çap etmək istədi 545 00:24:11,150 --> 00:24:15,270 printf, tutucu yəqin% c. 546 00:24:15,270 --> 00:24:19,650 Və bir çap istəyirsinizsə tutucu,% i ilə tam. 547 00:24:19,650 --> 00:24:25,150 % LLD, uzun uzun decimal dəyəri lakin uzun uzun ki, xəritələr belə. 548 00:24:25,150 --> 00:24:28,640 Üzən və sonra% f point dəyəri və ya ikiqat üçün, 549 00:24:28,640 --> 00:24:31,270 belə ki, bəzən onlar yenidən istifadə etdiyiniz müxtəlif kontekstlərdə. 550 00:24:31,270 --> 00:24:33,350 Beləliklə, biz görürük və istifadə edəcəyik zamanla o bəzi. 551 00:24:33,350 --> 00:24:36,420 Printf və digər funksiyaları və dəstək başqalarının escape ardıcıllığı, 552 00:24:36,420 --> 00:24:38,080 və bəzən bu lazımdır. 553 00:24:38,080 --> 00:24:39,770 Belə ki, backslash n yeni bir xəttidir. 554 00:24:39,770 --> 00:24:42,886 Backslash t, hər kəs yoxdur bir zərbə almaq istəyirsiniz? 555 00:24:42,886 --> 00:24:43,760 Tamaşaçı İstifadəçi: Tab. 556 00:24:43,760 --> 00:24:44,551 DAVID J Malan: Tab. 557 00:24:44,551 --> 00:24:46,810 Siz, həqiqətən, istəyirəm əgər , nişanı deyil çap 558 00:24:46,810 --> 00:24:49,940 fəzalarda bir sabit sayı lakin faktiki tab xarakter, sizin basmayın 559 00:24:49,940 --> 00:24:53,490 klaviatura nişanı, əsas, ümumiyyətlə, Siz, həqiqətən, backslash t yoxdur. 560 00:24:53,490 --> 00:24:57,750 Backslash ikiqat quote, niyə heç ki istəyirsiniz? 561 00:24:57,750 --> 00:24:58,250 Sağ? 562 00:24:58,250 --> 00:25:00,417 Niyə yalnız bir yazın bilməz mənim klaviatura ikiqat quote? 563 00:25:00,417 --> 00:25:02,124 Tamaşaçı İstifadəçi: Başqa, bu, çünki 564 00:25:02,124 --> 00:25:04,830 Bu son hesab gedir sizin çap [istəyirsiniz? mətn. ?] 565 00:25:04,830 --> 00:25:05,420 >> DAVID J Malan: Məhz. 566 00:25:05,420 --> 00:25:07,211 Ilə Unutmayın, bizim printf nümunələri, zaman biz 567 00:25:07,211 --> 00:25:10,075 girdi printf keçən, giriş simli sol, 568 00:25:10,075 --> 00:25:12,950 ki, giriş sağ yaz, əlbəttə, ikiqat quote idi. 569 00:25:12,950 --> 00:25:16,270 Öz giriş ikiqat varsa ki, ortasında quote, 570 00:25:16,270 --> 00:25:18,920 kompüter potensial bilər kimi, qarışıq almaq, 571 00:25:18,920 --> 00:25:20,760 Bu ikiqat quote yoxdur ortada aid? 572 00:25:20,760 --> 00:25:22,150 Sol biri ilə məxsusdur? 573 00:25:22,150 --> 00:25:23,566 Bu doğru bir ilə məxsusdur? 574 00:25:23,566 --> 00:25:26,780 Belə ki, siz super bunu etmək istəyirsinizsə aydın, siz ikiqat quote backslash yoxdur, 575 00:25:26,780 --> 00:25:30,480 Bu xilas oldu ki, belə danışmaq, və Bu başqa bir şey üçün conflated deyil. 576 00:25:30,480 --> 00:25:34,400 Və burada bir neçə başqaları var backslash r, bir quotes, 0, 577 00:25:34,400 --> 00:25:36,510 ki, biz də, zamanla görə bilərsiniz. 578 00:25:36,510 --> 00:25:37,760 İndi nə funksiyaları haqqında? 579 00:25:37,760 --> 00:25:41,630 >> Biz belə uzaq edə bilərsiniz hərəkətləri belə bu dildə, C, yaxşı, biz gördük, 580 00:25:41,630 --> 00:25:44,320 printf, əlbəttə, və bütün Ekranda digər, 581 00:25:44,320 --> 00:25:47,140 Burada biz istifadə edəcəyik ki, yalnız Kursun ilk bir neçə həftə, 582 00:25:47,140 --> 00:25:48,485 zaman CS50 kitabxana gəlib. 583 00:25:48,485 --> 00:25:51,850 Və onlar, bu, çox asan C, həqiqətən, istifadəçi daxil almaq üçün. 584 00:25:51,850 --> 00:25:54,200 Bu C çıxır ki, və səmimi bir neçə dildə, 585 00:25:54,200 --> 00:25:57,450 bunu boyun bir real ağrı var tez istifadəçi kimi sadə bir şey, 586 00:25:57,450 --> 00:26:01,310 onun giriş üçün klaviatura üçün. 587 00:26:01,310 --> 00:26:03,240 Və belə bu funksiyaları daha asan. 588 00:26:03,240 --> 00:26:05,472 >> Və bu da səhv var ərzində yoxlanılması, 589 00:26:05,472 --> 00:26:07,180 belə zaman ki, Çərşənbə biz də geri 590 00:26:07,180 --> 00:26:09,740 , yeniden, xəbərdarlıq gördüm Mən əməkdaşlıq etməyib zaman, 591 00:26:09,740 --> 00:26:11,700 Mən bir söz əvəzinə bir sıra tipli? 592 00:26:11,700 --> 00:26:15,402 Biz erkən ağır atletika etdik istifadəçi əməkdaşlıq əmin olun. 593 00:26:15,402 --> 00:26:17,860 Amma bu yalnız təlim ki, biz nəhayət olacaq disklər, 594 00:26:17,860 --> 00:26:19,640 və tez çıxarmaq. 595 00:26:19,640 --> 00:26:22,630 >> Recap Belə ki, sonra, nin tez nəzər salaq, 596 00:26:22,630 --> 00:26:26,620 biz Not da ilə nə çox kimi C. bəzi canonical konstruksiyaların 597 00:26:26,620 --> 00:26:28,580 Bu sort, üçün nəzərdə tutulmuşdur ki, bir qasırğa tur olmaq, 598 00:26:28,580 --> 00:26:30,990 ki, yalnız belə bir arayış var və ilk şeyi gördüm ki. 599 00:26:30,990 --> 00:26:34,100 Amma sonra biz faktiki kodlaşdırma baxmaq lazımdır Bu bloklar bəzi istifadə. 600 00:26:34,100 --> 00:26:36,710 Belə ki, çox Not kimi, biz hesabatları kimi zaman, 601 00:26:36,710 --> 00:26:41,570 C, biz var, gözləyin, demək və ya printf kimi də fəaliyyət göstərir. 602 00:26:41,570 --> 00:26:45,350 >> Biz vəziyyəti ifadə etmək istəyirsinizsə, C, bu ruhu, oxşar, 603 00:26:45,350 --> 00:26:47,840 ki, puzzle parça ki, Not bu kimi baxdı. 604 00:26:47,840 --> 00:26:49,850 Ancaq əvəzinə, biz sözün yalnız əgər yazın. 605 00:26:49,850 --> 00:26:51,830 Və sonra, parantez, biz bir şərt qoymaq, 606 00:26:51,830 --> 00:26:54,807 ki, vəziyyəti olduğu nə biz lazımdır bir boolean ifadə, yenə zəng. 607 00:26:54,807 --> 00:26:56,390 Və yenə bu pseudocode sortudur. 608 00:26:56,390 --> 00:26:58,830 Və əslində, // Şərh var. 609 00:26:58,830 --> 00:27:00,550 Bu özüm üçün yalnız İngilis dili sözlər var. 610 00:27:00,550 --> 00:27:03,000 Amma bu ümumi deyil bir, əgər, vəziyyəti strukturu. 611 00:27:03,000 --> 00:27:05,220 Amma biz konkret görəcəksiniz yalnız bir anda nümunələri. 612 00:27:05,220 --> 00:27:07,960 >> Bir istəyirsinizsə yol iki yol çəngəl, 613 00:27:07,960 --> 00:27:11,740 çox kimi biz bizim könüllü ilə etdi Çərşənbə, başqa, əgər bir ola bilər. 614 00:27:11,740 --> 00:27:16,020 Və üçüncü etmək istəyirsinizsə və son vəziyyəti, və ya default vəziyyət, 615 00:27:16,020 --> 00:27:19,006 Orada yalnız bir başqa blok ola bilər. 616 00:27:19,006 --> 00:27:21,880 Və eyni, boolean ifadələri ilə, Əgər siz onları birlikdə edə bilərsiniz, və. 617 00:27:21,880 --> 00:27:24,296 Və biz Çərşənbə günü gördüm ki, bu bir işareti deyil, 618 00:27:24,296 --> 00:27:28,220 aşağı səviyyədə səbəblərə görə, iki ki, biz nəhayət görmək və oynamaq lazımdır. 619 00:27:28,220 --> 00:27:30,410 Şeyi birlikdə Or-Ing 2 şaquli bar edir. 620 00:27:30,410 --> 00:27:32,240 ABŞ klaviatura, bu əsas ümumiyyətlə 621 00:27:32,240 --> 00:27:35,730 Yuxarıda Shift düyməsi ilə Sizin əsas daxil edin və ya düyməsini qayıt. 622 00:27:35,730 --> 00:27:38,620 >> Sonra bu şeylər var ki, bir dəfə və ya iki dəfə, bəlkə istifadə edəcəyik. 623 00:27:38,620 --> 00:27:42,570 Onlar funksional ekvivalent əgər nə əgər bir ilə edə bilərsiniz, 624 00:27:42,570 --> 00:27:44,950 başqa başqa əgər, tikintisi, lakin onlar bir keçid adlı edirik. 625 00:27:44,950 --> 00:27:48,020 Onlar çox müxtəlif baxmaq, lakin biz lazımdır Bizim bölüşdürülməsi kodu bəzi görmək, 626 00:27:48,020 --> 00:27:51,890 gələcək problem set, çox güman ki, yalnız bəzən bir gözəlləşir ki, 627 00:27:51,890 --> 00:27:54,060 bir bütün ifadə yolu şərait dəstə, 628 00:27:54,060 --> 00:27:57,590 qıvrım aşırma bir çox olmadan və parantez və abzas bir çox. 629 00:27:57,590 --> 00:28:01,910 Amma onlar bizə heç bir daha çox vermək elektrik biz artıq daha. 630 00:28:01,910 --> 00:28:02,550 İndi ilmə. 631 00:28:02,550 --> 00:28:05,020 Və bu, biz baxmaq lazımdır daha yavaş bir az. 632 00:28:05,020 --> 00:28:08,470 Amma sonra, biz bu istifadə etmək başlamaq lazımdır, xüsusilə artıq tanış olanlar üçün. 633 00:28:08,470 --> 00:28:13,830 Bu halda inanılmaz, canonical yoludur gizli şəkildə, C. bir loop yazmaq 634 00:28:13,830 --> 00:28:15,896 >> İndi Not bir loop idi olduqca sadə. 635 00:28:15,896 --> 00:28:17,020 Siz əbədi, blok var. 636 00:28:17,020 --> 00:28:19,760 Siz, təkrar, blok ilə var yalnız bir sayı yazın var. 637 00:28:19,760 --> 00:28:22,220 Və üçün loop, siz , həmin ideyaların, həm də həyata keçirilməsi 638 00:28:22,220 --> 00:28:23,595 lakin bir az daha texniki var. 639 00:28:23,595 --> 00:28:25,994 Amma səmimi, bu da var nisbətən sadə. 640 00:28:25,994 --> 00:28:28,160 Siz sifariş bilirik sonra əməliyyatlar, sözün 641 00:28:28,160 --> 00:28:30,910 yalnız dəyərlər plug gedir və nə kompüter demək. 642 00:28:30,910 --> 00:28:32,800 Belə ki, burada bir misal var. 643 00:28:32,800 --> 00:28:38,040 Bu loop ki, olduqca sadəcə, bir sıra qədər sayar 644 00:28:38,040 --> 00:28:40,187 başqa vasitəsilə. 645 00:28:40,187 --> 00:28:42,020 Və yalnız salan ilə Siz olsa belə, bu, 646 00:28:42,020 --> 00:28:44,660 heç bir təcrübəsi Bu dil, nə sayı 647 00:28:44,660 --> 00:28:46,920 Bu yəqin ki, hesablanması başlayır? 648 00:28:46,920 --> 00:28:47,730 OK, 0. 649 00:28:47,730 --> 00:28:50,240 Mən ki, çünki təxmin edirəm bir int və i var ki, görəcəksiniz 650 00:28:50,240 --> 00:28:51,073 olan dəyişir. 651 00:28:51,073 --> 00:28:52,390 Bu 0 başlatılmış edir. 652 00:28:52,390 --> 00:28:55,670 >> Və sonra, bu kimi görünür Biz bir dəyər printf keçən edirik. 653 00:28:55,670 --> 00:28:58,000 Və əslində, mən burada bir az typo etdi. 654 00:28:58,000 --> 00:28:59,850 Amma ki, asanlıqla müəyyən edir. 655 00:28:59,850 --> 00:29:02,390 Mənə Burada əlavə edək. 656 00:29:02,390 --> 00:29:06,150 Biz indi printf mövcüdsən ki, tutucu dəyər keçdi. 657 00:29:06,150 --> 00:29:08,299 Və vasitəsilə saymaq neler? 658 00:29:08,299 --> 00:29:08,840 Auditoriya: 50. 659 00:29:08,840 --> 00:29:09,340 50. 660 00:29:09,340 --> 00:29:10,160 49. 661 00:29:10,160 --> 00:29:10,910 DAVID J Malan: 49. 662 00:29:10,910 --> 00:29:13,340 Belə ki, 50 ilk baxışda doğru görünür. 663 00:29:13,340 --> 00:29:16,990 Amma ki, bu çıxır, olacaq Biz yoxlanılması saxlamaq bizim şərt. 664 00:29:16,990 --> 00:29:21,740 Və biz bir dəfə dayandırmaq olacaq i artıq 50-dən azdır. 665 00:29:21,740 --> 00:29:24,920 Belə ki, bu loop, əksinə, olmalıdır belə uzun i 50-dən az olduğu kimi, icra. 666 00:29:24,920 --> 00:29:28,891 Amma bu 50 və ya 51 olur kimi tezliklə, və ya pis, avtomatik olaraq dayandırmaq lazımdır. 667 00:29:28,891 --> 00:29:29,390 Bütün hüquqlar. 668 00:29:29,390 --> 00:29:31,200 >> Belə ki, nə həqiqətən burada olur? 669 00:29:31,200 --> 00:29:33,160 Belə ki, bu sifariş edir bir loop üçün əməliyyatları. 670 00:29:33,160 --> 00:29:35,440 One, siz başlatma qondarma. 671 00:29:35,440 --> 00:29:38,264 Bu sarı qeyd yığın kodu ilk icra edilir 672 00:29:38,264 --> 00:29:40,930 və bu təsiri başına var Çərşənbə, yəqin ki, təsəvvür. 673 00:29:40,930 --> 00:29:45,500 Bu dəyişən i və adlandırıb yaradır ki, dəyişən mağazalar dəyəri 0. 674 00:29:45,500 --> 00:29:47,560 Belə ki, i hekayə bu nöqtədə 0 edir. 675 00:29:47,560 --> 00:29:49,680 >> növbəti şey ki, bu tikintisi olur, 676 00:29:49,680 --> 00:29:51,540 vəziyyəti yoxlanılır olur ki. 677 00:29:51,540 --> 00:29:54,325 Beləliklə, mən dərhal yoxlamaq i 50-dən az? 678 00:29:54,325 --> 00:29:57,700 Və əlbəttə, cavab İndi bəli, şübhəsiz ki, var. 679 00:29:57,700 --> 00:30:00,710 Bəli i, 0, çünki ki, şübhəsiz ki, 50-dən az var. 680 00:30:00,710 --> 00:30:03,866 Sonra nə olar, bu ki, kod line edam olur. 681 00:30:03,866 --> 00:30:06,740 Və əslində, əgər çox var bu qıvrım aşırma kodu xətləri, 682 00:30:06,740 --> 00:30:09,020 onlar bütün bir-bir edam almaq. 683 00:30:09,020 --> 00:30:11,450 >> Və burada təsiri var yəqin, çap 684 00:30:11,450 --> 00:30:15,365 gedir sayı i, 0, sonra 1, sonra 2 ola bilər. 685 00:30:15,365 --> 00:30:15,865 Amma niyə? 686 00:30:15,865 --> 00:30:17,410 Nə artırılacağını almaq deyil? 687 00:30:17,410 --> 00:30:20,680 Yaxşı, dördüncü şey baş, bu sintaksis ki, 688 00:30:20,680 --> 00:30:22,610 nöqtəli vergül sonra edam edilir. 689 00:30:22,610 --> 00:30:27,506 i deyərək bir steno yoldur ++; i dəyəri almaq və ona 1 əlavə; 690 00:30:27,506 --> 00:30:30,380 və sonra ətrafında növbəti dəfə əlavə Bu 1; və ətrafında növbəti dəfə, 691 00:30:30,380 --> 00:30:31,330 bu 1 əlavə edin. 692 00:30:31,330 --> 00:30:33,640 >> Beləliklə, biz davam əgər, nə baş verəcək 693 00:30:33,640 --> 00:30:35,890 növbəti I fikrində deyiləm ki, daha i başlamaq. 694 00:30:35,890 --> 00:30:38,290 Mən başlatılıyor saxlanılır əgər i 0, bu nümunə 695 00:30:38,290 --> 00:30:41,110 Çünki son heç vaxt i 0 vurulmuş olunacaq. 696 00:30:41,110 --> 00:30:43,870 Amma baş verənləri deyil vəziyyəti yoxlanılacaq ki, 697 00:30:43,870 --> 00:30:54,280 kod line edam olacaq, i, incremented olunacaq 698 00:30:54,280 --> 00:30:56,970 vəziyyəti yoxlanılacaq, code icra edəcək. 699 00:30:56,970 --> 00:30:59,790 Və yenə velosiped saxlanılır və yenidən və yenidən, 700 00:30:59,790 --> 00:31:03,340 i qədər ++ 50 bir dəyər truces. 701 00:31:03,340 --> 00:31:05,870 >> vəziyyəti daha sonra deyir 50-dən 50-az? 702 00:31:05,870 --> 00:31:09,360 Cavab, əlbəttə, heç bir, və belə ki, bütün code icra dayanır. 703 00:31:09,360 --> 00:31:13,020 Və ekranda daha kodunu varsa aşağı, ki, növbəti olur. 704 00:31:13,020 --> 00:31:17,530 Bu qıvrım aşırma həyata pops və bundan sonra daha çox çap davam edir. 705 00:31:17,530 --> 00:31:20,470 >> Belə ki, Foxtrot artıq bir zarafat, ki, bəlkə indi anlamaq lazımdır. 706 00:31:20,470 --> 00:31:30,810 707 00:31:30,810 --> 00:31:31,560 O, həmişə komik. 708 00:31:31,560 --> 00:31:34,110 Bu chuckles kimi cür, sızmaq 709 00:31:34,110 --> 00:31:38,370 və sonra həyata olmamalıdır oxşar yumor da laughing olacaq. 710 00:31:38,370 --> 00:31:41,160 Lakin bəzi paket var burada pedaqoji da. 711 00:31:41,160 --> 00:31:43,577 Belə ki, mən çıxır ki, sintaksis bir parça itkin, 712 00:31:43,577 --> 00:31:45,410 və ya Foxtrot nin itkin burada sintaksis parça. 713 00:31:45,410 --> 00:31:48,076 Biz etdik ki, itkin hər Məsələn, indiyə qədər? 714 00:31:48,076 --> 00:31:51,599 715 00:31:51,599 --> 00:31:53,390 Return, belə ki, var ki, başqa bir şey 716 00:31:53,390 --> 00:31:54,440 biz uzun əvvəl geri gəlmək lazımdır ki,. 717 00:31:54,440 --> 00:31:55,398 Nə itkin, baxmayaraq ki? 718 00:31:55,398 --> 00:31:55,908 Bəli. 719 00:31:55,908 --> 00:31:58,150 >> Tamaşaçı İstifadəçi: [Işitilemez] başlatma. 720 00:31:58,150 --> 00:31:58,470 >> DAVID J Malan: OK. 721 00:31:58,470 --> 00:31:58,980 Belə ki, Bəli. 722 00:31:58,980 --> 00:32:03,210 Belə ki, əslində, bu Well is--, və count başlatılmış olunur 723 00:32:03,210 --> 00:32:05,470 yuxarıda, daha doğrusu, yuxarıda elan etdi. 724 00:32:05,470 --> 00:32:06,960 Belə ki, bu bunu bir yoldur. 725 00:32:06,960 --> 00:32:08,685 Amma bir xətt baxmayaraq etibarlı deyil. 726 00:32:08,685 --> 00:32:09,310 Necə burada? 727 00:32:09,310 --> 00:32:10,196 >> Auditoriya ÜZV: Bu qıvrım aşırma deyilmi? 728 00:32:10,196 --> 00:32:10,640 >> DAVID J Malan: Bəli. 729 00:32:10,640 --> 00:32:12,080 Belə ki, qıvrım aşırma yoxdur. 730 00:32:12,080 --> 00:32:15,495 Amma bu kodu, mən onların kredit, demək, həqiqətən, syntactically etibarlıdır. 731 00:32:15,495 --> 00:32:17,610 Bu çıxır, siz deyil qıvrım aşırma lazımdır 732 00:32:17,610 --> 00:32:21,691 Yalnız kod bir xətt var ki, əgər Siz loop daxilində icra etmək istəyirəm. 733 00:32:21,691 --> 00:32:24,190 İndi biz həmişə sinif və Bizim distribution kodu bütün, 734 00:32:24,190 --> 00:32:26,730 qıvrım aşırma daxildir hər halda, yalnız aydınlıq xatirinə. 735 00:32:26,730 --> 00:32:29,010 Amma dərsliklərdə ki, həyata və online nümunələri, 736 00:32:29,010 --> 00:32:31,300 Siz çox yaxşı buruq ola bilər vaxtsa itkin aşırma. 737 00:32:31,300 --> 00:32:34,850 Və, OK nə əgər girintili və nəzərdə tutulan var 738 00:32:34,850 --> 00:32:38,650 kod yalnız bir xətt deyil, potensial kodu çox xətləri. 739 00:32:38,650 --> 00:32:39,150 Bütün hüquqlar. 740 00:32:39,150 --> 00:32:44,500 Məsələsinə belə əlaqədar qeyri-dəqiqlik, daşqın bir məsələdir 741 00:32:44,500 --> 00:32:48,560 mənada ki, eyni, integers onlara məhdudiyyətlər var 742 00:32:48,560 --> 00:32:49,970 yalnız point dəyərləri üzən kimi? 743 00:32:49,970 --> 00:32:53,120 Dünyanın üzən Point dəyərlər, biz yalnız, belə ki, dəqiq ola bilər 744 00:32:53,120 --> 00:32:55,710 bəzən, sonra pis şeylər ola bilər, 745 00:32:55,710 --> 00:32:57,760 və proqramları arabası və səhv ola bilər. 746 00:32:57,760 --> 00:33:00,050 İndi hətta integers ilə, Əgər problem daxil edə bilərsiniz. 747 00:33:00,050 --> 00:33:03,820 İndi bir tam bir yoxdur decimal point və ya sonra nömrələri. 748 00:33:03,820 --> 00:33:07,130 Bu adətən yalnız bir təbii sayı var. 749 00:33:07,130 --> 00:33:09,430 Belə ki, bir int ilə yanlış nə getmək bilər? 750 00:33:09,430 --> 00:33:12,210 Mən int istifadə edirəm , yanlış nə getmək bilər count? 751 00:33:12,210 --> 00:33:13,230 Bir çox sadə görünür. 752 00:33:13,230 --> 00:33:13,873 Bəli. 753 00:33:13,873 --> 00:33:16,240 >> Tamaşaçı İstifadəçi: Əgər sayı olur [işitilemez] 754 00:33:16,240 --> 00:33:17,073 >> DAVID J Malan: Bəli. 755 00:33:17,073 --> 00:33:20,820 Siz, belə ki, yüksək saymaq sizə ki, əgər nə ki, həqiqətən, böyük sayı ifadə edə bilməz. 756 00:33:20,820 --> 00:33:21,320 Sağ? 757 00:33:21,320 --> 00:33:23,910 Bir nöqtədə, siz olacaq sərhədləri artıq 758 00:33:23,910 --> 00:33:27,077 32-bit dəyəri və ya 64-bit dəyər. 759 00:33:27,077 --> 00:33:29,410 İndi yenə necə əmin deyiləm 64-bit dəyər tələffüz, 760 00:33:29,410 --> 00:33:32,230 amma 32-bit tam bilirik, ola bilər ən böyük dəyəri, 761 00:33:32,230 --> 00:33:35,490 yalnız müsbət əgər dəyərlər, təxminən 4 mlrd. 762 00:33:35,490 --> 00:33:39,000 Mən 5 milyard saymaq üçün cəhd edin, belə ki, bir şey baş verəcək. 763 00:33:39,000 --> 00:33:41,050 Amma əslində, ola bilər nə görmək edək. 764 00:33:41,050 --> 00:33:44,570 Tam dünya daşqın, harada, bir mənada, 765 00:33:44,570 --> 00:33:48,270 Bir potensialının daşqın tam, nə baş verə bilər? 766 00:33:48,270 --> 00:33:51,190 >> Belə ki, burada bir ikili sayı, Bu 0 throwback var. 767 00:33:51,190 --> 00:33:54,630 Bu, bütün 1-in və placeholders var orada 2 səlahiyyətləri, 768 00:33:54,630 --> 00:33:55,980 bu ikili edir. 769 00:33:55,980 --> 00:33:59,416 Belə ki, bu ekranda 8, 1 bit var. 770 00:33:59,416 --> 00:34:01,290 Və geri və ya tez riyaziyyat etmək, 771 00:34:01,290 --> 00:34:06,074 nə dəyəri təmsil olunur Burada bu səkkiz 1 bit ilə? 772 00:34:06,074 --> 00:34:06,950 255. 773 00:34:06,950 --> 00:34:09,260 Və kifayət qədər əmin deyil, hətta əgər riyaziyyat, siz onu edə bilər. 774 00:34:09,260 --> 00:34:10,550 Və ya yalnız cür ola bilər səbəbi onun vasitəsilə, 775 00:34:10,550 --> 00:34:12,633 Mən əgər, bir dəqiqə gözləyin 8 bit əhəmiyyət kəsb edən, 776 00:34:12,633 --> 00:34:17,750 Mən 256 mümkün dəyərlər var, lakin ilk, 0 777 00:34:17,750 --> 00:34:19,909 Mən bilirəm ki, ən böyük 255 olacaq 778 00:34:19,909 --> 00:34:21,510 və bu biri ola bilər nə. 779 00:34:21,510 --> 00:34:26,060 >> Mən bu dəyər 1 əlavə etmək üçün çalışırıq güman edirlər. 780 00:34:26,060 --> 00:34:28,750 Siz sinifdə nə edərdiniz məktəb 1 əlavə və bu zaman 781 00:34:28,750 --> 00:34:31,139 həqiqətən, çünki uyğun deyil Siz 1 keçirmək? 782 00:34:31,139 --> 00:34:34,380 Gedən bu rəqəm nədir Siz 1 əlavə olmaq üçün? 783 00:34:34,380 --> 00:34:37,030 Bu 0 olmaq olacaq. 784 00:34:37,030 --> 00:34:37,530 Sağ? 785 00:34:37,530 --> 00:34:41,139 Daha çox bits-- idi və əgər, çünki mən lazımdır cür, cəhd burada onu yazın 786 00:34:41,139 --> 00:34:44,710 daha çox bit olsa biz 1 əlavə burada edə bilər, 787 00:34:44,710 --> 00:34:47,370 və sonra biz bu almaq istiyorum. 788 00:34:47,370 --> 00:34:48,739 Whoops. 789 00:34:48,739 --> 00:34:52,250 Biz burada bir 1 az bütün yol var ediyorum. 790 00:34:52,250 --> 00:34:55,530 >> Amma bu məhdud əgər dəyəri, yalnız 8 bit var, 791 00:34:55,530 --> 00:34:57,480 ki, pre-müəyyən var kompüter tərəfindən, 792 00:34:57,480 --> 00:34:59,370 1 səmərəli deyil. 793 00:34:59,370 --> 00:35:00,980 Bu, sadəcə cür bir uçurum off düşür. 794 00:35:00,980 --> 00:35:05,480 Və belə ki, 255 1 əlavə, nə Siz yəqin dəyəri alıram? 795 00:35:05,480 --> 00:35:06,180 0. 796 00:35:06,180 --> 00:35:09,700 Və təsadüfən nömrələri, belə ki, və bəlkə də, bilmədən, 797 00:35:09,700 --> 00:35:12,040 oxşar ətrafında wrapping son. 798 00:35:12,040 --> 00:35:14,079 Belə ki, nə bu dolayısı ola bilər? 799 00:35:14,079 --> 00:35:15,620 Yaxşı, bir neçə müxtəlif şeylər var. 800 00:35:15,620 --> 00:35:18,751 Belə ki, bir, bu axtarır başa etmir 0 kimi, bilmədən, 801 00:35:18,751 --> 00:35:20,750 ancaq cür görə bilərsiniz hətta real dünyada, 802 00:35:20,750 --> 00:35:23,416 yaxşı və ya pis üçün, bir limit bu ideyanın təzahürləri. 803 00:35:23,416 --> 00:35:26,630 Məsələn, siz hər hansı kim Heç Lego Star Wars oynamışdır, 804 00:35:26,630 --> 00:35:28,880 hər kəs bilmək baş verir pul maksimum sayı 805 00:35:28,880 --> 00:35:32,032 Siz Lego Star Wars toplamaq olar? 806 00:35:32,032 --> 00:35:35,640 Əsasında tahmin edin bu gün aparıcı suallar. 807 00:35:35,640 --> 00:35:39,140 Bu 256 və ya 255-dən çox böyükdür. 808 00:35:39,140 --> 00:35:40,330 Bu 4 milyard var. 809 00:35:40,330 --> 00:35:42,080 Belə çıxır və bəzi insanlar var 810 00:35:42,080 --> 00:35:46,080 bəzi googling təsdiq son Gecənin 4 milyard qızıl sikkələr kazanılmış, 811 00:35:46,080 --> 00:35:47,730 və ya Lego Star Wars etajer. 812 00:35:47,730 --> 00:35:49,860 Yəqin olsa da, var bir yol oyun bezemek, 813 00:35:49,860 --> 00:35:53,222 bir səhv və ya xüsusiyyət var ki, sizə imkan verir yalnız çox və bal çox hesablanır. 814 00:35:53,222 --> 00:35:54,930 Amma ən böyük mümkün dəyəri görə 815 00:35:54,930 --> 00:35:58,360 Kimsə I bu ekran shot online aşkar, həqiqətən 4 mlrd. 816 00:35:58,360 --> 00:35:59,240 >> İndi niyə ki? 817 00:35:59,240 --> 00:36:03,040 Bu, dəqiq 4 milyard var yəqin ki, kimsə qərar, çünki, 818 00:36:03,040 --> 00:36:05,500 Kim bu oyun yazırdım, onlar 4 milyard edə bilər ki, 819 00:36:05,500 --> 00:36:07,340 bir şey, bir şey, bir şey, dəyəri kimi mən qablaşdırılmış 820 00:36:07,340 --> 00:36:10,256 kalkulyator ilə əvvəllər, lakin Bu insanlar üçün bir az təmiz 821 00:36:10,256 --> 00:36:12,610 maksimum demək sikkələr və ya studs, 822 00:36:12,610 --> 00:36:14,860 Onlar sizə ki, Odur zəng kimi toplamaq bilər 4 mlrd. 823 00:36:14,860 --> 00:36:16,290 Belə ki, bu nə? 824 00:36:16,290 --> 00:36:20,310 Necə LEGO oyun Counter həyata 825 00:36:20,310 --> 00:36:23,420 ki takip saxlanılması siz sikkələr sayı? 826 00:36:23,420 --> 00:36:24,266 Onlar nə istifadə edirik? 827 00:36:24,266 --> 00:36:26,390 Auditoriya ÜZV: Bu vermir 4 milyard sonra hesablanması. 828 00:36:26,390 --> 00:36:27,720 DAVID J Malan: Bu vermir 4 milyard sonra hesablanması, 829 00:36:27,720 --> 00:36:29,525 siz edə bilərsiniz deməkdir bir proqramçı kimi, nəticə çıxarmaq, 830 00:36:29,525 --> 00:36:31,960 Onlar yəqin edirik ki, 32 bit tam istifadə edərək. 831 00:36:31,960 --> 00:36:35,380 Proqramçı kimi sözün yalnız tipli, int, onun kodu, 832 00:36:35,380 --> 00:36:39,620 ki, dəyişən növü var ki, Onlar kiminsə kodu saxlamaq üçün istifadə edirik. 833 00:36:39,620 --> 00:36:42,230 Belə ki, digər təzahürləri var məhdudiyyətlər bu cür. 834 00:36:42,230 --> 00:36:45,063 >> Mən bu OYUN QƏNAƏT ifa deyil və mən tarixi qədər oxuyurdum 835 00:36:45,063 --> 00:36:48,470 much-- lakin təsdiq etmək Sivilizasiya, orijinal versiyası 836 00:36:48,470 --> 00:36:53,240 Siz yəqin hər ilə qarşılıqlı digər və müharibə və ya sülh ola bilər, 837 00:36:53,240 --> 00:36:56,590 Gandhi biri olmaq idi ən dinc simvol kimi 838 00:36:56,590 --> 00:36:59,280 ilk, onu başa düşmək Sivilizasiya versiyası. 839 00:36:59,280 --> 00:37:03,250 Və əslində, 1-dən 10 miqyasında, onun təcavüzkarlıq yalnız 1 idi. 840 00:37:03,250 --> 00:37:05,620 Belə ki, heç belə yumşaq aqressiv, yəqin. 841 00:37:05,620 --> 00:37:11,590 >> Amma bir anda, siz yəqin edə bilərsiniz Sizin coğrafiyada demokratiya bərpa edin. 842 00:37:11,590 --> 00:37:14,900 Və demokratiya yüklerseniz oyun sizin versiyası, 843 00:37:14,900 --> 00:37:17,320 sonra təcavüz səviyyəsi enir. 844 00:37:17,320 --> 00:37:18,460 Bu yaxşı bir şey deyil. 845 00:37:18,460 --> 00:37:20,890 İnsanlar daha sakit var yəqin ki, vəziyyət. 846 00:37:20,890 --> 00:37:23,190 Amma yəqin, kimsə etdi bir, əgər vəziyyət deyil 847 00:37:23,190 --> 00:37:24,780 kod orijinal versiyası. 848 00:37:24,780 --> 00:37:30,650 >> Belə ki, Qandinin təcavüz səviyyəsi getdi 1 müsbət mənfi 2, 1 mənfi, 849 00:37:30,650 --> 00:37:33,840 lakin oyun deyil mənfi nömrələri başa düşürük. 850 00:37:33,840 --> 00:37:38,680 Belə ki, nə baş Qandinin təcavüz etdi level 1 mənfi, 0, 1-dən getdi 851 00:37:38,680 --> 00:37:40,900 təsiri olan olan ətrafında wrapping 852 00:37:40,900 --> 00:37:44,690 ən aqressiv xarakter oyun, 255 bir dəyəri ilə, 853 00:37:44,690 --> 00:37:46,630 10 1 miqyasında. 854 00:37:46,630 --> 00:37:49,887 Və sonra, olub Bu oyun daha çox incarnations, 855 00:37:49,887 --> 00:37:51,720 və onlar kimi saxlanılır etdik Pasxa yumurta bir növ, 856 00:37:51,720 --> 00:37:53,870 Gandhi yəqin ki, belə olduqca aqressiv. 857 00:37:53,870 --> 00:37:56,740 Amma bir nəticəsi idi çox sadə proqramlaşdırma səhv 858 00:37:56,740 --> 00:37:58,630 Oyun çox erkən versiyası. 859 00:37:58,630 --> 00:38:02,860 >> İndi daha disturbingly, daha yaxınlarda Boeing 787 860 00:38:02,860 --> 00:38:05,720 bir olan kimi sənədləşdirilmişdir cihaz bug deyil, mehriban 861 00:38:05,720 --> 00:38:07,340 Siz xüsusilə bir səhv olsun. 862 00:38:07,340 --> 00:38:10,130 Və simptomlar, mən oxumaq lazımdır Burada online bir məqalə, 863 00:38:10,130 --> 00:38:13,840 bu bir model 787 təyyarə idi ki, davamlı powered edilmişdir 864 00:38:13,840 --> 00:38:18,030 248 gün bütün itirə bilər cərəyan, AC, 865 00:38:18,030 --> 00:38:20,850 səbəbiylə elektrik, generator nəzarət ədəd, 866 00:38:20,850 --> 00:38:23,330 GCUs, eyni zamanda Fail-təhlükəsiz rejimi gedir. 867 00:38:23,330 --> 00:38:26,790 Belə ki, bu verilmiş xəbərdarlıq idi Bu problem aşkar zaman. 868 00:38:26,790 --> 00:38:28,750 Bu vəziyyət səbəb olur bir proqram counter ilə, 869 00:38:28,750 --> 00:38:32,230 , GCUs daxili belə bir tam və ya dəyişən, 870 00:38:32,230 --> 00:38:36,850 248 sonra iradə daşqın davamlı güc gün. 871 00:38:36,850 --> 00:38:40,350 Boeing prosesi bir GCU proqram yenilənməsi inkişaf ki, 872 00:38:40,350 --> 00:38:42,350 təhlükəli vəziyyəti düzəltmək olacaq. 873 00:38:42,350 --> 00:38:44,226 >> Raket kimi Belə ki, çox ssenari, buradakı 874 00:38:44,226 --> 00:38:46,850 Onlar dəyişən bir növ idi ki, hesablanması, və hesablanması oldu 875 00:38:46,850 --> 00:38:50,720 və hesablama, lakin tədricən coşğun onun qabiliyyəti sərhədləri, 876 00:38:50,720 --> 00:38:54,890 eyni lənətləmək təyyarə etdi dəyişən daşqın var 877 00:38:54,890 --> 00:38:56,410 çalışan kifayət qədər vaxt sonra. 878 00:38:56,410 --> 00:38:59,240 Və belə dil-in-yanaq yol Bu məsələ ətrafında iş 879 00:38:59,240 --> 00:39:04,400 Həqiqətən, reboot, təyyarə hər edir Yaddaş məhv olur, belə ki, 247 gün, 880 00:39:04,400 --> 00:39:06,100 və dəyişən 0 geri gedir. 881 00:39:06,100 --> 00:39:09,410 Lakin həyata, bu, çox deyil proqram böyük təcəssüm, 882 00:39:09,410 --> 00:39:14,070 lakin biz Apple haqqında eşitmək xüsusilə avtomobil gedən əməliyyat sistemləri, 883 00:39:14,070 --> 00:39:18,030 və Google avtomobil özünü idarə və proqram incarnations hər hansı bir sayı 884 00:39:18,030 --> 00:39:21,000 Gündəlik həyatımızın, televizorlarda və saatlar, və daha çox, 885 00:39:21,000 --> 00:39:24,950 proqram ilə əhatə olunmuşdur həyata, olan bütün us insanlar tərəfindən yazılmışdır. 886 00:39:24,950 --> 00:39:28,150 >> Və biz bütün tezliklə tapmaq lazımdır kimi, çox asan və çox tipik var 887 00:39:28,150 --> 00:39:30,250 proqram yazarkən səhv etmək. 888 00:39:30,250 --> 00:39:32,745 Və onları tutmaq yoxsa, bəzi pis şeylər ola bilər. 889 00:39:32,745 --> 00:39:35,400 İndi bəzən, bəzi gülməli şeylər ola bilər, 890 00:39:35,400 --> 00:39:38,280 və ya ən azı bəzən biz bir pisliyi gözləmək bilirik. 891 00:39:38,280 --> 00:39:41,550 Belə ki, 0 sinifdən 0 bölünür məktəb, ümumiyyətlə pis bir şey deyil. 892 00:39:41,550 --> 00:39:43,050 Bu undefined var. 893 00:39:43,050 --> 00:39:46,440 Və çıxır və əgər görək bu seçə bilərsiniz, mənim mic ki, Apple gündəmə 894 00:39:46,440 --> 00:39:47,790 bu yaxınlarda bu bəzi əyləncə var idi. 895 00:39:47,790 --> 00:39:48,850 Mən burada bir iPhone var. 896 00:39:48,850 --> 00:39:54,160 Mən Siri danışmaq və onun xahiş gedirəm Mənə 0 bölünür 0 cavab vermək üçün. 897 00:39:54,160 --> 00:39:55,850 0 0 nə bölünür? 898 00:39:55,850 --> 00:39:59,350 899 00:39:59,350 --> 00:40:02,230 >> SIRI: Siz 0 var Təsəvvür edin ki, cookies, və bərabər onlara split 900 00:40:02,230 --> 00:40:03,540 0 dostları arasında. 901 00:40:03,540 --> 00:40:05,810 Hər bir şəxs neçə cookies almaq deyil? 902 00:40:05,810 --> 00:40:06,350 Bax? 903 00:40:06,350 --> 00:40:07,660 Bu mənada etmir. 904 00:40:07,660 --> 00:40:10,540 Və Cookie Monster kədərli heç bir cookies var ki. 905 00:40:10,540 --> 00:40:13,987 Və bu kədərli Siz heç bir dostları var. 906 00:40:13,987 --> 00:40:15,570 DAVID J Malan: Bu obnoxious növü var. 907 00:40:15,570 --> 00:40:17,550 Belə ki, bu yalnız orada bildirib budur. 908 00:40:17,550 --> 00:40:21,380 Bu müəyyən deyil, qeyri-müəyyən deyil, Həqiqətən, bir çox proqramlaşdırma dilləri 909 00:40:21,380 --> 00:40:24,950 və ya, həqiqətən, derleyiciler olacaq zaman bir proqramda, aşkar, 910 00:40:24,950 --> 00:40:27,050 0 0 bölmək üçün cəhd edin. 911 00:40:27,050 --> 00:40:29,830 Bu baxmayaraq daha çox əyləncə edir ki, yəqin, Cookie Monster 912 00:40:29,830 --> 00:40:31,270 bu gün Twitter edir. 913 00:40:31,270 --> 00:40:37,610 O, bu ilə, bu cavab, olan tamamilə sitayişə layiq deyil. 914 00:40:37,610 --> 00:40:40,110 Amma bir sürətli nəzər salaq digər Constructs bir neçə 915 00:40:40,110 --> 00:40:43,459 və sonra bu bəzi qoymaq code yaxşı yollarla, istifadə etmək. 916 00:40:43,459 --> 00:40:45,250 Belə ki, başqa çıxır loops üçün var 917 00:40:45,250 --> 00:40:49,174 bir şey ki, bir müddət loop deyilən fərqli görünür və həyata keçirilir 918 00:40:49,174 --> 00:40:51,590 bir az differently-- və biz nəhayət nümunələr görəcəksiniz 919 00:40:51,590 --> 00:40:53,500 lakin bəzi mənada, Bu, çünki sadə deyil 920 00:40:53,500 --> 00:40:56,670 Siz başlamaq üçün imkan vermir və loop sərhədləri daxilində yeniləmə. 921 00:40:56,670 --> 00:40:57,794 Siz hələ də həyata keçirə bilər. 922 00:40:57,794 --> 00:41:01,219 Belə ki, eyni şeyi edə bilərsiniz Bir müddət loop ilə loop üçün kimi, 923 00:41:01,219 --> 00:41:03,260 ancaq sintaksis, ultimately-- biz nəhayət lazımdır kimi 924 00:41:03,260 --> 00:41:04,551 see-- müxtəlif olacaq. 925 00:41:04,551 --> 00:41:07,450 Bir do, loop isə da var ki, əslində bir az fərqli 926 00:41:07,450 --> 00:41:09,640 ki, halbuki üçün loop və həmişə bir müddət loop 927 00:41:09,640 --> 00:41:13,005 əgər, ilk onların vəziyyətini yoxlamaq Siz alt bu şey üst oxumaq 928 00:41:13,005 --> 00:41:16,440 Bu olacaq kimi bu cür görünür bu son, çünki bu vəziyyəti yoxlamaq 929 00:41:16,440 --> 00:41:17,910 kod həqiqətən son xətt. 930 00:41:17,910 --> 00:41:20,580 And olsun ki, faydalı olacaq biz yazmaq bəzi proqramlara, 931 00:41:20,580 --> 00:41:23,746 Siz yalnız kor-koranə bir şey etmək istəyirsinizsə, və nəticədə vəziyyəti yoxlamaq. 932 00:41:23,746 --> 00:41:25,205 Ki, mütləq pis bir şey deyil. 933 00:41:25,205 --> 00:41:27,912 Biz dəyişənlər istəyirsinizsə, biz nə edə bilər Bu müxtəlif yollarla bir neçə. 934 00:41:27,912 --> 00:41:30,290 Və biz Foxtrot gördüm cizgi filmi, bunu bir yolu, 935 00:41:30,290 --> 00:41:33,400 burada sizin dəyişən elan, int counter nöqtəli vergül kimi, 936 00:41:33,400 --> 00:41:36,570 və sonra bəlkə növbəti later-- xətti, bəlkə 10 xətləri later-- 937 00:41:36,570 --> 00:41:37,800 Siz, həqiqətən, onu başlamaq. 938 00:41:37,800 --> 00:41:42,230 Kod Belə ki, bu 2 xətləri növü int dəyişən elan 939 00:41:42,230 --> 00:41:44,930 Bu verir belə, əks zəng Mənə kifayət qədər bit bir int keçiriləcək. 940 00:41:44,930 --> 00:41:48,230 Və sonra nəhayət, bu qoyur ki, dəyişən dəyəri 0. 941 00:41:48,230 --> 00:41:51,250 Bu 0 və 1-nin təşkil model, biz ötən həftə bilirik ki, 942 00:41:51,250 --> 00:41:53,260 biz 0 kimi bilirik sayını göstərir. 943 00:41:53,260 --> 00:41:56,920 Və ya səmimi, bu çox edə bilərsiniz daha müfəssəl şəkildə, yalnız bu kimi. 944 00:41:56,920 --> 00:41:59,390 >> İndi biz də var funksiyaları zəng etmək imkanı. 945 00:41:59,390 --> 00:42:03,070 Və əslində, burada 2 line var proqram və ya onun bir pasaj, 946 00:42:03,070 --> 00:42:06,157 ki, həqiqətən bizə imkan verir ki, bəzi kodu yazmaq 947 00:42:06,157 --> 00:42:08,990 user-- bir string olur qədər Bizim könüllü bir an kimi ago-- 948 00:42:08,990 --> 00:42:11,320 nəticə saxlanılması adını dəyişən, 949 00:42:11,320 --> 00:42:15,470 və then-- çox bizim könüllü kimi o dəyərləri həyata printf izləri ilə 950 00:42:15,470 --> 00:42:19,180 iki dəlilləri keçərək, simli, dəyişən izlədi 951 00:42:19,180 --> 00:42:20,781 , adı, özü çağırıb. 952 00:42:20,781 --> 00:42:23,155 Belə ki, əvvəl, bir nəzər edək biz orada geri Mario gəlib 953 00:42:23,155 --> 00:42:26,010 bu indi, nümunələri bir neçə. 954 00:42:26,010 --> 00:42:30,537 >> Mən irəli və açıq getmək üçün gedirəm qədər funksiyası-0.c, deyək. 955 00:42:30,537 --> 00:42:33,120 Və həmişə olduğu kimi, bu kodu kurs saytında mövcuddur, 956 00:42:33,120 --> 00:42:35,660 belə ki, birlikdə oynaya bilər ev və sonra baxmaq. 957 00:42:35,660 --> 00:42:40,400 Bu Amma burada proqramı xətti 17 22 mahiyyəti. 958 00:42:40,400 --> 00:42:43,270 Əsas proqram olduğu proqram həmişə başlamaq niyyətindədir. 959 00:42:43,270 --> 00:42:46,980 Bu proqram, görünür, gedir , kolon adınızı çap. 960 00:42:46,980 --> 00:42:50,320 O, GetString zəng edəcək kimi biz könüllüləri ilə etdi. 961 00:42:50,320 --> 00:42:53,365 Və sonra, bu, maraqlı Bu PrintName zəng edəcək. 962 00:42:53,365 --> 00:42:56,490 Orada, bütün bu vaxt çıxır PrintName adlı bir funksiyası kimi görünür. 963 00:42:56,490 --> 00:42:57,614 Ki, kiminsə adını yazdıran. 964 00:42:57,614 --> 00:43:01,210 Biz printf istifadə etmək lazım deyil yesteryear, PrintName var. 965 00:43:01,210 --> 00:43:03,500 >> Amma ki, yanlış var PrintName deyil, çünki 966 00:43:03,500 --> 00:43:06,760 C. People etmədi ilə gəlib 40 və ya 50 il bundan əvvəl icad, 967 00:43:06,760 --> 00:43:07,990 Mən əvəzinə etdi. 968 00:43:07,990 --> 00:43:10,330 Və əslində, mən diyirləyin əgər daha xəbərdarlıq aşağı 969 00:43:10,330 --> 00:43:14,200 Mən öz yaza bilərsiniz necə C. funksiyaları Biz nəhayət lazımdır 970 00:43:14,200 --> 00:43:16,319 biz deyərək saxlamaq izah, etibarsız, bir neçə yerlərdə, 971 00:43:16,319 --> 00:43:18,110 lakin bu gün üçün, edək yalnız adı oldu. 972 00:43:18,110 --> 00:43:20,905 >> Line 24-də, siz istəyirsinizsə öz funksiyasını yaratmaq 973 00:43:20,905 --> 00:43:22,780 sözün yazmaq funksiyası adı. 974 00:43:22,780 --> 00:43:24,340 Mən PrintName seçdi. 975 00:43:24,340 --> 00:43:26,159 Parantez, siz sonra müəyyən nə cür 976 00:43:26,159 --> 00:43:28,450 giriş, və nə qədər siz bu funksiya etmək istəyirəm. 977 00:43:28,450 --> 00:43:31,906 Bu halda, mən etmək istəyirəm Adlı 1 dəyişən, adı, 978 00:43:31,906 --> 00:43:34,030 və o olacaq növü, simli, belə ki, gedir 979 00:43:34,030 --> 00:43:35,780 simvol bəzi ardıcıllıqla olmalıdır. 980 00:43:35,780 --> 00:43:39,170 Və sonra, bu proqram Not kimi çox, 981 00:43:39,170 --> 00:43:42,590 xüsusi puzzle ola bilər pieces-- Bu xüsusi davranış üçün gedir. 982 00:43:42,590 --> 00:43:46,760 Bu printf zəng edəcək keçən, hello, tutucu, 983 00:43:46,760 --> 00:43:49,110 və sonra plug olacaq nə istifadəçi çağırıb. 984 00:43:49,110 --> 00:43:51,450 >> Belə ki, bu bir nümunəsidir nə kompüter alim olardı 985 00:43:51,450 --> 00:43:55,090 zəng abstraksiya və ya funksional ədalətli parçalanma, 986 00:43:55,090 --> 00:43:58,110 saying-- əgər xülya yolları Siz bu yüksək səviyyədə fikir kimi 987 00:43:58,110 --> 00:44:01,569 Mən funksionallığı istəyirəm ki, Siz tamamilə kiminsə adını yazdıran 988 00:44:01,569 --> 00:44:04,360 sözün sonra printf yazmaq və bilərsiniz istədiyiniz dəlilləri keçmək, 989 00:44:04,360 --> 00:44:07,340 və proqram işləyəcək, Bu çərşənbə ildən var. 990 00:44:07,340 --> 00:44:10,510 Amma üz mücərrəd başlaya bilərsiniz bir ad çap anlayışı. 991 00:44:10,510 --> 00:44:13,270 Siz bir ad verə bilər, PrintName, və bu kimi 992 00:44:13,270 --> 00:44:15,280 Həftə 0 layering bu fikirdir. 993 00:44:15,280 --> 00:44:19,910 >> Bundan sonra, mən və bilmək yoxdur və ya PrintName həyata necə qayğı. 994 00:44:19,910 --> 00:44:22,470 Bəli bəlkə, printf istifadə edir kim istifadə edir nə bilir, deyil? 995 00:44:22,470 --> 00:44:23,410 Kim qayğıları? 996 00:44:23,410 --> 00:44:26,034 İndi burada söhbət alıram, əvəzinə aşağı burada. 997 00:44:26,034 --> 00:44:28,700 Şübhəsiz ki, bizim proqramları almaq kimi daha inkişaf etmiş və inkişaf etmiş, 998 00:44:28,700 --> 00:44:32,550 verilən atırıq saxlamaq olacaq aşağı səviyyədə puzzle ədəd mövcud. 999 00:44:32,550 --> 00:44:34,780 Biz onlara yazdı çünki və ya başqasına belə etdi 1000 00:44:34,780 --> 00:44:36,910 biz sonra onların üst inşa edə bilər. 1001 00:44:36,910 --> 00:44:39,430 Bu nəzər salaq variant, bir fəaliyyət göstərir. 1002 00:44:39,430 --> 00:44:41,780 >> Belə ki, bu bir az daha çox inkişaf etmiş, lakin bu çıxır 1003 00:44:41,780 --> 00:44:44,570 CS50 kitabxana ki, yalnız GetInt funksiyası var. 1004 00:44:44,570 --> 00:44:47,720 Biz, il əvvəl hesab etməyib bir GetPositiveInt funksiyası həyata. 1005 00:44:47,720 --> 00:44:50,970 Və bir az annoying var, çünki Sizlərin bir proqram orada yazılı 1006 00:44:50,970 --> 00:44:53,325 Bir müsbət almaq istəyirəm istifadəçi tam, 1007 00:44:53,325 --> 00:44:55,010 Siz tamamilə GetInt istifadə edə bilərsiniz. 1008 00:44:55,010 --> 00:44:57,840 Və tamamilə ilə kontrol edə bilərsiniz vəziyyəti və bəlkə bir loop 1009 00:44:57,840 --> 00:45:00,320 ki, int böyükdür əgər və 0-dən istifadəçi fəğan 1010 00:45:00,320 --> 00:45:02,699 o verməsə Bir müsbət sayı. 1011 00:45:02,699 --> 00:45:04,740 Amma bu inşa edək bina, özümüzü blok, 1012 00:45:04,740 --> 00:45:06,555 xüsusi Scratch parça, siz əgər. 1013 00:45:06,555 --> 00:45:08,680 Mən bir proqram üçün gedirəm burada nəticədə, mən 1014 00:45:08,680 --> 00:45:11,780 zəng etmək istəyirəm GetPositiveInt və mən olmaq istəyirəm 1015 00:45:11,780 --> 00:45:14,200 ki, int nə çap edə. 1016 00:45:14,200 --> 00:45:16,240 Amma bu indi üz Abstrak olunur. 1017 00:45:16,240 --> 00:45:19,050 Bu, sadəcə yüksək səviyyədə verilmişdir ki, Bu nə deyir adı, 1018 00:45:19,050 --> 00:45:21,780 Bu, çünki gözəl olan oxumaq üçün indi çox asan. 1019 00:45:21,780 --> 00:45:24,710 Mən qayğı yoxdur, əgər nə altında var başlıq, mənə aşağı diyirləyin bildirin. 1020 00:45:24,710 --> 00:45:27,140 Və bu bir az qorxuducu deyil ilk, xüsusilə 1021 00:45:27,140 --> 00:45:29,470 Bu Sizin foruma ilk proqram varsa, lakin bir nəzər salaq. 1022 00:45:29,470 --> 00:45:32,860 >> Mən artıq, etibarsız, deyirəm Bu funksiyaları yerinə çevrilir, çünki, 1023 00:45:32,860 --> 00:45:34,777 çox GetString kimi, bilərsiniz Mənə bir dəyər qayıtmaq. 1024 00:45:34,777 --> 00:45:36,610 Onlar yalnız yoxdur ekran çap, 1025 00:45:36,610 --> 00:45:38,410 onlar həqiqətən əl bilər geri mənə bir şey. 1026 00:45:38,410 --> 00:45:41,535 Və PrintName əvvəl isə, Mən bir şey geri lazım deyildi. 1027 00:45:41,535 --> 00:45:44,160 Mən yan təsiri lazım bir şey, ekranda göstərən 1028 00:45:44,160 --> 00:45:46,570 amma bir insan lazım deyil mənə bir şey geri əl. 1029 00:45:46,570 --> 00:45:48,840 Burada GetPositiveInt ilə, GetInt ilə kimi, 1030 00:45:48,840 --> 00:45:50,640 Mən bir şey təqdim etmək istəyirəm. 1031 00:45:50,640 --> 00:45:53,220 Mən, etibarsız deyil dedi alıram line 23, lakin int haqqında, 1032 00:45:53,220 --> 00:45:55,570 olan deyir, bu funksiya Mən yazıram ki, 1033 00:45:55,570 --> 00:45:58,860 GetPositiveInt gedir çağırıb bir tam deyil, heç bir şey məni geri əl, 1034 00:45:58,860 --> 00:45:59,890 etibarsız deyil. 1035 00:45:59,890 --> 00:46:03,280 >> Eyni zamanda, bu heç almaq olacaq giriş, mən cür, onu ləğv etdik. 1036 00:46:03,280 --> 00:46:08,280 Mən GetPositiveInt hər hansı verən deyiləm giriş, mən mənə onun çıxış vermək istəyirəm. 1037 00:46:08,280 --> 00:46:09,800 Və sonra nə indi baş verir? 1038 00:46:09,800 --> 00:46:11,640 Belə ki, burada mən bir dəyişən elan edə bilərsiniz. 1039 00:46:11,640 --> 00:46:15,090 Mən loop kənarda bunu etdik biz nəhayət görürsünüz səbəblərə görə, 1040 00:46:15,090 --> 00:46:17,700 lakin bu, yalnız verir Mənə 32 bit adlanan n, 1041 00:46:17,700 --> 00:46:20,952 və mən pre-müəyyən etdik Onlara tam saxlamaq üçün. 1042 00:46:20,952 --> 00:46:23,660 Və burada, tikintisi isə nə ki Bu faydalı niyə bu. 1043 00:46:23,660 --> 00:46:26,700 Sözün bunu, n 1 az isə. 1044 00:46:26,700 --> 00:46:28,030 Belə ki, nə görmək edək. 1045 00:46:28,030 --> 00:46:30,760 Mən, xahiş edirik çap Mənə bir müsbət int verir. 1046 00:46:30,760 --> 00:46:34,300 Mən CS50 istifadə edərək, bir int almaq fəaliyyət və n saxlanılır. 1047 00:46:34,300 --> 00:46:38,990 >> Və sonra, kodu nə line yəqin ki, məntiqi növbəti edam olur? 1048 00:46:38,990 --> 00:46:41,890 Hansı line sayı? 1049 00:46:41,890 --> 00:46:42,571 Bəli, belə 31. 1050 00:46:42,571 --> 00:46:45,320 Siz var qədər bu bilmirəm bildirib və ya sort onu çıxarmaq edilmişdir, 1051 00:46:45,320 --> 00:46:45,986 lakin doğru. 1052 00:46:45,986 --> 00:46:48,280 Bu aşağı top gedir və sonra təkrar saxlayır. 1053 00:46:48,280 --> 00:46:55,840 Mən sayı, demək çap əgər Belə ki, 1 Mənfi 1 mənfi daha n az? 1054 00:46:55,840 --> 00:46:56,340 Bəli. 1055 00:46:56,340 --> 00:46:58,470 1 Mənfi 1 az deyil. 1056 00:46:58,470 --> 00:46:59,510 Belə ki, nə baş verməlidir? 1057 00:46:59,510 --> 00:47:03,260 Mən bunu gedirəm n az 1 isə, 1058 00:47:03,260 --> 00:47:05,760 mən geri line 28 getmək üçün gedirəm. 1059 00:47:05,760 --> 00:47:09,530 >> Və hər sýrada və bir şeylərdir run bildirin funksiyası 1 tərtib etmək, 1060 00:47:09,530 --> 00:47:11,340 və indi funksiyası 1 doğramaq nöqtə. 1061 00:47:11,340 --> 00:47:14,280 Mən mənfi 1 yazın əgər, bu mənə böyle saxlamaq niyyətindədir 1062 00:47:14,280 --> 00:47:17,530 Mən hər çünki əməkdaşlıq qədər Mənim vəsaitlərin az 1 1063 00:47:17,530 --> 00:47:20,070 və az 1 edərkən, əgər, Mən bunu saxlamaq üçün gedirəm. 1064 00:47:20,070 --> 00:47:24,240 Mən nəhayət 50 kimi bir sıra versələr, təşəkkürlə, bu 50 thanks, deyir. 1065 00:47:24,240 --> 00:47:24,970 Niyə? 1066 00:47:24,970 --> 00:47:30,640 N az deyil, çünki qısa müddətdə 1, mən bu loop vurulmuş əldə dayandırmaq 1067 00:47:30,640 --> 00:47:33,840 və bu yeni söz, bu gün, qaytarılması, sözün ki, yoxdur. 1068 00:47:33,840 --> 00:47:36,800 Belə ki, yalnız bir olan, həyata etdik mənada, GetString bərabər, 1069 00:47:36,800 --> 00:47:40,590 Mən geri təhvil alıram kim, bəzi dəyəri mənə istifadə edir. 1070 00:47:40,590 --> 00:47:42,820 Bu olmaq üçün yoxdur simli, bir int var. 1071 00:47:42,820 --> 00:47:44,990 Sürətli, belə bir sadə Məsələn, biz tezliklə lazımdır 1072 00:47:44,990 --> 00:47:47,930 Bəzi daha mürəkkəb görmək hələ versiyasını. 1073 00:47:47,930 --> 00:47:53,882 Əslində, bir nəzər edək return.c adlanır rəqəmli bir. 1074 00:47:53,882 --> 00:47:55,590 Və bu həqiqətən bir az sadə. 1075 00:47:55,590 --> 00:47:59,010 Belə ki, bu proqramın məqsədi Məndən üstün tutsa tərtib və run bildirin, 1076 00:47:59,010 --> 00:48:03,090 belə dot, geri etmək çizgi, return-- bildiriş 1077 00:48:03,090 --> 00:48:05,530 proqram sadəcə dəyər 2 kublar. 1078 00:48:05,530 --> 00:48:08,410 Bu, çətin, olduqca axmaq var kodu hər hansı bir giriş deyil, 1079 00:48:08,410 --> 00:48:12,220 lakin başqa bir nümayiş yoxdur Mən özümü yazdıq fəaliyyət göstərir. 1080 00:48:12,220 --> 00:48:15,760 Belə ki, burada, mən bəyan etdik ki, dəyişən, növü int, x adlı 1081 00:48:15,760 --> 00:48:17,840 2 saylı bərabər, tamamilə əsassız. 1082 00:48:17,840 --> 00:48:19,530 Bu yalnız bir tüklü çap edir. 1083 00:48:19,530 --> 00:48:23,070 Bu x deyir indi belə və Belə ki, cubing dot dot dot. 1084 00:48:23,070 --> 00:48:26,390 Və sehrli line 21 yəqin edir. 1085 00:48:26,390 --> 00:48:30,120 Mən kub adlı funksiyası zəng edirəm, Mən kağız bir hesabatı verilməsi alıram 1086 00:48:30,120 --> 00:48:32,890 yazılmış sayı 2, və nə dəyəri, riyazi, 1087 00:48:32,890 --> 00:48:34,860 Mən bu çıxmaq istəyirsiniz? 1088 00:48:34,860 --> 00:48:36,570 Yalnız bir ağlı başında olma çek kimi? 1089 00:48:36,570 --> 00:48:37,070 8. 1090 00:48:37,070 --> 00:48:37,570 Sağ? 1091 00:48:37,570 --> 00:48:40,160 I 2 2, geri Cubed istəyirəm 3 güc, belə ki, 8 geri. 1092 00:48:40,160 --> 00:48:42,570 >> Belə ki, burada kub həyata keçirilir? 1093 00:48:42,570 --> 00:48:44,349 Bəli, bu burada həyata bildiriş. 1094 00:48:44,349 --> 00:48:47,140 Və yalnız əvvəl kimi, məntiqi, hətta syntax yəqin ki, baxmayaraq ki, 1095 00:48:47,140 --> 00:48:49,320 bir çox üçün çox yeni, Mən bu funksiyası istəyirəm 1096 00:48:49,320 --> 00:48:51,780 bir hesabatı məni geri əl bu bir int ilə kağız. 1097 00:48:51,780 --> 00:48:53,990 Beləliklə, mən int var adı, özbaşına deyil 1098 00:48:53,990 --> 00:48:55,530 lakin rahat kub çağırıb. 1099 00:48:55,530 --> 00:48:58,430 bu giriş, n var ki, belə ki, tam yazın 1100 00:48:58,430 --> 00:49:00,800 Mən sayı keçə bilər necə Kağız hesabatında 2. 1101 00:49:00,800 --> 00:49:03,910 Və sonra C dəstəkləyir çıxır riyaziyyat, belə ki, dəfə X yoxdur 1102 00:49:03,910 --> 00:49:06,680 Yalnız ulduz istifadə vurma üçün. 1103 00:49:06,680 --> 00:49:11,070 Bu n dəfə n dəfə qaytarır sadəcə bir Cubed dəyəri n. 1104 00:49:11,070 --> 00:49:12,840 >> Beləliklə, biz bütün bu ilə gedir? 1105 00:49:12,840 --> 00:49:14,570 Bu mütləq bir deyil qasırğa tur, arxayın, 1106 00:49:14,570 --> 00:49:16,410 ki, super bölmələrdə və problem, 1 set 1107 00:49:16,410 --> 00:49:18,368 Siz vasitəsilə gəzmiş olacaq Bütün bu bütün daha çox. 1108 00:49:18,368 --> 00:49:22,490 Və problem 1 dəst, biz keçid lazımdır Not qrafik dünya 1109 00:49:22,490 --> 00:49:25,640 bir şey daha command line C. Amma biz ilham çəkmək lazımdır 1110 00:49:25,640 --> 00:49:27,680 burada oyun yesteryear, orada olan 1111 00:49:27,680 --> 00:49:31,591 C və standart nəşr istifadə p set Mario piramida həyata olacaq. 1112 00:49:31,591 --> 00:49:34,340 Və hacker redaksiyada p set, belə seçmək seçerseniz, 1113 00:49:34,340 --> 00:49:38,280 Bir az daha həyata keçirəcək iki zirvələri ilə piramida çətin. 1114 00:49:38,280 --> 00:49:41,239 Siz həmçinin həyata olacaq alqoritm, bir görməmiş alqoritmi. 1115 00:49:41,239 --> 00:49:43,030 Bu var çıxır bəzi maraqlı məntiq 1116 00:49:43,030 --> 00:49:45,640 prosesi arxasında bir kassir stansiyası çalışan 1117 00:49:45,640 --> 00:49:47,410 və həqiqətən təhvil kimsə geri dəyişiklik. 1118 00:49:47,410 --> 00:49:50,410 Kifayət qədər ki, bir alqoritm var sadə ki, siz hətta bilər 1119 00:49:50,410 --> 00:49:53,576 Siz ilk oxumaq zaman daxilən tutmaq pseudocode ki, mən həmişə var nə var həyata 1120 00:49:53,576 --> 00:49:57,110 Mən kimsə bəzi verilmiş etdiyiniz hər hansı bir vaxt həyata Siz həmişə imkan verir pul back-- 1121 00:49:57,110 --> 00:50:00,679 sayı minimuma endirmək kağız qeydlər və ya metal sikkələr 1122 00:50:00,679 --> 00:50:02,220 geri istifadəçi verilməsi edirik ki. 1123 00:50:02,220 --> 00:50:04,610 Bu, əlbəttə, çekici Siz CVS və ya etajer getmək əgər, çünki, 1124 00:50:04,610 --> 00:50:06,430 Siz əlli olmaq istəmirəm isə bütün dəstə 1125 00:50:06,430 --> 00:50:07,596 və ya pennies bütün dəstə. 1126 00:50:07,596 --> 00:50:10,120 Siz az istəyirəm pul, yəqin ki, mümkün. 1127 00:50:10,120 --> 00:50:13,070 >> Nəhayət, siz də etiraz olacaq su dünyada dabble 1128 00:50:13,070 --> 00:50:17,220 və həqiqətən təşəkkür almaq axını dərəcələri arasında Xəritəçəkmə üçün, 1129 00:50:17,220 --> 00:50:19,890 bir duş, su kimi, yalnız nə qədər su istifadə olunur. 1130 00:50:19,890 --> 00:50:22,640 Və orada işarə, Burada bu clip olacaq, 1131 00:50:22,640 --> 00:50:24,840 biz də başa lazımdır ki, yalnız 60 saniyə ki, 1132 00:50:24,840 --> 00:50:29,070 bir şəkil boyalar aşağı axını duş rəhbərləri. 1133 00:50:29,070 --> 00:50:30,886 >> [Video playback] 1134 00:50:30,886 --> 00:50:31,385 -Bütün Hüququ. 1135 00:50:31,385 --> 00:50:32,774 Burada hər şey var. 1136 00:50:32,774 --> 00:50:35,800 Mən Cyclone F Series var Hydra, Jetflow, Stockholm 1137 00:50:35,800 --> 00:50:37,660 Supersteam, siz bu adı. 1138 00:50:37,660 --> 00:50:39,265 >> -Və Nə tövsiyə edirsiniz? 1139 00:50:39,265 --> 00:50:40,460 >> -Ne Aradığınız? 1140 00:50:40,460 --> 00:50:41,300 >> -Power Man. 1141 00:50:41,300 --> 00:50:42,285 Power. 1142 00:50:42,285 --> 00:50:42,910 -Kimi Silkwood. 1143 00:50:42,910 --> 00:50:44,520 -Bu Radiasiya üçün. 1144 00:50:44,520 --> 00:50:46,335 -Bu Doğru. 1145 00:50:46,335 --> 00:50:48,275 Bu nədir -İndi? 1146 00:50:48,275 --> 00:50:49,704 -Bu Commando 450 var. 1147 00:50:49,704 --> 00:50:50,620 Mən bir satmırıq. 1148 00:50:50,620 --> 00:50:51,700 >> -Amma Biz istədiyiniz nə deyil. 1149 00:50:51,700 --> 00:50:52,680 Bu komando 450 var. 1150 00:50:52,680 --> 00:50:53,882 >> -No Inanın. 1151 00:50:53,882 --> 00:50:55,090 Bu, yalnız sirk istifadə olunur. 1152 00:50:55,090 --> 00:50:56,512 Bu filler üçün. 1153 00:50:56,512 --> 00:50:59,356 >> Bir şey ödəmək bəsimdi. 1154 00:50:59,356 --> 00:51:01,252 >> Jerry haqqında hansı? 1155 00:51:01,252 --> 00:51:02,760 >> O ki, idarə edə bilmədi. 1156 00:51:02,760 --> 00:51:04,910 O incə var. 1157 00:51:04,910 --> 00:51:05,750 Bəli Oh. 1158 00:51:05,750 --> 00:51:36,737 1159 00:51:36,737 --> 00:51:37,320 [END playback] 1160 00:51:37,320 --> 00:51:37,700 DAVID J Malan: Bütün hüququ. 1161 00:51:37,700 --> 00:51:38,820 Bu CS50 əgər var. 1162 00:51:38,820 --> 00:51:40,050 Biz gələn həftə görəcəksiniz. 1163 00:51:40,050 --> 00:51:45,910 1164 00:51:45,910 --> 00:51:49,029 >> HOPARLÖR 1: [? Scully?], [? Ian?] qədər bu yere layihəsi kimi, 1165 00:51:49,029 --> 00:51:50,362 uşaqlar nə ilə gəlmişəm? 1166 00:51:50,362 --> 00:51:51,990 >> HOPARLÖR 2: Bəli, biz təqdim etdik Bu fikir bir sıra, 1167 00:51:51,990 --> 00:51:53,250 və biz ən yaxşı yolu hesab edirəm ki, to-- 1168 00:51:53,250 --> 00:51:53,660 >> HOPARLÖR 3: Mən May? 1169 00:51:53,660 --> 00:51:54,326 >> HOPARLÖR 2: Bəli. 1170 00:51:54,326 --> 00:51:56,360 Bütün vasitələrlə, həqiqətən. 1171 00:51:56,360 --> 00:51:59,425 >> HOPARLÖR 3: Mən hesab edirəm ki, Biz fikir yekunlaşdırmaq olar 1172 00:51:59,425 --> 00:52:05,450 bir word-- heç nə ilə Diğer üçün. 1173 00:52:05,450 --> 00:52:08,950 1174 00:52:08,950 --> 00:52:10,409 >> DAVID J Malan: Heç bir şey? 1175 00:52:10,409 --> 00:52:11,200 HOPARLÖR 3: Heç bir şey. 1176 00:52:11,200 --> 00:52:12,990 DAVID J MALAN: Bu nə deməkdir? 1177 00:52:12,990 --> 00:52:16,260 HOPARLÖR 3: Diğer heç bir şey haqqında. 1178 00:52:16,260 --> 00:52:21,720 HOPARLÖR 2: Bəli, mən demək, fəlsəfə, Mən demək, heç bir şey həmişə bir şeydir. 1179 00:52:21,720 --> 00:52:24,200 HOPARLÖR 1: Belə what's-- premise var? 1180 00:52:24,200 --> 00:52:25,720 HOPARLÖR 3: Belə ki, həyat kimi. 1181 00:52:25,720 --> 00:52:26,680 OK. 1182 00:52:26,680 --> 00:52:28,294 Bu gün nə idi? 1183 00:52:28,294 --> 00:52:31,811 >> DAVID J MALAN: Mən qalxıb idi səhər yeməyi, və işləmək üçün gəldi. 1184 00:52:31,811 --> 00:52:34,056 >> HOPARLÖR 3: Bu bir yere var. 1185 00:52:34,056 --> 00:52:36,806 HOPARLÖR 2: Mən demək Lakin, olmamalıdır bir şey the-- ona baş 1186 00:52:36,806 --> 00:52:37,889 HOPARLÖR 3: Yox, yox, yox, yox. 1187 00:52:37,889 --> 00:52:40,220 Heç bir şey baş verir. 1188 00:52:40,220 --> 00:52:42,910 >> HOPARLÖR 1: Belə ki, niyə biz izləyir? 1189 00:52:42,910 --> 00:52:46,956 >> HOPARLÖR 3: Çünki Bu CS50 üçün yere var. 1190 00:52:46,956 --> 00:52:48,652 >> DAVID J Malan: Not yet. 1191 00:52:48,652 --> 00:52:49,151