>> [მუსიკის დაკვრა]
>> რობ Bowden: Hi.
მე Rob.
და მოდით მისაღებად ხარბ.
>> ასე რომ პირველი რაც უნდა გავაკეთოთ არის ვთხოვო შესახებ, თუ როგორ
ბევრი ცვლილება აღუდგებათ.
ასე რომ აქ, ჩვენ ვხედავთ ჩვენ do / ხოლო loop.
და ჩვენ შექმნის დოლარი ტოლი GetFloat.
რა არის GetFloat?
ეს არის ერთ ერთი ფუნქციებს CS50 ბიბლიოთეკა, რომელიც იღებს
float საწყისი მომხმარებელს.
გახსოვდეთ, რათა, რომ ფუნქცია, ჩვენ უნდა hash არის
Cs50.h ზედა.
>> ასე რომ კიდევ გვაქვს, რომ მნიშვნელობა შესახებ, ჩვენ ასევე უნდა იყოს დარწმუნებული, რომ
ეს სწორი მნიშვნელობა.
ჩვენ არ შეგვიძლია ვალში უარყოფითი ფული.
და ისე, რომ ამ მიზნით ამ do / ხოლო loop.
ჩვენ ვაგრძელებთ looping ხოლო დოლარი ნაკლებია, ვიდრე ნულოვანი.
და do / ხოლო loop არის სწორი გამოყენება აქ, რადგან ჩვენ უნდა ვთხოვო
პროფაილი ერთხელ მაინც რამდენ ბევრი ფული კუთვნილს.
>> ასე რომ ერთხელ ჩვენ რომ ნომერი დოლარი, ჩვენ ვხედავთ, რომ აქ გვაქვს int ცენტი
შეადგენს რაუნდი დოლარი times CENTS_PER_DOLLAR.
ზედა, ჩვენ ვხედავთ, რომ CENTS_PER_DOLLAR არის
sensibly განისაზღვრება, როგორც 100.
რა არის ეს ხაზი აკეთებს?
>> ისე, თუ გახსოვთ, მცურავი წერტილი ღირებულებები არ არის საკმაოდ ზუსტი.
განსხვავებით რიცხვებით, ჩვენ ვერ წარმოადგენს მცურავი პუნქტიანი ღირებულებების ზუსტად.
იქ ყოველთვის რაღაც საქართველოს ორაზროვნება.
ასე რომ, ჩვენ ურჩევნია მუშაობა მხოლოდ რიცხვებით მთელი ამ პრობლემას.
და აქ, თუ მომხმარებელი შევიდა $ 3.42, ჩვენ კონვერტაცია, რომ 342 ცენტი და
დამრგვალება, უბრალოდ მოშორება რომელიმე რომ ორაზროვნება.
>> ასე რომ ერთხელ ჩვენ ნომერი ცენტი მთელი რიცხვი, შეგვიძლია გავაგრძელოთ
დანარჩენი პროგრამა.
ჩვენ ვხედავთ, აქ რომ ჩვენ ვაცხადებთ რიცხვი მონეტები, რომელიც ჩვენ მხოლოდ გამოიყენოს
ტრეკზე საერთო ნომერი მონეტები.
აქ, ჩვენ გვაქვს ჩვენი პირველი ხოლო loop.
>> ჩვენ ვხედავთ, ხოლო ცენტი მეტია ან ტოლი კვარტალში, რომელიც ზემოთ არის hash
განისაზღვრება, როგორც 25, ხოლო მართალია, ჩვენ გვინდა გავზარდოთ ჩვენი რაოდენობის მონეტები
და decrement ცენტი by კვარტალში.
გახსოვდეთ, რომ ეს სინტაქსი უდრის ცენტი
შეადგენს ცენტი მინუს კვარტალში.
ეს არის იგივე.
>> რა არის ეს, ხოლო loop აკეთებს?
იდეა აქ არის ის, რომ, თუ მე ვიცი $ 3.42 კუთვნილს, შემიძლია გააგრძელოს მიცემა
მეოთხედი სანამ მე ვერ აძლევს მეოთხედი აღარ.
მე ვერ აძლევს მეოთხედი აღარ, ერთხელ მე მოცემული $ 3.25.
>> ასე რომ, კიდევ ერთხელ, რომ იმ შემთხვევაში, ჩვენ დაარღვიოს ამ ხოლო loop.
Cents დარჩება 17 ცენტი.
და ჩვენ გავაგრძელებთ ქვემოთ შემდეგი ხოლო მარყუჟის, სადაც ჩვენ ვამბობთ, ხოლო ცენტი
მეტია ან ტოლია dime.
>> და ახლა ჩვენ ვაკეთებთ იგივე ზუსტი რაც ჩვენ გავაკეთეთ კვარტალში შემთხვევაში,
გარდა dimes.
ასე რომ $ 0.17, ჩვენ loop სანამ ჩვენ შეგვიძლია აღარ მისცეს dime, რომელიც
ზუსტად ერთხელ.
და მაშინ ჩვენ უნდა დარჩეს 7 ცენტი.
>> მაშინ ჩვენ გაგრძელდება nickels, რომელიც იქნება loop სანამ ჩვენ არ შეგვიძლია
რაიმე უფრო nickels, რომელიც დაგვტოვებთ ორი ცენტი.
და შემდეგ, ქვემოთ ბოლოში, ჩვენ გვაქვს pennies, რომელიც loop და იქნება
საბოლოოდ დაგვტოვებთ ნულოვანი ცენტი.
მაშინ ბოლოს, ჩვენ უბრალოდ უნდა ამობეჭდოთ ჩვენი მონეტები.
>> ასე რომ, ეს პროგრამა იდეალურად სწორი.
მაგრამ ჩვენ შეგვიძლია რეალურად გავაკეთოთ ცოტა უკეთესი.
ახლა თუ ვიტყვი, რომ მე მმართებს $ 10,000, თქვენ არ უნდა წავიდეთ აქ არის ერთ ერთი
კვარტალში, ორი კვარტლის, სამი მეოთხედი.
თქვენ უნდა იცოდეს, დაუყოვნებლივ, რომ მე მმართებს 40,000 მეოთხედი.
>> ახლა მოდით შევხედოთ პროგრამა, რომელიც ამუშავებს მას ცოტა უკეთესი.
ამ მობილური რამ, ჩვენ მაინც უნდა ვთხოვო შესახებ ოდენობით
ცვლილება, რომელიც მათ სურთ, ზუსტად იგივე გზა გავაკეთეთ ადრე.
ჩვენ უნდა გარშემო ზუსტად გზა გავაკეთეთ ადრე.
და ჩვენ კიდევ გვაქვს ჩვენი მონეტები რიცხვი განაცხადა, ზუსტად ისევე, როგორც ადრე.
>> ასე რომ აქ, სადაც ყველაფერი კიდევ ცოტა განსხვავებული.
ვაკეთებთ მონეტები plus შეადგენს ცენტი იყოფა კვარტალში
სადაც კვარტალში 25.
რა ამ ამბობს არის, მიიღოს როგორც ბევრი კვარტლის როგორც შეგიძლიათ შეხვიდეთ ცენტი და დამატება
რომ მონეტები.
>> ასე რომ, თუ ცენტი არის 142, 142 იყოფა 25 გვაძლევს 5.
გახსოვდეთ, რომ მთელი განყოფილება ავტომატურად truncates.
ასე რომ, ჩვენ ვაკეთებთ მონეტები plus შეადგენს 5.
>> მაშინვე ამის შემდეგ, ჩვენ ვამბობთ ცენტი ტოლია ცენტი mod კვარტალში.
გახსოვდეთ, რომ mod ოპერატორს აძლევს us დარჩენილი გაყოფის შემდეგ.
ასე რომ 142 mod კვარტალში, რომელიც მისცემს არის 142 მინუს 125, რომელიც არის 17.
სწორედ დარჩენილი შემდეგ აკეთებს 142 იყოფა 25.
>> ახლა ცენტი უდრის 17.
და ჩვენ იგივეს ზუსტი რამ dimes.
17 გაყოფილი 10 მოგვცემს 1.
და ჩვენ დავამატებთ, რომ მონეტები.
და მაშინ ჩვენ განახლება ცენტი იყოს 17 mod 10, რომელიც არის 7.
>> და შემდეგ იგივე nickels.
7 იყოფა 5 1.
სანიშნეს რომ მონეტები.
და შემდეგ 7 mod 5 2.
და ეს ჩვენი ცენტი.
>> და მაშინ, pennies, იქ არ არის რეალური წერტილი გამყოფი ან მოდინგი, რადგან,
თუ ჩვენ გვაქვს $ 0.2 დარჩენილი, ჩვენ შეგვიძლია უბრალოდ დაუყოვნებლივ დავამატოთ, რომ
ჩვენი მონეტები.
და ბოლოს, ჩვენ უნდა ამობეჭდოთ ჩვენი ნომერი მონეტები და, სურვილისამებრ,
დაბრუნებას 0 დასასრულს ჩვენი პროგრამა ნიშნავდეს ყველაფერი მუშაობდა.
>> ჩემი სახელი არის რობ.
და ეს იყო Greedy.
>> [მუსიკის დაკვრა]