დღის ქვიზი (პითონი)

ქვიზი რეკურსიაზე

პროგრამირების ენა პითონი

სურთულე: 2 ხაზი

კლასები: V-VI

რავი, დღეს ასეთ ხასიათზე გავიღვიძე, ვიღაცას მინდა დავიჭირო და ჩამჭრელი კითხვა დავუსვა, მერე რომ ვერ მიპასუხებს, დავტუქსო და ჭკუის სწავლება დავუწყო. 

მოკლედ, მინდა რომ ჩემი ეგო დავიკმაყოფილო :) 

კი არადა, რეკურსია ზოგადად პროგრამირებაში ძალიან კარგი და საინტერესო თემაა. თუ ცოტას წაეთამაშებით ამ კოდს, საინტერესო რამეებს ნახავთ. მაგალითად, მოაცილეთ  if  ბლოკი ან სცადეთ   logical(5)  . ამ კოდს შემთხვევით გადავაწყდი ფეისბუკ ჯგუფში. ხოდა ვფიქრობ კიდევ შემოგთავაზოთ მსგავსი ქვიზები სხვადასხვა პროგრამულ ენებზე. გთხოვთ სანამ ახსნას წაიკითხავდეთ, პასუხების თქვენი ვარიანტი დაწეროთ კომენტარებში. ასევ გამიზიარეთ თქვენი აზრი, გაინტერესებთ თუ არა მსგავსი პოსტები. ჩემთვის საინტერესოა თქვენი გამოცდილება მსგავსი ქვიზების შექმნაში. რის შეცვლას მირჩევთ?

ახლა კი  კლოდის :) ახსნა:

  1. ფუნქცია logical(3) გამოიძახება და x=3:
    • პირველ if პირობას ვერ აკმაყოფილებს (3 ≠ 1)
    • გადადის else-ში: უნდა დააბრუნოს 3 + logical(2)
    • მაგრამ ჯერ უნდა გამოითვალოს logical(2)
  2. ახლა სრულდება logical(2):
    • პირველ if პირობას ვერ აკმაყოფილებს (2 ≠ 1)
    • გადადის else-ში: უნდა დააბრუნოს 2 + logical(1)
    • მაგრამ ჯერ უნდა გამოითვალოს logical(1)
  3. ბოლოს სრულდება logical(1):
    • აკმაყოფილებს if პირობას (1 = 1)
    • აბრუნებს 1-ს
  4. ახლა შეგვიძლია უკან დავბრუნდეთ და გამოვთვალოთ:
    • logical(1) = 1
    • logical(2) = 2 + 1 = 3
    • logical(3) = 3 + 3 = 6

შესაბამისად, საბოლოო შედეგი არის 6, რაც დაიბეჭდება print(result)-ის გამოძახებით. ეს ფუნქცია ფაქტობრივად კრებს ყველა რიცხვს 1-დან x-მდე. ამ შემთხვევაში: 1 + 2 + 3 = 6.


ნახეთ სხვა ქვიზებიც

  

Comments

Popular posts from this blog

სტენფორდის ონლაინ კურსი კოდირებაში

თხა და გიგო (ზღაპარი)

@ მეილის ნიშნის ისტორია