1 00:00:00,000 --> 00:00:11,952 2 00:00:11,952 --> 00:00:13,800 >> Давид Ј. Малан: Дакле, ово је ЦС50. 3 00:00:13,800 --> 00:00:18,970 И то је било ЦС50 сопствене Цолтон Огден, за више од тога ко је музика можете 4 00:00:18,970 --> 00:00:22,820 довнлоад ат соундцлоуд.цом/цс50. 5 00:00:22,820 --> 00:00:26,690 >> Дакле, данас ћемо се фокусирати све више о уметности програмирања. 6 00:00:26,690 --> 00:00:28,980 И ми се где смо оставили прошле недеље, са фокусом 7 00:00:28,980 --> 00:00:31,660 на Огреби, што је ова Графички програмски језик. 8 00:00:31,660 --> 00:00:35,490 И да ствари своди на нижем нивоу, користите више традиционално програмирање 9 00:00:35,490 --> 00:00:38,420 језика познат као Ц. Али успут, схватајући 10 00:00:38,420 --> 00:00:40,730 да су исте идеје смо говорио о прошлог петка 11 00:00:40,730 --> 00:00:44,390 неће поновити не само у овом језик Ц, али у већини сваки други 12 00:00:44,390 --> 00:00:46,350 да погледамо овај семестар. 13 00:00:46,350 --> 00:00:50,247 >> Па смо звали ову ствар Овде шта последњи пут? 14 00:00:50,247 --> 00:00:51,830 То је представник изјаве. 15 00:00:51,830 --> 00:00:53,080 Па смо звали изјава. 16 00:00:53,080 --> 00:00:54,100 И то ради нешто. 17 00:00:54,100 --> 00:00:56,910 То је упутство да рачунар или Сцратцх може да изврши. 18 00:00:56,910 --> 00:00:59,910 И од сада, хајде да се почне називајући нешто овако функција, 19 00:00:59,910 --> 00:01:02,070 из разлога ћемо ускоро видети. 20 00:01:02,070 --> 00:01:03,681 >> У међувремену, видели смо овакве ствари. 21 00:01:03,681 --> 00:01:05,680 А то су углавном познат као шта изградња? 22 00:01:05,680 --> 00:01:06,240 >> Публика: Лооп. 23 00:01:06,240 --> 00:01:06,860 >> Давид Ј. Малан: Тако петља. 24 00:01:06,860 --> 00:01:07,943 Тако прилично јасно. 25 00:01:07,943 --> 00:01:09,470 То буквално ради шта пише. 26 00:01:09,470 --> 00:01:12,210 А у Огреби, ако желите да стрпати још делове слагалице тамо, 27 00:01:12,210 --> 00:01:13,950 комад ће расти да стане. 28 00:01:13,950 --> 00:01:16,790 Па ћемо видети у Ц који можемо да урадимо исту ствар. 29 00:01:16,790 --> 00:01:20,000 >> Други тип петље, међутим, у Огреби можда заувек, 30 00:01:20,000 --> 00:01:21,820 или има било који број других приступа. 31 00:01:21,820 --> 00:01:24,150 Али хајде да узмемо више општих изглед, са лицем 32 00:01:24,150 --> 00:01:27,402 То је вероватно прилично позната, на петљи уопште. 33 00:01:27,402 --> 00:01:29,110 Марк Зуцкерберг: Један Оно што рачунари 34 00:01:29,110 --> 00:01:31,860 су заиста добри у јесте понављање команде. 35 00:01:31,860 --> 00:01:33,910 Као особа, ти би се Стварно досадно ако вас 36 00:01:33,910 --> 00:01:36,730 је морао да уради исту ствар Много пута за редом. 37 00:01:36,730 --> 00:01:40,530 Али компјутер може да уради исту ствар милионима или чак милијардама пута, 38 00:01:40,530 --> 00:01:43,290 а не досади, и бити у стању да спроведе да од заиста добро. 39 00:01:43,290 --> 00:01:45,650 >> Тако на пример, ако желео да желе свима 40 00:01:45,650 --> 00:01:48,840 на Фацебоок-у срећан рођендан шаљући им е-маил, 41 00:01:48,840 --> 00:01:51,550 можда ме више него века да се заиста напише 42 00:01:51,550 --> 00:01:53,000 све те е-поште свима. 43 00:01:53,000 --> 00:01:57,780 Али са само неколико линија кода, могу имају систем пошаљете емаил на свима 44 00:01:57,780 --> 00:01:59,930 на Фацебоок желећи им срећан рођендан. 45 00:01:59,930 --> 00:02:02,730 Дакле, то је оно што су петље и зашто они су вредни и нешто 46 00:02:02,730 --> 00:02:04,740 да рачунари могу да ураде добро. 47 00:02:04,740 --> 00:02:05,630 >> Давид Ј. Малан: Па ако сте били прималац 48 00:02:05,630 --> 00:02:07,820 неких ЦС50 је и Дропбок је простор касно, 49 00:02:07,820 --> 00:02:10,590 то је заправо управо оно што смо уради, користећи код сасвим тако. 50 00:02:10,590 --> 00:02:12,600 Ми у суштини имамо велики табела у којој 51 00:02:12,600 --> 00:02:15,016 људи су уношења њиховог имена и е-маил адресе. 52 00:02:15,016 --> 00:02:18,160 И ми смо написали мали део кода који може прелазили преко те адресе 53 00:02:18,160 --> 00:02:21,860 и испљунути јединствене адресе у Случај је неко доставио више пута. 54 00:02:21,860 --> 00:02:25,120 И након тога, шаљемо аутоматска е из ЦС50 је бот, 55 00:02:25,120 --> 00:02:27,190 укључујући и купон. 56 00:02:27,190 --> 00:02:29,290 >> Сада смо и гледали Ова конструкција последњи пут. 57 00:02:29,290 --> 00:02:33,100 И ово је посебан пример шта? 58 00:02:33,100 --> 00:02:35,050 Дакле, да, Боолеан израз. 59 00:02:35,050 --> 00:02:37,050 И облик намењен да ухвати и то. 60 00:02:37,050 --> 00:02:39,966 Сви такви питања формирају труе или фалсе у Огреби 61 00:02:39,966 --> 00:02:41,590 ће изгледати нешто овако. 62 00:02:41,590 --> 00:02:43,200 И то називамо Боолеан израз. 63 00:02:43,200 --> 00:02:46,170 То је заиста тачно или нетачно, да или не. 64 00:02:46,170 --> 00:02:49,150 То је начин да одговорите на питање. 65 00:02:49,150 --> 00:02:52,420 >> А у међувремену можете да користите ове Боолеан изрази унутар конструката 66 00:02:52,420 --> 00:02:54,720 попут ове, која је од Курс су услови 67 00:02:54,720 --> 00:02:57,259 или гране, пословична виљушке на путу. 68 00:02:57,259 --> 00:02:59,550 И они могу да изгледају не само овако, али они такође могу 69 00:02:59,550 --> 00:03:02,080 су Елсес повезане са њима. 70 00:03:02,080 --> 00:03:05,820 А ви заправо може имати три начина раскршћу или четворосмерни виљушка 71 00:03:05,820 --> 00:03:08,340 на путу, једноставно гнезди ове ствари, 72 00:03:08,340 --> 00:03:10,510 као што ћете видети у Огреби ако не већ. 73 00:03:10,510 --> 00:03:13,550 И као што можете да урадите у Ц као добро. 74 00:03:13,550 --> 00:03:16,810 >> Узмимо још Генералист Погледајмо алумнист, такође, ко 75 00:03:16,810 --> 00:03:21,490 може да представља другачији приступ на те ствари зову услови. 76 00:03:21,490 --> 00:03:24,060 >> Бил Гејтс: Људи праве одлуке сваки дан. 77 00:03:24,060 --> 00:03:27,530 На пример, пре него што одете напоље вас врста има ако изјаву да каже, 78 00:03:27,530 --> 00:03:31,480 ако је онда пада киша сам Потребно је да узмем јакну. 79 00:03:31,480 --> 00:03:36,820 И рачунари су невероватна једном вас одлучује оне врсте изјава, 80 00:03:36,820 --> 00:03:42,280 да поуздано могу да изврше Те ствари на невероватне брзине. 81 00:03:42,280 --> 00:03:48,240 Па компјутерски програм заиста је мало математике и неких 82 00:03:48,240 --> 00:03:53,050 ако исказима у којима одлука добија направио. 83 00:03:53,050 --> 00:03:55,020 >> Давид Ј. Малан: Дакле, као што можда већ знате, било је 84 00:03:55,020 --> 00:03:57,880 људи као што су Бил Гејтс, Пол Ален, и други 85 00:03:57,880 --> 00:04:00,240 који заиста почела тзв Персонал Цомпутер 86 00:04:00,240 --> 00:04:01,990 Револутион пре неколико година. 87 00:04:01,990 --> 00:04:04,140 Мислио сам, пре него што смо заронимо у неке Административно, 88 00:04:04,140 --> 00:04:09,920 ћемо се односе на причу из Албукуеркуе, Нев Мекицо Мусеум оф Натурал Хистори 89 00:04:09,920 --> 00:04:13,650 и наука, где су неки од Била Гејтса ' и Паул Аллен најранијим приче 90 00:04:13,650 --> 00:04:17,470 испричао како су ми сада имамо данашњи ПЦ и Мац и још много тога. 91 00:04:17,470 --> 00:04:22,390 За то, међутим, треба нам два волонтера који имају веома добре нарације гласове 92 00:04:22,390 --> 00:04:23,735 да чита наглас сценарио. 93 00:04:23,735 --> 00:04:25,530 >> У реду, како се о томе у тамо. 94 00:04:25,530 --> 00:04:26,120 Дођи горе. 95 00:04:26,120 --> 00:04:27,770 А шта је са испред овде. 96 00:04:27,770 --> 00:04:28,340 Хајде доле. 97 00:04:28,340 --> 00:04:29,600 Узми своје места овде. 98 00:04:29,600 --> 00:04:32,444 Као што сте ви дошли до, пар административних саопштења. 99 00:04:32,444 --> 00:04:34,360 сечења, процес одабира одељак, 100 00:04:34,360 --> 00:04:36,068 почеће ове Среда до петка. 101 00:04:36,068 --> 00:04:38,400 Више о томе ово долази У среду у предавању. 102 00:04:38,400 --> 00:04:41,770 >> Супер секције, у међувремену, су нешто што нудимо следеће недеље 103 00:04:41,770 --> 00:04:45,310 при чему цела класа је позван да учествују у прилично великој мери 104 00:04:45,310 --> 00:04:47,690 секције, још један удобан, један мање удобан. 105 00:04:47,690 --> 00:04:51,340 И ми ћемо објавити податке тога, као и, касније ове недеље. 106 00:04:51,340 --> 00:04:53,310 >> У међувремену, секције сами, ће почети 107 00:04:53,310 --> 00:04:57,241 у недељу три курса, нула индекс, што значи да они који су неколико недеља 108 00:04:57,241 --> 00:04:57,740 оут. 109 00:04:57,740 --> 00:04:58,450 Тако да се не бринем. 110 00:04:58,450 --> 00:05:01,014 Још нисте пропустили нешто у том смислу. 111 00:05:01,014 --> 00:05:03,930 У међувремену, у међувремену, ако је вама имате административно било каквих питања, 112 00:05:03,930 --> 00:05:08,120 емаил себе и Девон и Габе и Роб на овој адреси овде. 113 00:05:08,120 --> 00:05:10,320 >> На крају, проблем сет 0 је, наравно, напоље. 114 00:05:10,320 --> 00:05:12,320 Можда сте приметили на сајту курса екипе. 115 00:05:12,320 --> 00:05:14,840 То би требало да вам пружи сви одговори на питања 116 00:05:14,840 --> 00:05:18,250 можда ћете морати успут за почињете са проблемом сет. 117 00:05:18,250 --> 00:05:21,430 Али, ако се нађете потребна помоћно руке, 118 00:05:21,430 --> 00:05:25,020 свим средствима присуствују радно време, Понедељак, уторак, среда, четвртак 119 00:05:25,020 --> 00:05:27,290 ове недеље у вечерњим сатима у четири трпезаријама. 120 00:05:27,290 --> 00:05:31,650 Видиш ону УРЛ тамо појединостима где ће бити радно време. 121 00:05:31,650 --> 00:05:34,000 >> Хајде сада да задовољи наше два госта данас. 122 00:05:34,000 --> 00:05:34,740 Како се зовеш? 123 00:05:34,740 --> 00:05:35,290 >> ЈАИ ПАВЛЕ: Јаи Пол. 124 00:05:35,290 --> 00:05:36,880 >> Давид Ј. Малан: Јаи Паул, драго ми је да смо се упознали. 125 00:05:36,880 --> 00:05:37,330 >> ХИКАРИ: Хикари. 126 00:05:37,330 --> 00:05:37,975 >> Давид Ј. Малан: Хикари? 127 00:05:37,975 --> 00:05:38,250 >> ХИКАРИ: Хикари. 128 00:05:38,250 --> 00:05:38,810 >> Давид Ј. Малан: Хикари. 129 00:05:38,810 --> 00:05:39,790 Драго ми је да вас упознам, као добро. 130 00:05:39,790 --> 00:05:42,123 Џеј Павле и Хикари имају у Испред њих на овим музику 131 00:05:42,123 --> 00:05:45,100 стоји два писма које сам штампане јутрос из Новог Мексика 132 00:05:45,100 --> 00:05:46,692 Природњачки музеј и науке. 133 00:05:46,692 --> 00:05:48,400 И оно што сам мислио Ја бих на графоскоп 134 00:05:48,400 --> 00:05:52,830 се прате свој рецитовање скрипта и ове историје 135 00:05:52,830 --> 00:05:54,700 са неким визуелним сликама, без изненађења. 136 00:05:54,700 --> 00:05:57,512 >> И шта сам урадио унапред се у ситуацијама на вашем сценарију 137 00:05:57,512 --> 00:05:59,470 шта треба да прочитате, и шта треба да прочитате. 138 00:05:59,470 --> 00:06:00,920 И ми смо у суштини ћу само алтернативне пасуса. 139 00:06:00,920 --> 00:06:03,211 Тако да много је као да би могао су урадили на енглеском класе. 140 00:06:03,211 --> 00:06:06,875 То је стварно натерати публику да верују у причи овде. 141 00:06:06,875 --> 00:06:07,600 Хоћемо ли? 142 00:06:07,600 --> 00:06:13,272 Па овде је прича, имамо БАСИЦ, а почиње у Кембриџу. 143 00:06:13,272 --> 00:06:18,750 >> ЈАИ ПАВЛЕ: Била је зима, 1974, у Кембриџу, Масачусетс 144 00:06:18,750 --> 00:06:20,240 где зиме може бити хладно. 145 00:06:20,240 --> 00:06:22,800 Брадати, лонг хаиред Цоллеге Дропоут имену 146 00:06:22,800 --> 00:06:27,280 Пол Ален је друдгинг преко Харварда Квадрат, апсорбује у његовим мислима. 147 00:06:27,280 --> 00:06:31,050 Његова главна преокупација у те дане је био како да свог пријатеља, Бил Гејтс, 148 00:06:31,050 --> 00:06:34,974 да напусти школу и отићи у посао са њим. 149 00:06:34,974 --> 00:06:37,890 ХИКАРИ: двојица су већ отишли кроз низ пословних подухвата 150 00:06:37,890 --> 00:06:40,850 заједно, са почетком у Лакесиде школа у Сијетлу где 151 00:06:40,850 --> 00:06:45,220 су плаћени у слободно време на компјутерском тестирате ПДП-10 рачунар у локалном времену 152 00:06:45,220 --> 00:06:46,580 дељење компаније. 153 00:06:46,580 --> 00:06:50,930 Најновија План је био да одустанем школа и формирају софтверску компанију. 154 00:06:50,930 --> 00:06:53,440 Аллен напустио Вашингтон Стате университи. 155 00:06:53,440 --> 00:06:58,380 Али у последњем тренутку, Капије одлучио да се држи са Харварда. 156 00:06:58,380 --> 00:07:02,080 >> ЈАИ ПАВЛЕ: Тог дана, прелазећи Харвард Скуаре, Аллен приметио јануара, 157 00:07:02,080 --> 00:07:07,530 1975 Питање Популар Елецтроницс са земљом заустављања наслова, 158 00:07:07,530 --> 00:07:11,900 Први миникомпјутер Кит свету на ривала Цоммерциал Модели. 159 00:07:11,900 --> 00:07:14,430 Испод наслов био слика малог кутије 160 00:07:14,430 --> 00:07:16,160 украшена светлима и прекидачима. 161 00:07:16,160 --> 00:07:19,770 Звао се МИТС Алтаир 8800. 162 00:07:19,770 --> 00:07:24,100 И Аллен знао да је оно што је је био у потрази за. 163 00:07:24,100 --> 00:07:26,350 >> ХИКАРИ: затим Дани дискусије. 164 00:07:26,350 --> 00:07:30,170 Ален и Гејтс схватио Значај Алтаир. 165 00:07:30,170 --> 00:07:32,480 Они су често разговарали Абоут микропроцесора 166 00:07:32,480 --> 00:07:35,250 и чекали да виде шта ће се радити са њима. 167 00:07:35,250 --> 00:07:39,770 Сада постоји миникомпјутер Кит поклопац Популар Елецтроницс. 168 00:07:39,770 --> 00:07:42,830 То очигледно још није никакав софтвер. 169 00:07:42,830 --> 00:07:46,830 Они су замишљали нацију Програмери опадајуће на МИТС. 170 00:07:46,830 --> 00:07:49,590 И тако су звали Ед Робертс, Шеф компаније, 171 00:07:49,590 --> 00:07:53,330 тврдећи да има верзију ОСНОВНИ програмски језик скоро спреман 172 00:07:53,330 --> 00:07:54,710 за Алтаир. 173 00:07:54,710 --> 00:07:55,570 Нису. 174 00:07:55,570 --> 00:07:58,910 И Робертс мора да зна да није. 175 00:07:58,910 --> 00:08:03,170 Он је добијање 10 позива дневно од људи који су ОСНОВНИ скоро спреман. 176 00:08:03,170 --> 00:08:05,570 И његов одговор стоцк био "прва особа 177 00:08:05,570 --> 00:08:11,090 ко се појави са радном ОСНОВНИ добија уговор. " 178 00:08:11,090 --> 00:08:13,910 >> ЈАИ ПАВЛЕ: Гејтс и Ален никада видели Алтаир. 179 00:08:13,910 --> 00:08:17,600 Они никада ни видео Интел 8080 микропроцесор 180 00:08:17,600 --> 00:08:19,060 у срцу Алтаир. 181 00:08:19,060 --> 00:08:21,470 Већ неколико година раније Аллен је написао програм 182 00:08:21,470 --> 00:08:25,220 на маинфраме рачунару који емулираног рад претходне Интел 183 00:08:25,220 --> 00:08:26,217 микропроцесор. 184 00:08:26,217 --> 00:08:28,300 И овај пут они би урадио исту ствар. 185 00:08:28,300 --> 00:08:31,530 186 00:08:31,530 --> 00:08:34,380 >> ХИКАРИ: са Интел 8080 упутство на његовој страни, 187 00:08:34,380 --> 00:08:37,770 Аллен сео Харвард ПДП-10 рачунара 188 00:08:37,770 --> 00:08:42,010 и написао емулатор и софтвер Алати потребно урадити програмирање. 189 00:08:42,010 --> 00:08:45,820 У међувремену Гејтс је престала да иде класама и посветио 190 00:08:45,820 --> 00:08:48,120 пројектовању Основног, користећи сваки трик 191 00:08:48,120 --> 00:08:53,130 знао је да добије величину доле 4 килобајта. 192 00:08:53,130 --> 00:08:55,870 >> ЈАИ ПАВЛЕ: Оут у Албукеркију, Ед Робертс добила позив од Гејтса 193 00:08:55,870 --> 00:08:59,754 тражећи детаље о томе како Алтаир рукује специфичне рутине. 194 00:08:59,754 --> 00:09:01,170 Нико никада тражио да раније. 195 00:09:01,170 --> 00:09:02,670 И Робертс је почео да се занимам. 196 00:09:02,670 --> 00:09:05,240 197 00:09:05,240 --> 00:09:07,970 >> ХИКАРИ: Са развојем алата и дизајн спреман, 198 00:09:07,970 --> 00:09:10,780 Гејтс и Ален написао код на ПДП-10, 199 00:09:10,780 --> 00:09:16,060 уписивање још Харвард студент, Монте Давидофф, писати математичке рутине. 200 00:09:16,060 --> 00:09:19,450 После завршног ноћи програмирање, Аллен добио на авиону 201 00:09:19,450 --> 00:09:22,970 да доставе своје основних до МИТС. 202 00:09:22,970 --> 00:09:25,800 Он је провео авион вози се бринеш. 203 00:09:25,800 --> 00:09:28,490 И назад у Кембриџу Гејтс је забрињавајуће. 204 00:09:28,490 --> 00:09:32,100 Они су тестирали њихова основна и да је радио на емулатора. 205 00:09:32,100 --> 00:09:35,444 Али шта ако емулатора била погрешна? 206 00:09:35,444 --> 00:09:37,360 ЈАИ ПАВЛЕ: Као авион пришао Албукуеркуе, 207 00:09:37,360 --> 00:09:40,070 Аллен схватили да је њихова БАСИЦ, сада уредно садржане 208 00:09:40,070 --> 00:09:42,460 на малом ролну песницама папирне траке, да 209 00:09:42,460 --> 00:09:44,970 бити бескорисно без посебног Програм, који се зове програм, који 210 00:09:44,970 --> 00:09:47,550 би рећи како Алтаир да прочитате папирне траке биће 211 00:09:47,550 --> 00:09:49,620 хранио у телепринтер машину. 212 00:09:49,620 --> 00:09:52,970 Он је извадио бележницу и брзо скициране доле програм утоваривач 213 00:09:52,970 --> 00:09:56,819 на Скупштини језику, а затим ручно преведен је у 1с и 0с 214 00:09:56,819 --> 00:09:57,985 Алтаир би разумео. 215 00:09:57,985 --> 00:10:00,530 216 00:10:00,530 --> 00:10:03,830 >> ХИКАРИ: Ален је очекивао Цлеан, мала, висока технолошка компанија 217 00:10:03,830 --> 00:10:05,470 води мушкараца у пословним оделима. 218 00:10:05,470 --> 00:10:09,210 Тако да је био изненађен када је Робертс испуњени га на аеродрому личи ранчу 219 00:10:09,210 --> 00:10:10,270 рука. 220 00:10:10,270 --> 00:10:12,070 Робертс је такође изненађен. 221 00:10:12,070 --> 00:10:16,340 Када је пао на Харварду програмер по скупе хотелу, 222 00:10:16,340 --> 00:10:20,790 Аллен морао да призна да Он није могао да приушти собу. 223 00:10:20,790 --> 00:10:24,510 >> Јаи Паул: МИТС, сама, била је налази у прашњавом траке тржног центра. 224 00:10:24,510 --> 00:10:27,040 Унутра на претрпан Радни сто је Алтаир 225 00:10:27,040 --> 00:10:30,390 учитан са 5 килобајта меморије и повезани каблом 226 00:10:30,390 --> 00:10:32,030 на телепринтер машину. 227 00:10:32,030 --> 00:10:37,200 Робертс и главни инжењер, Бил Иатес, чекао очекујући 228 00:10:37,200 --> 00:10:40,660 као Аллен тогглед његов утоваривач Програм у Алтаир. 229 00:10:40,660 --> 00:10:44,980 Телетипе почео цхуггинг како извукао папир трака кроз траке читача. 230 00:10:44,980 --> 00:10:47,215 Је можда 15 минута трајало да се учита програм. 231 00:10:47,215 --> 00:10:52,110 Тада Телетипе нагло штампан Меморија брз, онда спреман брза, 232 00:10:52,110 --> 00:10:55,340 и Ален почео куцање неколико тест команде. 233 00:10:55,340 --> 00:10:57,400 На опште изненађење, Софтвер је радио. 234 00:10:57,400 --> 00:10:58,525 Било је бубе, наравно. 235 00:10:58,525 --> 00:11:02,070 Али главна ствар је то радила. 236 00:11:02,070 --> 00:11:06,570 >> ХИКАРИ: Касније, на путу за $ 3.00 ручак у Панцхо је, оса је летео 237 00:11:06,570 --> 00:11:10,470 у прозору пицкуп камион и убоде Аллен на руци. 238 00:11:10,470 --> 00:11:13,070 Али у том тренутку ништа могао покварити расположење. 239 00:11:13,070 --> 00:11:17,210 Алтаир је сада имао своје основне, Први комерцијални софтвер за дом 240 00:11:17,210 --> 00:11:23,260 рачунар, од стране Паул Аллен и Бил Гејтс, послује као Мицрософт. 241 00:11:23,260 --> 00:11:25,336 >> Давид Ј. Малан: Много захваљујући нашим два читаоцима. 242 00:11:25,336 --> 00:11:30,690 >> [АППЛАУСЕ] 243 00:11:30,690 --> 00:11:32,520 >> Давид Ј. Малан: Сада имате избор, 244 00:11:32,520 --> 00:11:35,880 пре него што одете, од спаркли или сјај у дарк-- Ох, 245 00:11:35,880 --> 00:11:40,810 чекај секунд, ваит-- спаркли и сјај у мраку слона 246 00:11:40,810 --> 00:11:42,534 из ЦС50 сопствене Цхенг Гонг. 247 00:11:42,534 --> 00:11:43,450 ХИКАРИ: Ах, хвала. 248 00:11:43,450 --> 00:11:45,324 Давид Ј. Малан: Све У реду, хвала ти пуно. 249 00:11:45,324 --> 00:11:49,855 [АППЛАУСЕ] 250 00:11:49,855 --> 00:11:51,105 Давид Ј. Малан: Зато истинита прича. 251 00:11:51,105 --> 00:11:54,380 То значи да сви ови машине и лакоћа са којом се 252 00:11:54,380 --> 00:11:56,270 користимо их сада и преузме здраво за готово, стварно 253 00:11:56,270 --> 00:12:00,070 почео овде, неколико корака из овог стварног позоришта. 254 00:12:00,070 --> 00:12:03,930 А сада и данас, ако не сте били, ово је Маквелл Дворкин, компјутер 255 00:12:03,930 --> 00:12:05,810 науке зграда, такође иза угла. 256 00:12:05,810 --> 00:12:09,760 А на другом спрату ове Зграда не виси три странице 257 00:12:09,760 --> 00:12:12,740 од оригиналног изворног кода који Бил Гејтс и Пол Ален написао. 258 00:12:12,740 --> 00:12:14,770 У ствари, ако употреба увећате у можете видети не само да 259 00:12:14,770 --> 00:12:17,350 њихова имена оригинал тип, али такође 260 00:12:17,350 --> 00:12:22,100 њихови потписи да су украшена уназад неколико година, када су последњи пут посетили. 261 00:12:22,100 --> 00:12:25,800 >> Али оно што је било посебно убедљив о томе је оно што они кренули да раде 262 00:12:25,800 --> 00:12:29,760 је био да напише програм који ће омогућавају друге људе да пишу 263 00:12:29,760 --> 00:12:30,950 сопствене програме. 264 00:12:30,950 --> 00:12:34,280 У то време све било са Ова Алтаир машина направио МИТС. 265 00:12:34,280 --> 00:12:40,020 И све што је било потребно је на неки начин од што га чини лако за хобисте и људе 266 00:12:40,020 --> 00:12:45,300 Попут нас у овој соби да се заиста програма да без нужно разумевања 267 00:12:45,300 --> 00:12:49,060 Скупштина кода, или машина код, или не дај Боже, 0с и 1с. 268 00:12:49,060 --> 00:12:51,190 Ми програмери, као што су оне у овој соби, ми смо 269 00:12:51,190 --> 00:12:54,070 желе да буду у стању да изразе сами много више личи псеудо код 270 00:12:54,070 --> 00:12:57,330 чак и ако је мало више НИТ избирљиви него што смо разговарали прошле недеље. 271 00:12:57,330 --> 00:13:00,970 Ми не желимо да пишу код овако, који Паул Аллен и Билл Гатес учинио. 272 00:13:00,970 --> 00:13:04,850 Ми, уместо тога, желе да пишу код који изгледа мало више корисник пријатан. 273 00:13:04,850 --> 00:13:07,150 >> Сада ово је језик познат као основне. 274 00:13:07,150 --> 00:13:11,497 А бројеви линије постоје шта вас користе да једноставно броји линије кода 275 00:13:11,497 --> 00:13:12,330 да пишеш. 276 00:13:12,330 --> 00:13:14,038 Ми чак не морају да урадити ових дана. 277 00:13:14,038 --> 00:13:16,060 Али можете видети овде како принт "Здраво, свет" 278 00:13:16,060 --> 00:13:18,660 Заиста би вероватно штампају управо то. 279 00:13:18,660 --> 00:13:22,710 И шта Бил и Павле урадио је оснажи људе да пишу код овако 280 00:13:22,710 --> 00:13:27,240 уместо тога од-- ако погледате цомпутер сциенце валл-- код овако. 281 00:13:27,240 --> 00:13:29,290 >> У ствари, недавно ЦС50 су имали прилику 282 00:13:29,290 --> 00:13:32,540 да седне са професором Харри Левис у Цомпутер Сциенце одељења, који је 283 00:13:32,540 --> 00:13:34,640 заправо учио Билл Гејтс пре неколико година, 284 00:13:34,640 --> 00:13:38,460 и овде стоји пред Те три странице извода. 285 00:13:38,460 --> 00:13:39,560 Хајде да погледамо. 286 00:13:39,560 --> 00:13:45,520 >> ХАРРИ Левис: Оно што овде имамо јесте списак раног комад софтвера 287 00:13:45,520 --> 00:13:50,240 написао Билл Гатес и Паул Аллен, оснивачи Мицрософт. 288 00:13:50,240 --> 00:13:52,570 Па код је занимљиво из два разлога. 289 00:13:52,570 --> 00:13:55,480 Пре свега, постало Мицрософт-ов први производ, 290 00:13:55,480 --> 00:14:01,810 који је био преводилац БАСИЦ програмски језик. 291 00:14:01,810 --> 00:14:04,940 И друго, то је било један од првих покушаја 292 00:14:04,940 --> 00:14:10,580 да створи преводиоца тако обично људи могу да користе личне рачунаре. 293 00:14:10,580 --> 00:14:12,670 >> Дакле, Бил Гејтс је апсолвент на Харварду. 294 00:14:12,670 --> 00:14:14,820 Почео сам да предајем на Харварду 1974. 295 00:14:14,820 --> 00:14:16,560 То је урађено у 1975. 296 00:14:16,560 --> 00:14:20,180 Тако да је на почетку каријере и почетком у мојој каријери. 297 00:14:20,180 --> 00:14:23,790 Ја стварно учио закона у Наравно у ово време. 298 00:14:23,790 --> 00:14:27,130 Паул Аллен није био Харвард студент, али је 299 00:14:27,130 --> 00:14:31,020 био средњошколац цлассмате Била Гејтса. 300 00:14:31,020 --> 00:14:33,740 Ако дођеш и изгледа на попису, ти ћеш 301 00:14:33,740 --> 00:14:36,230 заправо наћи трећи име, Монте Давидофф, 302 00:14:36,230 --> 00:14:39,260 који је Гатес-а цлассмате овде на Харварду. 303 00:14:39,260 --> 00:14:41,340 >> У реду, ево интересантан коментар овде. 304 00:14:41,340 --> 00:14:47,150 Пише "У 4К можете брисати квадратни корен али треба и даље радити Лоопс ". 305 00:14:47,150 --> 00:14:53,080 У реду, па шта то значи да постоји су два начина за састављање овог програма. 306 00:14:53,080 --> 00:14:57,860 Један је био да ради на верзији овог Алтаир рачунара 307 00:14:57,860 --> 00:15:04,310 да је имао само речи 4К Меморија, 4,096 речи меморије. 308 00:15:04,310 --> 00:15:07,050 Али велика верзија имала 8к. 309 00:15:07,050 --> 00:15:09,770 Па шта је ово каже је да је у верзији 4К 310 00:15:09,770 --> 00:15:12,770 сте морали да избришете неке код да би се слагао. 311 00:15:12,770 --> 00:15:14,790 А једна од ствари да ће бити избрисан 312 00:15:14,790 --> 00:15:16,290 би квадратни корен рутина. 313 00:15:16,290 --> 00:15:20,360 Али очигледно за Лоопс треба и даље 314 00:15:20,360 --> 00:15:26,392 раде чак и када сте састављања доле за само 4К верзију рачунара. 315 00:15:26,392 --> 00:15:29,350 Давид Ј. Малан: Значи једна од тема, као што ћемо видети у компјутерској науци, 316 00:15:29,350 --> 00:15:31,430 је ова идеја Раслојавање и апстракција, 317 00:15:31,430 --> 00:15:34,670 и заиста сам стајао на раменима од људи који су дошли пре нас, а не 318 00:15:34,670 --> 00:15:37,890 За разлику од неких од Била Гејтса и Паул Аллен наративне овде. 319 00:15:37,890 --> 00:15:40,080 И шта то значи да данас можемо узети за 320 00:15:40,080 --> 00:15:43,490 готово да су ствари заиста лакше за нас да пишу код. 321 00:15:43,490 --> 00:15:47,170 Заиста код, као што смо рекли у петак, је више технички познат као изворни код. 322 00:15:47,170 --> 00:15:52,210 И то је тај енглески као синтаксе то је више правилно и више добро дефинисани 323 00:15:52,210 --> 00:15:55,480 него нешто попут псеудо код, за што не постоји формална дефиниција. 324 00:15:55,480 --> 00:15:58,320 >> И данас оно што ћемо да се фокусира на је изворни код 325 00:15:58,320 --> 00:16:01,010 да изгледа овако, што Додуше, на први поглед 326 00:16:01,010 --> 00:16:02,690 Изгледа потпуно Цриптиц. 327 00:16:02,690 --> 00:16:08,540 И искрено, то је много више естетски сложенији него основни програм. 328 00:16:08,540 --> 00:16:13,300 Све Овај програм ради, Подсетимо, је оно што смо рекли? 329 00:16:13,300 --> 00:16:14,990 То је само штампа "Хелло Ворлд". 330 00:16:14,990 --> 00:16:19,600 А ипак погледај све ствари ми је потребно да заврши око тог веома једноставну фразу. 331 00:16:19,600 --> 00:16:21,750 Али убрзо све ове линије и више 332 00:16:21,750 --> 00:16:24,800 ће учинити много бољи осећај за вас. 333 00:16:24,800 --> 00:16:26,940 >> А проток је као што следи. 334 00:16:26,940 --> 00:16:31,220 Оно што нам је потребно на располагању је да се код, као и извора 335 00:16:31,220 --> 00:16:32,340 код које смо управо видели. 336 00:16:32,340 --> 00:16:35,060 И ми треба нови програм да га покренете кроз. 337 00:16:35,060 --> 00:16:39,130 Ми треба алгоритме који могу цонверт изворног кода, овако, 338 00:16:39,130 --> 00:16:41,932 у објекат код, 0с и 1с. 339 00:16:41,932 --> 00:16:43,890 Другим речима, оно ћемо да научимо данас 340 00:16:43,890 --> 00:16:46,620 је како да то урадите, пишу Соурце Цоде уп врха, 341 00:16:46,620 --> 00:16:49,930 прође га као улаз у посебан Програм познат као компајлер, 342 00:16:49,930 --> 00:16:52,140 а ми ћемо за производњу објекат код. 343 00:16:52,140 --> 00:16:54,600 Што је само фенси начин рекавши ми ћемо узети нешто 344 00:16:54,600 --> 00:16:58,350 да изгледа овако, то пасс у програму под називом компајлер, 345 00:16:58,350 --> 00:17:01,210 производња објецт цоде то изгледа овако. 346 00:17:01,210 --> 00:17:04,720 >> Дакле, то су буквално обрасци 0с и 1с 347 00:17:04,720 --> 00:17:08,550 који се разумеју Интел рачунар ових дана, 348 00:17:08,550 --> 00:17:12,480 да ако тумачи ЦПУ, мозак унутар рачунара, 349 00:17:12,480 --> 00:17:16,130 ће буквално одштампати, једноставно, "Хелло Ворлд". 350 00:17:16,130 --> 00:17:19,670 Сада постоји много више 0с и 1с од тебе се надамо можда ће бити потребно за то. 351 00:17:19,670 --> 00:17:22,520 Али то је зато што смо изградњу на добром дозом сложености 352 00:17:22,520 --> 00:17:24,270 да ми од сада може узети здраво за готово. 353 00:17:24,270 --> 00:17:27,869 Другим речима, много паметних људи су нам дали доста кул алата 354 00:17:27,869 --> 00:17:32,480 и моћан софтвер са којима смо Сада могу да пројекте наше. 355 00:17:32,480 --> 00:17:33,400 >> Дакле, хајде да почнемо. 356 00:17:33,400 --> 00:17:36,640 Док прошлог петка, и за проблем Сет 0 ове недеље, 357 00:17:36,640 --> 00:17:39,000 ћете бити играње у Свет који изгледа овако. 358 00:17:39,000 --> 00:17:42,180 Од данас и за Проблем Сет 1 следеће недеље, код 359 00:17:42,180 --> 00:17:45,410 ће мало више изгледа загонетан, али функционално је 360 00:17:45,410 --> 00:17:46,940 ће бити исти. 361 00:17:46,940 --> 00:17:50,770 Дакле обавештење, Топ је Огреби, дно је Ц. Искрено Огреби 362 00:17:50,770 --> 00:17:52,780 је много корисник пријатан и приступачан. 363 00:17:52,780 --> 00:17:56,890 Али ако сад упоредите визуелно одозго дно, постоји нека врста један на један 364 00:17:56,890 --> 00:17:59,690 кореспонденција између Пуззле комада и језика 365 00:17:59,690 --> 00:18:00,870 жемо да се играју са. 366 00:18:00,870 --> 00:18:04,420 Конкретно, кажу, плави слагалице комад Уп Топ, 367 00:18:04,420 --> 00:18:08,370 је очигледно еквивалент ономе кључној речи или посебан израз у том језику 368 00:18:08,370 --> 00:18:09,062 звао Ц? 369 00:18:09,062 --> 00:18:09,770 ПУБЛИКА: принтф. 370 00:18:09,770 --> 00:18:10,728 Давид Ј. Малан: принтф. 371 00:18:10,728 --> 00:18:12,140 То значи форматиран штампање. 372 00:18:12,140 --> 00:18:15,240 А то је само Фанци начин да се каже принтф у Ц 373 00:18:15,240 --> 00:18:18,615 ће бити изјаву или функцију да штампа нешто на екрану. 374 00:18:18,615 --> 00:18:19,990 Шта то одштампа на екрану? 375 00:18:19,990 --> 00:18:23,627 Шта год да кажеш да га унутра цитата, унутар заграда. 376 00:18:23,627 --> 00:18:25,460 Дакле, поново, додуше, има пуно ствари 377 00:18:25,460 --> 00:18:27,990 да морате имати на уму, заграде, цитати, тачка-зарез, 378 00:18:27,990 --> 00:18:28,656 и све то. 379 00:18:28,656 --> 00:18:30,600 Али све то је нека врста у поред тачке. 380 00:18:30,600 --> 00:18:33,660 Занимљиво такеаваи за сада је да рецимо блок у нуле 381 00:18:33,660 --> 00:18:37,520 је прилично једнак изјава принтф у Ц. 382 00:18:37,520 --> 00:18:41,390 >> У међувремену, жута Пуззле комад до врха, кад зелена застава кликне, 383 00:18:41,390 --> 00:18:44,736 је вероватно еквивалент шта кључној речи овде? 384 00:18:44,736 --> 00:18:45,360 Публика: Главни. 385 00:18:45,360 --> 00:18:46,359 Давид Ј. Малан: Тако главни. 386 00:18:46,359 --> 00:18:47,410 Можда инт, можда празнина. 387 00:18:47,410 --> 00:18:51,280 Али главна врста звукова као што су важно је, и заиста јесте. 388 00:18:51,280 --> 00:18:54,080 Дакле, када се кликне зелене заставе је, опет, слагалице комад 389 00:18:54,080 --> 00:18:56,390 да почиње цео Сцратцх програма. 390 00:18:56,390 --> 00:19:02,140 Али ми ћемо сада почети позивање да је главни, ова функција познат као главни. 391 00:19:02,140 --> 00:19:06,410 >> Сада у међувремену ћемо генерализовати то на следећи начин. 392 00:19:06,410 --> 00:19:08,780 Бисмо могли назвати рећи функције. 393 00:19:08,780 --> 00:19:10,580 И то може да изгледа посебно овако. 394 00:19:10,580 --> 00:19:11,770 Па, шта је са петље? 395 00:19:11,770 --> 00:19:16,540 Ако желимо да започнете конвертовање или превођење више у Огреби на Ц, 396 00:19:16,540 --> 00:19:19,400 Ова ствар овде очигледно само каже "Хелло Ворлд" заувек. 397 00:19:19,400 --> 00:19:23,060 Дакле, ако сте повезивање ових Скрипте са мачком у Огреби, 398 00:19:23,060 --> 00:19:26,560 то је само ће да каже у некој врсти цартоон балона, 399 00:19:26,560 --> 00:19:29,922 "Хелло Ворлд, Хелло Ворлд, здраво свет ", а.д. наусеум, заувек. 400 00:19:29,922 --> 00:19:33,130 Ако желимо да урадимо нешто слично у Ц, то ће да изгледа мало загонетан. 401 00:19:33,130 --> 00:19:35,463 Али можемо постићи исти резултате, јер смо на крају ћу 402 00:19:35,463 --> 00:19:36,861 сазнати, са синтакси овако. 403 00:19:36,861 --> 00:19:39,360 Ја ћу поново користити принтф, јер на крају дана 404 00:19:39,360 --> 00:19:42,040 Желим да принт "Хелло ворлд". 405 00:19:42,040 --> 00:19:45,610 А ја очигледно користим кључна реч која није заувек. 406 00:19:45,610 --> 00:19:47,320 Уместо тога је реч док. 407 00:19:47,320 --> 00:19:49,650 Али само у семантички Енглески, док је врста 408 00:19:49,650 --> 00:19:52,120 предлаже неку врсту петље или циклуса. 409 00:19:52,120 --> 00:19:55,070 >> Тако да се дешава да се кључна реч да Ц користи. 410 00:19:55,070 --> 00:20:00,700 И док истина, зашто мало Истина ефективно значи заувек? 411 00:20:00,700 --> 00:20:04,240 Па, док, као што смо ускоро Ценим све више, 412 00:20:04,240 --> 00:20:08,140 има ту загради поред ње где можете ставити боолеан израз. 413 00:20:08,140 --> 00:20:11,360 И тако дуго као да израз је истина, овај код, 414 00:20:11,360 --> 00:20:14,750 као означен између ове две цурли протеза како ћемо их звати, 415 00:20:14,750 --> 00:20:16,880 ће само наставити да ради изнова и изнова. 416 00:20:16,880 --> 00:20:18,410 >> Па истина је истина. 417 00:20:18,410 --> 00:20:20,900 Дакле, док правим путем само уради то заувек. 418 00:20:20,900 --> 00:20:23,480 Скоро да је глуп изградити да се изрази. 419 00:20:23,480 --> 00:20:26,590 Али не било заувек кључна реч у Ц. Било је време. 420 00:20:26,590 --> 00:20:29,390 И било је врло једноставан Боолеан израз као истина. 421 00:20:29,390 --> 00:20:32,210 И тако то, видећемо, постиже исти резултат. 422 00:20:32,210 --> 00:20:33,890 >> Како другачије може да примените петљу? 423 00:20:33,890 --> 00:20:36,980 Па, у нуле и мислио Тешко код одређени број 424 00:20:36,980 --> 00:20:39,430 итерација у петљи овде. 425 00:20:39,430 --> 00:20:43,210 И то је управо оно што смо може да уради у овој верзији Ц, 426 00:20:43,210 --> 00:20:46,140 где имамо тзв на петљу. 427 00:20:46,140 --> 00:20:49,850 А за петљу овде се дешава до прелазили, донекле загонетно, 428 00:20:49,850 --> 00:20:54,100 од вредности 0 горе да, али мање од 10. 429 00:20:54,100 --> 00:20:55,955 >> Сада променљиве у нуле. 430 00:20:55,955 --> 00:20:57,830 Можда нисте имали прилика да користе ово. 431 00:20:57,830 --> 00:21:02,516 Али шта је поента, уопште, променљиве смо рекли прошле недеље? 432 00:21:02,516 --> 00:21:03,015 Шта је то? 433 00:21:03,015 --> 00:21:03,780 >> Публика: Поинтс. 434 00:21:03,780 --> 00:21:05,200 >> Давид Ј. Малан: У тренутку? 435 00:21:05,200 --> 00:21:05,700 Ох, истиче. 436 00:21:05,700 --> 00:21:07,620 У реду, праћење поена, На пример, у игри. 437 00:21:07,620 --> 00:21:09,510 Или уопште ради шта са променљиву? 438 00:21:09,510 --> 00:21:10,450 Шта је корисност од њих? 439 00:21:10,450 --> 00:21:10,825 >> Публика: Меморија. 440 00:21:10,825 --> 00:21:11,750 >> Давид Ј. Малан: Да, тако меморија. 441 00:21:11,750 --> 00:21:13,000 То је за складиштење нешто. 442 00:21:13,000 --> 00:21:17,336 И врста визуелног глупо сам користио Последњи пут је као ове стаклене посуде. 443 00:21:17,336 --> 00:21:19,710 И ако смо хтели да складишти нешто унутар варијабле, 444 00:21:19,710 --> 00:21:21,918 на пример, сада вредност је шест зато што постоји 445 00:21:21,918 --> 00:21:23,450 шест пинг понг лоптица овде. 446 00:21:23,450 --> 00:21:26,158 То је само нека врста складишта контејнер који испод хаубе 447 00:21:26,158 --> 00:21:30,030 се спроводи уз бита, 0с и 1с, Међутим, рачунар се дешава да се то уради. 448 00:21:30,030 --> 00:21:32,900 >> Дакле, у Огреби, ако желе да имају променљиву, 449 00:21:32,900 --> 00:21:34,840 можемо користити наранџасто блок овако. 450 00:21:34,840 --> 00:21:37,050 Ми ћемо позвати то цоунтер у овом конкретном случају. 451 00:21:37,050 --> 00:21:38,890 Ја га иницијализован на 0. 452 00:21:38,890 --> 00:21:41,080 И шта је онда да радим? 453 00:21:41,080 --> 00:21:44,780 Заувек, кажу цоунтер, који ако играте са тим у Огреби, 454 00:21:44,780 --> 00:21:45,780 само ћете видети огреботина. 455 00:21:45,780 --> 00:21:49,920 Мачка или шта костим сте ставили на њега ће говорити број у питању. 456 00:21:49,920 --> 00:21:52,840 >> Промена Цоунтер би 1 је Као увецава за 1. 457 00:21:52,840 --> 00:21:56,580 И то ће се цоунт од чега па шта? 458 00:21:56,580 --> 00:21:59,114 Од 0 тил бесконачности, или до Греб паузе, 459 00:21:59,114 --> 00:22:01,030 или док не врста губе интересовање за гледање 460 00:22:01,030 --> 00:22:02,650 колико високо он заправо може да рачуна. 461 00:22:02,650 --> 00:22:04,800 >> Па како бисмо могли конвертовати ово Ц? 462 00:22:04,800 --> 00:22:06,480 То ће да изгледа мало загонетан. 463 00:22:06,480 --> 00:22:08,896 Али опет, ако се осврнемо на сваки од ових линија појединачно 464 00:22:08,896 --> 00:22:10,410 они некако формацији уопште. 465 00:22:10,410 --> 00:22:13,526 Па очигледно инт ће се има неки посебан значај у Ц. 466 00:22:13,526 --> 00:22:14,400 Видећемо то поново. 467 00:22:14,400 --> 00:22:15,810 Као страну то значи цео. 468 00:22:15,810 --> 00:22:16,990 Па то само значи број. 469 00:22:16,990 --> 00:22:18,920 Дакле, то је врста стаклене посуде Хоћу, један 470 00:22:18,920 --> 00:22:21,120 који може да ускладишти бројеве, Не пинг понг лоптица. 471 00:22:21,120 --> 00:22:25,520 И ја ћу користити знак једнакости тамо да га доделите вредност 0. 472 00:22:25,520 --> 00:22:29,440 Дакле, то је прилично слично сет цоунтер на 0, али у Ц. 473 00:22:29,440 --> 00:22:32,840 >> У међувремену, док је истина, то је било еквивалент, наравно, да заувек, 474 00:22:32,840 --> 00:22:35,980 иако је мало загонетан, а онда унутар великих заграда. 475 00:22:35,980 --> 00:22:39,188 А можете мислити од ових заграда, којима можете куцати на тастатури, 476 00:22:39,188 --> 00:22:43,110 као заиста је попут кривине у Ови жути лооп блокови у нуле. 477 00:22:43,110 --> 00:22:45,700 То обухвата више линија кода. 478 00:22:45,700 --> 00:22:48,120 >> Принтф постаје мало застрашујуће сада, јер ја 479 00:22:48,120 --> 00:22:51,120 види цитира не само у загради. 480 00:22:51,120 --> 00:22:55,160 Али оно што је још ново синтаксички у овом примеру? 481 00:22:55,160 --> 00:22:57,300 Постоји посто д. 482 00:22:57,300 --> 00:22:58,551 А онда бацксласх н је ту. 483 00:22:58,551 --> 00:23:00,883 Ми пре нисам видео, чак и мада ја нисам поменуо. 484 00:23:00,883 --> 00:23:01,886 Затим, ту је запета. 485 00:23:01,886 --> 00:23:03,010 А онда ту је бројач. 486 00:23:03,010 --> 00:23:05,010 >> Али ми ћемо видети у само тренутак да је ово само 487 00:23:05,010 --> 00:23:09,080 стандардни начин да се каже одштампати "Децимални број", цитат, цитата, 488 00:23:09,080 --> 00:23:10,500 неки децимални број. 489 00:23:10,500 --> 00:23:13,370 Али ја ћу да вам касније шта је децимални број. 490 00:23:13,370 --> 00:23:16,835 Дакле, чињеница да постоји зарез у овој линији изрека принтф, 491 00:23:16,835 --> 00:23:18,710 значи само напред и штампање неки децимални број. 492 00:23:18,710 --> 00:23:23,110 Ох, и успут, број без обзира вредност ове променљиве је. 493 00:23:23,110 --> 00:23:25,880 Па да се то још Цлеар, видећемо пример 494 00:23:25,880 --> 00:23:30,930 Убрзо укључујући тачно принтф у контексту реалног Ц програма. 495 00:23:30,930 --> 00:23:33,472 >> Сада само да завршим неке ових конструката. 496 00:23:33,472 --> 00:23:36,680 Логички изрази, можда нећете имати прилика да користе ово у свом програму 497 00:23:36,680 --> 00:23:39,450 али можда добро, нарочито ако користећи услове. 498 00:23:39,450 --> 00:23:43,460 И тако ова два примера из Огребите значи ако је к мање од и, 499 00:23:43,460 --> 00:23:48,770 или ако је к мања од И и И је мање од з, како бисмо могли превести то? 500 00:23:48,770 --> 00:23:50,810 >> Па, у Ц то је само ће да изгледа овако. 501 00:23:50,810 --> 00:23:55,300 А Литтле Цриптиц, више заграда, неки чудни амперсандс, али у основи 502 00:23:55,300 --> 00:23:59,160 идеје су тако једноставне као што су у пуззле пиеце света. 503 00:23:59,160 --> 00:24:02,690 Ми једноставно провере да ли нешто је мање од нешто друго. 504 00:24:02,690 --> 00:24:03,910 >> Шта мислите о условима? 505 00:24:03,910 --> 00:24:09,710 У кратким цртама на енглеском, шта то комад Огреби кода до би ти рекао? 506 00:24:09,710 --> 00:24:11,050 >> ПУБЛИКА: пореди два броја. 507 00:24:11,050 --> 00:24:13,760 >> Давид Ј. Малан: пореди два бројеве, а ако к је мања од и 508 00:24:13,760 --> 00:24:14,860 пише колико. 509 00:24:14,860 --> 00:24:18,080 Ако је к је већи од и каже колико, иначе 510 00:24:18,080 --> 00:24:20,740 ако је к једнако и каже колико. 511 00:24:20,740 --> 00:24:22,180 А где сте Кс и И долазе? 512 00:24:22,180 --> 00:24:22,680 Ко зна. 513 00:24:22,680 --> 00:24:25,380 Овај комад Огреби код је ван контекста. 514 00:24:25,380 --> 00:24:29,050 Али оно што ми желимо да урадимо сада је превести ово само тренутак да видимо. 515 00:24:29,050 --> 00:24:31,660 >> Дакле, као што се удобно ове недеље у Проблем Сет 516 00:24:31,660 --> 00:24:34,190 0 играње на овом свету на левој страни, схватају 517 00:24:34,190 --> 00:24:36,940 да се идеје не мењају ове недеље или следеће или изван. 518 00:24:36,940 --> 00:24:38,690 То једноставно ћемо почнете да пишете ствари 519 00:24:38,690 --> 00:24:41,240 на другачији начин са нашим тастатура уместо нашег миша. 520 00:24:41,240 --> 00:24:44,577 >> Дакле, ако је к мање од И, и постоје неке тамо заграда, 521 00:24:44,577 --> 00:24:47,160 онда постоје неке цурли протезе поново некако обухвати 522 00:24:47,160 --> 00:24:48,970 баш као што су то жуте комада слагалице уради. 523 00:24:48,970 --> 00:24:53,000 И ја ћу да принтф к је мање од и и тако даље. 524 00:24:53,000 --> 00:24:56,540 >> Оно што је лепо у вези Ц, као што можете видети овде, 525 00:24:56,540 --> 00:25:00,480 је да не добијете ову нестинг, нестинг, гнезди то је нужно 526 00:25:00,480 --> 00:25:02,220 ће гурнути свој код у десно. 527 00:25:02,220 --> 00:25:04,990 Уместо тога можете имати све Постава уредно овако. 528 00:25:04,990 --> 00:25:08,960 Али то је само естетски детаљ ћемо поново видети пре дуго. 529 00:25:08,960 --> 00:25:09,660 >> У реду. 530 00:25:09,660 --> 00:25:13,290 Тако да нас враћа на Овај Цриптиц лоокинг програма. 531 00:25:13,290 --> 00:25:15,180 Хајде да заправо напише неки код. 532 00:25:15,180 --> 00:25:16,830 Сад, како идете о писању кода? 533 00:25:16,830 --> 00:25:21,310 Све ове године које си у власништву Мац или ПЦ, десктоп или лаптоп, 534 00:25:21,310 --> 00:25:24,520 заправо смо могућност да започнете писање програмског кода. 535 00:25:24,520 --> 00:25:27,050 Али вероватно пропуштате посебна врста програма. 536 00:25:27,050 --> 00:25:28,470 Ви свакако можете да напишете код. 537 00:25:28,470 --> 00:25:30,740 Али не можете нужно, оут оф тхе бок, 538 00:25:30,740 --> 00:25:34,210 цонверт да изворни код у објекат код, 0с и 1с 539 00:25:34,210 --> 00:25:35,619 без шта на вашем рачунару? 540 00:25:35,619 --> 00:25:36,410 Публика: Цомпилер. 541 00:25:36,410 --> 00:25:37,630 Давид Ј. Малан: Тако компајлер, десно. 542 00:25:37,630 --> 00:25:39,730 Сада већина вас вероватно не поседују компајлер, 543 00:25:39,730 --> 00:25:41,259 никада нису преузели компајлер. 544 00:25:41,259 --> 00:25:44,300 Али видећете можете га преузети као и већине било који други комад софтвера. 545 00:25:44,300 --> 00:25:47,470 У свету Мац ОС, и мислио преузимате или су већ преузети 546 00:25:47,470 --> 00:25:50,437 нешто што се зове Ксцоде или ГЦЦ или Цланг. 547 00:25:50,437 --> 00:25:52,270 Ако долазите из Виндовс вас свет може 548 00:25:52,270 --> 00:25:56,190 преузели Висуал Студио, Висуал Басиц, окружења такве. 549 00:25:56,190 --> 00:25:59,200 Постоји десетине преводиоца ових дана да бисте могли користити. 550 00:25:59,200 --> 00:26:01,940 Али кратко томе овде је да ће то бити бол 551 00:26:01,940 --> 00:26:04,480 и, искрено, технолошки ноћна мора за стотине 552 00:26:04,480 --> 00:26:07,680 људи са различитим компјутерске конфигурације свима 553 00:26:07,680 --> 00:26:09,800 конфигурисати своје машине на потпуно исти начин 554 00:26:09,800 --> 00:26:11,700 тако да можемо сви бити на истој страни. 555 00:26:11,700 --> 00:26:15,240 >> Дакле, оно што, уместо тога, да у ЦС50 је да ти дам 556 00:26:15,240 --> 00:26:18,349 Стандардно окружење, Линук окружење које је 557 00:26:18,349 --> 00:26:20,140 ће да изгледа мало овако нешто. 558 00:26:20,140 --> 00:26:22,980 Видећете више ово Проблем Сет 1 спецификација која 559 00:26:22,980 --> 00:26:25,330 ће ићи на мрежи у петак вече. 560 00:26:25,330 --> 00:26:28,360 >> И шта то значи је да сте одсада 561 00:26:28,360 --> 00:26:32,060 ће бити у стању да преузмете и инсталирате програм 562 00:26:32,060 --> 00:26:33,650 назвао ЦС50 Примена. 563 00:26:33,650 --> 00:26:36,275 А ви идете да преузмете и инсталирате други програм под називом 564 00:26:36,275 --> 00:26:40,300 хипервизор, што је само Фанци начин да се то постигне. 565 00:26:40,300 --> 00:26:44,600 Без обзира да ли сте власник Мац или ПЦ или Линук рачунар или Соларис рачунар, 566 00:26:44,600 --> 00:26:46,830 или било Црази Оперативни систем да сте покренули, 567 00:26:46,830 --> 00:26:49,820 идете да преузмете програм зове хипервисор који је 568 00:26:49,820 --> 00:26:53,350 ће за покретање ЦС50 Примена на рачунару 569 00:26:53,350 --> 00:26:55,430 Без обзира на ваш оперативни систем. 570 00:26:55,430 --> 00:27:00,640 Хипервизор другим речима конвертује наше ствари на било ком језику, 571 00:27:00,640 --> 00:27:03,850 год упуте Ваш сопствени рачунар разуме. 572 00:27:03,850 --> 00:27:04,962 >> Дакле, ово је наношење слојева. 573 00:27:04,962 --> 00:27:06,920 И опет, то је врста тематских у рачунар 574 00:27:06,920 --> 00:27:08,722 наука, зграда на врху ствари. 575 00:27:08,722 --> 00:27:09,680 Можда имате Виндовс. 576 00:27:09,680 --> 00:27:10,710 Можда ћете морати Мац ОС. 577 00:27:10,710 --> 00:27:12,960 Али почевши следеће недеље си ће имати преузети 578 00:27:12,960 --> 00:27:14,980 слободан комад софтвера зове хипервизор. 579 00:27:14,980 --> 00:27:17,800 Идеш да преузети комад софтвера зове ЦС50 Апплианце. 580 00:27:17,800 --> 00:27:21,050 >> То ће да ради у хипервизор, који ће да ради на рачунару. 581 00:27:21,050 --> 00:27:23,030 А крајњи резултат је да свако од нас ће 582 00:27:23,030 --> 00:27:26,220 имају једноставан прозор као ово на вашем Мац или ПЦ 583 00:27:26,220 --> 00:27:30,160 која нам даје илузију свих ради исти оперативни систем, 584 00:27:30,160 --> 00:27:32,800 без било ког другог утицај на рачунару. 585 00:27:32,800 --> 00:27:34,870 А можете Фулл Сцреен она и суштински се понаша 586 00:27:34,870 --> 00:27:37,550 као да се ради Оперативни систем се зове Линукс, 587 00:27:37,550 --> 00:27:40,270 што је оно ЦС50 Примена се заснива на. 588 00:27:40,270 --> 00:27:42,930 >> Дакле, хајде да заиста користити ово Сада да напишете програм. 589 00:27:42,930 --> 00:27:45,450 Можете да напишете програм користећи Мицрософт Ворд. 590 00:27:45,450 --> 00:27:48,160 Можете да напишете програм користите ТектЕдит или Бележница, 591 00:27:48,160 --> 00:27:51,880 или ВордПад, или прилично било која реч Програм за обраду сте икада користили. 592 00:27:51,880 --> 00:27:55,174 Али реалност је да не би требало користе заиста било који од тих програма. 593 00:27:55,174 --> 00:27:57,840 Ви свакако не би требало да користите нешто попут Мицрософт Ворд, која 594 00:27:57,840 --> 00:28:01,120 има болд суочава и курзив, и веће фонтове и мањим фонтовима, 595 00:28:01,120 --> 00:28:03,560 јер рачунар не брига о било шта од тога. 596 00:28:03,560 --> 00:28:05,600 Све рачунар ће да брине о је 597 00:28:05,600 --> 00:28:09,040 Енглески као упутства написане на Ц. 598 00:28:09,040 --> 00:28:12,050 >> Дакле, шта ћемо урадити унутра на ЦС50 Апплианце 599 00:28:12,050 --> 00:28:14,290 се користи програм слободно на располагању, а то је 600 00:28:14,290 --> 00:28:17,360 унапред инсталиран у ову апарат, назван гедит. 601 00:28:17,360 --> 00:28:22,280 А Гедит је само супер једноставно текст едитор као Мац ОС-а ТектЕдит, 602 00:28:22,280 --> 00:28:26,200 као што је Виндовс Бележница да ће се то изгледа нешто овако. 603 00:28:26,200 --> 00:28:28,910 >> Као и нека ствари није погледај слајдове овога. 604 00:28:28,910 --> 00:28:32,580 Али, хајде да ствари иду у сама окружење. 605 00:28:32,580 --> 00:28:36,090 Идем да иде напред и лог ин, у овом другом прозору, 606 00:28:36,090 --> 00:28:40,910 мом ЦС50 апарат, који сам унапред инсталиран на мој лаптоп овде. 607 00:28:40,910 --> 00:28:43,771 >> Обратите пажњу на то, као и Виндовс Мац ОС, то има неке меније. 608 00:28:43,771 --> 00:28:45,520 Као што је Виндовс ставља она тамо, уместо 609 00:28:45,520 --> 00:28:47,020 Мац ОС, што га ставља тамо доле. 610 00:28:47,020 --> 00:28:48,930 Али реалност је да је све врсте истог. 611 00:28:48,930 --> 00:28:50,770 А овде је цео гомила софтвера. 612 00:28:50,770 --> 00:28:51,770 Ту је Дропбок. 613 00:28:51,770 --> 00:28:54,780 Постоји цела гомила додатака, графички програми који ћемо 614 00:28:54,780 --> 00:28:56,430 користити касније у року за проблем поставе. 615 00:28:56,430 --> 00:28:59,650 Постоји веб бровсер изграђен тако да је пуноправно компјутер 616 00:28:59,650 --> 00:29:01,240 унутар рачунара. 617 00:29:01,240 --> 00:29:04,170 >> Али ја ћу да кликнете на овај леве стране бели ицон овде, 618 00:29:04,170 --> 00:29:05,890 који је икона за бележнице. 619 00:29:05,890 --> 00:29:09,650 И то ће се отворити прозор која има три панела на њега, 620 00:29:09,650 --> 00:29:12,590 лева, врх један, и дно један. 621 00:29:12,590 --> 00:29:16,071 >> Сада је у овом горњем десном оног који Идем да се заиста пишу неки код. 622 00:29:16,071 --> 00:29:16,820 Па хајде да урадимо ово ,. 623 00:29:16,820 --> 00:29:19,040 Ја идем на Филе, Саве. 624 00:29:19,040 --> 00:29:22,100 А ви не би икада видели ова прозор раније. 625 00:29:22,100 --> 00:29:23,620 Али ово је као Мац ОС или Виндовс. 626 00:29:23,620 --> 00:29:25,490 То је само прозор са свим фолдера 627 00:29:25,490 --> 00:29:27,290 да ја имам унутар овог рачунара. 628 00:29:27,290 --> 00:29:30,320 >> И ја ћу да сачувате фајл као хелло.ц. 629 00:29:30,320 --> 00:29:32,690 И ја ћу да одем напред и кликните на дугме Сачувај. 630 00:29:32,690 --> 00:29:36,364 И сада приметити имам картицу у горњем левом углу се зове хелло.ц. 631 00:29:36,364 --> 00:29:38,280 Тако је вероватно прилично познато чак и ако не си 632 00:29:38,280 --> 00:29:40,240 користили ову конкретну програм раније. 633 00:29:40,240 --> 00:29:44,890 >> А сада ћу да куцате у оним прилично Цриптиц редослед команди 634 00:29:44,890 --> 00:29:46,360 које смо видели малопре. 635 00:29:46,360 --> 00:29:49,330 Укључују, стандардни и / О.х. 636 00:29:49,330 --> 00:29:50,600 Више о тој ускоро. 637 00:29:50,600 --> 00:29:55,670 Маин празнина, отворен Цурли Браце, затворена коврџаву браће. 638 00:29:55,670 --> 00:30:01,570 А онда унутар постоји ја мислим да је где смо имали "Хелло Ворлд", зарез. 639 00:30:01,570 --> 00:30:03,100 А сада спаси. 640 00:30:03,100 --> 00:30:08,780 >> Дакле, ово је програм написан у Ц, написано, дакле, у изворном коду. 641 00:30:08,780 --> 00:30:10,720 Али ја не могу само да покренете овај програм. 642 00:30:10,720 --> 00:30:13,390 Ја сам хтео да се удвостручи кликнете на икону негде, 643 00:30:13,390 --> 00:30:16,390 али не постоји друга икона него датотеке изворног кода. 644 00:30:16,390 --> 00:30:20,359 Шта је, опет, је процес који сада Морам да водим ову датотеку преко? 645 00:30:20,359 --> 00:30:21,150 Публика: Цомпилер. 646 00:30:21,150 --> 00:30:22,399 Давид Ј. Малан: Тако компајлер. 647 00:30:22,399 --> 00:30:24,890 Дакле, у различитим рачунарима си уради на различите начине. 648 00:30:24,890 --> 00:30:27,480 Али оно што смо овде урадили у ЦС50 уређаја који је 649 00:30:27,480 --> 00:30:31,260 представник како можете да урадите то на много различитих система, 650 00:30:31,260 --> 00:30:34,036 Ја се само ћу покрените команду зове Марка. 651 00:30:34,036 --> 00:30:35,660 И да је буквално ће то урадити. 652 00:30:35,660 --> 00:30:36,640 Направите ми програма. 653 00:30:36,640 --> 00:30:39,060 >> Па будите ће покрените компајлер за мене. 654 00:30:39,060 --> 00:30:42,160 И назив програма Желим да је здраво. 655 00:30:42,160 --> 00:30:43,510 Сада чине је програм. 656 00:30:43,510 --> 00:30:47,170 И да је довољно да се паметан схвате да, ако кажем да здраво, 657 00:30:47,170 --> 00:30:50,980 то ће да се аутоматски изгледа за датотеку под називом хелло.ц 658 00:30:50,980 --> 00:30:53,420 само зато што је то начин на који је конфигурисан. 659 00:30:53,420 --> 00:31:00,300 >> Дакле, када сад сам ударио Унесите овде, ово Црази Цриптиц линија управо погубљен. 660 00:31:00,300 --> 00:31:02,720 И верујте ми, пре дуго, у року од само неколико дана, 661 00:31:02,720 --> 00:31:05,590 ћете разумети шта све те глупости средстава. 662 00:31:05,590 --> 00:31:11,150 Али за сада, само знам да се изазвало извршење компајлера. 663 00:31:11,150 --> 00:31:13,290 Другим речима, она се компајлер на мом компјутеру 664 00:31:13,290 --> 00:31:14,820 То је унапред инсталиран на ЦС50 Апплианце 665 00:31:14,820 --> 00:31:16,560 да ћемо предати вама у Проблем 1. сету. 666 00:31:16,560 --> 00:31:20,990 А онда је, као хелло.ц улаз, и произвео очигледно 667 00:31:20,990 --> 00:31:23,040 0с и 1с као излаз. 668 00:31:23,040 --> 00:31:29,410 >> А по дефаулту шта ради је то штеди Те 0с и 1с у фајл под Хелло. 669 00:31:29,410 --> 00:31:33,180 И мада ове синтаксе превише мигхт бити ново за вас, једноставно говорећи тачку 670 00:31:33,180 --> 00:31:37,110 сласх Поздрав ће бити значи којим сам покренути овај програм. 671 00:31:37,110 --> 00:31:40,360 >> За сада и барем пар недеља, скоро све програме 672 00:31:40,360 --> 00:31:44,230 пишемо ће бити у црно-бели текст прозори. 673 00:31:44,230 --> 00:31:47,006 Не мишеви, не кликом, Нема прозора, нема икона. 674 00:31:47,006 --> 00:31:49,630 Идемо да га задржи једноставно и фокусирати се на основне идеје 675 00:31:49,630 --> 00:31:52,490 у почетку пре него што дођемо до нечега виши ниво, на пример, 676 00:31:52,490 --> 00:31:56,410 као избијају игре које смо причали о у првом предавању прошле недеље. 677 00:31:56,410 --> 00:32:00,820 >> Дакле, када сам ударио Унесите овде, то је еквивалент у тексту само животну средину 678 00:32:00,820 --> 00:32:03,272 да удвостручи кликнете на икону зове здраво. 679 00:32:03,272 --> 00:32:05,480 Шта очекујете вољу десити када сам ударио Ентер онда? 680 00:32:05,480 --> 00:32:07,120 >> ПУБЛИКА: То ће принт "Хелло ворлд". 681 00:32:07,120 --> 00:32:10,000 >> Давид Ј. Малан: Надам се она ће се штампати "Хелло ворлд". 682 00:32:10,000 --> 00:32:11,370 И заиста јесте. 683 00:32:11,370 --> 00:32:13,690 Сада постоји било неких Цриптиц синтаксу. 684 00:32:13,690 --> 00:32:15,950 Хајде уназад за само тренутак и видимо да ли смо 685 00:32:15,950 --> 00:32:19,530 не може да почне инферринг само крпљење, покушавајући и неуспеха, 686 00:32:19,530 --> 00:32:21,130 шта се овде дешава. 687 00:32:21,130 --> 00:32:23,609 Шта ако се отарасим на знак обрнуте косе Н? 688 00:32:23,609 --> 00:32:25,650 Сада неки од вас који сте програмиран раније вероватно 689 00:32:25,650 --> 00:32:27,054 знају шта то значи одмах. 690 00:32:27,054 --> 00:32:29,220 Али за оне од вас који сте Никада раније програмиран, 691 00:32:29,220 --> 00:32:34,052 барем мисле за себе оно што се дешава да се мења када сам реприза овај програм? 692 00:32:34,052 --> 00:32:37,010 Тако да ћу да се вратим у моју мало црно-бели прозор, што 693 00:32:37,010 --> 00:32:39,290 је прозор у коме Могу саставити ово. 694 00:32:39,290 --> 00:32:41,130 Идем да рекомпајлирате здраво. 695 00:32:41,130 --> 00:32:43,520 Идемо да видимо исто Цриптиц низ команди. 696 00:32:43,520 --> 00:32:45,719 И ја ћу да урадим дот косу црту здраво. 697 00:32:45,719 --> 00:32:48,260 И сада неко, ако би, који никада није програмиран раније, 698 00:32:48,260 --> 00:32:49,770 Шта може бити другачије овај пут? 699 00:32:49,770 --> 00:32:50,020 Да. 700 00:32:50,020 --> 00:32:51,840 >> ПУБЛИКА: Неће престати Принтинг "Хелло Ворлд". 701 00:32:51,840 --> 00:32:52,660 >> Давид Ј. Малан: да хоће жао? 702 00:32:52,660 --> 00:32:54,210 >> ПУБЛИКА: Неће престати да штампа? 703 00:32:54,210 --> 00:32:55,810 >> Давид Ј. Малан: Неће заустави штампање "Хелло Ворлд". 704 00:32:55,810 --> 00:32:56,560 Дакле, није лоша идеја. 705 00:32:56,560 --> 00:32:58,633 Друге идеје? 706 00:32:58,633 --> 00:32:59,132 Да. 707 00:32:59,132 --> 00:33:00,060 >> ПУБЛИКА: Порука о грешци? 708 00:33:00,060 --> 00:33:01,750 >> Давид Ј. Малан: Грешка порука, ОК, може бити. 709 00:33:01,750 --> 00:33:02,250 Шта друго? 710 00:33:02,250 --> 00:33:05,479 ПУБЛИКА: Можда принт носач са запетом као? 711 00:33:05,479 --> 00:33:08,270 Давид Ј. Малан: Мигхт принт носач са зарезом као. 712 00:33:08,270 --> 00:33:11,950 Па можда да је обрнута коса црта онда нека врста терминоус то је важно. 713 00:33:11,950 --> 00:33:14,860 Било који други мисли? 714 00:33:14,860 --> 00:33:16,412 >> Тако да све добре идеје. 715 00:33:16,412 --> 00:33:18,370 И, у ствари, то ће да се порука о грешци. 716 00:33:18,370 --> 00:33:20,400 То је вероватно највероватније да одговор уопште 717 00:33:20,400 --> 00:33:22,420 за наредних неколико недеља док учимо да код овде. 718 00:33:22,420 --> 00:33:27,680 >> Али за сада не заборавите да рачунари само да оно што им кажете да урадите. 719 00:33:27,680 --> 00:33:30,400 Слично као смешну кикирики путер и желе пример. 720 00:33:30,400 --> 00:33:33,860 Наша људска рачунари су само требали да урадите оно што сте им рекли да раде. 721 00:33:33,860 --> 00:33:36,250 Дакле, у овом случају, ако не говоре рачунар 722 00:33:36,250 --> 00:33:41,190 да померите курсор који трепће у Следећи ред, то неће да уради. 723 00:33:41,190 --> 00:33:45,390 Дакле, када сам покренути овај програм Сада, приметити разлику. 724 00:33:45,390 --> 00:33:46,900 >> Изгледа као бубу. 725 00:33:46,900 --> 00:33:49,190 То је естетски Буг, можда. 726 00:33:49,190 --> 00:33:53,310 Али оно што је другачије о томе излаз у односу на последњи очигледно? 727 00:33:53,310 --> 00:33:53,810 Да. 728 00:33:53,810 --> 00:33:54,920 >> ПУБЛИКА: Није урадио нову линију. 729 00:33:54,920 --> 00:33:56,586 >> Давид Ј. Малан: То није ништа нову линију. 730 00:33:56,586 --> 00:33:58,740 Они од вас који су има можда направио веб странице 731 00:33:58,740 --> 00:34:01,910 пре, можда знате БР тагове или пасус ознака, 732 00:34:01,910 --> 00:34:03,120 веома слични по духу. 733 00:34:03,120 --> 00:34:06,680 Веб Бровсер ће те игнорисати до сте тачно рећи шта да радим. 734 00:34:06,680 --> 00:34:10,020 Слично, је језик као Ц само урадити оно што не кажете да урадите. 735 00:34:10,020 --> 00:34:12,730 >> Тако из разлога што свим овим примерима, 736 00:34:12,730 --> 00:34:15,350 до сада, имају некако лежерно имао овај косе црте 737 00:34:15,350 --> 00:34:18,560 тамо, то је средство којим сте се изразите 738 00:34:18,560 --> 00:34:21,380 као нове линије карактера, тако да говори. 739 00:34:21,380 --> 00:34:26,219 И можете некако ценим, можда, да ће ово изгледа глупо 740 00:34:26,219 --> 00:34:27,070 ако ништа друго. 741 00:34:27,070 --> 00:34:29,150 Ако сам желео нову линију, само ударање Ентер а затим некако 742 00:34:29,150 --> 00:34:32,219 од касапи код таквог не би требало баш ти трљати на прави начин. 743 00:34:32,219 --> 00:34:33,830 А чак и ако не стварно стало у овом тренутку, 744 00:34:33,830 --> 00:34:35,830 ви ћете схватити да ово није нарочито 745 00:34:35,830 --> 00:34:37,870 гоод лоокинг део кода. 746 00:34:37,870 --> 00:34:39,969 >> Па шта свет Пре одлучили година је 747 00:34:39,969 --> 00:34:43,420 да када желите да ставите курсор на нову линију експлицитно, 748 00:34:43,420 --> 00:34:46,332 морате експлицитно рећи Нова линија, обрнута коса црта н. 749 00:34:46,332 --> 00:34:48,040 И постоји неки други симбола тако. 750 00:34:48,040 --> 00:34:50,719 Али за сада ћемо само фокусирају на знак обрнуте косе Н. 751 00:34:50,719 --> 00:34:53,790 >> Сада ћемо направити програм мало више занимљив. 752 00:34:53,790 --> 00:34:59,200 Идем да иде напред и овај пут отвори нову датотеку. 753 00:34:59,200 --> 00:35:02,520 Идем да сачувате ово као хелло-1.Ц. 754 00:35:02,520 --> 00:35:05,540 И за сваки случај, ја ћу иди стави у мој Дропбок фолдер. 755 00:35:05,540 --> 00:35:09,030 >> Као што ћете видети у ЦС50 документација за апарат, 756 00:35:09,030 --> 00:35:11,210 касније ове недеље за Проблем Сет 1, ми ћемо охрабрити 757 00:35:11,210 --> 00:35:13,230 да користите Дропбок или неки еквивалент сервис, 758 00:35:13,230 --> 00:35:15,430 јер је тада све ваше законика ће бити подржана аутоматски. 759 00:35:15,430 --> 00:35:17,830 И то зато сам отишао у овом фолдеру овде. 760 00:35:17,830 --> 00:35:20,230 >> А сада ћу да пишем мало другачије програма. 761 00:35:20,230 --> 00:35:24,740 Укључују, стандардни и / О.х, маин воид. 762 00:35:24,740 --> 00:35:29,660 И онда се овде принтф, Хелло ворлд, што је исто као и пре. 763 00:35:29,660 --> 00:35:32,450 >> Али сада желим да одштампате нешто то је мало другачије. 764 00:35:32,450 --> 00:35:34,800 Желим да штампате, кажу, "Здраво, Дејвид." 765 00:35:34,800 --> 00:35:37,590 У реду, тако очигледно, би требало надам 766 00:35:37,590 --> 00:35:40,360 бити случај да ако ја рецомпиле Овај програм, реприза је, 767 00:35:40,360 --> 00:35:41,840 то ће рећи "Здраво, Давиде." 768 00:35:41,840 --> 00:35:45,160 >> Али, шта ако ја желим да представим Ова врста променљиве, 769 00:35:45,160 --> 00:35:49,240 појам посуде која се дешава за складиштење Д--В-И-Д и није тешко законика 770 00:35:49,240 --> 00:35:50,600 у мој програм. 771 00:35:50,600 --> 00:35:53,430 Па шта ако почнем радите нешто овако? 772 00:35:53,430 --> 00:35:57,120 >> Стринг с, тако да је ово променљива. 773 00:35:57,120 --> 00:36:00,250 Ако желите стринг, а.к.а. реч или фразу. 774 00:36:00,250 --> 00:36:03,485 Низ знакова је шта Ми у програмирању назвати стринг. 775 00:36:03,485 --> 00:36:06,610 Само ћемо да генерички позив је то, јер је лепо једноставно име. 776 00:36:06,610 --> 00:36:08,010 Али сам могао назвати нешто. 777 00:36:08,010 --> 00:36:12,920 >> Идем да кажем екуалс Стринг с под знацима навода, "Давид", зарез. 778 00:36:12,920 --> 00:36:18,330 И сада желим да убаците Д--В-И-д у оно што сам штампа. 779 00:36:18,330 --> 00:36:23,720 И пре него што смо видели на задиркивање екран неког посебног синтаксе 780 00:36:23,720 --> 00:36:26,050 који нам је омогућио да се замена у вредности. 781 00:36:26,050 --> 00:36:29,250 Који је био посебан Симбол је пре неколико слајдова? 782 00:36:29,250 --> 00:36:30,040 >> Тако одсто. 783 00:36:30,040 --> 00:36:33,830 У то време је било процената Д за децимални број. 784 00:36:33,830 --> 00:36:35,850 То заиста не изгледа релевантно овде. 785 00:36:35,850 --> 00:36:38,650 Испоставило се да постоји други одсто симбол, 786 00:36:38,650 --> 00:36:42,810 што је проценат с, који стоји за чувар места за низ. 787 00:36:42,810 --> 00:36:49,350 >> Тако да сада, врло једноставно, ја сам ићи направити здраво-1, 788 00:36:49,350 --> 00:36:54,210 Пошто ова датотека се зове хелло-1.ц, и притисните Ентер. 789 00:36:54,210 --> 00:36:56,230 И пијан сам. 790 00:36:56,230 --> 00:36:57,394 Шта се дешава? 791 00:36:57,394 --> 00:37:00,560 Па, ево где морамо да почнемо да Ценим да смо у овом командом 792 00:37:00,560 --> 00:37:02,810 линија Енвиронмент, ово Само текст окружење. 793 00:37:02,810 --> 00:37:06,114 Нема кликом на иконама као и директоријуме сада. 794 00:37:06,114 --> 00:37:07,280 И сетите се малопре. 795 00:37:07,280 --> 00:37:10,740 У оно што сам рекао фасцикла Ја сам штеди своју шифру? 796 00:37:10,740 --> 00:37:11,657 Па фасцикла Дропбок. 797 00:37:11,657 --> 00:37:12,989 Могао да буде позван ништа. 798 00:37:12,989 --> 00:37:14,530 Али се дешава да се зове Дропбок. 799 00:37:14,530 --> 00:37:18,380 Па сам некако треба да удвостручи кликнете на да Дропбок директоријум да би добили 800 00:37:18,380 --> 00:37:21,657 у њега и да на мој Код зове здраво-1.ц. 801 00:37:21,657 --> 00:37:24,490 У ствари, дозволите ми да само напред и минимизира Овај прозор само на тренутак. 802 00:37:24,490 --> 00:37:27,560 Баш као Виндовс и Мац ОС, постоје фолдери у Линук. 803 00:37:27,560 --> 00:37:29,410 Постоје фолдери ЦС50 Апплианце. 804 00:37:29,410 --> 00:37:32,380 Само сада смо ограничавајући себи да овог текста окружењу. 805 00:37:32,380 --> 00:37:34,700 >> Али ако ја двојној селчок на Дропбок, приметити тамо 806 00:37:34,700 --> 00:37:37,210 је фајл који желим да састави. 807 00:37:37,210 --> 00:37:41,430 Али морам ово црно и бело прозор терминала, да тако кажем. 808 00:37:41,430 --> 00:37:45,750 Али ми треба, дакле, да се креће у тај фолдер или директоријум. 809 00:37:45,750 --> 00:37:48,290 Тако мало волшебни, али ћете се навићи на ово. 810 00:37:48,290 --> 00:37:50,430 >> У свету Линук, што опет је оперативни 811 00:37:50,430 --> 00:37:54,860 Систем ми понестаје унутар ЦС50 Примена, постоји команда се зове ЦД. 812 00:37:54,860 --> 00:37:58,310 Што значи да могу да урадим ЦД, простор, Дропбок. 813 00:37:58,310 --> 00:37:59,900 ЦД, промена директоријум. 814 00:37:59,900 --> 00:38:00,400 Десно. 815 00:38:00,400 --> 00:38:02,890 Назад у дан када су људи били измишља компјутере и оперативни 816 00:38:02,890 --> 00:38:05,806 овакве системе, они су хтели да Укуцајте Најмање откуцамо могуће. 817 00:38:05,806 --> 00:38:08,760 Па најлакши начин да се каже Промена регистру су ЦД. 818 00:38:08,760 --> 00:38:13,910 >> Дакле, ако сам ударио ЦД, простор Дропбок, приметили шта се променило. 819 00:38:13,910 --> 00:38:16,480 Унутар заграда апарат је врста 820 00:38:16,480 --> 00:38:19,360 да ме Повлађивали и си ме подсетила где сам. 821 00:38:19,360 --> 00:38:21,480 Па Опен фолдер Дропбок. 822 00:38:21,480 --> 00:38:24,950 Ако сам сада типа ЛС Лист, опет језгровит, 823 00:38:24,950 --> 00:38:27,540 зато што људи нису хтели да укуцајте Назад у дан Л-И-С-Т. 824 00:38:27,540 --> 00:38:29,300 Па су уместо тога ставио до ЛС. 825 00:38:29,300 --> 00:38:30,110 >> Ентер. 826 00:38:30,110 --> 00:38:35,740 Приметити видим две ствари, хелло-1.Ц, а онда овај загонетан ствар, извор 1м. 827 00:38:35,740 --> 00:38:38,310 То је само мој начин да се каже изворни код за недељу 1 понедељак. 828 00:38:38,310 --> 00:38:42,020 То је фасцикла сам скинути са Сајт ЦС50 је то сам направио раније данас 829 00:38:42,020 --> 00:38:43,990 и само га стави у Примена унапред. 830 00:38:43,990 --> 00:38:47,550 >> Али за сада једина ствар коју стало чини овај програм. 831 00:38:47,550 --> 00:38:50,440 Дакле, када сам типа да здраво-1, Ентер. 832 00:38:50,440 --> 00:38:51,320 Проклетство. 833 00:38:51,320 --> 00:38:53,060 Нешто није у реду. 834 00:38:53,060 --> 00:38:54,580 Па хајде да задиркује ово одвојено. 835 00:38:54,580 --> 00:38:58,489 И, нажалост ово је место где се ствари бити мало стресан у почетку, 836 00:38:58,489 --> 00:39:00,280 барем ако немаш никада програмирао раније. 837 00:39:00,280 --> 00:39:00,980 >> Боже. 838 00:39:00,980 --> 00:39:04,990 Написао сам две линије програм а и Имам четири линије грешака. 839 00:39:04,990 --> 00:39:07,180 Дакле, шта се овде дешава. 840 00:39:07,180 --> 00:39:11,370 Прво и пре свега се увек дођите назад горе и наћи прву поруку о грешци, 841 00:39:11,370 --> 00:39:15,730 јер често управо компајлери збунити оно што ви и ја. 842 00:39:15,730 --> 00:39:17,000 Компајлери су прилично глупа. 843 00:39:17,000 --> 00:39:18,360 Они ће урадити оно што само реци им да раде. 844 00:39:18,360 --> 00:39:21,484 И ако их збуни, само су ће се некако дићи руке 845 00:39:21,484 --> 00:39:25,010 и можда још баци поруке о грешци него су заправо релевантни. 846 00:39:25,010 --> 00:39:26,380 >> Па хајде да погледамо први. 847 00:39:26,380 --> 00:39:27,540 Супер Цриптиц на први поглед. 848 00:39:27,540 --> 00:39:31,050 Али обавештење, ево име Фајл у којој сам зезнуо очигледно. 849 00:39:31,050 --> 00:39:36,570 Колон 5, 5 Цолон само значи на Линија 5 на петом карактера. 850 00:39:36,570 --> 00:39:39,760 Па пета колона карактера, ако хоћете, грешка. 851 00:39:39,760 --> 00:39:41,870 Употреба непријављеног идентификатора низа. 852 00:39:41,870 --> 00:39:43,120 Да ли сте мислили Стандард Н? 853 00:39:43,120 --> 00:39:44,850 >> Не, мислио сам низ. 854 00:39:44,850 --> 00:39:47,640 А онда је некако копирање и лепљење 855 00:39:47,640 --> 00:39:50,700 оно што сам откуцао заиста ми је привукла пажњу где сам забрљао. 856 00:39:50,700 --> 00:39:54,260 Дакле, за неког разлога Ц, или барем компајлер 857 00:39:54,260 --> 00:39:56,470 не разуме реч стринг. 858 00:39:56,470 --> 00:39:57,890 А то је зато што смо то чинили. 859 00:39:57,890 --> 00:40:01,440 Дакле стринг не постоји у Ц. Шта ЦС50 ради, 860 00:40:01,440 --> 00:40:03,380 за првих неколико недеља само класе, 861 00:40:03,380 --> 00:40:05,700 се обезбедили смо неку обуку точкови, да тако кажем. 862 00:40:05,700 --> 00:40:11,160 И ми ставили те обуку по точкова унутар специјални фајл звани ЦС50.х. 863 00:40:11,160 --> 00:40:14,970 >> Дакле, ово је други од два фајла имена која се завршавају на очигледно дот х. 864 00:40:14,970 --> 00:40:16,300 Хајде уназад. 865 00:40:16,300 --> 00:40:19,360 Принтф је изјава или функција да је очигледно нешто штампа 866 00:40:19,360 --> 00:40:20,580 на екран. 867 00:40:20,580 --> 00:40:23,470 Али ниси ме имплементирати принтф, десно. 868 00:40:23,470 --> 00:40:26,360 Пре неко година спроводи принтф. 869 00:40:26,360 --> 00:40:30,420 У ономе што би он Филе кладите или она стави имплементацију 870 00:40:30,420 --> 00:40:34,270 за принтф, код за принтф? 871 00:40:34,270 --> 00:40:36,860 >> У датотеци под називом стандардни и / О.х. 872 00:40:36,860 --> 00:40:39,930 У ствари, то је вероватно у две датотеке, стандардни и / О.х, 873 00:40:39,930 --> 00:40:42,650 који стоји за заглавље Филе, и стандардни и / О.ц, 874 00:40:42,650 --> 00:40:44,060 који стоји за Ц изворног кода. 875 00:40:44,060 --> 00:40:48,220 Он или она пре неколико година гурнуо код који су написали у тој датотеци 876 00:40:48,220 --> 00:40:51,240 тако да људи попут нас година касније може да садржи, 877 00:40:51,240 --> 00:40:53,040 да тако кажем, у нашим сопственим програмима. 878 00:40:53,040 --> 00:40:56,320 >> И заиста, то је оно знак фунта праћено речју укључују ради. 879 00:40:56,320 --> 00:41:00,250 Изгледа на локалном хард диску, проналази датотеку зове стандардни и / О.х, 880 00:41:00,250 --> 00:41:03,840 а затим ефикасно копије и пасте га унутар моје датотеке. 881 00:41:03,840 --> 00:41:07,210 Тако да сада мој програм зна Како да одштампате на екран. 882 00:41:07,210 --> 00:41:11,120 >> Дакле, по тој логици, где је стринг дефинисан? 883 00:41:11,120 --> 00:41:12,260 >> ПУБЛИКА: ЦС50.х. 884 00:41:12,260 --> 00:41:13,290 >> Давид Ј. Малан: ЦС50.х. 885 00:41:13,290 --> 00:41:15,540 И заиста, то је оно што смо, језгро особље, учинили. 886 00:41:15,540 --> 00:41:19,590 Ми смо измислили неколико типова података, да тако кажемо, као низа, 887 00:41:19,590 --> 00:41:22,370 поред оних које добити бесплатно, као Инт. 888 00:41:22,370 --> 00:41:26,010 Па ћемо видети друге као цхар за карактер и још неколико. 889 00:41:26,010 --> 00:41:30,670 Унутар ЦС50.х очигледно је бар неки помињање низа. 890 00:41:30,670 --> 00:41:34,980 >> Тако да сада пусти ме напред и реприза маке здраво-1. 891 00:41:34,980 --> 00:41:37,100 Ја ћу поново и зумирате крст прсте. 892 00:41:37,100 --> 00:41:41,370 Сада тиме што је један промените Поправио сам већину ствари. 893 00:41:41,370 --> 00:41:42,100 Али је проклетство. 894 00:41:42,100 --> 00:41:44,290 Више процената него аргумената података. 895 00:41:44,290 --> 00:41:45,980 Шта сам погрешио овај пут? 896 00:41:45,980 --> 00:41:47,420 >> Па то је још увек прилично загонетан. 897 00:41:47,420 --> 00:41:51,560 Али ово је грешка на Линија 7 и карактер 21. 898 00:41:51,560 --> 00:41:53,880 Па хајде да погледамо овде. 899 00:41:53,880 --> 00:41:55,350 То је мало суптилнији. 900 00:41:55,350 --> 00:41:59,167 Али, ако размислите о томе шта основне идеје овде су, 901 00:41:59,167 --> 00:42:00,500 можда можемо изазивај ово одвојено. 902 00:42:00,500 --> 00:42:02,300 >> Па принтф је име функције. 903 00:42:02,300 --> 00:42:04,960 Заграде, до сада, није баш као што смо се ставили 904 00:42:04,960 --> 00:42:07,005 ствари ми пролази као улаза на функцију. 905 00:42:07,005 --> 00:42:08,921 У реду, само произвољна људска конвенција. 906 00:42:08,921 --> 00:42:09,919 Користите заграде. 907 00:42:09,919 --> 00:42:12,460 Унутар тих заграда смо стављање двоструким наводницима, 908 00:42:12,460 --> 00:42:14,810 а затим низ као "Хелло ворлд". 909 00:42:14,810 --> 00:42:18,160 >> Али у том ранијем примеру веома кратко учинио гледамо са нуле. 910 00:42:18,160 --> 00:42:22,590 И ми смо имали одсто д, шта друго је унутар тих заграда 911 00:42:22,590 --> 00:42:23,730 да сам позвао усмено? 912 00:42:23,730 --> 00:42:24,230 Да. 913 00:42:24,230 --> 00:42:28,166 >> ПУБЛИКА: Дакле, то је оно што узимате [Неразумљиво] изнутра [неразумљиво] 914 00:42:28,166 --> 00:42:30,200 шта је ово [неразумљиво]? 915 00:42:30,200 --> 00:42:31,200 Давид Ј. Малан: Тачно. 916 00:42:31,200 --> 00:42:32,700 Тако да смо имали одсто д. 917 00:42:32,700 --> 00:42:36,620 Али онда смо имали близу цитат, зарез, цоунтер. 918 00:42:36,620 --> 00:42:37,120 Десно. 919 00:42:37,120 --> 00:42:40,680 Ми прецизирао шта желимо да раде као плејсхолдер. 920 00:42:40,680 --> 00:42:44,621 Дакле, шта ћу да радим овде зарез, шта хоћеш да ставим? 921 00:42:44,621 --> 00:42:45,120 ПУБЛИКА: С. 922 00:42:45,120 --> 00:42:46,828 Давид Ј. Малан: С, јер у овом случају с 923 00:42:46,828 --> 00:42:48,700 је назив посуде за складиштење. 924 00:42:48,700 --> 00:42:50,180 То је име тог стаклене посуде. 925 00:42:50,180 --> 00:42:53,610 Док пре него што је у то цоунтер Једноставан пример Сцратцх смо гледали. 926 00:42:53,610 --> 00:42:56,630 Дакле, сада пошто је два промене, дозволите ми да увећате 927 00:42:56,630 --> 00:42:59,800 и покушати да још једном саставити овај програм. 928 00:42:59,800 --> 00:43:01,596 >> Сада видим да шифровану линију. 929 00:43:01,596 --> 00:43:03,470 Али то је заправо назив компајлера. 930 00:43:03,470 --> 00:43:04,886 Цланг је име преводиоца. 931 00:43:04,886 --> 00:43:07,100 Направите је ме штеди главобоља икада 932 00:43:07,100 --> 00:43:09,830 куцање толико дуго луду команду напоље. 933 00:43:09,830 --> 00:43:14,900 Па сад, ако ја дот сласх хелло-1, Требало би да видите "Здраво, Дејвид." 934 00:43:14,900 --> 00:43:16,450 >> Прилично ундервхелминг, зар не? 935 00:43:16,450 --> 00:43:18,158 Смо могли да уради То много више једноставно 936 00:43:18,158 --> 00:43:20,940 без приче о варијабли и ЦС50.х и све то. 937 00:43:20,940 --> 00:43:23,080 Па хајде да га мало више занимљив. 938 00:43:23,080 --> 00:43:31,010 >> Поред ЦС50.х, има ствари као стринг 939 00:43:31,010 --> 00:43:34,550 прогласила, ЦС50 библиотека такође има неколико функција. 940 00:43:34,550 --> 00:43:38,520 Пре Дакле, само као година, неко је написао иф и ставио га у стандардном И / О.х 941 00:43:38,520 --> 00:43:39,530 и неке друге датотеке. 942 00:43:39,530 --> 00:43:44,010 >> Ми, запослени ЦС50, написао функцију зове гетцхар, ГетДоубле, ГетФлоат, 943 00:43:44,010 --> 00:43:47,610 Тонированние, ГетЛонгЛонг, ГетСтринг, а ми смо ставили оне у датотеци 944 00:43:47,610 --> 00:43:49,890 позвао ЦС50.х и ЦС50.ц. 945 00:43:49,890 --> 00:43:51,880 И ми смо их ставили унутра на ЦС50 Апплианце. 946 00:43:51,880 --> 00:43:53,880 И људи могу такође да их преузмете на мрежи, ако 947 00:43:53,880 --> 00:43:55,880 Желим да их стави на њихове рачунарима, као добро. 948 00:43:55,880 --> 00:44:00,880 Што ће рећи да смо створили функције које добијају улаз од корисника. 949 00:44:00,880 --> 00:44:02,930 Ја не знам шта све ових података типова. 950 00:44:02,930 --> 00:44:06,490 Тоноване је врста једноставно, као што добити цео број некако од корисника. 951 00:44:06,490 --> 00:44:09,980 А ГетСтринг је вероватно као Гет реч или реченица од корисника. 952 00:44:09,980 --> 00:44:11,770 >> Дакле, хајде да се фокусирају на то. 953 00:44:11,770 --> 00:44:14,710 И ја ћу да се вратим у апарата и ја ћу ићи напред 954 00:44:14,710 --> 00:44:20,790 и сачувајте ову датотеку као, назовимо она хелло-2.Ц као мој другој верзији. 955 00:44:20,790 --> 00:44:23,030 И хајде да направимо неколико промена. 956 00:44:23,030 --> 00:44:25,800 >> Овај пут уместо тешко кодирање Давид, који 957 00:44:25,800 --> 00:44:29,120 чини невероватно конзистентан али ундервхелминг програма, 958 00:44:29,120 --> 00:44:32,640 Шта ако сам уместо тога радим ГетСтринг? 959 00:44:32,640 --> 00:44:35,660 Сада обратите пажњу ГетСтринг има отворену заграду, 960 00:44:35,660 --> 00:44:38,500 затворена заграда, јер не треба никакав улаз. 961 00:44:38,500 --> 00:44:40,850 То је само ићи добити стринг од корисника. 962 00:44:40,850 --> 00:44:42,460 >> И сада реч о другој синтаксе. 963 00:44:42,460 --> 00:44:45,439 Зарезом само крај линију кода. 964 00:44:45,439 --> 00:44:46,730 Да их не треба свуда. 965 00:44:46,730 --> 00:44:48,896 Али то само значи да сам завршио са ове линије кода. 966 00:44:48,896 --> 00:44:51,080 Да пређемо на другу Изјава или функција. 967 00:44:51,080 --> 00:44:53,010 Стринг декларише променљиву. 968 00:44:53,010 --> 00:44:55,920 Стринг је као рекавши дај ми чинију, молим те. 969 00:44:55,920 --> 00:44:57,940 И дозволите ми да ставим ниску у њему. 970 00:44:57,940 --> 00:44:59,430 >> И сада знак једнакости. 971 00:44:59,430 --> 00:45:03,510 Који је знак једнакости у суштини еквивалентан? 972 00:45:03,510 --> 00:45:04,500 >> Публика: Додели. 973 00:45:04,500 --> 00:45:06,190 >> Давид Ј. Малан: Да, додељивање вредности. 974 00:45:06,190 --> 00:45:09,872 Дакле, ако сам, на пример, позива Ова функција ГетСтринг, 975 00:45:09,872 --> 00:45:12,830 па ћемо видети у једном тренутку који је ће питати корисника за низ. 976 00:45:12,830 --> 00:45:17,810 То је као пустити мене онда пишем Д--В-И-Д на парчету папира. 977 00:45:17,810 --> 00:45:21,060 А када кажем стринг с једнако ГетСтринг, 978 00:45:21,060 --> 00:45:24,140 једнака заиста не значи равноправни у Ц програмирање. 979 00:45:24,140 --> 00:45:27,880 То значи додељује са десне стране ханд сиде на левој страни. 980 00:45:27,880 --> 00:45:29,510 >> Па сам добила низ. 981 00:45:29,510 --> 00:45:32,785 И знак једнакости значи да пут у контејнер за складиштење се зове ова. 982 00:45:32,785 --> 00:45:36,730 А затим провуците ово са до принтф да заиста уради своје. 983 00:45:36,730 --> 00:45:39,790 >> Тако да крајњи резултат онда иде да изгледају мало другачије. 984 00:45:39,790 --> 00:45:40,840 Хајде да урадимо да здраво-2. 985 00:45:40,840 --> 00:45:43,940 986 00:45:43,940 --> 00:45:45,260 Или би могло да упали. 987 00:45:45,260 --> 00:45:46,450 Ти прате заједно. 988 00:45:46,450 --> 00:45:47,940 Маке хелло-2 радио. 989 00:45:47,940 --> 00:45:52,640 Дот сласх хелло-2, Ентер. 990 00:45:52,640 --> 00:45:54,620 >> Изгледа да имам бесконачно петља или нешто. 991 00:45:54,620 --> 00:45:55,453 Ништа се не дешава. 992 00:45:55,453 --> 00:45:56,134 Зашто? 993 00:45:56,134 --> 00:45:57,805 >> ПУБЛИКА: То што бесконачну петљу. 994 00:45:57,805 --> 00:45:59,430 Давид Ј. Малан: То је бесконачна петља. 995 00:45:59,430 --> 00:46:02,710 То је врста чека мене да заправо пружи неки улаз. 996 00:46:02,710 --> 00:46:05,800 Дакле, дозволите ми само напред и упишите у Давида, и притисните Ентер. 997 00:46:05,800 --> 00:46:07,230 А сада каже: "Здраво, Дејвид." 998 00:46:07,230 --> 00:46:09,040 Ако сам га покренете поново. 999 00:46:09,040 --> 00:46:11,530 Хајде укуцајте Роб, "Здраво, Роб." 1000 00:46:11,530 --> 00:46:13,900 >> А ово је најгоре кориснички интерфејс икада. 1001 00:46:13,900 --> 00:46:16,110 Корисник је очигледно требало да знам шта да радим. 1002 00:46:16,110 --> 00:46:17,120 Али нема везе. 1003 00:46:17,120 --> 00:46:19,570 Користећи ове исту зграду блокови као у Огреби, 1004 00:46:19,570 --> 00:46:24,980 можемо да решимо тај проблем и кажу нешто као своје име, дебелог црева, 1005 00:46:24,980 --> 00:46:27,820 простор, затворен цитат, близу загради, зарез. 1006 00:46:27,820 --> 00:46:30,680 Па опет много глупост са синтаксе. 1007 00:46:30,680 --> 00:46:34,040 >> Али приметио сам сам додао слагалице изнад ове 1008 00:46:34,040 --> 00:46:35,280 и изнад овога. 1009 00:46:35,280 --> 00:46:38,870 Па сад ако сам ово реприза, здраво-2, Ентер. 1010 00:46:38,870 --> 00:46:41,180 Чекај мало. 1011 00:46:41,180 --> 00:46:41,830 Шта није у реду? 1012 00:46:41,830 --> 00:46:43,570 То не понаша другачије. 1013 00:46:43,570 --> 00:46:44,200 Да. 1014 00:46:44,200 --> 00:46:46,010 >> ПУБЛИКА: Ниси рун направити поново. 1015 00:46:46,010 --> 00:46:47,968 >> Давид Ј. Малан: Нисам покрените се опет, зар не. 1016 00:46:47,968 --> 00:46:49,430 Па сам променио свој изворни код. 1017 00:46:49,430 --> 00:46:50,638 Али опет, то је то проток. 1018 00:46:50,638 --> 00:46:54,530 Изворни код кроз компајлер даје сте нови објекат код, или 0с и 1с. 1019 00:46:54,530 --> 00:47:00,209 Тако да је потребно да се заиста реприза маке хелло-2 Ентер. 1020 00:47:00,209 --> 00:47:01,750 У реду, нешто чини да се деси. 1021 00:47:01,750 --> 00:47:04,220 Дот сласх хелло-2. 1022 00:47:04,220 --> 00:47:05,390 Ваше име молим. 1023 00:47:05,390 --> 00:47:09,990 И да буде јасно сада, зашто је курсор на истој линији? 1024 00:47:09,990 --> 00:47:10,490 Тачно. 1025 00:47:10,490 --> 00:47:13,020 Нисам ставио косе црте н овде у мом коду. 1026 00:47:13,020 --> 00:47:16,110 Тако да сада могу да напишем нешто као Давен, Ентер. 1027 00:47:16,110 --> 00:47:18,710 Могу га покренути поново и укуцајте нешто као Габе, Ентер, 1028 00:47:18,710 --> 00:47:22,250 и добијамо другачији програм опет и опет и опет. 1029 00:47:22,250 --> 00:47:28,940 >> Сада коначно ћемо морати да користи неколико различитих могућности. 1030 00:47:28,940 --> 00:47:32,860 Ми треба да се уведе на крају неке Услови да радимо ствари условно. 1031 00:47:32,860 --> 00:47:35,550 Можда петље тако да можемо да урадимо изнова ствари. 1032 00:47:35,550 --> 00:47:38,220 >> Можда би било лепо да могао имплементирати своје функције, 1033 00:47:38,220 --> 00:47:41,355 као да смо могли имплементирати сопствени принтф или наше верзија ГетСтринг 1034 00:47:41,355 --> 00:47:45,870 и ГетФлов, јер на крају чак и Коришћењем ове командне линије средину 1035 00:47:45,870 --> 00:47:49,780 можемо ни то највише визуелно занимљив ствари. 1036 00:47:49,780 --> 00:47:51,950 >> Заиста у закључку пусти ме да то урадим. 1037 00:47:51,950 --> 00:47:54,020 Идем да иде напред и затворите прозоре 1038 00:47:54,020 --> 00:47:57,400 И овде отвори ову икону, што је само већи 1039 00:47:57,400 --> 00:48:00,020 верзија која ембеддед прозор терминала. 1040 00:48:00,020 --> 00:48:02,329 Па Гедит не само место за мој код, 1041 00:48:02,329 --> 00:48:05,620 већ уграђени у терминалу, црно-бели прозор где могу покренути 1042 00:48:05,620 --> 00:48:06,230 команде. 1043 00:48:06,230 --> 00:48:08,600 >> Ја се управо догодило да отворим већи верзија ове. 1044 00:48:08,600 --> 00:48:11,170 А сада ћу да идем у фасцикла коју сам већ 1045 00:48:11,170 --> 00:48:13,150 ставити у унапред на сајту курса екипе. 1046 00:48:13,150 --> 00:48:16,720 И ја ћу да иде напред и отворите фајл који се зове тхадгавин.ц, 1047 00:48:16,720 --> 00:48:18,710 који је написао неко други. 1048 00:48:18,710 --> 00:48:21,220 >> И ако погледамо ово, То није врста кода 1049 00:48:21,220 --> 00:48:24,370 ћемо писати, јер Циљ овог закона 1050 00:48:24,370 --> 00:48:28,450 био да напише најлепша лоокинг код који он или она могао, 1051 00:48:28,450 --> 00:48:31,290 без обзира да ли или не друго људско биће не може икада 1052 00:48:31,290 --> 00:48:33,660 разумеју овај код. 1053 00:48:33,660 --> 00:48:37,050 >> Заиста, сваке године има оно што је назива обфусцатед Ц Цонтест, који 1054 00:48:37,050 --> 00:48:39,570 је за праве геекс који пишу код да нико други не може прочитати, 1055 00:48:39,570 --> 00:48:42,050 али да ради нешто било веома једноставно и стварно невероватно. 1056 00:48:42,050 --> 00:48:43,890 А мислили смо да закључи са овим изгледом 1057 00:48:43,890 --> 00:48:48,300 у нечему што је невероватно можда сте видели једном раније. 1058 00:48:48,300 --> 00:48:52,650 Али ми ћемо завршити на овоме НАПОМЕНА, тачка Сласх, тхадгавин. 1059 00:48:52,650 --> 00:48:53,860 Ово је дакле чека. 1060 00:48:53,860 --> 00:48:57,140 1061 00:48:57,140 --> 00:48:58,500 >> То је то за ЦС50. 1062 00:48:58,500 --> 00:48:59,935 Видимо се у среду. 1063 00:48:59,935 --> 00:49:04,284 1064 00:49:04,284 --> 00:49:10,016 >> [Мусиц плаиинг] 1065 00:49:10,016 --> 00:53:31,883