ЗВУЧНИК 1: Ајде да зборуваме за вода.
Во овој проблем, да побара од корисникот да се каже ни колку време во минути своите туш беше
а потоа се пресмета еквивалент број на шишиња со вода
кои се користат нивните туш.
>> Значи она што се нашите to-do е за овој проблем?
Прво, ние се случува да сакаат да се поттикне и потоа да се провери
на влез дека корисникот ни дава.
Откако ќе се осигура дека ние имаат валидни корисник влез,
ние си оди за да се пресмета еквивалентен број на шишиња со вода
дека корисникот ги имаше за време нивните туш, а потоа ние сме
ќе ги кажам со печатење на тој број.
>> Значи, да се справи со нашиот прв задача, поради што и оценување
корисникот влез.
За ова ние сум напишал функција за да ви се јавам
get_int наоѓа во CS50 библиотека.
get_int гарантира дека корисникот влезови цел број, па секоја позитивни броеви,
негативни броеви, или сите нула се прифаќаат.
Но, ако корисникот внесува нешто друго, па секоја комбинација на букви или броеви
или броеви, тогаш корисникот ќе биде побарано да се обидете повторно
и функцијата нема да прифати ништо додека корисникот ги дава цел број.
>> Па, како да се користи get_int?
Ако отворите вашиот работен простор и се создаде датотека со име integer.c ајде
Внесете го следново.
Хаштагот вклучуваат cs50.h.
Ова е потребно бидејќи get_int е функција на CS50 библиотека,
па ние мора да содржи хаштагот својата декларација со цел
да ја користите функцијата.
А потоа и во мојата главна функционира јас сум само ќе
едноставно да се јавите на функцијата get_int.
>> Значи, да ја извршите оваа и да видиме како тоа функционира.
Јас веќе го составил, па ајде само напред и да ја стартувате оваа програма,
./цел број.
Еве Јас имам еден брз и тука е местото каде што влезот од вредност.
Велат јас се стави во само некој број, 50, изводи на програмата и да поднесе оставка
и тоа е тоа.
>> Но, велат дека тоа се работи, и Јас внесување нешто друго.
Можеби, Здраво светот.
Тоа не е цел број, па Програмата ќе ме натера да се обидете повторно.
Ајде да се обидеме повторно со можеби децимални тоа време.
0.5, повторно, не цел број така на програмата нема да го прифати
и тоа ќе ми каже да се обидете повторно.
Значи, да го даде друг број.
Програмата ја прифаќа, поднесе оставка, а ние сме направиле.
>> Така, сега имаме функција која ни овозможува и обезбедува
дека корисникот ги внесува на цел број, но како можеме да
всушност ги пратите на број внесени од страна на корисникот?
Па, сите ние ќе го направиме е продавница оваа вредност во променлива, велат n.
Значи, ако јас се изјасни цел број n, и јас во собата на таа вредност да get_int,
тогаш n потоа ќе ги чува она што вредност на корисникот внесуваат.
>> Сите во право, па сега ние се обезбеди дека корисникот ќе ни даде цел број
и знаеме како да ги пратите на број, но се сеќавам,
цели броеви и позитивни и негативни.
Значи, тоа не навистина има смисла во контекст на овој проблем
дека корисникот се тушира на се каже негативни 12 минути.
Значи ние треба да бидете сигурни дека корисникот всушност, ни дава позитивен цел број.
Сега немаме само една функција за тоа,
па ние се случува да треба да се создаде дека самите.
>> Значи, ние сакаме да се постојано го извести корисникот
се додека не ни даде позитивен цел број.
Ако јас сум прави нешто постојано потоа тоа е слично на еден циклус, повторување.
Значи еден од конструкти кои ние ги користиме во C за спроведување на повторување и петелки
се додека јамка.
Значи додека јамка, како прикажана овде, ќе се изврши
она што е во телото на јамка како додека на дадена состојба евалуира
да се оствари.
Штом таа состојба неточен, тогаш
програмата ќе продолжи со она што доаѓа по телото на јамка.
>> Така, додека петелки се случува да биде навистина корисно во CS50.
Но, во овој особено случај, знаеме дека сме
ќе го извести корисникот за најмалку еднаш, а потоа само јамка ако е потребно.
Значи тука доаѓаме до посебна конструкција и тоа е
многу сличен на време јамка нарекува не-додека јамка.
>> Значи не-додека јамка извршува телото на јамка барем еднаш
а потоа го проверува без разлика дали тоа треба да се изврши,
што е спротивно на време јамка, која ќе ги провери состојбата
а потоа изврши тело.
Така, во не-додека јамка на она што може да направите е да го извести корисникот за цел број,
и потоа проверете дали е валиден или не.
Ако тоа е валиден, тогаш ние ќе го повтори овој процес бара од корисникот
да ни даде друг број, а потоа само кога тој број е валиден,
ние ќе продолжиме да она што доаѓа потоа.
>> Сега ќе се забележи дека декларацијата на цел број n
е малку поинаква од она што ние порано во претходниот пример
и ова е затоа што на опсегот.
Ако ние го прогласи цел број n во на телото на не-додека јамка,
тогаш не ќе биде во можност за пристап до дека вредноста на n надвор од оние кадрава
протези покажува телото на јамка.
Но, ние, всушност, сакаат да пристапат на вредност на n подоцна во нашата програма.
>> Добро, па сега ајде да зборуваме за што оваа состојба треба да биде.
Ние сакаме да reprompt само корисникот колку што n е валиден.
Така што мислам за себе она што невалиден целобројна вредност ќе изгледа
а потоа се создаде Булова израз за да го изразат тоа.
>> Ние сме речиси завршена со нашите подзадача се прашува и потврдување на корисник влез.
Значи, да се направи ова малку малку повеќе корисник пријателски
и се даде на корисник малку малку повеќе информации
на она што ние сме ги прашува за.
Значи, да го извести корисникот, според спецификации, со низа минути.
Така го користите вашиот printf извештаи, направи сигурни дека ќе одговара токму ова.
>> Во ред.
Така, сега имаме една валидна корисникот влез, позитивен цел број
вредност за колку минути тие трошат во туш.
Значи што е следно е да се пресмета еквивалентен број на шишиња.
Она што ние се случува да се направи тука може да да биде многу очигледно за вас на прв,
и тоа е во ред.
Она што сакаме да го правиме е ние сакате да почнете со вежбање
идејата за откривање на шеми и развивање на формули за проблемот.
>> Значи ние сме изјави по спец дека една минута во туш
е еднаква на околу 12 шишиња вода.
Па потоа две минути ќе да биде еквивалент на 24,
и пет минути ќе да биде еквивалент на 60.
Па сега ако мислиш сте го зедов тоа, тогаш ајде
види дали може да се дојде до со моделот или формула
да го изразат ако сме се каже, n минути, колку шишиња со вода
Дали тоа ќе биде изразена во смисла на n?
>> Повторно, и покрај тоа што може да биде едноставна на прв,
подоцна, кога ќе се дојде до покомплицирани проблеми
ние се случува да сакаат да влезат во практика на идентификување
модели и развој на формули да дознаам овие работи надвор.
>> Во C имате пристап до стандард аритметички операции,
собирање, одземање, множење и делење.
Па јас ќе го оставиме тоа за сега можете да дознаам
како да го изразат еквивалентен број на шишиња
дека корисникот консумира за време на нивниот туш.
>> Сите во право, ние сме речиси готови.
Ние сме поттикнати на корисникот за нивниот придонес, ние се обезбеди дека тоа е валидна влез,
а потоа ние сме сфатиле како да се пресмета еквивалент
број на шишиња, кои се консумира.
Значи, последното нешто што треба да направите е да се излез еквивалентен број на шишиња
и се надевам дека ги охрабри нив да се зачува вода.
>> Ставање на вредноста ќе да биде во соопштението на printf.
Ако сакав да ви кажам дека јас имаат три миленичиња, на пример,
Јас може да се користи изјава printf што изгледа нешто како ова.
Јас имам три домашни, како и новата линија за убаво форматирање.
>> Сега не сакам да едноставно тешко код работи.
Велат дека бројот на мојот Домашни миленици се менува со текот на времето.
Потоа јас ќе одам да се направи употреба на променливи во мојата изјава printf.
Па еве мојот број е цел број.
Па јас ќе одам да се направи случаеви за цел број со користење на% i.
Одам да се напише низа, а потоа и по низа
Јас пишувам запирка, а потоа променлива што сакате да печатите.
Така што вредност ќе биде отпечатена наместо тоа случаеви,% i.
>> Можете да ги користите променливи, како Па, за плови со% f.
Вие исто така може да има повеќе променливи во низа.
На пример, ако имам некој број на кучиња и некои број на мачки,
Ја ставив две променливи тука, а потоа моите две променливи во соодветниот ред.
>> Па сега дека знаете како да се печати вредностите зачувани во променливи,
На самиот крај, нешто што треба да направите е да се осигура дека ние
печати вредноста во точно формат наведени во спецификацијата.
Со тоа, ние го поттикна корисникот и потврда на нивниот придонес.
а потоа ние пресметува еквивалент број на шишиња со вода
дека тие трошат за време на нивниот туш, и ние outputted дека вредноста на нив.
И така, ние сме завршиле вода.
>> Моето име е [? Zamila,?] и ова е CS50.