1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA Chan: Let 's lēkt uz Mario. 3 00:00:11,070 --> 00:00:14,850 Mario ir programma, kur mēs veiksim mūsu pašu, gan primitīvas, versija 4 00:00:14,850 --> 00:00:17,760 classic Super Mario Brothers spēle fona. 5 00:00:17,760 --> 00:00:21,100 Par šo problēmu kopumu, mēs ejam lai atjaunotu pusi piramīda 6 00:00:21,100 --> 00:00:23,000 Mario, lai pārietu uz. 7 00:00:23,000 --> 00:00:27,330 Mūsu programma būs interaktīvs, tāpēc tas lūgs lietotājam ievadīt noteiktu 8 00:00:27,330 --> 00:00:28,660 augstums par piramīdas. 9 00:00:28,660 --> 00:00:32,920 Un programma izdrukāt puse piramīda šī augstuma, kur 10 00:00:32,920 --> 00:00:37,390 apakšā pa kreisi hash sakrīt ar apakšā kreisajā stūrī termināla 11 00:00:37,390 --> 00:00:39,710 izejas logu. 12 00:00:39,710 --> 00:00:44,870 >> Let 's pārtrauktu šo problēmu divās daļās, viens, saņemt lietotāja ievadi, divi un, 13 00:00:44,870 --> 00:00:47,040 izdrukāt piramīdu. 14 00:00:47,040 --> 00:00:51,150 Atcerieties, ka, lai gan GetInt funkcija tiks atrasti vesels skaitlis, jūs 15 00:00:51,150 --> 00:00:56,260 ir, lai pārliecinātos, ka šis ieguldījums padara sajūtu par savu programmu, tāpēc 16 00:00:56,260 --> 00:00:59,690 Mario, tas nav jādara tikai produkts, lai iegūtu veselu skaitli. 17 00:00:59,690 --> 00:01:03,440 Jums būs nepieciešams, lai pārliecinātos, ka lietotājs ieejas skaitlim, kas ir robežās 18 00:01:03,440 --> 00:01:06,985 zemāko un augstāko robežu, kas piramīda, ka jūs varat izdrukāt. 19 00:01:06,985 --> 00:01:12,300 Par šo spec, tas ir 0 līdz 23 ieskaitot. 20 00:01:12,300 --> 00:01:16,410 Ja lietotājs izejvielas veselam skaitlim ārpus mūsu pieņemto robežas, tad mēs vēlamies 21 00:01:16,410 --> 00:01:20,840 lai ātri tos atkal un atkal, līdz tie dod mums derīgu skaitli. 22 00:01:20,840 --> 00:01:25,990 >> Viens veids, kā nodrošināt pareizu lietotāja ievadi, ir , izmantojot do-kamēr cilpa, kas ir 23 00:01:25,990 --> 00:01:28,100 ļoti līdzīgs kamēr cilpa. 24 00:01:28,100 --> 00:01:32,580 Do-gan cilpa izpilda kodu ķermeņa iekšpusē vienu reizi, un pēc tam pārbauda 25 00:01:32,580 --> 00:01:35,270 vai nosacījums ir izpildīts vai nav. 26 00:01:35,270 --> 00:01:38,830 Tas ir noderīgi, lai iegūtu lietotāja ievadi jo jūs zināt, ka jums ir nepieciešams 27 00:01:38,830 --> 00:01:41,805 lai ātri viņiem vismaz vienu reizi. 28 00:01:41,805 --> 00:01:45,940 Ja nosacījums nav izpildīts, programma veiks līniju pēc 29 00:01:45,940 --> 00:01:47,270 Jūsu Do-kamēr cilpa. 30 00:01:47,270 --> 00:01:50,950 Ja nosacījums ir izpildīts, lai gan, cilpa būs jāatkārto. 31 00:01:50,950 --> 00:01:55,560 >> Do-gan cilpa apstiprināšanai lietotāju ieeja izskatās kaut kas līdzīgs šim. 32 00:01:55,560 --> 00:02:02,920 Es apliecinu, mainīgo n, GetInt, un atkārtojiet, līdz n ir spēkā. 33 00:02:02,920 --> 00:02:06,270 Atcerieties, ka tad, kad jūs atzīt savu mainīga, tai ir nepieciešams 34 00:02:06,270 --> 00:02:08,449 joma, tāpat kā nulles. 35 00:02:08,449 --> 00:02:12,510 Ja es apliecinu n manā Do-kamēr cilpa, Programmas pārējais nebūs 36 00:02:12,510 --> 00:02:13,750 iespējai piekļūt. 37 00:02:13,750 --> 00:02:16,100 Tas ir tikai uz robežām no cirtaini lencēm. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Labi, tāpēc tagad, ka mēs esam apstiprināti lietotāja ievadi, mums tiešām ir nepieciešams, lai 40 00:02:23,090 --> 00:02:25,020 zīmēt šo pusi piramīdu. 41 00:02:25,020 --> 00:02:29,700 Tas sastāv no drukātiem burtiem, lai pieņemsim pusi-piramīdu ar vienkāršu 42 00:02:29,700 --> 00:02:31,480 teksta redaktoru. 43 00:02:31,480 --> 00:02:35,920 Ja mēs vēlamies, lai Mario stila piramīdas augstuma trīs, kas ir saskaņota 44 00:02:35,920 --> 00:02:41,370 kreisajā pusē mūsu logu, tad mēs gribētu rakstīt divas hashes, noklikšķiniet uz Enter, 45 00:02:41,370 --> 00:02:47,180 tad ierakstiet trīs hashes, noklikšķiniet Enter, un pēc tam ierakstiet četri. 46 00:02:47,180 --> 00:02:51,090 >> Bet šo problēmu kopumu, mūsu puse-piramīdas ir jābūt pa labi saskaņoti. 47 00:02:51,090 --> 00:02:55,550 Izmantojot standarta klaviatūru, kā varētu jūs mainīt šo failu, lai pārvietotos hashes 48 00:02:55,550 --> 00:02:57,210 pāri uz labo pusi? 49 00:02:57,210 --> 00:03:03,190 Es varētu izmantot, lai uzsver, divi uz Augšējā rindā un uz otro viens. 50 00:03:03,190 --> 00:03:07,690 Tas neizskatās tik jauki, lai gan, tāpēc pieņemsim aizvietot uzsver ar 51 00:03:07,690 --> 00:03:12,450 telpās, un tur mums ir pus-piramīdas trīs augstuma. 52 00:03:12,450 --> 00:03:16,330 >> Izmēģiniet un atcerēties šo teksta redaktoru Piemēram, kā jūs sākat domāt atpakaļ 53 00:03:16,330 --> 00:03:20,100 C. Mēģināsim izdomāt, kādu veida modelis, ka mēs varam 54 00:03:20,100 --> 00:03:22,750 īstenot cilpa būvēt. 55 00:03:22,750 --> 00:03:27,570 Ņem piemēru augstumu, teiksim astoņi, un redzēt, ja jūs varat sākt 56 00:03:27,570 --> 00:03:29,470 nākt klajā ar rakstu. 57 00:03:29,470 --> 00:03:34,710 Pirmajā rindā būs septiņas telpas kam seko divi hashes. 58 00:03:34,710 --> 00:03:40,090 Otrajā rindā būs seši atstarpes un Trīs hashes, un tā tālāk, līdz 59 00:03:40,090 --> 00:03:41,440 astotajā rindā. 60 00:03:41,440 --> 00:03:45,210 >> Bet kā jūs varētu pārstāvēt n rinda? 61 00:03:45,210 --> 00:03:48,170 Atcerieties, ka programmēšanas konvenciju ir nulle indeksēti. 62 00:03:48,170 --> 00:03:51,870 Tas nozīmē, ka jūs sākat skaitīšana nulle, tāpēc pirmā rinda ir tehniski 63 00:03:51,870 --> 00:03:57,110 rindas numurs nulles ar divām lūkām, rinda numur viens ir trīs hashes, rindu 64 00:03:57,110 --> 00:04:01,860 numur divi ir četri hashes, lai pēc šis modelis jebkurā rindā 65 00:04:01,860 --> 00:04:05,800 skaits n, ir n plus 2 hashes. 66 00:04:05,800 --> 00:04:09,270 Es atstāt to jums, lai gan, lai atrastu out modeli telpām. 67 00:04:09,270 --> 00:04:12,240 Atcerieties, ka jūsu modelis būs nedaudz atšķirīgs, ja jūs izvēlaties 68 00:04:12,240 --> 00:04:16,649 sākt savu skaitu no viens un nav nulle. 69 00:04:16,649 --> 00:04:19,560 >> Tagad, jums ir modeli kāds abstrakts rinda n. 70 00:04:19,560 --> 00:04:25,190 Jūs zināt, cik daudz telpas, lai drukātu un cik hashes, tāpēc katrai rindai, ka 71 00:04:25,190 --> 00:04:26,270 skaits mainīsies. 72 00:04:26,270 --> 00:04:30,700 Bet pats process drukāšanas viens raksturs, vai nu telpa vai 73 00:04:30,700 --> 00:04:33,200 hash, tiek atkārtota. 74 00:04:33,200 --> 00:04:37,470 Tātad viss, kas jums jādara, ir atkārtoti izdrukāt šo raksturu tik daudz reižu 75 00:04:37,470 --> 00:04:40,120 kā jūsu modelis nosaka. 76 00:04:40,120 --> 00:04:42,522 >> Tātad, kā mēs atkārtot procesu? 77 00:04:42,522 --> 00:04:45,160 Jo nulles, mēs izmantojām atkārtošanas bloks. 78 00:04:45,160 --> 00:04:48,580 C, mēs izmantosim Par cilpu. 79 00:04:48,580 --> 00:04:51,290 Apskatīsim sintakse attiecībā uz cilpas. 80 00:04:51,290 --> 00:04:57,140 >> Katrs Par cilpa sastāv no trīs daļas, inicializācijas, stāvoklis, 81 00:04:57,140 --> 00:04:58,592 un atjaunināšana. 82 00:04:58,592 --> 00:05:01,550 Jūsu Attiecībā cilpa būs sāktu mainīgs kad tā pirmais 83 00:05:01,550 --> 00:05:02,960 ienāk Par cilpu. 84 00:05:02,960 --> 00:05:07,100 Ja nosacījums ir izpildīts, ķermeņa no cilpas būs izpildīt. 85 00:05:07,100 --> 00:05:10,070 Pēc tam, atjauninājums izpildīt. 86 00:05:10,070 --> 00:05:13,630 >> Ja nosacījums ir joprojām izpildīti, cilpa izpildīt un atjaunināt un 87 00:05:13,630 --> 00:05:18,580 atkārtot tik ilgi, cik jūsu stāvokli novērtēts kā True. 88 00:05:18,580 --> 00:05:21,450 Jūs esat nosacījums ir iespējams valuate uz False, lai gan, jo 89 00:05:21,450 --> 00:05:24,490 atšķirībā no nulles, mums nav ir kādi Forever cilpas. 90 00:05:24,490 --> 00:05:28,270 Jūsu programma ir jābeidzas vēlāk. 91 00:05:28,270 --> 00:05:32,330 >> Lūk, piemērs cilpa, kas jūs varētu vēlēties izmantot Mario. 92 00:05:32,330 --> 00:05:36,790 Inicializācijas deklarē i vesels skaitlis ar vērtību 0. 93 00:05:36,790 --> 00:05:40,750 Tik ilgi, kamēr es ir mazāks nekā augstums, no cilpas organisms izpildīt un 94 00:05:40,750 --> 00:05:44,980 palielinās i par vienu un atkārtot līdz i ir lielāks par vai 95 00:05:44,980 --> 00:05:47,220 vienāds ar augstumu. 96 00:05:47,220 --> 00:05:49,140 >> Tagad mans Par cilpa ir nulle indekss. 97 00:05:49,140 --> 00:05:52,270 Int i sākas no nulles, nevis vienu. 98 00:05:52,270 --> 00:05:55,320 Ja es izvēlējos vienu, tad mans stāvoklis būtu ir arī būt atšķirīgs 99 00:05:55,320 --> 00:05:58,740 cilpa izpildīt pats vairākas reizes. 100 00:05:58,740 --> 00:06:03,490 Atcerieties, tas uzmanīgi, kad esat Izvēloties savu inicializāciju un jūsu 101 00:06:03,490 --> 00:06:08,660 stāvokli, un iepazītos ar šo diagramma vēlreiz pārbaudīt. 102 00:06:08,660 --> 00:06:13,430 >> Viens no lielas lietas par datoru zinātne ir tā, ka tur ir tikai tik daudz 103 00:06:13,430 --> 00:06:15,490 veidi, kā izpildīt lietas. 104 00:06:15,490 --> 00:06:19,450 Jūs varat izvēlēties, vai sākt no nulles, vai viena. 105 00:06:19,450 --> 00:06:22,380 Ja jūs nevēlaties, lai izmantotu par cilpu, Jūs varat arī izmantot, kamēr cilpa 106 00:06:22,380 --> 00:06:26,530 atkārtot paziņojumus tik ilgi, cik jūs saglabāt būtību Par cilpas, 107 00:06:26,530 --> 00:06:31,430 inicializācijas, stāvoklis, un atjaunināšana. 108 00:06:31,430 --> 00:06:36,890 Kad mēs izdomāt, lai cilpa, ka mēs esam ļoti apmierināti ar, tad mēs 109 00:06:36,890 --> 00:06:38,450 var pabeigt Mario. 110 00:06:38,450 --> 00:06:41,540 >> Mēs vispirms pārbauda lietotāja ievadi un pēc tam identificē 111 00:06:41,540 --> 00:06:43,580 raksts par jebkuru rindu n. 112 00:06:43,580 --> 00:06:49,990 Tātad katrā rindā no nulles līdz n mīnus 1 drukāt atbilstošu skaitu 113 00:06:49,990 --> 00:06:55,340 telpas, tad piemērots skaits hashes saskaņā ar mūsu modeli, un 114 00:06:55,340 --> 00:06:57,180 tad jauns līnija. 115 00:06:57,180 --> 00:06:59,640 Ar to, ka jums ir jūsu piramīdu. 116 00:06:59,640 --> 00:07:02,630 Mans vārds ir Zamyla, un tas bija Mario. 117 00:07:02,630 --> 00:07:11,765