დინამიკები 1: მოდით ვისაუბროთ წყალი.
ამ პრობლემას, ჩვენ ვთხოვთ მომხმარებელი ვუთხრა ჩვენს რამდენად ხანგრძლივი წუთებში მათი საშხაპე იყო
და მაშინ ჩვენ გამოვთვალოთ ექვივალენტი ნომერი ბოთლი წყალი
რომ მათი შხაპი გამოიყენება.
>> ასე რომ, რა არის ჩვენი to-do ს ამ პრობლემას?
პირველ რიგში, ჩვენ ვაპირებთ, რომ გსურთ შეეკითხება და შემდეგ შეამოწმოს
შეყვანის რომ მომხმარებელს გვაძლევს.
მას შემდეგ, რაც ჩვენ უზრუნველყოს, რომ ჩვენ აქვს მოქმედი მომხმარებლის input,
ჩვენ ვაპირებთ, რომ გამოვთვალოთ ექვივალენტი ნომერი ბოთლი წყალი
რომ მომხმარებელს ჰქონდა მათი შხაპი, და მაშინ ჩვენ
მინდა გითხრათ, მათ მიერ დაბეჭდვისას რომ ნომერი.
>> მოდით დაძლევის ჩვენი პირველი ამოცანა, რითაც და წევრები
მომხმარებლის შეყვანის.
ამისათვის ჩვენ დავწერეთ ფუნქცია მოუწოდა
get_int მდებარეობს CS50 ბიბლიოთეკა.
get_int უზრუნველყოფს, რომ მომხმარებლის საშუალებებით მთელი რიცხვი, ასე რომ რაიმე დადებითი ციფრები,
უარყოფითი რიცხვები, ან ნულოვანი ყველა მიღებული.
მაგრამ, თუ მომხმარებლის საშუალებებით არაფერი, ასე რომ ნებისმიერი კომბინაცია წერილები და ციფრები
ან ათობითი ნომრები, მაშინ მომხმარებლის იქნება აიძულა კვლავ სცადოთ
და ფუნქცია არ მიიღოს არაფერი სანამ მომხმარებელს საშუალებას აძლევს, მათ რიცხვი.
>> ასე რომ, ჩვენ ვიყენებთ get_int?
თუ თქვენ გახსნა თქვენი სამუშაო გარემოს და შევქმნათ ფაილი სახელად integer.c მოდით
აკრიფოთ შემდეგ.
Hashtag მოიცავს cs50.h.
ეს აუცილებელია, რადგან get_int არის CS50 ბიბლიოთეკის ფუნქცია,
ამიტომ ჩვენ უნდა HASHTAG მოიცავს მისი დეკლარაცია, რათა
გამოყენება ფუნქცია.
და მაშინ ჩემი მთავარი ფუნქციონირებს მე უბრალოდ აპირებს
უბრალოდ მოვუწოდებთ ფუნქცია get_int.
>> მოდით აწარმოებს და ვხედავთ, როგორ მუშაობს.
მე უკვე შედგენილი, მოდით უბრალოდ წავიდეთ წინ და აწარმოებს ამ პროგრამის,
./integer.
აქ მაქვს სწრაფი და აქ, სადაც მე შეყვანის ღირებულება.
ამბობენ, რომ მე დააყენა მხოლოდ რამდენიმე რიცხვი, 50, პროგრამა, გარდა და ტოვებს
და ეს რომ.
>> მაგრამ ამბობენ, რომ მე აწარმოებს ეს ისევ და მე input რაღაც.
ალბათ, hello მსოფლიოში.
ეს არ არის მთელი რიცხვი, ასე რომ პროგრამის შეეკითხება მომეცით გაიმეორეთ.
მოდით სცადოთ ალბათ ათობითი ამ დროს.
0.5, კიდევ ერთხელ, არ არის მთელი რიცხვი, ასე პროგრამა არ მიიღებს
და ეს კიდე მეუბნებოდა კვლავ სცადოთ.
მოდით მივცეთ მას კიდევ ერთი ნომერი.
პროგრამა იღებს, ტოვებს, და ჩვენ გავაკეთეთ.
>> ასე რომ, ახლა ჩვენ გვაქვს ფუნქცია რომელიც საშუალებას გვაძლევს, და უზრუნველყოფს
რომ მომხმარებლის საშუალებებით რიცხვი, მაგრამ როგორ შეგვიძლია
რეალურად შენარჩუნება სიმღერა მთელი შეყვანილი მომხმარებლის მიერ?
ისე, ყველა ჩვენ ყველაფერს გავაკეთებთ არის მაღაზია ამ ღირებულების ცვლადი, ვთქვათ, n.
ასე რომ, თუ განაცხადოს რიცხვი n, I მითითებული, რომ მნიშვნელობა get_int,
მაშინ n შემდეგ შესანახად რასაც ვაფასებთ მომხმარებლის inputted.
>> ყველა უფლება, ასე რომ, ახლა ჩვენ დარწმუნდა, რომ მომხმარებლის მოგვცემს რიცხვი
და ჩვენ ვიცით, თუ როგორ უნდა შევინარჩუნოთ სიმღერა მთელი რიცხვი, მაგრამ მახსოვს,
რიცხვებით როგორც დადებითი და უარყოფითი.
ასე რომ, ეს ნამდვილად არ აქვს აზრი კონტექსტში ამ პრობლემის
რომ მომხმარებელს იღებს საშხაპე ამბობენ, უარყოფით 12-ე წუთზე.
ასე რომ, ჩვენ უნდა დავრწმუნდეთ, რომ მომხმარებელს რეალურად გვაძლევს დადებითი მთელი რიცხვი.
ახლა ჩვენ არ გვაქვს მხოლოდ ერთი ფუნქცია, რომ,
ასე რომ, ჩვენ ვაპირებთ, რომ შექმნა, რომ საკუთარ თავს.
>> ასე რომ ჩვენ გვინდა, რომ მუდმივად უბიძგონ შესახებ
სანამ მათ მოგვცეს დადებითი მთელი რიცხვი.
თუ მე ვაკეთებ რაღაც მუდმივად შემდეგ რომ არის akin რომ მარყუჟის, განმეორება.
ასე რომ, ერთი აშენებს, რომ ჩვენ ვიყენებთ გ განახორციელოს განმეორება და მარყუჟების
ხოლო loop.
ასე რომ, ხოლო მარყუჟის, როგორც აქ ნაჩვენები, შეასრულოს
რაც არის სხეულში მარყუჟის, როგორც სანამ მოცემულ მდგომარეობა აფასებს
ჭეშმარიტი.
როგორც კი მდგომარეობა აფასებს მცდარია, მაშინ
პროგრამის გაგრძელება, რასაც მას შემდეგ, რაც ორგანოს loop.
>> ასე რომ, ხოლო მარყუჟების აპირებს უნდა იყოს ნამდვილად სასარგებლო CS50.
მაგრამ ამ კონკრეტულ შემთხვევაში, ჩვენ ვიცით, რომ ჩვენ
აპირებს შეეკითხება მომხმარებელს მინიმუმ ერთხელ და მხოლოდ მაშინ loop საჭიროების შემთხვევაში.
ასე რომ, აქ მივალთ სპეციალური შენება და ეს არის ის,
ძალიან ჰგავს, ხოლო მარყუჟის მოუწოდა do- ხოლო loop.
>> ასე რომ do ხოლო მარყუჟის გაუშვებს ორგანოს მარყუჟის ერთხელ მაინც
და მაშინ იგი ამოწმებს თუ არა ეს უნდა შეასრულოს,
როგორც ეწინააღმდეგებოდა ხოლო მარყუჟის, რომელიც შეამოწმოს მდგომარეობა
და მაშინ შეასრულოს ორგანოს.
ასე რომ, do-loop ხოლო ის, რაც შეიძლება გავაკეთოთ არის უბიძგონ შესახებ რიცხვი,
და შემდეგ შეამოწმოს, თუ ეს არასწორია ან არა.
თუ ეს არასწორია, მაშინ ჩვენ ვიმეორებ, ამ პროცესში ითხოვს შესახებ
მოგვცეს კიდევ ერთი რიცხვი, და შემდეგ მხოლოდ მაშინ, როდესაც ეს რიცხვი არის მოქმედი,
ჩვენ გავაგრძელებთ რაც შეეხება შემდგომ.
>> ახლა თქვენ შეამჩნევთ, რომ დეკლარაცია რიცხვი n
ოდნავ განსხვავებული, რაც ჩვენ გავაკეთეთ ადრე წინა მაგალითად
და ეს იმიტომ, რომ ფარგლებს.
თუ ჩვენ განაცხადა რიცხვი n შიგნით ორგანოს do- ხოლო loop,
მაშინ ჩვენ არ უნდა შეეძლოს წვდომა რომ ღირებულება n გარეთ იმ curly
braces მითითებით ორგანოს loop.
მაგრამ ჩვენ, ფაქტობრივად, გინდათ შესვლა ღირებულება N მოგვიანებით ჩვენი პროგრამა.
>> OK, ასე რომ, ახლა მოდით ვისაუბროთ რა ამ მდგომარეობაში უნდა იყოს.
ჩვენ გვინდა, რომ მხოლოდ reprompt შესახებ, რადგან n არასწორია.
ასე რომ, ვფიქრობ, რომ საკუთარ თავს, რა არასწორი მთელი მნიშვნელობა არ ჰგავს
და შემდეგ შექმნა ლოგიკური გამოხატვის გამოთქვას, რომ.
>> ჩვენ თითქმის დასრულდა ჩვენი subtask რითაც და წევრები მომხმარებლის შეყვანის.
ასე რომ, მოდით ეს ცოტა ცოტა უფრო მოსახერხებელი
და მისცეს მომხმარებლის პატარა უფრო მეტი ინფორმაცია
რა ჩვენ რითაც მათ.
მოდით შეეკითხება მომხმარებელს, თითო სპეც, სიმებიანი წუთი.
ასე გამოყენებით თქვენი printf განცხადებები, რომ დარწმუნდით, რომ თქვენ არ შეესაბამება ზუსტად.
>> კარგი.
ასე რომ, ახლა ჩვენ გვაქვს სწორი შესახებ input, დადებითი რიცხვი
მნიშვნელობა რამდენი წუთი მათ გაატარეს საშხაპე.
ასე რომ, რა არის შემდეგი გამოთვლა ეკვივალენტს ნომერი ბოთლი.
ის, რასაც ჩვენ ვაპირებთ, რომ აქ შეიძლება იყოს ძალიან ნათელია, პირველ რიგში,
და რომ კარგადაა.
რაც ჩვენ გვინდა გავაკეთოთ არის მინდა, რომ დაიწყოს პრაქტიკოსი
იდეა გამოვლენის ნიმუშების და განვითარებადი ფორმულები პრობლემა.
>> ასე რომ, ჩვენ გვეუბნებიან, თითო სპეც რომ ერთი წუთი შხაპი
ეკვივალენტია 12 ბოთლი წყალი.
ასე რომ, შემდეგ ორი წუთის გვინდა გათანაბრებულია 24,
და ხუთი წუთის გვინდა ტოლფასია 60.
ასე რომ, ახლა, თუ ფიქრობთ, თქვენ მოხვდით, მაშინ მოდით
ვხედავ თუ შეგიძლიათ ამუშავება ნიმუში ან ფორმულით
გამოხატოს, თუ ჩვენ არ ამბობენ, n ე წუთზე, რამდენი ბოთლი წყალი
მინდა, რომ იყოს გამოხატული n?
>> ისევ და ისევ, მიუხედავად იმისა, რომ ამ შეიძლება იყოს მარტივი, პირველ რიგში,
მოგვიანებით, როდესაც ჩვენ ვიღებთ უფრო რთული პრობლემები
ჩვენ ვაპირებთ, რომ სურს შეღწევას პრაქტიკა საიდენტიფიკაციო
ნიმუშების და განვითარებადი ფორმულები უნდა გაერკვნენ ამ რამ გარეთ.
>> გ თქვენ გაქვთ წვდომა სტანდარტული არითმეტიკული ოპერაციების,
გარდა ამისა, გამოკლება, გამრავლება და გაყოფა.
ასე რომ, მე დავტოვებთ მას თქვენ ახლა უნდა გაერკვნენ,
როგორ გამოვხატო ექვივალენტი რაოდენობით ბოთლი
რომ მომხმარებელს მოხმარებული დროს საშხაპე.
>> ყველა უფლება, ჩვენ თითქმის გაკეთდეს.
ჩვენ აიძულა შესახებ მათი შეყვანა, ჩვენ დარწმუნდა, რომ ეს არის სწორი შეყვანის,
და მაშინ ჩვენ figured, თუ როგორ გამოვთვალოთ ექვივალენტი
ნომერი ბოთლი, რომ მოხმარებული.
ასე რომ, ბოლო, რაც უნდა გააკეთოთ, რომ გამომავალი ეკვივალენტს რაოდენობით ბოთლი
და იმედია წაახალისოს მათ შენარჩუნებას წყალი.
>> Outputting ღირებულება იქნება იყოს printf განცხადებაში.
თუ მე მინდა გითხრათ, რომ მე აქვს სამი pets, მაგალითად,
შეიძლება გამოიყენოს printf განაცხადი რომელიც ასე გამოიყურება.
მაქვს სამი pets და ახალი ხაზი ლამაზი გაფორმებით.
>> ახლა ჩვენ არ გვინდა, რომ უბრალოდ მძიმე კოდი რამ.
ამბობენ, რომ ჩემმა pets იცვლება დროთა განმავლობაში.
ამის შემდეგ მე ვაპირებ, რათა გამოყენების ჩანაცვლების ჩემი printf განცხადება.
ასე რომ, აქ ჩემი ნომერი არის მთელი რიცხვი.
ამიტომ, მე ვაპირებ, რომ placeholder რიცხვი გამოყენებით% i.
მე ვაპირებ დაწერა სიმებიანი, და შემდეგ სიმებიანი
ვწერ მძიმით და შემდეგ ცვლადი, რომელიც მინდა ბეჭდვა.
ასე რომ, მნიშვნელობა დაიბეჭდება ნაცვლად, რომ placeholder,% i.
>> თქვენ შეგიძლიათ გამოიყენოთ placeholders, როგორც ასევე, მოძრავი ერთად% f.
ასევე შეგიძლიათ მქონდეს ჩანაცვლების სიმებიანი.
მაგალითად, თუ მაქვს გარკვეული რაოდენობის ძაღლების და გარკვეული რაოდენობის კატა,
მე ზუსტად ორი placeholders აქ და შემდეგ ჩემი ორი ცვლადის შესაბამისი ბრძანებით.
>> ასე, რომ ახლა ჩვენ ვიცით, როგორ ბეჭდვა ღირებულებების ინახება ცვლადები,
ძალიან ბოლო რამ გავაკეთოთ არის ის, რომ ჩვენ
ბეჭდვა ღირებულება ზუსტი ფორმატი მითითებული დაზუსტება.
ამასთან, ჩვენ აიძულა შესახებ და დამტკიცდა მათი შეყვანა.
ჩვენ მაშინ გამოითვლება ექვივალენტი ნომერი ბოთლი წყალი
რომ ისინი მოიხმარენ დროს საშხაპე, და ჩვენ outputted რომ ღირებულება მათ.
ასე რომ, ჩვენ უკვე დასრულდა წყალი.
>> მე მქვია [? Zamila,?] და ეს არის CS50.