1 00:00:00,000 --> 00:00:00,982 2 00:00:00,982 --> 00:00:11,293 >> [Daqq tal-mużika] 3 00:00:11,293 --> 00:00:13,580 >> ROB BOWDEN: Huwa me, Rob. 4 00:00:13,580 --> 00:00:16,540 Ejja jimxu permezz ta 'kif biex jimplimentaw Mario. 5 00:00:16,540 --> 00:00:21,040 Allura l-ewwel ħaġa li għandna bżonn tagħmel hu li pront l-utent għall-input. 6 00:00:21,040 --> 00:00:24,440 >> Għandna bżonn li jistaqsu lilhom eżattament kif tall-piramida għandu jkun. 7 00:00:24,440 --> 00:00:27,110 Allura hawn, naraw li aħna qed tagħmel għoli = GetInt. 8 00:00:27,110 --> 00:00:32,479 An U ftakar li l-funzjoni GetInt hija implimentata fil-CS50 9 00:00:32,479 --> 00:00:38,060 librerija, hekk top up, għandna bżonn li ftakar li # jinkludi cs50.h. 10 00:00:38,060 --> 00:00:41,360 >> Allura għaliex għandna dan mgeżwra fil-linja do-waqt? 11 00:00:41,360 --> 00:00:45,080 Well, aħna wkoll bżonn li wieħed jiftakar li input l-utent għandu jkun validu. 12 00:00:45,080 --> 00:00:46,910 X'inhu input invalidu? 13 00:00:46,910 --> 00:00:51,460 Ukoll l-spec pset speċifikament jgħid li f'għoli inqas minn 0 jew akbar 14 00:00:51,460 --> 00:00:54,530 minn 23 huwa invalidu. 15 00:00:54,530 --> 00:00:59,030 >> Allura up here, naraw li aħna qed tiddefinixxi kostanti imsejjaħ MAX_HEIGHT mal- 16 00:00:59,030 --> 00:01:00,750 valur ta '23. 17 00:01:00,750 --> 00:01:06,380 Dan loop do-waqt li se jkompli filwaqt li għoli huwa inqas minn 0 jew MAX_HEIGHT huwa 18 00:01:06,380 --> 00:01:11,870 inqas mit-tul, li jfisser li 23 huwa inqas mill-għoli. 19 00:01:11,870 --> 00:01:15,390 Mela jekk l-għoli huwa 24 jew aktar, aħna qed se tkompli looping. 20 00:01:15,390 --> 00:01:18,300 Ftakar li do-waqt loops huma pjuttost utli meta irridu jiksbu 21 00:01:18,300 --> 00:01:22,070 input utent u mbagħad jivvalida dan, peress aħna inevitabbilment bżonn biex issaqsi lill-utent fuq 22 00:01:22,070 --> 00:01:25,010 inqas darba għall-valur li jridu. 23 00:01:25,010 --> 00:01:28,500 >> Allura ladarba għandna l-kontribut tagħhom, aħna issa tista 'tibni l-piramida. 24 00:01:28,500 --> 00:01:31,940 Wieħed mill-tricks ta 'din il-problema stabbiliti hija li għandna biex tibda fil-quċċata ta ' 25 00:01:31,940 --> 00:01:32,750 il-piramida. 26 00:01:32,750 --> 00:01:36,800 Inti ma tistax printf-qiegħ tal- piramida u mbagħad jibnu tiegħek mod up. 27 00:01:36,800 --> 00:01:38,830 Mela ejja nħarsu lejn l-eżempju mill-spec pset. 28 00:01:38,830 --> 00:01:41,530 29 00:01:41,530 --> 00:01:45,430 >> Naraw hawnhekk li meta aħna jidħol għoli tat-8, il-qiegħ nett tal- 30 00:01:45,430 --> 00:01:48,660 piramida stampi disa hashes. 31 00:01:48,660 --> 00:01:52,990 Wieħed livell up minn dak prints spazju wieħed u tmien hashes. 32 00:01:52,990 --> 00:01:58,250 Wieħed livell up minn dan huwa żewġ spazji u seba hashes, it-triq kollha sakemm aħna 33 00:01:58,250 --> 00:02:03,050 jiksbu l-quċċata tal-piramida, li hija tmien livelli up, li jippubblikaw seba ' 34 00:02:03,050 --> 00:02:06,000 spazji u żewġ hashes. 35 00:02:06,000 --> 00:02:08,810 Mela ftakar li għandna tagħmel l-ewwel dan il-livell ogħla. 36 00:02:08,810 --> 00:02:11,620 37 00:02:11,620 --> 00:02:18,500 >> Hawnhekk aħna qed mtennija mill- ogħla livell, ringiela 8, kontinwu 38 00:02:18,500 --> 00:02:22,150 sakemm ringiela jilħaq 0. 39 00:02:22,150 --> 00:02:25,820 Allura kif ħafna spazji ma neħtieġu li jistampaw f'dak ringiela ta 'fuq? 40 00:02:25,820 --> 00:02:29,310 Aħna stampati seba spazji u żewġ hashes. 41 00:02:29,310 --> 00:02:34,450 Allura l-għadd ta 'spazji li rridu huwa il-filliera li kienu fuq minus 1. 42 00:02:34,450 --> 00:02:39,310 >> Jekk il-filliera ta 'fuq huwa 8, 8 minus 1 tagħtina seba spazji. 43 00:02:39,310 --> 00:02:43,770 Imbagħad għandna loop li se print out kull spazju wieħed fi żmien. 44 00:02:43,770 --> 00:02:47,450 Allura meta spazji hija ta '7, dan loop seba 'darbiet, l-istampar 45 00:02:47,450 --> 00:02:50,300 seba 'spazji individwali. 46 00:02:50,300 --> 00:02:54,672 >> Allura issa għandna bżonn li tistampa dawn hashes fl-aħħar tal-piramida. 47 00:02:54,672 --> 00:02:57,930 Allura hawnhekk, għandna bżonn li jikkalkulaw in-numru ta 'hashes. 48 00:02:57,930 --> 00:03:01,930 Naraw li aħna qed tagħmel l-għoli ringiela minus plus 2. 49 00:03:01,930 --> 00:03:04,170 Allura kif ma nikbru li? 50 00:03:04,170 --> 00:03:08,630 >> Ftakar li l-quċċata tal-piramida huwa ringiela 8, u l-għoli huwa ta '8. 51 00:03:08,630 --> 00:03:10,890 U aħna xorta stampat żewġ hashes. 52 00:03:10,890 --> 00:03:15,420 Allura għall-inqas, 8 minus 8 plus 2 jagħtina t-tweġiba ġusta. 53 00:03:15,420 --> 00:03:19,170 U mbagħad jikkunsidraw il-qiegħ tal-piramida, ringiela 1. 54 00:03:19,170 --> 00:03:24,020 Ringiela minus għoli se tagħtina 7, u imbagħad plus 2 jagħtina disa hashes, 55 00:03:24,020 --> 00:03:26,620 li huwa eżattament l-għadd ta hashes li aħna stampati. 56 00:03:26,620 --> 00:03:29,880 Allura dan huwa l-formula li rridu jużaw biex jikkalkulaw in-numru 57 00:03:29,880 --> 00:03:32,220 hashes f'kull filliera. 58 00:03:32,220 --> 00:03:36,020 >> Bl-użu dak in-numru, aħna mbagħad ikollhom ieħor għall-loop, simili ħafna għall- 59 00:03:36,020 --> 00:03:41,270 għal linja li aħna użati għall-ispazji, li ttenni numru ta 'drabi hashes 60 00:03:41,270 --> 00:03:43,720 istampar ta 'hash wieħed kull darba. 61 00:03:43,720 --> 00:03:46,010 Fuq il-filliera ta 'fuq, li ser jistampaw żewġ hashes. 62 00:03:46,010 --> 00:03:48,390 Fuq il-filliera qiegħ, li ser print disa hashes. 63 00:03:48,390 --> 00:03:52,610 U kull ringiela oħra se print kull numru ta 'hashes bejniethom. 64 00:03:52,610 --> 00:03:57,340 >> U mbagħad fl-aħħar nett, għandna bżonn li print linja l-ġdida tagħna biex tmur fil-li jmiss 65 00:03:57,340 --> 00:03:59,400 ringiela fil-piramida. 66 00:03:59,400 --> 00:04:03,070 Fl-aħħarnett, għandna bżonn li jistampaw il-linja ġdida fit-tmiem tal-filliera biex 67 00:04:03,070 --> 00:04:06,260 ikomplu għall-ieħor ringiela tal-piramida. 68 00:04:06,260 --> 00:04:08,980 U fl-aħħar tal-programm tagħna, aħna għandna l-ritorn 0. 69 00:04:08,980 --> 00:04:12,770 >> Skond l-spec pset, ir-ritorn 0 mhijiex strettament neċessarja. 70 00:04:12,770 --> 00:04:15,710 Iżda li dan ifisser li l ewlenija isir. 71 00:04:15,710 --> 00:04:17,610 Jisimni Rob, u dan kien Mario. 72 00:04:17,610 --> 00:04:22,470 >> [Daqq tal-mużika] 73 00:04:22,470 --> 00:04:25,558