1 00:00:08,280 --> 00:00:09,020 [Powered by Google Translate] ZAMYLA CHAN: Добра, усё. 2 00:00:09,020 --> 00:00:11,130 Сардэчна запрашаем Праходжанне 1. 3 00:00:11,130 --> 00:00:13,950 Гэта пакрокавае кіраўніцтва будзе на PSET 1, які з'яўляецца C. Я спадзяюся, што вы 4 00:00:13,950 --> 00:00:16,540 Усе весела правялі час са сваімі праектамі Scratch. 5 00:00:16,540 --> 00:00:18,430 Так што цяпер у гэтым кіраўніцтве, мы фактычна будзе 6 00:00:18,430 --> 00:00:21,580 магчымасць атрымаць у C, атрымаць у пісьмовым выглядзе некаторыя машынны код. 7 00:00:21,580 --> 00:00:24,750 Так што, калі вы не былі на Пакрокавае кіраўніцтва 0, то гэтыя 8 00:00:24,750 --> 00:00:26,330 пакрокавыя кіраўніцтва на самай справе - we're збіраецца ісці праз 9 00:00:26,330 --> 00:00:29,500 Праблема набору, казаць праз некаторыя агульныя парады і прыёмы 10 00:00:29,500 --> 00:00:30,430 , Якія можна выкарыстоўваць. 11 00:00:30,430 --> 00:00:32,960 Мы будзем парушаць прызначэнне на кіраваныя укусаў, так што 12 00:00:32,960 --> 00:00:35,500 вы, хлопцы, можаце пачаць і, спадзяюся, 13 00:00:35,500 --> 00:00:37,470 зразумець, як гэта зрабіць. 14 00:00:37,470 --> 00:00:38,050 >> Добра. 15 00:00:38,050 --> 00:00:42,280 Так PSET 1. 16 00:00:42,280 --> 00:00:46,200 Psets ў гэтым годзе будзе мець структуру, дзе першы - 17 00:00:46,200 --> 00:00:48,930 там будзе частка пытанняў, серыя 18 00:00:48,930 --> 00:00:51,120 Пытанні, якія будуць сапраўды дапамагчы вам пачаць працу з 19 00:00:51,120 --> 00:00:53,840 PSET, дапаможа вам практыкаваць некаторыя метады, якія вам трэба. 20 00:00:53,840 --> 00:00:55,950 І таму гэтыя пытанні, я не збіраюся ахапіць ў 21 00:00:55,950 --> 00:00:59,630 пакрокавае кіраўніцтва, таму што ў вашым раздзеле, ваша прызначаны навучання 22 00:00:59,630 --> 00:01:01,630 хлопец на самай справе адбываецца, каб прайсці праз гэтыя 23 00:01:01,630 --> 00:01:02,620 Пытанні з вамі. 24 00:01:02,620 --> 00:01:04,370 У канцы вашага падзелу, вы сыдзеце з 25 00:01:04,370 --> 00:01:07,200 Адказы на гэтыя пытанні, але і з упэўненасцю, што 26 00:01:07,200 --> 00:01:10,340 Вы можаце ажыццяўляць некаторыя функцыі, якія вам неабходна 27 00:01:10,340 --> 00:01:12,480 для апошняй частцы PSET. 28 00:01:12,480 --> 00:01:15,900 >> Pset 1 уяўляе Марыё. 29 00:01:15,900 --> 00:01:19,000 І гэта пацешная праграма, у якой па сутнасці, мы 30 00:01:19,000 --> 00:01:24,360 пісаць і друкаваць з паловай піраміды ў тыповай сцэны Марыё. 31 00:01:24,360 --> 00:01:27,150 І тады другая частка PSET называецца прагным. 32 00:01:27,150 --> 00:01:29,850 І так у прагна мы, па сутнасці дзейнічаюць як прагныя 33 00:01:29,850 --> 00:01:32,780 Касір, дзе, калі хтосьці дае нам суму грошай 34 00:01:32,780 --> 00:01:38,730 што мы хочам, мы вылічым мінімальная колькасць манет, якія 35 00:01:38,730 --> 00:01:40,840 мы можам вярнуцца да іх, каб яшчэ даць ім гэтую суму. 36 00:01:44,080 --> 00:01:44,420 >> Добра. 37 00:01:44,420 --> 00:01:46,970 Такім чынам, кожны пакрокавае кіраўніцтва будзе мець панэль інструментаў. 38 00:01:46,970 --> 00:01:50,650 І зноў жа, вы не можаце выкарыстоўваць усе інструменты, у гэтай 39 00:01:50,650 --> 00:01:53,080 прылад ці вы маглі б выкарыстоўваць іх усе. 40 00:01:53,080 --> 00:01:54,550 У любым выпадку, гэта вельмі добра ведаць, што 41 00:01:54,550 --> 00:01:55,680 Вы абсталявана. 42 00:01:55,680 --> 00:01:59,990 Такім чынам, мы маем CS50 Appliance, які я пакажу вам, хлопцы і 43 00:01:59,990 --> 00:02:01,350 пазнаёміць вас з гэтым. 44 00:02:01,350 --> 00:02:05,710 Тады ж, у агульным, добры стыль, безумоўна, адно з нашых 45 00:02:05,710 --> 00:02:07,080 Найбольш важныя інструменты. 46 00:02:07,080 --> 00:02:10,759 Стыль сутнасці ставіцца, як чытаецца ваш код? 47 00:02:10,759 --> 00:02:12,750 Калі хтосьці ідзе і чытае ваш код, яны не маюць 48 00:02:12,750 --> 00:02:13,610 Лёгка часу? 49 00:02:13,610 --> 00:02:14,630 Ці могуць яны зразумець? 50 00:02:14,630 --> 00:02:16,610 Гэта элегантнае? 51 00:02:16,610 --> 00:02:21,750 Затым мы пагаворым аб тым, як атрымаць сапраўдны карыстацкі ўвод у 52 00:02:21,750 --> 00:02:26,430 Праграма так як у абодвух Марыё і ў прагным, вы павінны будзеце 53 00:02:26,430 --> 00:02:31,660 запытваць у карыстальніка увод і даць вам нейкі нумар. 54 00:02:31,660 --> 00:02:35,480 Такім чынам, мы хочам пераканацца, што колькасць з'яўляецца дапушчальным. 55 00:02:35,480 --> 00:02:39,010 Тады памятаеце, у Scratch, у нас былі блокаў, такіх як паўтор, 56 00:02:39,010 --> 00:02:42,300 Паўтарайце, пакуль, ці пачакаць, або назаўсёды. 57 00:02:42,300 --> 00:02:45,880 Такім чынам, мы збіраемся выгляду перавесці гэта ў C цяпер і 58 00:02:45,880 --> 00:02:49,750 глядзець на завесах, такіх як,, у той час, і рабіць-то час. 59 00:02:49,750 --> 00:02:54,330 Тады і мы таксама павінны адлюстроўваць значэння назад на 60 00:02:54,330 --> 00:02:56,500 экране, будзь то ў Mario або прагным. 61 00:02:56,500 --> 00:03:01,150 І такім чынам мы пагаворым аб тым, як мы друкуем рэчы з радка 62 00:03:01,150 --> 00:03:03,070 цэлыя і паплаўкі. 63 00:03:03,070 --> 00:03:05,250 І, нарэшце, мы пагаворым аб псевдокоде, сапраўды 64 00:03:05,250 --> 00:03:07,550 Важная канцэпцыя памятаць на працягу ўсяго гэтага курса. 65 00:03:07,550 --> 00:03:11,130 Што я знаходжу дапамагае мне больш за ўсё з праблемай мностваў думаць і 66 00:03:11,130 --> 00:03:14,260 апісаць тое, што я хачу зрабіць, перш чым думаць пра любую C. 67 00:03:14,260 --> 00:03:15,640 Але проста апісаць дзеянне. 68 00:03:15,640 --> 00:03:19,100 Так псевдокоде гэта свайго роду паміж ангельскай і C, выгляд 69 00:03:19,100 --> 00:03:22,980 апісваюць працэсы, не правільны сінтаксіс, але 70 00:03:22,980 --> 00:03:24,490 забеспячэнне дастаткова добра структуры. 71 00:03:24,490 --> 00:03:27,460 І таму мне давядзецца некаторыя прыклады псевдокод для вас, а 72 00:03:27,460 --> 00:03:28,710 у гэтым кіраўніцтве. 73 00:03:31,610 --> 00:03:31,940 >> Добра. 74 00:03:31,940 --> 00:03:35,620 Такім чынам, што мы будзем працаваць з CS50 з'яўляецца Appliance. 75 00:03:35,620 --> 00:03:38,840 Па сутнасці, гэта віртуальная машына, якая працуе выгляду 76 00:03:38,840 --> 00:03:40,780 кампутар ўнутры вашага кампутара. 77 00:03:40,780 --> 00:03:42,080 І гэта мае шмат пераваг. 78 00:03:42,080 --> 00:03:44,780 Адно тое, што гэта зададзены з вялікай колькасцю інструментаў, якія вы будзеце 79 00:03:44,780 --> 00:03:45,980 неабходна для CS50. 80 00:03:45,980 --> 00:03:47,940 Як добра, што азначае, што ўсё на той жа зямлі, 81 00:03:47,940 --> 00:03:50,800 Ці Mac ці PC ці іншай аперацыйнай сістэмы. 82 00:03:50,800 --> 00:03:53,930 Мы ўсе можам запусціць віртуальную машыну. 83 00:03:53,930 --> 00:03:58,800 І так ёсць указанні на manual.cs50.net/appliance. 84 00:03:58,800 --> 00:04:02,740 І так, калі вы ідзяце да гэтай спасылцы і вынікайце інструкцыям, 85 00:04:02,740 --> 00:04:07,820 Затым, спадзяюся, вы зможаце ўсталяваць прыбор. 86 00:04:07,820 --> 00:04:11,390 >> Такім чынам, спачатку вам трэба ўсталяваць прыкладанне, 87 00:04:11,390 --> 00:04:13,760 практычнае прымяненне, каб мець магчымасць запускаць віртуальную машыну. 88 00:04:13,760 --> 00:04:15,270 І тады вы загрузіце прыбора. 89 00:04:15,270 --> 00:04:18,050 Але зноў жа, ёсць указанні на 90 00:04:18,050 --> 00:04:21,459 manual.cs50.net/appliance. 91 00:04:21,459 --> 00:04:26,040 Так што я ўжо запампаваў мой прыбор, і я ўсталяваў 92 00:04:26,040 --> 00:04:28,060 гэта ў VMware Fusion. 93 00:04:28,060 --> 00:04:31,250 І таму, як толькі я запампаваў прыбор, я пайшоў у файл. 94 00:04:31,250 --> 00:04:34,690 Я пайшоў адчыняць, а затым там, дзе я 95 00:04:34,690 --> 00:04:37,550 захоўвацца CS50 Appliance. 96 00:04:37,550 --> 00:04:39,310 А адтуль, я пабег яго тут. 97 00:04:39,310 --> 00:04:44,520 Але я яго ўжо тут, так што давайце бліжэй. 98 00:04:44,520 --> 00:04:44,850 >> Добра. 99 00:04:44,850 --> 00:04:46,770 Такім чынам, зараз мы знаходзімся ўсярэдзіне CS50 Appliance. 100 00:04:46,770 --> 00:04:47,890 Я зрабіў яго поўным экране. 101 00:04:47,890 --> 00:04:51,130 Вы можаце зрабіць гэта, калі вы хочаце, ці проста мець яго ў якасці 102 00:04:51,130 --> 00:04:53,480 менш акно на працоўным стале. 103 00:04:53,480 --> 00:04:57,170 Тут мы маем просты працоўны стол 104 00:04:57,170 --> 00:04:58,220 дома і смецце. 105 00:04:58,220 --> 00:05:05,070 Але калі вы ідзяце ў меню, а затым да праграмавання, то вы ўбачыце 106 00:05:05,070 --> 00:05:07,570 што ў нас ёсць тое, што называецца тэрмінал. 107 00:05:07,570 --> 00:05:12,340 І вось тут мы можам перамяшчацца па нашых кампутарам. 108 00:05:12,340 --> 00:05:13,360 Мы можам напісаць код. 109 00:05:13,360 --> 00:05:17,240 Але на самай справе, мы будзем выкарыстоўваць праграму пад назвай Gedit, або "г 110 00:05:17,240 --> 00:05:20,050 рэдагаваць, "які б ні адзін, што ёсць. 111 00:05:20,050 --> 00:05:21,680 Такім чынам, мы будзем выкарыстоўваць, што, каб напісаць код. 112 00:05:21,680 --> 00:05:24,850 Так што ў вас ёсць гэтыя два сродкі, якія вы будзеце выкарыстоўваць у першую чаргу 113 00:05:24,850 --> 00:05:27,590 для напісання кода. 114 00:05:27,590 --> 00:05:31,240 Тады, акрамя таго, гэта проста, як звычайны кампутар. 115 00:05:31,240 --> 00:05:32,890 У нас ёсць браўзэр. 116 00:05:32,890 --> 00:05:34,400 Мы выбралі Google Chrome. 117 00:05:34,400 --> 00:05:38,720 Што я зрабіў гэта, я стварыў Dropbox, каб трымаць усе 118 00:05:38,720 --> 00:05:39,340 дакументаў. 119 00:05:39,340 --> 00:05:41,760 І так гэта тое, што настойліва рэкамендуецца. 120 00:05:41,760 --> 00:05:44,900 Dropbox выкарыстоўвае воблачнае сінхранізацыю і так, калі - 121 00:05:44,900 --> 00:05:47,250 Так, напрыклад, нешта выпадкова - будзем спадзявацца, не - 122 00:05:47,250 --> 00:05:50,100 адбываецца з вашым прыборам, то гэта ўсё будзе 123 00:05:50,100 --> 00:05:51,350 сінхранізаваныя на воблаку. 124 00:05:54,716 --> 00:05:55,180 >> Добра. 125 00:05:55,180 --> 00:05:59,500 Так што тыя прыкладанні, якія вы будзеце выкарыстоўваць у 126 00:05:59,500 --> 00:06:02,900 CS50 Appliance. 127 00:06:02,900 --> 00:06:05,750 Зараз, каб перамяшчацца ў камандным радку. 128 00:06:05,750 --> 00:06:10,150 Тэрмінал можа фактычна дзейнічаць як свайго роду спосаб на самай справе 129 00:06:10,150 --> 00:06:12,040 ўводзіць каманды ў - 130 00:06:12,040 --> 00:06:13,650 падабаецца, калі вы Mac, Finder. 131 00:06:13,650 --> 00:06:17,010 Ці, калі вы знаходзіцеся ў Windows, я лічу, што гэта «вывучыць маё 132 00:06:17,010 --> 00:06:19,070 кампутар "ці нешта накшталт гэтага. 133 00:06:19,070 --> 00:06:23,160 Такім чынам, калі мы вернемся да прылады, давайце адкрываць 134 00:06:23,160 --> 00:06:25,710 вокны тэрмінала. 135 00:06:25,710 --> 00:06:27,720 Так яно і ёсць гэта запрашэнне, jharvard @ прыбор. 136 00:06:27,720 --> 00:06:32,950 Давайце рабіць гэта больш. 137 00:06:32,950 --> 00:06:33,790 Добра. 138 00:06:33,790 --> 00:06:40,400 Такім чынам, калі мы ўводзім каманду Ls, то ў якой пералічаны ўсе 139 00:06:40,400 --> 00:06:45,440 Файлы ў нашым кампутары, на наш бягучы каталог. 140 00:06:45,440 --> 00:06:46,720 Даведнікі такія ж, як тэчкі. 141 00:06:46,720 --> 00:06:49,310 Мы выкарыстоўваем гэтыя тэрміны ўзаемазаменныя. 142 00:06:49,310 --> 00:06:52,480 Добра, мы пералічылі файлаў 143 00:06:52,480 --> 00:06:53,650 , Якія знаходзяцца ў гэтым каталогу. 144 00:06:53,650 --> 00:06:58,340 Цяпер, калі мы хочам атрымаць доступ, скажам, наш Dropbox, то мы можам 145 00:06:58,340 --> 00:06:59,320 змяніць каталогі. 146 00:06:59,320 --> 00:07:04,230 Такім чынам, кампакт-дыск, а затым Dropbox. 147 00:07:04,230 --> 00:07:10,860 Мы Ls зноў, і тады мы бачым спіс файлаў, якія знаходзяцца ў 148 00:07:10,860 --> 00:07:11,790 гэтую тэчку. 149 00:07:11,790 --> 00:07:15,590 Гэта аналагічна для мяне будзе мой дом, а затым націснуўшы 150 00:07:15,590 --> 00:07:19,250 Dropbox, а затым бачачы спіс тут. 151 00:07:19,250 --> 00:07:20,090 >> Добра. 152 00:07:20,090 --> 00:07:22,220 Так скажам - 153 00:07:22,220 --> 00:07:25,640 калі вы, хлопцы, збіраецеся зрабіць свой PSET 1, давайце зробім 154 00:07:25,640 --> 00:07:27,390 Каталог называецца pset1. 155 00:07:27,390 --> 00:07:32,170 Такім чынам, мы знаходзімся ў Dropbox прама цяпер, як вы можаце бачыць з гэтага 156 00:07:32,170 --> 00:07:32,700 Тут падкажуць. 157 00:07:32,700 --> 00:07:34,320 Так давайце зробім каталог. 158 00:07:34,320 --> 00:07:37,940 Так MkDir, давайце назавем гэта pset1. 159 00:07:40,470 --> 00:07:43,500 І вось цяпер, калі мы зноў Ls, то мы 160 00:07:43,500 --> 00:07:45,390 бачыць, што pset1 з'яўляецца. 161 00:07:45,390 --> 00:07:49,470 І таму, калі мы хочам ісці ў pset1, то мы можам зайсці ўнутр 162 00:07:49,470 --> 00:07:54,230 , Што папка з камандай кампакт-дыскаў. 163 00:07:54,230 --> 00:07:54,610 Добра. 164 00:07:54,610 --> 00:07:59,040 Такім чынам, яшчэ раз, давайце паглядзім, калі мы - 165 00:07:59,040 --> 00:08:01,620 кажу, давайце рабіць гэта па-іншаму. 166 00:08:01,620 --> 00:08:03,550 Гэта аналагічна таму, проста кажу "Стварыць 167 00:08:03,550 --> 00:08:05,330 Новая папка, pset1. 168 00:08:05,330 --> 00:08:08,530 Але, як вы лічыце, вам будзе ўзаемадзейнічаць з 169 00:08:08,530 --> 00:08:09,310 Тэрмінал шмат. 170 00:08:09,310 --> 00:08:11,900 Так што часам гэта нашмат прасцей, страціў хутчэй за ўсё 171 00:08:11,900 --> 00:08:15,900 працаваць у тэрмінале, каб зрабіць гэтыя віды рэчаў. 172 00:08:15,900 --> 00:08:16,140 Добра. 173 00:08:16,140 --> 00:08:18,150 А потым гэтыя іншыя каманды. 174 00:08:18,150 --> 00:08:20,410 Там у РМ для выдалення файла. 175 00:08:20,410 --> 00:08:22,690 Такім чынам, вы проста ўводзіце РМ і затым імя 176 00:08:22,690 --> 00:08:23,800 файл, каб выдаліць яго. 177 00:08:23,800 --> 00:08:25,810 Мы пойдзем на некаторыя прыклады гэтага пазней. 178 00:08:25,810 --> 00:08:28,840 І тады ў нас ёсць тое, што завецца чалавекам каманды, якая 179 00:08:28,840 --> 00:08:31,850 выхоўвае дапаможнік для тыпу функцыі. 180 00:08:31,850 --> 00:08:34,419 Зноў жа, я буду выхоўваць канкрэтны прыклад, што ў далейшым. 181 00:08:37,360 --> 00:08:39,900 >> Так што іншы вельмі важны інструмент, як я ўжо коратка 182 00:08:39,900 --> 00:08:41,280 і раней, стыль. 183 00:08:41,280 --> 00:08:43,650 Такім чынам, па сутнасці, стыль мае справу з чытэльнасці. 184 00:08:43,650 --> 00:08:46,460 Ці будзе нехта яшчэ зможа чытаць, сачыць, і 185 00:08:46,460 --> 00:08:47,670 разумею ваш код? 186 00:08:47,670 --> 00:08:50,490 Гэта асабліва важна для вас, сябе, на самай справе. 187 00:08:50,490 --> 00:08:53,060 Калі вы вырашылі застацца да канца кадавання, а потым на вас 188 00:08:53,060 --> 00:08:55,940 вярнуцца і вы, як і тое, што робіць гэтую зменную значыць? 189 00:08:55,940 --> 00:08:58,400 Скажам, вы працуеце на групу праекта з кімсьці, і вы 190 00:08:58,400 --> 00:09:00,130 абодва павінны глядзець адзін на аднаго кода. 191 00:09:00,130 --> 00:09:03,380 Гэта вельмі важна, што вы называеце зменныя правільна 192 00:09:03,380 --> 00:09:06,240 і каб ён выглядаў добра, таму што робіць усё адрозненні. 193 00:09:06,240 --> 00:09:08,270 Але перш за ўсё, мы знаходзімся ў курсе прама цяпер. 194 00:09:08,270 --> 00:09:10,660 Такім чынам, для цікавасці CS50 і, асабліва, для 195 00:09:10,660 --> 00:09:13,010 навучанне стыпендыятаў і грэйдэр, якія будуць глядзець на вашу 196 00:09:13,010 --> 00:09:15,455 psets, калі ласка, калі ласка, выкарыстоўвайце правільны стыль. 197 00:09:15,455 --> 00:09:18,980 А вашы хлопцы навучання будзе цалкам шчаслівая. 198 00:09:18,980 --> 00:09:22,890 Такім чынам, яшчэ раз, стыль ўключае ў сябе водступы рэчы правільна, 199 00:09:22,890 --> 00:09:26,380 Асабліва з дапамогай дужак і водступы тых. 200 00:09:26,380 --> 00:09:29,910 Найменне зменных тое, што мае сэнс. 201 00:09:29,910 --> 00:09:32,330 Цяпер мы прытрымлівацца пагаднення, калі ў вас 202 00:09:32,330 --> 00:09:35,240 некалькі слоў у імя зменнай, то вы 203 00:09:35,240 --> 00:09:37,480 злучыць іх з падкрэсьліваньнем, як вы бачыце ў тым, што 204 00:09:37,480 --> 00:09:39,660 Напрыклад, ёсць імя. 205 00:09:39,660 --> 00:09:41,740 >> І, нарэшце, тое, што завецца магіяй лікаў. 206 00:09:41,740 --> 00:09:48,030 Па сутнасці, калі вы чытаеце праз код і сказаць, 207 00:09:48,030 --> 00:09:51,570 ў вас ёсць пераменная - 208 00:09:51,570 --> 00:09:56,680 Скажыце, у вас няма зменнай, але толькі сказаць, добра, да тых часоў, 209 00:09:56,680 --> 00:09:58,600 і такіх менш за 10. 210 00:09:58,600 --> 00:10:00,210 Тады ваш грэйдэр будзе ісці добра, пачакайце, 211 00:10:00,210 --> 00:10:01,320 Адкуль што 10 ўзялося? 212 00:10:01,320 --> 00:10:05,040 Так на самай справе растлумачыць сабе шмат пытанняў. 213 00:10:05,040 --> 00:10:06,740 Каб дапамагчы вам растлумачыць сабе, гэта каментар. 214 00:10:06,740 --> 00:10:09,850 Каментары, напэўна, самае галоўнае, каб уключыць у 215 00:10:09,850 --> 00:10:11,460 Вашых праграм. 216 00:10:11,460 --> 00:10:15,440 І гэта дапамагае вам не толькі ўласна растлумачыць - 217 00:10:15,440 --> 00:10:17,220 гэта дапаможа вам выгляд растлумачыце вашыя развагі, 218 00:10:17,220 --> 00:10:17,870 Вы збіраецеся разам. 219 00:10:17,870 --> 00:10:20,480 І таму, калі вы зробіце гэта, зноў жа, гэта будзе нашмат прасцей 220 00:10:20,480 --> 00:10:23,370 , Каб вярнуцца ў ваш код і выгляд разумею, што вы 221 00:10:23,370 --> 00:10:24,080 там робіць. 222 00:10:24,080 --> 00:10:26,410 Зноў жа, грэйдэр вельмі падабаюцца каментары. 223 00:10:26,410 --> 00:10:28,940 Такім чынам, вы добра і каментары - 224 00:10:28,940 --> 00:10:29,970 накшталт як бясплатна ачкоў. 225 00:10:29,970 --> 00:10:32,340 А хто не любіць бясплатныя акуляры? 226 00:10:32,340 --> 00:10:33,910 Вы таксама можаце мець шматрадковага каментары. 227 00:10:33,910 --> 00:10:36,630 І таму я ўключыў свайго роду шаблонам тут. 228 00:10:36,630 --> 00:10:38,580 Па сутнасці, як правіла, яны выкарыстоўваюцца ў верхняй частцы 229 00:10:38,580 --> 00:10:40,950 Праграма для віду ў цэлым растлумачыць тое, што 230 00:10:40,950 --> 00:10:43,220 Вашу праблему набору робіць. 231 00:10:43,220 --> 00:10:46,130 Уключыце ваша імя, дату, і гэтак далей. 232 00:10:46,130 --> 00:10:49,030 І так, як я сказаў у гэтай шматрадковы каментар, 233 00:10:49,030 --> 00:10:56,260 manual.cs50.net/style_guide мае дадатковыя парады і правілы 234 00:10:56,260 --> 00:10:59,310 стыль для завесы, і гэтак далей. 235 00:10:59,310 --> 00:10:59,740 >> Добра. 236 00:10:59,740 --> 00:11:03,600 Так што цяпер я распавёў вам крыху аб стылі, давайце паглядзім, 237 00:11:03,600 --> 00:11:07,390 гэта ў дзеянні. 238 00:11:07,390 --> 00:11:07,770 Добра. 239 00:11:07,770 --> 00:11:11,850 Дык вось, Томі напісаў нам цудоўна жудасны 240 00:11:11,850 --> 00:11:15,440 Прыклад стылю ў праграме. 241 00:11:15,440 --> 00:11:17,170 Так што вы тут бачыце, усё ў парадку. 242 00:11:17,170 --> 00:11:18,280 Гэта на самай справе ўсё ў парадку. 243 00:11:18,280 --> 00:11:22,060 Вы бачыце, шматрадковага каментары. 244 00:11:22,060 --> 00:11:25,120 Вы пачынаеце яго з касой рысай, а затым дзвюма зорачкамі. 245 00:11:25,120 --> 00:11:28,580 Вы па-ранейшаму разам, сумясціўшы зорачкі ўздоўж лініі 246 00:11:28,580 --> 00:11:30,540 , А затым скончыць з зорачкай і касой рысай. 247 00:11:30,540 --> 00:11:30,810 Добра. 248 00:11:30,810 --> 00:11:32,800 Так што ўсё ў парадку. 249 00:11:32,800 --> 00:11:33,760 Гэта тут у парадку. 250 00:11:33,760 --> 00:11:35,110 Ён у тым ліку яго бібліятэкі. 251 00:11:35,110 --> 00:11:38,790 Але тут у яго ёсць каментары, якая ахоплівае некалькі радкоў. 252 00:11:38,790 --> 00:11:40,390 Ёсць шмат рэчаў няправільна з гэтым. 253 00:11:40,390 --> 00:11:44,770 Каментары, якая ахоплівае некалькі радкоў, прама тут ён выкарыстоўвае 254 00:11:44,770 --> 00:11:47,230 Сінтаксіс толькі для аднаго каментара лініі. 255 00:11:47,230 --> 00:11:53,140 Ён таксама зліццё усё ў той жа каментар. 256 00:11:53,140 --> 00:11:54,715 Таму мы хочам, каб пазбегнуць гэтага. 257 00:11:57,710 --> 00:12:03,010 Тады тут мы бачым, што гэтыя дужкі, напрыклад, усе 258 00:12:03,010 --> 00:12:03,730 за месца. 259 00:12:03,730 --> 00:12:06,950 Водступы няправільна. 260 00:12:06,950 --> 00:12:09,460 Гэта сапраўды не паказаць вам, дзе нешта канчаткова 261 00:12:09,460 --> 00:12:12,850 пачынаецца і сканчаецца іншая справа. 262 00:12:12,850 --> 00:12:16,510 Тады, як добра, мы бачым, што ў яго ёсць пэўная пераменная = 5 тут. 263 00:12:16,510 --> 00:12:18,620 Але тады гэта чатыры прыходзіць з ніадкуль, і няма ніякіх 264 00:12:18,620 --> 00:12:21,520 каментары, каб сапраўды растлумачыць, адкуль што бярэцца. 265 00:12:21,520 --> 00:12:22,130 >> Добра. 266 00:12:22,130 --> 00:12:28,760 Такім чынам, цяпер давайце паглядзім на тое, што на самой справе сапраўды гэтак жа, 267 00:12:28,760 --> 00:12:30,250 Код толькі з лепшай стылі. 268 00:12:30,250 --> 00:12:32,485 Такім чынам, яшчэ раз, гэта добры прыклад стылю, 269 00:12:32,485 --> 00:12:33,735 шматканальны прыклад. 270 00:12:38,400 --> 00:12:39,735 А то вось гэта даволі чысты. 271 00:12:39,735 --> 00:12:43,500 Мы бачым, што ён пачынае, калі заява тут, уступае ў новую 272 00:12:43,500 --> 00:12:46,400 лініі, мае адкрытую фігурную дужку. 273 00:12:46,400 --> 00:12:48,740 Тады ён мае водступ. 274 00:12:48,740 --> 00:12:50,970 Ён трымае гэты водступ - 275 00:12:50,970 --> 00:12:54,680 Ён трымае гэта ўказанне раўнамерным па ўсёй 276 00:12:54,680 --> 00:12:59,120 Праграма і сапраўды паказвае, калі адзін блок кода пачынаецца, калі 277 00:12:59,120 --> 00:13:00,780 адзін блок кода сканчаецца. 278 00:13:00,780 --> 00:13:04,410 Гэта можа здацца трохі nitpicky з нашага боку, каб пачаць 279 00:13:04,410 --> 00:13:06,370 с, але вы ўбачыце, як вы пішаце код. 280 00:13:06,370 --> 00:13:09,400 Гэта вельмі карысна, каб мець магчымасць аддзяліць гэта. 281 00:13:09,400 --> 00:13:12,200 І зноў жа, вашы класаў вельмі падабаецца. 282 00:13:12,200 --> 00:13:14,360 Такім чынам, вы бачыце, а не проста пакласці побач у 283 00:13:14,360 --> 00:13:17,510 там, ён на самай справе называецца пераменная ітэрацыі. 284 00:13:17,510 --> 00:13:20,160 І вось мы на самай справе не гледзячы на ​​гэты код прама зараз 285 00:13:20,160 --> 00:13:22,450 але толькі збольшага бачым прыклад 286 00:13:22,450 --> 00:13:23,780 дабра супраць дрэнны стыль. 287 00:13:23,780 --> 00:13:29,610 І таму, калі вы паглядзіце на іх суседнічаюць тут, вы б 288 00:13:29,610 --> 00:13:32,910 вызначана аддаю перавагу чытаць адзін па правую. 289 00:13:39,230 --> 00:13:40,100 >> Добра. 290 00:13:40,100 --> 00:13:42,710 Такім чынам, адна апошняя рэч, перш чым мы пагрузіліся ў рэальным мяса 291 00:13:42,710 --> 00:13:46,260 PSET ў тым, як скампіляваць і запусціць код. 292 00:13:46,260 --> 00:13:50,320 І так па сутнасці, калі вы пішаце C, што на самой справе не 293 00:13:50,320 --> 00:13:52,480 перакладаецца ў рэальны машынны код, нулі і 294 00:13:52,480 --> 00:13:56,000 тыя, што машына сапраўды можа чытаць і інтэрпрэтаваць. 295 00:13:56,000 --> 00:13:57,170 Такім чынам, мы-то - 296 00:13:57,170 --> 00:13:59,340 Clang гэта кампілятар, які мы выкарыстоўваем для C. 297 00:13:59,340 --> 00:14:00,270 Ёсць шмат кампілятараў. 298 00:14:00,270 --> 00:14:02,480 Але ў CS50, мы будзем выкарыстоўваць Clang. 299 00:14:02,480 --> 00:14:05,480 І так Clang ў асноўным перакладае ад З да машыны 300 00:14:05,480 --> 00:14:07,380 Код для Вас. 301 00:14:07,380 --> 00:14:10,170 Такім чынам, давайце паглядзім на прыклад - апусканне ў Appliance тут. 302 00:14:14,550 --> 00:14:15,030 Добра. 303 00:14:15,030 --> 00:14:16,670 Так што цяпер мы знаходзімся ў нашым каталогу. 304 00:14:16,670 --> 00:14:18,680 Мы на самай справе не там, дзе любы код. 305 00:14:18,680 --> 00:14:24,740 Так давайце зменім наш каталог Dropbox/walkthrough1, дзе 306 00:14:24,740 --> 00:14:25,930 Я захоўваецца код. 307 00:14:25,930 --> 00:14:29,340 Такім чынам, калі мы націскаем Ls, то мы бачым, што ў мяне ёсць 308 00:14:29,340 --> 00:14:31,230 пару файлаў тут. 309 00:14:31,230 --> 00:14:31,700 >> Добра. 310 00:14:31,700 --> 00:14:35,280 Так што я ўжо напісаў hello.c, так што давайце кампіляцыі 311 00:14:35,280 --> 00:14:36,670 а затым паглядзець, што ён робіць. 312 00:14:36,670 --> 00:14:43,150 Такім чынам, асноўная каманда кампіляцыі будзе звінець, то hello.c, 313 00:14:43,150 --> 00:14:46,910 па сутнасці кажучы добра, кампіляцыя hello.c для мяне. 314 00:14:46,910 --> 00:14:50,550 Я націскаю Enter, здаецца, атрымаўся. 315 00:14:50,550 --> 00:14:52,590 Давайце націснем Ls зноў. 316 00:14:52,590 --> 00:14:55,230 Гэты файл a.out У цяперашні час паказана на малюнку. 317 00:14:55,230 --> 00:14:57,430 І так a.out з'яўляецца выкананым файлам. 318 00:14:57,430 --> 00:15:05,330 Так, каб запусціць яго, вы робіце. / A.out. 319 00:15:05,330 --> 00:15:07,650 І вось мы бачым, што гэтая праграма па-відаць hello.c 320 00:15:07,650 --> 00:15:10,400 выводзіць прывітанне пяць разоў. 321 00:15:10,400 --> 00:15:10,990 Добра. 322 00:15:10,990 --> 00:15:14,250 Але сказаць, што мы не хочам выкарыстаць імя a.out. 323 00:15:18,140 --> 00:15:21,080 Напрыклад, мы хочам запусціць праграму прывітанне, таму што 324 00:15:21,080 --> 00:15:22,540 робіць яго лягчэй для разумення. 325 00:15:22,540 --> 00:15:26,590 Так скажам, ляск hello.c, а затым па сутнасці вам трэба 326 00:15:26,590 --> 00:15:29,030 перайсці ў некаторыя рэчы называюцца сцягамі. 327 00:15:29,030 --> 00:15:31,600 Так казаў добра, а я хачу назваць гэта нешта іншае. 328 00:15:31,600 --> 00:15:33,900 Вы таксама можаце перадаць у шмат розных сцягоў, 329 00:15:33,900 --> 00:15:34,620 якія вы ўбачыце. 330 00:15:34,620 --> 00:15:37,510 Так што сцяг для абазначэння праграмы тое, што вы 331 00:15:37,510 --> 00:15:39,780 хочуць-о. 332 00:15:39,780 --> 00:15:42,470 Пасля-о, вы напішыце назва праграмы. 333 00:15:42,470 --> 00:15:44,090 Давайце проста называць гэта прывітанне. 334 00:15:44,090 --> 00:15:49,050 >> Такім чынам, цяпер мы бачым, што на самой справе ёсць прывітанне выкананы файл. 335 00:15:49,050 --> 00:15:54,020 Такім чынам, мы можам запусціць яго, і ён робіць тое ж самае, як раней. 336 00:15:54,020 --> 00:15:56,210 Так што цяпер у нас ёсць прывітанне, мы таксама можам выдаліць, для 337 00:15:56,210 --> 00:15:57,450 Напрыклад, нашы a.out. 338 00:15:57,450 --> 00:16:03,880 Такім чынам, RM для выдалення, a.out, тэрмінал запытае ў вас, спытаеце 339 00:16:03,880 --> 00:16:05,470 для вас, каб пацвердзіць, ці сапраўды вы хочаце 340 00:16:05,470 --> 00:16:06,370 выдаліць яго ці не. 341 00:16:06,370 --> 00:16:10,000 Скажам, у для так. 342 00:16:10,000 --> 00:16:10,750 І мы ідзем. 343 00:16:10,750 --> 00:16:12,220 A.out няма. 344 00:16:12,220 --> 00:16:12,620 Добра. 345 00:16:12,620 --> 00:16:14,810 Але часам гэта становіцца заблытаным, каб памятаць усе 346 00:16:14,810 --> 00:16:17,160 Сцягі, што мы павінны ўключыць і ўвядзіце з ляск. 347 00:16:17,160 --> 00:16:20,410 І, як мы бачым, калі мы выкарыстоўваем больш складаныя праграмы, мы будзем 348 00:16:20,410 --> 00:16:22,450 быць у тым ліку розных бібліятэк. 349 00:16:22,450 --> 00:16:27,230 І таму нашы каманды Clang атрымаеце больш і больш. 350 00:16:27,230 --> 00:16:30,660 Так, уключаных у CS50 прыбор маркі каманду. 351 00:16:30,660 --> 00:16:33,880 Такім чынам, вы проста ўводзіце зрабіць прывітанне. 352 00:16:33,880 --> 00:16:35,130 Ой. 353 00:16:36,860 --> 00:16:38,400 Мы ўжо зрабілі гэта выкананы файл. 354 00:16:38,400 --> 00:16:39,650 Такім чынам, дазвольце мне проста выдаліць яго хутка. 355 00:16:42,260 --> 00:16:44,830 Цяпер увядзіце зрабіць прывітанне. 356 00:16:44,830 --> 00:16:49,470 І вы бачыце, у гэтай лініі тут, што па сутнасці кажучы зрабіць 357 00:16:49,470 --> 00:16:54,760 Прывітанне ўключае ў сябе ўсе гэтыя каманды, якія 358 00:16:54,760 --> 00:16:55,580 ўвайсьці ў яго для вас. 359 00:16:55,580 --> 00:16:58,080 >> Так, уключаных у CS50 прыбор маркі файл. 360 00:16:58,080 --> 00:17:02,300 Так проста, калі ў вас ёсць файл name.c, то ўсё, што вам рабіць 361 00:17:02,300 --> 00:17:03,680 зрабіць, гэта сказаць імя файла. 362 00:17:03,680 --> 00:17:04,800 І тады вы будзеце мець выкананыя 363 00:17:04,800 --> 00:17:06,200 файл з такім імем. 364 00:17:06,200 --> 00:17:06,675 Да? 365 00:17:06,675 --> 00:17:09,525 >> Выступоўца 1: Для майго кампутара, а Clang ён кажа GCC. 366 00:17:09,525 --> 00:17:11,910 Гэта як - 367 00:17:11,910 --> 00:17:12,109 ZAMYLA CHAN: Так. 368 00:17:12,109 --> 00:17:15,700 Такім чынам, кампутар можна сказаць, GCC, у адрозненне ад Clang, таму што 369 00:17:15,700 --> 00:17:18,180 GCC іншага тыпу кампілятар. 370 00:17:18,180 --> 00:17:20,460 Калі вы знаходзіцеся ў CS50 Appliance, хоць, то 371 00:17:20,460 --> 00:17:21,810 павінны выкарыстоўваць Clang. 372 00:17:24,619 --> 00:17:27,880 Калі гэта не так, то, магчыма, прыйшоў пагаварыць са мной пасля або па пошце 373 00:17:27,880 --> 00:17:29,595 Абмеркаваць на CS50 і мы можам уладзіць гэта. 374 00:17:34,510 --> 00:17:35,710 >> Добра. 375 00:17:35,710 --> 00:17:39,250 Так што цяпер у нас ёсць віды асноўных інструментаў ўніз, то мы 376 00:17:39,250 --> 00:17:43,060 могуць пагрузіцца ў Марыё. 377 00:17:43,060 --> 00:17:43,550 Добра. 378 00:17:43,550 --> 00:17:47,360 Так што Марыё з'яўляецца праграмай, дзе па сутнасці, мы збіраемся быць 379 00:17:47,360 --> 00:17:50,800 зрабіць наш уласны выгляд прымітыўнай версіі Mario 380 00:17:50,800 --> 00:17:51,410 гульня фону. 381 00:17:51,410 --> 00:17:54,790 Вы ведаеце, Марыё звычайна мае трубы і 382 00:17:54,790 --> 00:17:55,670 дрэва і некаторыя блокі. 383 00:17:55,670 --> 00:17:59,390 А тут яшчэ свайго роду паловы піраміды. 384 00:17:59,390 --> 00:18:02,100 Так што мы проста будзем засяроджвацца на тым, што палова піраміды, 385 00:18:02,100 --> 00:18:05,350 зрабіць код так, што яна выводзіць хэш для выгляду 386 00:18:05,350 --> 00:18:07,500 блокаў у гэтым фармаце. 387 00:18:07,500 --> 00:18:10,800 Так што ж здарыцца, карыстальнік будзе ўводзіць пэўныя 388 00:18:10,800 --> 00:18:13,130 Вышыня піраміды, і тады вы будзеце друкаваць, што з 389 00:18:13,130 --> 00:18:17,410 такі, што ў левым ніжнім куце хэш - 390 00:18:17,410 --> 00:18:21,270 так у самым нізе прама тут - што будзе ўзгадняць 391 00:18:21,270 --> 00:18:23,820 з ніжняй левай частцы тэрмінала. 392 00:18:26,720 --> 00:18:27,360 Добра. 393 00:18:27,360 --> 00:18:29,860 >> Такім чынам, першае, што вам трэба - 394 00:18:29,860 --> 00:18:33,120 першае невялікае міні праблема, якую мы павінны вырашаць, як 395 00:18:33,120 --> 00:18:34,640 Для атрымання карыстацкага ўводу. 396 00:18:34,640 --> 00:18:40,020 Так што мы павінны мець справу з тым, што карыстач уводзіць, а затым 397 00:18:40,020 --> 00:18:41,060 віду прадукцыі рэчы. 398 00:18:41,060 --> 00:18:47,630 Такім чынам, давайце паглядзім на шукаць файл з імем apples.c, што я напісаў 399 00:18:47,630 --> 00:18:52,670 , Што мае справу з ўваходамі і выхадамі. 400 00:18:52,670 --> 00:18:53,240 Добра. 401 00:18:53,240 --> 00:18:55,970 Так што тут, на вяршыні, я ўключыў некаторыя з бібліятэкі 402 00:18:55,970 --> 00:18:56,540 што мне трэба. 403 00:18:56,540 --> 00:19:00,700 Па-сапраўднаму важным тут з'яўляецца STDIO (стандартны I / O). , Якая займаецца 404 00:19:00,700 --> 00:19:02,760 са стандартнымі ўваходамі і выхадамі, таму што мы збіраемся 405 00:19:02,760 --> 00:19:04,600 мець справу з ўводзяцца карыстачом. 406 00:19:04,600 --> 00:19:04,960 Добра. 407 00:19:04,960 --> 00:19:06,660 І тады я пачынаю сваю асноўную функцыю. 408 00:19:06,660 --> 00:19:11,310 І тады я пытаюся карыстальнік добра, колькі яблыкаў у вас ёсць? 409 00:19:11,310 --> 00:19:13,650 Тады прама тут, што гэтая лінія робіць - 410 00:19:13,650 --> 00:19:18,420 Я прысвоіць зменнай я да кошту GetInt. 411 00:19:18,420 --> 00:19:22,890 >> Так GetInt гэта функцыя, якая ўключана ў STDIO. 412 00:19:22,890 --> 00:19:26,090 І так па сутнасці, які будзе займацца яго для вас. 413 00:19:26,090 --> 00:19:27,900 Гэта будзе запытваць у карыстальніка Int. 414 00:19:27,900 --> 00:19:30,600 Усё, што яны вернуцца, то будуць прызначаныя 415 00:19:30,600 --> 00:19:32,020 зменнай я. 416 00:19:32,020 --> 00:19:35,620 І так, то гэта проста маленькая праграма, якая памяншае 417 00:19:35,620 --> 00:19:39,160 Значэнне г на 1, а затым выводзіць новае значэнне. 418 00:19:39,160 --> 00:19:42,420 Добрая рэч аб Gedit, што на самой справе ёсць міні- 419 00:19:42,420 --> 00:19:43,720 Тэрмінал прама тут. 420 00:19:43,720 --> 00:19:46,670 Такім чынам, замест таго, каб перамыкацца наперад і таму паміж 421 00:19:46,670 --> 00:19:48,120 Gedit і тэрмінал, вы можаце на самой справе 422 00:19:48,120 --> 00:19:49,100 проста запусціце яго адсюль. 423 00:19:49,100 --> 00:19:52,070 Так што давайце спачатку трапіць у правільны каталог. 424 00:19:52,070 --> 00:19:54,230 Так давайце зменім нашы каталогі 425 00:19:54,230 --> 00:19:55,480 Dropbox/walkthrough1. 426 00:19:57,160 --> 00:19:57,840 Добра. 427 00:19:57,840 --> 00:20:03,400 Такім чынам, цяпер давайце зробім яблыкі, кампілюе яго для нас. 428 00:20:03,400 --> 00:20:06,640 І вось цяпер давайце запусцім яблыкі. 429 00:20:06,640 --> 00:20:08,420 Колькі яблыкаў у нас ёсць? 430 00:20:08,420 --> 00:20:09,630 Я кажу, у мяне ёсць 3. 431 00:20:09,630 --> 00:20:12,060 І ён кажа: "mwahaha Я збіраюся з'есці аднаго з іх" і кажа, 432 00:20:12,060 --> 00:20:13,610 "Зараз у вас ёсць 2 яблыка". 433 00:20:13,610 --> 00:20:14,220 >> Добра. 434 00:20:14,220 --> 00:20:16,390 Так давайце запусцім гэта зноў. 435 00:20:16,390 --> 00:20:19,040 І скажам, у мяне ёсць 1 яблык. 436 00:20:19,040 --> 00:20:19,940 Цяпер у мяне 0 яблыкі. 437 00:20:19,940 --> 00:20:20,180 Добра. 438 00:20:20,180 --> 00:20:22,460 Такім чынам, гэтая праграма, здаецца, працуе, як чакалася. 439 00:20:22,460 --> 00:20:25,070 Мы ўвесці нумар, ён памяншае яго на 1, а затым 440 00:20:25,070 --> 00:20:27,290 друкуе яго зноў. 441 00:20:27,290 --> 00:20:31,950 Але што, калі, напрыклад, у мяне -1 яблыкі? 442 00:20:31,950 --> 00:20:33,440 Гэта не зусім мае сэнсу. 443 00:20:33,440 --> 00:20:37,430 Але гэта яшчэ цэлым лікам, таму праграма прымае яго. 444 00:20:37,430 --> 00:20:41,090 І так яно вяртае вам яшчэ больш адмоўнага ліку. 445 00:20:41,090 --> 00:20:44,700 Дык вось адзін урок для нас, што, хоць GetInt 446 00:20:44,700 --> 00:20:46,700 функцыі і іншых звязаных з імі, такія як 447 00:20:46,700 --> 00:20:48,260 GetFloat або GetString - 448 00:20:48,260 --> 00:20:51,490 нават калі гэтыя атрымаеце нам правільны тып дадзеных, 449 00:20:51,490 --> 00:20:55,750 Напрыклад, калі я толькі што сказаў [ТИПИРОВАНИЯ] 450 00:20:55,750 --> 00:20:57,380 то ён сказаў бы мне, каб паўтарыць спробу. 451 00:20:57,380 --> 00:21:01,860 Такім чынам, гэта будзе мець справу з тым, што дадзеныя увядзіце свой ўваход 452 00:21:01,860 --> 00:21:04,650 ёсць, але не на самай справе праверыць, добра, гэта на самай справе тыпу 453 00:21:04,650 --> 00:21:07,820 значэння, што я хачу? 454 00:21:07,820 --> 00:21:12,370 Тады адна частка Mario з'яўляецца тое, што карыстальнік павінен увесці 455 00:21:12,370 --> 00:21:15,400 лік, якое ўяўляе вышыню паловы піраміды 456 00:21:15,400 --> 00:21:16,360 што вы робіце. 457 00:21:16,360 --> 00:21:21,000 І такім чынам, калі мы выклікала гэтаму карыстальніку вышыні, то 458 00:21:21,000 --> 00:21:25,480 павінна быць дзве адзнакі на гэты конт. 459 00:21:25,480 --> 00:21:28,040 Правільна? 460 00:21:28,040 --> 00:21:31,150 У спецыфікацыю, ён кажа, што не павінна быць больш за 23 461 00:21:31,150 --> 00:21:32,630 сімвалы, таму што гэта выгляд стандартнай 462 00:21:32,630 --> 00:21:34,450 Вышыня тэрмінала. 463 00:21:34,450 --> 00:21:37,590 Але тое, што іншыя звязаныя, магчыма, знізу, можа 464 00:21:37,590 --> 00:21:38,840 Мы хочам ўключыць? 465 00:21:41,180 --> 00:21:44,350 >> Калі мы на самай справе малюнак піраміды, тып мыслення назад 466 00:21:44,350 --> 00:21:48,460 , Як высокая піраміда можа быць, ці можа ён калі-небудзь быць ніжэй, чым 467 00:21:48,460 --> 00:21:49,132 вызначаны лік? 468 00:21:49,132 --> 00:21:50,490 SPEAKER 2: Больш, чым тры. 469 00:21:50,490 --> 00:21:50,560 ZAMYLA CHAN: Хм? 470 00:21:50,560 --> 00:21:52,630 SPEAKER 2: Больш, чым тры. 471 00:21:52,630 --> 00:21:54,850 ZAMYLA CHAN: Гэта добры пытанне. 472 00:21:54,850 --> 00:21:57,860 Гэта можа быць - 473 00:21:57,860 --> 00:22:00,700 мы маглі б абмежаваць яго толькі на тры ўзроўні піраміды. 474 00:22:00,700 --> 00:22:02,120 Але давайце падумаем - 475 00:22:02,120 --> 00:22:06,510 скажам, як адна хэш-табліцы падліку ў выглядзе піраміды таксама. 476 00:22:06,510 --> 00:22:09,031 Тады што наша фактычная ніжняя мяжа можа быць? 477 00:22:12,260 --> 00:22:13,760 Успамінаючы яблыкаў, мы не хочам, 478 00:22:13,760 --> 00:22:15,020 адмоўная піраміда вышынёй. 479 00:22:15,020 --> 00:22:15,460 Правільна? 480 00:22:15,460 --> 00:22:15,720 Добра. 481 00:22:15,720 --> 00:22:19,060 Такім чынам, калі вы просіце, уведзеныя карыстачом, то вам давядзецца 482 00:22:19,060 --> 00:22:21,980 ўключаюць некаторыя спосаб пераканацца, што цэлы лік, 483 00:22:21,980 --> 00:22:24,970 яны падаюць вам не адмоўна, таму што вы не можаце 484 00:22:24,970 --> 00:22:28,180 звярнуць адмоўныя піраміды. 485 00:22:28,180 --> 00:22:28,410 >> Добра. 486 00:22:28,410 --> 00:22:30,190 Такім чынам, ёсць некалькі спосабаў зрабіць гэта. 487 00:22:30,190 --> 00:22:34,420 Па сутнасці, як толькі вы папытаеце ўвод карыстальніка, вы хочаце, каб запатрабаваць 488 00:22:34,420 --> 00:22:37,080 што яны даюць вам правільны ўваход. 489 00:22:37,080 --> 00:22:40,120 Такім чынам, вы хочаце запатрабаваць, каб яны даюць вам нумар 490 00:22:40,120 --> 00:22:46,630 гэта не адмоўнае, але і менш, чым 24. 491 00:22:46,630 --> 00:22:49,510 Такім чынам, мы маем справу з нуля да 23 ўключна. 492 00:22:49,510 --> 00:22:50,070 Добра. 493 00:22:50,070 --> 00:22:52,830 Таму мы хочам пастаянна патрабаваць - 494 00:22:52,830 --> 00:22:55,720 калі яны не далі нам цэлы лік, яны хочуць 495 00:22:55,720 --> 00:22:57,350 бесперапынна патрабаваць няма. 496 00:22:57,350 --> 00:22:59,770 Дайце мне дапушчальных ўваходных дадзеных. 497 00:22:59,770 --> 00:23:02,270 Дайце мне сапраўды вышыні. 498 00:23:02,270 --> 00:23:06,970 Так ўспомнім яшчэ ў Scratch, у нас былі Repeat Until блока або 499 00:23:06,970 --> 00:23:08,950 Назаўжды Калі блок. 500 00:23:08,950 --> 00:23:12,345 Тыя завесы, якія вельмі падобныя на той час цыкла і 501 00:23:12,345 --> 00:23:14,960 рабіць падчас цыклу, які мы атрымаем у толькі ў секунду. 502 00:23:14,960 --> 00:23:19,790 Такім чынам, у той час як цыкл па сутнасці, мае ўмове, што вы праверыце 503 00:23:19,790 --> 00:23:23,240 гэта лагічнае значэнне, якое вы пакладзеце ўнутр там, як 504 00:23:23,240 --> 00:23:25,740 блокі нуля, з кутамі. 505 00:23:25,740 --> 00:23:29,550 Гэта тое, што адбываецца ўнутры дужак цыклу. 506 00:23:29,550 --> 00:23:31,830 Такім чынам, вы будзеце мець нейкае ўмова там. 507 00:23:31,830 --> 00:23:36,540 І, як мы толькі што гаварылі раней, што ўмова 508 00:23:36,540 --> 00:23:40,250 маем справу з межы цэлага, якое было ўводзяцца. 509 00:23:40,250 --> 00:23:44,040 Такім чынам, умова будзе мець нешта рабіць з ці 510 00:23:44,040 --> 00:23:48,600 цэлы лік у адпаведных маштабах. 511 00:23:48,600 --> 00:23:49,410 >> Дык вось, у той час як пятля. 512 00:23:49,410 --> 00:23:52,580 Напрыклад, вы можаце запытаць цэлае, а затым 513 00:23:52,580 --> 00:23:56,070 пастаянна правяраць у той час як гэты ўваход не з'яўляецца дапушчальным. 514 00:23:56,070 --> 00:23:59,810 Напрыклад, трымаць на паўторнае падказкі, працягваюць пытацца 515 00:23:59,810 --> 00:24:01,600 карыстачу для цэлага ліку. 516 00:24:01,600 --> 00:24:03,780 Так што можа быць адным з спосабаў. 517 00:24:03,780 --> 00:24:06,240 Іншым спосабам можа быць рабіць падчас цыклу, які з'яўляецца вельмі 518 00:24:06,240 --> 00:24:10,130 падобна на нейкі час цыклу акрамя таго, што рабіць, а робіць - 519 00:24:10,130 --> 00:24:12,600 Вы можаце паглядзець выгляд з дапамогай сінтаксісу - 520 00:24:12,600 --> 00:24:18,540 з'яўляецца тое, што ён мае рабіць, а потым само цела цыкла ў першую чаргу. 521 00:24:18,540 --> 00:24:20,280 Тады ў яго ёсць час ўмовы. 522 00:24:20,280 --> 00:24:22,060 Так што ў той час як завесы - 523 00:24:22,060 --> 00:24:25,470 тое, што яны карысныя для тое, што яны фактычна выконваюць 524 00:24:25,470 --> 00:24:29,130 Код крайняй меры адзін раз, а затым праверыць ўмова 525 00:24:29,130 --> 00:24:30,030 сустрэўся ці не. 526 00:24:30,030 --> 00:24:32,510 Так што, калі вы павінны былі зрабіць зрабіць падчас цыклу, то ўнутры вашай 527 00:24:32,510 --> 00:24:35,210 Заява Вы можаце запытаць цэлае, таму што вы па крайняй 528 00:24:35,210 --> 00:24:37,180 хоць бы спытаць у карыстальніка адзін раз. 529 00:24:37,180 --> 00:24:40,850 А потым, калі вы падкажаце ім, то можна сказаць, добра, 530 00:24:40,850 --> 00:24:43,110 добра, як толькі я зрабіў гэта, гэта дзейнічае? 531 00:24:43,110 --> 00:24:44,810 Калі гэта так, то вы можаце проста працягваць ісці. 532 00:24:44,810 --> 00:24:47,310 Але калі гэта не так, то гэта будзе проста дзейнічаць як звычайны у той час як 533 00:24:47,310 --> 00:24:49,240 цыклу, а затым працягвайце пытацца. 534 00:24:53,590 --> 00:24:54,670 >> Добра. 535 00:24:54,670 --> 00:24:57,120 Такім чынам, мы вярнуліся да Марыё. 536 00:24:57,120 --> 00:25:01,740 Такім чынам, мы ведаем, як падкажуць для правільнага ўводу, які гэта 537 00:25:01,740 --> 00:25:03,160 у правай мяжы. 538 00:25:03,160 --> 00:25:07,100 Так што цяпер нам трэба зрабіць гэтую палову піраміды. 539 00:25:07,100 --> 00:25:08,730 Падобна на тое, простыя тэкставыя знакі. 540 00:25:08,730 --> 00:25:10,360 Так што давайце на самай справе адчыненыя - 541 00:25:14,280 --> 00:25:17,190 Давайце проста адкрыць акно і сказаць: добра, добра, што калі б я быў 542 00:25:17,190 --> 00:25:24,960 на самай справе збіраецца рабіць гэта ўручную, уведзены адзін сабе? 543 00:25:24,960 --> 00:25:25,780 Добра. 544 00:25:25,780 --> 00:25:26,910 Такім чынам, давайце паглядзім. 545 00:25:26,910 --> 00:25:30,070 Скажам, напрыклад, мы хочам зрабіць піраміду гэта 546 00:25:30,070 --> 00:25:32,090 выраўнаваны па левым боку, то было б проста зрабіць - 547 00:25:34,710 --> 00:25:37,750 У Mario, верхні ўзровень складаецца з двух блокаў замест аднаго. 548 00:25:37,750 --> 00:25:39,080 Такім чынам, мы пачынаем з двума. 549 00:25:39,080 --> 00:25:40,700 Мы націсніце Enter. 550 00:25:40,700 --> 00:25:45,670 Мы робім тры, потым чатыры, увядзіце, пяць. 551 00:25:45,670 --> 00:25:45,980 Добра. 552 00:25:45,980 --> 00:25:46,790 Так што гэта даволі проста. 553 00:25:46,790 --> 00:25:50,210 За выключэннем гэтай праблемы мноства, мы хочам на самай справе для ўзгаднення з 554 00:25:50,210 --> 00:25:52,250 У правай частцы нашага экрана. 555 00:25:52,250 --> 00:25:52,630 Добра. 556 00:25:52,630 --> 00:25:58,870 Так, як можа адзін з вас на самай справе ўвесці гэты такі, што 557 00:25:58,870 --> 00:26:01,810 ён выраўнаваны па правым? 558 00:26:01,810 --> 00:26:08,550 Замест таго, каб Хэш-першае, як бы вы маглі выгляду 559 00:26:08,550 --> 00:26:10,040 перамясціць яго з сабой? 560 00:26:10,040 --> 00:26:11,360 Выступоўца 3: Напісаць лініі? 561 00:26:11,360 --> 00:26:11,800 ZAMYLA CHAN: Хм? 562 00:26:11,800 --> 00:26:13,030 Выступоўца 3: Напісаць лініі? 563 00:26:13,030 --> 00:26:13,110 ZAMYLA CHAN: Так. 564 00:26:13,110 --> 00:26:13,390 Так. 565 00:26:13,390 --> 00:26:15,080 Вы маглі б напісаць, як падкрэсліванне ці нешта накшталт 566 00:26:15,080 --> 00:26:19,370 , Але мы можам толькі сказаць, выкарыстоўваць прастору. 567 00:26:19,370 --> 00:26:21,500 Скажам, як у трох прасторах тут. 568 00:26:21,500 --> 00:26:24,760 Тады наступная радок, ну, мы павінны былі б пакласці два прасторы. 569 00:26:24,760 --> 00:26:26,500 У наступным радку мы проста паставіць адзін прабел. 570 00:26:26,500 --> 00:26:30,340 І тады для нашай апошняй радкі, мы б не паставіць прабелы. 571 00:26:30,340 --> 00:26:32,210 І ў нас ёсць піраміда. 572 00:26:32,210 --> 00:26:33,170 >> Дык вось выгляд - 573 00:26:33,170 --> 00:26:37,290 памятаеце, што такая логіка. 574 00:26:37,290 --> 00:26:39,340 І паспрабаваць высветліць, свайго роду шаблон, які мы можам 575 00:26:39,340 --> 00:26:43,690 Затым перавесці на C і далучыць да нейкую пятлю. 576 00:26:43,690 --> 00:26:43,930 Добра. 577 00:26:43,930 --> 00:26:48,130 Такім чынам, у нас ёсць вышыня восем, то наша першая радок будзе мець 578 00:26:48,130 --> 00:26:48,980 двух хэшаў. 579 00:26:48,980 --> 00:26:53,030 Але каб атрымаць гэтыя хэшы, вам прыйдзецца напісаць некалькі 580 00:26:53,030 --> 00:26:54,000 прасторах загадзя. 581 00:26:54,000 --> 00:26:55,840 Правільна? 582 00:26:55,840 --> 00:26:57,340 Тое, што я зрабіў, я толькі што прайшоў. 583 00:26:57,340 --> 00:27:00,150 Я дастаў яго з сябе, піраміды ў маім тэкставым рэдактары, 584 00:27:00,150 --> 00:27:03,800 Піраміда вышынёй восем і затым разлічваецца, колькі 585 00:27:03,800 --> 00:27:05,180 прасторах мне трэба было зрабіць. 586 00:27:05,180 --> 00:27:07,350 Таму я сказаў: добра, а першы радок 587 00:27:07,350 --> 00:27:08,260 будзе два хэшаў. 588 00:27:08,260 --> 00:27:11,100 Але перад гэтым, я павінен увесці 7 прастор. 589 00:27:11,100 --> 00:27:13,420 Наступны мае шэсць прастор, а затым 590 00:27:13,420 --> 00:27:15,610 3 хэшы, і гэтак далей. 591 00:27:15,610 --> 00:27:20,520 >> Тады давайце паспрабуем давесці гэта да іншага пласта 592 00:27:20,520 --> 00:27:21,330 абстракцыі. 593 00:27:21,330 --> 00:27:26,680 Што рабіць, калі ў нас было ў чарговы радку, колькі і якім хэшам 594 00:27:26,680 --> 00:27:27,960 шмат прасторы будуць нам патрэбныя? 595 00:27:27,960 --> 00:27:30,750 Хто-небудзь убачыць заканамернасць? 596 00:27:35,200 --> 00:27:37,560 Такім чынам, першы радок мае два хэшаў. 597 00:27:37,560 --> 00:27:39,720 Другая мае тры. 598 00:27:39,720 --> 00:27:42,120 Трэці чатыры. 599 00:27:42,120 --> 00:27:45,398 Так-га радка будзе мець - 600 00:27:45,398 --> 00:27:46,800 Выступоўца 4: N плюс 1? 601 00:27:46,800 --> 00:27:47,170 ZAMYLA CHAN: Так. 602 00:27:47,170 --> 00:27:47,780 N плюс 1. 603 00:27:47,780 --> 00:27:49,030 Менавіта так. 604 00:27:52,810 --> 00:27:56,470 Такім чынам, мы бачым, што колькасць хэшаў будзе - 605 00:27:56,470 --> 00:27:59,510 калі мы разлічваем у першым шэрагу адной, то лік 606 00:27:59,510 --> 00:28:03,850 хэшы толькі будзе адным больш. 607 00:28:03,850 --> 00:28:04,150 Добра. 608 00:28:04,150 --> 00:28:06,350 Такім чынам, што аб колькасці прасторы? 609 00:28:06,350 --> 00:28:10,120 Так давайце паспрабуем выказаць гэта ў тэрмінах вышыні. 610 00:28:10,120 --> 00:28:12,570 Калі вышыня складае восем, то першы 611 00:28:12,570 --> 00:28:15,260 радок складаецца з сямі прастор. 612 00:28:15,260 --> 00:28:18,215 Так што выгляд адпавядае 8 мінус 1. 613 00:28:18,215 --> 00:28:19,030 Правільна? 614 00:28:19,030 --> 00:28:22,420 І тады другі радок будзе мець 6 прастор, 615 00:28:22,420 --> 00:28:25,340 , Што на 8 мінус 2. 616 00:28:28,420 --> 00:28:31,450 Такім чынам, я збіраюся пакінуць вас, каб выгляд высветліць, 617 00:28:31,450 --> 00:28:33,610 шаблон для гэтага. 618 00:28:33,610 --> 00:28:34,010 >> Добра. 619 00:28:34,010 --> 00:28:37,450 Але ў праграмаванні, часам мы на самай справе індэкс з нуля. 620 00:28:37,450 --> 00:28:39,680 Такім чынам, мы пачынацца з нуля замест аднаго. 621 00:28:39,680 --> 00:28:46,250 Такім чынам, замест першага радка называюць першага радка, 622 00:28:46,250 --> 00:28:48,930 мы будзем называць яго 0-м радку. 623 00:28:48,930 --> 00:28:51,360 Такім чынам, у залежнасці ад спосабу, які вы хочаце, каб ажыццявіць гэта, быць 624 00:28:51,360 --> 00:28:55,120 вельмі асцярожнымі вы пачынаюцца з нуля, з'яўляецеся Ці вы пачаць у 625 00:28:55,120 --> 00:28:58,400 , Вашыя карціны збіраецца быць зрушаныя на адзін. 626 00:29:02,270 --> 00:29:02,880 Добра. 627 00:29:02,880 --> 00:29:05,460 Так што цяпер мы накшталт як высветлілі праграмы, мы 628 00:29:05,460 --> 00:29:06,310 павінен сказаць, што ўсё ў парадку. 629 00:29:06,310 --> 00:29:11,540 Такім чынам, для кожнага віду ўзровень па лесвіцы, я збіраюся друкаваць 630 00:29:11,540 --> 00:29:14,390 вось такія і такія-то ліку прабелаў, а затым і такія 631 00:29:14,390 --> 00:29:16,550 такая колькасць хэшаў. 632 00:29:16,550 --> 00:29:19,550 Гэта залежыць ад ўзор, які мы стварылі раней. 633 00:29:19,550 --> 00:29:19,810 Добра. 634 00:29:19,810 --> 00:29:23,600 Такім чынам, адным з спосабаў перабору і выгляд збіраюся 635 00:29:23,600 --> 00:29:27,670 праз пэўную колькасць рэчаў цыкл, накшталт як 636 00:29:27,670 --> 00:29:31,040 Паўтарыць 10 блокаў або, як паўтор і вы ўвялі 637 00:29:31,040 --> 00:29:33,810 нумар для Scratch. 638 00:29:33,810 --> 00:29:38,050 Такім чынам, па сутнасці, для кожнага ўзроўню лесвіцы, мы хочам 639 00:29:38,050 --> 00:29:39,650 раздрукаваць прасторы ў першую чаргу. 640 00:29:39,650 --> 00:29:43,020 Затым раздрукаваць колькасць хэшаў. 641 00:29:43,020 --> 00:29:46,480 А потым мы хочам ўвесці новую радок, а затым паўтарыць 642 00:29:46,480 --> 00:29:49,750 зноў для наступнага блока. 643 00:29:49,750 --> 00:29:50,720 Добра. 644 00:29:50,720 --> 00:29:55,080 >> Такім чынам, давайце паглядзім на цыклы на секунду, каб збольшага бачыць у адзін бок 645 00:29:55,080 --> 00:29:59,460 што мы маглі б прайсці зададзены лік, прайсці праз нумар 646 00:29:59,460 --> 00:30:02,250 крокаў у гэтай палове піраміды. 647 00:30:02,250 --> 00:30:04,220 Такім чынам, для завесы складаюцца з трох частак. 648 00:30:04,220 --> 00:30:08,150 Па-першае, вы павінны ініцыялізацыі. 649 00:30:08,150 --> 00:30:13,220 Так што па сутнасці устанаўлівае зменную. 650 00:30:13,220 --> 00:30:15,130 Гэта збіраецца быць усталяваны ў гэты значэнне кожны раз, калі 651 00:30:15,130 --> 00:30:17,110 , Што цыкл пачынаецца. 652 00:30:17,110 --> 00:30:18,540 Тады вы будзеце мець стане. 653 00:30:18,540 --> 00:30:21,640 Ваш цыкл будзе выконвацца толькі пры ўмове, што 654 00:30:21,640 --> 00:30:25,630 ўмова праўдзіва. 655 00:30:25,630 --> 00:30:28,000 І тады вы будзеце мець абнаўлення стану. 656 00:30:28,000 --> 00:30:32,450 Так што мае справу з зменнымі, што вы ініцыялізаваны. 657 00:30:32,450 --> 00:30:38,120 Так ці інакш прынцыпова забеспячэння, што мы можам вырвацца з 658 00:30:38,120 --> 00:30:40,070 контуру, што мы не трымаем на выкананне 659 00:30:40,070 --> 00:30:41,310 яна векавечна. 660 00:30:41,310 --> 00:30:43,760 Таму што ў адрозненне Scratch, мы на самай справе не толькі 661 00:30:43,760 --> 00:30:45,680 проста бясконцы цыкл. 662 00:30:45,680 --> 00:30:48,100 У C, праграма павінна скончыць у рэшце рэшт. 663 00:30:48,100 --> 00:30:52,290 Такім чынам, мы павінны пераканацца, што нейкім чынам мы гэта спыніць. 664 00:30:52,290 --> 00:30:52,830 >> Добра. 665 00:30:52,830 --> 00:30:56,260 Такім чынам, прыклад для цыклу, які вы можаце выкарыстоўваць для 666 00:30:56,260 --> 00:30:57,530 Mario гэта. 667 00:30:57,530 --> 00:31:02,290 Так што ў вас ёсць цэлае я, што вы пачынаеце з 0. 668 00:31:02,290 --> 00:31:08,050 Пакуль гэта менш, чым вышыня, выкананні цела 669 00:31:08,050 --> 00:31:11,140 з цыкла ўнутры тут. 670 00:31:11,140 --> 00:31:13,820 Пасля гэтага цела цыклу выканаў, то вы б 671 00:31:13,820 --> 00:31:15,290 я павялічыць на 1. 672 00:31:15,290 --> 00:31:18,510 Тады ваша праграма будзе праверыць яшчэ раз - ну добра, добра, гэта я менш 673 00:31:18,510 --> 00:31:18,885 вышыня? 674 00:31:18,885 --> 00:31:21,865 Калі гэта так, то вам будзе працягвацца. 675 00:31:24,630 --> 00:31:27,790 Такім чынам, вось прыклад нуля індэксацыю, дзе мы пачынаем у 676 00:31:27,790 --> 00:31:29,100 нуля, і тады мы - 677 00:31:29,100 --> 00:31:30,970 заўважаем, што наша ўмова менш, чым вышыня. 678 00:31:30,970 --> 00:31:34,510 Так кажуць нашы вышынёй у чатыры, да прыкладу, я 679 00:31:34,510 --> 00:31:35,470 будзе пачынацца з 0. 680 00:31:35,470 --> 00:31:36,180 Гэта будзе 1. 681 00:31:36,180 --> 00:31:36,730 Гэта будзе 2. 682 00:31:36,730 --> 00:31:37,940 Гэта будзе 3. 683 00:31:37,940 --> 00:31:42,310 І вось аднойчы ён абнаўляе, калі цыкл абнаўлення, я буду 684 00:31:42,310 --> 00:31:43,650 быць ўстаноўлена да 4. 685 00:31:43,650 --> 00:31:47,080 Але 4 не менш за 4, і так, то мы б 686 00:31:47,080 --> 00:31:50,340 працягваць астатняй часткі нашага цыклу. 687 00:31:50,340 --> 00:31:50,870 >> Добра. 688 00:31:50,870 --> 00:31:51,680 Дык вось, пачынаючы з нуля. 689 00:31:51,680 --> 00:31:53,470 Але мы маглі б таксама пачаць на адным, напрыклад. 690 00:31:53,470 --> 00:31:56,960 Але паколькі мы пачынаем на адным, мы як бы павінны пайсці яшчэ аднаго 691 00:31:56,960 --> 00:31:57,920 Час у канцы. 692 00:31:57,920 --> 00:32:02,800 Дык вось, менавіта таму мы дадаем менш або роўна. 693 00:32:02,800 --> 00:32:05,780 Такім чынам, адна з вялікіх рэчаў, якія мне падабаюцца ў кампутары 694 00:32:05,780 --> 00:32:06,930 праграмавання з'яўляецца тое, што там проста так 695 00:32:06,930 --> 00:32:08,370 шмат спосабаў, каб зрабіць рэчы. 696 00:32:08,370 --> 00:32:11,300 Такім чынам, вы можаце выбраць, вы пачынаеце з нуля, з'яўляецеся Ці Вы 697 00:32:11,300 --> 00:32:12,330 пачатак у адно. 698 00:32:12,330 --> 00:32:15,400 Акрамя таго, калі вы хацелі, вы маглі б проста выкарыстоўваць 699 00:32:15,400 --> 00:32:16,600 час цыклу, напрыклад. 700 00:32:16,600 --> 00:32:18,890 Такім чынам, можна - 701 00:32:18,890 --> 00:32:20,270 Давайце на самай справе адкрыты hello.c. 702 00:32:26,200 --> 00:32:28,600 Таму ў нас ёсць цыкл тут. 703 00:32:28,600 --> 00:32:31,330 Яна пачынаецца ў I = 0, <5. 704 00:32:31,330 --> 00:32:33,550 У мяне ёсць каментар тут кажуць нам, што ён робіць. 705 00:32:33,550 --> 00:32:36,300 Ён друкуе ў пяць разоў прывітанне дапамогай цыклу. 706 00:32:36,300 --> 00:32:41,690 Але мы таксама можам зрабіць, выкарыстоўваючы час цыклу, а таксама. 707 00:32:41,690 --> 00:32:48,290 >> Такім чынам, давайце паглядзім, як мы можам гэта зрабіць. 708 00:32:48,290 --> 00:32:51,010 Такім чынам, калі мы збіраемся, каб імітаваць цыкл, то мы таксама хочам 709 00:32:51,010 --> 00:32:54,870 імітуюць ініцыялізацыі, умовы і абнаўлення. 710 00:32:54,870 --> 00:33:01,430 Такім чынам, ўмова павінна быць даволі проста, таму што ў 711 00:33:01,430 --> 00:33:04,350 у той час як сінтаксіс, калі вы глядзіце на гэта, ён кажа, у той час як (ўмова). 712 00:33:04,350 --> 00:33:06,830 Так што давайце проста ўваходныя ўмовы там. 713 00:33:06,830 --> 00:33:09,700 я <5. 714 00:33:09,700 --> 00:33:10,590 Добра. 715 00:33:10,590 --> 00:33:18,900 Такім чынам, мы ведаем, што мы хочам надрукаваць да пабачэння. 716 00:33:18,900 --> 00:33:21,350 Мы ведаем, што гэта цела нашага цыклу. 717 00:33:21,350 --> 00:33:23,600 Але мы прапусцілі ініцыялізацыі 718 00:33:23,600 --> 00:33:24,490 і абнаўлення, ці не так? 719 00:33:24,490 --> 00:33:25,790 Таму што мы не можам вечна цыклу. 720 00:33:25,790 --> 00:33:27,660 Ён павінен завяршыцца. 721 00:33:27,660 --> 00:33:35,300 Таму давайце дадамо некаторыя віды ініцыялізацыі тут з дапамогай 722 00:33:35,300 --> 00:33:38,790 той самы, які мы выкарыстоўвалі ў нашай цыклу, Int = 0. 723 00:33:38,790 --> 00:33:39,110 Добра. 724 00:33:39,110 --> 00:33:40,630 Такім чынам, мы пачынаем з внутр я. 725 00:33:40,630 --> 00:33:43,640 Мы паўтараем гэты цыкл у той час як тых часоў, як я менш за 5. 726 00:33:43,640 --> 00:33:47,220 І тады мы прапусцілі адну рэч, якая з'яўляецца абнаўленнем. 727 00:33:47,220 --> 00:33:51,470 Так што абнаўленне будзе, нам трэба выкарыстоўваць, калі б мы былі па сутнасці 728 00:33:51,470 --> 00:33:52,880 аднаўленне цыклу вышэй? 729 00:33:56,000 --> 00:33:59,880 У нас ёсць ініцыялізацыя я роўная 0. 730 00:33:59,880 --> 00:34:03,610 У нас ёсць умова я менш за 5. 731 00:34:03,610 --> 00:34:06,300 А то вось абнаўленне, дакладна? 732 00:34:06,300 --> 00:34:07,365 Таму мы хочам, каб скапіяваць гэта. 733 00:34:07,365 --> 00:34:10,340 Мы хочам сказаць, добра, я + +. 734 00:34:10,340 --> 00:34:13,820 Гэта тое ж самае, што сказаць I = I + 1. 735 00:34:13,820 --> 00:34:17,090 Але так як яна выкарыстоўваецца так часта, скарачэннем таму што гэта проста 736 00:34:17,090 --> 00:34:18,340 Я кажу + +. 737 00:34:20,800 --> 00:34:22,050 >> Вялікі. 738 00:34:25,230 --> 00:34:26,400 Добра. 739 00:34:26,400 --> 00:34:29,210 Тут я на самой справе не выйсці з маёй праграмы яблыкі. 740 00:34:29,210 --> 00:34:33,070 Так што я проста хачу, каб націснуць Control-C і адразу 741 00:34:33,070 --> 00:34:34,989 Боты мяне з маёй праграмы, і прыносіць 742 00:34:34,989 --> 00:34:35,920 мяне назад у тэрмінал. 743 00:34:35,920 --> 00:34:38,320 Так што, напрыклад, калі вы сутыкнецеся з памылкай, дзе вы 744 00:34:38,320 --> 00:34:40,750 забыліся абнавіць той час як цыкл такога, што было б 745 00:34:40,750 --> 00:34:43,150 спыняецца, і вы ўваходзіце ў бясконцы цыкл, то вы можаце 746 00:34:43,150 --> 00:34:46,400 выкарыстоўваць Control-C, каб вырвацца з гэтага. 747 00:34:46,400 --> 00:34:46,639 Добра. 748 00:34:46,639 --> 00:34:47,960 Такім чынам, мы знаходзімся ў патрэбным каталогу. 749 00:34:47,960 --> 00:34:52,010 Так давайце зробім прывітанне. 750 00:34:52,010 --> 00:35:01,710 І потым, калі мы запускаем прывітанне, мы бачым, што цыкл развітанне робіць 751 00:35:01,710 --> 00:35:03,350 дакладна такая ж рэч, як наш цыкл робіць. 752 00:35:03,350 --> 00:35:05,060 Так што гэта ўсяго толькі намёк. 753 00:35:05,060 --> 00:35:06,980 З'яўляецеся Ці вы сябе больш камфортна з завес і для 754 00:35:06,980 --> 00:35:09,850 у той час як з завес, яны могуць быць ўзаемазаменнымі. 755 00:35:09,850 --> 00:35:15,130 Дык які з іх вы хочаце выкарыстоўваць для перабору - 756 00:35:15,130 --> 00:35:16,020 у дадзеным выпадку - 757 00:35:16,020 --> 00:35:19,410 Вышыня Марыё піраміды. 758 00:35:19,410 --> 00:35:23,020 І зноў жа, гэта проста напамін, калі вы пачынаеце на нулі 759 00:35:23,020 --> 00:35:25,430 для зменнай, то вы будзеце жадаць мець розны 760 00:35:25,430 --> 00:35:27,360 стане, чым калі б вы пачалі ў адно. 761 00:35:27,360 --> 00:35:29,620 Такім чынам, гэтая табліца проста нейкая паказвае вам напамінак. 762 00:35:29,620 --> 00:35:33,660 Калі вы хочаце паўтарыць 10 разоў, напрыклад, то вы 763 00:35:33,660 --> 00:35:36,030 можа або пачаць свой зменнай у нулі. 764 00:35:36,030 --> 00:35:39,350 І ваш стан можа быць менш 10. 765 00:35:39,350 --> 00:35:43,020 І вось такі паказвае, што матрыца. 766 00:35:43,020 --> 00:35:43,360 >> Добра. 767 00:35:43,360 --> 00:35:45,790 Так мы прайшлі Марыё. 768 00:35:45,790 --> 00:35:48,820 Мы ўжо казалі, добра, добра, мы павінны праверыць правільнасць ўводу, 769 00:35:48,820 --> 00:35:50,800 нулём і 23 ўключна. 770 00:35:50,800 --> 00:35:53,370 Мы збіраемся знайсці нейкую карціну, свайго роду спосабам 771 00:35:53,370 --> 00:35:57,920 выразы-га радка ці-ю радок. 772 00:35:57,920 --> 00:36:01,560 І мы збіраемся вырашаць, Добра, што мы збіраемся надрукаваць гэта 773 00:36:01,560 --> 00:36:04,870 шмат прасторы, гэта шмат хэшаў, новая радок. 774 00:36:04,870 --> 00:36:05,050 Добра. 775 00:36:05,050 --> 00:36:05,720 Такім чынам, мы маем гэта. 776 00:36:05,720 --> 00:36:08,570 Такім чынам, зараз мы можам перайсці да прагным. 777 00:36:08,570 --> 00:36:14,500 Прагныя гэта праграма, дзе карыстальнік дае вам суму 778 00:36:14,500 --> 00:36:17,460 грашовых сродкаў, якія па сутнасці вы, як касір трэба вярнуць. 779 00:36:17,460 --> 00:36:21,530 Але вы хочаце выкарыстоўваць як мала манет наколькі гэта магчыма. 780 00:36:21,530 --> 00:36:25,070 І вось гэта, дзе прагны алгарытм прыходзіць, дзе 781 00:36:25,070 --> 00:36:30,440 мы хочам выкарыстоўваць мінімальная колькасць манет можна 782 00:36:30,440 --> 00:36:31,900 зрабіць, што колькасць змен. 783 00:36:34,500 --> 00:36:34,990 >> Добра. 784 00:36:34,990 --> 00:36:40,480 Так што прыклад гэтага ў вашым рашэнні можа выглядаць 785 00:36:40,480 --> 00:36:42,540 нешта накшталт гэтага. 786 00:36:42,540 --> 00:36:45,410 Вы запусціце. / Прагны. 787 00:36:45,410 --> 00:36:47,920 Вы прапанавана кажуць добра, а колькі зменаў павінен? 788 00:36:47,920 --> 00:36:50,780 Гэта значэнне будзе значэннем у далярах. 789 00:36:50,780 --> 00:36:52,440 Так што гэта будзе лік з якая плавае кропкай. 790 00:36:52,440 --> 00:36:55,630 Ваша праграма будзе вылічыць мінімальную суму 791 00:36:55,630 --> 00:37:00,380 манеты неабходна зрабіць, у гэтым выпадку, $ 0,32. 792 00:37:00,380 --> 00:37:04,550 І таму мінімальная колькасць роўна чатыром. 793 00:37:04,550 --> 00:37:07,480 Таму, перш чым зразумець, што рабіць, давайце выгляд хады 794 00:37:07,480 --> 00:37:10,770 праз працэс, які можа ісці аб. 795 00:37:10,770 --> 00:37:16,480 Такім чынам, калі на ўваходзе 32, то па сутнасці я збіраюся выкарыстоўваць 796 00:37:16,480 --> 00:37:19,100 Найменшая колькасць манет, калі я выкарыстоўваю як многія 797 00:37:19,100 --> 00:37:20,460 вялікая манет наколькі гэта магчыма. 798 00:37:20,460 --> 00:37:20,870 Правільна? 799 00:37:20,870 --> 00:37:25,420 Такім чынам, гэта нашмат прасцей выкарыстаць адзін квартал, 800 00:37:25,420 --> 00:37:27,070 супраць пяці нікель. 801 00:37:27,070 --> 00:37:31,740 Так скажам, вам трэба вярнуць $ 0,32. 802 00:37:31,740 --> 00:37:36,660 Ну, я магу выкарыстоўваць квартала ў гэтым? 803 00:37:36,660 --> 00:37:37,480 Так, можна. 804 00:37:37,480 --> 00:37:41,970 І тады вы будзеце знізілася да $ 0,07. 805 00:37:41,970 --> 00:37:46,070 Давайце паглядзім, калі я магу выкарыстоўваць яшчэ чвэрць плаціць вам назад. 806 00:37:46,070 --> 00:37:46,870 Ну, няма. 807 00:37:46,870 --> 00:37:48,200 Я не магу падыходзіць квартал у гэтым. 808 00:37:48,200 --> 00:37:52,110 Так што я збіраюся перайсці да наступнай найбуйнейшай манеты. 809 00:37:52,110 --> 00:37:53,250 Ці магу я выкарыстаць ні капейкі? 810 00:37:53,250 --> 00:37:55,800 $ 0,07, няма, вы не можаце выкарыстаць ні капейкі, каб заплаціць $ 0,07. 811 00:37:55,800 --> 00:37:56,840 Так вы кажаце, няма. 812 00:37:56,840 --> 00:38:00,490 Пераход да наступнай, якая з'яўляецца нікель. 813 00:38:00,490 --> 00:38:01,440 Ці можаце вы выкарыстоўваць нікель? 814 00:38:01,440 --> 00:38:02,930 Так. 815 00:38:02,930 --> 00:38:06,440 Сем больш, чым $ 0,05, таму мы можам выкарыстоўваць нікель. 816 00:38:06,440 --> 00:38:08,640 А то ў нас два цэнта засталося. 817 00:38:08,640 --> 00:38:11,110 Ці можам мы выкарыстоўваць пені? 818 00:38:11,110 --> 00:38:12,180 Так, мы можам. 819 00:38:12,180 --> 00:38:13,070 Ці можам мы выкарыстоўваць іншы капейкі? 820 00:38:13,070 --> 00:38:13,380 Так. 821 00:38:13,380 --> 00:38:14,710 Ці можам мы выкарыстоўваць іншы капейкі? 822 00:38:14,710 --> 00:38:17,070 Не, таму што цяпер у нас ёсць паспяхова 823 00:38:17,070 --> 00:38:19,400 аплачваецца карыстальнікам назад. 824 00:38:19,400 --> 00:38:23,620 І вось, што складае чатыры манеты выкарыстоўваліся. 825 00:38:23,620 --> 00:38:26,370 >> Так што думаць пра гэты працэс, мы кожны 826 00:38:26,370 --> 00:38:29,080 час прыняць рашэнне ў парадку, 827 00:38:29,080 --> 00:38:31,050 Якая самая вялікая манета, якую мы можам выкарыстоўваць? 828 00:38:31,050 --> 00:38:37,240 Калі мы выкарыстоўваем гэта, мы як бы захаваць для сябе нататку аб тым, колькі 829 00:38:37,240 --> 00:38:39,650 больш грошай, мы павінны вярнуцца карыстальнікаў, а таксама колькі 830 00:38:39,650 --> 00:38:41,310 Манеты мы выкарыстоўваем. 831 00:38:44,640 --> 00:38:45,200 Добра. 832 00:38:45,200 --> 00:38:48,930 Такім чынам, але зноў жа, першы крок - гэтак жа, як Mario - заключаецца ў стымуляванні 833 00:38:48,930 --> 00:38:51,120 карыстачу грашовай сумы. 834 00:38:51,120 --> 00:38:53,920 І таму гэтая сума будзе - 835 00:38:53,920 --> 00:38:56,040 гэта будзе мець дзесятковае значэнне, таму што мы збіраемся 836 00:38:56,040 --> 00:38:57,310 спытаеце ў іх даляры. 837 00:38:57,310 --> 00:39:00,550 Так што тып дадзеных не будзе цэлым лікам. 838 00:39:00,550 --> 00:39:01,860 Але гэта будзе - 839 00:39:04,960 --> 00:39:07,700 Так, з якая плавае кропкай. 840 00:39:07,700 --> 00:39:10,780 Але гэтак жа, як яблыкі, паплаўкі можа быць станоўчым або адмоўным. 841 00:39:10,780 --> 00:39:13,390 Такім чынам, калі вы зарэгістраваліся для значэнняў, Вы будзеце хацець 842 00:39:13,390 --> 00:39:15,380 забяспечыць, каб паплавок вашай - 843 00:39:15,380 --> 00:39:19,710 карыстацкага ўводу - неадмоўнае. 844 00:39:19,710 --> 00:39:20,960 Добра. 845 00:39:22,630 --> 00:39:26,720 Мы маглі б мець справу з паплаўком ва ўсёй нашай праграме, якія прадстаўляюць 846 00:39:26,720 --> 00:39:31,610 чвэрцяў на 0,25, дзесяць цэнтаў на 0,1 і гэтак далей. 847 00:39:31,610 --> 00:39:36,280 Але я лічу, гэта нашмат лягчэй мець справу толькі ў чыстым цэнтаў. 848 00:39:36,280 --> 00:39:36,910 Таксама - 849 00:39:36,910 --> 00:39:39,370 і мы пагаворым аб гэтым крыху пазней - 850 00:39:39,370 --> 00:39:43,610 У C, з якая плавае кропкай ёсць нешта, званае недакладнасць. 851 00:39:43,610 --> 00:39:48,660 Таму, калі вы ўваходзіце ў 0,12, напрыклад, кампутар 852 00:39:48,660 --> 00:39:53,010 на самай справе крамах, як 0.1111119 або 853 00:39:53,010 --> 00:39:54,350 нешта накшталт гэтага. 854 00:39:54,350 --> 00:39:56,900 >> Такім чынам, гэта нашмат прасцей канвертаваць у цэнты. 855 00:39:56,900 --> 00:40:02,190 Так як жа нам канвертаваць даляравую кошт у цэнтах? 856 00:40:02,190 --> 00:40:03,540 SPEAKER 5: Times яго на 100? 857 00:40:03,540 --> 00:40:03,920 ZAMYLA CHAN: Так. 858 00:40:03,920 --> 00:40:04,110 Так. 859 00:40:04,110 --> 00:40:07,110 Такім чынам, мы б раз на 100. 860 00:40:07,110 --> 00:40:10,820 Але адна складаная рэч аб якая плавае кропкай з'яўляецца тое, што 861 00:40:10,820 --> 00:40:11,790 некаторыя недакладнасці. 862 00:40:11,790 --> 00:40:16,090 Так што давайце проста паглядзім на прыклад. 863 00:40:18,760 --> 00:40:21,360 Так што я збіраюся адкрыць imprecision.c. 864 00:40:21,360 --> 00:40:23,690 Добра. 865 00:40:23,690 --> 00:40:24,860 Гэта вельмі простая праграма. 866 00:40:24,860 --> 00:40:26,970 Ён просіць паплавок, і гэта выводзіць яго назад. 867 00:40:35,950 --> 00:40:39,600 Адзін добры савет у тэрмінал вы можаце проста ўвесці ясна, і 868 00:40:39,600 --> 00:40:41,180 то ў вас ёсць выразны экран. 869 00:40:41,180 --> 00:40:45,270 І таму вы не павінны глядзець на ўсе папярэднія выходныя або любой 870 00:40:45,270 --> 00:40:47,490 памылкі або паведамленні пра памылку, нешта накшталт гэтага. 871 00:40:47,490 --> 00:40:48,120 Добра. 872 00:40:48,120 --> 00:40:49,675 Так давайце зробім недакладнасць. 873 00:40:53,250 --> 00:40:56,250 Давайце запусцім яго. 874 00:40:56,250 --> 00:40:57,890 Так што я haven't - 875 00:40:57,890 --> 00:41:03,830 ў маім кодзе, я не надрукаваць любы радку ці што-небудзь падобнае. 876 00:41:03,830 --> 00:41:05,010 Так што ён проста міргае курсор. 877 00:41:05,010 --> 00:41:07,390 Так што гэта проста чакаў мяне, каб увесці паплаўка. 878 00:41:07,390 --> 00:41:08,640 Так let's - 879 00:41:10,610 --> 00:41:11,280 выпадковага паплаўка. 880 00:41:11,280 --> 00:41:15,080 І вы бачыце, што ён друкуе яе назад, але мае некаторыя дадатковыя 881 00:41:15,080 --> 00:41:18,180 Нумары, што мы дакладна не ўключаць. 882 00:41:18,180 --> 00:41:21,980 Такім чынам, мы хочам пераканацца, што гэта не 883 00:41:21,980 --> 00:41:23,300 адбываюцца ў нашай праграме. 884 00:41:23,300 --> 00:41:27,550 >> Такім чынам, што мы хочам зрабіць, гэта пераканацца, што мы на самай справе 885 00:41:27,550 --> 00:41:31,300 выгляд акругляецца да адпаведнага значэння. 886 00:41:31,300 --> 00:41:31,850 Правільна? 887 00:41:31,850 --> 00:41:37,820 І так, на шчасце, у нас ёсць функцыя, званая круглая ўключана 888 00:41:37,820 --> 00:41:38,550 У Appliance. 889 00:41:38,550 --> 00:41:41,390 Гэта ў матэматычную бібліятэку. 890 00:41:41,390 --> 00:41:44,710 Калі вы хочаце ведаць, як выкарыстоўваць круглы, то вы фактычна выкарыстоўваеце 891 00:41:44,710 --> 00:41:45,220 кіраўніцтва. 892 00:41:45,220 --> 00:41:48,160 Вы можаце націснуць круглы чалавек. 893 00:41:48,160 --> 00:41:51,190 Тады вось яна выхоўвае - 894 00:41:51,190 --> 00:41:53,220 можа быць трохі цяжка расшыфраваць, але ў выніку 895 00:41:53,220 --> 00:41:54,690 Вы атрымаеце павесіць яго. 896 00:41:54,690 --> 00:42:00,060 Гэта збольшага паказвае, якія функцыі выконвае, а затым некаторыя 897 00:42:00,060 --> 00:42:01,790 магчымых ужыванняў гэтага. 898 00:42:01,790 --> 00:42:10,210 Такім чынам, калі вы ў рэшце рэшт атрымаеце належнае, сапраўдны ўклад 899 00:42:10,210 --> 00:42:14,490 карыстальнік, то вы хочаце, каб пераўтварыць яго ў цэнтах. 900 00:42:14,490 --> 00:42:18,530 Пераканайцеся, што вы круглы значэнне, так што вам пазбегнуць гэтай 901 00:42:18,530 --> 00:42:21,780 якая плавае кропкай недакладнасць. 902 00:42:21,780 --> 00:42:22,340 >> Добра. 903 00:42:22,340 --> 00:42:26,190 Такім чынам, мы запыце карыстальніка на грашовую суму. 904 00:42:26,190 --> 00:42:31,460 Цяпер тое, што мы хочам зрабіць, гэта па сутнасці праверыць, правільна? 905 00:42:31,460 --> 00:42:35,500 Добра, такім чынам я магу выкарыстоўваць найбуйнейшых манеты магчыма? 906 00:42:35,500 --> 00:42:37,040 Калі вы можаце, то вы яго выкарыстоўваеце. 907 00:42:37,040 --> 00:42:40,250 Вы адсочваць, колькі манет вы выкарысталі да гэтага часу і 908 00:42:40,250 --> 00:42:41,710 Таксама зніжаецца колькасць. 909 00:42:41,710 --> 00:42:42,240 Правільна? 910 00:42:42,240 --> 00:42:44,880 І тады вы будзеце правяраць. 911 00:42:44,880 --> 00:42:47,940 Пасля таго як вы выгляд вычарпаныя кварталаў, вы хочаце пайсці 912 00:42:47,940 --> 00:42:49,545 да наступнай магчымай рэчы. 913 00:42:49,545 --> 00:42:59,380 >> Так якая структура або якія цыкле мы маглі б 914 00:42:59,380 --> 00:43:03,850 хочаце выкарыстоўваць, каб пастаянна правяраць, ці можам мы па-ранейшаму выкарыстоўваць 915 00:43:03,850 --> 00:43:05,100 у квартал, напрыклад? 916 00:43:07,380 --> 00:43:09,280 SPEAKER 6: У той час як значэнне больш? 917 00:43:09,280 --> 00:43:10,150 ZAMYLA CHAN: Так, цалкам. 918 00:43:10,150 --> 00:43:10,590 Менавіта так. 919 00:43:10,590 --> 00:43:12,630 Такім чынам, у той час як значэнне больш. 920 00:43:12,630 --> 00:43:16,300 Такім чынам, у той час як значэнні, што мы павінны аддаць усё яшчэ 921 00:43:16,300 --> 00:43:19,410 больш чым на чвэрць, у той час як мы ўсё яшчэ можам выкарыстоўваць у квартал, 922 00:43:19,410 --> 00:43:20,490 выкарыстоўваць кварталаў. 923 00:43:20,490 --> 00:43:21,450 Сачыце за гэтым. 924 00:43:21,450 --> 00:43:22,610 А потым працягвайце ісці. 925 00:43:22,610 --> 00:43:25,040 Perfect. 926 00:43:25,040 --> 00:43:26,290 Добра. 927 00:43:28,190 --> 00:43:32,580 О, вось я толькі што ўключаныя толькі некаторыя парады аб тым, як раздрукаваць 928 00:43:32,580 --> 00:43:33,830 са значэння. 929 00:43:36,330 --> 00:43:38,810 Так што ў вашым Е функцыя, мы звычайна былі проста 930 00:43:38,810 --> 00:43:39,760 працы са радкамі. 931 00:43:39,760 --> 00:43:43,290 Але калі вы хочаце, каб раздрукаваць Int або проста любога тыпу 932 00:43:43,290 --> 00:43:46,510 лічбы, вы павінны выгляду напісаць такое месца трымальнік. 933 00:43:46,510 --> 00:43:50,840 Так што, прадстаўленай адсоткаў,% D для цэлых лікаў. 934 00:43:50,840 --> 00:43:53,780 Вы пішаце, што, то потым вы на самой справе - 935 00:43:53,780 --> 00:43:54,900 пасля коскі - 936 00:43:54,900 --> 00:43:57,990 пакласці ў якое значэнне на самай справе адбываецца там. 937 00:43:57,990 --> 00:43:58,510 Права. 938 00:43:58,510 --> 00:43:58,840 >> Добра. 939 00:43:58,840 --> 00:44:02,050 Такім чынам, мы вызначылі, што мы хочам, каб праверыць - 940 00:44:02,050 --> 00:44:04,950 адзін з спосабаў зрабіць гэта будзе пастаянна праверыць 941 00:44:04,950 --> 00:44:08,640 мы ўсё яшчэ можам выкарыстоўваць памяшканне, а затым выкарыстоўваць памяшканні, захаваць 942 00:44:08,640 --> 00:44:11,460 адсочваць, а затым перайсці да наступнай вялікай каштоўнасцю. 943 00:44:11,460 --> 00:44:15,010 Цяпер яшчэ адзін від акуратны спосаб, якім вы маглі б зрабіць гэта 944 00:44:15,010 --> 00:44:16,770 з дапамогай аператара па модулю. 945 00:44:16,770 --> 00:44:22,710 Так што ў нас ужо ёсць плюс, мінус, множанне і дзяленне 946 00:44:22,710 --> 00:44:23,560 даступныя для нас. 947 00:44:23,560 --> 00:44:25,600 Але аператар па модулю гэта свайго роду акуратны. 948 00:44:25,600 --> 00:44:28,630 Што яна робіць гэта ён на самай справе вяртае астатак 949 00:44:28,630 --> 00:44:31,750 дзялення двух лікаў. 950 00:44:31,750 --> 00:44:34,680 Так што, калі вы памятаеце, у дзялення ў слупок, калі Вы былі б, скажам, 951 00:44:34,680 --> 00:44:40,100 зрабіць 74 падзяліць на 3, можна было б напісаць яго, пераносіць, 952 00:44:40,100 --> 00:44:43,260 адымаць, а затым у канцы ліку на дне 953 00:44:43,260 --> 00:44:44,050 рэшта. 954 00:44:44,050 --> 00:44:47,120 Ну, што модулю гэта на самай справе проста дае вам гэта. 955 00:44:47,120 --> 00:44:51,290 Такім чынам, 74 па модулю 3 дасць вам 2. 956 00:44:51,290 --> 00:44:56,310 Аналагічна, 10 па модулю 2 дае вам 0, таму што няма ніякіх 957 00:44:56,310 --> 00:44:59,340 рэшту пры дзяленні 10 на 2. 958 00:44:59,340 --> 00:45:03,940 6 модулю 5, а 5 пераходзіць у 6 адзін раз, а затым 959 00:45:03,940 --> 00:45:05,900 Ён мае 1 засталося. 960 00:45:05,900 --> 00:45:09,930 Тады, калі ў вас ёсць 7 па модулю 9, а 9 больш, чым 7. 961 00:45:09,930 --> 00:45:11,830 Таму ён не можа пайсці любы іншы раз. 962 00:45:11,830 --> 00:45:15,560 Так што мае сэнс, што вяртаецца значэнне роўна 7. 963 00:45:15,560 --> 00:45:21,590 Так што калі вы думаеце пра модулю, як ён дае вам рэшту 964 00:45:21,590 --> 00:45:25,170 пасля таго, як вы дзеліце нешта, вы можаце збольшага бачыць, як вы 965 00:45:25,170 --> 00:45:27,490 маглі б выкарыстоўваць яго ў прагныя, так? 966 00:45:30,340 --> 00:45:34,170 Так што калі вы выгляд аб'яднаць модулю, можа быць, з падзелам 967 00:45:34,170 --> 00:45:36,410 Аператар, нешта накшталт гэтага, то ў вас можа быць халаднавата 968 00:45:36,410 --> 00:45:38,870 выгляд Mathy спосаб наблізіцца да пастаўленай задачы. 969 00:45:44,010 --> 00:45:46,090 >> Так што цяпер мы ведаем, што існуе некалькі розных 970 00:45:46,090 --> 00:45:48,350 спосабамі, якія мы маглі б гэта зрабіць - ёсць вызначана шмат 971 00:45:48,350 --> 00:45:54,160 рознымі спосабамі, нават пісаць у той час як завесы. 972 00:45:54,160 --> 00:45:57,020 Так што я напісаў некалькі псевдокод тут. 973 00:45:57,020 --> 00:46:01,760 Яно не можа быць аднолькавым на выгляд шкілет вашага 974 00:46:01,760 --> 00:46:02,460 код, які вы пішаце. 975 00:46:02,460 --> 00:46:05,580 Але па сутнасці, працэс і спосаб мыслення 976 00:46:05,580 --> 00:46:06,940 гэтак жа, як мы абмяркоўвалі. 977 00:46:06,940 --> 00:46:10,310 Такім чынам, спачатку першы радок кажа, каб атрымаць пэўную колькасць 978 00:46:10,310 --> 00:46:12,490 у далярах. 979 00:46:12,490 --> 00:46:16,960 І тады няяўнай там пераўтварыць яго ў цэнтах. 980 00:46:16,960 --> 00:46:20,540 Затым, калі чвэрці могуць быць выкарыстаны, мы хочам 981 00:46:20,540 --> 00:46:21,750 павялічыць кошт. 982 00:46:21,750 --> 00:46:24,360 А потым мы хочам паменшыць колькасць, значэнне, 983 00:46:24,360 --> 00:46:25,300 мы вяртаемся назад. 984 00:46:25,300 --> 00:46:28,170 Як вы бачыце тут, гэта не зусім C. Але я таксама 985 00:46:28,170 --> 00:46:31,550 водступ рэчы, я паклаў умоў унутры 986 00:46:31,550 --> 00:46:32,190 дужкі. 987 00:46:32,190 --> 00:46:34,370 >> Такім чынам, што від прымушае мяне пачалі. 988 00:46:34,370 --> 00:46:36,620 І потым, я магу проста паглядзець сінтаксіс. 989 00:46:36,620 --> 00:46:40,230 Часта самая цяжкая частка сапраўды аб праблемай з'яўляецца 990 00:46:40,230 --> 00:46:41,860 зразумець, што менавіта вам трэба зрабіць. 991 00:46:41,860 --> 00:46:44,610 Таму, як толькі вы пішаце, што ўніз, то гэта нашмат лягчэй, то 992 00:46:44,610 --> 00:46:45,810 перавесці на псевдокоде. 993 00:46:45,810 --> 00:46:49,340 А потым з псевдокод, сінтаксіс прыходзіць даволі лёгка. 994 00:46:49,340 --> 00:46:52,140 Такім чынам, мы бачым, у той час як памяшкання, могуць быць выкарыстаны, павялічыць колькасць, 995 00:46:52,140 --> 00:46:53,220 паменшыць суму. 996 00:46:53,220 --> 00:46:57,310 У той час як пятакоў можа быць выкарыстаны, то вы праводзіце так далей, і так 997 00:46:57,310 --> 00:47:00,670 далей, пакуль вы вычарпалі ўсе свае грошы. 998 00:47:00,670 --> 00:47:03,410 Вы раздрукаваць колькасць манет выкарыстоўваліся, якая будзе 999 00:47:03,410 --> 00:47:06,620 Мінімальная сума, каб карыстач ўведзенага значэння. 1000 00:47:06,620 --> 00:47:09,370 І ў вас ёсць Прагны алгарытм. 1001 00:47:09,370 --> 00:47:13,960 А потым, як толькі вы скончыце, што вы таксама скончылі PSET 0. 1002 00:47:13,960 --> 00:47:16,155 >> Хто-небудзь ёсць якія-небудзь пытанні ні пра што? 1003 00:47:19,420 --> 00:47:19,780 Добра. 1004 00:47:19,780 --> 00:47:22,900 Ну, я буду прытрымлівацца вакол трохі пасля, калі ў вас ёсць 1005 00:47:22,900 --> 00:47:23,970 на любыя пытанні. 1006 00:47:23,970 --> 00:47:24,940 Гэта пакрокавае кіраўніцтва 1. 1007 00:47:24,940 --> 00:47:26,190 Дзякуй, што прыйшлі.