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

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

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

შინაარსი

1. მიმოხილვა და ძირითადი განსხვავება 2. რა არის ფუნქციონალური პროგრამირება 3. რა არის იმპერატიული პროგრამირება 4. მსგავსება ფუნქციონალურ პროგრამირებასა და იმპერაციულ პროგრამირებას შორის 5. გვერდითი შედარებისას - ფუნქციური პროგრამირება იმპერაციული პროგრამირების წინააღმდეგ ტაბულური ფორმით 6. შეჯამება

რა არის ფუნქციონალური პროგრამირება?

ფუნქციონალური პროგრამირება ემყარება მათემატიკას. ფუნქციური პროგრამირების ძირითადი პრინციპია ის, რომ ყველა გამოთვლა განიხილება, როგორც ცალკეული მათემატიკური ფუნქციების ერთობლიობა. მათემატიკური ფუნქციის რუქაზე შედის მონაცემები გამოსავალზე. დავუშვათ, რომ არსებობს ფუნქცია, სახელწოდებით f (x) = x * x. X მნიშვნელობა 1 გამოყვანილია გამოსასვლელად 1. x მნიშვნელობის მნიშვნელობა 2 აღწერილია გამოსავალზე 4. x მნიშვნელობის 3 აღწერილია 9 გამომავალი და ა.შ.

ფუნქციონალურ პროგრამირებაში გათვალისწინებულია შაბლონები. ფუნქციური პროგრამირების ენები Haskell, იყენებს ქვემოთ მოცემულ მეთოდს ციფრების ჯამების დასადგენად.

თანხის ფუნქციას აქვს მთელი რიცხვების მნიშვნელობები და შედეგი ასევე იქნება მთელი რიცხვი. იგი შეიძლება დაიწეროს როგორც ჯამი: [int] -> int. ჯამი შეიძლება გაკეთდეს შემდეგი შაბლონების მიხედვით.

ჯამი [n] = n, ერთი რიცხვის ჯამი თავად რიცხვია.

თუ არსებობს რიცხვების სია, ის შეიძლება დაიწეროს შემდეგნაირად. N წარმოადგენს პირველ რიცხვს, ხოლო n წარმოადგენს დანარჩენ რიცხვებს

I (n, n) = n + m ns.

შაბლონების ზემოთ გამოყენებისთვის შეგიძლიათ გამოიყენოთ სამი რიცხვის ჯამი .3,4,5.

3 + თანხა [4,5]

3 + (4 + ჯამი [5])

3+ 4 + 5 = 12

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

რა არის იმპერატიული პროგრამირება?

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

ათი რიცხვის ჯამი ჯავაში შეგიძლიათ ნახოთ შემდეგში. თითოეულ გამეორებაში, i მნიშვნელობას ემატება ჯამი და ენიჭება თანხის ცვლას. თითოეულ გამეორებაში, თანხის მნიშვნელობა ინახავს ადრე გამოთვლილ თანხას.

int i = 0;

for (int i = 0; i <= 10; i ++) {

ჯამი = თანხა + ი;

}

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

რა არის მსგავსება ფუნქციონალურ პროგრამირებასა და იმპერატიულ პროგრამირებას შორის?


  • ფუნქციური პროგრამირება და იმპერატიული პროგრამირება პროგრამირების პარადიგმებია.

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

რეზიუმე - ფუნქციური პროგრამირება იმპერატიული პროგრამირების წინააღმდეგ

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

ცნობა:

1. ”იმპერატიული პროგრამირება”. Wikipedia, Wikimedia Foundation, 2018 წლის 28 მარტი. ხელმისაწვდომია აქ 2. ”ფუნქციონალური პროგრამირება”. ვიკიპედია, ფონდი ვიკიპედია, 2018 წლის 28 მარტი. ხელმისაწვდომია აქ YouTube, YouTube, 2013 წლის 30 აგვისტო. აქ არის ხელმისაწვდომი

სურათი თავაზიანობა:

1.'Haskell Logo'By Haskell1965 - საკუთარი ნამუშევარი (CC BY-SA 3.0) Commons ვიკიპედიის საშუალებით. '14485179234'by Linux ეკრანის სურათები (CC BY 2.0) მეშვეობით Flickr.