LUCAS Фрейташ: Добра, я думаю, цяпер мы ў прамым эфіры. Сардэчна запрашаем у CS50 Supersection. Мы менш камфортна. Мяне клічуць Лукас Фрейтас. Я адзін CS50 кіраўнік ТФ. Гэта Ларэн. Ларэн CARVALHO: Прывітанне, я Ларэн. Я таксама начальнік TF для CS50. LUCAS Фрейташ: Сёння мы толькі збіраемся даць агляд таго, што ўсё, што вы хлопцы даведаліся ў тыдзень адзін, мы спадзяемся, каб даць вам хлопцы добры пачуццё таго, што вы павінны ведаць, для задачы ўсталяваць адзін. Проста пару аб'явы. Перш за ўсё, у працоўны час. Гадзіны працы адбываюцца з панядзелка у чацвер у розных дамах у Анненберга кожны дзень. Яны вельмі добры рэсурс для вас хлопцы прыходзяць і задаюць пытанні, і пагаварыць з ТФ, і нават абмен ідэямі з іншымі студэнтамі. Так што не забудзьцеся выкарыстоўваць гэты рэсурс ў вашу карысць. Другое, што з'яўляецца CS50 Appliance. За апошні [неразборліва] вы, рабяты, не трэба на самай справе ёсць прыбор. Вы толькі што зрабілі ўсё, што ў ваш персанальны кампутар. Але для гэтай праблемы, у вас сапраўды ёсць мець віртуальную машыну, так таму і быць Абавязкова спампаваць CS50 І бытавой ўсталяваць яго. І трэці рэч абавязкова пачаць задачу, пастаўленую як мага хутчэй проста , Таму што гэта значна лягчэй знайсці дапамагчы, калі вы знаходзіцеся ў пачатку тыдня. Таму што людзі, як правіла, не чакаць, пакуль апошнюю секунду, каб пачаць набор праблем, а затым вы ідзяце ў працоўны час, і ёсць шмат людзей. Дзе, калі вы ідзяце ў панядзелак, вы збіраецеся бачыць, што вы можаце пагаварыць з ТФ ў значнай ступені на працягу цэлай ночы, і яны збіраюцца быць больш рады Вам дапамагчы. Ларэн CARVALHO: Ці магу я проста спыніцца Вы ўсяго за адну секунду? Няўжо ўсё змаглі спампаваць CS50 Appliance? Паспрабавалі людзі? LUCAS Фрейташ: Каб спампаваць, на чынам, вы можаце атрымаць інструкцыі па cs50.net/appliance. Ларэн CARVALHO: Дакладна. І для гэтага трэба некаторы час для нашага сістэмных адміністратараў, каб атрымаць вам ліцэнзію ключ, таму падпісацца на Бясплатная пробная версія да першую чаргу. Такім чынам, вы будзеце мець яго на працягу 30 дзён, а затым чакаць вашага ліцэнзійнага ключа якія павінны даць яму Вам на працягу года. LUCAS Фрейташ: Перш за ўсё, давайце трохі пагаворым аб CS50 Appliance. CS50 Appliance самай справе з'яўляецца віртуальным машына, што вы збіраецеся працаваць у вашым уласным кампутары, які з'яўляецца у асноўным працуеце ў іншы кампутар ўнутры свайго кампутара. Што даволі халаднавата. А на самай справе гэта ўсюды выкарыстоўваецца. Людзі, якія ў тэхналогіі будзе ведаць, што гэта выкарыстоўваецца ўвесь час. Вы? Можа мець некалькі кампутараў ў адным прыладзе. Давайце на самай справе зірнуць на Appliance. Калі вы ідзяце ў прыбор пасля Зарэгістраваўшыся, вы будзеце мець, каб паставіць сваё імя і ўвайсці ў Гарвард так што мы можам атрымаць вас усіх зарэгістраваных. Вы ўбачыце ў асноўным толькі шпалеры, а затым Дом і смецця, а потым гэтыя маленькія абразкі. Гэта тры абразкі на самай справе найбольш важныя рэчы, якія вы можаце мець у Ваш прыбор. Першы Gedit, які з'яўляецца тэкставым рэдактар, як Нататнік ці як любы від тэкставага рэдактара. Гэта проста тое, што мы выкарыстоўваем, каб напісаць Код, а затым рабіць такія рэчы з ім. Другое, што мы маем тут справа Chrome. Так што, калі вам трэба выкарыстоўваць Інтэрнэт у Appliance, гэта тое, што вы можаце выкарыстоўваць. І трэцяе гэта тэрмінал, які на самай справе вельмі мілы. Людзі звычайна з'яўляюцца свайго роду баіцца тэрмінал, таму што гэта гэта вельмі старамодны, у якой вы проста ў асноўным тыпу ўсё з Ваша клавіятура. Існуе не так шмат ўзаемадзеяння з дапамогай мышы. Але на самай справе тэрмінал робіць вельмі добрыя рэчы. Перш за ўсё, давайце проста прайсці некаторыя каманды, якія вы можна выкарыстоўваць у тэрмінале. Ларэн CARVALHO: І не саромейцеся, каб спыніць нам, калі ў вас ёсць якія-небудзь пытанні. LUCAS Фрейташ: Так. Такім чынам, першая каманда, што ў нас ёсць для тэрмінала з'яўляецца лс. лс ў асноўным азначае, спіс усё, усё файлы і ўсё дырэктара, што ў мяне ёсць у тым месцы, што я ў. Так што калі я раблю Ls тут, я збіраюся паглядзець што ў мяне ёсць некаторыя каталогі. У мяне ёсць працоўны стол, загрузку, часопісы, а таксама віртуальных даменаў. Такія ў сіні, таму што яны ўсе каталогі. Тады ў вас ёсць іншыя файлы. У вас ёсць, як прывітанне і hello.c, які толькі файлы, і яны знаходзяцца ў розных кветак. Так што гэта вельмі важная каманда проста Вы можаце бачыць, што гэта файлы і каталогі, якія вы павінны у каталогу, вы на ў тэрмінале. Калі вы бачыце jharvard @ прыбор і то маленькі знак там, Тыльда, гэта проста азначае, што гэта каталог, які вы ў дадзены момант. Ларэн CARVALHO: Так набраўшы Ls амаль як Націскаючы на ​​тэчку , Паказаны тут жа, у гэта паказвае Вы ўсё змесціва, якія у гэтай тэчцы. АЎДЫТОРЫЯ: Ёсць тэкст пасля hello.c? Ларэн CARVALHO: О, вы не можаце бачыць, што, таму што гэта сіні. LUCAS Фрейташ: Ён кажа часопісы і віртуальных даменаў. Ларэн CARVALHO: Гэта проста іншыя тэчкі. Мне вельмі шкада, што гэта сапраўды цяжка ўбачыць. Можа быць, калі мы выключылі святло? Колтон, вы хочаце, каб паспрабаваць знайсці выключальнік? На жаль пра гэта. Я не думаю пра гэта. LUCAS Фрейташ: Але гэта ў асноўным - ды, калі б вы маглі - Ларэн CARVALHO: Павялічыць экране. LUCAS Фрейташ: я не бок, гэтую функцыю. Ларэн CARVALHO: [неразборліва]. ОК. Ну, ёсць проста шмат прыроднага Святло ў гэтым пакоі, а таксама. LUCAS Фрейташ: Давайце проста выкажам здагадку, што Ёсць два іншых каталогаў там. Ларэн CARVALHO: Проста майце з намі. Гэта адзіная частка, што вы будзеце глядзець на тэрмінал. LUCAS Фрейташ: Наступны каманда у асноўным, можа быць, вы хочаце арганізаваць Вашы файлы - напрыклад, усе вашы файлы Сі ў адным Каталог-але ў вас няма каталог толькі для C файлы яшчэ. Вы можаце ў асноўным стварыць каталог з дапамогай тэрмінала, а таксама, што з'яўляецца тое ж самае, пстрыкнуўшы правай кнопкай мышы і кажучы Новая тэчка. Каманда стварыць каталог, які з'яўляецца MkDir, таму ў асноўным "зрабіць" і "Каталог". І тады вы можаце змясціць імя каталога. Давайце выкажам здагадку, што я хацеў бы назваць, Я не ведаю, скажам pset1 Робячы гэта, я проста стварыў каталог. Давайце проста праверыць, што яна ёсць. Так што калі я раблю Ls, цяпер я бачу, часопісы, і затым pset1, а затым віртуальных даменаў. Таму ў мяне ёсць новы каталог там. А потым, калі ў вас ёсць новы каталог, можа быць, вы хочаце, каб перайсці у яе, так што наступная каманда гэты дыск, якія проста ў асноўным сродкі ідуць на пэўны каталог. Так што калі я хачу паехаць у pset1, Я магу проста зрабіць кд pset1. Ларэн CARVALHO: кд выступае за змены Каталог, [неразборліва] ў стане памятаеце, што. LUCAS Фрейташ: А зараз вы бачыце, што а не проста маючы jharvard Прыбор, я jharvard прыбор, а затым pset1, таму што гэта паказвае мне, дзе я знаходжуся ў гэтым кампутары. Цяпер, калі я хачу вярнуцца да каталог, які быў перад гэтым, я можа зрабіць кд кропка кропка, якая проста азначае ісці ў каталог, што я быў раней, як бацькі гэта Каталог, у асноўным. І цяпер я бачу, што я да jharvard. Наступнае, што я магу зрабіць гэта з'яўляецца ГТ, што выдаліць файл. Напрыклад, давайце спачатку зрабіць Ls каб убачыць, што ў мяне тут. У мяне ёсць прывітанне і hello.c. Давайце выкажам здагадку, што я хачу, каб выдаліць іх. Я магу зрабіць ГТ прывітанне. Гэта будзе сказаць "выдаліць звычайны файл Прывітанне? "І я кажу" так ". І цяпер, калі я зрабіць Ls, я бачу, што гэта там больш няма. Калі я спрабую выкарыстоўваць ГТ для каталога, хоць, ён не збіраецца каб дазволіць Вам рабіць нічога. Гэта будзе сказаць, эй, вы не можа выдаліць каталог. Таму ў нас ёсць гэты іншы прыходзяць называецца выдаліць каталог, які толькі ў асноўным азначае, выдаліць каталог. Я магу, напрыклад, выдаліць pset1. А калі я Ls, я не яго больш. Ёсць пытанні па гэтай нагоды? Няма? Да? АЎДЫТОРЫЯ: Ці важна, каб вы пакінеце прастору пасля - калі вы пачніце ўводзіць нешта ў? LUCAS Фрейташ: Так. Калі я гэта зраблю, напрыклад, кампакт і каталог, Я павінен паставіць прабел. Што прастора ты кажаш? Ларэн CARVALHO: Прастора паміж кд і [неразборліва]. LUCAS Фрейташ: Так, вам прыйдзецца пакласці прасторы, таму што кд з'яўляецца Каманда, а затым на наступны радок, Вы набіраеце ў асноўным каталогу. Так што гэта як аргумент. Да? АЎДЫТОРЫЯ: Калі вы пералічыць, усе тыя, розныя каталогі, ці не так? LUCAS Фрейташ: Так, яны знаходзіцеся ў каталогу. АЎДЫТОРЫЯ: Што такое адрозненні сярод каталогаў? LUCAS Фрейташ: Яны проста розныя тэчкі. Каталог ўяўляе сабой тэчку на вашым кампутары. АЎДЫТОРЫЯ: Адкрыць тэчку. LUCAS Фрейташ: Так, гэта проста адкрыць тэчку. Ларэн Карвалью: тут, тыя, якія знаходзяцца ў сіні з'яўляюцца фактычнымі каталогі, якія можна атрымаць у і то ўбачыце кучу рэчаў, якія у тым, што, што з'яўляецца няўдалым таму што вы не можаце на самой справе чытаць тыя, сінім колерам. А тыя, у белым толькі файлы што знаходзяцца ў бягучым каталогу. LUCAS Фрейтас: Так каталогі гэта тэчкі. Іншыя з іх файлы. АЎДЫТОРЫЯ: Што каманда , Каб скінуць яго ці ачысціць яго? LUCAS Фрейташ: Каб ачысціць? Ларэн CARVALHO: Каб ачысціць? LUCAS Фрейташ: Я думаю, гэта "ясна". Так. Такім чынам, вы проста ўвядзіце ясна, калі ваш экран занадта брудна. Любыя іншыя пытанні? І вы даведаецеся кучу аднаго каманды проста натуральна падчас семестр, таму што яны вельмі карысныя. Так што цяпер давайце пагаворым аб складанні. Мы гаварылі пра псевдокоде і зыходны тэкст і аб'ектны код. І ёсць шмат кодаў, і, магчыма, вы, хлопцы, не ўпэўненыя, што. Давайце трохі пагаворым аб тым, што адбываецца, калі вы пішаце праграму, і вы скампіляваць яго, і ён становіцца выкананы файл. Гэта ўсё словы, што вы, хлопцы напэўна, чулі, і, магчыма, вы не сапраўды ўпэўнены, што адбываецца. Скажам, напрыклад, што я хачу напісаць праграму, якая кажа "прывітанне". Першае, што прыходзіць у галаву гэта вы, здаецца, імкнуся думаць пра тое, як вы збіраюся гэтага рабіць у сваім розуме, і Вы верагодна думаеце на англійскай ці нейкім іншым мовай, як натуральны мова, напэўна. І тады вы думаеце, добра, калі я хачу, напрыклад, напісаць праграму, якая кажа "прывітанне", я хацеў бы пачаць праграму, Я буду друкаваць прывітанне, а затым я буду выйсці з праграмы. Гэта псевдокод. Гэта проста ў асноўным вы спрабуеце прыдумаць паслядоўнасці падзей што вы збіраецеся рабіць, каб быць стане напісаць праграму. Тады ў вас ёсць зыходны код, і зыходны код не павінен у прыватнасці, быць у С. Мы гаворым аб зыходны код на C, таму што гэта мову мы вучымся, але, вядома Код можа быць амаль любы мова праграмавання, які ў вас ёсць. Пазней у той жа семестра, вы будзеце каб вывучаць іншыя мовы. Гэта таксама зыходны код. Напрыклад, тут, гэта мой крыніца Код, а затым я ў тым ліку бібліятэка, і тады я пачынаю Асноўны, а затым раздрукаваць. І Лора збіраецца пагаварыць трохі трохі пра ўсё гэта. Так што гэта зыходны код. І тое, што аб'ектны код? Аб'ект уяўляе сабой куча нулёў і тыя, у асноўным. Што адбываецца, вы першапачаткова маюць псевдокод, які ўсё на англійскай мове. І я маю на ўвазе, вы разумееце гэта. Магчыма вашыя сябры разумеюць гэта, і большасць людзей будзе зразумець ідэю. Але кампутары сапраўды нямы, і яны не разумеюць англійская мова, так што вы ўжо перавесці гэта ў нечым, звычайна перакладаецца у некаторыя мова праграмавання. І вы можаце думаць аб праграмаванні мова як накшталт як мовы што вы паведаміце свайго кампутара, як гаварыць і разумець. Вы ў асноўным нешта пісаў у мова, які вы абодва і ваш Кампутар зразумець. Вось зыходны код. Так адбываецца форма псевдокод да крыніцы Код, гэта залежыць ад вас. Гэта ў асноўным вы робіце вашу праграму. Але праблема ў тым, што кампутар не нават зразумець мову праграмавання. Гэта не разумее зыходны код на ўсіх. Гэта на самай справе проста разумее нулі і адзінкі. Таму ў нас ёсць гэты вельмі чароўны, што называецца кампілятар, які ў асноўным з'яўляецца збіраецца атрымаць крыніца называецца, што вам пісаў на мове, і вы, і ваш кампутар казаць, і цяпер вы збіраецца пераўтварэнне, якое ў нулі і адзінкі. Таму ў асноўным тое, што кампілятар робіць гэта ён атрымлівае зыходны код, у гэтым выпадку C, ён збіраецца ператварыць яго ў нулямі і тыя, што кампутар разумее і можа зрабіць выкананы файл з яго. Ці мае гэта сэнс? Вы можаце проста думаць аб кампілятарам як нейкая перакладчык, з'яўляецца дапамагаючы вам растлумачыць да кампутара менавіта тое, што ён павінен рабіць. Але як мне скампіляваць. Давайце вернемся да Appliance, і скажам, што я раблю гэтую праграму. Упершыню я збіраюся стварыць каталог тут, і я буду называць яго "Практыка". Цяпер я збіраюся арыентавацца ў каталог, так кд практыка. Цяпер я знаходжуся ў практыцы. Цяпер я хачу, каб пачаць Gedit, так як я магу гэта зрабіць? Я магу альбо націсніце тут, ці я магу проста літаральна увядзіце "Gedit," і гэта будзе , Каб адкрыць для мяне. Цяпер я збіраюся ўвесці сваю праграму, так менавіта тое, што я напісаў на слайдзе. Я абвяшчаю бібліятэка. Я раблю тап_п, пустэчу. І цяпер я раблю Printf, прывітанне. Цяпер я іду, каб выратаваць гэтага. Дазвольце мне прымяніць яе на практыцы, і Я буду называць гэтую hello.c. Так што цяпер ён захоўваецца. Калі я хачу, каб скампіляваць яго, я на самой справе можаце зрабіць гэта ў двух розных месцах. Я магу альбо зрабіць гэты ў акне тэрмінала, так што гэта вялікі, ці вы можаце выкарыстоўваць Gedit, што на самой справе мае акно тэрмінала прама тут. Так што вы можаце вельмі зручна проста зрабіць ваш код, а затым вы можаце проста ўвесці што тут, і паспрабаваць сабраць яго. Так як мне скампіляваць код? Самы просты спосаб, які ў нас ёсць, з дапамогай зрабіць, што гэта функцыя, якая у асноўным збіраецца кампіляцыі кода. Вы проста павінны сказаць, зрабіць прывітанне, так "Зрабіць" і назва праграмы. Ой. Гэта нязручна. Ларэн CARVALHO: Ці можаце вы [неразборліва]? LUCAS Фрейташ: Выбачайце. Я не захаваць яго ў Права каталог. Прыходзьце да практыкі, і ў цяперашні час захаваць яго як hello.c. Мне вельмі шкада. Цяпер яна захоўваецца. Дазвольце мне зрабіць Ls і быць упэўнены, што гэта тут. ОК, цяпер ён тут. Так што цяпер, калі я сапраўды робяць прывітанне, ён выплёўвае шмат матэрыялу, але тады гэта проста дае мяне іншая лінія для тэрмінала, які азначае, што яна была паспяховай. Так што цяпер, калі я зраблю Ls зноў, я на самой справе см. гэты файл у зялёны, які з'яўляецца выкананы файл. І потым, калі я хачу, каб запусціць яго, усё, што Я павінен зрабіць, гэта кропка слэш прывітанне. Гэта будзе павітацца прама тут, так гэта менавіта тое, што я прашу яго. Існуе яшчэ адзін спосаб складання, які з дапамогай ляск. Clang з'яўляецца толькі кампілятар, што ў нас ёсць, і гэта крыху больш шматслоўным, каб скампіляваць яго. Але гэта працуе так жа добра. Так што калі я раблю ляск, а затым-о, а затым імя, якое я хачу даць выкананы файл, так скажам "Прывітанне". А потым файл, які я хачу для кампіляцыі, hello.c. Ён таксама збіраецца скласці. І ў вас ёсць файл тут, і Я магу проста запусціць яго, а таксама. Такім чынам, абодва працуюць. Ці мае гэта сэнс? Ёсць пытанні? АЎДЫТОРЫЯ: Ці можаце вы павялічыць ў трохі? LUCAS Фрейташ: Выбачайце? АЎДЫТОРЫЯ: Павялічыць? Ларэн CARVALHO: Я думаю, што вам можна проста камандаваць плюс. LUCAS Фрейташ: Камандная што? Ларэн CARVALHO: Каманда плюс. LUCAS Фрейташ: Не. Ларэн CARVALHO: О, гэта не будзе працаваць, таму што - гэта таму, што мы ўсталяваць дазвол за гэтую справу. LUCAS Фрейташ: я не думаю, мы можам павялічыць цалі Так, мы не можам павялічыць. У вас ёсць яшчэ адно пытанне? Выбачайце. АЎДЫТОРЫЯ: Ці можаце вы паўтарыць ляск? LUCAS Фрейташ: ляск? Clang гэта тое ж самае, як марка, але Розніца ў тым, што спачатку я збіраюся напісаць звон, які з'яўляецца каманда, то я збіраюся зрабіць -0, усё, што з'яўляецца толькі тое, што мы збіраемся даведацца пазней у якасці сцяга. Так проста думаю, што вы заўсёды павінны паставіць-о. А потым першы, вы збіраецеся паставіць імя выкананага файла, у асноўным файл, які вы збіраецца стварыць. Таму я магу сказаць, напрыклад, Hello2 і то файл, што я хачу, каб скампіляваць, які з'яўляецца. з файл. Дык вось hello.c. Ці мае гэта сэнс? АЎДЫТОРЫЯ: Добры дзень што? Што гэта? LUCAS Фрейташ: hello.c. І калі я скампіляваць яго, і калі Я лс, у мяне таксама ёсць hello2, што я толькі што сабралі. І калі я спрабую запусціць яго, ён збіраецца зрабіць тое ж самае, што і прывітанне, проста надрукаваць прывітанне. АЎДЫТОРЫЯ: Чаму для маркі Вы можаце змясціць hello.c пасля? LUCAS Фрейташ: У маркам, вы не павінны паставіць. гр. У марках, вы проста кажаце Назва праграмы. Вы не павінны гаварыць. Гр. Але для ляскам, вы павінны. АЎДЫТОРЫЯ: З ляскам вы таксама павінны дадаць [неразборліва] Ларэн CARVALHO: Так. Такім чынам, вы таксама павінны бібліятэцы. LUCAS Фрейташ: Так, гэта тое, мы будзем выкарыстоўваць пазней. Гэта называецца звязванне, і я думаю, што мы будзем казаць пра гэта пазней. Іншае пытанне? АЎДЫТОРЫЯ: У Вас пакласці кропка слэш ляск? LUCAS Фрейташ: Не. Кропка слэш гэта ўсяго толькі адкрыць выкананы файл. Так ляск, вы проста напісаць "ляск", і то калі вы хочаце, каб адкрыць выкананы файл, які вы толькі што кампіляцыі, то вы кропка слэш і імя. Ці мае гэта сэнс? АЎДЫТОРЫЯ: Калі б вы былі проста змены [Неразборліва], каб прывітанне свет, вы неабходна паўторна скампіляваць яго? LUCAS Фрейташ: Так. калі я хачу сказаць, напрыклад, "прывітанне там ", я магу проста захаваць яго зараз, і я проста скампіляваць яго зноў. Такім чынам, дазвольце мне зрабіць марку прывітанне. А калі я прывітанне, гэта будзе сказаць "прывітанне там." Мае сэнс? Любыя іншыя пытанні? АЎДЫТОРЫЯ: У вас ёсць ўключыць стандарт ўводу / высновы для каардынацыі працы? LUCAS Фрейташ: Так. Стандартны ўвод / выснова ў асноўным бібліятэка, якая мае Рэалізацыя для Printf. Так што рэч прама на Верхняя частка ўключае STDIO. Гэта значыць, у тым ліку бібліятэку, якая у асноўным мае кучу розныя інструменты, якія можна выкарыстоўваць. адзін? З іх Е, якая з'яўляецца функцыяй , Што ў асноўным друкуе паведамленні на экране. Любыя іншыя пытанні? Няма? ОК. Так што цяпер давайце пагаворым аб - Ларэн CARVALHO: Давайце проста перайсці на стыль кіраўніцтва. Вы хочаце, каб проста знайсці яго тут? LUCAS Фрейташ: Такім чынам, мы збіраемся казаць аб стылі. Ларэн CARVALHO: О, Дэвід не скончыў. ОК. Чаму б нам не вярнуцца да стыль у самым канцы? Гэта на самай справе быў абноўлены як мы гаворым. LUCAS Фрейташ: Так. Давайце шлях для Дэвід скончыць гэта. Ларэн CARVALHO: Можа мы пераходзім фактычна? Так што я спадзяюся, што ўсё было атрымліваючы асалоду ад драпіна. На жаль, прыйшоў час адысці ад гэтага - на жаль, прыйшоў час, каб адысці ад гэтых сімпатычных блокаў праграмавання на С. Але, на шчасце, усё канструкцыі праграмавання, што ў Вас ёсць працуе з у пустым з'яўляюцца непасрэдна пераводзяцца на C, і мы збіраецца пачаць, каб даведацца пра некаторыя з іх прама цяпер. Давайце спачатку пагаворым аб умовах у лагічных выразах. Гэта працуе на рэзерв зарад батарэі. LUCAS Фрейташ: Як што не працуе? ОК. Вы ідзяце туды, я іду, каб атрымаць - Ларэн CARVALHO: Так ўмовы важныя, паколькі яны дазваляюць нам ўвесці логіку ў нашых праграмах. Вось прыклад стану у рамках праграмы C. Адзначым, як гэта - Дык гэта ўмова блок прама тут, гэта Е заява не будзе выконваць калі толькі ўмова ў круглыя ​​дужкі, п, большае за 0, ацэньваецца як ісціна. Цяпер усё, што ад умоў ўтрымання ў ф заявы лагічных выразаў, Гэта азначае, што існуе толькі два варыянты. Яны могуць альбо ацаніць, дакладна, або яны могуць ацаніць хлусня. Дык вось, так што гэта мае сэнс, ці не так? н большае за 0, значыць, гэта станоўчы лік, што азначае, што ён будзе друкаваць з "вы выбралі станоўчае лік." Ёсць шмат лагічных выразаў якая можа легчы ў стан з ініцыялізацыі заяве. У нас ёсць менш. Гэта менш, чым або роўна. Гэта проста смешна [неразборліва]. Калі вы хочаце Е адбыцца, калі гэта больш або роўна 0, то вы абралі б гэты. Такім чынам, роўная проста дадае права пасля таго, як больш, чым знак. Роўныя роўныя, які адрозніваецца ад толькі адзін знак роўнасці, роўных роўнымі на самай справе азначае, што ўсё, што знаходзіцца на Левая частка гэта тое ж самае, як што на правай баку гэтага дзе знак роўнасці ёсць што? Што з'яўляецца толькі адным знак роўнасці? Прызначэнне. LUCAS Фрейташ: Хто гэта сказаў? Гэта цукеркі? О, няма. Выбачайце. Выбачайце. Вы абодва атрымаеце цукерку. О, добра! Тры чалавекі атрымаць цукеркі! Ларэн CARVALHO: Так што гэта прама тут з'яўляецца аператарам выбуху папярэдніх знак роўнасці, так што гэта ня роўнае. Так што, калі гэта было ў маім стане, Цела ўмове б выконваць, толькі калі ўсё знаходзіцца ў левая не тое ж самае, як што справа. Я таксама можа мець толькі Клічнік. На самай справе, мы ўбачым у функцыі слізгаць, як гэта будзе выкарыстоўвацца. LUCAS Фрейташ: Ёсць пытанні? Няма? Ларэн CARVALHO: Мы можам аб'яднаць іх Лагічныя выразы пабудаваць яшчэ складаныя ўмоўныя аператары. Дык вось, калі ўсё, што на левым правая частка падвойных бараў або ўсё, што знаходзіцца на правай баку падвойныя бары ацэньваецца як ісціна, тады мы будзем раздрукоўваць несапраўдным. А потым тут, калі што б ні на левай баку два амперсанда і якія б ні былі на правай бокам з двух амперсанда ацэньваецца як ісціна, то мы раздрукаваць дзейнічае. Падвойныя бары называюцца лагічным АБО аператар падвойныя амперсанда з'яўляюцца называецца лагічны аператар. Да? АЎДЫТОРЫЯ: Ці з'яўляюцца тых, хто толькі ніжні рэгістр адзінкамі? Ларэн CARVALHO: Не. Яны на самай справе - вы ведаеце рэакцыю, як і вышэй вашага ключа Вярнуцца? Ці бачыце вы, што? LUCAS Фрейташ: На самай справе гэта бар. Ларэн CARVALHO: Гэта на самай справе ўсяго два бара. АЎДЫТОРЫЯ: Ці можаце вы выкарыстоўваць роўная роўная для радкоў? LUCAS Фрейташ: Не. Мы збіраемся, каб даведацца пазней нешта пра гэта. Ларэн CARVALHO: Там функцыя што вы можаце выкарыстоўваць. Але вы не павінны занепакоеныя тым, што толькі пакуль. Што рабіць, калі я даю гэтую праграму лік 5? Што будзе раздрукаваць? АЎДЫТОРЫЯ: [неразборліва] дзейнічае. Ларэн CARVALHO: Сапраўды? Так. Я не ведаю, хто зразумеў. [Смех] Ларэн CARVALHO: Гэта выгляд страшна [неразборліва]. АЎДЫТОРЫЯ: Так двойчы і, гэта проста азначае, і? Ларэн CARVALHO: Так. Так лік 5 з'яўляецца адначасова больш чым 0 і менш 100. Зала: А чаму б гэта было адзін? Ларэн CARVALHO: Адзін Ампэрсанд на самой справе нешта іншае, і гэта Аператар пабітава, якія вы будзеце даведацца крыху пазней. Але гэта тое, што на самай справе працуе з бітамі зададзенага ліку. LUCAS Фрейташ: Проста думаю, што яны не прыйдзецца турбавацца пра гэта цяпер. Ларэн CARVALHO: Я думаю, што гэта, верагодна, Далей у тыдзень. LUCAS Фрейташ: Любыя іншыя пытанні? Няма? Ларэн CARVALHO: Так мы бачылі, што гэта блакаваць можа стаяць адзін, але ён можа Таксама ў пары з і яшчэ блок. Такім чынам, у гэтым выпадку, калі п больш, чым 0, мы збіраемся, каб раздрукаваць "You узяў станоўчае лік. "яшчэ, гэта азначае, калі гэта 0 або, калі гэта менш ад 0, мы збіраемся, каб раздрукаваць, "Вы выбралі адмоўны лік." Цікава тут тое, што гэтыя з'яўляюцца эксклюзіўнымі адзін ад аднаго. Там ніколі не будзе выпадак у якім гэта і гэта можа як раздрукаваць. Я ўпэўнены, што вы працавалі з калі / іншае баксаваць ў пустым, так што гэта павінна быць даволі добра знаёмыя. Да? АЎДЫТОРЫЯ: Ці патрэбна нам прастора паміж Int N роўная GetInt то прастору ў калі заяву? Як мы выкарыстоўваем лінію [неразборліва] Ларэн CARVALHO: О, прастора тут? АЎДЫТОРЫЯ: Як гэта, але вы двойчы прастору. Не было, ісці ўверх. Паўстанце. LUCAS Фрейташ: Проста лінія? АЎДЫТОРЫЯ: Так. LUCAS Фрейташ: Проста пустая радок? АЎДЫТОРЫЯ: Так. Ларэн CARVALHO: Пустая радок? Няма. Вось толькі стылістычны рэч. LUCAS Фрейташ: Гэта як часам Вы проста прапусціць некалькі радкоў каля таго што код не падобны велізарны блок тэксту. Ларэн CARVALHO: Я думаю, што тое, што адбылося было тое, што ў нас быў каментар тут, але я Ён узяў яго, каб вы, хлопцы, прыйдзецца думаць пра код, а чым проста чытаць мой каментар. Увогуле, адлегласць не будзе сапраўды ўплываюць на тое, ваша праграма працуе. Гэта хутчэй стылістычны рэчы. І калі ў нас ёсць стыль кіраўніцтва абноўленую і гатовы да працы да канца supersection, мы пагаворым аб тым, што больш. Там нешта не так з гэтая праграма, ці не так? Таму 0 на самай справе не адмоўны лік. Такім чынам, давайце паглядзім, ці можам мы гэта выправіць. Вы, напэўна, можаце сабе ўявіць, з гэтым кажа, ці не так? Калі п большае за 0, мы друкуем, "Вы узяў станоўчае лік. "Тады яшчэ калі п менш 0, "Вы выбралі адмоўны лік. "яшчэ", Вы выбралі 0 ". Цяпер самае цікавае заключаецца ў тым, што гэта можа працягвацца вечна. Вы можаце мець, калі блок, у іншым месцы, калі блок, іншы іншае, калі блок, інакш, калі, яшчэ, калі, яшчэ, калі, яшчэ, у асноўным да тых часоў, як вы хочаце. І калі пабудаваны, як гэта, усе яны будзе эксклюзіўны адзін ад аднаго. Да? АЎДЫТОРЫЯ: Дык чаму вы не можаце проста выкарыстоўваць іншы, калі замест [неразборліва]? Ларэн CARVALHO: У гэтым выпадку, так, я маглі б выкарыстаць іншы, калі, і было б абсалютна нармальна, таму што ўмовы самі эксклюзіўны адзін ад аднаго. Але калі ўмовы не з'яўляюцца выключнымі адзін ад аднаго, то гэта прымусіць іх ніколі не як ацаніць, калі гэта мае сэнс. АЎДЫТОРЫЯ: У такім выпадку, мы маглі б гняздо другі, калі ў першым выпадку? Ларэн CARVALHO: Калі - што вы маеце на ўвазе? АЎДЫТОРЫЯ: Калі два ўмовы не з'яўляюцца ўзаемавыключальнымі? Ларэн CARVALHO: Калі ўмовы не з'яўляюцца ўзаемавыключальнымі? Але вы хочаце толькі адзін з іх бегчы? АЎДЫТОРЫЯ: Вы хочаце проста калі замест іншага. Ларэн CARVALHO: Так. Там заўсёды будзе шмат спосабаў, якія вы можаце зрабіць гэта. Вы можаце вызначана укладваць іх. І вы ўбачыце, у будучыні слайд, які вы можаце мець некалькі ўмоўнага ладу, толькі адзін за іншым. Але гэта спосаб лагічна арганізацыі паток вашай праграмы. LUCAS Фрейташ: І ёсць яшчэ адзін рэч, гэта тое, што вы спыталі аб памяшканні калі а потым яшчэ, калі. Гэта было б выдатна працаваць, але гэта дрэнна дызайн, таму што ў асноўным, калі вы праверыць, калі, і вы заўважыце, што лік, большае за 0, то можа проста скончыць праграму. Вы не павінны праверыць, калі гэта менш, чым 0, праўда? Але калі ў вас, калі, калі, ён збіраецца праверыць як, у той час як, калі я зраблю, калі яшчэ ёсць, ён збіраецца праверыць, калі гэта больш 0. Калі гэта так, гэта не будзе нават глядзець на іншых ліній кода. Так вы ў асноўным правяраючы яго як двойчы залішне, дык вось чаму мы рабіць, калі яшчэ, калі. Любыя іншыя пытанні? АЎДЫТОРЫЯ: Дык што функцыянальнасць у іншым месцы, калі такая ж, як калі гэта было проста, калі? Ларэн CARVALHO: Не. Вы на самой справе адбываецца, каб убачыць у мой наступны слізгаць прыклад, у якім ён можа адрознівацца. У гэтым выпадку, гэта амаль тое ж самае. Дык вось, у нас ёсць прыклад кратнага калі заявы, а таксама функцыянальнасць не тое ж самае як быццам я толькі што сказаў, што калі інакш, калі яшчэ, калі ў іншым месцы. Давайце проста думаць пра тое, будзе друкаваць , Калі я ўваходжу ў лік 95 у гэтай праграме. АЎДЫТОРЫЯ: [неразборліва] Ларэн CARVALHO: А потым? АЎДЫТОРЫЯ: [неразборліва] Ларэн CARVALHO: Так. Такім чынам, у гэтым выпадку гэтыя ўмовы не з'яўляюцца ўзаемавыключальнымі адзін ад аднаго. І таму, што нішто не перашкаджае гэта ўмова ад ацэнкі, калі гэта адзін ужо ёсць, яны проста ўсе збіраемся, каб раздрукаваць. Такім чынам, як я мог гэта выправіць? АЎДЫТОРЫЯ: астатняе ўмоўнага ладу? Ларэн CARVALHO: Вы можаце выкарыстоўваць іншым месцы ўмоўнага ладу. Я мог змяніць парадак з іх, ці не так? Калі б я зрабіў гэта адзін у першую чаргу? Ну, на самай справе, няма. Гэта не будзе працаваць на 95. LUCAS Фрейташ: Не, проста ў іншым месцы ўмоўнага ладу. Ларэн CARVALHO: астатняе ўмоўнага ладу б гэта выправіў. Ці значыць гэта, растлумачыць блытаніну паміж МСФ і яшчэ ўмоўнага ладу? АЎДЫТОРЫЯ: Я проста хацеў бы спытаць вас, калі ты выкарыстоўваць яшчэ, калі ён спыніцца? Ларэн CARVALHO: Дакладна. Такім чынам, толькі ў гэтым першым. Калі б я ўвайшоў у лік 95, толькі на гэты ніколі б раздрукаваць, і ён ніколі б прагрэсавала ў іншым месцы. LUCAS Фрейташ: Проста выгляд думаць гэта як калі б гэта адбылося, гэта зрабіць. Астатняе, калі б не, праверка для гэтага, а затым зрабіць гэта. Бо яны ўсё адно аднаго Эксклюзіўны. Вы не можаце атрымаць на два над тымі. АЎДЫТОРЫЯ: Ці можаце вы выкарыстоўваць лагічнае І для гэтай сітуацыі? Ларэн CARVALHO: Так. Гэта яшчэ адзін спосаб, што мы маглі б зафіксавалі гэтую праблему. Мы маглі б вызначыць вагаецца, ці не так? Так што я мог бы сказаць, калі п больш чым 90 і менш - ну, я думаю, гэта не робіць сапраўды мае значэння, але тут я мог бы сказаць, калі N больш, чым 80 і менш за 90. Больш за 70, менш за 80. Гэта было б таксама працаваў. [Смех] LUCAS Фрейташ: Яна баіцца. Ларэн CARVALHO: Не бойцеся. LUCAS Фрейташ: Гэта не што гэта будзе няправільна. Гэта проста, што гэта залішне шматслоўны. Як і ў інфарматыцы, варта быць як мага больш простым, пакуль ў вас ёсць функцыянальнасць. Вы хочаце, каб цукеркі? АЎДЫТОРЫЯ: не трэба. Ларэн CARVALHO: Ты палохаеш усё, Лукас. LUCAS Фрейташ: Выбачайце. Ларэн CARVALHO: Дэвід таксама адзначыў, гэтыя пераключэння заяву ў класе. У асноўным тое, што адбываецца гэта перамыкач заяву прымае зменную. У гэтым выпадку мы бярэм цэлае. Калі цэлае з'яўляецца 1, мы збіраемся раздрукаваць, "Ты абраў невялікі лік. "Калі цэлае з'яўляецца 1," Вы ўзяў сярэдні шэраг ". Калі Цэлае гэта 3, "Ты абраў высокая лік. "І я таксама меў справу па змаўчанні тут, але гэта не паказвае да, які занадта дрэнны. У асноўным, гэта проста іншы сінтаксіс. Мы маглі б рэалізаваць гэта дакладнае тое ж самае з тым, калі і яшчэ, калі заявы. Але калі ёсць шмат адрозніваецца ўмовы і шмат іншае варыяцыі на тое, што вы хочаце зрабіць для кожны ўваход, гэта варыянт. Так што гэта проста добры сінтаксіс ведаць. Да? АЎДЫТОРЫЯ: Чаму не зваротны слеш н у першым? Ларэн CARVALHO: Для там? Там няма касая рыса п там таму што GetInt - Калі вы паспрабуеце гэта, яно будзе даць вам гэтую радок. Дайце мне цэлы лік ад 1 да 3. І калі я паставіў зазору п, гэта было б ўзяць мяне на наступны радок, але я проста хацеў, каб яны увядзіце цэлае адразу пасля двукроп'я. Вы маглі б паставіць зазору н. Гэта не мае вялікага значэння. Да? АЎДЫТОРЫЯ: Для гэтага кода, гэта выпадак, то, што, паколькі гэта першы выпадак? Таму што - Ларэн CARVALHO: Не, не, не. Так што гэта дае мне цэлае ад 1 да 3. Калі п = 1, я друкую гэта. Калі б я папрасіў лістоў, я мог бы сказаў, дайце мне ліст паміж А і С. Затым гэта была б справа А. АЎДЫТОРЫЯ: [неразборліва]. Справа проста [неразборліва] Ларэн CARVALHO: Так, дакладна. Да? АЎДЫТОРЫЯ: Што рабіць, калі вы хочаце мець больш рэляцыйнай выразы? Такім чынам, замест таго, каб гаварыць п роўны 1, [неразборліва] н больш 1 у першым выпадку? Ларэн CARVALHO: На самай справе, калі я не вызначыць некаторыя з гэтых выпадкаў гэта будзе быць данесці. Так на самай справе, можа быць, гэта не што вы просіце. LUCAS Фрейташ: Я думаю, што яна просіць, калі справа была п больш, чым 0, выпадку менш 0. Ларэн CARVALHO: Можа быць перамыкач заява сапраўды не тое, што вы хочаце выкарыстоўваць у гэтым выпадку. LUCAS Фрейташ: Заява перамыкач толькі для кошту, так што вы праверка значэнне, як тое ці гэта. Такім чынам, вы не можаце на самой справе пакласці умоў. АЎДЫТОРЫЯ: Што рабіць, калі чалавек тыпы з [неразборліва]? Ларэн CARVALHO: Гэта было б мой выпадак змаўчанні, які, на жаль Вы не можаце бачыць. LUCAS Фрейташ: [неразборліва] прымусіць іх убачыць. Ларэн CARVALHO: На самай справе, вы ведаеце, што? Давайце проста пайсці вучыцца 50, і я буду проста павялічыць на слайдах па вывучэнні 50, таму што гэта проста раздражняе. Такім чынам, дазвольце мне на самай справе пайсці стане. Гэта проста будзе заняць некаторы час. Добра. Так, мне вельмі шкада. Па крайняй меры, цяпер мы будзем мець магчымасць бачыць усе без яго адрэзаўшы. Добра. Так што, калі яны паклалі ў 10, мы б па змаўчанні тут, каб маім выпадку па змаўчанні, і я проста надрукаваць несапраўдным, таму што я папрасіў іх ўвесці цэлы лік ад 1 да 3. Любыя іншыя пытанні? Да? АЎДЫТОРЫЯ: Скажам выпадку, калі адзін, выпадку тры, кажуць, што вы хацелі, каб ён усё тое ж самае, так што вы абралі шэраг гэта не сярэдні лік. У гэтым выпадку, было б залішнім? Не маглі б вы проста змяніць тэкст у абодва з іх, ці ж ёсць некаторыя надмернасць? Ці ёсць спосаб, каб аб'яднаць [Неразборліва]? Ларэн CARVALHO: Ёсць спосабы, каб аб'яднаць іх, але я веру, што можна толькі аб'ядноўваць суседнія іх. Так што, калі я нічога не вызначаюць для выпадку два, то гэта звярнуцца ў абодвух выпадках. О, калі б я нічога не паставіць для выпадку адзін, гэта будзе ставіцца да абодвух выпадак адзін і два. Калі гэта мае сэнс. АЎДЫТОРЫЯ: Ці можаце вы паўтарыць гэты адзін? LUCAS Фрейташ: ОК. Калі вы зрабілі ў прынцыпе, як, у вас ёсць тое ж самае, але вы не ставіце нічога тут, вы былі б альбо для выпадак адзін або выпадак два, зрабіць гэта. Ці не так? І гэты разрыў азначае, што калі вы атрымліваеце у гэтым выпадку, проста сысці. Дык вось што значыць тормаз. Так што, калі я толькі што зрабіў гэта, вы паглядзіце, гэта выпадак адзін, і вы б проста зрабіць гэта. Калі б гэта была справа двух, гэта было б таксама проста прыйсці сюды і зрабіць гэта. Залы: Але вы можаце зрабіць гэта? Калі ёсць што-то для Выпадак двух [неразборліва] Ларэн CARVALHO: Я не веру, Вы можаце зрабіць гэта. Я не думаю, што вы можаце прапусціць вакол. Вы можаце зрабіць гэта, Боб? Не думаю. АЎДЫТОРЫЯ: Так толькі адзін нумар можа пайсці пасля выпадку, ці не так? Там не можа быць выпадак адзін, коска, два? LUCAS Фрейташ: Не, вы не можаце. Вы, безумоўна, не можа. Ларэн CARVALHO: Я маю на ўвазе, справа ў тым, гэта варыянт, і гэта не магло б адпавядаць вашаму прэцэдэнт, так, то вы будзе выкарыстоўваць, калі ўмовы. АЎДЫТОРЫЯ: Так чаму б вам гэта зрабіць? Перамыкач? Ларэн CARVALHO: Я хацеў бы выкарыстаць гэта Калі ў вас вельмі вызначана - на самай справе, Лукас, гэта вы блакуеце. LUCAS Фрейташ: Ой, прабачце. Ларэн CARVALHO: Калі ў вас вельмі пэўныя мадэлі паводзінаў, якія вы хочаце для кожны ўваход, гэта можа быць трохі больш кароткім, чым выпісваючы калі заяву для кожнага з іх. АЎДЫТОРЫЯ: Пры чым тут перапынак азначае зноў? Ларэн CARVALHO: Перапынак азначае спыніць. Памятаеце, што калі ў мяне не было гэтага перапынку тут, мы б проста ўпаў ў наступным выпадку. LUCAS Фрейташ: Перапынак значыць атрымаць з перамыкача заяве. Таму што, калі гэта 1, я хачу раздрукаваць гэта і сысці. Я не хачу, каб праверыць што-небудзь яшчэ. АЎДЫТОРЫЯ: Вы не хочаце друкаваць што-небудзь яшчэ. LUCAS Фрейташ: Так. Таму што гэта ўзаемавыключальныя. АЎДЫТОРЫЯ: І робіць гэта толькі перайсці да наступнага выпадку, калі першы выпадак гэта не так? Ці гэта праверыць ўсе выпадкі у той жа час? LUCAS Фрейташ: Не, гэта правярае паслядоўна. Паслядоўна, так. Яшчэ адно пытанне, то мы павінны перайсці, каб мы маглі ахапіць усе. Да? АЎДЫТОРЫЯ: Так для выпадку, можа мець зрабіў нешта акрамя проста адзін? Не маглі б вы даць яму выбар? LUCAS Фрейташ: Не. Ларэн CARVALHO: Я не думаю, вы можаце даць яму шэраг. LUCAS Фрейташ: Вы не можаце вы не магу даць яму шэраг. АЎДЫТОРЫЯ: Справа ў тым, канкрэтных [Неразборліва]. LUCAS Фрейташ: Пераключыць з'яўляецца свайго роду каштоўнасцяў. Вы робіце розныя рэчы ў залежнасці ад значэння, пэўнае значэнне. Вы не можаце зрабіць выбар, вы не можаце зрабіць што-небудзь яшчэ. Гэта проста яшчэ адзін інструмент, каб бачыць. Ларэн CARVALHO: Большасць людзей не выкарыстоўваць пераключэння заявы вельмі многае ў CS50, але яна ёсць. Добра. Так што ў наступны, што мы збіраемся казаць аб тым, патройны аператар. Гэта проста яшчэ адзін тып з ўмоўна. У асноўным тое, што адбываецца тут я просячы цэлае і, калі п больш за 100, я збіраюся раздрукаваць "Высокі". Калі гэта не так, я збіраюся раздрукаваць "нізкі". Так, што ён робіць гэта ўмова прама тут, у дужках, і вы можа як бы думаю пытання як я прашу ці гэта праўда ці не. Калі гэта праўда, я збіраюся зрабіць гэта першым рэч, і калі гэта не так, я збіраецца рабіць гэтую другую рэч. Любыя пытанні аб патройны аператар? LUCAS Фрейташ: Адразу хачу адзначыць, ад Дэвід з'яўляецца тое, што кожны раз, калі ў вас ёсць стан - Ларэн CARVALHO: Я думаю Давіда глядзець праз жывы эфір. LUCAS Фрейташ; Ён робіць жыццё паток прама цяпер. Таму, калі ў вас ёсць ўмова, што ты Мяркуецца паставіць фігурныя дужкі, сапраўды гэтак жа як у нас ёсць у камутатары заяву тут. У нас ёсць фігурныя дужкі тут. Па якой ўмовы, вы Мяркуецца таксама пакласці, што. Ларэн CARVALHO: Вы ўбачыце гэта ў кіраўніцтве стылі. Мы на самой справе не маюць кіраўніцтва па стылі прама цяпер. Я думаю, што Дэвід па-ранейшаму працуе. LUCAS Фрейташ: Ён сказаў, што гэта проста працуе. Ларэн CARVALHO: О, гэта працуе зараз? ОК. Такім чынам, відавочна ў гэтым годзе ў стылі накіроўваць, нават калі вы проста ёсць адна лінія, Вы павінны пакласці тых, Фігурныя дужкі цалі Вам не абавязкова трэба для функцыянальнасць праграмы. А можа быць, мы павінны проста ўзяць перапынак пасля таго, як умовы і ісці прама ў кіраўніцтве стылі, каб ачысціць некаторыя з гэтых рэчаў? LUCAS Фрейташ: Так. У вас ёсць пытанне? АЎДЫТОРЫЯ: Не, я проста пачакаю да стылю кіраўніцтва. АЎДЫТОРЫЯ: Ці не маглі б вы вярнуцца у трайным аператара? Ларэн CARVALHO: Тернарная, так. LUCAS Фрейташ: Тернарная аператар у асноўным, калі іншае заяву, але замест таго, каб мець дзве лініі праверкі ПЧ, а затым яшчэ, вы проста павінны на адзін радок. Так у асноўным, калі я хачу даць радок значэнне высокай ці нізкай, і I хачу зрабіць высокі, калі п больш, чым 100 або нізкай, калі гэта менш, што я магу зрабіць гэта [неразборліва] радок будзе, а потым я задаць праграма п больш, чым 100? Дык вось чаму ў мяне гэты выраз у дужках, а затым пытальнік. Я прашу гэта больш, чым 100? Калі гэта так, гэта будзе на высокім узроўні. Калі гэта не так, што гэта збіраецца быць нізкай. Таму ў асноўным тое, што вы думаеце, вы спытаеце пытанне, таму вы паклалі ў дужках стан. Цяпер вы можаце змяшчаць знак пытання таму што вы просіце яго. І калі гэта праўда, то гэта будзе у першым значэнні [неразборліва] тут. Калі гэта не так, я збіраюся паставіць значэнне, якое пасля двукроп'я. Ці ёсць сэнс? Гэта таксама тое, што, як інструментам у C, але вы не павінны спецыяльна выкарыстоўваць яго. Але CS людзі звычайна падабаецца, што таму што гэта проста эканоміць лініі. Ларэн CARVALHO: Гэта вельмі элегантна. Ён робіць шмат усяго за адзін заяве. АЎДЫТОРЫЯ: Так знак адсотка з'яўляецца проста ўсё, што вынікі на папярэдняя радок? Ларэн CARVALHO: О, мне вельмі шкада. Гэта знак адсотка на самай справе запаўняльнік для гэта з. У Е заяве, у вас ёсць гэта радок тут, што тое, што адбываецца ў раздрукаваць, але вы не можаце проста пакласці гэта з там. У адваротным выпадку ён будзе друкаваць па-за з літаральна. Такім чынам, мы пакласці адсоткаў тут, каб трымаць гэта месца адбудзецца па якіх-небудзь прыходзіць пасля коскі. Так што для радкі, у вас ёсць адсоткаў с. Для цэлага, адсоткаў I. Для паплавочнай, адсоткаў ф. Вы ўбачыце тых, як мы Яшчэ больш прыкладаў. Але, магчыма, вам варта пагаварыць пра кіраўніцтва па стылі на некаторы час, цяпер што гэта да. LUCAS Фрейташ: Калі вы ідзяце ў cs50.net/style, вы будзеце бачыць кіраўніцтва па стылі. Для праблемных набораў, ваш рахунак для Праблема набор складаецца з рамкі, , Якія ў асноўным азначае, што калі вы зрабілі ўсё часткі задачы, устаноўленыя або калі вы спрабаваў нешта. Другая рэч карэктнасць, якая сродак ваша праграма робіць тое, што Меркавалася, што рабіць, ці робіць гэта ёсць памылкі, ці гэта не рабіць тое, што ён павінен рабіць. Трэцяе, што з'яўляецца дызайн, а гэта значыць, ты рэалізацыі гэтага добра, або Вы карыстаецеся непатрэбныя заявы? Так, напрыклад, калі вы хочаце паўтарыць шэраг 10 разоў, вы пішаце цыкл ці вы проста робіце 10 разоў тое ж самае заяву, а проста раблю капіяванне і ўстаўка. Так дызайн для гэтага. І, нарэшце, у вас ёсць стыль. Стыль гэтак жа, як, мяркуючы калі ваш код выглядае чытання і выгляд даволі. Гэта проста ў асноўным азначае, ваш код чытаным? Б нехта іншы, хто шукаў з'яўляюцца ваш код быць у стане зразумець, што ён робіць? Ці ёсць у яе каментары і да т.п.? Давайце пагаворым аб стылі, што вы павінны выкарыстоўваць. Першае, што каментары. Каментары вельмі важныя для вашага Код, таму што часам вы робіце ваша праграма, і вы сапраўды ведаеце, што Вы хочаце зрабіць гэта, вы проста пачаць кадаваньне, проста ўвядзіце кучу С. Але калі хто-то яшчэ шукалі вы знаходзіцеся Код, яны не збіраюцца, каб мець магчымасць зразумець гэта, таму што яны не ведаюць, рэчы, якія ў вас у галаве, як pesudocode, так што, магчыма, яны будуць мець цяжкі час, каб зразумець, што код робіць. Так каментары сапраўды карысныя для тлумачэння для тых, хто глядзіць на ваш код, што ён робіць, і на самай справе, нават для вас, яны вельмі карысныя. Як вы ідзяце да больш складаным і жорсткіх Psets, Вы будзеце бачыць, што код атрымлівае даўжэй, а затым каментары сапраўды важна, каб вы памятаеце, што кожны часткай вашай праграмы робіць. Калі Вы жадаеце пакласці каментар, вы можаце проста зрабіць слэш слэш, а затым напісаць каментар. І ўся лінія з'яўляецца часткай каментара, і ўсё, што вы запішыце, гэта не будзе выкарыстоўваецца для кода. Гэта ў асноўным як кампілятар збіраецца ігнараваць гэта. Ці мае гэта сэнс? АЎДЫТОРЫЯ: Што вы робіце, зноў Каб напісаць каментар? LUCAS Фрейташ: Гэта? Касая рыса скараціць? Кожны раз, калі вы ўводзіце касую рысу, незалежна знаходзіцца ў гэтай лініі не будзе каб лічыцца С. Да? АЎДЫТОРЫЯ: Так пасля каментара, вы Проста увядзіце і пачаць новы радок? LUCAS Фрейташ: Так, менавіта так. Ларэн CARVALHO: слэш слэш для аднарадковы каментароў. LUCAS Фрейташ: Напрыклад, тут мы маем - дазвольце мне павялічыць - напрыклад, тут я абвяшчаю паплавок, але, магчыма, калі вы проста паставіць гэта у кодзе, як вы паняцця не маю, што гэта робіць, як на самой справе той, хто глядзіць на гэты код будзе, як і тое, што чорт вазьмі, адбываецца? Калі вы змесціце каментар пра тое, "канвертаваць Па Фарэнгейце ў градусы Цэльсія, гэта робіць нашмат больш сэнсу. Ты, быццам бы, у парадку, вы робіць пераўтварэнне. Ці мае гэта сэнс? Так што гэта проста тое, што дапамагае людзям гатовы ваш код, а таксама зрабіць Вы зможаце арганізацыі ваш код лепш. Другая рэч, што вы можаце зрабіць шматрадковага каментары, так што ёсць адзін каментаваць для звязка ліній. Замест таго, каб паставіць касую рысу, каментары першая лінія, касая рыса рысу, другая лінія, і гэтак далей, вы можаце выкарыстоўваць касую зорку. Такім чынам, што вы робіце гэта ў тым, што для Першы радок каментара, вы збіраемся зрабіць слэш зорка зорка, гэтак жа, як, што. Гэтак жа, як тут у нас ёсць пачатак праграма, звычайна для каго вы з'яўляюцца, што гэтая праграма робіць, і ўсё ў такім духу. Гэта накшталт як загаловак для праграмы. Зноў жа, гэта не тое, што кампілятар будзе клапаціцца пра, але важна, каб вы ведалі, што гэта Праграма робіць або для іншых людзей ведаць, што ваша праграма робіць. Так што вам скараціць зорка зорка, а затым Апошняя радок вы збіраецеся зрабіць зорку скараціць, каб мець магчымасць зачыніць што каментар. Так у асноўным для ўсіх іншых ліній, вы можаце проста напісаць што заўгодна, і гэта гэта ўсё будзе ігнаравацца. А таксама, як і стыль, вы бачыце, што кожная з ліній мае зорку, і ўсё зоркі выраўноўваюцца. Гэта важныя рэчы, так што ваш код выглядае даволі. Гучыць добра? Зараз умовы. Што Дэвід казаў, што мы павінны фактычна паклаў у тых слайдаў, у тым, што калі ў вас ёсць якія-небудзь калі заявы або любы выгляд умоў, Вы павінны выкарыстоўваць фігурныя дужкі, каб паказаць, што гэта тое, што павінна было здарыцца калі ў вас ёсць ўмова. Тэхнічна, калі ў вас ёсць умова а затым наступная радок з'яўляецца толькі адным лінія, вы не тэхнічна ёсць паставіць фігурныя дужкі. У асноўным кампілятар зразумее гэта ў любым выпадку, як невідавочнае. Але для CS50, мы просім вас, хлопцы, каб пакласці фігурныя дужкі, каб пераканацца, што ваш код больш арганізаваным і больш зручным для чытання. Таму што код атрымлівае больш, калі вам не маюць фігурныя дужкі і такія. Гэта становіцца сапраўды брудна. Ларэн CARVALHO: Гэта менавіта тое, тое, што Дэвід проста паказаў ў маіх папярэдніх слайдах. Гэта вызначана працуе без фігурных дужкі, але па стылістычных прычынах мы збіраемся папрасіць, каб вы пакладзеце іх цалі І калі вы пачынаеце працаваць style50, якая з'яўляецца своеасаблівай праверкі 50 для стыль, ён будзе нагадваць вам, каб зрабіць гэта. LUCAS Фрейташ: І іншая справа, не забудзьцеся пакласці фігурныя дужкі разам у кожнай радку. Такім чынам, вы робіце, напрыклад, адзінкамі. Перайсці на наступны радок, адкрыйце кучаравыя дужкі, то вы ідзяце ў наступным радку. Водступы, што ў чатыры прасторы. Тады вы пішыце, што, потым яшчэ лінія, і закрыць фігурную дужку. Так што будзьце ўпэўненыя, што і тыя, кучаравыя брекеты ў розных ліній. АЎДЫТОРЫЯ: Дык што, калі гэты код быў як 10 астатняе ўмоўнага ладу, гэта павінна быць 10 камплектаў дужках? LUCAS Фрейташ: Так, для кожнага з іх. Так. Такім чынам, калі, у адваротным выпадку, і гэтак далей. АЎДЫТОРЫЯ: Ці можаце вы не Націсніце клавішу Tab для водступу? LUCAS Фрейташ: Мы просім вас хлопцы выкарыстоўваць чатыры прабелу. Ўкладку Некаторыя тэкставыя рэдактары перавесці як чатыры прабелу аўтаматычна. Gedit не робіць, так што вы павінны зрабіць прастору прастору прастору прастору. Гэта таксама тое, што некаторыя праграмісты рабіць толькі ўкладкі, некаторыя праграмісты рабіць толькі чатыры прабелу, і некаторыя іншыя людзі нават зрабіць два ці тры месцы. Гэта проста, што тут мы просім вы, хлопцы, каб зрабіць чатыры прабелу. АЎДЫТОРЫЯ: Там амаль вызначана Павінен быць спосаб для Gedit да аўтаматычна [неразборліва]. Як ніхто [неразборліва] робіць гэта. LUCAS Фрейташ: Так. Я думаю, што вы можаце пайсці ў налады. АЎДЫТОРЫЯ: Ён робіць ужо ўсё гэта. LUCAS Фрейташ: Ён робіць ужо? ОК. Так што проста пераканайцеся, што вы ёсць чатыры прабелу. АЎДЫТОРЫЯ: Ці ёсць у нас паставіць кучаравыя дужкі ў цыклы, а? LUCAS Фрейташ: Так. Ларэн CARVALHO: Кожны раз, калі ваш інкапсуляцыі блок кода, проста калі ласка, выкарыстоўвайце фігурныя дужкі. І перш, чым вы думаеце, што мы проста быўшы ахоўнікаў пра гэта ні да чаго добрага Прычына, калі вы, хлопцы сапраўды ідуць далей, каб атрымаць тэхнічныя стажыроўкі ў буйных кампаніях, яны дадуць вам кіраўніцтва па стылі, і яны скажуць вам, гэта тое, што ваш код павінен выглядаць. І нават калі вы навучыліся кода як гэта, можа быць, у вашай стажыроўкі Вы павінны будзеце зрабіць што-то зусім іншае. Яны чакаюць, што вы адпавядаць да іх стылю. LUCAS Фрейташ: І яшчэ адна рэч што вы заўважыце, як у мяне ёсць, як х, прастору, менш, прастору, 0? Кожны раз, калі ў вас ёсць аператар - гэта можа быць як плюсам, мінус, раз, менш, больш, што аператар - Вы павінны паставіць прабел злева і права аператара. Ларэн CARVALHO: Гэта называецца бінарныя аперанд. Проста пераканайцеся, што вы заўсёды прастору з вашых бінарных аперанд. LUCAS Фрейташ: Гэта ня двайковы аперанд. Ларэн CARVALHO: То бок таму што гэта займае два. LUCAS Фрейташ: О, так. ОК, перамыкачы. Па-першае, вы павінны бачыць, што гэтак жа, як у выпадку ці яшчэ заяве, у вас ёсць паставіць фігурную дужку на асобнай радку і пад фігурнай дужкі тут. Звярніце ўвагу, што існуе адзіную прастору пасля ўключэння, гэтак жа, як у тым і ў іншым месцы у нас быў адзін прабел паміж што і круглыя ​​дужкі. Такім чынам, вы павінны пакласці, што. І няма ніякага месца адразу пасля кожнага з дужках або да канца з круглых дужках. Такім чынам, вы бачыце, што ўсё гэта разам, і таксама хацеў тут. Да? Ларэн CARVALHO: Я думаю, мы павінны рухацца далей. LUCAS Фрейташ: Так што гэта частка кіраўніцтва па стылі, што ў вас ёсць для CS50. Абавязкова ідзеце ў cs50.net/style і зірніце на гэта. Усё гэта вельмі важна для вашага рахунку стылі. Дазвольце мне вярнуцца ў заяве. Ларэн CARVALHO: Я б хутчэй проста выкарыстоўваць style50. Мы проста збіраемся ісці прама ў пятлі. Добра. Так што давайце вернемся да зместу, цяпер што мы пайшлі на стыль кіраўніцтва. Завесы, вы бачылі іх у пустым, і мы збіраемся казаць пра іх у С. У цыкле, ёсць тры часткі ў Дэкларацыя гэты цыкл. У цябе ініцыялізацыі ў якія вы ўсталюеце вашыя зменныя. У вас ёсць ваш стан, якія з'яўляюцца правяраць, ці з'яўляецца нешта сапраўдным або ілжывых, і ці з'яўляецца цыкл павінен працягвацца. І ў вас ёсць вашыя абнаўлення, якія абнаўляе зменныя. Давайце проста зірнем на некаторыя З код гэтага цыкл ў дзеянні. Што адбываецца тут, у ініцыялізацыі, мы ўсталёўваем I 0. У стане мы правяраем Ці я менш за 10. І ў абнаўленні мы павялічваючы I. Так што ж у выніку гэта для цыкла? LUCAS Фрейташ: На самай справе, у першую чаргу, вы, хлопцы, ведаеце, што я + + з'яўляецца? АЎДЫТОРЫЯ: Павелічэнне на 1. LUCAS Фрейташ: Павелічэнне на 1, так. Так што гэта тое ж самае, раблю, я роўная I Plus 1. І заўважце, што мы не маем прастору паміж Я і + +. Так што вы, хлопцы, ведаеце, што гэта будзе рабіць? Можа хто падкажа? І, магчыма, атрымаць некаторыя цукеркі з-за гэтага? АЎДЫТОРЫЯ: [неразборліва] LUCAS Фрейташ: ОК. [Неразборліва] паказаць усім, пазней [неразборліва]. Так, ён збіраецца паказаць «Гэта з'яўляецца CS50 "10 разоў. Ларэн CARVALHO: Я думаю, гэта было у назве слайда. LUCAS Фрейташ: О, так. [Смех] LUCAS Фрейташ: Гэта дапамагае. Ларэн CARVALHO: Так што тыя, прызначаныя для завес. Мы збіраемся, каб убачыць яшчэ некалькі прыкладаў З цыклы пазней. Але давайце на самай справе зірнуць на Другі тып цыкла вы будзеце сутыкацца у С, і гэта завецца той час як цыкл. У нейкі час цыклу, вы, толькі што атрымаў стан. Ўмова правяраецца ў пачынаецца, і калі гэта ўмова ацэньваецца як сапраўднае, то код ўнутры Корпус блока падчас будзе выконваць. І код будзе працягваць выканаць, пакуль што стан застаецца верным. Вось прыклад з нейкі час цыкла ў С. Мы збіраемся ўсталяваць лічыльнік ад 10 да з самага пачатку. Пакуль лічыльнік, большае за 0, мы збіраемся працягваць друкаваць з гэтага Пераменная тут. Мы збіраемся паменшыць колькасць і Затым праверце стан зноў. Друк, памяншэнне, праверка ўмова зноў. Тут мы маем прыклад, якая адносіцца на ваша пытанне раней. У нас быў працэнт гадоў, калі мы былі Раздрукаваўшы радок, і цяпер, калі мы Раздрукаваўшы ліст Int, у нас ёсць адсоткаў я як наш запаўняльнік замест гэтага. Лісты ўсё павінна быць даволі інтуітыўна, з для радкі, я для унутр. Так што, калі гэты код выконваецца, вы павінны зваротны адлік ад 10 да 0, раздрукуйце кожнае цэлае. LUCAS Фрейташ: І вы можаце думаць аб працэнтаў, як ён адчувае, як пусты прастору, а затым вы кладзеце гэта Пераменная тут у тым, што пустое прастору. Так, напрыклад, тут у мяне будзе проста пусты, а затым я стаўлю разлічваць тут жа, значэнне лічыльніка. Ці мае гэта сэнс? Ці магу я проста люблю Е а затым цытуе, у кошт? Ці будзе гэта працаваць? АЎДЫТОРЫЯ: Не. LUCAS Фрейташ: Не, таму што гэта будзе на самай справе друк слова "рахункі" замест таго, каб друкаваць значэнне. Гэта, як вы зробіце гэта вывесці значэнні да зменнай замест проста назва зменнай. Ёсць пытанні? АЎДЫТОРЫЯ: Чаму вы карыстаецеся для як процілеглыя у той час? Ларэн CARVALHO: Я хацеў бы выкарыстаць для цыкл, калі я ведаю дакладна, колькі ітэрацый Я хачу, каб мае завесы для запуску. У гэтым выпадку гэта не мае значэння, таму што, Я маю на ўвазе, я проста спрабаваў думаць пра вельмі просты Прыкладам для гэтага слайда. Але, дапусцім, што вы хочаце нешта каб працягваць ісці, пакуль - LUCAS Фрейташ: Напрыклад, вы ня задаеце пытанне, пакуль чалавек дае правільны ўваход. Бо ў той час як ўвод ня Добра, працягвайце пытацца за гэта. Ці як, пакуль вы бацькі не даюць вашы грошы, працягваць прасіць яго. [Смех] Ларэн CARVALHO: Вы не ведаеце, як шмат разоў вам прыйдзецца гэта зрабіць. LUCAS Фрейташ: таму што вы не ведаю, колькі разоў гэта збіраецца працягваць ісці. Ларэн CARVALHO: Але ў цыкле, Вы павінны ведаць, як шмат разоў. Да? АЎДЫТОРЫЯ: Проста каб растлумачыць, працэнт кажа, што гэта нешта такое, каб адбылося, я 'для цэлага, і зваротны слеш н - Ларэн Карвалью: Сродкі? Хто ведае, што азначае, што зваротны слеш н? Новая лінія, так. Менавіта так. LUCAS Фрейташ: Вы можаце думаць п як новай лініі. Ларэн CARVALHO: Ніца. АЎДЫТОРЫЯ: Што гэта колькасць працяжнік працяжнік [неразборліва]? LUCAS Фрейташ: Граф мінус мінус тое ж самае, плюс плюс, але замест павелічэння, гэта менш на 1. Ларэн CARVALHO: Любы больш у той час як пытанні цыкл? Няма? О, мы павінны былі , Прапусціў гэта. Гэта рабіць у той час як пятля. Вельмі падобна на нейкі час цыклу за выключэннем У гэтым выпадку мы правяраем стан пасля код у целе Цыкл выконваецца адзін раз. Такім чынам, мы выканаць код Першы нягледзячы ні на што. Затым мы правяраем стан, выканаць гэта зноў, калі ўмова праўдзіва. Вы знойдзеце сябе, выкарыстоўваючы гэта, калі вы просіце карыстацкага ўводу. Таму што ты заўсёды будзеце мець, каб спытаеце адзін раз, а затым у залежнасці ад таго, што карыстацкі ўвод, вы, магчыма, прыйдзецца Запытаць паўторна і спытаць зноў і зноў, калі ўваход не тое, што вы Чакаецца, што ён будзе. АЎДЫТОРЫЯ: Так што гэта як форма для людзей, каб запоўніць. Ларэн CARVALHO: Так, менавіта так. Вы знойдзеце, я думаю, у ваш першы Pset, вы будзеце мець, каб выкарыстоўваць цыкл зрабіць так, каб сабраць ўвод ад карыстальніка. АЎДЫТОРЫЯ: У залежнасці ад сітуацыі, Вашы рамкі, быўшы будзе імкнуцца працаваць больш часцей, чым у той час як завесы, як адным ці нешта? Ларэн CARVALHO: Калі гэта дакладная - LUCAS Фрейташ: Яны заўсёды павінны працаваць дакладнае колькасць разоў, што вам хочаце, каб працаваць. Як мы выкарыстоўваем зрабіць у той час, таму што мы сапраўды хацеў атрымаць магутнасць, па меншай меры адзін раз. У той час як завесы, часам вы не хочаце каб выканаць яго зусім, калі гэта не выпадак для выканання. Такім чынам, гэта залежыць ад канструкцыі. Я маю на ўвазе, вы можаце выкарыстоўваць або рабіць, пакуль або у той час як тых часоў, пакуль ваш код робіць гэта ён павінен рабіць. Ларэн CARVALHO: Але я думаю адказ на свой Пытанне, верагодна, так. Скажам ўмова было ілжывым. У адным выпадку яна будзе працаваць адзін раз, і іншы выпадак яна будзе працаваць нуль раз. Так што, так. Ёсць яшчэ пытанні? Да? Залы: Ці можна ўмова цыкла быць цыкл з пункту гледжання пераменная аднаго чым [неразборліва]. Ларэн CARVALHO: Так, гэта можа быць што заўгодна. Напэўна для пачатку Psets, вы не прыйдзецца сутыкнуцца ў гэтым выпадку, але вызначана гэта можа быць што заўгодна. LUCAS Фрейташ: Я думаю, мы скончылі. Ларэн CARVALHO: Мы? Няма? LUCAS Фрейташ: Завесы? Так. Ларэн CARVALHO: Мы не павінны быць. О, як мы зрабілі з завес. ОК. На самай справе, таму што мы гаварылі так шмат, давайце на самай справе ўсё навігацыі да study.cs50.net/conditions. І вы збіраецеся перамяшчацца ўніз каб праблемы віджэт. Ну, на самай справе, у той час як людзі становяцца гэта наладзіць, CS50 даследаванне ўяўляе будзе інструментам, які вашы ТФ будзе выкарыстоўваць для падрыхтоўкі да секцыі і што вы, хлопцы, можаце выкарыстоўваць, калі вы прапусціце раздзелы. Гэта збіраецца ўтрымліваць кучу слайдаў, некаторыя парады і прыёмы для кожнага тэма, і некаторыя праблемы практыкі з рашэннямі. Чаму не ўсё проста паглядзіце на гэтую праблему прама тут. Мне вельмі шкада, я павінен нагадалі людзі прыносяць ноўтбукі сёння. Але калі ў вас няма ноўтбук, гэта нармальна. Вы можаце проста запісваць гэта ўніз на паперка або прагледзець плячо суседа. Давайце паспрабуем і напісаць праграму, якая прапануе карыстачу зрабіць здагадку, Сярэдняя колькасць дзяцей на адну сям'ю Блок у Злучаных Штатах. Гэты лік роўна 2, дарэчы, як вы Як відаць з гэтых прыкладаў. Мы хочам, каб раздрукаваць сярэдні лік дзяцей на сям'ю ў ЗША, то мы хочаце што? Мы хочам, каб сабраць ўваход ад карыстальніка. А потым у залежнасці ад таго, што карыстальніка ўваход, вы збіраецеся раздрукаваць альбо гэта правільна ці гэта няправільна. І самае першае, што вы будзеце Ці бачыце, калі вы націснеце на маленькую стрэлку на ніжняя частка праблемы фішкі вызначыць, каб запісаць некаторыя псевдокод. Дык вы яшчэ не праграмавання. Ты проста атрымліваць вашыя ідэі ў парадку. Хто-небудзь хоча дапамагчы Лукаса прыдумаць правы псевдокод для гэтай праблемы? LUCAS Фрейташ: Што такое першае, што што мы, верагодна, варта зрабіць тут? Што вы думаеце, хлопцы? АЎДЫТОРЫЯ: [неразборліва] LUCAS Фрейташ: Так, добра. Так, друк. Проста скажыце на друк гэта сярэдняе колькасць людзей? ОК. Надрукаваць пытанне, скажам так. Пасля таго як я друкаваць на гэтае пытанне, што я павінен рабіць? АЎДЫТОРЫЯ: Атрымаць ўваход. LUCAS Фрейташ: Атрымаць ўваход. Што-небудзь яшчэ? АЎДЫТОРЫЯ: Стан. LUCAS Фрейташ: Стан. Ларэн CARVALHO: Што такое, што стан будзе? АЎДЫТОРЫЯ: Колькасць [неразборліва]. Ларэн CARVALHO: Дакладна. LUCAS Фрейташ: Так што я збіраюся праверыць у стане? АЎДЫТОРЫЯ: Калі ён роўны 2. Ларэн CARVALHO: Калі ён роўны 2. Менавіта так. LUCAS Фрейташ: Ці ёсць што-небудзь яшчэ, што я павінен рабіць? АЎДЫТОРЫЯ: Count. LUCAS Фрейташ: Дык што, калі гэта роўны 2, скажам - дазвольце мне пісаць, калі ўваход роўная да 2, тое, што я збіраюся зрабіць, гэта друк правільна. А потым яшчэ, я збіраюся друкаваць няправільна. Што-небудзь яшчэ? Няма? Ларэн CARVALHO: Такім чынам, вы можаце націснуць на - ці ўсё ёсць гэта ўніз? LUCAS Фрейташ: Ці ёсць сэнс? Так што цяпер давайце паспрабуем код гэтага. Ларэн CARVALHO: Калі вы націснеце трохі стрэлка, ён на самай справе эканоміць вашыя псевдокод, які з'яўляецца сапраўды захапляльным. І вы можаце зрабіць тыя, у каментарах, калі вы хочаце проста каб нагадаць сабе аб што рабіць. LUCAS Фрейташ: Так, напрыклад, першая Я збіраюся друкаваць на пытанне, так як я буду рабіць, што, на самай справе? Е. Так Е, і пытанне ў тым сярэднім колькасць дзяцей на адну сям'я ў ЗША. Тады я іду, каб атрымаць ўвод ад карыстальніка. Такім чынам, як я магу гэта зрабіць? АЎДЫТОРЫЯ: Атрымаць Int. Ларэн CARVALHO: GetInt. LUCAS Фрейташ: ОК. Такім чынам, спачатку аб'явіць, праўда? унутр, назавем яго N роўная GetInt. І зараз стан. Такім чынам, дазвольце мне сказаць, што я збіраюся каб тут Праверыць адказ. Такім чынам, спачатку, калі ўваходны сігнал, які з'яўляецца п, роўная да - як я буду пісаць, што? АЎДЫТОРЫЯ: Роўны роўныя. LUCAS Фрейташ: Выдатна. Так н. І заўважце, што я магу зрабіць прастору, роўна, роўна, прастору, праўда. А цяпер што мне рабіць? Нешта вельмі важнае значэнне для стылю. Фігурныя дужкі. А потым я збіраюся раздрукаваць. Як надрукаваць? Е. АЎДЫТОРЫЯ: Можа быць капіталізаваць? LUCAS Фрейташ: Не. Гэта, як мяркуецца, у ніжнім рэгістры. Так што гэта правільна. Ці будзе гэта дастаткова для Printf заяву, або мне не хапае што-небудзь? АЎДЫТОРЫЯ: Новая лінія. LUCAS Фрейташ: Новая лінія, так. А цяпер яшчэ. АЎДЫТОРЫЯ: Ці ёсць прастору пасля Printf, ці не? Ларэн CARVALHO: Мы павінны праверыць кіраўніцтва па стылі. АЎДЫТОРЫЯ: Гэта не павінна быць. LUCAS Фрейташ: Не павінна быць, добра. Так яшчэ, Е, "Гэта няправільна." Ларэн CARVALHO: На жаль, вашыя каціроўкі. LUCAS Фрейташ: ОК. Што-небудзь яшчэ? Ці значыць гэта добра выглядаць? Ларэн CARVALHO: Ці павінны мы паспрабаваць? LUCAS Фрейташ: Так, давайце запусцім яго. Так што гэта кампіляцыя, і гэта Здаецца, што гэта працуе. Давайце паспрабуем дваіх дзяцей. Гэта дакладна. А цяпер давайце запусцім яшчэ раз, але зараз замест пакласці дваіх дзяцей, давайце сказаць, што я збіраюся паставіць, як пяць. Гэта няправільна. Так што, падобна, што ён працуе. Ларэн CARVALHO: Чаму б вам не паказаць ім, што адбудзецца, калі вы паклалі нешта дзіўна, як і некаторыя літары. LUCAS Фрейташ: О, так. Давайце таксама праверыць, што. Што рабіць, калі карыстальнік спрабуе запэцкаць з вашай праграмай, і яны проста пісаць, я не ведаю, два. Гэта скажа паўтарыць спробу. Ларэн CARVALHO: Так GetInt просіць іх паўтарыць. Мы не павінны клапаціцца таго, што мы самі. LUCAS Фрейташ: Так. Так што, калі я на самой справе не паставілі шэраг, гэта збіраецца працягваць пытаць мяне, каб паўтарыць спробу. АЎДЫТОРЫЯ: Як вы яго запусціць? LUCAS Фрейташ: Проста націсніце гэтая зорка кнопку. Ларэн CARVALHO: Вы павінны пайсці ўверх. Там вы ідзяце. LUCAS Фрейташ: Зорка Кнопка прама там. Да? АЎДЫТОРЫЯ: Ці ёсць падказваць [неразборліва] з дзесятковых лікаў таксама? Ларэн CARVALHO: Я лічу, што гэта будзе. LUCAS Фрейташ: Калі гэта робіць? Ларэн CARVALHO: Калі яны ўвядуць ў выглядзе дзесятковага ліку, я думаю, ён збіраецца падкажуць. LUCAS Фрейташ: Давайце паглядзім. Ларэн CARVALHO: Таму што гэта не унутр. LUCAS Фрейташ: Так. Ларэн CARVALHO: Так што гэта не унутр, Атрымаць Int папросіць вас паўтарыць. АЎДЫТОРЫЯ: Так дзе ў гэтым кодзе будзе пасля коскі, што падахвочвае Карыстальнік, які ў іх ёсць, каб увайсці цэлае адмыслова? Ларэн CARVALHO: GetInt на самай справе робіць гэта за нас. АЎДЫТОРЫЯ: Не, я маю на ўвазе, калі мы хацелі каб увесці [неразборліва] LUCAS Фрейташ: Вы можаце сказаць, як сярэдняя колькасць дзяцей у ЗША. Я не ведаю. Можна сказаць, напрыклад, "Калі ласка ўваход цэлае ". Ларэн CARVALHO: цэлы лік, роўнае да сярэдняга ліку. Я маю на ўвазе, гэта проста, як вам адказ, праўда? LUCAS Фрейташ: Так. Гэта не з'яўляецца часткай уласна кадавання. Гэта хутчэй як усе вы збіраецеся хочаце напісаць у вашай праграме. АЎДЫТОРЫЯ: Як бы мы запусцілі яго, калі ён быў фактычна ў Gedit [неразборліва]. Замест націску гульню? LUCAS Фрейташ: Мы будзем Першы скампіляваць яго. Мы можам зрабіць гэта, робячы макіяж і імя файла. А потым, каб запусціць яго, мы зробім кропка слэш і назва праграмы. Залы: Я думаю, што я меў на ўвазе, калі мы хацелі, каб праграма рэагаваць на іх няправільна, няправільныя дадзеныя, вы не павінны пакласці ў - LUCAS Фрейташ: Мы не зможам зрабіць гэта, таму што код гэты кажа паўтарыць адбываецца ад Get Int які з'яўляецца функцыя, якая ўжо рэалізавана для нас праз бібліятэку CS50, а з гэта ўжо рэалізаваны там, мы не магу проста [неразборліва]. Ларэн CARVALHO: Калі вы не карыстаецеся GetInt, то вы можаце зрабіць гэта. LUCAS Фрейташ: Так. Але калі вы выкарыстоўваеце GetInt, вы не можаце. Любыя іншыя пытанні? АЎДЫТОРЫЯ: Ці не маглі б вы пайшлі з падобным GetFloat а затым мець магчымасць паставіць гэта ў дзесятковым? LUCAS Фрейташ: Так. АЎДЫТОРЫЯ: ОК. Тады вы проста маглі ўваход плаваць А роўна - Ларэн CARVALHO: Так. Сапраўды гэтак жа, за выключэннем плаваць замест Int. LUCAS Фрейташ: Проста пакладзеце яго тут а затым GetFloat там. АЎДЫТОРЫЯ: Як вы будзеце см. або бачылі - Ларэн CARVALHO: у нас ёсць не атрымалі там яшчэ. АЎДЫТОРЫЯ: - робіць няроўнасць паплаўкі ня [неразборліва] АЎДЫТОРЫЯ: Што азначаюць кропкі з коскі? Ларэн CARVALHO: Кропка з коскай проста азначае, што гэта зацвярджэнне з'яўляецца поўным, і мы збіраемся пайсці на наступным слайдзе. АЎДЫТОРЫЯ: Так што гэта неабходна кожны раз? Ларэн CARVALHO: Так. Ну, добра, так не для гэтых умовах, таму што яны інкапсуляцыі нешта. Так у асноўным, калі нешта выклікае Вам затым стварыць фігурную дужку блок, не стаўце кропку з коскі у канцы. LUCAS Фрейташ: Але ўсё яшчэ, так. Калі вы скончыце з заявай, паставіць кропку з коскі. І калі вы забыліся коскі, кампілятар збіраецца злавацца на вас, і вы будзеце мець, каб паспрабаваць выправіць гэта. Ларэн CARVALHO: Калі я стаўлю кропку з коскі тут, што б спыніць гэта, і я ніколі б не выканаць тое, што ўнутры, дарэчы. Так што гэта адзін з тых агульных памылак. АЎДЫТОРЫЯ: Заўсёды выканання. Ларэн CARVALHO: Так. У гэтым выпадку, мы б заўсёды выканаць тое, што ўнутры. АЎДЫТОРЫЯ: Ваш стыль [неразборліва] прыкласці, што для вас, думаў. Ларэн CARVALHO: О, гэта праўда. АЎДЫТОРЫЯ: [неразборліва] адзін лінія рэч [неразборліва] АЎДЫТОРЫЯ: Так? АЎДЫТОРЫЯ: Можа ў вас ёсць некалькі ўваходы ў адной радку? Так як вы можаце папрасіць карыстальнікаў друкаваць дзве рэчы? Ларэн CARVALHO: Не выкарыстоўваючы - LUCAS Фрейташ: Не. Давайце выкажам здагадку, што я таксама хачу каб атрымаць гэта цэлае т. Я павінен зрабіць гэта ў іншай лініі. АЎДЫТОРЫЯ: Калі вы запусціце што, як [неразборліва]? Было б надрукаваць радок там [неразборліва] і тады вы б увайсці ў адзін і - Ларэн CARVALHO: Ну, запусціце яго. Я маю на ўвазе, ёсць нішто не перашкаджае нам проста запусціць яго і паглядзець, што адбудзецца. LUCAS Фрейташ: Я думаю, што гэта збіраецца скардзіцца на нас таму што мы не выкарыстоўваем - Ларэн CARVALHO: Ой. LUCAS Фрейташ: Гэта скардзіліся на нас прама зараз, таму што мы не гэта, выкарыстоўваючы зменная, але калі б я зрабіў, напрыклад, п роўная роўная, і м роўная роўная, тое, што будзе адбудзецца ў гэтым выпадку? Што б гэта праграма? АЎДЫТОРЫЯ: Мне проста цікава, як гэта было б - Ларэн CARVALHO: Яна проста хоча ведаць, як ён выглядае як, я думаю, ці не так? Так ён узяў адну з іх, а затым ён узяў другую. Я думаю, што мы павінны рухацца далей, таму што ў нас яшчэ адзін слайд-шоў, перш чым - Вы хочаце, каб падцягнуць матэматыку? LUCAS Фрейташ: Так, матэматыка. Ларэн CARVALHO: Дайце мне ўсяго за адну секунду. Ёсць некалькі розных колькасную зменныя ў С. лікавых дадзеных у C могуць быць падзеленыя на розныя тыпы, і гэта тыя, вы будзеце см. найбольш часта. І унутр з'яўляецца цэлым лікам. Вы не можаце мець любыя дзесятковыя. У Appliance, яна займае 32 біта для захоўвання Int. Паплавок можа мець дзесятковыя. Ён таксама займае 32 біт для захоўвання плаваць у Appliance. Двайны гэты лік з дзесятковай пункт, які прымае 64 біта для захоўвання яго, Гэта азначае, што вы можаце проста вялікая дакладнасць, таму што вы можаце мець больш - што вы гэта называеце? LUCAS Фрейташ: Так, гэта больш. Ларэн Карвалью: Больш месцаў пасля коскі. І вельмі доўга з'яўляецца цэлым лікам , Якая прымае 64 біта, каб боль гэта ў Appliance. LUCAS Фрейташ: Так, гэта можа быць больш, чым цэлымі можа быць. Ларэн CARVALHO: Справа аб дадзеных тыпы ў C з'яўляецца тое, што яны кажуць вам, што якія дадзеныя можна захоўваць ў зменнай. Яны кажуць вам, як можна выкарыстаць гэты зменная ў вашай праграме. Гэта вельмі важна, каб проста адсочваць з які тып дадзеных вы карыстаецеся, і калі вам трэба, каб кінуць ад тыпу дадзеных на іншы, пераканайцеся, што вы ведаеце, менавіта тое, што адбываецца, калі, што ліццё адбываецца. І вы ўбачыце прыклад пазней на ў гэтых слайдах памылка, якая можа адбыцца. Давайце зірнем на некаторыя матэматычныя у З і думаю сапраўды старанна, я думаю, пра тое, што адбываецца, калі гэты матэматыка мае месца. У першай жа радку, што адбываецца, калі я заяўляю х? АЎДЫТОРЫЯ: Вы дазваляеце х павінна быць нешта? Ларэн CARVALHO: Так. Ну, я сапраўды прашу аперацыйнай Сістэма для 32 біт памяці, ці не так? У які я магу захоўваць Int, і Я буду называць гэтую дзесятковага х. LUCAS Фрейташ: У асноўным адбываецца ў памяці і знайсці месца, якое мае 32 біты і прымаўка, эй, я хачу гэта прастора, і гэта будзе называцца х. Значыць, ты проста вельмі шмат знаходка скрынка ў вашай памяці на магазін значэнні х. Ларэн CARVALHO: І тады я ініцыялізацыі х, што азначае, што я проста захоўваць Значэнне 2 у тым месцы, то кавалак памяці, што мы папрасілі эксплуатацыі сістэма. І тут тое, што мы робім, мы на самай справе дэкларавання і ініцыялізацыі г у адным радку замест у два радкі, як мы зрабілі тут, які таксама з'яўляецца выдатна, Мы прыбытку 1 да х, і мы захоўваем, што значэнне ў у. LUCAS Фрейташ: Таму ў асноўным тое, што гэта лінія робіць, ён знаходзіць цяпер скрыню для у, а затым яго значэнне, тое, што вы збіраецеся паставіць ўнутры скрынкі, з'яўляецца будзе значэнне х плюс 1. Так што мае гэтую опцыю для у. Ён атрымлівае значэнне х, выглядае тут, каб убачыць, што гэта 2. Пакладзеце яго там, плюс 1, так яна ставіць 3 ёсць. Ці мае гэта сэнс? Так у будзе 2 ў гэтым выпадку. Ларэн CARVALHO: Добра, выдатна. Мы бачылі некаторыя дадання, так што давайце цяпер думаю аб падзел на C. Тут я Аб'яву і ініцыялізацыя паплавок называецца адказ і дзялення 1 на 10, а затым я друкую адказ да двух знакаў пасля коскі. І звярніце ўвагу, тут, на мой Е заяве, калі я хачу нешта надрукаваць да двух знакаў пасля коскі,% 0,2 е з'яўляецца тое, што я хачу выкарыстоўваць. Так што кропка 2 проста кажу Мне трэба два месцы пасля дзесятковай раздрукаваць. Цяпер, што адбудзецца калі я запускаю гэты код? Хто-небудзь ёсць ідэі? Што б раздрукаваць? LUCAS Фрейташ: Якія мы чакалі атрымаць. Ларэн CARVALHO: Што рабіць мы хочам, у першую чаргу? LUCAS Фрейташ: [неразборліва] Ларэн CARVALHO: 0.1, так. Але тое, што выведзе? АЎДЫТОРЫЯ: [неразборліва] Ларэн CARVALHO: Ну, няма, на самой справе. Гэта тое, што я казаў пра тое, чаму вы трэба трымаць вельмі ўважлівага след Вашы тыпы дадзеных. Так, які тып дадзеных гэта? З'яўляецца унутр, ці не так? Там няма коскі. 10 таксама унутр. Там няма коскі. Калі б я падзяліць ИНТ на якасці міжнар, я атрымліваю дзесятковага які ня 0,1, таму Інтс не можа мець знакаў пасля коскі, а проста 0. Таму унутр проста абразае ад знакаў пасля коскі. LUCAS Фрейташ: Таму, калі вы робіце аперацыі з цэлымі, вы збіраецеся атрымаць Int як адказ. Так у асноўным, тое, што кампутар робіць, гэта дзеліць 1 па 10, і гэта становіцца 0,1. Але тады гэта як, пачакайце, гэта павінна быць цэлым лікам, так што вы проста ігнараваць 0,1, так што гэта зараз проста 0. Ларэн CARVALHO: Дык што, калі я друкую гэта , Я атрымаць 0,00, а ня 0,10. LUCAS Фрейташ: Ці ёсць у гэтым сэнс? Ларэн CARVALHO: Гэта выгляд з сумна, ці не так? LUCAS Фрейташ: Так як мы можам гэта выправіць? Ларэн Карвалью: Давайце паспрабаваць выправіць гэта. Вось прыклад таго, дзе я фактычна ліццё 1 і ад 10 да плавае. ня Так што цяпер, 1 ужо не з'яўляецца унутр. 1 з'яўляецца паплавок. Дарэчы, гэта толькі сінтаксіс калі вы хочаце, каб кінуць адзін ад Тып дадзеных у іншы. Вы можаце проста паставіць тып дадзеных у дужкі і ёсць, што проста папярэднічаць значэнне, якое вы ліцця. Дык вось, я дзялення з якая плавае кропкай на паплавок, каб атрымаць паплаўка адказ. І так, гэта б у Справа ў тым друкаваць 0,10. Ці мае гэта сэнс? LUCAS Фрейташ: Так прывядзенне тыпаў проста пераўтварэнне ад аднаго тыпу да іншага. Так плаваць 1 на самай справе 1.000. Не зусім гэта, але гэта тое, з знакаў пасля коскі што на самой справе 1. Ці мае гэта сэнс? Да? АЎДЫТОРЫЯ: Што рабіць, калі вы зрабілі паплаўка адказ роўная 1.0 дзеліцца на 10? Ларэн CARVALHO: Вы на самой справе адбываецца бачыць, што на наступным слайдзе. Гэта на самай справе наш наступны слайд. На самай справе гэта больш прыемна, чым увядзіце кастынг, я думаю. Так гэтыя два паплаўкі проста Прырода тым, што яны ёсць дзесятковыя разрады. Да? АЎДЫТОРЫЯ: Што рабіць, калі вы зрабілі [неразборліва] дзеліцца на 10? Ларэн CARVALHO: На самай справе паплавок падзеленае на лік у міжнар на самай справе дае вам плаваць, так што будзе працаваць нармальна. Пачакайце, ці ўсё разумеюць гэта? Таму што гэта будзе сапраўды вялікая справа ў Pset1, на самай справе. Да? АЎДЫТОРЫЯ: Ці не маглі б вы проста хутка перайсці чырвонай часткі? Ларэн CARVALHO: Чырвоная частка, так. Лукас, вы хочаце? LUCAS Фрейташ: ОК. Так што памятаеце, што працэнт з'яўляецца запаўняльнікам. Гэта як пустое прастору. Так давайце паспрабуем зразумець усе што тут адбываецца. Працэнт азначае, што гэта прататып. Тады ў вас ёсць F, што азначае, што гэты запаўняльнік для паплаўка. Апошняе, што мы маем тут справа 0,2, што азначае, я хачу мець два знакаў пасля коскі для паплаўка. Калі я проста павінен быў% F, яны гэта паставіць куча знакаў пасля коскі. Так што я магу проста паставіць 0,2 або 0,1 або 0,5, або усё, і ён збіраецца пакласці, што колькасць дзесятковых знакаў. Адзінае, што, калі вы паклалі як 0,100 або .1,000, гэта не на самай справе збіраюся паставіць усе гэтыя знакаў пасля коскі таму што ён не мае дастаткова памяці мець, што дакладнасць. Любыя іншыя пытанні? Да? АЎДЫТОРЫЯ: Так плаваць толькі дазваляе Вы выйсці за межы цэлых лікаў? LUCAS Фрейташ: Так. Ларэн CARVALHO: Ну, паплавок проста дазваляе мець знакаў пасля коскі. LUCAS Фрейташ: Гэта проста азначае, што вам зараз могуць мець дзесятковыя лікі. Зала: А чаму б нам калі-небудзь выкарыстоўваць цэлыя? LUCAS Фрейташ: Навошта Вы карыстаецеся цэлыя? Можа быць, калі вы разлічваеце ад 0 да 10, Вы хочаце выкарыстоўваць на самай справе цэлае. Вам не трэба выкарыстоўваць паплавок. У некаторых сітуацыях, вы не ёсць на самай справе - Ларэн CARVALHO: Можа быць, вы не хачу дзесятковыя. LUCAS Фрейташ: Можа быць, вы гэтага не зробіце хочаце выкарыстоўваць паплавок. Ларэн CARVALHO: Іншая справа,, памятаеце, як паставіць паплавок і Int займаць 32-біта, каб захаваць іх, і, магчыма, Вы не хочаце марнаваць біты на знакаў пасля коскі. LUCAS Фрейташ: Так. Так як, проста думаць пра гэта. У вас ёсць 32 біта для абодвух унутр і паплавок. Для INT, усе гэтыя 32 біта пайсці ў цэлай часткі. Калі вы выкарыстоўваеце паплавок з 32 біт, вам ёсць частка гэтай памяці выкарыстоўваецца для ліку, для цэлага ліку, а іншая частка выкарыстоўваецца для знакаў пасля коскі. Дык гэта значыць, што вы не можаце дабрацца да вельмі вялікія нумары з паплаўкамі, таму што паплавок ўжо выкарыстоўвае шмат памяці для знакаў пасля коскі. Да? АЎДЫТОРЫЯ: Гэта першы адказ, што менавіта ён робіць? Хіба ўстаноўкі значэнні паплаўка роўнай да гэтага запаўняльніка да таго, што вы можаце Нагадаем, яго ў наступным радку? У ім гаворыцца, плаваць адказ. LUCAS Фрейташ: Так. Так, паплавок адказ азначае, што вы атрымліваеце цяпер крыху вядро ў памяці, што трымае паплавок, і што адбываецца называцца адказ. Дык вось што паплавок адказ робіць. А потым вы кажаце, што ўнутры гэта, вы збіраецеся паставіць Вынікам гэтага. Так што вы збіраецеся рабіць 1,0 падзеленае на колькасць 10.0, вы атрымліваеце 0,1, а затым вы кладзеце што ўнутры адказу. Ларэн CARVALHO: Так у адну лінію, мы аб'явы і ініцыялізацыі гэтай паплавок называецца адказ. LUCAS Фрейташ: Цікава, што хоць гэта толькі адна лінія, ён робіць некалькі аперацый. Гэта проста спосаб З на сайт Вы выкарыстоўваеце менш кода. Гэта тое ж самае, патройных Аператар, як вы можаце проста зрабіць [Неразборліва] ў адну лінію. Гэта на самай справе робіць тое ж самае, што і робіць флоат адказ, кропку з коскі і то адказ роўны гэтым, але замест таго, што робіць вас зрабіць дзве лініі для таго, гэта як ярлык. Да? АЎДЫТОРЫЯ: Дык што, калі вы запускалі гэты, было б 0,10? LUCAS Фрейташ: Так. Да? Залы: адказаць на самай справе код, ці гэта проста назва? Ларэн CARVALHO: Гэта на самай справе код. Гэта тое, што мы збіраемся назваць нашу зменную. АЎДЫТОРЫЯ: Так што гэта проста Імя [неразборліва]. Ларэн CARVALHO: Так. Я мог бы сказаць паплавок х роўны 1,0. LUCAS Фрейташ: Справа ў тым, што імя зменнай тое, што вы выкарыстоўваеце. Гэта важна для вас. Для фактычнага праграмы, адзінае, што пытанні гэта значэнне, якое вы ёсць унутры вядра. Прычына, па якой у вас ёсць зменныя і імёны зменных так, вы б ведалі, тое, што вы маеце справу з, як якія дадзеныя вы доступу за адзін раз. Але для самога кода, калі вы тэлефануеце гэта адказаць або пытанне або што-небудзь, у значнай ступені, гэта не мае значэння. Гэта не мае значэння. Пакуль вы паслядоўныя ў кожным з'яўленне яго і так вы гэта называеце нешта яшчэ. Да? АЎДЫТОРЫЯ: У зменныя выйсці за межы функцыі? Як калі б вы былі, каб стварыць кранштэйны [Неразборліва], не маглі б вы проста [Неразборліва] яшчэ раз адказаць? Ларэн CARVALHO: Не. АЎДЫТОРЫЯ: [неразборліва] Ларэн CARVALHO: Не. Гэта было б за рамкі з гэтай канкрэтнай зменнай. А на самай справе, гэта свайго роду цікава, таму што, калі ў нас ёсць рэчы, як завесы або іх, калі ўмовы, калі вы аб'яўляеце зменную ў іншы набор фігурныя дужкі, гэта сапраўды толькі існуе у гэтых фігурных дужках. АЎДЫТОРЫЯ: І апошняе заўвага аб у [неразборліва] паплаўкі. Чаму вы хочаце выкарыстоўваць цэлымі? Гэта больш баку запіскі, чым нічога, але ваш кампутар значна лепш спраўляюцца цэлымі , Чым на пагрузачна-паплаўкі. Гэта як парадак Велічыня хутчэй. Так што, калі мы проста апрацоўвацца толькі плавае, усё было б нашмат больш павольна. Ларэн CARVALHO: На самай справе, як уяўляецца, быць праблемай з паплаўкамі. LUCAS Фрейташ: Выгляд з прычын што, вы можаце думаць, як у двайковым Вы можаце прадстаўляць цэлыя лікі , Паставіўшы 0 ​​і 1 ст. Ларэн CARVALHO: Гэта наступная рэч. LUCAS Фрейташ: ОК. Ўзрушаюча. Ларэн CARVALHO: Просто трымаць гэтую думку. LUCAS Фрейташ: Добра, я буду Распавяду потым. Ларэн CARVALHO: Перш чым мы пяройдзем да чаго Лукас быў проста кажу, аператар Прыярытэт. Гэта разумны сэнс. Вы, хлопцы, зрабілі гэта дастаткова. Так, толькі калі нешта не ў дужках, гэта адбудзецца ў першую чаргу. Гэта памнажэнне мае прыярытэт больш за тое, адніманне, і таму падобнае. Так на самай справе, проста хто-небудзь хоча скажы мне, што нумар адзін на самай справе ацэньваецца як? АЎДЫТОРЫЯ: 27. Ларэн CARVALHO: 27? Так. LUCAS Фрейташ: Дазвольце мне даць цукеркі для людзей. Ларэн CARVALHO: Добра. А як наконт нумар два? А як наконт нумар два? АЎДЫТОРЫЯ: 22. Ларэн CARVALHO: 22, так. Я не ведаю, хто зразумеў. Нумар тры? АЎДЫТОРЫЯ: 10. Ларэн CARVALHO: 10, так. Крута. Так па модулю. Лукас, ты хочаш, каб растлумачыць модулю? LUCAS Фрейташ: Modulo гэта аператар што на самой справе вельмі карысныя для куча праблем. Калі я зраблю 55 па модулю 10, што ён робіць гэта скажам, што я хачу падзяліць 55 на 10. Што я атрымаю? Ён адчувае сябе так жа, як калі я на самой справе проста робіць падзел, якая першы раз, калі я атрымаў цэлае? АЎДЫТОРЫЯ: 5. LUCAS Фрейташ: 5. І тое рэшту складае 5, ці не так? Так што гэта як 5 разоў 10 плюс 5. Увогуле, што па модулю робіць, ён спрабуе падзеліце гэты лік на гэты, і ён бачыць, што гэта рэшту аддзела. Ларэн CARVALHO: Дык гэта проста вяртае астатак. Так нумар адзін з'яўляецца тое, што? 5. Нумар два? АЎДЫТОРЫЯ: 3. Ларэн CARVALHO: 3. Нумар тры? 0. І чатыры роўна 1. Менавіта так. LUCAS Фрейташ: Просты, ці не так? Ларэн CARVALHO: Чаму б нам не прапусціць гэта толькі таму, што мы сапраўды не маюць Час і людзі, здаецца, разумеюць. Такім чынам, вось што Лукас быў проста кажу пра. LUCAS Фрейташ: Яшчэ адна прычына, чаму я будзе выкарыстоўваць цэлымі замест паплаўкоў што плавае вельмі недакладным. І чаму яны недакладным? Дэвід сказаў, што прадстаўляць цэлае, напрыклад, мы выкарыстоўваем 0 і 1, правільна? І тады вы ў асноўным, робяць множанне, рабіць усё тыя, Аперацыі ведаць, што дзесятковы лік ў вас ёсць замест двайковага файла. Што адбываецца цяпер, калі я паспрабую паставіць дзесятковую кропку? На самай справе, напрыклад, калі ў мяне лік як 3,33333? Такое пачуццё, што 10 над 3. Як я буду захоўваць усе 3 гэта, што ў мяне пасля гэтага? Гэта сапраўды цяжка, ці не так? Вы не можаце проста сказаць кампутара, эй, у мяне ёсць 3, а то вы зрабіць гэта назаўжды. На самай справе, што кампутар не досыць разумны для гэтага. Таму ў асноўным усе ваш кампутар робіць што ён спрабуе паставіць столькі лічбаў, колькі ён можа да памяці, што ў вас ёсць. Так скажам, што ён збіраецца сказаць 3,3333, і гэтым усё сказана. Так што гэта не ў стане фактычна выказаць менавіта тое, што, што паплавок. Ларэн CARVALHO: У нас ёсць канчатковае лік бітаў, што азначае, што не кожны дзесятковы лік будзе могуць быць прадстаўлены дакладна. І таму ў дадзеным прыкладзе, калі мы Раздрукаваўшы 0,1, мы цяпер друк з 20 месцаў. LUCAS Фрейташ: Гэтак жа, як я казаў вы, хлопцы, вы маглі б паставіць любую колькасць. Але калі вы толькі што зрабілі два месцы, вы атрымаеце 0,10, але калі вы паклалі 20 месца, ён збіраецца паказаць вам кучу з 'таму, што гэта тое, што вы можаце пакласці ў памяці, ці не так? Але менавіта тут, да 0, а затым проста пакласці яго ў куча выпадковых лікаў. Гэта накшталт як некаторыя - Ларэн CARVALHO: Гэта таму, што мы не ў стане прадставіць гэтую дзесятковыя менавіта з лікам бітаў у нас ёсць. LUCAS Фрейташ: І тады кампутар у асноўным даючы вам шэраг смецця. Гэта на самай справе не значэнне ліку. АЎДЫТОРЫЯ: Гэта так блізка, як ён можа атрымаць [неразборліва] з дапамогай кнопак [неразборліва]. Ларэн CARVALHO: Так дакрананняў у тым, што, скажам, што замест быўшы 0.100014, што заўгодна, што, калі гэта было 0,0999 - ну і добра. Давайце прадставім, што фактычны адказ каб гэта было 0,9999999. Гэта вельмі блізка да 1, але гэта не зусім 1. Гэта 0,99999. Гэта азначае, што, калі я вазьму, што 0.999, і я кінуў яго ў міжнар, я атрымліваю 0. Я не разумею 1. LUCAS Фрейташ: Таму што памятаю, ліццё ад паплаўка да міжнар, вы проста ігнараваць усе дзесятковыя разрады. Вы проста ігнараваць іх. Там няма такога паняцця, як акругленне або працуе, калі вы прывядзенне. На самай справе, ёсць гэтая функцыя, што робіць акруглення, што вельмі важна, але вы проста думаю, што калі Вы робіце тыпажоў, гэта проста збіраецца выдаліць усе. Такім чынам, нават калі ў вас ёсць 0,99999, гэта будзе проста даць 0, калі вы прывядзенне [Неразборліва] цэлае. Ларэн CARVALHO: Так проста быць сапраўды ведаюць якая плавае кропкай у дакладнасці, асабліва, калі вы пачынаеце выкарыстоўваць паплаўкі ў Pset1. Але прагулка праз варта папярэдзіць вас пра тое, што, як добра. LUCAS Фрейташ: А на самай справе гэта сапраўды цяжка, напрыклад, калі б я зрабіў паплавок адказ 1 роўны 1,0 па 10, а затым плаваюць адказ 2 роўная 10,0 за 100,0. Яны такія ж лік, праўда? 0.1, ці не так? 1 па 10 ці 10 па 100. Але цяпер, калі я спрабую ўбачыць роўнасці, як калі адказ 1 роўная адказаць 2, можа быць, гэта на самай справе не збіраецца быць тое ж самае. Так паплаўкі накшталт як, што. Яны як рабіць роўнасці.