პროცედურული დაპროგრამება

სხვადასხვა დაპროგრამების ენა განსხვავდება ე.წ. დაპროგრამების პარადიგმის თვალსაზრისით. პროგრამირების პარადიგმა არის ცნებათა, კონცეფციათა და აბსტრაქციათა ერთობლიობა, რომლებიც პროგრამების დაწერის სტილს განსაზღვრავს. მარტივი სიტყვებით რომ ვთქვათ, დაპროგრამების პარადიგმა ეს არის მეთოდების, პრინციპების, იდეებისა და ცნებების ერთობლიობა, რომელიც გამოიყენება ამა თუ იმ ენაზე პროგრამის შექმნისას. დღეისათვის ცნობილია დაპროგრამების რამდენიმე პარადიგმა: ლოგიკური, სტრუქტურული, პროცედურული, ობიექტზე-ორიენტირებული, ფუნქციონალური, ვიზუალური, კომპონენტური და ა.შ. მაგალითად, C –ენა – ისტორიულად C++ –ის წინამორბედი – განეკუთვნება პროცედურული დაპროგრამების ენებს; C#, C++, Visual Basic,Java ენები ობიექტზე რიენტირებული სტილისაა და ა.შ. პროცედურული დაპროგრამების ძირითადი იდეა ეფუძნება პრინციპს ”გათიშე და იბატონე”: აღწერისთვის რთული ამოცანა უნდა დაიყოს რამოდენიმე ქვეამოცანად და ეს დაყოფა უნდა გაგრძელდეს მანამ, სანამ არ მიიღება საკმარისად მარტივი ამოცანები. kომპიუტერულ პროგრამაში ყოველი ამოცანის ალგორითმი ფორმდება ფუნქციის სახით. ამრიგად, პროცედურული მეთოდოლოგიის საფუძველზე აგებული პროგრამა წარმოადგენს ფუნქციათა ერთობლიობას. მასში მონაცემები და ფუნქციები გამოყოფილია ერთმანეთისაგან. ყოველი ფუნქცია ასრულებს მონაცემებზე მოქმედებებს და აქვს გამოკვეთილი კავშირი პროგრამის სხვა ფუნქციებთან. მაგალითად, C ენის პროგრამა შედგება პროგრამისტის მიერ შექმნილი და C-ს სტანდარტული ბიბლიოთეკის ფუნქციებისაგან. C-ს სტანდარტული ბიბლიოთეკა უზრუნველყოფს ფუნქციათა ფართო სპექტრს მათემატიკური გამოთვლების, სტრიქონებზე და სიმბოლოებზე ოპერაციების, შეტანა-გამოტანისა და უამრავი სხვა სასარგებლო ოპერაციების ჩასატარებლად. ეს, ცხადია, უმარტივებს პროგრამისტს მუშაობას . პროგრამისტი წერს ფუნქციებს, რომლებიც განსაზღვრავენ დასრულებული შინაარსის ამოცანებს და გამოიყენება პროგრამის სხვადასხვა ადგილას. ფუნქციის გააქტიურება (ანუ მასში დაპროექტებული ამოცანის შესრულების დაწყება) ხდება ფუნქციის გამოძახების გზით – მისი სახელისა და არგუმენტების მითითებით.
ფუნქციის დასრულების შემდეგ მართვა კვლავ უბრუნდება პროგრამას ფუნქციის
გამოძახების წერტილში. C-ს პროგრამის შესრულება იწყება და მთავრდება main ფუნქციით.
ნახატზე ნაჩვენებია C -პროგრამის ფუნქციების ურთიერთქმედების ერთ-ერთი შესაძლო
მაგალითიპროცედურული დაპროგრამება

პროცედურული დაპროგრამების დროს აუცილებელია თვალყურის მიდევნება იმაზე,  თუ რა რიგით გამოიძახება ფუნქციები და რა ცვლილებებს განიცდიან ამ დროს მონაცემები ეს პროცესი მით უფრო რთულდება, რაც უფრო იზრდება პროგრამის მოცულობა (რაც უფრო რთულია გადასაწყვეტი ამოცანა). გარდა ამისა, პროცედურულ დაპროგრამებაში არასაკმარისად არის განხორციელებული პროგრამული კოდის განმეორებადი გამოყენება. პროცედურული მიდგომის მთავარი ნაკლი კი ისაა, რომ მონაცემებისა და ფუნქციების ერთმანეთისაგან გამოყოფა ცუდად აღწერს რეალური სამყაროს სურათს. რეალური სამყაროს ობიექტების (ადამიანების, მანქანების და სხვა) თვისებები და ქცევა განუყოფელია და მოიაზრება მთლიანობაში. ადამიანის თვისებებად შეიძლება დავასახელოთ ასაკი, თვალის ფერი, სამსახურის ადგილი და სხვა, მანქანის თვისებებია – სიჩქარე, ძრავის სიმძლავრე, ბორბლების რაოდენობა და სხვა. პროგრამაში რეალური ობიექტის თვისებები წარმოდგენილია მონაცემების სახით: მათ აქვთ გარკვეული მნიშვნელობები, მაგალითად თვალის ფერი შეიძლება იყოს ცისფერი, მანქანის ბორბლების რიცხვი კი 4. ქცევა – ეს არის ობიექტის რეაგირება გარე ზემოქმედებაზე. თუ მანქანას დავამუხრუჭებთ, ის გაჩერდება. მანქანის გაჩერება არის ქცევის მაგალითი. ქცევა წააგავს ფუნქციას: თქვენ იძახებთ ფუნქციას იმისათვის, რომ შეასრულოთ რაღაც მოქმედება, და ის ამ მოქმედებას ასრულებს. ამრიგად, არც ცალკე აღებული თვისებები, არც ცალკე აღებული ქცევა არ ასახავს რეალური სამყაროს ობიექტებს ადეკვატურად. პროცედურული დაპროგრამება წარმატებით გამოიყენება ადვილი და მარტივად რეალიზებადი ამოცანებისთვის. მაგრამ რთული ამოცანის შემთხვევაში, რომელიც მოითხოვს დიდი მოცულობის პროგრამული უზრუნველყოფის შექმნას, ბევრ რესურსებსა და დროს, პროცედურული დაპროგრამების მეთოდები საკმარისი არ აღმოჩნდა. გაჩნდა დაპროგრამების ახალი მეთოდოლოგიების შექმნის აუცილებლობა. ერთ-ერთი ასეთი მეთოდოლოგია არის ობიექტზე ორიენტირებული დაპროგრამება (Object Oriented Programming – OOP)

 ავტ:ი. ხუციშვილი

Facebook (0)