1 00:00:08,280 --> 00:00:09,020 [Powered by Google Translate] ZAMYLA Chandler: Dobra, wszyscy. 2 00:00:09,020 --> 00:00:11,130 Witamy Walkthrough 1. 3 00:00:11,130 --> 00:00:13,950 Ta instrukcja będzie na PSET 1, który jest C. Mam nadzieję, że 4 00:00:13,950 --> 00:00:16,540 wszyscy bawili się ze swoimi projektami podstaw. 5 00:00:16,540 --> 00:00:18,430 Więc teraz, w tej instrukcji, mamy faktycznie będzie 6 00:00:18,430 --> 00:00:21,580 stanie dostać się do C, dostać się do pisania niektóre kodu maszynowego. 7 00:00:21,580 --> 00:00:24,750 Więc jeśli nie były w Walkthrough 0, to te 8 00:00:24,750 --> 00:00:26,330 solucje naprawdę - jesteśmy zamiar przejść przez 9 00:00:26,330 --> 00:00:29,500 set problem, porozmawiać przez kilka wspólnych wskazówek i technik 10 00:00:29,500 --> 00:00:30,430 że można użyć. 11 00:00:30,430 --> 00:00:32,960 Będziemy łamać przypisanie się do opanowania gryzie, tak że 12 00:00:32,960 --> 00:00:35,500 Chłopaki można zacząć i mam nadzieję, że 13 00:00:35,500 --> 00:00:37,470 zrozumieć, jak to zrobić. 14 00:00:37,470 --> 00:00:38,050 >> Okay. 15 00:00:38,050 --> 00:00:42,280 Więc pset 1. 16 00:00:42,280 --> 00:00:46,200 Psets w tym roku będzie mieć strukturę, gdzie pierwsze - 17 00:00:46,200 --> 00:00:48,930 tam będzie część pytań, seria 18 00:00:48,930 --> 00:00:51,120 pytania, które naprawdę również pomogą Ci zacząć z 19 00:00:51,120 --> 00:00:53,840 pset, pomaga ćwiczyć kilka technik, które potrzebujesz. 20 00:00:53,840 --> 00:00:55,950 I tak na te pytania, nie będę się do pokrycia w 21 00:00:55,950 --> 00:00:59,630 solucja ponieważ w sekcji, nauka przypisany 22 00:00:59,630 --> 00:01:01,630 facet faktycznie się przejść przez te 23 00:01:01,630 --> 00:01:02,620 pytania z tobą. 24 00:01:02,620 --> 00:01:04,370 Na końcu sekcji, musisz odejść z 25 00:01:04,370 --> 00:01:07,200 Odpowiedzi na te pytania, ale także pewność, że 26 00:01:07,200 --> 00:01:10,340 można zaimplementować niektóre z cech, które będą potrzebne 27 00:01:10,340 --> 00:01:12,480 w drugim przypadku części zbior. 28 00:01:12,480 --> 00:01:15,900 >> Pset 1 stanowi Mario. 29 00:01:15,900 --> 00:01:19,000 I to jest fajny program, gdzie w zasadzie mamy 30 00:01:19,000 --> 00:01:24,360 napisać i wydrukować pół piramidy w typowej sceny Mario. 31 00:01:24,360 --> 00:01:27,150 A potem druga część Pset nazywa Greedy. 32 00:01:27,150 --> 00:01:29,850 I tak w istocie Greedy mamy działać jako chciwy 33 00:01:29,850 --> 00:01:32,780 kasjer, gdy ktoś daje nam kwotę 34 00:01:32,780 --> 00:01:38,730 że chcemy obliczyć minimalną ilość monet 35 00:01:38,730 --> 00:01:40,840 możemy powrócić do nich, aby jeszcze dać im tę kwotę. 36 00:01:44,080 --> 00:01:44,420 >> Dobrze. 37 00:01:44,420 --> 00:01:46,970 Więc każdy solucja będzie mieć przybornik. 38 00:01:46,970 --> 00:01:50,650 I znowu, nie może używać wszystkich narzędzi w tym 39 00:01:50,650 --> 00:01:53,080 przybornik lub mogą używać wszyscy. 40 00:01:53,080 --> 00:01:54,550 W każdym razie, to jest naprawdę dobrze wiedzieć, co 41 00:01:54,550 --> 00:01:55,680 jesteś wyposażony. 42 00:01:55,680 --> 00:01:59,990 Mamy więc CS50 urządzenia, które pokażę wam chłopaki i 43 00:01:59,990 --> 00:02:01,350 wprowadzenie do tego. 44 00:02:01,350 --> 00:02:05,710 Wtedy też w ogóle, dobry styl jest zdecydowanie jednym z naszych 45 00:02:05,710 --> 00:02:07,080 Najważniejsze narzędzia. 46 00:02:07,080 --> 00:02:10,759 Style zasadniczo odnosi się do sposobu odczytania jest kod? 47 00:02:10,759 --> 00:02:12,750 Gdy ktoś idzie i czyta kod, oni mają 48 00:02:12,750 --> 00:02:13,610 łatwy czas? 49 00:02:13,610 --> 00:02:14,630 Można je zrozumieć? 50 00:02:14,630 --> 00:02:16,610 Czy jest to elegancki? 51 00:02:16,610 --> 00:02:21,750 Potem będziemy rozmawiać o tym, jak uzyskać ważne dane wprowadzone przez użytkownika w telefonie 52 00:02:21,750 --> 00:02:26,430 Program ponieważ zarówno Mario i Greedy, musisz 53 00:02:26,430 --> 00:02:31,660 zwrócić się do użytkownika do wejścia i dać jakiś numer. 54 00:02:31,660 --> 00:02:35,480 Tak więc chcemy się upewnić, że numer jest prawidłowy. 55 00:02:35,480 --> 00:02:39,010 Potem pamiętam w Scratch, mieliśmy bloki takie jak powtarzanie, 56 00:02:39,010 --> 00:02:42,300 Powtarzaj, aż, lub poczekać, lub na zawsze. 57 00:02:42,300 --> 00:02:45,880 Więc idziemy do rodzaju tłumaczenia, że ​​do teraz i C 58 00:02:45,880 --> 00:02:49,750 spojrzeć na pętli, takich jak na, while i do-while. 59 00:02:49,750 --> 00:02:54,330 Wtedy też będziemy musimy również wyświetlanie wartości z powrotem na 60 00:02:54,330 --> 00:02:56,500 ekran, czy to w Mario lub chciwy. 61 00:02:56,500 --> 00:03:01,150 I tak będziemy rozmawiać o tym, jak drukować rzeczy z ciągów 62 00:03:01,150 --> 00:03:03,070 całkowitymi i pace. 63 00:03:03,070 --> 00:03:05,250 I w końcu, będziemy rozmawiać o Pseudokod, naprawdę 64 00:03:05,250 --> 00:03:07,550 ważne pojęcie, aby pamiętać w całym tym czasie. 65 00:03:07,550 --> 00:03:11,130 Co mi pomaga mi najbardziej z zestawami problemu jest myśleć i 66 00:03:11,130 --> 00:03:14,260 opisać to, co chcę zrobić, zanim myśleć o jakiejkolwiek C. 67 00:03:14,260 --> 00:03:15,640 Ale po prostu opisać działania. 68 00:03:15,640 --> 00:03:19,100 Więc pseudokod jest rodzaj pomiędzy angielskim i C, rodzaj 69 00:03:19,100 --> 00:03:22,980 Opisując procesy bez poprawnej składni, ale 70 00:03:22,980 --> 00:03:24,490 zapewnienie wystarczająco dobre struktury. 71 00:03:24,490 --> 00:03:27,460 I tak będę musiał kilka przykładów Pseudokod dla Ciebie również 72 00:03:27,460 --> 00:03:28,710 w niniejszej instrukcji. 73 00:03:31,610 --> 00:03:31,940 >> Okay. 74 00:03:31,940 --> 00:03:35,620 Więc co będziemy pracować z jest CS50 Appliance. 75 00:03:35,620 --> 00:03:38,840 Jest to w istocie maszyna wirtualna tego rodzaju działa 76 00:03:38,840 --> 00:03:40,780 Komputer wewnątrz własnego komputera. 77 00:03:40,780 --> 00:03:42,080 I nie ma to wiele korzyści. 78 00:03:42,080 --> 00:03:44,780 Jednym z nich jest, że to jest ustawione z wielu narzędzi, które będziesz 79 00:03:44,780 --> 00:03:45,980 potrzeba CS50. 80 00:03:45,980 --> 00:03:47,940 Jak dobrze, to znaczy, że wszyscy są na tym samym terenie, 81 00:03:47,940 --> 00:03:50,800 czy Mac lub PC lub innego systemu operacyjnego. 82 00:03:50,800 --> 00:03:53,930 Wszyscy możemy uruchomić maszynę wirtualną. 83 00:03:53,930 --> 00:03:58,800 I tak istnieją instrukcje w manual.cs50.net/appliance. 84 00:03:58,800 --> 00:04:02,740 A więc jeśli się do tego link i postępować zgodnie z instrukcjami, 85 00:04:02,740 --> 00:04:07,820 wtedy mam nadzieję będzie można zainstalować urządzenie. 86 00:04:07,820 --> 00:04:11,390 >> Więc po pierwsze, musisz zainstalować aplikację, 87 00:04:11,390 --> 00:04:13,760 rzeczywiste zastosowanie, aby móc uruchomić maszynę wirtualną. 88 00:04:13,760 --> 00:04:15,270 A następnie pobrać do urządzenia. 89 00:04:15,270 --> 00:04:18,050 Ale znowu, istnieją instrukcje na 90 00:04:18,050 --> 00:04:21,459 manual.cs50.net/appliance. 91 00:04:21,459 --> 00:04:26,040 Więc mam już pobrane moje urządzenie, mam zainstalowane 92 00:04:26,040 --> 00:04:28,060 to w Fusion VMware. 93 00:04:28,060 --> 00:04:31,250 I tak kiedyś ściągnąłem urządzenia, poszedłem do pliku. 94 00:04:31,250 --> 00:04:34,690 Poszłam do Open, a następnie znaleźć gdzie 95 00:04:34,690 --> 00:04:37,550 składowane CS50 urządzenia. 96 00:04:37,550 --> 00:04:39,310 I tam, wpadłem tutaj. 97 00:04:39,310 --> 00:04:44,520 Ale mam go już tutaj, więc weźmy się bliżej. 98 00:04:44,520 --> 00:04:44,850 >> Dobrze. 99 00:04:44,850 --> 00:04:46,770 Więc teraz jesteśmy wewnątrz CS50 Appliance. 100 00:04:46,770 --> 00:04:47,890 Zrobiłem go na pełnym ekranie. 101 00:04:47,890 --> 00:04:51,130 Możesz to zrobić, jeśli chcesz lub po prostu go jako 102 00:04:51,130 --> 00:04:53,480 mniejsze okno na pulpicie. 103 00:04:53,480 --> 00:04:57,170 Tutaj mamy tylko prosty pulpit 104 00:04:57,170 --> 00:04:58,220 domu i śmieci. 105 00:04:58,220 --> 00:05:05,070 Ale jeśli przejdź do Menu, a następnie do programowania, a następnie zobaczyć 106 00:05:05,070 --> 00:05:07,570 , że mamy coś, co nazywa Terminal. 107 00:05:07,570 --> 00:05:12,340 I tak w tym miejscu możemy poruszać się po naszym komputerze. 108 00:05:12,340 --> 00:05:13,360 Możemy napisać kod. 109 00:05:13,360 --> 00:05:17,240 Ale w rzeczywistości, będziemy używać programu o nazwie gedit lub "g 110 00:05:17,240 --> 00:05:20,050 Edit ", który jest zależności. 111 00:05:20,050 --> 00:05:21,680 Więc będziemy używać, że jeden do pisania kodu. 112 00:05:21,680 --> 00:05:24,850 Więc masz te dwa narzędzia, które będziesz używać głównie 113 00:05:24,850 --> 00:05:27,590 aby napisać kod. 114 00:05:27,590 --> 00:05:31,240 Potem dodatkowo, to jest po prostu jak zwykły komputer. 115 00:05:31,240 --> 00:05:32,890 Mamy przeglądarkę. 116 00:05:32,890 --> 00:05:34,400 Wybraliśmy Google Chrome. 117 00:05:34,400 --> 00:05:38,720 Co zrobiłem to mam skonfigurować Dropbox zawierać wszystkie 118 00:05:38,720 --> 00:05:39,340 dokumentów. 119 00:05:39,340 --> 00:05:41,760 A więc to jest coś, co bardzo zachęca. 120 00:05:41,760 --> 00:05:44,900 Dropbox wykorzystuje chmurę synchronizacji, a jeśli tak - 121 00:05:44,900 --> 00:05:47,250 więc na przykład, coś przez przypadek - miejmy nadzieję, że nie - 122 00:05:47,250 --> 00:05:50,100 dzieje się z urządzeniem, a następnie wszystko będzie 123 00:05:50,100 --> 00:05:51,350 synchronizowane na chmurze. 124 00:05:54,716 --> 00:05:55,180 >> Dobrze. 125 00:05:55,180 --> 00:05:59,500 To są aplikacje, które będziesz używać w 126 00:05:59,500 --> 00:06:02,900 CS50 Appliance. 127 00:06:02,900 --> 00:06:05,750 Teraz, aby poruszać się w linii poleceń. 128 00:06:05,750 --> 00:06:10,150 Terminal może faktycznie działać jako swego rodzaju sposób, aby rzeczywiście 129 00:06:10,150 --> 00:06:12,040 wpisz komendy do - 130 00:06:12,040 --> 00:06:13,650 się, jeśli jesteś Mac Finder. 131 00:06:13,650 --> 00:06:17,010 Lub jeśli jesteś w Windows, uważam, że to jest "Poznaj Moje 132 00:06:17,010 --> 00:06:19,070 komputer "lub coś w tym stylu. 133 00:06:19,070 --> 00:06:23,160 Więc jeśli chcemy wrócić do urządzenia, otwórzmy się 134 00:06:23,160 --> 00:06:25,710 okno terminalu. 135 00:06:25,710 --> 00:06:27,720 Więc ma tego monitu, jharvard @ urządzenia. 136 00:06:27,720 --> 00:06:32,950 Miejmy tylko uczynić ten większy. 137 00:06:32,950 --> 00:06:33,790 Okay. 138 00:06:33,790 --> 00:06:40,400 Jeśli więc wpisać komendy ls, to zawiera listę wszystkich 139 00:06:40,400 --> 00:06:45,440 plików w naszym komputerze, w naszym katalogu. 140 00:06:45,440 --> 00:06:46,720 Katalogi są tak jak folderów. 141 00:06:46,720 --> 00:06:49,310 Używamy tych określeń zamiennie. 142 00:06:49,310 --> 00:06:52,480 W porządku, więc mamy na liście plików 143 00:06:52,480 --> 00:06:53,650 , które są w tym katalogu. 144 00:06:53,650 --> 00:06:58,340 Teraz, jeśli chcemy uzyskać dostęp, na przykład, nasz Dropbox, wtedy możemy 145 00:06:58,340 --> 00:06:59,320 zmieniać katalogów. 146 00:06:59,320 --> 00:07:04,230 Więc CD i Dropbox. 147 00:07:04,230 --> 00:07:10,860 Mamy ls ponownie, a następnie widzimy listę plików, które są w 148 00:07:10,860 --> 00:07:11,790 ten folder. 149 00:07:11,790 --> 00:07:15,590 Jest to analogiczne do mnie dzieje w moim domu, a następnie klikając 150 00:07:15,590 --> 00:07:19,250 Dropbox, a następnie widząc listę tutaj. 151 00:07:19,250 --> 00:07:20,090 >> Dobrze. 152 00:07:20,090 --> 00:07:22,220 Więc powiedzmy - 153 00:07:22,220 --> 00:07:25,640 kiedy macie zamiar dokonać PSET 1, zróbmy 154 00:07:25,640 --> 00:07:27,390 katalog nazywany pset1. 155 00:07:27,390 --> 00:07:32,170 Więc jesteśmy w Dropbox teraz, jak widać z tego, 156 00:07:32,170 --> 00:07:32,700 monitować tutaj. 157 00:07:32,700 --> 00:07:34,320 Więc zróbmy katalog. 158 00:07:34,320 --> 00:07:37,940 Więc mkdir, nazwijmy to pset1. 159 00:07:40,470 --> 00:07:43,500 I tak teraz, jeśli ls ponownie, wówczas 160 00:07:43,500 --> 00:07:45,390 zobaczyć, że pset1 pojawia. 161 00:07:45,390 --> 00:07:49,470 I tak, jeśli chcemy wejść do środka pset1, możemy wejść do środka 162 00:07:49,470 --> 00:07:54,230 że folder z cd poleceń. 163 00:07:54,230 --> 00:07:54,610 Dobrze. 164 00:07:54,610 --> 00:07:59,040 Więc jeszcze raz, zobaczymy, jeśli - 165 00:07:59,040 --> 00:08:01,620 powiedzieć, zróbmy to w inny sposób. 166 00:08:01,620 --> 00:08:03,550 Jest to analogiczne do po prostu mówiąc "Tworzenie 167 00:08:03,550 --> 00:08:05,330 New Folder, pset1. 168 00:08:05,330 --> 00:08:08,530 Ale jak znaleźć, będziesz interakcji z 169 00:08:08,530 --> 00:08:09,310 Terminal dużo. 170 00:08:09,310 --> 00:08:11,900 Więc czasami jest to dużo łatwiejsze, szybsze prostu porażka 171 00:08:11,900 --> 00:08:15,900 pracować w terminalu, aby robić te różne rzeczy. 172 00:08:15,900 --> 00:08:16,140 Okay. 173 00:08:16,140 --> 00:08:18,150 A potem te inne komendy. 174 00:08:18,150 --> 00:08:20,410 Jest rm do usunięcia pliku. 175 00:08:20,410 --> 00:08:22,690 Więc po prostu wpisać rm a następnie nazwa 176 00:08:22,690 --> 00:08:23,800 złożyć go usunąć. 177 00:08:23,800 --> 00:08:25,810 Pójdziemy do niektórych przykładów później. 178 00:08:25,810 --> 00:08:28,840 A potem mamy coś nazwie polecenia człowiek, który 179 00:08:28,840 --> 00:08:31,850 Pojawi się w instrukcji obsługi danego typu funkcji. 180 00:08:31,850 --> 00:08:34,419 Znowu będę wychowywać rzeczywisty przykład, że później. 181 00:08:37,360 --> 00:08:39,900 >> Tak więc kolejny bardzo ważne narzędzie, jak wspomniałem pokrótce 182 00:08:39,900 --> 00:08:41,280 wcześniej, jest styl. 183 00:08:41,280 --> 00:08:43,650 Więc zasadniczo, styl ma zrobić z czytelności. 184 00:08:43,650 --> 00:08:46,460 Czy ktoś będzie w stanie czytać, przestrzegać i 185 00:08:46,460 --> 00:08:47,670 zrozumieć swój kod? 186 00:08:47,670 --> 00:08:50,490 Jest to szczególnie ważne dla Ciebie, siebie, faktycznie. 187 00:08:50,490 --> 00:08:53,060 Jeśli zatrzymujesz się późno kodowania, a potem na ciebie 188 00:08:53,060 --> 00:08:55,940 wrócić i jesteś jak, co to zmienna oznacza? 189 00:08:55,940 --> 00:08:58,400 Powiedz, że pracujesz nad projektem grupy z kimś, a ty 190 00:08:58,400 --> 00:09:00,130 zarówno spojrzeć na kod nawzajem. 191 00:09:00,130 --> 00:09:03,380 To bardzo ważne, że nazywanie zmiennych poprawnie 192 00:09:03,380 --> 00:09:06,240 i sprawiają, że wyglądają ładnie, bo sprawia, że ​​cała różnica. 193 00:09:06,240 --> 00:09:08,270 Ale wtedy przede wszystkim, że jesteśmy w trakcie teraz. 194 00:09:08,270 --> 00:09:10,660 Więc dla interesu CS50 i specjalnie dla Państwa 195 00:09:10,660 --> 00:09:13,010 Stypendyści nauczania i równiarki, którzy będą patrząc na 196 00:09:13,010 --> 00:09:15,455 psets, proszę, proszę użyć właściwego stylu. 197 00:09:15,455 --> 00:09:18,980 A twoi koledzy nauczania będzie bardzo szczęśliwy. 198 00:09:18,980 --> 00:09:22,890 Więc znowu, styl obejmuje wcięć rzeczy poprawnie, 199 00:09:22,890 --> 00:09:26,380 szczególnie przy użyciu swoje szelki i wcięć tych. 200 00:09:26,380 --> 00:09:29,910 Nazywanie zmienne coś, co ma sens. 201 00:09:29,910 --> 00:09:32,330 W tej chwili zgodnie z konwencją, gdy masz 202 00:09:32,330 --> 00:09:35,240 kilka słów w nazwie zmiennej, a następnie 203 00:09:35,240 --> 00:09:37,480 połączyć je z podkreślenia, jak widać, że 204 00:09:37,480 --> 00:09:39,660 Przykład Nazwa tam. 205 00:09:39,660 --> 00:09:41,740 >> Wreszcie, coś o nazwie Magic Numbers. 206 00:09:41,740 --> 00:09:48,030 Zasadniczo, gdy czytasz poprzez kod i powiedzieć 207 00:09:48,030 --> 00:09:51,570 masz zmienna - 208 00:09:51,570 --> 00:09:56,680 powiedz, nie masz zmienną, ale po prostu powiedzieć w porządku do czasu, gdy 209 00:09:56,680 --> 00:09:58,600 i takie jest mniej niż 10. 210 00:09:58,600 --> 00:10:00,210 Wtedy twój równiarka będzie się dobrze, poczekaj, 211 00:10:00,210 --> 00:10:01,320 czego to 10 pochodzi? 212 00:10:01,320 --> 00:10:05,040 Więc tak naprawdę wyjaśnić sobie wiele spraw. 213 00:10:05,040 --> 00:10:06,740 Aby pomóc wyjaśnić siebie jest komentarzy. 214 00:10:06,740 --> 00:10:09,850 Komentarze są prawdopodobnie najważniejszą rzeczą do włączenia 215 00:10:09,850 --> 00:10:11,460 Twoje programy. 216 00:10:11,460 --> 00:10:15,440 I to pomaga nie tylko faktycznie wyjaśnić - 217 00:10:15,440 --> 00:10:17,220 to pomaga trochę wyjaśnić swoje rozumowanie jak 218 00:10:17,220 --> 00:10:17,870 idziesz wzdłuż. 219 00:10:17,870 --> 00:10:20,480 I tak, jeśli to zrobisz, ponownie, to będzie dużo łatwiejsze 220 00:10:20,480 --> 00:10:23,370 cofnąć się w kodzie i rodzaju rozumiem co masz 221 00:10:23,370 --> 00:10:24,080 tam robi. 222 00:10:24,080 --> 00:10:26,410 Ponownie, równiarki naprawdę jak komentarz. 223 00:10:26,410 --> 00:10:28,940 Więc dobrze i komentarz - 224 00:10:28,940 --> 00:10:29,970 coś w rodzaju darmowych punktów. 225 00:10:29,970 --> 00:10:32,340 A kto nie lubi darmowe punkty? 226 00:10:32,340 --> 00:10:33,910 Można również mieć kilka linii komentarz. 227 00:10:33,910 --> 00:10:36,630 I tak wliczone rodzaj szablonu tutaj. 228 00:10:36,630 --> 00:10:38,580 Zasadniczo, zazwyczaj są one wykorzystane na górze 229 00:10:38,580 --> 00:10:40,950 program do rodzaju wyjaśnić w ogóle to, co 230 00:10:40,950 --> 00:10:43,220 Twój zestaw Problem robi. 231 00:10:43,220 --> 00:10:46,130 Zawierać imię i nazwisko, datę, et cetera. 232 00:10:46,130 --> 00:10:49,030 I tak, jak powiedziałem w ten komentarz multi-line, 233 00:10:49,030 --> 00:10:56,260 manual.cs50.net/style_guide ma więcej wskazówek i przepisów o 234 00:10:56,260 --> 00:10:59,310 styl dla pętli, et cetera. 235 00:10:59,310 --> 00:10:59,740 >> Okay. 236 00:10:59,740 --> 00:11:03,600 Więc teraz, że mówiłem trochę o stylu, zobaczmy 237 00:11:03,600 --> 00:11:07,390 w działaniu. 238 00:11:07,390 --> 00:11:07,770 Dobrze. 239 00:11:07,770 --> 00:11:11,850 Więc tutaj, Tommy napisał nam uroczo straszne 240 00:11:11,850 --> 00:11:15,440 przykładem stylu w programie. 241 00:11:15,440 --> 00:11:17,170 Więc widać tutaj, w porządku. 242 00:11:17,170 --> 00:11:18,280 To jest właściwie wszystko w porządku. 243 00:11:18,280 --> 00:11:22,060 Widzisz wielowierszowego komentarz. 244 00:11:22,060 --> 00:11:25,120 Go uruchomić z ukośnikiem, a następnie dwie gwiazdki. 245 00:11:25,120 --> 00:11:28,580 Idziemy dalej, wyrównując gwiazdki wzdłuż linii 246 00:11:28,580 --> 00:11:30,540 i zakończyć go z gwiazdką i ukośnikiem. 247 00:11:30,540 --> 00:11:30,810 Dobrze. 248 00:11:30,810 --> 00:11:32,800 Więc to jest w porządku. 249 00:11:32,800 --> 00:11:33,760 To tutaj w porządku. 250 00:11:33,760 --> 00:11:35,110 On jest w tym jego bibliotek. 251 00:11:35,110 --> 00:11:38,790 Ale potem tu ma komentarzy obejmujących wiele wierszy. 252 00:11:38,790 --> 00:11:40,390 Istnieje wiele rzeczy, w tym złego. 253 00:11:40,390 --> 00:11:44,770 Komentarze zajmującego kilka linii, tutaj, że używa 254 00:11:44,770 --> 00:11:47,230 Składnia tylko pojedynczych komentarzach internetowych. 255 00:11:47,230 --> 00:11:53,140 On także spajanie wszystko w tym samym komentarzu. 256 00:11:53,140 --> 00:11:54,715 Dlatego chcemy, aby tego uniknąć. 257 00:11:57,710 --> 00:12:03,010 Następnie widać tutaj, że aparaty, na przykład, są 258 00:12:03,010 --> 00:12:03,730 na miejsce. 259 00:12:03,730 --> 00:12:06,950 Wcięcie jest źle. 260 00:12:06,950 --> 00:12:09,460 To naprawdę nie ma pokazać, gdzie coś definitywnie 261 00:12:09,460 --> 00:12:12,850 start i co innego się kończy. 262 00:12:12,850 --> 00:12:16,510 Wtedy także, widzimy, że ma określoną zmienną i = 5 tutaj. 263 00:12:16,510 --> 00:12:18,620 Ale wtedy to cztery przychodzi znikąd, i nie ma 264 00:12:18,620 --> 00:12:21,520 komentarz do naprawdę wyjaśnić, jeżeli pochodzi. 265 00:12:21,520 --> 00:12:22,130 >> Okay. 266 00:12:22,130 --> 00:12:28,760 Więc teraz spójrzmy na coś, co jest właściwie tylko same 267 00:12:28,760 --> 00:12:30,250 Kod chyba lepszym stylu. 268 00:12:30,250 --> 00:12:32,485 Więc jeszcze raz, to jest dobry przykład stylu, 269 00:12:32,485 --> 00:12:33,735 multi-line przykładem. 270 00:12:38,400 --> 00:12:39,735 I to tutaj jest całkiem czysta. 271 00:12:39,735 --> 00:12:43,500 Widzimy, że rozpoczyna if tutaj, wchodzi nowa 272 00:12:43,500 --> 00:12:46,400 line, ma otwarty nawias. 273 00:12:46,400 --> 00:12:48,740 Potem ma wcięcia. 274 00:12:48,740 --> 00:12:50,970 Trzyma to wcięcia - 275 00:12:50,970 --> 00:12:54,680 trzyma ten mundur wskazanie przez cały 276 00:12:54,680 --> 00:12:59,120 program i naprawdę widać, kiedy jeden blok kodu zaczyna, kiedy 277 00:12:59,120 --> 00:13:00,780 jeden blok kod kończy. 278 00:13:00,780 --> 00:13:04,410 To może wydawać się trochę nitpicky z naszej strony, aby rozpocząć 279 00:13:04,410 --> 00:13:06,370 z, ale zobaczymy jak piszesz kod. 280 00:13:06,370 --> 00:13:09,400 Jest to bardzo przydatne, aby móc oddzielić to. 281 00:13:09,400 --> 00:13:12,200 I znów, twój równiarki naprawdę podoba. 282 00:13:12,200 --> 00:13:14,360 A więc widzisz, zamiast wprowadzania numeru w 283 00:13:14,360 --> 00:13:17,510 Tam faktycznie nazwie zmiennej iteracji. 284 00:13:17,510 --> 00:13:20,160 I tak nie jesteśmy rzeczywiście patrząc na ten kod teraz 285 00:13:20,160 --> 00:13:22,450 ale tylko trochę widząc przykład 286 00:13:22,450 --> 00:13:23,780 dobry kontra zły styl. 287 00:13:23,780 --> 00:13:29,610 I tak, jeśli spojrzeć na nich obok siebie tu, byś 288 00:13:29,610 --> 00:13:32,910 Zdecydowanie preferuję czytać jeden po prawej stronie. 289 00:13:39,230 --> 00:13:40,100 >> Dobrze. 290 00:13:40,100 --> 00:13:42,710 Więc jedna rzecz zanim nurkować do prawdziwego mięsa 291 00:13:42,710 --> 00:13:46,260 pset jest jak skompilować i uruchomić kod. 292 00:13:46,260 --> 00:13:50,320 I tak w istocie, kiedy piszesz C, to nie jest faktycznie 293 00:13:50,320 --> 00:13:52,480 przetłumaczone na prawdziwego kodu maszyny, zer i 294 00:13:52,480 --> 00:13:56,000 Te, które maszyna może rzeczywiście odczytać i zinterpretować. 295 00:13:56,000 --> 00:13:57,170 Więc mamy coś - 296 00:13:57,170 --> 00:13:59,340 Clang jest kompilator, który używamy do C. 297 00:13:59,340 --> 00:14:00,270 Istnieje wiele kompilatorów. 298 00:14:00,270 --> 00:14:02,480 Ale w CS50, będziemy używać dzyń. 299 00:14:02,480 --> 00:14:05,480 I tak w zasadzie Clang tłumaczy z C na maszynie 300 00:14:05,480 --> 00:14:07,380 Kod dla Ciebie. 301 00:14:07,380 --> 00:14:10,170 Więc spójrzmy na przykład - nurkowanie do urządzenia tutaj. 302 00:14:14,550 --> 00:14:15,030 Dobrze. 303 00:14:15,030 --> 00:14:16,670 Więc teraz mamy w naszym katalogu domowym. 304 00:14:16,670 --> 00:14:18,680 Tak naprawdę nie są tam, gdzie każdy kod jest. 305 00:14:18,680 --> 00:14:24,740 Więc zmieńmy nasz katalog Dropbox/walkthrough1, gdzie 306 00:14:24,740 --> 00:14:25,930 Mam zapisany jakiś kod. 307 00:14:25,930 --> 00:14:29,340 Jeśli więc naciśnij ls, to zobaczymy, że mam 308 00:14:29,340 --> 00:14:31,230 Kilka plików w tutaj. 309 00:14:31,230 --> 00:14:31,700 >> Dobrze. 310 00:14:31,700 --> 00:14:35,280 Więc ja już napisałem hello.c, więc niech go skompilować 311 00:14:35,280 --> 00:14:36,670 a następnie sprawdzić, co robi. 312 00:14:36,670 --> 00:14:43,150 Tak więc podstawowa komenda kompilacji byłoby dzyń następnie hello.c, 313 00:14:43,150 --> 00:14:46,910 zasadniczo mówiąc okay, skompilować hello.c dla mnie. 314 00:14:46,910 --> 00:14:50,550 Klikam Enter, wydaje się, że już w porządku. 315 00:14:50,550 --> 00:14:52,590 Klikamy ls ponownie. 316 00:14:52,590 --> 00:14:55,230 Ten plik a.out obecnie widoczne. 317 00:14:55,230 --> 00:14:57,430 I tak a.out jest plik wykonywalny. 318 00:14:57,430 --> 00:15:05,330 Tak więc, aby go uruchomić, należy zrobić. / A.out. 319 00:15:05,330 --> 00:15:07,650 I tak widzimy, że ta hello.c Program najwyraźniej 320 00:15:07,650 --> 00:15:10,400 wypisuje powitalnych pięć razy. 321 00:15:10,400 --> 00:15:10,990 Dobrze. 322 00:15:10,990 --> 00:15:14,250 Ale powiedzieć, że nie chcemy korzystać z a.out nazw. 323 00:15:18,140 --> 00:15:21,080 Na przykład, chcemy uruchomić program, bo to witaj 324 00:15:21,080 --> 00:15:22,540 łatwiej zrozumieć. 325 00:15:22,540 --> 00:15:26,590 Więc powiedzmy hello.c dzyń, a następnie zasadniczo trzeba 326 00:15:26,590 --> 00:15:29,030 przechodzić w niektórych rzeczach zwanych flagi. 327 00:15:29,030 --> 00:15:31,600 Tak mówiąc w porządku, dobrze, że chcesz nazwać to coś innego. 328 00:15:31,600 --> 00:15:33,900 Możesz również przekazać w wielu różnych bander, 329 00:15:33,900 --> 00:15:34,620 co widzisz. 330 00:15:34,620 --> 00:15:37,510 Więc flaga dla nazwania czegoś programu, który 331 00:15:37,510 --> 00:15:39,780 chce to-o. 332 00:15:39,780 --> 00:15:42,470 Po-o, można wpisać nazwę programu. 333 00:15:42,470 --> 00:15:44,090 Nazwijmy go przywitać. 334 00:15:44,090 --> 00:15:49,050 >> Więc teraz widzimy, że rzeczywiście mają powitania plik wykonywalny. 335 00:15:49,050 --> 00:15:54,020 Tak więc możemy go uruchomić, i robi to samo, co wcześniej. 336 00:15:54,020 --> 00:15:56,210 Więc teraz, że mamy cześć, możemy również usunąć, na 337 00:15:56,210 --> 00:15:57,450 przykład nasz a.out. 338 00:15:57,450 --> 00:16:03,880 Więc rm do usuwania, a.out, terminal poprosi, zapytaj 339 00:16:03,880 --> 00:16:05,470 , aby potwierdzić, czy na pewno chcesz 340 00:16:05,470 --> 00:16:06,370 usunąć czy nie. 341 00:16:06,370 --> 00:16:10,000 Mówimy, y na tak. 342 00:16:10,000 --> 00:16:10,750 A tam idziemy. 343 00:16:10,750 --> 00:16:12,220 A.out ma. 344 00:16:12,220 --> 00:16:12,620 Dobrze. 345 00:16:12,620 --> 00:16:14,810 Ale czasami dostaje mylące pamiętam wszystko 346 00:16:14,810 --> 00:16:17,160 Flagi, które musimy włączyć i wpisać z brzękiem. 347 00:16:17,160 --> 00:16:20,410 I jak widzimy, kiedy używamy bardziej złożonych programów, dowiemy 348 00:16:20,410 --> 00:16:22,450 być w tym różnych bibliotek. 349 00:16:22,450 --> 00:16:27,230 A więc nasze polecenia do Clang dostaniesz dłuższe. 350 00:16:27,230 --> 00:16:30,660 Tak więc zawarte w CS50 Appliance jest polecenie make. 351 00:16:30,660 --> 00:16:33,880 Więc po prostu wpisać się przywitać. 352 00:16:33,880 --> 00:16:35,130 Ups. 353 00:16:36,860 --> 00:16:38,400 Mamy już ten plik wykonywalny. 354 00:16:38,400 --> 00:16:39,650 Więc pozwól mi po prostu usunąć to szybko. 355 00:16:42,260 --> 00:16:44,830 Teraz wpisz się przywitać. 356 00:16:44,830 --> 00:16:49,470 I widzisz w tym wierszu mówi tutaj, że zasadniczo się 357 00:16:49,470 --> 00:16:54,760 witam dotyczy wszystkich tych poleceń, które 358 00:16:54,760 --> 00:16:55,580 iść do niego na Ciebie. 359 00:16:55,580 --> 00:16:58,080 >> Tak więc zawarte w CS50 Appliance jest plik make. 360 00:16:58,080 --> 00:17:02,300 Tak po prostu, gdy masz nazwa.c pliku, a następnie wszystko co robisz 361 00:17:02,300 --> 00:17:03,680 jest powiedzieć, uczynić nazwę pliku. 362 00:17:03,680 --> 00:17:04,800 A potem będziesz mieć plik wykonywalny 363 00:17:04,800 --> 00:17:06,200 plik o tej nazwie. 364 00:17:06,200 --> 00:17:06,675 Tak? 365 00:17:06,675 --> 00:17:09,525 >> SPEAKER 1: Na moim komputerze, zamiast Clang mówi GCC. 366 00:17:09,525 --> 00:17:11,910 Jest to, że jak - 367 00:17:11,910 --> 00:17:12,109 ZAMYLA CHAN: Tak. 368 00:17:12,109 --> 00:17:15,700 Więc komputer może powiedzieć GCC w przeciwieństwie do Clang ponieważ 369 00:17:15,700 --> 00:17:18,180 GCC jest inny rodzaj kompilatora. 370 00:17:18,180 --> 00:17:20,460 Jeśli jesteś w CS50 Appliance choć, to 371 00:17:20,460 --> 00:17:21,810 należy za pomocą szczęk. 372 00:17:24,619 --> 00:17:27,880 Jeśli nie jest, to może przyjść do mnie porozmawiać później lub wysłać 373 00:17:27,880 --> 00:17:29,595 Omów na CS50 i możemy sortować, że obecnie. 374 00:17:34,510 --> 00:17:35,710 >> Dobrze. 375 00:17:35,710 --> 00:17:39,250 Więc teraz, że mamy rodzaj podstawowych narzędzi w dół, potem 376 00:17:39,250 --> 00:17:43,060 Można zanurzyć się Mario. 377 00:17:43,060 --> 00:17:43,550 Okay. 378 00:17:43,550 --> 00:17:47,360 Więc Mario jest program, w którym w istocie jesteśmy będzie 379 00:17:47,360 --> 00:17:50,800 że nasz własny rodzaj prymitywnej wersji Mario 380 00:17:50,800 --> 00:17:51,410 tło gry. 381 00:17:51,410 --> 00:17:54,790 Wiesz, Mario ma zwykle rury i 382 00:17:54,790 --> 00:17:55,670 drzewo i kilka bloków. 383 00:17:55,670 --> 00:17:59,390 A potem to rodzaj piramidy pół. 384 00:17:59,390 --> 00:18:02,100 Więc jesteśmy po prostu będzie się koncentrować na tej piramidy pół, 385 00:18:02,100 --> 00:18:05,350 czyniąc tak, że kod wyświetla skróty do rodzaju 386 00:18:05,350 --> 00:18:07,500 bloków w tym formacie. 387 00:18:07,500 --> 00:18:10,800 Więc co się stanie, to użytkownik będzie wejście pewne 388 00:18:10,800 --> 00:18:13,130 wysokość piramidy, a potem wydrukować, że obecnie 389 00:18:13,130 --> 00:18:17,410 takie, że w lewym dolnym rogu hash - 390 00:18:17,410 --> 00:18:21,270 więc na samym dole tutaj - że jeden będzie wyrównać 391 00:18:21,270 --> 00:18:23,820 z lewej dolnej części terminalu. 392 00:18:26,720 --> 00:18:27,360 Okay. 393 00:18:27,360 --> 00:18:29,860 >> Tak więc pierwszą rzeczą, którą trzeba - 394 00:18:29,860 --> 00:18:33,120 pierwszy mały mini problemem musimy się zmierzyć to, jak 395 00:18:33,120 --> 00:18:34,640 uzyskać dane wejściowe użytkownika. 396 00:18:34,640 --> 00:18:40,020 Musimy więc mieć do czynienia z tym, co użytkownik, a następnie wejść 397 00:18:40,020 --> 00:18:41,060 rodzaju rzeczy wyjściowych tam. 398 00:18:41,060 --> 00:18:47,630 Więc spójrzmy wyglądać plik o nazwie apples.c że napisałem 399 00:18:47,630 --> 00:18:52,670 , która zajmuje się wejść i wyjść. 400 00:18:52,670 --> 00:18:53,240 Okay. 401 00:18:53,240 --> 00:18:55,970 Więc w górę, podaję niektóre bibliotek 402 00:18:55,970 --> 00:18:56,540 że muszę. 403 00:18:56,540 --> 00:19:00,700 Naprawdę ważne tutaj jest stdio (standard I / O). , Która zajmuje 404 00:19:00,700 --> 00:19:02,760 standardowych wejść i wyjść, bo będziemy 405 00:19:02,760 --> 00:19:04,600 mieć do czynienia z wejść użytkowników. 406 00:19:04,600 --> 00:19:04,960 Dobrze. 407 00:19:04,960 --> 00:19:06,660 Więc zacznę główną funkcję. 408 00:19:06,660 --> 00:19:11,310 I wtedy zwrócić się do użytkownika w porządku, ile jabłek masz? 409 00:19:11,310 --> 00:19:13,650 Wtedy właśnie tutaj, co ta linia jest - 410 00:19:13,650 --> 00:19:18,420 Przypisać zmienna i do wartości getInt. 411 00:19:18,420 --> 00:19:22,890 >> Więc getInt to funkcja, która jest zawarta w stdio. 412 00:19:22,890 --> 00:19:26,090 I tak zasadniczo, że zajmie się tym za Ciebie. 413 00:19:26,090 --> 00:19:27,900 Poprosi użytkownika o int. 414 00:19:27,900 --> 00:19:30,600 Cokolwiek oni powrócić, który zostanie przypisany do 415 00:19:30,600 --> 00:19:32,020 zmiennej i. 416 00:19:32,020 --> 00:19:35,620 I tak to jest to tylko mały program, który zmniejsza 417 00:19:35,620 --> 00:19:39,160 wartość i przez 1, a następnie drukuje nową wartość. 418 00:19:39,160 --> 00:19:42,420 Zaletą gedit jest rzeczywiście, że jest mini 419 00:19:42,420 --> 00:19:43,720 prawy zacisk tutaj. 420 00:19:43,720 --> 00:19:46,670 Więc zamiast konieczności przełączania do przodu i do tyłu pomiędzy 421 00:19:46,670 --> 00:19:48,120 gedit i terminal, można rzeczywiście 422 00:19:48,120 --> 00:19:49,100 wystarczy uruchomić go z tego miejsca. 423 00:19:49,100 --> 00:19:52,070 Więc najpierw dostać się do odpowiedniego katalogu. 424 00:19:52,070 --> 00:19:54,230 Więc zmieńmy nasze katalogi do 425 00:19:54,230 --> 00:19:55,480 Dropbox/walkthrough1. 426 00:19:57,160 --> 00:19:57,840 Dobrze. 427 00:19:57,840 --> 00:20:03,400 Więc teraz zróbmy jabłka, kompiluje się za nami. 428 00:20:03,400 --> 00:20:06,640 I tak teraz niech uruchomić jabłka. 429 00:20:06,640 --> 00:20:08,420 Ile jabłek mamy? 430 00:20:08,420 --> 00:20:09,630 I powiedzieć, że mam 3. 431 00:20:09,630 --> 00:20:12,060 I to mówi "mwahaha będę jeść jeden z nich" i powie 432 00:20:12,060 --> 00:20:13,610 "Masz teraz 2 jabłka". 433 00:20:13,610 --> 00:20:14,220 >> Dobrze. 434 00:20:14,220 --> 00:20:16,390 Więc niech się temu ponownie. 435 00:20:16,390 --> 00:20:19,040 I powiedzmy, że mam 1 jabłko. 436 00:20:19,040 --> 00:20:19,940 Teraz mam 0 jabłka. 437 00:20:19,940 --> 00:20:20,180 Okay. 438 00:20:20,180 --> 00:20:22,460 Więc ten program wydaje się działać zgodnie z oczekiwaniami. 439 00:20:22,460 --> 00:20:25,070 Mamy wejście szereg, to spada do 1, a następnie 440 00:20:25,070 --> 00:20:27,290 drukuje go ponownie. 441 00:20:27,290 --> 00:20:31,950 Ale co, jeśli, na przykład, mam -1 jabłka? 442 00:20:31,950 --> 00:20:33,440 To nie całkiem sensu. 443 00:20:33,440 --> 00:20:37,430 Ale to jeszcze całkowite, więc program akceptuje. 444 00:20:37,430 --> 00:20:41,090 I tak to zwraca ci jeszcze ujemną. 445 00:20:41,090 --> 00:20:44,700 Więc to jest jedna lekcja dla nas, że choć getInt 446 00:20:44,700 --> 00:20:46,700 Funkcja i inne związane z nich, takie jak 447 00:20:46,700 --> 00:20:48,260 GetFloat lub GetString - 448 00:20:48,260 --> 00:20:51,490 nawet jeśli te otrzymają nam odpowiedni rodzaj danych, na 449 00:20:51,490 --> 00:20:55,750 przykład, gdybym tylko powiedział [TYPING] 450 00:20:55,750 --> 00:20:57,380 wtedy byłoby mi powiedzieć, aby ponowić próbę. 451 00:20:57,380 --> 00:21:01,860 Więc to będzie zajmować się niezależnie od danych wpisz swój wkład 452 00:21:01,860 --> 00:21:04,650 jest, ale nie faktycznie sprawdzić, cóż, to właściwie rodzaj 453 00:21:04,650 --> 00:21:07,820 wartość, że chcę? 454 00:21:07,820 --> 00:21:12,370 Tak więc jedna część Mario jest, że użytkownik ma do wejścia 455 00:21:12,370 --> 00:21:15,400 liczbę reprezentującą wysokość piramidy pół 456 00:21:15,400 --> 00:21:16,360 że robisz. 457 00:21:16,360 --> 00:21:21,000 I tak wtedy, jeśli jesteśmy skłoniło tego użytkownika na wysokości, a następnie 458 00:21:21,000 --> 00:21:25,480 powinny istnieć dwa granice na ten temat. 459 00:21:25,480 --> 00:21:28,040 Zgadza się? 460 00:21:28,040 --> 00:21:31,150 W specyfikacji, to mówi, że nie powinno być więcej niż 23 461 00:21:31,150 --> 00:21:32,630 znaków, ponieważ jest to swego rodzaju norma 462 00:21:32,630 --> 00:21:34,450 Wzrost terminalu. 463 00:21:34,450 --> 00:21:37,590 Ale wtedy, co inne ograniczenie, może dolny pułap może 464 00:21:37,590 --> 00:21:38,840 chcemy dołączyć? 465 00:21:41,180 --> 00:21:44,350 >> Jeśli mamy rzeczywiście rysunek piramidy, rodzaj myślenia powrót 466 00:21:44,350 --> 00:21:48,460 do jakiego można piramidy, może być niższa niż kiedykolwiek 467 00:21:48,460 --> 00:21:49,132 pewna liczba? 468 00:21:49,132 --> 00:21:50,490 SPEAKER 2: Większy niż trzy. 469 00:21:50,490 --> 00:21:50,560 ZAMYLA CHAN: Hmm? 470 00:21:50,560 --> 00:21:52,630 SPEAKER 2: Większy niż trzy. 471 00:21:52,630 --> 00:21:54,850 ZAMYLA Chandler: To jest dobry punkt. 472 00:21:54,850 --> 00:21:57,860 To może być - 473 00:21:57,860 --> 00:22:00,700 możemy chcieć, aby ograniczyć go tylko trzy piramidy poziomu. 474 00:22:00,700 --> 00:22:02,120 Ale pomyślmy - 475 00:22:02,120 --> 00:22:06,510 powiedzmy jak jeden liczy tabeli mieszania jak piramidy też. 476 00:22:06,510 --> 00:22:09,031 Następnie co powinno nasza rzeczywista dolną granicą jest? 477 00:22:12,260 --> 00:22:13,760 Wracając myślami do jabłek, nie chcemy 478 00:22:13,760 --> 00:22:15,020 negatywny piramida wysokość. 479 00:22:15,020 --> 00:22:15,460 Zgadza się? 480 00:22:15,460 --> 00:22:15,720 Okay. 481 00:22:15,720 --> 00:22:19,060 Więc kiedy pytasz o wprowadzanych przez użytkownika, a następnie będziesz musiał 482 00:22:19,060 --> 00:22:21,980 to jakiś sposób na upewnienie się, że liczba całkowita 483 00:22:21,980 --> 00:22:24,970 one zapewnić Państwu nie jest negatywna, ponieważ nie można 484 00:22:24,970 --> 00:22:28,180 narysować negatywny piramidę. 485 00:22:28,180 --> 00:22:28,410 >> Okay. 486 00:22:28,410 --> 00:22:30,190 Tak więc istnieje kilka sposobów, aby to zrobić. 487 00:22:30,190 --> 00:22:34,420 Zasadniczo, gdy prosisz o dane wprowadzone przez użytkownika chcesz żądać 488 00:22:34,420 --> 00:22:37,080 które zapewniają z odpowiedniego wejścia. 489 00:22:37,080 --> 00:22:40,120 Więc chcesz żądać zapewniają z kilku 490 00:22:40,120 --> 00:22:46,630 , że nie jest negatywna, ale również mniej niż 24. 491 00:22:46,630 --> 00:22:49,510 Tak więc mamy do czynienia z zera do 23 włącznie. 492 00:22:49,510 --> 00:22:50,070 Dobrze. 493 00:22:50,070 --> 00:22:52,830 Dlatego chcemy, aby nieustannie domagać - 494 00:22:52,830 --> 00:22:55,720 jeśli nie dały nam prawidłową liczbą całkowitą, chcą 495 00:22:55,720 --> 00:22:57,350 ciągle żądać nie. 496 00:22:57,350 --> 00:22:59,770 Daj mi ważny wkład. 497 00:22:59,770 --> 00:23:02,270 Daj mi prawidłowy wzrost. 498 00:23:02,270 --> 00:23:06,970 Więc przypominam powrotem Scratch mieliśmy Powtarzaj aż do bloku lub 499 00:23:06,970 --> 00:23:08,950 Zawsze Jeśli bloku. 500 00:23:08,950 --> 00:23:12,345 Pętle są te, które są bardzo podobne do pętli i 501 00:23:12,345 --> 00:23:14,960 zrobić, gdy pętla, która zajmiemy się tylko w drugim. 502 00:23:14,960 --> 00:23:19,790 Więc pętla zasadniczo zawiera warunek, że sprawdzisz 503 00:23:19,790 --> 00:23:23,240 to wartość logiczna, które można umieścić wewnątrz tam, podobnie jak 504 00:23:23,240 --> 00:23:25,740 bloki w Scratch z kątów. 505 00:23:25,740 --> 00:23:29,550 To, co dzieje się w nawiasie w pętli while. 506 00:23:29,550 --> 00:23:31,830 Więc musisz mieć jakiś warunek tam. 507 00:23:31,830 --> 00:23:36,540 A jak właśnie wspomniano wcześniej, warunek ten 508 00:23:36,540 --> 00:23:40,250 mają do czynienia z granicach liczby całkowitej, który został wprowadzony. 509 00:23:40,250 --> 00:23:44,040 Więc warunek miałby coś z tego, czy 510 00:23:44,040 --> 00:23:48,600 całkowita jest w odpowiednich granicach. 511 00:23:48,600 --> 00:23:49,410 >> Więc to jest pętla while. 512 00:23:49,410 --> 00:23:52,580 Na przykład, możesz zwrócić się do liczby całkowitej, a następnie 513 00:23:52,580 --> 00:23:56,070 stałą kontrolę podczas wejście to nie jest ważne. 514 00:23:56,070 --> 00:23:59,810 Na przykład, na bieżąco ponownego monitowania, ciągle pytając 515 00:23:59,810 --> 00:24:01,600 użytkownika do liczby całkowitej. 516 00:24:01,600 --> 00:24:03,780 Tak, że może być w jedną stronę. 517 00:24:03,780 --> 00:24:06,240 Innym sposobem może być wykonać w pętli, która jest bardzo 518 00:24:06,240 --> 00:24:10,130 podobna do pętli while, z wyjątkiem tego, co zrobić, gdy nie jest - 519 00:24:10,130 --> 00:24:12,600 można zobaczyć przez rodzaj składni - 520 00:24:12,600 --> 00:24:18,540 jest to, że ma zrobić, a następnie rzeczywistego ciała pętli pierwszy. 521 00:24:18,540 --> 00:24:20,280 Potem ma warunków jednocześnie. 522 00:24:20,280 --> 00:24:22,060 Co więc zrobić, gdy pętle - 523 00:24:22,060 --> 00:24:25,470 co są przydatne jest to, że faktycznie wykonuje 524 00:24:25,470 --> 00:24:29,130 kod co najmniej raz, a następnie sprawdzić, czy warunek jest 525 00:24:29,130 --> 00:24:30,030 spełnione. 526 00:24:30,030 --> 00:24:32,510 Więc jeśli były zrobić zrobić podczas pętli, a następnie wewnątrz 527 00:24:32,510 --> 00:24:35,210 Oświadczenie można skłonić do liczby całkowitej, ponieważ będziesz w 528 00:24:35,210 --> 00:24:37,180 najmniej zadać użytkownikowi raz. 529 00:24:37,180 --> 00:24:40,850 A potem po skłonić ich, można powiedzieć, w porządku, 530 00:24:40,850 --> 00:24:43,110 dobrze, kiedy już to zrobisz, to jest ważne? 531 00:24:43,110 --> 00:24:44,810 Jeśli tak jest, to możesz po prostu grać do woli. 532 00:24:44,810 --> 00:24:47,310 Ale jeśli nie jest, to będzie to po prostu zachowywać się jak podczas regularnych 533 00:24:47,310 --> 00:24:49,240 pętli, a następnie przechowywać na pytania. 534 00:24:53,590 --> 00:24:54,670 >> Okay. 535 00:24:54,670 --> 00:24:57,120 Więc wracamy do Mario. 536 00:24:57,120 --> 00:25:01,740 Tak więc wiemy, jak skłonić do prawidłowego wprowadzania danych przez użytkownika, który jest 537 00:25:01,740 --> 00:25:03,160 w ramach odpowiednich granicach. 538 00:25:03,160 --> 00:25:07,100 Więc teraz faktycznie trzeba wyciągnąć ten piramidę pół. 539 00:25:07,100 --> 00:25:08,730 Wygląda na to, prostych znaków tekstu. 540 00:25:08,730 --> 00:25:10,360 Więc faktycznie otwarty - 541 00:25:14,280 --> 00:25:17,190 niech po prostu otworzyć okno i powiedzieć, dobrze, dobrze, co, gdybym 542 00:25:17,190 --> 00:25:24,960 rzeczywiście będzie to zrobić ręcznie, wpisz jeden samodzielnie? 543 00:25:24,960 --> 00:25:25,780 Okay. 544 00:25:25,780 --> 00:25:26,910 Zobaczmy więc. 545 00:25:26,910 --> 00:25:30,070 Powiedzmy, na przykład, chcemy zrobić piramidę, która jest 546 00:25:30,070 --> 00:25:32,090 ustawione wzdłuż lewej strony, a potem po prostu zrobić - 547 00:25:34,710 --> 00:25:37,750 w Mario, górny poziom ma dwa bloki zamiast jednego. 548 00:25:37,750 --> 00:25:39,080 Więc zaczynamy od dwóch. 549 00:25:39,080 --> 00:25:40,700 Klikamy Enter. 550 00:25:40,700 --> 00:25:45,670 Mamy trzy, a potem cztery, Enter, pięć. 551 00:25:45,670 --> 00:25:45,980 Okay. 552 00:25:45,980 --> 00:25:46,790 Więc to jest bardzo proste. 553 00:25:46,790 --> 00:25:50,210 Poza tym zestawem problemów, chcemy faktycznie dostosowanie do 554 00:25:50,210 --> 00:25:52,250 prawej stronie naszego ekranu. 555 00:25:52,250 --> 00:25:52,630 Dobrze. 556 00:25:52,630 --> 00:25:58,870 Tak, jak można się z was faktycznie wpisz to takie, że 557 00:25:58,870 --> 00:26:01,810 to jest ustawione wzdłuż prawej? 558 00:26:01,810 --> 00:26:08,550 Zamiast umieszczać hash pierwsze, jak można rodzaj 559 00:26:08,550 --> 00:26:10,040 przenieść go ze sobą? 560 00:26:10,040 --> 00:26:11,360 SPEAKER 3: Napisz wiersz? 561 00:26:11,360 --> 00:26:11,800 ZAMYLA CHAN: Hmm? 562 00:26:11,800 --> 00:26:13,030 SPEAKER 3: Napisz wiersz? 563 00:26:13,030 --> 00:26:13,110 ZAMYLA CHAN: Tak. 564 00:26:13,110 --> 00:26:13,390 Tak. 565 00:26:13,390 --> 00:26:15,080 Możesz napisać jak podkreślenia czy coś 566 00:26:15,080 --> 00:26:19,370 , ale możemy tylko powiedzieć używać spacji. 567 00:26:19,370 --> 00:26:21,500 Postawmy się w jak trzy spacje tutaj. 568 00:26:21,500 --> 00:26:24,760 Potem następna linia, dobrze, że musimy umieścić dwie spacje. 569 00:26:24,760 --> 00:26:26,500 Kolejny wiersz, po prostu umieścić jeden przestrzeń. 570 00:26:26,500 --> 00:26:30,340 I wtedy na naszej ostatniej linii, nie mielibyśmy kłopotów żadnych spacji. 571 00:26:30,340 --> 00:26:32,210 I tam mamy piramidę. 572 00:26:32,210 --> 00:26:33,170 >> Tak, że to rodzaj - 573 00:26:33,170 --> 00:26:37,290 Pamiętam ten rodzaj logiki. 574 00:26:37,290 --> 00:26:39,340 I spróbować dowiedzieć się jakiś wzór, który możemy, 575 00:26:39,340 --> 00:26:43,690 następnie przełożyć na C i angażować w jakieś pętli. 576 00:26:43,690 --> 00:26:43,930 Dobrze. 577 00:26:43,930 --> 00:26:48,130 Tak mówimy mieć wysokość osiem, to nasz pierwszy wiersz będzie miał 578 00:26:48,130 --> 00:26:48,980 dwa skróty. 579 00:26:48,980 --> 00:26:53,030 Jednak, aby te skróty, trzeba by napisać trochę 580 00:26:53,030 --> 00:26:54,000 obowiązuje wcześniej. 581 00:26:54,000 --> 00:26:55,840 Zgadza się? 582 00:26:55,840 --> 00:26:57,340 Co zrobiłem to właśnie przeszedł. 583 00:26:57,340 --> 00:27:00,150 Wyciągnąłem go z siebie, piramidy w moim edytorze tekstu, 584 00:27:00,150 --> 00:27:03,800 piramidy o wysokości ośmiu i oblicza liczbę 585 00:27:03,800 --> 00:27:05,180 obowiązuje musiałem zrobić. 586 00:27:05,180 --> 00:27:07,350 Więc powiedziałem: dobrze, dobrze pierwszy wiersz jest 587 00:27:07,350 --> 00:27:08,260 będzie mieć dwa hashe. 588 00:27:08,260 --> 00:27:11,100 Ale przed tym, muszę wejść siedem miejsc. 589 00:27:11,100 --> 00:27:13,420 Następny ma sześć miejsc, a następnie 590 00:27:13,420 --> 00:27:15,610 trzy skróty, et cetera. 591 00:27:15,610 --> 00:27:20,520 >> Więc spróbujmy i doprowadzić to do innej warstwy 592 00:27:20,520 --> 00:27:21,330 abstrakcja. 593 00:27:21,330 --> 00:27:26,680 Co zrobić, jeśli mieliśmy do n-tego rzędu, jak wiele i jak skróty 594 00:27:26,680 --> 00:27:27,960 wiele miejsca będzie nam potrzebne? 595 00:27:27,960 --> 00:27:30,750 Czy ktoś zobaczyć wzór? 596 00:27:35,200 --> 00:27:37,560 Więc pierwszy wiersz ma dwa hashe. 597 00:27:37,560 --> 00:27:39,720 Druga ma trzy. 598 00:27:39,720 --> 00:27:42,120 Trzeci ma cztery. 599 00:27:42,120 --> 00:27:45,398 Więc nth rząd musiałby - 600 00:27:45,398 --> 00:27:46,800 GŁOŚNIK 4: N plus 1? 601 00:27:46,800 --> 00:27:47,170 ZAMYLA CHAN: Tak. 602 00:27:47,170 --> 00:27:47,780 N plus 1. 603 00:27:47,780 --> 00:27:49,030 Dokładnie. 604 00:27:52,810 --> 00:27:56,470 Tak więc widzimy, że liczba skrótów będzie - 605 00:27:56,470 --> 00:27:59,510 Jeśli liczymy pierwszy wiersz jeden, liczba 606 00:27:59,510 --> 00:28:03,850 z mieszania jest po prostu będzie jeden więcej. 607 00:28:03,850 --> 00:28:04,150 Okay. 608 00:28:04,150 --> 00:28:06,350 Więc co z tym liczba miejsc? 609 00:28:06,350 --> 00:28:10,120 Więc spróbować wyrazić w zakresie wysokości. 610 00:28:10,120 --> 00:28:12,570 Jeśli wysokość jest osiem, to pierwszy 611 00:28:12,570 --> 00:28:15,260 Wiersz ma siedem miejsc. 612 00:28:15,260 --> 00:28:18,215 Tak więc tego rodzaju odpowiada 8 minus 1. 613 00:28:18,215 --> 00:28:19,030 Zgadza się? 614 00:28:19,030 --> 00:28:22,420 Więc drugi wiersz ma mieć sześć pomieszczeń, 615 00:28:22,420 --> 00:28:25,340 który jest 8 minus 2. 616 00:28:28,420 --> 00:28:31,450 Więc mam zamiar zostawić je do Ciebie do rodzaju dowiedzieć 617 00:28:31,450 --> 00:28:33,610 wzór do tego. 618 00:28:33,610 --> 00:28:34,010 >> Okay. 619 00:28:34,010 --> 00:28:37,450 Ale w programie, czasami rzeczywiście wskaźnik zera. 620 00:28:37,450 --> 00:28:39,680 Więc zaczynamy od zera, zamiast jednego. 621 00:28:39,680 --> 00:28:46,250 Zamiast więc w pierwszym rzędzie wywoływanej pierwszy wiersz, 622 00:28:46,250 --> 00:28:48,930 będziemy się nazywając to 0-ty wiersz. 623 00:28:48,930 --> 00:28:51,360 Więc w zależności od sposobu, w jaki chcesz wdrożyć, być 624 00:28:51,360 --> 00:28:55,120 bardzo uważać, czy od zera, czy zaczynają się 625 00:28:55,120 --> 00:28:58,400 jeden, Twój wzór będzie przesunięcie o jeden. 626 00:29:02,270 --> 00:29:02,880 Okay. 627 00:29:02,880 --> 00:29:05,460 Więc teraz, że rodzaj zorientowali się program, możemy 628 00:29:05,460 --> 00:29:06,310 muszę powiedzieć, okay. 629 00:29:06,310 --> 00:29:11,540 Więc dla każdego rodzaju poziomie schodów, mam zamiar wydrukować 630 00:29:11,540 --> 00:29:14,390 taka a taka ilość miejsc i takie i 631 00:29:14,390 --> 00:29:16,550 np. liczba skrótów. 632 00:29:16,550 --> 00:29:19,550 To zależy od wzoru, który ustaliliśmy wcześniej. 633 00:29:19,550 --> 00:29:19,810 Okay. 634 00:29:19,810 --> 00:29:23,600 Więc jeden sposób iteracja i rodzaj dzieje 635 00:29:23,600 --> 00:29:27,670 przez określoną liczbę rzeczy jest dla pętli, trochę jak 636 00:29:27,670 --> 00:29:31,040 powtórz 10 blok lub jak powtarzanie i wprowadzony 637 00:29:31,040 --> 00:29:33,810 numer dla Scratch. 638 00:29:33,810 --> 00:29:38,050 Więc zasadniczo, na każdym poziomie schodów, będziemy chcieli 639 00:29:38,050 --> 00:29:39,650 wydrukować spacje pierwszy. 640 00:29:39,650 --> 00:29:43,020 Następnie wydrukować liczbę skrótów. 641 00:29:43,020 --> 00:29:46,480 A następnie będziemy chcieli wprowadzić nowy wiersz, a następnie powtórzyć 642 00:29:46,480 --> 00:29:49,750 ponownie do kolejnego bloku. 643 00:29:49,750 --> 00:29:50,720 Okay. 644 00:29:50,720 --> 00:29:55,080 >> Więc spójrzmy na pętli za sekundę do rodzaju zobaczyć jeden sposób 645 00:29:55,080 --> 00:29:59,460 że możemy przejść przez określoną liczbę, przejść przez liczby 646 00:29:59,460 --> 00:30:02,250 kroków w tej piramidzie pół. 647 00:30:02,250 --> 00:30:04,220 Tak pętli składa się z trzech części. 648 00:30:04,220 --> 00:30:08,150 Po pierwsze, masz inicjalizacji. 649 00:30:08,150 --> 00:30:13,220 Tak, że w zasadzie ustawia zmienną. 650 00:30:13,220 --> 00:30:15,130 To będzie być ustawione do tej wartości za każdym razem, 651 00:30:15,130 --> 00:30:17,110 że dla startów pętli. 652 00:30:17,110 --> 00:30:18,540 Wtedy będziesz mieć warunek. 653 00:30:18,540 --> 00:30:21,640 Twój na pętli będzie wykonywał tylko tak długo, jak 654 00:30:21,640 --> 00:30:25,630 warunek jest prawdziwy. 655 00:30:25,630 --> 00:30:28,000 I wtedy będziesz miał stan aktualizacji. 656 00:30:28,000 --> 00:30:32,450 Tak, że ma do czynienia z zmiennej, która zainicjowana. 657 00:30:32,450 --> 00:30:38,120 Więc jakiś sposób w zasadzie zapewnienie, że możemy wyrwać 658 00:30:38,120 --> 00:30:40,070 z pętli, że nie trzymają się na realizacji 659 00:30:40,070 --> 00:30:41,310 to na wieki wieków. 660 00:30:41,310 --> 00:30:43,760 Ponieważ w przeciwieństwie Scratch, faktycznie nie ma po prostu 661 00:30:43,760 --> 00:30:45,680 zwykły loop Forever. 662 00:30:45,680 --> 00:30:48,100 W C, program musi zakończyć ostatecznie. 663 00:30:48,100 --> 00:30:52,290 Musimy więc zapewnić, że w jakiś sposób mamy go zatrzymać. 664 00:30:52,290 --> 00:30:52,830 >> Okay. 665 00:30:52,830 --> 00:30:56,260 Więc przykładem dla pętli, które można użyć do 666 00:30:56,260 --> 00:30:57,530 Mario jest to. 667 00:30:57,530 --> 00:31:02,290 Więc masz całkowitą i że zaczynają się 0. 668 00:31:02,290 --> 00:31:08,050 Pod warunkiem, że jest mniejsza niż wysokość, można wykonać korpus 669 00:31:08,050 --> 00:31:11,140 z pętli wewnątrz o. 670 00:31:11,140 --> 00:31:13,820 Następnie ciało pętli jest wykonywany, a następnie byś 671 00:31:13,820 --> 00:31:15,290 podwyższenie I przez 1. 672 00:31:15,290 --> 00:31:18,510 Wtedy twój program będzie sprawdzić jeszcze raz - w porządku, dobrze, jest i mniej niż 673 00:31:18,510 --> 00:31:18,885 wysokość? 674 00:31:18,885 --> 00:31:21,865 Jeśli tak, to wtedy można kontynuować. 675 00:31:24,630 --> 00:31:27,790 Więc tutaj jest przykład zerowej indeksowania, gdzie zaczynamy w 676 00:31:27,790 --> 00:31:29,100 zero, a potem - 677 00:31:29,100 --> 00:31:30,970 zauważyć, że nasz stan jest mniejsza niż wysokość. 678 00:31:30,970 --> 00:31:34,510 Więc powiedzieć, że nasze Wzrost jest cztery, na przykład, i 679 00:31:34,510 --> 00:31:35,470 rozpocznie się na 0. 680 00:31:35,470 --> 00:31:36,180 To będzie 1. 681 00:31:36,180 --> 00:31:36,730 To będzie 2. 682 00:31:36,730 --> 00:31:37,940 To będzie 3. 683 00:31:37,940 --> 00:31:42,310 A następnie raz aktualizuje, gdy aktualizacje pętli, i będzie 684 00:31:42,310 --> 00:31:43,650 być ustawiona na 4. 685 00:31:43,650 --> 00:31:47,080 Ale 4 nie jest mniejsza niż 4, a więc wtedy byłoby 686 00:31:47,080 --> 00:31:50,340 nadal reszty naszej pętli. 687 00:31:50,340 --> 00:31:50,870 >> Okay. 688 00:31:50,870 --> 00:31:51,680 Tak, że zaczyna się od zera. 689 00:31:51,680 --> 00:31:53,470 Ale można również uruchomić w jednym, na przykład. 690 00:31:53,470 --> 00:31:56,960 Ale skoro zaczynamy w jednym, mamy rodzaj iść jeden 691 00:31:56,960 --> 00:31:57,920 czas końca. 692 00:31:57,920 --> 00:32:02,800 Więc dlatego dodawać mniejsza lub równa. 693 00:32:02,800 --> 00:32:05,780 Więc jednym z najlepszych rzeczy, które lubię o komputerze 694 00:32:05,780 --> 00:32:06,930 programowania jest to, że tylko tak 695 00:32:06,930 --> 00:32:08,370 wiele sposobów, aby zrobić rzeczy. 696 00:32:08,370 --> 00:32:11,300 Tak więc można wybrać, czy od zera, czy 697 00:32:11,300 --> 00:32:12,330 rozpocząć w jednym. 698 00:32:12,330 --> 00:32:15,400 Ponadto, jeśli chcesz, możesz po prostu użyć 699 00:32:15,400 --> 00:32:16,600 przy pętli, na przykład. 700 00:32:16,600 --> 00:32:18,890 Więc może - 701 00:32:18,890 --> 00:32:20,270 niech faktycznie otwarty hello.c. 702 00:32:26,200 --> 00:32:28,600 Tak więc mamy do pętli tutaj. 703 00:32:28,600 --> 00:32:31,330 Zaczyna się i = 0, i <5. 704 00:32:31,330 --> 00:32:33,550 Mam komentarz tutaj informujący nas, co robi. 705 00:32:33,550 --> 00:32:36,300 Wypisuje komentarzy pięć razy za pomocą pętli for. 706 00:32:36,300 --> 00:32:41,690 Ale możemy też zrobić za pomocą pętli while, jak również. 707 00:32:41,690 --> 00:32:48,290 >> Warto więc zastanowić się, jak możemy to zrobić. 708 00:32:48,290 --> 00:32:51,010 Więc jeśli chcemy naśladować dla pętli, to chcemy także 709 00:32:51,010 --> 00:32:54,870 naśladować inicjalizacji, stan i aktualizację. 710 00:32:54,870 --> 00:33:01,430 Więc warunek powinien być całkiem proste, ponieważ w 711 00:33:01,430 --> 00:33:04,350 podczas składnia, gdy patrzy się na to, to mówi while (warunek). 712 00:33:04,350 --> 00:33:06,830 Więc wystarczy wpisać warunek tam. 713 00:33:06,830 --> 00:33:09,700 i <5. 714 00:33:09,700 --> 00:33:10,590 Okay. 715 00:33:10,590 --> 00:33:18,900 Więc wiemy, że chcemy wydrukować na pożegnanie. 716 00:33:18,900 --> 00:33:21,350 Wiemy, że to jest ciało naszego pętli. 717 00:33:21,350 --> 00:33:23,600 Ale brakuje nam inicjalizacji 718 00:33:23,600 --> 00:33:24,490 i aktualizacji, prawda? 719 00:33:24,490 --> 00:33:25,790 Ponieważ nie możemy mieć na zawsze pętlę. 720 00:33:25,790 --> 00:33:27,660 To musi zakończyć. 721 00:33:27,660 --> 00:33:35,300 Dodajmy pewną inicjalizację tutaj używając 722 00:33:35,300 --> 00:33:38,790 sam, który kiedyś w naszej pętli for, int i = 0. 723 00:33:38,790 --> 00:33:39,110 Okay. 724 00:33:39,110 --> 00:33:40,630 Więc zaczynamy int. 725 00:33:40,630 --> 00:33:43,640 Powtarzamy tę pętlę while dopóki i jest mniejsze niż 5. 726 00:33:43,640 --> 00:33:47,220 Więc jesteśmy brakuje jednej rzeczy, która jest aktualizacja. 727 00:33:47,220 --> 00:33:51,470 Więc co aktualizacja musielibyśmy użyć jeśli były zasadniczo 728 00:33:51,470 --> 00:33:52,880 odtwarzając na pętli powyżej? 729 00:33:56,000 --> 00:33:59,880 Mamy inicjalizacji i jest równa 0. 730 00:33:59,880 --> 00:34:03,610 Mamy stan i jest mniejsze niż 5. 731 00:34:03,610 --> 00:34:06,300 I to tu jest aktualizacja, prawda? 732 00:34:06,300 --> 00:34:07,365 Dlatego chcemy, aby skopiować to. 733 00:34:07,365 --> 00:34:10,340 Chcemy powiedzieć w porządku, i + +. 734 00:34:10,340 --> 00:34:13,820 To samo, co mówią i = i + 1. 735 00:34:13,820 --> 00:34:17,090 Ale ponieważ jest używany tak często, skrót myślowy, który jest po prostu 736 00:34:17,090 --> 00:34:18,340 Twierdzisz, że + +. 737 00:34:20,800 --> 00:34:22,050 >> Great. 738 00:34:25,230 --> 00:34:26,400 Okay. 739 00:34:26,400 --> 00:34:29,210 Tu faktycznie nie wyjść z mojego programu jabłek. 740 00:34:29,210 --> 00:34:33,070 Więc mam zamiar kliknąć Ctrl-C i że natychmiast 741 00:34:33,070 --> 00:34:34,989 buty mnie z mojego programu i przynosi 742 00:34:34,989 --> 00:34:35,920 mnie z powrotem do terminalu. 743 00:34:35,920 --> 00:34:38,320 Tak więc, na przykład, gdy napotkasz błąd, gdzie 744 00:34:38,320 --> 00:34:40,750 zapomniałem zaktualizować podczas pętli tak, że byłoby 745 00:34:40,750 --> 00:34:43,150 zakończyć i wprowadzić nieskończoną pętlę, a następnie można 746 00:34:43,150 --> 00:34:46,400 użyć Ctrl-C, aby wyrwać się z tego. 747 00:34:46,400 --> 00:34:46,639 Dobrze. 748 00:34:46,639 --> 00:34:47,960 Więc jesteśmy w odpowiednim katalogu. 749 00:34:47,960 --> 00:34:52,010 Więc zróbmy hello. 750 00:34:52,010 --> 00:35:01,710 A następnie, jeśli prowadzimy hello, widzimy, że pętla nie pożegnanie 751 00:35:01,710 --> 00:35:03,350 dokładnie to samo jak nasz pętli for ma. 752 00:35:03,350 --> 00:35:05,060 Więc to tylko wskazówka. 753 00:35:05,060 --> 00:35:06,980 Nieważne, czy jesteś bardziej komfortowe z pętli lub 754 00:35:06,980 --> 00:35:09,850 podczas gdy w pętli mogą być stosowane zamiennie. 755 00:35:09,850 --> 00:35:15,130 Tak więc od tego, którego chcesz użyć do iteracji - 756 00:35:15,130 --> 00:35:16,020 w tym przypadku - 757 00:35:16,020 --> 00:35:19,410 Wysokość Mario piramidy. 758 00:35:19,410 --> 00:35:23,020 I znowu, to tylko przypomnienie, jeśli zaczynają się od zera 759 00:35:23,020 --> 00:35:25,430 zmiennej, a następnie będziemy chcieli mieć inny 760 00:35:25,430 --> 00:35:27,360 warunek, niż gdybyś zaczął w jednym. 761 00:35:27,360 --> 00:35:29,620 Więc to po prostu rodzaj tabeli pokazuje przypomnienia. 762 00:35:29,620 --> 00:35:33,660 Jeśli chcesz, aby powtórzyć 10 razy, na przykład, to 763 00:35:33,660 --> 00:35:36,030 można albo uruchomić swoją zmienną na zero. 764 00:35:36,030 --> 00:35:39,350 I stanu może być mniejsza niż 10. 765 00:35:39,350 --> 00:35:43,020 I tak, że niby pokazuje macierz tego. 766 00:35:43,020 --> 00:35:43,360 >> Okay. 767 00:35:43,360 --> 00:35:45,790 Więc Przeszliśmy przez Mario. 768 00:35:45,790 --> 00:35:48,820 Powiedzieliśmy, Dobra, musimy sprawdzić poprawność danych wejściowych, 769 00:35:48,820 --> 00:35:50,800 zero i 23 włącznie. 770 00:35:50,800 --> 00:35:53,370 Mamy zamiar znaleźć jakiś wzór, jakąś sposób 771 00:35:53,370 --> 00:35:57,920 wyrażania nth-tego wiersza lub wiersz. 772 00:35:57,920 --> 00:36:01,560 I będziemy decydować, Dobra, jedziemy do drukuj 773 00:36:01,560 --> 00:36:04,870 wiele miejsc, to wiele asocjacyjne, nowej linii. 774 00:36:04,870 --> 00:36:05,050 Dobrze. 775 00:36:05,050 --> 00:36:05,720 Więc mamy to. 776 00:36:05,720 --> 00:36:08,570 Więc teraz możemy przejść do Greedy. 777 00:36:08,570 --> 00:36:14,500 Greedy to program, w którym użytkownik daje kwotę 778 00:36:14,500 --> 00:36:17,460 pieniężne, które zasadniczo można jako kasjer musi powrócić. 779 00:36:17,460 --> 00:36:21,530 Ale chcesz użyć jako małe monety, jak to możliwe. 780 00:36:21,530 --> 00:36:25,070 I tak to jest, gdy Algorytm zachłanny przychodzi, gdzie 781 00:36:25,070 --> 00:36:30,440 będziemy chcieli wykorzystać minimalną ilość monet możliwe 782 00:36:30,440 --> 00:36:31,900 sprawiają, że ilość zmian. 783 00:36:34,500 --> 00:36:34,990 >> Okay. 784 00:36:34,990 --> 00:36:40,480 Więc tego przykładem w roztworze może wyglądać 785 00:36:40,480 --> 00:36:42,540 coś takiego. 786 00:36:42,540 --> 00:36:45,410 Uruchomić. / Chciwy. 787 00:36:45,410 --> 00:36:47,920 Monit powiedzieć dobrze, dobrze, jak bardzo zmiana jest winien? 788 00:36:47,920 --> 00:36:50,780 Ta wartość będzie wartość w dolarach. 789 00:36:50,780 --> 00:36:52,440 Tak, że będzie float. 790 00:36:52,440 --> 00:36:55,630 Twój program będzie następnie obliczyć kwotę minimalną 791 00:36:55,630 --> 00:37:00,380 monet potrzebnych do wykonania, w tym przypadku, $ 0,32. 792 00:37:00,380 --> 00:37:04,550 I tak minimalna liczba jest cztery. 793 00:37:04,550 --> 00:37:07,480 Tak więc, zanim dowiemy się, co robić, niech trochę spacer 794 00:37:07,480 --> 00:37:10,770 w procesie, które można przejść o. 795 00:37:10,770 --> 00:37:16,480 Więc jeśli wejście jest 32, to w zasadzie mam zamiar używać 796 00:37:16,480 --> 00:37:19,100 najmniejsza ilość monet, czy używam tak wielu 797 00:37:19,100 --> 00:37:20,460 duże monety jak to możliwe. 798 00:37:20,460 --> 00:37:20,870 Zgadza się? 799 00:37:20,870 --> 00:37:25,420 Tak więc jest to dużo łatwiejsze do korzystania z jednego kwartału 800 00:37:25,420 --> 00:37:27,070 przeciwieństwie do pięciu monet. 801 00:37:27,070 --> 00:37:31,740 Więc powiedzmy, trzeba return $ 0,32. 802 00:37:31,740 --> 00:37:36,660 Cóż, mogę używać kwartał tego? 803 00:37:36,660 --> 00:37:37,480 Tak, można. 804 00:37:37,480 --> 00:37:41,970 I wtedy można byłoby zmniejszyć do 0,07 dolarów. 805 00:37:41,970 --> 00:37:46,070 Zobaczmy, czy mogę użyć innego kwartał płacić Tobą. 806 00:37:46,070 --> 00:37:46,870 No, no. 807 00:37:46,870 --> 00:37:48,200 Nie mogę dopasować kwartał tego. 808 00:37:48,200 --> 00:37:52,110 Więc mam zamiar przejść do kolejnego największego medalu. 809 00:37:52,110 --> 00:37:53,250 Czy mogę używać ani grosza? 810 00:37:53,250 --> 00:37:55,800 0,07 dolarów, no nie można używać ani grosza zapłacić $ 0,07. 811 00:37:55,800 --> 00:37:56,840 Więc powiedz nie. 812 00:37:56,840 --> 00:38:00,490 Przejść do następnego, który jest nikiel. 813 00:38:00,490 --> 00:38:01,440 Można użyć niklu? 814 00:38:01,440 --> 00:38:02,930 Tak. 815 00:38:02,930 --> 00:38:06,440 Siedem jest większa niż 0,05 dolarów, więc możemy użyć nikiel. 816 00:38:06,440 --> 00:38:08,640 A potem mamy dwa centy pozostały. 817 00:38:08,640 --> 00:38:11,110 Możemy używać ani grosza? 818 00:38:11,110 --> 00:38:12,180 Tak możemy. 819 00:38:12,180 --> 00:38:13,070 Możemy użyć innego grosza? 820 00:38:13,070 --> 00:38:13,380 Tak. 821 00:38:13,380 --> 00:38:14,710 Możemy użyć innego grosza? 822 00:38:14,710 --> 00:38:17,070 No bo teraz mamy pomyślnie 823 00:38:17,070 --> 00:38:19,400 zapłacił plecy użytkownika. 824 00:38:19,400 --> 00:38:23,620 I tak, że wynosi cztery monety używane. 825 00:38:23,620 --> 00:38:26,370 >> Więc myśleć o tym procesie, co 826 00:38:26,370 --> 00:38:29,080 Czas podjąć decyzję w porządku, 827 00:38:29,080 --> 00:38:31,050 Jaka jest największa moneta, że ​​możemy użyć? 828 00:38:31,050 --> 00:38:37,240 Po użyciu, że, mamy rodzaj zachować w pamięci, że jak bardzo 829 00:38:37,240 --> 00:38:39,650 więcej pieniędzy musimy powrócić instrukcji, jak również, jak wiele 830 00:38:39,650 --> 00:38:41,310 Monety używamy. 831 00:38:44,640 --> 00:38:45,200 Okay. 832 00:38:45,200 --> 00:38:48,930 Tak, ale jeszcze raz, pierwszy krok - tak jak Mario - jest monitowanie 833 00:38:48,930 --> 00:38:51,120 użytkownik za kwotę pieniężną. 834 00:38:51,120 --> 00:38:53,920 A więc ta kwota będzie - 835 00:38:53,920 --> 00:38:56,040 to będzie mieć wartość dziesiętną, ponieważ mamy zamiar 836 00:38:56,040 --> 00:38:57,310 poprosić o dolarach. 837 00:38:57,310 --> 00:39:00,550 Tak, że typ danych nie będzie liczbą całkowitą. 838 00:39:00,550 --> 00:39:01,860 Ale to będzie - 839 00:39:04,960 --> 00:39:07,700 yeah, float. 840 00:39:07,700 --> 00:39:10,780 Ale podobnie jak jabłek, pływaków może być dodatnia lub ujemna. 841 00:39:10,780 --> 00:39:13,390 Więc kiedy sprawdzić dla wartości, będziesz chciał 842 00:39:13,390 --> 00:39:15,380 Aby zapewnić, że pływak - 843 00:39:15,380 --> 00:39:19,710 wprowadzania danych przez użytkownika - nie jest negatywna. 844 00:39:19,710 --> 00:39:20,960 Okay. 845 00:39:22,630 --> 00:39:26,720 Może mamy do czynienia z pływaków w całym naszym programie, stanowią 846 00:39:26,720 --> 00:39:31,610 czwarte do 0,25, dimes przez 0,1, et cetera. 847 00:39:31,610 --> 00:39:36,280 Ale uważam, że dużo łatwiej radzić sobie w zaledwie czystych centów. 848 00:39:36,280 --> 00:39:36,910 Również - 849 00:39:36,910 --> 00:39:39,370 i porozmawiamy o tym nieco później - 850 00:39:39,370 --> 00:39:43,610 w C, pływające punkty mają coś, co nazywa nieścisłości. 851 00:39:43,610 --> 00:39:48,660 Tak więc, gdy wchodzi w 0,12, na przykład, komputer 852 00:39:48,660 --> 00:39:53,010 faktycznie, jak sklepy czy jak 0.1111119 853 00:39:53,010 --> 00:39:54,350 coś takiego. 854 00:39:54,350 --> 00:39:56,900 >> Tak więc jest to dużo łatwiejsze do konwersji centów. 855 00:39:56,900 --> 00:40:02,190 Więc w jaki sposób możemy przekształcić dolara wartość centów? 856 00:40:02,190 --> 00:40:03,540 GŁOŚNIK 5: Times niej przez 100? 857 00:40:03,540 --> 00:40:03,920 ZAMYLA CHAN: Tak. 858 00:40:03,920 --> 00:40:04,110 Tak. 859 00:40:04,110 --> 00:40:07,110 Więc byłoby to o 100 razy. 860 00:40:07,110 --> 00:40:10,820 Ale jeden tricky rzeczą pływających punktów jest to, że 861 00:40:10,820 --> 00:40:11,790 pewne nieścisłości. 862 00:40:11,790 --> 00:40:16,090 Więc wystarczy spojrzeć na przykład to. 863 00:40:18,760 --> 00:40:21,360 Więc mam zamiar otworzyć imprecision.c. 864 00:40:21,360 --> 00:40:23,690 Okay. 865 00:40:23,690 --> 00:40:24,860 Jest to bardzo prosty program. 866 00:40:24,860 --> 00:40:26,970 Prosi o pływaka, i drukuje je z powrotem. 867 00:40:35,950 --> 00:40:39,600 Jeden miły napiwek w terminalu wpisać jedynie jasne i 868 00:40:39,600 --> 00:40:41,180 wtedy masz jasny ekran. 869 00:40:41,180 --> 00:40:45,270 A więc nie trzeba szukać w każdej poprzedniej produkcji lub 870 00:40:45,270 --> 00:40:47,490 błędów lub błędów raporty, coś takiego. 871 00:40:47,490 --> 00:40:48,120 Okay. 872 00:40:48,120 --> 00:40:49,675 Więc zróbmy niedokładności. 873 00:40:53,250 --> 00:40:56,250 Niech go uruchomić. 874 00:40:56,250 --> 00:40:57,890 Więc haven't - 875 00:40:57,890 --> 00:41:03,830 w kodzie, nie wydrukować dowolny polecenia lub coś w tym stylu. 876 00:41:03,830 --> 00:41:05,010 Więc to po prostu ma migający kursor. 877 00:41:05,010 --> 00:41:07,390 Więc to tylko czeka na mnie do wejścia pływaka. 878 00:41:07,390 --> 00:41:08,640 So let's - 879 00:41:10,610 --> 00:41:11,280 random float. 880 00:41:11,280 --> 00:41:15,080 I widzisz, że drukuje je z powrotem, ale ma kilka dodatkowych 881 00:41:15,080 --> 00:41:18,180 numery, które na pewno nie należą. 882 00:41:18,180 --> 00:41:21,980 Dlatego chcemy, aby upewnić się, że nie 883 00:41:21,980 --> 00:41:23,300 zdarzyć się w naszym programie. 884 00:41:23,300 --> 00:41:27,550 >> Tak więc to, co chcemy zrobić, to upewnić się, że rzeczywiście 885 00:41:27,550 --> 00:41:31,300 rodzaj zaokrąglone do odpowiedniej wartości. 886 00:41:31,300 --> 00:41:31,850 Zgadza się? 887 00:41:31,850 --> 00:41:37,820 I tak szczęście, że mamy funkcję o nazwie runda wliczone 888 00:41:37,820 --> 00:41:38,550 w urządzeniu. 889 00:41:38,550 --> 00:41:41,390 Jest w bibliotece matematycznej. 890 00:41:41,390 --> 00:41:44,710 Jeśli chcesz wiedzieć, jak korzystać runda, to faktycznie korzysta 891 00:41:44,710 --> 00:41:45,220 ręczny. 892 00:41:45,220 --> 00:41:48,160 Możesz kliknąć cały człowiek. 893 00:41:48,160 --> 00:41:51,190 To tutaj przynosi up - 894 00:41:51,190 --> 00:41:53,220 może być trochę trudne do rozszyfrowania, ale w końcu 895 00:41:53,220 --> 00:41:54,690 dostaniesz go powiesić. 896 00:41:54,690 --> 00:42:00,060 To niby pokazuje co funkcja robi i jeszcze trochę 897 00:42:00,060 --> 00:42:01,790 możliwych zastosowań tego. 898 00:42:01,790 --> 00:42:10,210 Więc kiedy w końcu uzyskać właściwe i ważne informacje od 899 00:42:10,210 --> 00:42:14,490 użytkownika, a następnie chcesz przekonwertować go do groszy. 900 00:42:14,490 --> 00:42:18,530 Upewnij się, że wokół wartości, tak aby uniknąć 901 00:42:18,530 --> 00:42:21,780 przestawne niedokładności punkt. 902 00:42:21,780 --> 00:42:22,340 >> Okay. 903 00:42:22,340 --> 00:42:26,190 Więc mamy monit z pytaniem o kwotę pieniężną. 904 00:42:26,190 --> 00:42:31,460 Teraz to, co chcemy zrobić, jest zasadniczo sprawdzić, prawda? 905 00:42:31,460 --> 00:42:35,500 Okay, więc można używać możliwie największą monetę? 906 00:42:35,500 --> 00:42:37,040 Jeśli możesz, a następnie go użyć. 907 00:42:37,040 --> 00:42:40,250 Możesz śledzić ile monet używałeś do tej pory i 908 00:42:40,250 --> 00:42:41,710 również wysokość spada. 909 00:42:41,710 --> 00:42:42,240 Zgadza się? 910 00:42:42,240 --> 00:42:44,880 A potem idziesz do sprawdzenia. 911 00:42:44,880 --> 00:42:47,940 Po rodzaju wyczerpał czwarte, chcesz iść 912 00:42:47,940 --> 00:42:49,545 do następnej możliwej rzeczy. 913 00:42:49,545 --> 00:42:59,380 >> Więc jakie struktury lub jakiego rodzaju pętli możemy 914 00:42:59,380 --> 00:43:03,850 chcesz skorzystać, aby sprawdzić, czy ciągle możemy nadal korzystać 915 00:43:03,850 --> 00:43:05,100 kwartał, na przykład? 916 00:43:07,380 --> 00:43:09,280 SPEAKER 6: wartość Chociaż większa niż? 917 00:43:09,280 --> 00:43:10,150 ZAMYLA Chandler: Tak, doskonale. 918 00:43:10,150 --> 00:43:10,590 Dokładnie. 919 00:43:10,590 --> 00:43:12,630 Więc gdy wartość jest większa niż. 920 00:43:12,630 --> 00:43:16,300 Tak więc, podczas gdy wartość, że mamy oddać jeszcze 921 00:43:16,300 --> 00:43:19,410 większy niż w kwartale, podczas gdy wciąż możemy korzystać na kwartał, 922 00:43:19,410 --> 00:43:20,490 wykorzystywać kwaterę. 923 00:43:20,490 --> 00:43:21,450 Śledzenie tego. 924 00:43:21,450 --> 00:43:22,610 A potem dalej dzieje. 925 00:43:22,610 --> 00:43:25,040 Perfect. 926 00:43:25,040 --> 00:43:26,290 Okay. 927 00:43:28,190 --> 00:43:32,580 O, tu mam tylko włączone tylko kilka wskazówek, jak drukować 928 00:43:32,580 --> 00:43:33,830 wartości na zewnątrz. 929 00:43:36,330 --> 00:43:38,810 Tak w funkcji printf, mamy zazwyczaj było tylko 930 00:43:38,810 --> 00:43:39,760 czynienia z ciągów. 931 00:43:39,760 --> 00:43:43,290 Ale gdy chcesz wydrukować int lub tylko jakikolwiek rodzaj 932 00:43:43,290 --> 00:43:46,510 cyfra, trzeba trochę napisać rodzaj uchwytu miejsce. 933 00:43:46,510 --> 00:43:50,840 Więc to jest reprezentowane przez procent,% d dla liczb całkowitych. 934 00:43:50,840 --> 00:43:53,780 Będziesz pisać, wtedy później będziesz faktycznie - 935 00:43:53,780 --> 00:43:54,900 po przecinku - 936 00:43:54,900 --> 00:43:57,990 umieścić w jakie wartości faktycznie idzie tam. 937 00:43:57,990 --> 00:43:58,510 Racja. 938 00:43:58,510 --> 00:43:58,840 >> Okay. 939 00:43:58,840 --> 00:44:02,050 Więc stwierdziliśmy, że chcemy sprawdzić, czy - 940 00:44:02,050 --> 00:44:04,950 jednym ze sposobów na osiągnięcie tego celu byłoby stale sprawdzać, czy 941 00:44:04,950 --> 00:44:08,640 możemy nadal korzystać z kwartałów, a następnie użyj czwarte, należy 942 00:44:08,640 --> 00:44:11,460 śledzenia, a następnie przejść do następnej największej wartości. 943 00:44:11,460 --> 00:44:15,010 Teraz inny rodzaj schludny sposób, że można to zrobić, jest 944 00:44:15,010 --> 00:44:16,770 pomocą operatora modulo. 945 00:44:16,770 --> 00:44:22,710 Więc już mamy plus, minus, mnożenie i dzielenie 946 00:44:22,710 --> 00:44:23,560 dla nas dostępne. 947 00:44:23,560 --> 00:44:25,600 Ale operator modulo jest rodzaj schludne. 948 00:44:25,600 --> 00:44:28,630 Co robi to właściwie powrót Pozostała 949 00:44:28,630 --> 00:44:31,750 dzielenie dwóch liczb. 950 00:44:31,750 --> 00:44:34,680 Więc jeśli pamiętać w przypadku długiego dzielenia kiedy będzie, powiedzmy, 951 00:44:34,680 --> 00:44:40,100 zrobić 74 podzielone przez 3, możesz napisać to, przeniesienie, 952 00:44:40,100 --> 00:44:43,260 odejmowanie, a następnie na koniec liczba na dole jest 953 00:44:43,260 --> 00:44:44,050 reszta. 954 00:44:44,050 --> 00:44:47,120 Cóż, co modulo to właściwie tylko daje ci to. 955 00:44:47,120 --> 00:44:51,290 Tak więc 74 modulo 3 da ci 2. 956 00:44:51,290 --> 00:44:56,310 Podobnie, 10 modulo 2 daje 0, ponieważ nie ma żadnego 957 00:44:56,310 --> 00:44:59,340 Pozostała po podzielić 10 przez 2. 958 00:44:59,340 --> 00:45:03,940 6 modulo 5, dobrze 5 idzie do 6 razy, a następnie jeden 959 00:45:03,940 --> 00:45:05,900 ona 1 pozostały. 960 00:45:05,900 --> 00:45:09,930 Następnie, jeśli masz 7 modulo 9, dobrze 9 jest większa niż 7. 961 00:45:09,930 --> 00:45:11,830 Więc to nie może pójść inne razy. 962 00:45:11,830 --> 00:45:15,560 Więc to ma sens, że zwracana jest wartość 7. 963 00:45:15,560 --> 00:45:21,590 Więc jeśli myślisz o modulo, jak to daje resztę 964 00:45:21,590 --> 00:45:25,170 po dzielić coś, można trochę zobaczyć jak 965 00:45:25,170 --> 00:45:27,490 może być w stanie wykorzystać w Greedy, prawda? 966 00:45:30,340 --> 00:45:34,170 Więc jeśli rodzaj połączyć modulo może z podziałem 967 00:45:34,170 --> 00:45:36,410 operator, coś w tym stylu, to może masz fajne 968 00:45:36,410 --> 00:45:38,870 rodzaj Mathy sposób podejścia zestaw problemów. 969 00:45:44,010 --> 00:45:46,090 >> Więc teraz, że wiemy, że istnieje kilka różnych 970 00:45:46,090 --> 00:45:48,350 sposoby, że możemy to zrobić - na pewno są dużo 971 00:45:48,350 --> 00:45:54,160 różnych sposobów, aby nawet napisać pętle while. 972 00:45:54,160 --> 00:45:57,020 Więc napisałem trochę Pseudokod tutaj. 973 00:45:57,020 --> 00:46:01,760 To może nie być identyczne z rodzaju szkieletu z twoich 974 00:46:01,760 --> 00:46:02,460 kod, który piszesz. 975 00:46:02,460 --> 00:46:05,580 Ale zasadniczo, proces i sposób myślenia 976 00:46:05,580 --> 00:46:06,940 tak jak rozmawialiśmy. 977 00:46:06,940 --> 00:46:10,310 Więc po pierwsze, pierwszy wiersz mówi, aby uzyskać pewną ilość 978 00:46:10,310 --> 00:46:12,490 w dolarach. 979 00:46:12,490 --> 00:46:16,960 A następnie ukryte tam jest przekształcić go centów. 980 00:46:16,960 --> 00:46:20,540 Następnie a czwarte można chcemy 981 00:46:20,540 --> 00:46:21,750 zwiększyć ilość. 982 00:46:21,750 --> 00:46:24,360 A potem chcemy zmniejszyć ilość, wartość tego 983 00:46:24,360 --> 00:46:25,300 Wracamy z powrotem. 984 00:46:25,300 --> 00:46:28,170 Jak widać tutaj, to nie jest całkiem C. Ale mam również 985 00:46:28,170 --> 00:46:31,550 wcięte rzeczy, kładę moje warunki wewnątrz 986 00:46:31,550 --> 00:46:32,190 nawiasów. 987 00:46:32,190 --> 00:46:34,370 >> Tak więc tego rodzaju dostaje mi się zaczęło. 988 00:46:34,370 --> 00:46:36,620 A później, mogę tylko patrzeć składni. 989 00:46:36,620 --> 00:46:40,230 Często najtrudniejsza część naprawdę o problem jest 990 00:46:40,230 --> 00:46:41,860 zrozumieć, co dokładnie trzeba zrobić. 991 00:46:41,860 --> 00:46:44,610 Więc raz piszesz, że w dół, to jest to dużo łatwiejsze, aby następnie 992 00:46:44,610 --> 00:46:45,810 tlumaczenie Pseudokod. 993 00:46:45,810 --> 00:46:49,340 A następnie od Pseudokod, składnia jest całkiem proste. 994 00:46:49,340 --> 00:46:52,140 Widzimy zatem, a czwarte, mogą być stosowane, zwiększenia liczby, 995 00:46:52,140 --> 00:46:53,220 zmniejszenie ilości. 996 00:46:53,220 --> 00:46:57,310 Chociaż mogą być stosowane Dimes, następnie prowadzi się i tak dalej, tak 997 00:46:57,310 --> 00:47:00,670 dalej, aż do wyczerpania wszystkich swoich groszy. 998 00:47:00,670 --> 00:47:03,410 Wydrukować liczbę monet używanych, które będą 999 00:47:03,410 --> 00:47:06,620 Minimalna kwota do instrukcji wprowadzane wartości. 1000 00:47:06,620 --> 00:47:09,370 I tam masz Algorytm zachłanny. 1001 00:47:09,370 --> 00:47:13,960 A następnie po zakończeniu, że masz również wykończone Pset 0. 1002 00:47:13,960 --> 00:47:16,155 >> Czy ktoś ma jakieś pytania o cokolwiek? 1003 00:47:19,420 --> 00:47:19,780 Dobrze. 1004 00:47:19,780 --> 00:47:22,900 Cóż, będę trzymać się na trochę później, jeśli masz 1005 00:47:22,900 --> 00:47:23,970 wszelkie pytania. 1006 00:47:23,970 --> 00:47:24,940 To była solucja 1. 1007 00:47:24,940 --> 00:47:26,190 Dzięki za przyjście.