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