Sobes.tech
Junior — Middle

Funksional proqramlaşdırmanın prinsipləri və yanaşmalarının əsaslarını izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Funksional proqramlaşdırma (FP) — əsas tikinti blokları kimi funksiyalardan istifadə etməyə və vəziyyətin dəyişməsini və yan təsirləri qarşısını almağa əsaslanan proqramlaşdırma paradigmasıdır.

FP-nin əsas prinsipləri və yanaşmaları:

  • Təmiz funksiyalar: funksiya eyni giriş məlumatları üçün həmişə eyni nəticəni verir və xarici vəziyyəti dəyişmir.
  • Dəyişməzlik (immutability): məlumatlar yaradıldıqdan sonra dəyişmir, əvəzinə dəyişikliklərlə yeni nüsxələr yaradılır.
  • Yüksək səviyyəli funksiyalar: digər funksiyaları arqument kimi qəbul edən və ya onları geri qaytaran funksiyalar.
  • Rekursiya döngələr yerinə: əməliyyatların təkrarlanması üçün tez-tez rekursiya istifadə olunur.
  • Yan təsirlərin olmaması: funksiyalar xarici dəyişənləri, faylları, verilənlər bazalarını və s. dəyişməməlidir.

C++ nümunəsi (lambda funksiyalarından istifadə etməklə):

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> ədədlər = {1, 2, 3, 4, 5};
    
    // Yüksək səviyyəli funksiya: std::for_each-ə lambda funksiyası ötürürük
    std::for_each(ədədlər.begin(), ədədlər.end(), [](int n) {
        std::cout << n * 2 << " ";
    });
    
    return 0;
}

Burada orijinal vektoru dəyişmirik, sadəcə hər elementə funksiya tətbiq edirik və onu göstəririk, bu da funksional yanaşmanın prinsiplərinə uyğundur.