ZAMYLA Chan: Bu mənə Zamyla var.
Mario Bu gün biz olacaq Mario yarım piramida rəsm
up dırmaşmaq.
>> Belə ki, haqqında danışmaq edək bizim Bu problem üçün var etmək.
Biz istəyirəm olacaq təklif və doğrulamak üçün
necə bir etibarlı giriş üçün istifadəçi yüksək onlar Mario piramida olmaq istəyirəm.
Və sonra, biz çəkmək olacaq.
Belə ki, isteyen ilə başlamaq edək və onların giriş üçün istifadəçi doğrulama.
>> Biz istifadə edə bilərsiniz CS50 kitabxana funksiyası
ki, təmin edəcək int almaq istifadəçi bir tam giriş.
Hər hansı bir müsbət integers, mənfi integers sayı 0 Bütün ədalətli oyun var.
Əks halda, istifadəçi istenir onlar giriş etibarlı tam qədər təkrar edin.
get int yoxdur İndi, baxmayaraq ki, bizim üçün çox iş
təmin ki, istifadəçi bizə tam verir,
biz hələ də bəzi tətbiq etmək lazımdır ki, əlavə məhdudiyyətlər.
Bütün sonra, biz Mario dırmanma ola bilməz 12 mənfi hündürlüyü yarım piramida.
>> Bundan əlavə, problem dəqiqləşdirilməsi
ki, biz yalnız bilərsiniz deyir Mario dırmaşmaq üçün imkan verir
0 və 23 arasında yüksəkliklərdə bir piramida.
OK, belə ki, biz lazımdır o deməkdir ki, davamlı istifadəçi təklif
bizə etibarlı vermək sayı və yalnız davam
Onlar bizə etibarlı boyu verilmiş sonra.
biz bunu necə edə bilərəm?
>> Yaxşı, davamlı proseslər bizə loops-- bunu bir şey ideyası
repetitively.
Bir müddət kimi C One loop loop davamlı olacaq
kimi uzun kimi loop orqanı icra verilmiş şərt doğru üçün qiymətləndirir.
Kimi tezliklə ki, şərti olaraq yalan üçün qiymətləndirir,
proqram davam edəcək nə sonra gəlir.
loops bir yoldur isə So daim biz təmin
cari giriş üçün istifadəçi təklif.
Onlar bizə etibarlı giriş vermək bir dəfə, biz növbəti gəlir nə davam edəcəyik.
Biz xahiş olacaq bilirik ki, ən azı bir dəfə giriş üçün istifadəçi.
Belə ki, indi biz bir bacısı gəlib do loop isə loop, edir.
>> loops icra edəcək Do ən azı bir dəfə loop orqanı.
Belə ki, vəziyyəti yoxlanılması olmadan, Bu loop orqanı icra edəcək.
Və sonra görmək üçün vəziyyəti yoxlamaq olub özünü təkrar etmək lazımdır.
Bu zaman lazımlı gəlir biz istifadəçi daxil doğrulama edirik.
Biz gedirik bilirik ki, ən azı bir dəfə onlara.
Belə ki, bir do isə loop bilər bu kimi bir şey.
Biz tam n var.
Və bunu daxilində loop isə, biz dərhal
bir tam üçün istifadəçi təklif.
n etibarsız, onda biz onlara təklif edəcəyik təkrar və yenidən onlar qədər
bizə etibarlı tam verir.
n etibarlı giriş dəfə Nəhayət, biz lazımdır Bizim proqram qalan keçin.
>> Belə ki, spec və çek geri gedək nə cari giriş üçün şərait
olacaq.
etibarlı yüksəkliklərdə gedir 0 və 23 daxil arasında.
Belə ki, etibarsız yüksəkliklərdə gedir az 0 və ya daha çox 23 ola bilər.
Belə ki, dizayn unutmayın Sizin vəziyyəti diqqətlə,
vəziyyəti bilərək nə isə loop üçün
n etibarsız isə olmalıdır.
İndi bu olmaq niyyətində deyil sadə bir Boolean ifadə.
Biz birləşdirmək olacaq iki müxtəlif ifadələr
bizim bütün vəziyyəti etmək.
>> Belə ki, yalnız mən var bir həqiqət masa baxaq artıq sizə biz istəyirik ipucu verilir
iki Booleans ilə məşğul olacaq.
Belə ki, burada bir həqiqət masa olduğu I iki Booleans-- Boolean 1 və 2 var.
Beləliklə, biz qiymətləndirmək üçün seçim var bool1 və bool2 ya bool1 ya bool2.
Və yalnız, həm də əgər doğru olacaq Booleans bütün halbuki, doğru qiymətləndirmək
və ya biri kimi uzun kimi doğru olacaq iki Booleans doğru üçün qiymətləndirir.
OK, belə ki, bir an, bu fasilə video bu həqiqət masa həzm və.
Mən burada gözləyir olacaq.
Geri gələndə bax Siz birlikdə parça edə bilər, əgər
bir Boolean ifadə Sizin n vəziyyəti etibarsız giriş olan.
>> Belə ki, indi biz ki, etibarlı istifadəçi girişi, edək
irəli getmək və biz necə haqqında danışmaq yarım piramida çəkmək bilər.
Bu sadə mətn redaktoru, Mən sol aligned piramida tərtib etdik.
Amma biz bizim lazımdır ki, bilirik piramida sağ aligned olunacaq.
Mən bu necə ola bilər?
Bəli, mən təkan cəhd edə yan hər şey
bir az qoyaraq arasında xarakter.
Və sonra, növbəti üçün line, mən qoymaq üçün gedirəm
bir daha simvol birlikdə təkan və further-- s və forth--
Mən aligned piramida qədər.
Beləliklə, biz doğru align piramida var, lakin Bu nöqtələr ilə belə böyük baxmaq deyil.
Amma biz hələ də istəyirəm gözəl spacing saxlamaq.
Mən sözün gedirəm bir boşluq daxil edin.
>> Əvəzində üç nöqtələr, mən bir, iki, üç fəzalarında qoydu.
ikinci On line.
Mən bir, iki fəzalarında qoymaq lazımdır.
Və penultimate on line, yalnız bir yer.
Və burada mən düzgün aligned piramida var.
Mətn nümunə bunu redaktoru, biz model üçün bir fikir var
biz yarım piramida çəkmək üçün istifadə lazımdır ki.
hər satır, biz nə etdi bəzi boşluq növü,
və sonra çap bəzi hashes, sonra çap
Enter düyməsini olan yeni xətt yaradır.
Belə ki, indi biz ki, çıxaq bir addım daha və bir model tapa bilərsiniz.
>> Mən üçün, demək gedirəm Bu nümunə maraq
biz 8 hündürlüyü ilə məşğul olursunuz.
ilk sıra iki gedir yeddi fəzalarında aşağıdakı hashes.
second-- üç hashes, altı boşluq.
Üçüncü Sıra dörd hashes, beş spaces-- s və s
biz NTH sıra almaq qədər.
Beləliklə, mən NTH sıra üçün xahiş, neçə hashes biz gedir
və neçə boşluq?
Belə ki, bir anlamaq üçün sizə var formula neçə hashes təmsil etmək
və neçə boşluq üçün tələb olunur NTH sıra bəzi boyu zaman.
>> İndi bu həyata figuring etdiyiniz zaman, Siz indeksasiyası ne ehtiyatlı olun.
Mən bu demək ki, hamımız gündəlik həyatda
1 adətən, hesablanması başlamaq.
CS50 və kompüter elm Amma Ümumiyyətlə, biz 0 indexed var.
Belə ki, ilk sıra olacaq 1 fərqli olaraq 0 n.
Siz etdiyiniz zaman bu ehtiyatlı olun Sizin model anlamaq üçün çalışırıq.
Belə ki, indi necə geri gedək biz piramida çəkmək olacaq.
hər cərgə üçün, biz istəyirəm olacaq , Boşluq çap hashes çap
və sonra yeni bir xətt çap.
burada işarə edir hər bir sıra "" üçün yapılan söz.
C, biz tikintinin var loop üçün çağırıb
bir ibarət olan başlatma bir vəziyyət, bir yeniləmə,
və loop bədən.
>> Mən salam demək istəyirdi demək dünya, 50 dəfə, mənim loop üçün
bu kimi bir şey görünür.
Mən 0 mənim tam başlamaq.
şərt Mən 50-dən az olmasıdır.
Və sonra mənim yeniləmə yalnız bir hər dəfə mən incrementing.
Biz, həmçinin, loops üçün istifadə edə bilərsiniz şeyə təkrarlamaq.
biz nə burada edək ağır bir sıra kodlu
əksinə dəyişən yerləşdirilmiş əvəzinə vəziyyəti nəzərə hündürlüyü.
Belə ki, nə mən burada edirəm mən iterating alıram ki, Piramidanın hər sıra üzərində.
Mən hər şey edə bilərsiniz Mənim loop bədən daxilində satır.
>> biz daxili nə edirik loop bədən?
biz artıq dediyim kimi Yaxşı, biz çap edirik boşluq və biz hashes çap edirik
və biz yeni xətt çap edirik.
loop üçün Belə ki, mənim xarici bu kimi görünür.
Mən hər satır üzərində təkrarlamaq piramida istifadə edərək,
dəyişən kimi bu halda, hündürlüyü ki, piramidanın hündürlüyü saklar.
ki, loop orqanı Inside, mən dəfələrlə boşluq çap gedir, çap
dəfələrlə hashes, və sonra yeni bir xətt çap.
>> Belə ki, indi, anlayışlar bütün istifadə edərək Mən bu walk-through haqqında söhbət etdik
Siz təklif etmək lazımdır istifadəçi girişi üçün, ki, daxil doğrulamak
və sonra yarım piramida cəlb edir.
>> My name Zamyla və bu CS50 edir.