ZAMYLA ЧАН: Хей, всички. Добре дошли в раздел. Днес е просто ще бъде всичко викторина преглед за викторина в сряда. Надявам се, че всеки си спомня, че те имат викторина в сряда. И ако не го направи, добре, сега сте били напомни. Така сряда се уверете, че се появи за клас или други места за настаняване, както необходимо. Вие, момчета, ще бъде страхотно. Това ще бъде страхотно. И аз ще направя всичко, което мога да ви помогне да се подготвят днес за викторина сега. А също и в случай, че не знаете, има разбира широк преглед на сесията Днес в 7 часа Северозападни лаборатории стая B103. Вие можете да ме видите отново на бис като Ще водя част от тази сесия преглед също. Така че, ако не можете да получите достатъчно от мен Сега, вие може да дойде отново тази вечер. Добре, така че първите неща, на първо място. Само някои съвети, викторини, преди да всъщност се потопите в процедурите по преразглеждане. Така че, както при всеки изпит, практика определено ще ви помогне. Има изпити от миналото шест или седем години там, така че това е много практика материал за вас, момчета да имат. И в действителност, днес наистина е само ще се случва пред всички теми че вие ​​имате въпроси, както и като работи чрез проблеми практика от викторина нула. Така че аз ще повърна викторина нула от миналата година тук, и ние можем да работим чрез каквито и да било проблеми че вие ​​бихте искали да. Така практикуват. Ти започваш да започнем да правим това днес. Код на хартия. Така че, да, ако всеки в действителност може да се измъкнем хартия, че ще бъде страхотно, защото не сте Ще имате компютър в изпит и писане на код на ръка често е много по-трудно отколкото може да се очаква. Вие сте свикнали просто като го видях и го напишете, и имате компилатор за да ви помогне, когато имате грешки, но не се получи, че на изпита. Така че това е наистина важно за действително да бъде в състояние да напишете кода, и мускулна памет за правене то на ръка наистина ще ви помогне. Така че ние сме все по-малко близки. Това е понеделник. Вашият изпит е в сряда. Но ако имате време, определено да бъде в една на изпитите от миналата година, или година по-рано по време на ограничението на час и половина. Просто нокаутирам час и половината от времето, и да седне себе си надолу и просто работа чрез проблемите като че ли са в действителност да го приемате, тъй като един от най-големите неща, които чуваме за на тестовете е, че те са много дълго. Това е много материал. Има много въпроси, и повечето хора не могат да завършат. Знам, че напълно не завърши моите тестове, когато се появиха на класа. На тази бележка, като по-малко удобна секция, Разбирам, че това разбира се означава, да се погрижат за хората от всички нива. Цялата причина имаме разделите по-малко удобни, някъде между тях, и по-удобно е да се вид я направи по-справедлива. И ако сте по-малко удобни, това е не е необходимо сами по себе си, за да получите всичко. Например, ако сте били все всичко, вие вероятно ще да бъде в по-удобно раздел. Така че очевидно не себе си бият твърде трудно, ако не можете да завършите изпита. Вземете го от мен, аз не го правя. Аз все още съм концентратор. Аз съм все още помага научи курса. Ще се оправи. Добре. И на последно място, да поспиш. Очевидно с всеки изпит ние винаги казвам това. Угояване нощта преди и не получава никакви сън прави not-- може би, ако това работи за вас, отивам за него. Но за по-голямата част от хора, получаване на някои сън, отдаване под наем на мозъка си почивка и възстановяване преди да дойде в за изпита наистина ще ви помогне. Също така ще има почти непременно да бъде бонбони на изпита, така че трябва да очакваме с нетърпение. Вие, момчета, ще направим страхотно. Той ще се оправи. И сега, в следващия час и половина съм ще се опитам да ви подготвям за най-добър, колкото мога. Така че аз имам слайдове от основно всички раздели до момента. Аз няма да мине през всички от тях, тъй като това не е осъществимо в един час и половина, както и като работи чрез проблеми практика. Така че, вместо да имам списък от теми. Това са всички неща, че ние може да ви разпитва за. Ако има нещо, че наистина скача че искате да отидете отново, че сте Искаш ли да отидем концептуално Мога да се опитам да дам ви преглед там. Или ако искате да скочи право да прави проблеми практика заедно, ние можем да направим това. Това е до вас, момчета. Там не са, че много от вас. Така че това е каквото вие искате да бъде направено. Искам да бъда най- полезно за вас, момчета. Така че аз ще ви позволи да просто погледнете. АУДИТОРИЯ: Едно нещо, което е графиката, че ние продължаваме да казва за стека и куп. Просто цялата идея зад това и какво означава това. ZAMYLA ЧАН: Да, OK. Това е начина, по който в край, така че нека да превъртите. АУДИТОРИЯ: Ние не трябва да се го направим сега, но нещо такова. ZAMYLA ЧАН: Имало ли е anything-- това. Дали този вид размита за хората? АУДИТОРИЯ: Да, аз втори това. И можем ли да се препълване на буфера? ZAMYLA ЧАН: препълване на буфера? OK. Така препълване на буфера е доста лесно просто да говорим. Това е основно буферира мислите за някои масив памет, която имате, нали? Ние обикновено се говори за препълване на буфера при не сте проверка колко потребителят е пускането в, нали? И идеята е, с препълване на буфера е те са пускането в момента твърде много данни за мястото, че сте разпределени за тях, нали? Така че, ако ви кажа, дай ми малко съобщение, ние сме се предполага, че те ще дадат ни разумна дължина на съобщението. Може би няколко линии, какво ли не. Така че ние не проверяват. Вместо това, те ни хранят в цялата книга, която е съобщение, и прелива размера на пространство, което сме разпределени за това. И това, което се случва, е че може да презапишете места, които не е трябвало. Така че аз знам професор Malan каза нещо за препълване на буфер атаки. Така че това е мястото, където потребителят ще вход някои голямо количество данни в надеждите че той презаписва минало В края на вашата буфер и замества something-- Чудя I имаме тези слайдове тук. Не мисля, че имаме тези слайдове тук. Но в основата си той презаписва известна част от паметта който му дава достъп до части от вашия компютър че не би обикновено има достъп. Най-голямото нещо, с препълване на буфера е само да се разбере, че се случва, когато не сте проверка на колко си потребител се поставя вътре. Когато не са вид предпазва от това. И в най-простата си нещо, това е просто вашето потребителско въвеждане на по-голямо количество на данни в опит да замените някои сигурност част от паметта ви. Това е всичко. Така че това тук, стека и куп. По принцип всичко това е просто представяне на памет и където нещата се съхраняват. Това е наистина вид всичко, което трябва да знаете. Най-големите неща, които вие трябва да знаете, че са that-- нека да видим дали има better-- тук. Така че това е топчето тук. Така комин трябва да се направи с всичките си функции че се обаждате по всяко време. И това, което е важно да се помни, излизането на миналата седмица с изчистване е, че наистина не са необходимо контрол над него. Всичко зависи от това кога определени функции се изпълнява. И когато те екзекутират, те ли какво се нарича стека рамки които излизат тук. Така че всички видове случва без никаква реална информация от вас. Можете да напишете програма, и го оставете да работи, и стека вид отнема грижи за себе си, тъй като трябва да. Така че, ако в основния се обаждате куб, който ще бъде приет тук. Това ще създаде рамка. Но няма нищо, което изрично се направи да се създаде този стак рамка, различна от напиши функцията да започнем с това, OK? Какво е вид под ваш контрол е купчината с изчистване. Така че всеки път, когато изчистване нещо, приемате памет от купчината. И това е спомен, който можете има, поради липса на по-добра дума, изрично контрол върху защото си спомням с изчистване това е основно там докато не кажа друго. За тези от вас, които Гледах точка миналата седмица, той е там, докато не го кажа да си отиде. Тя ще има освен в противен случай не е казал. Така че купчината е просто нещо, можеш да се сетиш като памет че имате контрол над. И тези, които са само две различни големи неща. Освен това, не трябва да има да се притеснявате твърде много за стека и куп въпроси или обикновено по-точно ако имате локални параметри или функция би било на стека или купчината. Очевидно в този случай би било стека. Ако сте mallocing нещо, където се, че идва от? Купчината. Ако се вгледате в практика викторини, тези обикновено са от типа на въпроса че те имат. Не е нужно да се притеснявате твърде много за него. Можете да получите в по-ясно за стак и куп по-късно или в други класове CS. Така че просто като един вид обща представа за това какво е това ще бъде добро, което аз просто вид премина. Всякакви други теми? Да? АУДИТОРИЯ: Може ли да отидем указатели отново много бързо? ZAMYLA ЧАН: показалки? Искате ли концептуална преглед на указатели или да практикувате с указатели? АУДИТОРИЯ: Нещо като синтаксиса. ZAMYLA ЧАН: Синтаксисът? Да. ОК, ние сме стигнат до там. Да, така че това е просто вид на нещо когато имате рекурсивни функции, всеки път, рекурсивни функции е нарича, той просто добавя друг стек рамка. Доста пример на начина, по който наистина не има контрол върху рамки на вашия стак. OK, указатели. Добре, така че създаването на указатели. Не забравяйте, че това е просто тип звезда. Така че, независимо от вида на данните, които ти започваш да се посочи. Така че това ще бъде указател към Int. Това ще бъде указател към Чар. Това ще бъде указател към поплавък. Така че това е в общи линии каквото и искате да се посочи, звезда е как вие декларирате, показалеца, OK? Но тогава очевидно става малко трудно, когато имаш указател или имате звезда каквото. Така че голямата разлика е, когато сте declaring-- Така че ние имаме some-- така това отнема известно инт звезда. Така че това е някакъв указател призовава х до INT, нали? Така че не забравяйте, какво прави това е това призовава за система х. И това се случва, за да има някакъв адрес, нали? Така че нека просто кажем, че това е нашият адрес. Указатели държат адреси. И така, какво казва, е, че в този място, ние сме съхраняване на инт. Така че друг начин можем да мислим за това е, че това е някакъв Int. Ние наистина не са го възлага Все още нищо, но това е само едно цяло число. Така че ние можем да направим, е, ако ние звезда х се равнява на 5, това става на 5, OK? Това казва отидете на каквото и х е сочеше, така че отидете на този адрес и да го направи, равна на 5. Така че ние присвоите 5 до този адрес, нали? И тогава, ако вие направите това, това ни дава адреса. Това е адресът на оператора. Така че това, което е адресът на х? Ние не знаем. Ние не са го назначили адрес. Бихме могли да кажем, че е some-- сега дадохме то на един адрес, така че адресът е 4. И всъщност, ако ние преминаваме през нещо по този начин, вид на това, което сме направили. Така че работим през here-- да намеря Той помага, ако ви извади указатели. Ако сте на изпит, аз Препоръчваме изготвянето кутии. Така че тази първа, Int х е равно на пет. Това просто означава, че ние имаме някаква поставете в паметта, която е 5, нали? И нашата маса тук ни казва, че това е най-адрес 0x04. И след това ние се създаде някаква показалка. Така че нека да се разбие един по един. Така че това създава някои кутия на INT, нали? Тя ще се проведе някои адрес на него. Така че това е някаква показалка. И това тебешир е наистина малка. Така че ние имаме някаква показалка тук. И нашата трапеза ни казва, това е адресът е 0x08. Cool. И ние сме възлагане това на адреса на х. Не забравяйте, указатели държат адреси, OK? Така че, ако искаме да държи х, имаме да се използват от оператора на адрес, който е амперсанд, за да получите на адрес на х, която в този случай, 0x04. И след това, ако имаме някои инт копие, това е просто създава някаква друга кутия, която притежава INT се нарича копие. И ако ние възложи да this-- така че това е тя съотнасяне. Така че, казва отидете на каквото и адрес показалка притежава. Pointer държи този адрес, така че ние ще отидем тук, и ние казваме, добре, какво има в него? Това е 5. Така копие става 5. Направете смисъл? Какво става, ако аз се опитах да зададете това просто да си показалеца. Какво прави показалеца действително равни? Той просто ще бъде независимо указател съдържа, нали? И тогава какво ще стане ако аз го направих това? Какво ще бъде копие сега? АУДИТОРИЯ: 0x08. ZAMYLA ЧАН: Да, на адрес на нашия показалка. Всяка част от това, че трябва да бъде отново обясни? Cool. Определено има много забавно проблем на викторина едно че можем да през този ви дава повече практика. Момчетата от миналата седмица може ви кажа, че не е толкова лошо. Имаме през целия диаграма, и всеки е направил страхотно. ОК, така че това е преглед синтаксис на указатели. Най-голямото нещо е да се разбере как да ги създавате, направете съотнасяне и адрес, OK? Cool. Всякакви други теми, преди да ние се потопите в практиката. Също така, ако отиваме чрез Проблемите на практика и има нещо, което искате опреснителен, ние можем да направим това. Имате ли нещо? АУДИТОРИЯ: Structs и свързани списъци. ZAMYLA ЧАН: Structs и свързани списъци, OK. Така structs. Ние всъщност се случва над тази вечер също. ОК, така structs. Structs са основно просто начин за вас да държите множество стойности на различните видове. Така е и с масив сме сви до един тип данни. Нашата гама или трябва да бъде само цифри, или просто да се овъгли, или просто да плува. Но може би трябва да съдържа повече от това. Може би трябва да hold-- ако Ако пък говорим за един студент, ти започваш да имат дома им, тяхната ID номер, възрастта им, където те живеят, нали? И всички тези, които са различни видове видове. Така че не може да се съхранява тези всички в масив. И така, какво можеш да направиш ти е може да се създаде структура, която можеш да се сетиш като собствен тип на личните данни. Така че, вместо просто като цели числа и вместо само с плувки, можете да имате студент тип, който има всички тези области в него. Така че начина, по който се инициализира нашите structs is-- всъщност тъй като писането ми е ужасно, ние ще преминат към писане. Woo. ОК, така че ако искате да създадете struct-- Аз съм просто ще го тук. Пренебрегването на в основното каквото които ние ще използваме по-късно. Така че начина, по който искате да направите е с typedef структура. И нека просто наричаме този студент защото това е, което аз използвах. ОК, така typedef означава, че сте определяне на нов тип, OK? Има нюанси в когато правиш просто структура в сравнение с typedef структура. За всички намерения и цели, момчета са само Ще приемем, че те са приблизително еднакви и просто използвате typedef структура за сега. Това ще стане много по-ясно, в Следващата P определи какви са тези разлики са, но аз не мисля, че трябва да се се тревожи за това точно сега. Бих много по-скоро ви знаете как да създадете такъв, достъп до него, и да се определят [? стойност. ?] A нов тип структура, и ние сме го нарече ученик. Така че, след като приключите създаването на този, за всички намерения и цели, ще имате вид, наречен ученик. И вие можете да мислите за него просто като вид като INT, или поплавък, или Чар. Това е просто още един вид, нали? Така че в това, какво имаме? Имаме може би име. Така че може би ние искаме име низ. И ние имаме може би едно цяло число, че е лична. И ние имаме друг в това е телефонен номер. И ние сме some-- нека да видим. Какво друго може да имаме? Ще има някаква струна в къщата му. Всички неща, които един студент има. Така че това създава структура на предприятието. И така, как бихме могли да създадем един студент? Ако имаме някаква променлива, която е Ще говорим за Walker тук, така че ние сме просто have-- Ще се обадя на тази проходилка. Той се нуждае от даден тип. Какво е твоето? ПУБЛИКАТА: Student. ZAMYLA ЧАН: Student. Така че това само създава обект, който може да мисля, че има всички тези неща. Вие току-що създадохте студент проходилка. Така че сега ние трябва да бъдем в състояние да възлага всички тях, нали? Така че има ли някой си спомня как ние достъп в рамките на една структура? АУДИТОРИЯ: Период. ZAMYLA ЧАН: Период Точно така. Така че, ако искаме да зададете му име, което можем да направим това. Очевидно това ще be-- тази част тук ще да бъде в основната, така Всъщност нека да направим това. Декларирам този над главния така че можем да го използва в рамките на основната. Така че сега искам да направя ID, и ние просто ще се направят някои там, и тогава ние ще възложи къща. Бам. Cool. Така че сега трябва да бъдем винаги трябва да имат достъп нищо по-късно on-- може би we-- ако някога нужда от достъп до всичко, нека просто направим ID пад копие. И аз искам да копирате ID в тази Уокър. Как бих могъл да го направя? Трябва да влезете в проходилка структура на [? отида на това?] [? E?]. И по същия начин, че тя назначен тук, как може да имаме достъп до него, когато искаме да дам, че стойността на нещо друго? АУДИТОРИЯ: Walker.id. ZAMYLA ЧАН: Да, точно така. Така че това е почти всичко, което трябва да знаете за structs. Ти просто трябва да се мисли за ги като друга променлива. Основно създадете собствена променлива тип, OK? Можете да го използвате, за да декларират променливи по никакъв начин. Тук проходилка все още е променлива. Тя просто има студент тип сега вместо на тип INT, или низ тип, или тип Чар. Ако имаше един лесен начин да се говори за structs, тя е буквално само създадете свой собствен тип данни която ви позволява да се групират всички тези различни вид на данни, заедно. Ли, че има смисъл? OK. Ето и достъп с точки. Почти всичко, което трябва. OK, къде ми отиде PowerPoint? Ето това е. Ами това е странно. Аха. OK, хладно. Всякакви други неща, или правим Искам да се отправят към практикуват? Практика? OK. Awesome. Отивам да излезете от това. Ако в даден момент по време на практика въпроси, Аз съм щастлив да преустрои и да премине през неща. Така че аз имам тест нула до тук. Ако вие искате да дръпнете то на вашия компютър, просто искал да вземе пет минути, за да разглеждате. Може да изберете някой отгоре въпроси, които искате да се свърши. Ако вие не можете да решите, ние просто ще бавно да започне работа през тях, но аз съм сигурен, че там ще бъдат някои въпроси, които са особено нетърпеливи да се говори за и имат ми работи през с всички вас. Така че, просто отидете напред и да отнеме пет минути. Превъртете. И това е теста от 2013 година. АУДИТОРИЯ: Нула? ZAMYLA ЧАН: Да, викторина нула. Ние не правим викторина едно неща. Ние ще направим това след няколко седмици. Също така за тези от вас, които дойде в края, имаме бонбони, така правя вие искате бонбони? АУДИТОРИЯ: Разбира се. ZAMYLA ЧАН: Аз съм просто ще мине наоколо. Хей, ако вие получите тук по-рано, можете да получите повече бонбони. Това е добре. Бен, искаш бонбони? Искаш ли някои от тях? Има също така и Snickers ако някой иска Snickers. Аз ще ги оставя тук и тук. Чувствайте се свободни. Искате ли вече? АУДИТОРИЯ: All зададен. Благодаря. ZAMYLA ЧАН: И имах хубав купчинка там в началото. Вие, момчета, да получите да вземе теста и Аз се да има викторина класификация страна. Това е хаос. 900 изпити. Тя ще бъде толкова забавно. Отивате да бъде страхотно. Аз съм сигурен, че това е едно на най-голямото свързване на персонала нощи на годината. Има кой да направи тест, нула от още миналата година от любопитство? АУДИТОРИЯ: Части от него. ZAMYLA ЧАН: Части от нея, OK. Дали имате въпроси относно някой от тях? АУДИТОРИЯ: Аз вече отиде в работно време. Благодаря ви все пак. ZAMYLA ЧАН: Е, да се надяваме тя все още е нещо полезно. Кога да отидете работно време за това? АУДИТОРИЯ: My TF тях са имали този следобед. ZAMYLA ЧАН: О. Кой е вашия TF? АУДИТОРИЯ: Фред [? Wujaya?]. ZAMYLA ЧАН: Има толкова много TFS. Толкова много. Добре. Всеки, който има да започнете, че мога нахвърлям, че искаме да работим тук? Предполагам, че указателите един с масата. Отидете за него. АУДИТОРИЯ: Може би ключът един. ZAMYLA ЧАН: Значи номер 12? Предполагам, номер 8 и 9 са вероятно Ones хората искат да отида. АУДИТОРИЯ: И 10 и 11. ZAMYLA Чан: И вие знаете можете да получите една страница с бележки, нали? АУДИТОРИЯ: Да, така че това, което са позволихме да се сложи на това. ZAMYLA ЧАН: Ти си позволи да се сложи всичко, което искате. И това може да бъде въведен. Доколкото си спомням, нашите бяха въвели. АУДИТОРИЯ: Можете да направите назад и от двете страни? ZAMYLA ЧАН: Да, и двете страни. Така че, нещо подобно на куп и [? задния край?] куп, си работи пъти. Полезно. Може би малко неща за указатели за да ви напомнят. Синтаксис за неща. Като точно като скелет програма може да бъде супер полезно. Знам, че винаги съм забравил какво точно Аз трябваше да пиша за INT главната, защото аз винаги просто копирайте паста от предишния ми P комплект или тя вече е там, така че Никога не съм го написал, така като че може да бъде изключително полезно. ОК, така че защо да не направим ние започнем с номер 8 тогава? Добре. OK. Така че помислете програмата по-долу. Така че, очевидно, когато виждаме указатели, това е може би Добра идея е да започнете да рисувате, нали? Искам да знам, когато всичките ми големи парчета тебешир оттеглиха. Това е нещо досадно. Така че ние имаме тук някои суап функция че ще отнеме две насоки. Така че в този случай те всъщност трябва да бъде превключване неща, в сравнение с първоначалното ни суап функция, която само се в копия. Така че това, което се случва да правя is-- нека да започнем с основното, защото това е мястото, където един е. Така че ние имаме някаква INT х 1. Имаме у които е равна на 2. И след това ние имаме някои суап че ще се съобразят с тези. И нека да видим какво имаме тук. И в нашата table-- о момче. Как ще да се направи това? Отивам да се направи таблица ми тук. Едва което го прави там. Едва което го прави. 1, 2, 3, 4, 5, 6, 7. И те ни дават, че 1 е 1, и 1 2. Cool. Awesome. Така че 3. И там е [? на 1.?] Добре. И след това адрес на х е 0x123. И у е Ox127. Cool. Добре. Искам вие работите по този само like-- работата по него с хората около вас. Иска ми се да беше казал, че докато бях създаване. Работата по него. Опитайте и работят по него от себе си за няколко минути, и тогава ще работим по него с теб. Защото единственият начин да сте наистина Ще научите, е като я направите сами. Не се тревожете. Добър късмет. Добре, защо не сме бавно започне да работи през това. Така че всеки получава след първа линия, х е 1. След втора линия, рентгенови и ш са едно и две, нали? Cool. Така третия ред е мястото, където нещата получите интересна разбира се. Така че това, което сме направили тук е, че ние вече са разменени. Ние казваме, че X и Y имат тези точки, или имат адреса на X и Y, нали? Така че в този случай, три, каква е стойността на? а е бил приет в, е дадено стойността на адреса на х, нали? АУДИТОРИЯ: 1? ZAMYLA ЧАН: Така че ние го добавите към х? Какъв е адресът на X? АУДИТОРИЯ: 0x123. ZAMYLA ЧАН: Точно така. Но какво е всъщност сочи? Ако бяхме да сочен един, каква стойност ще ни даде. АУДИТОРИЯ: 1. ZAMYLA ЧАН: Това би ни даде една, защото това, което ние казвате е да отидете на този адрес, да ни кажете каква е стойността е. И така, какво ще бъде да б? АУДИТОРИЯ: 0x127. ZAMYLA ЧАН: Точно така. Така че това е адреса на у. И тогава какво [? сочен? ?] АУДИТОРИЯ: 2. ZAMYLA ЧАН: Добре, така че сега четири. Ние казахме, а е equal-- и сега ние сме направено инт температура е равна на звезда на. И така, какво се променя? Има само едно нещо, което която променя тук. Какво е това? АУДИТОРИЯ: Temp. ZAMYLA ЧАН: ТЕМП. Така че можем да пренапише всички от тях. Една добра стратегия за тях е просто да разберете какви промени, тъй като най-често има само едно нещо, което е няма да се промени във всеки един момент, OK? Така че ние сме назначен темп. Сега следващата ни точка, пет, ние направиха звезда, равна на звезда б. Така че това, което се променя сега? АУДИТОРИЯ: звезда. ZAMYLA ЧАН: звезда, така че всичко останало остава същото. И какво прави звезда на равно? АУДИТОРИЯ: 2. ZAMYLA ЧАН: 2. Lovely. Awesome. OK, а след това сега имаме Start B е равна на температурата. Така че единственото нещо, смяната е звезда б. Всичко останало остава същото. И това, което е звезда б равна на предприятието? И вие сте завършили масата. Защото сега в крайна сметка, ако ние кажем, х и Y, ние знаем, че в този point-- ние знаем, че когато ние променили звезда на до 2, какво е направил е да го казва OK, при адрес 0x123 тук, променете го. Сега това беше 2. И тогава в този момент, казахме OK, отидете на звезда б. Така че отидете на адреса, на 0x127 и го направи 1. Така че сега, в самия край, когато ние всъщност се върне за основна, ние всъщност имаме, че х е равно на 2 и у е равно на 1. Всеки добър с това? OK, хладно. Номер 9. Вие, момчета, да работи по този въпрос. Отивам да се създаде борд така че ние може да се направи чрез нея. Ще бъде яко. Големите таблици могат да бъдат наистина страшно, знам. Но ако просто ги вземе един ред в време, те ще получат много по-малко страшно. Добре. Така че, вие знаете, че това ще има преминали през основен първо място, нали? Нулира х и у и след това се опитва да ги разменят. Така че дори и суап е горе, реално тя начин отива се, че отиваме през главния, и след това се обажда до размяна, всичко е наред? Така че всеки знае това. Така че кой го направите момчета, искате да започнете? Има ли някой наистина сигурен за един от тях? Или дори частично сигурен? Защо да не започнем с х? Какво мислим х е? АУДИТОРИЯ: 1. ZAMYLA ЧАН: 1. Така че, защо тогава е 2. И това е така, защото голяма разлика тук е, че ние сме само преминаване копия, нали? Ние не минава справка. Така че дори и в края на тази програма х и у да остане същото, защото са само копия в функцията за суап. Те всъщност не се промени, нали? Така че какво ще кажеш, а, б, и температура? АУДИТОРИЯ: а е б. ZAMYLA ЧАН: а е б. Така че в този случай, е х, което е едно, нали? Така че тук, да минеш през нея. Така че в началото, а и б са 1 и 2 и неопределено. Така първоначално темп получава назначен, така че температурата е 1. а е равно на Б Така получаваме 2, и В е равно на температура. Сега ние получаваме едно. АУДИТОРИЯ: В предишния, който го разменят амперсанд х и амперсанд у. Какво точно означава това? ZAMYLA ЧАН: Така че това означава, че сте преминаване от справка. Така че това означава, че вие ​​сте всъщност преминаване в адресите на къде X и Y са съхранени. АУДИТОРИЯ: Но не сте смяна на адреса. ZAMYLA ЧАН: Ти не си смяна на адресите. Вие смяна какво е вътре в тях. Подобно на това, което е на този адрес, и това е защо тя работи. Versus в тази програма тук какво правиш се създавате копия. Така че имате х и у, които съществуват тъй като техните собствени променливи тук. Но тогава, когато премине тях в замяна, това е като, ако сте създаване Целият този друг набор. Така че никога не сте в действителност трогателни х и у. АУДИТОРИЯ: Ако амперсанд х е това, което е най- адреса на х, какво ще снима х да бъде? ZAMYLA ЧАН: Ampersand х е това, което е най- адреса на х, то star-- добре, в този случай, х не е указател. АУДИТОРИЯ: О, OK. Така че можете само да направите това защото това не е указател. ZAMYLA ЧАН: Точно така. Можете да направите само звезда нещо, което е указател. Може би бихте могли да го направите, за да неща, които не са, но компилация ли, че направя това луди неща ще се случват. И аз не съм точно сигурен какво ще се случи. Винаги можете да вземете адрес на нещо, но не можете да сочен нещо, което не е указател. Ако това има смисъл, това е добра разлика да има. Така че, не е твърде лошо, нали? Таблиците са надяваме получаване на малко по-малко страшно. Добре. Ах, забавни такива. Така че сега, пишете собствен код. Така че аз отивам да ви момчета работи на това за около четири минути и след това можем да говорим за начините да го доближат. Чувствайте се свободни да говорят с хората около вас. Също така това е интересно. Той е като всички момичета раздел точно сега. Много вълнуващо. Освен Чанг. Но Чанг не е наистина част от секция. Awesome. Perfect. Така че аз ще ви дам няколко съвета. В случай, че имате повече от един символ, където Имате ли нещо друго като 123 или 1000 нещо, трябва да бъде в състояние да се накъдрят и чрез преобразуване на всеки от тях. Така че има няколко начините, по които биха могли да направят това, но вие определено ще има а за линия някъде там да се накъдрят чрез тях, което е нещо като Подарявам с дори ако ти се обадя strlen, което е нещо като о Може би искате да използвате дължината на низа по някакъв начин. Добре. Така че това, което вие мислите може да бъде едно от първите неща, които искам да направя? Има няколко случая, в тук ние трябва да се отчита, нали? Или ще има нещо, което е нищожна. Какво имаме? Случаи. Null. Имаме случай, че има нещо различно от 09, нали? Така че нека да кажем, че има букви. Или имаме случай, че е валиден. Три случая да се сетиш. Така че, кой мислиш, че може да бъде най-лесно да се грижи на първо място? АУДИТОРИЯ: Null. ZAMYLA ЧАН: Случаят е нищожна. И така, какво ще правим там? АУДИТОРИЯ: [недоловим]. ZAMYLA ЧАН: Да. И това, което искам да направя? АУДИТОРИЯ: Завръщане 0. ZAMYLA ЧАН: Точно така. Awesome. OK. Така че сега, вярно, че има писма и се окаже, че това е валидно. Ние всъщност може да се грижи на това в рамките на един цикъл, OK? Така че един от начините да it-- правя това, което може да бъде прост начин да се провери дали това е валидно. Ние ще трябва да мине през всяка буква и какво? АУДИТОРИЯ: Проверете дали това е in-- ZAMYLA ЧАН: Да, можете да проверите ако тя е между 0 и 9, нали? И след това в случая че това е валидно, ние сме ще свърши итерации през нашия низ все пак, нали? Така че, защо да не опитаме и да ги комбинира в едно. Отиваме да превъртите чрез изложени низ, и тъй като ние направите това, ние отиваме първо направи проверка, за да видим дали това писмо или ако този символ е валиден. Ако е така, отиваме да изпълнява операция, която ние трябва да го конвертирате. В противен случай тя ще се върне 0, нали? Така че, преди да направим това, ние може би искате някои променлива че можем да се върнем в края това ще бъде нашата действителна стойност. Така че отиваме да се инициализира някои стойност е 0. И това е само как да започнем. Така че аз отивам да се отърве от това. И така, как ще отидем до превъртите през този низ. АУДИТОРИЯ: За контур. ZAMYLA ЧАН: А за контур. Така че това, което ни е за? АУДИТОРИЯ: аз е 0. ZAMYLA ЧАН: Мм-хм. И това, което сме ние итерации докато? АУДИТОРИЯ: ул дължина ите. ZAMYLA ЧАН: Добре, сега си спомням има по-добър начин. [Недоловим]. АУДИТОРИЯ: Да, ние можем да направим п равни. ZAMYLA ЧАН: Точно така. АУДИТОРИЯ: аз е по-малко от п. ZAMYLA ЧАН: И защо ще искаме да направим това? Помниш ли причината? АУДИТОРИЯ: Ние трябва да го преизчисли. ZAMYLA ЧАН: понеже много това ви начин само трябва да се изчисли след strlen. Ако мога да е по-малко от strlen е, че означава, че преизчислява дължината всеки път стартирате за контур, която не е висока цена на енергия, но това е По-добра практика да се опита и правя такива неща наведнъж. Освен може би имате един луд низ че се променя при всяка итерация. Но ако това е отседнал същото, освен него. Добре. И тогава аз плюс плюс. Awesome. Ние сме на пътя ни. АУДИТОРИЯ: Наистина бързо. На първо място, така че нека да кажем просто Казах по-малко от strlen на S, са ни класификация на дизайн изобщо или просто коректност? Те не са. Ние сме класификация на коректност за викторини, доколкото аз знам. Аз не може да направи пълен размер гаранция, но за по-голямата част, огромното мнозинство е коректност, защото сте под голям времеви ограничения. Design обикновено означава имате време да мисля за елегантност на вашата ситуация. ОК, така че ние сме итерации през. Така че ние трябва или да проверите, за да да видим дали този знак е валиден или ако можем да изпълним нормално [? А до Я] функция. Ние може да се тревожи за това, че е в секунда. Така че защо да не take-- ако някой може да мисли за един начин да се провери, за да да видим дали това е валидно. Ние знаем, че ще бъде някои ако състояние, нали? И не забравяйте, това е в ASCII, така че как би могъл да ние виждаме, ако това не е 0,1, 2, 3, 4, 5, 6, 7, 8 или 9. АУДИТОРИЯ: Ако алфа. ZAMYLA ЧАН: Така че, ако алфа би само да ни уведомите, ако това е писмо. И ако те ни даде знак, че е все още не е съвсем ще се покажат. Така че, ако дръпнете си ASCII маса, ние знаем, че от 0 до 9 са в един сегмент. Кажи ми номера, които те съответства ако е възможно. АУДИТОРИЯ: 40. ZAMYLA ЧАН: Така диапазонът е като 40-- АУДИТОРИЯ: Може би. 48-57. Не съм сигурен. ZAMYLA ЧАН: 40-57? АУДИТОРИЯ: 48, мисля. ZAMYLA ЧАН: 48-57. Така че ние знаем, че тези ASCII symbols-- ако стойността на ASCII не е между 48 и 57, това не важи, нали? Така че бихме могли да използваме, че да нашето предимство е възможно? Как ще стигнем до това писмо, първо на разстояние? Как можем достъп това този герой? АУДИТОРИЯ: с конзола аз. ZAMYLA ЧАН: Мм-хм. Защото ние можем да мислим за низове като масиви, помнят. Така че това, което искаме да кажем? Ние искаме да се каже дали това is-- аз ще ви дам един намек. Това е по-малко от. Какво да го мисля трябва да бъде по-малко от? АУДИТОРИЯ: 57? ZAMYLA ЧАН: 47, нали? Но тя също така означава, че сте 0 в единична [? спици?], защото това е характера 0. Вие също може да постави 47. Като таблица ASCII, като виждате, е просто нещо, трябва да имате на вашия викторина лист. Така че, ако това е така, ако това е по-малко от 0-- не непременно и. Това е само един ще бъде по-малко или по-голямо от 9. Така че, може да попълните този последен за мен? Така или те години на I е това, Rhea? АУДИТОРИЯ: По-голямо от 9. ZAMYLA ЧАН: Има. Това прави ли смисъл да се всички, как се стигна до там? Тези проблеми, те са като веднъж сте виж решенията, това е като о, OK. И това е защо на практика ще ви помогне. ОК, така че ние се върне 0. Lovely. Добре. В противен случай това, което искаме да направим? Това е най-интересната част където това е малко по- като математика в сравнение с CS, по мое мнение. Дали някой има идея за това как бихме могли да направим това? Така че важното е да се осъзнават е първия знак ние сме като ще бъде най-високата цел цифра, нали? Така че, ако ние не търсим най-конвертиращия 123, за първи път ние обхождане е ще бъде една, но ние се нуждаем че за да бъде 100 до края, нали? Така че едно нещо, което можете да направите, е, че с всяка следваща цифра приемете, вие се размножават си стойност от 10, така че от времето, когато стигнем до края, всичко е било коригиран нагоре, нали? Така че първият път, когато стартирате това, имате 1 като стойност. Втори път, когато го стартирате, можете размножават си стойност от 10. Тя ще го актуализира, така че сега е 10, и добавяне на следващата стойност. И тогава ще се размножават, че до 10 и добавяне на следващата стойност. И това е защо те казват това е много повече като тестване алгоритъм математика в сравнение с CS, но аз отделям. Аз не пиша викторини. Така че едно нещо, което можем да направим, е, че ние кажа пъти стойност се равнява на 10. Така че това ще се смени Вашата цифра веднъж всеки път. И тогава ние просто искате да добавите. Ние искаме да се добави в това, което ние току-що, нали? И така, как ние всъщност конвертирате ни ASCII знак в броя че представлява? Така че ние знаем, че 0 е равна на 47, нали? Така че, ако 0 е 47, това, което ще трябва да направя, за да го действително да бъде едно цяло число от 0? АУДИТОРИЯ: Това е 48. ZAMYLA ЧАН: 48? Извинете. Бихме се изважда 48, нали? Запомни ASCII математика? Ние можем да се отнасяме към тях просто като нормални номера. Ако се отнасяме към тях като брой, те стават номера ефективно. Така че, ако имаме и на аз, които позволяват на казват в този случай е равна на 0. Така те години на I В този случай ще бъде ASCII-- на ASCII INT за това ще бъде 47. Така че бихме могли да subtract-- или 48. Можете да направите това, е един от начините. Някой знае ли по-добър начин бихме могли да направим 48? Ние току-що каза 0 is-- отидат в на ASCII бихте могли да направите цитат 0. Така че го прави един вид да смисъл как работи това? АУДИТОРИЯ: На този етап, е стойността 0 защото дори и ако го умножите по 10, сте се започне с нула, така трябва да бъде включен? ZAMYLA ЧАН: Така че в този случай, искате да го умножете, преди да добавите, защото в този случай, да, тя би още be-- ми показалец липсва. Стойността в този случай, на първо път, когато го стартирате ще бъде нула. Значи просто добавяне на първата цифра. Важното е, че следващия път, можете обхождане, вие искате да го смени до преди да добавите следващата цифра. Дали това се изясни за вас? OK. Понякога ти започваш да се получите странни повече mathy неща. Ако сте имали по-голямата част това, което все още продължава да get-- ти започваш да се направи доста добре. Частично кредит е много голямо нещо за CS50 викторини. Така че пиша това, което знам. Ако имаш всичко с изключение на тук, вие сте все още продължава да се направи много добре проблема. Защото вие показвате, ОК, аз почти знам. Знам, че имам нужда, за да превъртате през. Знам какво трябва да се провери за. Аз просто не съвсем се как да го конвертирате. Ти започваш да се оправи. Да, ти започваш да се загубят няколко точки, но все пак ще получи голям брой точки за нещо като, че ако сте липсва тези две линии. Щях да съм като ОК, това лице знае какво правят. Math е трудно. Така че аз бих казал, че ще се оправи. ОК, така че вие, момчета, готови да опитайте strlen с указатели сега че вие ​​сте показалеца майстори? Така че аз ще ви момчета работят на това за малко. Ако някой се нуждае от опреснителен. Така че ако искате да използвате показалеца аритметика, и след това, ако е е нула, вашата реализация трябва да се върне 0. Неща като това, което правите наистина щастлив да просто се обадете strlen в края на деня. Мисля, че това може да бъде малко по- по-лесно, отколкото на последната, която е добро. Аз ще ви дам момчета още една минута, и тогава ние ще работим през него. И след това ще получите за да отидете на ключове. OK, готови момчета? Може би малко по-малко. Така че аз съм ти си дал две възможности, нали? Или проверете за нищожна и да се върне 0, ако е, или действително се изчисли дължината. Така че, който иска да напише проверка за нула? Отидете за него. АУДИТОРИЯ: Ако скоби и равнява се равнява на нула връщане 0. ZAMYLA ЧАН: Lovely. Обичам, когато половината проблем е само проверка за нищожна. Знам, че с вас миналата седмица бях като проверка за нула буквално всеки път. OK, so-- АУДИТОРИЯ: Ако връщане 0 е само една линия, имаме все още се нуждаят от къдрава скоба? ZAMYLA ЧАН: Вие не технически се нуждаят от тях, докато сте последователни. Това е добра практика само за да получите в навик за използване на фигурни скоби, но технически не. Вие не се нуждаят от тях за една линия. Ние просто са склонни да го препоръчвам за хора, които започват да се програма. Така че сега това, което може да искаме да правим тук? Така че сега ние знаем, че нашият стринг е валиден. Ние искаме да запазим изчислителна дължина. Какво е най-вероятно на първо нещо, което искате да направите? АУДИТОРИЯ: Създаване на INT това е дължината. ZAMYLA ЧАН: Точно така. АУДИТОРИЯ: И ние искаме да го настроите да? ZAMYLA ЧАН: 0. Perfect. Добре. Сега това, което искам да направя? Това е наистина по-голямата част от него. Отидете за него. АУДИТОРИЯ: Така че най-вероятно се направи за контур. И след това, тъй като, когато ти се обадя и да си получаване на адреса на първото нещо, ще започнем с аз равна на 0. И тогава, докато х плюс аз не се върна Слаш 0. ZAMYLA ЧАН: Нулевата терминатор. АУДИТОРИЯ: Нулевата терминатор. След това можете да добавите един по дължина. ZAMYLA ЧАН: Да. ОК, така че нека да се обърнат, че в много конкретен код. Но това е идеалното идея. Това е точно това, което правим. Отиваме да итерации чрез стрелката. Така че това, което искаме да направим е вместо инт тук, защото сме не се отнасят до него. Ние сме се отнасят до началото на низ, които започват в някои адрес, нали? Така че ние искаме указател. Така че ние ще имаме някои Чар звезда, тъй като тя отговаря на нашите е, нали? Така че това е един момент ние сме инициализиране към началото на низа, OK? Така че нека просто го наречем аз. Ако това е началото на низ, какво е то ще трябва да бъде назначен за? Не 0. Искаме тя да бъде началото на нашата поредица. Какво представлява началото на нашата поредица, която бе дадена за нас? АУДИТОРИЯ: Просто е. ZAMYLA ЧАН: с. Така че това създава някаква нова показалка, че представлява началото на нашата поредица, OK? Друг начин да се мисли за това е като тук е нашата масив. Това е нашата поредица, с. Така че нека да кажем, че това е най- първо място, и това е 0x4. 04. Това е нашият лидер, който притежава този адрес. И ние току-що създадената друга една, наречена аз, че се отнася само до едно и също нещо. Така че и двете са просто сочещи началото на нашия низ. Това е само графично представяне. Така че сега това, което искаме да направите, е да искаме да превъртите нашето условие за итерации чрез нашата поредица. Сега пазаруват. Трябва да пазаруват, момчета. Дали искаме да запазим актуализиране до стигаме до нула терминатор, нали? Така че това, което може, което изглежда? Искаме ли съм, или не искаме звезда и е въпросът? Е нищожна терминатор адрес или нещо намира на адрес? Намира се на един адрес, нали? Така че ние трябва сочен каквото е тук, защото това е просто някакъв адрес. За да се получи в действителност в началото ние трябва да сочен този така че ние всъщност се какво има в това първо място. Така че, ако ние направим звезда аз, какво не го искаме за равен? АУДИТОРИЯ: Обратно наклонена черта? ZAMYLA ЧАН: Има. Това прави ли смисъл за всички? Трябва да отидем в нашия низ и уверете се, че това не е края. И тогава ние можем просто да се актуализира по този начин. Normal актуализиране. Така че, докато те са Met, какво трябва да направим? АУДИТОРИЯ: Дължина плюс плюс. ZAMYLA ЧАН: Мм-хм. И тогава, след като на на линия прекратява, какво искаме да се върне? АУДИТОРИЯ: Дължина? ZAMYLA ЧАН: Дължина. Има и да отидете. Очевидно е, че месото на този е разбирането на това за цикъл. Всички ли се как се работи? Аз съм щастлив да отида отново. АУДИТОРИЯ: Второто част, така че звездата и там, това е адресът на first-- ZAMYLA ЧАН: Това не е адреса. Това е, което е най. АУДИТОРИЯ: Това всъщност е там. ZAMYLA ЧАН: Това е какво всъщност е там. Така че това е saying-- нека ме направи това по-добре. Така че това е 0x04, а аз съм просто ще да кажа, че ще направя това моето име. OK. Да, знам, че има преглед тест тази вечер. Много преглед викторина. Така че нека да кажем, че този низ е името ми, Алисън. Малко объркано, но той е там. А и представлява разположението къде низа започва, така че аз отивам да се направи това real-- това е адресът, на, където низът започва, нали? Така че това, което правим тук, е, че ние искаме да използвате указатели, за да превъртате през. Така че ние се създаде някаква показалка, аз, който също е равна на началото на низ. И във всяка точка, ние искаме да продължи да минава през масива тук, докато не удари нула терминатор. Така че ние винаги искаме да се провери какво е на всеки един от тези адреси. Така че ние сочен аз, така че първият път, когато го правим се каже, добре, това, което е на адрес 0x04? Това е един. ОК, ние сме добре. Увеличаване на дължина. Преминете към следващата. Така i-- помня указатели увеличение от размер на каквото и да те посочи. Така че в този случай, тъй като това е Чар, тя ще се актуализира по един. Така че сега ние ще разгледаме 5, което означава, че се случва тук. Така че, казва OK, отидете на 0x05. Какво има там? Това е л. И това ще продължи да прави това докато го удари тази. И той казва, OK, това, което е в каквото адрес е това? Нулевата терминатор, OK. Exit. И просто се върнете дължина. Защото имате нужда от това, което всъщност е най- този адрес, а не на самия адрес. Има много малко места, където всъщност трябва адреса. Повечето от времето, когато Използвате и това е когато сте първи възлагане на показалеца или когато сте го преминава в друга функция. ОК, всеки добър там? Нещо? OK. Така че тя изглежда като ние сме имам около 12 минути преди края, така че ние ще продължим да може би последната ни проблем и след това има някаква концепции, които са дошли Междувременно можем преминете бързо през това. Така превключване предавки е последният проблем, превключете отчети. Така че вашата работа е да се пренапише този така че той се държи същото но не използва ключове. Бледи ръце. Така че каквито и да било въпроси относно това разстояние бухалката? Нито един? OK. Има ли всеки да разбере, че ако случай няма нищо след това, това означава, че трябва следвайте следващата стъпка? Така случай 1 и 2 в този случай направи точно същото нещо. Понякога една точка от объркване. Добре. Всеки, който има някакви идеи? Така ли? АУДИТОРИЯ: Така че можете да просто правя, ако отчети. ZAMYLA ЧАН: Мм-хм. Така че това, което е първата ни един? АУДИТОРИЯ: Ако N е равен равен на 1, и две линии за или п равни е равно на 2, след това да отпечатате малък. И тогава можете да направите друго, ако? Или можеш просто да направите, ако? ZAMYLA ЧАН: Можете да направите друго, ако? АУДИТОРИЯ: Бихте ли значение, ако го направите, ако? ZAMYLA ЧАН: Така го прави. Дали anyone-- е така, ще получите същия изход ако използвате само IFS сравнение ако използвате друг IFS. Може вие ​​мислите за причината Ето защо може да искате да използвате друг ако в сравнение с много по IFS? Трябва да с ефективност. Така ли? АУДИТОРИЯ: Ще се провери всички ИС всеки път. ZAMYLA ЧАН: Така че, дори ако го удари тази първа, той ще отиде на проверка всеки друг един. Така че ако искате да използвате, ако друг IFS в случаите, където само един от тях никога няма да се прилага. Така взаимно изключване е това, което ние сме склонни да се каже. Ако имате куп IFS, това означава, че може би повече от един от тях въпроси, а може би и повече от един от тях може да бъде вярно. И вие искате и двамата да се изпълни, ако те са истина. Ако искате само един от тях да работят в тези взаимно изключващи се случаи, искате да използвате друг, ако, защото всичко това има нещо общо с ефективността. Вашият код е просто по-добре проектирани ако се придържа към тази практика. Така че в този случай ще имаме друго, ако. И това щеше да бъде? АУДИТОРИЯ: п равнява се равнява на три. ZAMYLA ЧАН: Perfect. Print среда. И след това в последния ни случай, това, което имаме? Else или иначе, ако? АУДИТОРИЯ: Else. ZAMYLA ЧАН: Do ние want-- Искаш иначе, ако защото имаме конкретни случаи. Това не е вид на улов всички. Ако сте имали по подразбиране в switch-- помня в стрелки можете да имате случай, и тогава ще трябва по подразбиране. Ако сте имали по подразбиране, това е вид на вашия друго изявление там. Но ако то има само случаи, това означава, че имате нужда от за да се провери, за да видите дали това е всеки един от тях. Така че в този случай, би 4 или 5. Искаме печат изключен. Това е голям. И там ще отида. И това ще бъде вашата програма. Така че в този случай, ако ние има нещо по подразбиране, ние ще имаме един друг в каквото и да иска от нас да направим. Така че това е добра разлика да знаете, за да разберем. Ли това, че помогна с ключове за вас? Perfect. Добре. Имаме останали около осем минути. Смятате ли, момчета са всеки други концепции на високо ниво? Въпроси като цяло? Да? АУДИТОРИЯ: Имах въпрос за един от тях че е около Случайна брой генератор на викторина нула. ZAMYLA ЧАН: О, че един. Това е един друг, когато тя е по-математика than-- да. Решението на that-- дори и аз, когато Аз го виждам, аз съм като какво е това. АУДИТОРИЯ: Това беше номер 7. ZAMYLA ЧАН: Това е странно, по мое мнение. Така че основно, което искате да използвате drand48, които ще ви дам някои число между 0 и 1. И вие искате да го използвате така че по някакъв начин се A-- и това е много повече от проблем по математика за мен, отколкото аз мисля, че е проблем CS. Начинът, по който вие it-- правя и Понякога тя просто ще бъде като това. Отново, това са случаите, в които това е вид на като напишете това, което може и частичен кредит. Така че, ако искаме връщане, ние знаем, че ние сме ще бъде с помощта drand48 по някакъв начин, нали? Така че, защо просто не се нахвърлям, че надолу. Ние го използвате по някакъв начин. Начинът, по който те са вие го използвате, е като това, което аз ще се опитам да обясня. Така че основно това, което се случва тук е така, защото е между 0 и 1, това, което правим, е, което се умножава по-- това е много по математика въпрос. Само пълен отказ от права, това е напълно по математика въпрос. Това, което правите, е защото на 0 и 1 и искам тя да бъде в рамките на този диапазон, всъщност разбера колко голям диапазонът е, и след това ви същество това увеличаване, което е това, това се прави. б минус дава този диапазон, на разликата между тези числа. Можете да се размножават между 0 и 1, и след добавяне на само означава, че тя се преборят така че тя да е между А и Б, което аз наистина не харесвам този проблем. Както казах, този тест е предназначен да обхваща хора, които са по-удобни, някъде по средата, и по-удобно. Така че, ако го направи така, че това е нещо, че всеки в по-малко удобно място ще получи, щяхме да имаме твърде много хора вкара усъвършенства, и толкова по-комфортно ще бъде скучно. Така те винаги имат тези вид главоблъсканица въпроси които са предназначени да бъдат малко по-трудно че да отнеме известно творческо мислене. Когато ги видите, Да не стане твърде объркани. Аз определено бих казал, флип чрез вашия викторина на първо място. Разрешаването на проблемите че знаеш, че може, защото няма смисъл да затъване върху един проблем, когато има три или четири или пет на страницата След това можете лесно да се направи. АУДИТОРИЯ: Защо точно правиш го умножете по границите? ZAMYLA ЧАН: Вие се размножават на обхвата, можете know-- това е като колко след искаш? Така че можеш да се сетиш, защото тя връща число между 0 и 1, Вие можете да мислите за него като процент. Така че това е в общи линии казва, ако имаме нашата линия номер тук, а е тук, и б е тук. Ти си като колко миналото е това? Дали всичко, което правим. Значи просто питам за процент от тази гама, която е това, което си ти дава. И тогава вие основно само това увеличаване, като се добави. Това е математически задачки. Ако е имало някой в ​​последната минута съвети, аз бих казал, флип чрез въпросите, разбера кои от тях Знам, че като, о, аз имам това. Почти сигурно те ще е въпроса, че няма да знаят или че вие ​​ще имате време за, така че удари силните си страни, OK? Вие, момчета, ще се страхотно. Има много въпроси за причината, така че имате време да вид имат възможност за да се докаже това, което ти си наистина добър. Така че това е ОК, ако сте не е добра във всичко. Възпроизвеждане на силните си страни. Да? АУДИТОРИЯ: Така е, това ще се върне нещо, което е отрязано? Да, това ще стане, защото drand възвръщаемост между 0 и 1. Той ще се върне на INT, защото тя ще се съкрати когато добавите или се умножава по него. Cool. Всички в последната минута въпроси? Вие, момчета, ще направим страхотно. Ти започваш да бъде страхотно. И дори ако не е, ще има бъде бонбони тук следващата седмица. И аз ще те обичам. Аз ще ви обичам момчета независимо. Добре, всички, добър късмет. Има много време. Ти започваш да се оправи. И знаеш ли какво? За два дни той ще да се свърши, а аз има две midterms в четвъртък, така че най-малкото вие ще се направи. Добре, ще се видим, момчета следващата седмица.