>> DAVID J. Malan: Значи това е CS50.
И това е собствена Колтън Ogden CS50 е, за повече от това кой е музиката, която може да
изтеглите най-soundcloud.com/cs50.
>> Така че днес ние се фокусираме още повече на изкуството на програмирането.
И ние приемаме, когато ние напуснахме миналата седмица, като се фокусира
на Scratch, което е тази графичен език за програмиране.
И вземе нещата до по-ниско ниво, с помощта на по-традиционните програмиране
език, известен като C. Но по протежение на пътя, осъзнавайки
че едни и същи идеи, ние Говорихме за миналия петък
ще се повтори, не само в този език C, но в най-всяка друга
че ние гледаме на този семестър.
>> Така че ние се нарича това нещо тук това, което за последен път?
Това е представител на изявление.
Така че ние нарича това изявление.
И го прави нещо.
Това е инструкция, която е компютър или Scratch може да изпълни.
И отсега нататък, нека да започнем вика нещо като това е функция,
по причини, ние скоро ще видим.
>> Междувременно, видяхме неща като това.
И те като цяло са известен като това, което се изгради?
>> АУДИТОРИЯ: Loop.
>> DAVID J. Malan: Значи една линия.
Така че доста ясен.
Тя буквално прави това, което казва.
И в Scratch, ако искате да тъпча повече пъзел парчета в там,
парчето ще расте, за да го побере.
И ние ще видим в C, че можем да направим същото.
>> Друг вид на линия, обаче, в Scratch може да бъде вечно,
или има някакъв номер на други подходи.
Но нека хвърлим един по- общопрактикуващ поглед, с лице
това е вероятно доста познато, в контура по-общо.
Марк Цукерберг: One нещо, че компютрите
са наистина добър в е повтаряне на команди.
Като човек, вие ще получите наистина скучно, ако
трябваше да направи същото нещо, много пъти в един ред.
Но един компютър може да направи същото нещо, милиони или дори милиарди пъти,
и не се отегчават, и да бъде в състояние да изпълним наистина добре.
>> Така например, ако аз исках да пожелая на всички
на Facebook щастлив рожден ден , като им изпраща имейл,
тя може да ми отнеме повече от век действително да напишете
всички тези имейли до всички.
Но само с няколко реда код, мога имат система да изпрати имейл до всички
на Facebook, които желаят ги щастлив рожден ден.
Така че това е, което вериги са и защо те са ценно и нещо
че компютрите могат да направят много добре.
>> DAVID J. Malan: Така че, ако сте били на получателя
на някои от CS50 и Пространство от края на Dropbox е,
това всъщност е точно това, което ние направи, като се използва код доста подобно.
Ние по същество има голям таблица, в която
хора са въвеждащи им имена и имейл адреси.
И ние написахме една малка част от код, който може да обхождане на тези адреси
и изплюе уникални адреси в случай, че някой подава на няколко пъти.
И след това, ние изпращаме една автоматизиран имейл от бот CS50 е,
включително кода на купон.
>> Сега ние също погледна Тази конструкция за последен път.
И това е особено пример за това какво?
Така че, да, булев израз.
И формата се разбира за улавяне и това.
Всички тези въпроси на образуват вярно или невярно в Scratch
ще изглежда малко нещо като това.
И ние наричаме това Булев израз.
Това е наистина вярно или невярно, да или не.
Това е начин да отговори на един въпрос.
>> А междувременно можете да използвате тези Булева изрази вътре на конструкции
като тези, които на Разбира се условия
или клонове, пословичен вилици по пътя.
И те могат да изглеждат не само по този начин, но те могат също така да
иначе са свързани с тях.
И всъщност можете да имате три начина разклонение на пътя или четири начин вилица
по пътя, просто чрез гнездене на тези неща,
както ще видите в Scratch Ако не сте го направили.
И както можете да направите в C, както добре.
>> Да вземем друг общопрактикуващ разгледаме един alumnist, както и, които
може да има по-различен подход за тези неща, наречени условия.
>> Бил Гейтс: Хората правят решения всеки ден.
Така например, преди да излезем навън ви вид има, ако изявление, че казва,
ако вали тогава аз Трябва да си взема якето.
И компютрите са невероятни, след като определят тези видове отчети,
че те могат надеждно изпълнение тези неща на невероятни скорост.
И така, една компютърна програма наистина е малко на математиката и някои
ако отчети, където за решението получава направи.
>> DAVID J. Malan: Така че, както може би знаете, че е
хора като Бил Гейтс, Paul Allen, а други
че наистина започна на т.нар персонален компютър
революция преди няколко години.
Помислих си, преди да се потопите в някои administrivia,
ние ще се отнасят една приказка от Albuquerque, New Mexico природонаучен музей
и науката, където някои от Бил Гейтс " и ранните истории Пол Алън
се разказва как, което имаме сега днешните персонални компютри и Mac-ове и др.
За това, обаче, имаме нужда от двама доброволци които имат много добри гласове разказ
да се чете сценария на глас.
>> Добре, какво ще кажеш в там.
Хайде нагоре.
А какво ще кажеш пред тук.
Хайде надолу.
Заемете местата си тук.
Както вие, момчета идват, няколко на административни съобщения.
разрязване, процесът на избора на точка,
ще започне тази Сряда до петък.
Повече за това по този смешен Сряда в лекция.
>> Супер секции, междувременно, са нещо, което ние предлагаме следващата седмица
, според което целият клас е поканен да участват в сравнително голям мащаб
секции, една по-удобен, един по-малко удобни.
И ние ще обявим подробностите на това, както и, по-късно тази седмица.
>> Междувременно секции, себе си, ще започне
в три от хода седмици, индекс на нула, което означава, че тези, които са на няколко седмици
от.
Така че не се притеснявай.
Все още не сте пропуснали нещо по тези линии.
Междувременно в същото време, ако имате някакви въпроси, административно,
себе си и Девън и Гейб приятел и Роб на този адрес тук.
>> На последно място, проблем зададете 0 е, разбира се, от.
Може би сте го забелязали, на интернет страницата на курса.
Това трябва да ви предостави всички отговори на въпроси
може да се наложи по протежение на пътя за подготовка за работа с комплекта проблем.
Но ако се окажете в нужда от ръка,
с всички възможни средства да присъстват на работното време, Понеделник, Вторник, Сряда, Четвъртък
на тази седмица през нощта в четири зали за хранене.
Виж, че URL там за данните на мястото, където работното време следва да бъдат.
>> Сега нека да отговаря на нашите двама гости тук днес.
Как ти е името?
>> JAY PAUL: Jay Paul.
>> DAVID J. Malan: Jay Paul, хубаво е да се запознаем.
>> ХИКАРИ: Hikari.
>> DAVID J. Malan: Hikari?
>> ХИКАРИ: Hikari.
>> DAVID J. Malan: Hikari.
Приятно ми е да се запознаем, както добре.
Jay Павел и Hikari имате в Пред тях по тези музика
откроява две скриптове, които съм печатни тази сутрин от Ню Мексико
музей по естествена история и науката.
И аз това си помислих Бих направил на режийните
се придружава рецитация на сценария и тази история
с някои визуални образи, няма изненади.
>> И това, което съм направил по-рано се prehighlight на вашия скрипт
това, което трябва да се чете, и това, което трябва да се чете.
И ние ще същество просто заместник параграфи.
Така че това е много като може да се направил в час по английски.
Това е наистина принуди публиката да вярват в своята приказка тук.
Ще тръгваме ли?
Така че историята тук е, че имаме BASIC, и тя започва в Кеймбридж.
>> JAY PAUL: Беше зима, 1974, в Кеймбридж, Масачузетс
където зимите могат да са студени.
Брадат, дълга коса колеж отпадане име
Paul Allen бе drudging в Харвард Square, погълнат в мислите си.
Неговата основна грижа в тези дни е как да получите своя приятел, Бил Гейтс,
да напусна училище и да отидете в бизнес с него.
ХИКАРИ: Двамата вече бяха отишли чрез редица бизнес начинания
заедно, започваща в Lakeside училище в Сиатъл, където
те са били платени в безплатен компютърен път да тестване на PDP-10 компютъра в местно време
споделяне на компанията.
Най-новата планът е бил да се откажат училище и образуват софтуерна компания.
Алън е напуснал Вашингтон State University.
Но в последната минута, Гейтс реши да се придържате към Харвард.
>> JAY PAUL: Този ден, пресичайки Harvard Square, Алън забеляза януари,
1975 издаване на Popular Electronics със заглавието на земята е спряла,
Първата в света миникомпютър Kit да съперничи търговски модели.
Под заглавие е снимка на малка кутия
украсен със светлини и ключове.
Тя била наречена MITS Altair 8800.
И Алън знаеше, че това е това, което той е бил търсите.
>> ХИКАРИ: Дни на дискусия последваха.
Алън и Гейтс разбира значимост на Altair.
Те бяха разговаряли често за микропроцесори
и чакаха да видят какво ще бъде направено с тях.
Сега имаше комплект миникомпютър на корицата на популярните Electronics.
Това очевидно не е имал софтуер все още.
Те си представяли нация от програмисти слизаха по MITS.
И така те наричат ​​Ед Робъртс, ръководителят на компанията,
които твърдят, че има версия на BASIC език почти готова за програмиране
за Altair.
Те не го направих.
И Roberts трябва да знае, че не го направих.
Той ставаше все по 10 обаждания на ден от хора, които са имали BASIC почти готова.
И му фондова отговор беше: "Първият човек,
, който се появява с работна BASIC получава договора. "
>> JAY PAUL: Гейтс и Алън Никога не бях виждал на Altair.
Те дори не са видели Intel 8080 микропроцесор
в сърцето на Altair.
Но няколко години по-рано Алън е написал програма
на мейнфрейм компютър, който емулира действието на предишния Intel
микропроцесор.
И този път те ще направи същото нещо.
>> ХИКАРИ: С Intel 8080 ръководство на негова страна,
Алън седна на Harvard PDP-10 компютъра
и пише на емулатора и софтуер инструменти, необходими, за да направят програмирането.
Междувременно Гейтс спря става да класове и се посвещава
за проектиране на основните, използвайки всеки трик
той знаеше, че за да получите размера долу 4 килобайта.
>> JAY PAUL: Out в Albuquerque, Ed Roberts получих обаждане от Гейтс
пита за подробности за това как Altair обработват специфични съчетания.
Никой никога не е поискал това преди.
И Робъртс започна да се интересувам.
>> ХИКАРИ: С развитието инструменти и дизайнът е готов,
Гейтс и Алън пише кода на PDP-10,
привличане друг студент в Харвард, Monte Davidoff, за да напишете математика съчетания.
След окончателно нощ програмиране, Алън се качил на самолет
да достави своя BASIC до MITS.
Той прекара самолета вози притеснявате.
И обратно в Кеймбридж Гейтс се притеснявате.
Те бяха тествани тяхната BASIC и той е работил на емулатора.
Но какво, ако емулатора не е наред?
JAY PAUL: Когато самолетът приближи Albuquerque,
Алън разбра, че тяхната BASIC, сега спретнато, съдържаща
на малка ролка перфорирана хартия лента, би
бъде безполезна без отделен програма, наречена товарач, че
ще каже Altair как да прочетете хартиена лента благосъстоянието
подава в терминал,.
Той извади бележника си и бързо надраска надолу програма товарач
в езика събрание, а след това ръчно преведено, че в 1-ци и 0s
Алтаир ще разбере.
>> ХИКАРИ: Allen очаквах чисти, малко, високотехнологична компания
управлявана от мъже в делови костюми.
Така че той е бил изненадан, когато Робъртс се срещна го на летището прилича на ранчо
ръка.
Робъртс също беше изненадан.
Когато той се отказа от Харвард програмист в скъп хотел,
Алън трябваше да призная, че той не можеше да си позволи стаята.
>> JAY Павел MITS, сама по себе си е намира в един прашен ивица мол.
Вътре в затрупана Workbench е Altair
зареден с 5 килобайта памет и свързан с кабел
да телекс машина.
Робъртс и главен инженер, Бил Йейтс, чакаше очаквателно
като Allen сменил си товарач програма в Altair.
The телекса започна chugging като го извади Лентата на хартия чрез читателя лента.
Отне може би 15 минути за да заредите програмата.
Тогава телекса рязко отпечатали бърза памет, тогава готов ред
и Алън започна да пише няколко тест команди.
За учудване на всички, софтуерът работи.
Имаше грешки, разбира се.
Но най-важното е, че е работил.
>> ХИКАРИ: По-късно, по пътя им към $ 3,00 обяд в Панчо, оса прелетя
в прозореца на пикапа камион и ужилен Allen по ръката.
Но в този момент нищо може да развали настроението.
Алтаир вече има своя BASIC, на първият комерсиален софтуер за дома
компютър, направено от Пол Алън и Бил Гейтс, правене на бизнес като Microsoft.
>> DAVID J. Malan: Много Благодарение на нашите две читатели.
>> [APPLAUSE]
>> DAVID J. Malan: Сега имате избор,
преди да си тръгнеш, на блестящи или светят в dark-- о,
изчакайте една секунда, Чакай блестящи и светят в тъмното слона
от собствената Cheng Gong CS50 е.
ХИКАРИ: О, благодаря ви.
DAVID J. Malan: All Добре, благодаря ви много.
[APPLAUSE]
DAVID J. Malan: Значи истинска история.
Това е да се каже, че всички тези машини и лекотата, с която ние
ги използват сега и да вземат за даденост, наистина
започна тук, само на няколко крачки от тази актуална театър.
И сега, днес, ако не съм бил, това е Максуел Дворкин, компютърът
науки сграда, също зад ъгъла.
И на втория етаж на тази сграда, не се мотае три страници
от оригиналния изходен код, който Бил Гейтс и Пол Алън е написал.
В действителност, ако използването увеличите в можете да видите не само
имената им в оригинален вид, но също така
подписа си, че те украсени с няколко години назад, когато те последно посетен.
>> Но това, което беше особено убедителна за това е, което те определят, за да се направи
е да се напише програма, която би се даде възможност на други хора да пишат
собствените им програми.
В момента всичко е с този Altair машина, направена от MITS.
И всички те се нуждаеха някакъв начин на което го прави лесен за любители и хора
ни харесва в тази стая всъщност програма че без непременно разбиране
Код събрание, или машина код, или не дай боже, 0s и 1s.
Ние, програмисти, като тези, в тази зала, ние
Искам да бъда в състояние да изразят себе си много повече като псевдо код
дори ако това е малко по-гнида придирчиви, отколкото ние говорихме миналата седмица.
Ние не искаме да се напише код, подобен на този, които Paul Allen и Бил Гейтс е направил.
Ние, вместо това, искате да пишете код, който изглежда малко по-лесна за използване.
>> Сега това е език, известен като BASIC.
А номерата на редове има какво използвате, за да просто да преброят реда код
че пишеш.
Ние дори не е нужно да се правим, че тези дни.
Но вие може да видите тук как PRINT "Здравей, свят"
наистина би вероятно отпечатате точно това.
И така, това, което Бил и Пол направих, беше възможност на хората да пишат код като този
вместо на-- ако погледнете в компютърни науки wall-- код като този.
>> В действителност, CS50 наскоро имаше възможност
да седнем с професор Хари Lewis в Computer Science отдел, който
всъщност преподава Bill Гейтс преди няколко години,
и стои тук и преди тези три страници с откъси.
Нека хвърлим един поглед.
>> ХАРИ LEWIS: Какво имате тук е списък на ранен парче от софтуер,
написан от Бил Гейтс и Пол Алън, основателите на Microsoft.
Така че кодът е интересно по две причини.
На първо място, става Първият продукт на Microsoft,
който е преводач за на езика за програмиране BASIC.
И на второ място, това е един от първите опити
за създаване на устен преводач, с обикновен хората могат да използват лични компютри.
>> Така че Бил Гейтс е бил студент в Харвард.
Аз започнах да преподавам в Харвард през 1974.
Това беше направено през 1975 г..
Така беше в началото на кариерата си и в началото на кариерата ми.
Аз всъщност преподава Bill в курс по това време.
Пол Алън не беше Харвард студент, но той
е бил в гимназията съученик на Бил Гейтс.
Ако дойдете и да потърсите в списъка, ще
всъщност намерите трета име, Monte Davidoff,
който е бил съученик на Гейтс тук в Харвард.
>> ОК, така че тук е едно интересен коментар тук.
Той казва: "В 4K да изтривате квадратен корен но за вериги все още трябва да работят. "
ОК, така че какво означава това е, че има са два начина за събиране на тази програма.
Една от тях беше да се движат по една версия на този компютър Altair
че имаше само 4K думи памет, 4096 думи на паметта.
Но голямата версия имаше 8К.
И така, какво казва е че в 4K версия
трябваше да изтриете някои код, за да се побере.
И едно от нещата, , които ще бъдат изтрити
ще бъде корен квадратен рутина.
Но очевидно за електрическа верига трябва още
работи дори и когато сте съставяне надолу само на 4K версия на компютъра.
DAVID J. Malan: Така че една от темите, както ще видим по компютърни науки,
е това понятие за наслояване и абстракция,
и наистина стои на раменете на хора, които са дошли преди нас, а не
за разлика от някои от Бил Гейтс и Paul Allen разказ тук.
И какво означава това е, , че днес можем да вземем за
даденост, че нещата всъщност са по-лесно за нас да пишете код.
Всъщност код, както казахме в петък, е повече технически известен като изходен код.
И това е този английски като синтаксис че е по-правилно и по-добре дефинирани
от нещо като псевдо код, за които няма официална дефиниция.
>> И днес това, което ще да се съсредоточи върху е изходния код
който прилича на този, който Вярно е на пръв поглед
изглежда напълно загадъчен.
И честно казано, това е начин по-естетически комплекс от основната програма е.
All прави тази програма, Спомнете си, е какво да кажем?
Тя просто отпечатва "Hello World".
И все пак разгледаме всички неща, които трябва да обгърне, че много проста фраза.
Но не след дълго всички тези линии и повече
ще направи много по-добро чувство за вас.
>> И потока е както следва.
Това, което трябва, с които разполагаме е да се код, като източник
код, който току-що видяхме.
И ние се нуждаем от нова програма да тече през него.
Имаме нужда от алгоритми, които могат да конвертирате изходния код, като този,
в обектен код, 0s и 1s.
С други думи, отиваме да научите днес
е как да направите това, напишете изходния код до върха,
го давате като вход за специален програма, известна като съставител,
и ние отиваме да произвежда обектен код.
Което е просто един луксозен начин на Казваш, че ще вземе нещо
, който изглежда така, дай я в една програма, наречена компилатор,
производство на обектен код който изглежда по този начин.
>> Така че това са буквално моделите на 0s и 1s
че се разбира под Intel компютър тези дни,
че ако се тълкува от процесора, мозъците вътрешността на компютъра,
буквално ще отпечатате, съвсем просто, "Hello World".
Сега вече има начин повече 0s и 1s от теб да се надяваме, може да е необходимо за това.
Но това е така, защото ние строим за добра сделка на сложност
че отсега нататък ние можем да приемаме за даденост.
С други думи, много умни хора са ни дали много готини инструменти
и мощен софтуер, с който ние вече могат да се осъществяват проектите на нашите собствени.
>> Така че нека да започнем.
Като има предвид, миналия петък, и за Проблем Set 0 тази седмица
вие ще се играе в свят, който изглежда по този начин.
От днес и за Проблем Определете един през следващата седмица, кодът
ще изглежда малко по- загадъчно, но функционално е
ще бъде една и съща.
Така известие, отгоре е Scratch, дъното е C. Честно Scratch
е много по-удобни за лесен и достъпен.
Но ако сега сравним визуално отгоре дъно, има вид на едно към едно
кореспонденцията между пъзел парчета и езика
ние сме на път да играе с тях.
По-специално, да речем, синьо пъзел парче до върха,
очевидно е еквивалентно на това, което дума или специална фраза в този език
нарича C?
АУДИТОРИЯ: ФОРМАТ.
DAVID J. Malan: ФОРМАТ.
Това означава, форматиран печат.
И това е само една фантазия начин да се каже ФОРМАТ в C
ще бъде дадено изявление или функция който извежда нещо на екрана.
Какво означава да го отпечатате на екрана?
Каквото и да ти го кажа, до вътрешна цитати, вътре в скоби.
Така че отново, разбира се, има много неща,
че трябва да се има предвид, скоби, кавички, точка и запетая,
и всичко това.
Но всичко това е нещо от до точката.
Интересното храна за вкъщи за сега е, че блокът да речем в Scratch
е почти еквивалентна на отчета за ФОРМАТ в C.
>> Междувременно, жълто парче пъзел до върха, когато зелен флаг кликнали,
вероятно е еквивалентен до каква ключова дума тук?
АУДИТОРИЯ: Main.
DAVID J. Malan: Значи основната.
Може би ПНА, може би за невалидни.
Но основният вид звучи като това е важно, и наистина е така.
Така че, когато зелен флаг кликнали е, отново, на парче пъзел
че започва една Цялата програма Scratch.
Но ние ще се сега започвайте да викате че основната тази функция известен като основен.
>> Сега междувременно ние ще обобщим това, както следва.
Ние може да се нарече каже функция.
И това може да изглежда конкретно по този начин.
Е, какво да кажем за вериги?
Ако искаме да започне конвертиране или превода повече в Scratch за C,
това нещо тук явно просто казва "Здравей, свят" завинаги.
Така че, ако се сдружават тези скриптове с котка в Scratch,
това е просто да повтаряш в някаква карикатура балон,
"Здравей свят, здравей свят, здравей свят ", реклама nauseum, завинаги.
Ако искаме да направим нещо подобно в C, тя ще изглежда по-малко загадъчен.
Но ние можем да постигнем същия резултат води, както ще в крайна сметка
разберете, с синтаксис като този.
Отивам да се използва ФОРМАТ отново, защото в края на деня
Искам да отпечатате "Hello World".
И аз съм очевидно с помощта на ключова дума, която не е завинаги.
Това е вместо думата време.
Но просто семантично в Английски, докато вид
предполага някаква линия или цикъл.
>> Така, че се случва да бъде ключовата дума, която C използва.
И докато е вярно, защо докато вярно ефективно означава завинаги?
Е, време, тъй като ние скоро ще Оценявам още повече,
има това вмъкнат до него , където можете да сложите Булев израз.
И толкова дълго, колкото, че словото е вярно, този код,
като означен между тези две фигурни скоби, тъй като ние ще ги наричат,
просто ще продължи да работи отново и отново.
>> Така че, вярно е вярно.
Така че, докато истинските средства просто правя това вечно.
Това е почти една глупава конструира да изразиш себе си.
Но там не е завинаги ключова дума в C. Имаше време.
И имаше един много прост Булев израз като истина.
И така, това, ще видим, постига същия резултат.
>> Как иначе може да ви се приложи цикъл?
Е, в Scratch можете да твърд код определен брой
итерации в контура тук.
И така, това е точно това, което ние може да се направи в тази версия на C,
с което ние имаме така наречената за контур.
А за линия тук се случва да превъртите, малко загадъчно,
от стойността 0 нагоре да, но по-малко от 10.
>> Сега променливи в Scratch.
Може да не са имали повод да се използват тези.
Но какъв е смисълът, като цяло, на дадена променлива казахме миналата седмица?
Какво е това?
>> Публика: точки.
>> DAVID J. Malan: За да посоча?
О, точки.
OK, следене на точки, например, в една игра.
Или по-общо прави какво с променлива?
Каква е ползата от тях?
>> АУДИТОРИЯ: Memory.
>> DAVID J. Malan: Да, толкова памет.
Това е за съхранение на нещо.
И подобно на глупав визуална Използвах Последният път беше като тази стъклена купа.
И ако искаме да съхраним нещо вътре в променлива,
например в момента на стойност е шест, тъй като има
шест пинг-понг топки в тук.
Това е просто някакъв вид на съхранение контейнер, че под предния капак
се осъществява с бита, 0s и 1s, обаче компютър се случва да направя това.
>> Така че в Scratch, ако ние искате да имате променлива,
можем да използваме оранжев блок като този.
Ние ще се обадя, че борбата в този конкретен случай.
Аз го инициализира с 0.
И това, което аз тогава да направите?
Forever, да кажем брояч, който, ако играете с тази в Scratch,
вие просто ще видите Scratch.
Котката или каквото костюм ви постави на него ще говоря с номера по въпроса.
>> Промяна брояч от един е като увеличаване с 1.
И така, това ще се брои от какво и какво от това?
От 0 Тил безкрайност, или докато скреч-паузи,
или докато вид губят интерес към гледане
колко високо той всъщност може да брои.
>> И така, как бихме могли да я превърне в това, за да C?
Тя ще изглежда малко по-загадъчен.
Но отново, ако се вгледате в всеки на тези линии индивидуално
те вид подреждане обикновено.
Така че очевидно INT ще има някакъв специален смисъл в C.
Ще видите, че отново.
Като настрана, това означава число.
Така че това просто означава номер.
Така че това е вида на стъклена купа искам, една
който може да съхранява числа, не пинг-понг топки.
И аз отивам да се използва знака за равенство там, за да го зададете стойност 0.
Така че е съвсем като комплект брояч на 0, но в C.
>> В същото време, докато е вярно, че е еквивалент, разбира се, да завинаги,
макар че е малко загадъчен, и след това вътре на фигурните скоби.
И вие може да се мисли за тези фигурни скоби, които можете да пишете на клавиатурата си,
тъй като наистина е като кривината в тези жълти контур блокове в Scratch.
Тя включва няколко реда код.
>> ФОРМАТ става все по- малко страшно сега, защото аз
виж цитира не само в скоби.
Но какво друго е ново синтактично в този пример?
Има процента г.
И след това обратно наклонена черта н е там.
Ние видяхме, че и преди, дори макар че аз не го споменавам.
Тогава там е запетая.
И тогава там е един брояч.
>> Но ние ще видим само за момент, че това е само
стандартен начин да се каже за печат на "Десетично число", цитат, край на цитата,
някои десетични номер.
Но аз ще ви кажа по-късно какво е това десетичен номер.
Така че фактът, че има запетая в този ред поговорка ФОРМАТ,
означава, давай напред и печат някои десетични номер.
О, и между другото, броят им е независимо от стойността на тази променлива.
И така, за да стане това по- ясно, че ще видим един пример
Не след дълго, включваща точно ФОРМАТ в контекста на програмите за недвижими C.
>> Сега просто да приключи до някои на тези конструкции.
Булеви изрази, може да не са повод да се използват тези във вашата програма
но може би много добре, особено при използване на условия.
И така, тези два примера от Изтъркайте да кажа, ако х е по-малко от Y,
или ако X е по-малко от Y и Y е по-малко от Z, как бихме могли да преведе това?
>> Е, в C това е просто ще изглежда по този начин.
А малко загадъчни, повече скоби, някои странни амперсанди, но фундаментално
идеите са толкова прости, тъй като те са в света на пъзел парче.
Ние сме просто проверка, ако нещо е по-малко, отколкото нещо друго.
>> Какво ще кажете за условия?
С две думи на английски език, което прави това парче от Scratch код се бихте казали?
>> АУДИТОРИЯ: Сравнява две числа.
>> DAVID J. Malan: Сравнява две номера, и ако X е по-малко от Y
тя казва толкова много.
Ако X е по-голямо от Y той казва, като много, друго
ако х е равно на х го казва толкова много.
Сега къде е х и у идват от?
Кой знае.
Това парче от Scratch код е извън контекста.
Но това, което искам да направя сега е да преведете това само за миг да се види.
>> Така, както можете да се удобно тази седмица в Проблем Set
0 играещи в този свят в ляво, да разбере,
че идеите не се променят тази седмица или следващата, или след това.
Ние просто ще започнете да пишете неща
по различен начин с нашия клавиатура вместо на нашия мишка.
>> Така че, ако х е по-малко от Y, и Има някои скоби там,
след това има някои фигурни скоби отново, за да вид го капсулират
точно като жълтите пъзел парчета правят.
И аз отивам да ФОРМАТ х е по-малко от Y и така нататък.
>> Какво е хубаво за C, както можете да видите тук,
е, че те не получават това гнездене, гнездене, гнездене, че е задължително
ще наложи на кода в дясно.
Вместо Можете да имате всичко подреждане точно по този начин.
Но това е само естетически подробно ще видим отново след дълго.
>> Добре.
Така че това ни връща към този загадъчен търсите програма.
Нека всъщност пиша някакъв код.
Сега как да отида за писането на код?
През всичките тези години, че сте собственост на Mac или PC, десктоп или лаптоп,
сте имал действително възможност да започнете да пишете програмен код.
Но вие вероятно липсва специален тип програма.
Вие със сигурност може да се пише код.
Но не можеш да е задължително, изваждането от кутията,
конвертирате, че изходния код в обектен код, 0s и 1s
без това на вашия компютър?
АУДИТОРИЯ: Compiler.
DAVID J. Malan: Значи компилатор, нали.
Сега повечето от вас вероятно не притежават компилатор,
никога не са се изтеглили съставител.
Но вие ще видите, можете да го изтеглите като най-всяка друга част от софтуера.
В света на Mac OS, може да се изтеглите или вече са изтеглили
нещо, наречено Xcode или GCC или звъня.
Ако идвате от Windows ви светът може
изтеглили Visual Studio, Visual Basic, среди като това.
Има десетки компилатори тези дни, които можете да използвате.
Но в краткосрочен от него тук е, че той ще бъде болка
и, честно казано, технологична кошмар за стотици
на хора с различен компютърни конфигурации за всички
конфигуриране на техните машини точно по същия начин
така че всичко, което може да бъде на една и съща страница.
>> Така че това, което ние, вместо, направете в CS50 е ние да ви даде
стандартна среда, а Linux среда, която е
щеше да изглежда малко по- нещо като това.
Ще видите повече от този в Проблем Set една спецификация, която
ще отидете онлайн, този петък вечер.
>> И какво означава това е, че отсега нататък
ще бъде в състояние да изтеглите и инсталирате програма
наречен CS50 уреда.
И ти започваш да изтеглите и инсталирате друга програма, наречена
хипервайзор, който е само луксозен начин за постигане на това.
Независимо дали сте собственик на Mac или PC или Linux компютър или компютър, Solaris,
или каквото и луд операционна система, която пускате,
ти започваш да си изтеглите програма наречен хипервайзора, че е
Ще стартирате CS50 Техника на вашия компютър
Без значение какво си операционна система е.
Хипервайзор в други думи преобразува нашите неща какъвто и да е език,
каквото и инструкции ви собствен компютър разбира.
>> Така че това е наслояване.
И отново, това е един вид на тематична в компютър
науката, сградата на върха на нещата.
Може да имате Windows.
Може да имате Mac OS.
Но началото на следващата седмица, вие сте ще сте изтеглили
свободна част от софтуера нарича хипервизора.
Ти започваш да се изтеглили парче на софтуер, наречен на CS50 уреда.
>> Това ще да тече в хипервайзора, които ще работят на вашия компютър.
И крайният резултат е че всички от нас ще
има прост прозорец като този на вашия Mac или PC
която ни дава илюзията за всички движение на същата операционна система,
без друго въздействие върху вашия компютър.
И вие можете да цял екран това и по същество се държат
като че ли се работи с операционна система, наречена Linux,
което е това, което CS50 Техника се основава на.
>> Така че нека всъщност използвате този сега, за да се напише програма.
Можете да напишете програма с помощта на Microsoft Word.
Можете да напишете програма използвайки TextEdit или Notepad,
или WordPad, или почти всяка дума програма за обработка, което някога сте се използва.
Но реалността е, че не трябва да използвате наистина някоя от тези програми.
Вие със сигурност не трябва да използвате нещо като Microsoft Word, който
има смели изложение и курсив, и по-големи шрифтове и по-малки шрифтове,
защото компютърът не пука за нищо от това.
Всички компютърът е ще се грижа за е
English като инструкции, написани на C.
>> Така че това, което ние ще направим вътре на CS50 Appliance
се използват свободно програма достъпно, а това е
предварително инсталиран в този уред, наречен Gedit.
И Gedit е просто супер проста текстов редактор като TextEdit Mac OS е,
като Windows Notepad, че ще изглежда малко нещо като това.
>> Така че не е нека действително погледнете пързалки за това.
Но нека всъщност отиде в самата среда.
Отивам да вървим напред и влезете в системата, в този друг прозорец,
да ми CS50 техника, която аз съм предварително инсталирани на моя лаптоп тук.
>> Забележете, че, подобно на Windows и Mac OS, тя има някои от менютата.
Подобно на Windows го слага то там вместо
на Mac OS, което го поставя там.
Но реалността е, че е всички видове на същото.
И тук е цяло куп софтуер.
Има Dropbox.
Има цял куп аксесоари, графични програми, които ще
използвате по-късно в срока за проблемните комплекти.
Има един уеб браузър, създаден в така че това е пълноправен компютър
вътрешността на компютър.
>> Но аз отивам да кликнете върху тази Най-лявата бяла икона тук,
който е иконата за Gedit.
И това се случва, за да отворите прозорец че има три панела играта,
лява едно, топ един и отдолу една.
>> Сега тя е в това горе в дясно едно че Отивам да всъщност пиша някакъв код.
Така че нека да направим тази ,.
Отивам да отидете на File, Save.
И вие може да не сте виждали някога този прозорец преди.
Но това е като Mac OS или Windows.
Това е само един прозорец с всички папки
че имам вътре на този компютър.
>> И аз отивам да спаси файла като hello.c.
И аз отивам да напред и натиснете Save.
И сега забележи Имам раздела в горния ляв нарича hello.c.
Така че вероятно доста познато, дори ако не сте
използва тази конкретна програма преди.
>> И сега аз отивам да напишете в тези доста загадъчен последователност от команди
, която видяхме преди малко.
Включи, стандартна I / O.h.
Повече за това по-скоро.
Int основен нищожен, отворена къдрава презрамки, затворени фигурна скоба.
И тогава вътре от там мисля, че е където имахме "Hello World", точка и запетая.
И сега спаси.
>> Така че това е една програма, написана на C, писмено, следователно, че в изходния код.
Но аз не мога просто да стартирате тази програма.
I вид искате да се удвои кликнете върху икона някъде,
но няма икона съществуват други от изходния код на файла.
Какво, отново, е процес, сега, че Имам нужда да тече този файл чрез?
АУДИТОРИЯ: Compiler.
DAVID J. Malan: Значи компилатор.
Така че в различни компютри вас направите това по различни начини.
Но това, което сме направили тук, в на CS50 уред, който е
представител на това как може да се направите това по много различни системи,
е, че съм просто ще стартирате команда, наречена марка.
И да е буквално ще го направя.
Направи ми програма.
>> Така че ще се тичам компилатор за мен.
А името на програмата Аз искам да направя е здравей.
Сега да е програма.
И да е достатъчно, за да умни осъзнават, че ако кажа направи здравей,
тя ще изглежда автоматично за даден файл, наречен hello.c
просто защото това е начин, че е конфигуриран.
>> Така че, когато вече е хит Въведете тук, това луд загадъчен линия просто се изпълнява.
И повярвайте ми, преди да дълго, в рамките на само няколко дни,
ще разберете това, което всички на тези глупости средства.
Но за сега, просто знам, че правят задействаната изпълнение на компилатор.
С други думи, тя установи, компилатор на моя компютър
това е предварително инсталиран на CS50 Appliance
че ние ще предадем на вас в Проблем Set 1.
И след това взе hello.c като вход, и произведени очевидно
0s и 1s като изход.
>> И по подразбиране, което той прави, е да го спасява тези 0s и 1s във файл, наречен здравей.
И макар че този синтаксис твърде мощ е ново за вас, просто като кажа, точка
наклонена черта здравей ще бъде средствата, чрез които пускам тази програма.
>> За сега и за най-малко една двойка на седмица, почти всички програми
Ние пишем ще бъде в черни и бели текстови прозорци.
Не мишки не щракване, без прозорци, без икони.
Отиваме да го прости и да се съсредоточи върху основните идеи
първоначално, преди да стигнем до нещо, по-високо ниво, например,
като избухне игра, която ние говорихме за в първата лекция миналата седмица.
>> Така че, когато удари Въведете тук, това е равностойност в текст само околната среда
да се удвои като кликнете икона наречена Здравейте.
Какво очаквате воля се случи, когато ударих Въведете тогава?
>> АУДИТОРИЯ: Това ще отпечата "Hello World".
>> DAVID J. Malan: Да се ​​надяваме, тя ще отпечатва "Hello World".
И наистина го е направил.
Сега там е било известно загадъчен синтаксис тук.
Нека назад само за момент и да видим дали можем
не може да започне да прави извода, само чрез бърникането, опитвайки се, и при липса,
за това, което става тук.
Какво става, ако мога да се отърва от наклонена черта N?
Сега някои от вас, които сте програмиран преди вероятно
Знам мигновено какво означава това.
Но за тези от вас, които сте никога преди програмиран,
най-малко мисля за себе си какво се случва да се промени, когато се повтаря отново, но тази програма?
Така че аз отивам да се върна на моя малка черна и бяла прозорец, който
е прозорец, в който Можете да компилирате това.
Отивам да прекомпилирате здравей.
Отиваме, за да видите същото загадъчен последователност от команди.
И аз отивам да правя точка наклонена черта здравей.
И сега някой, ако щете, да който никога не е програмиран и преди,
какво би могло да бъде различно този път?
Да.
>> АУДИТОРИЯ: Тя няма да спре печат "Hello World".
>> DAVID J. Malan: Ще да-- съжалявам?
>> АУДИТОРИЯ: Тя няма да спре да го отпечатате?
>> DAVID J. Malan: тя няма да спрете разпечатването "Hello World".
Така че не е лоша идея.
Други идеи?
Да.
>> АУДИТОРИЯ: Съобщение за грешка?
>> DAVID J. Malan: Грешка съобщение, ОК, може да бъде.
Какво друго?
АУДИТОРИЯ: Може да се отпечата скоба с точка и запетая, както и?
DAVID J. Malan: Може да се отпечата скоба с точка и запетая, както добре.
Така че, може би, че наклонена черта след това е някаква вид terminous, че е важно.
Някакви други идеи?
>> Така че всички добри идеи.
И в действителност, това става за съобщение за грешка.
Това е може би най-вероятно за да се отговори по принцип
за следващите няколко седмици както ние се учим да се кодира тук.
>> Но за сега си спомням, че компютрите само, че това, което им кажа да се направи.
Много прилича на нелепо фъстъка масло и желе например.
Нашите човешки компютрите са само предполагаемите да направи това, което им казах да се направи.
Така че в този случай, ако Не казвай на компютъра
да се движат, че мига курсора до Следващата линия, тя няма да го направи.
Така че, когато стартирате тази програма сега, забележите разликата.
>> Прилича на бъг.
Това е естетически бъг, може би.
Но това, което е различно за това изход спрямо последната очевидно?
Да.
>> АУДИТОРИЯ: Той не е направил нов ред.
>> DAVID J. Malan: Той не е направил нов ред.
Сега онези от вас, които има може би правят уеб страници
и преди, може би знаете от BR тагове или етикет параграф,
много сходни по дух.
А уеб браузър ще ви игнорират, докато ти го кажа точно какво да правя.
По същия начин, е език като C само Ще направя това, което му казвате да прави.
>> Така че причината, поради която Всички тези примери,
досега, има вид на небрежно имаше тази наклонена черта
там, това е средството чрез които да изразиш себе си
като нова линия характер, така да се каже.
И вие можете да вид оценявам, може би, че това ще изглежда много глупаво
ако не друго.
Ако исках нова линия, просто удря Enter и след това вид
на клане кода като че не трябва наистина да ви трия по правилния начин.
И дори ако не го направиш наистина е грижа в този момент,
ще разберем, че това не е особено
добре изглеждащ част от код.
>> И така, това, което светът Преди решиха години е
че, когато искате да поставите курсора върху нов ред изрично,
трябва изрично да се каже, нов ред, наклонена черта п.
А има и някои други символи подобно.
Но за сега ние просто ще съсредоточи върху наклонена черта п.
>> Сега нека да се направи програмата малко по-интересна.
Отивам да вървим напред и този път се отвори нов файл.
Отивам да спаси това като здравей-1.в.
И само за ритници, аз отивам да отида да го сложи в моята Dropbox папка.
>> Както ще видите в CS50 документация за уреда,
по-късно тази седмица, за Проблем Определете един, ще насърчи
можете да използвате Dropbox или някои равностойна услуга,
защото тогава всички от вашия код за Ще бъдат подкрепени автоматично.
И така, това е защо аз съм отишло в тази папка тук.
>> И сега аз отивам да пиша малко по-различна програма.
Включи, стандартна I / O.h, вътр основната невалидна.
И тогава тук ФОРМАТ, здравей свят, което е точно същото, както преди.
>> Но сега искам да отпечатате нещо това е малко по-различна.
Искам да отпечатате, казват: "Здравей, Дейвид."
Добре, така че явно, тя трябва да се надяваме,
да бъде случаят, ако компилирате тази програма, изпълнете отново той,
че ще каже "здравей, Дейвид."
>> Но какво, ако искам да се въведе този вид на променлива,
понятието контейнер, който става за съхранение на D-а-V-и-г и не е трудно да го код
в моята програма.
Ами какво, ако започнете прави нещо подобно?
>> String S, така че това е променлива.
Ако искате низ, познат още като една дума или фраза.
Поредица от символи е какво ние в програмирането наричаме низ.
Ние просто ще генерично повикване това е, защото това е приятно просто име.
Но мога да го наречем нещо.
>> Отивам да се каже, струнни и равни в кавички, "Дейвид," точка и запетая.
И сега искам да вмъкнете D-а-V-и-г в това, което аз съм печат.
И преди видяхме тийзър на екрана на някакъв специален синтаксис
че ни позволи да заместител в стойност.
Какво бе специалната символ преди няколко пързалки?
>> Така процента.
По това време е процента г за десетичен номер.
Това наистина не изглежда уместно тук.
Оказа се, че има друг процента символ,
който е процента и, която стои за контейнер за низ.
>> Така че сега, много просто, аз съм ще отида да здравей-1,
тъй като този файл се нарича здравей-1.в, и натиснете Enter.
И аз се издъних.
Какво става?
Е, тук е мястото, където ние трябва да започнем да Оценявам това, че сме в тази команда
линия среда, този само текст среда.
Няма никаква щракване върху иконите като папки точно сега.
И мисля, обратно преди малко.
В коя папка направих аз казвам Пазех моя код?
Така че папката Dropbox.
Би могъл да се нарича нищо.
Но това се случва, за да бъде наречена Dropbox.
Така че аз по някакъв начин трябва да щракнете два пъти върху че Dropbox папка, за да получите
в него и да получите в моя код, наречен здравей-1.в.
Всъщност, нека да вървим напред и да се минимизира този прозорец само за миг.
Точно като Windows и Mac OS, има папки в Linux.
Има папки в CS50 уреда.
Това е точно сега сме ограничава себе си за този текст среда.
>> Но ако съм двоен клик на Dropbox, забележете, има
е файл, който искате да компилирате.
Но имам нужда от това черно и бяло терминален прозорец, така да се каже.
Но аз имам нужда, следователно, да се движат в тази папка или директория.
Така че малко тайнствена, но Ще свикнеш с това също.
>> В света на Linux, което отново е операционната
система ни изтича вътре на CS50 Appliance, има команда, наречена CD.
Което означава, че мога да направя CD, пространство, Dropbox.
CD, промяна директория.
Точно така.
Обратно, в деня, когато хората са били изобретяването на компютъра и операционната
системи като тази, те искаха да напишете възможно най-малко клавиши.
Така че най-лесният начин да се каже, промяна директория е CD.
>> Така че, ако се удари CD, пространство Dropbox, забележите, какво се е променило тук.
Вътре в скоби уредът е вид
на мен humoring и ми напомня къде съм.
Така отворената папка е Dropbox.
Ако сега пиша ли за списък, отново кратка,
защото хората не искат да въведете отново в ден л-и-и-т.
Така те вместо да го направи LS.
>> Enter.
Забележете, аз виждам две неща, здравей-1.в, и след това тайнствено нещо, източник 1м.
Това е само моя начин на казвайки: изходния код за седмица един понеделник.
Това е папка Свалих от Уебсайт CS50, че съм направил по-рано днес
и просто да го постави в уред предварително.
>> Но за сега единственото, което можем интересува се прави тази програма.
Така че, когато напишете направи здравей-1, Enter.
Дявол да го вземе.
Нещо се е объркало.
Така че нека да дразни този апарт.
И за съжаление това е мястото, където нещата получи малко стресиращо в началото,
най-малко, ако сте никога преди програмиран.
>> Моят бог.
Написах програма за две линии и Имам четири линии на грешки.
Така че това, което става тук.
Първо и преди всичко винаги превъртете назад нагоре и да намерят първо съобщение за грешка,
защото често компилатори просто се бърка с това, което и аз.
Съставители са доста тъпи.
Те ще правят това, което само можете да им кажа да се направи.
И ако ги обърка, те са просто Ще вид повърна ръцете си
а може би и хвърлят повече съобщения за грешки отколкото всъщност са от значение.
>> Така че нека да погледнем към първото.
Super загадъчен на първо време.
Но забележете, тук е името на файл, в който се издъних очевидно.
Colon 5, дебелото черво 5 просто означава на линия 5 в петия знак.
Така петата колона на героите, ако щете, грешка.
Използване на недекларирания идентификатор низ.
Може би имахте предвид стандартната п?
>> Не, имах предвид низ.
И тогава това е вид копиране и поставяне
това, което написах наистина да рисувам моя внимание към мястото, където се издъних.
Така по някаква причина С, или най-малко на компилатора
не разбира думата низ.
И това е така, защото ние го измислих.
Така низ не съществува в C. Какво CS50 прави,
за първите няколко седмици само на класа,
е ние предлагаме някои обучение колела, така да се каже.
И ние поставяме тези помощни колела вътре в специален файл, наречен CS50.h.
>> Така че това е втората от две файл имена, които очевидно завършват с точка з.
Нека назад.
ФОРМАТ е изявление или функция че очевидно отпечатва нещо
на екрана.
Но ти не ме видя приложат ФОРМАТ, нали.
Някой преди година, изпълнявани ФОРМАТ.
По какъв файл бихте заложите той или тя постави изпълнението
за ФОРМАТ, кодът за ФОРМАТ?
>> В един файл, наречен стандартна I / O.h.
В действителност, това е най-вероятно в два файла, стандартна I / O.h,
който стои за заглавна част файл, и стандартна I / O.c,
което е съкращение от C код.
Така че той или тя преди няколко години се пльосна кода, който те пише в този файл
така че хора като нас години по-късно може да го включват,
така да се каже, в нашите собствени програми.
>> И наистина, това е, което знака паунд последвано от думата включва прави.
Тя изглежда на локалния твърд диск, намира файла наречен стандартен I / O.h,
и след това ефективно копия и при него се поставят вътре в собствения си файл.
Така че сега програмата ми знае как да се отпечатва на екрана.
>> Така че от тази логика, където се определя низ?
>> АУДИТОРИЯ: CS50.h.
>> DAVID J. Malan: CS50.h.
И наистина, това е, което ние, на основния персонал, са направили.
Ние изобретихме няколко типове данни, така да се каже, като низ,
в допълнение към тези, които сте получите безплатно, като вътр.
И ние ще видим другите като Чар за характера и още няколко.
Вътре на CS50.h очевидно е най-малко някои споменаване на низ.
>> Така че сега нека да вървим напред и разясняване марка здравей-1.
Ще увеличите отново и стискайте палци ми.
Сега, като след като направи един промени оправих повечето неща.
Но дявол да го вземе.
Още процента от аргументи данни.
Какво съм направил погрешно този път?
>> Така че тя все още е доста загадъчен.
Но тази грешка е на ред 7 и характер 21.
Така че нека да отидем погледнете тук.
Това е малко коварен.
Но ако мислите, че за това, което основните идеи тук са,
може би можем да дразни този апарт.
>> Така ФОРМАТ е името на функцията.
Скоби, до този момент, е точно като това, което ние поставяме около
нещата, ние сме минаваща като ресурс за функция.
Добре, само един произволна човешка конвенция.
Използвайте скоби.
Вътре в тези скоби ние сме били пускането двойни кавички,
а след това и низ като "Hello World".
>> Но в този по-ранен пример много накратко направих погледнем с Scratch.
И ние имахме процента D, какво друго е вътре в тези скоби
че извиках вербално?
Да.
>> АУДИТОРИЯ: Така че това е това, което приемате [Недоловим] от вътре [недоловим]
какво е това [недоловим]?
DAVID J. Malan: Точно така.
Така че имахме процента г.
Но тогава имахме близо цитат, запетая, брояч.
Точно така.
Ние определено това, което искаме да се направи, тъй като контейнера.
Така че това, което аз ще направя тук, е запетая, какво искаш от мен да се сложи?
АУДИТОРИЯ: S.
DAVID J. Malan: S, защото и в този случай
е името на контейнера за съхранение.
Това е името на тази стъклена купа.
Като има предвид, преди да е брояч в тази прост пример Scratch разгледахме.
Така че сега, след като направи две промени, нека да увеличите
и да се опитаме още веднъж да събиране на тази програма.
>> Сега виждам, че загадъчен линия.
Но това е всъщност име на съставителя.
Звъня е името на съставителя.
Уверете се само, че ме спаси главоболието от всякога
пише, че дълго луд команда навън.
Така че сега, ако аз точка наклонена черта здравей-1, Аз трябва да видите "Здравей, Дейвид."
>> Pretty underwhelming, все пак, нали?
Бихме могли да са направили това е много по-просто
без да говорим за променливи и CS50.h и всичко това.
Така че нека да го правят малко по-интересна.
>> В допълнение към CS50.h, като неща като низ
обявено, библиотеката CS50 също има няколко функции.
Преди Така че просто като години, някой е написал ФОРМАТ и го сложи в стандартен I / O.h
и друг файл.
>> Ние, персоналът CS50, пише функция наречен GetChar, GetDouble, GetFloat,
GetInt, GetLongLong, GetString, и ние поставяме тези във файл
наречен CS50.h и CS50.c.
И ние ги сложи вътре на CS50 уреда.
И хората също могат да ги изтеглите онлайн, ако те
Искам да ги постави на тяхното собствените си компютри, както добре.
Което е да се каже, че ние сме създали функции, които се въвеждат от потребителя.
Аз не знам това, което всички на тези данни типове са.
GetInt е нещо просто, като получите число по някакъв начин от потребителя.
И GetString е вероятно като GET дума или изречение от потребителя.
>> Така че нека да се съсредоточим върху това.
И аз отивам да се върнете в уред и аз отивам да вървим напред
и запишете файла като, нека наречем тя здравей-2.в като втори моята версия.
И нека направим няколко промени.
>> Този път вместо трудно кодиране David, който
прави изключително последователен но underwhelming програма
какво ще стане ако вместо да направи GetString?
Сега забележите GetString има отворена скоба,
затворена скоба, защото тя не се нуждае от въвеждане.
Това е просто ще отида да низ от потребителя.
>> А сега няколко думи за друг синтаксис.
Точка и запетая просто сложи край на ред код.
Вие не се нуждаят от тях навсякъде.
Но това просто означава, че аз съм направено с тази линия на код.
Позволете ми да се премести на друг изявление или функция.
String декларира променлива.
String е като да кажеш, дайте ми една купа, моля.
И нека ме постави низ в него.
>> И сега знака за равенство.
Какъв е знака за равенство по същество еквивалентен на?
>> АУДИТОРИЯ: Присвояване.
>> DAVID J. Malan: Да, присвояване на стойност.
Така че, ако аз, например, повикване тази функция GetString,
и ще видим в един момент, че е ще напомни на потребителя за низ.
Това е като отдаване под наем след това ми пишете D-а-V-и-г върху парче хартия.
И когато казвам низ S е равна GetString,
равен наистина не означава, равен в C програмиране.
Това означава зададете от правото страна на лявата страна.
>> Така че аз съм намерила низ.
И знака за равенство означава да я тури в контейнер за съхранение нарича S.
И тогава премине това разстояние да ФОРМАТ действително да направи нещо.
>> Така крайният резултат след това се случва да изглежда малко по-различно.
Нека правим здравей-2.
Или биха могли да работят.
Ти си след себе си.
Направете здравей-2 работи.
Dot наклонена черта здравей-2, Enter.
>> Аз като че ли безкрайна контур или нещо такова.
Нищо не се случва.
Защо?
>> АУДИТОРИЯ: Тя е като един безкраен цикъл.
DAVID J. Malan: Това е един безкраен цикъл.
Това е един вид ме чака да всъщност я предостави с някои вход.
Така че нека да вървим напред и да въведете Давид, и натиснете Enter.
И сега тя казва "Здравей, Дейвид."
Ако аз го стартирате отново.
Да напишете Роб, "Здравей, Роб."
>> Сега това е най-лошото потребителски интерфейс всякога.
Потребителят е очевидно Трябваше да знам какво да правя.
Но няма значение.
Използвайки същите тези сграда блокове, точно като в Scratch,
можем да решим този проблем и да кажа, нещо като вашето име, моля, на дебелото черво,
пространство, затворени цитат, в близост скоби, точка и запетая.
Така че много отново глупост с синтаксис.
>> Но забележете, че току-що сте добавили пъзел парче над тази една
и над това.
Така че сега, ако аз проведена отново този, здравей-2, Enter.
Чакайте малко.
Какво не е наред?
Това не е да се държи по различен начин.
Да.
>> АУДИТОРИЯ: Вие не избяга направи отново.
>> DAVID J. Malan: Аз не направих тичам направи отново, нали.
Така че аз съм променил моя код.
Но отново, там е това поток.
Изходен код чрез компилатора дава Вие сте нов обектен код или 0s и 1s.
Така че аз трябва действително да разясняване марка здравей-2 Enter.
Добре, нещо изглежда да се е случило.
Dot наклонена черта здравей-2.
Вашето име моля.
И за да е ясно, сега, защо е курсора на същата линия?
Точно така.
Аз не съм слагал на наклонената черта п тук в моя код.
Така че сега мога да напиша нещо като Дейвън, Enter.
Мога да го стартирате отново и напишете нещо като Габе, Enter,
и получаваме друга програма отново и отново, и отново.
>> Сега в крайна сметка ние ще трябва да използвате няколко различни възможности.
Ние трябва да се въведе в крайна сметка някои условия, за да правят неща, условно.
Може би контури, така че ние можем да направим отново и отново нещата.
>> Може би щеше да е хубаво, ако ние би могла да изпълни собствените си функции,
като бихме могли да изпълнят нашата собствена ФОРМАТ или нашата собствена версия на GetString
и GetFlow, защото в крайна сметка дори използването на тази онлайн среда команда
можем да направим, дори и най- визуално интересен на нещата.
>> Всъщност в заключение позволете ми да направя това.
Отивам да вървим напред и затворете тези прозорци
и отворете тази икона тук, което е просто по-голяма
версия на този внедрен терминален прозорец.
Така Gedit има не само мястото за моя код,
но също така и вграден терминален прозорец, за черен и бял прозорец, където мога да тичам
команди.
>> Аз просто се случи, за да отворите по-голяма версия на този.
И сега аз ще отида в папката, която вече съм
сложи предварително на интернет страницата на курса.
И аз отивам да вървим напред и отворите файл, наречен thadgavin.c,
който е написан от някой друг.
>> И ако се вгледаме в това, това не е вид на код
ние ще се пише, тъй като целта на този кодекс
беше да напиша най-красивият търси код, който той или тя би могла,
независимо от това дали или не друго човешко същество може някога
разбирам този кодекс.
>> Всъщност, всяка година там е това, което е Нарича се завоалира C конкурс, който
е за истински маниаци, които пишат код, който никой друг не може да чете,
но който върши нещо или наистина прости или наистина невероятно.
И ние решихме, че ние бихме сключва с този поглед
в нещо, което е доста невероятно може би сте виждали някога преди.
Но ние ще сложи край на тази бележка, точкова черта, thadgavin.
Това тогава е това, което очаква.
>> Това е за CS50.
Ние ще се видим в сряда.
>> [За възпроизвеждане на музика]