1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:02,640 ZAMYLA Chan: Bu Zamyla, bir-me var. 3 00:00:02,640 --> 00:00:06,950 Bu gün biz həyata olacaq biz Mario çəkmək Mario, 4 00:00:06,950 --> 00:00:10,730 Onun üçün tam piramida üzərində jump. 5 00:00:10,730 --> 00:00:14,430 nin qırmaq edək Bu problem üçün sub-vəzifələri. 6 00:00:14,430 --> 00:00:17,930 >> Birincisi, biz istifadəçi təklif etmək istəyirik Piramidanın hündürlüyü üçün. 7 00:00:17,930 --> 00:00:20,510 Və sonra biz əmin etmək istəyirəm ki, input etibarlıdır. 8 00:00:20,510 --> 00:00:23,280 Və sonra biz olacaq piramida çəkmək istəyirəm. 9 00:00:23,280 --> 00:00:26,850 >> Belə ki, isteyen haqqında danışmaq edək və istifadəçi daxil doğrulama. 10 00:00:26,850 --> 00:00:29,920 Bu kimi bir şey ola bilər Bu, bir do-isə loop ki 11 00:00:29,920 --> 00:00:33,250 Bir üçün istifadəçi ister tam və sonra yalnız təkrar 12 00:00:33,250 --> 00:00:35,700 ki, tam etibarsız olduqda. 13 00:00:35,700 --> 00:00:38,220 Belə ki, bu vəziyyət nə olmalıdır? 14 00:00:38,220 --> 00:00:40,630 >> Bunun üçün geri gedək dəqiqləşdirilməsi. 15 00:00:40,630 --> 00:00:46,240 Bəli, spec hər hansı bir etibarlı bizə deyir ki, boyu, 0 və 23 arasında olacaq 16 00:00:46,240 --> 00:00:47,350 daxil. 17 00:00:47,350 --> 00:00:51,400 Beləliklə hər hansı bir yalnış o deməkdir ki, hündürlüyü az 0 olacaq 18 00:00:51,400 --> 00:00:53,840 və ya daha çox 23. 19 00:00:53,840 --> 00:00:57,220 >> Belə ki, indi biz bu məlumat var ki, Bizim vəziyyəti dizayn imkan verir. 20 00:00:57,220 --> 00:00:59,230 Amma biz ehtiyatlı olmaq lazımdır, indi biz, çünki 21 00:00:59,230 --> 00:01:02,130 biz qiymətləndirmək istəyən iki Booleans. 22 00:01:02,130 --> 00:01:04,150 >> Burada təmin etdik bir həqiqət masa. 23 00:01:04,150 --> 00:01:07,520 Bu, bizim iki etmək üçün imkan verir Booleans, Boolean bir və iki. 24 00:01:07,520 --> 00:01:13,600 Biz ya bool1 qiymətləndirmək olar və bool2 ya bool1 ya bool2. 25 00:01:13,600 --> 00:01:17,390 >> Belə ki, fərq var arasında və ya? 26 00:01:17,390 --> 00:01:21,810 Yaxşı, bool1 və bool2 edəcək qiymətləndirmək doğru əgər və yalnız 27 00:01:21,810 --> 00:01:25,680 həm Booleans doğru əgər, və ya əməliyyat isə 28 00:01:25,680 --> 00:01:30,190 doğru olacaq ya bir əgər Booleans və ya hər ikisi doğrudur. 29 00:01:30,190 --> 00:01:33,110 Bu ağıl ilə So Siz anlamaq bilər görmek 30 00:01:33,110 --> 00:01:37,460 nə müvafiq şəraiti üçün yalnış n üçün do-isə loop 31 00:01:37,460 --> 00:01:38,850 olacaq. 32 00:01:38,850 --> 00:01:43,540 >> Ki, biz təhrik və təsdiq etdik Piramidanın hündürlüyü üçün istifadəçi 33 00:01:43,540 --> 00:01:44,550 onlar istəyirəm ki,. 34 00:01:44,550 --> 00:01:47,740 Belə ki, indi, bu, bizim üçün var piramida çəkmək üçün. 35 00:01:47,740 --> 00:01:50,520 Bu tam piramida problem bir az görünür 36 00:01:50,520 --> 00:01:56,340 bu kimi, biz sol piramida olduğu, bir boşluğu, sonra sağ piramida. 37 00:01:56,340 --> 00:01:58,630 Belə ki, bir az bu qırmaq edək. 38 00:01:58,630 --> 00:02:03,510 >> Mən mətn redaktoru getmək, burada var bizə sol aligned piramida tərtib. 39 00:02:03,510 --> 00:02:05,160 Amma bunu deyil. 40 00:02:05,160 --> 00:02:10,139 Biz nə istəyirik, biz istəyirik ilk sağ aligned piramida yaratmaq. 41 00:02:10,139 --> 00:02:13,580 Belə ki, yalnız təkan, bunu yan boyunca mənim hashes, 42 00:02:13,580 --> 00:02:18,240 Mən yalnız bir simvol qoymaq üçün gedirəm yalnız bu nöqtələr arasında. 43 00:02:18,240 --> 00:02:22,560 Sonra iki qoymaq üçün gedirəm növbəti line ki, xətti bir. 44 00:02:22,560 --> 00:02:26,070 Və burada mən bir var piramida sağ aligned edir. 45 00:02:26,070 --> 00:02:28,540 >> Bundan sonra, mən gedirəm top sıra geri 46 00:02:28,540 --> 00:02:33,930 və boşluğu qoymaq olan spec iki fəzalarında başına edir. 47 00:02:33,930 --> 00:02:37,680 Sonra doldurmaq gedirəm Piramidanın digər tərəfdən. 48 00:02:37,680 --> 00:02:42,030 Mən ikinci sıra getmək üçün gedirəm yazmaq iki boşluğu üçün boşluq və sonra iki 49 00:02:42,030 --> 00:02:42,920 hashes. 50 00:02:42,920 --> 00:02:47,020 Geri üçüncü sıraya iki fəzalarında boşluğu və üç hashes üçün. 51 00:02:47,020 --> 00:02:51,480 Və sonunda, iki fəzalarında boşluğu və dörd hashes üçün. 52 00:02:51,480 --> 00:02:54,400 Belə ki, nə tam piramida kimi görünür. 53 00:02:54,400 --> 00:02:57,260 >> Əlbəttə ki, biz istəmirik şəkildə bu nöqtələr. 54 00:02:57,260 --> 00:03:01,220 Beləliklə, biz bu əvəz olacaq bəzi boşluq qoyaraq nöqtələr. 55 00:03:01,220 --> 00:03:03,720 Bir, iki, ilk line üç. 56 00:03:03,720 --> 00:03:05,650 One, ikinci iki. 57 00:03:05,650 --> 00:03:08,200 Və üçüncü xəttində bir. 58 00:03:08,200 --> 00:03:12,060 Belə ki, bu biz biz əgər nə olardı nə yalnız tam piramida etmək istədi, 59 00:03:12,060 --> 00:03:13,700 Bizim mətn redaktoru, deyirlər. 60 00:03:13,700 --> 00:03:15,860 >> Belə ki, bu götürək, nümunələri anlaşma, 61 00:03:15,860 --> 00:03:19,870 və bəzi pseudocode üzərində çevirmək. 62 00:03:19,870 --> 00:03:24,500 Piramidanın Hər bir sıra, biz istəyirik sonra sol piramida çap və 63 00:03:24,500 --> 00:03:26,580 GAP və sonra sağ piramida. 64 00:03:26,580 --> 00:03:30,260 Sol piramida, biz çap fəzalarında zəruri məbləği 65 00:03:30,260 --> 00:03:31,740 hashes izlədi. 66 00:03:31,740 --> 00:03:35,030 Sonra boşluğu, çap edən yalnız iki fəzalarında hər zaman. 67 00:03:35,030 --> 00:03:38,080 Sağ piramida, biz çap hashes zəruri nömrəsi. 68 00:03:38,080 --> 00:03:41,410 >> ikinci sırada, biz icra eyni dəqiq prosesi. 69 00:03:41,410 --> 00:03:44,510 Biz sol üçün boşluq çap piramida, zəruri məbləği 70 00:03:44,510 --> 00:03:49,930 hashes, boşluğu, iki fəzalarında, və sağ piramida sonra hashes. 71 00:03:49,930 --> 00:03:52,490 >> nin model həll edək Sol piramida üçün. 72 00:03:52,490 --> 00:03:55,660 Mən olsaydı, məqsədlər üçün Bu nümunə, hündürlüyü 73 00:03:55,660 --> 00:03:58,790 səkkiz tələb istifadəçi sonra mənim ilk sıra 74 00:03:58,790 --> 00:04:01,020 bir hash və yeddi boşluq olardı. 75 00:04:01,020 --> 00:04:03,860 Mənim ikinci sıra olardı iki hashes, altı boşluq. 76 00:04:03,860 --> 00:04:06,749 Üçüncü sıra üç hashes, beş fəzalarında. 77 00:04:06,749 --> 00:04:09,040 Siz yəqin ki, bunu edə bilərsiniz səkkiz hündürlüyü üçün özünüzü 78 00:04:09,040 --> 00:04:13,470 neçə və hər bir sıra üçün müəyyən hashes və neçə boşluq sizə lazım. 79 00:04:13,470 --> 00:04:16,209 Amma biz nə istəyirik biz mücərrəd istəyirik. 80 00:04:16,209 --> 00:04:22,660 Mən neçə hər hansı bir nth sıra üçün xahiş hashes və biz neçə boşluq lazımdır? 81 00:04:22,660 --> 00:04:25,410 >> İndi kimi müəyyən neçə hashes üçün nümunə 82 00:04:25,410 --> 00:04:29,920 və neçə boşluq siz ehtiyac bir boyu hər hansı bir nth satır, 83 00:04:29,920 --> 00:04:32,910 ehtiyatlı olmaq unutmayın necə siz indeksasiyası edirik. 84 00:04:32,910 --> 00:04:37,160 Mən bu demək gündəlik ki, həyat bizim ən biri hesablanması başlamaq. 85 00:04:37,160 --> 00:04:39,680 Belə ki, ilk sıra nömrəli olardı. 86 00:04:39,680 --> 00:04:43,620 Və ikinci sıra sıra olacaq sayı iki, belə ki, və s. 87 00:04:43,620 --> 00:04:47,620 >> Lakin kompüter və CS50, biz sıfır yönümlü olunur. 88 00:04:47,620 --> 00:04:50,750 Belə ki, biz, həqiqətən, sıfır hesablanması başlamaq. 89 00:04:50,750 --> 00:04:54,020 Belə ki, ilk sıra ki sıra sayı sıfır ola bilər. 90 00:04:54,020 --> 00:04:56,640 Və ikinci sıra sıra bir nömrəli olacaq. 91 00:04:56,640 --> 00:05:02,510 Belə ki, əgər Mən səkkiz hündürlüyü idi Mənim piramida, n sonra son dəyəri 92 00:05:02,510 --> 00:05:05,850 həqiqətən yeddi və səkkiz olardı. 93 00:05:05,850 --> 00:05:07,010 >> Belə ki, bu barədə ehtiyatlı olun. 94 00:05:07,010 --> 00:05:10,750 Siz müəyyən etdiyiniz zaman xəbərdar olmaq Sizin sıfır yönümlü olub model 95 00:05:10,750 --> 00:05:12,360 və ya bir-yönümlü 96 00:05:12,360 --> 00:05:13,070 >> TAMAM. 97 00:05:13,070 --> 00:05:15,380 Belə ki, indi biz ki, Sol piramida üçün nümunə, 98 00:05:15,380 --> 00:05:18,650 biz müəyyən etmək lazımdır boşluğu üçün nümunə. 99 00:05:18,650 --> 00:05:20,480 Xoşbəxtlikdən, bu, həqiqətən asandır. 100 00:05:20,480 --> 00:05:22,690 Bu, sadəcə həmişə iki fəzalarında var. 101 00:05:22,690 --> 00:05:25,240 >> Belə ki, indi biz sağ model keçin. 102 00:05:25,240 --> 00:05:27,220 ilk sıra bir hash olacaq. 103 00:05:27,220 --> 00:05:28,640 ikinci sıra, iki. 104 00:05:28,640 --> 00:05:29,530 Üçüncü sıra üç. 105 00:05:29,530 --> 00:05:30,790 Belə ki, və s. 106 00:05:30,790 --> 00:05:35,540 Belə ki, yenə, hər hansı bir mücərrəd müəyyən n və neçə hashes hər hansı bir boy 107 00:05:35,540 --> 00:05:38,810 və neçə boşluq hər bir sıra olmalıdır. 108 00:05:38,810 --> 00:05:39,700 >> TAMAM. 109 00:05:39,700 --> 00:05:45,050 Beləliklə, biz bilirik ki, hər bir satır biz üçün bəzi prosesi aparmaq lazımdır. 110 00:05:45,050 --> 00:05:46,600 biz bunu necə edə bilərəm? 111 00:05:46,600 --> 00:05:50,440 Bəli, biz loop tikinti üçün istifadə, bir başlatma ibarətdir, 112 00:05:50,440 --> 00:05:52,310 bir vəziyyət və yeniləmə. 113 00:05:52,310 --> 00:05:54,830 loops istifadə edilə bilər prosesləri təkrar. 114 00:05:54,830 --> 00:05:59,610 >> Belə ki, mən salam demək istəyirsiniz Dünya 50 dəfə, sonra mənim loop üçün 115 00:05:59,610 --> 00:06:03,510 bu kimi bir şey görünür, harada Mən sıfır mənim dəyişən başlamaq. 116 00:06:03,510 --> 00:06:06,200 şərt i 50-dən az olmasıdır. 117 00:06:06,200 --> 00:06:09,670 Və sonra yeniləmə ki, bir hər zaman əlavələr. 118 00:06:09,670 --> 00:06:14,700 Belə ki, bu olardı nə Bir sıra, salam dünya 50 dəfə çap. 119 00:06:14,700 --> 00:06:18,080 >> İndi təkrarlamaq istədiyini deyirlər Piramidanın hündürlüyü artıq. 120 00:06:18,080 --> 00:06:21,560 Sonra əvəzinə ağır kodlaşdırma vəziyyətdə bəzi dəyəri, 121 00:06:21,560 --> 00:06:23,280 Mən yalnız dəyişən boyu istifadə edin. 122 00:06:23,280 --> 00:06:27,180 Belə ki, bu nə təkrarlamaq deyil hündürlüyü hər bir sıra üzərində. 123 00:06:27,180 --> 00:06:30,280 Mən daxili bir şey edə bilərsiniz ki, loop orqanı. 124 00:06:30,280 --> 00:06:32,710 >> Biz nə istəyirik nə loop orqanı daxilində? 125 00:06:32,710 --> 00:06:36,550 biz əvvəl göstərilən Yaxşı, biz istəyirik boşluq və hashes çap 126 00:06:36,550 --> 00:06:40,730 sonra sol piramida və çap üçün iki fəzalarında və sonra hashes çap. 127 00:06:40,730 --> 00:06:42,500 Beləliklə, biz artıq fiqurlu etdik. 128 00:06:42,500 --> 00:06:45,670 Beləliklə, biz doldurmaq başlaya bilərsiniz daha çox bizim proqramı. 129 00:06:45,670 --> 00:06:49,850 >> Burada loop üçün xarici var ki, piramida hər sıra üzərində iterates. 130 00:06:49,850 --> 00:06:53,340 Və bədən daxilində Mən gedirəm dəfələrlə boşluq çap, 131 00:06:53,340 --> 00:06:56,860 dəfələrlə hashes, sonra boşluğu, və sonra sağ piramida üçün hashes, 132 00:06:56,860 --> 00:07:00,440 Və sonra, nəhayət, yeni line növbəti sıra başlamaq üçün. 133 00:07:00,440 --> 00:07:02,860 >> Ki, biz təhrik etdik giriş üçün istifadəçi. 134 00:07:02,860 --> 00:07:04,510 Biz etibarlı əmin etdik. 135 00:07:04,510 --> 00:07:06,280 Və sonra biz piramida tərtib etdik. 136 00:07:06,280 --> 00:07:09,540 Belə ki, Mario uğurla bilərsiniz piramida dırmaşmaq. 137 00:07:09,540 --> 00:07:10,970 >> My name Zamyla edir. 138 00:07:10,970 --> 00:07:13,840 Bu CS50 edir. 139 00:07:13,840 --> 00:07:15,419