>> Давид Ј. Малан: Дакле, ово је ЦС50.
И то је било ЦС50 сопствене Цолтон Огден, за више од тога ко је музика можете
довнлоад ат соундцлоуд.цом/цс50.
>> Дакле, данас ћемо се фокусирати све више о уметности програмирања.
И ми се где смо оставили прошле недеље, са фокусом
на Огреби, што је ова Графички програмски језик.
И да ствари своди на нижем нивоу, користите више традиционално програмирање
језика познат као Ц. Али успут, схватајући
да су исте идеје смо говорио о прошлог петка
неће поновити не само у овом језик Ц, али у већини сваки други
да погледамо овај семестар.
>> Па смо звали ову ствар Овде шта последњи пут?
То је представник изјаве.
Па смо звали изјава.
И то ради нешто.
То је упутство да рачунар или Сцратцх може да изврши.
И од сада, хајде да се почне називајући нешто овако функција,
из разлога ћемо ускоро видети.
>> У међувремену, видели смо овакве ствари.
А то су углавном познат као шта изградња?
>> Публика: Лооп.
>> Давид Ј. Малан: Тако петља.
Тако прилично јасно.
То буквално ради шта пише.
А у Огреби, ако желите да стрпати још делове слагалице тамо,
комад ће расти да стане.
Па ћемо видети у Ц који можемо да урадимо исту ствар.
>> Други тип петље, међутим, у Огреби можда заувек,
или има било који број других приступа.
Али хајде да узмемо више општих изглед, са лицем
То је вероватно прилично позната, на петљи уопште.
Марк Зуцкерберг: Један Оно што рачунари
су заиста добри у јесте понављање команде.
Као особа, ти би се Стварно досадно ако вас
је морао да уради исту ствар Много пута за редом.
Али компјутер може да уради исту ствар милионима или чак милијардама пута,
а не досади, и бити у стању да спроведе да од заиста добро.
>> Тако на пример, ако желео да желе свима
на Фацебоок-у срећан рођендан шаљући им е-маил,
можда ме више него века да се заиста напише
све те е-поште свима.
Али са само неколико линија кода, могу имају систем пошаљете емаил на свима
на Фацебоок желећи им срећан рођендан.
Дакле, то је оно што су петље и зашто они су вредни и нешто
да рачунари могу да ураде добро.
>> Давид Ј. Малан: Па ако сте били прималац
неких ЦС50 је и Дропбок је простор касно,
то је заправо управо оно што смо уради, користећи код сасвим тако.
Ми у суштини имамо велики табела у којој
људи су уношења њиховог имена и е-маил адресе.
И ми смо написали мали део кода који може прелазили преко те адресе
и испљунути јединствене адресе у Случај је неко доставио више пута.
И након тога, шаљемо аутоматска е из ЦС50 је бот,
укључујући и купон.
>> Сада смо и гледали Ова конструкција последњи пут.
И ово је посебан пример шта?
Дакле, да, Боолеан израз.
И облик намењен да ухвати и то.
Сви такви питања формирају труе или фалсе у Огреби
ће изгледати нешто овако.
И то називамо Боолеан израз.
То је заиста тачно или нетачно, да или не.
То је начин да одговорите на питање.
>> А у међувремену можете да користите ове Боолеан изрази унутар конструката
попут ове, која је од Курс су услови
или гране, пословична виљушке на путу.
И они могу да изгледају не само овако, али они такође могу
су Елсес повезане са њима.
А ви заправо може имати три начина раскршћу или четворосмерни виљушка
на путу, једноставно гнезди ове ствари,
као што ћете видети у Огреби ако не већ.
И као што можете да урадите у Ц као добро.
>> Узмимо још Генералист Погледајмо алумнист, такође, ко
може да представља другачији приступ на те ствари зову услови.
>> Бил Гејтс: Људи праве одлуке сваки дан.
На пример, пре него што одете напоље вас врста има ако изјаву да каже,
ако је онда пада киша сам Потребно је да узмем јакну.
И рачунари су невероватна једном вас одлучује оне врсте изјава,
да поуздано могу да изврше Те ствари на невероватне брзине.
Па компјутерски програм заиста је мало математике и неких
ако исказима у којима одлука добија направио.
>> Давид Ј. Малан: Дакле, као што можда већ знате, било је
људи као што су Бил Гејтс, Пол Ален, и други
који заиста почела тзв Персонал Цомпутер
Револутион пре неколико година.
Мислио сам, пре него што смо заронимо у неке Административно,
ћемо се односе на причу из Албукуеркуе, Нев Мекицо Мусеум оф Натурал Хистори
и наука, где су неки од Била Гејтса ' и Паул Аллен најранијим приче
испричао како су ми сада имамо данашњи ПЦ и Мац и још много тога.
За то, међутим, треба нам два волонтера који имају веома добре нарације гласове
да чита наглас сценарио.
>> У реду, како се о томе у тамо.
Дођи горе.
А шта је са испред овде.
Хајде доле.
Узми своје места овде.
Као што сте ви дошли до, пар административних саопштења.
сечења, процес одабира одељак,
почеће ове Среда до петка.
Више о томе ово долази У среду у предавању.
>> Супер секције, у међувремену, су нешто што нудимо следеће недеље
при чему цела класа је позван да учествују у прилично великој мери
секције, још један удобан, један мање удобан.
И ми ћемо објавити податке тога, као и, касније ове недеље.
>> У међувремену, секције сами, ће почети
у недељу три курса, нула индекс, што значи да они који су неколико недеља
оут.
Тако да се не бринем.
Још нисте пропустили нешто у том смислу.
У међувремену, у међувремену, ако је вама имате административно било каквих питања,
емаил себе и Девон и Габе и Роб на овој адреси овде.
>> На крају, проблем сет 0 је, наравно, напоље.
Можда сте приметили на сајту курса екипе.
То би требало да вам пружи сви одговори на питања
можда ћете морати успут за почињете са проблемом сет.
Али, ако се нађете потребна помоћно руке,
свим средствима присуствују радно време, Понедељак, уторак, среда, четвртак
ове недеље у вечерњим сатима у четири трпезаријама.
Видиш ону УРЛ тамо појединостима где ће бити радно време.
>> Хајде сада да задовољи наше два госта данас.
Како се зовеш?
>> ЈАИ ПАВЛЕ: Јаи Пол.
>> Давид Ј. Малан: Јаи Паул, драго ми је да смо се упознали.
>> ХИКАРИ: Хикари.
>> Давид Ј. Малан: Хикари?
>> ХИКАРИ: Хикари.
>> Давид Ј. Малан: Хикари.
Драго ми је да вас упознам, као добро.
Џеј Павле и Хикари имају у Испред њих на овим музику
стоји два писма које сам штампане јутрос из Новог Мексика
Природњачки музеј и науке.
И оно што сам мислио Ја бих на графоскоп
се прате свој рецитовање скрипта и ове историје
са неким визуелним сликама, без изненађења.
>> И шта сам урадио унапред се у ситуацијама на вашем сценарију
шта треба да прочитате, и шта треба да прочитате.
И ми смо у суштини ћу само алтернативне пасуса.
Тако да много је као да би могао су урадили на енглеском класе.
То је стварно натерати публику да верују у причи овде.
Хоћемо ли?
Па овде је прича, имамо БАСИЦ, а почиње у Кембриџу.
>> ЈАИ ПАВЛЕ: Била је зима, 1974, у Кембриџу, Масачусетс
где зиме може бити хладно.
Брадати, лонг хаиред Цоллеге Дропоут имену
Пол Ален је друдгинг преко Харварда Квадрат, апсорбује у његовим мислима.
Његова главна преокупација у те дане је био како да свог пријатеља, Бил Гејтс,
да напусти школу и отићи у посао са њим.
ХИКАРИ: двојица су већ отишли кроз низ пословних подухвата
заједно, са почетком у Лакесиде школа у Сијетлу где
су плаћени у слободно време на компјутерском тестирате ПДП-10 рачунар у локалном времену
дељење компаније.
Најновија План је био да одустанем школа и формирају софтверску компанију.
Аллен напустио Вашингтон Стате университи.
Али у последњем тренутку, Капије одлучио да се држи са Харварда.
>> ЈАИ ПАВЛЕ: Тог дана, прелазећи Харвард Скуаре, Аллен приметио јануара,
1975 Питање Популар Елецтроницс са земљом заустављања наслова,
Први миникомпјутер Кит свету на ривала Цоммерциал Модели.
Испод наслов био слика малог кутије
украшена светлима и прекидачима.
Звао се МИТС Алтаир 8800.
И Аллен знао да је оно што је је био у потрази за.
>> ХИКАРИ: затим Дани дискусије.
Ален и Гејтс схватио Значај Алтаир.
Они су често разговарали Абоут микропроцесора
и чекали да виде шта ће се радити са њима.
Сада постоји миникомпјутер Кит поклопац Популар Елецтроницс.
То очигледно још није никакав софтвер.
Они су замишљали нацију Програмери опадајуће на МИТС.
И тако су звали Ед Робертс, Шеф компаније,
тврдећи да има верзију ОСНОВНИ програмски језик скоро спреман
за Алтаир.
Нису.
И Робертс мора да зна да није.
Он је добијање 10 позива дневно од људи који су ОСНОВНИ скоро спреман.
И његов одговор стоцк био "прва особа
ко се појави са радном ОСНОВНИ добија уговор. "
>> ЈАИ ПАВЛЕ: Гејтс и Ален никада видели Алтаир.
Они никада ни видео Интел 8080 микропроцесор
у срцу Алтаир.
Већ неколико година раније Аллен је написао програм
на маинфраме рачунару који емулираног рад претходне Интел
микропроцесор.
И овај пут они би урадио исту ствар.
>> ХИКАРИ: са Интел 8080 упутство на његовој страни,
Аллен сео Харвард ПДП-10 рачунара
и написао емулатор и софтвер Алати потребно урадити програмирање.
У међувремену Гејтс је престала да иде класама и посветио
пројектовању Основног, користећи сваки трик
знао је да добије величину доле 4 килобајта.
>> ЈАИ ПАВЛЕ: Оут у Албукеркију, Ед Робертс добила позив од Гејтса
тражећи детаље о томе како Алтаир рукује специфичне рутине.
Нико никада тражио да раније.
И Робертс је почео да се занимам.
>> ХИКАРИ: Са развојем алата и дизајн спреман,
Гејтс и Ален написао код на ПДП-10,
уписивање још Харвард студент, Монте Давидофф, писати математичке рутине.
После завршног ноћи програмирање, Аллен добио на авиону
да доставе своје основних до МИТС.
Он је провео авион вози се бринеш.
И назад у Кембриџу Гејтс је забрињавајуће.
Они су тестирали њихова основна и да је радио на емулатора.
Али шта ако емулатора била погрешна?
ЈАИ ПАВЛЕ: Као авион пришао Албукуеркуе,
Аллен схватили да је њихова БАСИЦ, сада уредно садржане
на малом ролну песницама папирне траке, да
бити бескорисно без посебног Програм, који се зове програм, који
би рећи како Алтаир да прочитате папирне траке биће
хранио у телепринтер машину.
Он је извадио бележницу и брзо скициране доле програм утоваривач
на Скупштини језику, а затим ручно преведен је у 1с и 0с
Алтаир би разумео.
>> ХИКАРИ: Ален је очекивао Цлеан, мала, висока технолошка компанија
води мушкараца у пословним оделима.
Тако да је био изненађен када је Робертс испуњени га на аеродрому личи ранчу
рука.
Робертс је такође изненађен.
Када је пао на Харварду програмер по скупе хотелу,
Аллен морао да призна да Он није могао да приушти собу.
>> Јаи Паул: МИТС, сама, била је налази у прашњавом траке тржног центра.
Унутра на претрпан Радни сто је Алтаир
учитан са 5 килобајта меморије и повезани каблом
на телепринтер машину.
Робертс и главни инжењер, Бил Иатес, чекао очекујући
као Аллен тогглед његов утоваривач Програм у Алтаир.
Телетипе почео цхуггинг како извукао папир трака кроз траке читача.
Је можда 15 минута трајало да се учита програм.
Тада Телетипе нагло штампан Меморија брз, онда спреман брза,
и Ален почео куцање неколико тест команде.
На опште изненађење, Софтвер је радио.
Било је бубе, наравно.
Али главна ствар је то радила.
>> ХИКАРИ: Касније, на путу за $ 3.00 ручак у Панцхо је, оса је летео
у прозору пицкуп камион и убоде Аллен на руци.
Али у том тренутку ништа могао покварити расположење.
Алтаир је сада имао своје основне, Први комерцијални софтвер за дом
рачунар, од стране Паул Аллен и Бил Гејтс, послује као Мицрософт.
>> Давид Ј. Малан: Много захваљујући нашим два читаоцима.
>> [АППЛАУСЕ]
>> Давид Ј. Малан: Сада имате избор,
пре него што одете, од спаркли или сјај у дарк-- Ох,
чекај секунд, ваит-- спаркли и сјај у мраку слона
из ЦС50 сопствене Цхенг Гонг.
ХИКАРИ: Ах, хвала.
Давид Ј. Малан: Све У реду, хвала ти пуно.
[АППЛАУСЕ]
Давид Ј. Малан: Зато истинита прича.
То значи да сви ови машине и лакоћа са којом се
користимо их сада и преузме здраво за готово, стварно
почео овде, неколико корака из овог стварног позоришта.
А сада и данас, ако не сте били, ово је Маквелл Дворкин, компјутер
науке зграда, такође иза угла.
А на другом спрату ове Зграда не виси три странице
од оригиналног изворног кода који Бил Гејтс и Пол Ален написао.
У ствари, ако употреба увећате у можете видети не само да
њихова имена оригинал тип, али такође
њихови потписи да су украшена уназад неколико година, када су последњи пут посетили.
>> Али оно што је било посебно убедљив о томе је оно што они кренули да раде
је био да напише програм који ће омогућавају друге људе да пишу
сопствене програме.
У то време све било са Ова Алтаир машина направио МИТС.
И све што је било потребно је на неки начин од што га чини лако за хобисте и људе
Попут нас у овој соби да се заиста програма да без нужно разумевања
Скупштина кода, или машина код, или не дај Боже, 0с и 1с.
Ми програмери, као што су оне у овој соби, ми смо
желе да буду у стању да изразе сами много више личи псеудо код
чак и ако је мало више НИТ избирљиви него што смо разговарали прошле недеље.
Ми не желимо да пишу код овако, који Паул Аллен и Билл Гатес учинио.
Ми, уместо тога, желе да пишу код који изгледа мало више корисник пријатан.
>> Сада ово је језик познат као основне.
А бројеви линије постоје шта вас користе да једноставно броји линије кода
да пишеш.
Ми чак не морају да урадити ових дана.
Али можете видети овде како принт "Здраво, свет"
Заиста би вероватно штампају управо то.
И шта Бил и Павле урадио је оснажи људе да пишу код овако
уместо тога од-- ако погледате цомпутер сциенце валл-- код овако.
>> У ствари, недавно ЦС50 су имали прилику
да седне са професором Харри Левис у Цомпутер Сциенце одељења, који је
заправо учио Билл Гејтс пре неколико година,
и овде стоји пред Те три странице извода.
Хајде да погледамо.
>> ХАРРИ Левис: Оно што овде имамо јесте списак раног комад софтвера
написао Билл Гатес и Паул Аллен, оснивачи Мицрософт.
Па код је занимљиво из два разлога.
Пре свега, постало Мицрософт-ов први производ,
који је био преводилац БАСИЦ програмски језик.
И друго, то је било један од првих покушаја
да створи преводиоца тако обично људи могу да користе личне рачунаре.
>> Дакле, Бил Гејтс је апсолвент на Харварду.
Почео сам да предајем на Харварду 1974.
То је урађено у 1975.
Тако да је на почетку каријере и почетком у мојој каријери.
Ја стварно учио закона у Наравно у ово време.
Паул Аллен није био Харвард студент, али је
био средњошколац цлассмате Била Гејтса.
Ако дођеш и изгледа на попису, ти ћеш
заправо наћи трећи име, Монте Давидофф,
који је Гатес-а цлассмате овде на Харварду.
>> У реду, ево интересантан коментар овде.
Пише "У 4К можете брисати квадратни корен али треба и даље радити Лоопс ".
У реду, па шта то значи да постоји су два начина за састављање овог програма.
Један је био да ради на верзији овог Алтаир рачунара
да је имао само речи 4К Меморија, 4,096 речи меморије.
Али велика верзија имала 8к.
Па шта је ово каже је да је у верзији 4К
сте морали да избришете неке код да би се слагао.
А једна од ствари да ће бити избрисан
би квадратни корен рутина.
Али очигледно за Лоопс треба и даље
раде чак и када сте састављања доле за само 4К верзију рачунара.
Давид Ј. Малан: Значи једна од тема, као што ћемо видети у компјутерској науци,
је ова идеја Раслојавање и апстракција,
и заиста сам стајао на раменима од људи који су дошли пре нас, а не
За разлику од неких од Била Гејтса и Паул Аллен наративне овде.
И шта то значи да данас можемо узети за
готово да су ствари заиста лакше за нас да пишу код.
Заиста код, као што смо рекли у петак, је више технички познат као изворни код.
И то је тај енглески као синтаксе то је више правилно и више добро дефинисани
него нешто попут псеудо код, за што не постоји формална дефиниција.
>> И данас оно што ћемо да се фокусира на је изворни код
да изгледа овако, што Додуше, на први поглед
Изгледа потпуно Цриптиц.
И искрено, то је много више естетски сложенији него основни програм.
Све Овај програм ради, Подсетимо, је оно што смо рекли?
То је само штампа "Хелло Ворлд".
А ипак погледај све ствари ми је потребно да заврши око тог веома једноставну фразу.
Али убрзо све ове линије и више
ће учинити много бољи осећај за вас.
>> А проток је као што следи.
Оно што нам је потребно на располагању је да се код, као и извора
код које смо управо видели.
И ми треба нови програм да га покренете кроз.
Ми треба алгоритме који могу цонверт изворног кода, овако,
у објекат код, 0с и 1с.
Другим речима, оно ћемо да научимо данас
је како да то урадите, пишу Соурце Цоде уп врха,
прође га као улаз у посебан Програм познат као компајлер,
а ми ћемо за производњу објекат код.
Што је само фенси начин рекавши ми ћемо узети нешто
да изгледа овако, то пасс у програму под називом компајлер,
производња објецт цоде то изгледа овако.
>> Дакле, то су буквално обрасци 0с и 1с
који се разумеју Интел рачунар ових дана,
да ако тумачи ЦПУ, мозак унутар рачунара,
ће буквално одштампати, једноставно, "Хелло Ворлд".
Сада постоји много више 0с и 1с од тебе се надамо можда ће бити потребно за то.
Али то је зато што смо изградњу на добром дозом сложености
да ми од сада може узети здраво за готово.
Другим речима, много паметних људи су нам дали доста кул алата
и моћан софтвер са којима смо Сада могу да пројекте наше.
>> Дакле, хајде да почнемо.
Док прошлог петка, и за проблем Сет 0 ове недеље,
ћете бити играње у Свет који изгледа овако.
Од данас и за Проблем Сет 1 следеће недеље, код
ће мало више изгледа загонетан, али функционално је
ће бити исти.
Дакле обавештење, Топ је Огреби, дно је Ц. Искрено Огреби
је много корисник пријатан и приступачан.
Али ако сад упоредите визуелно одозго дно, постоји нека врста један на један
кореспонденција између Пуззле комада и језика
жемо да се играју са.
Конкретно, кажу, плави слагалице комад Уп Топ,
је очигледно еквивалент ономе кључној речи или посебан израз у том језику
звао Ц?
ПУБЛИКА: принтф.
Давид Ј. Малан: принтф.
То значи форматиран штампање.
А то је само Фанци начин да се каже принтф у Ц
ће бити изјаву или функцију да штампа нешто на екрану.
Шта то одштампа на екрану?
Шта год да кажеш да га унутра цитата, унутар заграда.
Дакле, поново, додуше, има пуно ствари
да морате имати на уму, заграде, цитати, тачка-зарез,
и све то.
Али све то је нека врста у поред тачке.
Занимљиво такеаваи за сада је да рецимо блок у нуле
је прилично једнак изјава принтф у Ц.
>> У међувремену, жута Пуззле комад до врха, кад зелена застава кликне,
је вероватно еквивалент шта кључној речи овде?
Публика: Главни.
Давид Ј. Малан: Тако главни.
Можда инт, можда празнина.
Али главна врста звукова као што су важно је, и заиста јесте.
Дакле, када се кликне зелене заставе је, опет, слагалице комад
да почиње цео Сцратцх програма.
Али ми ћемо сада почети позивање да је главни, ова функција познат као главни.
>> Сада у међувремену ћемо генерализовати то на следећи начин.
Бисмо могли назвати рећи функције.
И то може да изгледа посебно овако.
Па, шта је са петље?
Ако желимо да започнете конвертовање или превођење више у Огреби на Ц,
Ова ствар овде очигледно само каже "Хелло Ворлд" заувек.
Дакле, ако сте повезивање ових Скрипте са мачком у Огреби,
то је само ће да каже у некој врсти цартоон балона,
"Хелло Ворлд, Хелло Ворлд, здраво свет ", а.д. наусеум, заувек.
Ако желимо да урадимо нешто слично у Ц, то ће да изгледа мало загонетан.
Али можемо постићи исти резултате, јер смо на крају ћу
сазнати, са синтакси овако.
Ја ћу поново користити принтф, јер на крају дана
Желим да принт "Хелло ворлд".
А ја очигледно користим кључна реч која није заувек.
Уместо тога је реч док.
Али само у семантички Енглески, док је врста
предлаже неку врсту петље или циклуса.
>> Тако да се дешава да се кључна реч да Ц користи.
И док истина, зашто мало Истина ефективно значи заувек?
Па, док, као што смо ускоро Ценим све више,
има ту загради поред ње где можете ставити боолеан израз.
И тако дуго као да израз је истина, овај код,
као означен између ове две цурли протеза како ћемо их звати,
ће само наставити да ради изнова и изнова.
>> Па истина је истина.
Дакле, док правим путем само уради то заувек.
Скоро да је глуп изградити да се изрази.
Али не било заувек кључна реч у Ц. Било је време.
И било је врло једноставан Боолеан израз као истина.
И тако то, видећемо, постиже исти резултат.
>> Како другачије може да примените петљу?
Па, у нуле и мислио Тешко код одређени број
итерација у петљи овде.
И то је управо оно што смо може да уради у овој верзији Ц,
где имамо тзв на петљу.
А за петљу овде се дешава до прелазили, донекле загонетно,
од вредности 0 горе да, али мање од 10.
>> Сада променљиве у нуле.
Можда нисте имали прилика да користе ово.
Али шта је поента, уопште, променљиве смо рекли прошле недеље?
Шта је то?
>> Публика: Поинтс.
>> Давид Ј. Малан: У тренутку?
Ох, истиче.
У реду, праћење поена, На пример, у игри.
Или уопште ради шта са променљиву?
Шта је корисност од њих?
>> Публика: Меморија.
>> Давид Ј. Малан: Да, тако меморија.
То је за складиштење нешто.
И врста визуелног глупо сам користио Последњи пут је као ове стаклене посуде.
И ако смо хтели да складишти нешто унутар варијабле,
на пример, сада вредност је шест зато што постоји
шест пинг понг лоптица овде.
То је само нека врста складишта контејнер који испод хаубе
се спроводи уз бита, 0с и 1с, Међутим, рачунар се дешава да се то уради.
>> Дакле, у Огреби, ако желе да имају променљиву,
можемо користити наранџасто блок овако.
Ми ћемо позвати то цоунтер у овом конкретном случају.
Ја га иницијализован на 0.
И шта је онда да радим?
Заувек, кажу цоунтер, који ако играте са тим у Огреби,
само ћете видети огреботина.
Мачка или шта костим сте ставили на њега ће говорити број у питању.
>> Промена Цоунтер би 1 је Као увецава за 1.
И то ће се цоунт од чега па шта?
Од 0 тил бесконачности, или до Греб паузе,
или док не врста губе интересовање за гледање
колико високо он заправо може да рачуна.
>> Па како бисмо могли конвертовати ово Ц?
То ће да изгледа мало загонетан.
Али опет, ако се осврнемо на сваки од ових линија појединачно
они некако формацији уопште.
Па очигледно инт ће се има неки посебан значај у Ц.
Видећемо то поново.
Као страну то значи цео.
Па то само значи број.
Дакле, то је врста стаклене посуде Хоћу, један
који може да ускладишти бројеве, Не пинг понг лоптица.
И ја ћу користити знак једнакости тамо да га доделите вредност 0.
Дакле, то је прилично слично сет цоунтер на 0, али у Ц.
>> У међувремену, док је истина, то је било еквивалент, наравно, да заувек,
иако је мало загонетан, а онда унутар великих заграда.
А можете мислити од ових заграда, којима можете куцати на тастатури,
као заиста је попут кривине у Ови жути лооп блокови у нуле.
То обухвата више линија кода.
>> Принтф постаје мало застрашујуће сада, јер ја
види цитира не само у загради.
Али оно што је још ново синтаксички у овом примеру?
Постоји посто д.
А онда бацксласх н је ту.
Ми пре нисам видео, чак и мада ја нисам поменуо.
Затим, ту је запета.
А онда ту је бројач.
>> Али ми ћемо видети у само тренутак да је ово само
стандардни начин да се каже одштампати "Децимални број", цитат, цитата,
неки децимални број.
Али ја ћу да вам касније шта је децимални број.
Дакле, чињеница да постоји зарез у овој линији изрека принтф,
значи само напред и штампање неки децимални број.
Ох, и успут, број без обзира вредност ове променљиве је.
Па да се то још Цлеар, видећемо пример
Убрзо укључујући тачно принтф у контексту реалног Ц програма.
>> Сада само да завршим неке ових конструката.
Логички изрази, можда нећете имати прилика да користе ово у свом програму
али можда добро, нарочито ако користећи услове.
И тако ова два примера из Огребите значи ако је к мање од и,
или ако је к мања од И и И је мање од з, како бисмо могли превести то?
>> Па, у Ц то је само ће да изгледа овако.
А Литтле Цриптиц, више заграда, неки чудни амперсандс, али у основи
идеје су тако једноставне као што су у пуззле пиеце света.
Ми једноставно провере да ли нешто је мање од нешто друго.
>> Шта мислите о условима?
У кратким цртама на енглеском, шта то комад Огреби кода до би ти рекао?
>> ПУБЛИКА: пореди два броја.
>> Давид Ј. Малан: пореди два бројеве, а ако к је мања од и
пише колико.
Ако је к је већи од и каже колико, иначе
ако је к једнако и каже колико.
А где сте Кс и И долазе?
Ко зна.
Овај комад Огреби код је ван контекста.
Али оно што ми желимо да урадимо сада је превести ово само тренутак да видимо.
>> Дакле, као што се удобно ове недеље у Проблем Сет
0 играње на овом свету на левој страни, схватају
да се идеје не мењају ове недеље или следеће или изван.
То једноставно ћемо почнете да пишете ствари
на другачији начин са нашим тастатура уместо нашег миша.
>> Дакле, ако је к мање од И, и постоје неке тамо заграда,
онда постоје неке цурли протезе поново некако обухвати
баш као што су то жуте комада слагалице уради.
И ја ћу да принтф к је мање од и и тако даље.
>> Оно што је лепо у вези Ц, као што можете видети овде,
је да не добијете ову нестинг, нестинг, гнезди то је нужно
ће гурнути свој код у десно.
Уместо тога можете имати све Постава уредно овако.
Али то је само естетски детаљ ћемо поново видети пре дуго.
>> У реду.
Тако да нас враћа на Овај Цриптиц лоокинг програма.
Хајде да заправо напише неки код.
Сад, како идете о писању кода?
Све ове године које си у власништву Мац или ПЦ, десктоп или лаптоп,
заправо смо могућност да започнете писање програмског кода.
Али вероватно пропуштате посебна врста програма.
Ви свакако можете да напишете код.
Али не можете нужно, оут оф тхе бок,
цонверт да изворни код у објекат код, 0с и 1с
без шта на вашем рачунару?
Публика: Цомпилер.
Давид Ј. Малан: Тако компајлер, десно.
Сада већина вас вероватно не поседују компајлер,
никада нису преузели компајлер.
Али видећете можете га преузети као и већине било који други комад софтвера.
У свету Мац ОС, и мислио преузимате или су већ преузети
нешто што се зове Ксцоде или ГЦЦ или Цланг.
Ако долазите из Виндовс вас свет може
преузели Висуал Студио, Висуал Басиц, окружења такве.
Постоји десетине преводиоца ових дана да бисте могли користити.
Али кратко томе овде је да ће то бити бол
и, искрено, технолошки ноћна мора за стотине
људи са различитим компјутерске конфигурације свима
конфигурисати своје машине на потпуно исти начин
тако да можемо сви бити на истој страни.
>> Дакле, оно што, уместо тога, да у ЦС50 је да ти дам
Стандардно окружење, Линук окружење које је
ће да изгледа мало овако нешто.
Видећете више ово Проблем Сет 1 спецификација која
ће ићи на мрежи у петак вече.
>> И шта то значи је да сте одсада
ће бити у стању да преузмете и инсталирате програм
назвао ЦС50 Примена.
А ви идете да преузмете и инсталирате други програм под називом
хипервизор, што је само Фанци начин да се то постигне.
Без обзира да ли сте власник Мац или ПЦ или Линук рачунар или Соларис рачунар,
или било Црази Оперативни систем да сте покренули,
идете да преузмете програм зове хипервисор који је
ће за покретање ЦС50 Примена на рачунару
Без обзира на ваш оперативни систем.
Хипервизор другим речима конвертује наше ствари на било ком језику,
год упуте Ваш сопствени рачунар разуме.
>> Дакле, ово је наношење слојева.
И опет, то је врста тематских у рачунар
наука, зграда на врху ствари.
Можда имате Виндовс.
Можда ћете морати Мац ОС.
Али почевши следеће недеље си ће имати преузети
слободан комад софтвера зове хипервизор.
Идеш да преузети комад софтвера зове ЦС50 Апплианце.
>> То ће да ради у хипервизор, који ће да ради на рачунару.
А крајњи резултат је да свако од нас ће
имају једноставан прозор као ово на вашем Мац или ПЦ
која нам даје илузију свих ради исти оперативни систем,
без било ког другог утицај на рачунару.
А можете Фулл Сцреен она и суштински се понаша
као да се ради Оперативни систем се зове Линукс,
што је оно ЦС50 Примена се заснива на.
>> Дакле, хајде да заиста користити ово Сада да напишете програм.
Можете да напишете програм користећи Мицрософт Ворд.
Можете да напишете програм користите ТектЕдит или Бележница,
или ВордПад, или прилично било која реч Програм за обраду сте икада користили.
Али реалност је да не би требало користе заиста било који од тих програма.
Ви свакако не би требало да користите нешто попут Мицрософт Ворд, која
има болд суочава и курзив, и веће фонтове и мањим фонтовима,
јер рачунар не брига о било шта од тога.
Све рачунар ће да брине о је
Енглески као упутства написане на Ц.
>> Дакле, шта ћемо урадити унутра на ЦС50 Апплианце
се користи програм слободно на располагању, а то је
унапред инсталиран у ову апарат, назван гедит.
А Гедит је само супер једноставно текст едитор као Мац ОС-а ТектЕдит,
као што је Виндовс Бележница да ће се то изгледа нешто овако.
>> Као и нека ствари није погледај слајдове овога.
Али, хајде да ствари иду у сама окружење.
Идем да иде напред и лог ин, у овом другом прозору,
мом ЦС50 апарат, који сам унапред инсталиран на мој лаптоп овде.
>> Обратите пажњу на то, као и Виндовс Мац ОС, то има неке меније.
Као што је Виндовс ставља она тамо, уместо
Мац ОС, што га ставља тамо доле.
Али реалност је да је све врсте истог.
А овде је цео гомила софтвера.
Ту је Дропбок.
Постоји цела гомила додатака, графички програми који ћемо
користити касније у року за проблем поставе.
Постоји веб бровсер изграђен тако да је пуноправно компјутер
унутар рачунара.
>> Али ја ћу да кликнете на овај леве стране бели ицон овде,
који је икона за бележнице.
И то ће се отворити прозор која има три панела на њега,
лева, врх један, и дно један.
>> Сада је у овом горњем десном оног који Идем да се заиста пишу неки код.
Па хајде да урадимо ово ,.
Ја идем на Филе, Саве.
А ви не би икада видели ова прозор раније.
Али ово је као Мац ОС или Виндовс.
То је само прозор са свим фолдера
да ја имам унутар овог рачунара.
>> И ја ћу да сачувате фајл као хелло.ц.
И ја ћу да одем напред и кликните на дугме Сачувај.
И сада приметити имам картицу у горњем левом углу се зове хелло.ц.
Тако је вероватно прилично познато чак и ако не си
користили ову конкретну програм раније.
>> А сада ћу да куцате у оним прилично Цриптиц редослед команди
које смо видели малопре.
Укључују, стандардни и / О.х.
Више о тој ускоро.
Маин празнина, отворен Цурли Браце, затворена коврџаву браће.
А онда унутар постоји ја мислим да је где смо имали "Хелло Ворлд", зарез.
А сада спаси.
>> Дакле, ово је програм написан у Ц, написано, дакле, у изворном коду.
Али ја не могу само да покренете овај програм.
Ја сам хтео да се удвостручи кликнете на икону негде,
али не постоји друга икона него датотеке изворног кода.
Шта је, опет, је процес који сада Морам да водим ову датотеку преко?
Публика: Цомпилер.
Давид Ј. Малан: Тако компајлер.
Дакле, у различитим рачунарима си уради на различите начине.
Али оно што смо овде урадили у ЦС50 уређаја који је
представник како можете да урадите то на много различитих система,
Ја се само ћу покрените команду зове Марка.
И да је буквално ће то урадити.
Направите ми програма.
>> Па будите ће покрените компајлер за мене.
И назив програма Желим да је здраво.
Сада чине је програм.
И да је довољно да се паметан схвате да, ако кажем да здраво,
то ће да се аутоматски изгледа за датотеку под називом хелло.ц
само зато што је то начин на који је конфигурисан.
>> Дакле, када сад сам ударио Унесите овде, ово Црази Цриптиц линија управо погубљен.
И верујте ми, пре дуго, у року од само неколико дана,
ћете разумети шта све те глупости средстава.
Али за сада, само знам да се изазвало извршење компајлера.
Другим речима, она се компајлер на мом компјутеру
То је унапред инсталиран на ЦС50 Апплианце
да ћемо предати вама у Проблем 1. сету.
А онда је, као хелло.ц улаз, и произвео очигледно
0с и 1с као излаз.
>> А по дефаулту шта ради је то штеди Те 0с и 1с у фајл под Хелло.
И мада ове синтаксе превише мигхт бити ново за вас, једноставно говорећи тачку
сласх Поздрав ће бити значи којим сам покренути овај програм.
>> За сада и барем пар недеља, скоро све програме
пишемо ће бити у црно-бели текст прозори.
Не мишеви, не кликом, Нема прозора, нема икона.
Идемо да га задржи једноставно и фокусирати се на основне идеје
у почетку пре него што дођемо до нечега виши ниво, на пример,
као избијају игре које смо причали о у првом предавању прошле недеље.
>> Дакле, када сам ударио Унесите овде, то је еквивалент у тексту само животну средину
да удвостручи кликнете на икону зове здраво.
Шта очекујете вољу десити када сам ударио Ентер онда?
>> ПУБЛИКА: То ће принт "Хелло ворлд".
>> Давид Ј. Малан: Надам се она ће се штампати "Хелло ворлд".
И заиста јесте.
Сада постоји било неких Цриптиц синтаксу.
Хајде уназад за само тренутак и видимо да ли смо
не може да почне инферринг само крпљење, покушавајући и неуспеха,
шта се овде дешава.
Шта ако се отарасим на знак обрнуте косе Н?
Сада неки од вас који сте програмиран раније вероватно
знају шта то значи одмах.
Али за оне од вас који сте Никада раније програмиран,
барем мисле за себе оно што се дешава да се мења када сам реприза овај програм?
Тако да ћу да се вратим у моју мало црно-бели прозор, што
је прозор у коме Могу саставити ово.
Идем да рекомпајлирате здраво.
Идемо да видимо исто Цриптиц низ команди.
И ја ћу да урадим дот косу црту здраво.
И сада неко, ако би, који никада није програмиран раније,
Шта може бити другачије овај пут?
Да.
>> ПУБЛИКА: Неће престати Принтинг "Хелло Ворлд".
>> Давид Ј. Малан: да хоће жао?
>> ПУБЛИКА: Неће престати да штампа?
>> Давид Ј. Малан: Неће заустави штампање "Хелло Ворлд".
Дакле, није лоша идеја.
Друге идеје?
Да.
>> ПУБЛИКА: Порука о грешци?
>> Давид Ј. Малан: Грешка порука, ОК, може бити.
Шта друго?
ПУБЛИКА: Можда принт носач са запетом као?
Давид Ј. Малан: Мигхт принт носач са зарезом као.
Па можда да је обрнута коса црта онда нека врста терминоус то је важно.
Било који други мисли?
>> Тако да све добре идеје.
И, у ствари, то ће да се порука о грешци.
То је вероватно највероватније да одговор уопште
за наредних неколико недеља док учимо да код овде.
>> Али за сада не заборавите да рачунари само да оно што им кажете да урадите.
Слично као смешну кикирики путер и желе пример.
Наша људска рачунари су само требали да урадите оно што сте им рекли да раде.
Дакле, у овом случају, ако не говоре рачунар
да померите курсор који трепће у Следећи ред, то неће да уради.
Дакле, када сам покренути овај програм Сада, приметити разлику.
>> Изгледа као бубу.
То је естетски Буг, можда.
Али оно што је другачије о томе излаз у односу на последњи очигледно?
Да.
>> ПУБЛИКА: Није урадио нову линију.
>> Давид Ј. Малан: То није ништа нову линију.
Они од вас који су има можда направио веб странице
пре, можда знате БР тагове или пасус ознака,
веома слични по духу.
Веб Бровсер ће те игнорисати до сте тачно рећи шта да радим.
Слично, је језик као Ц само урадити оно што не кажете да урадите.
>> Тако из разлога што свим овим примерима,
до сада, имају некако лежерно имао овај косе црте
тамо, то је средство којим сте се изразите
као нове линије карактера, тако да говори.
И можете некако ценим, можда, да ће ово изгледа глупо
ако ништа друго.
Ако сам желео нову линију, само ударање Ентер а затим некако
од касапи код таквог не би требало баш ти трљати на прави начин.
А чак и ако не стварно стало у овом тренутку,
ви ћете схватити да ово није нарочито
гоод лоокинг део кода.
>> Па шта свет Пре одлучили година је
да када желите да ставите курсор на нову линију експлицитно,
морате експлицитно рећи Нова линија, обрнута коса црта н.
И постоји неки други симбола тако.
Али за сада ћемо само фокусирају на знак обрнуте косе Н.
>> Сада ћемо направити програм мало више занимљив.
Идем да иде напред и овај пут отвори нову датотеку.
Идем да сачувате ово као хелло-1.Ц.
И за сваки случај, ја ћу иди стави у мој Дропбок фолдер.
>> Као што ћете видети у ЦС50 документација за апарат,
касније ове недеље за Проблем Сет 1, ми ћемо охрабрити
да користите Дропбок или неки еквивалент сервис,
јер је тада све ваше законика ће бити подржана аутоматски.
И то зато сам отишао у овом фолдеру овде.
>> А сада ћу да пишем мало другачије програма.
Укључују, стандардни и / О.х, маин воид.
И онда се овде принтф, Хелло ворлд, што је исто као и пре.
>> Али сада желим да одштампате нешто то је мало другачије.
Желим да штампате, кажу, "Здраво, Дејвид."
У реду, тако очигледно, би требало надам
бити случај да ако ја рецомпиле Овај програм, реприза је,
то ће рећи "Здраво, Давиде."
>> Али, шта ако ја желим да представим Ова врста променљиве,
појам посуде која се дешава за складиштење Д--В-И-Д и није тешко законика
у мој програм.
Па шта ако почнем радите нешто овако?
>> Стринг с, тако да је ово променљива.
Ако желите стринг, а.к.а. реч или фразу.
Низ знакова је шта Ми у програмирању назвати стринг.
Само ћемо да генерички позив је то, јер је лепо једноставно име.
Али сам могао назвати нешто.
>> Идем да кажем екуалс Стринг с под знацима навода, "Давид", зарез.
И сада желим да убаците Д--В-И-д у оно што сам штампа.
И пре него што смо видели на задиркивање екран неког посебног синтаксе
који нам је омогућио да се замена у вредности.
Који је био посебан Симбол је пре неколико слајдова?
>> Тако одсто.
У то време је било процената Д за децимални број.
То заиста не изгледа релевантно овде.
Испоставило се да постоји други одсто симбол,
што је проценат с, који стоји за чувар места за низ.
>> Тако да сада, врло једноставно, ја сам ићи направити здраво-1,
Пошто ова датотека се зове хелло-1.ц, и притисните Ентер.
И пијан сам.
Шта се дешава?
Па, ево где морамо да почнемо да Ценим да смо у овом командом
линија Енвиронмент, ово Само текст окружење.
Нема кликом на иконама као и директоријуме сада.
И сетите се малопре.
У оно што сам рекао фасцикла Ја сам штеди своју шифру?
Па фасцикла Дропбок.
Могао да буде позван ништа.
Али се дешава да се зове Дропбок.
Па сам некако треба да удвостручи кликнете на да Дропбок директоријум да би добили
у њега и да на мој Код зове здраво-1.ц.
У ствари, дозволите ми да само напред и минимизира Овај прозор само на тренутак.
Баш као Виндовс и Мац ОС, постоје фолдери у Линук.
Постоје фолдери ЦС50 Апплианце.
Само сада смо ограничавајући себи да овог текста окружењу.
>> Али ако ја двојној селчок на Дропбок, приметити тамо
је фајл који желим да састави.
Али морам ово црно и бело прозор терминала, да тако кажем.
Али ми треба, дакле, да се креће у тај фолдер или директоријум.
Тако мало волшебни, али ћете се навићи на ово.
>> У свету Линук, што опет је оперативни
Систем ми понестаје унутар ЦС50 Примена, постоји команда се зове ЦД.
Што значи да могу да урадим ЦД, простор, Дропбок.
ЦД, промена директоријум.
Десно.
Назад у дан када су људи били измишља компјутере и оперативни
овакве системе, они су хтели да Укуцајте Најмање откуцамо могуће.
Па најлакши начин да се каже Промена регистру су ЦД.
>> Дакле, ако сам ударио ЦД, простор Дропбок, приметили шта се променило.
Унутар заграда апарат је врста
да ме Повлађивали и си ме подсетила где сам.
Па Опен фолдер Дропбок.
Ако сам сада типа ЛС Лист, опет језгровит,
зато што људи нису хтели да укуцајте Назад у дан Л-И-С-Т.
Па су уместо тога ставио до ЛС.
>> Ентер.
Приметити видим две ствари, хелло-1.Ц, а онда овај загонетан ствар, извор 1м.
То је само мој начин да се каже изворни код за недељу 1 понедељак.
То је фасцикла сам скинути са Сајт ЦС50 је то сам направио раније данас
и само га стави у Примена унапред.
>> Али за сада једина ствар коју стало чини овај програм.
Дакле, када сам типа да здраво-1, Ентер.
Проклетство.
Нешто није у реду.
Па хајде да задиркује ово одвојено.
И, нажалост ово је место где се ствари бити мало стресан у почетку,
барем ако немаш никада програмирао раније.
>> Боже.
Написао сам две линије програм а и Имам четири линије грешака.
Дакле, шта се овде дешава.
Прво и пре свега се увек дођите назад горе и наћи прву поруку о грешци,
јер често управо компајлери збунити оно што ви и ја.
Компајлери су прилично глупа.
Они ће урадити оно што само реци им да раде.
И ако их збуни, само су ће се некако дићи руке
и можда још баци поруке о грешци него су заправо релевантни.
>> Па хајде да погледамо први.
Супер Цриптиц на први поглед.
Али обавештење, ево име Фајл у којој сам зезнуо очигледно.
Колон 5, 5 Цолон само значи на Линија 5 на петом карактера.
Па пета колона карактера, ако хоћете, грешка.
Употреба непријављеног идентификатора низа.
Да ли сте мислили Стандард Н?
>> Не, мислио сам низ.
А онда је некако копирање и лепљење
оно што сам откуцао заиста ми је привукла пажњу где сам забрљао.
Дакле, за неког разлога Ц, или барем компајлер
не разуме реч стринг.
А то је зато што смо то чинили.
Дакле стринг не постоји у Ц. Шта ЦС50 ради,
за првих неколико недеља само класе,
се обезбедили смо неку обуку точкови, да тако кажем.
И ми ставили те обуку по точкова унутар специјални фајл звани ЦС50.х.
>> Дакле, ово је други од два фајла имена која се завршавају на очигледно дот х.
Хајде уназад.
Принтф је изјава или функција да је очигледно нешто штампа
на екран.
Али ниси ме имплементирати принтф, десно.
Пре неко година спроводи принтф.
У ономе што би он Филе кладите или она стави имплементацију
за принтф, код за принтф?
>> У датотеци под називом стандардни и / О.х.
У ствари, то је вероватно у две датотеке, стандардни и / О.х,
који стоји за заглавље Филе, и стандардни и / О.ц,
који стоји за Ц изворног кода.
Он или она пре неколико година гурнуо код који су написали у тој датотеци
тако да људи попут нас година касније може да садржи,
да тако кажем, у нашим сопственим програмима.
>> И заиста, то је оно знак фунта праћено речју укључују ради.
Изгледа на локалном хард диску, проналази датотеку зове стандардни и / О.х,
а затим ефикасно копије и пасте га унутар моје датотеке.
Тако да сада мој програм зна Како да одштампате на екран.
>> Дакле, по тој логици, где је стринг дефинисан?
>> ПУБЛИКА: ЦС50.х.
>> Давид Ј. Малан: ЦС50.х.
И заиста, то је оно што смо, језгро особље, учинили.
Ми смо измислили неколико типова података, да тако кажемо, као низа,
поред оних које добити бесплатно, као Инт.
Па ћемо видети друге као цхар за карактер и још неколико.
Унутар ЦС50.х очигледно је бар неки помињање низа.
>> Тако да сада пусти ме напред и реприза маке здраво-1.
Ја ћу поново и зумирате крст прсте.
Сада тиме што је један промените Поправио сам већину ствари.
Али је проклетство.
Више процената него аргумената података.
Шта сам погрешио овај пут?
>> Па то је још увек прилично загонетан.
Али ово је грешка на Линија 7 и карактер 21.
Па хајде да погледамо овде.
То је мало суптилнији.
Али, ако размислите о томе шта основне идеје овде су,
можда можемо изазивај ово одвојено.
>> Па принтф је име функције.
Заграде, до сада, није баш као што смо се ставили
ствари ми пролази као улаза на функцију.
У реду, само произвољна људска конвенција.
Користите заграде.
Унутар тих заграда смо стављање двоструким наводницима,
а затим низ као "Хелло ворлд".
>> Али у том ранијем примеру веома кратко учинио гледамо са нуле.
И ми смо имали одсто д, шта друго је унутар тих заграда
да сам позвао усмено?
Да.
>> ПУБЛИКА: Дакле, то је оно што узимате [Неразумљиво] изнутра [неразумљиво]
шта је ово [неразумљиво]?
Давид Ј. Малан: Тачно.
Тако да смо имали одсто д.
Али онда смо имали близу цитат, зарез, цоунтер.
Десно.
Ми прецизирао шта желимо да раде као плејсхолдер.
Дакле, шта ћу да радим овде зарез, шта хоћеш да ставим?
ПУБЛИКА: С.
Давид Ј. Малан: С, јер у овом случају с
је назив посуде за складиштење.
То је име тог стаклене посуде.
Док пре него што је у то цоунтер Једноставан пример Сцратцх смо гледали.
Дакле, сада пошто је два промене, дозволите ми да увећате
и покушати да још једном саставити овај програм.
>> Сада видим да шифровану линију.
Али то је заправо назив компајлера.
Цланг је име преводиоца.
Направите је ме штеди главобоља икада
куцање толико дуго луду команду напоље.
Па сад, ако ја дот сласх хелло-1, Требало би да видите "Здраво, Дејвид."
>> Прилично ундервхелминг, зар не?
Смо могли да уради То много више једноставно
без приче о варијабли и ЦС50.х и све то.
Па хајде да га мало више занимљив.
>> Поред ЦС50.х, има ствари као стринг
прогласила, ЦС50 библиотека такође има неколико функција.
Пре Дакле, само као година, неко је написао иф и ставио га у стандардном И / О.х
и неке друге датотеке.
>> Ми, запослени ЦС50, написао функцију зове гетцхар, ГетДоубле, ГетФлоат,
Тонированние, ГетЛонгЛонг, ГетСтринг, а ми смо ставили оне у датотеци
позвао ЦС50.х и ЦС50.ц.
И ми смо их ставили унутра на ЦС50 Апплианце.
И људи могу такође да их преузмете на мрежи, ако
Желим да их стави на њихове рачунарима, као добро.
Што ће рећи да смо створили функције које добијају улаз од корисника.
Ја не знам шта све ових података типова.
Тоноване је врста једноставно, као што добити цео број некако од корисника.
А ГетСтринг је вероватно као Гет реч или реченица од корисника.
>> Дакле, хајде да се фокусирају на то.
И ја ћу да се вратим у апарата и ја ћу ићи напред
и сачувајте ову датотеку као, назовимо она хелло-2.Ц као мој другој верзији.
И хајде да направимо неколико промена.
>> Овај пут уместо тешко кодирање Давид, који
чини невероватно конзистентан али ундервхелминг програма,
Шта ако сам уместо тога радим ГетСтринг?
Сада обратите пажњу ГетСтринг има отворену заграду,
затворена заграда, јер не треба никакав улаз.
То је само ићи добити стринг од корисника.
>> И сада реч о другој синтаксе.
Зарезом само крај линију кода.
Да их не треба свуда.
Али то само значи да сам завршио са ове линије кода.
Да пређемо на другу Изјава или функција.
Стринг декларише променљиву.
Стринг је као рекавши дај ми чинију, молим те.
И дозволите ми да ставим ниску у њему.
>> И сада знак једнакости.
Који је знак једнакости у суштини еквивалентан?
>> Публика: Додели.
>> Давид Ј. Малан: Да, додељивање вредности.
Дакле, ако сам, на пример, позива Ова функција ГетСтринг,
па ћемо видети у једном тренутку који је ће питати корисника за низ.
То је као пустити мене онда пишем Д--В-И-Д на парчету папира.
А када кажем стринг с једнако ГетСтринг,
једнака заиста не значи равноправни у Ц програмирање.
То значи додељује са десне стране ханд сиде на левој страни.
>> Па сам добила низ.
И знак једнакости значи да пут у контејнер за складиштење се зове ова.
А затим провуците ово са до принтф да заиста уради своје.
>> Тако да крајњи резултат онда иде да изгледају мало другачије.
Хајде да урадимо да здраво-2.
Или би могло да упали.
Ти прате заједно.
Маке хелло-2 радио.
Дот сласх хелло-2, Ентер.
>> Изгледа да имам бесконачно петља или нешто.
Ништа се не дешава.
Зашто?
>> ПУБЛИКА: То што бесконачну петљу.
Давид Ј. Малан: То је бесконачна петља.
То је врста чека мене да заправо пружи неки улаз.
Дакле, дозволите ми само напред и упишите у Давида, и притисните Ентер.
А сада каже: "Здраво, Дејвид."
Ако сам га покренете поново.
Хајде укуцајте Роб, "Здраво, Роб."
>> А ово је најгоре кориснички интерфејс икада.
Корисник је очигледно требало да знам шта да радим.
Али нема везе.
Користећи ове исту зграду блокови као у Огреби,
можемо да решимо тај проблем и кажу нешто као своје име, дебелог црева,
простор, затворен цитат, близу загради, зарез.
Па опет много глупост са синтаксе.
>> Али приметио сам сам додао слагалице изнад ове
и изнад овога.
Па сад ако сам ово реприза, здраво-2, Ентер.
Чекај мало.
Шта није у реду?
То не понаша другачије.
Да.
>> ПУБЛИКА: Ниси рун направити поново.
>> Давид Ј. Малан: Нисам покрените се опет, зар не.
Па сам променио свој изворни код.
Али опет, то је то проток.
Изворни код кроз компајлер даје сте нови објекат код, или 0с и 1с.
Тако да је потребно да се заиста реприза маке хелло-2 Ентер.
У реду, нешто чини да се деси.
Дот сласх хелло-2.
Ваше име молим.
И да буде јасно сада, зашто је курсор на истој линији?
Тачно.
Нисам ставио косе црте н овде у мом коду.
Тако да сада могу да напишем нешто као Давен, Ентер.
Могу га покренути поново и укуцајте нешто као Габе, Ентер,
и добијамо другачији програм опет и опет и опет.
>> Сада коначно ћемо морати да користи неколико различитих могућности.
Ми треба да се уведе на крају неке Услови да радимо ствари условно.
Можда петље тако да можемо да урадимо изнова ствари.
>> Можда би било лепо да могао имплементирати своје функције,
као да смо могли имплементирати сопствени принтф или наше верзија ГетСтринг
и ГетФлов, јер на крају чак и Коришћењем ове командне линије средину
можемо ни то највише визуелно занимљив ствари.
>> Заиста у закључку пусти ме да то урадим.
Идем да иде напред и затворите прозоре
И овде отвори ову икону, што је само већи
верзија која ембеддед прозор терминала.
Па Гедит не само место за мој код,
већ уграђени у терминалу, црно-бели прозор где могу покренути
команде.
>> Ја се управо догодило да отворим већи верзија ове.
А сада ћу да идем у фасцикла коју сам већ
ставити у унапред на сајту курса екипе.
И ја ћу да иде напред и отворите фајл који се зове тхадгавин.ц,
који је написао неко други.
>> И ако погледамо ово, То није врста кода
ћемо писати, јер Циљ овог закона
био да напише најлепша лоокинг код који он или она могао,
без обзира да ли или не друго људско биће не може икада
разумеју овај код.
>> Заиста, сваке године има оно што је назива обфусцатед Ц Цонтест, који
је за праве геекс који пишу код да нико други не може прочитати,
али да ради нешто било веома једноставно и стварно невероватно.
А мислили смо да закључи са овим изгледом
у нечему што је невероватно можда сте видели једном раније.
Али ми ћемо завршити на овоме НАПОМЕНА, тачка Сласх, тхадгавин.
Ово је дакле чека.
>> То је то за ЦС50.
Видимо се у среду.
>> [Мусиц плаиинг]