1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:02,500 ZAMYLA Chan: Bu mənə Zamyla var. 3 00:00:02,500 --> 00:00:06,910 Mario Bu gün biz olacaq Mario yarım piramida rəsm 4 00:00:06,910 --> 00:00:08,290 up dırmaşmaq. 5 00:00:08,290 --> 00:00:11,570 >> Belə ki, haqqında danışmaq edək bizim Bu problem üçün var etmək. 6 00:00:11,570 --> 00:00:13,610 Biz istəyirəm olacaq təklif və doğrulamak üçün 7 00:00:13,610 --> 00:00:18,290 necə bir etibarlı giriş üçün istifadəçi yüksək onlar Mario piramida olmaq istəyirəm. 8 00:00:18,290 --> 00:00:20,090 Və sonra, biz çəkmək olacaq. 9 00:00:20,090 --> 00:00:24,870 Belə ki, isteyen ilə başlamaq edək və onların giriş üçün istifadəçi doğrulama. 10 00:00:24,870 --> 00:00:27,640 >> Biz istifadə edə bilərsiniz CS50 kitabxana funksiyası 11 00:00:27,640 --> 00:00:31,160 ki, təmin edəcək int almaq istifadəçi bir tam giriş. 12 00:00:31,160 --> 00:00:35,730 Hər hansı bir müsbət integers, mənfi integers sayı 0 Bütün ədalətli oyun var. 13 00:00:35,730 --> 00:00:41,670 Əks halda, istifadəçi istenir onlar giriş etibarlı tam qədər təkrar edin. 14 00:00:41,670 --> 00:00:44,210 get int yoxdur İndi, baxmayaraq ki, bizim üçün çox iş 15 00:00:44,210 --> 00:00:46,730 təmin ki, istifadəçi bizə tam verir, 16 00:00:46,730 --> 00:00:50,760 biz hələ də bəzi tətbiq etmək lazımdır ki, əlavə məhdudiyyətlər. 17 00:00:50,760 --> 00:00:56,420 Bütün sonra, biz Mario dırmanma ola bilməz 12 mənfi hündürlüyü yarım piramida. 18 00:00:56,420 --> 00:00:59,040 >> Bundan əlavə, problem dəqiqləşdirilməsi 19 00:00:59,040 --> 00:01:02,490 ki, biz yalnız bilərsiniz deyir Mario dırmaşmaq üçün imkan verir 20 00:01:02,490 --> 00:01:06,940 0 və 23 arasında yüksəkliklərdə bir piramida. 21 00:01:06,940 --> 00:01:11,120 OK, belə ki, biz lazımdır o deməkdir ki, davamlı istifadəçi təklif 22 00:01:11,120 --> 00:01:14,320 bizə etibarlı vermək sayı və yalnız davam 23 00:01:14,320 --> 00:01:17,120 Onlar bizə etibarlı boyu verilmiş sonra. 24 00:01:17,120 --> 00:01:18,720 biz bunu necə edə bilərəm? 25 00:01:18,720 --> 00:01:23,760 >> Yaxşı, davamlı proseslər bizə loops-- bunu bir şey ideyası 26 00:01:23,760 --> 00:01:24,720 repetitively. 27 00:01:24,720 --> 00:01:28,220 Bir müddət kimi C One loop loop davamlı olacaq 28 00:01:28,220 --> 00:01:33,480 kimi uzun kimi loop orqanı icra verilmiş şərt doğru üçün qiymətləndirir. 29 00:01:33,480 --> 00:01:36,200 Kimi tezliklə ki, şərti olaraq yalan üçün qiymətləndirir, 30 00:01:36,200 --> 00:01:39,770 proqram davam edəcək nə sonra gəlir. 31 00:01:39,770 --> 00:01:43,180 loops bir yoldur isə So daim biz təmin 32 00:01:43,180 --> 00:01:45,320 cari giriş üçün istifadəçi təklif. 33 00:01:45,320 --> 00:01:50,070 Onlar bizə etibarlı giriş vermək bir dəfə, biz növbəti gəlir nə davam edəcəyik. 34 00:01:50,070 --> 00:01:54,380 Biz xahiş olacaq bilirik ki, ən azı bir dəfə giriş üçün istifadəçi. 35 00:01:54,380 --> 00:01:59,200 Belə ki, indi biz bir bacısı gəlib do loop isə loop, edir. 36 00:01:59,200 --> 00:02:02,650 >> loops icra edəcək Do ən azı bir dəfə loop orqanı. 37 00:02:02,650 --> 00:02:06,150 Belə ki, vəziyyəti yoxlanılması olmadan, Bu loop orqanı icra edəcək. 38 00:02:06,150 --> 00:02:09,750 Və sonra görmək üçün vəziyyəti yoxlamaq olub özünü təkrar etmək lazımdır. 39 00:02:09,750 --> 00:02:13,080 Bu zaman lazımlı gəlir biz istifadəçi daxil doğrulama edirik. 40 00:02:13,080 --> 00:02:15,830 Biz gedirik bilirik ki, ən azı bir dəfə onlara. 41 00:02:15,830 --> 00:02:18,780 Belə ki, bir do isə loop bilər bu kimi bir şey. 42 00:02:18,780 --> 00:02:20,090 Biz tam n var. 43 00:02:20,090 --> 00:02:22,760 Və bunu daxilində loop isə, biz dərhal 44 00:02:22,760 --> 00:02:24,750 bir tam üçün istifadəçi təklif. 45 00:02:24,750 --> 00:02:29,740 n etibarsız, onda biz onlara təklif edəcəyik təkrar və yenidən onlar qədər 46 00:02:29,740 --> 00:02:31,820 bizə etibarlı tam verir. 47 00:02:31,820 --> 00:02:37,440 n etibarlı giriş dəfə Nəhayət, biz lazımdır Bizim proqram qalan keçin. 48 00:02:37,440 --> 00:02:41,830 >> Belə ki, spec və çek geri gedək nə cari giriş üçün şərait 49 00:02:41,830 --> 00:02:43,670 olacaq. 50 00:02:43,670 --> 00:02:48,090 etibarlı yüksəkliklərdə gedir 0 və 23 daxil arasında. 51 00:02:48,090 --> 00:02:53,350 Belə ki, etibarsız yüksəkliklərdə gedir az 0 və ya daha çox 23 ola bilər. 52 00:02:53,350 --> 00:02:56,420 Belə ki, dizayn unutmayın Sizin vəziyyəti diqqətlə, 53 00:02:56,420 --> 00:02:58,660 vəziyyəti bilərək nə isə loop üçün 54 00:02:58,660 --> 00:03:01,470 n etibarsız isə olmalıdır. 55 00:03:01,470 --> 00:03:05,080 İndi bu olmaq niyyətində deyil sadə bir Boolean ifadə. 56 00:03:05,080 --> 00:03:07,630 Biz birləşdirmək olacaq iki müxtəlif ifadələr 57 00:03:07,630 --> 00:03:09,900 bizim bütün vəziyyəti etmək. 58 00:03:09,900 --> 00:03:13,290 >> Belə ki, yalnız mən var bir həqiqət masa baxaq artıq sizə biz istəyirik ipucu verilir 59 00:03:13,290 --> 00:03:15,200 iki Booleans ilə məşğul olacaq. 60 00:03:15,200 --> 00:03:19,620 Belə ki, burada bir həqiqət masa olduğu I iki Booleans-- Boolean 1 və 2 var. 61 00:03:19,620 --> 00:03:27,050 Beləliklə, biz qiymətləndirmək üçün seçim var bool1 və bool2 ya bool1 ya bool2. 62 00:03:27,050 --> 00:03:31,980 Və yalnız, həm də əgər doğru olacaq Booleans bütün halbuki, doğru qiymətləndirmək 63 00:03:31,980 --> 00:03:37,280 və ya biri kimi uzun kimi doğru olacaq iki Booleans doğru üçün qiymətləndirir. 64 00:03:37,280 --> 00:03:41,450 OK, belə ki, bir an, bu fasilə video bu həqiqət masa həzm və. 65 00:03:41,450 --> 00:03:42,930 Mən burada gözləyir olacaq. 66 00:03:42,930 --> 00:03:45,760 Geri gələndə bax Siz birlikdə parça edə bilər, əgər 67 00:03:45,760 --> 00:03:51,910 bir Boolean ifadə Sizin n vəziyyəti etibarsız giriş olan. 68 00:03:51,910 --> 00:03:54,420 >> Belə ki, indi biz ki, etibarlı istifadəçi girişi, edək 69 00:03:54,420 --> 00:03:58,710 irəli getmək və biz necə haqqında danışmaq yarım piramida çəkmək bilər. 70 00:03:58,710 --> 00:04:03,410 Bu sadə mətn redaktoru, Mən sol aligned piramida tərtib etdik. 71 00:04:03,410 --> 00:04:07,050 Amma biz bizim lazımdır ki, bilirik piramida sağ aligned olunacaq. 72 00:04:07,050 --> 00:04:08,650 Mən bu necə ola bilər? 73 00:04:08,650 --> 00:04:11,440 Bəli, mən təkan cəhd edə yan hər şey 74 00:04:11,440 --> 00:04:14,880 bir az qoyaraq arasında xarakter. 75 00:04:14,880 --> 00:04:16,779 Və sonra, növbəti üçün line, mən qoymaq üçün gedirəm 76 00:04:16,779 --> 00:04:20,970 bir daha simvol birlikdə təkan və further-- s və forth-- 77 00:04:20,970 --> 00:04:23,360 Mən aligned piramida qədər. 78 00:04:23,360 --> 00:04:27,780 Beləliklə, biz doğru align piramida var, lakin Bu nöqtələr ilə belə böyük baxmaq deyil. 79 00:04:27,780 --> 00:04:30,680 Amma biz hələ də istəyirəm gözəl spacing saxlamaq. 80 00:04:30,680 --> 00:04:35,260 Mən sözün gedirəm bir boşluq daxil edin. 81 00:04:35,260 --> 00:04:39,420 >> Əvəzində üç nöqtələr, mən bir, iki, üç fəzalarında qoydu. 82 00:04:39,420 --> 00:04:40,370 ikinci On line. 83 00:04:40,370 --> 00:04:42,640 Mən bir, iki fəzalarında qoymaq lazımdır. 84 00:04:42,640 --> 00:04:45,370 Və penultimate on line, yalnız bir yer. 85 00:04:45,370 --> 00:04:48,290 Və burada mən düzgün aligned piramida var. 86 00:04:48,290 --> 00:04:52,170 Mətn nümunə bunu redaktoru, biz model üçün bir fikir var 87 00:04:52,170 --> 00:04:54,590 biz yarım piramida çəkmək üçün istifadə lazımdır ki. 88 00:04:54,590 --> 00:04:58,080 hər satır, biz nə etdi bəzi boşluq növü, 89 00:04:58,080 --> 00:05:00,170 və sonra çap bəzi hashes, sonra çap 90 00:05:00,170 --> 00:05:03,020 Enter düyməsini olan yeni xətt yaradır. 91 00:05:03,020 --> 00:05:07,770 Belə ki, indi biz ki, çıxaq bir addım daha və bir model tapa bilərsiniz. 92 00:05:07,770 --> 00:05:10,170 >> Mən üçün, demək gedirəm Bu nümunə maraq 93 00:05:10,170 --> 00:05:12,480 biz 8 hündürlüyü ilə məşğul olursunuz. 94 00:05:12,480 --> 00:05:17,100 ilk sıra iki gedir yeddi fəzalarında aşağıdakı hashes. 95 00:05:17,100 --> 00:05:20,020 second-- üç hashes, altı boşluq. 96 00:05:20,020 --> 00:05:24,260 Üçüncü Sıra dörd hashes, beş spaces-- s və s 97 00:05:24,260 --> 00:05:26,350 biz NTH sıra almaq qədər. 98 00:05:26,350 --> 00:05:31,540 Beləliklə, mən NTH sıra üçün xahiş, neçə hashes biz gedir 99 00:05:31,540 --> 00:05:33,120 və neçə boşluq? 100 00:05:33,120 --> 00:05:37,000 Belə ki, bir anlamaq üçün sizə var formula neçə hashes təmsil etmək 101 00:05:37,000 --> 00:05:42,020 və neçə boşluq üçün tələb olunur NTH sıra bəzi boyu zaman. 102 00:05:42,020 --> 00:05:46,060 >> İndi bu həyata figuring etdiyiniz zaman, Siz indeksasiyası ne ehtiyatlı olun. 103 00:05:46,060 --> 00:05:49,170 Mən bu demək ki, hamımız gündəlik həyatda 104 00:05:49,170 --> 00:05:51,540 1 adətən, hesablanması başlamaq. 105 00:05:51,540 --> 00:05:55,950 CS50 və kompüter elm Amma Ümumiyyətlə, biz 0 indexed var. 106 00:05:55,950 --> 00:06:00,620 Belə ki, ilk sıra olacaq 1 fərqli olaraq 0 n. 107 00:06:00,620 --> 00:06:04,550 Siz etdiyiniz zaman bu ehtiyatlı olun Sizin model anlamaq üçün çalışırıq. 108 00:06:04,550 --> 00:06:07,570 Belə ki, indi necə geri gedək biz piramida çəkmək olacaq. 109 00:06:07,570 --> 00:06:12,300 hər cərgə üçün, biz istəyirəm olacaq , Boşluq çap hashes çap 110 00:06:12,300 --> 00:06:14,050 və sonra yeni bir xətt çap. 111 00:06:14,050 --> 00:06:19,160 burada işarə edir hər bir sıra "" üçün yapılan söz. 112 00:06:19,160 --> 00:06:21,470 C, biz tikintinin var loop üçün çağırıb 113 00:06:21,470 --> 00:06:25,250 bir ibarət olan başlatma bir vəziyyət, bir yeniləmə, 114 00:06:25,250 --> 00:06:26,790 və loop bədən. 115 00:06:26,790 --> 00:06:31,360 >> Mən salam demək istəyirdi demək dünya, 50 dəfə, mənim loop üçün 116 00:06:31,360 --> 00:06:32,880 bu kimi bir şey görünür. 117 00:06:32,880 --> 00:06:35,480 Mən 0 mənim tam başlamaq. 118 00:06:35,480 --> 00:06:38,230 şərt Mən 50-dən az olmasıdır. 119 00:06:38,230 --> 00:06:42,350 Və sonra mənim yeniləmə yalnız bir hər dəfə mən incrementing. 120 00:06:42,350 --> 00:06:45,140 Biz, həmçinin, loops üçün istifadə edə bilərsiniz şeyə təkrarlamaq. 121 00:06:45,140 --> 00:06:47,820 biz nə burada edək ağır bir sıra kodlu 122 00:06:47,820 --> 00:06:51,820 əksinə dəyişən yerləşdirilmiş əvəzinə vəziyyəti nəzərə hündürlüyü. 123 00:06:51,820 --> 00:06:56,420 Belə ki, nə mən burada edirəm mən iterating alıram ki, Piramidanın hər sıra üzərində. 124 00:06:56,420 --> 00:07:00,160 Mən hər şey edə bilərsiniz Mənim loop bədən daxilində satır. 125 00:07:00,160 --> 00:07:02,350 >> biz daxili nə edirik loop bədən? 126 00:07:02,350 --> 00:07:07,120 biz artıq dediyim kimi Yaxşı, biz çap edirik boşluq və biz hashes çap edirik 127 00:07:07,120 --> 00:07:09,480 və biz yeni xətt çap edirik. 128 00:07:09,480 --> 00:07:11,950 loop üçün Belə ki, mənim xarici bu kimi görünür. 129 00:07:11,950 --> 00:07:15,070 Mən hər satır üzərində təkrarlamaq piramida istifadə edərək, 130 00:07:15,070 --> 00:07:18,890 dəyişən kimi bu halda, hündürlüyü ki, piramidanın hündürlüyü saklar. 131 00:07:18,890 --> 00:07:22,870 ki, loop orqanı Inside, mən dəfələrlə boşluq çap gedir, çap 132 00:07:22,870 --> 00:07:26,730 dəfələrlə hashes, və sonra yeni bir xətt çap. 133 00:07:26,730 --> 00:07:31,010 >> Belə ki, indi, anlayışlar bütün istifadə edərək Mən bu walk-through haqqında söhbət etdik 134 00:07:31,010 --> 00:07:35,210 Siz təklif etmək lazımdır istifadəçi girişi üçün, ki, daxil doğrulamak 135 00:07:35,210 --> 00:07:37,370 və sonra yarım piramida cəlb edir. 136 00:07:37,370 --> 00:07:41,510 >> My name Zamyla və bu CS50 edir. 137 00:07:41,510 --> 00:07:43,167