1 00:00:00,000 --> 00:00:03,353 >> [Muzika] 2 00:00:03,353 --> 00:00:04,842 3 00:00:04,842 --> 00:00:06,050 DAVID Malan: Përshëndetje, të gjithë. 4 00:00:06,050 --> 00:00:07,777 Kjo është supersection CS50 së. 5 00:00:07,777 --> 00:00:09,860 Seksionet e caktuara nuk do të të fillojë për një javë. 6 00:00:09,860 --> 00:00:11,580 Dhe kështu sot, unë jam këtu with-- 7 00:00:11,580 --> 00:00:12,122 >> MARIA: Maria. 8 00:00:12,122 --> 00:00:14,163 DAVID Malan: --to fakt hidhini një sy në problemin 9 00:00:14,163 --> 00:00:16,110 vendosur një, sigurisht-së javët e para të materialit, 10 00:00:16,110 --> 00:00:19,780 merrni ju të orientuar me CS50 IDE, pak i Linux, sistemit operativ që është 11 00:00:19,780 --> 00:00:22,290 në drejtimin IDE, si edhe shikojmë disa nga tranzicionit 12 00:00:22,290 --> 00:00:25,730 nga e para për C kryesorë deri në problemin vendosur një të tillë. 13 00:00:25,730 --> 00:00:28,340 >> Pra, pa zhurmë më tej, në problemin vendosur një, 14 00:00:28,340 --> 00:00:30,520 ju jeni do të jetë futur në CS50 IDE, e cila 15 00:00:30,520 --> 00:00:33,230 është kjo programimit web-based mjedis që ne përdorim në mënyrë 16 00:00:33,230 --> 00:00:34,280 për të shkruar programe. 17 00:00:34,280 --> 00:00:37,280 Ajo është projektuar për të duken shumë kujton një kompjuter tipik 18 00:00:37,280 --> 00:00:39,430 sistem drejtimin e një operative sistem i quajtur Linux. 19 00:00:39,430 --> 00:00:42,440 Por kjo është në të ashtuquajturin re, që do të thotë të gjithë në klasë 20 00:00:42,440 --> 00:00:45,100 fakt mund të ketë tij ose të saj Llogaria vet dhe e përdorin atë, si edhe. 21 00:00:45,100 --> 00:00:48,950 >> Pra, shumica prej jush ndoshta kurrë nuk kanë përdorur një mjedis Linux para ose ndoshta 22 00:00:48,950 --> 00:00:50,447 edhe një mjedis command line. 23 00:00:50,447 --> 00:00:52,280 Dhe një command line Mjedisi është i ndryshëm. 24 00:00:52,280 --> 00:00:53,200 Kjo është e gjitha tekstuale. 25 00:00:53,200 --> 00:00:54,730 Kjo është e gjitha komandat e tastierës. 26 00:00:54,730 --> 00:00:59,480 Dhe nuk është mousing, nuk ka ikona, pa dritare dialog, nuk ka menu. 27 00:00:59,480 --> 00:01:00,212 Kjo është thjesht tekst. 28 00:01:00,212 --> 00:01:01,920 Pra në fillim, ajo lloj të ndjehet si një hap 29 00:01:01,920 --> 00:01:04,434 prapa në drejtim të sofistikimit. 30 00:01:04,434 --> 00:01:06,600 Por ai përfundon duke qenë shumë më të fuqishme, me siguri, 31 00:01:06,600 --> 00:01:08,510 për një shkencëtar kompjuterik, në fund të fundit. 32 00:01:08,510 --> 00:01:09,540 >> Pra, le të marrin një vështrim. 33 00:01:09,540 --> 00:01:13,850 Këtu unë jam në CS50.io, nëpërmjet të cilës ju mund të hyni në CS50 IDE. 34 00:01:13,850 --> 00:01:17,414 Dhe ashtu si në Scratch, ka tri fusha kryesore në këtë ekran. 35 00:01:17,414 --> 00:01:20,080 Pra, në anën e majtë, ne kemi çfarë do të jetë shfletuesi i file. 36 00:01:20,080 --> 00:01:22,413 Dhe nuk është kjo dosje në të lartë, e cila është e drejtë tani bosh 37 00:01:22,413 --> 00:01:24,690 pasi i hoqa qafe të gjithë tim Fotografi të para supersection. 38 00:01:24,690 --> 00:01:27,599 Dhe kjo është ajo ku ne do të ruani C dosjet që kemi shkruar. 39 00:01:27,599 --> 00:01:30,890 Në krye të drejtë, ne kemi një vend ku të gjithë e kodit tonë do të marrë me shkrim. 40 00:01:30,890 --> 00:01:34,610 Dhe me të vërtetë, në qoftë se unë klikoni këtë Plus, kjo do të më lejoni të zgjidhni New File. 41 00:01:34,610 --> 00:01:38,310 Dhe këtu unë mund të filloni të shkruani kodin C ose, me të vërtetë, çdo numër të gjuhëve të tjera. 42 00:01:38,310 --> 00:01:42,670 >> Dhe pastaj në fund ku atë thotë jharvard @ ide50-- dhe tuajat do të 43 00:01:42,670 --> 00:01:45,080 thonë diçka të vogël different-- çfarë u quajt kjo? 44 00:01:45,080 --> 00:01:48,644 45 00:01:48,644 --> 00:01:49,310 Dritare terminali. 46 00:01:49,310 --> 00:01:49,570 Po. 47 00:01:49,570 --> 00:01:51,810 Pra dritare terminali është e ashtuquajtura command line 48 00:01:51,810 --> 00:01:55,540 Ndërfaqja nëpërmjet të cilës ju mund të bashkëveprojnë me sistemin themelor operativ. 49 00:01:55,540 --> 00:01:58,220 Dhe tani për tani, ne jemi duke shkuar për bëjnë shumë pak përdorimin e this-- 50 00:01:58,220 --> 00:02:01,170 vetëm për të hartuar, për të parë në mesazhet e gabimit që ne shohim, 51 00:02:01,170 --> 00:02:02,347 dhe për të drejtuar programet tona. 52 00:02:02,347 --> 00:02:04,680 Por në fund të fundit, ne jemi duke shkuar të bëjë shumë më shumë, si edhe. 53 00:02:04,680 --> 00:02:07,490 Dhe ju mund të instaloni software dhe administruar hapësira e punës tuaj 54 00:02:07,490 --> 00:02:09,066 brenda CS50 IDE, si edhe. 55 00:02:09,066 --> 00:02:10,440 Por më shumë se një kohë tjetër. 56 00:02:10,440 --> 00:02:12,689 >> Pra, le të shkojnë përpara dhe të shkruajnë një program shumë i thjeshtë vetëm 57 00:02:12,689 --> 00:02:15,064 të kalojnë nëpër një të ngrohtë-up të hello.c, e cila është ndoshta 58 00:02:15,064 --> 00:02:16,480 programi thjeshtë që mund të shkruaj. 59 00:02:16,480 --> 00:02:18,330 Unë e kam hapur tashmë një skedë të re. 60 00:02:18,330 --> 00:02:24,310 Unë jam duke shkuar për të shkuar përpara dhe thonë përfshijnë io.h. standarde 61 00:02:24,310 --> 00:02:25,325 Pastaj int kryesor (i pavlefshëm). 62 00:02:25,325 --> 00:02:28,930 63 00:02:28,930 --> 00:02:35,200 Dhe pastaj printf ("Hello, World" backslash n, të japin kuotën e ngushtë, 64 00:02:35,200 --> 00:02:39,480 kllapa të ngushtë, dhe pikëpresje. 65 00:02:39,480 --> 00:02:39,990 >> Në rregull. 66 00:02:39,990 --> 00:02:41,700 Deri tani vini re dritarja ime është untitled. 67 00:02:41,700 --> 00:02:44,840 Kështu që unë jam duke shkuar shumë shpejt për të shkuar deri tek File, Save. 68 00:02:44,840 --> 00:02:46,910 Dhe është e rëndësishme që Unë e quaj jo këtë "hello". 69 00:02:46,910 --> 00:02:49,243 Pra, një gabim shumë i zakonshëm, veçanërisht në problemin vendosur një, 70 00:02:49,243 --> 00:02:52,530 është që rastësisht vetëm thirrje tuaj Programi "Uji" ose "lakmitar" ose "Mario" 71 00:02:52,530 --> 00:02:53,890 ose "kredi" ose si. 72 00:02:53,890 --> 00:02:55,970 Por, ju në të vërtetë doni të bëni Sigurohuni që keni file extension 73 00:02:55,970 --> 00:02:58,928 sepse kjo është e vetmja mënyrë që përpiluesit dhe gjithashtu redaktor kodin 74 00:02:58,928 --> 00:03:00,710 e di që ju jeni në fakt shkruar kodin C. 75 00:03:00,710 --> 00:03:02,280 Pra më lejoni të shkoj përpara dhe klikoni Ruaj. 76 00:03:02,280 --> 00:03:05,710 >> Dhe tani, gjithashtu, çfarë CS50 IDE ka bërë për ne është se është edhe 77 00:03:05,710 --> 00:03:07,120 sintaksë theksuar çdo gjë. 78 00:03:07,120 --> 00:03:08,822 Pra, kjo është bërë çdo gjë shumë të gjallë. 79 00:03:08,822 --> 00:03:10,780 Dhe i tërë qëllimi i që nuk është funksional. 80 00:03:10,780 --> 00:03:14,290 Është vetëm për të nxjerrë sytë e mi të copa konceptualisht të ndryshme 81 00:03:14,290 --> 00:03:15,310 e këtij programi. 82 00:03:15,310 --> 00:03:17,570 Pra, le të shkojnë përpara dhe të përpilojnë këtë. 83 00:03:17,570 --> 00:03:19,490 Dhe unë mund të përpilojnë këtë në disa mënyra. 84 00:03:19,490 --> 00:03:22,010 Dhe në javë një, Mënyra e vjetër-shkollën ne e bëmë 85 00:03:22,010 --> 00:03:26,250 ajo ishte fjalë për fjalë në komandës line-- "hello.c tingëllimë." 86 00:03:26,250 --> 00:03:27,596 Dhe pastaj unë hit Enter. 87 00:03:27,596 --> 00:03:29,720 Dhe asgjë nuk duket të ndodhë në dritaren e terminalit. 88 00:03:29,720 --> 00:03:32,654 Por ajo që e bëri ndryshimin në IDE? 89 00:03:32,654 --> 00:03:35,320 Ku, përsëri, IDE thjesht do të thotë Integruar Zhvillimi Mjedisit. 90 00:03:35,320 --> 00:03:38,360 Kjo është një mënyrë e sofistikuar për të thënë ky zhvillim të integruar 91 00:03:38,360 --> 00:03:40,620 mjedis për zhvillimin e softuerit. 92 00:03:40,620 --> 00:03:42,477 Pra, çfarë ka ndryshuar në UI? 93 00:03:42,477 --> 00:03:44,310 Çfarë keni njoftim kjo është e ndryshme, Maria? 94 00:03:44,310 --> 00:03:47,100 >> MARIA: kam vënë re diçka nën IDE50 dosje këtu. 95 00:03:47,100 --> 00:03:47,850 >> DAVID Malan: Po. 96 00:03:47,850 --> 00:03:50,230 Kështu që këtu, jo vetëm a kemi "hello.c." 97 00:03:50,230 --> 00:03:53,120 Ne gjithashtu kemi "a.out," e cila është lloj i një emër memec për një program. 98 00:03:53,120 --> 00:03:56,430 Por në të vërtetë, është emri i parazgjedhur për një Programi kur ju vetëm përpilojnë kodin tuaj 99 00:03:56,430 --> 00:03:59,110 dhe mos tregoni përpiluesit çfarë skedar të prodhimit. 100 00:03:59,110 --> 00:04:01,790 Pra, nëse unë dua të drejtuar këtë, unë nevojë për të të treguar compiler-- 101 00:04:01,790 --> 00:04:05,340 ose më mirë, kam nevojë për të them Workspace që unë 102 00:04:05,340 --> 00:04:09,780 duan për të drejtuar programin e quajtur "a.out." 103 00:04:09,780 --> 00:04:10,550 Enter. 104 00:04:10,550 --> 00:04:12,474 Dhe nuk ka "hello, bota. "tani" ./ ". 105 00:04:12,474 --> 00:04:13,390 në fakt është i rëndësishëm. 106 00:04:13,390 --> 00:04:16,050 Edhe pse normalisht ne vetëm shkruani emrat e komandave, 107 00:04:16,050 --> 00:04:19,060 kur kjo është një program që ju keni shkrim, ju doni të thonë "./" 108 00:04:19,060 --> 00:04:22,460 sepse që në mënyrë eksplicite tregon Linux që ju doni të drejtuar një program të quajtur 109 00:04:22,460 --> 00:04:26,930 "a.out" kjo është në këtë, ku dot do të thotë këtë directory që unë jam duke 110 00:04:26,930 --> 00:04:31,600 në, e cila ndodh të jetë quajtur Workspace, "a.out. 111 00:04:31,600 --> 00:04:35,410 Sepse në qoftë se unë vetëm tha se "a.out:" Hyrë, Unë jam duke shkuar për të marrë "a.out komandë nuk 112 00:04:35,410 --> 00:04:38,035 gjetur "sepse computer-- sepse unë shpikur "a.out;" 113 00:04:38,035 --> 00:04:40,910 ajo nuk ka ardhur me computer-- nuk e di se ku mund të shikoni për të, 114 00:04:40,910 --> 00:04:43,590 edhe pse kjo është e drejtë nën hundë tim, kështu që të flasin. 115 00:04:43,590 --> 00:04:44,090 NE RREGULL. 116 00:04:44,090 --> 00:04:49,910 Pra, ne mund të ndryshojë kjo në të jetë "tingëllimë -o përshëndetje hello.c." 117 00:04:49,910 --> 00:04:53,030 Dhe në qoftë se unë hit Enter, çfarë programi është kjo do të dalje për mua? 118 00:04:53,030 --> 00:04:55,710 Cili është emri i file? 119 00:04:55,710 --> 00:04:57,500 Po, në shpinë. 120 00:04:57,500 --> 00:04:58,479 Kjo është e drejtë. "Përshëndetje." 121 00:04:58,479 --> 00:05:00,520 Pra, "hello" do të jetë Emri i programit 122 00:05:00,520 --> 00:05:04,610 sepse ne kemi përdorur një të ashtuquajtur command line argument, i cili është vetëm 123 00:05:04,610 --> 00:05:08,120 një mënyrë për të ndryshuar sjelljen e përpiluesit në fakt prodhimit 124 00:05:08,120 --> 00:05:09,450 një emër të veçantë skedar. 125 00:05:09,450 --> 00:05:12,400 Dhe me të vërtetë, në qoftë se unë zoom jashtë dhe të kërkoni këtu, 126 00:05:12,400 --> 00:05:17,430 tani unë kam jo vetëm "a.out" dhe "hello.c", por edhe "hello", si dhe. 127 00:05:17,430 --> 00:05:22,410 Kështu që tani unë mund të bëj "./hello," Enter. 128 00:05:22,410 --> 00:05:23,640 Dhe nuk ka "hello, bota." 129 00:05:23,640 --> 00:05:25,640 Por lastly-- dhe kjo tani do të jetë konventa 130 00:05:25,640 --> 00:05:27,590 ne i përdorim në të gjithë semestër, typically-- 131 00:05:27,590 --> 00:05:30,070 është që ju gjithashtu mund të vetëm të thonë "bëjë hello". 132 00:05:30,070 --> 00:05:33,370 Dhe me të vërtetë, kjo është thënë se është deri deri më sot, sepse ajo tashmë ekziston. 133 00:05:33,370 --> 00:05:37,860 Më lejoni të shkojnë përpara dhe për të hequr, me komandën rm, si "a.out" - 134 00:05:37,860 --> 00:05:39,644 dhe thonë "të hequr a.out rregullt skedarëve?" 135 00:05:39,644 --> 00:05:41,810 Kjo thjesht do të thotë, a jeni te sigurte qe doni ta fshini? 136 00:05:41,810 --> 00:05:42,880 Unë jam duke shkuar për të thënë po. 137 00:05:42,880 --> 00:05:46,690 Dhe atëherë unë jam duke shkuar për të hequr "hello", por jo "hello.c." 138 00:05:46,690 --> 00:05:49,920 Unë jam duke shkuar për të thënë "po" në mënyrë eksplicite, por "y" është e mjaftueshme, si edhe. 139 00:05:49,920 --> 00:05:52,140 >> Dhe tani vini re, nëse unë shkruani ls-- E cila, risjell, 140 00:05:52,140 --> 00:05:55,540 do të thotë list-- ajo liston të gjitha nga dosjet në dosjen time. 141 00:05:55,540 --> 00:05:57,850 Dhe me të vërtetë, në qoftë se unë zoom jashtë dhe të kërkoni në krye të majtë, 142 00:05:57,850 --> 00:05:59,730 vërteton se çfarë është në këtë dosje, edhe 143 00:05:59,730 --> 00:06:04,990 edhe pse ajo është etiketuar si IDE50 këtu dhe jo hapësira e punës, kjo është vetëm "hello.c." 144 00:06:04,990 --> 00:06:09,152 Deri tani këtu poshtë, në qoftë se unë do të "bëjë hello," Enter, 145 00:06:09,152 --> 00:06:12,360 tani unë shoh një komandë më të gjatë, por një komandë më të sofistikuar që po ndodh 146 00:06:12,360 --> 00:06:13,940 të jetë i dobishëm në javët që do të vijnë. 147 00:06:13,940 --> 00:06:16,720 Dhe tani unë mund të them "./hello." 148 00:06:16,720 --> 00:06:19,257 >> Pra, le të marrin një turne të shpejtë disa Linux tjetër komandat. 149 00:06:19,257 --> 00:06:21,840 Atëherë pse nuk kemi marrë një hap prapa dhe të shikojmë në fakt C më shumë 150 00:06:21,840 --> 00:06:25,020 në përgjithësi, tranzicion nga Scratch në C, dhe pastaj të përfundojë me një sy 151 00:06:25,020 --> 00:06:27,305 në problemin e parë vendosur në C. Të gjithë të drejtë. 152 00:06:27,305 --> 00:06:30,430 Kështu që unë jam duke shkuar për të shkuar përpara dhe vetëm të pastër deri Workspace time me kontroll-L vetëm 153 00:06:30,430 --> 00:06:31,429 për të mbajtur ekran i zoti. 154 00:06:31,429 --> 00:06:33,520 Por kjo nuk ka funksionale ndikojnë ndryshe. 155 00:06:33,520 --> 00:06:35,820 >> Kujtojnë se ne kemi parë disa komandave tani. 156 00:06:35,820 --> 00:06:39,900 Pra, ne kemi parë tingëllimë, të cilat në përgjithësi ju nuk do të duhet për të ekzekutuar dorë më. 157 00:06:39,900 --> 00:06:41,650 Ne vend të kësaj do të përdorim make. 158 00:06:41,650 --> 00:06:45,290 Por ne gjithashtu pamë ls, e cila tregon një listë e fotografi në directory time. 159 00:06:45,290 --> 00:06:48,750 Dhe tani pse është there-- ka dy fotografi tani, "hello" dhe "hello.c." 160 00:06:48,750 --> 00:06:52,240 Pse ka një yll apo një asterisk pas "hello"? 161 00:06:52,240 --> 00:06:54,900 Çfarë bëri që ditur, bazuar në atë që pamë në javë një? 162 00:06:54,900 --> 00:06:58,852 163 00:06:58,852 --> 00:07:00,400 Çfarë mendoni ju? 164 00:07:00,400 --> 00:07:02,742 Çfarë bën të ditur ylli? 165 00:07:02,742 --> 00:07:04,614 >> MARIA: For-- programin "Hello"? 166 00:07:04,614 --> 00:07:05,530 DAVID Malan: "Përshëndetje *". 167 00:07:05,530 --> 00:07:06,330 Po. 168 00:07:06,330 --> 00:07:07,760 Oh, po? 169 00:07:07,760 --> 00:07:08,639 Oh, i ekzekutueshëm. 170 00:07:08,639 --> 00:07:09,180 Kjo është e drejtë. 171 00:07:09,180 --> 00:07:10,890 Kështu që do të thotë se "hello" është i ekzekutueshëm. 172 00:07:10,890 --> 00:07:13,430 Pra me të vërtetë, kjo është arsyeja pse Unë mund të bëj "./hello." 173 00:07:13,430 --> 00:07:13,930 Në rregull. 174 00:07:13,930 --> 00:07:15,179 Pra, çfarë tjetër mund të bëj këtu? 175 00:07:15,179 --> 00:07:17,290 E pra, ajo rezulton mundem të krijojë directories. 176 00:07:17,290 --> 00:07:20,924 Pra më lejoni të shkoj përpara dhe të krijojë, për shembull, një "pset1" drejtori. 177 00:07:20,924 --> 00:07:23,590 Dhe problemi vendosur specifikimi do të ketë të bëjë pikërisht këtë, 178 00:07:23,590 --> 00:07:25,260 kështu që ju nuk duhet të mbani mend sot. 179 00:07:25,260 --> 00:07:27,340 Por "pset1 mkdir" duket të ketë asnjë ndikim. 180 00:07:27,340 --> 00:07:30,540 Por përsëri, nuk ka mesazh gabimi në përgjithësi është një gjë e mirë. 181 00:07:30,540 --> 00:07:34,060 Pra, nëse unë lloji "ls" now-- ah, tani Unë kam një skedë të ekzekutueshme quajtur 182 00:07:34,060 --> 00:07:36,570 "hello", një skedar C quajtur "hello.c." 183 00:07:36,570 --> 00:07:40,860 Dhe pastaj Slash zvarritës, në mënyrë që të flas, do të thotë se kjo është një directory. 184 00:07:40,860 --> 00:07:42,510 >> Pra me të vërtetë, tani unë dua të hapur atë. 185 00:07:42,510 --> 00:07:45,730 Dhe unë nuk e klikoni dy herë mbi të si në një GUI, një mjedis grafik. 186 00:07:45,730 --> 00:07:48,550 Unë në vend të thonë "cd pset1." 187 00:07:48,550 --> 00:07:49,640 Enter. 188 00:07:49,640 --> 00:07:53,100 Asgjë interesante duket të ketë ndodhi me përjashtim të shpejtë time të vogël 189 00:07:53,100 --> 00:07:57,300 here-- kjo është mënyra Linux të kujtuar mua aty ku jam unë, kështu që ajo dosje është e hapur. 190 00:07:57,300 --> 00:08:00,080 Është vetëm thënë mua në mënyrë eksplicite në krahasim me grafikisht. 191 00:08:00,080 --> 00:08:05,100 Dhe në qoftë se unë lloji "ls", pse nuk kam parë një tjetër të shpejtë menjëherë, mendoni ju, 192 00:08:05,100 --> 00:08:07,269 kur unë lista përmbajtjen e pset1? 193 00:08:07,269 --> 00:08:09,310 MARIA: Ju ndoshta nuk kanë asgjë në atje. 194 00:08:09,310 --> 00:08:09,630 DAVID Malan: Po. 195 00:08:09,630 --> 00:08:11,510 Pra, atëherë ne nuk kemi të qartë krijuar asgjë në atje 196 00:08:11,510 --> 00:08:13,150 sepse unë vetëm krijuar directory. 197 00:08:13,150 --> 00:08:17,690 Tani, në qoftë se unë të kërkuar për të krijuar një file-- për shembull, unë mund të krijojë një skedë të re. 198 00:08:17,690 --> 00:08:20,190 Dhe pastaj unë mund të shkojnë në Ruaj dhe për të shpëtuar atë si, 199 00:08:20,190 --> 00:08:23,090 si, "mario.c", në qoftë se ju jeni duke bërë edicioni standardi i pset një. 200 00:08:23,090 --> 00:08:27,610 Dhe pastaj, si çdo Mac apo PC, vetëm Zgjidhni dosjen "pset1, Save. 201 00:08:27,610 --> 00:08:28,740 Dhe tani skedë është bosh. 202 00:08:28,740 --> 00:08:31,160 Por le të zoom në një herë për një të dytë. 203 00:08:31,160 --> 00:08:32,470 Le të bëjmë ls këtu. 204 00:08:32,470 --> 00:08:34,470 Tani ne e shohim "mario.c". 205 00:08:34,470 --> 00:08:37,850 >> Pra, ka një komandat disa të tjera që janë me vlerë duke mbajtur parasysh gjatë time-- 206 00:08:37,850 --> 00:08:41,200 qartë, apo Kontrolli-L është ajo që unë kam qenë goditur; mkdir ne kemi parë; 207 00:08:41,200 --> 00:08:45,240 rm ne kemi parë, po ashtu, i cili është për heqjen ose fshirjes një fotografi. 208 00:08:45,240 --> 00:08:49,310 Kujdes ju mund të also-- dhe në qoftë se ju shikoni në tutorial online, ju do të rm -rf 209 00:08:49,310 --> 00:08:52,630 është një mënyrë shumë e zakonshme për të thënë fshini një dosje që ka gjëra në të. 210 00:08:52,630 --> 00:08:54,280 Vetëm të jetë super, super të kujdesshëm. 211 00:08:54,280 --> 00:08:58,780 -rf thotë Recursively fshini çfarëdo qoftë ajo është 212 00:08:58,780 --> 00:09:01,150 ju jeni duke u përpjekur për të fshirë dhe me forcë fshini atë. 213 00:09:01,150 --> 00:09:04,630 Pra, do të thotë rekursive, nëse kjo është një dosje me një dosje me një dosje me një dosje, 214 00:09:04,630 --> 00:09:05,690 fshini të gjithë ata. 215 00:09:05,690 --> 00:09:08,680 Dhe me forcë do të thotë as nuk pyesni mua po ose jo, jam i sigurt? 216 00:09:08,680 --> 00:09:11,960 Pra, kjo është një mënyrë super e rrezikshme e fshirjes shumë gjëra shpejt. 217 00:09:11,960 --> 00:09:17,210 Por beware-- shumë shpesh bën një Intrepid Studenti aksidentalisht fshini, të themi, pset 218 00:09:17,210 --> 00:09:18,000 një, për shembull. 219 00:09:18,000 --> 00:09:19,833 >> MARIA: Dhe në qoftë se ata vetëm bëjnë -r, ata do 220 00:09:19,833 --> 00:09:21,870 për të pyesni ata për çdo skedar të vetëm. 221 00:09:21,870 --> 00:09:22,790 >> DAVID Malan: Cila është moderuar bezdisshëm. 222 00:09:22,790 --> 00:09:23,480 >> MARIA: Po. 223 00:09:23,480 --> 00:09:25,813 >> DAVID Malan: Pra, kjo është arsyeja pse kaq shumë prej nesh, vetë të përfshira, 224 00:09:25,813 --> 00:09:27,070 jam në zakonin e përdorimit -rf. 225 00:09:27,070 --> 00:09:27,861 Por kjo është e rrezikshme. 226 00:09:27,861 --> 00:09:29,010 Pra, ruaju blerës. 227 00:09:29,010 --> 00:09:31,050 Dhe pastaj mv është lloj i me emrin interesant. 228 00:09:31,050 --> 00:09:33,600 Pra, kjo është komanda veprim, i cili ndihet i çuditshëm pak 229 00:09:33,600 --> 00:09:37,260 për shkak se ju mund të vërtetë të përdorni atë për të lëvizin fotografi nga një vend në tjetrin. 230 00:09:37,260 --> 00:09:39,970 Për shembull, supozojmë se unë messed up. 231 00:09:39,970 --> 00:09:43,660 Supozoni që kam krijuar një skedë të re për pset. 232 00:09:43,660 --> 00:09:46,320 E kam ruajtur atë si "greedy.c." 233 00:09:46,320 --> 00:09:49,970 Por, mendoj unë aksidentalisht ruani atë në IDE50-- kështu që hapësira e punës në tim vetë 234 00:09:49,970 --> 00:09:51,580 dhe jo në pset1. 235 00:09:51,580 --> 00:09:53,960 >> Ju mund të shihni sa më shumë në krye të majtë. 236 00:09:53,960 --> 00:09:55,284 Ka "greedy.c." 237 00:09:55,284 --> 00:09:56,450 Dhe ka disa zgjidhje. 238 00:09:56,450 --> 00:09:58,324 Pra, një, unë mund të përdorni të super mënyrë user-friendly 239 00:09:58,324 --> 00:09:59,740 i vetëm zvarritur dhe duke rënë atë. 240 00:09:59,740 --> 00:10:01,910 Dhe kjo në fakt do të rregulluar këtë problem. 241 00:10:01,910 --> 00:10:04,967 Por sot, ne jemi duke u përpjekur për të parë në mënyrat më misterioze, por të fuqishme 242 00:10:04,967 --> 00:10:05,550 për të bërë këtë. 243 00:10:05,550 --> 00:10:07,880 Pra më lejoni të marrë "ls" në pset1. 244 00:10:07,880 --> 00:10:09,690 Dhe unë vetëm shoh "mario.c." 245 00:10:09,690 --> 00:10:13,450 Më lejoni të shkoj përpara dhe të bëjë "cd ..". 246 00:10:13,450 --> 00:10:15,320 Pra CD përsëri është drejtori ndryshim. 247 00:10:15,320 --> 00:10:18,130 ".." Do të thotë çfarë, pse? 248 00:10:18,130 --> 00:10:21,100 Herën e fundit që kam thënë "CD pset1 "për të shkuar në pset1. 249 00:10:21,100 --> 00:10:24,360 Pra, kur unë them "cd ..", çfarë jam unë duke bërë? 250 00:10:24,360 --> 00:10:24,910 Prapa. 251 00:10:24,910 --> 00:10:25,150 Po. 252 00:10:25,150 --> 00:10:26,750 >> Kështu ajo do të ashtuquajturës prind. 253 00:10:26,750 --> 00:10:29,730 Go një nivelit të lart, si daljes nga një dosje. 254 00:10:29,730 --> 00:10:30,500 Pra Enter. 255 00:10:30,500 --> 00:10:31,900 Dhe me të vërtetë, shohim se çfarë ajo e bëri. 256 00:10:31,900 --> 00:10:37,070 Ajo u zhvendos mua vetëm në hapësirë ​​pune në vend e në pset1, e cila është në Workspace. 257 00:10:37,070 --> 00:10:39,710 Dhe tani, nëse unë lloji "ls", ka një bandë e tërë e gjëra. 258 00:10:39,710 --> 00:10:41,650 Në ekziston "greedy.c". 259 00:10:41,650 --> 00:10:48,720 Kështu që tani më lejoni të përdor MV fjalë për fjalë lëvizin "greedy.c" në pset1. 260 00:10:48,720 --> 00:10:51,120 Dhe kështu që një shumë e Linux komandat punojnë tamam si kjo. 261 00:10:51,120 --> 00:10:54,470 Ata marrin asnjë argumente ose ata të marrin një të tillë Argumenti ose ata marrin dy command line 262 00:10:54,470 --> 00:10:55,449 argumentet dhe kështu me radhë. 263 00:10:55,449 --> 00:10:57,240 Dhe në këtë rast, është fjalë për fjalë duke bërë atë 264 00:10:57,240 --> 00:11:01,670 ajo thotë se, megjithëse succinctly-- lëvizin greedy.c në pset1. 265 00:11:01,670 --> 00:11:02,310 Enter. 266 00:11:02,310 --> 00:11:03,310 Asgjë nuk duket të ndodhë. 267 00:11:03,310 --> 00:11:06,180 Por në qoftë se unë bëj një ls përsëri, lakmitar është zhdukur. 268 00:11:06,180 --> 00:11:12,437 Dhe në qoftë se unë bëj "pset1 CD", Enter, dhe pastaj ls përsëri, tani është në vendin e duhur. 269 00:11:12,437 --> 00:11:14,270 Si një mënjanë, nëse për disa reason-- sidomos 270 00:11:14,270 --> 00:11:16,194 në qoftë se ju keni përhershme lidhjes të rrjetit 271 00:11:16,194 --> 00:11:18,360 ose ju jeni duke ecur rreth Kampusi me kapak tuaj laptop 272 00:11:18,360 --> 00:11:20,180 mbyllur dhe pastaj të hapur atë përsëri dhe workspace tuaj 273 00:11:20,180 --> 00:11:21,730 Duket disi nga sync, ndonjë gjë e madhe. 274 00:11:21,730 --> 00:11:23,646 Vetëm ringarkoni shfletuesin tuaj dritare, dhe ajo duhet të 275 00:11:23,646 --> 00:11:26,339 resync në mënyrë që të dorës së majtë shfletuesi i file duket tamam 276 00:11:26,339 --> 00:11:27,380 si dritaren e terminalit. 277 00:11:27,380 --> 00:11:27,921 Nuk është për t'u shqetësuar. 278 00:11:27,921 --> 00:11:31,460 Kur në dyshim, ringarkoni faqe, kështu që kohë sa ju keni ruajtur fotografi tashmë. 279 00:11:31,460 --> 00:11:31,960 NE RREGULL. 280 00:11:31,960 --> 00:11:34,710 Kështu mv gjithashtu mund të përdoret për të riemërtoni fotografi. 281 00:11:34,710 --> 00:11:36,760 Dhe le të marrin një vështrim në kjo komandë e fundit këtu. 282 00:11:36,760 --> 00:11:39,950 Pra suppose-- dhe kjo është super të zakonshme, gjithashtu, në fillim. 283 00:11:39,950 --> 00:11:46,400 Disa studentë të herë pas here të krijojë një skedar quajtur, le të say-- çfarë është tjetër? 284 00:11:46,400 --> 00:11:47,730 Ashtu si "WATER.C." 285 00:11:47,730 --> 00:11:51,080 Kështu që unë vetëm do të bërtas, për asnjë arsye, në të gjitha shkronja kapitale. 286 00:11:51,080 --> 00:11:53,190 Por kjo nuk është Emri i saktë për file 287 00:11:53,190 --> 00:11:56,660 në qoftë se vetëm për shkak se problemi ynë vendosur specifikim nuk ju them 288 00:11:56,660 --> 00:11:59,430 për të ruajtur kartelën si të gjitha shkronja kapitale "WATER.C." 289 00:11:59,430 --> 00:12:01,320 Në vend të kësaj, ne presim "water.c" në Fjala. 290 00:12:01,320 --> 00:12:03,140 Dhe, në fakt, kjo është sepse check50 problematike, 291 00:12:03,140 --> 00:12:04,370 një program që ju jeni duke shkuar të takohen në problemin 292 00:12:04,370 --> 00:12:07,350 vendosur atë që automatikisht teston korrektësinë e kodit tuaj 293 00:12:07,350 --> 00:12:11,615 do të çirrem në ju, nëse ajo nuk mund të gjeni "water.c" në të gjitha Fjala. 294 00:12:11,615 --> 00:12:12,712 >> Kështu që kam nevojë për të rregulluar këtë. 295 00:12:12,712 --> 00:12:14,920 Shumë mënyra të ndryshme për bëni këtë, i pari i cili 296 00:12:14,920 --> 00:12:18,330 do të jetë për të kontrolluar-click apo right-click emrin e file dhe vetëm të ndryshojë Rename. 297 00:12:18,330 --> 00:12:19,740 Krejtësisht gjobë për të bërë këtë. 298 00:12:19,740 --> 00:12:21,820 Por përsëri, sot, le të bëjë atë një pak njohës. 299 00:12:21,820 --> 00:12:26,680 Le të përdorim MV për të ndryshuar "WATER.C" për të "water.c." 300 00:12:26,680 --> 00:12:30,690 Kështu që ju mund të përdorë gjithashtu edhe argumentin e parë të riemërtoni atë në argumentin e dytë 301 00:12:30,690 --> 00:12:34,455 nëse argumenti i dytë nuk është në fakt, një dosje apo një emër directory. 302 00:12:34,455 --> 00:12:35,120 >> Në rregull. 303 00:12:35,120 --> 00:12:39,560 Dhe së fundi, një trick-- pak kështu që unë jam në Lista ime workspace në këtë moment. 304 00:12:39,560 --> 00:12:43,660 Nëse unë dua të të marrë në pset një, Unë me siguri mund të tipit "CD pset1." 305 00:12:43,660 --> 00:12:47,260 Por është aq i lodhshëm për të tipit "pset1" ose më emrat e file ose emrat Directory 306 00:12:47,260 --> 00:12:47,980 ende. 307 00:12:47,980 --> 00:12:51,960 Pra, shumë shpesh në Linux, çfarë ju mund të bëni është të filloni të shtypni "pandaj" 308 00:12:51,960 --> 00:12:56,100 dhe vetëm mërzitem, hit Tab, dhe le të kompjuter kuptoj atë për ju. 309 00:12:56,100 --> 00:12:58,190 Super dobishme për të marrë në atë zakon. 310 00:12:58,190 --> 00:13:01,079 Kapur vetëm është nëse ju keni fotografi të shumta apo dosjet duke filluar 311 00:13:01,079 --> 00:13:02,870 me shkronjën "p" ose "PS", ju mund të keni 312 00:13:02,870 --> 00:13:05,525 të shkruani një më pak para kompjuter e di se çfarë të bëni. 313 00:13:05,525 --> 00:13:06,820 >> MARIA: Ne si shkurtore. 314 00:13:06,820 --> 00:13:08,695 >> DAVID Malan: Ky vullnet ju kursejnë aq shumë kohë. 315 00:13:08,695 --> 00:13:11,930 Dhe gjithashtu, siç thamë në leksion, ju mund të lëvizni lart në histori, lart dhe poshtë, 316 00:13:11,930 --> 00:13:15,461 për të gjetur ekzekutuar kohët e fundit komandat, si edhe. 317 00:13:15,461 --> 00:13:15,960 Në rregull. 318 00:13:15,960 --> 00:13:20,904 Deri tani, le të kthejmë vëmendjen tonë prapa në një program të thjeshtë, Hello World. 319 00:13:20,904 --> 00:13:22,195 Pra, ne kemi hartuar këtë saktësisht. 320 00:13:22,195 --> 00:13:24,050 Dhe tani pse nuk kemi marrë një vështrim në llojet e të dhënave 321 00:13:24,050 --> 00:13:26,776 dhe pastaj kalojnë nga disa korrespondon blloqe Scratch në C. 322 00:13:26,776 --> 00:13:27,400 MARIA: mbresëlënës. 323 00:13:27,400 --> 00:13:30,031 Pra, tani që ju keni filluar shkrimin e programeve në C, 324 00:13:30,031 --> 00:13:32,530 ne jemi duke shkuar për të fillojnë të flasin për llojet e të dhënave dhe variablave. 325 00:13:32,530 --> 00:13:37,570 Kështu që disa lloje të të dhënave që ju do të duan të dinë duke filluar nga tani 326 00:13:37,570 --> 00:13:39,400 janë ato që janë theksuar në ngjyrë blu. 327 00:13:39,400 --> 00:13:42,420 Pra, ne kemi int së pari, i cili qëndron për numër të plotë. 328 00:13:42,420 --> 00:13:46,075 Dhe që mban integers, si ti mund të ketë guessed-- kështu që ka 1, 2, 3, 329 00:13:46,075 --> 00:13:47,950 dhe çdo integers tjera që ju mund të mendoni. 330 00:13:47,950 --> 00:13:48,730 >> DAVID Malan: Dhe gjithashtu negative. 331 00:13:48,730 --> 00:13:50,220 >> MARIA: Dhe gjithashtu ato negative, yep. 332 00:13:50,220 --> 00:13:51,450 Dhe 0. 333 00:13:51,450 --> 00:13:54,250 Pastaj ne kemi gjithandej, të cilat janë lundrues numra pikë. 334 00:13:54,250 --> 00:13:58,360 Pra, kjo është të gjitha numrat e vërtetë që kanë pikë dhjetore. 335 00:13:58,360 --> 00:14:03,960 Pra 5.0, 5.2, dhe edhe më shumë shifra pas presjes dhjetore, 336 00:14:03,960 --> 00:14:05,620 si edhe, dhe gjithashtu ato negative. 337 00:14:05,620 --> 00:14:07,530 Pastaj ne kemi char cila është një karakter. 338 00:14:07,530 --> 00:14:10,240 Kështu që unë mendoj se kemi biseduar për kjo në leksion sot. 339 00:14:10,240 --> 00:14:15,682 Por ne kemi letra, për example-- A, B, C-- që mund të ruhet si char. 340 00:14:15,682 --> 00:14:18,390 Por atëherë ne kemi shumë më shumë simbole që mund të ruhet si char. 341 00:14:18,390 --> 00:14:22,380 Dhe ata janë ruajtur si ASCII. 342 00:14:22,380 --> 00:14:25,280 >> Dhe pastaj ne kemi bool, të cilat janë Booleans. 343 00:14:25,280 --> 00:14:29,067 Dhe ata vlerësojnë të vërtetë ose False ose 1 dhe 0, respektivisht. 344 00:14:29,067 --> 00:14:31,650 DAVID Malan: Dhe kujtojnë se bool vjen nga biblioteka CS50. 345 00:14:31,650 --> 00:14:33,300 Pra, kjo nuk është ndërtuar në C, por është e super të dobishme 346 00:14:33,300 --> 00:14:34,850 të ketë nocionin e vërtetë dhe të rreme. 347 00:14:34,850 --> 00:14:36,990 Dhe, edhe pse ju mund think-- fakt fun. 348 00:14:36,990 --> 00:14:43,700 Një bool teknikisht ka nevojë për sa më shumë copa, me të vërtetë, për të përfaqësuar vërtetë kundrejt rreme? 349 00:14:43,700 --> 00:14:47,910 Sa bit mendoni ju do të duhet, maksimalisht? 350 00:14:47,910 --> 00:14:48,790 Yeah, vetëm një. 351 00:14:48,790 --> 00:14:52,077 Pra, ajo rezulton se C nuk mund të ju jap vetëm një grimë. 352 00:14:52,077 --> 00:14:54,160 Njësia më e vogël e masës ju mund të merrni është tetë. 353 00:14:54,160 --> 00:14:57,090 Pra, kjo është një kota pak se ju jeni duke përdorur një bajt të tërë, ose tetë bit, 354 00:14:57,090 --> 00:14:58,340 për të përfaqësuar Vërtetë ose False. 355 00:14:58,340 --> 00:15:01,807 Por kjo është vetëm mënyrën se si ajo është zbatuar në C nga biblioteka CS50. 356 00:15:01,807 --> 00:15:04,890 MARIA: Dhe pastaj ato që ne jemi nuk do të flasim për sa gjerësisht 357 00:15:04,890 --> 00:15:08,060 e drejtë now-- dyfishtë, kjo është për gjithandej mëdha. 358 00:15:08,060 --> 00:15:09,811 Gjatë gjatë dhe të shkurtër janë gjithashtu për integers. 359 00:15:09,811 --> 00:15:10,643 DAVID Malan: Në të vërtetë. 360 00:15:10,643 --> 00:15:13,190 Në edicionin e hacker e pset një, ne fakt përdorin gjatë e gjatë. 361 00:15:13,190 --> 00:15:15,801 Por, për edicionin e standardit, ajo nuk duhet të jetë e nevojshme. 362 00:15:15,801 --> 00:15:16,300 MARIA: Best. 363 00:15:16,300 --> 00:15:17,361 NE RREGULL. 364 00:15:17,361 --> 00:15:20,110 Pra operators-- ju duhet të jetë ndoshta i njohur me shumicën e tyre. 365 00:15:20,110 --> 00:15:22,620 Shtim, +; zbritja, -. 366 00:15:22,620 --> 00:15:24,070 Për shumëzimin, ne kemi *. 367 00:15:24,070 --> 00:15:25,900 Pra, nuk X që ne zakonisht e përdorim. 368 00:15:25,900 --> 00:15:27,840 Divizioni, ne kemi backslash. 369 00:15:27,840 --> 00:15:31,380 Dhe modulo është operatori ynë i fundit që ne do të flasim për tani. 370 00:15:31,380 --> 00:15:35,610 Është një operator që na lejon të marrë pjesën e mbetur të një ndarje. 371 00:15:35,610 --> 00:15:40,630 Pra, nëse kemi 4% 2, 4 të ndarë nga 2 është 2 me një tjetër të 0. 372 00:15:40,630 --> 00:15:41,740 Pra, 4% 2 është 0. 373 00:15:41,740 --> 00:15:42,950 4% 3 është 1. 374 00:15:42,950 --> 00:15:44,870 4% 5 është 4, si ju mund të keni mendoi. 375 00:15:44,870 --> 00:15:48,860 Dhe mbani mend kur duke përdorur të gjitha këto operatorët të përdorin rregullat PEMDAS. 376 00:15:48,860 --> 00:15:54,060 >> DAVID Malan: Pra, të jetë i qartë, në qoftë se ju bërë 4% 2, pse është se 0, saktësisht? 377 00:15:54,060 --> 00:15:57,480 >> MARIA: Sepse 4 ndarë nga 2 është 2 me një tjetër të 0. 378 00:15:57,480 --> 00:16:00,752 Pra modulo na jep se mbetur si krahasim me rezultatin e ndarjes. 379 00:16:00,752 --> 00:16:02,960 DAVID Malan: Dhe me të vërtetë, ajo që ne do të gjeni këtë të dobishme 380 00:16:02,960 --> 00:16:05,640 për të është se në disa probleme kjo nuk është domosdoshmërisht një, 381 00:16:05,640 --> 00:16:08,040 në qoftë se ju dëshironi që të ketë Efekti i kufizuar veten 382 00:16:08,040 --> 00:16:10,720 në një varg të numrave të si 0 nëpër diçka, 383 00:16:10,720 --> 00:16:13,904 ju mund të përdorni modulo për të përfunduar rreth më herët se si 2 miliard 384 00:16:13,904 --> 00:16:16,320 ose vlerën 4 miliardë që ne kemi biseduar për në leksion. 385 00:16:16,320 --> 00:16:16,870 >> MARIA: Po. 386 00:16:16,870 --> 00:16:19,429 Dhe madje edhe në "lakmitar" Ne mund të. 387 00:16:19,429 --> 00:16:21,345 DAVID Malan: Po, në Problemi vendosur një të tillë, si edhe. 388 00:16:21,345 --> 00:16:22,520 MARIA: Po, e bukur. 389 00:16:22,520 --> 00:16:24,340 DAVID Malan: aluzion mirë. 390 00:16:24,340 --> 00:16:25,750 MARIA: Më vjen keq. 391 00:16:25,750 --> 00:16:28,590 Boolean expressions-- kështu për operatorët Boolean, 392 00:16:28,590 --> 00:16:31,770 ne do të flasim për të gjithë nga këto që ju shihni këtu. 393 00:16:31,770 --> 00:16:35,310 Deri tani, ne kemi dy Shenjat e barabarta të shënuara për të barabartëve. 394 00:16:35,310 --> 00:16:38,650 Pra, ato janë për krahasim. 395 00:16:38,650 --> 00:16:40,830 Deri tani, ne kemi parë vetëm një është e barabartë me shenjë. 396 00:16:40,830 --> 00:16:44,870 Kjo është kur ne të caktojë një vlerë për një variabël. 397 00:16:44,870 --> 00:16:50,160 Pra, në qoftë se ne kemi parë int n = 5, atëherë ne kemi caktuar 5 deri n ndryshueshme. 398 00:16:50,160 --> 00:16:55,600 Por në qoftë se ne duam të përdorim == për krahasim, ne mund të kontrolloni nëse n == 5. 399 00:16:55,600 --> 00:16:58,310 Dhe në qoftë se n == 5, atëherë kjo është e vërtetë. 400 00:16:58,310 --> 00:17:01,950 >> Operatorët Pra Boolean të na lejojë, në thelb, 401 00:17:01,950 --> 00:17:04,670 për të vlerësuar Boolean Shprehjet në true ose false. 402 00:17:04,670 --> 00:17:07,819 Pra, nuk equals-- ne kemi pikëçuditëse dhe të barabartë. 403 00:17:07,819 --> 00:17:14,240 Pra, ne mund të kontrolloni nëse n nuk ka të barabartë 5-- aq n! = 5. 404 00:17:14,240 --> 00:17:17,640 Më pak se, me pak se ose e barabartë me, madhe se, më e madhe se ose e barabartë me: 405 00:17:17,640 --> 00:17:20,720 dhe pastaj ne kemi logjike DHE dhe logjike OSE. 406 00:17:20,720 --> 00:17:24,060 Dhe ata të na lejojë të vlerësuar Shprehjet shumta Boolean bashku 407 00:17:24,060 --> 00:17:27,930 që do të vijnë së bashku në thelb si një shprehje e tërë Boolean. 408 00:17:27,930 --> 00:17:34,970 Pra, nëse ne duam të gjeni një numër, të themi, që është më i madh se 5 por me pak se 15 409 00:17:34,970 --> 00:17:39,810 në të njëjtën kohë, ne do të përdorim logjike dhe operatori për të parë nëse n është 410 00:17:39,810 --> 00:17:42,937 madh se 5 && n pak se 15. 411 00:17:42,937 --> 00:17:44,770 DAVID Malan: Dhe këtu, gjithashtu, është e vërtetë e lehtë 412 00:17:44,770 --> 00:17:47,290 herët për të aksidentalisht përdorni vetëm një simbol të vetme 413 00:17:47,290 --> 00:17:48,572 ose një bar vetme vertikale. 414 00:17:48,572 --> 00:17:51,280 Dhe shpresojmë se do të përpiluesit çirrem në ju, sepse ata në fakt 415 00:17:51,280 --> 00:17:52,530 kanë një kuptim shumë të ndryshme. 416 00:17:52,530 --> 00:17:55,660 Për ata kurioz, ata janë përdoren për operacionet bitwise, 417 00:17:55,660 --> 00:17:57,197 veprojnë në copa individuale. 418 00:17:57,197 --> 00:17:58,780 Por ju nuk doni palë prej tyre këtu. 419 00:17:58,780 --> 00:18:01,560 Dhe super të rëndësishme është që e para, shenja të barabartë, 420 00:18:01,560 --> 00:18:05,270 që është operatori barazia si krahasim me operatorin detyrës. 421 00:18:05,270 --> 00:18:08,552 >> MARIA: Dhe bar vertikale është Gjendet në mes të Fshij dhe Kthim. 422 00:18:08,552 --> 00:18:09,260 DAVID Malan: Po. 423 00:18:09,260 --> 00:18:11,420 Në një tastierë tipike amerikane. 424 00:18:11,420 --> 00:18:13,190 >> MARIA: Po. 425 00:18:13,190 --> 00:18:15,890 Pra, le të kërcej të drejtë në Deklaratat e kushtëzuara. 426 00:18:15,890 --> 00:18:18,300 Në Scratch, ju keni tashmë shihet, ndoshta, 427 00:18:18,300 --> 00:18:22,730 nëse deklaratat që ju lejojnë të kontrolloni nëse diçka është e vërtetë, atëherë 428 00:18:22,730 --> 00:18:23,660 të bëjë diçka tjetër. 429 00:18:23,660 --> 00:18:28,410 Kështu që ju mund të keni kërkuar për të parë nëse sprite tuaj është 430 00:18:28,410 --> 00:18:31,410 duke prekur disa sprite tjera ose kufirin e ekranit tuaj. 431 00:18:31,410 --> 00:18:35,520 Dhe pastaj ju mund të keni kërkuar për të fund të lojës apo të bëjë diçka tjetër. 432 00:18:35,520 --> 00:18:40,000 Pra, sintaksë për atë është "nëse (gjendja)." 433 00:18:40,000 --> 00:18:46,820 Pra, nëse sprite juaj është prekur diçka, atëherë nuk është brenda formatimin e teksteve kaçurrel. 434 00:18:46,820 --> 00:18:48,980 >> Pastaj ne ketë nëse-tjetër deklarata. 435 00:18:48,980 --> 00:18:54,080 Tjetër na lejon të bëjmë diçka nëse kusht që 436 00:18:54,080 --> 00:18:55,870 kontrolloni për në fillim nuk është e vërtetë. 437 00:18:55,870 --> 00:19:01,530 Pra, nëse Sprite është prekur Kufiri bërë këtë, tjetër të bëjë diçka tjetër. 438 00:19:01,530 --> 00:19:04,030 Pra, ndryshe bëni diçka tjetër. 439 00:19:04,030 --> 00:19:07,530 Pastaj ne kemi një shembull të shkurtër për këtë. 440 00:19:07,530 --> 00:19:11,551 Pra, nëse (military_time <12), ne duan të printf "Mirëmëngjes!" 441 00:19:11,551 --> 00:19:13,300 Tjetër ne jemi duke shkuar për printf "Mirëmbrëma!" 442 00:19:13,300 --> 00:19:14,860 Shembull themelor. 443 00:19:14,860 --> 00:19:15,680 >> DAVID Malan: Mirë. 444 00:19:15,680 --> 00:19:16,760 >> MARIA: Best. 445 00:19:16,760 --> 00:19:18,560 Deri tani ne kemi kaloni deklarata. 446 00:19:18,560 --> 00:19:21,960 Kaloni deklaratat në përgjithësi mund të të na lejojë të bëni një shumë të njëjtën gjë 447 00:19:21,960 --> 00:19:25,070 që ne vetëm biseduar në lidhje me nëse deklarata. 448 00:19:25,070 --> 00:19:29,440 Për shembull, tani ne kemi Forma e përgjithshme e deklaratës kaloni 449 00:19:29,440 --> 00:19:33,870 që na lejon të marrë një ndryshore të quajtur n 450 00:19:33,870 --> 00:19:37,670 dhe krahasojnë atë me një shumë të vlera të ndryshme, që këtu ne 451 00:19:37,670 --> 00:19:40,010 kanë quajtur constant1, constant2. 452 00:19:40,010 --> 00:19:41,150 Ne mund të ketë shumë më tepër. 453 00:19:41,150 --> 00:19:42,930 Dhe ata janë quajtur rastet. 454 00:19:42,930 --> 00:19:46,280 >> Pra, nëse ne kemi një switch statement-- dhe punon ky 455 00:19:46,280 --> 00:19:50,580 vetëm për integers-- ne kemi një ndryshueshme në këtë rast që është n. 456 00:19:50,580 --> 00:19:53,840 Nëse n është e ndryshueshme e barabartë me constant1, ne 457 00:19:53,840 --> 00:19:59,720 do të ekzekutojë një copë e kodit ose diçka që ne duam të bëjmë. 458 00:19:59,720 --> 00:20:01,280 Dhe pastaj ne do të prishej. 459 00:20:01,280 --> 00:20:04,820 Pra, pushim do të thotë se deklarata kaloni 460 00:20:04,820 --> 00:20:08,120 do të ndalojë ekzekutimin nëse n është e barabartë me constant1, 461 00:20:08,120 --> 00:20:09,752 dhe pastaj programi juaj do të vazhdojë. 462 00:20:09,752 --> 00:20:11,835 Ajo do të dalë jashtë e kaloni deklaratë dhe ajo do të 463 00:20:11,835 --> 00:20:13,520 të vazhdojë të bëjë diçka tjetër. 464 00:20:13,520 --> 00:20:17,204 >> Nëse, megjithatë, n nuk barabartë constant1, atëherë rasti për constant2 465 00:20:17,204 --> 00:20:17,870 do të kontrollohen. 466 00:20:17,870 --> 00:20:21,750 Pra, nëse n është e barabartë constant2, se të tjera copë e kodit do të ekzekutohet. 467 00:20:21,750 --> 00:20:23,850 Dhe atëherë ajo do të thyejnë në qoftë se është e barabartë me të. 468 00:20:23,850 --> 00:20:27,580 Dhe pastaj ne mund të kemi also-- nuk domosdoshmërisht, though-- një rast të paracaktuar, 469 00:20:27,580 --> 00:20:32,290 e cila do të ndodhë në qoftë se n nuk barabartë ndonjë nga rastet që keni të listuara. 470 00:20:32,290 --> 00:20:35,400 Dhe në rastin e parazgjedhur, ne gjithashtu nuk kanë nevojë për një pushim detyrimisht 471 00:20:35,400 --> 00:20:39,271 sepse deklarata kaloni do të dinë se ajo ka nevojë për t'i dhënë fund pas default 472 00:20:39,271 --> 00:20:40,270 rast në qoftë se është e rastit. 473 00:20:40,270 --> 00:20:42,140 >> DAVID Malan: Por stilistikisht, ne gjithmonë e vënë atë në atje. 474 00:20:42,140 --> 00:20:42,540 >> MARIA: Po. 475 00:20:42,540 --> 00:20:42,710 >> DAVID Malan: Po. 476 00:20:42,710 --> 00:20:44,750 Pra, sidomos kur duke filluar nga jashtë, veçanërisht në qoftë se në mesin e atyre më pak 477 00:20:44,750 --> 00:20:47,458 të rehatshme, unë do të personalisht vetëm rekomandojnë rrinë me IFS 478 00:20:47,458 --> 00:20:51,564 dhe ifs-elses dhe nëse-tjetër-nëse-elses dhe kështu me radhë nëse vetëm 479 00:20:51,564 --> 00:20:53,480 sepse ata janë pak të më të drejtpërdrejtë. 480 00:20:53,480 --> 00:20:56,142 Kjo është një e bukur optimization, ose ndonjëherë edhe estetikisht atë 481 00:20:56,142 --> 00:20:57,350 bën kodi më i lexueshëm. 482 00:20:57,350 --> 00:20:59,599 Dhe në fakt, ndoshta mesi i semestrit ne do të shohim një problem 483 00:20:59,599 --> 00:21:02,504 vendosur ku vetëm ajo duket më mirë dhe më të lehtë për të lexuar për njerëzit 484 00:21:02,504 --> 00:21:03,670 duke përdorur një deklaratë të kaloni. 485 00:21:03,670 --> 00:21:05,460 Por mos u bëni merak për kapur në këtë shumë herët. 486 00:21:05,460 --> 00:21:05,680 >> MARIA: Po. 487 00:21:05,680 --> 00:21:08,840 Nëse ju keni një shumë e nëse deklarata, ai thjesht nuk mund të jetë shumë i lexueshëm. 488 00:21:08,840 --> 00:21:10,965 Ajo nuk mund të jetë shumë e shpejtë për ju për të shkuar nëpërmjet saj. 489 00:21:10,965 --> 00:21:13,230 Pra kaloni deklaratat mund të të jetë shumë i dobishëm, si edhe. 490 00:21:13,230 --> 00:21:17,900 Dhe gjithashtu, mos remember-- nuk harroni të vënë prishet në atje. 491 00:21:17,900 --> 00:21:20,330 >> DAVID Malan: Mos mbani mend këtë. 492 00:21:20,330 --> 00:21:24,890 >> MARIA: Sepse atëherë ju mund të bien përmes nga një rast në tjetrin. 493 00:21:24,890 --> 00:21:27,930 Pra, le të themi se rasti constant1 nuk keni nje gjendje pushim në të. 494 00:21:27,930 --> 00:21:31,920 Atëherë ne mund të bien nëpër constant2 brenda rast. 495 00:21:31,920 --> 00:21:35,070 Dhe ne nuk duam të bëjmë atë nëse ne kemi arritur tashmë rast constant1 496 00:21:35,070 --> 00:21:37,830 dhe kjo është e barabartë me n. 497 00:21:37,830 --> 00:21:45,100 >> Kështu, për shembull, në qoftë se ne kemi një ndryshore n që përmban një numër të klasës, 498 00:21:45,100 --> 00:21:48,990 dhe ne duam të shohim se çka do të klasë is-- nëse n është e barabartë me 50, 499 00:21:48,990 --> 00:21:51,957 ne jemi duke shkuar për të shkruar "CS50 është Hyrje në Shkenca Kompjuterike I. " 500 00:21:51,957 --> 00:21:53,040 Pastaj ne jemi duke shkuar për të thyer. 501 00:21:53,040 --> 00:21:53,920 Dhe kjo është ajo. 502 00:21:53,920 --> 00:21:55,950 Nëse, megjithatë, n është e barabartë në 51, ne jemi duke shkuar 503 00:21:55,950 --> 00:21:58,494 për të shtypur "CS51 është Hyrje për Shkenca Kompjuterike II. " 504 00:21:58,494 --> 00:21:59,910 Pastaj, përsëri, ne jemi duke shkuar për të thyer. 505 00:21:59,910 --> 00:22:05,080 Megjithatë, nëse atëherë ne kemi vënë 124, 61, çdo numër tjetër që ju mund të mendoni për të, 506 00:22:05,080 --> 00:22:06,890 apo program nuk do të njohin atë. 507 00:22:06,890 --> 00:22:09,010 Kështu ajo do të thonë: "Më vjen keq, unë jam nuk e njohin me atë klasë. " 508 00:22:09,010 --> 00:22:10,009 Dhe ajo do të thyejnë. 509 00:22:10,009 --> 00:22:12,847 DAVID Malan: Pra, ju me të vërtetë mund të shihni if, nëse tjetër, tjetër ide këtu. 510 00:22:12,847 --> 00:22:15,430 Është Sintaksa vetëm të ndryshme për shprehur të njëjtën ide e saktë. 511 00:22:15,430 --> 00:22:17,690 >> MARIA: Pikërisht. 512 00:22:17,690 --> 00:22:19,480 Tani ne kemi operatorët tanë tresh. 513 00:22:19,480 --> 00:22:24,900 Operatorët Pra treshe kanë tre parts-- një kusht, 514 00:22:24,900 --> 00:22:27,220 diçka për të bërë në qoftë se se gjendja është e vërtetë, 515 00:22:27,220 --> 00:22:29,730 dhe pastaj diçka për të bërë nëse se gjendja është e rreme. 516 00:22:29,730 --> 00:22:33,400 Kështu që ju shihni, në thelb, Sintaksa e që këtu. 517 00:22:33,400 --> 00:22:37,792 Ne kemi pikëpyetje, dhe pastaj the-- çfarë ne e quajmë këtë? 518 00:22:37,792 --> 00:22:38,750 DAVID Malan: The zorrës së trashë. 519 00:22:38,750 --> 00:22:39,100 MARIA: Colon. 520 00:22:39,100 --> 00:22:39,599 Faleminderit. 521 00:22:39,599 --> 00:22:41,880 Më vjen keq. 522 00:22:41,880 --> 00:22:45,800 Pra, le të shohim në shembullin tonë në të shohim nëse ne mund të bëjë ndjenjën e this-- 523 00:22:45,800 --> 00:22:47,840 class_num == 50. 524 00:22:47,840 --> 00:22:52,580 Pra, këtu ne shohim operatorin tonë Boolean == që krahason class_num ndryshueshme 525 00:22:52,580 --> 00:22:53,100 në 50. 526 00:22:53,100 --> 00:22:55,150 Dyqane Pra class_num një numër të plotë. 527 00:22:55,150 --> 00:22:58,180 Dhe nëse këtë numër i plotë është e barabartë me 50, atëherë ne jemi 528 00:22:58,180 --> 00:23:02,810 duke shkuar për të ruajtur "DAVID Malan" brenda profesor string. 529 00:23:02,810 --> 00:23:05,912 Nëse numri i klasës nuk ka barabartë 50, "nuk DAVID Malan" 530 00:23:05,912 --> 00:23:07,120 do të jetë profesori. 531 00:23:07,120 --> 00:23:08,630 >> DAVID Malan: Ju faleminderit. 532 00:23:08,630 --> 00:23:12,110 Dhe kështu kjo duket ekuivalente me Çfarë, do të thoni ju, në shikim të parë? 533 00:23:12,110 --> 00:23:17,930 534 00:23:17,930 --> 00:23:19,960 >> MARIA: Për mua kjo duket si në qoftë se-tjetër deklarata. 535 00:23:19,960 --> 00:23:20,709 >> DAVID Malan: Po. 536 00:23:20,709 --> 00:23:24,020 Dhe në fakt, kjo është lloj i bukur një avion i linjës, 537 00:23:24,020 --> 00:23:27,520 mënyrë që të flasin, për zbatimin e pikërisht logjika e nëse-tjetër 538 00:23:27,520 --> 00:23:29,010 por duke bërë çdo gjë në një hap. 539 00:23:29,010 --> 00:23:29,860 >> MARIA: Pikërisht. 540 00:23:29,860 --> 00:23:30,360 Po. 541 00:23:30,360 --> 00:23:33,520 Deklaratat Pra, nëse-tjetër mund të marrë një shumë hapësirë. 542 00:23:33,520 --> 00:23:36,283 Ata mund të jetë shumë e gjatë për diçka e thjeshtë si kjo. 543 00:23:36,283 --> 00:23:38,350 Pra, kjo mund të jetë shumë ngjeshur dhe shumë të bukur. 544 00:23:38,350 --> 00:23:40,880 545 00:23:40,880 --> 00:23:46,820 Pra, tani ne jemi duke shkuar në kërkim në ekzekutimin diçka përsëri dhe përsëri, 546 00:23:46,820 --> 00:23:50,060 kështu kontrolluar për një kusht herë të shumta 547 00:23:50,060 --> 00:23:53,510 dhe pastaj duke vazhduar për të bërë diçka ndërkohë që gjendja është e vërtetë. 548 00:23:53,510 --> 00:23:56,740 Pra, kjo na sjell bukur në sythe kohë. 549 00:23:56,740 --> 00:23:59,270 >> Në të majtë, ne kemi lak ynë i parë, ndërsa. 550 00:23:59,270 --> 00:24:03,840 Kështu, ndërsa diçka është e vërtetë, të bëjë diçka përsëri dhe përsëri. 551 00:24:03,840 --> 00:24:08,850 Prandaj sigurohuni që të vëreni se tonë gjendja këtu është e vlefshme në krye. 552 00:24:08,850 --> 00:24:14,150 Ndërsa me loop-- tonë të dytë ne e quajmë që e bëjnë, ndërsa loop-- bëjmë diçka, 553 00:24:14,150 --> 00:24:15,890 atëherë ne kontrolloni për një gjendje. 554 00:24:15,890 --> 00:24:17,980 Dhe nëse atë gjendje vazhdon të jetë e vërtetë, 555 00:24:17,980 --> 00:24:20,150 ne të kthehemi dhe të bëjë gjë përsëri. 556 00:24:20,150 --> 00:24:23,360 Pra, dallimi kryesor është ku gjendja është kontrolluar për. 557 00:24:23,360 --> 00:24:29,260 Dhe kodi nuk mund të jetë ekzekutohet në qoftë se gjendja nuk është e 558 00:24:29,260 --> 00:24:30,430 vërtetë me lak, ndërsa. 559 00:24:30,430 --> 00:24:33,050 Ndërsa me do-kohë loop, ne kemi kodin 560 00:24:33,050 --> 00:24:35,380 që është ekzekutuar gjithmonë të paktën një herë. 561 00:24:35,380 --> 00:24:37,470 Dhe pastaj, ndërsa kushti vazhdon të jetë e vërtetë, 562 00:24:37,470 --> 00:24:39,960 ne mund të ktheheni mbrapsh dhe të iterate përsëri brenda. 563 00:24:39,960 --> 00:24:43,625 Pra, pse mendoni se ne do të përdorim a-ndërsa bëni lak mbi një lak, ndërsa? 564 00:24:43,625 --> 00:24:48,221 565 00:24:48,221 --> 00:24:48,720 E drejtë. 566 00:24:48,720 --> 00:24:52,600 Pra, nëse ne duam të menjëhershëm përdorues për disa lloj input, 567 00:24:52,600 --> 00:24:55,400 në qoftë se ne duam të pyesni ata të shkruani emrin e tyre, 568 00:24:55,400 --> 00:24:57,342 ne duam që të paktën të pyesni ata një herë. 569 00:24:57,342 --> 00:24:59,050 Dhe nëse ata hyjnë që emri, ne nuk jemi 570 00:24:59,050 --> 00:25:00,740 duke shkuar për të pyesni ata përsëri sepse ne tashmë e dimë atë. 571 00:25:00,740 --> 00:25:02,656 Por në qoftë se ata nuk hyjnë emri i tyre, ose në qoftë se ata 572 00:25:02,656 --> 00:25:05,787 të hyjë diçka që është natyrisht jo një emër, 573 00:25:05,787 --> 00:25:08,120 ne ende duan të vazhdojnë duke u kërkuar atyre për emrin e tyre. 574 00:25:08,120 --> 00:25:10,710 >> DAVID Malan: Dhe në leksion kemi pasur një të tillë si kjo me merrni int pozitiv 575 00:25:10,710 --> 00:25:13,550 shembull, kur nuk ka asgjë për kontrolloni në fillim, sepse ju nuk duhet edhe 576 00:25:13,550 --> 00:25:14,190 marrë një int. 577 00:25:14,190 --> 00:25:16,680 Pra, ne duam të bëjmë this-- të marrë një int nga user-- 578 00:25:16,680 --> 00:25:18,860 atëherë kontrolloni atë, ndoshta, përsëri dhe përsëri dhe përsëri. 579 00:25:18,860 --> 00:25:21,030 >> MARIA: Pikërisht. 580 00:25:21,030 --> 00:25:22,060 Për OK loops--. 581 00:25:22,060 --> 00:25:25,842 Për sythe mund të na lejojë të bëjmë gati saktë të njëjtën gjë, po ashtu. 582 00:25:25,842 --> 00:25:27,300 Është e vërtetë e saktë të njëjtën gjë. 583 00:25:27,300 --> 00:25:30,190 Pra, nuk ka asgjë që ju mund të bëni me të për sythe 584 00:25:30,190 --> 00:25:32,840 që ju nuk do të jetë në gjendje të bëjë me sythe, ndërsa. 585 00:25:32,840 --> 00:25:36,900 Por për sythe mund të duket pak pak më e komplikuar sintaksore 586 00:25:36,900 --> 00:25:39,730 sepse ata kanë tri pjesë brenda çfarë 587 00:25:39,730 --> 00:25:42,990 ishte para vetëm kusht me sythe kohë. 588 00:25:42,990 --> 00:25:48,260 Pra, pjesa e parë që ju deti, majtas-më, ne kemi "int dwarves = 0." 589 00:25:48,260 --> 00:25:51,490 Pra, kjo është ajo ku ne nisja ndryshore tonë. 590 00:25:51,490 --> 00:25:55,210 >> Pastaj ne kemi një pikëpresje dhe "dwarves <7." 591 00:25:55,210 --> 00:25:57,100 Pra, kjo është ajo ku jashtë kusht të vërtetë është. 592 00:25:57,100 --> 00:26:00,170 Pra, kjo është ajo që ne do të kemi vënë vetëm në kohë loop-- 593 00:26:00,170 --> 00:26:01,880 "Ndërsa dwarves <7." 594 00:26:01,880 --> 00:26:05,380 Këtu, që shkon në mesme e jonë për lak. 595 00:26:05,380 --> 00:26:07,190 Pra, "dwaves <7." 596 00:26:07,190 --> 00:26:11,350 Dhe pastaj pjesa jonë e fundit është "dwarves ++" i cili është ku ne update ndryshore tonë. 597 00:26:11,350 --> 00:26:15,470 Pra, gjëja e rëndësishme të kuptojë është se ky 598 00:26:15,470 --> 00:26:22,010 do të kalojnë nëpër këtë për lak shtatë herë dhe ekzekutuar shtatë herë. 599 00:26:22,010 --> 00:26:24,020 Pra, ne kemi shtatë dwarves, dhe ata janë të gjithë 600 00:26:24,020 --> 00:26:26,020 do të thonë, "Unë jam këtu për t'ju ndihmuar, Snow White " 601 00:26:26,020 --> 00:26:28,860 sepse ata janë të gatshëm për të ndihmuar Snow White. 602 00:26:28,860 --> 00:26:33,600 >> Me ndërsa unazore, ne do të kishte bërë initialization dhe përditësimin 603 00:26:33,600 --> 00:26:37,490 jo brenda kusht, përsëri, por ose para ose brenda lak, ndërsa 604 00:26:37,490 --> 00:26:40,210 për të siguruar që we-- sepse ne gjithmonë nevojë për ato pjesë. 605 00:26:40,210 --> 00:26:42,835 Pra, për t'u siguruar që ne kemi ata, ne do të kemi ende shtuar ato 606 00:26:42,835 --> 00:26:44,580 në, jo vetëm brenda kllapave. 607 00:26:44,580 --> 00:26:47,288 >> DAVID Malan: Dhe kështu që duket like-- në leksion, për shembull, 608 00:26:47,288 --> 00:26:50,250 Unë pothuajse gjithmonë përdorin, si, unë dhe n dhe variablave goxha mërzitshëm. 609 00:26:50,250 --> 00:26:53,050 Ajo duket si ju mund të përdorni më shumë quajtur cleverly variablave, too. 610 00:26:53,050 --> 00:26:56,300 >> MARIA: Po, kjo është në fakt shumë e bukur për të përdorur variabla pak më shumë përshkruese 611 00:26:56,300 --> 00:26:59,400 sepse veçanërisht në qoftë se dikush tjetër është lexuar code-- tuaj ndoshta ju jeni grader 612 00:26:59,400 --> 00:27:00,940 ose në qoftë se ju jeni duke bashkëpunuar me somebody-- 613 00:27:00,940 --> 00:27:03,481 ju doni të bëni të sigurtë që ata kuptoni se çfarë jeni duke bërë. 614 00:27:03,481 --> 00:27:05,750 615 00:27:05,750 --> 00:27:06,400 >> NE RREGULL. 616 00:27:06,400 --> 00:27:11,435 Pra, kjo është diçka shumë funky-- për lak brenda një për lak. 617 00:27:11,435 --> 00:27:13,060 Unë nuk e di nëse ne kemi parë këtë më parë. 618 00:27:13,060 --> 00:27:13,830 Me siguri jo. 619 00:27:13,830 --> 00:27:17,750 Por ne fakt mund të ketë this-- kështu sythe në vend të sythe. 620 00:27:17,750 --> 00:27:25,130 Pra, ka njeri të duan të ndoshta të ecur mua përmes Çfarë po ndodh këtu? 621 00:27:25,130 --> 00:27:28,240 622 00:27:28,240 --> 00:27:29,490 DAVID Malan: Unë do të marrë një goditje me thikë. 623 00:27:29,490 --> 00:27:29,970 MARIA: Best. 624 00:27:29,970 --> 00:27:30,636 DAVID Malan: OK. 625 00:27:30,636 --> 00:27:34,690 Pra, spoiler-- ne duam të shtypura stuff kjo është në këndin e poshtëm të djathtë 626 00:27:34,690 --> 00:27:35,190 atje. 627 00:27:35,190 --> 00:27:35,450 >> MARIA: E drejta. 628 00:27:35,450 --> 00:27:35,710 Po, po. 629 00:27:35,710 --> 00:27:38,043 >> DAVID Malan: Pra, ne kemi vetëm vënë atë dalje mostër atje. 630 00:27:38,043 --> 00:27:42,590 Kështu që unë mund të konkludoj nga loop larti që ju jeni 631 00:27:42,590 --> 00:27:45,680 iterating mbi rreshtave të loop outermost, kështu që të flasin. 632 00:27:45,680 --> 00:27:48,107 Dhe ju jeni iterating mbi kolona me lak të brendshme. 633 00:27:48,107 --> 00:27:50,190 Dhe intuitive, kjo duhet të shpresojmë se ka kuptim 634 00:27:50,190 --> 00:27:52,070 sepse nga natyra e çdo program ne kemi parë 635 00:27:52,070 --> 00:27:55,570 para, printf, i cili është Funksioni ne jemi duke përdorur, në fund të fundit, 636 00:27:55,570 --> 00:27:58,190 ka aftësinë për të shkruar gjëra jashtë në thelb rresht pas rreshti. 637 00:27:58,190 --> 00:27:59,960 Si, një herë ju keni outputted një linjë e re, nuk ka 638 00:27:59,960 --> 00:28:02,876 nuk ka dyfishuar prapa dhe shtypjen diçka larte ne ekran, të paktën 639 00:28:02,876 --> 00:28:04,530 jo duke përdorur printf si kjo. 640 00:28:04,530 --> 00:28:07,750 >> Dhe kështu në këtë drejtim, kjo e bën ndjenjë se lak outermost 641 00:28:07,750 --> 00:28:10,930 duhet të jetë duke iu referuar rreshtat sepse për çdo dhënë rresht, 642 00:28:10,930 --> 00:28:13,650 ju jeni do të duan të shtypura nga xxxxx, dhe pastaj 643 00:28:13,650 --> 00:28:15,520 të lëvizin për në rreshtin tjetër, xxxxx. 644 00:28:15,520 --> 00:28:17,317 Pra rreshta të vijë më parë. 645 00:28:17,317 --> 00:28:19,150 Dhe pastaj brenda çdo rresht, keni shkruar kolona. 646 00:28:19,150 --> 00:28:21,160 Nëse ju u përpoq për të bërë atë të e kundërta, ai ndoshta nuk do të 647 00:28:21,160 --> 00:28:21,690 dalë si keni ndërmend. 648 00:28:21,690 --> 00:28:22,190 >> MARIA: Po. 649 00:28:22,190 --> 00:28:24,950 Ne thjesht nuk mund të kthehem në rreshtit të mëparshëm me printf. 650 00:28:24,950 --> 00:28:27,658 >> DAVID Malan: Dhe çfarë është interesante për chat sotme rreth fushës, 651 00:28:27,658 --> 00:28:31,600 në fakt, është se rresht është një int që është deklaruar në lak larti. 652 00:28:31,600 --> 00:28:34,030 Por vini re se ajo është ende brenda, kështu që të flasin, 653 00:28:34,030 --> 00:28:35,982 formatimin e teksteve kaçurrel që menjëherë të ndjekë, 654 00:28:35,982 --> 00:28:38,440 edhe pse kjo nuk është teknikisht brenda këtyre formatimin e teksteve kaçurrel. 655 00:28:38,440 --> 00:28:41,750 Pra rresht është në fushëveprimin për tërësia e copë të kodit, 656 00:28:41,750 --> 00:28:44,690 si brenda e jashtme për lak dhe brenda e brendshme për lak. 657 00:28:44,690 --> 00:28:48,050 Por nga ana tjetër, ku është kolona në fushëveprimin? 658 00:28:48,050 --> 00:28:49,810 Kolona e ndryshueshme? 659 00:28:49,810 --> 00:28:51,310 Po, vetëm në lak brenda. 660 00:28:51,310 --> 00:28:54,280 Dhe kjo është në rregull, sepse ne nuk hyni ajo jashtë formatimin e teksteve kaçurrel saj. 661 00:28:54,280 --> 00:28:57,280 Të gjithë ne bëjmë është të shtypura nga një i ri Linja në fund atje. 662 00:28:57,280 --> 00:28:58,670 Kështu që në fakt është në rregull. 663 00:28:58,670 --> 00:29:03,740 >> Pra, kjo ka efekt, kjo duket si, i bërë tre rreshta dhe katër shtylla. 664 00:29:03,740 --> 00:29:04,370 >> MARIA: E drejta. 665 00:29:04,370 --> 00:29:06,270 Pra, së pari ne do të shkojmë nëpër rresht tonë të parë. 666 00:29:06,270 --> 00:29:10,520 Dhe vetëm në rreshtin tonë të parë, ne bëjmë të katër kolona brenda rreshtin e parë. 667 00:29:10,520 --> 00:29:11,980 Pra, ne të shtypura nga katër X-it. 668 00:29:11,980 --> 00:29:15,800 Dhe pastaj ne mund të dalë për lak, pasi ne kemi shtypur tashmë nga katër X-it. 669 00:29:15,800 --> 00:29:17,100 Dhe ne të shkruar një linjë të re. 670 00:29:17,100 --> 00:29:19,920 Dhe pastaj ne do të shkojmë përmes njëjti proçes për dy rreshta më shumë 671 00:29:19,920 --> 00:29:21,170 për të bërë një total prej tre. 672 00:29:21,170 --> 00:29:23,530 >> DAVID Malan: Dhe kjo vlen të përmendet është vetëm një Objekti i shkronjave, fakti 673 00:29:23,530 --> 00:29:25,680 se prodhimit mostrës duket aq shumë shtatlartë, 674 00:29:25,680 --> 00:29:27,520 sikur ka më shumë rreshta se kolona. 675 00:29:27,520 --> 00:29:29,824 Por kjo është vetëm për shkak se X është shtatlartë se ajo është e gjerë. 676 00:29:29,824 --> 00:29:32,740 Kjo është e gjitha që po ndodh atje, plus hapësira e bardhë në mes të linjave. 677 00:29:32,740 --> 00:29:33,281 >> MARIA: E drejta. 678 00:29:33,281 --> 00:29:34,792 Ftohtë. 679 00:29:34,792 --> 00:29:35,750 DAVID Malan: Të gjithë të drejtë. 680 00:29:35,750 --> 00:29:39,830 Pra, një vështrim i shpejtë në problemin vendosur një, të marrë ndonjë pyetje, dhe pastaj të shtyjë? 681 00:29:39,830 --> 00:29:40,330 Në rregull. 682 00:29:40,330 --> 00:29:43,164 Pra, në një problem i ngritur, ka tre Sfidat kryesore, në fund të fundit. 683 00:29:43,164 --> 00:29:44,955 Por së pari, ju do të gjeni se problemi vendosur 684 00:29:44,955 --> 00:29:47,900 specifikim, ashtu si me shumë The psets këtë vjeshtë, do të ecin ju 685 00:29:47,900 --> 00:29:50,691 me anë të një të ngrohtë-up ushtrime pak, ju pikë nga një burimet pak 686 00:29:50,691 --> 00:29:52,440 që ju mund ose mund nuk e kanë parë tashmë. 687 00:29:52,440 --> 00:29:54,440 Për shembull, CS50 ka një suitë e pantallona të shkurtra, 688 00:29:54,440 --> 00:29:56,481 të cilat janë të shkurtër video, jo ndryshe nga kjo, por kjo 689 00:29:56,481 --> 00:29:58,460 janë specific-- shumë temë ndoshta pesë minuta, 690 00:29:58,460 --> 00:30:02,360 10 minuta në gjatësi në sythe ose në kushte apo në algoritme 691 00:30:02,360 --> 00:30:04,125 ose më vonë më shumë Temat Advanced, po ashtu. 692 00:30:04,125 --> 00:30:06,000 Dhe ne përgjithësi embed ato në problemin 693 00:30:06,000 --> 00:30:07,950 përcakton në mënyrë që nxënësit kanë një burim me të cilin 694 00:30:07,950 --> 00:30:10,840 të shqyrtojë materialin që mund të ketë tashmë të dalë në leksion ose seksion. 695 00:30:10,840 --> 00:30:13,220 Por kjo mënyrë është më e përqendruar dhe më shumë në majë të gishtave të tyre. 696 00:30:13,220 --> 00:30:15,928 >> Ne gjithashtu priren të embed në problemin vendos gjërat quajtur walkthroughs. 697 00:30:15,928 --> 00:30:20,790 Pra, pothuajse të gjithë shembujt që bëj në leksion, në skenë ketu, ne gjithashtu 698 00:30:20,790 --> 00:30:24,565 kanë qëlluar në kamera në të çuar përpara një më të ngadalshme, 699 00:30:24,565 --> 00:30:28,760 një walkthrough më intime me mua në laptop tim e këtij kodi, rresht pas rreshti 700 00:30:28,760 --> 00:30:31,427 kështu që në klasë, ne do të shpesh skremuar me diçka ose dikush 701 00:30:31,427 --> 00:30:33,260 do të ndërkall me një përgjigjen në një pyetje. 702 00:30:33,260 --> 00:30:35,820 Por kjo nuk do të fundoset në për të gjithë në audiencë. 703 00:30:35,820 --> 00:30:38,230 Pra, ju do të gjeni kodin walkthroughs për shumicën e shembujve 704 00:30:38,230 --> 00:30:40,950 që ne bëjmë këtu në leksionin në mënyrë që ju të mund të ecin nëpër atë në ritmin tuaj 705 00:30:40,950 --> 00:30:43,580 dhe rewind shpejtë përpara ose ose kaloni krejt, në qoftë se ju dëshironi. 706 00:30:43,580 --> 00:30:45,356 >> Ka shpesh një pakice Pyetjet e ngrohtë-up që 707 00:30:45,356 --> 00:30:47,105 t'ju kërkojë për të zgjidhur të përforcojnë këtë material 708 00:30:47,105 --> 00:30:50,250 dhe sigurohuni që ju jeni të rehatshëm para ju të vazhdojë me pjesën tjetër të pset. 709 00:30:50,250 --> 00:30:51,700 Dhe pastaj, sigurisht, ka pset vetë. 710 00:30:51,700 --> 00:30:53,450 Dhe një nga gjërat ne shumë me qëllim 711 00:30:53,450 --> 00:30:57,202 bëni në CS50 është pothuajse çdo jointeresant ose intelektualisht jointeresant 712 00:30:57,202 --> 00:30:58,910 hap mekanik që ju mund të keni për të bërë 713 00:30:58,910 --> 00:31:00,519 është dokumentuar pothuajse gjithmonë shumë mirë. 714 00:31:00,519 --> 00:31:03,560 Gjatë rrjedhës së afatit, ne do të fillojnë të bëjnë pyetje më shumë retorike 715 00:31:03,560 --> 00:31:06,187 si mos harroni se si ta bëni këtë apo atë? 716 00:31:06,187 --> 00:31:08,520 Por në përgjithësi, ju do të gjeni që përcakton problemi merrni ju 717 00:31:08,520 --> 00:31:10,269 përmes mekanikë i diçkaje në mënyrë që 718 00:31:10,269 --> 00:31:14,160 të, sfidat intelektuale interesante kanë mbetur në fund të fundit ju nxënësin. 719 00:31:14,160 --> 00:31:17,390 >> Me tha se, Zamyla, për të cilin ne mbajtur referuar sot në leksion, 720 00:31:17,390 --> 00:31:20,190 është një prej stafit tonë kohë të gjatë Anëtari i cili gjithashtu mban walkthroughs 721 00:31:20,190 --> 00:31:24,520 në probleme të veçanta pset si mario dhe lakmitar, edhe pse jo të ujitur këtë vit. 722 00:31:24,520 --> 00:31:26,540 Dhe kjo është në ato walkthroughs se ajo shpesh 723 00:31:26,540 --> 00:31:29,450 ofron disa këshilla dhe truket për se si të vazhdohet, nuk ju them 724 00:31:29,450 --> 00:31:31,810 saktësisht se çfarë duhet të bëni, por rather-- si një kusht, 725 00:31:31,810 --> 00:31:35,200 në qoftë se ju will-- duke ju dhënë të paktën një çift ​​i ideve në mënyrë që ajo është e deri tek ju, 726 00:31:35,200 --> 00:31:37,830 në fund të fundit, për të vendosur se si t'i qasen atyre. 727 00:31:37,830 --> 00:31:41,200 >> MARIA: lloj si një nivel të lartë të kuptuarit e logjikës së asaj që 728 00:31:41,200 --> 00:31:42,220 ne jemi duke kërkuar që ju të bëni. 729 00:31:42,220 --> 00:31:42,485 >> DAVID Malan: Pikërisht. 730 00:31:42,485 --> 00:31:44,190 Dhe, në fakt, Zamyla-së walkthroughs janë të destinuara 731 00:31:44,190 --> 00:31:46,190 për t'iu përgjigjur shpesh Çështja e pyeti se ku 732 00:31:46,190 --> 00:31:48,610 nuk kam filluar, sidomos kur këto specifikime të gjata janë 733 00:31:48,610 --> 00:31:51,960 pak e frikshme duke pasur parasysh të gjithë tekstin dhe imazhet që kanë në to. 734 00:31:51,960 --> 00:31:54,890 >> Pra water.c, ju do të gjeni pasi ju keni përfunduar atë, 735 00:31:54,890 --> 00:31:56,920 në fakt është relativisht i drejtpërdrejtë. 736 00:31:56,920 --> 00:31:58,882 Absolutisht janë një bandë e ju do të zhurmë 737 00:31:58,882 --> 00:32:01,840 kokat tuaja kundër murit duke u përpjekur të kuptoj se pse ajo nuk është përpiluar 738 00:32:01,840 --> 00:32:03,450 apo pse ajo nuk është drejtimin në mënyrë korrekte. 739 00:32:03,450 --> 00:32:05,040 Por një herë ju jeni bërë me të dhe një herë ju keni 740 00:32:05,040 --> 00:32:07,620 kaloi disa kohë mundje me ndonjë e mete që ju mund të keni, 741 00:32:07,620 --> 00:32:09,490 ju do të gjeni se kjo është një program shumë të shkurtër. 742 00:32:09,490 --> 00:32:11,770 Ajo mund të bëhet në vetëm disa rreshta të kodit, shumica e të cilave 743 00:32:11,770 --> 00:32:15,030 ne kemi parë këtu në leksionin tashmë, në qoftë se ju mblidhen blloqe drejtë ndërtimit. 744 00:32:15,030 --> 00:32:16,810 >> Dhe si ne sugjerojmë këtu, ajo do të kërkoj 745 00:32:16,810 --> 00:32:22,250 ju të specifikojë sa minuta dikush është duke marrë një dush në kampus. 746 00:32:22,250 --> 00:32:24,779 Ne të specifikojë në problemin vendosur shkallën e rrjedhës së ujit 747 00:32:24,779 --> 00:32:27,320 në, si, një dush të ulët-rrjedhës kreu, ashtu si klipit Seinfeld 748 00:32:27,320 --> 00:32:29,180 pamë dje ose e kundërta të tyre. 749 00:32:29,180 --> 00:32:30,971 Dhe atëherë ju vetëm duhet për të bërë një grimë e matematikës, 750 00:32:30,971 --> 00:32:34,710 really-- aritmetike duke përdorur C për të treguar ne sa shumë, rreth, shishe të ujit 751 00:32:34,710 --> 00:32:37,720 është se e barabartë me nëse ne jemi marrjen e një n-minuta dush. 752 00:32:37,720 --> 00:32:41,389 >> Tani, në mario.c, kjo do të jetë një program pak më të gjatë. 753 00:32:41,389 --> 00:32:42,930 Ajo ende nuk do të jetë kjo e gjatë. 754 00:32:42,930 --> 00:32:45,130 Vetëm disa rreshta më të gjata se water.c. 755 00:32:45,130 --> 00:32:48,230 Por kjo do të jetë mundësi për të rikrijuar shkollën e vjetër Mario 756 00:32:48,230 --> 00:32:50,670 piramidale nga Super Mario Vëllezërit apo disa follow-në. 757 00:32:50,670 --> 00:32:53,510 Kjo nuk do të duken si prettier ose si i gjallë si atë një atje. 758 00:32:53,510 --> 00:32:56,468 Ne jemi vetëm duke shkuar për të përdorur hashtags pak si ne kemi këtu në ekran 759 00:32:56,468 --> 00:32:58,120 duke përdorur tekst ASCII. 760 00:32:58,120 --> 00:33:00,362 Por kjo do të përafrojë të njëjtën ide. 761 00:33:00,362 --> 00:33:02,570 Dhe kjo do të jetë një ushtruar që në shikim të parë 762 00:33:02,570 --> 00:33:04,720 Duket goxha simple-- vetëm printoni një piramidë të thjeshtë. 763 00:33:04,720 --> 00:33:07,345 Por ka një Karakteristikat çift këtu se janë interesante. 764 00:33:07,345 --> 00:33:12,400 Vini re se buzë rightmost e piramida në fakt ka gjerësi dy. 765 00:33:12,400 --> 00:33:14,570 Kështu që nuk ka dy të barabartë kolona lartësi, të cilat 766 00:33:14,570 --> 00:33:16,804 e bën atë të kërkojë pak bit e mendimit për të bërë 767 00:33:16,804 --> 00:33:19,720 i sigurt që ju të merrni atë saktësisht e drejtë, si në krahasim me vetëm një mënyrë të përkryer kënddrejtë 768 00:33:19,720 --> 00:33:20,220 linjë. 769 00:33:20,220 --> 00:33:23,340 Pra, kjo është pak e një rast qoshe por ndeshjet lojë aktuale. 770 00:33:23,340 --> 00:33:27,610 >> Dhe kjo është gjithashtu jo-dukshme në fillim shikim si për të shtypur hapësirë ​​të bardhë. 771 00:33:27,610 --> 00:33:29,430 Kështu që kur unë shoh në nivel mostër prodhimit here-- 772 00:33:29,430 --> 00:33:32,440 dhe kjo është gjithashtu në spec-- ajo lloj i duket si një drejtkëndësh, 773 00:33:32,440 --> 00:33:35,120 por një diagonal i drejtkëndësh ka qenë e copëtuar off, 774 00:33:35,120 --> 00:33:37,320 dhe kjo është vetëm hapësira të bardha, kështu që të flasin. 775 00:33:37,320 --> 00:33:40,100 Dhe kështu një pyeti shpesh Pyetja këtu është gjithmonë, mirë, 776 00:33:40,100 --> 00:33:43,302 si mund ta lëvizin hashtags mbi të drejtën? 777 00:33:43,302 --> 00:33:44,760 Ose si mund të shtypura hapësirat bosh? 778 00:33:44,760 --> 00:33:46,860 Dhe kjo është në fakt më e lehtë se shumica e studentëve mendojnë. 779 00:33:46,860 --> 00:33:47,360 E drejtë? 780 00:33:47,360 --> 00:33:51,620 Ju mund ta përafruar atë me sy nga vetëm goditur space bar herë apo dy herë 781 00:33:51,620 --> 00:33:52,700 ose tri herë. 782 00:33:52,700 --> 00:33:56,260 >> Dhe kështu, edhe pse me printf ne pothuajse gjithmonë të shtypura nga një varg ose një int 783 00:33:56,260 --> 00:33:59,950 ose një fjalë si "hello, bota "apo seri e fjalëve, 784 00:33:59,950 --> 00:34:03,560 ju gjithashtu mund të shtypura të japin kuotën, hapësira, mbyll thonjëzat. 785 00:34:03,560 --> 00:34:06,320 Dhe që në fakt do të japë ju një hapësirë ​​të bardhë atje. 786 00:34:06,320 --> 00:34:08,330 Pra, mbani në mend dhe mos overthink këtë. 787 00:34:08,330 --> 00:34:10,570 Ju me të vërtetë duhet të vendos rresht me rresht me rresht, 788 00:34:10,570 --> 00:34:14,280 jo ndryshe shembull një moment më parë, se shumë nga ata 789 00:34:14,280 --> 00:34:18,420 kolona duhet të jenë hapësira të bardha dhe sa prej tyre duhet të jetë hashtags. 790 00:34:18,420 --> 00:34:21,560 Ajo do të marrë pak kohë, por kjo është në fund të fundit një mister logjikë në terezi. 791 00:34:21,560 --> 00:34:22,060 >> MARIA: Po. 792 00:34:22,060 --> 00:34:25,060 Por logjika e shkon rresht me rresht do të jetë shumë i dobishëm këtu. 793 00:34:25,060 --> 00:34:25,810 DAVID Malan: Po. 794 00:34:25,810 --> 00:34:28,976 Unë mendoj kodin mostër ju gave-- edhe ndonëse kjo nuk ishte një program i plotë. 795 00:34:28,976 --> 00:34:34,247 Ju ende duhet int dhe kryesor dhe stdio.h pavlefshëm dhe #include, 796 00:34:34,247 --> 00:34:35,580 shumë gjëra nga leksion. 797 00:34:35,580 --> 00:34:37,629 Por blloqe ndërtimi duket të jetë atje. 798 00:34:37,629 --> 00:34:39,920 Dhe pastaj në fund është diçka pak më shumë algorithmic. 799 00:34:39,920 --> 00:34:43,210 Pra, rezulton se çdo kohë që ju shkojnë në CVS ose ndonjë dyqan 800 00:34:43,210 --> 00:34:47,810 dhe dikush ju duart në nivel Faturat turp apo monedha si ndryshim, 801 00:34:47,810 --> 00:34:50,620 kjo rezulton se ata, njerëzit, nëse janë apo jo ata e dinë atë apo jo, 802 00:34:50,620 --> 00:34:53,300 ndoshta janë duke përdorur atë që është quhet një algoritmi lakmitar, 803 00:34:53,300 --> 00:34:58,170 ku në qoftë se ju jeni borxh, të themi, $ 21 në ndryshim për shkak se për disa arsye 804 00:34:58,170 --> 00:35:01,580 ju keni blerë diçka shumë të lira me një faturë shumë të madhe në CVS, 805 00:35:01,580 --> 00:35:05,910 ajo do të jetë me të vërtetë i bezdisshëm, nëse turp ju dha 21 teke, ose, më keq 806 00:35:05,910 --> 00:35:07,629 akoma, një tërësi shumë e monedhave. 807 00:35:07,629 --> 00:35:10,670 Përkundrazi, ajo që një person i arsyeshëm është ndoshta do të bëni është që ata do 808 00:35:10,670 --> 00:35:14,224 për të rrëmbyer një $ 20 dhe pastaj një $ 1-faturën, dhe ju dorëzojë vetëm dy fatura në atë rast. 809 00:35:14,224 --> 00:35:17,390 MARIA: Pra, ata janë duke kërkuar për të minimizuar ndryshimi që ata japin përsëri tek ju. 810 00:35:17,390 --> 00:35:17,850 DAVID Malan: Pikërisht. 811 00:35:17,850 --> 00:35:19,540 Dhe të njëjtën marrëveshje me monedha, si edhe. 812 00:35:19,540 --> 00:35:23,040 Nëse ju jeni borxh, të themi, $ 0.50, shpresojmë se ju nuk doni 50 pennies. 813 00:35:23,040 --> 00:35:25,500 Ju në vend të kësaj dua dy katërtat, për shembull. 814 00:35:25,500 --> 00:35:27,540 Tani, kjo e bën të supozojmë se arkëtari ka 815 00:35:27,540 --> 00:35:29,940 mjaft e çdo emërtim që ai ose ajo mund të dëshironi të ju jap. 816 00:35:29,940 --> 00:35:32,148 Por ne do të ju lejojnë të marrë përsipër sa më shumë në problemin. 817 00:35:32,148 --> 00:35:35,590 Dhe qëllimi, në fund të fundit, është që të zbatojë në kodin e C e një algoritëm babëzitur. 818 00:35:35,590 --> 00:35:37,344 Pra, përdoruesi është i lejuar të shkruani në sa 819 00:35:37,344 --> 00:35:40,510 ndryshojë ai apo ajo është borxh me dollarë dhe cent, një lloj pikë lundrues 820 00:35:40,510 --> 00:35:41,590 Vlera ndoshta. 821 00:35:41,590 --> 00:35:45,530 Dhe pastaj ju duhet të bëni matematikë dhe kuptoj se algoritmikisht, mirë, 822 00:35:45,530 --> 00:35:49,020 sa monedha mund të jap ju minimalisht të ju jap 823 00:35:49,020 --> 00:35:50,270 saktësisht se shuma e ndryshimit. 824 00:35:50,270 --> 00:35:53,470 Por nuk do të jetë një disa pjesë të ndërlikuar këtu, apo jo? 825 00:35:53,470 --> 00:35:56,236 Ashtu si nuk ka e tërë çështje pasaktësi. 826 00:35:56,236 --> 00:35:56,860 MARIA: Pikërisht. 827 00:35:56,860 --> 00:35:59,114 Pika Pra Floating Vlerat e kanë pasaktësi. 828 00:35:59,114 --> 00:36:00,780 A flasim për këtë në leksionin sot? 829 00:36:00,780 --> 00:36:02,340 >> DAVID Malan: ne e bëmë Hera e fundit në leksion. 830 00:36:02,340 --> 00:36:03,506 Kemi biseduar për pasaktësi. 831 00:36:03,506 --> 00:36:08,840 Dhe ju nuk doni të mashtrojnë përdoruesit se sa të ndryshojë ai ose ajo është borxh. 832 00:36:08,840 --> 00:36:11,290 Dhe kështu walkthrough, në Problemi vendosur specifikimet, 833 00:36:11,290 --> 00:36:15,990 japin disa menduar, në fund të fundit, si për të si ju mund të zbutur ato pasaktësi 834 00:36:15,990 --> 00:36:17,280 gabime, potencialisht. 835 00:36:17,280 --> 00:36:21,050 Ajo është e shmangshme, sigurisht, për inputet ne jemi duke folur rreth. 836 00:36:21,050 --> 00:36:23,590 Dhe, në fakt, pennies-- ndoshta ne do të shtyjë për Zamyla, 837 00:36:23,590 --> 00:36:25,136 Unë mendoj se, për truket atje. 838 00:36:25,136 --> 00:36:27,760 Pra në fund të fundit, ju do të gjeni një progresion e problemeve të kësaj jave, 839 00:36:27,760 --> 00:36:30,700 e para e cila është shumë i vogël, pastaj të mesme, pastaj pak më e madhe. 840 00:36:30,700 --> 00:36:33,200 Por të gjithë ata e përdorin ndërtesën blloqe nga ky javës së kaluar, 841 00:36:33,200 --> 00:36:35,280 nga kjo supersection, Problemi vendosur specifikim 842 00:36:35,280 --> 00:36:36,710 ju vë në burime të panumërta. 843 00:36:36,710 --> 00:36:41,000 Por ende, në qoftë se në të gjitha duke luftuar, veçanërisht në mesin e atyre më pak të rehatshme 844 00:36:41,000 --> 00:36:42,917 pa sfond paraprak, vijnë për të orarit të punës 845 00:36:42,917 --> 00:36:44,958 hënën dhe të martën dhe Mërkurën dhe të enjten. 846 00:36:44,958 --> 00:36:46,950 Shko tek CS50 Diskutoni nëpërmjet Faqja e internetit Kursi-së, 847 00:36:46,950 --> 00:36:49,080 nëpërmjet të cilës ju mund të bisedojnë me stafin dhe shokët e klasës. 848 00:36:49,080 --> 00:36:51,670 >> Por në fund të fundit, unë mendoj se Këshilla më e mirë është thjesht të fillojë herët. 849 00:36:51,670 --> 00:36:54,711 Kjo nuk është lloji i klasës që ju Duhet filluar psets të mërkurën 850 00:36:54,711 --> 00:36:56,640 natë, ose më keq natën e enjte. 851 00:36:56,640 --> 00:36:59,067 >> MARIA: Këshilla ime më e mirë është që kanë filluar nga e hëna. 852 00:36:59,067 --> 00:36:59,900 DAVID Malan: e hënë. 853 00:36:59,900 --> 00:37:02,490 Pra, nëse ju nuk e keni filluar already-- nr. 854 00:37:02,490 --> 00:37:04,732 Por edhe në qoftë se nuk e hënë, më pas të martën. 855 00:37:04,732 --> 00:37:05,690 Sa më herët aq më mirë. 856 00:37:05,690 --> 00:37:08,605 Dhe kjo është arsyeja Sigurisht ka kaq shumë ditë me vonesë është 857 00:37:08,605 --> 00:37:10,535 për të ju jap një grimë e një Presioni psikologjik 858 00:37:10,535 --> 00:37:13,684 për të filluar më herët, por ende le të gjëra gabim kur gjërat të zgjasin më shumë 859 00:37:13,684 --> 00:37:14,350 se ju presim. 860 00:37:14,350 --> 00:37:17,950 >> MARIA: Dhe ju doni të bëni përdorimin e orarit të punës sa më shumë që ju mund, gjithashtu. 861 00:37:17,950 --> 00:37:20,291 >> DAVID Malan: Ndonjë pyetje? 862 00:37:20,291 --> 00:37:20,790 Në rregull. 863 00:37:20,790 --> 00:37:22,930 E pra, pse nuk kemi shtyjë këtu? 864 00:37:22,930 --> 00:37:23,487