1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA Чан: стрибок Давайте в Маріо. 3 00:00:11,070 --> 00:00:14,850 Маріо програма, де ми зробимо нашу власні, хоча і примітивної, версія 4 00:00:14,850 --> 00:00:17,760 класичний Super Mario Brothers гра фоном. 5 00:00:17,760 --> 00:00:21,100 Для цього завдання безліч, ми збираємося відтворити половину піраміда 6 00:00:21,100 --> 00:00:23,000 Маріо стрибати на. 7 00:00:23,000 --> 00:00:27,330 Наша програма буде інтерактивним, так що попросить користувача ввести певний 8 00:00:27,330 --> 00:00:28,660 висота піраміди. 9 00:00:28,660 --> 00:00:32,920 І програма буде друкувати половина піраміди, що висота, де 10 00:00:32,920 --> 00:00:37,390 нижній лівий хеш Вирівнювання по нижньому краю лівому куті термінал 11 00:00:37,390 --> 00:00:39,710 вихідне вікно. 12 00:00:39,710 --> 00:00:44,870 >> Давайте розглянемо цю проблему на дві частини, один, отримати користувальницький введення, і два, 13 00:00:44,870 --> 00:00:47,040 роздрукувати піраміди. 14 00:00:47,040 --> 00:00:51,150 Пам'ятайте, що хоча функція GetInt отримає ціле число, ви 15 00:00:51,150 --> 00:00:56,260 повинні переконатися, що цей вхід робить для вашої програми, так що в 16 00:00:56,260 --> 00:00:59,690 Маріо, він не буде робити тільки Продукт на ціле число. 17 00:00:59,690 --> 00:01:03,440 Ви повинні переконатися, що користувач Входи ціле, який протягом 18 00:01:03,440 --> 00:01:06,985 нижня і верхня межі піраміди, які можна роздрукувати. 19 00:01:06,985 --> 00:01:12,300 У цій специфікації, це 0 до 23 включно. 20 00:01:12,300 --> 00:01:16,410 Якщо користувач вводить ціле зовні наших прийнятих кордонів, то ми хочемо 21 00:01:16,410 --> 00:01:20,840 не є схиляння їх знову і знову, поки вони дають нам дійсне ціле. 22 00:01:20,840 --> 00:01:25,990 >> Одним із способів забезпечення правильного входу користувач за допомогою робити-то час як цикл, тобто 23 00:01:25,990 --> 00:01:28,100 дуже схоже на якийсь час циклу. 24 00:01:28,100 --> 00:01:32,580 Do-While Loop виконує код всередині тіла один раз, а потім перевіряє 25 00:01:32,580 --> 00:01:35,270 Чи умова чи ні. 26 00:01:35,270 --> 00:01:38,830 Це корисно для отримання користувацького введення тому що ви знаєте, що вам потрібно 27 00:01:38,830 --> 00:01:41,805 щоб підштовхнути їх хоча б раз. 28 00:01:41,805 --> 00:01:45,940 Якщо умова не виконується, програма буде виконувати лінію після 29 00:01:45,940 --> 00:01:47,270 Вашої Do-While Loop. 30 00:01:47,270 --> 00:01:50,950 Якщо умова виконується, хоча, цикл буде повторюватися. 31 00:01:50,950 --> 00:01:55,560 >> Do-While Loop для перевірки користувачів вхід буде виглядати приблизно так. 32 00:01:55,560 --> 00:02:02,920 Я оголосити змінну N, GetInt, і повторювати, поки N є дійсним. 33 00:02:02,920 --> 00:02:06,270 Пам'ятайте, що коли ви оголосите змінної, вона повинна відповідним 34 00:02:06,270 --> 00:02:08,449 сфери, як і в хорошому стані. 35 00:02:08,449 --> 00:02:12,510 Якщо я заявляю, п в моїй Do-While Loop, Інша частина програми не буде 36 00:02:12,510 --> 00:02:13,750 можливість доступу до нього. 37 00:02:13,750 --> 00:02:16,100 Вона обмежена межами у фігурні дужки. 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> Гаразд, тепер, коли ми перевірили введені користувачем, ми насправді потрібно 40 00:02:23,090 --> 00:02:25,020 звернути на це половину піраміди. 41 00:02:25,020 --> 00:02:29,700 Вона складається з друкованих знаків, тому давайте зробимо половину піраміди в простій 42 00:02:29,700 --> 00:02:31,480 текстового редактора. 43 00:02:31,480 --> 00:02:35,920 Якщо ми хочемо зробити піраміду Маріо стилі висоти трьох яка вирівняна 44 00:02:35,920 --> 00:02:41,370 на лівій стороні нашого вікна, а потім ми надрукували б два хеш, натисніть Enter, 45 00:02:41,370 --> 00:02:47,180 потім введіть три хешей, натисніть Введіть, а потім введіть чотири. 46 00:02:47,180 --> 00:02:51,090 >> Але в цьому проблема набору, наш половина піраміди має бути вирівняний по правому краю. 47 00:02:51,090 --> 00:02:55,550 За допомогою стандартної клавіатури, як може модифікації цього файлу, щоб перемістити хешей 48 00:02:55,550 --> 00:02:57,210 На правій стороні? 49 00:02:57,210 --> 00:03:03,190 Я міг би використовувати для підкреслення, два на верхньому ряду і одна на другому. 50 00:03:03,190 --> 00:03:07,690 Це виглядає не так добре, хоча, так Давайте замінимо з підкреслення 51 00:03:07,690 --> 00:03:12,450 простору, і ми маємо половину піраміди заввишки три. 52 00:03:12,450 --> 00:03:16,330 >> Будь ласка, пам'ятайте, це текстовий редактор Наприклад, як ви почнете згадуючи 53 00:03:16,330 --> 00:03:20,100 C. Давайте спробуємо з'ясувати деякі вид шаблону, що ми можемо 54 00:03:20,100 --> 00:03:22,750 покласти в конструкція циклу. 55 00:03:22,750 --> 00:03:27,570 Візьмемо приклад висоти, скажімо вісім, і подивитися, якщо ви можете почати 56 00:03:27,570 --> 00:03:29,470 придумати шаблон. 57 00:03:29,470 --> 00:03:34,710 У першому рядку буде сім просторів потім два хеш. 58 00:03:34,710 --> 00:03:40,090 Другий ряд матиме шість просторів і Не три хеш, і так далі, поки 59 00:03:40,090 --> 00:03:41,440 восьмому ряду. 60 00:03:41,440 --> 00:03:45,210 >> Але як ви представлятиме п-я рядок? 61 00:03:45,210 --> 00:03:48,170 Пам'ятайте, що програмування Конвенції дорівнює нулю індексуватися. 62 00:03:48,170 --> 00:03:51,870 Це означає, що ви починали вважати нулю, тому перший ряд технічно 63 00:03:51,870 --> 00:03:57,110 номер рядка нуля з двома люками, рядок номер один має три хешей, рядок 64 00:03:57,110 --> 00:04:01,860 номер два має чотири хешей, тому після ця модель для будь-якого рядка 65 00:04:01,860 --> 00:04:05,800 число N, мається п плюс 2 хешей. 66 00:04:05,800 --> 00:04:09,270 Я залишаю це вам, тим не менше, знайти виключати схему для просторів. 67 00:04:09,270 --> 00:04:12,240 Пам'ятайте, що ваша картина буде злегка відрізняється, якщо ви вирішите 68 00:04:12,240 --> 00:04:16,649 почніть рахувати від один і не дорівнює нулю. 69 00:04:16,649 --> 00:04:19,560 >> Тепер у вас є зразок для будь абстрактної N рядків. 70 00:04:19,560 --> 00:04:25,190 Ви знаєте, скільки простору для друку і скільки хеш, так що для кожного рядка, яка 71 00:04:25,190 --> 00:04:26,270 число буде змінюватися. 72 00:04:26,270 --> 00:04:30,700 Але той же процес друку один символ, або пробіл, або 73 00:04:30,700 --> 00:04:33,200 Хеш, повторюється. 74 00:04:33,200 --> 00:04:37,470 Все, що Вам потрібно зробити, це неодноразово роздрукувати цей символ стільки разів, 75 00:04:37,470 --> 00:04:40,120 як ваш шаблон і визначить. 76 00:04:40,120 --> 00:04:42,522 >> Так як же нам повторювати процеси? 77 00:04:42,522 --> 00:04:45,160 У нуля, ми використовували повтор блоку. 78 00:04:45,160 --> 00:04:48,580 У C, ми будемо використовувати для петлі. 79 00:04:48,580 --> 00:04:51,290 Давайте подивимося на синтаксис для циклів. 80 00:04:51,290 --> 00:04:57,140 >> Кожен цикл складається з трьох частин, ініціалізація, умова, 81 00:04:57,140 --> 00:04:58,592 та оновлення. 82 00:04:58,592 --> 00:05:01,550 Ваш цикл буде ініціалізувати змінної, коли він вперше 83 00:05:01,550 --> 00:05:02,960 входить до циклу. 84 00:05:02,960 --> 00:05:07,100 Якщо умова виконується, то тіло циклу буде виконуватися. 85 00:05:07,100 --> 00:05:10,070 Після цього оновлення будуть виконуватися. 86 00:05:10,070 --> 00:05:13,630 >> Якщо умова все ще виконується, цикл буде виконуватися і оновлювати і 87 00:05:13,630 --> 00:05:18,580 Повторюю, поки ваш стан оцінюється як істина. 88 00:05:18,580 --> 00:05:21,450 Ви повинні в кінцевому підсумку стан оцінюємо до помилкових, хоча, тому що 89 00:05:21,450 --> 00:05:24,490 На відміну від нуля, ми не є Назавжди петель. 90 00:05:24,490 --> 00:05:28,270 Ваша програма повинна закінчитися в кінці кінців. 91 00:05:28,270 --> 00:05:32,330 >> Ось приклад для циклу, який Ви можете використовувати для Маріо. 92 00:05:32,330 --> 00:05:36,790 Ініціалізації заявляє Я ціле зі значенням 0. 93 00:05:36,790 --> 00:05:40,750 Поки я менше, ніж висота, Тіло циклу виконуватиметься і 94 00:05:40,750 --> 00:05:44,980 Я збільшиться на одиницю і повторити поки я не більше або 95 00:05:44,980 --> 00:05:47,220 рівній висоті. 96 00:05:47,220 --> 00:05:49,140 >> Тепер, мій оператор циклу нульової індекс. 97 00:05:49,140 --> 00:05:52,270 INT I починається з нуля, а не один. 98 00:05:52,270 --> 00:05:55,320 Якби я вибрав один, то мій стан буде також повинні бути різними для 99 00:05:55,320 --> 00:05:58,740 циклу для виконання те ж саме кількість разів. 100 00:05:58,740 --> 00:06:03,490 Пам'ятайте, що це ретельно, коли ви виборі ініціалізації і вашим 101 00:06:03,490 --> 00:06:08,660 стані, і ознайомитися з цією намітити, щоб перевірити двічі. 102 00:06:08,660 --> 00:06:13,430 >> Одна з великих речей про комп'ютер науки те, що є тільки так багато 103 00:06:13,430 --> 00:06:15,490 способи виконання речей. 104 00:06:15,490 --> 00:06:19,450 Ви можете вибрати чи ви починається з нуля або одного. 105 00:06:19,450 --> 00:06:22,380 Якщо ви не хочете використовувати цикл, Ви можете також використовувати час циклу 106 00:06:22,380 --> 00:06:26,530 повторюють оператори до тих пір, як ви зберігання есенції цикл, 107 00:06:26,530 --> 00:06:31,430 ініціалізації, умови та оновлення. 108 00:06:31,430 --> 00:06:36,890 Як тільки ми з'ясуємо, що цикл ми найбільш комфортно, то ми 109 00:06:36,890 --> 00:06:38,450 може завершити Маріо. 110 00:06:38,450 --> 00:06:41,540 >> Ми спочатку зареєструвалися для користувача введення , А потім визначили 111 00:06:41,540 --> 00:06:43,580 шаблон для будь-якого рядка N. 112 00:06:43,580 --> 00:06:49,990 Таким чином, для кожного рядка від нуля до мінус N 1 надрукує відповідне число 113 00:06:49,990 --> 00:06:55,340 простору, то відповідну кількість хешів у відповідності з нашим малюнком, і 114 00:06:55,340 --> 00:06:57,180 Потім з нового рядка. 115 00:06:57,180 --> 00:06:59,640 При тому, що у вас є піраміди. 116 00:06:59,640 --> 00:07:02,630 Мене звуть Zamyla, і це був Маріо. 117 00:07:02,630 --> 00:07:11,765