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 一個經典的超級馬里奧兄弟 遊戲背景。 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 >> 的一個方法,以確保正確的用戶輸入 通過使用do-whil​​e循環,這是 23 00:01:25,990 --> 00:01:28,100 While循環非常相似。 24 00:01:28,100 --> 00:01:32,580 do-whil​​e循環執行的代碼 身體內部的一次,然後檢查 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-whil​​e循環。 30 00:01:47,270 --> 00:01:50,950 如果該條件得到滿足,雖然, 將重複循環。 31 00:01:50,950 --> 00:01:55,560 >> 一個DO-WHILE循環驗證用戶 輸入會是這個樣子。 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-whil​​e循環, 其餘的程序將不會 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 我們的窗口的左側,然後 我們鍵入兩個哈希值,點擊進入, 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 第一行有7個空格 接著由兩個哈希。 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 >> 但是,你怎麼會代表 的第n行? 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語言中,我們將使用一個for循環。 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 您的For循環將初始化 一個變量時,它首先 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 只要你的病情重複 計算結果為True。 88 00:05:18,580 --> 00:05:21,450 你的條件必須最終計價 為False,不過,因為 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 >> 下面是一個例子,一個for循環 你可能想使用的馬里奧。 92 00:05:32,330 --> 00:05:36,790 初始化聲明 值為0的整數i。 93 00:05:36,790 --> 00:05:40,750 只要我不到的高度, 循環體將執行 94 00:05:40,750 --> 00:05:44,980 增加i和重複 直到i大於或 95 00:05:44,980 --> 00:05:47,220 的高度相等。 96 00:05:47,220 --> 00:05:49,140 >> 現在,我的For循環指數為零。 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 如果你不想使用一個For循環, 你也可以使用一個while循環 106 00:06:22,380 --> 00:06:26,530 只要你的重複報表 保持一個For循環的本質, 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