1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA CHAN: jump Lets do Mario. 3 00:00:11,070 --> 00:00:14,850 Mario to program, w którym będziemy się nasz własnej, choć prymitywne, wersja 4 00:00:14,850 --> 00:00:17,760 klasyczny Super Mario Brothers tło gry. 5 00:00:17,760 --> 00:00:21,100 Do tego zestawu problemów, jedziemy odtworzyć za pół piramidy 6 00:00:21,100 --> 00:00:23,000 Mario, aby przejść dalej. 7 00:00:23,000 --> 00:00:27,330 Nasz program jest interaktywny, więc to poprosi użytkownika, aby wprowadzić pewne 8 00:00:27,330 --> 00:00:28,660 Wysokość do piramidy. 9 00:00:28,660 --> 00:00:32,920 A program wyświetli pół-piramidy tej wysokości, gdzie 10 00:00:32,920 --> 00:00:37,390 lewy dolny hash wyrównuje z dołu lewym rogu terminalu 11 00:00:37,390 --> 00:00:39,710 okno wyjścia. 12 00:00:39,710 --> 00:00:44,870 >> Przeanalizujmy ten problem na dwie części, jeden, dane użytkownika, a dwa, 13 00:00:44,870 --> 00:00:47,040 wydrukować piramidę. 14 00:00:47,040 --> 00:00:51,150 Pamiętaj, że jeśli funkcja getInt pobierze liczbę całkowitą, to 15 00:00:51,150 --> 00:00:56,260 upewnić się, że to wejście sprawia, że Poczucie do programu, więc w 16 00:00:56,260 --> 00:00:59,690 Mario, nie wystarczyć produkt dla liczby całkowitej. 17 00:00:59,690 --> 00:01:03,440 Musisz upewnić się, że użytkownik wejścia liczbę całkowitą, która jest w zasięgu 18 00:01:03,440 --> 00:01:06,985 dolne i górne granice piramidy, które można wydrukować. 19 00:01:06,985 --> 00:01:12,300 Na tej specyfikacji, to jest 0 do 23 włącznie. 20 00:01:12,300 --> 00:01:16,410 Jeśli użytkownik wejścia liczbę całkowitą poza naszych przyjętych granicach, to chcemy 21 00:01:16,410 --> 00:01:20,840 skłonić je znowu i znowu, aż dają nam prawidłową liczbą całkowitą. 22 00:01:20,840 --> 00:01:25,990 >> Jednym ze sposobów zapewnienia prawidłowego wprowadzania danych przez użytkownika jest stosując do-while, która jest 23 00:01:25,990 --> 00:01:28,100 Bardzo podobny do pętli While. 24 00:01:28,100 --> 00:01:32,580 Do-While Pętla wykonuje kod wewnątrz ciała raz, a następnie sprawdza 25 00:01:32,580 --> 00:01:35,270 , czy warunek jest spełniony czy nie. 26 00:01:35,270 --> 00:01:38,830 To jest użyteczne dla uzyskania danych wprowadzanych przez użytkownika bo wiesz, że musisz 27 00:01:38,830 --> 00:01:41,805 skłonić je co najmniej raz. 28 00:01:41,805 --> 00:01:45,940 Jeśli warunek nie jest spełniony, program uruchomi linię po 29 00:01:45,940 --> 00:01:47,270 Twój do-while loop. 30 00:01:47,270 --> 00:01:50,950 Jeśli warunek jest spełniony, choć, Pętla będzie powtórzyć. 31 00:01:50,950 --> 00:01:55,560 >> Do-while loop zatwierdzania instrukcji Wejście będzie wyglądać tak. 32 00:01:55,560 --> 00:02:02,920 Oświadczam zmiennej n, getInt, i powtarzać, aż n jest ważny. 33 00:02:02,920 --> 00:02:06,270 Pamiętaj, że kiedy zadeklarować zmienna, to konieczne jest zastosowanie odpowiedniego 34 00:02:06,270 --> 00:02:08,449 zakres, tak jak w Scratch. 35 00:02:08,449 --> 00:02:12,510 Jeśli Oświadczam n w moim do-while pętli Reszta programu nie będzie 36 00:02:12,510 --> 00:02:13,750 mieć do niego dostęp. 37 00:02:13,750 --> 00:02:16,100 To ograniczać do z klamrami. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Dobrze, więc teraz, że mamy potwierdzone wyjścia użytkownika, faktycznie trzeba 40 00:02:23,090 --> 00:02:25,020 narysować to pół-piramidy. 41 00:02:25,020 --> 00:02:29,700 To składa się z drukowanymi literami, więc zróbmy pół piramidy w prosty 42 00:02:29,700 --> 00:02:31,480 edytor tekstu. 43 00:02:31,480 --> 00:02:35,920 Jeśli chcemy zrobić piramidę w stylu Mario wysokości trzech, które jest dostosowane 44 00:02:35,920 --> 00:02:41,370 Po lewej stronie naszego okna, a następnie chcemy wpisać dwa skróty, kliknij przycisk Enter, 45 00:02:41,370 --> 00:02:47,180 wpisz trzy skróty, kliknij Enter, a następnie wpisz cztery. 46 00:02:47,180 --> 00:02:51,090 >> Ale w tym zestawie problemów, nasz pół-piramidy musi być wyrównany do prawej. 47 00:02:51,090 --> 00:02:55,550 Za pomocą standardowej klawiatury, jak mogą zmodyfikować ten plik przenieść skróty 48 00:02:55,550 --> 00:02:57,210 powyżej po prawej stronie? 49 00:02:57,210 --> 00:03:03,190 Może używać do podkreślenia, dwa na Górny rząd i jeden na drugim. 50 00:03:03,190 --> 00:03:07,690 To nie wygląda tak ładnie, chociaż, tak niech zastąpi podkreśla z 51 00:03:07,690 --> 00:03:12,450 obowiązuje, i tam mamy pół-piramidę wysokości trzech. 52 00:03:12,450 --> 00:03:16,330 >> Spróbuj zapamiętać to edytor tekstu Przykładem, jak zacząć myśleć z powrotem do 53 00:03:16,330 --> 00:03:20,100 C. Spróbujmy dowiedzieć się niektóre rodzaj wzorca, który możemy 54 00:03:20,100 --> 00:03:22,750 umieścić w konstrukcji pętli. 55 00:03:22,750 --> 00:03:27,570 Weź wysokość przykład, powiedzmy, osiem, i zobacz, czy możesz zacząć 56 00:03:27,570 --> 00:03:29,470 wymyślić wzór. 57 00:03:29,470 --> 00:03:34,710 Pierwszy wiersz będzie miał siedem miejsc następnie dwie skrótów. 58 00:03:34,710 --> 00:03:40,090 Drugi rząd będzie miał sześć spacje i trzy skróty, i tak dalej, aż 59 00:03:40,090 --> 00:03:41,440 ósmy wiersz. 60 00:03:41,440 --> 00:03:45,210 >> Ale jak chcesz reprezentować n-ty wiersz? 61 00:03:45,210 --> 00:03:48,170 Pamiętaj, że konwencję programowania zero indeksowane. 62 00:03:48,170 --> 00:03:51,870 Oznacza to, że można rozpocząć odliczanie zero, więc pierwszy wiersz jest technicznie 63 00:03:51,870 --> 00:03:57,110 zerowy numer wiersza z dwoma lukami, wiersz numer jeden ma trzy skróty, Hałas 64 00:03:57,110 --> 00:04:01,860 numer dwa ma cztery skróty, więc po to wzór dla każdego wiersza 65 00:04:01,860 --> 00:04:05,800 liczba n, jest n oraz 2 hashe. 66 00:04:05,800 --> 00:04:09,270 Zostawię ci to, jednak, aby znaleźć się wzorcem dla przestrzeni. 67 00:04:09,270 --> 00:04:12,240 Pamiętaj, że Twój wzór będzie nieco inaczej, jeśli zdecydujesz się 68 00:04:12,240 --> 00:04:16,649 zacząć liczyć od jeden, a nie zero. 69 00:04:16,649 --> 00:04:19,560 >> Teraz masz wzorzec dla wszelkie abstrakcyjne n row. 70 00:04:19,560 --> 00:04:25,190 Wiesz, jak wiele miejsca do wydrukowania i ilu mieszań, więc dla każdego rzędu, które 71 00:04:25,190 --> 00:04:26,270 Numer ten zostanie zmieniony. 72 00:04:26,270 --> 00:04:30,700 Ale sam proces drukowania jeden znak, albo miejsca lub 73 00:04:30,700 --> 00:04:33,200 hash, powtarza. 74 00:04:33,200 --> 00:04:37,470 Więc wszystko co musisz zrobić, to wielokrotnie wydrukować ten znak na czasy tyle 75 00:04:37,470 --> 00:04:40,120 jak twój wzór określa. 76 00:04:40,120 --> 00:04:42,522 >> Jak więc powtórzyć proces? 77 00:04:42,522 --> 00:04:45,160 W Scratch użyliśmy blok powtarzania. 78 00:04:45,160 --> 00:04:48,580 W języku C, użyjemy pętli For. 79 00:04:48,580 --> 00:04:51,290 Spójrzmy na składni w przypadku pętli. 80 00:04:51,290 --> 00:04:57,140 >> Każdy Do pętli składa się z trzech części, inicjacji, stan, 81 00:04:57,140 --> 00:04:58,592 i aktualizacja. 82 00:04:58,592 --> 00:05:01,550 Twój Na pętli zainicjuje zmienna, gdy pierwsza 83 00:05:01,550 --> 00:05:02,960 wchodzi do pętli. 84 00:05:02,960 --> 00:05:07,100 Jeśli warunek jest spełniony, body z pętli zostanie wykonany. 85 00:05:07,100 --> 00:05:10,070 Następnie zmiana wykona. 86 00:05:10,070 --> 00:05:13,630 >> Jeśli warunek jest nadal spełniony, pętla wykona i aktualizacji i 87 00:05:13,630 --> 00:05:18,580 powtarzać tak długo, jak stan wartość True. 88 00:05:18,580 --> 00:05:21,450 Jesteś warunek musi ostatecznie wyceniamy false, chociaż, ponieważ 89 00:05:21,450 --> 00:05:24,490 w przeciwieństwie do zera, nie mamy mają pętle na zawsze. 90 00:05:24,490 --> 00:05:28,270 Twój program powinien zakończyć ostatecznie. 91 00:05:28,270 --> 00:05:32,330 >> Oto przykład, że dla pętli możesz użyć do Mario. 92 00:05:32,330 --> 00:05:36,790 Inicjalizacji deklaruje i liczba całkowita o wartości 0. 93 00:05:36,790 --> 00:05:40,750 Tak długo, jak jest mniejsza niż wysokość, ciało pętli zostanie wykonany i 94 00:05:40,750 --> 00:05:44,980 podwyższenie I przez jeden i powtórzyć dopóki nie jest większa lub 95 00:05:44,980 --> 00:05:47,220 równa wysokości. 96 00:05:47,220 --> 00:05:49,140 >> Teraz moja pętla jest zero dla indeksu. 97 00:05:49,140 --> 00:05:52,270 Int i zaczyna się od zera, a nie jeden. 98 00:05:52,270 --> 00:05:55,320 Jeśli wybrałem jedną, to mój stan się również być różne dla 99 00:05:55,320 --> 00:05:58,740 pętli do wykonania tyle razy. 100 00:05:58,740 --> 00:06:03,490 Pamiętaj o tym dokładnie, kiedy jesteś wyborze inicjalizacji i twój 101 00:06:03,490 --> 00:06:08,660 Warunkiem i skonsultować to wykres dokładnie sprawdzić. 102 00:06:08,660 --> 00:06:13,430 >> Jednym z wielkich rzeczy na temat komputera nauki jest to, że jest tak wiele 103 00:06:13,430 --> 00:06:15,490 sposoby wykonujące rzeczy. 104 00:06:15,490 --> 00:06:19,450 Możesz wybrać, czy zaczynają się od zera lub jednego. 105 00:06:19,450 --> 00:06:22,380 Jeśli nie chcesz korzystać z pętli for można również użyć pętli while do 106 00:06:22,380 --> 00:06:26,530 Powtarzam oświadczenia, dopóki zachować istotę Na pętli 107 00:06:26,530 --> 00:06:31,430 inicjalizacji, stan i aktualizacja. 108 00:06:31,430 --> 00:06:36,890 Kiedy dowiemy się, że pętla for jesteśmy najbardziej komfortowo, to 109 00:06:36,890 --> 00:06:38,450 może zakończyć Mario. 110 00:06:38,450 --> 00:06:41,540 >> Najpierw sprawdzane na dane od użytkownika a następnie identyfikowane 111 00:06:41,540 --> 00:06:43,580 wzór dla każdego n wierszy. 112 00:06:43,580 --> 00:06:49,990 Więc dla każdego wiersza od zera do n minus 1 spowoduje wydrukowanie odpowiedniej liczby 113 00:06:49,990 --> 00:06:55,340 obowiązuje, to odpowiednia liczba hashe według naszego wzoru i 114 00:06:55,340 --> 00:06:57,180 to nowa linia. 115 00:06:57,180 --> 00:06:59,640 Z tym, masz swoją piramidę. 116 00:06:59,640 --> 00:07:02,630 Nazywam się Zamyla, i to był Mario. 117 00:07:02,630 --> 00:07:11,765