დინამიკები 1: მოდით დავწეროთ პროგრამა, რომელიც თხოვს მომხმარებელს დადებითი რიცხვი, n, და შემდეგ ბეჭდავს თანხა ყველა ნომერი შორის 1 და n. ისე, აქ ჩვენ მთავარი, რაც მე უკვე დაწერილი წინასწარ. და შეამჩნია აქ ზედა მთავარი ვაცხადებ int n. მე მაშინ, შიგნით do ხოლო loop, პირველი ამობეჭდოთ დადებითი მთელი რიცხვი, გთხოვთ. მერე გაგრძელება მიიღოს მთელი დან მომხმარებელი CS50 ბიბლიოთეკა მისაღებად int ფუნქცია. და შემდეგ ჩემს ხოლო მდგომარეობა აქ, მე დარწმუნდით, რომ n მეტია ან უდრის 1 სანამ მე რეალურად გაგრძელება რაღაც რომ ღირებულება. რა გავაკეთო შემდეგ? ისე, მე მოვუწოდებ ფუნქცია, რომ მე ვაპირებ მოვუწოდებთ sigma წარმომადგენელი კაპიტალის sigma რომ თქვენ შეიძლება გაიხსენა მათემატიკის კლასების, რომ მიუთითებს, რომ გსურთ მთლიანობაში რაღაც ერთი ღირებულება სხვა. და რაც რომ ფუნქცია დააბრუნებს, როგორც მისი დაბრუნების ღირებულება, მე ვაპირებ შესანახად ამ ცვლადში პასუხი. და ბოლოს, ჩემი ბოლო ხაზი მთავარ, მე ვარ აპირებს ამობეჭდოთ რა პასუხი. რა თქმა უნდა, ჩვენ ჯერ არ ხორციელდება ამ ფუნქციის sigma. ასე როგორ უნდა წავიდეთ შესახებ აკეთებს, რომ? ისე, ბოლოში ჩემი ფაილი, მე ვარ აპირებს გაგრძელება განაცხადოს ფუნქცია რომ ბრუნდება int. და მე ვაპირებ მოვუწოდო რომ ფუნქცია sigma. და მე ვაპირებ დააკონკრეტა, რომ როგორც შეყვანის რომ ფუნქცია ადასტურებს ასევე int. და მე მოვუწოდებ უბრალოდ, უნდა იყოს მკაფიო, m ნაცვლად n. მაგრამ ჩვენ შეეძლო უწოდა ყველაზე არაფერი მინდა. Inside ორგანოს ამ ფუნქციის ვარ აპირებს გააგრძელოს გამოიყენოს ნაცნობი მშენებლობა, კერძოდ loop. მაგრამ მე ასევე აპირებს გავაკეთოთ ცოტა საღი აზრის შემოწმების დავრწმუნდეთ, რომ მომხმარებელი არ მომაწოდეს ნომერი რომ მე არ ელოდება. კერძოდ, მე ვაპირებ, თუ მ არანაკლებ 1 და, გარკვეულწილად თვითნებურად, მე უბრალოდ აპირებს დაბრუნებას 0 თუ ნომერი არ არის დადებითი რიცხვი, როგორც მე ველოდოთ. შემდეგ მე ვაპირებ განაცხადოს ცვლადი ე.წ. თანხა და ინიციალიზაცია მას 0. ეს საბოლოოდ შესანახად თანხა ყველა ციფრები 1 და მ. და შემდეგ მე ვაპირებ გამოიყენოთ ნაცნობი forward loop შენება. განთავსების int i იღებს 1, i ნაკლებია, ვიდრე ან ტოლია m, i plus plus. და შემდეგ, სხეულის ამ loop, მე უბრალოდ აპირებს გააკეთოს თანხა შეადგენს თანხა პლუს i. ან, უფრო მარტივად, თანხა პლუს შეადგენს i, რომელიც აღწევს იგივე შედეგი. და მერე ბოლოს, მე უნდა დაბრუნდეს თანხა, რომ მე გამოთვლილია. ასე რომ, მე დაამატოთ სანაცვლოდ თანხა. ახლა მე არ კეთდება ამჟამად. მე უნდა ასწავლოს C, რომ ეს ფუნქცია ნამდვილად არსებობს. და ასე atop ჩემი ფაილი მე ვაპირებ განაცხადოს რასაც ჩვენ მოუწოდა ფუნქცია პროტოტიპი, იდენტურია ხელმოწერა რომ მე გამოიყენება, როდესაც განსაზღვრის ფუნქცია მომენტში წინ. კერძოდ, მაღლა მთავარი, მე ვაპირებ აკრიფოთ int sigma, int m, მძიმით. არ ახორციელებს ფუნქცია ერთხელ, უბრალოდ აცხადებდა იგი. თუ მე ახლა გადარჩენა, კომპილირდება და აწარმოებს ამ პროგრამა, ვნახოთ, რა მივიღო. რათა sigma 0 dot slash sigma 0. და ახლა მოდით გთავაზობთ დადებითი მთელი რიცხვი მოსწონს 2, რომელიც უნდა მომეცი სამი, რადგან ღირებულებებს შორის 1 და 2 1 plus 2 შეადგენს 3. და მართლაც, ის, რაც მე მისაღებად. მოდით გაუშვით ერთხელ, დრო, ვთქვათ, 3. ასე რომ, მე უნდა მიიღოს 1 plus 2 plus 3 უნდა მომეცი 6. და მართლაც, მე კიდევ 6. და მოდით ცდილობენ ერთი ბოლო ღირებულება, ვთქვათ, 50. და 1,275 არის ჩვენი პასუხი.