ამ პოსტით მინდა პროგრამირებაში ფუნქციების თემას შევეხო. ეს პოსტი მასწავლებლებს შეუძლიათ გამოიყენონ როგორც საგაკვეთილო რესურსი, ხოლო მოსწავლეებისთვის იმედია საინტერესო სასწავლო რესურსი იქნება, ვეცდები განახებთ რაზე უნდა გამახვილდეს ყურადღება, გაკვეთილის ბოლოს რა არის მისაღწევი შედეგი და როგორ შეიძლება მოხდეს დეკლარატიული ცოდნის შეფასება... მოკლედ ვეცდები კაი კაი მურაბა ამბები შემოგთავაზოთ:
მაშ ასე, ამბავი:
ყვითელ კატა კატუნას კომპიუტერის ყიდვა მოუნდა, დიდი პროგრამისტი უნდა გამოვიდეს.. ხოდა წავიდა მაღაზიაში...
თქვენ (ბავშვებო) კი უნდა დახატოთ კომიქსი 8 სურათისგან, რომელიც კატუნასა და მაღაზიის გამყიდველს შორის დიალოგსა ასახავს.... ალბათ ხვდებით, რომ ეს დიალოგი სკრეჩში უნდა გავაცოცხლოთ... ნეტა რა დაგვჭირდება?
ამბავი სკრეჩისთვის:
(დახემარეთ მოსწავლეებს, რომ აღმოჩენა გააკეთონ: ამ ნახატების მიხედვით ბავშვები გააკეტებენ დასკვნას თქვი არის ფუნქცია, რომელიც ყველა სლაიდზე გამოიყენება...
ფუნქცია (სხვადასხვა პროგრამირების ენებში მოხსენიებულია როგორც პროცედურა, მეთოდი, ქვეპროგრამა, რუტინა....) არის პროგრამული ლოგიკის ერთეული, რომლის მუშაობის ლოგიკის კოდირების შემდეგ მრავალჯერ შეგვიძლია გამოვიძახოთ პროგრამულ კოდში.
დიდ პროგრამაში გამეორებადი კოდის გაერთიანება შესაძლებელია ერთი სახელის მქონე კოდში. ფუნქციის ყველაზე მარტივი მაგალითი შეიძლება იყოს ტექსტის ეკრანზე გამოტანის პრობლემა და შესაბამისი ფუნქციები პროგრამირების სხვადასხვა ენებში. მაგალითად, სკრეჩში ასეთ ფუნქციაა თქვი:
ანუ რადგანაც სკრეჩში ხშირად გვიწევს სპრაიტს რაიმე ტექსტი ვათქმევინოთ, სკრეჩის ავტორებმა ერთხელ დაწერეს თქვი ბლოკის კოდი, (ანუ ფუნქცია „თქვი“) და შემდეგ მომხმარებლები (ანუ ჩვენ) ჩვენს პროგრამებში ხშირად ვიყენებთ მას ყოველ ჯერზე, როცა გვინდა სპრაიტს რაიმე ტექსტი ვათქმევინოთ
სკრეჩის ავტორები ასე რომ არ მოქცეულიყვნენ, შენ ყოველ ჯერზე, როცა დაგჭირდებოდა სპრაიტს რამე ეთქვა, მოგიწევდა ისეთი ახალი პროგრამის დაწერა, რომელიც საშუალებას მოგცემდა სპრაიტი აგვემეტყველებინა
სკრეჩის ავტორების მიერ თქვი ფუნქციის შექმნამ გაადვილა შენი საქმე...
ხშირად ფუნქციას გადაეცემა არგუმენტები, რომელიც ფუნქციას კონკრეტული ქცევის განხორციელების საშუალებას აძლევს.
თუმცა ეს აუცილებელი არაა. ანუ ზოგიერთ ფუნქციას არგუმენტი არ გადაეცემა. მაგალითად, ფუნქციები გამოჩნდი ან დაიმალე:
თუმცა ზოგიერთ ფუნქციას შეიძლება რამდენიმე არგუმენტი გადაეცეს. მაგალითად:
როგორც პროგრამირების სხვა ენებში, სკრეჩშიც არსებობს სტანდარტული და მომხმარებლის მიერ განსაზღვრული ფუნქციები. მაგალითად, თქვი, დაიმალე, გამოჩნდი, ისრიალე არის სტანდარტული ფუნქციები
როგორც პროგრამირების სხვა ენებში, სკრეჩშიც შესაძლებელია პროგრამისტმა შექმნას საკუთარი ფუნქცია. ამისთვის არსებობს ბლოკი myblock
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
პროგრამირების ენა C-ში ფუნქციის პროტოტიპი ასე გამოიყურება:
ანუ, ჯერ იწერება რა ტიპის მნიშვნელობას აბრუნებს ფუნქცია, შემდეგ რა ქვია ფუნქციას, შემდეგ მრგვალ ფრჩხილებში ჩამოთვლილია პარამეტრები და მათი ტიპი. ამ ნაწილიდან შესაძლებელია პარამეტრების რაოდენობის დათვლაც.მრგვალი ფრჩხილები სრულდება წერტილმძიმით, იმის აღსანიშნავად, რომ პროტოტიპის აღწერა დასრულდა.
შემდეგ სლაიდზე ახსნილია ფუნქციის მუშაობის პრინციპი:
ამ სლაიდზე დააკვირდით, როგორ არის აღწერილი ფუნქციის დეკლარაცია. ამჯერადაც ყველაფერი თითქმის იგივეა პირველ სტრიქონში, მაგრამ ბოლოს წერტილ-მძიმე არ იწერება. ეს ადვილი გასაგებია. შემდეგ სტრიქონზე იხსნება ფიგურული ფრჩილი და იწყება ფუნქციის განსაზღვრა. ანუ გამხსნელ და დამხურავ ფიგურულ ფრჩხილებში მოცემული კოდი განსაზღვრავს თუ რა მოქმედებებს შეასრულებს აღნიშნული ფუნქცია.
ბოლოს კი ძირითად პროგრამაში ხდება ამ ფუნქციის გამოძახება
პითონში ფუნქციის გამოსაცხადებლად გამოიყენება რეზერვირებული სიტყვა def. შემდეგ იწერება ფუნქციის დასახელება. ამის შემდეგ მრგვალ ფრჩხილებში წერია პარამეტრები. დეკლარაციის ტექსტი : ორწერტილით მთავრდება. შემდეგი კოდი, რომელიც ჰაერების ერთიდაიგივე რაოდენობითაა გადაწეული მარჯვნივ, მიუთითებს რომ კოდის ეს ნაწილი ეკუთვნის ფუნქციას. ფუნქციის კოდის დასასრულის აღსანიშნავად ხშირად return მითითებას (statement) იყენებენ. ის საშუალებას იძლევა ფუნქციიდან მიშვნელობ(ებ)ა გადაეცეს ძირითად ფუნქციას. ამ მითიტებთ ფუნქციას შეუძლია ნებისმიერი ტიპის მონაცემი დააბრუნოს.
ამ სლაიდზე ფუნქციის მუშაობის სქემაა აღწერილი. შემდეგ სლაიდზე კი მოცემულია ფუნქციის დეკლარაციის სახე, განსაზღვრება, გამოძახება, პარამეტრები და არგუმენტები
1) მისალმება. დაწერეთ პროგრამა, რომელსაც სახელი გადაეცემა არგუმენტად, შემდეგ კი ფუნქცია ესალმება ამ ადამიანს (მაგ გამარჯობა [დათო])
1ა) მისალმება CS50: დაწერეთ პროგრამა. რომელიც მომხმარებელს ეკითხება სახელს და შემდეგ ესალმება ამ ადამიანს. (მაგ. გამარჯობა [დათო])
2) კალკულატორი მთელ რიცხვებზე. დაწერეთ პროგრამა, რომელიც მომხმარებელს ეკითხება 4 დან რომელი მოქმედების შესრულება უნდა, შემდეგ ეკითხება ოპერენდებს (მაგალითად საკლები მაკლები)
3) არგუმენტები ტერმინალში: შექმენით პროგრამა რომელსაც არგუმენტები გადაეცემა ტერმინალიდან მაგ calc 5 + 3
(შეფასებების ვარიანტები გადმოგეცემათ დავალება, შესრულებული დავალების საბოლოო სახე, შეფასების რუბრიკა, ხელოვნური ინტელექტის დახმარებით დავალების შეფასების ბმული და ა.შ. გადმოგეცემათ ტრენინგის მონაწილეებს.
:: შეჯამება
ამრიგად შესავალი პროგრამირებაში საგანში თემა ფუნქციები მნიშვნელოვანია ფუქციის პროტოტიპის (C) დეკლაარციის, განსაზღვრების და გამოძახების სინტაქსის ცოდნა. ყურადრება მიაქციეთ ტერმინებს პარამეტრი და არგუმენტი. დაფიქრდით, რა მსგავსება და სხვაობაა მათში. ნახეთ როგორ ფუნქცია როგორ აბრუნებს მნიშვნელობას ძირითად ფუნქციაში.
დაფიქრდით, რისითვის გამოიყენება void ტიპი.
გაკვეთილის დაგეგმვის დროს მასწავლებლებმა ყურადღება უნდა გაამახვილონ 21-ე საუკუნის უნარების განვითარებაზე
განახლება: 09.04.2025 18:35 სტენფორდის კურსზე შერჩეულია VIII-XI კლასის მოსწავლეები. უარი ეთქვა რუსულ მეილებს, მასწავლებლებს და არარეალურ ანგარიშებს. სულ 2 217 აპლიკაცია შემოვიდა. (კიდევ მიმდინარეობს შერჩევა) მადლობა ყველა მასწავლელს ვინც ჩვენთან ითანამშრომლა ამ მნიშვნელოვან საქმეში. შერჩეულ აპლიკანტებს ფოსტაზე მოგივიდათ წერილი სათაურით norplay. თუ ხართ VIII-XI კლასი მოსწავლე და ბმული არ მიგიღიათ, მოგვწერეთ დისკორდზე ან ფეისბუკზე ტელეფონი ნომერი რომლითაც დარეგსტრირდით ბმულზე გადასვლის შემდეგ უნდა შეგესრულებინათ 5 დავალება. მათ შორის 2 არის კარელის კოდი.. ყველა დასრულებული დავალება მონიშნულია მწვანე თოლიით. დავალების შესასრულებლად დაგჭირდებათ კარელის სახელმძღვანელო (ინგ). შეგიძლიათ გამოიყენოთ კარლო (ქართ) კოდი 1sKNHABV ამის შემდეგ ველოდები 16 აპრილამდე, რომ ნახოთ შედეგები, ხოლო ჩარიცხვის ინფორმაცია დაიდება 17 აპრილს ყველას წარმატებას გისურვებთ! IV-VII კლასელებისთვის 20 აპრილიდან დავიწყებთ ჰარვარდის კურსს შესავალი პროგ...
თხა და გიგო. სლაიდები (ავტ. ნათია ცინცაძე) იაკობ გოგებაშვილი. „თხა და გიგო“ ზღაპარი იყო ერთი ზარმაცი გიგო. ერთხელ თქვა, მოდი თავს გამოვიჩენ ბეჯითობითო. გამოვიდა სახლიდან, გამოიტანა თან წიგნი და სოფლის მოედანზე გავიდა. ჩამოჯდა ხის სკამზე და მუხლებზე წიგნი დაიდო, ვითომ, შემომხედეთ, რა ბეჯითი ბიჭი ვარო. წიგნი უკუღმა ედო და შიგ ტყუილად იცქირებოდა. მალე ძილი მოერია და ასკილივით თავის ქნევა დაიწყო. ამ დროს მეზობლის ეზოდან წვერის ცანცარითა და ფეხების ბაკუნით თხა გამოვიდა. გიგო რომ თავს აქნევდა, თხას ეგონა, საჭიდაოდ მიწვევსო. გამოექანა, რქებით დაეჯახა და ყირამალა გადაატრიალა ჩვენი თავმომწონე გიგო. დასასრული
არასდროს მეგონა რომ აფთიაქში ბანალური ბამბის საყიდლად შესულს ამ პოსტის დაწერის იდეა დამებადებოდა. ხოდა რა მოხდა აფთიაქში? რიგში დგომისას ჩემი ჭორიკანა ყურადღება თავანკარა მეგრულით მოფუსფუსე (შემდგომში უკვე უფრო მოროხროხერე) ქალბატონებმა მიიპყრო, ათენა მუ რე ძა? რომ გავიხედე აშკარად ჯეკპოტი ჰქონდათ მოგებული და ყველანაირ კოსმეტიკას ყიდულობდნენ, თან 1-2-ს კი არა 20-30 ცალს. რავი მე ასეთი ლოგიკა მაქვს: თუ ვიღაცა 10 ცალ სხვადასხვა ფირმის შამპუნს ყიდულობს და ვერ არჩევს ნორმალური თუ ტენიანი კანისთვისაა, ან 30 საპონი, რავა ერთ დროულად გჭირდება? ხოდა აქ კიდევ ერთი ფრაზა იყო ტოტ კრასივი ტოჟე ვაზმი.... აქ უკვე მივხვდი რა ჯეკპოტიც მოიგეს... ხოდა გამახსენდა საბაჩქა. რისი თქმა მინდა: ცნობილია, ქართული „ელიტა“ საუკუნეების მიხედვით ხან და ფრანგულად საუბრობდა და ხან რუსულად. რაიკომის მდივნის შვილები პაგალოვნად რუსულ სკოლებში დადიოდნენ... მოკლედ ყველამ ხომ უნდა ნახოს რუსეთიდან ჯეკპოტი გეწვია და ა.შ. ქართული კუდაბზიკობა — რაიონულ ტელევიზიაში ხსოვნაში გაჟღერებული ფრაზა „მოსკოვიდან დაგტირის შენი შვილი ...
Comments
კომენტარი