ZAMYLA Чан: Еј, сите. Добредојдени да секција. Денес е само ќе бидат сите квиз преглед за вашиот квиз во средата. Се надевам дека сите се сеќава дека тие имаат квиз во средата. И ако не сте, добро, сега сте биле потсети. Така среда бидете сигурни дека ќе се појави за класа или други сместување како е потребно. Вие момци се случува да биде неверојатна. Тоа се случува да биде одлично. И јас одам да се направи сè што можам да ви помогне да се подготви денес за вашиот квиз сега. А исто така и во случај да не знаете, таму е се разбира широк преглед сесија денес во 07:00 во Северозападно лаборатории соба B103. Можете да ме видиш на бис како Ќе ја водам дел од тој преглед сесија исто така. Па ако не можат да добијат доволно од мене сега, можете да дојдат повторно вечерва. Сите права, па првите нешта прво. Само некои квиз совети пред ние всушност се нурне и коментарите. Па како и со било испит, пракса дефинитивно ќе ви помогнат надвор. Существуют испити од минатото шест или седум години таму, па тоа е многу пракса материјал за вас момци да го имаат. И всушност, денес е навистина само ќе треба да се оди над било теми дека вие момци имаат прашања во врска со, како и како работат преку пракса проблеми од квизот нула. Па јас ќе фрли до квиз нула од минатата година за тука, и можеме да работиме преку било какви проблеми дека вие момци би сакале да. Така практикуваат. Ви се случува да се започне тоа го прават денес. Код на хартија. Така да, ако сите всушност би можеле да се излезе хартија, тоа ќе биде одлично, затоа што вие не сте се случува да има вашиот компјутер на испит и испишување код со рака често е многу повеќе тешко отколку што би очекувале. Сте се користи само види тоа и внесување, и имаш компајлерот да да ви помогне кога ќе имаат грешки, но не се добие тоа на испит. Така, тоа е навистина важно да се, всушност, да биде во можност да се напише код, и дека мускулите меморија за правење на тоа со рака навистина ќе ви помогнат. Па ние сме добивање малку блиску. Тоа е понеделник. Твојот испит е во средата. Но, ако имате време, дефинитивно се земе една на испити од минатата година или година пред под временско ограничување на еден час и половина. Само нокаутирам час и половина од времето, и седат сами надолу, и само работат преку проблеми како да сте биле, всушност, земајќи го, затоа што еден од најголемите работи што слушаме за квизови е дека тие се многу долго. Тоа е многу материјал. Существуют многу прашања, и повеќето луѓе не можат да ја завршиме. Знам дека јас целосно не заврши ми квизови кога го зедов класа. На тој белешка, како помалку удобно дел, се разбере дека овој курс е наменета да се грижиме за луѓето од сите нивоа. Целата причина имаме ли поделени помалку удобно, некаде помеѓу, и поудобно е да се вид го прават тоа по фер. И ако сте помалку удобно, тоа е не е потребно само по себе да се добие сè. Како ако сте биле добивање сè, би веројатно да биде во повеќе удобен секција. Па очигледно не себе си го претепаа премногу тешко, ако не може да се заврши испитот. Земи го од мене, јас не го направи тоа. Јас сум уште концентратор. Јас сум уште помага учат на курсот. Ќе биде во ред. Добре. И на крај, се некои спиење. Очигледно со било кој испит ние секогаш се каже ова. Cramming ноќта пред и не добива никакви спиење прави не-- можеби ако тоа работи за вас, одат за тоа. Но, за поголемиот дел од луѓе, добивање на некои спијат, допуштајќи вашиот мозок одмор и се опорави пред да дојдат во за испит навистина ќе ви помогнат. Исто така ќе има речиси сигурно да биде бонбони на испитот, па мора да гледаат напред кон. Вие момци се случува да се направи одлично. Тоа се случува да биде во ред. И сега во следниот час и половина I ќе се обиде и да се подготви вас, како најдобро што можам. Па морам слајдови од основно сите делови до сега. Јас не одам да се оди преку сите од нив, бидејќи тоа не е изводлива во еден час и половина, како и како работат преку пракса проблеми. Така, наместо јас имам листа на теми. Овие се сите работи дека ние може да ви квиз на. Дали има нешто дека навистина јурнува нанадвор дека ќе сакаат да одат над, дека сакаш да одиме во текот на концептуално, Можам да се обидам и да даде Ви преглед таму. Или ако сакате да скокаат право во да прави практика проблеми заедно, можеме да го направите тоа. Тоа е до вас момци. Там не се толку многу од вас. Така, тоа е она што ќе го момци сакате да направите. Сакам да биде најмногу корисни кон вас момци. Па јас ќе ви овозможи да само погледнете. ПУБЛИКАТА: Едно е шема да ги исполнуваме велејќи дека за магацинот и грамада. Само целата идеја зад тоа и што значи тоа. ZAMYLA Чан: Да, во ред. Ова е за сите начинот на крајот, па да ми дојдете преку. ПУБЛИКАТА: Ние не треба да се направете го тоа сега, но сеедно. ZAMYLA Чан: Имаше ли anything-- оваа. Е овој вид на нејасни за луѓето? ПУБЛИКАТА: Да, јас втор тоа. И може да ние исто така се buffer overflow? ZAMYLA Чан: Buffer overflow? ОК. Така buffer overflow е доста лесно само да се зборува. Тоа е во основа буферира мислите за некои низа памет дека имате, нели? Ние обично се зборува за buffer overflow кога вие не сте проверка колку корисникот е ставање во, нели? И идејата да се биде со buffer overflow е тие се стави во далеку премногу податоци за просторот дека сте наменети за нив, нели? Значи, ако ви кажам, им даде на ми некоја порака, ние сме под претпоставка дека тие се случува да се даде ни разумен должина на пораката. Можеби неколку линии, какво ли не. Па ние не се провери. Наместо тоа, тие ни се хранат во целата книга, која е пораката, и тоа излива на износот на простор што сме наменети за тоа. И она што се случува е тоа би можело да ја пребришете места кои што не би требало. Па знам професор Малан рече нешто во врска со buffer overflow напади. Па тоа е каде што корисникот ќе влез некои големи количини на податоци во надеж дека тој ја презапишува минатото на крајот на вашиот тампон и го заменува something-- Се прашувам Јас такви имаме слајдови тука. Не мислам дека имаме оние слајдови тука. Но во основа тој презапишува некои дел на меморија дека го овозможува пристап на делови од вашиот компјутер дека нема да нормално има пристап до. Најголемата работа со buffer overflow е само за да се разбере дека тоа се случува кога не сте проверка колку си корисникот е ставање во. Кога не сте вид на заштита против тоа. И во својата наједноставна работа, тоа е само вашето корисничко внесување на масивно количество на податоци, во обид да ја пребришете некои безбедносни дел од вашата меморија. Тоа е се што е. Така што ова тука, магацинот и грамада. Во основа сите ова е е само застапеност на меморија и каде што се чуваат работи. Тоа е навистина вид на сите што треба да знаете. Најголемите работи кои што треба да знаете се that-- дозволете ми да се види дали има better-- тука. Значи ова е оџакот тука. Па оџакот има врска со сите ваши функции што се јавувате во било кое дадено време. И она што е важно да се запамети случува надвор на минатата недела со Примерок е тоа што вие навистина не треба потребно контрола над него. Сето тоа зависи од кога одредени функции ги извршуваат. И кога тие се извршување, тие имате она што се нарекува магацинот рамки кои одат до тука. Па затоа сите вид на се случува без вистински влез од вас. Ти пишувам вашата програма, и ти нека се кандидира, и магацинот вид зема грижи за себе како што треба да. Значи, ако во главниот сте повикувајќи коцка, што ќе бидат донесени до тука. Тоа ќе се создаде рамка. Но не можете ништо експлицитно го стори да се создаде дека оџак рамка друго освен напишете функција да започне со тоа, во ред? Што е вид на под вашето контрола е грамада со Примерок. Значи секогаш кога ќе Примерок нешто, земате меморија од грамада. А тоа е меморија, која ви имаат, за недостаток на подобар збор, експлицитна контрола над, затоа што се сеќавам со Примерок тоа е во основа има додека не се каже поинаку. За оние од вас кои гледав делот минатата недела, тоа е таму, додека не му кажам да си отиде. Тоа ќе биде таму, освен ако не инаку не кажа. Така грамада е само нешто можете да се сетите како меморија дека имате контрола над. И оние кои се само две различни големи нешта. Освен тоа, вие не треба да имаат да се грижи премногу за магацинот и грамада прашања или обично повеќе само ако имате локалните параметри или негова функција тоа ќе биде на магацинот или грамада. Очигледно, во овој случај тоа ќе биде оџак. Ако сте mallocing нешто, во која се што доаѓаат од? Грамада. Ако се погледне на практиката квизови, оние се генерално од типот на прашањата кои ги имаат. Вие не треба да се грижите премногу за тоа. Да добиете на повеќе изрично за магацинот и грамада подоцна или во други CS класи. Па само што имаат вид на општа идеја за она што ова е ќе биде добро, што јас само вид на отиде. Која било друга тема? Да? ПУБЛИКАТА: Можете ли да одиме во текот на Покажувачи повторно навистина брзо? ZAMYLA Чан: покажувачи? Дали сакате концептуални преглед на покажувачи или практикувате со покажувачи? ПУБЛИКАТА: Нешто како синтакса. ZAMYLA Чан: синтакса? Да. Добро, ние сме се стигне до таму. Да, така што ова е само вид на нешто кога ќе имаат рекурзивен функција, секој пат дека рекурзивен функција е вика, тоа само додава други магацинот рамка. Доста пример за тоа како навистина не е имаат контрола врз рамки на вашиот оџак. ОК, показалки. Сите права, па создавање совети. Запомни, тоа е само напишете ѕвезда. Па било кој вид на податоци кои си оди за да се укажува да. Па ова ќе биде покажувач на int. Оваа ќе биде покажувач кон char. Оваа ќе биде покажувач кон float. Така, тоа е во основа без оглед на што сакате тој да биде покажувајќи на, ѕвезда е како ќе се изјасни на покажувачот, во ред? Но, тогаш очигледно добива малку незгодно кога имате покажувачот или имате ѕвезда сеедно. Така голема разлика е кога сте declaring-- па ние имаме some-- така ова се некои int ѕвезда. Значи ова е некои покажувачот повикува х да int, нели? Па се сеќавам што тоа не е ова го нарекува систем х. И ова се случува да има некои адреса, нели? Така да речеме ова е нашата адреса. Покажувачи одржи адреси. Па што оваа вели е дека во овој локација, ние сме чување Int. Па друг начин можеме да размислуваме за ова е тоа што ова е некој int. Ние навистина не го доделен на ништо сеуште, но тоа е само INT. Така можеме да направиме е ако ние ѕвезда х е еднакво на 5, ова станува 5, во ред? Ова се вели одат на она што x е покажувајќи кон, па оди на оваа адреса и да ја направат еднаква на 5. Значи ние додели 5 на оваа адреса, нели? А потоа, ако го направите ова, ова ни дава адреса на. Ова е адресата на операторот. Значи она што е адреса на х? Ние не знаеме. Не сме го доделен адреса. Ние може да се каже тоа е some-- сега дадовме то на адреса, така адресата е 4. И всушност ако одиме преку нешто вака, вид на она што го правевме. Така работат преку here-- да најдам тоа им помага ако извлече совети. Ако сте на испит, јас Силно препорачувам цртање кутии. Па ова првото, int x е еднаква на 5. Ова само значи дека ние имаме некои поставите во меморија што е 5, нели? И нашата маса тука ни кажува дека тоа е на адресата 0x04. А потоа ние се создаде некои покажувач. Па ајде да се скрши оваа надолу едно по едно време. Така што ова создава некои поле, за да int, нели? Тоа се случува да се одржи некои адреса на неа. Па ова е некој покажувач. И ова креда е навистина мал. Па ние имаме некои покажувачот тука. И нашата маса ни кажува која е адресата е 0x08. Кул. И ние сме доделување го на адреса на х. Се сеќавам, показалки одржи адреси, во ред? Значи, ако сакаме да се одржи х, имаме да се користи адреса оператор, кој е симболот, за да го добиете адреса на x, што во овој случај, 0x04. А потоа, ако имаме некои int копија, ова само создава некои други кутија, која има int нарече копија. И ако ние додели на this-- па ова е тоа референцирање. Така што се вели да оди на без оглед на адреса покажувачот држи. Покажувачот држи оваа адреса, па ние би одат овде, и ние се каже, во ред, она што е во него? Тоа е 5. Па копија става 5. Да има смисла? Што ако јас се обидував да му го доделите ова да се само покажувач. Она што го прави покажувачот всушност еднакви? Тоа само ќе биде она што покажувачот содржи, нели? И тогаш што ако сум го правела тоа? Она што ќе биде копија сега? ПУБЛИКАТА: 0x08. ZAMYLA Чан: Да, адреса на нашата покажувач. Секој дел од тоа дека треба да биде ре-објаснето? Кул. Существует дефинитивно многу забавно проблем на квиз еден дека ние може во текот на овој ви дава повеќе пракса. Момците од минатата недела може ви каже дека тоа не е толку лош. Добивме преку целата шема, и сите би го правеле големи. Добро, така што е преглед на синтаксата на совети. Најголемата работа е разбирање на тоа како да ги создаде, направете референцирање, и адреса на, во ред? Кул. За други прашања пред ние се нурне во пракса. Исто така, ако ние сме минува низ практика проблеми и има нешто што сакате бакшиш, ние може да го направи тоа премногу. Имате ли нешто? ПУБЛИКАТА: Структуры и се поврзани листи. ZAMYLA Чан: Структуры и се поврзани листи, ОК. Така structs. Ние всушност се случува во текот на овој вечерва премногу. Добро, така structs. Structs се во основа само начин за вас да се одржи повеќе вредности од различни типови. Па со низа сме constricted до еден тип на податоци. Нашите низа или има само да биде броеви, или само да биде знаци, или само да биде лебди. Но можеби ќе треба да содржат повеќе од тоа. Можеби треба да hold-- ако ќе зборуваме за еден студент, ви се случува да имаат дом, нивните Матичен број, возраста, каде што живеат, нели? И сите од нив се различни видови на видови. Значи, вие не може да се сместат оние сите во низа. Така што можете да направите ви е може да се создаде структура, која можете да се сетите како вашиот лични податоци тип. Така, наместо да има само целочислените и наместо да има само лебди, ќе може да има тип студент кој ги има сите на овие полиња во неа. Па начинот на кој ние го иницијализирам нашите structs is-- всушност со оглед на моето пишување е страшно, ние се случува да транзиција кон пишување. Ву. Добро, па ако сакаме да се создаде struct-- Јас сум само ќе го овде долу. Непочитување на главниот без оглед на кои ќе ги користите подоцна. Па начинот на кој сакате да го направите што е со ЬурейеЕ структура. И ајде да се јавите овој студент затоа што тоа е она што јас го користите. Добро, така ЬурейеЕ значи дека сте дефинирање на нов тип, во ред? Существуют нијанси во кога ќе се направи само структура наспроти ЬурейеЕ структура. За сите намерите и цели, вие момци се само ќе да се претпостави дека тие се приближно исти и само користат ЬурейеЕ структура за сега. Тоа ќе стане начин повеќе очигледна во вашиот следната П поставите тоа што тие разлики се, но јас не мислам дека треба да се грижите за тоа во моментов. Јас би многу, а вие знаете како да се создаде една, пристап до неа, и му ја додели [? вредност. ?] Нов тип на структура, и ние сме нарекувајќи студент. Па откако ќе завршиш создавање на овој, за сите намерите и целите, ќе имаат вид, наречен студент. И можете да мислам на тоа само како еден вид како int, или негова float, или негова char. Тоа е само уште еден тип, во ред? Така што во овој еден, што имаме? Имаме можеби име. Па можеби и ние сакаме низ името. И ние имаме можеби int тоа е проект. И ние имаме друг во тоа е телефонски број. И ние сме some-- ајде да видиме. Што друго може да имаме? Ќе имаме некои стринг во својот дом. Сите нешта кои студентот има. Така што ова создава структура сега. Па како да се создаде еден студент? Ако имаме некои променлива која е се случува да се зборува за Вокер тука, па ние have-- ние сме само се случува да се јавите оваа Вокер. Тој треба тип. Што е вашиот тип? ПУБЛИКАТА: Студент. ZAMYLA Чан: Студент. Па ова само создава објект можете мислам на тоа ги има сите овие работи. Што сте го креирале патнику студент. Па сега ние треба да бидат способни за да доделите сите овие, нели? Па дали некој се сеќавам како ние пристап во рамките на структура? ПУБЛИКАТА: Период. ZAMYLA Чан: Период Токму така. Значи, ако сакавме да доделите го името, би можеле да го направите тоа. Очигледно ова би be-- овој дел тука ќе биде во рамките на главната, така всушност дозволете ми да го направите тоа. Пријават тоа над главниот така дека ние може да го користи во рамките на главната. Па сега сакам тоа да се направи проект, и ние само ќе направи некои таму, а потоа ќе му ја додели куќа. Бам. Кул. Па сега ние треба да некогаш треба да пристап нешто подоцна on-- можеби we-- ако некогаш треба да пристапите ништо, ајде да се направи една int копија проект. И јас сакам да го копирате Проект Вокер во тоа. Како може да го сторам тоа? Вие треба да имаат пристап во рамките на Вокер структура за да се [? оди на тоа?] [? E?]. И истиот начин на кој ние доделило до тука, како може да имаме пристап до неа, кога сакаме да даде дека вредноста на нешто друго? ПУБЛИКАТА: Walker.id. ZAMYLA Чан: Да, точно. Па тоа е доста на сите што треба да знаете за structs. Вие само треба да се мисли на нив, како друга променлива. Во основа се создаде своја сопствен тип променлива, во ред? Можете да го користите за да се изјасни променливи во било кој начин. Тука патнику се уште е променлива. Тоа само има еден вид ученик сега наместо на тип int, или еден вид низ, или тип char. Ако има еден лесен начин да се зборува за structs, тоа е буквално само еден создаде свој тип на податок која ти овозможува да група сите овие различни вид на податоци заедно. Дали тоа има смисла? ОК. Дека и пристапуваат со точки. Доста на сите што ви треба. Добро, каде е мојата PowerPoint оди? Тука е. Па ова е чудно. Аха. Добро, кул. Секој друг работи или ние сакаат да се упатат кон пракса? Пракса? ОК. Страшни. Одам да се излезе од оваа. Ако во било која точка за време на пракса прашања, Јас сум среќен да преработиш и да си одат низ градот. Па морам квиз нула до тука. Ако вие момци сакате да се повлече го соочи на вашиот компјутер, исто како земе пет минути, за да ги пребарувате преку. Можеби да изберат некои врвот прашањата што сакате да се премине. Ако вие момци не може да одлучи, ние само ќе полека да почне да работи преку нив, но сигурен сум дека таму се случува да биде некој прашања кои што се особено желни да се зборува за и имаат ми работат преку со сите вас. Па само оди напред и да земе пет минути. Движете се низ. И ова е квиз од 2013 година. ПУБЛИКАТА: Нулта? ZAMYLA Чан: Да, квиз нула. Да не правиш квиз еден нешта. Ние ќе го направи тоа за неколку недели. Исто така и за оние од вас кои дојде крајот, имаме бонбони, така да вие момци сакаат слатки? ПУБЛИКАТА: Секако. ZAMYLA Чан: Јас сум само требаше да помине околу. Еј, ако вие момци се добие тука на почетокот, можете да добиете повеќе бонбони. Тоа е во ред. Бен, дали сакате бонбони? Сакате некои од овие? Там е, исто така, Сникерс, ако некој сака Сникерс. Јас ќе ги остави тука и тука. Се чувствуваат слободни. Дали сакате повеќе? ПУБЛИКАТА: сите во собата. Ви благодарам. ZAMYLA Чан: И јас имав убаво малку купот таму на почетокот. Вие момци се да се земе квиз и Јас се да има квиз окачествяване партија. Тоа е хаос. 900 испити. Тоа се случува да биде толку многу забавно. Ќе биде одлично. Јас сум прилично сигурен дека тоа е еден од најголемите персонал сврзување ноќи од годината. Дали некој се направи квиз нула од минатата година уште од љубопитност? ПУБЛИКАТА: Делови од неа. ZAMYLA Чан: Делови од неа, ОК. Дали имате прашања за било кој од нив? ПУБЛИКАТА: Јас веќе отиде во работното време. Ви благодариме иако. ZAMYLA Чан: Па, се надевам тоа е уште вид на корисни. Кога ќе отидете на работното време за тоа? ПУБЛИКАТА: Мојата ТФ ги имаше ова попладне. ZAMYLA Чан: О. Кој е вашиот ТФ? ПУБЛИКАТА: Фред [? Wujaya?]. ZAMYLA Чан: Существуют толку многу TFS. Толку многу. Добре. Секој имате било какви да се започне што можам да ни трошка одредување на тоа што ние сакаме да се работи на? Претпоставувам совети еден со масата. Одат за тоа. ПУБЛИКАТА: Можеби прекинувач еден. ZAMYLA Чан: Значи бројот 12? Претпоставувам број 8 и 9 се веројатно оние луѓе сакаат да одат над. ПУБЛИКАТА: И 10 и 11. ZAMYLA Чан: И вие момци знаат ќе добиете една страница на белешки, нели? ПУБЛИКАТА: Да, па што се ние им е дозволено да се стави на тоа. ZAMYLA Чан: Вие сте дозволено да се стави нешто што сакате. И тоа може да бидат внесени. Колку што јас се сеќавам, наш беа напишани. ПУБЛИКАТА: Вие може да се направи врати и двете страни? ZAMYLA Чан: Да, двете страни. Па нешто како грамада и [? задниот крај?] грамада, си работи пати. Корисни. Можеби малку работи во врска со совети како да ве потсетам. Синтакса за нешта. Има само како скелет програмата може да биде супер корисни. Знам дека јас секогаш заборавив токму она што Требаше да се напише за int главната, бидејќи јас секогаш само копија ставете од моите претходни Р сет или е веќе таму, така Јас никогаш не го напишал, така што имаат кои можат да бидат супер корисни. Добро, па зошто да не се започне со број 8, тогаш? Добре. ОК. Па сметаат дека програмата подолу. Па очигледно кога ќе видиме покажувачи, тоа е веројатно добра идеја да почнете да цртате, нели? Сакам да знам каде сите мои големи парчиња креда отиде. Ова е вид на досадни. Па ние имаме тука некои swap функција што се случува да се земе во два совети. Значи во овој случај, тие всушност треба да биде прекинувачки работи наспроти нашата изворна трампа функција која траеше само во копии. Па што тоа се случува да се направи is-- да почнеме со основната, затоа што тоа е каде што 1 е. Па ние имаме некои int x 1. Имаме некои y тоа е еднакво на 2. И тогаш имаме некои трампа што се случува да ги преземат тие. И ајде да видиме што имаме тука. И во нашата table-- ох момче. Како јас случува да го направите ова? Одам да се подготви мојата маса овде. Едвај го прави таму. Едвај го прави. 1, 2, 3, 4, 5, 6, 7. И тие ни даде дека 1 е 1, и 1 2. Кул. Страшни. Така 3. И таму е [? А 1.?] Добре. А потоа адреса на x е 0x123. И Y е Ox127. Кул. Добре. Сакам вие момци да работат на овој за само like-- работат на тоа со луѓето околу вас. Посакувам да сум рекол дека додека бев поставување. Работат на тоа. Обидете се и да работат на тоа од страна на се за неколку минути, а потоа јас ќе работат на тоа со вас. Бидејќи единствениот начин сте навистина се случува да дознаете е од тоа го правам себе. Не се грижи. Со среќа. Добро, зошто да не се бавно да почне да работи преку овој. Па секој добива по линија еден, x е 1. По линија два, X и y се 1 и 2, право? Кул. Па линија три е местото каде што работи се интересни, се разбира. Значи она што го направив тука се што сега го сменил. Велиме дека x и y имаат оние точки, или тие имаат адреса на x и y, нели? Значи во овој случај, три, она што е вредноста на еден? беа спроведени во, е дадено вредноста на адреса на x, нели? ПУБЛИКАТА: 1? ZAMYLA Чан: Значи, ние го додадете во х? Што е адреса на X? ПУБЛИКАТА: 0x123. ZAMYLA Чан: Токму така. Но, она што е, всушност, покажувајќи на? Ако бевме да разыменовывать, она што вредност, таа ќе им даде на нас. ПУБЛИКАТА: 1. ZAMYLA Чан: Тоа би ни даде 1, затоа што она што ние сме велејќи дека се оди на овој адреса, кажете ни што вредност е. Па што ќе биде Б? ПУБЛИКАТА: 0x127. ZAMYLA Чан: Токму така. Така, тоа е адреса од y. И тогаш што [? разыменовывать? ?] ПУБЛИКАТА: 2. ZAMYLA Чан: Добро, па сега четири. Што рековме е equal-- и сега сме направено int temp е еднаква на ѕвезда на a. Па што се менува? Там само едно нешто која го менува тука. Што е тоа? ПУБЛИКАТА: Темп. ZAMYLA Чан: Темп. За да можеме да се преработи сите од нив. А добра стратегија за овие е само да пронајдат какви промени, бидејќи најчесто има само едно нешто што е ќе се смени во секој даден момент, во ред? Па ние се доделени Темп. Сега нашата следната точка, пет, ние се направени Ѕвездена еднаква да настапувам b. Па што се менува сега? ПУБЛИКАТА: Стар. ZAMYLA Чан: Стар, па се друго останува исто. И она што не глуми еднакви? ПУБЛИКАТА: 2. ZAMYLA Чан: 2. Убава. Страшни. Добро, и тогаш сега имаме започне b е еднаква на temp. Значи единственото нешто менување е ѕвезда б. Се друго останува исто. И она што е ѕвезда б еднаква на сега? И сте завршиле на масата. Затоа што сега на крајот, ако се каже х и y, знаеме дека во овој point-- знаеме дека кога ние Промена Ѕвездена до 2, она што го направи е тоа го рече во ред, на решавање 0x123 тука, тоа се промени. А ова е 2. А потоа во овој момент, ние рече Добро, одам да се снима б. Па оди на адресата на 0x127 и да ја направат 1. Па сега на самиот крај кога ние, всушност, се врати на главната, ние всушност имаат дека x е еднакво на 2 и y е еднаков на 1. Секој добро со тоа? Добро, кул. Број 9. Вие момци се работи на тоа. Одам да се формира одбор па ние може да се направи преку неа. Тоа ќе биде експлозијата. Големи маси може да биде навистина страшно, знам. Но, ако само ги однесе еден ред на време, тие се многу помалку страшно. Добре. Па да знаете дека тоа ќе има помина низ главниот прв, нели? Нулира x и y и потоа се обидува да ги разменуваат. Па дури и swap е горе, на вистински начин да го излегува дека ние сме минува низ главниот, и после тоа се повикува до трампа, во ред? Така што секој го знае тоа. Така што оној што го правите момци сакате да започнете? Дали некој навистина сигурни за една од овие? Или дури и делумно сигурни? Зошто да не почнеме со х? Она што мислиме x е? ПУБЛИКАТА: 1. ZAMYLA Чан: 1. Па тогаш зошто е 2. И тоа е затоа што голема разлика тука е дека ние сме само поминува копии во, нели? Ние не сме поминува со повикување. Па дури и на крајот на оваа програма x и y кои се сместени на истата, бидејќи тие се само копии на swap функција. Тие не се всушност промени, нели? Па што за a, b, и temp? ПУБЛИКАТА: е б. ZAMYLA променливиот: a е b. Значи во овој случај, односно беше x, што е 1, право? Па еве, нека помогне преку неа. Па на почетокот, односно и b се 1 и 2 и недефинирано. Така првично температура добива доделен на, така temp е 1. е еднаков на Б, Значи ние се добие 2, и b е еднаква на temp. Сега ние добие 1. ПУБЛИКАТА: Во претходниот го заменети симболот x и y симболот. Што точно значи тоа? ZAMYLA Чан: Па тоа значи дека ти си поминува со повикување. Па тоа значи дека ти си, всушност, кој поминува во адресите на која x и y се чуваат. ПУБЛИКАТА: Но, вие не сте Замена адреса. ZAMYLA Чан: Ти не си Замена на адреси. Сте Замена она што е во нив. Како што е на таа адреса, и тоа е причината зошто тоа функционира. Наспроти во оваа програма тука што што го правиш е сте создавање копии. Па имате x и y, кои постојат како свој променливи од тука. Но, тогаш кога ќе помине нив во трампа, тоа е како ако сте создавање целата оваа другите во собата. Никогаш не сте всушност допирање x и y. ПУБЛИКАТА: Ако го симболот х е она што е во адреса на x, што ќе глуми х биде? ZAMYLA Чан: симболот х е она што е на адреса на x, тогаш star-- добро, во овој случај, x не е покажувач. ПУБЛИКАТА: О, во ред. Па вие само го направите ова бидејќи тоа не е покажувач. ZAMYLA Чан: Да. Вие само може да се направи ѕвезда на нешто што е покажувачот. Можеби можете да го направите да работи што не, но компајлирање вас дека направите тоа луди работи ќе се случи. И јас не сум точно сигурен што ќе се случи. Секогаш можете да ги преземе адреса на нешто, но не можете да разыменовывать нешто што не е покажувач. Ако тоа има смисла, тоа е добра разлика да има. Па не е премногу лошо, нели? Табелите се надевам добивање малку помалку страшно. Добре. Ах, забавно оние. Па сега, пишување на свој код. Па ќе одам да ги споделите со вас момци работи на овој за околу четири минути, и потоа можеме да зборуваме за начините за да го доближиме. Се чувствуваат слободни да се зборува на луѓето околу вас. Исто така ова е интересно. Тоа е како сите девојки делот во моментов. Доста возбудливо. Освен за Чанг. Но Чанг не е навистина дел од секција. Страшни. Совршен. Па јас ќе ви даде неколку совети. Во случај, каде што имаат повеќе од еден карактер, во која имате нешто друго како 123 или 1000-то, што треба да биде во можност да се јамка преку и се претворат секоја од тие. Значи има неколку начини можете да го направите тоа, но ти си дефинитивно ќе имаат за телефонска линија некаде таму да јамка преку нив, што е вид на како поклон со дури и ако ти се јавам strlen, кој е нешто како о можеби сакате да го користите должина на низа на некој начин. Добре. Па што мислите вие ​​би можеле да бидат една од првите работи што сакаме да направиме? Там има неколку случаи во тука ние треба да сметка за, нели? Или имаме нешто што е нула. Она што имаме? Случаи. Нула. Имаме случај тоа што има нешто друго од 09, нели? Па да речеме го има букви. Или имаме случај тоа е валиден. Три случаи да се сетиш. Така што оној што мислиш може да биде најлесниот еден да се грижи за првиот? ПУБЛИКАТА: Нулев. ZAMYLA Чан: Случајот е нула. Значи она што би го направил таму? ПУБЛИКАТА: [нечујни]. ZAMYLA Чан: Да. И она што сакам да направам? ПУБЛИКАТА: Враќање 0. ZAMYLA Чан: Токму така. Страшни. ОК. Па сега случај кој што има букви и случај дека тоа е правилен. Ние, всушност, може да се грижи на овој рамките на една јамка, во ред? Значи еден начин да се направи it-- што може да биде едноставен начин за да се провери дали тоа е валиден. Ние ќе мора да одат преку секоја буква и го направи она што? ПУБЛИКАТА: Проверете дали тоа е in-- ZAMYLA Чан: Да, можете да проверите и ако тоа е помеѓу 0 и 9, така? А потоа и во случај дека тоа е валиден, ние сме се случува да се заокружи итерации нашите низ относнотова, нели? Па зошто да не се обиде и да ги комбинирате во еден. Ние си оди за да iterate низ низ, и како што го направи тоа, ние ќе треба да прв направи проверка за да види дали тоа писмо или ако тој лик е валиден. Ако е така, ние ќе треба да се изврши операција која што ние треба да го конвертирате. Инаку тоа ќе се врати 0, нели? Па пред да го направите тоа, ние веројатно ќе сакате некои променлива дека ние може да се врати на крајот кој се случува да биде наш реалната вредност. Па ние си оди за да се иницијализира некои вредност за да биде 0. И тоа е само како ние да започне. Па ќе одам да се ослободи од тоа. Па, како ќе се дојде до iterate преку овој стринг. ПУБЛИКАТА: За јамка. ZAMYLA Чан: за телефонска линија. Значи она што е нашата за? ПУБЛИКАТА: i е 0. ZAMYLA Чан: MM-хм. И што сме ние процесирањето до? ПУБЛИКАТА: ул должина од с. ZAMYLA Чан: Во ред, сега се сеќавам има подобар начин. [Нечујни]. ПУБЛИКАТА: Да, можеме да направиме н еднакви. ZAMYLA Чан: Токму така. ПУБЛИКАТА: i е помал од n. ZAMYLA Чан: А зошто ние би сакале да го направите тоа? Дали се сеќавате на причината? ПУБЛИКАТА: Ние мора да го рекалкулиране. ZAMYLA Чан: понеже много овој начин можете само треба да се пресмета strlen еднаш. Ако го направите i е помалку од strlen ОК, тоа е значи дека пересчитывает должината секој пат ќе се кандидира на за телефонска линија, која не е голем трошок на енергија, но тоа е подобра практика да се обиде и правите нештата како тоа еднаш. Освен ако можеби имаш луд низ тоа се менува во секоја итерација. Но, ако тоа е останување на истиот, го спаси. Добре. И тогаш јас плус плус. Страшни. Ние сме на нашиот пат. ПУБЛИКАТА: Навистина брзо. Прво, па ајде да велиме само Дали јас помалку од strlen на ОК, се тие ни надградба на капацитетите на дизајн на сите или само коректност? Тие не се. Ние сме надградба на капацитетите на исправноста за квизови колку што јас знам. Јас не може да се направи со полно на гаранција, но во најголем дел, Огромното мнозинство е коректност, бидејќи сте под многу време ограничување. Дизајн обично значи имате време да се размислува за елеганцијата на вашата ситуација. ОК, па ние сме итерации. Значи ние треба да се провери или да види дали овој лик е валиден или, ако можеме да го изврши нашето нормален [? да јас?] функција. Ние можеме да се грижите за тоа што кој е во една секунда. Па зошто да не можеме 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, тоа не е валиден, нели? Така би можеле да ја користат таа да нашата предност можеби? Како ќе се случува да се добие ова писмо, прво исклучи? Како ќе се пристапува ова овој лик? ПУБЛИКАТА: S заградата јас. ZAMYLA Чан: MM-хм. Затоа што може да мислам на жици како низи, се сеќавам. Така што сакаме да се каже? Ние сакаме да се каже дали ова is-- јас ќе ви даде совет. Тоа е помалку од. Што да ти го мислат треба да биде помал од? ПУБЛИКАТА: 57? ZAMYLA Чан: 47, нели? Но, тоа, исто така, го претставува дека како што 0 во еден [? краци?], бидејќи тоа е карактерот 0. Вие исто така може да се стави 47. Има ASCII табелата, како што гледате, е само нешто што треба да имате на вашиот квиз состојба. Затоа, ако тоа е случај, ако тоа е помалку од 0-- не мора да значи и. Тоа е само или ќе биде помалку од или поголема од 9. Па можете да го пополните овој последен за мене? Така или е на i е што, Реа? ПУБЛИКАТА: Поголема од 9. ZAMYLA Чан: Там. Дали тоа има смисла да се сите, како стигнавме таму? Овие проблеми, тие се како еднаш сте види решенија, тоа е како ох, ОК. И тоа е причината зошто пракса ќе ви помогне. Добро, така се враќаме 0. Убава. Добре. Поинаку не е она што сакаме да направам? Ова е интересен дел каде што тоа е малку повеќе како математика наспроти CS во моето мислење. Дали некој има идеја за тоа како ние би можеле да го направите ова? Така важна работа да се се реализира е првиот карактер ние сме преземање ќе биде највисок ред цифра, нели? Значи, ако ние сме во потрага на конвертирање 123, за прв пат ние iterate ќе биде 1, но ние треба дека за да биде 100 до крајот, така? Така една работа што можете да направите е дека со секој понатамошен цифрениот ќе се земе, ќе усоврши вашето вредност од 10, така што од кога ќе стигне до крајот, Сè е префрли нагоре, нели? Така, првиот пат кога ќе го стартувате тоа, имаш 1 како ваш вредност. Вториот пат кога ќе се стартува, можете усоврши вашето вредност од 10. Тоа ќе го ажурира така што тоа е сега 10, и да додадете на вашиот следен вредност. А потоа можете множете се дека од страна на 10 и да го додадете на вашиот следен вредност. И тоа е причината зошто тие велат дека ова е многу повеќе како за тестирање математика алгоритам наспроти CS, но јас отплесвам. Јас не го пишувам квизови. Па едно нешто можеме да направиме е ние велат вредност пати е еднакво на 10. Така што тоа се случува да се префрлат Вашата цифрен еднаш во секое време. А потоа ние само сакаме да го додадете. Ние сакаме да го додадете во она што ние само што влегов, нели? Така како ние всушност се претворат нашите ASCII карактер во бројот дека тоа претставува? Па знаеме дека 0 е еднаков на 47, така? Значи, ако 0 е 47, што ќе имаме да направите за да го за да всушност направи тоа да биде int 0? ПУБЛИКАТА: Тоа е 48. ZAMYLA Чан: 48? Извинете. Ние ќе одземе 48, нели? Се сеќавам ASCII математика? Можеме да ги третираат само како нормални броеви. Ако ги третираат како броеви, тие стануваат броеви ефективно. Значи, ако имаме Полиса на i, која ајде да велат во овој случај е еднаков на 0. Па s на i во овој случај ќе биде ASCII-- на ASCII int за тоа ќе биде 47. Па ние би можеле subtract-- или 48. Вие би можеле да го направи тоа, е еден начин. Дали некој знае подобро начинот на кој ние не можеше да стори 48? Ние едноставно се рече 0 is-- одат во ASCII можете да направите цитат 0. Така го прави вид на направи чувство како тоа функционира? ПУБЛИКАТА: Во овој момент, е вредноста 0 бидејќи дури и ако тоа множете се од 10, сте почнуваат од нула, така што треба да се вклучи? ZAMYLA Чан: Значи во овој случај, вие сакате да го мултиплицираат пред да додадете, бидејќи во овој случај, да, тоа би уште се be-- ми покажувачот се водат за исчезнати. Вредноста во овој случај, на првиот време ние го работи ќе биде нула. Па ти си само додавање на таа првата цифра. Она што е важно е следниот пат итерации, сакате да го префрлат до пред да додадете вашиот следен цифра. Дали тоа се разјаснат за вас? ОК. Понекогаш ви се случува да се чудни повеќе Mathy работи. Ако сте имале најголем дел од ова, ти си уште ќе да get-- ви се случува да го направи прилично добро. Делумно кредит е многу голема работа на CS50 квизови. Така пишува она што го знаете. Ако имаш се што освен за тука, вие сте уште се случува да се направи навистина добро проблем. Затоа што ти си покажува, ОК, јас скоро знам. Знам дека јас треба да iterate преку. Знам дека она што јас треба да се провери за. Јас само не сосема добиете како да го конвертирате. Си оди за да биде во ред. Да, ви се случува да изгуби неколку точки, но ти си уште ќе се добие добар број на бодови за нешто како што ако сте недостасува овие две линии. Јас би бил како во ред, овој човек знае она што го правиш. Математиката е тешко. Значи јас би рекол дека ќе биде во ред. Добро, па вие момци подготвени да обидете strlen со покажувачи сега дека вие момци се покажувачот мајстори? Па јас ќе ти момци работи на кој за малку. Ако некој треба бакшиш. Значи сакате да го користите покажувачот аритметика, а потоа, ако s е null, Вашата имплементација треба да се врати 0. Работи како оваа што ќе се направи навистина среќни да само повик strlen на крајот на денот. Мислам дека ова некој би можел да биде малку полесно од последната, која е добро. Јас ќе ви даде момци друга минута, а потоа ние ќе работат низ него. А потоа да добиеме за да отидете на прекинувачи. Добро, готово момци? Можеби малку. Па јас сум ти си даде две опции, нели? Или провери за ништовни и се врати 0, ако што е, или, всушност, да се пресмета должина. Значи, кој сака да напише провери за ништовни? Одат за тоа. ПУБЛИКАТА: Ако загради и е еднаква на нула е еднакво на враќање 0. ZAMYLA Чан: Прекрасна. Сакам кога половина вашиот проблем е само проверка за ништовни. Знам, со вас момци минатата недела бев како проверка на нула буквално во секое време. Добро, so-- ПУБЛИКАТА: Ако враќањето 0 е само една линија, ние се уште треба кадрава заградата? ZAMYLA Чан: Не технички треба да ги се додека сте доследни. Тоа е добра практика само да се добие во навика на користење на големи загради, но технички бр. Вие не се потребни за една линија. Ние само имаат тенденција да го препорачуваме за луѓето почнуваат да програма. Па сега што би можеле да сакаме да го направите тука? Така, сега знаеме дека нашите стрингот е валидна. Ние сакаме да се задржи пресмета должина. Што е веројатно првиот нешто што сакате да направите? ПУБЛИКАТА: Направете int тоа е должина. ZAMYLA Чан: Токму така. ПУБЛИКАТА: И ние сакаме да го поставите на? ZAMYLA Чан: 0. Совршен. Добре. Сега што сакате да го направите? Ова е навистина најголемиот дел од неа. Одат за тоа. ПУБЛИКАТА: Значи вие веројатно се направи за телефонска линија. А потоа од кога ви е се јавите сте добивање на адреса на првата работа, ќе започне со i е еднаква на 0. И тогаш се додека x плус јас не се врати коса црта 0. ZAMYLA Чан: нула терминатор. ПУБЛИКАТА: нула терминатор. А потоа можете да додадете една до должина. ZAMYLA Чан: Да. Добро, така ви овозможува да се претвори дека во многу конкретни код. Но, тоа е добра идеја. Тоа е токму она што го правиме. Ние си оди за да биде процесирањето преку со покажувач. Значи она што сакате да го направите е, наместо на еден int тука, бидејќи ние сме не се однесуваат на неа. Ние сме се однесуваат на почетокот на низ, тоа почне да се некои адреса, нели? Значи, сакаме покажувач. Значи ние се случува да имаат некои знак ѕвезда, бидејќи тоа одговара на нашиот е, нели? Па ова е некој момент ние сме иницијализацијата на почетокот на стрингот, во ред? Па ајде да го нарекуваат јас. Ако тоа е почетокот на стринг, што е тоа ќе биде доделен на? Не 0. Ние сакаме тоа да биде започне од нашите низ. Што претставува почеток на нашите низ кој беше даден на нас? ПУБЛИКАТА: Само ОК. ZAMYLA Чан: S. Така што ова создава некои нови покажувачот дека го претставува почетокот на нашиот низ, во ред? Друг начин да се мисли на тоа е тука е нашата низа. Тоа е нашата низа, с. Па да речеме ова е прв на самото место, и ова е 0x4. 04. Тоа е нашата, која држи таа адреса. А ние само создаде уште еден вика i дека само се однесува на истото. Па тие се двете само укажува до почетокот на нашиот низ. Ова е само графички приказ. Па сега што сакаме да направите е да сакаме да iterate нашите услов за процесирањето преку нашиот низ. Сега шопинг. Морате да купуваат, момци. Се сакаме да се задржи ажурирање до стигнуваме до нула терминатор, нели? Така што тоа може да изгледа? Дали ние што сакам, или сакаме ѕвезда з е прашањето? Е нула терминатор адреса или нешто се наоѓа на адреса? Се наоѓа на адресата, нели? Значи ние треба разыменовывать што е тука, бидејќи ова е само некои адреса. Да се ​​всушност на почетокот ние треба да разыменовывать ова така што ние, всушност, да се добие она што е во оваа прво место. Значи, ако тоа го правиме ѕвезда јас, што не ние го сакаме тоа да се еднакви? ПУБЛИКАТА: Назад коса црта? ZAMYLA Чан: Там. Дали тоа се направи смисла на сите? Ние треба да одиме во нашиот низа и бидете сигурни дека тоа не е крајот. А потоа ние едноставно може да се ажурираат како оваа. Нормален ажурирање. Па се додека овие се Метрополитен, она што ние треба да направам? ПУБЛИКАТА: Должина плус плус. ZAMYLA Чан: MM-хм. А потоа и по за јамка го раскине договорот, што сакаме да се вратат? ПУБЛИКАТА: Должина? ZAMYLA Чан: Должина. Там да одите. Очигледно со месо од овој еден е разбирањето на оваа за телефонска линија. Дали сите се Како што работеле? Јас сум среќен да одат преку него повторно. ПУБЛИКАТА: Втората дел, така ѕвездата i таму, тоа е адреса на first-- ZAMYLA Чан: Тоа не е адреса. Тоа е она што е во. ПУБЛИКАТА: Тоа е всушност таму. ZAMYLA Чан: Тоа е она што е, всушност, во таму. Значи ова е saying-- нека ме направи ова подобро. Значи ова е 0x04, и јас сум само ќе да се каже јас ќе одам да се направи ова мое име. ОК. Да, знам дека имам квиз преглед вечерва. Многу квиз преглед. Па да речеме овој стринг е мое име, Алисон. Малку неуредна, но тоа е таму. И s го претставува локација од каде низ започнува, па ќе одам да се направи ова real-- ова е адресата на a, каде низ започнува, нели? Па она што го правиме тука е ние сакаме да го користите совети како да iterate преку. Значи ние се создаде некои покажувач, јас, кој исто така е еднаква на почетокот на низа. И во секоја точка, ние сакаме да продолжи да оди преку низа тука додека не се погоди нула терминатор. Така што секогаш сакате да се провери она што е во секое од овие адреси. Па ние разыменовывать јас, така што прв пат го правим велат, добро, она што е на адреса 0x04? Тоа е. Добро, ние сме добро. Прираст должина. Се движи кон следниот. Така i-- сеќавам совети зголемување од големината на она што тие се покажувајќи на. Значи во овој случај, со оглед на тоа е знак, тоа ќе се ажурира по еден. Па сега ние ќе треба да се погледне во 5, што значи тоа се случува овде. Така што се вели во ред, одат на 0x05. Што е таму? Тоа е л. И тоа ќе го задржи тоа го прават додека таа хитови оваа. И таа вели дека во ред, што е во без оглед адреса е ова? Нула терминатор, во ред. Излез. И само се вратат должина. Затоа што треба она што е, всушност, таа адреса, а не на адреса себе. Существуют многу малку места каде вие всушност треба адреса. Поголемиот дел од времето кога што го користите и тоа е Кога си прв назначување на покажувач или кога сте го поминува во друга функција. ОК, секој добар таму? Вид? ОК. Така што изгледа како ние сме доби околу 12 минути, па ние ќе одат за да се можеби нашата последна проблем, а потоа постои било концепти кои се дојдени во меѓувреме можеме да брзо одат над тоа. Така префрлување брзини е последната Проблемот тука, исклучете извештаи. Па вашата работа е да се преработи овој така што таа се однесува на истиот но не го користи прекинувачи. Варовит раце. Така било какви прашања во врска со овој надвор од лилјак? Ниту еден? ОК. Дали сите се разбере дека ако случај нема ништо по него, тоа значи дека треба да го следи следниот чекор? Па случај 1 и 2, во овој случај го стори истото нешто. Понекогаш точка на конфузија. Добре. Секој имате било какви идеи? Да? ПУБЛИКАТА: Значи можете само го прават ако извештаи. ZAMYLA Чан: MM-хм. Значи она што е нашата прва еден? ПУБЛИКАТА: Ако n е еднакво е еднаква на 1, и 2 линии за или н еднаквите е еднакво на 2, а потоа печати мал. А потоа можете да направите друго, ако? Или може да ви само го прават ако? ZAMYLA Чан: Можете да направите друго, ако? ПУБЛИКАТА: тоа би било важно ако го направите, ако? ZAMYLA Чан: Значи тоа го прави. Дали anyone-- така, ќе ќе го добиете истиот излез ако користите само IFS наспроти ако користите друг IFS. Може да ви момци мислите за причина зошто можеби ќе сакате да го користите друг ако наспроти многу IFS? Мора да се со ефикасност. Да? ПУБЛИКАТА: Би се провери сите ИЧС секое време. ZAMYLA Чан: Па дури и ако удар ја оваа првата, тоа ќе оди на проверка на секои другиот. Значи сакате да го користите ако друго што IFS во случаи каде што само еден од нив било кога ќе се применуваат. Така взаемно исклучување е она што ние се стремат да се каже. Ако имате еден куп на IFS, тоа значи дека можеби повеќе од една од нив прашања, а можеби и повеќе од еден од нив може да биде точно. И сакате и двете од нив да се изврши ако тие се вистинити. Ако само сакате еден од нив да работат во овие меѓусебно се исклучуваат случаи, сакате да го користите друг ако поради сето тоа има врска со ефективност. Вашиот код е само подобро дизајнирани ако тоа се придржува кон оваа практика. Значи во овој случај ќе имаме друго, ако. И ова ќе биде? ПУБЛИКАТА: n е еднакво е еднакво на 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, а потоа додавање на само значи дека вашиот скалирање нагоре така што тоа е меѓу А и Б, што јас не навистина ми се допаѓа овој проблем. Како што реков, овој квиз има за цел да ги опфати луѓе кои се помалку удобни, некаде помеѓу, и поудобно. Значи, ако тие го направија така дека тоа беше нешто дека сите во помалку удобно место ќе ја добие, ќе имаме премногу луѓе постигнувајќи восовршува, и поудобно би било досадно. Така што тие секогаш ги имаат овие вид на мозокот закачка прашања кои се наменети да биде малку потешко кои се некои креативното размислување. Кога ќе ги види, не се премногу stumped. Јас дефинитивно би рекол флип преку вашиот квиз прво. Справи со проблемите што знаете дека може, бидејќи нема употреба добивање заглавени на проблем кога постојат три или четири или пет на страницата по што ќе може лесно да се направи. ПУБЛИКАТА: Зошто токму што го правите множете се него од страна на опсег? ZAMYLA Чан: Вие размножуваат опсег што ви знаю-- тоа е како колку по сакаш? Па можете да мислам на, бидејќи тоа враќа број помеѓу 0 и 1, можете да мислам на тоа како процент. Така, тоа е во основа велејќи ако имаме нашиот број линија тука, е тука, и b е тука. Ти си како колку минатото е тоа? Е се што правиш. Па ти си само прашува за процентот на овој опсег, кој е она што е ви даваат. А потоа можете основа, само скала до тоа, со додавање на a. Тоа е математика мозокот закачка. Дали има било последен момент совети, јас би рекол флип преку прашања, дознаам кои од нив ви знаат дека, како и, о, добив ова. Речиси сигурно тие се случува да биде прашања кои нема да знаете или дека си оди за да имаат време за, па удри вашите предности, во ред? Вие момци се случува да се големи. Существуют многу прашања за причина, така што ќе имате време да се вид на имаат можност да се покаже она сте навистина добри во. Па тоа е во ред, ако сте не се добри во сè. Играат за својата сила. Да? ПУБЛИКАТА: Така е ова се случува да врати нешто што е пресечен? Да, тоа ќе, бидејќи drand се враќа помеѓу 0 и 1. Тоа ќе се врати int, затоа што тоа ќе скратувајќи кога ќе ги додадеме и множете се од него. Кул. Било последен момент прашања? Вие момци се случува да се направи одлично. Сте ќе биде прекрасен. Па дури и ако не, ќе биде бонбони тука следната недела. И јас ќе те сакам. Јас ќе те сакам момци, без разлика. Сите права, секој, со среќа. Имаат многу време. Си оди за да биде во ред. И знаете што? Во два дена тоа се случува за да биде поголем, додека I имаат две midterms во четвртокот, така барем вие момци ќе се направи. Сите во право, јас ќе се видиме момци следната недела.