1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Bölmə 3] [Less Rahat] 2 00:00:03,000 --> 00:00:05,000 >> [Nate Hardison] [Harvard Universiteti] 3 00:00:05,000 --> 00:00:08,000 >> [Bu CS50 edir.] [CS50.TV] 4 00:00:08,000 --> 00:00:10,000 >> Bütün hüquqlar, in başlamaq bildirin. 5 00:00:10,000 --> 00:00:13,000 CS50 həftəsi 4 xoş gəlmisiniz. 6 00:00:13,000 --> 00:00:19,000 Uşaqlar bir web browser açmaq və pset 3 açmaq varsa, 7 00:00:19,000 --> 00:00:23,000 CS50 ilə dırmaşma, biz gedən başlamaq olacaq 8 00:00:23,000 --> 00:00:26,000 orada suallar bölmə vasitəsilə. 9 00:00:26,000 --> 00:00:32,000 Elə ötən həftə kimi, biz CS50 məkanı iş olacaq 10 00:00:32,000 --> 00:00:35,000 Siz həmçinin ki, qoparmaq, bilərsiniz əgər 11 00:00:35,000 --> 00:00:43,000 və irəli getmək və mən üst burada var ki, bu linki ziyarət edin. 12 00:00:43,000 --> 00:00:45,000 Bu başlamaq üçün vaxt var. 13 00:00:45,000 --> 00:00:51,000 Biz burada kiçik hi proqram var. Crazy Heç. 14 00:00:51,000 --> 00:00:55,000 Mən bu gün sizə uşaqlar ilə istədiyiniz ilk şey biri bir neçə həlləri üzərində getmək deyil 15 00:00:55,000 --> 00:00:58,000 Problem Set 1, misal həlli cür etmək 16 00:00:58,000 --> 00:01:03,000 yalnız belə ki, kodu heyətinin növ yazı nə üçün bir fikir əldə edə bilərsiniz 17 00:01:03,000 --> 00:01:07,000 kodu digər tələbələr növ yazılı, nə 18 00:01:07,000 --> 00:01:10,000 Mən bu qəribə olduğunu bilirik, çünki siz bu nəzər 19 00:01:10,000 --> 00:01:14,000 Bir problem set həll təqdim şərh almaq zaman 20 00:01:14,000 --> 00:01:18,000 öz versiyası, lakin bəzən, digər insanlar bunu necə faydalıdır 21 00:01:18,000 --> 00:01:22,000 xüsusilə gözəl olan isə axtarır. 22 00:01:22,000 --> 00:01:27,000 Çox hissəsi üçün, mən, həqiqətən, sizin uşaqlar istehsal həllər ilə heyran olmuşdur. 23 00:01:27,000 --> 00:01:31,000 , Mən hələ Problem Set 2s baxaraq açılmış, lakin onlar ilk kimi bir şey edirsinizsə 24 00:01:31,000 --> 00:01:34,000 o ancaq yaxşı şeylər deməkdir. 25 00:01:34,000 --> 00:01:40,000 >> Mənim düzəlişlər baxsaq, nin, Revision 1 bütün yol aşağı başlamaq bildirin 26 00:01:40,000 --> 00:01:47,000 və biz Mario həll tez nəzər olacaq. 27 00:01:47,000 --> 00:01:54,000 Bu qoparmaq, biz təqdim olacaq ki, bu proqramlar düzgün. 28 00:01:54,000 --> 00:01:56,000 Var, bu problemlərin düzgün məsələləri deyil, əksinə, 29 00:01:56,000 --> 00:01:59,000 Biz müxtəlif dizayn məsələlər haqqında bir az danışmaq istəyirəm 30 00:01:59,000 --> 00:02:03,000 burada istifadə edilmişdir. 31 00:02:03,000 --> 00:02:08,000 Həlli haqqında maraqlı idi ki, biri 32 00:02:08,000 --> 00:02:11,000 o funt müəyyən adlanan bu yeni tikinti istifadə ki, 33 00:02:11,000 --> 00:02:15,000 bəzən də bir hash müəyyən adlandırılacaq. 34 00:02:15,000 --> 00:02:18,000 Mənə burada bu zoom edək. 35 00:02:18,000 --> 00:02:24,000 # Müəyyən bir sizin proqram bu nömrələrə adlarını vermək imkan verir. 36 00:02:24,000 --> 00:02:28,000 Mario bir piramida Bu halda, maksimum hündürlük 37 00:02:28,000 --> 00:02:34,000 23 və daha çox mənim 23 qoyulması edilib kod 38 00:02:34,000 --> 00:02:37,000 biz ağır coding 23 kimi istinad olardı - 39 00:02:37,000 --> 00:02:43,000 əvəzinə bu ki sayı adını MAX_HEIGHT verir 40 00:02:43,000 --> 00:02:48,000 belə aşağı burada mənim do-isə loop ki, 41 00:02:48,000 --> 00:02:51,000 həqiqətən MAX_HEIGHT müraciət edə bilərsiniz 42 00:02:51,000 --> 00:02:55,000 yerinə sayı 23 daxil qoyulması 43 00:02:55,000 --> 00:02:57,000 [Tələbə] bunu üstünlüyü nədir? 44 00:02:57,000 --> 00:02:59,000 Böyük bir sual var. 45 00:02:59,000 --> 00:03:03,000 Bir okunabilirlik edir. 46 00:03:03,000 --> 00:03:08,000 Bu # müəyyən istifadə üstünlüyü okunabilirlik edir. 47 00:03:08,000 --> 00:03:11,000 Mən bu kodu oxu alıram, mən nə edə bilərsiniz. 48 00:03:11,000 --> 00:03:15,000 >> Düşünürəm ki, biz test edirik ki, burada bu vəziyyətdə bilərsiniz 49 00:03:15,000 --> 00:03:19,000 hündürlüyü üçün biz də müəyyən etmişik biləcək <0, olan 50 00:03:19,000 --> 00:03:22,000 minimum hündürlüyü və ya min boyu olacaq. 51 00:03:22,000 --> 00:03:25,000 Digər üstünlüyü Mən görmək xəttinin qalan oxuya bilərsiniz ki, 52 00:03:25,000 --> 00:03:30,000 biz də, hündürlüyü maksimum hündürlüyü daha çox deyil ki, əmin kontrol edirik ki, 53 00:03:30,000 --> 00:03:35,000 biz hündürlüyü maksimum hündürlüyü daha çox isə davam edirik çünki. 54 00:03:35,000 --> 00:03:40,000 Digər üstünlüyü-əgər bir az kiçiltmək burada 55 00:03:40,000 --> 00:03:49,000 Bu proqram run və mən, indi 23, demək, bu run əgər 56 00:03:49,000 --> 00:03:52,000 yalnız kimi bütün 23 satır çap edəcək. 57 00:03:52,000 --> 00:03:54,000 Amma maksimum hündürlüyü dəyişdirmək istədi deyə 58 00:03:54,000 --> 00:03:57,000 və indi piramidaları maksimum hündürlüyü məhdudlaşdırmaq istəyirəm 59 00:03:57,000 --> 00:04:06,000 funky idi ki, yalnız demək-man, olmalıdır. 60 00:04:06,000 --> 00:04:14,000 # Daxildir , # MAX_HEIGHT müəyyən 61 00:04:14,000 --> 00:04:18,000 və Gəlin biz 10 bərabər qurmaq istədiklərini deyirlər. 62 00:04:18,000 --> 00:04:22,000 İndi bu nöqtədə mən idi bütün bu yer dəyişdirmək idi. 63 00:04:22,000 --> 00:04:27,000 Mən 12-ci cəhd yazın, mən indi kodu derleyeceğiz olar 64 00:04:27,000 --> 00:04:30,000 mənə yenidən təklif edəcək. 65 00:04:30,000 --> 00:04:33,000 Bu halda, biz yalnız bir dəfə MAX_HEIGHT istifadə edirik. 66 00:04:33,000 --> 00:04:37,000 Bu getmək bir əngəl ki, böyük deyil 67 00:04:37,000 --> 00:04:40,000 Əgər ehtiyac varsa və loop isə bu dəyişir. 68 00:04:40,000 --> 00:04:44,000 Amma eyni sehrli sayı sened olduğunuz proqramları 69 00:04:44,000 --> 00:04:47,000 təkrar-təkrar bu # mexanizmi müəyyən həqiqətən lazımlı 70 00:04:47,000 --> 00:04:52,000 Siz yalnız fayl bu qoymaq yerləşir adətən var onlara üst bir vaxt dəyişə çünki 71 00:04:52,000 --> 00:04:57,000 və dəyişiklik faylı qalan vasitəsilə percolates. 72 00:04:57,000 --> 00:05:02,000 >> Mən düşündüm ki, bu tapşırıq qeyd etmək istəyirdi digər əşyalar, həqiqətən, gözəl görünürdü 73 00:05:02,000 --> 00:05:05,000 bir dəyişənlərin adlandırma idi. 74 00:05:05,000 --> 00:05:14,000 Biz sıra və hündürlüyü adlandırılan adlı tam dəyişənlər var ki, burada baxın. 75 00:05:14,000 --> 00:05:20,000 Məkanı, hashes, bu kodu bir az daha oxunaqlı edir 76 00:05:20,000 --> 00:05:25,000 bir az daha aydın nə həqiqətən neler edir. 77 00:05:25,000 --> 00:05:31,000 Bu istifadə edərək fərqli deyil, təsadüfi məktublar demək 78 00:05:31,000 --> 00:05:35,000 tamamilə və ya anlamsız. 79 00:05:35,000 --> 00:05:39,000 Mən qeyd edəcəyik yekun şey, loops üçün ki, 80 00:05:39,000 --> 00:05:45,000 çox vaxt bu iterator dəyişənlər, siz loops üçün istifadə ki, bu sayğacları, 81 00:05:45,000 --> 00:05:51,000 o k sonra standart və i və sonra j ya onlara başlamaq şərti və var 82 00:05:51,000 --> 00:05:54,000 və daha çox dəyişənlər lazımdır oradan gedir, 83 00:05:54,000 --> 00:05:56,000 və bu, yalnız Konvensiyanın edir. 84 00:05:56,000 --> 00:05:58,000 Konvensiyaların çox var. 85 00:05:58,000 --> 00:06:00,000 Bu istifadə etdiyiniz proqramlaşdırma dili asılıdır. 86 00:06:00,000 --> 00:06:04,000 Lakin C, biz adətən i ilə başlayın. 87 00:06:04,000 --> 00:06:08,000 Bu, demək, istifadə etmək məntiqli deyil və ya b 88 00:06:08,000 --> 00:06:13,000 vəziyyətdən asılı olaraq. 89 00:06:13,000 --> 00:06:15,000 Bu üçün var. 90 00:06:15,000 --> 00:06:25,000 İndi Revision 2 qoparmaq, siz başqa bir Mario görürsünüz 91 00:06:25,000 --> 00:06:29,000 və bu, biz yalnız gördüm ki, biri kimi 92 00:06:29,000 --> 00:06:32,000 lakin bu sərin bir şey cür edir. 93 00:06:32,000 --> 00:06:38,000 Biz loop üçün daxili daxili burada bu bölmədə baxsaq, 94 00:06:38,000 --> 00:06:44,000 onlar bu istiqamətdə burada bəzi crazy axtarır sintaksis istifadə edirik. 95 00:06:44,000 --> 00:06:47,000 Bu ternary operator adlanır. 96 00:06:47,000 --> 00:06:53,000 Bu, bir xəttə qatılaşdırılmış bir halda başqa bəyanatdır. 97 00:06:53,000 --> 00:06:57,000 Vəziyyəti mötərizə daxilində bu hissəsidir. 98 00:06:57,000 --> 00:07:05,000 Bu söyləyərək ekvivalent var j 00:07:10,000 Və o məzmunu bloku olardı yer nə 100 00:07:10,000 --> 00:07:16,000 və sonra başqa nə məzmunu bu # var. 101 00:07:16,000 --> 00:07:20,000 Bu mahiyyətcə bu dəyişən bir yer təyin edib. 102 00:07:20,000 --> 00:07:24,000 Bu, blok dəyişən məzmunu bir yer verilməsi oldu 103 00:07:24,000 --> 00:07:29,000 Bu vəziyyət görüşüb təqdirdə, və vəziyyəti görüşüb halda, 104 00:07:29,000 --> 00:07:32,000 sonra blok, dəyişən # bu olur. 105 00:07:32,000 --> 00:07:37,000 Və sonra, əlbəttə, yerinə bütün simli qədər tikinti 106 00:07:37,000 --> 00:07:43,000 və sonunda hər şeyi çap bu həll bir-bir xarakter onu görüntüler. 107 00:07:43,000 --> 00:07:48,000 Pretty sərin. 108 00:07:48,000 --> 00:07:53,000 >> Baxmaq üçün şeyi bir neçə. Biz görməmiş üçün hərəkət edəcəyik. 109 00:07:53,000 --> 00:07:58,000 Biz görməmiş baxmaq İndi, bu ilk həll 110 00:07:58,000 --> 00:08:00,000 # bir qədər müəyyən bu istifadə edir. 111 00:08:00,000 --> 00:08:06,000 Biz bu proqram müxtəlif ədəd hər biri üçün müəyyən bir sabit var. 112 00:08:06,000 --> 00:08:12,000 Biz dollarına görə sent üçün, dörddə dimes, nickels və pennies üçün, var 113 00:08:12,000 --> 00:08:15,000 və indi, aşağı diyirləyin və kodu oxumaq 114 00:08:15,000 --> 00:08:22,000 biz bir standart do-isə loop çap hər şeyi edə bilərsiniz. 115 00:08:22,000 --> 00:08:25,000 Bu problemin mahiyyəti şərti həyata ki, 116 00:08:25,000 --> 00:08:29,000 bir tam sizə istifadəçi oxumaq ki, float çevirmək üçün lazım 117 00:08:29,000 --> 00:08:32,000 dəqiq riyaziyyat etmək və bu çünki edir 118 00:08:32,000 --> 00:08:36,000 üzən point nömrələri ilə, biz qısa mühazirə haqqında söhbət kimi, 119 00:08:36,000 --> 00:08:41,000 bu dəqiq sayı xəttində hər bir əhəmiyyəti mümkün deyil 120 00:08:41,000 --> 00:08:47,000 sonsuz çox dəyərləri hətta 3.1 3 arasında, demək, var. 121 00:08:47,000 --> 00:08:54,000 Siz 3.01 və 3,001 və 3,0001 ola bilər, və siz davam edə bilərsiniz. 122 00:08:54,000 --> 00:09:00,000 Pul ilə çalışırıq zaman ki, olur, siz tez-tez çevirmək istəyirik 123 00:09:00,000 --> 00:09:05,000 tam format daxil, belə ki pennies və məhsullarının belə itirmək deyilik. 124 00:09:05,000 --> 00:09:09,000 Və yuvarlaqlaşdırma Doing əsas idi. 125 00:09:09,000 --> 00:09:14,000 Bu çözüm, bir gözəl sadə, böyük alqoritm istifadə 126 00:09:14,000 --> 00:09:17,000 ki, ilk dörddə, qalan qəpik sayı decremented 127 00:09:17,000 --> 00:09:19,000 sonra dimes ilə, sonra nickels tərəfindən, sonra pennies ilə, 128 00:09:19,000 --> 00:09:24,000 və sikkələrin hər zaman sayına əlavə. 129 00:09:24,000 --> 00:09:31,000 >> Mən kiçiltmək və Revision 4 getmək kimi biz, görəcəksiniz ki, digər həlli, 130 00:09:31,000 --> 00:09:40,000 bir çox oxşar əvvəlində lakin əvəzinə istifadə div və mod idi 131 00:09:40,000 --> 00:09:44,000 Burada üzərində sent sayı hesablamaq üçün. 132 00:09:44,000 --> 00:09:50,000 Bu, dörddə sayı 25 bölünür sent sayı bərabərdir 133 00:09:50,000 --> 00:09:53,000 biz tam bölgüsü edirik, çünki bu işləri səbəb olduğunu, 134 00:09:53,000 --> 00:09:58,000 belə discarding hər hansı qalan var. 135 00:09:58,000 --> 00:10:02,000 [Tələbə] biz axtarış şərh var? 136 00:10:02,000 --> 00:10:05,000 Bu, həqiqətən asılıdır. 137 00:10:05,000 --> 00:10:08,000 [Tələbə] Siz burada kodu dən çox şərh edirik. 138 00:10:08,000 --> 00:10:16,000 Bəli, və bu fəlsəfələrinin müxtəlif bir dəstə var. 139 00:10:16,000 --> 00:10:21,000 Mənim şəxsi fəlsəfə, kodu, həqiqətən, həqiqət budur ki, 140 00:10:21,000 --> 00:10:24,000 kodunuzu kimi, həqiqətən, kompüter üzrə həyata nə olduğunu 141 00:10:24,000 --> 00:10:29,000 və sizin kodu çox şərh kimi zəruri deyil mümkün kimi oxunaqlı olmalıdır. 142 00:10:29,000 --> 00:10:33,000 Bu, riyazi çətin növü olan şeyler zaman dedi: 143 00:10:33,000 --> 00:10:38,000 və ya algorithmically, bu siz ki, şərh yaxşı 144 00:10:38,000 --> 00:10:43,000 kodunuzu oxumaq kim əlavə ölçüsü, əlavə qatı əlavə edin. 145 00:10:43,000 --> 00:10:49,000 Bu həll yolları, tez-tez onlar daha çox yalnız şərh olunur 146 00:10:49,000 --> 00:10:52,000 biz onları yaymaq etmək istəyirik və insanların onları seçin var 147 00:10:52,000 --> 00:10:56,000 və olduqca asan oxumaq. 148 00:10:56,000 --> 00:11:05,000 Lakin mütləq, mən bu ağır ki, razı olacaq. 149 00:11:05,000 --> 00:11:07,000 [Tələbə] Lakin şübhə, ağır getmək zaman? 150 00:11:07,000 --> 00:11:10,000 Şübhə, ağır getmək zaman. 151 00:11:10,000 --> 00:11:17,000 Bəzi insanlar bəzən bu kimi qaytarılması 0 və ya bir şey demək olacaq. 152 00:11:17,000 --> 00:11:20,000 Mən bir gülünc comment ki, düşünürəm. 153 00:11:20,000 --> 00:11:22,000 Aydındır ki, nə var. 154 00:11:22,000 --> 00:11:25,000 Mən demək English ehtiyac yoxdur. 155 00:11:25,000 --> 00:11:28,000 Bəzən insanlar kimi şeylər yazmaq olacaq "kthxbai!" 156 00:11:28,000 --> 00:11:32,000 Bu cute növü var, həm də qeyri- 157 00:11:32,000 --> 00:11:35,000 ki, şərh bal və ya arasında fərq edilməsi deyil. 158 00:11:35,000 --> 00:11:41,000 Bu cür şərhlər yalnız ha, ha var. 159 00:11:41,000 --> 00:11:43,000 Cool. 160 00:11:43,000 --> 00:11:48,000 >> Bu nöqtədə, sual 3 bölmə göstərilməyib Problem haqqında iş başlamaq edək. 161 00:11:48,000 --> 00:11:52,000 Uşaqlar daha qoparmaq varsa, 162 00:11:52,000 --> 00:11:55,000 ötən həftə olduğu kimi, biz bu bölməsində şort izləmək fikrində deyilik. 163 00:11:55,000 --> 00:12:00,000 Biz sizin uşaqlar öz vaxt ki, bunu bildirin və suallar haqqında danışmaq lazımdır. 164 00:12:00,000 --> 00:12:05,000 Amma indi bu bölmədə biz bir az daha çox vaxt sərf etmək olacaq 165 00:12:05,000 --> 00:12:11,000 bu kodlaşdırma əsasları az söhbət 166 00:12:11,000 --> 00:12:15,000 Keçən həftə olduğu kimi, əvəzinə, biz daha çox diqqət olacaq 167 00:12:15,000 --> 00:12:22,000 nəzəriyyəsinin bir az daha, belə ki, ikili axtarış söhbət və sonra çeşidlənməsi. 168 00:12:22,000 --> 00:12:27,000 Məruzəsi ilə yanaşı aşağıdakı olmuş sizin From, 169 00:12:27,000 --> 00:12:30,000 kimsə məni fərq nə bir recap verə bilər 170 00:12:30,000 --> 00:12:35,000 binar axtarış və xətti axtarış arasında? 171 00:12:35,000 --> 00:12:37,000 Nə olub? Əmin olun. 172 00:12:37,000 --> 00:12:42,000 Bu sıralaması siyahısında hər element vasitəsilə Xətti axtarış axtarış 173 00:12:42,000 --> 00:12:45,000 bir-bir-bir-bir-bir, 174 00:12:45,000 --> 00:12:50,000 və ikili axtarış, 2 qrupa siyahısı ayırır 175 00:12:50,000 --> 00:12:57,000 sizin üçün axtarış etdiyiniz düymələri dəyər əgər çeklərin orta dəyəri daha çox və ya daha az 176 00:12:57,000 --> 00:13:00,000 yalnız aşkar və daha az varsa, bu aşağı siyahısı ilə gedir 177 00:13:00,000 --> 00:13:03,000 və sonra yenə ayırır, eyni funksiyası yoxdur 178 00:13:03,000 --> 00:13:07,000 bütün yol aşağı o dəyəri özünə bərabər olması üçün orta tapır qədər. 179 00:13:07,000 --> 00:13:10,000 Sağ. 180 00:13:10,000 --> 00:13:12,000 >> Niyə biz qayğı edirsiniz? 181 00:13:12,000 --> 00:13:20,000 Niyə biz xətti axtarış qarşı ikili axtarış danışmaq edirsiniz? 182 00:13:20,000 --> 00:13:22,000 Bəli. 183 00:13:22,000 --> 00:13:24,000 Siz problem həcmi ikiqat əgər İkili, bir çox sürətli 184 00:13:24,000 --> 00:13:27,000 olduqca iki dəfə çox çox daha bir addım qalır. 185 00:13:27,000 --> 00:13:29,000 Exactly. 186 00:13:29,000 --> 00:13:31,000 Böyük bir cavab var. 187 00:13:31,000 --> 00:13:36,000 Xətti axtarış çox, bir-bir element yoxlanılması olunur 188 00:13:36,000 --> 00:13:39,000 və biz mühazirə ilk gün gördü 189 00:13:39,000 --> 00:13:42,000 David onun telefon kitab Məsələn vasitəsilə getdi 190 00:13:42,000 --> 00:13:45,000 və bir anda telefon kitab bir səhifə həyata yarıb 191 00:13:45,000 --> 00:13:47,000 və yenidən və üzərində artıq bunu saxlanılır 192 00:13:47,000 --> 00:13:51,000 ki, ona telefon kitab heç tapmaq üçün həqiqətən uzun vaxt olacaq 193 00:13:51,000 --> 00:13:55,000 Əlbəttə, əgər o, əlifba çox başında kimsə axtarır. 194 00:13:55,000 --> 00:14:00,000 Binar axtarış ile, bir çox daha sürətli getmək olar 195 00:14:00,000 --> 00:14:05,000 və yalnız iki dəfə sürətli və ya 3 dəfə sürətli və ya 4 dəfə sürətli kimi deyil. 196 00:14:05,000 --> 00:14:13,000 Ancaq problem kiçik və daha kiçik və daha sürətli daha kiçik olur. 197 00:14:13,000 --> 00:14:17,000 Bu göstərmək üçün, biz nə barədə danışmağa başlaya bilərsiniz 198 00:14:17,000 --> 00:14:21,000 biz ikili axtarış yazmaq zaman. 199 00:14:21,000 --> 00:14:27,000 Əl-da problem olduğunu mən ədəd bir sıra var, əgər 200 00:14:27,000 --> 00:14:40,000 , 1, 2, 3, 5, 7, 23, 45, 78, 12323, demək 201 00:14:40,000 --> 00:14:47,000 sonra 0s bir ton və sonra 9, 202 00:14:47,000 --> 00:14:52,000 biz nə həqiqətən tez anlamağa qadir olmaq istəyirəm 203 00:14:52,000 --> 00:14:57,000 ədəd bu sıra. 204 00:14:57,000 --> 00:15:00,000 Mən bu bir az silly və bir az göstərdi görünür bilirik 205 00:15:00,000 --> 00:15:02,000 İndi çünki. 206 00:15:02,000 --> 00:15:05,000 Biz bunu çox çox elementləri olmayan bir sıra var 207 00:15:05,000 --> 00:15:08,000 Mən də sizə bir sual əgər anlamaq üçün və ya 208 00:15:08,000 --> 00:15:11,000 23 sıra, siz olduqca tez edə bilərsiniz 209 00:15:11,000 --> 00:15:16,000 yalnız bu nəzər salan və bəli və ya mənə izah edərək. 210 00:15:16,000 --> 00:15:20,000 Bu halda hesab üçün analog, demək, təsəvvür edir 211 00:15:20,000 --> 00:15:27,000 10.000 satırlar, 20.000 satır ilə bir Excel elektron tablo. 212 00:15:27,000 --> 00:15:31,000 Əlbəttə, siz komanda F və ya nəzarət F etmək və bir şey baxa bilərsiniz. 213 00:15:31,000 --> 00:15:33,000 Siz, həmçinin, filtreler və axtarış məhsulları istifadə edə bilərsiniz 214 00:15:33,000 --> 00:15:37,000 ancaq xətti ilə line ki, fayl xətt vasitəsilə baxmaq əgər, 215 00:15:37,000 --> 00:15:40,000 onu tapmaq üçün uzun müddət edəcək. 216 00:15:40,000 --> 00:15:42,000 Yerləşir ki, çox, telefon kitab misal kimi növ var 217 00:15:42,000 --> 00:15:44,000 heç bir zaman bir telefon kitab bir səhifə vasitəsilə görünür. 218 00:15:44,000 --> 00:15:47,000 Adətən, onlar orta açıq yoxdur 219 00:15:47,000 --> 00:15:50,000 və ya telefon kitab və lüğətlərin Ü bir çox halda 220 00:15:50,000 --> 00:15:54,000 həqiqətən o, ilk məktub klavişli var 221 00:15:54,000 --> 00:16:01,000 Əgər birinci məktubu flip və açmaq və orada yaşayır başlamaq. 222 00:16:01,000 --> 00:16:03,000 >> Yenidən adı mənə edək. >> Sam. 223 00:16:03,000 --> 00:16:05,000 Sam. 224 00:16:05,000 --> 00:16:11,000 Sam bildirib kimi, o xətti axtarış prosesi, həqiqətən yavaş olacaq 225 00:16:11,000 --> 00:16:15,000 əvəzinə ikili axtarış, bu işlər yol olduğunu 226 00:16:15,000 --> 00:16:21,000 biz axtarış alqoritm bir iteration keçmək hər dəfə 227 00:16:21,000 --> 00:16:27,000 biz, mahiyyətcə, yarısında siyahısı bölmək olacaq 228 00:16:27,000 --> 00:16:33,000 iki kiçik siyahıları daxil. 229 00:16:33,000 --> 00:16:39,000 Və sonra loop növbəti iteration də biz yenidən bölmək lazımdır 230 00:16:39,000 --> 00:16:44,000 digər kiçik siyahıları daxil. 231 00:16:44,000 --> 00:16:48,000 Gördüyünüz kimi, problem kiçik almaq və kiçik edir 232 00:16:48,000 --> 00:16:55,000 biz hər bir zaman siyahısı discarding yarım saxlamaq, çünki. 233 00:16:55,000 --> 00:16:59,000 Bu necə discard işləyir? 234 00:16:59,000 --> 00:17:05,000 Biz kompüter, əgər yalnız bir öyüd-nəsihət, nə biz nə edirik 235 00:17:05,000 --> 00:17:11,000 və biz bu siyahıda sayı 5 üçün axtarış demək idi 236 00:17:11,000 --> 00:17:15,000 biz ortada bir sıra seçin ki, edir. 237 00:17:15,000 --> 00:17:26,000 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ədəd var, çünki bu siyahı ortasında 238 00:17:26,000 --> 00:17:32,000 biz, 4-cü mövqe və ya 5-ci mövqedə ya nömrə seçmək istədiyiniz 239 00:17:32,000 --> 00:17:38,000 və biz siyahısına ki, orta zəng ediyorum. 240 00:17:38,000 --> 00:17:42,000 Orta sayı seçin. 241 00:17:42,000 --> 00:17:51,000 Sam dediyi kimi ki sayı bərabər olduqda sonra, biz görmək üçün test olacaq 242 00:17:51,000 --> 00:17:59,000 biz almaq istəyirəm ki sayı və ya istədiyiniz sayı. 243 00:17:59,000 --> 00:18:06,000 Bərabər varsa, onda biz bunu gördük. Biz qazanmaq. 244 00:18:06,000 --> 00:18:12,000 Bərabər deyil, onda hallarda bir neçə var. 245 00:18:12,000 --> 00:18:15,000 İki hallarda, ya sayı biz aradığınız sayı daha çox olmalıdır edir 246 00:18:15,000 --> 00:18:19,000 və ya daha az olacaq. 247 00:18:19,000 --> 00:18:25,000 Daha çox varsa, biz sağa hərəkət. 248 00:18:25,000 --> 00:18:33,000 Az varsa, biz sola hərəkət. 249 00:18:33,000 --> 00:18:41,000 Və sonra yenə bütün prosesi təkrar 250 00:18:41,000 --> 00:18:48,000 sağ yarım və ya siyahısı sol yarısı ya haqqında. 251 00:18:48,000 --> 00:18:51,000 >> Bugünkü bölməsində ilk problem anlamaq üçün 252 00:18:51,000 --> 00:18:55,000 necə həqiqətən C kodu bu ifadə başlaya bilərsiniz. 253 00:18:55,000 --> 00:18:58,000 Biz burada pseudocode var. 254 00:18:58,000 --> 00:19:04,000 Biz bunu başlamaq lazımdır nə bir yeni yer çəkmək lazımdır 255 00:19:04,000 --> 00:19:09,000 daha sonra bu qeydlər var ki, bu versiya edirsiniz 256 00:19:09,000 --> 00:19:20,000 biz bütün bu silin, sonra surəti və problem dəsti yapışdırıb olacaq 257 00:19:20,000 --> 00:19:26,000 bizim fəzalarında bu məlumat və inşallah bu fasilə deyil. 258 00:19:26,000 --> 00:19:28,000 Mükəmməldir. 259 00:19:28,000 --> 00:19:33,000 Uşaqlar bütün varsa, yeni məkana bu kodu seçin və yapışdırıb 260 00:19:33,000 --> 00:19:43,000 boş bir daxil. 261 00:19:43,000 --> 00:19:47,000 Nin Daniel cəhd edək. Bu proqram tərtib çalıştırıyorsanız, işləyir? 262 00:19:47,000 --> 00:19:49,000 No >> nə dedi var? 263 00:19:49,000 --> 00:19:53,000 Bu nəzarət qeyri-etibarsız funksiyası sonuna çatır deyir. 264 00:19:53,000 --> 00:19:55,000 Bəli, belə mənə çalışan edək. 265 00:19:55,000 --> 00:19:59,000 Uşaqlar əvvəl bu gördünmü? Bu nə deməkdir bilirsinizmi? 266 00:19:59,000 --> 00:20:01,000 Okay, bu bir az yarmaq bildirin. 267 00:20:01,000 --> 00:20:10,000 Əgər dediyi kimi, sütun 1 biz bir səhv var, line 9 file.c da deyən oldu 268 00:20:10,000 --> 00:20:16,000 və onu səhv xəbərdarlıq və qaytarılması növü xəbərdarlıq gələn ki, deyir. 269 00:20:16,000 --> 00:20:18,000 Bir mənada edir qaytarılması növü ilə gedir kimi görünür. 270 00:20:18,000 --> 00:20:21,000 Biz qeyri-etibarsız funksiyası var olan bir funksiyası var deməkdir 271 00:20:21,000 --> 00:20:24,000 ki, etibarsız qayıtmaq deyil. 272 00:20:24,000 --> 00:20:27,000 A etibarsız funksiyası bu kimi görünür ki biridir: 273 00:20:27,000 --> 00:20:35,000 etibarsız foo (), və qaytarılması növü etibarsız çünki etibarsız var, 274 00:20:35,000 --> 00:20:38,000 deməkdir ki, biz burada bir şey olsa idi, 275 00:20:38,000 --> 00:20:45,000 geri 1 kimi, bunun üçün bir compiler səhv almaq istiyorum. 276 00:20:45,000 --> 00:20:49,000 Lakin, qeyri-etibarsız funksiyası var. 277 00:20:49,000 --> 00:20:51,000 Bu halda bizim qeyri-etibarsız funksiyası axtarış funksiyası 278 00:20:51,000 --> 00:20:56,000 bu bool bir qaytarılması növü var. 279 00:20:56,000 --> 00:20:59,000 Bu nəzarət qeyri-etibarsız funksiyası sonuna çatır ki var zaman, 280 00:20:59,000 --> 00:21:02,000 axtarış geri yoxdur, çünki bu. 281 00:21:02,000 --> 00:21:04,000 Bu tipli bool bir şey qaytarılması deyil. 282 00:21:04,000 --> 00:21:09,000 >> Biz düzeltmek bilər və uşaqlar nə düşünürsünüz 283 00:21:09,000 --> 00:21:13,000 axtarış ismarıcları qayıtmaq lazımdır? 284 00:21:13,000 --> 00:21:16,000 Hansı axtarış-u mənim geri dəyəri olmalıdır? 285 00:21:16,000 --> 00:21:19,000 Ki sonunda bilər nə edir. 286 00:21:19,000 --> 00:21:21,000 Charlotte, siz var hər hansı? 287 00:21:21,000 --> 00:21:23,000 Doğru və ya yalan? >> True ya yalan. 288 00:21:23,000 --> 00:21:26,000 Hansı? 289 00:21:26,000 --> 00:21:28,000 Asma və dartma. Bilmirəm. 290 00:21:28,000 --> 00:21:30,000 Asma və dartma? Nin cəhd edək. 291 00:21:30,000 --> 00:21:32,000 Niyə geri yalan deyəcəksiniz? Bu böyük intuisiya var. 292 00:21:32,000 --> 00:21:35,000 [Charlotte] Mən bilmirəm. 293 00:21:35,000 --> 00:21:39,000 Bu mənim olacaq, çünki Biz bu halda saxta qayıtmaq olacaq 294 00:21:39,000 --> 00:21:44,000 nədənsə siyahısı boş və ya iynə əgər 295 00:21:44,000 --> 00:21:46,000 biz mövcud deyil aradığınız ki. 296 00:21:46,000 --> 00:21:50,000 Sonra çox sonunda, əgər biz bu funksiyası doğru əvvəllər qayıtmaq yoxdur 297 00:21:50,000 --> 00:21:55,000 biz həmişə bu funksiya nope, bu sıra deyil demək ki, bilirik. 298 00:21:55,000 --> 00:21:58,000 Bu ot tayası ildə deyil. 299 00:21:58,000 --> 00:22:03,000 Biz tərtib run əgər İndi biz bu qədər çəkmək olar mənə bu edirsiniz it-edək. 300 00:22:03,000 --> 00:22:08,000 Biz tərtib və proqram run əgər İndi qurur. 301 00:22:08,000 --> 00:22:12,000 Biz az tez almaq. 302 00:22:12,000 --> 00:22:20,000 Mən hit varsa 4-uh-oh. 303 00:22:20,000 --> 00:22:25,000 Bu bir şey çap bilmədi. Hər şey tamam bitən kimi görünür. 304 00:22:25,000 --> 00:22:35,000 Biz daxil bu doldurmaq var 305 00:22:35,000 --> 00:22:39,000 Biz bir az əvvəl pseudocode olan alqoritm danışdı. 306 00:22:39,000 --> 00:22:44,000 Mənə görək, bu edirsiniz 307 00:22:44,000 --> 00:22:49,000 və mən yenidən ki, alqoritm qoparmaq lazımdır. 308 00:22:49,000 --> 00:22:51,000 Bu oğlan təşkil edək. Xeyr. 309 00:22:51,000 --> 00:22:58,000 Yoxdur deyil. 310 00:22:58,000 --> 00:23:03,000 Biz bu etməliyəm? 311 00:23:03,000 --> 00:23:11,000 Bu kodu off başlamaq üçün yaxşı bir strategiya ola bilər? 312 00:23:11,000 --> 00:23:16,000 Siz ortada bir sıra seçin var. 313 00:23:16,000 --> 00:23:23,000 Biz bir sıra ortasında bir sıra seçin edirsiniz? 314 00:23:23,000 --> 00:23:25,000 Hər hansı təkliflər? 315 00:23:25,000 --> 00:23:27,000 2 bölünür [Tələbə] Strlen. 316 00:23:27,000 --> 00:23:32,000 Strlen 2 bölünür. Bu böyük biri. 317 00:23:32,000 --> 00:23:35,000 Diziler xüsusi növ Strlen işləri. 318 00:23:35,000 --> 00:23:38,000 Serialların nə cür? 319 00:23:38,000 --> 00:23:44,000 String diziler, xarakter Diziler. 320 00:23:44,000 --> 00:23:48,000 Bu, biz müraciət etmək istəyirəm ki, konsepsiya ki, eyni cür var 321 00:23:48,000 --> 00:23:52,000 biz simvol bir sıra yoxdur, çünki biz strlen istifadə edə bilməz. 322 00:23:52,000 --> 00:23:55,000 Biz ints bir sıra var. 323 00:23:55,000 --> 00:23:58,000 Amma strlen bizim üçün nə edir? 324 00:23:58,000 --> 00:24:01,000 Siz bizim üçün alır bilirsinizmi? 325 00:24:01,000 --> 00:24:03,000 [Tələbə] Strlen bizə uzunluğu olur. 326 00:24:03,000 --> 00:24:05,000 Məhz, bu, uzunluğu olur. 327 00:24:05,000 --> 00:24:09,000 Strlen bizim üçün serialın uzunluğu alır. 328 00:24:09,000 --> 00:24:14,000 >> Necə ki, biz ikili axtarış proqram ki alıram? 329 00:24:14,000 --> 00:24:18,000 Necə bir sıra uzunluğu almaq olar? 330 00:24:18,000 --> 00:24:20,000 [Tələbə] Strlen? 331 00:24:20,000 --> 00:24:25,000 Siz strlen ilə düzgün biçimli C simli serialın uzunluğu əldə edə bilərsiniz. 332 00:24:25,000 --> 00:24:31,000 Bu problem olsa da, biz bir string array yoxdur ki. 333 00:24:31,000 --> 00:24:36,000 Biz bu kodu geri baxmaq varsa, bu tam sıra var. 334 00:24:36,000 --> 00:24:38,000 Biz nə qədər uzun bilirik? 335 00:24:38,000 --> 00:24:44,000 [Tələbə] orada int l və ya bir şey kimi son nöqtə üçün ekvivalent biri varmı? 336 00:24:44,000 --> 00:24:49,000 Həqiqətən yoxdur həyata çevirir və belə bir şəkildə, bu 337 00:24:49,000 --> 00:24:52,000 C haqqında bilmək yalnız yaxşı olan şeyi bir, 338 00:24:52,000 --> 00:24:57,000 bir sıra uzunluğu almaq üçün heç bir yolu yoxdur ki, 339 00:24:57,000 --> 00:24:59,000 Mən sizə bütün array olsun. 340 00:24:59,000 --> 00:25:02,000 Bu strings ilə işləyir səbəbi, səbəbi strlen işləri, 341 00:25:02,000 --> 00:25:06,000 bir string düzgün biçimlendirilmiş əgər çünki, 342 00:25:06,000 --> 00:25:12,000 bu çox sonunda xüsusi \ 0 xarakterli olacaq. 343 00:25:12,000 --> 00:25:16,000 >> Əgər düzgün biçimli string varsa da təsəvvür edə 344 00:25:16,000 --> 00:25:20,000 və \ 0 xarakter var ki, sonra bütün şey işləmir. 345 00:25:20,000 --> 00:25:22,000 [Tələbə] Siz \ 0 əlavə edə bilərəmmi? 346 00:25:22,000 --> 00:25:24,000 Biz bu halda ola bilər. 347 00:25:24,000 --> 00:25:29,000 Biz \ 0 bir növ əlavə edə 348 00:25:29,000 --> 00:25:33,000 və ya sonra xarakter signifying və bir növ ki, istifadə edin. 349 00:25:33,000 --> 00:25:36,000 Lakin kifayət qədər işləməyə davam deyil 350 00:25:36,000 --> 00:25:40,000 olan \ 0, bir char type çünki 351 00:25:40,000 --> 00:25:43,000 və burada ints var. 352 00:25:43,000 --> 00:25:46,000 Biz xüsusi bir dəyəri olsaydı başqa bir şey 353 00:25:46,000 --> 00:25:49,000 -1 kimi bir sıra sonunda qeyd etmək 354 00:25:49,000 --> 00:25:54,000 sonra biz tam seriallarda bir -1 saxlamaq heç bilər. 355 00:25:54,000 --> 00:25:56,000 Biz vurulmuş olarıq. 356 00:25:56,000 --> 00:26:00,000 Bu çıxır ki, uzunluğu almaq üçün yeganə yol 357 00:26:00,000 --> 00:26:03,000 C bir sıra faktiki olaraq xatırlayıram edir 358 00:26:03,000 --> 00:26:08,000 siz qurmaq və sonra sıra ilə onun ətrafında keçə zaman 359 00:26:08,000 --> 00:26:14,000 belə ki, mən bir iş olacaq ki, bir funksiyası var zaman 360 00:26:14,000 --> 00:26:18,000 integers və ya üzüb gedirdi bir sıra və ya iki və ya nə var, 361 00:26:18,000 --> 00:26:22,000 Mən də, funksiyası serialın uzunluğu vermək lazımdır 362 00:26:22,000 --> 00:26:26,000 və biz axtarış funksiyası burada etdik məhz budur. 363 00:26:26,000 --> 00:26:30,000 Biz burada sıra keçmək zaman biz etdik, nə baxsaq 364 00:26:30,000 --> 00:26:36,000 biz də uzunluğu, ölçüsü keçir. 365 00:26:36,000 --> 00:26:41,000 Bu, sadəcə, biz burada bu dəyişən çağırıb ki, baş 366 00:26:41,000 --> 00:26:43,000 Bu parametr və ya mübahisə. 367 00:26:43,000 --> 00:26:46,000 Bu funksiyasının arqument siyahısı və ya parametr siyahısı adlanır 368 00:26:46,000 --> 00:26:51,000 və bu da dəlillər və ya parametrləri deyilir. 369 00:26:51,000 --> 00:26:53,000 İnsanlar müxtəlif vaxtlarda müxtəlif terminlərdən istifadə. 370 00:26:53,000 --> 00:26:55,000 Mən bəzən onlara özümü ideya. 371 00:26:55,000 --> 00:27:00,000 Bu, sadəcə belə ki, burada bu dəyişən eyni adlı baş 372 00:27:00,000 --> 00:27:03,000 bu # burada müəyyən etmək. 373 00:27:03,000 --> 00:27:06,000 Lakin onlar eyni şey deyilik. 374 00:27:06,000 --> 00:27:11,000 Kapitallaşdırılması məsələ yoxdur. 375 00:27:11,000 --> 00:27:14,000 >> Burada nə baxsaq, biz bəyan 376 00:27:14,000 --> 00:27:18,000 biz nömrələri adlı etdiyiniz bizim int dizi,. 377 00:27:18,000 --> 00:27:23,000 Biz bunu bizim # üst qədər müəyyən etmək üçün uyğun olan ölçüsü, təqdim etdik. 378 00:27:23,000 --> 00:27:27,000 8 olacaq. 379 00:27:27,000 --> 00:27:35,000 Və sonra biz sonra, aşağıdakı axtarış funksiyası aşağı zəng zaman 380 00:27:35,000 --> 00:27:40,000 biz istenir etdik ki, biz axtarmaq istəyirsinizsə sayı keçmək 381 00:27:40,000 --> 00:27:43,000 istifadəçi kazanılmış. 382 00:27:43,000 --> 00:27:46,000 Biz, serialın bu nömrələri keçmək 383 00:27:46,000 --> 00:27:51,000 və sonra da serialın ölçüsü keçməlidirlər 384 00:27:51,000 --> 00:27:57,000 və sonra ölçüsü 8 dəyəri saxlanılır olur 385 00:27:57,000 --> 00:28:01,000 və ya bu tam dəyişən adlı ölçüsü keçdi. 386 00:28:01,000 --> 00:28:08,000 Biz serialın ölçüsü var. 387 00:28:08,000 --> 00:28:11,000 Biz əvvəllər söhbət nə geri İndi əgər 388 00:28:11,000 --> 00:28:14,000 Mən Missy biz lazım nə serialın uzunluğu almaq ki baxımından tərbiyə edirəm 389 00:28:14,000 --> 00:28:20,000 və 2 ilə bölmək ki, bizə orta verəcək. 390 00:28:20,000 --> 00:28:22,000 Bakalým. 391 00:28:22,000 --> 00:28:25,000 Mən kimsə bu yazmaq və onların yer saxlamaq ola bilər? 392 00:28:25,000 --> 00:28:27,000 Necə Leyla haqqında? 393 00:28:27,000 --> 00:28:31,000 Mən sizə bu yazmaq edə bilərəmmi? 394 00:28:31,000 --> 00:28:35,000 Siz serialın uzunluğu almaq və orta aldığı ilk yaz 395 00:28:35,000 --> 00:28:41,000 və yeni dəyişən bu saxlamayın. 396 00:28:41,000 --> 00:28:44,000 Mən sizə bir neçə saniyə verəcəyik. Hazır edirsiniz? 397 00:28:44,000 --> 00:28:46,000 [Tələbə işitilemez] 398 00:28:46,000 --> 00:28:50,000 Əlbəttə, mən orta siz hesablamaq ola bilər 399 00:28:50,000 --> 00:28:55,000 axtarış funksiyası daxilində ot tayası array 400 00:28:55,000 --> 00:29:03,000 olan ot tayası serialın uzunluğu istifadə edərək, hansı ölçüsü dəyişir? 401 00:29:03,000 --> 00:29:08,000 Burada çətin bir şey yoxdur. 402 00:29:08,000 --> 00:29:12,000 [Leyla] Just ölçüsü / 2 və yalnız 403 00:29:12,000 --> 00:29:17,000 Və bu, saxlamaq və üst qədər burada Save düyməsini basın 404 00:29:17,000 --> 00:29:19,000 və biz onu qoparmaq lazımdır. 405 00:29:19,000 --> 00:29:22,000 Mükəmməldir. 406 00:29:22,000 --> 00:29:28,000 Biz də gedin. Awesome. 407 00:29:28,000 --> 00:29:30,000 >> Kimi, bu tərtib edəcək? 408 00:29:30,000 --> 00:29:32,000 [Leyla] Xeyr, ali olmalıdır. 409 00:29:32,000 --> 00:29:34,000 [Nate] Bəli, biz nə üçün lazımdır? 410 00:29:34,000 --> 00:29:36,000 [Leyla] int orta və ya bir şey kimi. 411 00:29:36,000 --> 00:29:41,000 Awesome. Bəli, ki, int orta = ölçüsü nin bunu bildirin. 412 00:29:41,000 --> 00:29:44,000 Bu tərtib edəcək? 413 00:29:44,000 --> 00:29:47,000 Bu comment silin və bu yol həyata almaq edək. 414 00:29:47,000 --> 00:29:50,000 Bu barədə nə tərtib edəcək? 415 00:29:50,000 --> 00:29:52,000 Biz tam bir şey məşğul deyilik 416 00:29:52,000 --> 00:29:55,000 biz bu və ya bu kimi bir şey çap lazımdır. 417 00:29:55,000 --> 00:29:58,000 Bəli, dəqiq. 418 00:29:58,000 --> 00:30:00,000 Biz olunmamış dəyişən almaq lazımdır. 419 00:30:00,000 --> 00:30:02,000 Nə bu barədə işləmək niyyətində deyil? 420 00:30:02,000 --> 00:30:06,000 Mən sizə Sam bir şey dedi edirəm. Semicolons. 421 00:30:06,000 --> 00:30:08,000 Bəli, mən o semicolons itkin alıram. 422 00:30:08,000 --> 00:30:14,000 Bu müddəti kurs ərzində sabit şey olacaq. 423 00:30:14,000 --> 00:30:17,000 Mən edəcəyik son şey hər tərəfdən bəzi ağ kosmik qoymaq lazımdır ki, 424 00:30:17,000 --> 00:30:23,000 burada bu operator, biz bunu necə adətən ki, bəri 425 00:30:23,000 --> 00:30:26,000 bizim style guide görə. 426 00:30:26,000 --> 00:30:29,000 Biz serialın orta var. 427 00:30:29,000 --> 00:30:32,000 Bizim alqoritm geri xatırlayıram İndi əgər, 428 00:30:32,000 --> 00:30:37,000 biz orta mövcut dəfə idi ki, ikinci addım nə idi? 429 00:30:37,000 --> 00:30:42,000 [Tələbə] daha çox varsa [işitilemez]. 430 00:30:42,000 --> 00:30:48,000 Bəli, biz müqayisə bir növ var və biz burada nə müqayisə olunur? 431 00:30:48,000 --> 00:30:53,000 Siz daha çox əgər bildirib. Istinad ki, cümlə bu nədir? 432 00:30:53,000 --> 00:30:57,000 Ki, orta daha əgər gəlir ki, sayı, sonra array qədər getmək? 433 00:30:57,000 --> 00:31:05,000 Məhz, belə ki sayı gəldiyi zaman biz- 434 00:31:05,000 --> 00:31:10,000 Bu iynə, biz, iynə müqayisə edirik 435 00:31:10,000 --> 00:31:12,000 və biz iynə qarşı nə müqayisə olunur? 436 00:31:12,000 --> 00:31:15,000 Iynə biz aradığınız nə olduğundan. 437 00:31:15,000 --> 00:31:18,000 Biz orta almaq üçün müqayisə edirik. 438 00:31:18,000 --> 00:31:21,000 >> Amma kontrol bir mənası yoxdur 439 00:31:21,000 --> 00:31:27,000 iynə = orta əgər? 440 00:31:27,000 --> 00:31:32,000 Bu mənada edirmi? 441 00:31:32,000 --> 00:31:35,000 Heç razı deyiləm mi? 442 00:31:35,000 --> 00:31:40,000 Əgər nin keçir edək (iynə == orta). 443 00:31:40,000 --> 00:31:42,000 [Tələbə] printf siz aşkar etməyin. 444 00:31:42,000 --> 00:31:51,000 [Nate] Printf ("Biz onu aşkar \ n"); 445 00:31:51,000 --> 00:31:56,000 Əks-Ben burada fərqli bir şey etməklə başlamaq niyyətindəyik. 446 00:31:56,000 --> 00:32:00,000 Mən bütün vaxt hesabatları əgər ətrafında aşırma qoyulması başlamaq gedirəm 447 00:32:00,000 --> 00:32:05,000 yalnız çünki biz daha stuff əlavə əgər 448 00:32:05,000 --> 00:32:07,000 biz derleyiciler deyil. 449 00:32:07,000 --> 00:32:09,000 Bəli, Sam. Siz bir nöqtə var. 450 00:32:09,000 --> 00:32:12,000 Problem orta serialın bir mövqeyi təmsil edir 451 00:32:12,000 --> 00:32:15,000 ancaq serialın bu vəzifədə dəyəri təmsil əldə edə bilərsiniz. 452 00:32:15,000 --> 00:32:17,000 Böyük bir nöqtə var. 453 00:32:17,000 --> 00:32:19,000 Hamı Sam nə eşitmək mi? 454 00:32:19,000 --> 00:32:22,000 O, orta kimi olduğunu bildirib 455 00:32:22,000 --> 00:32:28,000 serialın yalnız bir mövqeyini əks, lakin sıra faktiki element deyil. 456 00:32:28,000 --> 00:32:30,000 Siz indi yazılı kimi kodu barədə düşünüyorsanız, 457 00:32:30,000 --> 00:32:35,000 biz aşağı burada bu array baxsaq, hansı ki, 8 elementlər vardır 458 00:32:35,000 --> 00:32:39,000 orta bu funksiyası olacaq dəyəri nədir? 459 00:32:39,000 --> 00:32:41,000 [Tələbə] 4. 460 00:32:41,000 --> 00:32:45,000 [Nate] 4. 461 00:32:45,000 --> 00:32:51,000 Biz sayı 4 axtarmaq varsa - 462 00:32:51,000 --> 00:32:54,000 və biz yalnız bu kodu run və burada bir az kədərli üz qoya bilər 463 00:32:54,000 --> 00:32:58,000 biz bu kodu run it-əgər biz tapmaq, çünki 464 00:32:58,000 --> 00:33:04,000 kimi yüklemek, sağ İndi, bina, mənə aşağı diyirləyin bildirin 465 00:33:04,000 --> 00:33:09,000 və biz sayı 4 baxsaq, 466 00:33:09,000 --> 00:33:18,000 biz bunu gördük, amma biz printf bəli bu əldə etməyib. 467 00:33:18,000 --> 00:33:23,000 Bir səbəbi biz doğru qaytarmayıb ki, 468 00:33:23,000 --> 00:33:26,000 lakin biz həqiqətən sayı 4 almısan? 469 00:33:26,000 --> 00:33:28,000 Və Sam heç deyib. 470 00:33:28,000 --> 00:33:31,000 Biz nə almısan? 471 00:33:31,000 --> 00:33:35,000 Biz, həqiqətən, biz aşağı burada array baxsaq olan orta, aşkar 472 00:33:35,000 --> 00:33:38,000 ki, biz aradığınız ki, index 4 element olacaq 473 00:33:38,000 --> 00:33:42,000 23 edir. 474 00:33:42,000 --> 00:33:46,000 >> Biz, həqiqətən, orta ki element alıram 475 00:33:46,000 --> 00:33:48,000 və yalnız orta özü? 476 00:33:48,000 --> 00:33:52,000 [Tələbə] Biz char və ya bir şey daxil olacaq? 477 00:33:52,000 --> 00:33:55,000 Yalnız həyata maraq, nə olardı ki? 478 00:33:55,000 --> 00:33:57,000 Bir az daha hazırlanması edə bilərəmmi? 479 00:33:57,000 --> 00:34:02,000 Siz neçə mövqe çevirmək üçün 480 00:34:02,000 --> 00:34:05,000 belə etmək var bir əlaqə-Mən bu char hesab edirəm, ancaq ola bilər. 481 00:34:05,000 --> 00:34:07,000 Bəli, yaxşı bir nöqtə var. 482 00:34:07,000 --> 00:34:12,000 Biz chars, bu simvol, bu konvertasiya vəzifələrin bir çox məşğul olduğunuz 483 00:34:12,000 --> 00:34:14,000 ilk iki problem dəstləri. 484 00:34:14,000 --> 00:34:18,000 Burada, bu demək olar ki, oxşar çıxır ki, 485 00:34:18,000 --> 00:34:24,000 Bu mənada edir, bir string ərzində İTH karakter daxil. 486 00:34:24,000 --> 00:34:30,000 Burada orta element daxil olmaq istəyirik. 487 00:34:30,000 --> 00:34:34,000 Necə ki, biz etməliyəm? 488 00:34:34,000 --> 00:34:39,000 Kevin, biz necə ki, bunu hər hansı bir təklif var? 489 00:34:39,000 --> 00:34:44,000 Siz ot tayası edə, açıq bracket, orta, bracket bağlanıb. 490 00:34:44,000 --> 00:34:46,000 Bizə ki, yaza edə bilərəmmi? 491 00:34:46,000 --> 00:34:51,000 Burada qeyd edin və biz bu qoparmaq lazımdır. 492 00:34:51,000 --> 00:34:56,000 Biz bu xətti 9 arıyorsanız 493 00:34:56,000 --> 00:34:59,000 və biz orta üçün iynə müqayisə etmək istəmirəm ki, həyata edirik 494 00:34:59,000 --> 00:35:03,000 əvəzinə, biz iynə müqayisə etmək istəyirəm 495 00:35:03,000 --> 00:35:07,000 bizim ot tayası array ərzində mövqe orta olan element üçün. 496 00:35:07,000 --> 00:35:10,000 Cool. 497 00:35:10,000 --> 00:35:12,000 Biz də gedin. 498 00:35:12,000 --> 00:35:15,000 Bəli, olduqca yaxşı görünür, əgər (iynə == ot tayası [orta]). 499 00:35:15,000 --> 00:35:18,000 Biz bunu gördük. 500 00:35:18,000 --> 00:35:22,000 İndi biz bir az-up kod we'll geri run əgər 501 00:35:22,000 --> 00:35:26,000 ki, tərtib, bu çalışır, indi biz 4 baxsaq 502 00:35:26,000 --> 00:35:30,000 İndi biz faktiki sayı 23 əldə edirik, çünki biz onu tapa bilmədi. 503 00:35:30,000 --> 00:35:33,000 Biz dəyəri 23 əldə edirik ki, bizim iynə ilə müqayisədə ne var. 504 00:35:33,000 --> 00:35:35,000 Lakin yaxşı. Bu düzgün istiqamətdə bir addım var. 505 00:35:35,000 --> 00:35:37,000 >> Yəni biz çalışdığınız budur. 506 00:35:37,000 --> 00:35:40,000 Biz sıra vəzifələrin qarşı iynə müqayisə çalışır deyilik 507 00:35:40,000 --> 00:35:44,000 deyil array faktiki elementləri qarşı. 508 00:35:44,000 --> 00:35:49,000 Bizim alqoritm növbəti addım indi yenidən baxmaq varsa, 509 00:35:49,000 --> 00:35:51,000 Növbəti addım nədir? 510 00:35:51,000 --> 00:35:57,000 Leyla artıq qısaca qeyd. 511 00:35:57,000 --> 00:36:00,000 [Tələbə] taşımak üçün hansı yolla həll sonra və ya daha çox az və əgər oldu. 512 00:36:00,000 --> 00:36:03,000 [Nate] Bəli, belə necə ki, biz nə olardı? 513 00:36:03,000 --> 00:36:07,000 Bu versiya edirsiniz bəzi I'll qoymaq bilər, 514 00:36:07,000 --> 00:36:13,000 və sonra edəcəyik ki, bəzi xətləri qoymaq varsa. 515 00:36:13,000 --> 00:36:15,000 Bəli, Charlotte. >> Mən bir sual var. 516 00:36:15,000 --> 00:36:19,000 Ilk şey, çünki 1 - bu orta olmamalıdır 517 00:36:19,000 --> 00:36:26,000 əslində biz aradığınız xarakter deyil ki, biz 4 qoymaq əgər, dizine 0 olub? 518 00:36:26,000 --> 00:36:30,000 Bəli, digər problem ilə- 519 00:36:30,000 --> 00:36:35,000 nə bəlkə baş başa gedir ki, böyük bir tutmaq var 520 00:36:35,000 --> 00:36:42,000 biz hərəkət saxlamaq və əgər biz ilkin tənzimləmək deyil? 521 00:36:42,000 --> 00:36:46,000 Edirəm ki, biz bunu başa bilər nə tahmin daxil olmaq üçün çalışır 522 00:36:46,000 --> 00:36:49,000 serialın 8 yerdə element, 523 00:36:49,000 --> 00:36:53,000 bu halda mövcud deyil. 524 00:36:53,000 --> 00:36:56,000 Biz faktı mühasibat bir növ etmək istəyirəm 525 00:36:56,000 --> 00:36:59,000 bəzi sıfır endeksleme var. 526 00:36:59,000 --> 00:37:05,000 [Charlotte] Bağışlayın, mən orta demək - kvadrat mötərizədə 1. 527 00:37:05,000 --> 00:37:08,000 Biz bunu edə bilərsiniz. 528 00:37:08,000 --> 00:37:10,000 Biz yalnız bir az bu məsələyə qayıtmaq lazımdır. 529 00:37:10,000 --> 00:37:13,000 Sonra biz, faktiki loop almaq üçün başlamaq 530 00:37:13,000 --> 00:37:16,000 Biz həqiqətən bu oyun minir görəcəksiniz ki var. 531 00:37:16,000 --> 00:37:21,000 Olan zaman, biz bunu edə bilərsiniz, ancaq siz tamamilə doğru istəyirik. 532 00:37:21,000 --> 00:37:28,000 Sıfır endeksleme biz hesab etmək lazımdır ki, təsir edəcək. 533 00:37:28,000 --> 00:37:30,000 Bakalým. 534 00:37:30,000 --> 00:37:34,000 >> Necə ki, daha çox və daha az-? 535 00:37:34,000 --> 00:37:36,000 [Tələbə] Mən daha çox və daha az hissəsi artıq necə almaq. 536 00:37:36,000 --> 00:37:41,000 Mən yalnız onu ot tayası orta dən az və ya daha çox olduğunu tapmaq əgər çap nə əmin deyil. 537 00:37:41,000 --> 00:37:43,000 Burada saxlaya bilərsiniz nə I've- 538 00:37:43,000 --> 00:37:47,000 [Nate] Bəli, siz var nə edirsiniz, biz onu qoparmaq lazımdır əgər. 539 00:37:47,000 --> 00:37:49,000 Biz də gedin. 540 00:37:49,000 --> 00:37:51,000 [Tələbə] Mən bilmirdim nə üçün sual işarələri qoyulur. 541 00:37:51,000 --> 00:37:54,000 [Nate] böyük görünür ki,. 542 00:37:54,000 --> 00:37:58,000 Biz hələ bilmirəm, çünki Burada sual işarələri var 543 00:37:58,000 --> 00:38:06,000 biz olduqca hələ nə olacaq nə. 544 00:38:06,000 --> 00:38:12,000 Biz nə-oops, biz bəzi aşırma bizə bütün funky var istəyirsiniz. 545 00:38:12,000 --> 00:38:15,000 Biz bu aşırma düzəltmək lazımdır. 546 00:38:15,000 --> 00:38:19,000 Biz də gedin. 547 00:38:19,000 --> 00:38:22,000 Və biz, bizim alqoritmi görə, nə istəyirsiniz 548 00:38:22,000 --> 00:38:27,000 biz iynə tapmaq yoxsa? 549 00:38:27,000 --> 00:38:32,000 Iynə biz aradığınız nə az olduğu halda deyirlər. Kevin. 550 00:38:32,000 --> 00:38:34,000 Yalnız sol yarım oldu. 551 00:38:34,000 --> 00:38:40,000 Sağ, belə ki, biz deyir ki, burada bir comment qoymaq lazımdır "sol yarım oldu." 552 00:38:40,000 --> 00:38:46,000 Iynə orta olan ot tayası artıq olduğu halda, biz nə istəyirik? 553 00:38:46,000 --> 00:38:48,000 [Tələbə] Sonra sağ yarım oldu. 554 00:38:48,000 --> 00:38:53,000 Sağ yarım baxın, "sağ yarım oldu." 555 00:38:53,000 --> 00:38:58,000 Deyil, çox köhnə. 556 00:38:58,000 --> 00:39:05,000 OK, bu anda, hər şeyi olduqca yaxşı axtarır. 557 00:39:05,000 --> 00:39:13,000 Yazılı kimi kodu ilə problem nədir? 558 00:39:13,000 --> 00:39:15,000 [Tələbə] Siz yarıya indirir üçün endpoints yoxdur. 559 00:39:15,000 --> 00:39:18,000 Sağ, biz yarıya indirir üçün endpoints yoxdur. 560 00:39:18,000 --> 00:39:20,000 Biz də yalnız bu dəfə keçmək gedir. 561 00:39:20,000 --> 00:39:23,000 Biz yalnız bir orta baxmaq olacaq. 562 00:39:23,000 --> 00:39:27,000 Ya element var, və ya deyil. 563 00:39:27,000 --> 00:39:34,000 Bu başa çatdırmaq üçün, biz təkrar bir növ etmək lazımdır. 564 00:39:34,000 --> 00:39:39,000 Biz tapmaq qədər təkrar saxlamaq lazımdır ki, 565 00:39:39,000 --> 00:39:43,000 biz aşağı daralmış və nəhayət, gördük çünki ya element var ki, 566 00:39:43,000 --> 00:39:46,000 və ya orada biz hər şeyi nəzərdən etdiyiniz deyil, çünki 567 00:39:46,000 --> 00:39:52,000 serialın müvafiq yarıya indirir və heç bir şey yoxdur ki, aşkar. 568 00:39:52,000 --> 00:39:56,000 >> Biz bu təkrar gedən var zaman, biz istifadə edir? 569 00:39:56,000 --> 00:39:58,000 [Tələbə] A loop. 570 00:39:58,000 --> 00:40:00,000 Loop bir növ. Bəli. 571 00:40:00,000 --> 00:40:03,000 [Tələbə] biz do-isə loop etmək və bu isə o yoxdur və ola bilər 572 00:40:03,000 --> 00:40:10,000 iynə edirəm ki, ilə davam edildi əmin bərabər Ben deyil deyil. 573 00:40:10,000 --> 00:40:18,000 Lakin cür analoji ki, kimi uzun bərabər dəyəri ki, istifadəçi daxil deyil kimi. 574 00:40:18,000 --> 00:40:21,000 Bəli, belə nin görək, necə bu özü yazmaq bilər? 575 00:40:21,000 --> 00:40:23,000 Siz üzrə do-isə loop istifadə edək bildirib. 576 00:40:23,000 --> 00:40:26,000 Başlanğıc harada edir? 577 00:40:26,000 --> 00:40:33,000 Sağ ölçüsü / 2 sonra [Tələbə]. 578 00:40:33,000 --> 00:40:42,000 [Nate] Okay, biz nə edəcəyik? 579 00:40:42,000 --> 00:40:44,000 Biz sonra isə doldurmaq lazımdır. 580 00:40:44,000 --> 00:40:46,000 Biz nə edəcəyik? 581 00:40:46,000 --> 00:40:49,000 [Tələbə] biz əgər hissəsi bütün işçilərinin etmək istəyirsən? 582 00:40:49,000 --> 00:40:52,000 [Nate] bütün bu məhsulları etməyin, böyük. 583 00:40:52,000 --> 00:40:55,000 Copy və paste. 584 00:40:55,000 --> 00:40:59,000 Oh, man. 585 00:40:59,000 --> 00:41:03,000 Görmək Gəlin, bu işləri biz nişanı bu artıq əgər. 586 00:41:03,000 --> 00:41:08,000 Gözəl. 587 00:41:08,000 --> 00:41:16,000 Uşaqlar var belə Okay və biz bu edin. 588 00:41:16,000 --> 00:41:21,000 Bütün hüquqlar və biz bunu edəcəyik isə- 589 00:41:21,000 --> 00:41:25,000 sonra isə isə vəziyyət nə idi? 590 00:41:25,000 --> 00:41:31,000 [Tələbə] iynə bərabər deyil baxmayaraq, belə ünlem kimi. 591 00:41:31,000 --> 00:41:37,000 Amma hələ dəqiq əmin deyiləm. 592 00:41:37,000 --> 00:41:39,000 [Nate] Bəli, bu bunu bir yoludur. 593 00:41:39,000 --> 00:41:41,000 Sam, bir yorum var? 594 00:41:41,000 --> 00:41:43,000 [Sam] Mən video baxdı mən yad, 595 00:41:43,000 --> 00:41:48,000 Biz bunun üçün pseudocode etdi zaman mən kimi biri bir ekran etdi 596 00:41:48,000 --> 00:41:52,000 max və min arasında əlaqələr var idi. 597 00:41:52,000 --> 00:41:58,000 Mən bunu max min daha heç əgər daha az kimi bir şey idi. 598 00:41:58,000 --> 00:42:00,000 Var. 599 00:42:00,000 --> 00:42:04,000 [Sam] Yoxsa max kimi min və ya bir şey az deyil əgər kimi, 600 00:42:04,000 --> 00:42:06,000 ki, hər şey axtarış etdiyiniz deməkdir çünki. 601 00:42:06,000 --> 00:42:13,000 >> Bəli, belə ki, nə max və min istinad edilmişdir kimi səs edir? 602 00:42:13,000 --> 00:42:16,000 Dəyişdirmək edir ki, [Sam] Dəyərlər ki integers 603 00:42:16,000 --> 00:42:18,000 biz orta qoymaq yerləşir nisbətən. 604 00:42:18,000 --> 00:42:20,000 Exactly. 605 00:42:20,000 --> 00:42:24,000 [Sam] Bu noktada, bu [işitilemez] maksimum və min hesablamaq. Olacaq 606 00:42:24,000 --> 00:42:29,000 Orta bu max və min bir fikirdir. 607 00:42:29,000 --> 00:42:35,000 Ki, insanlar bir mənası varmı? 608 00:42:35,000 --> 00:42:39,000 Biz necə biz bu iteration nə olacaq baxaraq başlamaq olsaydı, 609 00:42:39,000 --> 00:42:43,000 Əgər biz-isə loop bir növ istifadə etmək istəyirəm ki, tamamilə haklýsýn. 610 00:42:43,000 --> 00:42:49,000 Biz bu serialın spot da neler yadda Lakin hərhalda 611 00:42:49,000 --> 00:42:53,000 və nə həqiqətən baş-Ben üzərində yazmaq olacaq burada 612 00:42:53,000 --> 00:42:58,000 binar axtarış ilk iteration, biz var- 613 00:42:58,000 --> 00:43:05,000 Əvvəldə işarə b və e-istifadə gedirəm. 614 00:43:05,000 --> 00:43:10,000 Və sonra bizim serialın sonu. 615 00:43:10,000 --> 00:43:14,000 Biz əvvəllərində burada 4 sağ bilirik ki, 616 00:43:14,000 --> 00:43:18,000 və biz son 108 olduğunu bilirik. 617 00:43:18,000 --> 00:43:23,000 Biz sayı 15 aradığınız söyləyin. 618 00:43:23,000 --> 00:43:27,000 Bunu ilk dəfə kimi biz, əvvəllər gördüm 619 00:43:27,000 --> 00:43:30,000 orta 16 və ya 23 olacaq 620 00:43:30,000 --> 00:43:34,000 biz şeyi hesablamaq necə asılı olaraq. 621 00:43:34,000 --> 00:43:37,000 Bərabər ortada ayırıcı ildən bizə bu yer verəcək 622 00:43:37,000 --> 00:43:42,000 16 və 23 arasında, biz bərabər onu bölmək bilməz 623 00:43:42,000 --> 00:43:47,000 və ya bölmək və əsl orta əldə. 624 00:43:47,000 --> 00:43:49,000 Biz 16 baxmaq lazımdır. 625 00:43:49,000 --> 00:43:55,000 Biz "biz aradığınız ki, Hey, 16> 15." Reallaşdırmaq lazımdır 626 00:43:55,000 --> 00:43:59,000 Sonra serialın sol yarım baxmaq 627 00:43:59,000 --> 00:44:03,000 nə edirik çıxacağıq discarding edir 628 00:44:03,000 --> 00:44:07,000 Bütün bu üst hissəsi 629 00:44:07,000 --> 00:44:16,000 və "OK, indi bizim son nöqtə burada olacaq." deyərək 630 00:44:16,000 --> 00:44:22,000 Bizim loop növbəti iteration, indi bu array geçirdiğiniz, 631 00:44:22,000 --> 00:44:25,000 səmərəli, çünki indi bu hissəsini ləğv edərək, 632 00:44:25,000 --> 00:44:30,000 biz əvvəli və sonu arasında fərq olduğu üçün orta alaraq edirsinizsə, 633 00:44:30,000 --> 00:44:34,000 biz orta 8 tapmaq 634 00:44:34,000 --> 00:44:40,000 olan biz onda biz aradığınız sayı ilə bağlı olduğu görmək 8 test edə bilərsiniz, 635 00:44:40,000 --> 00:44:44,000 15, 15 böyük olduğunu tapmaq 636 00:44:44,000 --> 00:44:49,000 belə ki, siyahıda hüququ hissəsi hərəkət üçün 637 00:44:49,000 --> 00:44:51,000 biz insanlar istəyirik və biz bunu edə bilərsiniz, çünki olan bilirik. 638 00:44:51,000 --> 00:44:54,000 Biz onu tapa yerləşir sağ hissəsi olacaq bilirik ki, 639 00:44:54,000 --> 00:45:01,000 lakin kompüter biz edəcəyik nə biz, həqiqətən, will ki, bilmir 640 00:45:01,000 --> 00:45:04,000 Bu qədər getmək, indi əvvəlində və sonunda var 641 00:45:04,000 --> 00:45:11,000 Eyni ləkə var, orta o nöqtədə siyahısında yalnız sayı olur belə 642 00:45:11,000 --> 00:45:16,000 15, və biz bunu gördük. 643 00:45:16,000 --> 00:45:21,000 Ki, bu bütün max və min notation gedir yerləşir bəzi işıq salmaq mu 644 00:45:21,000 --> 00:45:24,000 anlamaq üçün serialın endpoints takip saxlanılması 645 00:45:24,000 --> 00:45:35,000 şeyi daraltmak üçün necə? 646 00:45:35,000 --> 00:45:42,000 >> Bu artıq 15-ə bərabər olmasa nə olardı? 647 00:45:42,000 --> 00:45:52,000 Biz əvəzinə, 15 və aradığınız, bu da 16 idi? 648 00:45:52,000 --> 00:45:54,000 Biz Oh, bu çox deyil ", deyə ediyorum. 649 00:45:54,000 --> 00:45:57,000 Biz sol geri istəyirik. " 650 00:45:57,000 --> 00:46:01,000 Və biz, sağ üçün e hərəkət istədiyiniz 651 00:46:01,000 --> 00:46:06,000 da olan nöqtə ziddiyyətli olardı ki, son nöqtə var. 652 00:46:06,000 --> 00:46:09,000 Bu bir daha elementləri üçün axtarış edə bilməz 653 00:46:09,000 --> 00:46:13,000 indi biz son nöqtə və bizim əvvəlində point, çünki 654 00:46:13,000 --> 00:46:16,000 bizim max və min, indi Çevrilmiş olunur. 655 00:46:16,000 --> 00:46:23,000 Biz bütün array vasitəsilə axtarış. Biz bir şey tapa bilməz. 656 00:46:23,000 --> 00:46:27,000 Yəni Okay, bu alqoritm dayandırmaq olacaq ", demək istəyirəm olan nöqtə var. 657 00:46:27,000 --> 00:46:34,000 Biz bir şey aşkar olunmayıb. Biz burada deyil bilirik. " 658 00:46:34,000 --> 00:46:36,000 Bu necə olacaq? 659 00:46:36,000 --> 00:46:40,000 [Tələbə] tam olaraq nasıl kompüter sonunda keçid edir? 660 00:46:40,000 --> 00:46:45,000 Necə sonunda əvvəl bitirmək deyil? 661 00:46:45,000 --> 00:46:48,000 Sonunda əvvəl başa 662 00:46:48,000 --> 00:46:54,000 çünki biz bunu hər vaxt olacaq ki, riyaziyyat. 663 00:46:54,000 --> 00:47:00,000 Biz mübadilə yolu siz ilk dəfə baxsaq, biz bu mübadilə etmək deyil 664 00:47:00,000 --> 00:47:03,000 biz 4 əvvəlində və sonunda olduğu 665 00:47:03,000 --> 00:47:13,000 bütün 108 aşağı yol və orta, 16-da, demək - 666 00:47:13,000 --> 00:47:20,000 Biz 15 aradığınız 15-əgər mən bu geri sıfırlamak üçün gedirəm, 667 00:47:20,000 --> 00:47:25,000 biz 16 checked zaman nə etdi ki, bilirdi və daha çox olduğunu gördüm 668 00:47:25,000 --> 00:47:28,000 və siyahıdan bütün sağ hissəsi ləğv etmək istədi 669 00:47:28,000 --> 00:47:36,000 biz bunu vəsiyyət burada bu e hərəkət olduğunu gördüm. 670 00:47:36,000 --> 00:47:44,000 Səmərəli, e orta əvvəl bir köçürülüb olmuşlar. 671 00:47:44,000 --> 00:47:48,000 Eyni zamanda, biz alqoritmi bu iteration zaman etdi 672 00:47:48,000 --> 00:47:51,000 və orta, 8 idi 673 00:47:51,000 --> 00:47:55,000 biz 8 <15, biz b hərəkət etmək istəyirdi ki, 674 00:47:55,000 --> 00:48:00,000 orta keçmiş biridir. 675 00:48:00,000 --> 00:48:07,000 İndi, əvvəlində və sonunda bu 15 birlikdə həm var. 676 00:48:07,000 --> 00:48:10,000 >> Bəzi digər dəyər deyil, 15, axtarmaq üçün baş edilmiş isterseniz 677 00:48:10,000 --> 00:48:14,000 və ya bu 15 əvəzinə 16, olsaydı 678 00:48:14,000 --> 00:48:20,000 biz e biz orta əvvəl bir hərəkət etmək istəyirəm ki, olardı. 679 00:48:20,000 --> 00:48:33,000 İndi e b az Çevrilmiş olardı. 680 00:48:33,000 --> 00:48:39,000 Biz həqiqətən bu alqoritm kodlaşdırma başa necə vasitəsilə gəzmək edək. 681 00:48:39,000 --> 00:48:44,000 Biz bu orta hesablanması olsun ki, bilirik. 682 00:48:44,000 --> 00:48:48,000 Biz əvvəlində və serialın sonunda izləmək istəyirəm ki da bilirik 683 00:48:48,000 --> 00:48:51,000 bizim cari serialın biz anlamaq bilər 684 00:48:51,000 --> 00:48:56,000 siyahısını bu sol yarısı və siyahısı sağ yarım edir. Şəhristanı 685 00:48:56,000 --> 00:49:03,000 Biz başlamaq və bitirmək ya ilə bunu 686 00:49:03,000 --> 00:49:07,000 və ya biz onlara min və max zəng edə bilərsiniz. 687 00:49:07,000 --> 00:49:10,000 Mən bu zaman başlamaq və bitirmək istifadə edəcəyik. 688 00:49:10,000 --> 00:49:15,000 Biz burada nümunə aşağı geri baxmaq biz başlamaq zaman, əgər, 689 00:49:15,000 --> 00:49:20,000 bizim başlanğıcında təbii olaraq, serialın çox əvvəlinə müəyyən edilib. 690 00:49:20,000 --> 00:49:25,000 Nə indeksi bu idi? Bizim nə etmək başlamaq lazımdır? 691 00:49:25,000 --> 00:49:27,000 Daniel. 692 00:49:27,000 --> 00:49:30,000 [Daniel] ot tayası [0]. 693 00:49:30,000 --> 00:49:37,000 [Nate] Bəli, biz ot tayası bərabər müəyyən edə bilər [0]. 694 00:49:37,000 --> 00:49:40,000 Bu problem olsa da, bu, bizim ilk element mövqeyi deyil verir ki. 695 00:49:40,000 --> 00:49:45,000 Bu, bizim ilk mövqe ilk element və ya faktiki dəyəri indeksi verir. 696 00:49:45,000 --> 00:49:47,000 [Tələbə] Bu .20 çevirmək olacaq? 697 00:49:47,000 --> 00:49:52,000 [Nate] Bu edəcəyik-də, bu, hər hansı bir konvertasiya etmək olmaz. 698 00:49:52,000 --> 00:49:56,000 Nə edəcəyik, bu başlamaq bir 4 saxlamaq olacaq 699 00:49:56,000 --> 00:49:59,000 sonra başlamaq qarşı müqayisə etmək çətin olacaq 700 00:49:59,000 --> 00:50:03,000 başlamaq, 4 dəyəri keçirilməsi, çünki 701 00:50:03,000 --> 00:50:06,000 ki, bizim serialın başlanğıcıdır 702 00:50:06,000 --> 00:50:08,000 amma sıra göstəriciləri izləmək istəyirəm 703 00:50:08,000 --> 00:50:11,000 kimi dəyərlərə qarşı çıxdı. 704 00:50:11,000 --> 00:50:17,000 Biz həqiqətən kimi, bir 0 istifadə edəcəyik. 705 00:50:17,000 --> 00:50:20,000 Serialın-Charlotte sonuna bir az əvvəl bu gətirdi. 706 00:50:20,000 --> 00:50:23,000 Biz nəzərə sıfır endeksleme almaq lazımdır edir. 707 00:50:23,000 --> 00:50:25,000 >> Charlotte, serialın sonunda nə var? 708 00:50:25,000 --> 00:50:28,000 Sonuna indeksi nədir? 709 00:50:28,000 --> 00:50:30,000 [Charlotte] Ölçüsü - 1. 710 00:50:30,000 --> 00:50:32,000 Bəli, və biz ölçüsü istifadə etməli? 711 00:50:32,000 --> 00:50:35,000 Biz kapital ölçüsü və ya kiçik ölçüsü istifadə etməli? 712 00:50:35,000 --> 00:50:37,000 Capital ölçüsü. 713 00:50:37,000 --> 00:50:42,000 Bu halda, biz kapital ölçüsü istifadə edə bilər. 714 00:50:42,000 --> 00:50:45,000 Biz bu funksiya portativ olmaq istəyirdi 715 00:50:45,000 --> 00:50:48,000 və digər proqramlar bu funksiyadan istifadə 716 00:50:48,000 --> 00:50:50,000 biz, həqiqətən, kiçik ölçüsü istifadə edə bilərsiniz. 717 00:50:50,000 --> 00:50:52,000 Bu çox gözəl var. 718 00:50:52,000 --> 00:51:01,000 1 - Amma Charlotte biz ölçüsü istəyirəm ki, tamamilə haqlıdır. 719 00:51:01,000 --> 00:51:03,000 Bu point- 720 00:51:03,000 --> 00:51:05,000 [Tələbə] bu böyük ölçüsü istifadə edə bilərsiniz ki, necə? 721 00:51:05,000 --> 00:51:07,000 Biz böyük ölçüdə istifadə edə bilər ki, necə? 722 00:51:07,000 --> 00:51:13,000 Bu # müəyyən çıxır ki, həqiqətən, 723 00:51:13,000 --> 00:51:19,000 Bu mənada edir əgər başlıq altında kimi bir mətn tapmaq və dəyişin. 724 00:51:19,000 --> 00:51:24,000 Siz kodu tərtib edildikdə, preprocessing mərhələsi 725 00:51:24,000 --> 00:51:27,000 bu kompilyatorunun, fayl keçir 726 00:51:27,000 --> 00:51:31,000 və o, hər yerdə paytaxt ölçüsü yazdıq ki, görünür, 727 00:51:31,000 --> 00:51:39,000 və yalnız kimi, 8 ilə sözün mətn əvəz edir. 728 00:51:39,000 --> 00:51:42,000 Bu mənada, bu, dəyişən çox fərqli. 729 00:51:42,000 --> 00:51:45,000 Bu yaddaş heç bir yer deyil. 730 00:51:45,000 --> 00:51:52,000 Bu sadə mətn dəyişdirmək oyun var. 731 00:51:52,000 --> 00:51:57,000 Bu halda, biz ölçüsü istifadə olacaq. 732 00:51:57,000 --> 00:52:01,000 Burada biz təkrar bir növ, nə istəyirsiniz 733 00:52:01,000 --> 00:52:03,000 və biz do-isə loop ilə doğru yolda deyilik. 734 00:52:03,000 --> 00:52:08,000 Bir vəziyyət artıq olmayan qədər, bir şey etmək istəyirəm 735 00:52:08,000 --> 00:52:12,000 biz əvvəllər gördüyümüz kimi, biz gördük ki, vəziyyəti 736 00:52:12,000 --> 00:52:19,000 biz sonuna istəmirəm ki, həqiqətən idi 737 00:52:19,000 --> 00:52:24,000 bu başlamaq daha az olacaq. 738 00:52:24,000 --> 00:52:26,000 >> Bu, bizim dayandırılması şərtdir. 739 00:52:26,000 --> 00:52:35,000 Bu baş verərsə, biz kimi dayandırmaq və bəyan etmək istəyirəm "Hey, biz bir şey aşkar olunmayıb." 740 00:52:35,000 --> 00:52:43,000 Bu ifadə, biz loop bir növ istifadə etmək istəyirəm. 741 00:52:43,000 --> 00:52:49,000 Bu halda, bir loop üçün, bir müddət loop bir do-isə loop ola bilər? 742 00:52:49,000 --> 00:52:51,000 Biz burada bir do-isə loop var. 743 00:52:51,000 --> 00:52:53,000 Əgər yanaşma kimi uşaqlar varmı? 744 00:52:53,000 --> 00:52:59,000 Biz fərqli bir yanaşma cəhd etməlidir düşünürsünüz? 745 00:52:59,000 --> 00:53:01,000 Kevin, hər hansı bir fikir? 746 00:53:01,000 --> 00:53:06,000 Biz maksimum çünki Biz isə loop ola bilər 747 00:53:06,000 --> 00:53:11,000 başlanğıc zaten da min daha çox olardı. 748 00:53:11,000 --> 00:53:14,000 Bəli, nə etmək lazımdır ki, heç bir başlatma var belə. 749 00:53:14,000 --> 00:53:17,000 Əgər bir şey başlamaq zaman o nə-isə loops böyük 750 00:53:17,000 --> 00:53:21,000 sonra burada isə test əvvəl 751 00:53:21,000 --> 00:53:26,000 biz də başlayacaq və son reinitializing saxlamaq fikrində deyilik bilirik ki, 752 00:53:26,000 --> 00:53:28,000 loop hər tur. 753 00:53:28,000 --> 00:53:32,000 Biz onlara başlamaq istəyirəm bilirik ki, sonra bizim şərt oldu. 754 00:53:32,000 --> 00:53:38,000 Bu halda, mən əslində sadə isə loop ilə gedəcəyəm. 755 00:53:38,000 --> 00:53:44,000 Bu do-isə loops ədalətli seyrek istifadə çıxır. 756 00:53:44,000 --> 00:53:49,000 Yerlərdə bir çox belə yoxdur öyrətmək deyil loops edir. 757 00:53:49,000 --> 00:53:53,000 Onlar istifadəçi daxil idarə üçün yaxşı istəyirik, biz bu günə qədər onların bir çox gördük. 758 00:53:53,000 --> 00:53:59,000 Amma normal və loops bir çox ümumi edir. 759 00:53:59,000 --> 00:54:03,000 Bu şərt kimi yazılı çıxır ki, 760 00:54:03,000 --> 00:54:09,000 həqiqətən bizə çox yaxşı və nə ki, deyil? 761 00:54:09,000 --> 00:54:11,000 Pardon, mən sizin adı bilmirəm. 762 00:54:11,000 --> 00:54:13,000 Mən Jerry edirəm. >> Bağışlayın? 763 00:54:13,000 --> 00:54:15,000 Bu B-O-R-U-I var. 764 00:54:15,000 --> 00:54:18,000 Oh, tamam. 765 00:54:18,000 --> 00:54:23,000 Mən siyahıda siz görmürəm. 766 00:54:23,000 --> 00:54:26,000 Oh, bu mənada edir, çünki-oh ki, var. 767 00:54:26,000 --> 00:54:31,000 Siz nəzərdə tutulmuş bu isə loop işləməyəcək bilər niyə bir fikir var 768 00:54:31,000 --> 00:54:38,000 kimi şərti ilə yazılı? 769 00:54:38,000 --> 00:54:43,000 Siz onu sonra bütün məhsulları istədiyiniz kimi [Jerry] Siz demək the-? 770 00:54:43,000 --> 00:54:46,000 Bəli, belə ki, biri. 771 00:54:46,000 --> 00:54:49,000 Biz tamamilə doğru olan isə loop, bu məhsulları bütün qoymaq üçün ola bilər. 772 00:54:49,000 --> 00:54:55,000 Bir az daha problemli olan digər şey olsa, bu vəziyyət iş deyil ki. 773 00:54:55,000 --> 00:54:57,000 [Tələbə] Siz çevirmek lazımdır. 774 00:54:57,000 --> 00:55:04,000 Sağ, belə ki, bu vəziyyət heç əvvəlcə biz bu barədə söhbət yolu doğru olmayacaq. 775 00:55:04,000 --> 00:55:08,000 Sonuna 00:55:13,000 lakin biz isə bir şey etmək istəyirəm 777 00:55:13,000 --> 00:55:21,000 ≤ sonunda başlayacaq. 778 00:55:21,000 --> 00:55:24,000 >> Məntiqi ki, bərpa orada var. 779 00:55:24,000 --> 00:55:27,000 Mən bu səhvlər hər zaman qəbul günahkar deyiləm. 780 00:55:27,000 --> 00:55:31,000 [Tələbə] Nə üçün daha az və ya bərabər olmalıdır edir? 781 00:55:31,000 --> 00:55:33,000 Biz var ki, işin Yadınızdadırsa, çünki 782 00:55:33,000 --> 00:55:36,000 yerləşir, orada yalnız bir element idi və biz aşağı idi 783 00:55:36,000 --> 00:55:43,000 və biz sıra yalnız 15 axtarır? 784 00:55:43,000 --> 00:55:47,000 Və əvvəlində və sonunda eyni element idi. 785 00:55:47,000 --> 00:55:50,000 Biz bu halda idarə əmin etmək istəyirəm. 786 00:55:50,000 --> 00:55:54,000 Biz daha düz az idi, əgər 787 00:55:54,000 --> 00:55:58,000 biz yalnız 2-element array aşağı əldə edə bilər. 788 00:55:58,000 --> 00:56:06,000 Sonra biz ki element olsaydı, biz tapa heç vaxt ediyorum ki, ötən element aşağı almışdır. 789 00:56:06,000 --> 00:56:10,000 Siz deyirdilər kimi İndi burada, biz tam olaraq edə bilərsiniz. 790 00:56:10,000 --> 00:56:15,000 Biz bizim isə loop ortasında daxil stuff plopping başlaya bilərsiniz. 791 00:56:15,000 --> 00:56:20,000 Biz orta ci Plop bilərsiniz. 792 00:56:20,000 --> 00:56:24,000 Hesabatları, əgər Biz bütün bu edə bilər 793 00:56:24,000 --> 00:56:30,000 onlara bu do-isə loop çıxarmaq, 794 00:56:30,000 --> 00:56:34,000 ildə Plop onlara 795 00:56:34,000 --> 00:56:39,000 bir az qədər şeyi təmizləmək 796 00:56:39,000 --> 00:56:48,000 və mən irəli getmək və bu versiya saxlaya bilərsiniz. 797 00:56:48,000 --> 00:56:53,000 Və bu nöqtədə biz olduqca yaxın əldə edirik. 798 00:56:53,000 --> 00:56:55,000 Sam. 799 00:56:55,000 --> 00:56:58,000 1/2 - Mən də int orta = ölçüsü var edirəm. 800 00:56:58,000 --> 00:57:01,000 1/2 - bu, ölçüsü var. 801 00:57:01,000 --> 00:57:05,000 Biz xətti dəyişdirmək lazımdır başqa bir şey varmı? 802 00:57:05,000 --> 00:57:10,000 Bu yaxşı tutmaq idi. 803 00:57:10,000 --> 00:57:14,000 >> Ölçüsü nə edir? Biz heç ölçüsü dəyişir? 804 00:57:14,000 --> 00:57:17,000 Bu kimi line saxlamaq üçün, biz ölçüsünü dəyişmək lazımdır. 805 00:57:17,000 --> 00:57:21,000 Biz ölçüsü biz loop üçün ətrafında getmək hər dəfə dəyişmək lazımdır. 806 00:57:21,000 --> 00:57:25,000 Lakin, biz yalnız bir az əvvəl, məsələn, keçən zaman xatırlayıram 807 00:57:25,000 --> 00:57:30,000 və biz 4 başlanğıcı idi 808 00:57:30,000 --> 00:57:33,000 və sonunda 108-dən artıq bütün yol? 809 00:57:33,000 --> 00:57:35,000 Necə orta hesablamaq idi? 810 00:57:35,000 --> 00:57:38,000 Biz ölçüsü istifadə? 811 00:57:38,000 --> 00:57:40,000 Yoxsa başlamaq əvəzinə son istifadə? 812 00:57:40,000 --> 00:57:42,000 Bu sonu əvvəlindən arasında fərq var. 813 00:57:42,000 --> 00:57:50,000 Məhz, və məhz mən Charlotte ki yazmaq lazımdır? 814 00:57:50,000 --> 00:57:52,000 Yalnız son - başlayacaq. 815 00:57:52,000 --> 00:57:55,000 1 - Siz nə etmək lazımdır deyil 816 00:57:55,000 --> 00:57:58,000 1 sonunda daxil və artıq başlamaq edilmişdir - bu çünki. 817 00:57:58,000 --> 00:58:00,000 [Nate] Böyük, siz tamamilə doğru istəyirik. 818 00:58:00,000 --> 00:58:03,000 Çünki 1 - 1 - daxil edilmişdir Biz nə yoxdur 819 00:58:03,000 --> 00:58:08,000 və biz son dəyişən başlamaq zaman düşür. 820 00:58:08,000 --> 00:58:11,000 >> Mən bu xətt mənada var syntactically etmək lazımdır başqa bir şey varmı? 821 00:58:11,000 --> 00:58:13,000 [Tələbə] Plus. >> Başlamaq Plus başlayır? 822 00:58:13,000 --> 00:58:15,000 Sonda [Tələbə]. 823 00:58:15,000 --> 00:58:20,000 Yalnız yarım uzunluğu hesablanır, çünki. 824 00:58:20,000 --> 00:58:26,000 Siz başlamaq əlavə etmək lazımdır. 825 00:58:26,000 --> 00:58:31,000 [Nate] Bu bizim üçün nə hesablamaq olar? 826 00:58:31,000 --> 00:58:35,000 Biz loop bu ilk iteration haqqında son barədə düşünüyorsanız, 827 00:58:35,000 --> 00:58:40,000 son durum indeksi 7 olacaq. 828 00:58:40,000 --> 00:58:43,000 Başlamaq mövqe 0 edir. 829 00:58:43,000 --> 00:58:47,000 Unutmayın, biz aradığınız 830 00:58:47,000 --> 00:58:52,000 mövqe 3 və ya 4 mövqe. 831 00:58:52,000 --> 00:58:56,000 Biz bu riyaziyyat baxsaq, yalnız bir az daha hiss etmək 832 00:58:56,000 --> 00:59:02,000 burada nömrələri qoymaq, biz, 7, 0 mövcut 833 00:59:02,000 --> 00:59:10,000 belə 7 - 0, sonra / 2 834 00:59:10,000 --> 00:59:19,000 tam bölgüsü 3 ki, edir. 835 00:59:19,000 --> 00:59:26,000 Sonra sonra başlamaq geri əlavə etmək lazımdır? 836 00:59:26,000 --> 00:59:28,000 Biz bu halda deyil. 837 00:59:28,000 --> 00:59:31,000 Başlamaq 0 çünki ilk iteration, bu, gözəl olacaq. 838 00:59:31,000 --> 00:59:36,000 Amma biz irəliləyiş kimi, biz lazım olan bütün yalnız həqiqətən etmək 839 00:59:36,000 --> 00:59:42,000 sonu - başlayacaq / 2. 840 00:59:42,000 --> 00:59:46,000 Var bir başqa oyun burada və məhz üstün biridir. 841 00:59:46,000 --> 00:59:49,000 [Tələbə] biz parantez lazımdır? 842 00:59:49,000 --> 00:59:53,000 [Nate] Məhz, biz bu parantez qoymaq yoxsa çünki ki, 843 00:59:53,000 --> 00:59:58,000 sonra bu xətt əvəzinə təfsir olunacaq 844 00:59:58,000 --> 01:00:09,000 (sonu) kimi - (başlayacaq / 2), biz mütləq istəməyən. 845 01:00:09,000 --> 01:00:11,000 O üstün qaydaları üçün Watch out. 846 01:00:11,000 --> 01:00:15,000 [Tələbə] Nə üçün son deyil + başlayır? 847 01:00:15,000 --> 01:00:17,000 Niyə bu son deyil + başlayır? 848 01:00:17,000 --> 01:00:19,000 [Tələbə] Nə o deyil? 849 01:00:19,000 --> 01:00:24,000 Nə + olar? 850 01:00:24,000 --> 01:00:26,000 Mən haklýsýn edirəm. 851 01:00:26,000 --> 01:00:28,000 [Tələbə] Əgər orta Çünki? 852 01:00:28,000 --> 01:00:31,000 [Nate] Axırıncı + başlamaq, siz tamamilə doğru istəyirik. 853 01:00:31,000 --> 01:00:34,000 Wow, mən tamamilə goofed. Haklýsýn. 854 01:00:34,000 --> 01:00:39,000 Biz minus edirdilər, biz da geri başlamaq əlavə etmək istəyirəm ki, 855 01:00:39,000 --> 01:00:43,000 Bu halda, siz, biz iki orta etmək istəyirəm ki, çox sağ edirik 856 01:00:43,000 --> 01:00:45,000 biz onlara çıxmaq fərqli olaraq, əlavə etmək istəyirəm. 857 01:00:45,000 --> 01:00:49,000 [Tələbə] Siz son əgər O, həmçinin iş olardı - başlayacaq / 2 + başlayır. 858 01:00:49,000 --> 01:00:55,000 Biz-Mən inanıram əgər edərdim. 859 01:00:55,000 --> 01:01:00,000 >> Məsələn, biz başlamaq axtarır, əgər, 860 01:01:00,000 --> 01:01:04,000 və biz burada artıq keçdikdə 861 01:01:04,000 --> 01:01:08,000 15 edir. 862 01:01:08,000 --> 01:01:12,000 İndi başlamaq mövqeyi 2 edir. 863 01:01:12,000 --> 01:01:15,000 Axırıncı mövqe 7 edir. 864 01:01:15,000 --> 01:01:21,000 Biz onlara çıxmaq, biz 5 almaq. 865 01:01:21,000 --> 01:01:24,000 2 ki, uçurum, biz 2 almaq. 866 01:01:24,000 --> 01:01:27,000 Və sonra biz 2-geri əlavə 867 01:01:27,000 --> 01:01:30,000 və 4-cü mövqe bizə olur 868 01:01:30,000 --> 01:01:33,000 burada olan olan orta edir. 869 01:01:33,000 --> 01:01:36,000 [Tələbə] biz wrapping qayğı lazımdır? 870 01:01:36,000 --> 01:01:39,000 Nə mənada biz wrapping qayğı lazımdır? 871 01:01:39,000 --> 01:01:43,000 Əgər məbləğ ya arasında fərq 872 01:01:43,000 --> 01:01:45,000 bunu necə asılı olaraq hətta sayı deyil. 873 01:01:45,000 --> 01:01:49,000 Sonra kompüter onu 2,5 zaman olub qarışıq olur; 874 01:01:49,000 --> 01:01:52,000 Siz sol və ya orta olan müəyyən etmək üçün sağa hərəkət edirsiniz? 875 01:01:52,000 --> 01:01:54,000 Var. 876 01:01:54,000 --> 01:01:56,000 Ki, tam bölgüsü ilə çıxır 877 01:01:56,000 --> 01:01:59,000 biz heç bu üzən point nömrələri almaq yoxdur. 878 01:01:59,000 --> 01:02:01,000 Biz decimal almaq heç vaxt. 879 01:02:01,000 --> 01:02:04,000 Bu tamamilə ləğv edir. 880 01:02:04,000 --> 01:02:08,000 Bir kompüter iki int dəyişənlərin bölmək varsa 881 01:02:08,000 --> 01:02:11,000 və, bir 7, digər 2 882 01:02:11,000 --> 01:02:13,000 Bir nəticə kimi 3,5 almaq deyil. 883 01:02:13,000 --> 01:02:16,000 3 olacaq. 884 01:02:16,000 --> 01:02:19,000 Qalan atılır olacaq, belə ki, səmərəli var yuvarlaqlaşdırma- 885 01:02:19,000 --> 01:02:24,000 uşaqlar riyaziyyat ilə tanış olduqda bir dəyirmi deyil, mərtəbə, 886 01:02:24,000 --> 01:02:27,000 burada tamamilə decimal imtina 887 01:02:27,000 --> 01:02:31,000 və siz mahiyyətcə yaxın onu aşağı truncating edirik 888 01:02:31,000 --> 01:02:33,000 yaxın bütün nömrəsinə bütün mövqe. 889 01:02:33,000 --> 01:02:38,000 [Tələbə] 7 elementlər bir sıra varsa Lakin sonra problem var 890 01:02:38,000 --> 01:02:43,000 sonra avtomatik olaraq yerine 4-orta 3-cü element həyata edir. 891 01:02:43,000 --> 01:02:46,000 Necə ki, məşğul edirsiniz? 892 01:02:46,000 --> 01:02:49,000 Bu problem, çünki biz 7 bir sıra olsa, 893 01:02:49,000 --> 01:02:54,000 əvəzinə 4 3-cü seçmək olardı. 894 01:02:54,000 --> 01:02:56,000 Bir az daha izah edə bilərsinizmi? 895 01:02:56,000 --> 01:02:59,000 [Tələbə] Çünki sonra 4-cü element 7 elementlər varsa, 896 01:02:59,000 --> 01:03:04,000 hüququ, orta olardı? 897 01:03:04,000 --> 01:03:07,000 Baxmayaraq, dizine sıfır olan haqqında Sizin şərhiniz saxla. 898 01:03:07,000 --> 01:03:10,000 [Tələbə] Bəli, belə mövqe 3. Yəni orta olardı. 899 01:03:10,000 --> 01:03:12,000 Bəli. 900 01:03:12,000 --> 01:03:16,000 Oh, tamam. Mən sizə demək nə oldu. 901 01:03:16,000 --> 01:03:19,000 Biz bu bütün anlayışı istifadə almaq kimi, qəribə növü var 902 01:03:19,000 --> 01:03:22,000 ondalık kurtulmanın. 903 01:03:22,000 --> 01:03:26,000 Böyük bir nöqtə var. 904 01:03:26,000 --> 01:03:30,000 Bu bitirmək edək. 905 01:03:30,000 --> 01:03:32,000 Biz orta hesablanmış etdik. 906 01:03:32,000 --> 01:03:37,000 >> Biz iynə orta dəyərinə bərabər olub olmadığını görmek üçün test edirik. 907 01:03:37,000 --> 01:03:41,000 Biz onu aşkar ki, çap edirik, lakin həqiqətən, biz bu vəziyyətdə nə istəyirsiniz? 908 01:03:41,000 --> 01:03:46,000 Biz gördük ki, biz zəng biz onu aşkar bildirmek istəyirəm. 909 01:03:46,000 --> 01:03:49,000 Biz boolean tipli funksiyası olan bir funksiyası var. 910 01:03:49,000 --> 01:03:54,000 Getmək üçün hazır ki, biz funksiyası zəng üçün siqnal yolu 911 01:03:54,000 --> 01:03:58,000 biz "Hey, bu doğrudur.", deyə edilir 912 01:03:58,000 --> 01:04:00,000 Biz, Kevin ki edərdiniz? 913 01:04:00,000 --> 01:04:02,000 Siz baş noddede edirik. >> [Kevin] et qaytarılması doğru. 914 01:04:02,000 --> 01:04:06,000 [Nate] Məhz, doğru geri. 915 01:04:06,000 --> 01:04:12,000 İndi, bərabər deyil, əgər biz sol yarım baxmaq olar? 916 01:04:12,000 --> 01:04:16,000 Hər hansı bir fikir? 917 01:04:16,000 --> 01:04:18,000 Stella, hər hansı bir fikir? 918 01:04:18,000 --> 01:04:21,000 Siz sonuna yeni vəzifəyə təyin etmək lazımdır. 919 01:04:21,000 --> 01:04:23,000 Bəli. 920 01:04:23,000 --> 01:04:29,000 Sonunda - Beləliklə, biz orta mövqeyi var. 921 01:04:29,000 --> 01:04:33,000 Böyük. 922 01:04:33,000 --> 01:04:36,000 Biz sonuna yeni vəzifəyə təyin etmək lazımdır 923 01:04:36,000 --> 01:04:38,000 sol yarım baxmaq. 924 01:04:38,000 --> 01:04:41,000 Bu Ü əvvəl danışdıq nə idi 925 01:04:41,000 --> 01:04:44,000 Mən bu misal geri davam. 926 01:04:44,000 --> 01:04:50,000 Mən burada başlamaq və sonra sonunda burada bütün yol var. 927 01:04:50,000 --> 01:04:53,000 >> Biz 15 arıyorsanız Yenə və orta, 16 edir 928 01:04:53,000 --> 01:04:56,000 və biz Bağışlayın, 16 böyükdür "həyata keçirir. 929 01:04:56,000 --> 01:04:59,000 Biz sol yarım hərəkət etmək istəyirəm. " 930 01:04:59,000 --> 01:05:02,000 Biz, sonra 15-sonuna hərəkət olacaq 931 01:05:02,000 --> 01:05:06,000 və biz orta bir üz alaraq bunu 932 01:05:06,000 --> 01:05:09,000 və yeni sonuna kimi yaradılması. 933 01:05:09,000 --> 01:05:12,000 Biz sağ yarım baxmaq istəyirsinizsə Eyni zamanda, necə ki, biz nə olardı? 934 01:05:12,000 --> 01:05:14,000 Siz bir fikir var? 935 01:05:14,000 --> 01:05:22,000 [Tələbə] Siz + 1 orta başlayacaq seçin. 936 01:05:22,000 --> 01:05:24,000 [Nate] Böyük. 937 01:05:24,000 --> 01:05:29,000 İndi halda, biz bir şey tapa olmayan 938 01:05:29,000 --> 01:05:32,000 bizim üçün qəbul qayğı almaq deyil? 939 01:05:32,000 --> 01:05:36,000 Daniel, bizim üçün qayğı almaq deyil? 940 01:05:36,000 --> 01:05:38,000 [Daniel] saylı 941 01:05:38,000 --> 01:05:40,000 [Nate] biz bütün array vasitəsilə və biz bir şey tapmasanız, 942 01:05:40,000 --> 01:05:42,000 yerləşir ki, qayğı olacaq, ya ona qayğı lazımdır? 943 01:05:42,000 --> 01:05:44,000 [Daniel] Bu isə vəziyyəti. 944 01:05:44,000 --> 01:05:48,000 [Nate] Bəli, isə vəziyyət tam. 945 01:05:48,000 --> 01:05:51,000 Biz bir şey tapmasanız, əgər bütün array keçir qayğı olacaq. 946 01:05:51,000 --> 01:05:53,000 Bu isə loop başa çatacaq. 947 01:05:53,000 --> 01:05:56,000 Biz bu vəziyyəti qarşılaşdıqları heç vaxt 948 01:05:56,000 --> 01:06:03,000 və biz yalan ola bilər. 949 01:06:03,000 --> 01:06:10,000 Biz də bu kimi burada bu halda tərk edə bilər 950 01:06:10,000 --> 01:06:14,000 bu bəyanatı doğru olunarsa, çünki 951 01:06:14,000 --> 01:06:16,000 və funksiyası, qayıdacaq 952 01:06:16,000 --> 01:06:21,000 və biz bu nöqtədə abort bu funksiya mahiyyətcə rəftar 953 01:06:21,000 --> 01:06:24,000 biz doğru dönürlər. 954 01:06:24,000 --> 01:06:28,000 Amma nə bu struktur ilə burada olur? 955 01:06:28,000 --> 01:06:34,000 Bu tamamilə iş, və ya orada bəzi məntiqi qüsur var mı? 956 01:06:34,000 --> 01:06:37,000 >> Orada bəzi məntiqi qüsur qurmaq oldu yolu ilə var. 957 01:06:37,000 --> 01:06:40,000 Bu nə ola bilər? 958 01:06:40,000 --> 01:06:43,000 [Tələbə] niyə lazımdır - və + 1s? 959 01:06:43,000 --> 01:06:47,000 Bu yeni sol yarısı və sağ yarım olmaq üçün array yaradır. 960 01:06:47,000 --> 01:06:51,000 [Tələbə] Amma nə olmadan bunu edə bilər - 1s və + 1s? 961 01:06:51,000 --> 01:06:53,000 [Nate] Biz orta bərabər müəyyən edə bilər? 962 01:06:53,000 --> 01:07:04,000 Nə haqqında problematik ola bilər? 963 01:07:04,000 --> 01:07:08,000 [Tələbə] Mən artıq yoxlanılmış ki, bir dəyər kontrol edirik, çünki səmərəsiz var danışarlar. 964 01:07:08,000 --> 01:07:11,000 [Nate] Məhz, belə Sam tamamilə haqlıdır. 965 01:07:11,000 --> 01:07:15,000 Siz son qoydu və orta bərabər başlamaq edin 966 01:07:15,000 --> 01:07:18,000 əvəzinə - 1 və reflectively + 1, 967 01:07:18,000 --> 01:07:22,000 gələcəkdə müəyyən məqamda yenə orta yoxlanılması çıxacağıq. 968 01:07:22,000 --> 01:07:26,000 [Tələbə] Mən kimi bir şey var idi sonra pset başlamış və 969 01:07:26,000 --> 01:07:30,000 Ü Mən + 1 unuttum, və sonsuz loop yapışdırılmalıdır olmuşlar. 970 01:07:30,000 --> 01:07:34,000 Sağ, bir nöqtədə, çünki siz başlamaq və bitirmək almaq üçün gedir heç etdiyiniz 971 01:07:34,000 --> 01:07:39,000 həqiqətən üst-üstə üçün. 972 01:07:39,000 --> 01:07:41,000 Cool. 973 01:07:41,000 --> 01:07:44,000 Var daha bir məntiqi qüsur var ki, bu mütləq olmalıdır ki, 974 01:07:44,000 --> 01:07:48,000 bir başqa varsa. 975 01:07:48,000 --> 01:07:55,000 Nə ola bilər? 976 01:07:55,000 --> 01:07:59,000 >> -Əgər siz, Kevin görmək bir başqa deyil əgər səbəbi nədir? 977 01:07:59,000 --> 01:08:02,000 [Kevin] Bəli, siz son nöqtəsi dəyişən etdiyiniz çünki. 978 01:08:02,000 --> 01:08:05,000 [Nate] Exactly. 979 01:08:05,000 --> 01:08:07,000 Biz son nöqtə dəyişən edirik 980 01:08:07,000 --> 01:08:12,000 və bu-we'll kimi yazılı əgər arasında boşluq etmək 981 01:08:12,000 --> 01:08:14,000 bu halda yoxlayacaq. 982 01:08:14,000 --> 01:08:18,000 Bu müvəffəqiyyətlə Bu halda, bu funksiya abort həyata olacaq. 983 01:08:18,000 --> 01:08:21,000 Sonra, bu sonrakı halda kontrol 984 01:08:21,000 --> 01:08:24,000 bu başarılı Əgər, bu, son nöqtə ayarlar 985 01:08:24,000 --> 01:08:28,000 və sonra davam və bu halda yoxlayacaq. 986 01:08:28,000 --> 01:08:31,000 Ancaq bu nöqtədə, biz yoxlanılması davam istəmirəm. 987 01:08:31,000 --> 01:08:35,000 Xoşbəxtlikdən, biz, burada orta yenidən deyil 988 01:08:35,000 --> 01:08:39,000 və bu halda uğur qazanmaq deyil ki, bilirik. 989 01:08:39,000 --> 01:08:44,000 Amma biz mütləq başqa qoymaq istəyirik orada əgər 990 01:08:44,000 --> 01:08:48,000 baxmayaraq ki, güc-bu halda 991 01:08:48,000 --> 01:08:52,000 biz orta düzəliş deyilik ildən ki, fərq edə bilər? 992 01:08:52,000 --> 01:08:54,000 Xeyr, çünki bu hallarda bütün deyil. 993 01:08:54,000 --> 01:08:58,000 Yenə mənim pis. 994 01:08:58,000 --> 01:09:01,000 Biz, hesab edirəm ki, bu başqa əgər ehtiyac yoxdur. 995 01:09:01,000 --> 01:09:05,000 Biz bir cəhd və run və nə görmək verə bilər. 996 01:09:05,000 --> 01:09:08,000 Tikinti, bir səhv meydana gəldi. 997 01:09:08,000 --> 01:09:12,000 Mən burada bu b və e-nin tərk çünki yəqin. 998 01:09:12,000 --> 01:09:14,000 Mən üst həmin qədər bir daha var? 999 01:09:14,000 --> 01:09:16,000 Bu kimi baxmaq deyil. 1000 01:09:16,000 --> 01:09:20,000 Biz kiçiltmək qurmaq, 1001 01:09:20,000 --> 01:09:24,000 orada gedir, belə ki, indi biz, 15 axtarış əgər 1002 01:09:24,000 --> 01:09:28,000 bəli. 1003 01:09:28,000 --> 01:09:30,000 Mənə daxil zoom edək 1004 01:09:30,000 --> 01:09:33,000 15, bəli. Biz daha çalıştırabilirsiniz. 1005 01:09:33,000 --> 01:09:36,000 , Mənbə kodu yükleme, tikinti çalışır. 1006 01:09:36,000 --> 01:09:41,000 Biz, 13 kimi bir şey üçün axtarış edə bilərsiniz 1007 01:09:41,000 --> 01:09:45,000 və biz çap bir şey, belə ki, bu tapıntı deyil deyil bizim üçün. 1008 01:09:45,000 --> 01:09:51,000 Bizim siyahısına deyil, çünki O, böyük deyil. 1009 01:09:51,000 --> 01:09:53,000 >> Biz həyata indi. 1010 01:09:53,000 --> 01:09:55,000 Bu həftə üçün olacaq. 1011 01:09:55,000 --> 01:10:00,000 Qoşulması və sonra görmək üçün təşəkkür edirik. 1012 01:10:00,000 --> 01:10:02,000 >> [CS50.TV]