[Гуляе музыка] SPEAKER 1: Добра, усе. Сардэчна запрашаем у ваш апошнім раздзеле са мной. Гэта было даволі семестр. Я не магу паверыць, што гэта, быццам бы, 12-я тыдзень ці 11, што нешта падобнае. Але таму, што гэта наш апошні раздзел, у нас ёсць шмат цукерак. І я збіраюся паспрабаваць і падрыхтоўчымі вас так, як я можаце для вашага віктарыну на сераду. Так, верагодна, не лепшы спосаб, як, у канцы часткі з віктарыны агляду. Але мы паспрабуем і зрабіць гэта весела. І заўсёды ёсць цукеркі. Так, мы спадзяемся, што будзем рабіць гэта лепш. Ваша віктарына збіраецца быць даволі прыкладна тое ж самае, як віктарыны Zero. Гэта будзе той жа фармат, аднолькавай даўжыні. Вы будзеце ў памяшканнях, якія былі раскіданыя па па кампусе, таму што блізкія да 900 вамі, і мы не можам ўсё трымаць вас у пакоях, як гэта. Так што не забудзьцеся паглядзець на ўсе Віктарына адна дакументацыя на сайце cs50.harvard.edu сёння ці заўтра ўвечары. Пераканайцеся, што вы ведаеце, дзе вы знаходзіцеся збіраюцца, што вам трэба ўзяць з сабой. Сапраўды, трэба проста давесці сябе і аловак, і вы павінны быць у парадку. Пытанні будуць амаль такі ж. Там, верагодна, будзе пара множны выбар, пара кароткі адказ, некаторыя кадавання, можа быць, некаторыя ісціна / хлусня, адпаведнасць розныя рэчы. Такім чынам, вы не павінны быць занадта здзіўлены фармаце. Што можа быць дзіўнага ў тым, даўжыня, якая, у папярэднія гады, быў нашмат даўжэй. На мой год, я не маю ні аднаго сябра што я памятаю заканчэння іспыту. Былі, як рассеяны старонак, якое засталося пустым. Такім чынам, даўжыня можа быць выгляд дэзарыентаваць толькі таму, што праз некалькі гадоў, ён мае быў значна больш, чым Віктарыны One. Я паняцця не маю, што гэта будзе як у гэтым годзе, але гэта нешта, каб быць у курсе. Акрамя таго, difficulty-- людзі, як правіла, знайсці Віктарына адзін значна больш цяжэй, чым Віктарына Zero. Зноў жа, вы ведаеце, калі ты накшталт прагулкі з адчуваючы сябе крыху няёмка, таму што Вы не рабілі, а як вы думалі, Вы б, ці вы адчуваеце, як вы не зрабілі зрабіць таксама, як вы рабілі ў віктарыне One, памятаеце, што ёсць, верагодна, шмат іншых людзей, адчуванне, што шлях. Я быў вызначана адным з тых людзей. Віктарына адзін, быццам бы, кінуў мяне для завесы. І мае сябры маюць гэты вялікі карціна з іх у JP Licks выгляд з гэтыя велізарныя марозіва, будучы, як, віктарыны One, і, гледзячы, як яны ў слязах. Так што гэта агульнае пачуццё. Гэта сур'ёзнае выпрабаванне, гэта жорсткая віктарыны. Відавочна, што калі вы прыйшлі, і вы адчуваеце, як вы пампавалі яго, гэта выдатна для вас. Але ведайце, што вы, верагодна, не-- Вы амаль дакладна не у спакоі, калі вы выходзіце адчуваючы, як, Эх, напэўна, мог бы яшчэ лепш. Гэта цяжка. Мм-хм. АЎДЫТОРЫЯ: Колькі каштуе па адносінах да [неразборліва]? SPEAKER 1: Гэта каштуе тое ж самае. Так. Але зноў жа, гэта таксама будзе ўплывае тое, як астатняй частцы класа робіць, як ваш раздзеле робіць, як вы ў апошні час палепшыліся. Ацэнку трохі чорнага скрыні. Так што рэальная колькасць або працэнт вы атрымаеце не абавязкова, як непасрэдна карэлюе са ступенню Вы збіраецеся атрымаць. Там гэта шмат фактары, якія ўваходзяць у яго. Так з гэтым, мы збіраемся прайсці праз некаторыя віктарыны агляду. Я проста хачу, каб запусціць гэта як у мінулы раз для вас, хлопцы. У мяне ёсць адказы на ўсе пытанні віктарыны Адна з апошніх года. Так што калі вы, хлопцы, жадаеце, каб выцягнуць што на вашых уласных кампутараў, калі вы ўзялі гэты экзамен да і ў вас ёсць пытанні, Я думаў, што мы маглі б проста прайсці праз некаторыя з больш цяжкіх на што. Такім чынам, мы можам казаць пра гэта, можа быць, атрымаць крыху больш разумення у інтуіцыі за некаторыя з Гэтыя пытанні, як да іх падысці. Як добра, як у мінулы раз, У мяне ёсць 100-слайды што мае ў асноўным усе слайдаў, што я падрыхтавалі для папярэдняя раздзелы з часу Вашага апошняга quiz-- I ёсць у гэтай калодзе. Так што мы можам прайсці праз амаль усё, што што мы гаварылі пра загадзя, што, можа быць, вам хачу крыху больш тлумачэнняў па. Мы маглі б зрабіць у першую чаргу. Але ў астатнім, я супер проста шчаслівыя роду працы праз гэтыя праблемы з вамі. І я сапраўды тут, каб засяродзіцца на тым, што вы, хлопцы, думаю, будзе найбольш важным, каб засяродзіцца. Як, відавочна, усё гэты матэрыял мае важнае значэнне. Тым больш, што мы праходзім праз Віктарына One, Я вызначана паказваюць на такія рэчы, як, ой, гэта можа быць што-то Вы сапраўды хочаце ведаць, ці вы хочаце, каб на вашым шпаргалку. Я буду распавядаць вам рэчы як мы неяк перажыць. Так што на гэтай ноце, ёсць нейкія рэчы што вы, хлопцы хацелі б пайсці зноў? Акрамя таго, калі ў мяне няма яго ў маёй палубе, мы можам падцягнуць што-то ў Інтэрнэце, ці мы можам паспрабаваць зрабіць да прыкладу на лета. Але любыя паняцці, якія вы Хлопцы трохі невыразнай на. [? Браян ,?] Ты have-- АЎДЫТОРЫЯ: Так, гэта кумулятыўны? Маўляў, матэрыял на пытанні віктарыны Нуль будзе тут? SPEAKER 1: Гэта кумулятыўны, але гэта значна больш акцэнту на рэчы З часу Вашага апошняга тэсту. Так, відавочна, вы, хлопцы, ёсць даведаліся аб зменных, і завесы, і ўмоўныя. І гэта не падабаецца тым, хто толькі сысці, таму што яны Відавочна, ўласцівая ўсім астатняе, што мы даведаліся цяпер. Там можа быць пытанне ад відаў, або ёсць можа быць пытанне на розных запытаў. Ці можа быць пара пытанні па магчыма тое, што вы маючы справу з складання або розныя памылкі. Але калі вы глядзелі на Віктарына Адзін з мінулага года, Вы заўважыце, што гэта вельмі сканцэнтраваны на рэчах, што адбылося з моманту вашага апошняга тэсту. Чаму, што дзверы заўсёды зачынены? Гэта сапраўды турбуе мяне. Таму што я заўсёды стараюся ісці праз яго. Так што вельмі шмат як віктарына будзе. Так ці ёсць паняцці, якія вы, хлопцы, хацелі б пайсці зноў? Ці мы можам перайсці непасрэдна да проста гледзячы на ​​Віктарына One у параўнанні з мінулым годам і выгляд збіраюся з дапамогай пытанняў практыцы. Мы таксама можам перайсці туды і назад. Гэта не адзін раз такія рэчы. Ёсць пытанні? Так. АЎДЫТОРЫЯ: Ці магу я спытаць, Пытанне аб another-- SPEAKER 1: Яшчэ адзін? АЎДЫТОРЫЯ: Гэта з іншага года. SPEAKER 1: Так. Мы таксама можам зрабіць яшчэ адзін год. АЎДЫТОРЫЯ: OK. Так на 2011. SPEAKER 1: 2011. Ох, гэта было за год да мяне. Дай, я выму гэта. Аўдыторыя: Я думаю. SPEAKER 1: Гэты аспект суадносіны кідае мяне. АЎДЫТОРЫЯ: 11 і 12. SPEAKER 1: 11 і 12. ОК. Ну, вось, чаму б нам не зрабіць гэта? Вы guys-- усё проста ўзяць пару хвілін, каб праглядаць віктарыны. І мы будзем складаць спіс. І тады мы будзем ісці праз іх. Добра? У той час як я атрымліваю кучу з гэтага матэрыялу створана. ОК. Я проста хачу, каб напісаць рэчы на ​​паперы. 2011, 11 і 12? Я проста хачу, каб змяніць гэты дысплей. ОК. Гэта лепш. Гэта больш. Добра. Хто-небудзь яшчэ ёсць якія-небудзь, што яны хацелі б пачаць? Акрамя таго, забыўся сказаць, што калі вы хочаце больш з купка людзей гаварыць на вас і проста дае вам расколіны Вядома, у апошнія шэсць тыдняў, мы праводзім агляд сесію 07:00 а 8:30 сёння на Паўночна-Захадзе B103, які таксама адбылося Апошні раз, калі ён збіраецца быць мне, Ханна, Daven, з Gabe і Роб від дапамогі ад кулуарах проста нейкая кідае ўсе інфармацыю, якая можа хочаце, каб на вашым шпаргалку, слэш, ведаеце, наогул няма. АЎДЫТОРЫЯ: Гэта таксама ў Інтэрнэце, ці не так? SPEAKER 1: Гэта таксама ў Інтэрнэце. Такім чынам, вы можаце таксама трымацца далей ад гэтага непрывабнае надвор'е, перайдзіце ў інтэрнаце, і жывы струмень, калі вы хочаце. Я ўпэўнены, што шмат people-- Я ведаю, што будзе рабіць, што калі б я быў на вашым месцы. ОК. Дык чаму б нам не пачаць with-- у той час як вы guys-- як мы спадзяемся, Вы праглядаеце. Калі няма, то я мог бы проста пачаць працаваць праз розныя рэчы на ​​пытанні віктарыны One няма з мінулага года, калі вас ёсць канкрэтныя пытанні. Мы пачнем з гэтага пытанне вось пра стэкаў. Ці так усё памятаюць накшталт таго, што стэк? Як мы, як правіла to-- можа хто-небудзь проста даць мне агульнае апісанне стэка? Тып структуры дадзеных. ОК. Так што гэта адзін з Структуры дадзеных, якія мы чакаюць, што вы знаёмыя with-- як стэкі, масівы, чэргі, і гэтак далей. Так. АЎДЫТОРЫЯ: Як-першае Увайшоў, апошнім выйшаў, нешта. SPEAKER 1: Гэта першы ўвайшоў, апошнім выйшаў. Менавіта так. Так стэк дакладна тое, што мы схільныя думаць, пра тое, калі мы думаем, чаркі рэчаў. Так стос пласцін. Першая пласціна вы паклалі будзе на дне, і гэта будзе апошні той, які вы выдаліце ​​у канцы. Таму што яны складаюць. І вы бераце на сябе адзін з дна, Як правіла, рэчы аварыі і зламаць. Так складваецца вы можаце думаць аб Гэтак жа, як пакет пласцін. Або прыклад, які мы заўсёды хацеў скарыстаць знаходзіцца ў D залаў, у вас ёсць латкі, усе яны складзеныя, і вы прымаеце зверху. Так апошні ў гэта першая з. ОК. Такім чынам, у дадзеным выпадку, мы бачыць, што мы have-- Цікава калі я магу на самой справе павялічыць няшмат. Такім чынам, мы маем гэтую структуру тут. Дакладна? Так у вас ёсць структуру, якая мае некаторыя Int лік магутнасці. Так што мы лічым, што ўяўляе? Гэта масіў з памерам ёмістасці. Так што гэта сапраўды ўяўляе наш стэк ў цэлым. Наша стэк на самай справе проста масіў з некаторым зададзеным колькасцю гэта яго максімальная, гэта значыць яго ёмістасць. І тады ў нас ёсць некаторыя памер Int, які будзе адсочваць памер нашага стэка на працягу пра тое, калі мы выкарыстоўваем яго. ОК? У гэтым выпадку прама тут, мы кажам, што нашы памер стэка быў ініцыялізаваны у 0. Таму ў нас ёсць пусты стэк прама цяпер. А потым мы хочам, каб завяршыць Рэалізацыя поп такім чынам, што ён вяртае Int на самым версе. І потым, калі ён пусты, яна вяртае адмоўнае 1. ОК? Так што я хачу, каб вы, хлопцы, проста думаю, пра тое, што мы маглі б зрабіць там. Што можа быць адным з першых рэчы, якія мы хацелі б праверыць? Там гэта вялікая рэч тут. Кожны раз, калі ён says-- калі ёсць калі-небудзь некаторыя Калі заяву, як "Калі стэк пусты," або "Калі гэта вяртае NULL", або "Калі гэта тое, што" - прабачце. АЎДЫТОРЫЯ: Напісаць аператар If. SPEAKER 1: Дакладна. Вы маглі б напісаць пра If. І гэта, напэўна, адзін з Першыя рэчы, якія вы хочаце праверыць. ОК. Кожны раз, калі яны даюць вам накшталт як кутняй выпадку як гэта, што гэта, як правіла, адзін з першых рэчаў, Вы збіраецеся праверыць у кодзе. Акрамя таго, што-то прызнаць за тэст калі ў вас ёсць неэфектыўны шлях зрабіць што-то, запішыце гэта. Таму што мы не сартавання Вы па дызайне, мы сартаванне вам на правільнасць для віктарыны. Такім чынам, нават калі вы ведаеце, што гэта супер Нядрэнны спосаб зрабіць што-то, але гэта працуе, запішыце яго, добра? Літаральна, я бачыў дзяцей у мінулым год-- калі вы паглядзіце на адзін у мінулым годзе, яны, як, зрабіць піраміду Марыё. І яны літаральна толькі што зрабіў "друк, хэш, друк, хэш, хэш, друк, хэш, хэш, хэш ". Але гэта правільна. Гэта тое, што мы расказалі пра гэта, так што вы не можаце ўзяць ачкі ў. Калі вы да дрот, відавочна, што вы хочаце атрымаць больш элегантнае рашэнне, і больш элегантнае рашэнне, верагодна, менш код, які азначае, што вы, верагодна, маюць больш высокі шанец быць правым. Але калі вы, як вы ведаеце, што, не, я не ёсць час, я ведаю, што гэта рашэнне, гэта не лепшы, запішыце яго. І вы можаце нават напісаць на бок, я ведаю, што гэта жудасна, але я ведаю, што гэта працуе. Так што ў хедз-апе. ОК. Так, відавочна, перш за ўсё гэта зацвярджэнне If. Так што мы думаем, што гэта, калі Заява будзе? А на самай справе, дазвольце мне адкрытым да маёй вялікай Sublime рэдактары. Я збіраюся кадзіраваць гэта, а затым паказаць вам, хлопцы, калі гэта будзе зроблена. Так INT поп-музыкі. ОК. Так што, калі ў нас ёсць гэты INT поп void-- так відавочна, гэта нейкая функцыя, якая прымае ў нічога і вяртае цэлы лік, ці не так? Так што гэта проста будзем казаць пра Гэты стэк, што мы стварылі. Так што для ажыццяўлення гэтага ў мінулым Прысуд ", калі стэк пусты, поп павінны вярнуцца адмоўным 1 ", як мы маглі б гэта зрабіць? Так што калі? Як мы ведаем, што стэк пусты? Гэта толькі памер роўны 0. Stack.size роўная 0. Акрамя таго, я такога ліста сьляпых тут. Так што, калі я рабіць якія-небудзь typos-- о, Таксама забыўся згадаць пра гэта. На мінулым тыдні, я цалкам зразумеў, што наша праблема была з JavaScript. Не скарыстацца I і D. Вы павінны толькі зарабіць I і атрымаць элемент, Id. І гэта было ўсё памылкі. Так што, калі вы, хлопцы, вярнуцца і на самай справе выглядаюць праз майго кода, калі вы проста зрабіць усё маленькая d ", забыцца элемент, Id," ён будзе працаваць. Так як я і абяцаў, я быў вельмі блізкі. Я проста капитализируются што-то Я не павінен быў, што Я ўпэўнены, што вы, хлопцы, былі ў сваім апошнім PSET. Так што, калі наш памер роўны 0, Што мы павінны рабіць? АЎДЫТОРЫЯ: Вярнуцца негатыўнае 1. SPEAKER 1: Вяртанне негатыўнае 1. Крута. Так што цяпер нам рабіць? Мы хочам, каб соваць што-то прэч. Цяпер гэта справа дзе ў нас ёсць што-то. Наш памер больш, чым 1 або больш, чым 0, ці не так? Мы на самай справе ёсць што-то там. Такім чынам, што мы хочам зрабіць, гэта мы хачу вярнуцца прама тут. Мы збіраемся сказаць, што мы хочам вярнуцца вяршыню стэка. ОК? Так як мы можам гэта зрабіць? Як мы вяртаем вяршыню стэка? Памятаеце, наша стэк проста масіў, ці не так? Ён мае пэўны патэнцыял што мы далі яго. Як мы ўжо навялі on-- ці на самай справе, мы збіраемся напісаць "штуршок" пасля гэтага. Калі што-то ў there-- Можа быць, карціна дапаможа. Хм, мне падабаецца вялікі мел лепш. Так if-- і вы можаце проста думаю, гэта як наш стэк. Такім чынам, гэта 0, 1, 2. Я не ведаю, чаму мае скрыні становіцца ўсё менш. Але там. ОК. Так што гэта нейкі стэк з магутнасцю 5. І давайце, у нас ёсць што-то тут і ў нас ёсць што-то тут. Таму на дадзеным этапе, наш памер якога роўны да чаго? 2. І калі мы хочам, каб соваць што-то з яго, гэта азначае, што мы хочам атрымаць пазбавіцца ад гэтага прама тут. ОК? Так як жа мы вяртаемся гэта значэнне? АЎДЫТОРЫЯ: Памер мінус 1. SPEAKER 1: Дакладна. Так памер мінус 1, ці вы можа зрабіць памер мінус мінус. Але мы не можам проста зрабіць памер. Гэта ўнутры структуры, ці не так? Так stack.struct. або stack.size. Гэта наш індэкс прама там. ОК? І потым, калі мы паглядзім Вярнуцца на нашым структуры тут, мы заўважаем, што на самай справе доступ да масіва, мы павінны зрабіць stack.numbers на самай справе доступ да гэтага масіву. Так, што вяртае вяршыні стэка. Але нешта that-- калі вы, хлопцы глядзець на ключы адказаў, гэта ўсё, што яны даць вам. Так гэта ён. Але я магу сцвярджаць, што яны miss-- ох, не тое, што я хацеў. Я мог бы сцвярджаць, што яны што-то адсутнічае, because-- так. АЎДЫТОРЫЯ: Паменшыць памер. SPEAKER 1: Дакладна. Мы павінны паменшыць памер нашай цяпер. Так што складана пра гэта, як толькі вы вярнуцца то ваша функцыя х адбываецца выхад, праўда? Так што мы маглі б зрабіць, гэта на самай справе паменшыць памер нашай першым. І тады мы зможам проста stack.size. Мы можам проста выкарыстоўваць stack.size як наш індэкс, мы не маглі? Таму што, калі stack.size 2, мы памяншаем яго. І так гэта 1, наша бягучая Indice. Пасля таго, як мы пазбавімся ад гэтага, мы на самай справе толькі ёсць адно ў нашым масіве. Так ён робіць тое, і другое. АЎДЫТОРЫЯ: [неразборліва]? SPEAKER 1: Ну, у дадзеным выпадку, мы толькі што вярнуліся элемент у верхняй, што знаходзіцца ў нашым памер гэта на самым версе. Але мы не зрабілі нічога, каб Памер пасля мы знялі гэты элемент. Гэта не змянілася наш памер яшчэ. Гэта робіць на самай справе па сутнасці змяніць наш памер. Але зрабіць гэта крыху больш зразумела, вы маглі б зрабіць stack.size мінус мінус. Для мяне, гэта робіць, я не ведаю трохі больш ясным that-- ах, што вы на самой справе змены Памер і вяртанне яго. Іншы спосаб быў выдатны, таму што Вы мянялі і вяртанне у той жа час. Але гэта проста яшчэ адзін спосаб напісаць гэта тое, што я хацеў паказаць вам, хлопцы. Ці мае гэта сэнс? Штабелі, як мне здаецца, значна прасцей, чым чэргаў. [Смяецца] ОК. Ці было ў вас якія-небудзь пэўныя пытанні прыблізна 11 і 12, або просто-- Аўдыторыя: Я думаю, што гэта быў стэк. SPEAKER 1: памер стэка? АЎДЫТОРЫЯ: Так. SPEAKER 1: Папаўся. ОК. Так, вы можаце зрабіць гэта ў адзін з гэтых двух спосабаў. ОК. Так што цяпер у нас ёсць іншы. Гэта сапраўды дзіўна, як не маючы гэта на маім экране. Так што, калі мы паглядзім тут, зараз мы хочам, каб завяршыць рэалізацыю штуршок, якія на самай справе ставіць што-то, ідзе і ўстаўляе што-то ў нашай чарзе, або ў нашым стэку. ОК? Так што, калі мы заўважаем, мы ёсць некалькі рэчаў. У нас ёсць great-- калі ўсё астатняе, кожны раз, калі ў нас ёсць адзін з іх, вы, хлопцы, павінны, па меншай меры, атрымаць палову момант, таму што ўсё, што вам трэба зрабіць, , Гэта пераўтварыць гэта ў C. І яны даюць вам палову. Такім чынам, "калі стэк поўны ці ён адмоўны, затым націсніце павінна вярнуцца ілжывым ". ОК? Такім чынам, мы толькі хочам станоўчы цэлыя быць у нашым стэку. Добра? І гэта будзе альбо вярнуцца сапраўдным або ілжывым. Такім чынам, мы павінны [неразборліва] BOOL. ОК. Так перакладзе. АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: О, дзякуй. Так. Вось чаму я вас, хлопцы. Int N. Ідэальна падыходзіць. Таму што мы ўкладваем што-то на нашай стэка. Мы на самай справе трэба некаторы колькасць. ОК. Так што проста прымае, што апошняя радок яны далі нам, наш выгляд кутніх выпадках, Што вы думаеце, мы маем тут? Відавочна, што мы будзем мець некаторыя, калі. ОК. Таму мы сказалі, калі наш стэк поўнасцю або, калі п з'яўляецца адмоўным. Так прасцей за ўсё пачаць з, так што калі п менш 0 или-- памятаеце Ваш слаўны І і АБО аператары там. Як бы мы правяраем, ўбачыць, калі наш стэк поўны? Што адбываецца? АЎДЫТОРЫЯ: Памер роўная магутнасці. SPEAKER 1: Менавіта так. Ідэальна падыходзіць. ОК. І тое, што мы хочам, каб там рабіць? АЎДЫТОРЫЯ: Вяртанне ілжывым. SPEAKER 1: Вяртанне ілжывым. Ідэальна падыходзіць. Так на паўдарозе, ці не так? Па меншай меры, вы, хлопцы, будзе мець палову гэтага. Так што давайце думаць пра гэта. Так што гэта стэк мы пачынаем з. Мы спрабуем, каб пакласці некаторы элемент тут. У нас ёсць памер Гэта роўна 2 прама цяпер. У нас ёсць патэнцыял, што складае 5. І давайце, у нас ёсць некаторага п, што гэта роўна 3. Такім чынам, мы павінны ўвесці 3 у гэтай прасторы. І мы павінны ўвесці яго ў індэкс 2. Дакладна? Так як мы можам гэта зрабіць? Спроба assign-- мы хочаце атрымаць доступ да нашых масіў. Так stack.numbers. Але на тое, што Indice б мы хочам, каб гэта было? АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: Так. Stack.size. І мы хочам, каб роўнай п, ці не так? АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: Я быў на самай справе проста гледзячы на ​​гэта. Я думаю, што гэта няправільна. АЎДЫТОРЫЯ: Вы не хочаце прастору пасля бягучага памеру? SPEAKER 1: Ну, калі мы паглядзім тут, наш памер на дадзены момант з'яўляецца 2. Мы хочам, каб перайсці ў індэкс 2, таму што гэта вяршыня нашай стэка. Так што я б сказаў, што гэта павінны быць stack.size, і тады вы б павялічыць stack.size. Ці згодны ўсё? Я думаю, што я згодны з гэтым. Вы, хлопцы, можна сцвярджаць, са мной, калі вы хочаце. Ці не спрачаюся, але мы можам абмеркаваць гэта. АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: Мм-хм, дзе гэта адкрыць з-за нулявой індэксацыі. Так у той час як у першай частцы, Я думаў, што яны не мелі рацыю, і яны былі на самай справе правільна, гэта частка, я на самой справе думаю, што яны не мелі рацыю. Я б сказаў, вы павінны безумоўна, увядзiце яго тут. Я думаю, мы ўсе згодныя мы маем памер 2. Гэта дакладна, дзе мы хочам, каб наш новы нумар, каб пайсці. Так stack.numbers на stack.size павінна раўняцца п. І тады мы б павялічваць stack.size. ++. І тады тое, што мы хочам зрабіць? Там адна апошняя рэч, якую мы павінны рабіць, калі мы паспяхова выведзены гэта? Вярнуцца праўда. А цяпер вы зрабілі. Так што я адчуваю, як гэта было ўвесь мінус мінус stack.size і stack.size ++, што пераблыталіся рэчы. Цьфу. Я keep-- мяне ёсць гэтая рэфлекторная тэндэнцыя да заўсёды трапляюць Кантроль, S, таму што я ніколі не хочаце страціць любы з маіх работ. Але мне не трэба рабіць гэта цяпер. ОК. Так што было стэк. Крута. Ёсць што-небудзь? А вы, хлопцы, знайсці які-небудзь іншыя пытанні, якія вы хацелі хацеў перайсці ад папярэдніх віктарын? Калі няма, мы можам роду пачаць гаварыць праз Віктарына One ў мінулым годзе. Так. Залы: першы частка, я сапраўды не зразумець, як вы выдалілі нумар. Хіба гэта не ўсё яшчэ там? SPEAKER 1: нумар ўсё яшчэ там. Але тое, што адбываецца, што, таму што вы распавялі, што ў верхняй частцы стэка тут, калі вы ідзяце, каб дадаць нешта стэк, ён будзе проста замяніць яго. АЎДЫТОРЫЯ: О, добра. SPEAKER 1: Так. Так што гэта, як ён забыўся, і гэта ёсць тып рэчы, нават калі яна ёсць. АЎДЫТОРЫЯ: [неразборліва] або што-небудзь? SPEAKER 1: Няма Таму што мы знаходзімся ў масіў, вам не прыйдзецца турбавацца about-- вы проста перавызначыць яго, калі вам гэта трэба. Добра. Любыя іншыя пытанні? Калі не, мы толькі збіраемся каб пачаць працаваць да канца. Так. АЎДЫТОРЫЯ: Ну, гэта адзін на 2013, але толькі прайшоўшы праз SQL рэчы. SPEAKER 1: SQL? ОК. Так што гэта ад 26 да 29 гадоў. АЎДЫТОРЫЯ: Так. SPEAKER 1: OK. Выдатны. Давайце цягнуць тыя да. Ой, паглядзіце. Вы, хлопцы карыстаюцца Стыва Балмер казаць, дарэчы? Гэта было даволі весела, па-мойму. Мне падабаецца, што кожны раз, калі я падымаю CS50-х сайт падчас раздзеле, гэта як, ну, глядзець падзел. І я, як мм. АЎДЫТОРЫЯ: Ці можам мы гэта зрабіць? SPEAKER 1: Мы зробім гэта ў канцы. Як гэта? Таму што я ведаю, што вы, хлопцы заўсёды хацеў. Такім чынам, мы зробім гэта ў канцы. Адзін пытанні. АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: Гэта будзе мета раздзеле. АЎДЫТОРЫЯ: Гэта як 5 секунд. АЎДЫТОРЫЯ: У самай справе? АЎДЫТОРЫЯ: Гэта як 20 секунд. [Рэле ГАЛАСЫ] [Смех] SPEAKER 1: Мне падабаецца, што Вы ўжо зрабілі яго, што тое, што робіць мяне больш шчаслівым. ОК. 26. ОК. На самай справе, мы проста збіраемся люстэрка гэта цяпер, таму што я не магу. Гэта раздражняе. ОК. Цяпер я магу бачыць усе. Выдатны. ОК. Так, відавочна, гэта павінна вярнуць вялікія ўспаміны з [? РГС?] Фінансы. Палова з вас аб яшчэ твой ацэньваюцца цяпер. Іншая палова я атрымаю вельмі, вельмі хутка, я абяцаю. Такім чынам, мы мець нейкі SQL гэта Уліковыя запісы тут. Напэўна, падобна на прыстасаваныя табліцы вашых хлопчыкаў і дзяўчынак. І ў нас ёсць некаторая колькасць што было першаснага ключа і ўяўляе 12-значны нумар рахунку. І баланс, колькі грошай у іх ёсць. І значэнне па змаўчанні 100. І яны даюць ім $ 100 любая раз яны адкрыць рахунак. Я хачу, каб мая банк зрабіў. ОК. Таму мы хочам, каб скончыць схему, паказаўшы побач з нумарам у балансе адпаведны тып SQL. Дык што ж вы, хлопцы, думаеце, было б накшталт як ваш коленный рэфлекс для тыпаў для гэтых двух? АЎДЫТОРЫЯ: Int. SPEAKER 1: Int. ОК. І тады для балансу? Дзесятковая. ОК. Так прама дзесятковай гадоў. Int блізка. Від на вялікай рэччу гэта падкрэсліў 12-значны нумар рахунку. Кожны раз, калі ў нас ёсць што-то гэта больш, чым восем лічбаў, яны хочуць, каб выкарыстоўваць вялікі INT, які я думаю, is-- АЎДЫТОРЫЯ: Гэта проста SQL? SPEAKER 1: Гэта адзіны раз, калі я чуў, гэтага з'яўляецца SQL--, як з дапамогай вялікай Int. Гэта проста, каб даць вам трохі больш дакладнасці, пераканаўшыся, што вы не Перапоўненая рэч тыпу. Шчыра кажучы, я думаю, што гэта гэта, безумоўна, адзін з тых, дзе гэта як, ну, гэта азначала для людзей хто трохі больш ведаў аб SQL. Мы ніколі не казалі пра вялікія Інтс ў вашым PSET. Так што гэта накшталт як я ўпэўнены, калі вы паклалі Int, ён быў напалову крэдыт. І, як я ўжо казаў, там збіраюцца каб быць некаторыя пытанні, якія проста прызначаныя для збіць вас з панталыку, так што не кожны атрымлівае 100. Таму што, вядома, ёсць некаторыя людзі ў CS50 якія рабілі гэта на працягу як восем гадоў, і вы, як, што ты робіш? Але так. Дзесятковая для балансу было відавочным. І тады вялікая INT для ліку толькі таму, што таго, што, як падкрэсліў 12-значны. Кожны раз, калі што-небудзь тлустым шрыфтам ці гэта падкрэсліў, быццам бы, звярнуць на гэта ўвагу. Мы не робім, што толькі таму, што. ОК. Такім чынам, "Выкажам здагадку, што банк спаганяе $ 20 штомесячная плата па ўсіх рахунках. З якой запыт можа банк адняць $ 20 з кожнага рахунку нават калі гэта вынікае з некаторыя негатыўныя рэшткі? " Такім чынам, давайце пачнем з простага. У нас ёсць чатыры асноўныя каманды для SQL, дзе ты? Як вы, хлопцы памятаюць чатыры вялікія, што я табе сказаў? UPDATE, DELETE, SELECT, і ўставіць. Ідэальна падыходзіць. Зразумеў. Так што мы думаем, што моц найбольш карыснымі для гэтага? Мы are-- UPDATE. Менавіта так. Так UPDATE, таму што мы шукаем на рахунках, якія ўжо існуюць. Так што памятаеце, наш генерал роду рэчы абнаўленне. І тады тое, што прыходзіць пасля абнаўлення? У нас ёсць стол што мы спасылак. Так што, калі я цягну да ўзнёслых again-- UPDATE. Так што гэта агульны фармат. Такім чынам, мы маем абнавіць табліцу. І тады тое, што побач, што мы маем? Вы можаце зрабіць куды. І тады ў нас ёсць некаторыя адборачнага тут. І тады тое, што ў нас ёсць далей? У нас ёсць SET-- што-то роўна чагосьці. Бла роўна бла. Абноўлена бла. Дакладна? Дык вось, як наогул Ідэя-то абнаўлення. ОК? Такім чынам, давайце пачнем запаўняць гэта у з тым, што яна павінна быць. Так што табліцу мы гаворым? Уліковыя запісы. І тады ў гэтым выпадку, што гэта сапраўды крута у мы гаворым аб канкрэтных карыстальнікі ў наш рахунак, ці мы гаворым пра ўсіх карыстальнікаў? Мы гаворым пра ўсім карыстальнікам. Такім чынам, у гэтым выпадку, мы можам толькі выдаліць гэта WHERE адборачны. ДЗЕ толькі тады, калі вы хочаце абмежаваць тое, што вы змяняеце. Калі вы хочаце, каб змяніць увесь стол, вы можаце проста адмовіцца, што. ОК. Так што цяпер мы ў нашым частка набору. Што мы хочам змяніць? АЎДЫТОРЫЯ: Баланс. SPEAKER 1: Баланс. І мы збіраемся to--, як гэта мы збіраемся змяніць баланс? У нас ёсць $ 20 збор у, ці не так? Мінус 20. І яны сказалі, што гэта нармальна, калі у нас ёсць адмоўныя рэшткі. Такім чынам, у гэтым выпадку, вам не трэба рабіць якія-небудзь далейшыя праверкі памылак. ОК? Гэта значыць літаральна ўсё, што вы павінны рабіць. Прахладны? ОК. Так давайце пройдзем да наступнага. "З якой SQL-запыту банк атрымання нумары рахункаў з найбагацейшых кліентаў з ўраўнаважвае больш, чым $ 1000? " Калі ваш банк і вашых багатых кліентаў толькі тыя, з больш чым $ 1000, Я адчуваю, як ты рабіць што-то няправільна. Маўляў, як жа банк выжыць на што? Маўляў, што цікавасць, не дастаткова. ОК. З такога роду рэчы, што робяць думаеш, з нашых чатырох функцый, Як вы думаеце, што мы збіраемся выкарыстаць? SELECT. Ідэальна падыходзіць. SELECT. ОК. Такім чынам, мы выбары некаторых ідэнтыфікатар з табліцы. А потым, калі ўмова. Так як мы ідзем па гэта, я проста хачу, каб даць вам, хлопцы, агульнае асвяжыць на агульным фармаце ўсіх з іх. Такім чынам, мы выбары нейкі з [? рэч. ?] У гэтым выпадку, гэта будзе як правіла, некаторыя калонкі. Такім чынам, у нашым выпадку, у нас ёсць нумар, баланс. У выпадку, калі ваш хлопчыкаў і дзяўчынак, можа быць, гэта было ID, імя, пароль. Любы з гэтых слупкоў, гэта як правіла, тое, што мы выбару. Такім чынам, у гэтым выпадку тут, што выгляд слупка, у якой ідэнтыфікатар мы пацягнуўшы ад нашага стала? Што гэта звярнуцца да нас за? Ён заклікае нас для нашых нумароў, ці не так? Нумары рахункаў. Так што памятаеце, толькі лікам у дадзеным выпадку. Калі вы, хлопцы, калі-небудзь меў памылку, што ярка-аранжавы скрыню прыйдзе да. І гэта было, нечакана веславаць, як, што заўгодна. Гэта таму, што вы назвалі Ваш стол так, ці не так? Так што будзьце ўпэўненыя, што вы называючы калонкі правільна. Так з табліцы, нашым сталом Называецца рахунку. Зноў жа, пераканайцеся, што вы вашу табліцу правільна. І тады тое, што наш стан тут? Што мы шукаем? Мы хочам, каб нашы багатыя людзі. Так. Так збалансаваць больш, чым 1000. Там вы ідзяце. Гэта ваш запыт. Ці не занадта дрэнна, ці не так? ОК. Так што цяпер для нашага апошняга. Пры тым, што мы заязджаў праз. ОК. Так што цяпер "з тым, што запыт можа банк блізка, то ёсць выключыць "- ты не любіш, як яны проста даў вам DELETE-- "Кожны кошт, які мае баланс 0?" Я думаю, што мы ўсе можам пагадзіцца, што мы верагодна, будзе выкарыстоўваць DELETE. Я Запрашаем Вас прыняць любы дыскусія вакол гэтага. Але я думаю, што гэта даволі бяспечна сказаць, што мы маглі б выкарыстоўваць DELETE. Такім чынам, мы збіраемся, каб выдаліць некаторыя карыстальнікі з табліцы, дзе стан. Гэтак жа роду рэчы, як SELECT. Такім чынам, у гэтым case-- ой, прабачце. Я павінен DELETE FROM. Таму што выдаляеце, выдаліць усю радок. Такім чынам, мы не павінны гаварыць пра тое, якія канкрэтныя рэчы пра карыстальніка мы знаходзімся выдаленне. Калі мы выдаліць карыстальніка, мы выдаленне ўсе пра іх. Такім чынам, у гэтым выпадку, мы проста павінны запоўніце дзе і нашага стану. Такім чынам, наша табліца знаходзіцца ўсяго ў нашы рахункі стол, як мы рабілі. І тады тое, што наш стан тут? АЎДЫТОРЫЯ: Баланс. SPEAKER 1: Баланс роўны 0. Правільна. Усё добра. Так. АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: Так DELETE па сутнасці выдаляе ўсё. Так у той час як з SELECT, SELECT, бярэ ў некаторыя слупкі, якія вы хочаце атрымаць. Калі вы хочаце ўсё аб Карыстальнік вяртаецца, можна выкарыстоўваць зоркай. Зорка кажа, вяртайся да мяне усё, што ад гэтага карыстальніка. Ці, калі вы паклалі WHERE зорку, што азначае проста даць мне ўсё. Але DELETE якая валодае што. Так што, калі вы кажаце, выдаліць з рахункі, дзе сальда роўнае 0, гэта будзе ісці да канца. І ўсюды, дзе баланс роўна 0, то па сваёй сутнасці, што робіць. Гэта будзе выдаліць усе. Зорка больш for-- з выбару або UPDATE, гэта кажа больш пра асобу палі, якія адпавядаюць карыстальніку. Таму, калі вы выбралі зорка з табліцы, дзе ID роўная 1, то вяртаецца да вас ўсё аб карыстальніку з ID 1. Калі вы павінны былі зрабіць выбраць нумар або абярыце імя ідэнтыфікатара коскі ад карыстальнікаў WHERE ID роўны 1, што проста вяртае іх колькасць або іх ID і сваё імя. ОК? Таму мы выкарыстоўваем зорку ў такім выпадку даць нам усё пра карыстальніка. І ВЫДАЛЕННЕ сутнасці не робіць. Гэта не проста выдаляе ідэнтыфікатар, ці проста імя, ці нешта. Так, няма. Гэта проста выдаляе ўвесь карыстальніка. Такім чынам, мы не павінны турбавацца аб зорцы там. Калі вы хочаце, каб выдаліць усё, вы маглі б зрабіць, што, і гэта проста ўсё кінуць. Але, як правіла, вам не хачу гэтага рабіць. Але калі вы хочаце, каб выдаліць усё, вы маглі б зрабіць гэта. ОК. Вы, хлопцы, знайшлі якія-небудзь пытанні? Так. АЎДЫТОРЫЯ: Не маглі б вы зрабіць 26? SPEAKER 1: 26 мы толькі што зрабілі. АЎДЫТОРЫЯ: О, 25, прабачце. SPEAKER 1: 25. ОК. 25. Ох. Яны робяць JavaScript. О, я не магу ў гэта паверыць. Я збіраюся важдацца нас зноў, хлопцы. ОК. Мы атрымалі гэта. Мы збіраемся зрабіць гэтую працу. Ах, JQuery. Fun. ОК. Такім чынам, мы збіраемся, каб завяршыць Рэалізацыя вэб-старонкі такім чынам, што калі яны наведваюць, уваход з іх назвы, і прадставіць форму, яны маюць гэтую вялікую папярэджанне акно, у якім будзе з'яўляцца. Так што, напрыклад папярэджанняў, мы ведаем, што мы збіраемся мець, каб выкарыстоўваць JavaScript. Ура, JavaScript. І калі яны не INPUT A Найменне Да запаўнення формы, не павінна з'яўляцца ніякай пільны. Такім чынам, вы можаце выкарыстоўваць JQuery, але вы не павінны. Так што я збіраюся, каб вы, хлопцы, працаваць на гэты раз на пару хвілін. Падумайце пра гэта. І тады мы будзем яго код. Slash я збіраюся паспрабаваць і думаць аб Лепшы спосаб растлумачыць гэты адказ да вас. Добра. Мы атрымаем яго стварыць. ОК. Такім чынам, мы толькі збіраемся прайсці праз гэта, таму што я ведаю JQuery гэта крыху збівае з толку. JavaScript. Гэта крыху там. Так што мы збіраемся зрабіць, гэта [Неразборліва] на самай справе вырашана Гэтая праблема з JQuery. Так што, калі вы памятаеце, JQuery гэта проста бібліятэка вось толькі пабудаваны на вяршыні JavaScript. Гэта азначала, каб зрабіць ваш жыццё крыху лягчэй. Я б пэўна, калі ў вас ёсць час, паглядзіце трохі дакументацыя для JQuery. Але гэта вельмі падобна на JavaScript. Ён атрымаў аналагічныя парадыгмы, дзе вы выкарыстоўваць гэтую кропак аператара для выкліку функцый на аб'екты, якія ў вас ёсць. Такім чынам, што мы маем тут справу для JQuery, вы заўсёды павінны мець такога роду абгорткі, якая з'яўляецца .ready Функцыі $ (дакумент) (функцыя) у дужках тут. ОК. Так што гэта можа быць што-то Вы хочаце на вашым шпаргалку. Таму што, па меншай меры, вы можаце маюць абалонкі для JQuery. І гэта будзе па меншай меры атрымаць Вы расстацца там. Такім чынам, у адной і той жа чынам, што мы шмат казалі пра JavaScript, і мы б пачнем на тое, што мы спрабуем змяніць або тое, што мы спрабуем змяніць. І, што, як правіла, будзе Першае, што мы б паставіў у. Такім чынам, у гэтым выпадку, калі мы вернемся да гэтага тут, і мы паглядзім на нашу форму тут, у нас ёсць наступныя ўваходы, Добра, гэты ідэнтыфікатар уваходаў. І мы ведаем, што на аснове На наша пытанне, мы альбо збіраецца кінуць памылцы, калі гэта пуста, ці мы збіраемся паставіць гэта ў баявой гатоўнасці, ці не так? Так, верагодна, можна сказаць, што мы будзе мець справу з ўваходамі тут. JQuery вельмі падобныя ў тым, калі мы ўспомніце CSS, альбо з ID мы глядзім на з хэш. Што-небудзь з класа мы паглядзеў на з пункту, ці не так? Такім чынам, у той жа спосабам тут, што мы гаворым пра тое, ўваходы. Мы бачылі, што ўваходы ў ID ў нашу форму. Такім чынам, мы збіраемся звярнуцца да яго як такой. Ўваходы. ОК? Таму, калі ёсць сумненні, нават калі вам няма куды, калі вы сапраўды не ведаеце, як падысці да гэтага, A, ёсць гэтая абгортка. Так што пачніце там з Абалонка для JQuery. B, пераканайцеся, што вы ведаеце, што вы хочаце змяніць. І калі ў сумненні, пакласці, што ў чымсьці, і рабіць кропку, што вы думаеце Вы павінны рабіць з гэтым. Зала: А абгорткай? SPEAKER 1: абгортка гэта першая лінія. Так што гэта не кажа, пачакайце, пакуль мой дакумент гатовы. Тады пачніце важдацца з рэчамі. ОК? Такім чынам, мы ведаем, што мы важдацца з ўваходамі. Так што мы, як, добра, ўваходы наша форма. Гэта наша ID. Дык вось тое, што мы будзе шукае. І мы хочам, каб убачыць, што адбываецца калі гэтая форма была адпраўлена, ці не так? Так, як мы думаем, у нас ёсць некаторыя .submit. Так .submit проста кажа, добра, гэтая форма што мы з прывязкай хэш-уваходаў, калі гэта ўяўляецца, выканаць што-нешта іншае. Такім чынам, мы будзем мець нейкую функцыю. Звярніце ўвагу, у нас ёсць ананімныя функцыі тут. У нас ёсць ананімную функцыю тут. Так. АЎДЫТОРЫЯ: Ці будзе заўсёды быць .submit, ці гэта проста таму, што ў HTML, мы зрабілі кнопка тыпу ўявіць? SPEAKER 1: Варта .submit, таму што гэта нейкая форма, мы ўяўляем. Таму што гэта .submit не абавязкова адпавядаюць таму, што кнопка, як патэлефанаваць. Але факт, што гэта па форме, што мы адпраўкай. ОК. Так заўважыць невядомым Функцыя тут says-- Аўдыторыя: Я на самой справе не зразумець ананімныя функцыі. SPEAKER 1: Так ананімны функцыі, яны проста функцыі, якія не маюць імя. Такім чынам, замест таго, некаторыя асноўныя функцыі што calls-- мы маглі б сказаць, ці быў дакумент гатовыя, то мы маглі б назваць уваходаў. А потым, калі прадставіў, call-- Маўляў, калі так-то і так прадстаўлены, мы назвалі б некаторыя іншыя функцыі. Ананімная функцыя проста не мае назвы, і гэта будзе проста выканаць у такога роду рэчах. Такім чынам, у гэтым выпадку, тое, што гэта кажа гэта, калі нашы дакумент гатовы, выканаць гэтую функцыю. Гэтая функцыя складаецца за ўсё ў тут. І тады наступны пласт у гэта, добра, калі ўваходы уяўляецца, выканайце наступную. Гэта проста спосаб, пазначыўшы што павінна быць выканана, калі. Гэта літаральна функцыя, якая не ёсць імя, так што яны, як правіла, быць укладзенымі адзін у аднаго, таму што вы не можаце называць іх па імені. ОК? Літаральна, ананімная функцыя гэта проста функцыя без імя. Гэта так. Проста спосаб інкапсуляцыі розныя рэчы што мы хочам выконваецца ў пэўны час. АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: адтуліну? Дзе? АЎДЫТОРЫЯ: У дужках пасля функцыі? SPEAKER 1: Пасля функцый. Які? АЎДЫТОРЫЯ: Абодва. Калі вы паставіце, як, падзея, або калі Вы змяшчаеце аргумент у там, гэта было б не так? SPEAKER 1: У гэтым выпадку, я мяркую, вы маглі б паставіць аргумент там. Але паколькі мы не павінны Аргумент, што не павінна быць. Маўляў, гэта цэлае, як вы павінны толькі ёсць рэчы, якія з'яўляюцца неабходна падобнае. Такім жа чынам, што, калі мы павінны былі любы функцыя, якая мае INT асноўны void-- як, з Int асноўны пустэчу, вы маглі б зрабіць Int ARG V, што заўгодна. Але калі вам не трэба іх, вы не павінны мець іх у наяўнасці. Тое ж самае. Эма, ты ёсць пытанні? ОК. Крута. ОК. Такім чынам, што мы да гэтага часу, калі нашы дакумент гатовы, выканання гэтага. Цяпер мы глядзім на калі гэта ўяўляецца. Так што цяпер у нас сапраўды ёсць свайго роду мяса нашага рэчы. Такім чынам, мы павінны атрымаць значэнне, Карыстальнік прадстаўлены, няхай гэта будзе імя або пусты. І тады мы павінны альбо вярнуцца Гэта папярэджанне альбо выдасьць памылку. У любым выпадку. Так як жа мы заяўляем, зменнай у JavaScript? Var. Такім чынам, давайце казаць, вар імя equals-- ці на самай справе, мы будзем Вы шануеце, так як я думаю, што гэта імя. ОК. Такім чынам, мы маем нейкае значэнне тут, што мы хачу, каб цягнуць з нашай формы, ўваходы. Такім чынам, у адной і той жа чынам, што мы неяк рабілі ўваходы, можа хто-небудзь сказаць мне, што мы можа быць званкоў унутры тут Калі мы хочам атрымаць назву ад формы? І калі мы азірнемся на нашу форму тут, мы заўважаем, што ў нас ёсць ідэнтыфікатар імя. АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: Вы не павінны думаць пра яго, як масіў. Вам не трэба турбавацца пра гэта. Так што мы проста ёсць імя. А потым, таму што JavaScript і рэчы дзіўныя, мы не можам проста зрабіць "імя". Мы на самай справе трэба патэлефанаваць некаторая функцыя, якая дае нам, як, значэнне гэтага ідэнтыфікатара. ОК? Так што гэта проста .val. АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: OK. Так што з JavaScript, такога роду рэч прама тут проста праходзіць. А вы маглі б думаць пра гэта as-- гэта як і амаль у getElementById, дзе getElementById будзе на самой справе вярнуць усю рэч для вас. $ ("# Імя") гэтак жа, як, Добра, у мяне ёсць, я магу атрымаць да яго доступ, але калі вы сапраўды хочаце яго вярнуць значэнне you-- АЎДЫТОРЫЯ: Гэта як паказальнік? SPEAKER 1: Гэта накшталт як паказальнік. Вы можаце думаць пра гэта як накшталт як паказальнік. Маўляў, ён кажа, добра, я ведаеце, як туды трапіць, але на самой справе атрымаць значэнне з гэта, вы павінны відавочна паказаць гэта. І, на жаль, відавочна, што мы не зрабіць занадта шмат з JavaScript і JQuery. Так што прыйдзе да таго, колькі Вы guys--, што вы не ведаеце ,, тое, што вы выпадкова не бачылі, і што Вы можаце выгляд лагічна здагадацца. Паколькі некаторыя з гэтых рэчаў, вы верагодна, можа атрымаць на паўдарозе. Але каб атрымаць гэта цалкам маеце рацыю, Я думаю, што гэтую праблему, верагодна, быў адзін з самых нізкіх паказчыкаў. АЎДЫТОРЫЯ: Як, напрыклад, для [неразборліва] ўваходных, чаму б вам не паставіць Val трапіць? SPEAKER 1: для гэтага? АЎДЫТОРЫЯ: Так. SPEAKER 1: Так. Таму што гэта свайго роду як, як мы ўжо казалі, некаторыя паказальнік, і гэта мне спасылкі гэта і на самой справе атрымаць нам значэнне. АЎДЫТОРЫЯ: У той час як [неразборліва]? SPEAKER 1: Для уваходаў, Ўваходы проста some-- гэта як мы толькі што гледзячы на ​​яго ў цэлым, і гэта .submit кажа што нам трэба ведаць. JQuery і JavaScript дзіўна. Я ведаю. Ведаю, хлопцы. Я ведаю. Там гэта прычына, чаму я не зрабіць вэб-праграмавання. Проста жартую. У мяне не было дастаткова ўздзеяння на яго. АЎДЫТОРЫЯ: [неразборліва] CSS. [Смех] SPEAKER 1: Добра, гэта CSS. CSS гэта проста, як, зрабіць усё прыгожа, гэта не падабаецца, давайце мець справу з дадзенымі. Там жа розніца. ОК. Так што цяпер, спадзяюся, гэта part-- Акрамя таго, для Праблема, як гэта, дзе вы не можаце ведаць сінтаксіс, вы можаце быць, як ОК, вы можаце мець некаторыя VAR значэнне і быць як, дапусцім, я атрымаў правільнае значэнне. І тады вы, верагодна, напісаць гэтую наступную частку. Наступная частка, верагодна, здаецца нашмат прасцей, ці гэта зробіць лагічным сэнс для вас, хлопцы. У той час як тое, што мы напісалі да гэтага часу, Я ведаю, што будзе, як, ммм, ды, Я не ведаю, што на віктарыне. Вы можаце цалкам напісаць psuedocode а затым перапынак у рэальны код калі you-- гэта накшталт як матэматыка. Калі вы калі-небудзь мелі некаторыя Праблема некалькіх частак, дзе Вы не ведаеце, як прайсці першы крок, але ўсё астатняе абапіраецца на гэтай першай стадыі, Вы толькі што сказалі, як, дапусцім, х роўны 4. І тады вы працаваць з ім, ці не так? Вы можаце зрабіць тое ж самае з кодам. Такім чынам, можна сказаць, выкажам здагадку, Я атрымаў значэнне права. Тады гэта зрабіць наступную частку тут. Таму што гэтая частка на самай справе павінна быць даволі лагічна. Такім чынам, мы павінны праверыць калі наша значэнне пустое. Ці, калі гэта нейкая імя, фактычна даць папярэджанне. Так што, магчыма, мы хочам праверыць? Мы хочам, каб некаторыя, калі. Што вы думаеце наша Калі будзе? Нам трэба праверыць, каб убачыць, калі значэнне is-- калі гэта не пусты радок. Ідэальна падыходзіць. Менавіта так. ОК. Так што, калі гэта так, што мы хочам рабіць? Мы хочам, каб праліць папярэджанне, ці не так? Так што гэта проста папярэджанне. І тады ўсё, што мы хочам ўнутры. Так што мы павінны мець у нашым папярэджанне? АЎДЫТОРЫЯ: "Прывітанне." SPEAKER 1: коска. І тады вы, хлопцы, памятаю, як аб'яднаць? АЎДЫТОРЫЯ: Плюс. SPEAKER 1: Плюс. Таму мы хочам, каб мець плюс. І тады мы павінны яшчэ адзін плюс для нашага клічнікам. Крута. ОК. У адваротным выпадку, тое, што мы маглі б хочаце зрабіць? Мы не хочам нічога рабіць, ці не так? Так што мы проста вярнуцца ілжывым. Не тое, што я хачу зрабіць. ОК. І тады яны, з course--, што важна варта памятаць, каб закрыць Вашы ананімныя функцыі. Так што, калі вы заўважылі, у нас ёсць некаторыя Функцыя тут сканчаецца тут. Такім чынам, мы павінны закрыць гэта Першы і кропка з коскі. А потым гэты тут павінен рабіць з гэтай ананімнай функцыі, так мы закрываем яго там. Гэта коленный рэфлекс рэакцыя эканоміі. Так. АЎДЫТОРЫЯ: Ёсць прычына that-- проста ва ўсіх прыкладах, прыведзеных у JavaScript што я бачыў, у нас ёсць першыя фігурныя дужкі на той жа радку, што і функцыі? SPEAKER 1: Гэта стылістычная. Так. А на самай справе, калі ўзяць 61, мы зрабіць усё нашы фігурныя дужкі такім чынам. А? АЎДЫТОРЫЯ: Калі мы сапраўды рабілі, што PSET, гэта дрэнна для стылю? SPEAKER 1: Няма Мы відавочна сказаў вы, хлопцы, каб зрабіць гэта. Але на самой справе, гэта свайго роду дамінуючага канвенцыі у многіх класах З і JavaScript і JQuery. Так, відавочна, я sure-- а на самай справе, калі б я былі цалкам зрабіць гэтую праблему сляпой без паглядзеўшы на яго, ёсць, верагодна, вельмі мала спосабы я б атрымаў гэта. Я, магчыма, быў, як, добра, можа быць, я трэба, каб захапіць што-небудзь ўваход. І я думаю, маючы Вядома, што, быццам бы, Добра, калі я хачу атрымаць што-то з формы, які мае ідэнтыфікатар, Я маю на ўвазе гэта такім чынам, Я, напэўна, зразумеў. Я мог бы атрымаць гэта. Але на самой справе, адзінае, што я думаю, Я б сапраўды атрымаць гэта прама тут. Так што гэта свайго роду важна ведаеце, як і з любым цяжкае выпрабаванне, вы, здаецца, абярыце свае бітвы, ці не так? Калі вы ведаеце, што вы не збіраецеся, каб атрымаць што першая частка для JQuery, як я ўжо сказаў, Выкажам здагадку, што ў вас ёсць гэта значэнне і рабіць тое, што вы можаце з ім. І калі ў вас ёсць час, вярніцеся і паспрабаваць запоўніць кавалкі. Але не дазваляйце пытанне, як гэта сапраўды дакучаць вам. Таму што што? Гэта быў адзін пытанне аб JQuery з усяго экзамену. Так што, так, гэта было б вельмі добра, калі б вы яго атрымалі. АЎДЫТОРЫЯ: [неразборліва] Вы можаце выкарыстоўваць JQuery. SPEAKER 1: Вы дабро запрашаем для выкарыстання JQuery. АЎДЫТОРЫЯ: OK. [Неразборліва]. SPEAKER 1: Як бы вам не выкарыстоўваць яго? Я б паглядзець усе мае JavaScript. Гэта на самай справе значна прасцей, Я думаю, выкарыстоўваць JQuery, таму што JQuery на самай справе памяншае колькасць JavaScript вы пішаце, верагодна, па, як, напалову. Такім чынам, наш код будзе, верагодна, будзе у два разы даўжэй без такога. Так што калі вы recognize-- вялікі што ўзяць ад гэтай праблемы з'яўляюцца ўзоры. Калі вы звяртаецеся то з формы, Вы збіраецеся выкарыстоўваць двукоссі, хэш, усё, што вы спрабуеце атрымаць доступ. Калі гэта ўяўляецца, вы хочаце выкарыстоўваць нешта накшталт .submit. Вы, напэўна, будзем выкарыстоўваць ананімная функцыя там. Калі вы на самой справе трэба значэнне тое, што вы збіраецеся рабіць двукоссі, хэш, што б гэта ні поле, .val. І распазнавання вобразаў як што збіраюцца будзе значна больш карысным, чым ня ведаючы, вашывы пяшчаны. Так. АЎДЫТОРЫЯ: Так што, калі карыстальнік адпраўляе сваё імя і яна праходзіць праз гэтую заяву, будзе гэта спусціцца ўніз і вярнуцца ілжывым пасля гэтага? SPEAKER 1: Не, таму што напагатове, Вы можаце думаць пра гэта, як ён можа вярнуцца. Так. Дык гэта будзе выхаду. Так. АЎДЫТОРЫЯ: Не маглі б вы [? размясціць?] дужкі з ўявіць, дужкі, што-то? SPEAKER 1: я зрабіў, я лічу. Гэты зачыненыя прама тут. А потым гэты хтосьці атрымлівае зачынілі тут. АЎДЫТОРЫЯ: Так, ёсць. Добра. SPEAKER 1: Відавочна, што мала, маленькія сінтаксічныя рэчы так, мы, верагодна, проста абведзены яго і сказаць: не забывайце свае дужкі. Але так. ОК. У нас ёсць яшчэ адзін што мы хацелі б зрабіць? Ці ведаеце Вы, хлопцы атрымліваюць бінарнае дрэва адзін? Хочам Ці мы, каб перайсці на гэты? Я адчуваю, як бінарныя дрэвы і прэзерватывы павінны быць пункту што вы, хлопцы, даволі лёгка. Я б не хацела, губляць акуляры на гэты конт. ОК. Давайце зробім гэта DOM тут. Шкада, што я меў мой паверхні, так I можа проста маляваць на экране. Вось што я выкарыстаў, каб зрабіць у мінулым годзе. ОК. Так як я ўжо казаў, мы казалі аб DOM, аб'ектнай мадэлі дакумента. Яны, верагодна, будзе даваць вам некаторыя крыху фрагменце, як гэта і прашу вас стварыць дрэва для яго. І гэта як раз усё павінен рабіць з запускам праз тэгаў. Так давайце паспрабуем гэта зрабіць. Акрамя таго, як звычайна, калі вы, хлопцы, зрабіць гэтыя кантрольныя апытанні, як я высока рэкамендую вам зрабіць як паказвае практыка, любы з іх, што вы, як, Я сапраўды не разумею, што гэта тут адбываецца, проста, вядома, напішыце мне ліст з пытаннем, і я растлумачу, наколькі я магу. ОК. У нас ёсць які-небудзь дакумент, і мы павінны HTML. ОК. Такім чынам, мы проста аналіз тэгі тут, ці не так? Такім чынам, што ж мы бачым comes-- якія два падзагалоўкі пад HTML? Тым больш, што яны з водступам правільна? Галава і цела. Ах. Галава і цела. Выдатны. Такім чынам, давайце пачнем вось з галавой. Што пад галаву? Што наш наступны тэг? Назва. І затым на працягу назвы, віктарына. ОК. Так літаральна, то гэта проста прагулкі па тэгах, ОК? Такім чынам, калі ў нас ёсць Цела, як мы ідзем да канца, цела мае тры рэчы ў гэтым, праўда? Ён атрымаў тры дзівы. Кожны DIV атрымлівае свой уласны маленькі скрыню. І тое, што ў першым DIV? [Неразборліва] І тады наступны сярэдняя, які я проста хачу, каб скараціць. І тады апошні дно. Так на самой справе, гэта проста шпацыруючы па. І таму, што мы збіраемся даць You HTML, які належным чынам з водступам Вы можаце літаральна проста запусціць праз і сказаць ОК, вось HTML. Так што гэта знешні кут, ці далей налева, такім чынам, што павінен быць уласны прадмет. Яны знаходзяцца на адной і той жа абзацы. Такім чынам, мы ведаем, што галава павінна на тым жа ўзроўні, што і цела, але пад HTML. Гэта тое, што мы маем тут. Галава і цела з'яўляюцца братамі і сёстрамі, але яны знаходзяцца пад HTML. А потым мы проста ідзем у кожны з іх. Так галоўка мае назву, якое мае віктарыну, як мы бачым тут. І то і ў гэтым выпадку мы маем орган, які мае наступныя тры радкі. Такім чынам, гэтыя ўсе браты і сёстры усё пад цела. ОК? Будзем спадзявацца, што, калі вы бачыце што нешта накшталт гэтага, вы, як, так, я проста атрымаць намаляваць дрэва. Гэта будзе выдатна. ОК. Так хацелася, каб пераканацца, вы, хлопцы, ведалі, што. Дык чаму б нам не пайсці да 32 з нашай бінарнага дрэва? Таму што як толькі вы разумееце, двайковы Пошук дрэва, гэта сапраўды не так ужо дрэнна. Так Эверетт, я магу erase-- I маю на ўвазе, гэта ўсё ў Інтэрнэце, таксама. Так што, калі ў вас ёсць якія-небудзь пытанні. Забыліся мала месца, але гэта нармальна. Так бінарнае дрэва пошуку з'яўляецца проста спосаб арганізацыі дадзеных не ў масіве, дзе Корань заўсёды больш чым левая дзіцяці і корань заўсёды менш правага дзіцяці. ОК. Такім чынам, мы маем гэтую вялікую дрэва пошуку тут. У нас ёсць гэтыя лічбы, 34, 59, 20, 106, 36, і 52. І мы павінны арганізаваць яны такім чынам, такім чынам, што корань больш чым усе на левай баку і менш, чым усё на правай баку. І, як правіла, тое, што вы хачу зрабіць, гэта паспрабаваць знайсці то прыкладна ў сярэдзіне. У выпадку двайковых дрэў пошуку, вы, магчыма, прыйдзецца каб пагуляць трохі з ім. Але ў гэтым выпадку, давайце проста Выкажам здагадку, што мы ведаем гэтую першае. Так 36 наша першая тут. Як правіла, я хацеў бы паспрабаваць і выбраць нешта прыкладна ў сярэдзіне, што будзе верагодна, дае найлепшыя вынікі. Такім чынам, зараз мы ведаем, што ўсё на гэтая бок павінен быць менш, чым 36. Але і тое, што вы маглі бачыць гэта што ў нас ёсць два месцы тут. Так што, калі мы ведаем, што нам трэба два колькасці, якія менш, чым у корані, то вы маглі б проста замовіць іх і абярыце трэці нумар. ОК. Дык чаму б нам не пачаць з гэтага боку? Так што, калі мы ведаем, што ўсё на гэтая бок павінен быць менш, чым 36-- але калі мы паглядзім на гэты, мы ведаем, што гэта лік павінен быць менш гэтага ліку, ці не так? Паколькі гэты лік тут знаходзіцца на правай баку. І памятайце, як у нашых вялікіх дрэва, усё аб праве павінна быць больш, чым у корані. Такім чынам, мы ведаем, што тое, што ў гэта трэба будзе больш, чым тое, што тут. ОК? Такім чынам, мы маем два варыянты для гэтых двух бурбалак. У нас ёсць 32 і 34-- або прабачце. 20 і 34. Такім чынам, як вы думаеце, мы маглі б паставіць іх у? Калі гэта трэба будзе больш, чым гэты, гэта азначае, што мы хочам ёсць 20 тут і 34 тут. ОК. Такім чынам, у адной і той жа чынам, мы разглядаем Пры гэтым выглядзе суб дрэва. І мы кажам, добра, мы не маем 36. У нас ёсць 106, 52 і 59. Дакладна? У гэтым выпадку тут мы ведаць, што адна патрэбы мець адна рэч, якая больш, чым гэта і адна рэч, якая менш яго. Дакладна? Так што, калі мы ставім іх у парадку, гэта проста аб пошуку, што сярэдняе значэнне зноў. Такім чынам, наша сярэдні кошт складае 59. Такім чынам мы гаворым, добра, што гэта менш, чым 59? Ну, гэта 52. І тое, што больш, чым 59? Ну, гэта 106. ОК? Так што гэта проста трохі падобны на галаваломку. Гэта, як правіла, дапамагае, асабліва у невялікіх дрэў, як гэта, калі вы проста заказваеце яго, калі вы ведаеце, як многія з іх злева і колькі на Добра, што можна проста дазволіць вам выбраць тое, што павінны быць у вашым кораня. І тады вы можаце выгляд ад таго, працуюць там. Мм-хм. 33? Вядома. ОК. Таму мы хочам, каб стварыць вузел або бінарнае дрэва пошуку. І давайце паглядзім на тое, што можа быць у гэтым. І я думаю, што гэта на самай справе, гэта наш апошні пытанне. Ах. ОК. ОК. Гэта падобна таму, што мы можам думаць аб якасці вузла, ці не так? У нас ёсць нейкае значэнне, і мы ведаю, што гэта будзе альбо што левы і правы дзеці. Двайковы пошук tree-- гэта азначае, што што ён мае, самае большае, двух дзяцей. ОК? Давайце падумаем аб тым, як мы вызначаецца звязаны спіс, ці не так? У нас былі некаторыя Int, што прадстаўлены значэння. У нас былі некаторыя паказальнік, які прадстаўляў што ён збіраецца ў наступным. Бінарнае дрэва пошуку вельмі падобныя. Мы па-ранейшаму маюць пэўную каштоўнасць, п, што мы даем яго, ці не так? І тады я звярнуў іх вельмі відавочна са стрэлкамі, таму што яны эфектыўна паказальнікаў. ОК? Так N, як правіла, і што? Гэта нейкі каштоўнасць. Што мы звычайна вызначаем яго як? Int. Такім чынам, мы маем некаторы Int N, або INT значэнне, ці ўсё, што вы хацелі б называць яго. А то ў нас левы Дзіця і права дзіцяці. Дакладна? І мы ведаем, што яны point--, што яны, паказваючы на? Яны паказваюць на іншыя вузлы, ці не так? Так як жа мы аб'яўляем паказальнік вузла? АЎДЫТОРЫЯ: [неразборліва]. SPEAKER 1: Мм-хм. І мы будзем мець два з іх, ці не так? І тады мы можам літаральна у адправіўся на левым дзіцяці і права на правым дзіцяці. Actually-- прабачце. Таму што нам трэба структуры. Так структуры з'яўляецца тое, таму што ў нас не скончыў абвясціўшы вузел яшчэ. Так вузел знаходзіцца ў тут. Гэта накшталт як рэкурсіўнае вызначэнне, праўда? Таму, калі мы знаходзімся ў гэта вызначэнне, мы яшчэ не скончылі аб'явы вузел, як структура, так што мы павінны рабіць-структуру вузел проста сказаць, ды, мы на самай справе на ўвазе Вярнуцца самім сабе рэч тыпу. Гэта як раз гэта створана, яна будзе ў парадку. Так як большая вы, хлопцы, думаеце, што гэта? Што памер гэтай структуры? 12. Чаму? Менавіта. І на самай справе, адзін з Першыя пытанні, адзін Віктарына Адзін аб памерах, таму я спытаў. Добра. Мы будзем да канца, таму што DCE будзе крычаць на мяне, калі мы не робім. Але калі вы, хлопцы, ёсць якія-небудзь пытанні, Вядома, напішыце мне, дайце мне ведаць. Вы, хлопцы, збіраецеся пампаваць яго. Я вельмі ўсхваляваны. Вы, хлопцы, будзе зроблена, як з асяроддзя, а затым вы атрымаеце працаваць на вашым фіналу праекты, і гэта будзе ўзрушаюча. Я буду тут у наступным тыдзень з 4:00 да 04:30 калі вы, хлопцы, жадаеце прыехаць забраць віктарыны. Калі вы хочаце, каб знайсці мне другі раз ці проста каардынатаў розны час, не саромейцеся, дайце мне ведаць. У адваротным выпадку, гэта наш апошні падзел. Так было прыемна бачыць вас, хлопцы. Калі ласка, больш цукерак. І ўдачы на ​​конкурсе.