ZAMYLA Чан: Гей, все.
Ласкаво просимо в розділ.
Сьогодні якраз все буде вікторина огляд для вікторини в середу.
Сподіваюся, всі пам'ятають, що у них є вікторина на середу.
І якщо ви не зробили, а, Тепер ви нагадали.
Так середовищі переконайтеся, що ви показати для класу і інших приміщень в якості
необхідно.
Ви, хлопці, буде дивним.
Це буде здорово.
І я буду робити все від мене залежне, щоб допомогти підготувати вас сьогодні для вашого вікторини
Теперь.
А також у разі, якщо ви не знаєте, є звичайно широкий сесія відгук
сьогодні в 7:00 Північно-західні лабораторії кімната B103.
Ви можете побачити мене знову на біс, як Я буду вести частина цього огляду сесії
Також.
Так що, якщо ви не можете отримати достатньо мене Тепер, ви можете прийти знову сьогодні ввечері.
>> Гаразд, так про все по порядку.
Просто деякі поради вікторини перш ніж ми насправді зануритися у відгуках.
Так як з будь іспит, практика безумовно, допоможе вам.
Є іспити з минулого шість або сім років там,
так що дуже багато практики Матеріал для вас, хлопці, щоб мати.
І справді, сьогодні це дійсно просто йтиме протягом будь-яких темах
що ви, хлопці, є питання по а як працює через проблеми практики
від вікторині нульовий.
Так що я буду кинути нулю вікторини з минулого року тут,
і ми можемо працювати через будь-яких проблем що ви, хлопці, хотіли б.
>> Так практикує.
Ви збираєтеся почати робити це сьогодні.
Код на папері.
Так що так, якщо все може насправді вийти
папір, що буде здорово, бо ти не
матиме комп'ютер на Іспит і виписуючи код вручну
часто набагато складніше ніж ви могли б очікувати.
Ви звикли до просто бачачи його і ввівши його,
і у вас є свій компілятор для допомогти вам, коли у вас є помилки,
але ви не отримаєте, що на іспиті.
Так що це дійсно важливо, щоб насправді зможе виписати код,
і що м'язова пам'ять робити це вручну дійсно допоможе вам.
>> Так ми отримуємо трохи близько.
Це понеділок.
Ваш іспит в середу.
Але якщо у вас є час, виразно взяти один
іспитів з минулого року або рік до під обмеження часу
години півтори.
Просто вибити годину і половина часу,
і сидіти собі вниз, і просто працювати через проблеми
як якщо б ви були насправді приймати його, бо один
з найбільших речей, які ми чуємо про вікторини є те, що вони дуже довго.
Це багато матеріалу.
Є багато питань, і більшість людей не можуть закінчити.
Я знаю, що я абсолютно не закінчив мої вікторини, коли я взяв клас.
>> На цій ноті, як менш зручний розділ,
зрозуміти, що цей курс призначений для задоволення людей всіх рівнів.
Вся причина у нас ви поділяєте менш комфортно, десь між,
і більш зручним є вид зробити його більш справедливим.
І якщо ви менш комфортно, це Не треба по собі, щоб отримати все.
Як якби ви отримувати все, ви б, мабуть,
бути в більш зручному розділі.
Так, очевидно, не бити себе до занадто складно, якщо ви не можете закінчити іспит.
Повірте мені, я цього не робив.
Я до сих пір концентратор.
Я до сих пір допомагає вести курс.
Все буде добре.
Добре.
І, нарешті, поспати.
Очевидно, що з будь-який іспит ми завжди говоримо, це.
Зубріння ніч перш і не одержувати будь сон
робить не-- може бути, якщо що працює на вас, піти на це.
Але для переважної більшості люди, спати деякий час,
дозволяючи ваш мозок відпочити і відновитися до приходу в до іспиту
дійсно допоможе вам.
Також там буде майже безумовно, буде цукерки на іспиті,
так що ви повинні з нетерпінням чекати.
Ви, хлопці, збираєтеся робити великий.
Це буде добре.
І тепер протягом наступної години півтора I постараюся і підготовчі вам як краще, як я можу.
>> Тому у мене є слайди з основному всі розділи досі.
Я не збираюся йти через всі з них, тому що це не
можливо протягом години-півтори, а як працює через проблеми практики.
Таким чином, замість мене є список тем.
Всі ці речі, що ми могли вікторини ви на.
Якщо є що-небудь що дійсно вискакує
що ви хочете перейти, що вас хочете, щоб я протягом концептуально,
Я можу спробувати дати Ви Огляд там.
Або, якщо ви хочете, щоб перейти прямо в к робити практиці проблеми разом,
ми можемо зробити це.
Це до вас, хлопці.
Є не так багато з вас.
Так що це все, що ви, хлопці, подобається робити.
Я хочу бути самим корисно до вас, хлопці.
Тому я дам вам просто подивитися.
>> АУДИТОРІЯ: одне графік, який ми тримаємо
кажучи про стек і купі.
Просто вся ідея що і що це означає.
ZAMYLA Чан: Так, добре.
Це повністю на кінець, так що дозвольте мені прокрутки.
>> АУДИТОРІЯ: Ми не повинні зробіть це зараз, але що завгодно.
>> ZAMYLA Чан: Був там anything-- цей.
Чи є цей вид нечіткої для людей?
АУДИТОРІЯ: Так, я другий, що.
І ми можемо також зробити переповнення буфера?
ZAMYLA Чан: Переповнення буфера?
Добре.
Так переповнення буфера досить Легко просто поговорити.
Це в основному буфери ви думаєте про деякі масив пам'яті, що у вас є, чи не так?
Ми зазвичай говоримо про Переповнення буфера при
Ви не перевіряючи, скільки користувач вводить в, чи не так?
І ідея в тому, за допомогою переповнення буфера є
вони ставлять в далеко занадто багато даних для простору
що ви виділили для них, чи не так?
>> Так що, якщо ти говориш, дати мені деякі повідомлення, ми
за умови, що вони збираються, щоб дати нам розумне повідомлення довжина.
Може бути, пару рядків, ще багато чого.
Таким чином, ми не перевіряємо.
Замість цього вони годують нас в Вся книга це повідомлення,
і він перетікає кількість простір, що ми виділено для цього.
І те, що відбувається це може переписати місця, які він не повинен.
>> Так що я знаю, професор Malan сказав щось про переповнення буфера.
Так от, коли вхідний воля користувач деякі величезну кількість даних в надії
що він переписує минуле кінець вашої буфер
і замінює something-- Цікаво Я у нас є ці слайди в тут.
Я не думаю, що у нас є ці слайди в тут.
Але в основному він переписує деяка частина пам'яті
що дозволяє йому доступ для частини вашого комп'ютера
що ви не захотіли як правило, мають доступ к.
>> Найбільша річ з Переповнення буфера це просто
щоб зрозуміти, що це відбувається, коли ви не
перевірка, скільки ваш Користувач ставить в.
Коли ви не вид захисту проти цього.
І в найпростішому річ, це просто ваш користувач
введення величезну кількість даних в спробі
переписати деяку безпеку частина вашої пам'яті.
Це все, що є.
>> Так що це тут, стек і купа.
В основному все це просто уявлення пам'яті
і де зберігаються речі.
Це дійсно свого роду все, що вам потрібно знати.
Найбільші речі, які Ви повинні знати, є
that-- дозвольте мені бачити, якщо є better-- тут.
Так що це стек тут.
>> Так стек має відношення до всі ваші функції
що ви телефонуєте в будь-який час.
І, що важливо пам'ятати, йдуть на минулому тижні з Танос
є те, що ви насправді не мають Необхідно контроль над ним.
Все залежить від того, коли певна Функції виконуються.
І коли вони виконуються, вони Тобто те, що називають кадри стека
що йдуть сюди.
>> Так що все начебто відбувається без будь-якого реального вкладу вас.
Ви пишете програму, і ви дайте йому попрацювати,
і стек вид займає дбати про себе, як це повинно.
Так, якщо в основному ви телефонуєте куб, що буде прийнятий тут.
Це створимо рамку.
Але немає нічого, що ви явно робити створити що кадр стека, крім
написати функцію з самого початку, в порядку?
>> Щось під ваш контроль купа з Танос.
Тому, коли ви Танос-то, Ви приймаєте пам'яті з купи.
І що це пам'ять, що вам Тобто, через відсутність кращого слова,
Явний контроль над, бо пам'ятаю з Танос
це в основному там поки ви не сказати інакше.
Для тих з вас, хто спостерігав розділ минулого тижня,
це там, поки ви не скажете йому піти.
Це буде там, якщо в іншому випадку сказав ні.
Так купа всього-то Ви можете думати, як пам'ять
що у вас є контроль над.
І це просто два різних великі речі.
>> Крім цього, ви не повинні мати надто турбуватися про стек і купі
питання або, як правило, більш всього якщо у вас є локальні параметри
або функція чи буде в стеці або купі.
Очевидно, що в цьому випадку було б стек.
Якщо ви mallocing то, де, що приходить?
Куча.
Якщо ви подивитеся на практиці вікторини, тих, як правило, тип запитань
що вони мають.
>> Вам не доведеться турбуватися дуже багато про це.
Ви отримуєте в більш явному вигляді про стек і купі
пізніше або до інших класів CS.
Так що просто вид Загальна ідея, що це
буде добре, який я тільки почасти перейшли.
Будь-які інші теми?
Да?
>> АУДИТОРІЯ: Чи можете ви перейти покажчики знову дуже швидко?
ZAMYLA Чан: Покажчики?
Ви хочете, щоб концептуальна огляд покажчиків
або ви дотримуєтеся з покажчиками?
АУДИТОРІЯ: Ніби як синтаксису.
ZAMYLA Чан: Синтаксис?
Так.
ОК, ми отримуємо там.
Так, так що це просто якась щось коли у вас є рекурсивную функцію,
кожен раз, що рекурсивна функція є називається, він просто додає інший фрейм стека.
Досить багато прикладів про те, як ви насправді не
контролювати кадри на свій стек.
>> ОК, покажчики.
Гаразд, так що створення покажчиків.
Пам'ятайте, що це просто наберіть зірку.
Тому, що б тип даних, які Ви збираєтеся бути вказуючи.
Так це буде покажчик на междунар.
Це було би дороговказом на символ.
Це було би дороговказом на поплавок.
Так що це в основному що-будь Ви хочете, щоб він, вказуючи на,
зірка, як ви заявляєте, покажчик, ОК?
>> Але тоді, очевидно, стає трохи складно, коли у вас є вказівник
або у вас є зірки б то не було.
Так велика різниця коли ви declaring--
так що ми повинні some-- так це займає деякий Int зірку.
Так що це якийсь покажчик закликає х до междунар, чи не так?
Так що пам'ятайте, що це робить це викликає системний х.
І це буде є адреса, чи не так?
Так що давайте просто сказати, що це наш адресу.
Покажчики зберігання адрес.
Так що це говорить, що в цьому розташування, ми зберігаємо в Int.
>> Так що другий шлях, ми можемо думати про в тому, що це якийсь INT.
Ми насправді не призначений його що-небудь ще, але це просто інтервал.
Таким чином, ми можемо зробити, це якщо ми зірки х дорівнює 5, це стає 5, ОК?
Це говорить йти до того, що х є вказуючи на, так що йти за цією адресою
і зробити його рівним 5.
Так ми присвоюємо 5 на цю адресу, чи не так?
>> І тоді, якщо ви зробите це, це дає нам адресу.
Це адреса оператора.
Так що це адреса х?
Ми не знаємо.
Ми не призначили йому адресу.
Ми могли б сказати, що це some-- зараз ми дали це адреса, так що адреса 4.
І насправді, якщо ми йдемо через щось як це, на зразок того, що ми зробили.
Так працює через here-- я знайти це допомагає, якщо ви витягнути покажчики.
Якщо ви знаходитесь на своєму іспиті, я дуже рекомендую рисунок коробки.
>> Таким чином, це перший, INT х дорівнює 5.
Це просто означає, у нас є деякі розмістити в пам'яті, яка 5, чи не так?
І наш стіл тут говорить нам що це за адресою 0x04.
І тоді ми створюємо деяку покажчик.
Так давайте розберемо це вниз по одному.
Таким чином, це створює деякі коробка з междунар, чи не так?
Це буде тримати деякі адресу з нього.
Так що це якийсь покажчик.
І це крейда дійсно мало.
Таким чином, ми маємо деяку покажчик тут.
І наш стіл каже нам що це адреса 0x08.
Прохолодний.
І ми присвоюємо це за адресою х.
>> Пам'ятайте, покажчики зберігання адрес, ОК?
Так що, якщо ми хочемо провести х, у нас є використовувати оператор адресу, який
є амперсанд, щоб отримати адресу х, які в даному випадку, 0x04.
І потім, якщо у нас є деякі INT копія, це просто
створює деяку іншу коробку, що проводить INT назвою копію.
І якщо ми призначимо його this-- так що це на неї посилатися.
Так він каже, йти до того, що адреса покажчика тримає.
Покажчик має цю адресу, таким чином, ми пішли б сюди,
і ми говоримо, добре, що в ньому?
Це 5.
Так копія стає 5.
Зробити сенс?
>> Що робити, якщо я намагався привласнити це просто покажчик.
Що робить покажчик фактично рівні?
Це буде просто все Покажчик містить, чи не так?
І тоді те, що, якби я це зробив?
Що б скопіювати бути тепер?
>> АУДИТОРІЯ: 0x08.
ZAMYLA Чан: Так, Адреса нашого покажчика.
Будь-яка частина, що, що потреби бути знову пояснити?
Прохолодний.
Існує, безумовно, дуже весело проблема на вікторини одного
що ми можемо над цим дає більше практики.
Хлопці з минулого тижня може сказати вам, що не так уже й погано.
Ми пройшли через весь Графік, і кожен зробив відмінний.
>> ОК, так що це огляд синтаксису покажчиків.
Найбільша річ розуміння того, як для їх створення, робити посилання,
та адресу, ОК?
Прохолодний.
Будь-які інші теми до ми занурюємося в життя.
Крім того, якщо ми збираємося через проблеми практики
і є щось ви хочете перепідготовка на, ми можемо зробити це.
Чи є у вас щось?
>> АУДИТОРІЯ: Структури і зв'язкові списки.
ZAMYLA Чан: Структури і зв'язкові списки, ОК.
Так Структури.
Ми насправді збираються над цим сьогодні ввечері теж.
ОК, так Структури.
Структури в основному просто спосіб для вас, щоб провести
має кілька значень різних типів.
Так з масивом ми звужені до одного типу даних.
Наш масив або має бути просто цифри, або просто символи, або просто бути поплавки.
>> Але, можливо, вам потрібно містить більше, ніж це.
Може бути, вам потрібно hold-- якщо Ви говорите про студента,
Ви будете мати свій дім, своїх Ідентифікаційний номер, їх вік, де вони живуть,
чи не так?
І всі ті різні види типів.
Таким чином, ви не можете зберегти ті, все в масиві.
>> Так що ви можете зробити, це ви може створити-структуру, яка
Ви можете думати, як ваш особистий тип даних.
Таким чином, замість того, щоб просто маючи цілими і замість того, щоб просто мають поплавців,
Ви можете їсти студент типу, що має всі ці поля в ньому.
Так, як ми ініціалізації наші Структури is-- фактично
так що мій лист страшно, ми збираються переходити на друку.
Ву.
>> Отже, якщо ми хочемо створити struct-- Я просто хочу з ним тут.
Не звертайте уваги на головній все які ми будемо використовувати пізніше.
Так, як ви хочете, щоб зробити це з ЬурейеЕ структури.
І давайте просто називати цей студент тому що те, що я використовував.
Отже, ЬурейеЕ означає, що ви визначення нового типу, ОК?
Є нюанси в, коли ви робите просто структура порівняно з ЬурейеЕ структури.
Для всіх намірів і Мети, ви, хлопці, просто
вважатиму, що вони приблизно такий же, і просто
використовувати ЬурейеЕ структури в даний час.
Це буде стати набагато більше, очевидно, в вашому Наступний P встановити, що ці відмінності,
але я не думаю, що вам потрібно турбуватися про те, що прямо зараз.
Я б скоріше ви знаю, як його створити,
доступ до нього, і призначити [? Значення. ?]
>> Новий тип структури, і ми називаємо його учень.
Таким чином, після ми закінчимо створення цього, для всіх намірів і цілей,
Ви будете мати тип, званий студент.
І ви можете думати про це просто як вид як INT, або поплавок, або символ.
Це просто ще один тип, ОК?
>> Так що в цьому одному, що ми маємо?
У нас є, може бути, ім'я.
Тому, можливо, ми хочемо назва ланцюга.
І у нас є, може бути, на Int Ось ID.
І у нас є ще один в ось номер телефону.
І ми some-- подивимося.
Що ще ми могли б мати?
Ми будемо мати деяку рядок в його домі.
Всі речі, які студент.
>> Таким чином, це створює-структуру зараз.
Так як ми могли б створити студенту?
Якщо у нас є деякі змінні, які є говоритимемо про Walker тут,
так ми have-- ми просто буду називати цю ходок.
Він потребує тип.
Який ваш тип?
АУДИТОРІЯ: Студент.
ZAMYLA Чан: Студент.
Так що це просто створює об'єкт Ви можете думати про те, що є всі ці речі.
Ви тільки що створили студента ходок.
Так що тепер ми повинні бути в змозі призначити все це, чи не так?
Так хто-небудь пам'ятає, як ми отримуємо доступ до структур?
АУДИТОРІЯ: Період.
ZAMYLA Чан: Період Рівному.
Так що, якщо ми хотіли, щоб призначити його ім'я, ми могли б зробити це.
Очевидно, що це буде be-- цю частину тут буде
бути в межах основної, так насправді, дозвольте мені зробити це.
Оголосіть це вище основної, так що ми можемо використовувати його в основний.
Так що тепер я хочу, щоб це зробити, ID, і ми будемо просто робити якісь там,
і тоді ми будемо призначати будинок.
Бам.
Прохолодний.
>> Так що тепер ми повинні коли-небудь знадобиться, щоб доступ що-небудь пізніше on-- можливо we--
якщо ми коли-небудь знадобиться, щоб отримати доступ нічого, давайте просто робити інтервал копіювання ID.
І я хочу, щоб скопіювати ID Уокера в цьому.
Як я міг це зробити?
Ви повинні отримати доступ в ходунки побудуємо для [? піти на це?] [? E?].
І точно так само, що ми призначений його тут, як
може ми до нього доступ, коли ми хочемо дати це значення в чомусь іншому?
АУДИТОРІЯ: Walker.id.
ZAMYLA Чан: Так, точно.
Так що в значній мірі все Ви повинні знати, для структур.
Вам просто потрібно думати про їм як інший змінної.
В основному створити свій власний тип змінної, ОК?
Ви можете використовувати його, щоб оголосити змінні в будь-якому випадку.
Тут ходок ще змінна.
У нього є тільки студент типу тепер замість з типу Int, або типу рядка,
або типу символ.
Якби не було простий спосіб говорити про структур, буквально тільки що
створити свій власний тип даних що дозволяє групувати
Всі ці різні вид даних разом.
Чи означає це, має сенс?
Добре.
Це і доступ до с точками.
Значною мірою все, що вам потрібно.
>> Добре, де ж мій PowerPoint йти?
Ось воно.
Ну це дивно.
Ага.
Добре, прохолодно.
Будь-які інші речі, або ми хочу, щоб попрямувати в дотримуєтеся?
Практика?
Добре.
Дивовижний.
Я збираюся вийти цього.
Якщо в будь-який момент під час практиці питання,
Я щасливий, щоб оновити і пройти речей.
Тому у мене є вікторина нулю тут.
Якщо ви, хлопці, хочете, щоб витягнути це на вашому комп'ютері,
точно так само як взяти п'ять хвилин, щоб переглянути.
Може бути, вибрати деяку вершину питання ви хочете перейти.
Якщо ви, хлопці, не можу вирішити, ми просто повільно почати працювати через них,
але я впевнений, що там буде якийсь питання, які ви особливо
хочуть поговорити і є мені працювати через з усіма вами.
Так просто йти вперед і зайняти п'ять хвилин.
Прокрутка.
І це вікторина з 2013.
>> АУДИТОРІЯ: Нуль?
>> ZAMYLA Чан: Так, вікторина нулю.
Ми не робимо вікторину один матеріал.
Ми зробимо це протягом пари тижнів.
Крім того, для тих з вас, хто прийшла пізно, у нас є цукерки,
так що ви, хлопці, хочете цукерку?
>> АУДИТОРІЯ: Звичайно.
>> ZAMYLA Чан: Я просто збирається обійти.
Гей, якщо ви, хлопці, отримаєте тут рано, ви отримаєте більше цукерок.
Добре.
Бен, ти хочеш цукерку?
Ви хочете, щоб деякі з них?
Там також Snickers якщо хтось хоче Snickers.
Я залишу їх тут і тут.
Не соромтеся.
Хочете більше?
АУДИТОРІЯ: Все готово.
Спасибо.
>> ZAMYLA Чан: А у мене був хороший мало купа там на початку.
Ви, хлопці, щоб пройти тест і Я отримую мати вікторини класифікації партію.
Це хаос.
900 іспитів.
Це буде так весело.
Буде здорово.
Я впевнений, що це одна найбільшого штату склеювання
ночей в році.
Хто-небудь робив тест, нульову від минулого року ще з цікавості?
>> АУДИТОРІЯ: Частини його.
>> ZAMYLA Чан: Частини його, ОК.
Чи було у вас питання по кожній із них?
Аудиторія: Я вже пішов в робочі години.
Спасибі, хоч.
ZAMYLA Чан: Ну, ми сподіваємося, це все-таки вид корисними.
Коли ви йдете в години роботи для цього?
АУДИТОРІЯ: Мій TF був ним у другій половині дня.
ZAMYLA Чан: Так.
Хто твій TF?
АУДИТОРІЯ: Фред [? Wujaya?].
ZAMYLA Чан: Є так багато ТФ.
Так багато.
Добре.
Хто-небудь є, щоб почати що я можу записати, що ми хочемо працювати?
Я вважаю, покажчики один з таблицею.
Піти на це.
>> АУДИТОРІЯ: Може бути, перемикач один.
ZAMYLA Чан: Так число 12?
Я припускаю, що число 8 і 9, ймовірно, Онов люди хочуть перейти.
>> АУДИТОРІЯ: А 10 і 11.
>> ZAMYLA Чан: А ви, хлопці, знаєте, Ви отримуєте одну сторінку нот, чи не так?
>> АУДИТОРІЯ: Так, так що ж ми дозволили надіти що.
>> ZAMYLA Чан: Ви дозволили покласти все, що завгодно.
І це може бути надрукований.
Наскільки я пам'ятаю, наші були набрані.
>> АУДИТОРІЯ: Ви можете зробити тому і обидві сторони?
>> ZAMYLA Чан: Так, обидві сторони.
Так щось на зразок купи і [? Задній кінець?] Купа, ваш хід
раз.
Корисне.
Може бути, дрібниці близько покажчики, щоб нагадати вам.
Синтаксис для речей.
Щойно, як скелет Програма може бути супер корисно.
Я знаю, що я завжди забув, що саме Я мав написати для INT магістралі,
бо я завжди просто скопіювати вставки з мого попереднього набору P
чи це вже є, так що Я ніколи не писав його,
так що наявність, що може бути супер корисно.
>> Отже, чому ж не ми почати з номером 8 тоді?
Добре.
Так вважають програму нижче.
Так, очевидно, коли ми бачимо, покажчики, це, ймовірно,
хороша ідея, щоб почати малювати, чи не так?
Я хочу знати, де всі мої великі шматки крейди пішов.
Це вид дратує.
>> Таким чином, ми маємо тут деякі функції підкачування що збирається взяти в двох покажчиків.
Таким чином, в цьому випадку, вони повинні бути насправді перемикання
речі в порівнянні з нашою первісною свопа Функція, яка тільки взяла в копіях.
Так що це робитиме is-- давайте почнемо з головного,
бо там 1.
>> Таким чином, ми маємо деяку Int х 1.
У нас є у що, рівне 2.
А то у нас деякі своп що збирається взяти тех.
І давайте подивимося, що у нас тут.
І в нашому table-- про хлопчик.
Як я буду це робити?
Я збираюся зробити свій стіл тут.
Ледве роблячи його там.
Ледве його приготування.
1, 2, 3, 4, 5, 6, 7.
І вони дають нам, що 1 = 1, і 2 січень.
Прохолодний.
Дивовижний.
Так 3.
І є [? 1.?]
>> Добре.
А потім адресу х є 0x123.
І у є Ox127.
Прохолодний.
Добре.
Я хочу, щоб ви, хлопці, працювати над цим всього за like-- роботи на ньому
з людьми навколо вас.
Шкода, що я сказав, що в той час як я був налаштуванні.
Робота на ньому.
Спробуйте і працювати на нього самі протягом пари хвилин,
і тоді я буду працювати над цим з вами.
Бо тільки так ви дійсно збираєтеся вчитися це робити це самостійно.
Не турбуйтеся.
Удачи.
>> Добре, чому б нам не повільно почати працювати через це.
Таким чином, кожен отримує після лінії один, х = 1.
Після другої лінії, х і у одно 1 і 2, чи не так?
Прохолодний.
Так лінія три, де речі найцікавіше, звичайно.
>> Так що ми зробили тут буде тепер ми помінялися місцями.
Ми говоримо, що х і у мають ті пункти, або у них є адреса хну,
чи не так?
Таким чином, в даному випадку, три, яка вартість?
був прийнятий в, було дано значення за адресою х, чи не так?
>> АУДИТОРІЯ: 1?
>> ZAMYLA Чан: Так ми додаємо його до х?
Що адресу Х?
>> АУДИТОРІЯ: 0x123.
>> ZAMYLA Чан: Абсолютно вірно.
Але те, що це насправді вказуючи?
Якби ми були разименовать, яке значення буде він дає нам.
АУДИТОРІЯ: 1.
ZAMYLA Чан: Було б дати нам 1, тому що
ми говоримо, це піти на це адреса, скажіть нам, що це значення.
Так що буде б?
>> АУДИТОРІЯ: 0x127.
ZAMYLA Чан: Абсолютно вірно.
Так що це адреса у.
І тоді те, що [? разименовать? ?]
АУДИТОРІЯ: 2.
ZAMYLA Чан: ОК, так що тепер чотири.
Ми сказали це equal-- добре тепер ми зроблено інтервал температури дорівнює зірці.
Так які зміни?
Там тільки одна річ, що зміни тут.
Що це?
>> АУДИТОРІЯ: Temp.
ZAMYLA Чан: темп.
Таким чином, ми можемо переписати всіх з них.
Хороша стратегія для них просто з'ясувати
які зміни, тому що найчастіше є тільки одна річ, яка
збирається міняти в будь-який момент, ОК?
Так ми призначили темп.
>> Тепер наша наступна точка, п'ять, ми зробили зірка одно зірка б.
Так, які зміни зараз?
>> АУДИТОРІЯ: Зірка.
>> ZAMYLA Чан: Зірка, так все інше залишається незмінним.
А що значить зірка одно?
>> АУДИТОРІЯ: 2.
ZAMYLA Чан: 2.
Прекрасний.
Дивовижний.
ОК, а потім тепер у нас є почати б дорівнює температурі.
Тому єдиний зміна річ зірка б.
Все інше залишається незмінним.
І те, що зірка б одно тепер?
І ви завершили таблицю.
Тому що тепер наприкінці, якщо ми говоримо, х і у, ми знаємо, що в цьому point--
ми знаємо, що, коли ми змінилися зірки 2,
що це зробив він сказав ОК, на адреса 0x123 тут, змінити його.
Тепер це було 2.
І тоді в цій точці, ми сказали ОК, перейдіть на головну б.
Так що за адресою, 0x127 і зробити його 1.
Так що тепер в самому кінці, коли ми насправді повернутися до основної,
ми насправді є, що х дорівнює 2 і Y дорівнює 1.
Все добре з цим?
Добре, прохолодно.
Номер 9.
Ви, хлопці, працювати над цим.
Я збираюся створити раду таким чином, ми можемо зробити через нього.
Це буде вибух.
Великі таблиці можуть бути дійсно страшно, я знаю.
Але якщо ви просто взяти їх по одному рядку Час, вони отримують набагато менше страшно.
Добре.
>> Таким чином, ви знаєте, що це матиме пережив головний перше, чи не так?
Ініціалізує х і в і потім намагається поміняти їх місцями.
Таким чином, навіть своп вище, реальний спосіб її йде в тому, що ми збираємося через головний,
а потім дзвонить до поміняти, все в порядку?
Так це всі знають.
>> То який з них вам Хлопці хочуть почати?
Хто-небудь дійсно впевнений, про один з них?
Або навіть частково впевнені?
Чому б нам не почати з х?
Що ми думаємо х?
>> АУДИТОРІЯ: 1.
ZAMYLA Чан: 1.
Отже, чому це 2.
І це тому, що велика різниця тут
є те, що ми тільки проходячи копії в, чи не так?
Ми не проходячи по посиланню.
Таким чином, навіть в кінці ця програма х і у
залишилися такими ж, тому що вони просто копіює у функції підкачування.
Вони насправді не змінити, чи не так?
>> Так що про а, б, і темп?
>> АУДИТОРІЯ: це б.
>> ZAMYLA Чан: це б.
Таким чином, в цьому випадку, було х, який дорівнює 1, чи не так?
Так от, давайте йти через нього.
Так на початку, а й б є 1 і 2 і невизначеним.
Так, спочатку температура стає призначений, так Темп 1.
дорівнює В, тому ми отримуємо 2, і б дорівнює температурі.
Тепер ми отримуємо 1.
>> АУДИТОРІЯ: В попередньому однієї ньому помінялися амперсанд х і амперсанд у.
Що саме це означає?
ZAMYLA Чан: Отже, що означає, що ви передаєте за посиланням.
Значить, ви насправді що проходить в адресах, де
х і у зберігаються.
АУДИТОРІЯ: Але ви не перекачування адресу.
ZAMYLA Чан: Ти не перекачування адреси.
Ви перекачки що в них.
Як те, що за цією адресою, і ось чому це працює.
Versus в цій програмі те, що ви робите, ви створюєте копії.
Так у вас є х і у, які існують як своїх власних змінних тут.
Але потім, коли ви проходите їх в своп, це
як ніби ви створюєте це зовсім інший набір.
Так ви ніколи не фактично зворушливі х і у.
>> АУДИТОРІЯ: Якщо амперсанд х, про що йде адреса х, що б знятися х?
>> ZAMYLA Чан: Ampersand х це те, що в адреса х, то star-- добре,
В цьому випадку, х не є покажчиком.
АУДИТОРІЯ: О, добре.
Таким чином, ви тільки зробити це бо це не покажчик.
ZAMYLA Чан: справа.
Це можна зробити тільки зірку те, що це покажчик.
Може бути, ви могли б зробити це, щоб речі, які ні, але компіляції, що вам
зробити божевільні речі, що станеться.
І я точно не упевнений, що буде.
Ви завжди можете взяти адреса щось,
але ви не можете разименовать те, що це не покажчик.
Якщо це має сенс, це хороший відмінність мати.
>> Так що не так вже погано, чи не так?
Столи, сподіваюся, отримувати трохи менш страшним.
Добре.
Ах, кумедні ті.
Так що тепер, написавши власний код.
Так що я збираюся повідомити вам, хлопці, працювати на це протягом приблизно чотирьох хвилин,
і тоді можна буде говорити про підходи до його.
Не соромтеся говорити з людьми навколо вас.
Крім того, це цікаво.
Це як усіх дівчат Розділ прямо зараз.
Досить цікаво.
Для Чанг винятком.
Але Чан не є частиною розділу.
Дивовижний.
Ідеальний.
Тому я дам вам пару рад.
У разі, коли у вас є більше одного символу, де
у вас є щось ще як 123 або 1000 щось,
Ви повинні бути в змозі петлі і перетворити за допомогою кожного з них.
Таким чином, є пара способи ви могли б зробити, що,
але ви, безумовно, буде мати для петлі десь там в циклі
через них, який ніби як піддавки
с, навіть якщо ви називаєте STRLEN, який ніби як про
може бути, ви хочете використовувати довжину рядка в деякому роді.
>> Добре.
Так що ж ви, хлопці, думаю, може бути один з перших речей, які ми хочемо зробити?
Там в пару випадків тут ми повинні враховувати, вірно?
Або у нас є що-небудь нуль.
Що у нас є?
Випадки.
Null.
У нас є справа, що у нього є щось інше, ніж 09, чи не так?
Так скажімо, у нього є листи.
Або ми маємо справу, дійсний.
Три випадки, щоб думати.
То який з них ви думаєте може бути найпростіший, щоб піклуватися в першу чергу?
АУДИТОРІЯ: Null.
ZAMYLA Чан: Справа в тому, нульова.
Так що ми будемо робити там?
АУДИТОРІЯ: [нерозбірливо].
ZAMYLA Чан: Так.
І те, що я хочу зробити?
>> АУДИТОРІЯ: Повернутися 0.
>> ZAMYLA Чан: Абсолютно вірно.
Дивовижний.
Добре.
Так що тепер випадок, що у нього є листи і так, що вона діє.
Ми можемо насправді дбати це протягом одного циклу, ОК?
Так один із способів зробити it-- що може бути простий спосіб перевірити, якщо вона діє.
Ми повинні були б пройти кожна буква і робити те, що?
>> АУДИТОРІЯ: Перевірте, якщо це in--
>> ZAMYLA Чан: Так, ви можете перевірити якщо це від 0 до 9, чи не так?
І тоді в разі що це справедливо, ми
буде в кінцевому підсумку перебору наша рядок в кожному разі, не так?
Так чому б нам не спробувати і об'єднати їх в один.
Ми збираємося повторювати через поза рядка, і, як ми
зробити це, ми збираємося спочатку зробити перевірку, щоб побачити, якщо цей лист
або якщо цей символ є допустимим.
Якщо це так, ми збираємося виконати Операція, що нам потрібно, щоб перетворити його.
В іншому випадку вона поверне 0, чи не так?
>> Тому, перш ніж ми це зробимо, ми ймовірно, хочете, щоб деякі змінну
що ми можемо повернутися в кінці що буде наша фактичне значення.
Отже, ми збираємося, щоб ініціалізувати деяке значення рівним 0.
І це, як ми почнемо.
Так що я збираюся позбутися цього.
Так як ми збираємося перебору цього рядка.
АУДИТОРІЯ: Для контура.
ZAMYLA Чан: для петлі.
Так що наша для?
>> Аудиторія: Я 0.
ZAMYLA Чан: Мм-ом.
І те, що ми не повторюючи, поки?
>> АУДИТОРІЯ: довжина вул із с.
>> ZAMYLA Чан: Добре, тепер пам'ятаю є кращий шлях. [Нерозбірливо].
>> АУДИТОРІЯ: Так, ми можемо зробити н дорівнює.
ZAMYLA Чан: Абсолютно вірно.
>> Аудиторія: Я менше п.
ZAMYLA Чан: А чому ми хотіли б зробити?
Ви пам'ятаєте причину?
АУДИТОРІЯ: Ми повинні перерахувати його.
ZAMYLA Чан: Becasue Таким чином, ви тільки для розрахунку STRLEN раз.
Якщо ви робите я менше StrLen с, що означає, що він перераховує
Довжина кожного разу запуску для петлі,
який не є величезна вартість енергії, але це
найкраща практика, щоб спробувати робити речі, як, що, як тільки.
Якщо можливо, у вас є божевільні рядок що змінюється на кожній ітерації.
Але якщо це залишаються на тому ж, зберегти його.
Добре.
І тоді я плюс плюс.
Дивовижний.
Ми знаходимося на шляху.
АУДИТОРІЯ: Дійсно швидко.
По-перше, так скажемо, ми просто зробив я менше STRLEN з х,
вони сортування нами на дизайн взагалі або просто правильності?
Вони не.
Ми сортування від правильності для вікторини, наскільки я знаю.
Я не можу зробити повний на гарантія, але здебільшого,
Переважна більшість є коректність, тому що Ви перебуваєте під великим тимчасових обмежень.
Дизайн, як правило, означає, у вас є час, щоб подумати
про елегантності вашій ситуації.
>> Отже, ми ітерації.
Так що ми повинні або перевірити, см, якщо цей персонаж діє
або якщо ми можемо виконати наші нормальний [? в I?] функція.
Ми можемо турбуватися про те, що тобто в секунду.
Так чому б нам не 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.
Так може ви заповнюєте цей останній для мене?
Так чи з моменти я є що, Рея?
>> АУДИТОРІЯ: Більше ніж 9.
>> ZAMYLA Чан: Там.
Чи робить це сенс все, як ми добралися там?
Ці проблеми, вони якраз вас побачити рішення, це, як про, ОК.
І саме тому практика допоможе вам.
Отже, ми повертаємося 0.
Прекрасний.
Добре.
Інакше те, що ми хочемо зробити?
Це цікава частина де це трохи більш
як математика проти CS, на мій погляд.
Хто-небудь є ідея про те, як ми могли б це зробити?
Так головне розуміють це перший символ
ми беремо буде вищий орден цифра, чи не так?
Так що, якщо ми дивимося на перетворення 123, в перший раз ми ітерації
це буде один, але ми повинні що на 100 до кінця, чи не так?
Так одна річ, ви можете зробити те, що з кожною наступною цифрою
ви берете, ви примножуєте свою цінність на 10, так що до того часу, ви дійдете до кінця,
все було зрушені вгору, чи не так?
>> Так вперше запускається це, у вас є 1 в якості значення.
Вдруге ви запустите її, ви помножити свою цінність на 10.
Він буде оновлювати його так, що тепер 10, і ви додаєте на таке значення.
І тоді ви помножте це на 10 і додати на таке значення.
І саме тому вони кажуть, що це набагато більше походить тестування
математика Алгоритм проти CS, але я відволікся.
Я не пишу вікторини.
>> Так що, одне ми можемо зробити, це ми кажуть раз вартість дорівнює 10.
Так це буде зміщуватися Ваш цифра один раз кожен раз.
А потім ми просто хочемо додати.
Ми хочемо додати в те, що ми щойно отримали, чи не так?
Так як же ми насправді перетворити наш ASCII символів в числа
що вона представляє?
>> Отже, ми знаємо, що 0 дорівнює 47, чи не так?
Так що, якщо 0 47, що б ми повинні зробити до нього
насправді зробити це буде інтервал від 0?
>> АУДИТОРІЯ: Це 48.
ZAMYLA Чан: 48?
Вибачте.
Ми б відняти 48, чи не так?
Пам'ятайте ASCII математику?
Ми можемо ставитися до них тільки як звичайні числа.
Якщо ви ставитеся до них, як номера, вони стають цифри ефективно.
Так що, якщо у нас є х I, який Давайте говорити в цьому випадку дорівнює 0.
Так з моменти я в цьому випадку буде ASCII--
ASCII інтервал для нього було б 47.
Таким чином, ми могли subtract-- або 48.
Ви можете зробити це, є одним із способів.
Хто-небудь знає краще Так ми могли б зробити 48?
Ми щойно сказали 0 is-- йти в ASCII ви могли б зробити цитату 0.
Так само це почасти робить сенс, як це працює?
>> АУДИТОРІЯ: На даний момент, є значення 0 бо навіть якщо помножити його на 10,
Ви починаєте з нуля, так вона повинна бути включена?
>> ZAMYLA Чан: Так що в цьому випадку, ви хочете помножити його, перш ніж додати,
бо в цьому випадку, так, це було б ще be-- мій покажчик відсутній.
Значення в цьому випадку, перший раз ми запустили його буде дорівнює нулю.
Таким чином, ви просто додаючи на цій першій цифри.
Важливо те, що наступного разу Ви ітерації, ви хочете, щоб перемістити його вгору
перш ніж додати наступну цифру на.
Хіба що прояснити для вас?
Добре.
>> Іноді ви збираєтеся отримати непередбачуваний більше Mathy речі.
Якщо у вас більшість це, ви все ще збираєтеся
в get-- ви збираєтеся робити дуже добре.
Часткове кредит є дуже Велика річ про CS50 вікторини.
Так що пишіть, що ви знаєте.
Якщо ви отримали все, , Крім цього розділу ви
ще збираєтеся робити дійсно добре проблема.
Тому що ви показуєте, ОК, я майже знаю.
Я знаю, що мені потрібно для перебору.
Я знаю, що мені потрібно, щоб перевірити.
Я просто не зовсім отримати як перетворити його.
Ви збираєтеся бути в порядку.
Так, ви збираєтеся втратити пару окулярів,
але ви все ще збираєтеся отримати Велика кількість балів за то
як, що, якщо ви відсутній ці два рядки.
Я б, як добре, цієї людини знає, що вони роблять.
Математика важко.
Так що я б сказав, що ти будеш в порядку.
>> Отже, ви, хлопці, готові до спробуйте STRLEN з покажчиками зараз
що ви, хлопці, покажчик майстра?
Тому я дам вам, хлопці, працювати на що за небагато.
Якщо комусь потрібен освіжити.
Отже, ви хочете використовувати покажчик арифметика, а потім, якщо з порожньою,
ваша реалізація повинна повертати 0.
Такі речі, як це, які роблять вас дійсно щасливий просто подзвоніть STRLEN
в кінці дня.
Я думаю, що це можна було б бути трохи легше, ніж попередній, який
це добре.
Я дам вам, хлопці ще хвилину, і тоді ми будемо працювати через нього.
І тоді ми отримуємо, щоб перейти до перемикачів.
>> ОК, готові хлопці?
Може бути, небагато.
Так що я дав вам ваші два варіанти, чи не так?
Або перевірити нуль і повертати 0, якщо це, або насправді обчислити довжину.
Так що хто хоче написати перевірити нуль?
Піти на це.
>> АУДИТОРІЯ: Якщо круглі дужки з дорівнює дорівнює нульовий повернення 0.
ZAMYLA Чан: Прекрасний.
Я люблю, коли наполовину вашу проблему просто перевірка на нуль.
Я знаю, з ви, хлопці, в минулому тижня я був як чек на нуль
буквально кожен раз.
ОК, so--
>> АУДИТОРІЯ: Якщо повернення 0 тільки одна лінія, ми досі потребують фігурну дужку?
>> ZAMYLA Чан: Ви не технічно потрібно їх доти, ви послідовні.
Це хороша практика просто щоб стати звичкою
використання фігурних дужок, але технічно немає.
Ви не маєте потребу в них для однієї лінії.
Ми просто, як правило, рекомендують його для людей, початківців програми.
>> Так що тепер, можливо, ми хочемо зробити тут?
Так що тепер ми знаємо, що наша рядок дійсна.
Ми хочемо, щоб обчислити довжину.
Що, ймовірно, першим що ми хочемо зробити?
>> АУДИТОРІЯ: Створити INT це довжина.
ZAMYLA Чан: Абсолютно вірно.
АУДИТОРІЯ: І ми хочемо, щоб встановити його на?
ZAMYLA Чан: 0.
Ідеальний.
Добре.
Тепер те, що хочете робити?
Це дійсно велика його частина.
Піти на це.
>> АУДИТОРІЯ: Таким чином, ви, ймовірно, зробити цикл.
А потім так при виклику сек ти отримувати адресу першої речі,
Ви б почати з я дорівнює 0.
І потім, поки х плюс я не зворотний слеш 0.
ZAMYLA Чан: Нульова термінатор.
АУДИТОРІЯ: Нульова термінатор.
Потім додайте один до довжини.
>> ZAMYLA Чан: Так.
ОК, так що давайте перетворити що в дуже конкретній коду.
Але це прекрасна ідея.
Це саме те, що ми робимо.
Ми збираємося бути ітерація через с покажчиком.
Так що ми хочемо зробити, це замість Int
тут, бо ми без посилання на нього.
Ми посиланням на старті Рядок, що почати бути деякі адресу,
чи не так?
>> Таким чином, ми хочемо покажчик.
Таким чином, ми будемо мати деякий сЬаг зірку, тому що це відповідає нашим с, чи не так?
Так що це якийсь момент ми ініціалізації на початку рядка, ОК?
Так що давайте просто називати це я.
Якщо це початок рядка, що він буде призначений?
Чи не 0.
Ми хочемо, щоб це було почати нашого рядка.
Що являє собою початок наша рядок, яка була дана нам?
>> АУДИТОРІЯ: Просто с.
>> ZAMYLA Чан: с.
Таким чином, це створює деякі нові покажчик, який являє собою початок нашої рядка, ОК?
Інший спосіб думати про це як ось наш масив.
Це наша рядок, с.
Так скажімо, це Перша точка, і це 0x4.
04.
Це наша с, який тримає цю адресу.
І ми тільки що створили ще один під назвою я що тільки відноситься до того ж.
Таким чином, вони обидва просто вказуючи до початку нашого рядка.
Це просто графічне представлення.
>> Так що тепер, що ми хочемо, щоб зробити це ми хочемо перебрати
наша умова для ітерації через нашу рядок.
Тепер за покупками.
Отримав в магазин, хлопці.
Хіба ми хочемо, щоб постійно оновлювати, поки ми досягнемо нульової термінатор, чи не так?
Так що, можливо, це виглядає?
Чи хочемо ми I, або ми хочемо зірки, я в чому питання?
Є нульова термінатор адресу або щось знаходиться за адресою?
Розташований за адресою, чи не так?
>> Так що ми повинні разименовать все, що тут, тому що це лише деякі адреси.
Щоб дійсно отримати до початку ми повинні разименовать це
так що ми насправді отримати те, що в цьому першому місці.
Так що якщо ми робимо зірки, я, що не хочемо, щоб вона дорівнює?
АУДИТОРІЯ: Повернутися слеш?
>> ZAMYLA Чан: Там.
Чи має це сенс для всіх?
Нам потрібно йти в нашу рядок і переконайтеся, що це не кінець.
І тоді ми можемо просто оновити, як це.
Нормальний оновлення.
Так що, поки вони MET, що ми повинні зробити?
>> АУДИТОРІЯ: Довжина плюс плюс.
>> ZAMYLA Чан: Мм-ом.
А потім, після цикл припиняє, що ми хочемо, щоб повернутися?
АУДИТОРІЯ: Довжина?
ZAMYLA Чан: Довжина.
Там ви йдете.
Очевидно м'ясо цьому є розуміння цього цикл.
Чи всі отримати, як це працювало?
Я щасливий йти по ній ще раз.
>> АУДИТОРІЯ: Другий частина, так зірки я там,
ось адреса first--
ZAMYLA Чан: Це не адреса.
Це те, що в.
АУДИТОРІЯ: Це насправді там.
ZAMYLA Чан: Це що насправді там.
Так що це saying-- нехай мені зробити це краще.
Так що це 0x04, і я просто хочу, сказати, що я збираюся зробити це моє ім'я.
Добре.
Так, я знаю, що є вікторина огляду сьогодні.
Багато вікторини огляду.
Так скажімо, цей рядок моє ім'я, Еллісон.
Маленький брудний, але вона є.
І з представляє місцеположення від того, де починається рядок,
так що я збираюся зробити це real-- це адреса,
де починається рядок, чи не так?
>> Так, що ми робимо тут ми хочемо використовувати покажчики для перебору.
Так ми створюємо деяку покажчик, I, що також дорівнює початку рядка.
І в кожній точці, ми хочемо, щоб Ми продовжуємо йти по масиву
тут, поки ми не потрапили в нульовий термінатор.
Таким чином, ми завжди хочемо, щоб перевірити те, що на кожному з цих адрес.
>> Таким чином, ми разименовать я, так що Вперше ми робимо це ми
сказати, в порядку, що за адресою 0x04?
Це.
Добре, що ми хороші.
Приріст довжини.
Переходите до наступного.
Так i-- пам'ятаю збільшення покажчики по розмір всі вони, вказуючи на.
Таким чином, в цьому випадку, так як це символ, він буде оновлювати по одному.
Так що тепер ми будемо дивитися на 5, що означає, що відбувається тут.
Так він каже ОК, перейдіть на 0x05.
Що там?
Це л.
І це буде продовжувати робити це поки не досягне цього.
І це говорить ОК, що в всі адреси це?
Нульова термінатор, ОК.
Вихід.
І просто повернути довжину.
Тому що вам потрібно, що насправді в що адреса, а не сам адресу.
>> Є дуже мало місць, де Ви насправді потрібна адреса.
Більша частина часу, коли Ви використовуєте і це
коли ви спочатку привласнення покажчик або коли
ви передаєте її в іншої функції.
ОК, все там добре?
Начебто?
Добре.
>> Так що, схоже, ми маю отримали близько 12 хвилин до кінця,
тому ми підемо на може бути, наша остання проблема,
а там будь-яка поняття, які придумали
в той же час ми можемо швидко перейти, що.
>> Так перемикання передач буде останнім Проблема тут, переключитися заяви.
Так що ваша робота полягає в переписати це так, що він веде себе так само
але не використовувати комутатори.
Крейдяні руки.
Тому будь-які питання про це з місця в кар'єр?
Ніхто?
Добре.
Всі розуміють це, що якщо справа не має нічого після нього,
це означає, що він повинен слідувати наступний крок?
Так випадку 1 і 2 в цьому випадку зробити те саме річ.
Іноді точка плутанини.
>> Добре.
Кого-небудь є ідеї?
Да?
>> АУДИТОРІЯ: Таким чином, ви можете просто зробити, якщо заяви.
>> ZAMYLA Чан: Мм-ом.
Так що наш перший?
>> АУДИТОРІЯ: Якщо п одно дорівнює 1, і 2 лінії для або п рівних
дорівнює 2, а потім роздрукувати мала.
І тоді ви можете зробити ще, якщо?
Або може ви просто зробити, якщо?
>> ZAMYLA Чан: Ви можете зробити ще, якщо?
>> АУДИТОРІЯ: Чи буде це важливо, якщо ви зробили, якщо?
ZAMYLA Чан: Так це робить.
Чи має anyone-- так, ви отримаєте той же результат
якщо ви використовуєте тільки умовного способу в порівнянні якщо ви використовуєте небудь ще умовного способу.
Може ви, хлопці, думаєте про причину чому ви, можливо, захочете використовувати ELSE
якщо проти багато IFS?
Повинен з ефективністю.
Да?
>> АУДИТОРІЯ: Було б перевірити все умовного способу щоразу.
>> ZAMYLA Чан: Так що навіть якщо він ударив цей перший,
вона буде йти на перевірку через один.
Отже, ви хочете використовувати If Else умовного способу у випадках де тільки один з них коли-небудь застосувати.
Так взаємне виняток те, що ми, як правило, говорять.
Якщо у вас є купа IFS, це означає, що, можливо, більше, ніж один з них
питання і, можливо, більше, ніж один з них може бути правдою.
І ви хочете їх обох виконати, якщо це правда.
Якщо ви хочете тільки одного з них, щоб працювати в цих взаємовиключних випадків,
Ви хочете використовувати ще, якщо, тому що Все це має відношення до ефективності.
Ваш код просто краще розроблені якщо він дотримується цієї практики.
Так що в цьому випадку ми будемо мати ще якщо.
І це було б?
>> АУДИТОРІЯ: п дорівнює дорівнює 3.
ZAMYLA Чан: Прекрасно.
Роздрукувати середнього.
А потім в наш останній так, що ми маємо?
Інакше або якщо?
АУДИТОРІЯ: інше.
>> ZAMYLA Чан: Чи є у нас want-- Ви хочете ще якщо, тому що ми маємо конкретні випадки.
Це не вид улову всіх.
Якщо у вас є за умовчанням в switch-- Пам'ятається, в комутаторах ви можете мати справу,
і тоді у вас є за умовчанням.
Якщо у вас є за умовчанням, це свого роду Вашої заяви там.
Але якщо у нього є тільки випадки, що означає, що ви повинні
перевірити, щоб переконатися, що це кожен з них.
Таким чином, в даному випадку, це буде 4 або 5.
Ми хочемо, щоб друк геть.
Це велика.
І там ви йдете.
І що б ваша програма.
>> Таким чином, в цьому випадку, якщо ми був за замовчуванням то,
що у нас буде або ще в все, що хотів, щоб ми зробили.
Так що це гарна відмінність знати, розуміти.
Хіба що допомогти з перемикачами для вас?
Ідеальний.
Добре.
>> У нас є близько восьми хвилин в запасі.
Чи є у вас, хлопці, будь інші поняття високого рівня?
Питання в цілому?
Да?
>> Аудиторія: Я був Питання про один з них
що було про випадкова Число генератор на вікторині нульовий.
ZAMYLA Чан: О, це один.
Це один ще один, де це більше математика than-- да.
Рішення that-- навіть я, коли Я бачу це, я, як те, що це.
>> АУДИТОРІЯ: Це був номер 7.
>> ZAMYLA Чан: Це дивно, на мій погляд.
Тому в основному ви хочете використовувати drand48, який
дасть вам деякі число між 0 і 1.
І ви хочете, щоб використовувати його так що ви якимось чином отримати a--
і це набагато серйозніша проблема, математиці для мене, ніж я думаю, проблема CS.
>> Таким чином, що ви робите it-- і іноді це буде просто, як, що.
Знову ж таки, ці випадки, коли це частково
з як написати те, що ви може і часткове кредит.
Так що, якщо ми хочемо повернення, ми знаємо, що ми
збираєтеся використовувати drand48 в якійсь мірі, чи не так?
Так чому б нам просто не записати, що вниз.
Ми використовуємо його в деякому роді.
Таким чином, що у них є Ви, хлопці, використовувати це
як це, яке я постараюся пояснити.
>> Тому в основному те, що відбувається тут це тому, що це між 0 і 1,
що ви робите це ви множення по-- це дуже математичний питання.
Просто повна відмова, це повністю математичний питання.
Що ви робите, з 0 і 1, і ви
хочу, щоб це було в межах цей діапазон, ви насправді
з'ясувати, наскільки великий діапазон, а потім
Ви в основному масштаб його, що і це робить.
>> б мінус дає цей діапазон, Різниця між цими цифрами.
Ви можете помножити між 0 і 1, а потім додавши тільки
означає, що ваш масштабування до таким чином, що це між А і В,
які я дійсно не люблю цю проблему.
Як я вже сказав, цей тест призначений для охоплення
люди, які менш зручні, десь посередині,
і більш комфортно.
Так що, якщо вони зробили це так, що це було щось
що всіх в менш зручне місце отримав би,
ми повинні були б надто багато люди забивши удосконалює,
і тим більше комфортно буде нудно.
>> Таким чином, вони завжди мають ці вид головоломку питання
що маються на увазі, щоб бути трохи складніше що буде потрібно якийсь творче мислення.
Коли ви бачите їх, не надто тупик.
Я безумовно сказав би сальто через вікторини перший.
Рішення проблем що ви знаєте, ви можете,
бо є не використовуються застрягти на проблеми, коли є три
або чотири або п'ять на сторінці після цього ви можете легко зробити.
>> Зал: А чому саме ви помножити його на діапазоні?
>> ZAMYLA Чан: Ви помножити діапазон, Ви знаю-- це як, скільки після
ти хочеш?
Таким чином, ви можете думати, бо це повертає число між 0 і 1,
Ви можете думати про це як відсоток.
Так що це в основному говорять, якщо у нас є наш номер рядка тут, тут,
і б тут.
Ти як, скільки повз це?
Це все, що ми робимо.
Отже, ви тільки що просили Відсоток цьому діапазоні, який
є те, що він дає тобі.
І тоді ви в основному тільки масштаб його, додавши.
Це тизер математика мозок.
>> Якщо яка-небудь остання хвилина рада, я сказав би сальто через питання,
з'ясувати, які з них ви знаю, що, як, о, я отримав це.
Майже напевно вони збираються бути питання, які ви не будете знати,
або що ви збираєтеся є час для, так вдарив ваші сильні, добре?
Ви, хлопці, збираєтеся великий.
Є багато питання з причини,
так що у вас є час, щоб вид мають можливість
продемонструвати, що Ви дійсно добре.
Так що це нормально, якщо ви не хорошо все.
Грати в ваших сильних сторін.
Да?
>> АУДИТОРІЯ: Так це збирається повернути щось, що це усічений?
Так, це буде, бо drand повертається між 0 і 1.
Це буде повертати Int, бо це буде обрізати
коли ми додаємо або помножити на нього.
Прохолодний.
Будь-які горящі питання?
>> Ви, хлопці, збираєтеся робити великий.
Ви збираєтеся бути казковим.
І навіть якщо ні, то буде бути цукерки тут на наступному тижні.
І я буду любити тебе.
Я люблю вас, хлопці, незалежно.
Гаразд, все, удачі.
Мають великий час.
Ви збираєтеся бути в порядку.
І знаєте що?
Протягом двох днів він збирається не буде, в той час як I
є два проміжних виборах в четвер, так по крайней мере, ви, хлопці, буде зроблено.
Гаразд, я буду бачити вас, хлопці на наступному тижні.