>> [Музика свира]
>> ЗАМИЛА цхан: Да ли бисте радије примате 10 милиона долара одмах, или примате
пенија сваки дан у месецу, где сваки следећи дан, добијате
удвостручи количину пенија ти добио дан раније?
У пенија, идемо у доказати зашто би требало да
дефинитивно узети пенија.
Ваш посао је да пишем пенниес.ц--
Први програм који пита корисника како толико дана има у месецу и
онда пита колико пенија корисник ће добити првог дана.
Програм затим треба израчунати износ који ће корисник имати
акумулиране на крају месец и приказати га.
>> Ми можемо да прекинемо овај програм горе у неколико задатака.
Ми ћемо морати да тражи више корисничких улаза -
дане и месеце, и пеније првог дана.
Морамо да пратите колико новца корисник има и ажурира га сваки
дан, дуплирајући износ паре да добију.
И на крају, ми смо штампају своје Укупна коначна, у доларима.
>> Хајде да прво старт корисник уноси.
Ја ћу да отворим апплес.ц, кратак програм који се бави
са улаза и излаза.
На врху овде, направила сам неке библиотека која ми треба -
ЦС50 је библиотека и стандардни И / О библиотека.
Ја одштампајте промпт помоћу принтф функција из
стандардни И / О библиотека.
Међутим, стварна инсистирање корисника дешава у следећем реду са овим
Затамњена функција у ЦС50 библиотеци.
>> Затамњена добија унос од корисника и осигурава унос је цео број.
Тако да складиште корисников улаз у цео И, одузмите 1 од И, а затим
исписати нову вредност ако ја.
Након састављања апплес.ц коришћења команда "направи јабуке," Имам
извршну датотеку јабуке.
Трчање да, ја ћу улаз 1.
Програм ми је рекао да Имам 0 јабуке остало.
И то је радио како се очекивало.
>> Дакле, хајде да то опет улаз 1 и негативан.
Сада, што негативно количину јабука заиста нема смисла, али
програм то прихвати, јер негативна 1, добро, то је цео број.
И сада програм или чудовиште унутар програма једе негативан
јабука, а сад имам негативан 2 јабуке.
Хм, па то је једна лекција -
иако Затамњена функција и сличне функције, као што су ГетФлов или
ГетСтринг добију праву врсту података, морати да се уверите да је улаз чини
осећај за ваш програм.
>> У пенија, то неће учинити само брз за цео број, мораћете да
да ли корисник унесе цео број да има смисла с обзиром на контекст.
Месец може да има само 28, 29, 30, или 31 дана.
Ми желимо да стално траже важећи цео број.
Ако су улазни целобројну ван наше прихваћени границе, ми ћемо их навести
поново и поново, све док не дајте нам важећи цео број.
>> Подсетимо се "Понавља се до" блокира у Огреби?
Можете направити сличан конструкт у Ц користећи "вхиле" петљу
или "до-вхиле" петљу.
Док петља структура има услов који морају бити испуњени за
тело петље извршава.
>> То би требало да изгледа мало слично, јер је као услов
Греб блокови са угловима и иде у загради
у "вхиле" петљу.
Дакле, тај услов ће проверити да ли је цео број је у
одговарајуће границе.
Можете да подстакне цео помоћу Затамњена а затим изврши своје "време"
петља, понављајући брза и штампање инструкције, а улаз
није важећа.
>> Други начин да се обезбеди одговарајући улаз за употребу је помоћу "до-вхиле" петљу,
који је веома сличан вхиле петље.
"До-вхиле" петља извршава код унутар тела оних а затим проверава
да ли је услов испуњен или не.
Ово је корисно за добијање корисничког уноса, јер знате да вам је потребна
да подстакне их бар једном.
Ако услов није испуњен, програм извршава линију по
Ваша "до-вхиле" петљу.
Ако је услов ипак испуњени, петља ће се поновити
>> "До-вхиле" петљу за проверу корисничких Улаз ће изгледати овако.
Изјављујем променљиве н, Затамњена, и поновите док н важи.
И овај процес, сам објаснио, користио цео-тип података, који
ћете користити за дане у месецу.
Али ми знамо да је број пенија ће се гомилају брзо, тако да би
складиштење веће бројеве, користите тип података Лонглонг, али запамтите исти
принцип примењује валидације.
>> Страшан, па када имамо два важећа доприноси од корисника -
дана у месецу и пеније првог дана -
можемо да пређемо на следећи део програма.
Првог дана, корисник почиње са Међутим, многи су наведени пенија
и износ пенија да добијају сутрадан је удвостручен.
Тако да има смисла да пратите од ова два износа -
колико новца корисник има и како многи паре они ће бити дат.
>> Сада, раде нешто за 28 до 31 дана се понавља, па хајде да користе "за"
петља да бисте прелазили преко дана у месеца, ажурирање и укупан пени
износ сваки пут.
"За" петља Синтакса садржи следеће -
иницијализација, стање, и ажурирање.
Ваша "за" петља ће иницијализовати променљива, када је
Први улази у петљу.
Ако је услов испуњен, тело петље ће се извршити.
Након тога, ажурирање ће се извршити.
Ако је услов и даље испуњен, петља ће се извршити и ажурирати, и
Понављам, све док ваше стање је труе.
>> Ево "за" петља која дели цео број п од 2 укупно 10 пута.
Обратите пажњу како сам прогласио цео п ван моје "за" петље, тако да
цео број може бити доступан ван "фор" петље.
Након месец дана је прошло, време је да каже кориснику колико новца
Сам добио они.
По спецификације, потребно је да каже кориснику колико долара, не колико
пенија, имају.
Али, до сада, ви сте пратила укупно и пенија користе ЛонгЛонгс,
који су цели бројеви.
>> Постоји 100 пенија за $ 1, па уколико број пенија је
више од 100, потребно је да представљају децимална места.
Удвостручила аутотип омогућава да то урадите.
Па како да конвертујете из заступа пенија у доларе?
>> Хајде да погледамо пи.ц.
Овај програм траје Лонглонг биг_пи и дели га од 100.000, а штампа
резултат на пет децималних места.
Ако бисмо желели да прикаже четири децимална места, онда можемо само да замени ово
број овде.
Тако ћемо сачувати, састави пи, и онда видите резултат, који смо
Очекујем да буде 3.1415 -
првих пет цифара броја Пи.
>> То није ипак.
А зашто?
Па, зато што је биг_пи Лонглонг, што је цео број, који неће
пратити децимале.
Модификација треба да чине је у подели.
Морам да се баци у двоструко овде пре поделе, јер дубл не могу да задрже
евиденцију о децимале.
И ја ћу да додам нову линију Овде за боље форматирање.
>> А овде га имамо -
3.1416.
Можда ћете приметити да се штампа 3.1416 уместо 3.1415 као што се очекивало.
То је зато што током рунде подела процес, за разлику од само
скраћивања вредности.
Сада би требало да можете да одштампате Укупна коначна правилно, који завршава
програма.
>> Честитам.
Моје име је Замила.
И то је било пенија.
>> [Музика свира]