[Powered by Google Translate] [♪ ♪ зујање]
Тако да вам представим шта сам устао на екрану;
то је један од алата које смо развили током лета;
Зове се ЦС50 Спацес,
и то је наш заједнички кодирања апликација
да ћемо користити у деловима.
То је прилично кул.
Да неко од вас видео још ЦС50 трку?
Дозволите ми да до повући у другој картици.
Рун.цс50.нет
Тако
ако одете на рун.цс50.нет,
можете видети да је ово у вашем бровсер путу
заправо код - писање Ц кода,
и онда га покренете,
па како га саставља, води га, а затим се враћа излаз на вас,
тако да је ово нека врста хладног начин да експериментишу
са неким од кода који Дејвид иде преко на предавањима
и ми дати на вас на проблематичне сетовима
без заправо потребе да се отпусти апарат.
>> Па шта Простори ради то је другачије од оног
ако се вратите на ову картицу,
Простори је ЦС50 власништву, као што видиш овде,
али ако помицати преко и погледајте друге стране прозора,
видиш право да сам једина особа на овом простору,
али оно што ћу да урадим је питам вас момке да се придруже овом простору са мном
и сви ћемо доћи до кода у истом малом прозору
делити код једни са другима,
и разговарају о разликама између нашег кода.
Дакле, то је нека врста супер ствар -
тако да се придруже, ако би посетите овај линк овде на врху
које сам нагласио,
једноставно можете уписати аппс.цс50.нет/спацес/вкцспСнО.
>> У реду, тако да за почетак,
Ја ћу да вам дам мало турнеји ово.
Ми ћемо урадити неке глупе мале кодирање са њим на први поглед,
само тако да сви помало добија осећај за оно што је као,
али оно што сам урадио -
или шта ћу да радим овде је -
Идем да код који сам написао овде,
која као што видите сада је празна;
то не уради ништа.
То је само котао плоча код, ми ћемо га звати.
Са мало-до коментаре.
Ја ћу да га сачувате притиском ово дугме Саве.
И шта да ради је
нагласио је овде укратко - да је ревизију саве зелено поље,
и сада, ако тражите мене у простору,
кликнете моје име,
можете видети да сам добио ову ревизију управо овде,
а ако кликнете на ту ревизију,
то ће учитати тај код у свој простор, превише.
>> Тако је свако учитан тај код у свој простор?
У реду, ако то већ нисте урадили, само напред и то,
и онда оно што ја желим да ви урадите у ово мало то-до одељак
напишем мало користећи принтф о себи,
тако, на пример, ја бих написао
принтф ("Моје име је Нејт");
а онда бих написати
"Дипломирао сам 2009
из Станфорда "
и ја бих волео да чујем о
Које године сте у школи,
без обзира да ли сте на факултету или пословне школе
или другог Харвард школа,
Шта сте студирање ако је још позната;
ако то није познато, то је тотално кул.
Нисам одлучити док сам закаснио у својој другој години.
па ја бих волео да знам
нешто лудо желиш да ми кажеш, или
нешто о класи или само шта друго.
Када завршите са писањем да је са твоје мало принтф,
ако ћете сачувати ревизију или пре
Прво проверите да ли можете да га покренете
и да исписује тачно шта желите да одштампате,
и онда ако се иде напред и сачувајте ту ревизију
користећи ревизионе Саве дугме, ово прво мало момак овде,
и ми некако ћемо проћи и да мало увод тај начин.
Тако да само треба да притиснете дугме Плаи,
који је овде на горњем левом,
тако да је ово Плаи дугме у горњем левом углу ће
пошаљете код искључен на наш сервер, где се добија саставио и онда бежи.
Дакле, шта је мало луд за ово
Овај код заправо не ради на рачунару;
је заправо шаљу преко Интернета.
>> Како иде, Шарлот?
>> Сам - у реду. Ја - Ја мислим да сам
потешкоћа да штеди
на серверу тако да је то могу - могу покренути програм.
И онда када покушам да га покренете, он каже да је то грешка.
Проглашени као вирус, што није тамо више.
Ох, да видимо, да ли ударио Саве поново?
Видим га на екрану.
>> Добро, у реду, тако да је оно што имам.
И не знам зашто то не дозволите ми да га покрене.
Ох, у реду, извини.
Можете ли да нам објасните зашто је - шта није у реду - шта није радио са њим?
>> Да, јер нисам видео да је задња линија где још увек постоји променљива
да нисам изјавио, који нисам имао намеру да је тамо био.
Да, савршено!
>> Сада, ако сам га сачувати, мислим да би требало да раде.
Сада када сте га сачували, он ради; страшан.
>> Тако да, као што смо проћи -
па шта се дешава,
Само ћу да поновим ово за камеру.
Оно што се дешавало је да ове променљиве с
је напустио после - претпостављам да брише неке друге ствари
где је објављено,
па то је бацање ствари ван а не допуштајући да га покренете.
Дакле, ово је управо оно што ми желимо да урадимо у одељку
је да људи покушавају писање различитих комада кода,
састављање га, да видим шта ради, погледајте шта не,
и онда некако говорити о овим стварима, јер то су тачке које активирања
И даље наилазе,
И даље - ја много глуп ствари све време,
а ја не знам зашто то не ради,
па хајде да подигне Цхарлоттин ревизију 3,
и ми ћемо га покренути.
>> Дакле, када сам покренути, сада када сам добила код овде,
Ја могу да увећате, притисните дугме Рун,
постављено је, гради га, трчи,
каже да је успешно водио, и ако сам доле померање,
види Шарлот је млађи у Адамс Хоусе,
психологија, секундарна у економији; страшан.
Драго ми је да вас упознам!
Авесоме.
Ок, идемо даље, идемо Данилу
иди на ревизији 3,
саставити, трчи;
зашто не можете да нам кажете нешто о себи, Данијел?
>> Зови ме Дан.
Идем да пословне школе преко вас,
и ја сам био у маринцима раније овде,
а ово је све ново за мене, тако да.
Не осећам лоше, ја сам 30 и не знам ништа од овога.
Страва, хвала, Дан!
Добро, имамо још један Данила.
Ти иди Данило - да ли ћете се представити, Данијел?
>> >> Наравно, ја сам Данијел.
Ја сам студент друге године на Матхер сада.
Ја сам се концентришемо на власти,
али сам хтео да ЦС50 јер сам чуо сјајне критике о класи
и никад нисам покушао ЦС раније.
Дођите овде и показати ово - кул.
Мовинг он, Јаред.
Како иде?
>> Добро, како си?
Као што можете да видите, ја сам млађи филозофија концентратор у Елиота,
пореклом из јужне Калифорније,
и ја сам заинтересован за узимање ЦС50 јер волим логику тога,
и изгледа стварно кул да раде ствари на рачунару, тако да.
Страшан, где је у јужној Калифорнији си ти?
>> Око сат времена из [нечујан], мали град [нечујан].
Ох, да, мој отац је из Редландс.
Цоол ствари.
>> У реду, Џими, како иде, Јимми?
>> Добро, како си?
Доинг прилично добро!
Реците нам нешто о себи.
>> Ја сам бруцош, а ја нисам сасвим сигуран шта сам смер у
али ја некако сам нагиње ка економији.
Као Данилу пре мене, ја никада нисам урадио никакву ЦС, али звучи некако кул.
Првобитно сам сам из Чикага.
Авесоме. Дакле, проверите овде свој одштампани.
Хтео сам да питам, да ли је овај отисак од како сте очекивали?
>> Не, заборавио сам да одштампате нову линију.
Ја стварно заборавио када сам писао своју ствар
по први пут, такође.
То је нека врста бола да запамтите да се стави оне у ручно.
Било би лепо ако само знам да је то оно што сте желели.
>> Ок, Кели.
Вау, имамо 2 Келлис, 2 Даниелс, 2 Келлис.
Дакле Кели - идете Келли Рен?
Ок, супер.
Или Кели, мислим.
>> Тако да, тако сам Кели.
Ја сам студент друге године у Пфохо.
Имам е-маил данас да имам још 7 недеља да прогласи своју концентрацију,
па ја покушавам да не размишљам о томе,
и ја волим печење, трчање, па Цраисинс.
Немам искуства са највише ЦС;
Ја сам научио да гради Веб локације када сам био заиста млад,
али мислим да сам вероватно учио сам у праву много пута.
Надам се да ћу научити нешто више
и - да.
>> Страва, добро, хвала.
Идемо на другу Кели;
Ја немам ништа - да ли сте рекли нешто овде?
>> [Нечујан]
Тамо је!
Свеет!
>> У реду, тако да сам Кели.
Ја сам прве године студент.
Ја сам смер у виду, мозга и образовања.
Дипломирао сам Франклин & Марсхалл Цоллеге у 2008
са већим у психологије и социологије
и малолетника у француском.
Водим ЦС50
јер сам заинтересован за добијање докторат у Неуросциенце
и осећам се као да ће ми помоћи да разумете технологије се користе.
Авесоме.
Мовинг он, Микаела.
Да ли је то тачно изговор?
Ок, супер.
>> >> Ја сам Микхаила.
Ја сам студент друге године у Киркланд Хоусе,
и ја се концентришем на Машинском факултету.
Ја стварно волим бициклизам, изграђена бицикл овог лета.
Водим ЦС, у ствари,
као концентрациони услов,
али, знате, ја мислим да је ипак кул некако инжењеринг класе.
Авесоме - ви изградили бицикл овог лета?
>> Да.
Вау, као рам и све то?
>> Ух хунх (афирмативно).
Вау, то је стварно кул.
>> [Нечујан офф-камера цхат]
[Смех]
Да, то је било тако дуго.
Никад се не зна, зар не?
Па, супер, и хвала, Микхаила.
>> Добро, Мисси.
>> Зовем Миси, ја сам бруцош,
па то значи да ја не знам ништа!
Желим да се концентришем на астрофизике.
У ЦС50,
Осећам као да ће сигурно помоћи у томе.
Чудно чињеница о мени је да сам национално сертификат ватрогасац.
Вау!
Како се то догодило?
>> Присуствовао сам академију
и прошао је кроз пакао за многе недеља
и добио сам сертификат.
Вау, цонгратс!
То није мала ствар, то је сигурно.
Ок, сада ћемо ми учинити.
Ја сам следећи у низу.
Ја сам - то покренути.
>> Дакле, моје име је Нејт.
Био сам у класи 2009 године на Станфорду.
Ја сам био симболичан системи великих,
који је сличан уму, мозак, понашања концентрације овде,
али то је нека врста мешавине
информатика, лингвистика, психологија, филозофија и.
Врста - Да, много чудне ствари, али то је било сјајно,
и онда сам урадио мој господар је у компјутерске науке тамо, као добро.
Тако да сам нови на Харвард ове године.
Заиста сам желела да се у наставу.
Провео сам последње 4 године на Стенфорд ТА-ма рачунарских наука класе
па Дејвид пусти ме хајде,
а ја ћу помагати се са ЦС50,
па ја то стално, ја нисам у град школи.
Прошло је забавно.
Надам се да ћу наставити да буде забавно, ја сам сигуран да хоће.
>> У реду, Сем.
>> Моје име је Сем, ја сам студент друге године на колеџу, у закону конкретно.
Моја главна ће бити историја науке, вероватно, и вес средње,
и моја омиљена боја је жута.
Нема потребе да се донесе пресуда, или било шта, али је добра боја!
И Стела.
>> Здраво, ја сам Стелла, ја сам бруцош на Граис.
Немам појма шта сам концентрисана у још,
па ЦС50 је некако случајно,
што је интересантно.
Забава чињеница, Џими је био први Харварда пријатељ,
јер смо обојица из Чикага.
Кул, и Граце - то је требало да буде стварно лепо један, зар не?
>> Мислио сам [нечујан].
О, да.
[Нечујан / офф-камера цхат]
Ок, ја сам још увек учим, још увек учи.
>> Дакле, имамо нешто што је овде некако интересантно.
Да, само се питам, да ли имате неку идеју да се овде дешава?
Знаш како да тумаче ово?
>> Требало је да се стави зарез после сваке једној линији.
То је нека врста бола.
Понекад те семицолонс може бити прави бол у траг.
Тако испада да је
Посебан програм користимо ове године
саставити нашу Ц кода се зове кланг,
и разлог што смо почели да користимо кланг ове године -
јер нисмо користили тај програм у прошлости;
Употребили смо још једну под називом ГЦЦ који је веома популаран -
Цланг заправо вам даје поруке о грешци које смисла.
Овај каже: "Очекује ';' после изражавања",
и чак вам говори израз након чега ти треба зарез.
Дакле, да ли је лепљење?
>> Да, управо сада.
Страшан, јавите ми, а ми ћемо га повући се, а ми ћемо га покренути.
Али да, стављајући ове зарезом у је врста бола.
>> Поправио сам га, тако да мислим да би требало да раде.
Авесоме - ревизија 3.
То изгледа тако.
Добро, сад, ако смо га покренули,
тамо иде.
Цоол ствари.
>> У реду.
Дакле, хвала за то.
То је велика да вас сретнем.
Оно што ћемо урадити сада проведе следећу мало
Некако роњење у секцији проблеме
који долазе из проблема постављен од ове недеље
и ми ћемо то урадити за већину деоница
за остатак мандата,
и онда ћемо сачувати у последњих 15, 20 минута или тако
да разговарају о проблему се сет
и онда само нека друга питања имате уопште о класи.
То је рекао, оно што заиста желим да урадим
је да сви учествују
помоћу Спацес ствари,
бацање у коду, бацање у предлозима,
и говори о томе када се ствари свиђа овај раскид
или не раде, само зато што су то ствари које
Знам да сам наишао
када сам почео кодирање,
и били су стварно некако фрустрирајуће на време
јер ако је то као 2 ам пре него што ваш скуп Проблем је због,
тако - само за откривање,
Нисам почети програмирање док сам био студент друге године на колеџу.
То је била нека врста овог чудног, непознатог ствар
да сам чуо да је некако кул
а чуо сам то могао бити прави бол у дупе
Ако пропустите зарез и то је једина грешка држећи програм из радног
и одржавање вас да идете на спавање,
тако дефинитивно,
ако имате питања као што,
Ако сте забринути такве, јавите ми,
јер желим да ово добро искуство за вас.
>> Тако сте ви момци преузели проблем поставити још?
Некако знам где је? Ок.
Дакле, идемо на цс50.нет, јер ја га немам на овом налогу,
попните се сета проблема,
попните сет проблема 2, а ми ћемо погледати на стандардном издању данас.
Ми ћемо подићи овде спецификацију.
Скролујте доле.
Тако ћемо почети гледајући овај део питања.
Јесте ви гледали али ова гаће?
Ок.
Дакле, постоје гаћице на петљи,
који је урадио Томми, један од другова главе наставе.
Има један на обиму,
Верујем урадио сам други асистент по имену Дејвид
а онда је један од Цезарова шифра је такође урадио Давида.
Они су баш кул.
Јесте ви гледали своје гаћице до сада?
Хов'ве они били?
Користан? Ок, добро да знам.
Ако нису, можете то да кажете.
Али пре него што то урадите,
сте ви гледали на овим питањима
уопште?
>> Хајде да разговарамо о томе мало.
Дакле, увели смо у протеклих неколико недеља
у предавању
број различитих петљи.
Ево за петље,
У исто време петље, а затим уради док петља,
и предавања, ми смо говорили доста о
како те петље су сви
прилично слични у много начина,
и можете да урадите много истих ствари са вхиле петље
да можете да са за петљу.
Ви само треба да мало користе праве комбинације променљивих и таквих.
па стварно
прави разлика између свих петљи је да
понекад су више користан
да их користе у једном тренутку него у неко друго време.
>> Тако, на пример,
Притом петља разликује од до-вхиле петље.
Да ли сви осећају као да имају добар регулатор када
до-вхиле петље је
корисно или шта је разлика?
>> Мислим да је разлика до-вхиле петље
ради - не знам баш шта је терминологија,
али је серија функција у оквиру петље.
Они су аутоматски - то чини своје трчања најмање
пре него што проверава стање, или док петља ће га само покренути када
континуирано ради - да ли је или није услов је задовољен.
Да, то има смисла?
>> Хајде да погледамо мало кода.
Дакле, само да поновим питање,
или одговор, него;
одговор је био да
а петља ће проверити да ли је услов
да наведе се срели
пре него што покреће тело петље за први пут,
док је до-а петља ће се аутоматски покренути тело петље,
је оно што се зову - то је чудно терминологија,
али ако сам икада рекао нешто што нема смисла, нека ми се јави -
петља тело је да ствари које сте ставили у између заграда.
А у уради док петље,
то тело се покрене барем једном,
и онда услов буде проверен пре него што се ради сваки следећи пут.
>> Па стварно, Сам,
да ли ти смета писање једноставна, а петља
У просторима?
>> Како сортирати попут
направи нови ...?
Управо сам избрисати шта год имате тамо.
Да, само се склоните.
>> Па, ја верујем да имам ово -
који је један хоћеш, а, или желиш ...?
Да, само немој, а истина, штампају нешто.
И хајде да видимо.
Александар, схватила сам да никада нисам представио.
>> Ох, то је у реду.
Да ли - могу ли се кодирају и уради док петља за нас?
>> Да, ја ћу покушати.
У реду, само ћемо повући на екрану,
тако да некако имате регулатор о томе шта су разлике.
>> Дакле, ево шта је Сем је урадио.
Има цео број се зове и
да је он иницијализован на 17 година.
Онда он каже, а (инт = 17)
принтф ("Моје име је Сем.");
Дакле, шта се дешава када се покрене овај код?
Ту је грешка; шта грешка рећи?
Хајде да подигне и да разговарамо о томе.
Дошло је до грешке, она каже.
Идемо помицати доле.
Тако да нам је дао ову грешку, а она рече:
"Хеј, очекивао сам израз."
То је некако криптичан.
Да, тако тачно - и опет,
ће бити још једна мала грешка да ћемо ухватити у само секунд.
Али, ово је још једна од оних врста чудне ствари терминологију,
па овај инт и = 17
није израз.
Оно што изгледа као да се ради је да је
декларисање цео број и зове
и постављајући га на једнаку до 17
или, тачније, стављајући 17 у тој инт звао.
И то нема смисла
У контексту овог вхиле петље.
То нема смисла, као што ћемо видети,
у контексту за петље, јер за петље декларације не кренете
са тим инт и једнако нешто
и иде даље.
>> Дакле, ви -
поправи нешто, у реду.
Ево га, одлично.
Дакле, сада ствари изгледају мало другачије.
Неколико ствари су се промениле.
Можете ли нам рећи шта се ствари промениле?
>> Сам извадио инт, тако да не постоји декларација [нечујан] уместо задатка.
Онај исти знак, ставио сам 2 једнаке знаке, што значи једнак.
Авесоме.
Да, па шта је Сем је био извадио Инт
који је овде раније,
па ако сам само поглед на ово - то је оно што је раније било, рекао је инт
који га је прогласио - па смо извели тип.
Ту је инт, цхар, стринг, кратко,
они се зову врсте.
Дакле извадио тип
и онда раније,
он је имао само један знак једнакости
и оно што је он рекао да је проблематично то је
када имате 1 знак једнакости,
То је задатак оператер.
То није тестира да ли је или није 2 ствари су једнаке.
То је заправо постављање нешто једнако нечему.
Ми смо стављањем број 17 у променљиве и.
Тако да ту врсту поређења,
морате да користите дупли једнака,
која је врста чудна ствар
али је прилично честа грешка.
Дакле, једна ствар коју ћу истаћи, ако вам не смета,
да је у
наша функција овде у маин,
видиш да тело наше функције
се пребија са леве стране
по 4 размака или картицу.
Разлог због којег смо урадили
је само за читање.
Као што можете видети у вхиле петље Сем овде,
није алинеја уопште,
а да не утиче на функционалност кода.
То ће покренути баш исти.
>> Тако на пример, ако смо дошли до врха овде
и притисните дугме Плаи наш, он ће га градити,
то ће га покренути,
и шта ће се десити?
Зашто увек кажеш ради?
>> Јер ћу задржати понавља здраво.
Тачно, и зашто то понављају здраво?
>> Јер целобројне никада не мења, тако да је увек 17.
Да, тачно, тако да
хајде да видимо, после - подсети ме зовеш?
Џими. Дакле, Џими је рекао да
Разлог ово понавља здраво изнова и изнова
је зато што је овај услов увек тачно.
Ми никада променити вредност и.
Ми никада не мењају садржај онога што се чувају у тој променљивој.
Дакле, у овом тренутку смо добили ову грешку која
ваш програм генерише превише излаз,
и ако померите се надоле и врста погледамо шта се дешава овде,
можете видети да је здраво, здраво, здраво, здраво, здраво, здраво, здраво све до краја.
Авесоме.
>> Тако некако вратити на оригинални поинт
да има овде увлачење
у телу петље док не утиче ништа.
Програм увек водио сасвим у реду.
Типично за добар стил -
и то је нешто што ми тражимо у вашим проблематичним сетовима -
питамо вас да увучете ово 4 места, што можете да урадите
за само притиском на тастер
или ручно стављањем у 4 просторима себе.
Кул, ок па идемо уназад и погледамо
Александрову до-а.
>> Само некако има мало проблема.
Ок, добро хајде да радимо кроз њега.
Да ли је то кул?
>> Да.
>> Ок, идемо.
То је код који је написао Александар.
Да ли се од Алек - ок.
Дакле, овде је код који је написао Алекс.
Дакле, имамо нашу декларацију главни овде,
и онда имамо ово цео променљива и зове
декларисања овде.
Имамо ДО изјаву
а онда је тело поново са овим заграда,
тако да је ово тело од до-а -
дозволите ми да увећате у ово, тако да је више читати -
иу телу, ми покушавамо да одштампате "ово је тело",
и + +,
па инкрементирање садржаја и, и ово
док сам би могао да буде 3,
а онда наш програм завршава.
>> Дакле, шта се дешава када смо покренули овај програм?
>> Очекивао сам идентификатор.
Ок, па гради, трчи, грешка.
Шта се дешава?
Ми доле помицати овде,
ми смо добили овај помало шифровану тражите ствар,
Очекује се зарез после горњем нивоу декларације.
То је некако чудно.
Да ли неко има идеју шта би могло да се дешава?
Некако чудно, да.
>> [Нечујан] бити проглашен изван заграда?
Дакле, не да не примењује онда када користите заграде?
Дакле, он је прогласио овај момак ван којих заграде?
О, ови момци - витичасте заграде?
>> Да.
Да, баш тако.
Тако испада да је
Ви не можете стварно прогласи променљиву овде овако.
Оно што је можда покушава да уради је -
исећи га одатле -
можете да га ставите у оквиру заграда овде
или неки други алтернативни
је да се стави потпуно ван.
И тако они - у зависности од тога где сте заправо ставио декларацију
те цео променљиве,
можете добити 2 веома различите врсте променљивих;
када је ван главног,
то је оно што ми зовемо Глобална променљива.
То је ван оквира било које функције -
није у функцији -
а ако га ставимо унутар главног,
као овде, онда се зове локална променљива,
јер је локално на обим главни.
А ми ћемо говорити мало више о томе шта су разлике
између 2 врсте и зашто сте користили различите врсте променљиве,
али за сада,
можете само да задржи све променљиве локалне,
јер немамо никакву потребу за глобалним променљивама.
>> Ок, тако да је то једна ствар тамо.
Хајде да покушамо поново покренут, да видим шта се дешава.
Трчи, добити другу грешку.
Увећање мало, шта ћемо добити?
Ми смо добили овај очекује заграде након уради / а.
Имате идеју шта се дешава? Дан?
>> Да ли је онда, док заграда, а онда -
Ја не знам да ли треба да редецларе инт,
али до вхиле (и <3).
Тачно, да.
Тако испада да је Дан је сасвим тачно.
Не морамо да се стави овај тип овде поново.
Ми уместо да убије тип
и само то.
У реду.
Враћам умањили, покушајте да га још једном.
Погледај то, то ради успешно.
Ако смо доле померање, "ово је тело" одштампани 3 пута.
То је прилично слатко.
Одлично, добро урађено, момци.
Добро урађено.
Како је ово иде тако далеко?
Пристојан брзина?
Ок, кул.
>> Дакле, као што смо некако назад на оригинално питање,
смо - и сада, ако видимо разлику,
Ви видите да у овом до-вхиле петље,
услов долази последњи.
Дакле, као што је рачунар чита програм
пошто Ц програми се извршавају врста у овом секвенцијалном редоследу,
где су буквално почети са првом линијом главног,
а затим изврши линију 6, ред 7, 8 линија, линија 9,
линија 10, линија 11,
Све ове ствари на врху овде
ће се једном изврши
пре него што смо икада тестирали овај услов да види
да ли је или не - или садржају и, него -
мање од броја 3.
И само ако једном стигнемо до линије 12,
садржина ја смо мање од 3
ми заправо скок назад до линије 7
а затим поновите поступак,
а онда смо тестирали стање опет и опет и опет.
>> Дакле, можемо да се супротстави ово
са - зумирање назад,
дођите на верзију Сем,
ћемо гледати ово, мало променила, тако да је више не бесконачна петља -
где ако смо увећали,
видимо да је овај програм извршава,
то ће се прво изјасни инт,
поставили садржај будем на 0,
а онда удари стање док петље прво,
тако да у овом случају, то тело, ово принтф ("здраво") и ја + +
неће ни извршити
осим ако сам заправо је мања или једнака 2.
Дакле, ако сам је 3, на пример,
ако смо поставили овде ово право
једнака 4 - или ћу до 3, зато сам рекао 3 -
и онда га покренете,
то ће градити, то ће покренути потпуно у реду,
али то у ствари неће штампати ништа,
јер није тај тест за први случај.
Дакле, у класи, ми смо некако разговарали о томе зашто су ови уради док петљи
су корисни понекад
и зашто би га користите за разлику од вхиле петље.
>> Да ли постоји - да ли ви имате било какве сугестије
јер зашто уради док петља може бити корисно?
>> Па, ја мислим да уради док је петље ако желите кориснички улаз,
јер на тај начин можете да им дозволите
ставио нешто у једном, а ако је то тачно,
можемо да пређемо на остатак програма,
али ако то није тачно, онда наставите навело корисника
док сте ставили прави улаз.
Да, тачно - тачно,
па до-вхиле петље је корисно
јер када је навело на корисничког уноса
зато што је потребно да добијете улаз корисниково пре него што заиста може да га провери.
Дакле, у псет 1, у псет 2,
где сте је навело да корисничког уноса много,
То је згодно ствар за коришћење
насупрот обичне петље док.
Ако користите вхиле петљу, можете да урадите исту ствар -
можете да урадите исту ствар са вхиле петље
као што радимо са до-вхиле петље.
Потребно је само да некако имају овај процес дупликат
где сте добили улаз, а затим покренете петљу вхиле.
Док до-вхиле петље, ви само треба да га напишем једном
и то је много чистији.
>> У реду.
Има ли питања?
Смисла?
>> Повратак 0 - то је само врста тезге или је то -?
Да, можемо и ми -
добро, ми ћемо покрити ово мало касније
али се испоставља да је
овај повратак 0 да ставимо
на крају главног свих времена -
можете некако да га само узети као нешто што радимо
за сада.
Оно што смо почели да разговарамо о томе са функцијама
врста крајем прошле недеље и онда опет ове недеље
је да је функција
Потребно инпута који су ове ствари у загради;
ово су 2 улаза, наши аргументи или параметри,
оно што они зову нашем главном функцијом,
и онда функција производи излаз
што ми зовемо повратну вредност.
И повратак вредност у случају маин је ово инт
ово цео број,
и начин на који кажеш неку функцију, "Хеј, то је оно што ваш излаз
ће бити ", је са овом речју" повратка ",
та кључна реч, тачније,
па главна враћа 0
или главни оутпуттинг 0
је стандардан у Ц програмима
јер повратку 0 од главних средстава које
"Хеј, све погубили мог програма само новчаном казном."
Ако бисмо ставили нешто друго од 0,
као 1, на пример,
која се користи да каже ко трчао овај програм
да нешто није у реду.
Дакле, као што смо се више укључе у ствари преко семестра,
Ако сте икада сте потребе да кажем,
"Упс, знате, нешто је пошло наопако са овим програмом"
него што ми пада програма, желим да обавесте
тркач мог програма да нешто није у реду,
можете користити повратну вредност,
како га ми зовемо, то није 0.
>> Дакле, о томе ћемо причати мало више
када смо добили у функцијама.
Та врста има смисла?
Ок.
Функције су врста бизарно -
Мислим да је за људе који имају доста математике позадини,
долази мало лакше,
поготово ако имате мало више апстрактну математику позадину
и ви сте навикли да говоримо о функцијама
и све такве ствари.
Али ми ћемо покушати да их и покрити
и иди лепо и полако, као они долазе горе.
Такође, цела ова инт аргц,
цхар * аргв [],
за сада, такође можете узети ту плочу као котао.
Почели смо да покрију оне мало у предавању
када говоримо о аргументима које сте добили прошли у програме на командној линији,
али у својим сетовима проблема и ваших програма,
то је потпуно у реду само да пишем празнину и чувајте га једноставно.
А шта то значи празнина је да
"Хеј, главни неће прихватити било какве улаза;
ово је само програм цемо да само трчи.
Нећемо му дати било какву додатну информацију
сваки пут смо га покренули ради. "
Дакле, за сада, можете да урадите ово;
можете чак и изоставити 0 повратка
на крају својих програма и они ће трчати у реду,
али ја препоручујем само држећи да је унутра
У неколико недеља, ми ћемо почети да врстом
повући поклопац мало и разумети више о
сви ти различити мали покретни делови.
>> У реду, хајде да разговарамо о нашем другом питању овде.
Дакле, шта значи "необјављени идентификатор" обично указују
ако звука коју кланг?
Мислим да смо можда видели да већ данас.
Може ли неко дати рекапитулацију шта то значи?
Хајде да видимо, Кели - један од Келлис.
>> Дакле -
Да, шта -
>> Мислим да кад ти, као, не изјашњавају променљиве и покушавате да га користите.
Да, тачно, тачно.
Дакле, ако сте икада видели овај излаз
када покушате да компајлирате програм,
баш као Кели рекао,
то значи да сте користили променљиву које нисте прогласи,
па ако се вратимо на наш простор,
и ја нешто слично
принтф (
"Поздрав% с")
и покушати да попуни% с
са променљива а да ја нисам нигде прогласила
и трудим се да га покрене,
ћете видети шта сам се доле на дну ове овде:
"Коришћење необјављени идентификатора 'с'";
то само значи да нисте прогласи своју променљиву.
Иста ствар се дешава ако
имате к и покушати држати 7 у њему
и нисам изјављујем Кс.
Ја се ту исту грешку:
"Коришћење" Кс "непријављеног Идентифиер".
>> У реду,
тако да Цезарова шифра, нису баш сигурне,
Ја ћу вас момци гледају овај кратак, врсту разуме зашто,
и надам се после тога проблем ове недеље сет
где сте заправо написали Цезарова шифра, ви ћете разумети мало више
о томе шта значи бити сигуран и несигурно -
или не сигуран, претпостављам - несигурно је нешто другачија.
Друга ствар је да овде имамо овим другим питањима
о функцијама
и шта је функција,
и ми некако разговарали о том кратко када смо разговарали о повратку вредности;
за некога ко је био на предавања,
можете подсетимо ко је био на предавања данас?
У реду.
Хајде да видимо, хајде да - може неко да нам кажете шта је функција?
Кели?
>> >> Суштини нешто што се скрене на нешто што је записано у библиотеци која је
компликованије тамо, и онда само написати кратку форму о томе,
па као да говорите назад у тој библиотеци, користећи
све то дуго код и [нечујан].
Да, тачно, а онда хоћеш нешто додати на то?
>> Да, ја мислим о њему као сличан концепт формуле у математици
где само написати формулу и тада можете прикључити променљиве
и то је оно што је функција [нечујан].
>> Да, тако да смо овде пар одговора
који су оба заиста добро и право на.
Ту је позивајући се кода који је написан у библиотеци негде
који је компликованији
и онда можете да нацртате на том коду
и заправо га користити за само писање кратку форму њега -
или, тачније, њено име -
и онда ту је и ово поређење са формулом у математици
или физике, све такве ствари
где имате формулу
и тада можете прикључити
променљиве у том формулом
онда добијете резултат формуле,
тако мислите о њему као као квадратне једначине.
Замислите да уместо да уче о
шта квадратна формула је на цасу математике,
само је мало калкулатор програм који је то урадио за вас.
Да ли је ико користити програме калкулатор у математичким одељењима у средњој школи?
Да, физике класе?
Где можете само рећи: "Хеј, квадратну формулу.
То су варијабле које желим да улаз.
Сада ми дај одговор. "
То је врста што је функција.
То је начин да
врста писања попут малог мало под програмом
у оквиру нашег ширег програма
и користити га изнова и изнова
тако да не морамо да копирате и налепите шифру
можемо га дају различите улазне и добити различите резултате,
то је супер згодна
када покушавате да пишете различите програме у различитим временима.
>> Тако, на пример, функција која смо користили изнова и изнова и изнова
током курса је принтф.
Принтф сама функција
и испоставило се да је то заправо прилично дуг и компликован,
гадно изгледа, функционише писати.
Дакле, као једноставан као што се чини за нас
да штампају ствари до екрана,
јер смо сви то урадио на почетку деонице данас,
Испоставило се да је то заправо, знате,
добар пар стотина линија кода.
То није нешто што сам икада желео да пишем, сигурно,
али смо добили да га користи сваки дан, то је кул,
тако да смо добили да га поделим са другима,
са различитим програмима,
тако да ћемо бити роњење више у функцијама;
за сада, нисмо -
једина функција да ћемо писати је главни.
Главни сама је такође функција,
и можете видети да има своју производњу,
његових улаза као што смо говорили,
и онда његово име, што је главни.
Главни је врста - има специјална функција.
У свом програму Ц, мора да буде основна функција,
па за сада, ми смо некако изостављено писања
прототип, или декларација, главни.
Смо дали смо да за вас,
и управо смо се да попуните врсте празнине.
>> >> Дакле, за други проблем сету, ми не треба да
запишите га у другој функцији?
Ја не верујем.
Ја верујем да је то све овде.
Да, па Цезар шифре,
Ви не морате да то не личи,
и Вигенере, не знам ни ја,
тако - и испоставило се да никада не стварно морате да пишете
функција, зар не?
Зовете увек стави све своје кода унутар маин,
и многи програмери да урадим.
Како идемо даље,
почнемо увођење функције као начин
да очисти своју шифру,
да би се више елегантан,
у случају да имате задатке - врста као кад смо разговарали о петљама,
како понекад постоје ствари које желите да урадите поново и поново и поново,
а имате какве наивне начин -
или шта смо често називају "страшило човека" решење,
је само да копирате и налепите изнова и изнова -
можете да урадите исту ствар и са функцијама где само копирајте и налепите
исти код изнова и изнова,
али да блоатс свој код -
заврши што код заиста дуго -
а такође добија мало збуњујуће,
и онда то значи да нисте у стању да воле -
Ако сте икада желели да користите тај код поново у другом програму,
Такође смо вам заглавио копирања и лепљења га поново,
тако да један од ствари ћемо разговарати само о
врста дизајна и стила својих програма,
па кад има смисла да се врста
Пакет нешто горе и ставио га као засебну функцију,
саветујемо вам да то урадите,
и то је нешто што је, опет,
нема тешко и брзо правило.
Ми ретко кажу да морате да пишете функцију зове ово,
али то је више од једног од тих ствари само развијају током времена
док пишете више и више програма.
>> Има ли још питања?
Ок, хајде да сада
Иди назад до овог момка овде,
па ја сам још увек у овом делу питања.
Разговарали смо о свим тим различитим оне,
шта је функција, зашто да пишем функције,
када једноставно да копирате и налепите?
Надам се да смо вам уверени да је писање функција је добра ствар.
Дакле, сада идемо на овај МиСпаце програма,
а ми ћемо потрошити мало времена ради ово.
>> Дакле, хајде да видимо,
могу се неко прочитао ово за мене?
Хајде да Микхаила - да ли ћете прочитати ово за нас?
>> Мислите назад када МиСпаце -
Назад када МиСпаце је цоол.
>> "Онда када МиСпаце је цоол,
то је све бес да куцате овако.
Можда је још увек? Нисам баш сигуран.
У сваком случају, користећи ЦС50 Апплианце,
ЦС50 Трчи, или ЦС50 Спацес,
написати програм који пита корисника за поруке
а затим исписује поруку са својим прво слово велико,
са свим осталим словима у наизменичним случају,
по узорку излаз испод,
где болдфацед текст представља улаз неког корисника.
Због једноставности, можете претпоставити да корисник
само улазне мала слова и простора.
Размислите овај проблем прилику да вежбају;
Неће вам бити затражено да достави овај програм. "
>> Страва, хвала.
Дакле, као Микхаила рекао,
ћемо написати програм који МиСпацес свој код.
Дакле, да ли неко од вас користе МиСпаце?
Свако од вас има МиСпаце рачуне?
Ох, да, да!
То је прилично кул.
[Смех]
Знам.
Датинг себе.
Дакле, оно што ми покушавамо да урадимо је да напишете програм
који пролази кроз
и искоришћава прво слово
и онда свако слово после тога -
или сваки други писмо после тога, жао ми је.
>> Значи - и ви можете видети у овом примеру,
ово је како смо покренули програм,
па ово је само рекао: "Ми смо покренули програм под називом а.оут.
Улаз да ћемо га дајући
ће бити затражено.
Нећемо снабдевање улаз на командној линији. "
Ако сте пратили све предавања
и расправе о аргументима командне линије,
То је врста где они - да фанки синтакса
на главном долази са инт аргц, све те ствари
па овде се не користите да, ми се не бавимо било од тога.
Ми смо само да се ово унео у од стране корисника,
и онда друга линија са функи капитализације
је оно што желимо да наш програм излаз.
>> Дакле, уместо да користите Апплианце или Покрени, ми ћемо користити простора,
јер имамо простора,
па ако ви би
добили код да изгледа овако нешто,
па ћу да сачувате ову ревизију
само тако имате котла тањир овде
да изгледа овако маин (воид), ништа у њему.
Заправо, оно што ћемо урадити је само ћемо избрисати све заједно.
Желимо празну шкриљац,
јер нећемо почети писање кода;
Уместо тога, ми ћемо покушати писање неких Псеудокод
који је заиста само значи да ћемо написати нешто што је код
таква описује оно што желимо да урадимо,
Некако као Давид учинио на први дан предавања,
или ја претпостављам да је то други дан предавања, када је то урадио цео чарапе демо.
Ви се сећате да је - виде чарапе?
Јосиф је био тамо мало куцање на енглеском?
Тако ћемо урадити исту ствар.
>> Дакле, када почнем да пишем Псеудокод,
Ја бих да почнем тако гледајући шта је улаз ће бити.
И сам себи дати случај узорка,
па као "хвала за адд!"
А онда сам пишем шта хоћу излаз да буде,
која је у овом случају је нешто овако.
А таква ми даје добар, као, почевши место за размишљање,
"У реду, желим да линију 1
и желим да га претвори у ред 2 "
и та врста помаже водити моје мишљење.
Ово је добро место за почетак.
Други начин да се размишља о томе, такође, као што смо некако кренемо даље
и као што сте урадили у својим програмима, јесте да
размислите о врсти као шта су ивице случајеви на ово?
Које су врсте од чудних сценарија?
Које су чудни инпути које смо могли добити?
А шта би ти резултати изгледају?
На пример, један чудан улаз
би ова,
стварање апсолутно ништа,
као шта треба избацити у том случају?
Нешто ми желимо да мислимо о томе, такође.
>> Дакле, баш као питање,
Шта бисмо могли да излаз?
Уколико не добијемо никакву улаз на све, шта би наш програм буде избацивања?
>> Ништа.
Нотхинг? Звучи сјајно.
Дакле, желимо да се уверите да не пишемо ништа од
ако не добијемо ништа унутра
Кул. Ок.
Тако
Идем да позовем на неколико људи како идемо кроз
и само да схватим какву као што је општи алгоритам
и ми некако ћемо почети да ради кроз ово заједно.
>> Дакле, хајде да видимо. Мисси.
Како мислиш да ћемо почети?
Шта би било добро место да овде почне
ако желимо да променимо, рецимо, линија 1
у ред 2?
Могу ли некако да објасните ми, на енглеском језику, шта мислиш?
Не брини о коду.
>> Прво што сам урадио било би
врста директног корисника да им кажете шта желите.
Ок, па, рецимо,
"Хеј, корисник. Желим
стринг "- супер.
Дакле, хајде да напишемо ово доле.
Упитај корисника за ниске.
То звучи као добар почетак.
У реду.
Питајмо Кели Рен овај пут.
Шта би онда да урадите?
Која је врста наш следећи -
>> Сакупите свој допринос и ускладиштите као променљиву то.
Сјајно.
Дакле, прикупља стринг,
чувати га у променљивој.
Дакле, постоји ли нешто посебно желимо да урадимо?
Да ли желите да проверите свој допринос
раније -?
>> Да.
Шта бисмо могли да проверите?
>> Па, ви сте рекли да не треба да провери да ли је то број, зар не?
Јер ће претпоставити да је мала?
Да.
>> Тако испада да је - да.
Дакле гетСтринг гарантује да нам врати стринг.
То неће вратити број нама или нешто слично томе.
Можда постоји цифра карактера у оквиру тог низа, мада.
А они, можемо игнорисати као што смо урадили слова.
Али празан стринг је потпуно у реду,
па у случају овде на линији 4 и 5,
У реду, где нема улаз,
и ми смо ставили ништа као наш излаз.
Ми не треба да бринете о томе да ли да постоји нешто у низу
или да је стринг најмање 4 карактера;
све је у реду.
Дакле, ово је у контрасту, на пример, са попут пенија програме које сте написали
где сте морали да будете сигурни да су све не-негативне бројеве;
морали сте да се уверите да сте добијање тачан број дана у месецу.
А како радите то?
Како би ти тај тест?
Шта је то потребно да користите?
>> До-вхиле петље.
До-а петље; остале врсте петљи, такође, да.
Тако испада да не морају да користе петљу у овом случају,
када смо је навело на ниске, што је некако лепо.
>> У реду, идемо даље.
Дакле, Стела.
Можете ли нам рећи нешто о томе шта би требало да урадите?
Дакле, сада имамо ниску, имамо га чува у променљивој;
шта је то што треба да урадите са стринг?
>> Морамо да -
идентификовати 2 -
Да, само реци на енглеском, то је супер.
>> Идентификовати [нечујан] престоницама - или великим словима.
Да, тако би идентификовали оне које су велика и мала.
Ми не можемо велика или мала слова, док их идентификовали смо Којих.
Тако ћемо ставити овде.
>> Дакле, само размишљам о овом процесу,
како ми то урадили идентификацију?
Да ли знате, Дан?
Мало шта смо - шта алат ћемо морати да користи од нашег тоолбок?
>> Ја бих то ставио у некако у низу или као сваки линије
је свој кутијица,
а затим га велика одатле или не.
Ок, тако да један алат можемо користити јесте низ.
Шта морамо да погледамо у низу,
мада, да схватим - морали смо да погледамо ликова.
>> Дакле, мораш да погледате на дужину стринга?
Да, тако део који се добија дужину стринга.
Само из радозналости, шта ми користимо да би добили дужину стринга?
>> Стрлен?
Да, стрлен, ми то називамо "стрлен"
Све ове гудачке функција, тако да је стрлен функцију,
и то је супер згодна, јер могу да га користе само да кажем,
Хеј, стрлен: Ево стринг, реците ми колико дуго је.
У предавању данас, Дејвид причао доста о томе како се спроводи стрлен,
шта се заправо дешава иза сцене.
Али, ово је један од веома корисних супер оне.
Постоје они други који су такође у стринг библиотеци,
као што стрцмп, која је наведеног "стрцмп",
који се користи за поређење жице једни друге.
Други оне које ће користити као стрстр,
што је добро за проналажење под конце и тако даље.
За највећи део, сви они почињу са ул, а затим пређите на нешто друго.
Разлог због којег су их заправо не пише као стринг и тако даље
је зато вратио у као у раним данима Ц,
када су људи били прво писање и све то,
су имали ограничења броја знакова да сте могли да користите
за функције имена и имена променљивих,
тако да је све као супер кондензовано.
Али кад год видим нешто што почиње са ул,
то најчешће значи то има неке везе са низом.
>> Ок, тако да морате да добијете дужину стринга,
и онда, шта да радимо са ликовима?
Да ли знате, Сам?
>> Немам појма, ја сам покушавао да схватим.
Ја стварно не знам - Волео бих да постоји неки начин да се -
Мислим, ја бих можда да смо могли урадити нешто са квотама и уједначава,
али ја не знам ни функције као што је то.
Да.
>> Али то - то не би нужно радити,
јер онда би се простори бити -
Ви би требало да има простора да се савети о томе како -
Ок.
>> Не знам - ја сам изгубио вид у овом тренутку.
Да - не, не, не, ово су добри поена.
Дакле, оно што треба да урадимо је, као Сем рекао,
морамо да пратимо која слова су непарне писма,
и које су чак и слова.
Али желимо да будемо сигурни да не само гледајући
на парне и непарне
Индекси у низу,
већ гледајући парних и непарних слова у низу,
тако да морамо да некако имамо ту разлику између
слова - као што је, заправо, Б, Ц, Д, или тако даље,
а шта ствари нису слова, али још увек у нашем низу.
На пример овде, као што је овај знак узвика није писмо,
али то је још увек део наше ниске, то је још увек знак.
Исто тако, сви ових простора -
нема смисла да се искористи простор, зар не?
Дакле, желимо да се уверите да смо некако прескочили оних
док је још праћење шансе и збивања.
>> Тако врста у нашој програмској алаткама
До сада, ако хоћете,
имамо велики број различитих алата који смо причали о томе.
Тако једном, на пример, су променљиве,
као да смо разговарали о томе овде.
Други алат смо разговарали о су функције.
Зато смо говорили о варијабли у нашем Псеудокод овде
јер оно што ћемо користити за складиштење нашу ниску.
Разговарали смо о функцијама да би добили дужину стринга, као стрлен.
Ми смо говорили о нечему другом, а ми смо разговарали о томе
за доста раније у одељку данас: петљи.
>> Шта ви мислите о коришћењу петље у овом програму?
Јаред, шта ти мислиш?
Да ми користимо петљу у овом програму?
>> Вероватно не, не, јер не морам да идем кроз њу више него једном.
Ок, не мораш да идеш кроз шта више него једном?
>> Цео стринг.
Тачно, тако да не морате да прођете кроз цео стринг једном.
Жао ми је што је апсолутно нема никаквог смисла!
Не морате да прођете кроз цео стринг више него једном.
Ок.
Шта ви мислите?
>> Мислим да је боље да их користите
тако да можемо да урадимо као капитализује док
локација је у томе [нечујни] број.
Сјајно, па капитализује шта?
Ок, тако да кажеш да
треба да користимо петљу јер желимо да
велико слово, а то није број.
Дакле - Жао ми је, нисам желите да додате?
>> Хтео сам да кажем да је начин на који се третирају стринг
а [нечујан] одвојено [нечујан] на ликовима?
Да.
>> И онда можемо доделити бројеве -
или на основу локације слова у низу?
Да.
>> И утврди да ли је то чудно или чак и да се капитализује саму писмо
док локација писму је [нечујан] - жао.
Сјајно.
>> Зато само рекапитулација.
Можеш ли да ме подсети на своје име поново - Жао ми је.
>> Цхарлотте.
Шарлот, у реду.
Дакле, шта Шарлот је рекао,
који је потпуно у праву - Боже, ово воли да ауто алинеја на мене -
јесте да ако погледамо низу
као што је овај на врху -
"Хвала за адд" -
као низ знакова
где је на позицији 0,
х је на позицији 1.
Је на 2, онда имамо 3, 4, 5;
Простор је на позицији 6.
Док - шта је став ф?
7!
О? 8.
Р? 9.
И онда имамо 10, а онда ја стварно не могу да пишем без њега
Некако све наопако на екрану.
Али ово је заправо како можемо говорити о жицама у меморији.
Да ли је то ниска
је низ знакова,
и када мислимо на индивидуалног карактера у низу,
често учинити позивањем на положај тог лика
у низу,
Вероватно исти начин на који говоримо о септембру
као девети месец у години
или у понедељак да је први дан у недељи.
Дакле, ово нам пружа начин да
схватим оне које су чудно наспрам чак и
јер можете видети овде,
ако га поклапају са овим Т,
можете видети да све оне капитализоване
су на чак позицијама,
барем за прве речи,
и онда се ствари одбацили када смо погодили тај простор,
јер ми не рачунамо овај простор као писмо,
па то је као да смо почели
и отишао 0, 1, 2, 3, 4, 5,
простор, 6, 7, 8, простор,
9 и од 10, 11, 12, и тако даље.
>> Кул, тако да ћемо сигурно ће желети да користите неку врсту петље
да иде преко сваке од ликова заузврат.
Дакле, у овом тренутку,
ћемо вратити на наш стари Псеудокод овде.
Као део ове идентификације које оне
су велика и оне које су мала,
ћемо желети да се то уради у неком петље.
Петља, дебелог црева.
Какав петље, од типова петљи које имамо,
Чини се да је добар за коришћење у овом случају?
>> Ја сам мислио за петљу.
И зашто мислиш о фор петљи?
>> Јер почиње на нули, а затим
када стигнемо на дужину стринга,
и онда свака итерација можете [нечујан], такодје?
Да, баш тако.
Дакле, од различитих избора петље,
имамо за петље, док петље, и уради, док петље.
Када за петљу је посебно користан
је када желите да знате
врста где си у петљи,
колико пута петља извршен до сада.
Што је тачно оно што ми желимо да знамо у овој ситуацији,
као Кели рекао,
заснива искључивање раније коментару Цхарлотте да желимо да знамо позицију
карактера у оквиру стринга,
и за петљу ће нам дати само то,
јер ако почнемо врста гледајући уназад на наше ниске,
ако почнемо нашу за петљу на 0,
и идемо кроз дужине целог низа,
онда можемо да повежемо Т слово
са 0 у нашем за петље,
слово Х са 1 у наш фор петљи, и тако даље,
иде све до краја стринга.
>> Па почнимо кодирање ово само мало
само тако ви добијете осећај за оно што ово личи.
Идем да сачувате ово,
тако да смо добили нашу псеудо код овде,
и ја ћу избрисати све.
Дакле, имам празан шкриљац.
Ја ћу почети са писањем маин (воид)
{
Ја ћу ставити 0 повратка у
и онда}.
Дакле, обично када почнем да програм, ово је оно што сам почетак.
Ја ћу га сачували, тако да ви га имате.
Дакле, једна од првих ствари које смо говорили био
добијање информације од корисника
и складишти у низу.
Како ћемо добити информације од корисника?
>> ГетСтринг.
ГетСтринг, у реду.
Дакле, ако укуцамо ГетСтринг ()
и зарез.
Покушајмо ради ово; ће овај рок, пре свега?
А зашто не ће то покренути?
>> Морате да прогласи променљиву.
Морам да прогласи променљиву. Ок.
>> Па како то да урадим?
Да ли вам смета писање нешто, делећи га?
И онда можемо да га подигне.
Хајде да видимо, Дан реду, ок.
Или Даниел. Примљено у, ниске улаз = ГетСтринг ().
Авесоме.
Хоће ли ово води?
Хајде да пробамо.
Хит вожњу, уплоадинг изворни код, зграда, дошло је до грешке.
Ок.
Дакле, шта се дешава овде?
Коришћење 'стринг' непријављеног идентификатор.
>> Морамо укључити библиотеке?
Да, па Дан изрека морамо укључити библиотеке.
Да ли је то оно што сте хтели да кажете, Стелла? Авесоме.
То је супер, па Стела, можеш
копирајте овај код из Даниеловом простора?
Ако кликнете на Ролан Данијел Ки, копирајте га,
и онда ћете ставити укључују линију, а затим да га сачувате напоље?
Дозволите ми да знам кад си спреман.
Дакле, ово су синтакса је такодје врста фанки;
ту је као да је хеш таг,
и тамо је укључите, а затим ту су заграда.
Да ли се сећате како се то ради, или да сам га ставио на овом коду овде?
>> Ја сам добар.
Ок.
>> Сам га штампати - Нисам био сигуран која библиотека, ипак.
Ох, у реду - да, тако да је ЦС50 библиотека.
>> О, ставио сам стдио библиотеку.
>> Ох, добио - да, не, то је -
тако да испада да је стринг је заправо нешто што је посебно за ЦС50.
Постоји заправо није истина стринг тип
јер управо овде, стринг је у типу позицији, -
смо декларисање променљиве зове унос типа стринга -
и ми смо стављањем унутар улаза
вредност која добија вратио до нас: Излаз овог ГетСтринг позива функције.
Можете рећи да је ово позив функције, јер је добио заграде, као и принтф ради,
баш као стрлен ради.
Али стринг заправо није прави тип
у Ц језику.
Успели смо направили у врсти, а ми ћемо се о томе више оно што је заправо
у Ц, јер постоји начин да се ради са жицама;
Управо смо урадили нешто да изгледа мало лепше.
>> Дакле, идемо.
Ево Стелла шифра.
Има # инцлуде <цс50.х>.
Други људи ће звати као хашиш укључују понекад или оштар укључују.
Сада можемо да почнемо, покрените га,
а ми још увек добити грешку.
Хајде да видимо шта се дешава.
"Неискоришћено променљива 'улаз'."
Ок, тако да је то кул, то је кул.
Мислим, то није баш цоол,
јер ми смо све грешку и то није покренут,
али шта то говори да
нисмо користили наше променљиву, што има смисла.
Нисмо покушали да урадимо нешто са њим.
То је начин на који
Цланг покушава да нам помогне да се уверите да нисмо само помоћу променљивих
и онда случајно називајући их нешто касније у нашем коду
Помажући нам избегли грешке на тај начин.
>> У реду, тако да смо добили информације од корисника,
га чувају се у променљивој.
Следећи корак био је да се тада
почети гледајући све знакова у стрингу
и идентификовање оне које треба да буду велика
а које треба да буду мала слова.
И као Кели и Шарлот васпитан,
Ми смо то урадили користите за петљу.
Дакле, не неко сетити синтаксу за петље
и желите да се убод на само писање
прва линија за петље, само за мало?
Кели, хоцес ли да се покуша?
>> Да, тако да морате да покрене први,
па сам сам ставио = 0,
и онда сам урадио и <стрлен ().
Да ли је у вашем простору - могу да га подигне?
>> Да, ја сам зезнуо мало, али да.
>> Ок, хајде да га подигне.
Авесоме.
>> Али тада нисам знао да ли то имао -
Да, у реду.
Дакле, ево шта је добио Кели: хајде да погледамо на то брзо.
Дакле, она је укључена у библиотеку цс50 на врху.
Она је укључено стандардну ИО библиотеку на врху,
и стандардна ИО има функције као што су принтф,
тако да ако сте икада желели да користите инт, морате ту линију.
И онда је она укључена стринг библиотеку,
које ћемо морати,
јер ниска библиотека има стрлен функцију,
које ћемо добити у само мало.
Дакле, ако погледамо шта Кели је урадио овде,
Можете ли да нам прође кроз шта си урадио?
>> Да, тако - мислим, имам грешке, тако -
Да, не, то је -
>> Па сам хтео да позовем стринг који сам добио само "стринг".
Хтео сам да одштампате стринг
а онда сам -
Хтео сам да волим поставили жицу и као низ сваког знака
бити различит [нечујан], зар не?
А онда сам хтео да почне у позицији 0
а затим сваке 2 места,
Хтео сам да се капитализује,
па сам га описао као 23, јер сам гледао на АСЦИИ табели.
Дакле, то је оно што сам мислио - Ја знам да то није у реду.
>> Имаш га, тако да је ово одличан почетак.
Мислим да велики део оквира је на месту овде.
Идемо кроз врсте линију по линију и види шта се дешава.
Тако како ја волим да радим ово је само почети прикупљање кода
и пустите компајлер реци као шта није у реду са мојим кодом,
јер компајлер је стварно добар у вам кажем шта није у реду са вашим кодом.
Дакле, ако смо га играју, изградњу, и не изгради.
Она каже да је била грешка,
па ако померите се надоле и погледајте прву грешку,
је рекао -
враћамо помицати до врха,
можемо видети постоји 5 грешака које генерише доле на дну.
Упс, то је стварно одсечен.
Претпостављам да је само неће добити ништа боље.
>> Идемо.
Дакле, постоји 5 укупно грешке генерисане.
Овде сам само да видим прву 2,
тако да могу да се померим ово мало, а онда некако померање нагоре.
Ово је команда која је водила да састави код,
и онда прва грешка је била у филе.ц овде:
"Очекује се идентификују или '('", и то је било на овој линији
где смо рекли стринг = ГетСтринг ().
Можете видети овде да је на линији 8 од филе.ц,
а онда верујем да је ово лик 12 - то је грешка.
Дакле, шта се дешава у реду на линији 8 - Келли?
>> Ви само треба да га позове, као, писмом или тако нешто,
као стринг с или нешто?
Да, па испада да су ови специјални тип имена,
тако ниска, инт, цхар, кратко,
они су све специјалне кључне речи,
и не могу заправо их користе као имена ваших променљивих,
јер компајлер гледа и каже,
"Ох, знам да је тип"
тако да не можете заправо имају променљиву стринг зове стринг
као да покушавам да урадим, то неће радити.
Али уместо тога, можемо назвати нешто с или СТ или СТР.
Ми такође не може назвати инт.
Ми не можемо имати ниску зове инт.
Ми не можемо имати ниску зове карактер, нико од оних који ће радити.
>> Дакле, само ћемо га зову с за сада.
Авесоме.
Дакле, шта је следеће што се дешава у овој линији?
Стринг - ова линија изгледа прилично добро?
Хајде да покушамо дати један, хајде да га покренете.
Ок, тако да смо још увек добити грешке.
Овај пут, ми смо доле до 4 грешке.
Тако смо добили један од њих.
Идемо горе.
"Неочекивана унесите име 'стринг': очекивана израз," да?
>> Да, то је зато што сам покушао да именује стринг.
Да, тако изгледа и ми сада морамо да идемо поправити
свих ових референци на ниске.
Можете да видите овде је референца на жицу, овде, овде,
тако да можемо да пређемо све ово да е.
Сјајно. Ок, поново покрените.
Зграда - други грешке.
>> Ок, сада смо у један грешке,
па инт = с и онда угластим заградама.
Дакле, можете ли да нам кажете нешто о томе шта сте радили овдје, Кели?
>> Да.
То је било на линији 10.
>> Ја не знам да ли нам је потребно све то,
али мислим да сам покушавао да -
Ја ћу га сачувати тако да можете да пратите.
>> Мислим да је
Покушавам да кажем да почне у позицији 0
на почетку мојих за петље,
па мислим можда да каже било непотребно.
Дакле, само да подсетимо,
сте рекли да је то - да су покушавали да почну ово на позицији 0
и да ово - да,
па сам раније мислим, такође, када су ишли преко кода,
Ви говорите о томе како сте желели да третирају стринг као низ
тако да можемо приступити индивидуално сваки карактер.
Мислим Дан поменуте низова, такође, покушава да конвертује конце у низовима.
>> Испада такву испод хаубе,
стринг је заправо чувају као низ већ,
и можете да му приступите као низу;
нема конверзије да морате да урадите.
Зар жица - тако -
стринг није баш арраи
али можете да му приступите као таква, јер сви ликови чувају
један поред другог у меморији,
па ако желите да добијете први карактер ниске,
то је исто као и добијање првог цео у целобројног низа.
Тако смо често - ве'лл
односе на 2 као
ох, као струна, као низ,
иако је стварно - они су веома различите ствари,
али их можете третирати много исти.
Тако испада да заправо ова линија -
не треба да урадимо било конверзију,
и, у ствари,
ово заправо није важећи израз,
што је оно што је наш преводилац нам говори.
Она каже: "Хеј, то очекује израз,
и оно што сам овде је нешто што није израз. "
Да прогласи низ,
Све што треба да урадите је да се овако нешто са зарезом,
и онда реци низ колико дуго желите да буде,
као што је 5, тако да ова линија 10
ће прогласити низ Позвао сам са 5 бројева у њој.
>> Ово је по страни, то није неопходно код,
али ово је - ово је некако оно декларација изгледа.
>> Како би сте да користите знак ја [стрлен (с)]?
Знак и [стрлен (с)]?
>> Цхар сам, а онда унутар заграда, стрлен (с).
Да, тако да смо могли -
можемо да радимо ово,
и то ће прогласити - шта би ово урадио?
>> Мислим да би прогласити низ
у, као и - од -
ох, не морате И - ох,
Да, ти дефинитивно не треба ја.
Ти прогласи низ знакова
дужине с.
И шта Самов кажем је да
ова линија 10 - дозволите ми да мало простора између њега и остатка, тако да можемо да изолујемо -
ова линија 10 ће прогласити низ
од карактера, стрлен (с) у вредности од њих,
али ми заправо треба ја,
а разлог потребни су нам и је, јер ми је потребно да се низ име;
У супротном, не бисмо имали начин да се односи на низ касније у коду.
>> Дакле, ово овде је низ имена
и унутра је дужина.
То ће нам дати низ,
али ово је - опет, ово је декларација.
То није задатак, то није иницијализација.
Ако смо прогласи овај низ овако,
заправо нема ништа у садржају низа.
То је само ђубре - све што је тамо.
И као што смо рекли,
ми заправо ни не треба да урадите ову конверзију,
јер смо већ може третирати с струна као низ.
Знам да трчимо мало дуг на време,
али желим само да веома брзо доћи до ово петљу
и показати вам како да приступите појединачне знакове у низу,
јер то је кључ за нашу задатак.
А онда ћемо пустити одатле.
>> Дакле овде имамо за петљу
да изгледа готово добро.
Шта није баш скоро тамо?
Вхат'с - шта није у реду о томе за петљу?
>> Нема витичасте заграде?
Нема витичасте заграде, на пример.
Хоћеш уверите се да имамо тело петље са заграда.
Упс, није квадрат браће!
А шта је следећа ствар која треба да се уради са овим петље?
Ако сам пробати и покренути га,
вхатс ову грешку коју сам добио?
Ја се све те грешке - Морам да ја покрене.
Сјајно.
Дакле, ово ће бити петља - то није сасвим тамо,
али то је све заиста близу.
Овај код сада може да трчи,
изгради, грешка и даље јавља.
Зашто се увек жали,
рекавши израз не користи,
и то зато што је ова линија не ради ништа.
Нисмо га сачувате било где, ми нисмо сачували резултат.
Где би требало да се штеди овај резултат?
>> С или ја?
Тачно, и то фанки синтакса,
ово с са средњим заградама
значи приступ и-ог карактер с.
То ће бити нешто што је заиста важно за задатак.
Нажалост, ми ћемо морати да се овде заустави,
тако да Себастијан секција може доћи,
али ја сам срећан да останем после споља и да ће се сва питања.
Дакле, хвала вам момци за долазак.
То би сада требало да уплоад, граде, трчи.
Можемо унети стринг као "здраво"
и штампа "КОКС".
[Смех]
>> Дакле, не сасвим тамо, али се креће, све према оним петље!
Хвала што си дошао, а ја ћу бити напољу.