1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA Chan: Sabihin pagtalon sa Mario. 3 00:00:11,070 --> 00:00:14,850 Mario ay isang programa kung saan magsasagawa kami ng aming mga sarili, kahit na noong unang panahon, na bersyon ng 4 00:00:14,850 --> 00:00:17,760 isang klasikong Super Mario Brothers laro background. 5 00:00:17,760 --> 00:00:21,100 Para sa set na ito problema, kami ay pagpunta upang muling likhain ang half-pyramid para sa 6 00:00:21,100 --> 00:00:23,000 Mario sa tumalon sa. 7 00:00:23,000 --> 00:00:27,330 Ang aming mga programa ay interactive, kaya ito hihilingin sa gumagamit na i-input ng isang tiyak na 8 00:00:27,330 --> 00:00:28,660 taas para sa mga pyramid. 9 00:00:28,660 --> 00:00:32,920 At ang programa ay i-print ang isang half-pyramid na ng taas, kung saan ang 10 00:00:32,920 --> 00:00:37,390 ibabang kaliwa hash aligns sa ibaba kaliwang sulok ng terminal 11 00:00:37,390 --> 00:00:39,710 output window. 12 00:00:39,710 --> 00:00:44,870 >> Sabihin masira ang problemang ito sa dalawang bahagi, isa, kumuha ng mga user input, at dalawa, 13 00:00:44,870 --> 00:00:47,040 i-print ang mga pyramid. 14 00:00:47,040 --> 00:00:51,150 Tandaan na bagaman ang function na GetInt ay makuha ang isang integer, mo 15 00:00:51,150 --> 00:00:56,260 mayroon upang matiyak na ang input na ito ay ginagawang saysay para sa iyong programa, kaya sa 16 00:00:56,260 --> 00:00:59,690 Mario, hindi ito gawin lamang ng produkto para sa isang integer. 17 00:00:59,690 --> 00:01:03,440 Kakailanganin mo upang matiyak na ang mga gumagamit input ng isang integer na nasa loob ito ng 18 00:01:03,440 --> 00:01:06,985 mas mababa at itaas na hangganan ng pyramid na maaari mong i-print. 19 00:01:06,985 --> 00:01:12,300 Bawat spec na ito, ito ay 0 at 23 inclusive. 20 00:01:12,300 --> 00:01:16,410 Kung gumagamit ang input ng isang integer sa labas sa aming mga tinanggap na hangganan, at pagkatapos ay nais naming 21 00:01:16,410 --> 00:01:20,840 upang i-prompt ang mga ito muli at muli hanggang sa sila bigyan kami ng isang wastong integer. 22 00:01:20,840 --> 00:01:25,990 >> Ang isang paraan upang masiguro na ang wastong input ng user ay sa pamamagitan ng paggamit ng isang Do-Habang loop, na siyang 23 00:01:25,990 --> 00:01:28,100 halos kapareho sa isang loop Habang. 24 00:01:28,100 --> 00:01:32,580 Ang Do-loop Habang executes ang code sa loob ng katawan nang isang beses, at pagkatapos ay sumusuri 25 00:01:32,580 --> 00:01:35,270 kung ang mga kondisyon ay nakamit o hindi. 26 00:01:35,270 --> 00:01:38,830 Ito ay kapaki-pakinabang para sa pagkuha ng user input dahil alam mo na kailangan mo 27 00:01:38,830 --> 00:01:41,805 upang i-prompt ang mga ito ng hindi bababa sa isang beses. 28 00:01:41,805 --> 00:01:45,940 Kung ang kalagayan ay hindi natugunan, ang programa ay isakatuparan ang mga linya matapos 29 00:01:45,940 --> 00:01:47,270 ang iyong Do-Habang loop. 30 00:01:47,270 --> 00:01:50,950 Kung ang kondisyon ay nakilala, kahit na, loop ay ang ulitin. 31 00:01:50,950 --> 00:01:55,560 >> Ang isang Do-Habang loop para sa pagpapatunay ng gumagamit input ay magmumukhang ganito. 32 00:01:55,560 --> 00:02:02,920 Ipinahahayag ko sa isang variable n, GetInt, at paulit-ulit hanggang sa n ay wasto. 33 00:02:02,920 --> 00:02:06,270 Tandaan na kapag ikaw ay magpahayag ng iyong variable, ito ay nangangailangan ng naaangkop na 34 00:02:06,270 --> 00:02:08,449 saklaw, tulad ng sa scratch. 35 00:02:08,449 --> 00:02:12,510 Kung ako magpahayag ng N sa loob ng aking Do-Habang loop, ang natitirang bahagi ng programa ay hindi magiging 36 00:02:12,510 --> 00:02:13,750 ma-access ito. 37 00:02:13,750 --> 00:02:16,100 Ito ay limitado sa paligid ng kulot tirante. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Ang lahat ng mga karapatan, kaya ngayon na napatunayan namin input ng gumagamit, namin talagang kailangan upang 40 00:02:23,090 --> 00:02:25,020 gumuhit ang half-pyramid. 41 00:02:25,020 --> 00:02:29,700 Binubuo ito ng mga naka-print na mga character, kaya sabihin gumawa ng isang half-pyramid sa isang simpleng 42 00:02:29,700 --> 00:02:31,480 text editor. 43 00:02:31,480 --> 00:02:35,920 Kung gusto naming gumawa ng isang pyramid Mario estilo ng tatlong taas na nakahanay 44 00:02:35,920 --> 00:02:41,370 sa kaliwang bahagi ng aming window, at pagkatapos ay Gusto naming i-type ang dalawang hashes, i-click ang Ipasok, 45 00:02:41,370 --> 00:02:47,180 pagkatapos i-type tatlong hashes, i-click ang Ipasok, at pagkatapos i-type apat. 46 00:02:47,180 --> 00:02:51,090 >> Ngunit sa problemang ito hanay, ang aming half-pyramid ay kailangang karapatan nakahanay. 47 00:02:51,090 --> 00:02:55,550 Gamit ang isang standard na keyboard, kung paano sa iyo upang baguhin ang file na ito upang ilipat hashes 48 00:02:55,550 --> 00:02:57,210 sa ibabaw sa kanan gilid? 49 00:02:57,210 --> 00:03:03,190 Maaari kong gamitin upang underscore, dalawa sa tuktok na hilera at isa sa ikalawang. 50 00:03:03,190 --> 00:03:07,690 Na hindi kamukha ng maganda, bagaman, sa gayon sabihin palitan ang underscore sa 51 00:03:07,690 --> 00:03:12,450 puwang, at doon kami ay may isang half-pyramid taas ng tatlo. 52 00:03:12,450 --> 00:03:16,330 >> Subukan at tandaan ito text editor Halimbawa bilang simulan mo ang pag-iisip pabalik sa 53 00:03:16,330 --> 00:03:20,100 C. natin subukan at malaman kung ilan uri ng mga pattern na aming makakaya 54 00:03:20,100 --> 00:03:22,750 ilagay sa isang bumuo ng mga loop. 55 00:03:22,750 --> 00:03:27,570 Dumaan isang halimbawa taas, sabihin walong, at tingnan kung maaari mong simulan upang 56 00:03:27,570 --> 00:03:29,470 makabuo ng isang pattern. 57 00:03:29,470 --> 00:03:34,710 Ang unang hilera ay magkakaroon ng pitong mga puwang sinundan ng dalawang hashes. 58 00:03:34,710 --> 00:03:40,090 Ang ikalawang hanay ay may anim na mga puwang at tatlong hashes, at iba pa hanggang sa ang 59 00:03:40,090 --> 00:03:41,440 pangwalo hilera. 60 00:03:41,440 --> 00:03:45,210 >> Ngunit paano nais mong kumatawan ang nth hilera? 61 00:03:45,210 --> 00:03:48,170 Tandaan na ang programming convention ay zero-index. 62 00:03:48,170 --> 00:03:51,870 Nangangahulugan iyon na simulan mo ang pagbibilang sa zero, kaya ang unang hilera ay technically 63 00:03:51,870 --> 00:03:57,110 hilera bilang zero na may dalawang hatches, hilera bilang isa ay may tatlong hashes, hilera 64 00:03:57,110 --> 00:04:01,860 dalawang numero ay may apat na hashes, kaya pagsunod ang pattern na ito para sa anumang hilera 65 00:04:01,860 --> 00:04:05,800 bilang n, may mga n plus 2 hashes. 66 00:04:05,800 --> 00:04:09,270 Makikita ko bang iwan ito sa iyo, bagaman, upang mahanap ang out ang pattern para sa mga puwang. 67 00:04:09,270 --> 00:04:12,240 Tandaan na ang iyong pattern ay magiging bahagyang naiiba kung pinili mong 68 00:04:12,240 --> 00:04:16,649 simulan ang iyong count mula sa isa at hindi zero. 69 00:04:16,649 --> 00:04:19,560 >> Ngayon, mayroon kang isang pattern para sa anumang abstract n hilera. 70 00:04:19,560 --> 00:04:25,190 Alam mo kung gaano karaming mga puwang upang i-print at kung gaano karaming mga hashes, kaya para sa bawat hilera, na 71 00:04:25,190 --> 00:04:26,270 numero ay magbabago. 72 00:04:26,270 --> 00:04:30,700 Ngunit ang parehong proseso ng pag-print ng isang solong character, alinman sa isang puwang o isang 73 00:04:30,700 --> 00:04:33,200 hash, ay paulit-ulit. 74 00:04:33,200 --> 00:04:37,470 Kaya ang kailangan mo lang gawin ay ang paulit-ulit i-print na karakter para sa maraming beses 75 00:04:37,470 --> 00:04:40,120 bilang iyong pattern tinutukoy. 76 00:04:40,120 --> 00:04:42,522 >> Kaya paano namin ulitin ang proseso? 77 00:04:42,522 --> 00:04:45,160 Sa simula, ginamit namin ang umuulit na bloke. 78 00:04:45,160 --> 00:04:48,580 Sa C, gagamitin namin ang isang Para sa loop. 79 00:04:48,580 --> 00:04:51,290 Tignan natin ang syntax para sa Para sa mga loop. 80 00:04:51,290 --> 00:04:57,140 >> Para sa bawat loop ay binubuo ng tatlong mga bahagi, isang Pinasimulan, isang kondisyon, 81 00:04:57,140 --> 00:04:58,592 at isang pag-update. 82 00:04:58,592 --> 00:05:01,550 Ang iyong Para sa loop ay initialize isang variable kapag ito unang 83 00:05:01,550 --> 00:05:02,960 pumasok ang Para sa loop. 84 00:05:02,960 --> 00:05:07,100 Kung ang kondisyon ay nakilala, ang katawan ng mga loop ay isakatuparan. 85 00:05:07,100 --> 00:05:10,070 Pagkatapos, ang update execute. 86 00:05:10,070 --> 00:05:13,630 >> Kung ang kalagayan ay pa rin nakilala, ang loop ay execute at i-update at 87 00:05:13,630 --> 00:05:18,580 ulitin hangga't iyong mga kondisyon sinusuri sa True. 88 00:05:18,580 --> 00:05:21,450 Ikaw ay dapat kondisyon kalaunan valuate sa False, bagaman, dahil 89 00:05:21,450 --> 00:05:24,490 hindi katulad sa simula, hindi kami magkakaroon ng anumang mga loop Habang Panahon. 90 00:05:24,490 --> 00:05:28,270 Ang iyong programa ay dapat magtapos sa huli. 91 00:05:28,270 --> 00:05:32,330 >> Narito ang isang halimbawa ng isang Para sa loop na baka gusto mong gamitin para sa Mario. 92 00:05:32,330 --> 00:05:36,790 Pinasimulan Ang declares isang integer i may halagang 0. 93 00:05:36,790 --> 00:05:40,750 Hangga't i ay mas mababa sa taas, katawan ng loop ay execute at 94 00:05:40,750 --> 00:05:44,980 i taasan sa pamamagitan ng isa at ulitin hanggang sa i ay mas malaki kaysa sa o 95 00:05:44,980 --> 00:05:47,220 katumbas ng taas. 96 00:05:47,220 --> 00:05:49,140 >> Ngayon, ang aking Para sa loop ay zero index. 97 00:05:49,140 --> 00:05:52,270 Ang int i nagsimula sa zero, hindi isa. 98 00:05:52,270 --> 00:05:55,320 Kung pinili ko ang isa, at pagkatapos ay ang aking kondisyon ng ginagawa Mayroon din na maging magkaiba para sa 99 00:05:55,320 --> 00:05:58,740 ang loop upang isakatuparan ang parehong bilang ng beses. 100 00:05:58,740 --> 00:06:03,490 Tandaan ang maingat kapag ikaw ay pagpili ng iyong Pinasimulan at ang iyong 101 00:06:03,490 --> 00:06:08,660 kalagayan, at kumonsulta ito tsart upang i-double check. 102 00:06:08,660 --> 00:06:13,430 >> Isa sa mga dakilang bagay tungkol sa computer na agham ay mayroong lamang kaya maraming mga 103 00:06:13,430 --> 00:06:15,490 mga paraan upang isakatuparan bagay. 104 00:06:15,490 --> 00:06:19,450 Maaari mong piliin kung ikaw Magsisimula sa zero o isa. 105 00:06:19,450 --> 00:06:22,380 Kung hindi mo nais na gumamit ng isang Para sa loop, maaari mo ring gamitin ang isang Habang loop upang 106 00:06:22,380 --> 00:06:26,530 ulitin ang mga pahayag hangga't mo panatilihin ang kakanyahan ng isang Para sa loop, 107 00:06:26,530 --> 00:06:31,430 Pinasimulan, kundisyon, at pag-update. 108 00:06:31,430 --> 00:06:36,890 Sa sandaling namin malaman ang Para sa loop na kami ay pinaka-maginhawa para sa iyo, pagkatapos namin 109 00:06:36,890 --> 00:06:38,450 Maaari makumpleto Mario. 110 00:06:38,450 --> 00:06:41,540 >> Kami unang naka-check para sa mga gumagamit ng pag-input at pagkatapos ay nakilala ang isang 111 00:06:41,540 --> 00:06:43,580 pattern para sa anumang n hilera. 112 00:06:43,580 --> 00:06:49,990 Kaya para sa bawat hilera mula sa zero n minus 1 ay i-print ang naaangkop na bilang ng mga 113 00:06:49,990 --> 00:06:55,340 puwang, pagkatapos ay ang naaangkop na bilang ng mga hashes ayon sa aming mga pattern, at 114 00:06:55,340 --> 00:06:57,180 pagkatapos ng isang bagong linya. 115 00:06:57,180 --> 00:06:59,640 Gamit na, mayroon kang ang iyong mga pyramid. 116 00:06:59,640 --> 00:07:02,630 Ang pangalan ko ay Zamyla, at ito ay Mario. 117 00:07:02,630 --> 00:07:11,765