JASON Hirschhorn: Добре дошли. Така само за няколко съобщения преди да започнем. Така секции, всеки трябва да са в разрез вече. Раздели обикновено работят от неделя до вторник. Така че вие ​​трябва да получите вашите задачи. И тогава мисля, че следващата седмица ще бъде с действителните си TFS. Така че, ако имате някакви въпроси, или проблеми, или сте забравили да сечение. Някои хора правят това. Просто да ни уведомите. Снимайте ни имейл на глави. Тогава Службата часа. Започнахме работно време миналата седмица. Работно време всяка седмица. Понеделник е в Leverett 8:00-11:00. Вторник в каре, така Cabot 8:00-11:00. Сряда, Mather 8:30-11:30. И четвъртък Annenberg 8:00-11:00. Така нулата, много хора не се нуждаят от офис часа помогне за Scratch, които е напълно наред. Ако го направите, това е абсолютно глоба, както добре. Но в бъдеще, проблемът комплекти, те стават много по-трудно. Така че това ще бъде твой приятел. Определено отидете на работното време. Планирайте да отиде до работното време. Когато стигнете до проблем определя четири, пет, шест, седем, вие трябва да отидете в работно време. Това е мястото, където много на помощта и работата се свършва. Мисля, че миналата година, само за Например, в четвъртък night-- така че аз мисля, че проблемът комплекти са дължими в петък. Така че в четвъртък вечер, ние ще имаме 200, 250 студенти в работно време. Така че определено се възползват от тях. Това са най-добрите си приятели. Подобно на това е мястото, където, ако сте остана на проблем набор, това е мястото, където най-вероятно ще получите помощ. Така работно време. ОК, така това са съобщения. Становища са готови, така че нека да започнем. OK, уредът. Знаете всички изтеглите още уреда? Не. Както и в толкова така. I вид изтеглен уреда. Точно така че уредът е нов тази година, така че ние сме най-вероятно ще има някои бъгове в него. Така че, моля да го изтеглите възможно най-рано. Така че проблем зададете една ще кажа как точно да го изтеглите. Как да започнем инсталирането точно тук. Това ще ви кажа как за изтегляне на уреда. Така че определено изтеглите уред-скоро рано, отколкото късно. Инструкциите са в P комплект спец. Така че, ако се изчака до сряда нощ, а след това имате проблеми, и да ни изпратите имейл на адрес полунощ в сряда вечер че не можете да изтеглите уреда, това е не легитимни причини за удължаване на срока. Трябва да го направим сега, и ще имаш неприятности. Опитах се да го изтеглите снощи. Аз се блъсна в малко неприятности. Ако се сблъскате с проблеми инсталиране, определено удари повторен опит, защото аз просто удари, опитайте отново по- няколко пъти, и в крайна сметка той е работил, който не прави смисъл, но го прави. Така че определено опитайте отново, но ако излезе срещу тухлена стена, ни застреля емайл на главите, а ние ще да бъде повече от щастлив да ви помогне момчета. Какво се е случило? STUDENT: Само един бърз въпрос. Ако те проверяват стил, има част който казва, че ние не включва това. JASON Hirschhorn: Все още не. STUDENT: Той казва, да го изпълни. Как да се изпълни, че да уверете се, че това е във вашата система? JASON Hirschhorn: Вие сте ще стартира команда Баш. Аз ще отида по-късно. Cool. Така че уредът може да бъде малко смущаваща, защото сте свикнали да вид работи в графичен потребителски интерфейс. Така Scratch е графичен потребителски интерфейс, така че това, което искам да кажа с това? Какво искам да кажа е, че когато сте програмиране, вие сте основно използвайки блокове от код. Можете да видите кода и подобни неща. Уредът, ти започваш да се прави неща в среда на командния ред. И така до края на Вашите програмни живот, ти започваш да правиш неща, в средата на командния ред. Така че е добре да скочи в началото и да получите някакъв опит. Така че нека да го направя. Така че това е Роб. ОК, така че нека просто да скочи в командния ред неща. Така че това е уреда. Може ли някой да ми каже защо ние използваме един уред? Какво е уреда? Знае ли някой? Какво се е случило? STUDENT: Това е просто една виртуална машина че изпълнявате вашата машина, така че да може да получи над операционната система разногласия между Mac и PC. JASON Hirschhorn: Perfect. STUDENT: Това е един универсален модел. JASON Hirschhorn: Да, това е като универсален шаблон. Това е перфектно. Така че, да, това е една виртуална машина. Така че това е в основата на операционната система. Това е една операционна система. Това е еквивалентно на вашия Mac, или PC, или вашият Linux. Това е точно същото. И така, можете да направите подобно нещо. Ако искате да, бихте могли да отидете онлайн, например. Вие наистина не може да го види, но точно тук, Google Chrome. Можете да отидете онлайн, ако искате да. Това е една операционна система. И причината да направи това е така, защото това е много по-лесно, когато сме раздавали инструкции и всичко. Ако това е само единна среда, това е много по-лесно за нас, и това е много по-лесно за вас. Вие няма да се сблъскате с го стартирате в някои особености когато сте програмиране. Ние знаем точно какво вие ще се сблъскате с. Така че уредът е тук. Така че, когато сте се започне програмиране, вие сте Ще сляза левия ъгъл. Има една малка кутийка. Ти започваш да кликнете върху него. Това е вашият терминален прозорец. Така че това е мястото, където отиваш да бъде много на семестъра. Така че нека да увеличите малко. ОК, така че да се наоколо терминал прозорец е малко по-различно. Първо, няма икони. Не мога да щракнете върху нещо. Няма нищо, за да кликнете. Така че трябва да измислим начин да се разбера къде се намирате, какво има тук, и как да се движите. Така двете най-полезни команди вероятно са ls-- така, какво мислиш ли прави? STUDENT: List. JASON Hirschhorn: Списъци, да. Тя просто изброява алгоритми в директорията. И след това CD. Така че нека да кажем, че аз исках да CD CS50, какво, че правя? Така ли? STUDENT: Променя ви указател. JASON Hirschhorn: Perfect, да. Тя просто променя директорията. Така че нека да се върнем. И така, как мога да се върна? Така че нека да кажем, че искам да отида Назад към предишната директория. Да разбира се. STUDENT: Мисля, че ти пиша CD само без нищо. JASON Hirschhorn: Можете да направите това. Така перфектно. Така че, ако аз пиша CD, това е всъщност ще ми изскочи резервно копие на собствената директория. Така че виждате тази тилда, че ще ми изскочи обратния път към мястото, където тилда е. Така че ще ми изскочи назад към началната директория. Но нека да кажа, че е направил нещо подобно. Да кажем, CD CS50. пак ли. Имам други неща. CD супер раздел. CD файл, така че аз ще съм дълбоко. И след това нека да кажа, че искам да просто поп обратно до върха. CD. Нека да кажа, че не искам да правя това. Да кажем, че просто искате да се появи обратно до директорията, която е точно над мен. Как мога да направя това? Така че нека да кажем, CD CS50. CD supersection. Така че нека да съм тук. Да кажем, че просто искате да се появи едно и също време. Как мога да направя това? Да, какво има? STUDENT: Можете само да въведете CD отново supersection. JASON Hirschhorn: Можете да направите това. Ами аз съм в supersection. STUDENT: О, този преди. JASON Hirschhorn: Да, така че бихте могли да направите това. Можете да направите CD ~ CS50. Така че, ако погледнете тук, това е пътя си точно тук. Това е вашият път. Така бихте могли сериозно просто отидете CD ~ / CS50. Boom, вие сте там. Какво е по-лесен начин да го направите все пак? Това е напълно вярно, но това, което е малко по-лесен начин да го направя, защото много пъти, започваш трябва да се скача в директории, скачайки от директории. Така че нека да се върнем. CD supersection. Така че нека да кажем, че искате да се върна бързо. Можете да направите нещо като CD точка точка. Това се случва да се появи да архивирате бързо. Така CD supersection. CD файлове. Нека да кажа, че съм тук. Между другото, ясно е добре, защото ми прозорец ставаше малко разхвърлян. Така ли, така че аз не искам да е тук вече. CD точка точка. Вземи ме в резултата. Cd точка точка ми отнема един до. Cd точка точка и обратно до дома ми. ОК, така че CD, LS. Може би най-важното неща, защото вие сте ще трябва да знаете къде се намирате. ли се ще да ви кажа, къде се намирате, и CD е как ти започваш да скачат наоколо. Можете също така да се направят някои други готини неща. Така например LS. ли е просто ще ви покажа директории във вашия файл. Това е също така ще ви покажем досиетата. Но това е просто ще ти покажа какво е там. Ако искате нещо малко по-хладно, и ти започваш да всъщност правят това след няколко седмици. LS тире л. Това отпечатва малко повече информация. Някой може ли да предполагам, от лявата страна страната на drwx, rwx и такива неща като това. Дали някой има идея какво може да означава това? STUDENT: Разрешения. JASON Hirschhorn: Да, перфектно. Разрешения. Така че, ти започваш да се трябва да се справят с този когато правиш уеб програмиране по-късно. Ако някога сте отишли ​​онлайн, и вие сте кликнали върху изображение или кликнали върху една област, и тя каза, permission-- като разрешение не се разрешава, или като разрешение не е предоставено или каквото и да, че е така, защото, когато те програмиране, те Не сте задали тези разрешения да ви позволи да направите това. Така че, когато това идва от. ОК, така че това е готино. Така че ние скочи наоколо. Можем да погледнем на нещата в нашата директория. Но как да правим неща? Имам директории тук. Това е страхотно. Как мога да направя нова директория? Да речем, аз искам да се направи нов директория за момента. Можете да направите нещо подобно, защитен режим. Така направи директория. Така че това, което искаш да наричаме тази директория? STUDENT: Awesome. JASON Hirschhorn: Awesome. Аз го обичам. Направете директория страхотно. И там ще отида. Така че ние се нуждаем от списък. Имате нова директория. И вие можете да кажете, че това е директория на вашия уред защото тя има този цвят, нали? Така че това е като синкав лилаво или нещо такова. Така че нека да се промени. Нека променим директория. Нека да отидем в directory-- Да, какво има? STUDENT: Има ли списък на всички тези [недоловим] онлайн? JASON Hirschhorn: Да, аз ще сложа ги до on-- ще имаме пързалки. Тя ще бъде PDF. Ние ще ги направи за всички. Да, съжалявам, че е много команди. ако искаш да се забави, или се върна, или нещо подобно, Определено да ме уведомите. Това е много, за да абсорбира веднага. Какво се е случило? STUDENT: Мога ли да задам един потенциално глупав въпрос? JASON Hirschhorn: Няма не глупави въпроси. STUDENT: Има. А директория е просто търсите на информация, където можете да го съхранява. JASON Hirschhorn: Да. STUDENT: Е, че по същество какво правиш? Така че, когато ние правим нещо, Здравей, свят или каквото и да, Той се съхранява в директорията, нали? JASON Hirschhorn: Да. STUDENT: Дали това важи и за всичко. Всичко се съхранява в директорията. JASON Hirschhorn: Да. Всеки път, когато го направи, каквото ви е текущата директория, това ще основно го съхранява в тази директория. STUDENT: И когато ние сме го нарече, ние сме го призовават от указателя. JASON Hirschhorn: Да, така директория е мястото, където ES. Така че това е нещо като, ако имате нова папка на вашия работен плот и след това да напишете текст файл, поставете го в тази папка, този файл е в тази папка. Това прави ли смисъл? Студентът: Да. JASON Hirschhorn: Да, какво има? STUDENT: Мога ли само да ви помоля да да го направи малко по-голям? JASON Hirschhorn: О, да. Извинете. Проекторът е толкова лошо. Имахме толкова много проблеми с това по-рано. Това ли е по-добре? Е, че твърде голям? Студентът: Не, не, не е така. JASON Hirschhorn: Не, това не е така. Дали е твърде малък? Какво се е случило? STUDENT: Съжалявам, какво е командата за изчистване? JASON Hirschhorn: О, ясно. Ако искате да изтриете, просто въведете ясно. ясно влезе. На последния уред, това, което в общи линии е така, това не изчисти вашата информация, тя просто вид смени всичко надолу един екран. Така че, ако сте въвели clear-- за Например нека да кажа, че съм превъртане нагоре. Мога да се придвижите нагоре. Това е всичко, което съм направил. Но ако напишете ясни, а след това I превъртете нагоре, ето моите неща. Така че не го е изтриване, това е просто основно ви дава нова рамка. STUDENT: Как да направите [Недоловим] директория? JASON Hirschhorn: Ще отида там. [Смях] Намалете си поименно. Добре. ОК, така, така че ние сме в указател точно сега. Така Давид, мисля, че в лекция той направи някои готини неща. Така че нека да се напише програма. Така че можете да направите това по- редица различни начини. Можете да използвате всякакъв вид на текстов редактор. Можете да използвате Nano, вие да използвате Vim, Emacs. Това са малко по-сложно. Или можете да използвате нещо в И ето, че се нарича Gedit. Извинете. Gedit не е щастлив. Така Gedit е основно просто текстов редактор. Точно както аз текст редактиране дума процесор или нещо подобно. Така че има хубава интерфейс, точно като тази. Така че направи нещо подобно. Така че всъщност нека го даде име, защото никога не съм направил това. Така че това, което искаш да Името на нашата първа програма? Това е просто ще кажа здрасти. STUDENT: [недоловим]. JASON Hirschhorn: Вие липсва въображение. OK, Gedit. Здравейте. Отивам да направя .txt. ОК, така че ето го. Така че нека да се напише програма. Така че аз мисля, че сте видяли това в лекция. Имате нужда от основна функция. Буут. Така че това е само една основна функция. Bigger? Да, съжалявам. ОК, така че се нуждаят от основна функция. Мисля, че съм скачане пистолета малко, но никога не е лошо да се използвани за този вид неща. Така че една основна функция, всяка C програма сте щях да пиша за останалата част на този Разбира се, ще има основна функция. Знае ли някой защо? Какво се е случило? STUDENT: Старт. JASON Hirschhorn: Точно така, така че казва своята програма от къде да започна. Така че, ако не разполагате с основна функция, и събиране на тази и такива неща, това няма да се знае е трябвало да започне. Главна винаги, когато тя започва. Така че имате основна функция, и след това Някой да си спомня как да печатате? STUDENT: ФОРМАТ. JASON Hirschhorn: Да, ФОРМАТ. ФОРМАТ здрасти. OK, сега са създали вие нагоре да се провали, но това ще се събират. STUDENT: No. JASON Hirschhorn: Защо? Има няколко причини за това. Разбира се. STUDENT: То не трябва стандарт [недоловим]. JASON Hirschhorn: Perfect. И така, какво е това извика тук? STUDENT: [недоловим] JASON Hirschhorn: Това е заглавния файл, нали? Това е файл с глава. А ти си точно така. И двамата са прави. Така че да включва това, аз просто правя килограм включва стандартния вход изход .h. Am I добре да тръгвам сега? Дали това ще се съберат? STUDENT: No. JASON Hirschhorn: Защо не? STUDENT: Това е [недоловим] текст. JASON Hirschhorn: Да, страхотно. Така че просто го направи. Така че аз го спаси, но Gedit hi.txt. Така че сега, ако го направя ли, ето го. Точно тук. О, това не е в страхотно. Трябва да съм излязъл. О, перфектно. Как да сложим това страхотно? Така че аз не го искам тук, в моя дом директория с всичко останало. Искам да го постави в папката. Как мога да направя това? Не е твърде трудно. Премести. Така че ние вече сме научили ли, списък. CD, за да промените директории. CD точка точка до бум от директории. А сега отиваме да започне да се движи около файлове. Така че да се движи само движат hi.txt и Отивам да го поставите в страхотно. Просто бъдете внимателни. Когато пишете в командния ред, всичко има значение. Така главни въпроси. Ако бях направил малки букви а, това е Няма да знам какво се случва. Така че всичко има значение да бъдат много специфични. Така тичайте, че LS. Тя вече не е тук. Нека променим директория в страхотно. LS. Boom, че е там. И някой спомена защо това няма да се съберат. Защо няма да се събират отново? Така ли? STUDENT: Не е в .c. JASON Hirschhorn: Perfect. Това не е .c, S, така че как съм няма да го преименувате на .c? Какво е един лесен начин да го направя? Да използвате командата ние просто го направих. Така че ние просто ще премести hi.txt да hi.c. LS hi.c. И след това просто за забавление, нека просто скочи в този бързо. hi.c. Ще забележите, че това е хубаво и колоритен. Така че това са просто вид полезно цветове, когато сте програмиране. Така INT и празнотата, това са типове данни. Ние ще отидем над тези в секунда. Hi е низ. Но полезни цветове. Така че, ако някога случайно изберете грешен разширение, трябва да имате тези цветове. Какво се е случило? STUDENT: Как мога да копирате в подаде [недоловим] в друг файл? JASON Hirschhorn: О, аз съм Ще ви покажа, че прекалено. Така копие премахнете са на подсъдимата скамейка. Нека да направим това. Уверете се, че тя работи. Направете здрасти. Works, пуснете го. Така ./hi страхотно. Това е първата ви програма. Нека да го направи по-голям. Така че наистина good-- Да, какво има? STUDENT: Защо ще го бъде че когато аз се Gedit, тя не ми даде друг линия за Gedit hi.txt? Тя просто поставя курсора на линия. Студентът: Да. The [недоловим]. JASON Hirschhorn: Чакай, така казват, че отново. STUDENT: Когато въведете GEdit г. за първи път, първата line-- JASON Hirschhorn: Up там на върха? STUDENT: Има не J Харвард уред, и курсора е само по пътя на ляво. JASON Hirschhorn: All Между другото в ляво? Студентът: Да. Има ли някой друг има това? JASON Hirschhorn: О, добре J Харвард е точно като потребителско име. Така че това е просто стандартната потребителско име. STUDENT: Той спира да отговаря. JASON Hirschhorn: О, то престава да реагира. ОК, така че това, което трябва да направите, е да трябва да се затвори от текстовия редактор. Толкова близо от текстовия редактор, и тя трябва да се върне. Така е Gedit отворена на вашия уред точно сега? Ако излезете от нея, тя трябва да се върне и трябва да бъде добре да тръгвам. Знаете, че работата? STUDENT: Значи сте използвали командата Gedit да open-- JASON Hirschhorn: Не, първо Gedit команда беше грешка. Първата команда Gedit, Да правя Gedit hi.txt. Така че аз му се даде име, така Gedit hi.txt. hi.txt е името на файла. Първият от тях е просто грешка, а след това Аз бързо затваряне на програмата. Така че въпросът е ако го направя Gedit, аз не съм ще бъде в състояние наистина да се направи нищо друго в моя команден ред докато не се затвори, че Gedit, така че мисля, че е това, което се блъсна в. Затова затворете Gedit. Той ще се върне от това програма, и след това ще да е в състояние действително да напишете в командния ред отново. Добре ли е това? Dope. Така че просто се уверете, за да затворите него, ако се сблъскате с проблеми. ОК, така че е наистина добър въпрос секунда преди копираше. Така че сега съм hi.c. Но нека да кажа, че искам да го променя. Искам тя да бъде малко по-добре. Искам да кажа здрасти клас. Но искам да запазя този шаблон. Не трябва да се пренапише цялата програма отново. Искам да запазя шаблона. Как да копирам? Easy. Така ср hi.c newhi.c. Сега имам две. И тогава може да се отвори newhi.c, и вместо просто казвам здрасти, Аз ще кажа здрасти клас! Така че аз ще се върна. Излез навън. Върни се в моя команден ред. LS правят newhi. Пусни го. Има. Това е по-добре, много по-добре. Така че, ако искате да копирате нещо, лесно, колкото това. ПС е копие. Така че сме преминали над движещ се, вземане на директории, копиране. Нека да видим какво още трябва да премине? О, да. Нека да отидем над това. Така че това е страхотно. Да кажем, че аз исках to-- О, чакайте. Отивам да се върне в страхотно. Да кажем, че аз не искам тези файлове тук. Да кажем, че аз ги искам в нова указател като в директорията страхотно. Искам да започнат да организират, така че сега аз отивам да имаме нова директория, наречена Здравейте. Тя има всички програми Пиша нарича хай. И така, как да го направим? STUDENT: Промяна директория. JASON Hirschhorn: Да. Здравейте. Буут. защитен режим hi_dir. Той се оплака, защото аз вече имаше здрасти тук. Така че сега имам хай директория. Така че сега искам да се движат всичко, всички програми, които съм написал, Искам да ги преместите в директорията здрасти. Само чист неща нагоре. Как мога да направя това? STUDENT: [недоловим]. JASON Hirschhorn: Преместването, нали? Така че нека да се движат. Така ли? STUDENT: Каква е разликата между Здравейте и hi.c, че ние вече имаме. JASON Hirschhorn: О, hi.c е действителното. Така че това е файла, който сте записали. Така че, ако ви се ще да го отворите в Gedit или Nano, това е това, което пише вътре. Когато го съставят, а след това можете да получите един изпълним файл. Това е хай. Така че, ако ви се отвори Здравейте, че ще да бъде един куп глупости за вас. Това е в общи линии ще бъде куп компютърни инструкции. Какво се е случило? STUDENT: Какво всички цветове означават? Синьото е вероятно директория. Какво е жълт? JASON Hirschhorn: Тези, са изпълними файлове. Така че, когато аз го направи hi.c, тя даде me-- така че мога да го направя. Скачането на пистолета. Така премахнете хай да. Тогава нека направим ли. Аз нямам хай вече. Така че, когато правите, това е, когато вземете програмата, която сте записали и вие да направите изпълним файл. Така че hi.c-- добре, направи здрасти. Мисля, че той премина през това в лекция. Това са куп инструкции компилатор. Така че, вместо да се налага да всъщност напиши звън с всички тях. Това са знамена. Вие просто напишете направи. Така че това прави изпълними файлове. Така че, когато правиш ли, сега имате здрасти. Така че това е, което сте Ще действително работи. И така, когато стартирате, че по този ./hi, и го стартира вашата програма. Но ако се опитам да направя това с hi.c, не, това е няма да работят. Да, прави, че да има смисъл? STUDENT: Мм-хм. JASON Hirschhorn: Cool. Чакай, аз исках да кажа нещо друго. Просто много бързо, в случай, някой се интересува, когато скочи на директория, това е точка точка. Дали някой има представа за какво може би само на единични точкови средства? STUDENT: [недоловим]. JASON Hirschhorn: Това е всъщност текущата директория. Така че това е текущата директория. Така че аз съм тук. Аз съм в страхотно. Ако го направя CD точка, тя не прави нищо. Това ме отвежда до сегашната си директория. Така че малко излишно, но трябва да направи това, така че ./ си име на програма, , за да стартирате програма, което трябва да направите това. OK. STUDENT: Ако го направите CD точка точка точка обаче много точки ще го просто да ви отнеме че много директории? JASON Hirschhorn: Искаш да кажеш, като CD разпръснати точка точка точка? Студентът: Да. JASON Hirschhorn: No. Така че всъщност Помниш ли е -L ли? Ако правя нещо друго, мога да -а LS. И така, какво казва е -а ви показва всичко. Така че ви показва неща, които са скрити и неща, които не са скрити. Така че, ако забележите, че когато го направих само ли, аз просто видях тези неща, неща съм направил. Ако -а направи, това ще да ми покаже всичко. И така текущата директория, директория над него. Това прави ли смисъл? Така ли? STUDENT: Но тези, които не са всъщност в директорията. В текущата директория, не е само по себе си, така че защо да се покаже на тези с точки вътре? JASON Hirschhorn: Искаш да кажеш, че е като това не е в указателя. STUDENT: Точно така. Така че ние имаме списък на нещата, които са в директория. JASON Hirschhorn: Мисля, че то е в указателя. Подобно -а показва всичко, дори и ако е скрит вътре в указателя. Така че аз мисля, че това е просто път към текущата директория, ако това има смисъл. Това е малко рекурсивно. Това е като Inception. Какво се е случило? STUDENT: Значи ти каза -a показва [недоловим]? JASON Hirschhorn: -а, да. STUDENT: Какво го прави [недоловим]? JASON Hirschhorn: Ами, например, нека се върнем на върха. Това е обикновено нещата, които не трябва да се забъркваш с и не е нужно да се притеснявате за. Така че това е един вид на дома. Ако правя -а, получавам тона неща. Всички тези неща. И не е нужно да се забъркваш с някое от тези неща. Определено не тръгват тук и просто премахнете неща. [Смях] Да, това е малко по- удобни неща, но това е добре да се знае. Мисля, че е добре да се знае. Но ако никога не искате да напишете -а в целостта на този курс, просто го забрави. Какво се е случило? STUDENT: Какво е най-LS-л? JASON Hirschhorn: Това показва разрешения. По принцип можете да използвате, че за разрешения, така -l. Тя ви показва малко малко повече информация но отново това е малко малко по-удобни неща. Това са само разрешения. Така разрешенията на папките. Така че просто за пример, нека да кажа, че направи папка, така че г представлява директория. Така че тези, които са директории. И след това се чете, да пише, да изпълни. Така че тези, които са разрешения за Мисля, че потребител, група, свят. Totally отива твърде далеч. Вие ще отидете в тази като седмици от сега, но просто за да знаете, това са разрешения. Какво се е случило? STUDENT: Можете ли ясно, отколкото просто преминете към следващото нещо, може да you-- JASON Hirschhorn: Можете означава всъщност да изтриете? Не знам. Аз никога не правя това. Защо ще искате да направите това? Защо го направи? Аз го харесвам. Ти живееш на ръба. Ти си като аз не искам нищо от това. Това е интензивен. STUDENT: [недоловим]. JASON Hirschhorn: Да, ние можем да направим това. Съжаляваме, каша с размера е напълно ме възбуждате точно сега. Нека да вървим напред. Да, така че сега не мога да отида повече. Така че всичко, което съм научил ви е отишъл завинаги. Благодаря. Ние направихме нашите директории. Ние направихме нашите файлове и подобни неща това, така че ние все още имаме всички тези неща. Добре, аз ще отида бързо. Така че много бързо. Така че нека да кажа, че съм в страхотна. Да кажем, че аз исках да се движат всичко на новата директория защото аз просто искам да го организира, нали? И така, как да го правя. Премести. Ние ще използваме ход отново. Така че се движат hi.c. И какво можете да направите, е да започнете листинг неща, и последното нещо, което ви списък е когато то се случва да го преместите. Така че се движат hi.c, здравей newhi newhi.c, hi_dir. И така, тя се премести всичко в последното нещо, което споменах. Така че след това да промените директорията, hi_dir LS. Всичко е там. Така че е хубаво и по-организирани. ОК, нека да кажа, че мразя първоначалното ми здрасти програма. Искам да се отърва от него. Как мога да се отърва от него? Какво се е случило? STUDENT: [недоловим]. JASON Hirschhorn: Да кажем, че просто искате да премахнете програмата, така че просто здрасти. Не, ти си прав. Така че това е RM, но правиш RM здрасти. Това ще ви даде по-малко предупреждение. Той ще каже, сте сигурни, че искате да изтриете това, и да го направя. Ако не искате да бъдете подканени като че защото не е нужно време за предупреждения, извадете -f. Това е друг флаг. Това е като -l. Това е като -a. Това са само флаг ви даваме на тези команди. Така премахнете -f. -f е означава сила. Така го насилвайте. Аз не искам да бъдете подканени. Така премахнете -f. Нека да направим hi.c. Просто се отървах от него. Той не ми каза. Но нека да кажем, вместо съм направено с тази директория. Искам да се отървете от директория. Така че аз не махайте hi_dir. Не, че не работи. Не, така че няма да позволя ми премахнете директория. Дали някой има идея? STUDENT: Дали го премахнете реж? JASON Hirschhorn: Така се премахне по този начин? STUDENT: No. Само [недоловим]. JASON Hirschhorn: Не, точно сега, че няма здрасти. Има само hi_dir. Така че това е директорията. Така че всъщност това, което искате да направите, is-- О, имате ли идея? Виждам, като половината ръка. STUDENT: [недоловим]. JASON Hirschhorn: OK. STUDENT: [недоловим]. JASON Hirschhorn: OK. Така че, ако искате да премахнете директория, извадете -r. Това е рекурсивно. Така се премахне тази директория рекурсивно. Така че искам да отида в тази директория, премахне всичко в директорията, и след това да се отърве от указателя. И тогава аз ще Е, добре, защото аз не искам да ме подкани с предупреждения след това премахва всеки един файл. Така премахнете -rf hi_dir. Boom, го няма. Просто бъдете внимателни, когато използват това. Отивам да го използвате тук също. -rf страхотно. Той си отиде. Бъдете внимателни, когато използвате този начин. Ако използвате, че тук и напишете нещо по този начин, не винаги прави това. Това ще изтрие всичко на вашия уред, без изобщо да ви предупреждава. И аз съм правил това. Окачествяването проблем поставя в 4:00 AM, бях опитвайки се премахне проблемните определени директории, и аз го направих това. И аз бях като О, Боже мой. Не do-- аз се опитах да го откажете. Можете да се откажете. Command C само отменя всичко, но вече е изтрил като 75%. Така че аз го съсипа. И хората го правят. Всеки прави това. Не правете това, че този семестър. Това е гадно. Аз съм нервна, че го има тук. Отивам да го изтриете. [Смях] Можете ли да си представите? OK, въпроси. Да? STUDENT: Така че, ако ние правим всичко правиш тук, това ли е същото като просто отиваш в действителност Файл Запаметяване като [недоловим]. JASON Hirschhorn: О, искаш да кажеш чрез текстовия редактор. Студентът: Да. JASON Hirschhorn: Да това е така. Gedit е полезно. Така Gedit е много полезно. В този клас, можете да направите много неща през Gedit. Можете да запишете. Можете да преименувате. Можете да премествате файлове и други подобни неща, но просто вярно, когато отидете да 50-- и вие сте в 50-- 51, ако отидете в 61, това ще бъде вашия живот. Това е командния ред. Това е мястото, където можете да програмирате за останалата част от живота си, така че определено използвате Gedit, ако искаш. Определено е добър начин да започнете. За първи проблема определя, определено използване, но всеки от време на време опитайте да получите по-използван по-удобно с аргументи от командния ред. Но можете да, определено. Какво се е случило? STUDENT: Така че, когато искате да изтриете един от файловете, които сме направили, има два начина. [Недоловим]. Има ли начин, когато сте изтриване на директория да попитам за бързо, така че можете не свърши да ги изтрия? JASON Hirschhorn: RM-R. Така че, не го насилвайте. Така RM-R. Това ще да мине през рекурсивно изтриете всичко, да ви подкани след всичко, което ще ви побърка. Като че ли почти изключително направя RM -f и RM-RF, просто постоянно. Аз съм като аз нямам време. Аз съм зает човек. Добре, какво става? Да. STUDENT: Има ли връщане, или кофа за боклук, или нещо подобно? JASON Hirschhorn: No. [Смях] Аз можех да се върна и да си взема уред, който току-що изтрити, не. Не, не, не. Ако го направите RM, тя трябва да се отиде. Какво се е случило? STUDENT: Така че можете да [Недоловим] заедно. JASON Hirschhorn: Да, точно така. Така например, сте видели RM-RF. Да кажем, че искате да направи ли-la, той ми показва всичко, дори и скрита неща, с техните разрешения. STUDENT: Значи тогава г, на -r флаг, ако ние не разполагат с тази, ние не можем да изтриете директория, нали? JASON Hirschhorn: Точно така. STUDENT: Така, че казва, че искаме да се направи нещо с директория? Е, че какво означава това? JASON Hirschhorn: -r означава рекурсивно. Така директория ще има файлове в нея, нали? Така че това, което искате да направите, ви е искам да навлизам в тази директория, изтриете всичко, цялата файлове в тази директория, След това изскочи и изтриване действителната директория. Така -r означава рекурсивно, да го направя всички рекурсивно ако това има смисъл. Да. STUDENT: Така директории имат [Недоловим] и просто да го изтриете. Или искаш да still-- JASON Hirschhorn: Нека се опитаме. Така защитен режим празен. Извадете празна. Не. Студентът: Не, така че все още се нуждаят the-- JASON Hirschhorn: Да, винаги. Така -r, -rf, празен. Awesome. Повече въпроси? Мисля, че това е вашият катастрофа Разбира се, на командния ред неща. Всякакви въпроси, защото започваш да прескачат за типове данни, както и примки, и всички тези неща? Какво се е случило? STUDENT: Аз нямам CS50 показва като един от моите директории. Това нормално ли е? JASON Hirschhorn: О, да. Това е мое. Да, това е, когато ми решения на нещата си е. [Смях] Така че, да, това е абсолютно нормално. Мисля, че най-вероятно ще Просто трябва тези четири. Мисля, че може да е нормална. Да. Добре, още въпроси? Знам, че е супер бързо. Какво се е случило? STUDENT: Видях синьо зелен цвят. Какво е това? JASON Hirschhorn: Това означава, че директорията. STUDENT: И този син? JASON Hirschhorn: О, искаш да кажеш това синьозелено? STUDENT: No. JASON Hirschhorn: Това синьо-зелено? STUDENT: No. Когато listed-- JASON Hirschhorn: О. Подобно на това? STUDENT: Да, иконите. JASON Hirschhorn: О, това. Не знам. Какво означава това? Така че тя изглежда да е сочи към директория. STUDENT: Това почти прилича на псевдоним. JASON Hirschhorn: Това може да бъде. Не е нужно да знаете това. Повече въпроси? Awesome. Ако имате някакви въпроси, Знам, че е много. Много от тази информация ще бъде на линия. Ще го онлайн за вас, момчета. Раздел Б ще бъде на линия, както добре. Или, ако имате въпроси, просто дойде и ме попита. Заповядай. Така че сега Шарон и Хана ще отидем някои на логиката проблем зададете една. SHARON: О, Боже мой. Неприятности. Хана: В същото време, аз съм Хана. Това е Sharon. И двамата сме CS50 TFS, и ние ще ви дадем малко интро на няколко важни неща за проблем задават една. Всичко от типове данни към условностите за за цикли. Loops цяло. SHARON: И в края на краищата, ние ще разгледаме най-P зададете една, и това, което трябва да знаете за него. Така че нека да започнем с типове данни. Вие, момчета, трябва да бъдат запознати с такива, които са оцветени в синьо. Така че можем да започнем с цели числа. цели числа са числа, така че една, две, три, четири. поплавъци, плаващ точки. Подобно на числа с десетични дроби, така че 5.2 или дори 5.0. Герой са символи като A, B, C. И низ, вие всички знаете. Подобно CS50 или здравей и свят. Булев е Boolean, така че ние имаме вярно и невярно като наш Булева. Така че, ако нещо се изчислява на truth-- 5 е равно на 5, която изчислява да е вярно, и ако имаме 5 равнява на 4, това е невярно, така че да се изчислява фалшива. И тук ние сме свързания размер на всички тези типове данни. И вие ще трябва да знаете това за вашите викторини, така че това може да бъде полезно да се помня, но ние ще ги публикуваме. Всъщност те са вече публикувани. Така че трябва да сте запознати с тези, оцветени в синьо. JASON Hirschhorn: Real бързо, точно в теб случай Искам да знам разликата между Чар и низ. Така че, когато пишеш неща, всеки път, когато имате нещо като "здрасти" че ще бъде низ. Така че, ако има две кавички, това е низ. Но ако бях на мястото на "з" така, че е низ. Но ако имам само един цитат, това е знак. И така, какво е най- разлика може да попитам. Е, разликата е това е един байт от паметта. Това е 4 байта памет. SHARON: плува? Опиши го отново? OK, това е нещо като номер че има десетична запетая с него, така че 5.2 или дори 5.0 е с плаваща запетая срещу само 5 е инт. STUDENT: [недоловим]. SHARON: О, това може да има много десетични точки, толкова 5.675 до 3.1415. Да? STUDENT: Трябва ли да знам всички размери за това? SHARON: Да. STUDENT: [недоловим]. SHARON: Не се притеснявайте за на белите, просто все още. Хана: Бележките са публикувал в CS50.net/sections. STUDENT: Просто от любопитство, има ли програма да знае размера на файловете, които сте обажда, така че ние трябва да го знаеш? SHARON: Така че това са типове данни, но да. Така че в този случай, кой ще заемат повече памет или по-голямо пространство? JASON Hirschhorn: Значи за конкретен пример, в Мисля проблем набор четири или пет години, ние сме Ще ви дам един куп на данни, както и вие основно трябва да преминават през тези данни. Така че това е полезно да се знае, че ако имате толкова много числа, че ще бъде това. Така че нека да кажа, че ти даде десет числа, какъв е размерът на това? STUDENT: 40. JASON Hirschhorn: 40 байта, нали. Така че може би трябва да се знае, че Добре, аз трябва да скочи 40 байта. Така че нека да кажем, че вместо това е 40 символа, then-- нека да кажа, че ви е дал 10 символа, тогава знаете, ОК, аз само трябва да скочи 10 байта. Така че това е много полезно да се знае размер на действителните типове данни, защото много пъти ще да скача около данните, така че трябва да се знае докъде да скочи. STUDENT: Каква е разликата между кавичките и един цитат? JASON Hirschhorn: OK, два цитата е низ. Един цитат е Чар. STUDENT: Подобно оперативно, каква е разликата? Двамата кажа здрасти. JASON Hirschhorn: О, съжалявам. Това е само час. За съжаление, това не е ясно. STUDENT: Така горната one-- JASON Hirschhorn: Това е низ, да. Така че това е два знака, нали? String, здрасти. Но нека да кажа, че току-що имаше един символ, ако сложа два цитата около само час, това е низ. Това е низ ч. Това прави ли смисъл? Така че това е четири байта. Но нека да кажа, че се отървах на, че само да поставите един. Един цитат. Това сега е Чар, Чар ч. Така че точно същото нещо, различен тип данни. Това е само един байт, докато низ е четири байта. Да. STUDENT: Така че, ако сте се опитвали да се съхранява дума, като Давид, вие ще искате да използвате низ защото независимо от това колко дълго е низ, това ще отнеме само четири байта освен ако не е дълго, дълго или двойно, в която case-- така че ако простира отвъд четири знака, след това Искате ли да го направите в низ. Е, че като цяло логиката. JASON Hirschhorn: Ако тя се простира отвъд един знак, че е низ. STUDENT: Така че няма [недоловим] за съхраняване на четири писмо Думата като четири индивидуални или трибуквен Думата като три отделни символи защото това ще бъде само три байта, за разлика от низ от три части. JASON Hirschhorn: Можете да направите това. Можете да направите това, но аз не правя Мисля, че е наистина полезно, защото сте само спестяване на един байт. Знаеш ли какво казвам? В голямата схема на нещата, че всъщност няма значение. Но например ФОРМАТ, ако печатате е и има три символа, можете да отпечатвате че out-- нека да ви кажа, C-A-T, можете да разпечатате котка само с прави един Чар един Чар един Чар, или може ли да отпечатате низ котка. Това е точно същото нещо. Така бихте могли да го правим така, but-- STUDENT: Това не се случва да ви спести много. JASON Hirschhorn: Да. Главоболието, че ще индуцира не си струва. Така ли? STUDENT: Например, имахте ч с една срещу две, единични или двойни кавички. Защо ще искате да запазите една буква като низ. Каква е целта, която някога служат? JASON Hirschhorn: Аз не знам. Искам да кажа, че наистина зависи от програмата. Например, аз мисля, че по-късно вие ще получите в командния ред неща. Така например, вместо да ме ви питам за integer-- съжалявам, мога да говоря в теб? Хана: Да. JASON Hirschhorn: Значи Например, вместо за да ме пита за нещо, с GET цел, която Мисля, че може би сте виждали лекция, може да има команден ред. Можете просто да го напишете в командния ред. Той ще бъде като - / hello4 или нещо, или helloh ч, независимо. Можете да го направите в командния ред вместо да се попита за него, че командния ред е винаги низ, независимо дали е четири или на един час, че винаги е низ. Така че това е един пример за това кога може да се има единствено писмо или единствено число брой представен като низ. SHARON: Добре. И след това тук са някои основни оператори. Надяваме се, че сте запознат с първите четири само като цяло. Така че там е добавяне, изваждане, умножение и делене, и се уверете, че използвате правилните клавиши. И тогава там също е по модул, които някои от вас може да не е много запознат. И това, което прави, е, че по модул ако вземем този пример 4% 2, отнема остатъка от какво прави в дивизия. Така 4, и разделен от 2 е 2, и няма остатък. 4 разделете на 3 е една и 1/3, и така остатък 1. Така изчислява една. И след това 4% 5 е малка 4/5, а останалата част е 4. Това прави ли смисъл? OK, хладно. И ние следваме PEMDAS тук. Така някои булеви изрази. Така че вие, момчета, сте видели равнява на равни за сравнение, да речем, две числа. Така че, ако 5 равнява се равнява на 5, която изчислява да е вярно. Уверете се, че имате само един знак за равенство. За не равни, това е взрив или удивителен знак. Хана: Две еднакви знаци когато правиш половете. SHARON: О, да. Уверете се, че не го правят има един знак за равенство. И тогава за не равни, това е взрив равни. И тогава можете да разгледате за по-малко от по-голям от. И тогава ние имаме логичен и и логично или тук. И какво прави, е, ако сетите в Scratch когато сте имали този блок че каза и, а след това биха могли да се поберат две различни парчета там, че това, което това и прави. И не забравяйте да направите две амперсанди. И този ключ можете да намерите към Добре, точно под бутон Delete. Въпрос? STUDENT: Каква беше [недоловим]? SHARON: ОК, така че ако имате само правя едно, вие сте сравняване бита. Така че, ако си спомняте какво бита са, те са 0 и 1, а така че е сравняването нещо друго. Така че ние ще се съсредоточи върху това за сега. JASON Hirschhorn: Така се равнява на една е като задача, нали? Така че като INT х равнява 4. Искаш да кажеш, че променливата х е равно на 4. Така че едно е равно е задача, но ANDS и тръбите или баровете, точно като Шарън каза, че те са побитови оператори. Не е нужно да се притеснявате за това. STUDENT: Когато използвате ли логично и и логически или отново? Просто забрави, когато правиш това. Хана: Разбира се, така че, ако някога искате да се провери дали двете неща са верни, Например, нека кажем, че искате да проверите че редица е между 5 и 15, Бих казал, уверете се, че броят им е по-голяма от 5. Така че нека да кажем, че ако х е по-голяма от 5 и по-малко от 15. Така че, за да може цялата тази отчет за оценка, за да е истина, имате нужда както от вида на под отчети да оценят истинското. Със или само трябва една от двете или и двете. STUDENT: Чудесно, благодаря ти. SHARON: А също и в Scratch, аз съм сигурен в много от вашите проекти сте имали, ако докосва ръба или ако докосва друг спрайт тогава скача или нещо подобно. Хана: Добре, така че защо да го правим се грижи за всички тези Booleans? Ние имаме тези структури, които сте вижда в Scratch нарича условностите. И условностите са нещо повече от този образува, ако някакво условие или някои Булева е вярно, след това направете кода между тези фигурни скоби. Така че можете да видите на правото тук е Scratch блок. Вие имате това, ако след това, и нищо които отиват в тази малка форма, която прилича this-- аз Не знам какво ще наричаме that-- че ще е Булев или състояние. Така че отново, булева или състояние е нищо че или се оцени като вярно или невярно. И отново, можете да комбинирате Booleans. Можете да имате, отново, х е по-голяма от 5 и х е по-малко от 15. Или пък може просто да има един на тези х е по-малко от 5. ОК, така че в C е в ляво. Това е просто дума, ако. В скоби, за състояние или Булев. И тогава кода в между тези две фигурни скоби само ще изпълнява, ще се проведе, само ако това условие или че Булев е вярно. Това прави ли смисъл? Awesome. OK. И след като ви може виждал в Scratch, ние също може да се добави на друго, което е основно нещо между на фигурни скоби по друг ще се изпълни само ако условието е невярно. Направете смисъл? Всички въпроси, свързани с тези две? Awesome. Cool. Така че ето един бърз пример. Да кажем, че искате да определя, в зависимост от времето, дали трябва да кажем добра сутрин или добър вечер. Аз ще кажа, ако тя е преди 12:00 часа на обяд, отиваме да кажа добро утро, иначе отиваме да кажа добър вечер. И когато казах, че в противен случай, това е еквивалент в C до това друго. Така че отиваме да проверите дали военно време е по-малко от 12:00, кажа добро утро. В противен случай се каже, добър вечер. STUDENT: Така че ние ще се получи в действителност, че вход за военно време с низ получите. Хана: Точно така. Знаете Някъде другаде щяхме всъщност трябва да предоставят тази информация. Точно тук има никаква стойност. Ние никога няма дори да го декларира. Предполагам, че някъде горе тази програма I обявява път или е поискала време, or-- нещо друго, с този пример? Awesome. OK, сега имаме в допълнение на тази проста, ако друг формат, имаме две различни други структури. Така че първо трябва ключа изявление, и тук е общата форма на изявление ключ. Имате дума превключите същия начин имате ключовата дума, ако. И тогава един вход, в този случай н. Така че това може да работи само с цели числа. Така че въвеждането на п има да бъде цяло число, OK? И ние ще следват един от тези случаи в зависимост от това, тази стойност е п. Така че в този случай, трябва първо сравни п е равно на един постоянен, ако е така, да направи всичко вид отстъп тук. Мога да посоча към него, защото аз съм твърде кратък. Ако това не е равно на постоянна един и вместо равно на постоянна две ние ще следваме тази втора блок, и ние можем да направим това за възможно най-много пъти както ние искаме, и след това, че по подразбиране е, ако не съвпадна с нито един от тези случаи, изпълнение на този код. Всякакви въпроси тук? Това е малко по-сложно. Така ли? STUDENT: Break означаваше какво? Хана: Разбира се, така че щом влезем този блок, ако открием, да кажем, ни п е фактически равна на един постоянен, влезем този блок след дебелото черво. Ние правим всичко, което е на тази линия на коментар, и след това се счупи, което означава, ще се измъкнем на този ключ изявление изцяло. STUDENT: OK. Хана: Мм-хм? STUDENT: Дали вдлъбнатината е необходимо, или да имате нужда от [недоловим]? Хана: Разбира се. Така че, както винаги, отстъп не е абсолютно необходимо. Компютърът не пука дали отстъп. Ние, като хора, които са четене кода си, направете грижи. Така че това е много по-лесно да се погледна към екрана и виж, о, аз знам точно какво се случва, когато п е равно на един постоянен. Ако имах случайни тире, I не ще бъде в състояние да каже толкова лесно. Така ли? STUDENT: Така че, ако иска потребителя да изберете една от опциите, които имаме в списъка, ще ние използваме, предполагам, [недоловим] но се получи число от тях и сложи това в п? Хана: Точно така. Така че нека да кажем, че ние искахме да се провери какво число. Ние казахме, о, въведете цяло число между 0 и 5, да речем. Ние може да поиска за това п, попитайте за тази стойност, и след това трябва всеки един от тези случаи. И отново, това е нещо, което би могло да много лесно да се направи, ако отчети, нали? Ние може да има, ако равна на главни и малки един, ако е равна на случаи, когато двама, ако равна на главни и малки три, така нататък и така нататък. Това е малко по-бързо и малко по-чист. Това е нещо просто хубава структура сега. STUDENT: По-бързо, както в писмен вид? Или пък да го стартирате компютър малко по-бързо? Хана: Тя работи малко по-бързо. Така ли? STUDENT: Така дубъл тире е просто коментар or-- Хана: О, аз съм толкова съжалявам. Аз не се отбележи, че от. OK, ако имате, че // е коментар. Просто // е коментар. Така всяко време компютъра вижда, че то се случва да кажа ОК, всичко, което следва това, аз съм просто ще игнорира. Отивам да се преструваш дори не е написал това. STUDENT: Така че това [недоловим]. Хана: Това прави абсолютно нищо. Но ако съм написал нещо, както на първи коментар написах вместо ФОРМАТ кажа поздравления, които сте въвели постоянно един, че ще бъде нещо. Така ли? STUDENT: Така че в реалния живот, случай просто ще бъде просто число и след това [недоловим] ще бъде друг число. Хана: Точно така. STUDENT: И ти трябва елипсите? Хана: Моля? STUDENT: Имате ли нужда от това? Хана: О, не. Съжалявам. Това е само за да покаже, че можете да отида на толкова много случаи, колкото искате. Нека да направим един конкретен пример, че може да направи нещата малко по-ясно. ОК, така че нека да кажем, че аз казвам, ОК, дай ми едно цяло число N който представлява брой клас, специално за компютърни науки клас номер. Така че, ако ми даде 50, Отивам да кажа страхотно. CS50 е въведение към компютър науката, а след това аз ще се счупят. Така че това означава, че скочи от Цялата тази декларация превключвател, така че сега аз съм направил работи кода, OK? Ако ти ми даде, а не 51, щях отпечатване на второто твърдение. И тогава, ако ти ми даде някои номер, който не е 50 или 51, Отивам да кажа, съжалявам, аз съм които не са запознати с този клас. Така ли? STUDENT: Вие не трябва почивка. Хана: Съжалявам, аз нямам почивка? STUDENT: Какво става, ако. Хана: О, какво ще стане ако не е нужно прекъсване? Отличен въпрос. И така, какво ще се случи, е че ще отида в, и ще се провери съм равна на 50? И нека да кажа, да, ти беше равен до 50, ще отпечата отчет. И тогава вие ще продължите да изпълняват така че бих казал, аз съм равна на 51? И вие ще отидете и да отидете през всеки случай като този? Да? STUDENT: Има линия по подразбиране аналогично да се каже друго? Хана: Точно така. Много добре. Това е като вида на улов всички. STUDENT: Така че, ако не сте имали почивка и тогава едно от изявленията на казуси е вярно, а след това каза увеличение н с 1, след това ще автоматично направи следващата. Той ще проверява случай 51 и след това показва, че, както и? Хана: Да, мисля, че ще работи. Така бихте могли да получите разхвърлян вид, така че почивка е хубаво да има. Така ли? STUDENT: Без почивка ще го направя по подразбиране? Хана: Това е добър въпрос. JASON Hirschhorn: Мисля, че той просто работи. Така че, ако не разполагат с break-- така нека да кажа, че направих 50 и го проверява 50, и тя ще отпечата, че навън. Разпечатайте CS50 като въведение за компютърни науки. Вие не трябва почивка, той трябва да върви и не спирай, докато го удари на почивка. Така че, ако има няма прекъсване, тя ще продължи да функционира. Това ще отпечата всичко останало. Хана: Така че аз предполагам, че ще е число по подразбиране. JASON Hirschhorn: Да. Хана: Добър въпрос. Така ли? STUDENT: Има случай се разглежда като функция? Хана: Аз съжалявам? STUDENT: Има случай се разглежда като функция? Хана: Има случай се разглежда като функция. Аз бих се поколебала да кажа, че. JASON Hirschhorn: Така че нормално когато видите функции те ще бъдат във фигурни скоби. Така например, когато се вгледате на вашия код, например, основната. Това беше главното отворени скоба, тогава невалидни, близо скоба. Functions-- те са основно винаги ще видите скоби. Така случай, ако случаят не някакви скоби, това е вашата представа, че това не е функция. Но това не е всичко. Така ли? STUDENT: Значи тогава прави това да превключвате функция? Хана: ли, че марки превключите функция. STUDENT: В смисъл, че сте поставили нещо, той ви дава един от случаите. JASON Hirschhorn: I Не бих го нарекъл функция. Не всичко с parens е функция. Искам да кажа, че е улика че е функция. Не бих казал, ключ е функция, тъй като това не е наистина връщане нищо. Ще получите в това повече. Хана: Да, просто мисля, на него като, ако структура. STUDENT: Може ли гнездо това в случай структура? Хана: Да, гнездо почти нищо. STUDENT: Бари каза кавичките са нещо като същият като друг. Така че, може да ви замени кавичките с друго? Хана: Не в този конкретен структура, защото ключа изявление се очаква думата подразбиране. Компютърът знае, че по подразбиране означава нещо по-специално, че означава улов на всички. Всичко друго по този въпрос. Имаме още един, за да се измъкне сам. Така ли? STUDENT: [недоловим]. Хана: Разлика между с помощта на точка и запетая и дебелото черво. Така че една запетая е винаги да разказват компютър съм направил с тази линия. Можете да отидете напред и да го изпълни. Това е пълна линия. А дебелото черво ще се, в този случай, ви донесе в даден блок. Така запетая са винаги се използва, за да сложи край на линии. Колони се използват за редица други случаи. STUDENT: Това ли е еквивалентно на просто казвам, ако п е равно на 50, а след това бла бла бла. Хана: Мм-хм. STUDENT: Това е просто една и съща [недоловим]. Хана: Точно така. И ние казахме, че работи малко по-бързо. Ако ние не разполагаме с почивката би било, ако, ако, ако. Ако имаме почивката, това е като, ако друго, ако друго, ако друго, ако. Cool? JASON Hirschhorn: Така че, когато кодиране, можете просто да използвате, ако друго, но мисля, че миналата година на викторина WE трябваше да ги напише декларация превключвател, така че просто за всеки случай. Хана: Но със сигурност нищо лошо в това. Ние не сме ви очаква да се притеснявате за изпълнение луди неща. Само ако друго е напълно наред. Това са само добро неща, за да бъдат наясно. И тук е последната ни една такава попада в обхвата на тази условна категория. Ние имаме нещо от общото състояние форма?, и след това малко парче код, който се случва, ако условието е вярно. И тогава на дебелото черво, малко част от код, който изпълнява, ако условието е невярна, точка и запетая. Ние сме готови с тази линия. Така синтактично това е малко по-грозна. Отиваме да мине през един Например аз мисля, че е най-ясно. Така че ние искаме да зададете Професорът низ една от тези две стойности, или David Malan или не David Malan, OK? Така че трябва да сте запознати с низа, професор =. Отиваме да зададете низ за професор по променлива, наречена. Сега искаме да проверите специално условие. В този случай, нашето състояние е class_num = = 50. И сега може да се окаже добър момент да се отбележи, когато имаме професор низ =, Това е един знак за равенство. Това е задача. Докато в class_num = = 50, който е на две равни знаци. Това е проверка на качеството. Така че отиваме да се каже, е число, равно на 50 клас? Ако е така, да възложат професор Дейвид Malan. Ако не, да възложат професор да не David Malan. Всякакви въпроси там? Отново, това е просто нещо, това е добре да се знае. Можете да направите това, ако друг. Един от проблемите, добри практики може да бъде, когато се прибера вкъщи, нали точно същата условно в случай друг вид, защото можете да направите това. Всякакви въпроси тук? Добре, мисля, че ние сме отивал към вериги. Awesome. SHARON: Добре, нека да поговорим около докато контури. Така за първи път на ляво виждате here-- OK, която казва, докато, докато (състояние). И тогава this-- направя можем да променим това? JASON Hirschhorn: Тя е отрязан. SHARON: OK, а след това има също са фигурни скоби. Така че се преструвам, че къдрава скоби са там горе и под направите това отново и отново. Така че, ако условието в тези скоби оценява да е вярно, тогава трябва да продължаваш да правиш каквото и да е в течение време. Така например, бихме могли направи проблем практика. Аз нося две обеци точно сега, така че нека да кажем, ако аз нося най-малко един слух, плеснете с ръце. Така че, ако ние ще отидем чрез това, ние сме going-- [Ръкопляскане] Така ли е? И аз нося един, and-- OK. Да. Аз не нося обеци повече, толкова повече. ОК, така че след това е, когато ти ще спре. И това може да се каже е еквивалентни на почти променливи. Да кажем, че имате променлив брой на обеци. Така че, докато броя на обеци е по-голяма от или равно на 1, пляскат с ръце. И тогава, след като пляскат ръце, декремент обеци. Харесвате ли обеци минус 1. Така намалите стъпково броя на обеци, и тогава вие ще отидете през примката, докато два пъти. И ако състоянието е винаги true-- така че, ако, да речем, 2 = = 2, и 2 винаги е равно на 2, нали? Тогава вие винаги ще направи нещо там, и това е еквивалентно на почти завинаги линия, която имахме в Scratch. Да? STUDENT: Прави ли двете страни само различни начини на писане на линия, докато? SHARON: Значи ние сме фокусирани по този въпрос на първо място. И след това нека сравни то с задачи, докато контур. Така че те са малко по-различен. ОК, така че нека да кажем, че състоянието е все още докато аз нося най-малко една обица, и аз не съм облечен всички обеци точно сега. И нека да кажем, правя и все още пляскат докато Аз нося най-малко една обица. Какво трябва да се случи? [Пляска] Ъъъ, момчета. ОК, така че би трябвало да пляскат веднъж, защото в общи линии ви мине през първата част от кода. Можете да го направите, без значение какво, и След това ще видите състоянието на време, и се върнете в че цикъл, ако това е вярно. Ли, че има смисъл? STUDENT: Винаги го направя за първи път. SHARON: Винаги го правя първо време, независимо дали или не това условие е вярно или не. JASON Hirschhorn: Когато правим мислите, че можете да използвате това? Когато има ли смисъл да се използва това? Хана: Да? STUDENT: [недоловим]. JASON Hirschhorn: Точно така. Хана: Много добро. JASON Hirschhorn: Значи когато ви подкани потребител, ти започваш да се винаги искат да подкани потребител един момент. Вие винаги ще искате да подтикне потребителя наведнъж. Така че, вместо да в линия, докато вие сложи в направи, докато линия, защото вие сте винаги ще го направя един път. Ако те ви даде правилен отговор, вие сте готови. Ако не го направят, тогава ще ги отново подкани. SHARON: Добре, за цикли. Така че в Scratch, имахме повторни блокове. Така че ние искахме да повторя нещо, да речем, седем пъти. Така че ние просто каза повторете седем, и кажа, че съм тук, за да ви помогне Snow White! В C, ние имаме за примки, ако ние искам да мине през нещо определен брой пъти. Да кажем, че ако ние се инициализира променливите джуджета и да направи така sure-- първия блок точно там преди първата точка и запетая, ние инициализира нашия променлива да, и ние го настройте на 0. И нашата променлива там е цяло число, Int. И името на променливата е джуджета, и сме си поставили джуджета до 0. И втората частта между две запетаи е нашето състояние. И така, докато джуджета е по-малко от седем ние ще продължаваме да преживява това за цикъл. И след това последната част е това, което правим правим в края на това за цикъл? джуджета ++, и това означава, че ние нарастване джуджета от един всеки път. И така, какво ще се случи тук? Така че първо отиваме да преминеш. Имаме джуджета като 0, и след това отиваме да отпечатате Аз съм тук, за да ви помогне Snow White! И тогава джуджета ще се увеличи, защото ние казахме джуджета ++. Джуджетата ще бъде 1. И тогава ние compare-- джуджета е 1. Ние го сравни с джуджета е по-малко от 7? Да. Отивам да мине през това отново. Аз съм тук, за да ви помогне Snow White! И тогава става джуджета 2, и след това да го сравним. Има две по-малко от 7? Да. Ние ще продължим да преживяваш. И ние ще отидем Чрез това седем пъти. Така че в края на краищата, ние ще има джуджета = 0 за печат, че съм тук, за да ви помогне Snow White! джуджета е равен на 1, 2, 3, 4, 5 и 6. Не забравяйте, ние индекс на 0. Така че ние започваме с 0. Да? STUDENT: Така че това е различен от Do тъй като това не се отпечатва от първоначално на първо време. Така бихте могли да продължат и също нещо. Можете ли да направите това и с верига да направя? Подобно на същия процес. Условието е джуджета по-малко от 7 или нещо такова. Отговор е по-малко от 7. SHARON: Така бихте могли технически. Така че, ако се върнем to-- си говорене за цикъла време, нали? Така че правя, докато линия е малко по-различен защото ние гарантираме най-малко веднъж, че ще мине през него, така че това е най-голямата разлика. Но с примката, докато можехме се каже, докато джуджетата е по-малко от 7, направите това, и след това нарастване джуджета по един. И тогава ние трябва да се инициализира джуджета пред цялото това изявление че тя е равна на 0. Така че, да, бихме могли да направим, че с това. Мм-хм? STUDENT: Може ли да се върнем към [недоловим]? SHARON: За цикъл? STUDENT: Да, това с джуджетата ++, Изглежда, че това е това, което правите, след като сте се завтече някои други средства. SHARON: Правилно. STUDENT: Бихте ли просто не трябва, че и да it-- SHARON: Вие може. STUDENT: Така е [недоловим] веднага след разпечатате в следващия ред отдолу. SHARON: Да, можете да го поставите там. Но тогава ще просто да напуснат тази празна. JASON Hirschhorn: Вие все още трябва полу дебелото черво все пак. SHARON: Това изглежда малко странно, но бихте могли технически да направи това. Технически. Моля, не. Да? STUDENT: Има ли алтернативи за ++? Има ли нещо друго [недоловим]? SHARON: Технически това, че е джуджета. Един знак за равенство отиваме да го настроите да джуджета плюс 1. Така че технически това е какво джуджета ++ средства. Това прави ли смисъл? STUDENT: Да, но се Има ли алтернативи? Например, ако сте ever-- SHARON: Да, бихте могли да направите джуджета - -. STUDENT: [недоловим]. SHARON: Да, бихте могли да направи множество неща. Хана: И вие може да увеличите с 2. Можете да увеличите от три. Всичко, което ще трябва да се променя, тя в крайна сметка ще направи състояние. STUDENT: Така че, ако искате да увеличите с 2, как ще ти пиша това? Хана: Вие може или да напишете dwarves-- можете да напишете цялото това нещо навън. джуджета = джуджета + 2. Или малко по стенография. Аз съм просто ще да пиша + е равна на 2. STUDENT: Добре, а вие ще напишете, че точно там, където джуджета ++ е там. Хана: Точно така. SHARON: Правилно. Имаше още един въпрос? Така ли? STUDENT: [недоловим] джуджета ++? SHARON: Значи don't-- JASON Hirschhorn: Да, не е нужно го има. [Недоловим] самия край. Така че правя [недоловим] такива, защото сте вид на разделяне на инициализация, състояние и промяната. В самия край, не се нуждаят от нея. SHARON: Също така можете да забележите не се нуждаят от точка и запетая след цялата за контур. STUDENT: Как бихте се започне с първоначален брой отрицателни, например? SHARON: Можете да се инициализира джуджета, равни на отрицателно 2. STUDENT: Смятате ли, просто се блъскам 2? SHARON: Да, така че отрицателен знак, тире 2. STUDENT: Дали това [недоловим], за да инициализира като джуджета [недоловим]? SHARON: Да. Така че, ако ние току-що инициализира джуджета по-рано, просто правя инт джуджета запетая, и тогава можем да направим джуджета, установени, че равен на 0. STUDENT: Можем ли да го направим по-рано програмата казва инт джуджета = 0, и след това just-- SHARON: Просто не have-- така ще има място отново, но вие все още ще се нуждаят от точка и запетая. Да. Мм-хм? STUDENT: Има ли този код да кажа какво стойността на джуджетата е след това. Ако го попитам, след като всичко това е направи, за да се отпечата стойността на джуджетата. SHARON: Можете да го помолите да направи това. STUDENT: OK. SHARON: Но вие ще трябва да го помолите да направи това. Той не го направи за вас. Страх ме е да си сложа обеци обратно. Направи го в края на аплодисментите. Просто се шегувам. JASON Hirschhorn: Така че това е един и същ. Така се инициализира на върха. Състояние, печат, промяна. Така че точно това е същото като че ако някой може да види това. STUDENT: Защо не имате точка и запетая на първа линия? SHARON: Къде? STUDENT: След първия ред. SHARON: След 4 в скоби? Защото искаме да отидем премине в този цикъл. И ако погледнете в примки в Като цяло, те не разполагат с точка и запетая. Това не е практично. Дали сме добри? Още един въпрос, още две. Така ли? STUDENT: Това може да бъде малко напреднали, но правят джуджета имат различен [недоловим] от стойността на променлива [недоловим]. SHARON: Много добро. STUDENT: [недоловим]. SHARON: Да, така е. Какво? JASON Hirschhorn: Да, така го прави. Така че обикновено в обхвата на нещо не е в къдрави скоби. Така обхват винаги ще да бъде в къдрави скоби, но това няма да направи много чувство за за линия защото ние инициализира джуджета в тази къдрава скоба. Така че обикновено в обхвата на джуджетата, че променлива няма да удължи покрай това. Това е специален случай, все пак. Така че можете да го инициализира в рамките на тези скоби, и след това имате обхвата по-късно. Така специален случай. Те не трябва да има, че и че was-- Това има смисъл? STUDENT: No. JASON Hirschhorn: Мога да отида над него. Така че това, което все още са объркани за това? STUDENT: Както и в можете да използвате dwarves-- ви очевидно може да използвате джуджета [недоловим] извън формулата прекалено? JASON Hirschhorn: Не, не. Така в обхвата на това е само в рамките на фигурни скоби за за контур, да. SHARON: Но ако се инициализира джуджета извън за линия, а след това можете да го използвате на друго място Има и още един въпрос? Не? OK. Така че ние говорихме малко за гнездене за вериги или гнездене условностите, ако отчети. Така че тук е един пример за това къде бихме могли гнездо за контур. Нека да кажем, че сме били печат тази таблица на х е точно тук. Ние може да искате to-- първо, ако ние просто не гледам на кода и ние просто мисля за това, ние искам да мине през всеки ред и отпечатване на всяка колона, нали? Това прави ли смисъл? OK. Така че тук ние отиваме чрез всеки ред за основно всеки ред, и има три реда. И след това в рамките на всеки ред за всяка колона, и там четири колони, отпечатате х. така. Когато ред е 0 и колона е 0, ние Разпечатайте х. И тогава ние продължавай чрез линия на колоната. Row е все още 0, но колона е един. И тогава колона е 2, и след това колоната е 3. И тогава ние се оттегляме от тази линия, защото тогава колона не по-малка от 4. И тогава ние отпечатате нов ред, и отиваме на новата линия. И тогава ние преминаваме през следващата ред, и ред получава увеличава, и ние преминаваме през това отново. Това прави ли смисъл? Да? STUDENT: Така че да гнездо [недоловим] е просто го поставя във вътрешността на за цикъл? SHARON: Така гнездене означава, че ние имат за линия в за линия, като Inception. STUDENT: Вие не се нуждаят от специален въртене или нещо? Можете просто да го държат се вътре в него? SHARON: Правилно. Да? STUDENT: Може да бъде [недоловим], но тя изглежда като има допълнително пространство между всички х-те години. Аз не знам дали that's-- Ако това са действително направи програмата, ще го направя нещо подобно? SHARON: Значи не. Това беше натиснете Enter. Това е лошо за нашата страна. Извинявам се. Хана: Как ще се промени това програма, ако сте направили един допълнителен ред? STUDENT: [недоловим]. SHARON: Добра работа. STUDENT: Можете също така да отпечатате същото нещо чрез превключване около колоната, нали? SHARON: Hm? STUDENT: Така че, за да отпечатате вашата малка ххх, на първа линия, може да се каже за печат, и вместо да каже ред, се казва колона. SHARON: Така че може да се промени имената на променливите, за да правят това. Е, че това, което казвате? Студентът: Не, аз съм просто казвайки that-- така сте печат първи редове и След отпечатване на колони. Можеш ли да отпечатате първо колони и след реда, за да получите същото схема? SHARON: Вие може, но След това ще трябва да бъдат внимателни за това къде ще ви постави на новата линия. И как ще скочи обратно? JASON Hirschhorn: Ако просто го включи и стойностите са различни, вместо да се налага four-- какво е това? Три от четири. Ти ще трябва четири реда и три колони. Това прави ли смисъл? Студентът: Да. JASON Hirschhorn: Значи Да, можете да направите това. Да, определено. SHARON: Но това ще бъде буквално смяна на имената на променливите. Добър? OK. Добре, P зададете една. ОК, така че първата част от него ще се прави това, Mario. Просто се шегувам. Това е по този начин. И така, когато ние просто погледна вложени за вериги, което прави, че на маса, мисля за това, как може да сте в състояние да отпечатате тези Hashtags по този начин. И тогава, точно тук, как бихте Разпечатайте точно тук, това отворено пространство. STUDENT: [недоловим]. SHARON: Да, просто отпечатате пространство. ОК, така че просто мисля за това. Хана: И тогава същите част от проблема зададете е програма, наречена greedy.c, така че вие ​​сте ще искам да мисля за условностите и като се уверите, че сте може да направи правилното промени. И едно малко предупреждение имаме за вас е да бъдете внимателни на стойности с плаваща запетая. Ако това означава, че абсолютно нищо за вас, тя ще бъде покрита с лекция тази седмица а също и в [недоловим] минете през, които вие ще се научат да Обичам на комплектите проблем. Едно нещо, което аз наистина предлагам, особено с Mario.c, когато правиш проблема настроен, ако можете да заседнат, започнете от него прави на хартия. Напиши го навън и всъщност седи там и се прави на компютъра, и отидете through-- кажа Бях на компютъра, как ще следя това за цикъл чрез? Как ще ми променливи в цикъл за промяна? Така че го прави на хартия го прави 10 пъти по-лесно когато отидете да седна пред компютъра. Така че просто ми е малко тапа. SHARON: И също така не мисля, че ти Трябва да кодира всичко наведнъж. Уверете се, че сте приели един повтарящ се процес. Имате малко, печат то вън, да видим какво ще се случи. Понякога е по-малко опити и грешки. И дойде в работно време. Супер забавно. JASON Hirschhorn: Така ли въпроси? Добре, момчета, че беше първата си точка. Хана: Благодаря, че дойдохте. JASON Hirschhorn: Благодаря за да дойде. SHARON: Благодаря ви. [Аплодисменти]