HOPARLÖR 1: su haqqında danışmaq edək.
Bu problem, biz demək istifadəçi xahiş Bizə nə qədər dəqiqə öz duş idi
sonra biz ekvivalent hesablamaq su şüşə sayı
Onların duş istifadə.
>> Belə ki, bizim to-do-nin nə Bu problem üçün?
Birincisi, biz istəyirəm olacaq təklif və sonra doğrulamak üçün
istifadəçi bizə verir girdi.
biz biz təmin sonra etibarlı istifadəçi daxil var,
biz hesablamaq olacaq su şüşə ekvivalent sayı
istifadəçi zamanı var idi ki, Onların duş, sonra biz istəyirik
onları izah edəcəyik ki sayı çap.
>> Belə ki, ilk həll edək vəzifəsi, isteyen və doğrulama
istifadəçi girişi.
Bunun üçün biz yazdıq bir zəng funksiyası
CS50 Kitabxana yerləşir get_int.
get_int ki, istifadəçi giriş təmin edir tam, heç bir müsbət nömrələri, belə ki,
mənfi nömrələri, və ya sıfır bütün qəbul edilir.
Lakin istifadəçi başqa bir şey giriş əgər, belə Hərfləri və ya rəqəmləri hər hansı bir birləşməsi
və ya decimal nömrələri, sonra istifadəçi yeniden istenir
və funksiyası bir şey qəbul etməyəcək istifadəçi onlara tam verənə qədər.
>> Belə ki, necə biz get_int istifadə edirsiniz?
Siz iş açmaq varsa və edək integer.c adlı bir fayl yaratmaq
Aşağıdakı yazın.
Hashtag cs50.h. daxildir
Bu get_int çünki lazımdır bir CS50 kitabxana funksiyası var
belə ki, biz daxil hashtag lazımdır qaydada öz bəyannamə
funksiyadan istifadə etmək.
Və sonra mənim əsas da Mən gedirəm fəaliyyət
sadəcə funksiyası get_int zəng etmək üçün.
>> Belə ki, bu run edək və bu işləri necə.
Mən artıq tərtib, belə ki, edək etdik yalnız irəli getmək və bu proqram run,
./tam.
Burada tez və Burada dəyəri harada giriş var.
Mən yalnız bir tam qoymaq De 50, proqram excepts və fit
ki, ki, var.
>> Amma yenidən run və demək başqa mən giriş bir şey.
Yəqin ki, salam dünya.
Ki, bir tam deyil proqram yeniden mənə təklif edəcək.
ilə yenidən cəhd edək bəlkə decimal bu dəfə.
0.5, daha bir tam belə proqram qəbul etməyəcək
və bu yeniden üçün mənə lazımdır.
Belə ki, başqa bir sıra verək.
proqram qəbul fit və biz tamamlayın.
>> Belə ki, indi biz bir funksiyası var ki, bizə və alınmasını təmin etməyə imkan verir
istifadəçi giriş ki, tam, lakin necə biz
həqiqətən takip tam istifadəçi tərəfindən inputted?
Yaxşı, biz bunu edəcəyik bütün mağaza bir dəyişən bu dəyər n deyirlər.
Mən bir tam n bəyan əgər, və mən get_int ki dəyəri müəyyən
sonra n sonra saxlamaq olacaq nə inputted istifadəçi qiymətləndiririk.
>> Bütün hüquqlar, belə ki, indi biz təmin etdik istifadəçi bizə bir tam verəcək
və biz takip necə tam, lakin unutmayın,
integers müsbət və mənfi, həm də var.
Belə ki, həqiqətən mənada deyil Bu problemin kontekstində
istifadəçi duş edir ki, mənfi 12 dəqiqə deyirlər.
Beləliklə, biz istifadəçi əmin etmək lazımdır həqiqətən bizə müsbət tam verir.
İndi biz yalnız bir yoxdur ki tək funksiyası,
belə ki, biz olacaq özümüzə ki yaratmaq.
>> Belə ki, biz daim istəyirəm istifadəçi təklif
Onlar bizə müsbət tam vermək qədər.
Mən davamlı sonra bir şey edirəm, əgər ki, bir loop, bir təkrar yaxın deyil.
Biz istifadə inşa biri So c təkrar və loops həyata keçirilməsi
bir müddət loop var.
Belə ki, bir müddət loop kimi Burada göstərilən icra edəcək
loop orqan kimi nə varsa, verilmiş şərt qiymətləndirdiyini kimi uzun
doğru.
Kimi tezliklə ki, şərti olaraq sonra saxta qiymətləndirir
proqram davam edəcək nə loop bədən sonra gəlir.
>> loops gedir isə belə CS50 həqiqətən faydalı ola bilər.
Amma bu da halda, biz istəyirik ki, bilirik
ən azı istifadəçi təklif etmək niyyətindədir bir dəfə və sonra yalnız loop lazım gələrsə.
Belə ki, burada biz bir gəlir xüsusi tikinti və ki
müddət çox oxşar loop bir do-isə loop çağırıb.
>> Belə ki, bir do-isə loop icra loop orqanı ən azı bir dəfə
və sonra görmək üçün yoxlayır , Bu icra olub
bir müddət loop fərqli olaraq, hansı vəziyyətini yoxlamaq olacaq
və sonra bədən icra.
Belə ki, bir do-isə loop nə biz bilər Bunu bir tam üçün istifadəçi təklif edir,
və sonra etibarsız və ya əgər yoxlamaq.
etibarsız varsa, onda biz lazımdır istifadəçi xahiş prosesi təkrar
sonra bizə bir tam vermək, və ki, tam etibarlıdır yalnız,
biz davam edəcəyik nə sonra gəlir.
>> İndi ki, görəcəksiniz tam n elan
qədər fərqli nə biz əvvəlki misalda əvvəl idi
və bu, çünki daxilində deyil.
biz daxili tam n elan olsaydı do-isə loop bədən,
sonra biz daxil ola bilməz bu qıvrım kənarda n ki, dəyəri
loop orqanı ifadə aşırma.
Amma biz əslində daxil olmaq istəyirsiniz sonra bizim proqram n dəyəri.
>> OK, belə ki, indi haqqında danışmaq edək Bu şərt olmalıdır nə.
Biz yalnız reprompt istəyirəm istifadəçi kimi uzun n etibarsız edir.
Belə ki, özünüz üçün hesab edirəm ki, yalnış nə tam dəyəri kimi görünür
və sonra Boolean yaratmaq ifadə ifadə etmək.
>> Biz demək olar ki, bizim subtask ilə başa edirik isteyen və istifadəçi daxil doğrulama.
Belə ki, bu bir az edək bit daha çox istifadəçi dostu
və istifadəçi bir az vermək bit daha ətraflı məlumat
nə biz onlara isteyen edirik.
Belə ki, başına istifadəçi təklif edək spec, simli dəqiqə.
Belə ki, printf ifadələri istifadə etmək Bu dəqiq uyğun əmin olun.
>> Yaxşı.
Belə ki, indi biz bir etibarlı istifadəçi var giriş, müsbət tam
neçə dəqiqə dəyər Onlar duş keçirdi.
Belə ki, nə növbəti hesablamaq üçün şüşə ekvivalent nömrəsi.
biz burada nə ola bilər olacaq nə ilk sizə çox aydın ola,
ki, OK.
Biz nə istəyirik biz təcrübə başlamaq istəyirəm
nümunələri aşkar ideyası və problem üçün düsturlar inkişaf.
>> Beləliklə, biz spec başına bildirib edirik duş ki, bir dəqiqə
haqqında bərabərdir su 12 şüşə.
Beləliklə iki dəqiqə olardı 24 bərabər,
və beş dəqiqə olardı 60 bərabər.
Belə ki, indi hesab edirəm ki, əgər Siz var, onda edək
Siz gəlmək olar görmek bir model və ya formula ilə
biz demək əgər, ifadə etmək n su dəqiqə neçə şüşə
ki, n baxımından ifadə edərdiniz?
>> Yenə olsa da bu ilk sadə ola bilər,
sonra almaq zaman daha mürəkkəb problemlər
biz daxil olmaq istəyirəm olacaq müəyyən təcrübəsi
nümunələri və inkişaf düsturlar bu şeyi anlamaq üçün.
>> c siz etmək imkanı var standart hesab əməliyyatları,
Bundan əlavə, toplama işlemi, çarpma və bölmə.
Mən onu tərk edəcəyik İndi anlamaq üçün
ifadə etmək necə şüşə ekvivalent sayı
istifadəçi istehlak Onların duş zamanı.
>> Bütün sağ, biz demək olar ki tamamlayın.
Biz onların giriş üçün istifadəçi təhrik etdik, biz etibarlı giriş var ki, təmin etdik,
və sonra biz necə fiqurlu sonra ekvivalent hesablamaq
onlar istehlak şüşə sayı.
Bunu son şey çıxdı deyil şüşə ekvivalent sayı
və ümid təşviq onlara bir az su qorunması.
>> dəyəri olacaq tipi bir printf bəyanat ola bilər.
Mən sizə ki, mən demək istəyirdi Məsələn, üç ev heyvanları var,
Mən printf bəyanat istifadə edə bilərsiniz bu kimi bir şey görünür.
Yeni üç ev heyvanları var, və gözəl formatlama line.
>> İndi biz istəmirik sadəcə ağır kodu şeylər.
sayı Say My pets zamanla dəyişir.
Sonra istifadə etmək üçün gedirəm Mənim printf şərhdə placeholders.
Belə ki, burada mənim sayı tam deyil.
Mən bir tutucu etmək gidiyorum % I istifadə edərək tam üçün.
Mən simli yazmaq üçün gedirəm, və sonra simli sonra
Mən sonra vergül və yazmaq Mən çap etmək istəyirəm dəyişən.
ki, dəyəri çap olunacaq So ki tutucu,% i əvəzinə.
>> Siz, placeholders istifadə edə bilərsiniz Yaxşı, bir% f üzüb gedirdi üçün.
Siz də çox ola bilər simli placeholders.
Məsələn, mən bir sıra varsa itlər və pişiklər bəzi sayı,
Mən burada və sonra iki placeholders qoymaq müvafiq qaydada mənim iki dəyişənlər.
>> Belə ki, indi biz çap üçün necə ki, dəyişənlərin saxlanılır dəyərlər,
çox son şey ki, biz təmin etməkdir
dəqiq formatında dəyər çap dəqiqləşdirilməsi göstərilən.
Ki, biz təhrik etdik istifadəçi və onların daxil təsdiq.
Biz sonra ekvivalent hesablanır etdik su şüşə sayı
Onların duş əsnasında istehlak ki, və biz onlara ki, dəyəri outputted etdik.
Və belə ki, biz su tamamladım.
>> Mənim adım [? Zamila?] və bu CS50 edir.