1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA CHAN: Kom ons spring in Mario. 3 00:00:11,070 --> 00:00:14,850 Mario is 'n program waar ons sal sorg dat ons eie, al is dit primitief, weergawe van 4 00:00:14,850 --> 00:00:17,760 'n klassieke Super Mario Brothers spel agtergrond. 5 00:00:17,760 --> 00:00:21,100 Vir hierdie probleem stel, ons gaan die half-piramide te skep vir 6 00:00:21,100 --> 00:00:23,000 Mario om te spring op. 7 00:00:23,000 --> 00:00:27,330 Ons program sal wees interaktiewe, sodat dit sal vra om die gebruiker om 'n sekere 8 00:00:27,330 --> 00:00:28,660 hoogte vir die piramide. 9 00:00:28,660 --> 00:00:32,920 En die program sal druk 'n half-piramide van die hoogte, waar die 10 00:00:32,920 --> 00:00:37,390 onder links hash in lyn met die onderste linker hoek van die terminale 11 00:00:37,390 --> 00:00:39,710 uitset venster. 12 00:00:39,710 --> 00:00:44,870 >> Laat ons hierdie probleem te breek in twee dele, een, kry toevoer van die gebruiker, en twee, 13 00:00:44,870 --> 00:00:47,040 druk van die piramide. 14 00:00:47,040 --> 00:00:51,150 Onthou dat al die getint funksie sal 'n heelgetal haal, het jy 15 00:00:51,150 --> 00:00:56,260 het om seker te maak dat hierdie insette maak sin vir jou program, so in 16 00:00:56,260 --> 00:00:59,690 Mario, sal dit nie net 'n doen produk vir 'n heelgetal. 17 00:00:59,690 --> 00:01:03,440 Jy nodig het om seker te maak dat die gebruiker insette 'n heelgetal wat binne die 18 00:01:03,440 --> 00:01:06,985 onderste en boonste grense van die piramide wat jy kan druk. 19 00:01:06,985 --> 00:01:12,300 Per hierdie spec, is dit 0 en 23 ingesluit. 20 00:01:12,300 --> 00:01:16,410 As die gebruiker 'n heelgetal buite van ons aanvaarde perke, dan wil ons 21 00:01:16,410 --> 00:01:20,840 hulle weer gevra en weer totdat hulle gee ons 'n geldige heelgetal. 22 00:01:20,840 --> 00:01:25,990 >> Een manier om die korrekte toevoer van die gebruiker om te verseker deur die gebruik van 'n do-while lus, wat 23 00:01:25,990 --> 00:01:28,100 baie soortgelyk aan 'n lus. 24 00:01:28,100 --> 00:01:32,580 Die do-while lus voer die kode binne-in die liggaam 'n keer, en dan kontroleer 25 00:01:32,580 --> 00:01:35,270 of die voorwaarde voldoen is of nie. 26 00:01:35,270 --> 00:01:38,830 Dit is nuttig vir die verkryging van toevoer van die gebruiker want jy weet wat jy nodig het 27 00:01:38,830 --> 00:01:41,805 hulle ten minste een keer gevra. 28 00:01:41,805 --> 00:01:45,940 Indien die toestand nie nagekom word nie, is die program sal die lyn uit te voer na 29 00:01:45,940 --> 00:01:47,270 jou do-while lus. 30 00:01:47,270 --> 00:01:50,950 Indien die toestand is bereik, al is, die lus sal herhaal. 31 00:01:50,950 --> 00:01:55,560 >> 'N do-while lus vir bekragtiging gebruiker insette sal lyk iets soos hierdie. 32 00:01:55,560 --> 00:02:02,920 Ek verklaar 'n veranderlike n, getint, en herhaal totdat n geldig is. 33 00:02:02,920 --> 00:02:06,270 Onthou dat wanneer jy vertel jou veranderlike, is dit nodig om die toepaslike 34 00:02:06,270 --> 00:02:08,449 omvang, net soos in nuuts af. 35 00:02:08,449 --> 00:02:12,510 As ek verklaar n 'binne-in my do-while lus, die res van die program sal wees nie 36 00:02:12,510 --> 00:02:13,750 staat is om dit te bekom. 37 00:02:13,750 --> 00:02:16,100 Dit is beperk tot die grense van die krulhakies. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Alle reg, so nou dat ons het goedgekeur die gebruiker se insette, ons werklik nodig het om te 40 00:02:23,090 --> 00:02:25,020 trek die half-piramide. 41 00:02:25,020 --> 00:02:29,700 Dit is saamgestel uit gedruk karakters, so laat ons 'n half-piramide in 'n eenvoudige 42 00:02:29,700 --> 00:02:31,480 teks editor. 43 00:02:31,480 --> 00:02:35,920 As ons 'n Mario styl piramide te maak n hoogte van drie wat is in lyn 44 00:02:35,920 --> 00:02:41,370 aan die linkerkant van ons venster, dan ons twee hashes wil tik, kliek Tik, 45 00:02:41,370 --> 00:02:47,180 tik drie allegaartjies, kliek Betree, en dan tik vier. 46 00:02:47,180 --> 00:02:51,090 >> Maar in hierdie probleem te stel, ons half-piramide moet regs geblok. 47 00:02:51,090 --> 00:02:55,550 Met behulp van 'n standaard sleutelbord, hoe kan jy verander hierdie lêer hashes te beweeg 48 00:02:55,550 --> 00:02:57,210 oor na die regterkant? 49 00:02:57,210 --> 00:03:03,190 Ek kan gebruik om te beklemtoon, twee op die boonste ry en een op die tweede. 50 00:03:03,190 --> 00:03:07,690 Dit lyk nie so mooi, al is, so Kom ons vervang die onderstreep met 51 00:03:07,690 --> 00:03:12,450 ruimtes, en daar het ons 'n half-piramide n hoogte van drie. 52 00:03:12,450 --> 00:03:16,330 >> Probeer en onthou hierdie teks editor byvoorbeeld as jy begin dink terug na 53 00:03:16,330 --> 00:03:20,100 C. Kom ons probeer om uit te vind 'n paar soort patroon wat ons kan 54 00:03:20,100 --> 00:03:22,750 sit in 'n lus bou. 55 00:03:22,750 --> 00:03:27,570 Neem 'n voorbeeld hoogte, sê agt, en kyk of jy kan begin om te 56 00:03:27,570 --> 00:03:29,470 vorendag te kom met 'n patroon. 57 00:03:29,470 --> 00:03:34,710 Die eerste ry moet sewe ruimtes gevolg deur twee hashes. 58 00:03:34,710 --> 00:03:40,090 Die tweede ry sal hê ses ruimtes en drie twee velde, en so aan totdat die 59 00:03:40,090 --> 00:03:41,440 agtste ry. 60 00:03:41,440 --> 00:03:45,210 >> Maar hoe doen jy sou verteenwoordig die nde ry? 61 00:03:45,210 --> 00:03:48,170 Onthou dat programmering konvensie nul kruip. 62 00:03:48,170 --> 00:03:51,870 Dit beteken dat jy begin tel by nul, so die eerste ry is tegnies 63 00:03:51,870 --> 00:03:57,110 ry getal nul met twee broei, ry nommer een het drie allegaartjies, ry 64 00:03:57,110 --> 00:04:01,860 nommer twee het vier allegaartjies, so volg hierdie patroon vir enige ry 65 00:04:01,860 --> 00:04:05,800 n, daar is n plus 2 hashes. 66 00:04:05,800 --> 00:04:09,270 Ek sal laat dit vir jou, al is, te vind uit die patroon vir die ruimtes. 67 00:04:09,270 --> 00:04:12,240 Onthou dat jou patroon sal wees effens anders as jy kies om te 68 00:04:12,240 --> 00:04:16,649 begin jou telling van een en nie nul nie. 69 00:04:16,649 --> 00:04:19,560 >> Nou, jy het 'n patroon vir enige abstrakte ry n. 70 00:04:19,560 --> 00:04:25,190 Jy weet hoeveel ruimtes te druk en hoeveel allegaartjies, so vir elke ry, wat 71 00:04:25,190 --> 00:04:26,270 nommer sal verander. 72 00:04:26,270 --> 00:04:30,700 Maar op die proses van die druk van 'n enkele karakter, óf 'n spasie of 'n 73 00:04:30,700 --> 00:04:33,200 hash, herhaal word. 74 00:04:33,200 --> 00:04:37,470 So al wat jy hoef te doen, is herhaaldelik druk daardie karakter vir so baie keer 75 00:04:37,470 --> 00:04:40,120 as jou patroon bepaal. 76 00:04:40,120 --> 00:04:42,522 >> So hoe herhaal ons prosesse? 77 00:04:42,522 --> 00:04:45,160 In nuuts af, het ons die herhaling blok. 78 00:04:45,160 --> 00:04:48,580 In C, sal ons 'n for-lus. 79 00:04:48,580 --> 00:04:51,290 Kom ons kyk na die sintaksis vir Vir loops. 80 00:04:51,290 --> 00:04:57,140 >> Elke For-lus bestaan ​​uit drie dele, 'n inisialisering, 'n toestand, 81 00:04:57,140 --> 00:04:58,592 en 'n werk. 82 00:04:58,592 --> 00:05:01,550 Vir jou lus sal inisialiseer 'n veranderlike wanneer dit die eerste 83 00:05:01,550 --> 00:05:02,960 gaan die For-lus. 84 00:05:02,960 --> 00:05:07,100 Indien die toestand is bereik, die liggaam van die lus sal voer. 85 00:05:07,100 --> 00:05:10,070 Daarna sal die werk uit te voer. 86 00:05:10,070 --> 00:05:13,630 >> Indien die toestand is nog steeds nagekom word, die lus sal voer en te werk en te 87 00:05:13,630 --> 00:05:18,580 herhaal so lank as jou toestand evalueer na Waar. 88 00:05:18,580 --> 00:05:21,450 Jy is toestand uiteindelik moet waardeer om vals, al is, want 89 00:05:21,450 --> 00:05:24,490 Anders nuuts af, ons doen nie enige Forever loops. 90 00:05:24,490 --> 00:05:28,270 Jou program moet uiteindelik eindig. 91 00:05:28,270 --> 00:05:32,330 >> Hier is 'n voorbeeld van 'n For-lus wat jy dalk wil gebruik vir Mario. 92 00:05:32,330 --> 00:05:36,790 Hierdie fase verklaar 'n heelgetal i met waarde 0. 93 00:05:36,790 --> 00:05:40,750 So lank as wat ek is minder as die hoogte, die liggaam van die lus sal uit te voer en 94 00:05:40,750 --> 00:05:44,980 verhoog i deur een en herhaal totdat ek groter as of 95 00:05:44,980 --> 00:05:47,220 gelykstaande aan die hoogte. 96 00:05:47,220 --> 00:05:49,140 >> Nou, my lus vir 'n nul-indeks. 97 00:05:49,140 --> 00:05:52,270 Die Int Ek begin by nul, nie een nie. 98 00:05:52,270 --> 00:05:55,320 As ek het een, dan is my toestand sou ook om anders te wees vir 99 00:05:55,320 --> 00:05:58,740 die lus om die uit te voer dieselfde aantal kere. 100 00:05:58,740 --> 00:06:03,490 Onthou dit versigtig wanneer jy die keuse van jou inisialisering en jou 101 00:06:03,490 --> 00:06:08,660 toestand, en raadpleeg hierdie karteer tjek te verdubbel. 102 00:06:08,660 --> 00:06:13,430 >> Een van die groot dinge oor die rekenaar wetenskap, is dat daar net so baie 103 00:06:13,430 --> 00:06:15,490 maniere om dinge uit te voer. 104 00:06:15,490 --> 00:06:19,450 Jy kan kies of jy begin by nul of een. 105 00:06:19,450 --> 00:06:22,380 As jy wil nie 'n te gebruik vir die lus, jy kan ook gebruik om 'n while lus te 106 00:06:22,380 --> 00:06:26,530 herhaal state so lank as wat jy hou die essensie van 'n For-lus, 107 00:06:26,530 --> 00:06:31,430 inisialisering, toestand, en werk. 108 00:06:31,430 --> 00:06:36,890 Sodra ons uit te vind die For-lus wat ons is die meeste gemaklik met, dan is ons 109 00:06:36,890 --> 00:06:38,450 kan voltooi Mario. 110 00:06:38,450 --> 00:06:41,540 >> Ons het eers nagegaan word vir die gebruiker se toevoer en dan geïdentifiseer is 'n 111 00:06:41,540 --> 00:06:43,580 patroon vir enige ry n. 112 00:06:43,580 --> 00:06:49,990 So vir elke ry van nul tot n minus 1 sal druk die toepaslike aantal 113 00:06:49,990 --> 00:06:55,340 ruimtes, dan is die gepaste aantal hashes volgens ons patroon, en 114 00:06:55,340 --> 00:06:57,180 dan 'n nuwe lyn. 115 00:06:57,180 --> 00:06:59,640 Met dit, het jy jou piramide. 116 00:06:59,640 --> 00:07:02,630 My naam is Zamyla, en dit was Mario. 117 00:07:02,630 --> 00:07:11,765