0:00:00.981,0:00:02.928 დავუბრუნდით ჩვენს პროგრამას 0:00:02.928,0:00:05.575 რომელიც იყენებს ფუნქციას,[br]რათა ვინსტონი ოთხჯერ დახატოს 0:00:05.575,0:00:06.966 მე შეცვალე ეს ფუნქცია 0:00:06.966,0:00:10.106 ახლა ის აჩვენებს, რა ასაკისაა ვინსტონი[br]ცხოვრების ამა თუ იმ მომენტში 0:00:10.106,0:00:11.377 მალე ნახავთ რატომაც 0:00:11.377,0:00:13.549 მაგრამ მანამდე[br]რაღაც უნდა გითხრათ ვინსტონზე 0:00:13.549,0:00:15.901 ვინსტონი ზედმეტად უყვარს დონატები 0:00:15.901,0:00:18.437 ის ყოველდღე სამ ცალს ჭამს. 0:00:18.437,0:00:21.333 ამიტომაც ამხელა ყვითელი სახე აქვს 0:00:21.703,0:00:25.311 იმისთვის, რომ გავაფრთხილო,[br]რამდენად მავნეა მისი ეს ჩვევა 0:00:25.311,0:00:28.263 მე მინდა შევცალო პროგრამა ისე,[br]რომ მან აჩვენოს 0:00:28.263,0:00:31.755 რამდენი დონატი ექნება მას ნაჭამი[br]ცხოვრების რაღაც მომენტისთვის. 0:00:32.095,0:00:35.783 მაგალითად, როცა ის ორი წლისაა 0:00:35.873,0:00:41.598 მას ნაჭამი ექნება[br]3-ჯერ 365 გამრავლებული 2-ზე 0:00:41.598,0:00:45.873 სამი დონატი დღეში, წელიწადში 365 დღეა,[br]და ასე ორი წლის განმავლობაში 0:00:45.873,0:00:50.330 ამ რიცხვს[br]გამოვაჩენთ სათაურის ქვეშ 0:00:50.330,0:00:53.945 ორი ათასი დონატი![br]ძალიან ბევრია ორწლიანისთვის. 0:00:53.945,0:01:02.452 ახლა ვნახოთ, რამდენს შეჭამს ის[br]14 წლის ასაკში, ანუ 3-ჯერ 365 14-ზე 0:01:04.032,0:01:08.446 გამოვიდა 15000 დონატი[br] 0:01:08.446,0:01:12.620 შემეძლო გამეგრძელებინა გამოთვლები,[br]მაგრამ კანონზომიერებას ვამჩნევ 0:01:13.150,0:01:16.718 გამოთვლები მეორდება 0:01:16.718,0:01:20.416 და ყოველ ჯერზე[br]მხოლოდ წლების რაოდენობა იცვლება 0:01:20.416,0:01:28.092 როდესაც კოდის ასეთ გამეორებას ვხედავ,[br]ვფიქრობ "შემიძლია აქ ფუნქცია დავწერო?" 0:01:28.352,0:01:31.835 კი, ნაღდად შემიძლია.[br]დავწეროთ ეს ფუნქცია 0:01:32.795,0:01:34.416 ფუნქციას აი აქ განვსაზღვრავ 0:01:34.416,0:01:40.377 დავარქვათ მას calcTotalDonuts[br](დათვალე დონატების საერთო რაოდენობა) 0:01:40.917,0:01:44.228 მას გადაეცემა ერთადერთი პარამეტრი -[br]წლების რაოდენობა 0:01:44.228,0:01:48.872 იმიტომ რომ ეს ერთადერთი ცვლადი რამეა[br]ჩვენს გამოთვლებში 0:01:49.316,0:01:52.878 აქ, შიგნით, გამოვითვლით მნიშვნელობას[br]და შევინახავთ მას ცვლადში 0:01:52.878,0:01:59.600 ეს იქნება 3-ჯერ 365 გამრავლებული[br]წლების რაოდენობაზე 0:02:00.680,0:02:03.099 კარგი. ფუნქცია მზადაა 0:02:03.099,0:02:08.598 ამ გამოსახულებას აქ[br]calcTotalDonuts-ით შევცვლი 0:02:08.598,0:02:11.568 გამოვიძახებ ამ ფუნქციას და გადავცემ ორიანს 0:02:12.738,0:02:16.877 ახლა საერთო რაოდენობა აღარ ჩანს 0:02:17.227,0:02:19.092 რა მოხდა? 0:02:19.092,0:02:22.616 ჩვენმა ფუნქციამ[br]გამოთვალა მნიშვნელობა აი აქ 0:02:23.096,0:02:25.640 მაგრამ საერთო[br]რაოდენობა არავის ამცნო 0:02:26.050,0:02:30.367 ეს იგივეა, რაც მასწავლებელმა რომ[br]გამოგიძახოთ გაკვეთილზე, დაგისვათ კითხვა 0:02:30.367,0:02:31.744 და თქვენ მიხვდეთ პასუხს 0:02:31.744,0:02:33.652 მაგრამ მოგერიდოთ მისი ხმამაღლა თქმა. 0:02:33.652,0:02:36.998 თქვენ შეასრულეთ დავალება,[br]მაგრამ მასწავლებელი ამას არასდროს გაიგებს 0:02:37.348,0:02:41.229 თუ გვინდა, რომ ფუნქციამ[br]გადასცეს მნიშვნელობა იმას, ვინც გამოიძახა 0:02:41.229,0:02:45.170 ფუნქციამ უნდა დააბრუნოს მნიშვნელობა 0:02:45.710,0:02:49.319 ამისთვის უნდა დავწეროთ: return [br](დააბრუნე) 0:02:49.599,0:02:51.998 და ის, რაც გვინდა დავაბრუნებინოთ 0:02:51.998,0:02:55.138 ეს შეიძლება იყოს ცვლადი,[br]მნიშვნელობა ან გამოსახულება 0:02:55.138,0:02:57.749 აქ დავწერთ:[br]return totalDonuts 0:02:57.749,0:03:01.540 ახლა ის, ვინც[br]გამოიძახებს ამ ფუნქციას, მიიღევს პასუხს 0:03:01.880,0:03:04.421 და ჩვენი მნიშვნელობაც გამოჩნდა! 0:03:04.771,0:03:06.651 შეგვიძლია ჩვენი ფუნქცია შევამოკლოთ 0:03:06.651,0:03:08.791 არ გვჭირდება ცვლადში[br]მნიშვნელობის დამახსოვრება 0:03:08.791,0:03:11.181 შეგვიძლია მთელი გამოსახულება[br]return-ის მერე დავსვათ 0:03:11.181,0:03:14.268 და გამოგვივა ერთხაზიანი ფუნქცია. 0:03:15.068,0:03:17.166 კარგი, ახლა შეგვიძლია დავთვალოთ 0:03:17.166,0:03:20.444 რამდენი დონატი შეჭამა ვინსტონმა[br]ცხოვრების ამა თუ იმ მომენტში 0:03:20.444,0:03:24.132 უბრალოდ გამოვიძახოთ ეს ფუნქცია[br]და გადავცეთ წლების რაოდენობა 0:03:24.212,0:03:28.704 კარგი, აქ გვაქვს calcTotalDonuts(25) 0:03:28.704,0:03:30.546 სწორ ადგილას დავწეროთ 0:03:30.546,0:03:36.366 calcTotalDonuts(65) 0:03:36.366,0:03:43.211 გამოდის, რომ 65 წლის ვინსტონს[br]70000 დონატი ექნება ნაჭამი! 0:03:43.211,0:03:45.096 ეს მართლაც ძალიან ბევრია 0:03:45.136,0:03:48.051 არა მგონია ვინსტონმა ამდენს გაუმკლავდეს. 0:03:48.051,0:03:50.331 ახლა, რაც გამოთვლები ფუნქციაში გვაქვს 0:03:50.331,0:03:52.891 გაგვიმარტივდება მისი ნაწილები შევცვალოთ 0:03:53.181,0:03:55.138 მაგალითად, ვინსტონმა[br]ეს რომ ნახოს და თქვას 0:03:55.138,0:03:58.865 "ო, ეს ზედმეტია. იქნებ დღეში ერთი ვჭამო?" 0:03:58.865,0:04:02.242 ჩვენ აქ გადავალთ და შევცვლით რიცხვს 0:04:02.732,0:04:04.329 და ყველაფერი შეიცვლება 0:04:04.329,0:04:07.971 გამოვიდა 23000. ისევ ძალიან ბევრია. 0:04:07.971,0:04:10.773 ახლა ვინსტონმა შეიძლება თქვას:[br]"კარგი, იქნებ კვირაში ერთი ვჭამო?" 0:04:10.773,0:04:12.477 ეს ნორმალურია 0:04:12.477,0:04:15.025 365-ს შევცვლით 50-ით 0:04:15.025,0:04:17.153 იმიტომ რომ წელიწადში დაახლოებით 50 კვირაა 0:04:17.176,0:04:23.866 გაცილებით უკეთესია.[br]3000 დონატი, საკმაოდ ნორმალურია 0:04:23.870,0:04:27.479 როგორც ხედავთ, ფუნქციებისა და[br]დასაბრუნებელი მნიშვნელობების გამოყენებით 0:04:27.479,0:04:31.767 საწერი კოდის რაოდენობაც[br]და ვინსტონის წონაც შევამცირეთ