>> [МУЗЫКА]
>> Гэта CS50-- Harvard ўвядзенне універсітэта
да інтэлектуальнай прадпрыемстваў інфарматыкі
і мастацтва праграмавання.
А мяне завуць Дэвід малая і Я проста падумаў сёння раніцай,
гэта было дзіўна 20 гадоў сёння так як я ў апошні раз сядзеў, дзе вы, хлопцы, цяпер рабіць.
>> Гэта быў 1996.
Я быў на другім курсе, і я прымаў CS50 ў першы раз.
І я нават не ўстаў нерв ўзяць яго сам першы год,
збольшага з-за часу.
інфарматыка мне быў накшталт як, Мех.
Я быў трохі вылюдка расце , Але я на самой справе не
ёсць якія-небудзь інтэлектуальныя цікавасць да таго, з'явіліся
каб быць проста цэлая куча людзі праграмавання ўвесь час.
>> І мне было страшна, калі шчыра.
Курс і інфарматыка падрабязней як правіла, мелі і ў нейкай ступені,
дагэтуль мае такую ​​рэпутацыю поля да беражыцеся, калі толькі таму, што многія з нас
не знаёмыя з ім і ўпэўненыя ў ім.
І гэта на самай справе не было, пакуль я не рабіў пакупкі гэты клас, другакурснік fall--
і нават тады, я толькі паступіў таму што professor--
адзін з першых маіх настаўнікаў, Браян Кернигана цяпер у Princeton--
дазволіў мне ўзяць клас пас пацярпець няўдачу.
І на самай справе, вось чаму сёння мы дазваляем і заахвочваць
студэнтаў прыняць гэты клас сядзеў / unsat.
>> І толькі потым, на канец семестра
я зразумеў, як, нічога сабе, гэта не быў такім незнаёмым полі.
На самай справе, гэта было вельмі пашырэнне правоў і магчымасцяў вобласці,
і больш узбуджальна, асабліва пазней,
як я ўзяў курсы Драматычнае мастацтва 101 і Лацінскай A
а затым у рэшце рэшт, Няпоўная сярэдняя археалогія,
я сапраўды пачынаю бачыць Перасячэння гэтага поля, кампутар
навука, з гуманітарнымі навукамі, натуральныя навукі, мастацтва, медыцына,
і да таго падобнае.
І так гэта тое, што проста так акуратны аб кампутарнай навукі
у канчатковым рахунку, як мы спадзяемся, што вы будзеце see-- з'яўляецца яго дастасавальнасць
да гэтых іншым палях, і як вы можаце прыняць некаторыя з сённяшніх і семестра
ідэі і практычныя навыкі назад у свой уласны дамен,
і на самай справе вывучэння гэтага перасячэння ліберальных мастацтваў і навук.
>> Такім чынам, 73% з вас, калі апошні год якіх-небудзь прыкмет,
ніколі не браў курс CS раней.
Так што калі, як я, вы пачуццё трохі
страшна, або адкрыта вы не сапраўды ўпэўнены, чаму вы нават тут.
Магчыма, вы проста рушылі ўслед некаторыя сябрамі за Сандэрс прама цяпер.
Гэта цалкам нармальна.
Мэта тут заключаецца ў крук вы і запэўніць Вас
што калі вы глядзіце на злева і справа,
вы збіраецеся, каб убачыць аднакласнікаў як мала або столькі ж досведу
што вы самі маглі б мець.
І на самай справе, мы падзелім некаторыя статыстычныя дадзеныя пазней сёння
адносна таго, што дэмаграфія клас, як правіла, падобныя.
>> І, як дадаў reassurance-- і гэта мы маю на ўвазе, так як я ўзяў на працягу
Праз некалькі гадоў у ago-- навучальны план Курса
з'яўляецца this--, што ў канчатковым рахунку пытанні ў гэтым курсе
не так шмат, дзе вы ў канчатковым ўверх адносна вашых аднакласнікаў,
але дзе вы ў тыдзень 11, канец семестр, у канчатковым выніку ў адносінах да сябе
у тыдзень 0, што дзе мы знаходзімся сёння тут.
І гэта тое, што я зразумеў, ўсе гэтыя гады таму.
І я ведаю шмат класы кажуць, што гэта, але гэта
асабліва дакладна ў інфарматыцы.
У рэшце рэшт, гэта поле незнаёмы, як гэта было са мной
і можа быць да вас, на самай справе як раз аб рашэнні праблем.
І як такі, у яго ёсць гэта дастасавальнасць для атрымання іншых палёў.
І на самай справе, калі б мы паспрабавалі пераганяць, што гэта значыць,
гэтае рашэнне праблем па сваёй сутнасці, я мяркую.
Там у input-- так што ўсё гэта з'яўляецца тое, што вы спрабуеце вырашыць.
Там у выхад, які, мы спадзяемся, рашэнне гэтай праблемы.
А потым, як бы мы кажуць у інфарматыцы,
ёсць гэты чорны скрыню ў сярэдні, што вы не абавязкова
павінны клапаціцца аб тым, як яна працуе.
Вы ў рэшце рэшт, самі маглі б рэалізаваць тое, што ўнутры гэтай скрынкі.
Але для сённяшніх мэтаў і больш як правіла, у жыцці, усё, што вы клапоціцеся аб
у тым, што гэтыя праблемы вырашаюцца атрымаць.
>> І тое, што гэты курс у канчатковым рахунку, аб вывучае
скрыжаванне гэтыя ўваходы і выхады,
і гэтыя так званыя алгарытмы, як мы хутка ўбачым,
якія рэалізуюць тое, што унізе ёсць, капот.
Але гэтыя ўваходы і гэтыя outputs-- што ж гэта на самай справе азначае?
Ну, у рэшце рэшт, нам трэба нейкі спосаб прадстаўлення інфармацыі.
Гэта асабліва дакладна ў кампутары, які, як фантазіі і складана, як
Можа здацца, з'яўляецца даволі нямым прылада.
Ці патрабуецца ад electricity-- кабель або акумулятар, як input--
а затым ён вырабляе некаторыя preprogramed адказы на экране.
>> Але як жа мы атрымліваем з ад пачатку да канца там?
Ну, што праблема павінна быць вырашана?
Ну, можа быць, мы маглі б, у пачатак любога семестра,
паспрабаваць прыняць удзел ў пакоі, як гэта.
Так што я мог бы зрабіць, як адзін, два, тры.
Ці, можа быць, калі б я гэта зрабіў да выгляду сачыць
з myself-- сачыць за things-- Я мог хутка бегчы з пальцаў.
Так што я мог бы проста зрабіць хэш marks-- адзін чалавек, два, тры, чатыры, пяць, шэсць,
сем, восем.
І ўсе мы, напэўна, зрабіў гэта, няхай гэта будзе на вашых руках
ці на аркушы паперы.
І гэта на самай справе проста што называецца унарный notation--
дзе, калі ў вас ёсць толькі адна літара ў вашым алфавіце, адзін або хэш
адзнака ў дадзеным выпадку, для кожнага уваход вы хочаце падлічыць,
вам трэба скласці адну з іх letters-- адзін з гэтых марак.
>> Добра.
Гэта ўсё выдатна і добра, і не ўсе, што складаней.
Але кампутары не ўсе што значна больш складаным.
На самай справе, большасць з вас, верагодна, ведаеце, нават калі вы на самой справе не
лічыцца, што гэта азначае, што кампутары разумеюць толькі нулі
і ones-- так званай двайны сістэме.
Мы, людзі, наадварот, настолькі значна больш складаныя пастолькі
як мы разумеем нулі праз дзявятак.
>> Але нават калі двайковы файл, спачатку погляд, не ўсё, што знаёма,
аказваецца, гэта так жа, як сістэмы і ідэі, якія мы ўжо ведаем.
Так, напрыклад, разгледзець гэтае пытанне.
Гэта проста паслядоўнасць знакаў.
І ўсё вы, калі зірнуўшы на яго, напэўна,
не думаю, што нічога 123-- сапраўды цікава там.
Але чаму гэты лік, 123?
Гэта толькі глифов screen-- проста ўзоры
што хтосьці мог бы валачэння або набраны.
Але калі вы падобныя на мяне, вы верагодна, памятаеце з пачатковай школы
што ёсць свайго роду калоны або месца тут.
Там у месца ў сваёй і дзясятнік месца і сто названае месца.
І прычына таго, што гэта 123 і не толькі ўзор з трох знакаў
адбываецца таму, што, вядома ж, калі ёсць адзін у сотні месцы,
вы робіце матэматыку ў 100 разоў адзін, а затым два ў дзесяці свайго месца.
Так што гэта ў 10 разоў 2, а затым тры ў месца з адным і гэта 1 раз 3.
І калі вы дадаеце усе гэтыя ўверх, з Вядома, вы атрымаеце 100 плюс 20 плюс 3.
>> Такім чынам, мы пачалі толькі з малюнкам з symbols-- ў alphabet--
але тады мы вырабім значэнне на гэта шляхам гэтых калон.
Што ж, атрымліваецца, што кампутары сапраўды ня
усё, што адрозніваецца ад вас і мяне.
Але замест таго, каб выкарыстоўваць сілы 10, так, каб speak-- 1, 10, 100, 1000,
10000 месца і так forth-- яны на самой справе
проста выкарыстоўваць паўнамоцтвы 2-- так што адзін, 2, 4, а затым
калі пакласці больш лічбаў, 8, 16, 32, 64, 128, і гэтак далей.
І так гэта тое, як кампутар будзе ўяўляць сабой лік 0,
гэтак жа, як мы, людзі.
>> 0, 0, 0-- і вы можаце здагадацца, какой патэрн з нулёў і адзінак,
калі кампутар можа толькі казаць 0 або 1--, што
карціна будзе прадстаўляць лік, якое мы ведаем, людзі як 1?
Yeah-- 0, 0, 1.
Добра.
Такім чынам, 0, 0, 1, як мы ўяўляем 1, так што вы можаце быць схільныя затым
для прадстаўлення ліку 2, калі ў вас ёсць усе чацвёра ў паказаны месца і месца ў двайковае
у адным месцы, вы можаце сказаць, ну, калі б мы мелі 1 месца ў сваім месцы,
і цяпер мы хочам злічыць да 2, вы можаце
зрабіць гэта і пакінуць гэта быць нулявым.
Але, вядома, гэта не так, як дзесятковая сістэма працуе небудзь.
Калі паставіць лічбу абодва гэтых калон,
вы павінны зрабіць арыфметыку.
Так што колькасць зрабіў я выпадкова толькі прадстаўляюць?
>> Так што гэта 3, таму што ў 2 разы 1 плюс 1 1 раз, вядома ж, дае нам тры.
Так што гэта было б два.
Біт роду перагортваецца, так бы мовіць, як 0 становіцца адным, гэтак жа, як 9 роляў больш
і становіцца 0, калі вы носіце 1.
Тады гэта было б тры курсы.
Four-- Яшчэ адна цікавая рэч адбываецца, калі тыя пралангіраваць
і вы носіце 1, калі можна так выказацца.
Так што гэта, вядома, 4.
>> Але калі вы хутка наперад зараз, што найбольшая колькасць адбываецца
каб быць, што кампутар можа прадстаўляць?
Так што ў гэтым выпадку як раз сем, ці не так?
Таму што ў вас ёсць адзін у чатырох, адзін у два, адзін у адзін.
Так што гэта 4 плюс 2 плюс 1.
Так што дае вам сем.
І на самай справе, гэта было б здацца на першы погляд
што кампутары могуць разлічваць не вышэй за гэтага.
>> Але гэта, вядома, не адпавядае рэчаіснасці.
Што мы, людзі робяць, калі мы хочам разлічваць вышэй, чым як 999?
Проста насіць адну і проста дадаць чацвёртую лічбу налева.
І так на самой справе мы маглі.
Мы маглі б мець восем-х месца і месца 16-га, у
і 32 у названае месца, 64, 128-- і вы можа проста працягваць ісці на да бясконцасці.
Такім чынам, гэтыя нулі і ones-- так званы бінарны система--
гэта тое, што кампутарны навуковец будзе як правіла, называць трохі, або двайковы разрад.
>> Але цяпер, як жа мы атрымліваем ад канцэпцыя або графікі гэтых рэчаў
да фактычнага кампутара?
Мы, здаецца, прапускаючы крок тут.
Ну, адзiны ўваход у канцы дня, на мой ноўтбук тут
гэты паток электраэнергіі.
Нават калі гэта было даўно час, так як вы думалі пра
ці ніколі не думалі пра як працуе электрычнасць,
ёсць электроны, якія праходзяць у сістэму або па-за, і гэта мой выгляд ўводу.
>> Так што, калі гэта ўсё, што мы атрымліваць у якасці ўваходных дадзеных тут,
што мы можам зрабіць з гэтай інфармацыяй?
Ну, мы маглі б думаць аб якасці нуля толькі адсутнасць электрычнасці.
Нішто не flowinw, нічога рухацца, нічога не адбываецца.
Гэта проста па змаўчанні state-- нуль.
Але калі ёсць электрычнасць цячэ, чаму мы проста не адвольна, а на глабальным узроўні
паслядоўна, называем гэта адзін.
>> Так проста не маючы ніякай улады, у нас ёсць нуль, ды ўлада,
мы маем одно-- ніякай улады, ды ўладу.
І такім чынам, выкарыстоўваючы нешта больш фізічны або электронны
мы пачынаем рэалізоўваць гэта паняцце што-то альбо як адзін або нуль.
На самай справе, мы маглі б проста зрабіць гэта тут.
Дык вось, у мяне ёсць не тры, а восем лямпачак, кожная з якіх
мае свой уласны камутатар.
>> І таму, калі я хацеў бы прадставіць лік сем тут,
Я мог бы ўключыць гэтыя тры лямпачкі.
І на самай справе, усярэдзіне мой кампутар мільёны,
мільярды рэчаў, якія проста менш, чым, званыя транзістары,
перамыкачы, якія вы проста ўключаць і выключаць.
Такім чынам, яны big-- адносна big-- перамыкачы ўнутры маёй laptop--
шмат, шмат, шмат, многія іншыя камутатары.
Але ўсе яны робяць гэта менавіта that-- ўключыць нешта, павярніце нешта прэч.
І як такой, кампутар можа ўяўляць сабой, з гэтымі мільёнамі або мільярдамі
транзістараў, шмат і шмат нулёў і адзінак.
І ёсць іншыя апаратныя сродкі, якія да гэтага часу дазваляе захоўваць інфармацыю пра доўгатэрміновую перспектыву,
так што, калі вы цягнеце убудова, вы не страціце яго.
Але гэта гісторыя для іншага дня.
>> Такім чынам, што мы можам зрабіць з гэтымі бітамі?
Мы маглі б проста ўзяць ціск з me--
можа хто-небудзь хоча прыехаць тут і падыме дэма?
Я бачыў гэтую руку ў першую чаргу.
Як цябе клічуць?
Мадан: мадан.
DAVID Малання: мадан, давай ўверх.
Прыемна пазнаёміцца.
Мадан: Прыемна пазнаёміцца.
>> DAVID Малання: Давай так.
Я не прыйдзецца вусны цябе.
Добра.
Дык вось, у нас ёсць, notice-- адзін, two-- мы будзем рэдагаваць што out-- адзін, два, чатыры,
,, Восем, 16 32 64, 128.
Гэта зроблена наўмысна.
Там у восем біт here-- двайковы digits-- нулі і адзінкі.
І трохі карысная адзінка measure-- не так карысная, адзінка вымярэння
на сябе.
Як правіла, вы хочаце, па меншай меры, восем з гэтых рэчаў, а.к.а.
байт.
Такім чынам, мы маем байт бітаў тут.
>> Так што, калі мы хочам, каб кінуць выклік вам, напрыклад, выклаўшы, у двайковай сістэме,
гэта значэнне here-- 42.
Хочаце прыняць ўдар на што?
>> Мадан: [неразборліва].
DAVID Малання: Так, проста націсніце маленькія белыя перамыкачы спераду.
І вы хочаце, каб па літарах з 42, і для захопаў
гэта CS50 стрэс мяч, калі вы атрымаеце гэта.
Добра.
Такім чынам, у вас ёсць 32.
Мы будзем мець патрэбу ў 42.
Так што гэта васьмёрка, так што 40.
І excellent-- вельмі прыгожа зроблена.
Дзякуй.
>> [Апладысменты]
Добра.
Такім чынам, у нас ёсць яшчэ адзін стрэс мяч.
Давайце зробім гэта яшчэ раз, калі мы можам.
Яшчэ адзін добраахвотнік?
Свабодны стрэс мяч, свабодны стрэс мяч.
ДОБРА.
За тут у сярэдзіне, Вы хочаце, каб спусціцца?
Добра.
Я ведаю.
Там мы ідзем.
>> Так што колькасць here-- прыходзяць ўніз.
Як цябе зваць?
>> Davey: Дэйві.
>> DAVID Малання: Дэйві.
ДОБРА.
Падымайся, Дэйві.
Прыемна пазнаёміцца.
І тое, што мы будзем мець вас spell--, калі вы маглі б затрымацца там
толькі для аднаго moment-- з'яўляецца лік 50.
Але, але, але затое, але, гэтыя пачатковай школы магніты па прычыне.
Проста стала крыху больш складана, усё ў парадку?
Там яшчэ восем.
Добра.
Дык што ж мы маем там?
У нас ёсць 32.
Ніца.
32 плюс 16 дае нам 48-- так блізка.
І выдатна.
Віншуем Дэйві, а таксама.
>> [Апладысменты]
>> Добра.
Такім чынам, мы можам зрабіць гэта на працягу ўсяго дня, і ён не атрымлівае ўсё, што значна больш
цікавай і больш складанай задачай.
Але гэта на самай справе point-- як адносна просты
гэта, у рэшце рэшт, якая Кампутар робіць для захоўвання інфармацыі,
захоўваць ўваходы і ў канчатковым рахунку захоўваць або прадстаўляць гэтыя выхады.
Але лічбы самі па сабе не з'яўляюцца усё, што цікава.
>> Так што людзі, некалькі гадоў таму, вырашылі, вы ведаеце, што?
Было б добра, калі кампутары былі не проста
калькулятары для арыфметыкі аперацыі, але на самой справе можа
рабіць рэчы, як апрацоўка тэкстаў, або электронная пошта, або больш сучасныя інкарнацыі
з гэтых відаў тэхналогій.
І таму свет вырашыў адвольна, але паўсюдна,
што калі вы хочаце захаваць капітал Літара А ў кампутары, вы ведаеце, што?
Давайце проста ўсе згодныя з тым, каб захаваць некаторыя мадэлі з нулёў і ones--
bits--, што ў канчатковым рахунку ўяўляе дзесятковы лік 65.
Мы проста ўсе згодныя па гэтым пытанні.
>> 66 будзе прадстаўляць B, 67 будзе прадстаўляць C,
і ёсць згусткі іншых мадэляў нулі і адзінкі, або базавыя лічбы,
што будзе прадстаўляць іншыя лісты да гэтага часу.
Так што калі вы, здаецца, разумова ўбіраюць на імгненне,
Я свядома мірыцца праз I, дзе Н 72 і I 73.
Калі кампутар, то, у кантэксце праграма для апрацоўкі тэкстаў ці электроннай пошты,
выявілі пад капотам, каб мець гэтыя мадэлі bits-- ўзору
бітаў, якія прадстаўляюць 72, затым 73, затым 33--
што магло б гэты заклён ў гэтай праграме?
>> Так што прывітанне, а потым нешта.
Мы не абавязкова ведаць, але на самой справе 33-- ня на графіцы earlier--
быў проста клічнік.
Такім чынам, 72 быў H, 73 я, 33 адбываецца каб быць клічнік да гэтага часу.
Але гэта ўсё выдатна і добра, і на самай справе ў цяперашні час, а не
проста выкарыстоўваць сем ці восем біты, дзякуючы чаму-то
называецца Unicode у супрацьлегласць каб ASCii назад у той жа дзень,
мы на самай справе можам прадставіць яшчэ больш цікавыя персанажы, чым проста
гэта арыгінальны англійская зрушаная літары.
Але мы таксама можам прадставіць нават акуратней такія рэчы, як колеру.
>> Калі вы калі-небудзь чулі акронім RGB, чырвоны, зялёны, сіні, што
проста азначае, што кампутар як правіла, выкарыстоўвае тры набору bits--
некаторы колькасць бітаў, якія ўяўляюць сабой лік за колькі чырвонага вы хочаце,
іншы набор бітаў для колькі зялёны вы хочаце,
і іншы набор нумар для колькі сіняга вы хочаце.
Так што вялікая колькасьць азначае шмат чырвоны, невялікі лік азначае, што няма чырвонага колеру.
І так гэта свайго роду ад сярэдняга значэння тут.
>> Так дайце мне нейкія чырвоныя, дайце мне некаторыя зялёны, і дай мне крыху сіняга колеру.
А калі змяшаць гэтыя тры адцення колеру разам, у гэтым выпадку,
вы атрымаеце гэты цёмны адценне жоўтага або карычневага колеру.
Але гэтая карціна восем плюс восем плюс eight-- так 24 bits--
злева направа, як кампутар будзе прадстаўляць гэты канкрэтны колер.
Зараз гэта проста кропка на экране.
Калі глядзець вельмі блізка на экране тэлевізара вашы кампутар, вы ўбачыце кропкі або пікселі.
І калі ў вас ёсць цэлая сетка пікселяў па гарызанталі і вертыкалі,
ў вас ёсць выявы.
І потым, калі вы бераце малюнак, а затым мыць
паказаць сябе іншы вобраз, іншы вобраз, іншы вобраз, іншы вобраз,
вельмі хутка, вы, вядома, ёсць фільмы.
>> І вось звярніце ўвагу, дзе мы пачалі.
Мы пачалі з гэтых нулёў і адзінак.
Мы працавалі адтуль у дзесятковую колькасці, як мы ўяўляем іх.
Цяпер у нас ёсць літары алфавіту.
Але ў іншых кантэкстах чакаць, мы можам выкарыстоўваць некалькі больш бітаў і ўяўляюць колеру.
Як толькі ў вас ёсць здольнасць прадстаўляць колеру,
ў вас ёсць магчымасць прадстаўляць фатаграфіі і анімацыйныя малюнкі
і іншыя падобныя сімвалы на экране.
І калі ў вас ёсць цэлы букет Выявы аблёту чалавека адразу,
гэта выглядае як кінафільмы, і такім чынам вы атрымліваеце відэа, а таксама.
>> Такім чынам, выкарыстоўваючы гэтыя вельмі простыя прымітывы мы робім
ёсць спосаб прадстаўлення у канчатковым рахунку, усе гэтыя віды сродкаў масавай інфармацыі.
І мы зноў адведзенай ня зноў і зноў, пакуль мы
атрымаць ад самага нізкага ўзроўню на гэтым высокім узроўні.
Так што дае нам гэта агульная ідэя абстракцыі.
Але мы пачалі тут.
>> Вось цяпер, мы маглі б прадстаўляюць у кампутары
нашы ўваходы з нулёў і адзінак, нашы выхады ў нулёў і адзінак,
але тое, што адбываецца ўнутры скрынкі?
Вось дзе кампутар навука становіцца цікавым.
Вось дзе вы на самой справе прынесці ваш ўласныя розумы, каб вынесці рашэнне праблемы.
Цяпер мы можам прадугледзець, для Астатняя частка семестра, так.
Я ведаю, як бінарныя працы.
Я памятаю, як Ascii або Unicode-- адлюстраванне на letters-- работ.
І гэта, безумоўна, варта зразумела, што мы
можа прадстаўляць чырвоны і зялёны і сіні, і ўяўляюць сабой мультымедыя, а таксама.
Але гэта цікавы матэрыял.
Гэта тое, што робіць хто-то здольных вырашаць праблемы.
>> І адна з такіх праблем мы хацелі б зрабіць, на самай справе,
прымае ўдзел, ці робячы гэта алгарытмічных.
І зноў жа, я мог бы зрабіць гэта.
Я мог бы зрабіць адзін, два, тры, чатыры пяць, шэсць, сем, восем дзевяць.
І я мог бы напісаць яго ўніз, каб сачыць за ім.
Але гэта толькі як бы я прадстаўляць інфармацыю.
Ці я мог бы зрабіць гэта faster-- два, чатыры, шэсць, восем, дзесяць, 12, 14, 16, 18, 20,
22-- ён адчувае, як у два разы так хутка, але гэта па-ранейшаму
збіраецца заняць шмат часу.
>> Але атрымліваецца, калі мы выкарыстоўваць яшчэ яшчэ resource-- і сапраўды кампутары
у гэтыя дні ёсць некалькі працэсараў або мозг.
Аказваецца, кампутары могуць рабіць шмат рэчаў адразу,
і на самай справе мы, у гэтым пакоі, можа прадстаўляць менавіта гэта.
>> Так што гэта крыху сацыяльна нязручна, але калі б мяне гумар
усяго за тры крокі працэсу, хай я прашу ўсіх на месцы там проста
ўстаць на імгненне.
Устаньце.
Так што думаць пра сябе, нумар одно-- так што ўсё ў гэтым пакоі,
акрамя тых людзей, якія не зрабілі абавязваюць, думаюць нумар адзін.
Так што ваш нумар прама цяпер.
Гэта першы крок, ці як навуковец або праграміст
як правіла, будзе рабіць, мы будзем каб пачаць адлік з нуля.
Калі найменшая колькасць мы можам ўяўляюць з гэтымі лямпачкамі
роўны нулю, шляхам проста пакідаючы іх ўсё прэч, я мог бы таксама проста
пачаць адлік нуль замест аднаго.
І вось што кампутарныя навукоўцы робяць.
Так крок нуль, ўстаць і думаць пра нумар адзін.
Наступным крокам з'яўляецца this-- пара прэч з нехта стаіць
і дадаць свае колькасці разам.
Выдатна.
>> Так што на дадзены момант часу, літаральна усе хто будзе ўдзельнічаць
думае аб № 2, за выключэннем для аднаго няцотнай чалавека, калі мы маем
няцотная колькасць людзей у пакоі.
А цяпер трэці крок тут будзе быць this-- адзін з вас павінен сесці.
Адзін з вас павінен сесці, і калі вы ўсё яшчэ стаіць,
вярнуцца да першага кроку.
Добра.
Так што ўсё больш і больш людзей павінны сядзець ўніз.
Звярніце ўвагу на тое, што гэта заахвоціла loop-- нейкі цыкл.
Некаторыя з вас, павінна быць няёмка затрымаўся, ходзіць туды-сюды паміж кроку
і два, адзін і два, адзін і два.
Гэта добра.
Наша першая памылка.
Мы будзем мець справу з гэтым.
Добра.
Дазвольце мне паспрабаваць падшпіліць рэчы разам.
>> У тэорыі, толькі адзін чалавек стаіць як усё па-ранейшаму на пары.
Але дазвольце мне паскорыць працэс з людзьмі, усё яшчэ стаіць.
Які нумар вы думаеце?
46.
ДОБРА.
Ідзіце наперад і сесці.
Вы, хлопцы, усё яшчэ стаяць.
Хто ўсё яшчэ стаіць?
Які нумар вы думаеце?
ДОБРА.
>> Такім чынам, мы вернемся да вас.
У задняй частцы?
Што гэта?
22.
OK нехта яшчэ да top-- да?
34.
ДОБРА.
За тут на маім right-- тут?
132, вельмі прыемна.
22?
>> ДОБРА.
А хто яшчэ стаіць?
Сюды?
46, вельмі прыемна.
72.
Я не магу тармазіць нашмат даўжэй.
Так?
30, прыемна.
Сюды?
23?
23.
>> І я думаю, што гэта ўсё акрамя вас, хлопцы, ніякага ціску.
Ой, пачакайце.
28?
Толькі восем.
ДОБРА.
Толькі восем.
Ўніз тут?
30.
23.
24.
18.
Гэта горшае рэалізацыя гэтага алгарытму калі-небудзь.
ДОБРА.
Так што нехта іншы?
Хто-небудзь яшчэ?
ДОБРА.
Яшчэ адзін.
16?
ДОБРА.
16.
Добра.
Так што, калі я не прапусціў хто-небудзь у яркае святло тут, калі я ударыў Enter,
мы ўбачым, алгарытмічных, то Агульная колькасць людзей у Сандэрсам.
Таму што зноў жа, гэта як калі б усе як вы селі, прайшлі свой нумар ад
камусьці яшчэ, камусьці яшчэ, камусьці яшчэ, так што ў тэорыі,
у рэшце рэшт, толькі адно няёмкае чалавек павінен застацца стаяць.
Але гэта нармальна.
Мы паскорылі рэчы ўручную.
Гэта асабліва цяжка зразумець, У дадзеным канкрэтным прасторы.
>> А агульная колькасць людзей, мы думаем, што тут ёсць 546.
Агульная колькасць я перадаў Вучэннем стыпендыятаў,
хто гэта зрабіў стары школа павольны шлях, было 820.
>> [Смяецца]
>> [Апладысменты]
>> Гэта добра.
Так што, вядома, гэта значыць гэтыя памылкі.
І гэта выдатна.
І так думаю, што мы вернемся да гэтага першы раз, калі нешта
Вы пішаце, не абавязкова працаваць.
Гэта здарылася са мной тут.
Але давайце зараз разгледзім, як мы маглі б прымяніць гэтую ж ідэю да нечага
Вы, магчыма, бачылі раней, што гэта старая школа тэхналогія here--
сапраўды вялікая тэлефонная кніга.
І выкажам здагадку, што гэты тэлефон кнігі мае 1000 старонак і 1000 імёнаў
і лічбы ў алфавітным парадку ўнутры яго.
>> Ну, мы маглі б выгляд прымяніць аналагічны Ідэя гэтай самай фізічнай праблемы,
проста выкарыстаў мяне.
Я толькі збольшага падманутым за кошт выкарыстання ўсіх вас
з вялікім і вялікай колькасцю розных працэсараў або мозг выканання некаторага алгарытму.
Але калі гэта проста мала стары мяне, я ўсё яшчэ магу
выкарыстоўваць тую ж самую сутнасць ідэі дзялення і заваёўваючы гэтую праблему
зноў і зноў, у выніку чаго палова з вас, палова з вас, палова з вас, палова з вас,
тэарэтычна трымалі седзячы, пакуль мы не былі пакінутыя, тэарэтычна,
толькі з адным чалавекам.
>> Такім чынам у гэтай старой школе technology-- мы не робім
гэта трэба map-- гэта старыя тэхналогіі школы,
мы маглі б пачаць шукаць для кагосьці як Майк Сміт, ні старонак, ні за адзін раз.
І я бачу, што няма, Майк ня тут.
Я да гэтага часу ў раздзеле A.
У рэшце рэшт, я лічу, я ў раздзеле B.
І гэта algorithm-- крок за крокам інструкцыі.
Пачатак у старонцы пачатку і аднаго у той час, звярніце ўвагу на Майка Сміта.
Ці з'яўляецца гэта correct-- гэта алгарытм або падыход?
>> Так, гэта правільна.
Калі Майк тут, у рэшце рэшт Я вярнуся да яго.
Але гэта не так эфектыўна.
Гэта, відавочна, вельмі павольна.
Так што я магу выкарыстоўваць самыя Тыя ж twosies набліжаюцца.
Я магу зрабіць тое два, чатыры, шэсць, восем, 10, 12.
Гэта ў два разы хутчэй.
Я збіраюся дабрацца да Mike хутчэй, калі ён там.
Гэта правільна?
Так, але я пачуў little-- НЕ.
Цяпер я пачуў, адкуль няма.
Так.
Там ёсць памылка патэнцыйна.
Можа быць, Майк проста выпадкова атрымлівае заціснутай паміж двума старонкамі,
таму што я лячу праз гэта два адначасова.
Такім чынам, па меншай меры, нам патрэбныя выгляд ўмоўнага выпраўлення.
Я павінен сказаць, эй, калі я ударыў кагосьці, чый
імя пачынаецца з T замест S, Я лепш захіліць па меншай меры, адну старонку.
Так глючыць спачатку, але папраўна.
Але ніхто з нас не будзе шукаць Майк Сміт праз 1000 старонак тэлефона ў
замовіць адну старонку за адзін раз.
Што нармальны чалавек збіраецца рабіць?
Вы збіраецеся ісці на S-х гадоў, калі б вы ведалі, дзе S'S.
Вы можаце пайсці прыкладна да сярэдзіны або злёгку зрушаныя ў бок канца.
І я гляджу ўніз тут і Я ў раздзеле M.
Але што вы ведаеце аб гэтай праблеме ў цяперашні час,
што мы не абавязкова ведаць, перш чым з усімі намі проста лічачы сябе
што тое ж самае?
Ну, Майк відавочна збіраецца быць у гэтай палове кнігі
калі ён наогул тут, таму што ён адсартаваны.
>> І такім чынам вы можаце вельмі dramatically--
>> [Задыхаючыся]
>> Я ведаю.
>> [Апладысменты]
>> Гэта на самай справе вельмі лёгка, калі вы робіце гэта ўніз па хрыбетніку там.
Але вы можаце кінуць палова ад вырашэння праблемы.
Цяпер, я застаўся з тым жа problem-- знайсці Mike Smith ў тэлефон book--
але цяпер тэлефонная кніга пачынаецца з M і ідзе да Z, але гэта ўдвая менш.
>> Але гэта тое, што ўражвае.
Гэтак жа, як у тэорыі, вы, хлопцы, калі вы ўсе селі толькі палову, у той час,
праблема значыць удвая менш, удвая менш, зноў і зноў.
Такім чынам, гэтая праблема стала Тая ж праблема, але ўдвая менш.
Зараз гэта праблема 250 стар.
Як толькі я разумею, о, я у раздзеле T выпадкова.
Я зайшоў занадта далёка.
Я магу кінуць, што палова кнігі тэлефона прэч.
Зараз, я ўніз да чвэрць гэтай праблемы.
>> І вы можаце паўтарыць, паўтарыць, паўтарацца да таго часу, у тэорыі, вы не
засталося толькі з адной старонкі.
І калі Майк знаходзіцца на гэтай старонцы, Цяпер я магу вырашыць гэтую праблему.
Але як хутка я вырашыць гэтую праблему?
У першым выпадку, гэта заняло ў мяне як можа быць, 1000 крокаў, каб знайсці Mike Smith.
Гэта, магчыма, прынялі me-- Я ўзяў тэлефонную кнігу
і я пачаў шукаць адна старонка ў той час,
і Майк можа быць 1000 старонак пазней.
>> Другі падыход можа быць бярэ мяне 500 крокаў,
таму што я лячу праз два адначасова.
І трэці падыход, хоць, гэта асабліва магутным.
Але давайце разгледзім, што мы на самай справе зрабіў з гэтым трэцім падыходам.
Я ёсць тое, што я буду называць толькі гэтыя заявы, па адным за раз.
Падніміце тэлефонную кнігу.
Адкрыць у сярэдзіне тэлефоннай кнігі.
Паглядзіце на імёны.
І тады ўсё становіцца трохі больш інтэлектуальна цікавым,
калі да гэтага часу проста.
Калі Сміт з'яўляецца адным з Імёны на гэтай бягучай старонцы,
затым зрабіць што-то ўмоўна.
Гэта падобна на скрыжаванні дарог.
Патэлефануеце Майк.
Калі Майк сярод імёнаў на гэтай старонцы, называецца Mike.
Але толькі зрабіць лінію чатыры, калі лінія дрэва, калі вы будзеце, праўда.
Адказ на гэтае пытанне, так.
>> Інакш, калі Сміт раней у book-- Іншымі словамі, калі я знаходжуся ў раздзеле M
і я шукаю каго-небудзь левы, то што я павінен рабіць
нешта вельмі падобныя.
Тады я павінен адкрыць да сярэдзіны левай палове кнігі.
Так ідзіце налева, а затым вярнуцца да кроку два.
Паглядзіце на імёны там.
>> Такім чынам, іншымі словамі, зрабіць тое ж самае, але па праблеме, якая была ў два разы.
Вы ведаеце, што яшчэ?
Калі Сміт у кнізе пазней заснаваны на старонцы я гляджу,
адкрыты для сярэдзіны правая палова кнігі
а затым зноў вярнуцца да другога кроку, else--
ёсць чацвёрты магчымасць тут.
Майк альбо тут, альбо налева або направа ці не.
І тут мы лепш разгледзець гэтае пытанне.
І на самай справе, калі вы калі-небудзь меў ваш кампутар проста аварыі на вас,
што часам, але не заўсёды, Вынік проста чалавека праграміст не
разумеючы, аб страляць, ёсць на самай справе гэта чацвёрты сцэнар.
І калі вы не пішаце код для апрацоўкі гэтага сцэнара,
Часам вы не ведаеце, што кампутар можа зрабіць.
І на самай справе праграма можа прывесці да збою.
>> Але ў гэтым выпадку, я думаў, пра гэта, і я сказаў, яшчэ кінуць паліць,
таму што гэта чацвёрты лагічны магчымы сцэнар.
Цяпер, давайце проста дадаць некаторыя слоўнікавы запас, таму мы
можа пачаць, каб кінуць вакол тэрмінаў, у астатнім даволі інтуітыўна.
Усе рэчы, якія я проста выдзелены жоўтым колерам тут,
Я проста да функцыі або працэдуры.
Яны проста выгляд дзеянняў.
Так што забраць, адкрыты для, паглядзіце на, тэлефануйце, адкрыта, адкрыта,
quit-- гэта толькі дзеянні, ці мы будзем называць іх больш фармальна, функцыі.
>> Між тым, у цяперашні час у жоўтым колеры, Я выдзеліў рэчы
that-- давайце проста пачаць называць іх ўмовы або філіялы.
Гэта кропкі прыняцця рашэння, дзе Вы маглі б ісці па гэтым шляху, такім чынам,
або некаторы іншы накірунак да гэтага часу.
Так што тыя будуць створаны ўмовы.
І зараз гэты трохі спрактыкаваней.
Давайце назавем гэтыя пытанні Лагічныя выразы,
пасля таго, як нехта з прозвішчам Bool.
>> І гэта лагічны выраз гэта проста нешта
што гэта не сапраўдным або ілжывым, так ці не.
Так што гэта пытанне, адказ на вас клапаціцца аб тым, каб у стане
зрабіць decision-- атрымаць назад адказ, а затым ісці налева або направа, ці нешта
то зусім іншае.
>> І тады, нарэшце, гэтыя Лініі here-- вярнуцца
да другога кроку, вярнуцца да этапу two-- мы маглі б
рэалізаваць гэтую ідэю па-рознаму.
І тады тыя з вас вопыт праграмавання мог бы зрабіць
ці можа сабе рабіць гэта па-іншаму.
Але для сённяшніх мэтаў, гэта проста ідэя, што мае значэнне.
Гэта тое, што индуцируя мы звычайна называем
loop-- нейкі цыкл, таму што гэта прымушае мяне зрабіць нешта зноў.
>> Так што цяпер, давайце проста разгледзім наколькі добра гэты алгарытм.
Гэта правільна.
Калі Майк ў кнізе, гэта адзін з гэтыя чатыры scenarios-- зноў і зноў
і зноў, мы знойдзем яго.
Але наколькі добра гэта?
Ну, мы не маем каб быць занадта фармальным тут.
Але давайце проста сюжэт нешта, х і у, каб атрымаць
пачуццё формы гэтай праблемы.
>> На восі абсцыс тут памер маёй праблемы.
І яны ў-вось тут будзе час, каб вырашыць.
Так што, магчыма, гэта колькасць старонак.
Можа быць, гэта секунды або старонка turns-- б там ні было.
Аднак вы хочаце падлічыць гэта тое, што гэтая карціна будзе прадстаўляць.
І гэта першы алгарытм, я збіраюся апісаць, як толькі па прамой лініі.
Калі ёсць п старонак тэлефонная кніга, то яна
можа ўзяць мяне так шмат а п крокаў, каб знайсці Майк.
Калі Verizon або тэлефоннай кампаніі дадае яшчэ адну старонку ў наступным годзе,
гэта можа заняць мне яшчэ адзін step-- яшчэ адна адзінка часу, каб знайсці Майк.
Такім чынам, ёсць толькі гэта адзін да аднаго стаўленне.
Гэта нахіл прамой лініі.
>> У той жа час, што другі algorithm-- калі я
збіраецца два на два time--, чатыры, шэсць, восем, ці double--
прайшоўшы праз старонкі ў два разы у той час, два ў той час,
гэта ўсё ж такі прамая.
Там цяпер адзін да двух стаўленне, але толькі крыху ніжэй.
Так што, калі ёсць гэта шмат старонак на графіцы тут у жоўтым,
якія маглі б узяць мяне гэта шмат захадаў або секунд,
у адваротным выпадку ён збіраецца ўзяць мяне удвая больш, чым на чырвонай лініі.
>> Але зялёная лінія з'яўляецца рэальным вынас.
Гэта тое, што мы ў цэлым выклікаць logorithm-- часопіс
п, дзе п лік старонак.
Але гэта форма, якая мае значэнне сёння, таму што мы не маем
нават думаць аб пабудове кропак.
>> Падумайце аб тым крайнім выпадку.
Выкажам здагадку, што Verizon заўтра падвойвае колькасць старонак у гэтай тэлефоннай кнізе,
ад 1000 да 2000 чалавек.
У першым алгарытме, я можа марнаваць Дадатковыя 1000
крокі шукае Майк, толькі таму, што Verizon ў два разы памер кнігі.
Другі algorithm-- гэта можа вазьміце мяне дадатковыя 500 крокаў.
больш за 1000 старонак, я хаджу два за time-- яшчэ 500 крокаў, каб знайсці Майк.
>> Але трэці алгарытм гэта свайго роду магічнае.
Verizon падвойвае лік старонак ад 1000 да 2000,
але колькі яшчэ крокаў робіць ён узяць мяне шукаць Майк?
Гэта ўсяго толькі адзін, таму што я магу проста разарваць тэлефоннай кнізе яшчэ раз
ад праблемы 2000 гэтую старонку 1000 старонак праблема, і вуаля.
Я ўзяў масіўны кавалак з яго.
>> І калі вы ідзяце сапраўды экстрэмальны, Выкажам здагадку, што ў тэлефоннай кнізе
кампанія павінна была нешта вар'ят, як тэлефонная кніга 4 млрд стар.
Ну, колькі крокаў гэта можа заняць каб знайсці Майка Сміта ў 4 мільярды
старонка тэлефоннай кнігі?
Гэта вялікі лік, але ўсяго 4 млрд 2 млрд да 1 млрд да 500 млн,
250 million-- яшчэ гучыць як вялікіх лікаў,
але я вельмі хутка атрымліваць меншыя значэння.
>> І на самай справе, калі я раблю матэматыку Добра, я магу толькі падзяліць 4 мільярды
прыкладна на 32 раз, перш чым Я атрымліваю ўніз толькі адзін.
Так што, калі тэлефонная кніга была 4 доўгія мільярдаў старонак, не склала вялікай працы.
На працягу некалькіх секунд, можа быць, 32 секунд, я мог бы падзяліць яго напалову
і ў канчатковым выніку знайсці Майк або зрабіць выснову, што ён не існуе.
І гэта сутнасць algorithm-- добры алгарытм.
І гэта адна з Мэты класа, як гэта,
спрабуе высветліць, як я вырашыць праблему не толькі правільна,
якога я ведаў, як зрабіць гэта адзін старонка на time--, але правільна і добра.
Як мне стварыць добры вырашэння праблем?
Так што давайце момант тут і даць вам сэнс цяпер
з CS50 курс ўвесці ў тым: супрацоўнікі ў некалькіх курса.
Незадоўга да 2:00, мы будзем кароткі перапынак
так што тыя з вас Хто такія могуць хадзіць па крамах
качка, і ўзяць паглядзець на нейкі іншы клас
і глядзець на астатняй частцы гэтага онлайн.
Але цяпер, дазвольце мне прадставіць CS50, сам клас,
і, у прыватнасці, што з'яўляецца новым.
>> Такім чынам, вясной мы правёў зусім трохі time--
Персанал Курс і я-- мыслення пра тое, што менавіта мы хочам быць CS50,
і вярнуцца да першага прынцыпы, так бы мовіць,
каб разгледзець, што менавіта мы хочам гэты курс, каб выглядаць і быць
як для сваіх студэнтаў.
І вы ўбачыце ў задачы ўсталяваць нуль, а, запрашэнне
каб зірнуць на што URL, які абагульняе
некаторыя з матывацый ззаду наступныя характарыстыкі падзення 2016 года.
>> Так як вы можаце запазычыць ад TL: раздатачны DR,
навучальны план сёння, а таксама ад каталог, вядома, у гэтым годзе ў CS50,
вы толькі павінны наведваць таму працу раз сёння добра done--
і апошняя лекцыя 21 лістапада.
І вы вітаюцца, але не чакаецца наведваць гэтыя лекцыі ў сярэдзіне,
таму што мы робім У гэтым годзе, стральба
у рэальным часе матэрыялу Курса.
Так што ўсё застанецца тока і ўключыць
як лепш за ўсё мы can-- бягучыя падзеі і размовы, якія людзі маглі б
быць маючы ў прамысловасці ў свет, але робіць гэты матэрыял
даступныя, у выніку, нават earlier-- у камплекце з поўным тэкстам стэнаграмы
і магчымасць пошуку і спасылкі на іншыя рэсурсы.
>> І на самай справе, мы былі сцвярджаючы, што на працягу некаторага часу
і мы лічым, што гэта ў цяперашні час, што мы можам стварыць, у лічбавым выглядзе,
больш захапляльны, больш прывабным адукацыйны вопыт, у адрозненне
каб сабраць тут каля 23 разоў асабіста, пачуўшы хтосьці кахае мяне
проста казаць аб інфарматыцы, у адрозненне ад больш актыўнага далучэння.
Такім чынам, вы будзеце бачыць у навучальны план Курса эскіз семестра тут,
разам з тым, калі лекцыі будуць будзе зняты, да якога вы
вітаюцца, але не чакаў, і калі яны будуць
будзе выпушчаны на вэб-сайце курсу.
>> І што мы будзем рабіць тут Асяроддзя пачынаючы з наступнага тыдня,
з'яўляецца значна больш цесна, з толькі тыя людзі, якія хочуць удзельнічаць,
гэта так званая прагулка, дзе я і кіраўнікі Курса
будзе на самой справе рабіць рэчы крыху больш за інтымнае
тут у аркестры раздзел, да гэтага часу некаторыя тэхналогіі
і прайсці праз Праблема набору бягучага тыдня,
і прапанаваць вам particularly-- калі сярод тым менш comfortable-- ўсё больш
рэкамендацыі, якія вы маглі б хацець або патрэба кінуць выклік тыдня.
І сапраўды гэтак жа, для тых, хто не можа прысутнічаць на тых, хто асабіста, не склала вялікай працы.
Там будзе гэтак жа на чале адзін з старэйшых супрацоўнікаў Курсу,
Zamalya, тая ж магчымасць убудаванага ў задачы саміх мностваў.
>> Праблема ўсталёўвае ў гэтым годзе будзе выпушчаны па пятніцах
і больш не рабіць сем дзён праз, але 10 дзён later-- наўмысна
перакрываецца з кожнай праблемай ўсталяваць, з тым, каб лепш прыстасаваць,
мы спадзяемся, прылівы і адлівы у студэнцкіх раскладзе,
асабліва калі па лёгкай атлетыцы або прамежкавых выбарах ці акадэмікі або extracurriculars
як правіла, прыходзяць і сыходзяць асабліва ў сярэдзіне семестра.
Гэта павінна даць вам крыху больш сваім меркаванні, каб вы пярэдні
загрузіць сваю тыдзень з CS50 або задняй нагрузкі гэта на наступны ўік-энду замест.
Так што глядзіце, каб навучальны план Курса тут яго графіка.
І вы заўважыце, таксама сярод змены ў гэтым годзе,
для тых, хто больш знаёмыя з праграмаванне ў мінулым,
мы пачнем семестр як мы будзем сёння ў пустым месцы,
засяродзіць увагу перш за ўсё на мове называецца C, а затым ня пераход
ў PHP, але на мове пад назвай Python да канца семестра
у кантэксце вэб-праграмавання, нароўні з SQL і JavaScript,
HTML, CSS, і ўсё ж больш.
>> І ў адказ на задаюць пытанні, гэта сапраўды так
што CS не так страшна, як я калісьці думаў, што гэта было, але гэта так шмат працы
як я чуў, што гэта магло б быць.
Але гэта сказаць, што тут некаторыя Статыстыка ад падзення 2015 студэнтаў,
у выніку чаго гарызантальныя сінія лініі ўяўляюць сабой сярэдняя колькасць гадзін
паведамілі.
І вы ўбачыце, у сярэднім ад шасці да 10 да 12--, можа быць 16
або так і гэтак далей, але з высокая дысперсія быць ясным.
І так разумею, што ёсць не толькі студэнты больш зручным і менш
камфортна ў курсе, але адпаведная падтрымка
структура, каб атрымаць тыя студэнты праз заканчэння семестра.
>> Сапраўды, у адказ на задаюць пытанні, павінны вы бераце CS50 як першы год?
Вы маеце рацыю.
І на самай справе, я шкадую ня знайшоўшы свой шлях
ці знайшоў новае поле што першы год, а таксама.
І вы павінны прыняць CS50 з іншыя курсы, вядома ж, як well--
і агульны савет, які мы маглі б даць студэнтам, што CS50, верагодна,
не від класа або класа інтра што вы павінны ўзяць з сабой тры
іншы або чатыры іншых р-мноства класаў.
Але калі вы прымаеце два іншых р-набор класы, нешта яшчэ, і CS50,
абсалютна кіраваным.
У мяне было шмат студэнтаў у мінулае зроблена цалкам паспяхова.
>> А каб атрымаць вас да што скончыць лінію паспяхова,
робіць вядома ёсць sections-- розныя трасы для студэнтаў
менш камфортна, больш камфортна, і дзесьці пасярэдзіне,
прычым у Курса Першы набор праблем,
вам будзе прапанавана, каб апісаць сябе.
І калі вы сярод тых, менш зручна, гэта такая рэч,
што вы проста дастаткова ведаць.
І на самай справе, што гэта было які расце дэмаграфічнага ў CS50
ўжо некалькі гадоў.
>> Па восені мінулага года для Асобнік, 58% класа
апісалі сябе як сярод тых, хто менш камфортна,
з 9% сярод тых, хто больш зручна, а затым
іншыя студэнты там у чырвоны апісваючы сябе
а дзесьці пасярэдзіне.
І вы ўбачыце тут тэмы ў цэлым і графік секцый, кожная з якіх
прапануецца асабіста, у у рэальным маштабе часу, з Курсу
Дзіўна, супрацоўнікі навучальных таварышаў і курс асістэнты, некаторыя з якіх
вы сустрэнеце ўсяго хвіліну.
>> Самі раздзелы, як вы ўбачыце, будзе быць па панядзелках і аўторках і серадах,
такім чынам, каб дазволіць вам ныраць пасля ўдзелу, калі вы так
выбраць, у Курса лекцыі ў пачатку гэтага тыдня.
А потым працоўныя гадзіны, якія вядома ж, з кожным годам,
Не было не меншым выклік для курса.
І ў гэтым годзе мы не плануем толькі трымаць офіс hours-- адзін
на адной магчымасці для дапамогі для Студэнты па серадах чацвяргах
і нядзелях, апошні з тых, будучы ў другой палове дня па дызайне
паменшыць частка напружання, што нязменна ўзнікае з позняй ночы
п-settting з апошнім тэрмінам looming-- але гадзіны офіса таксама будуць прапанаваныя
па панядзелках і аўторках і Па серадах і пятніцах і суботах,
дзякуючы нашым сябрам у HSA.
>> CS50 цяпер мае сваё ўласнае прастору для студэнтаў і супрацоўнікаў CS50,
на вяршыні 67 Mount Auburn Street, прама ў Гарвардскай плошчы.
Бачанне якога з'яўляецца тое, што CS50-х ТФ і цэнтры сертыфікацыі на працягу тыдня,
у значнай ступені на працягу большай дзён, будзе там для падтрымкі.
Так што калі ў вас ёсць некаторыя Пытанне аб р-мностве
ці вы адчуваеце сябе крыху заблякаваны або крыху заблытаўся,
і, чорт вазьмі, у вас ёсць гадзіну ці паўгадзіны паміж класамі,
асабліва ў square-- вы можаце поп і ёсць гэтае пытанне адказаў
ад таго, маюць гэтую блытаніну clarified-- вельмі ў духу,
вы знаёмыя, па матэматыцы ўласныя матэматычныя пытанні цэнтр аддзела,
але ў значнай ступені вакол гадзін у [? Гкал?], Што мы размесцім на сайце.
>> Рэпетытарства таксама даступная для тых, студэнты, свабодна ад Курсу
уласны персанал, калі вы хочаце больш інтымны адзін на адзін,
або толькі два ці тры аднакласнікі, працуючы з адным з супрацоўнікаў гэтага курса.
І сапраўды, яны тут проста некаторыя з супрацоўнікаў Курсу,
некаторыя з якіх вы будзеце сустракаюцца ў імгненне.
На самай справе, CS50 ўласнай кіраўнік навучання супрацоўнік,
і галава вядома памочнік, і Настаўнікам,
можа прыйсці на уверх, дазваляюць ім сказаць прывітанне.
>> [Апладысменты]
СПІКЕР 1: [неразборліва].
>> [Апладысменты]
СПІКЕР 2: [неразборліва].
>> [Апладысменты]
Выступоўца 3: [неразборліва].
>> [Апладысменты]
>> DAVID Малання: І дазвольце нам прынесці на борт два з CS50 самых
старэйшых супрацоўнікаў, Роб і Zamayla, а таксама.
>> [Апладысменты]
>> На самай справе, як Роб і Zamayla былі з намі
так доўга, што я быў у стане ісці ў архівы CS50 ў
і знайсці гэтую самую SD кадры з іх удзельнічаюць
на саміх этапе некалькі гадоў таму.
БОР: [неразборліва].
>> [Апладысменты]
ZAMAYLA: [неразборліва]
>> [Апладысменты]
DAVID Малання: Дзякуй.
Такім чынам, у дадатак да іх Члены каманды тут,
CS50 мае каманду амаль 100 супрацоўнікі, усе з якіх
будуць даступныя для секцый і офісныя гадзіны і многае іншае.
І, як Роб кажа, што таксама, гэта самы значны рамонт
з CS50 ў 10 гадоў, што Я быў у [неразборліва].
[Неразборліва] сканцэнтраваны асабліва ў забеспячэнні структуры падтрымкі,
падрэзкі прэч шмат асноўная частка, якая была
назапашаны за апошнія 10 гадоў итеративной распрацоўкі
на праблемныя наборы Курса.
>> Так што ў гэтым годзе, не толькі ў класе, але таксама ў выглядзе задачы Курса
наборы, вы павінны знайсці рэчы быць больш абцякальны, трымер, многае
больш кіраваным, чым ў мінулыя гады, як мы
праліваюць некаторыя з багажу, што гэта распрацаваны характар ​​развіваецца года
пасля таго, як год і ітэрацыі.
Такім чынам, новы і палепшаны пачынаецца сёння.
>> Вы сустрэнеце яшчэ некаторыя з Персанал вядома знаходзіцца па-за ў [неразборліва]
у 2:30, дзе мы служым, як традыцыі, торт.
Там крыху больш торт чым гэта, але вы будзеце
сустракаюцца Erin і Тобіас і іншыя да гэтага часу.
І дазвольце мне даць вам тур, перш чым мы чуем
ад некаторых іншых супрацоўнікаў у класе, пра тое, што гэтак жа чакае.
На самай справе, мы заўсёды пачынаем CS50-х Семестр У бліжэйшую суботу,
з тым, што называецца CS50 Puzzle дзень.
>> Яна не мае нічога агульнага з камп'ютэрныя навукі самі па сабе,
але аб праблеме рашэнні ў цэлым.
І калі вы так вырашыце прыняць удзел, за некаторыя з запрашэнняў,
Вы, магчыма, бачылі дзверы упаў ці на сцэне тут,
гэта магчымасць у камандах двух або трох ці чатырох,
прыняць удзел для галаваломак і піцы і прызы і more-- ў гэтую суботу,
сочыце за многае іншае.
>> Вы знойдзеце таксама, што кожны У пятніцу, у Агонь і лёд,
CS50 Ці прынесці цэлая куча студэнтаў
на абед, каб зрабіць вялікі клас адчуваць сябе больш інтымнае,
і наогул звесці разам Выпускнікі і сябры з прамысловасці
казаць аб тым, што яны маюць быў да моманту заканчэння.
Акрамя таго, у гэтым годзе, мы адзначыць першы калі-небудзь CS50 50
кадаваньне contest-- ў сярэдзіне семестра магчымасць дазволіць кожнаму
на абраць у аснове, каб мець выклік досціп супраць аднакласнікаў,
зноў у камандах з двух або трох ці чатыры, выкарыстоўваючы толькі што праграмаванне
здаровы сэнс, што вы пасля гэтага маеце пад Ваш пояс ўсяго толькі пасля шасці або сямі гадоў
тыдняў класа, а таксама ўдзел у гэтым выглядзе спаборніцтваў
online--, калі вы хочаце, каб адтачыць свой уласны навыкі ўсё больш у гэты выклік.
У канцы семестра так званы CS50 Hackathon--
магчымасць, якая пачынаецца ў 07:00 PM заканчваецца ў 7:00 раніцы, і па шляху
12 вячэрнія гадзіны, у якіх ныраць у канчатковым project-- Курса
магчымасць распрацоўкі і рэалізаваць большасць нічога цікавага
Вам з вашым вучэннем кіраўніцтва стыпендыята.
Каля 9:00 раніцы мы звычайна робім служыць піца, 01:00 AM,
Філіпа, і мала хто з нас якія да гэтага часу прачынаюцца ў 5:00 раніцы,
з'яўляюцца шатл шинное ўніз Дарога да IHOP для сняданку.
>> А потым праз некалькі дзён гэта так званы CS50 fare--
канец семестра ў выставе святкаванне, як далёка так шмат
з CS50 студэнтаў прыйшлі з нулявы тыдні аж да тыдня,
і маючы на ​​ўвазе, што 73% з іх аднакласнікі і за вамі ў гэтым годзе
ніколі не браў клас CS раней.
На самай справе, каб яшчэ раз падкрэсліць, як шмат, тут гэта некалькі асобаў з персаналу CS50 ст.
Выступоўца 4: [неразборліва].
СПІКЕР 5: [неразборліва].
СПІКЕР 6: [неразборліва].
СПІКЕР 7: [неразборліва].
СПІКЕР 8: [неразборліва]
СПІКЕР 9: [неразборліва].
>> Выступоўца 4: [неразборліва].
>> СПІКЕР 10: [неразборліва].
СПІКЕР 11: [неразборліва].
СПІКЕР 12: [неразборліва].
СПІКЕР 13: [неразборліва]
>> СПІКЕР 14: [неразборліва].
>> СПІКЕР 13: [неразборліва].
СПІКЕР 15: [неразборліва]
СПІКЕР 16: [неразборліва].
>> СПІКЕР 11: [неразборліва]
СПІКЕР 5: [неразборліва].
DAVID Малання: Некаторыя каманды самі гандлёвыя класы.
Але калі гэтыя члены персаналу CS50 тут,
можа прыйсці на на імгненне.
CS50-х ТФ і цэнтры сертыфікацыі і [? персанал?] Члены here-- гэта толькі некаторыя з іх
з faces-- адзін з якіх вы проста бачыў, і некалькі other-- і некалькі іншых
да гэтага часу.
Чаму б нам не пайсці далей і дазволіць вы, хлопцы, пяць хвілінны перапынак.
Калі вам трэба, каб качка магазін класы, гэта выдатна.
А праз пяць хвілін мы рэзюмэ, зірнуць на Scratch-- першай
нашай мовы праграмавання, пазнаёміцца Супрацоўнікі Курс тут некалькі больш,
і засяродзіцца ў канчатковым рахунку, па праблеме ўсталяваць нуль.
Такім чынам, мы вернемся праз пяць хвілін.
>> Добра.
Такім чынам, мы вярнуліся.
А ў нашым астатнія Час сёння, мэта
каб выраўнаваць гульнявое поле ў тэрмінах некаторай тэрміналогіі,
з пункту гледжання некаторых ідэй.
Таму што на самай справе, у адпаведнасці з некаторыя з дыяграм больш ранніх,
там будзе цэлы шэраг ўзроўні вопыту ў класе,
некаторыя з якіх студэнты маюць прынятыя некаторыя праграмы перад тым,
некаторыя з якіх не маюць.
І вось з гэтай першай задачы ўсталяваць і з гэтым першай мовай
у нас ёсць магчымасць пачаць прымаць як само сабой разумеецца пасля таго, як сёння
некаторы агульны слоўнікавы запас і ідэя.
>> І мы будзем рабіць гэта шляхам першы languages-- Курса
у дадатак да C і Python і JavaScript і SQL і HTML і CSS,
мы будзем першапачаткова сканцэнтраваўшы ўвагу і толькі для праблем ўсталяваць нуль
на гэтым графічным мове, называецца Драпіны, распрацаваная ў MIT Media Lab'S
ўніз па дарозе, каб дапамагчы студэнты і дзеці асабліва
выказаць сябе algorithmically-- такім чынам, больш адпавядае таму, што
мы маглі б назваць вылічальныя мысленне.
>> І гэта карысна, бо язык вельмі хутка на наступным тыдні ў тыдзень адзін,
мы пераход да больш традыцыйны і аркан мова называецца
З, што з'яўляецца чыста тэкстава.
Вы толькі выкарыстоўваць клавіятуру ў Для таго каб напісаць інструкцыі
як яны на экране.
Але нават калі вы ніколі не бачылі мова праграмавання, перад тым,
ў проста зірнуўшы на гэта, усё гэта быць загадкавым,
вы можаце здагадацца, што верагодна, друкуе Hello World.
Але ёсць шмат сінтаксічны над галавой ёсць.
Існуе дзіўная хэш знак ці хэш-тэг наверсе.
Там у вуглавыя дужкі, некаторыя круглыя ​​дужкі, фігурныя дужкі, паў-colon--
там проста так шмат глядзельных вобразаў сінтаксіс, які ўстае на шляху.
Мы пачынаем курс з Драпіны, з тым, каб атрымаць
міма ўсіх тых, хто інтэлектуальна нецікавыя адцягнення,
і замест гэтага засяродзіцца на ідэях.
>> На самай справе, гэта можа быць і раней.
Гэта, для гэтага, тыдзень будзе пасля.
Гэта, у гэтым графічным мова драпіна,
як вы б рэалізаваць той жа program-- праграму, якая пры запуску,
проста кажа прывітанне свет.
І што прыемна аб Драпіны што менавіта гэта графічнае праграмаванне
серада, якая выкарыстоўвае кавалачкі галаваломкі або блокі, што толькі счапляюцца разам
калі ён мае лагічны сэнс зрабіць гэта.
І з нуля вы можаце развіць анімацыі і інтэрактыўных гульняў
і мастацтва, і любую колькасць рэчаў, якія вы можаце сабе ўявіць ў сваім уласным розуме,
і рэалізаваць іх проста перацягваючы кавалачкі галаваломкі.
>> І на самай справе, мы будзем мець магчымасць каб выказаць некаторыя з тых жа ідэй
што я толькі што згадаў імгненне таму ў кантэксце Майк Сміт
і пошук тэлефоннага book-- рэчы як функцыі, проста дзеянні,
такія рэчы, як завесы, якія робяць рэчы зноў і зноў,
зменныя, што з'яўляецца тое, што мы будзем уводзіць,
але гэта, магчыма, знаёмыя з algebra-- проста нейкая запаўняльнік
захоўваць некаторы значэнне, якое вы маглі б патрэбныя later-- лагічныя выразы,
дзе тыя, ды не, ці праўда ілжывыя пытанні з раней.
Умовы тыя вілы ў road-- тыя галіны, так бы мовіць.
І тады ёсць некаторыя спрактыкаваней Асабліва мы ўбачым, нават сёння,
званыя масівы і патокі і Падзеі, якія мы потым вернемся праз
час на розных мовах.
Але драпіна дазваляе нам для вывучэння ўсіх з іх.
Так што тут у пустым месцы, гэта фіялетавы блок, што функцыя, як правіла,
будзе выглядаць.
Гэта фіялетавы кавалак галаваломкі, што ёсць некаторыя слова, як, скажам, што гэта дзеянне,
а затым ён можа мець аргумент ці parameter-- нейкім чынам
ад выгляду карыстацкай налады тое, што блок робіць
так што гэта не перадвызначаныя MIT кажа, што гэты фіялетавы блок.
На самай справе, вы ўбачыце ў той момант, калі я ў стане надрукаваць
словы як прывітанне свет, або прывітанне Дэвід, або прывітанне Zamayla,
або тое, што я хачу, у аргуменце для гэтай галаваломкі piece-- белы квадрат
там.
У той жа час, калі я хачу цыкл, мы будзем бачыць, што ёсць кавалачкі галаваломкі, якія
выглядаць трохі аранжавага колеру, як гэта.
І іх форма роду мяркуе, што нешта зноў і зноў адбываецца
у цыкле.
>> Так што калі я абгарнуць прывітанне свет блок сказаць з назаўжды блакаваць ў пустым месцы,
гэта проста будзе працягваць казаць прывітанне свет назаўсёды, у літаральным сэнсе слова.
У той жа час, ёсць яшчэ тып цыклу ў пустым месцы
што мы будзем see-- паўтарэння block--, дзе, калі вы
ведаць загадзя, колькі разоў Вы хочаце, каб выканаць цыкл
канчатковае лік раз у fact-- вас можна паказаць, што, увёўшы ў шэрагу
ці нават закаркаванні ў зменнай, як х ці у, як мы ўбачым.
>> На самай справе, як зменныя Я ў гэтым выпадку, які
з'яўляецца агульнай назвай для цэлая пераменная, што
проста захоўвае number-- цэлы лік, можа быць,
выкарыстаць гэты аранжавы блок тут ўсталяваць зменную, як я да нуля.
Вось прыклад у зялёныя палі Лагічнае выраз у пустым месцы.
Нават калі гэта выглядае як матэматыка формула, матэматычныя няроўнасці, як гэта
на самай справе з'яўляюцца булева выразамі.
Гэта альбо сапраўдным, альбо памылковае.
Я менш, чым 50.
Гэта альбо так ці не адказу або сапраўдным або ілжывых адказам.
І мы звычайна называем гэтыя лагічныя выразы.
І гэта не павінна быць 50.
Гэта можа быць х менш, чым у, больш, чым у, роўны y--
любую колькасць іншых можа быць зададзены пытанні.
>> Зараз, на першы погляд, гэта можа выглядаць раптам зусім смелымі тут, і гэта.
Але канцэпцыя мудры, гэта даволі добра знаёмыя з раней.
Калі х менш у, чым, скажам, як шмат.
Інакш, калі х больш чым у, то кажуць, як шмат.
Інакш сказаць, х роўна у.
Такім чынам, мы маем прыклад там трэцяга scenario--
толькі трэці possibility-- х з'яўляецца альбо больш, менш або роўна.
Такім чынам, у нас ёсць тры спосабы раздарожжы.
>> І заўважце, што гэта крута here-- драпіна, здавалася б, мае толькі адну галаваломку
частка, у дадзеным выпадку, у блоку, калі іншае.
І тым не менш, што, здавалася б, мяркуюць, што вы можаце ёсць толькі два шляхі развілкі дарог.
Вы можаце пайсці налева або направа, але што наконт трэцяга сцэнара?
Што рабіць, калі х роўна у?
Нічога страшнага.
Вазьміце адзін кавалак галаваломкі, пакласці іншы ўнутры яго
стварыць семантычны эквівалент у выпадку, калі яшчэ, else-- і зараз вы
мець свой трохбаковы раздарожжы.
І, як мы бачым, драпіна галаваломкі
можа быць расцягнуць і расці, так што а ўціснуць больш матэрыялу ў іх.
Вам не трэба, каб адпавядаць усё, што ў яго памеру па змаўчанні.
>> Гэта тое, што мы будзем неўзабаве см называецца масівам.
Гэта як list-- нейкім чынам захоўвання некалькіх фрагментаў інфармацыі
ў зменнай, а не проста нумар.
Гэта мы бачым прадстаўніка нешта, званае шматструменнасць.
На самай справе, усе вашы Макаў і ПК ў гэтыя дні
Падтрымлівае шматструменнасць, а гэта значыць, вы можаце ў літаральным сэнсе
рабіць некалькі рэчаў адначасова.
Вы можаце мець Microsoft Word ўверх у на пярэднім плане, працуючы на ​​нейкім эсэ.
Вы можаце мець браўзэр ў фонавым рэжыме адкрыцця
G пошце або Facebook ці таму падобнае.
Ваш кампутар можа зрабіць некалькі рэчаў сёння, таму што гэта шматструменны,
і праграмы, яны знаходзяцца ў ў прыватнасці, таксама Шматструменнае.
>> Там у рэчы, названыя падзеі, як а ў свеце нуля,
а затым ёсць спосаб таксама, каб зрабіць нашы ўласныя галаваломкі, калі рэчы
на самай справе не існуе загадзя.
Так што давайце матывуюць гэта наступным чынам.
Некалькі гадоў таму, калі я упершыню выяўлены на пустым месцы,
калі я быў на самай справе аспірантам ў Масачусецкім тэхналагічным інстытуце, мы
самі былі пастаўлена задача зрабіць хатняе заданне.
І я implemented-- які, у рэтраспектыве,
было вельмі дрэннае рашэнне, таму што гэта самая шаленства песня ў свеце
каб слухаць на працягу васьмі гадзін падчас працы на homework--
але нешта я назваў Оскар Час, які, магчыма, знаёмая песня.
>> CS50s уласны Jordan Hayashi, адзін з нашы больш старэйшыя супрацоўнікі,
павысіла яго да 2015 года і Цяпер 2016, так як назад у дзень,
У мяне было ўсё, што толькі збіраецца ў смеццевы кошык Оскара.
У цяперашні час мы падтрымліваем перапрацоўку і кампаставання.
>> Але каб намаляваць карціну пра тое, што мы можам зрабіць тут
і матываваць некаторых ніжнія прыклады ўзроўню,
мы маглі б атрымаць адзін іншы Праца на грамадскіх пачатках, каб проста прыйсці на уверх
і гуляць мой першы хатняе заданне калі-небудзь?
Падымайся.
Як цябе клічуць?
>> Генрых: Генры.
>> DAVID Малання: Генры, давай ўверх.
Падымайся.
Галава так ці інакш, і вы ўбачыце ў дадзены момант,
Я збіраюся ісці наперад і ўдарыў зялёны сцяг у верхняй правай руцэ
кут, што азначае ісці.
Значок знак трохі прыпынку збіраецца сказаць стоп,
і гэта пры запуску і спыніць праграму.
Прыемна пазнаёміцца.
Добра.
Такім чынам, мы збіраемся, каб убачыць інструкцыі на экране ў імгненне.
І проста гуляць у гэтую гульню для некалькіх seconds-- паверце мне,
мы не будзем хацець гуляць ўсе шляхі да end-- вы будзеце
атрымаць уяўленне аб тым, што робіць праграма.
І больш, чым проста засяродзіцца на Генры быць добрым ці дрэнным ў гэтай гульні, фокус
і як яны былі рэалізаваны мной першапачаткова, а затым Іарданіі.
Іншымі словамі, дзе зменныя?
Дзе завесы?
Дзе функцыі?
І мы ўбачым, калі мы не бачым тыя, пад капотам.
>> Проста націсніце і перацягнуць смецце у адпаведны бункер.
>> [МУЗЫКА]
Добра.
Гэта вельмі добра.
Чаму б нам не спыніць яго там.
Дзякуй.
Віншуем Генры.
Дзякуй.
>> [Апладысменты]
>> Толькі ўявіце сабе гэтую праграму адладкі.
Калі ёсць праблема двух й хвіліне, але так song--
што тут адбываецца на самай справе?
Як складана, як можа здацца пачынаюць здавацца, каб атрымаць на працягу доўгага часу,
на самай справе ўсё больш і больш рэчы пачалі падаць,
што цікава аб гэты від example--
і мы ўбачым, некаторыя з іх others-- у тым, што калі вы
глядзець міма складанасці або выдасканаленасць гульні,
ёсць вельмі простае будынак блокі, play-- усе з якіх,
калі вы адагнаць іх тым, будаўнічыя блокі, вельмі даступныя
і рэалізуюцца ім самім.
Напрыклад, гэта было некаторы час, але я
упэўнены, што я першапачаткова зрабіў, калі што робіць гэтую гульню ў першы раз
я быў цалкам як цягнулі.
Я не засяродзіцца на ўсіх на логіка або кавалачкі галаваломкі,
Я засяродзіўся на графіцы і знаходжанне вуліца пост і смеццевы бак
і ўсё гэта.
Але гэта былі неабходнай умовай інгрэдыенты ў першую чаргу.
І як толькі я скончыў адкладаць і выклаўшы агульныя рамкі,
Я вырашыў, дазвольце мне зрабіць адзін частка падзення для смецця з неба.
І мы ўбачым, да драпін падтрымлівае рэчы, званыя
sprites-- сімвалаў, якія могуць маюць розныя касцюмы на так што яны
выглядаюць па-рознаму.
>> І таму я стаўлю смецце касцюм на адным з такіх спрайт.
І я проста меў патрэбу падаць з неба.
І так атрымліваецца, да драпін, як і большасць моў праграмавання,
падтрымлівае выпадковыя ліку або тэхнічна псевдокод выпадковых лікаў,
так што з дапамогай перацягвання скінуўшы пэўныя часткі галаваломкі,
Я быў у стане мець смецце прыходзяць злева на першы погляд.
І тады ў наступны раз, ён упаў, з права, а затым з сярэдзіны.
І ўсё ж гульня была проста ёсць смецце, што падалі з неба.
Вы не маглі б паказаць на яе або націснуць на яе.
Вы не маглі адкрыць смеццевы бак.
Вы нічога не маглі зрабіць.
Але гэта быў крок дзіцяці да маёй канчатковай бачання.
>> І пасля гэтага, я на самой справе рэалізаваны нейкі
зандзіравання, так што калі вы зрабілі націсніце і перацягнуць на кавалак смецця
па банку хламу, Оскар вечка будзе адчыняцца і зачыняцца.
Нічога не здарыцца са смеццем, але па меншай меры, вечка будзе адчыняцца і зачыняцца.
Такім чынам, праверце, крок два з двух.
І гэта тое, што будзе ключ у абедзвюх задачы ўсталяваць нуль
і ў праграмаванні ў больш агульным плане, з'яўляецца прымаць гэтыя вельмі наўмысныя крокі дзіцяці.
Таму што яно не толькі дазволіць вам адчуваць сябе сумленна дасягнута многае іншае
quickly-- гэта горшае ў свеце
каб паспрабаваць рэалізаваць усе Оскар часу, затым гадзінамі пазней ударыў зялёны сьцяг,
і нічога не працуе, як чакалася таму што, калі Вы нават
пачаць адладку або ліквідаваць гэтую праграму?
Гэта проста пераважнай.
>> І так сапраўды асвойваюць гэтую ідэю прымаць steps-- крокі дзіцяці зноў
і again-- пабудова тое, што гэта, у рэшце рэшт,
сапраўды ўражвае і складаны, але па-першае, не так моцна.
На самай справе, давайце зробім гэта.
Дазвольце мне ісці наперад и-- Драпіны сябе існуе ў Інтэрнэце па адрасе Scratch.MIT.edu,
і вы будзеце, як сказаў шмат разоў ў задачы
ўсталяваць нуль, спецыфікацыя для які ўжо знаходзіцца на вэб-сайце CS50 ст.
>> Але гэта тое, што само па сабе з'яўляецца драпін.
І ёсць на самой справе проста тры асноўныя вобласці.
У верхнім левым куце ёсць гэта так званы этап.
Гэта Драпіны.
касцюм па змаўчанні з'яўляецца кошка.
І гэта прастакутны свет якія вы можаце move-- уверх, уніз, налева,
права і некаторыя іншыя рэчы.
У сярэдзіне тут нашы катэгорыі або нашы паддоны галаваломкі,
і розныя колеры азначаюць розныя рэчы.
І калі вы пашукайце, вы ўбачыце рэчы, такія як цыклы і ўмовы
і зменныя і іншыя інгрэдыенты.
>> А потым тут з'яўляецца вобласць скрыптоў.
Гэта дзе я магу перацягнуць гэтыя кавалачкі галаваломкі, каб рабіць рэчы.
Дык давайце зробім адну такую ​​рэч.
Дазвольце мне ісці наперад и-- і я ведаю, дзе гэта.
Так што я збіраюся неадкладна націснуць на дзе я ведаю, што ўсе гатовыя быць,
але паказваючы і націснуўшы і калупацца непазбежныя.
Таму, калі зялёны сцяг пстрыкнуў, Што я хачу зрабіць?
Я збіраюся зрабіць гэта.
Я збіраюся перацягнуць гэты фіялетавы галаваломкі частка, скажам прывітанне на працягу двух секунд,
і дазвольце мне павялічыць.
>> І я збіраюся змяніць гэта каб быць тым, што я хачу, каб be--
прывітанне свет на працягу двух секунд нармальна.
Зараз, я збіраюся націснуць зялёны сьцяг, або калі я сапраўды хачу,
Я магу ў поўнаэкранным рэжыме, а затым вярнуцца.
Ён будзе проста трымаць усё ў адным акне.
Зялёны flag-- прывітанне свет.
Добра.
Не ўсё, што цікава.
Такім чынам, дазвольце мне ісці наперад і рабіць гэта.
Дазвольце мне паспрабаваць яшчэ.
Калі зялёны сцяг clicked-- давайце зрабіць нешта накшталт гуку.
І да вашага ведама, што з скрынка бясплатна вы атрымліваеце
гук ката, як спрайт па змаўчанні.
Так што цяпер дазвольце мне ісці наперад і ударыў зялёны сцяг прама цяпер.
>> [Мяўканне]
>> Ав.
Гэта цудоўна.
Я праграмавання.
Так што я зрабіў?
Гэта эквівалент праграмы.
Гэта, відавочна, супер проста.
Гэта на самай справе не прымаць усё, што шмат намаганні і MIT зрабіў вялікую частку працы,
але я называецца функцыяй.
Я выкарыстаў функцыю.
Я зрабіў якое-небудзь дзеянне, выкарыстоўваючы толькі што адзін фіялетавы кавалак галаваломкі.
>> Ну, калі я хачу зрабіць тры мяўкае запар?
Дазвольце мне ісці наперад і рабіць два і тры.
І заўважце, што калі вы парыць побач кавалак галаваломкі,
з'яўляецца маленькая белая лінія свайго роду магнітным спосабам,
і яна лопне разам, калі вы адпускаеце.
Давайце паглядзім, што тут адбываецца.
>> [Мяўканне]
>> Там ёсць памылка.
Я чую толькі адно мяўканне.
Чаму гэта можа быць?
Так?
Так.
Мы на самай справе не чуць, але гэта добрая інтуіцыя.
Яны ўсё гуляюць у той жа час.
Чаму?
Ну, кампутар проста будзе рабіць тое, што вы скажаце ёй зрабіць.
Так што, калі вы кажаце, прайграванне гуку, прайграванне гуку, прайграванне гуку,
але вы не кажаце гэта гуляць да вы скончыце, гуляць, пакуль вы не скончыце,
гэта будзе дзьмуць праз праграма вельмі хутка
і ня толькі тое, што вы скажаце ёй зрабіць.
>> Так што я на самой справе трэба выправіць гэта некалькімі спосабамі.
Я мог бы проста зрабіць гэта, каб пазбавіцца ад гэтага.
Дазвольце мне паспрабаваць гэтую іншую галаваломку piece-- гуляць гук мяу пакуль не зроблена,
а затым перацягнуць тры гэтыя і націсніце кнопку прайгравання.
>> [Мяўканне]
>> Гэта на самай справе не very-- дзякуй you-- вельмі натуральна.
Дык чаму ж ня i-- хай мне ісці, каб кантраляваць тут.
Ніца.
Пачакайце адну секунду, а цяпер дазвольце мне вярнуцца гукі і прайграваць гук, пакуль не зроблена,
а затым дазвольце мне пачакаць адну секунду.
А потым дазвольце мне пайсці і атрымаць адзін больш гуку, і тут мы ідзем.
>> [Мяўканне]
>> Крыху больш за натуральным, але гэта не вельмі эфектыўна.
Як мне сумна, усё будзе Карацей кажучы, націснуўшы назад і наперад
і сапраўды дублюючы маё work-- даволі шмат капіявання і ўстаўкі.
Сапраўды, калі я кірую або націснуў правай клавішай націснуў,
Я мог бы проста скапіяваць і ўставіць.
Што было б лепш пабудаваць выкарыстоўваць?
Якая ідэя ад раней?
>> Так, так што пятля.
І на самай справе, калі мы памацаў, мы маглі б знайсці менавіта тое, што.
Дазвольце мне ісці на падзеі ці, дакладней, кантролю.
Так repeat-- я не хочуць, каб гэта было ў 10 разоў.
Гэта збіраецца раздражняць хутка.
Але я буду паўтараць тры разы.
Дазвольце мне вярнуцца да гуку і гуляць гук, пакуль гэта не зроблена.
Дазвольце мне вярнуцца да кантролю і проста чакаць адну секунду.
І заўважце, вы можаце думаю, што гэта не падыходзіць,
але зноў жа, калі магнітным вы дазволіце аснасткі на месцы, яна будзе расці, каб запоўніць.
Што ён гуляе зараз?
>> [Мяўканне]
ДОБРА.
Ніца.
І гэта тое, што можна было б назваць праграма, якая таксама правільна.
Ён мяўкаў тры разы даволі натуральна, але гэта лепш распрацаваны.
Я выкарыстоўваю менш надмернасці.
Я не скапіяваць і ўставіць што-небудзь.
Я проста выкарыстаў лепшае ўяўленне.
>> Цяпер, гэта яшчэ не ўсё, што Цікава, з нуля не рабіць
што-небудзь.
Так што давайце рабіць нешта яшчэ замест гэтага.
Давайце рабіць нешта назаўжды.
І вы ведаеце, што?
Рух здаецца цікавым.
Давайце яму рухацца 10 крокі і ўдарыў гуляць прама цяпер.
>> ДОБРА.
Ну мы можам выгляд супраціву яго назад, і ён па-ранейшаму
працуе, таму што ён робіць гэта назаўжды.
Такім чынам, цыкл робіць што ён кажа рабіць,
але гэта не ўсё, што цікава.
Давайце зробім гэта.
Дазвольце мне дадаць блок кіравання, і выкарыстоўваць адну з гэтых умоў у першы раз.
>> Так што гэта будзе рухацца 10 steps-- 10 кропак, 10 пікселяў на screen--
то гэта будзе задаць гэтае пытанне.
Калі нешта праўда, то рабіць нешта ўнутры гэтага блока.
Так што атрымліваецца зандаванне мае цэлы звязак булевай expressions--
пытанні да нет або праўда ілжывая form-- зробім гэта.
>> Калі touching-- і затым ёсць гэта маленькае выпадальнае меню.
Я магу параметризовать яго.
Калі датыкаючыся да edge-- давайце зрабіць нешта накшталт гэтага.
Так што, калі вы датыкаецеся edge-- дазвольце мне вярнуцца да руху.
А чаму б нам не проста разгарнуцца на 180 градусаў?
Добра.
Так назаўжды, рухацца 10 крокаў.
Калі вы кранальныя край, паварот на 180 градусаў.
І гэта яшчэ не канец праграмы таму што вы ў назаўжды блакаваць,
так што збіраецца ісці зноў і зноў і зноў і зноў.
Такім чынам, давайце паглядзім, што адбудзецца.
ДОБРА.
Трохі глючны, але выгляд прахалоднага.
>> І мы можам дадаць да гэтага нейкія дурныя рэчы што не ўсё, што інтэлектуальна
цікава.
Але калі мы гэты маленькі хіт Мікрафон button-- Уч.
Дазвольце мне ачысціць гэта.
Дазвольце мне палепшыць гэта як яны б сказалі па тэлевізары.
Ачысціце, што ўверх, Захаваць і Цяпер ісці да скрыптоў.
>> А цяпер дазвольце мне перайсці да гуку.
Дазвольце мне даць яму імя.
Я буду называць гэта Ouch.
І зараз гуляць гук Ouch.
Звярніце ўвагу на тое, што з'яўляецца ў трохі выпадальнае меню.
Пабачым.
>> [ОЙ]
>> [Смяецца]
Але мы можам змяніць т Яго на лета.
Мы можам быць у два разы раздражняе.
>> [ОЙ]
>> Ці, калі мы робім гэта, як 1000 крокаў за time--
>> ДОБРА.
Такім чынам, мы збіраемся пакінуць гэта адзін у адзіночку.
Так зноў жа, будаўніцтва blocks-- I пачаў з чымсьці супер просты,
а затым я дадаў функцыю, дададзеная магчымасць, дададзеная магчымасць.
І я больш не трэба турбавацца аб як першы з гэтых функцый
быў рэалізаваны як я па-ранейшаму напластоўваць рэчы на ​​вяршыні.
Так што на самой справе, дазвольце мне зрабіць адно іншае тут.
Дазвольце мне ісці наперад і адкрыць файл, Я прынёс загадзя, называецца Авечак.
>> Так што ён мае крыху іншы сімвал, які выглядае наступным чынам.
І дазвольце мне ўбачыць, калі я не магу зрабіць што-то з дапамогай лічыльніка
у гэтым case-- так званую зменную.
Я збіраюся ісці наперад і пад Events-- дазвольце мне атрымаць зялёны сцяг пстрыкнуў.
Тады дазвольце мне перайсці да дадзеных, якія я ведаю, ад проста гуляў раней,
дзе зменныя.
І я збіраюся ісці наперад і перацягнуць гэта.
>> Так што пераменная называецца лічыльнік, і Я збіраюся ініцыялізаваць яго да нуля.
Я магу назваць яго anything-- х ці к або z--, але ў праграмаванні,
называючы нешта ў семантычна карысны спосаб, як лічыльнік,
які апісвае, што гэта такое, гэта нашмат лягчэй чытаць ваш код пазней.
Дазвольце мне ісці наперад і атрымаць назаўжды заблакаваць тут.
І дазвольце мне перайсці да знешнасці старонкі і зрабіць блок Say.
Але што гэта крута аб зменных я ня трэба проста ўвесці нешта
як прывітанне свет, які мы ўжо зроблена, я магу замест таго, каб перайсці да дадзеных
і перацягнуць маю зменную, і нават хоць форма не зусім
выглядаць ён павінен адпавядаць, яна будзе расці, каб запоўніць.
І я проста скажу, лічыльнік для аднаго second-- spoiler-- ён збіраецца разлічваць.
Мы будзем казаць пра гэта на працягу адной секунды.
Тады я пайду і ёсць яго чакаць на працягу адной секунды,
так што гэта не лічыцца занадта хутка.
І затым, нарэшце, змяніць лічыльнік па одно-- іншымі словамі,
прырашчэнне лічыльніка на адзінку дадатковае значэнне і зрабіць гэта назаўжды.
>> Так што авечкі таксама, падобна праграміст, лічыць ад 0.
І калі мы будзем чакаць дастаткова доўга, ён зробіць гэта назаўжды.
Але гэта не зусім дакладна, таму што на самай справе, як мы выявім у тыдзень адзін,
цэлыя лікі і кампутары ў больш агульным плане, тэхнічна ёсць толькі finite-- добра,
а кампутары, калі яны ўяўляюць сабой цэлыя лікі,
толькі канчатковае лік бітаў.
Гэтыя лямпачкі там можа разлічваць толькі настолькі высокая
перш чым вы з лямпачак.
І кампутар таксама, толькі мае так шмат памяці,
толькі мае так шмат транзістараў, так што ён можа разлічваць толькі гэтак высокая.
>> Так атрымліваецца, што авечкі, Я думаю, што, можа разлічваць на 2 млрд
ці нешта даволі вялікі.
Такім чынам, мы не будзем чакаць, пакуль гэта адбудзецца.
Але ў рэшце рэшт нейкая памылка будзе адбывацца якія могуць мець некаторыя вельмі рэальны свет
адгалінаваннях.
Але за авечак, што проста ўводзіць зменную.
Давайце ісці наперад і адкрыць тое, што я зрабіў загадзя
тут называецца любімца Cat-- Pet Ката тут.
І заўважце, тут гэта мала блокі, але калі зялёны сцяг
пстрыкнуў, назаўжды, выканаўшы наступныя дзеянні.
Калі вы датыкаючыся да мышы pointer--, каб курсор на экране,
arrow-- гульня гук мяу а затым пачакайце дзве секунды.
І як раз зрабіць гэта назаўжды.
Проста пастаянна чакаць каб убачыць, калі pointer--
калі котка кранае паказальнік.
>> Так што я ўдарыў гуляць.
Нічога не адбываецца.
Але, як я перамясціць курсор над коткай,
>> [Мяўканне]
>> І калі я перамясціць яго ў бок, не гладзіць котку больш.
Такім чынам, некаторыя умоўная логіка укладзенымі ўнутры цыклу.
Як пра гэта прыкладзе, наўмысна называецца Ня пагладзіць котку?
Што гэта будзе рабіць?
>> [Мяўканне]
>> Чаму вы не гладзіце котку?
>> [Мяўканне]
>> ДОБРА.
Так што гэта прыклад, калі ў іншым месцы.
Гэта кропка прыняцця рашэння і таму што ён сядзіць у пятлі,
яны абодва атрымліваць чэк.
Як яно ёсць сапраўды
І ў рэшце рэшт, адзін з тыя, збіраецца падаць заяўку
і таму вы чуеце альбо мяу або рык ільва ў гэтым выпадку.
>> Што ж, давайце рабіць трохі больш фантазіі аднаго што я зрабіў загадзя too-- нітак.
Такім чынам, паток з'яўляецца толькі адным рэч, што кампутар можа зрабіць.
Так шматструменнай праграма ўяўляе сабой праграму што можа зрабіць некалькі рэчаў адначасова.
І ўсе гэтыя прыклады да гэтага часу мелі
толькі адзін сцэнар, так speak-- адна праграма, як гэта тут.
Але зьвярніце ўвагу, гэтая праграма мае два спрайт, два знака.
Адным з іх з'яўляецца птушка.
Адным з іх з'яўляецца кошка.
>> І да вашага ведама, калі я націскаю на іх ўніз злева, кожны з іх мае свае ўласныя сцэнары
або праграмнае забеспячэнне, звязаныя з імі.
І абодва гэтыя праграмы, апавяшчэнне, пачатак
з тым, калі зялёны сцяг clicked-- давайце паглядзім на cat--
калі зялёны сцяг пстрыкнуў.
І так на самой справе, калі я ударыў гуляць зараз, дзве рэчы, якія будуць адбывацца адначасова.
Котка і птушка абодва будзе працаваць адначасова
для стварэння гэтага эфекту.
І вы можаце сабе ўявіць, што адбываецца.
Там ёсць пятля і птушка і кошкі знаходзяцца ў пятлі.
Птушка проста падскокваючы, як Я быў раней, калі я сказаў Уч.
Але кот відавочна мае перавагу.
Там іншая адчувальны блок што паказвае котку наўмысна
каб птушкі ў гэтым выпадку тут.
Такім чынам, мы маглі б дражніць адзін ад аднаго, гледзячы праз гэтыя блокі, што адбываецца.
Але ключавой інгрэдыент тут адзін.
Птушка, так што гэтая гульня не цалкам boring-- ці гэта animation--
пачынаецца ў адвольным напрамку.
І кампутар набірае лік ад 90 да 180
па сутнасці, такім чынам, што гэта злёгку розныя анімацыі кожны раз.
>> І звярніце ўвагу на тое тут, калі кот кранае птушку, то
гуляць льва чатыры sound-- роў.
Але пакуль у птушыную палітра, у нас ёсць гэта.
Назаўжды, калі не дакранаючыся ката, проста працягваць рухацца тры крокі.
А потым вось яшчэ кавалак галаваломкі.
Калі вы знаходзіцеся на краі, падскокваць.
Такім чынам, птушка проста выгляд звяртаючы ўвагі свой уласны бізнес,
проста лётаць вакол і падскокваючы, і гэта сапраўды
котка, якая была ўмоўнай логікі каб вызначыць, ці з'яўляецца ён злавіў птушку.
Добра.
Дык давайце зробім адзін іншы тут, гэта адна з якіх называецца Прывітанне Прывітанне Прывітанне.
І гэты тут проста робіць гэта ў назаўжды пятлі.
Але notice--, як мы спыняем гэта вельмі раздражняе праграма?
Націсніце прабел.
Таму што, калі я магу гэта зрабіць, левая рука program--
звярніце ўвагу, што гэта ўвесь час listening-- з'яўляецца ключавым прастору прэса.
Калі прабел націснутая, і калі так, то што ён робіць?
Гэта робіць вельмі распаўсюджаную тэхніку.
Яна ўсталёўвае зменную роўнай некаторага значэння.
Але яна перамыкае гэта значэнне.
[? Так што знешні выгляд?] заснаваны на shape-- I
ёсць пераменная, што я пісаў загадзя пад назвай
Прыглушаны, які проста кажа: так ці не.
Прыглушаны гук ці не?
Праўда ці хлусня?
І заўважце, я кажу, калі this-- прыглушаныя роўны нулю, то мяняецца на адзін,
інакш ўсталяваць нямога яго да нуля.
Такім чынам, проста перавярніце значэнне ад нуля да адзінкі.
Я мог бы змяніць яго done-- ад двух да трох і ад трох да двух
ці ад чатырох да пяці або чатырох да шасці.
Але гэта не мае значэння якія лічбы, якія я выкарыстоўваю,
да таго часу, пакуль я змяняючы яго супрацьлегласць.
>> І большасць любы праграміст мог бы проста выбраць нуль і одно-- хлусня і праўда,
выкл і on--, каб прадставіць гэта.
І гэта ўсё яшчэ працуе.
Калі я зноў націснуць прабел
>> [SEAL ГУК]
>> Праграма ўсё яшчэ працуе.
Таму што гэты іншы сцэнар што кажа, назаўсёды зрабіць наступнае.
Калі прыглушаны пераменная роўная zero-- так што калі вы не прыглушаны
з'яўляецца logic--, калі яно ілжыва ці не, а затым прайграваць гук,
таму што вы не прыглушаны.
Вы павінны гуляць гук, а затым думаю прывітанне прывітанне прывітанне на працягу двух секунд
а затым чакаць, і зрабіць гэта зноў і зноў і зноў.
>> І вось такім чынам мы маем шлях для людзі, мэтай якіх для праграм, каб ўзаемадзейнічаць.
І яны не павінны быць, як датаваць іншыя.
На самай справе, тыкаючы around-- ня каламбур intended--
хтосьці выдаткаваў велізарная колькасць час у Інтэрнэце, якая рэалізуе
PokemonGo ў пустым месцы.
Ён нават geolocates вас у Кембрыдж або Олстон тут.
Так што калі вы хочаце, каб убачыць, што людзі занадта можа зрабіць, гэта вельмі this-- фантазіі меню.
Націсніце тут.
>> Гэта я з маімі клавішамі са стрэлкамі ў цяперашні час.
Я збіраюся пайсці пасля гэтага.
Націсніце.
І цяпер вы пстрыкніце PokeBall.
Я маю на ўвазе, я думаю, што ты павінен націснуць PokeBall.
Добра.
Так што я зрабіў гэта.
Я магу пайсці тут.
І гэты чалавек рэалізаваны яшчэ трохі PokeBalls над here-- трох PokeBalls.
>> Мы апублікуем спасылку на гэтую старонку онлайн, так што вы можаце гуляць.
Але зьвярніце ўвагу: ёсць толькі некаторыя асноўныя будаўнічыя блокі.
Гэта выглядае нашмат спрактыкаваней, і гэта.
Гэта ўражвае і многае іншае чым мы, як правіла,
чакаць, вядома, для задачы ўсталяваць нуль.
Я паняцця не маю, як доўга гэты чалавек правёў у Інтэрнэце.
Але гэта ўсяго толькі пятля.
Там ёсць гук гульні.
Там нейкая пятля праслухоўвае Ці я я
патрапіўшы стрэлку уверх ці ўніз на стрэлка або левы і правы,
а затым, калі гэта так, ён рухаецца гэта некаторы колькасць пікселяў.
І потым, калі я націскаю на іншы спрайт, ёсць
свайго роду, калі стан там.
Так, гэта становіцца занадта інтэнсіўным.
Мы збіраемся спыніцца.
Гэта ўсё тыя асноўныя будаўнічыя блокі.
Там няма іншых іншых інгрэдыентаў чым тыя, якія мы разгледзелі ўжо.
>> І ўсё ж тут, зробім адзін апошні набор прыкладаў
што малюе карціну занадта аб тым, што вы можаце зрабіць тут.
Вось вельмі простая праграма, якая проста робіць this-- кашаль, кашаль, кашаль.
І грунтуючыся толькі на тое, што мы разгледзелі да гэтага часу,
дзе гэта відавочна магчымасць для паляпшэння.
Гэтая праграма з'яўляецца правільным.
Ён кашляе тры разы, які з'яўляецца тое, што я меў намер.
Але гэта дрэнна рэалізуецца.
Гэта дрэнна спланаваныя.
Чаму?
Так.
Гэта не пятля.
І гэта не так шмат што гэта не пятля,
гэта тое, што ёсць шмат надмернасці.
Там капіюецца і ўставіць код, калі можна так выказацца.
І рашэнне, верагодна, сапраўды пятля.
Такім чынам, дазвольце мне ісці наперад і палепшыць гэта.
І я збіраюся цягнуць іх сюды.
Дазвольце мне ісці наперад і атрымаць паўтарэнне блок, змяніць гэта на тры.
Я збіраюся выкінуць некаторыя з гэтых блокаў.
>> І вы ўбачыце, што гэта даволі інтуітыўна.
Перацягнуць і рэчы з'яўляюцца і знікаюць у рэшце рэшт.
І я магу проста перацягнуць гэта тут, і У мяне зараз ёсць больш чыстую версію да гэтага часу.
Але вы ведаеце, што?
Там гэтая магчымасць цяпер для abstraction--
каб пачаць вызначаць новы слоўнік што MIT не чакалі.
Там чакаць і паўторыце і на вякі вякоў, і калі,
але што, калі я хачу прадставіць слова кашаль як блок?
Што рабіць, калі я хачу кавалак галаваломкі чыя мэта ў жыцці кашаль?
>> Што ж, давайце паглядзім на гэтую версію тут, які я зрабіў наступным чынам.
Чароўна, я стварыў гэты кавалак галаваломкі тут,
які драпіна дазваляе рабіць.
І на самай справе С і Python і JavaScript з'яўляюцца
збіраецца, каб дазволіць вам зрабіць гэта, а таксама.
Вы можаце стварыць свой уласны часткі, якія вы называеце тое, што вы хочаце.
У гэтым выпадку, кашаль адчувае як разумнае вызначэнне.
А потым з гэтымі часткамі ўніз тут вы можаце вызначыць, што гэта значыць.
>> Я перацягнутыя з гэтая палітра here-- больш
blocks-- гэты вялікі фіялетавы блок, дзе я надрукаваў ад кашлю
як імя майго новага паззл.
І тады я кажу кожны раз, калі карыстальнік называе гэты новы кавалак галаваломкі кашаль,
зрабіць слова і чакаць.
І вось тут, у маім паўторным блоку, Я магу толькі кашаль у тры разы.
>> І я б сказаў, асабліва калі цяпер вы схаваць гэтую дэталь.
Хто клапоціцца, як рэалізуецца кашаль?
Усё, што я клапачуся аб якасці праграміст, што я магу кашаль.
Мяне не хвалюе, як кажуць, рэалізуецца.
Я проста ўсё роўна, што кот можа сказаць нешта.
Я магу абстрагавацца ад дэталяў і што акцэнтаваць увагу толькі на тое, што на экране тут.
Але я магу зрабіць яшчэ адзін крок наперад.
>> Звярніце ўвагу на тое, што тут, у мяне ёсць рэалізаваны контур ў тры разы.
Але што, калі замест таго, каб я хапаю гэтую версію?
А што, калі замест таго, каб У гэтай версіі тут,
Я проста змяніць свой кавалак галаваломкі, каб прыняць аргумент і ўваход да сябе?
І што ўваход можа быць лік, напрыклад тры.
Так што цяпер, калі я пішу праграму і я хачу, каб котка кашляць,
Я магу на самой справе сказаць галаваломкі кавалачках, колькі разоў кашаль,
таму што на дне тут, аматар версія гэтых карыстацкіх галаваломкі
дазваляе мне было паказаць, што кашаль фактычна прымае
input-- прымае аргумент, як гэта.
І вы ведаеце, што?
Можа быць, я разумею, пачакайце хвіліну.
Кашаль з'яўляецца same-- гэта прынцыпова
тая ж ідэя, як чханне.
Гэта проста розныя слова на экране.
Я магу абстрагавацца ад далей і рэалізаваць
гэтая апошняя версія кашаль, які на першы погляд
шлях больш складаны выгляд.
Але зьвярніце ўвагу на тое, што я зрабіў.
У мяне цяпер generalized-- абагульненага really-- гэты кавалак галаваломкі
каб назваць слова сказаць п раз.
>> І зараз у мяне ёсць дзве новыя часткі галаваломкі тут вызначаюць кашаль п раз.
А што функцыя кашлю рабіць?
Што робіць мой заказ кавалак галаваломкі рабіць?
Гэта проста выклікае блок скажам, перадаючы словы я хачу сказаць,
праходзячы ў колькасці раз я хачу сказаць.
Таму што цяпер я магу рэалізаваць чханні, проста кажучы Achoo,
У гэтым выпадку, некалькі разоў.
>> І таму я адводкамі і кладцы.
І зноў жа, ключ тут не як я рэалізаваў яго, але той факт,
што калі я проста ў літаральным сэнсе перамясціць іх з экрана,
Паглядзіце, як проста, калі не прыгожая мая праграма зараз выглядае.
Таму што гэта тое, што ён кажа, я адведзенай
далёка, што знаходзіцца ўнутры гэтага чорнага скрыні. гэта здараецца фіялетавую скрынку тут,
але я перашкаджалі далёка, што ўнутры таму што я не хвалюе, як гэта працуе.
Я проста ўсё роўна цяпер, што гэта працуе.
>> І на самай справе, у задачы ўсталяваць нуль, гэта дакладна
выгляд напластаванне ідэй, якія вы будзеце маюць магчымасць даследаваць.
Гэта менавіта магчымасць прымяняць метады вырашэння праблем,
да таго, што, верагодна, незнаёмай асяроддзі.
І ці з'яўляецца вы не запраграмаваны перад тым ці запраграмаванае перад тым,
вы ўбачыце, што ёсць сёе-тое
у гэтым асяроддзі для ўсіх.
І з праблемай ўсталяваць адзін на працягу тыдня,
мы будзем пераходзілі да засяроджвання на больш высокім узроўні мовы пад назвай
C-- ці, хутчэй, найнізкую ўзровень мовы называецца
C--, што яшчэ больш магутны, нават калі гэта
крыху больш за загадкавым на першы погляд.
>> І вы зразумееце, што на сённяшні TL: DR, што гэтая праблема ўсталяваць мае больш кароткі
акно часу, чым будучыя, проста таму што вы павінны знайсці яго даволі
даступнай.
І не хвалюйцеся, калі Вы дадаеце клас позна.
Мы будзем вырашаць, што да таго часу.
І перш чым мы зачыню для торта, давайце скончыць ўсяго толькі дзве хвіліны погляду
на тое, што чакае вас тут у CS50.
[МУЗЫКА]
Добра.
Вось гэта для CS50.
Мы ўбачым вас у бліжэйшы час.
Торт цяпер служыў.
[МУЗЫКА]
СПІКЕР 17: Вы чулі з творчага адпачынку, начальнік?
СПІКЕР 18: Можа быць, ёсць больш пад капотам.