შესავალი პროგრამირებაში სკრეჩით: თემა ფუნქციები

 

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

მაშ ასე, ამბავი: 

ყვითელ კატა კატუნას კომპიუტერის ყიდვა მოუნდა, დიდი პროგრამისტი უნდა გამოვიდეს.. ხოდა წავიდა მაღაზიაში...

თქვენ (ბავშვებო) კი უნდა დახატოთ კომიქსი 8 სურათისგან, რომელიც კატუნასა და მაღაზიის გამყიდველს შორის დიალოგსა ასახავს.... ალბათ ხვდებით, რომ ეს დიალოგი სკრეჩში უნდა გავაცოცხლოთ... ნეტა რა დაგვჭირდება?

ამბავი სკრეჩისთვის: 

(დახემარეთ მოსწავლეებს, რომ აღმოჩენა გააკეთონ: ამ ნახატების მიხედვით ბავშვები გააკეტებენ დასკვნას თქვი არის ფუნქცია, რომელიც ყველა სლაიდზე გამოიყენება...

ფუნქცია (სხვადასხვა პროგრამირების ენებში მოხსენიებულია როგორც პროცედურა, მეთოდი, ქვეპროგრამა, რუტინა....) არის პროგრამული ლოგიკის ერთეული, რომლის მუშაობის ლოგიკის კოდირების შემდეგ მრავალჯერ შეგვიძლია გამოვიძახოთ პროგრამულ კოდში.


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

C-ში printf(), პითონში print(),  ჯავასკრიპტში console.log(), PHP-ში echo ()....   
ანუ რადგანაც სკრეჩში ხშირად გვიწევს სპრაიტს რაიმე ტექსტი ვათქმევინოთ, სკრეჩის ავტორებმა ერთხელ დაწერეს თქვი ბლოკის კოდი, (ანუ ფუნქცია „თქვი“) და შემდეგ მომხმარებლები (ანუ ჩვენ) ჩვენს პროგრამებში ხშირად ვიყენებთ მას ყოველ ჯერზე, როცა გვინდა სპრაიტს რაიმე ტექსტი ვათქმევინოთ

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

ხშირად ფუნქციას გადაეცემა არგუმენტები, რომელიც ფუნქციას კონკრეტული ქცევის განხორციელების საშუალებას აძლევს.
თუმცა ეს აუცილებელი არაა. ანუ ზოგიერთ ფუნქციას არგუმენტი არ გადაეცემა. მაგალითად, ფუნქციები გამოჩნდი ან დაიმალე:


თუმცა ზოგიერთ ფუნქციას შეიძლება რამდენიმე არგუმენტი გადაეცეს. მაგალითად:

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

როგორც პროგრამირების სხვა ენებში, სკრეჩშიც შესაძლებელია პროგრამისტმა შექმნას საკუთარი ფუნქცია. ამისთვის არსებობს ბლოკი myblock

პრეზენტაცია

ლექცია

კონსპექტი

ქვიზი

დავალების ნიმუში

დავალება1: სკრეჩში შექმენი ანიმაცია რომელიც შეიცავს:


  • მინიმუმ მოძრაობის ერთ ბლოკს
  • მინიმუმ გარეგნობის ერთ ბლოკს
  • მინიმუმ ხმის ერთ ბლოკს

ამ თემაზე ლაივ შეხვედრა გაიმართება 09 და 29 მარტს. რეგისტრაცია საინფორმაციო შეხვედრაზე  

 :: ფუნქცია სკრეჩში



 :: ჰარვარდის კურსის თემა ფუნქციები

გამოყენებული კოდები სკრეჩის საიტზე


 :: ფუნქცია C
#include <stdio.h>
int main() {
    printf("Hello, World!");
    return 0;
}

პროგრამირების ენა C-ში ფუნქციის პროტოტიპი ასე გამოიყურება:

ანუ, ჯერ იწერება რა ტიპის მნიშვნელობას აბრუნებს ფუნქცია, შემდეგ რა ქვია ფუნქციას, შემდეგ მრგვალ ფრჩხილებში ჩამოთვლილია პარამეტრები და მათი ტიპი. ამ ნაწილიდან შესაძლებელია პარამეტრების რაოდენობის დათვლაც.მრგვალი ფრჩხილები სრულდება წერტილმძიმით, იმის აღსანიშნავად, რომ პროტოტიპის აღწერა დასრულდა. 

შემდეგ სლაიდზე ახსნილია ფუნქციის მუშაობის პრინციპი: 

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

ბოლოს კი ძირითად პროგრამაში ხდება ამ ფუნქციის გამოძახება

ნახეთ ვიდეო C-ში ფუნქციის შესახებ (ვიდ. 16:56)


 
 :: ფუნქცია პითონში
    print("Hello, World!");


პითონში ფუნქციის გამოსაცხადებლად გამოიყენება რეზერვირებული სიტყვა def. შემდეგ იწერება ფუნქციის დასახელება. ამის შემდეგ მრგვალ ფრჩხილებში წერია პარამეტრები.  დეკლარაციის ტექსტი : ორწერტილით მთავრდება. შემდეგი კოდი, რომელიც ჰაერების ერთიდაიგივე  რაოდენობითაა გადაწეული მარჯვნივ, მიუთითებს რომ კოდის ეს ნაწილი ეკუთვნის ფუნქციას. ფუნქციის კოდის დასასრულის აღსანიშნავად ხშირად return მითითებას (statement) იყენებენ. ის საშუალებას იძლევა ფუნქციიდან მიშვნელობ(ებ)ა გადაეცეს  ძირითად ფუნქციას. ამ მითიტებთ ფუნქციას შეუძლია ნებისმიერი ტიპის მონაცემი დააბრუნოს.  
ამ სლაიდზე ფუნქციის მუშაობის სქემაა აღწერილი.  შემდეგ სლაიდზე კი მოცემულია ფუნქციის დეკლარაციის სახე, განსაზღვრება, გამოძახება, პარამეტრები და არგუმენტები
 
  

 :: შეფასება (დავალება) 
1) მისალმება. დაწერეთ პროგრამა, რომელსაც სახელი გადაეცემა არგუმენტად, შემდეგ კი ფუნქცია ესალმება ამ ადამიანს (მაგ გამარჯობა [დათო])

1ა) მისალმება CS50: დაწერეთ პროგრამა. რომელიც მომხმარებელს ეკითხება სახელს და შემდეგ ესალმება ამ ადამიანს. (მაგ. გამარჯობა [დათო])

2) კალკულატორი  მთელ რიცხვებზე. დაწერეთ პროგრამა, რომელიც მომხმარებელს ეკითხება 4 დან რომელი მოქმედების შესრულება უნდა, შემდეგ ეკითხება ოპერენდებს (მაგალითად საკლები მაკლები)  

3)  არგუმენტები ტერმინალში: შექმენით   პროგრამა რომელსაც არგუმენტები გადაეცემა ტერმინალიდან მაგ calc 5 + 3  

(შეფასებების ვარიანტები გადმოგეცემათ დავალება, შესრულებული დავალების საბოლოო სახე, შეფასების რუბრიკა, ხელოვნური ინტელექტის დახმარებით დავალების შეფასების ბმული და ა.შ. გადმოგეცემათ ტრენინგის მონაწილეებს.

 :: შეჯამება 

ამრიგად შესავალი პროგრამირებაში საგანში თემა ფუნქციები მნიშვნელოვანია ფუქციის პროტოტიპის (C) დეკლაარციის, განსაზღვრების და გამოძახების სინტაქსის ცოდნა. ყურადრება მიაქციეთ ტერმინებს პარამეტრი და არგუმენტი. დაფიქრდით, რა მსგავსება და სხვაობაა მათში. ნახეთ როგორ ფუნქცია როგორ აბრუნებს მნიშვნელობას ძირითად ფუნქციაში. 

დაფიქრდით, რისითვის გამოიყენება void ტიპი. 

გაკვეთილის დაგეგმვის დროს მასწავლებლებმა ყურადღება უნდა გაამახვილონ 21-ე საუკუნის უნარების განვითარებაზე

  

რესურსები:

პითონის დოკუმენტაცია სტენფორდისგან


Comments

Popular posts from this blog

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

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

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